@pimlico/alto 0.0.7 → 0.0.9

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.
Files changed (268) hide show
  1. package/esm/cli/alto.js +3 -1
  2. package/esm/cli/alto.js.map +1 -1
  3. package/esm/cli/config/bundler.d.ts +320 -272
  4. package/esm/cli/config/bundler.js +26 -7
  5. package/esm/cli/config/bundler.js.map +1 -1
  6. package/esm/cli/config/options.js +65 -10
  7. package/esm/cli/config/options.js.map +1 -1
  8. package/esm/cli/customTransport.js +40 -7
  9. package/esm/cli/customTransport.js.map +1 -1
  10. package/esm/cli/deploySimulationsContract.d.ts +8 -0
  11. package/esm/cli/deploySimulationsContract.js +35 -0
  12. package/esm/cli/deploySimulationsContract.js.map +1 -0
  13. package/esm/cli/handler.d.ts +2 -2
  14. package/esm/cli/handler.js +78 -89
  15. package/esm/cli/handler.js.map +1 -1
  16. package/esm/cli/instrumentation.js +4 -2
  17. package/esm/cli/instrumentation.js.map +1 -1
  18. package/esm/cli/parseArgs.d.ts +8 -0
  19. package/esm/cli/parseArgs.js +21 -0
  20. package/esm/cli/parseArgs.js.map +1 -0
  21. package/esm/cli/setupServer.d.ts +4 -9
  22. package/esm/cli/setupServer.js +100 -82
  23. package/esm/cli/setupServer.js.map +1 -1
  24. package/esm/createConfig.d.ts +15 -0
  25. package/esm/createConfig.js +8 -0
  26. package/esm/createConfig.js.map +1 -0
  27. package/esm/executor/executor.d.ts +48 -14
  28. package/esm/executor/executor.js +262 -139
  29. package/esm/executor/executor.js.map +1 -1
  30. package/esm/executor/executorManager.d.ts +14 -10
  31. package/esm/executor/executorManager.js +36 -39
  32. package/esm/executor/executorManager.js.map +1 -1
  33. package/esm/executor/senderManager.d.ts +11 -6
  34. package/esm/executor/senderManager.js +39 -36
  35. package/esm/executor/senderManager.js.map +1 -1
  36. package/esm/executor/utilityWalletMonitor.d.ts +9 -5
  37. package/esm/executor/utilityWalletMonitor.js +8 -8
  38. package/esm/executor/utilityWalletMonitor.js.map +1 -1
  39. package/esm/executor/utils.d.ts +2 -1
  40. package/esm/executor/utils.js +7 -2
  41. package/esm/executor/utils.js.map +1 -1
  42. package/esm/handlers/arbitrumGasPriceManager.d.ts +11 -0
  43. package/esm/handlers/arbitrumGasPriceManager.js +29 -0
  44. package/esm/handlers/arbitrumGasPriceManager.js.map +1 -0
  45. package/esm/handlers/eventManager.d.ts +7 -3
  46. package/esm/handlers/eventManager.js +24 -16
  47. package/esm/handlers/eventManager.js.map +1 -1
  48. package/esm/handlers/gasPriceManager.d.ts +14 -41
  49. package/esm/handlers/gasPriceManager.js +87 -208
  50. package/esm/handlers/gasPriceManager.js.map +1 -1
  51. package/esm/handlers/mantleGasPriceManager.d.ts +20 -0
  52. package/esm/handlers/mantleGasPriceManager.js +28 -0
  53. package/esm/handlers/mantleGasPriceManager.js.map +1 -0
  54. package/esm/mempool/mempool.d.ts +13 -10
  55. package/esm/mempool/mempool.js +29 -26
  56. package/esm/mempool/mempool.js.map +1 -1
  57. package/esm/mempool/reputationManager.d.ts +4 -6
  58. package/esm/mempool/reputationManager.js +25 -29
  59. package/esm/mempool/reputationManager.js.map +1 -1
  60. package/esm/mempool/store.d.ts +1 -1
  61. package/esm/rpc/estimation/gasEstimationHandler.d.ts +7 -7
  62. package/esm/rpc/estimation/gasEstimationHandler.js +18 -33
  63. package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
  64. package/esm/rpc/estimation/gasEstimationsV06.d.ts +7 -7
  65. package/esm/rpc/estimation/gasEstimationsV06.js +90 -48
  66. package/esm/rpc/estimation/gasEstimationsV06.js.map +1 -1
  67. package/esm/rpc/estimation/gasEstimationsV07.d.ts +7 -12
  68. package/esm/rpc/estimation/gasEstimationsV07.js +53 -37
  69. package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -1
  70. package/esm/rpc/nonceQueuer.d.ts +10 -6
  71. package/esm/rpc/nonceQueuer.js +10 -10
  72. package/esm/rpc/nonceQueuer.js.map +1 -1
  73. package/esm/rpc/rpcHandler.d.ts +19 -16
  74. package/esm/rpc/rpcHandler.js +98 -90
  75. package/esm/rpc/rpcHandler.js.map +1 -1
  76. package/esm/rpc/server.d.ts +9 -7
  77. package/esm/rpc/server.js +27 -25
  78. package/esm/rpc/server.js.map +1 -1
  79. package/esm/rpc/validation/SafeValidator.d.ts +11 -6
  80. package/esm/rpc/validation/SafeValidator.js +14 -11
  81. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  82. package/esm/rpc/validation/TracerResultParserV06.d.ts +1 -1
  83. package/esm/rpc/validation/TracerResultParserV06.js.map +1 -1
  84. package/esm/rpc/validation/TracerResultParserV07.d.ts +1 -1
  85. package/esm/rpc/validation/TracerResultParserV07.js +1 -1
  86. package/esm/rpc/validation/TracerResultParserV07.js.map +1 -1
  87. package/esm/rpc/validation/UnsafeValidator.d.ts +11 -12
  88. package/esm/rpc/validation/UnsafeValidator.js +28 -29
  89. package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
  90. package/esm/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
  91. package/esm/types/contracts/ArbitrumL1FeeAbi.js +42 -0
  92. package/esm/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
  93. package/esm/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
  94. package/esm/types/contracts/EntryPointSimulationsV6.js +48 -0
  95. package/esm/types/contracts/EntryPointSimulationsV6.js.map +1 -0
  96. package/esm/types/contracts/{EntryPointSimulations.d.ts → EntryPointSimulationsV7.d.ts} +1 -9
  97. package/esm/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +1 -13
  98. package/esm/types/contracts/EntryPointSimulationsV7.js.map +1 -0
  99. package/esm/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
  100. package/esm/types/contracts/MantleBvmGasPriceOracle.js +177 -0
  101. package/esm/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
  102. package/esm/types/contracts/OpL1FeeAbi.d.ts +114 -0
  103. package/esm/types/contracts/OpL1FeeAbi.js +74 -0
  104. package/esm/types/contracts/OpL1FeeAbi.js.map +1 -0
  105. package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  106. package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  107. package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  108. package/esm/types/contracts/index.d.ts +5 -1
  109. package/esm/types/contracts/index.js +5 -1
  110. package/esm/types/contracts/index.js.map +1 -1
  111. package/esm/types/interfaces.d.ts +2 -2
  112. package/esm/types/mempool.d.ts +1 -2
  113. package/esm/types/mempool.js.map +1 -1
  114. package/esm/types/schemas.d.ts +26 -26
  115. package/esm/types/schemas.js +3 -3
  116. package/esm/types/schemas.js.map +1 -1
  117. package/esm/types/utils.d.ts +1 -1
  118. package/esm/utils/bigInt.js +2 -2
  119. package/esm/utils/bigInt.js.map +1 -1
  120. package/esm/utils/helpers.js +1 -1
  121. package/esm/utils/helpers.js.map +1 -1
  122. package/esm/utils/metrics.d.ts +1 -0
  123. package/esm/utils/metrics.js +7 -0
  124. package/esm/utils/metrics.js.map +1 -1
  125. package/esm/utils/rpc-reply.d.ts +1 -1
  126. package/esm/utils/timedQueue.d.ts +12 -0
  127. package/esm/utils/timedQueue.js +51 -0
  128. package/esm/utils/timedQueue.js.map +1 -0
  129. package/esm/utils/userop.d.ts +3 -3
  130. package/esm/utils/userop.js +4 -3
  131. package/esm/utils/userop.js.map +1 -1
  132. package/esm/utils/validation.d.ts +14 -6
  133. package/esm/utils/validation.js +160 -168
  134. package/esm/utils/validation.js.map +1 -1
  135. package/lib/cli/alto.js +2 -0
  136. package/lib/cli/alto.js.map +1 -1
  137. package/lib/cli/config/bundler.d.ts +320 -272
  138. package/lib/cli/config/bundler.js +25 -6
  139. package/lib/cli/config/bundler.js.map +1 -1
  140. package/lib/cli/config/options.js +65 -10
  141. package/lib/cli/config/options.js.map +1 -1
  142. package/lib/cli/customTransport.js +38 -5
  143. package/lib/cli/customTransport.js.map +1 -1
  144. package/lib/cli/deploySimulationsContract.d.ts +8 -0
  145. package/lib/cli/deploySimulationsContract.js +39 -0
  146. package/lib/cli/deploySimulationsContract.js.map +1 -0
  147. package/lib/cli/handler.d.ts +2 -2
  148. package/lib/cli/handler.js +77 -88
  149. package/lib/cli/handler.js.map +1 -1
  150. package/lib/cli/instrumentation.js +4 -2
  151. package/lib/cli/instrumentation.js.map +1 -1
  152. package/lib/cli/parseArgs.d.ts +8 -0
  153. package/lib/cli/parseArgs.js +25 -0
  154. package/lib/cli/parseArgs.js.map +1 -0
  155. package/lib/cli/setupServer.d.ts +4 -9
  156. package/lib/cli/setupServer.js +100 -82
  157. package/lib/cli/setupServer.js.map +1 -1
  158. package/lib/createConfig.d.ts +15 -0
  159. package/lib/createConfig.js +12 -0
  160. package/lib/createConfig.js.map +1 -0
  161. package/lib/executor/executor.d.ts +48 -14
  162. package/lib/executor/executor.js +258 -135
  163. package/lib/executor/executor.js.map +1 -1
  164. package/lib/executor/executorManager.d.ts +14 -10
  165. package/lib/executor/executorManager.js +34 -37
  166. package/lib/executor/executorManager.js.map +1 -1
  167. package/lib/executor/senderManager.d.ts +11 -6
  168. package/lib/executor/senderManager.js +39 -36
  169. package/lib/executor/senderManager.js.map +1 -1
  170. package/lib/executor/utilityWalletMonitor.d.ts +9 -5
  171. package/lib/executor/utilityWalletMonitor.js +8 -8
  172. package/lib/executor/utilityWalletMonitor.js.map +1 -1
  173. package/lib/executor/utils.d.ts +2 -1
  174. package/lib/executor/utils.js +9 -3
  175. package/lib/executor/utils.js.map +1 -1
  176. package/lib/handlers/arbitrumGasPriceManager.d.ts +11 -0
  177. package/lib/handlers/arbitrumGasPriceManager.js +33 -0
  178. package/lib/handlers/arbitrumGasPriceManager.js.map +1 -0
  179. package/lib/handlers/eventManager.d.ts +7 -3
  180. package/lib/handlers/eventManager.js +24 -16
  181. package/lib/handlers/eventManager.js.map +1 -1
  182. package/lib/handlers/gasPriceManager.d.ts +14 -41
  183. package/lib/handlers/gasPriceManager.js +85 -206
  184. package/lib/handlers/gasPriceManager.js.map +1 -1
  185. package/lib/handlers/mantleGasPriceManager.d.ts +20 -0
  186. package/lib/handlers/mantleGasPriceManager.js +32 -0
  187. package/lib/handlers/mantleGasPriceManager.js.map +1 -0
  188. package/lib/mempool/mempool.d.ts +13 -10
  189. package/lib/mempool/mempool.js +28 -25
  190. package/lib/mempool/mempool.js.map +1 -1
  191. package/lib/mempool/reputationManager.d.ts +4 -6
  192. package/lib/mempool/reputationManager.js +25 -29
  193. package/lib/mempool/reputationManager.js.map +1 -1
  194. package/lib/mempool/store.d.ts +1 -1
  195. package/lib/rpc/estimation/gasEstimationHandler.d.ts +7 -7
  196. package/lib/rpc/estimation/gasEstimationHandler.js +18 -33
  197. package/lib/rpc/estimation/gasEstimationHandler.js.map +1 -1
  198. package/lib/rpc/estimation/gasEstimationsV06.d.ts +7 -7
  199. package/lib/rpc/estimation/gasEstimationsV06.js +88 -46
  200. package/lib/rpc/estimation/gasEstimationsV06.js.map +1 -1
  201. package/lib/rpc/estimation/gasEstimationsV07.d.ts +7 -12
  202. package/lib/rpc/estimation/gasEstimationsV07.js +52 -36
  203. package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -1
  204. package/lib/rpc/nonceQueuer.d.ts +10 -6
  205. package/lib/rpc/nonceQueuer.js +9 -9
  206. package/lib/rpc/nonceQueuer.js.map +1 -1
  207. package/lib/rpc/rpcHandler.d.ts +19 -16
  208. package/lib/rpc/rpcHandler.js +97 -89
  209. package/lib/rpc/rpcHandler.js.map +1 -1
  210. package/lib/rpc/server.d.ts +9 -7
  211. package/lib/rpc/server.js +26 -24
  212. package/lib/rpc/server.js.map +1 -1
  213. package/lib/rpc/validation/SafeValidator.d.ts +11 -6
  214. package/lib/rpc/validation/SafeValidator.js +13 -10
  215. package/lib/rpc/validation/SafeValidator.js.map +1 -1
  216. package/lib/rpc/validation/TracerResultParserV06.d.ts +1 -1
  217. package/lib/rpc/validation/TracerResultParserV07.d.ts +1 -1
  218. package/lib/rpc/validation/TracerResultParserV07.js +1 -1
  219. package/lib/rpc/validation/TracerResultParserV07.js.map +1 -1
  220. package/lib/rpc/validation/UnsafeValidator.d.ts +11 -12
  221. package/lib/rpc/validation/UnsafeValidator.js +28 -29
  222. package/lib/rpc/validation/UnsafeValidator.js.map +1 -1
  223. package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +32 -0
  224. package/lib/types/contracts/ArbitrumL1FeeAbi.js +45 -0
  225. package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +1 -0
  226. package/lib/types/contracts/EntryPointSimulationsV6.d.ts +34 -0
  227. package/lib/types/contracts/EntryPointSimulationsV6.js +51 -0
  228. package/lib/types/contracts/EntryPointSimulationsV6.js.map +1 -0
  229. package/lib/types/contracts/{EntryPointSimulations.d.ts → EntryPointSimulationsV7.d.ts} +1 -9
  230. package/lib/types/contracts/{EntryPointSimulations.js → EntryPointSimulationsV7.js} +2 -14
  231. package/lib/types/contracts/EntryPointSimulationsV7.js.map +1 -0
  232. package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +219 -0
  233. package/lib/types/contracts/MantleBvmGasPriceOracle.js +180 -0
  234. package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +1 -0
  235. package/lib/types/contracts/OpL1FeeAbi.d.ts +114 -0
  236. package/lib/types/contracts/OpL1FeeAbi.js +77 -0
  237. package/lib/types/contracts/OpL1FeeAbi.js.map +1 -0
  238. package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
  239. package/lib/types/contracts/PimlicoEntryPointSimulations.js +1 -1
  240. package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
  241. package/lib/types/contracts/index.d.ts +5 -1
  242. package/lib/types/contracts/index.js +5 -1
  243. package/lib/types/contracts/index.js.map +1 -1
  244. package/lib/types/interfaces.d.ts +2 -2
  245. package/lib/types/mempool.d.ts +1 -2
  246. package/lib/types/mempool.js.map +1 -1
  247. package/lib/types/schemas.d.ts +26 -26
  248. package/lib/types/schemas.js +3 -3
  249. package/lib/types/schemas.js.map +1 -1
  250. package/lib/types/utils.d.ts +1 -1
  251. package/lib/utils/bigInt.js +2 -2
  252. package/lib/utils/bigInt.js.map +1 -1
  253. package/lib/utils/metrics.d.ts +1 -0
  254. package/lib/utils/metrics.js +7 -0
  255. package/lib/utils/metrics.js.map +1 -1
  256. package/lib/utils/rpc-reply.d.ts +1 -1
  257. package/lib/utils/timedQueue.d.ts +12 -0
  258. package/lib/utils/timedQueue.js +55 -0
  259. package/lib/utils/timedQueue.js.map +1 -0
  260. package/lib/utils/userop.d.ts +3 -3
  261. package/lib/utils/userop.js +3 -2
  262. package/lib/utils/userop.js.map +1 -1
  263. package/lib/utils/validation.d.ts +14 -6
  264. package/lib/utils/validation.js +164 -168
  265. package/lib/utils/validation.js.map +1 -1
  266. package/package.json +1 -1
  267. package/esm/types/contracts/EntryPointSimulations.js.map +0 -1
  268. package/lib/types/contracts/EntryPointSimulations.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpL1FeeAbi.js","sourceRoot":"","sources":["../../../types/contracts/OpL1FeeAbi.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE;IAClE;QACI,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACjE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACjE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;IACD;QACI,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/D,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACnB;CACK,CAAA"}
@@ -19,5 +19,5 @@ export declare const PimlicoEntryPointSimulationsAbi: ({
19
19
  stateMutability: string;
20
20
  type: string;
21
21
  })[];
22
- export declare const PimlicoEntryPointSimulationsDeployBytecode = "0x60808060405234608257613b7a8181016001600160401b03811183821017606c5782916103ff833903906000f08015606057600080546001600160a01b0319166001600160a01b039290921691909117905560405161037790816100888239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63c18f52261461002757600080fd5b34610281576040366003190112610281576004356001600160a01b038116908190036102815760243567ffffffffffffffff81116102815736602382011215610281578060040135610078816102be565b91610086604051938461029c565b8183526024602084019260051b820101903682116102815760248101925b82841061020957845185876100b8836102be565b926100c6604051948561029c565b8084526100d5601f19916102be565b0160005b8181106101f857505060005b825181101561019057600190606060008061013b858060a01b0382541661014961010f878b610317565b51604051938491602083019463428557b160e11b865260248401526040604484015260648301906102d6565b03601f19810184528361029c565b82885a935193f115610172575b6101608287610317565b5261016b8186610317565b50016100e5565b503d604051906020818301016040528082526000602083013e610156565b836040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106101c957505050500390f35b919360019193955060206101e88192603f198a820301865288516102d6565b96019201920185949391926101ba565b8060606020809388010152016100d9565b833567ffffffffffffffff8111610281578201366043820112156102815760248101359167ffffffffffffffff831161028657604051610253601f8501601f19166020018261029c565b83815236604484860101116102815760006020858196604483970183860137830101528152019301926100a4565b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761028657604052565b67ffffffffffffffff81116102865760051b60200190565b919082519283825260005b848110610302575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016102e1565b805182101561032b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220b16ef62f53f07a881c898de38f8f9ed163b694104429e30e4021ee1efb6fa36564736f6c634300081a003360c080604052346100cc5760016002556101888181016001600160401b038111838210176100b65782916139f2833903906000f080156100aa576080523060a0526100486100d1565b600081526020810190600082528060206100606100d1565b600081520152600380546001600160a01b0319169055516004555160055560405161390190816100f1823960805181505060a0518181816108ef01528181611d340152611eab0152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b038111838210176100b65760405256fe60806040526004361015610023575b361561001957600080fd5b61002161246f565b005b60003560e01c80630396cb60146101835780630bd28e3b1461017e5780630da82661146101795780630dbfc6bd146101745780630f019dea1461016f5780631b2e01b81461016a578063205c28781461016557806322cdde4c14610160578063263934db1461015b57806330ec25d11461015657806335567e1a14610151578063444034731461014c5780635287ce12146101475780635787f48b146101425780635895273b1461013d57806370a0823114610138578063b760faf914610133578063bb9fe6bf1461012e578063c23a5cea14610129578063c3bce00914610124578063fc7e286d1461011f5763fe2171cb0361000e576112f4565b611269565b61123c565b61113a565b611038565b61100d565b610fd0565b610f9b565b610f16565b610dd8565b610d69565b610d00565b610c82565b610b74565b610b54565b610a36565b6109d3565b61083d565b610779565b610554565b610360565b60203660031901126103455760043563ffffffff811690818103610345576103407fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103226102436102336101eb3360018060a01b03166000526000602052604060002090565b966101f7811515611349565b61022460018901549161021d6102148463ffffffff9060781c1690565b63ffffffff1690565b1115611395565b60081c6001600160701b031690565b6001600160701b03349116611414565b9461024f861515611421565b6102626001600160701b03871115611462565b5461026b61045e565b908152600160208201526001600160701b038616604082015263ffffffff8316606082015260006080820181905233815260208190526040902081518155602082015160019091018054604084015160608501516080909501516001600160c81b031990921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b63ffffffff60781b169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b038216820361034557565b34610345576020366003190112610345576004356001600160c01b0381168103610345573360009081526001602090815260408083206001600160c01b039094168352929052206103b1815461149f565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176103e657604052565b6103b5565b604081019081106001600160401b038211176103e657604052565b606081019081106001600160401b038211176103e657604052565b61014081019081106001600160401b038211176103e657604052565b90601f801991011681019081106001600160401b038211176103e657604052565b6040519061046d60a08361043d565b565b6040519061046d6101408361043d565b6040519061046d60608361043d565b6040519061046d6101008361043d565b6040519061046d60408361043d565b6001600160401b0381116103e657601f01601f191660200190565b9291926104d4826104ad565b916104e2604051938461043d565b829481845281830111610345578281602093846000960137010152565b9080601f830112156103455781602061051a933591016104c8565b90565b6001600160a01b0381160361034557565b6024359061046d8261051d565b610104359061046d8261051d565b359061046d8261051d565b3461034557610220366003190112610345576004356001600160401b038111610345576105859036906004016104ff565b3660231901906101c0821261034557610140604051926105a4846103cb565b12610345576105b161046f565b6105b961052e565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526105f361053b565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e435916001600160401b038311610345576106566106619336906004016104ff565b9061020435926114c5565b60408051928352602083019190915290f35b0390f35b9181601f84011215610345578235916001600160401b038311610345576020808501948460051b01011161034557565b602060031982011261034557600435906001600160401b038211610345576106d191600401610677565b9091565b60005b8381106106e85750506000910152565b81810151838201526020016106d8565b90602091610711815180928185528580860191016106d5565b601f01601f1916010190565b9061010060e061051a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906106f8565b346103455761079061078a366106a7565b90611707565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106107c857505050500390f35b919360019193955060206107e78192603f198a8203018652885161071d565b96019201920185949391926107b9565b9181601f84011215610345578235916001600160401b038311610345576020838186019501011161034557565b60409061051a93921515815281602082015201906106f8565b346103455760803660031901126103455760043561085a8161051d565b6024356108668161051d565b6044356001600160401b038111610345576108859036906004016107f7565b926108c0606435936108b2600095606097604051968794634440347360e01b60208701526024860161176f565b03601f19810184528361043d565b6001600160a01b0316803b156103455760405163428557b160e11b8152916000918391829084908290610920907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004840161179a565b03925af190816109b8575b506109b357505061093a6117dd565b6109448151611829565b9060045b815181101561098d578061096f6109616001938561185b565b516001600160f81b03191690565b61098661097b8361186c565b9160001a918661185b565b5301610948565b50506109a290602080825183010191016118d9565b905b61067360405192839283610824565b6109a4565b806109c760006109cd9361043d565b8061102d565b3861092b565b34610345576040366003190112610345576020610a2d6004356109f58161051d565b6109fd61034a565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b3461034557604036600319011261034557600435610a538161051d565b602435336000526000602052604060002091825492838311610adb576000808481948294610a84610021988a61188a565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610ad56117dd565b5061190f565b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b602060031982011261034557600435906001600160401b038211610345576101209082900360031901126103455760040190565b34610345576020610b6c610b6736610b20565b611950565b604051908152f35b3461034557610673610bb5610ba9610baf610b8e366106a7565b809391610b99611607565b50610ba38261165b565b50611707565b9161187b565b906116f3565b5160405191829160208352602083019061071d565b9061051a9060e06080610c1c818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906106f8565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461034557610c99610c93366106a7565b90611ae1565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210610cd157505050500390f35b91936001919395506020610cf08192603f198a82030186528851610bca565b9601920192018594939192610cc2565b34610345576040366003190112610345576020600435610d1f8161051d565b610d2761034a565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b3461034557606036600319011261034557600435610d868161051d565b6024356001600160401b0381116103455760009182610daa819336906004016107f7565b9190926044359383604051948592833781018381520393f1610dca6117dd565b9015610dd257005b60208101fd5b3461034557602036600319011261034557600435610df58161051d565b60006080604051610e05816103cb565b828152826020820152826040820152826060820152015260018060a01b031660005260006020526106736040600020610e9465ffffffffffff600160405193610e4d856103cb565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b6080604061051a936020845280516020850152602081015115158285015201519160608082015201906106f8565b346103455760c0366003190112610345576004356001600160401b03811161034557610f46903690600401610677565b906024356001600160401b03811161034557606060031982360301126103455761067392610f8f92604435610f7a8161051d565b606435916084359360a4359560040191611c96565b60405191829182610ee8565b3461034557610673610fbc610faf36610b20565b610fb7611607565b611ff5565b60405191829160208352602083019061071d565b3461034557602036600319011261034557600435610fed8161051d565b60018060a01b031660005260006020526020604060002054604051908152f35b6020366003190112610345576100216004356110288161051d565b6120a6565b600091031261034557565b34610345576000366003190112610345573360005260006020526001604060002001805463ffffffff8160781c1615611108576110a46110966102148361108a6110856110cb9660ff1690565b6120fc565b60781c63ffffffff1690565b65ffffffffffff421661213c565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a908060208101610340565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b3461034557602036600319011261034557610021600080808060043561115f8161051d565b336000908152602081905260409020600101906111e78254926111d665ffffffffffff6111c26111a861119c886001600160701b039060081c1690565b6001600160701b031690565b966111b488151561215a565b60981c65ffffffffffff1690565b166111ce81151561219d565b4210156121e9565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a26001600160a01b03165af16112366117dd565b50612235565b346103455761067361125561125036610b20565b612309565b604051918291602083526020830190610bca565b34610345576020366003190112610345576004356112868161051d565b6001600160a01b031660009081526020818152604091829020805460019190910154835191825260ff8116151592820192909252600882901c6001600160701b031692810192909252607881901c63ffffffff16606083015260981c65ffffffffffff16608082015260a090f35b3461034557611316611305366106a7565b809291611310611a5a565b50611ae1565b6000198201918211611344576106739161132f916116f3565b51604051918291602083526020830190610bca565b6113e1565b1561135057565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b1561139c57565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90611388820180921161134457565b906001820180921161134457565b9190820180921161134457565b1561142857565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b1561146957565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b60001981146113445760010190565b60409061051a9392815281602082015201906106f8565b91908051936060850151946114dd603f5a0260061c90565b61271060a0830151880101116115ab576106d195600095805161150d575b5050505a90036080820151019261250a565b825161152b926115279290916001600160a01b0316612478565b1590565b611537575b80806114fb565b90935061154261248a565b8051611554575b505060019238611530565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201929182916115a191836114ae565b0390a33880611549565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b0390fd5b6001600160401b0381116103e65760051b60200190565b6040519061010082018281106001600160401b038211176103e657604052606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b90611665826115f0565b611672604051918261043d565b8281528092611683601f19916115f0565b019060005b82811061169457505050565b60209061169f611607565b82828501015201611688565b634e487b7160e01b600052603260045260246000fd5b90359061011e1981360301821215610345570190565b908210156116ee5761051a9160051b8101906116c1565b6116ab565b80518210156116ee5760209160051b010190565b6117108261165b565b9160005b8181106117215750505090565b80611732610faf60019385876116d7565b61173c82876116f3565b5261174781866116f3565b5001611714565b908060209392818452848401376000828201840152601f01601f1916010190565b949392916040926117959260018060a01b0316875260606020880152606087019161174e565b930152565b6001600160a01b03909116815260406020820181905261051a929101906106f8565b6040513d6000823e3d90fd5b604051906117d760208361043d565b60008252565b3d15611808573d906117ee826104ad565b916117fc604051938461043d565b82523d6000602084013e565b606090565b6040519061181c60208361043d565b6000808352366020840137565b90611833826104ad565b611840604051918261043d565b8281528092611851601f19916104ad565b0190602036910137565b9081518110156116ee570160200190565b60031981019190821161134457565b60001981019190821161134457565b9190820391821161134457565b81601f820112156103455780516118ad816104ad565b926118bb604051948561043d565b818452602082840101116103455761051a91602080850191016106d5565b9190916040818403126103455780518015158103610345579260208201516001600160401b0381116103455761051a9201611897565b1561191657565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6020810135611a126119656040840184611c33565b90816040519182372091611a0461197f6060860186611c33565b90816040519182372060c086013560a087013560808801356119ad6119a760e08b018b611c33565b906135f8565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b03601f19810183528261043d565b51902060408051602081019283523091810191909152466060820152611a3b8160808101611a04565b51902090565b60405190611a4e826103eb565b60006020838281520152565b60405190611a67826103cb565b81604051611a74816103cb565b60008152600060208201526000604082015260006060820152606060808201528152611a9e611a41565b6020820152611aab611a41565b6040820152611ab8611a41565b6060820152608060405191611acc836103eb565b60008352611ad8611a41565b60208401520152565b611aea826115f0565b91611af8604051938461043d565b808352601f19611b07826115f0565b0160005b818110611b5157505060005b818110611b245750505090565b80611b3561125060019385876116d7565b611b3f82876116f3565b52611b4a81866116f3565b5001611b17565b602090611b5c611a5a565b82828801015201611b0b565b908092918237016000815290565b60405190611b8382610406565b606060408360008152600060208201520152565b60405190611ba4826103cb565b6000608083604051611bb581610421565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b91908110156116ee5760051b81013590605e1981360301821215610345570190565b3561051a8161051d565b903590601e198136030182121561034557018035906001600160401b0382116103455760200191813603831361034557565b6001600160a01b039182168152911660208201526080604082018190529093929160609161179591908601906106f8565b9694969591939295611ca6611b76565b5060005b828110611f5257505050611cbe83806116c1565b93611cfe611ce6611cdf611cd460208801611c29565b966040810190611c33565b36916104c8565b95611cef611b97565b90611cf98161272d565b61283e565b5050506001600160a01b03841615611f275760008315611e7f5750600190611d32611d276117c8565b989291935b85611414565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169881905b84611d6b888561188a565b10611e54575a611d7a886113f7565b11611e345791869593918a95938c8b611d94858d9c611414565b60011c9a8b996040519c8d938493630780cef560e11b85526004850193611dba94611c65565b03815a6000948591f1988915611e2f57600090819a611e09575b5015611df457505050611de68461187b565b95915b939092949591611d60565b93965094611e03919750611406565b94611de9565b90611e27929a503d8091833e611e1f818361043d565b8101906118d9565b989038611dd4565b6117bc565b637162685f60e11b60005260048290526024879052604483905260646000fd5b97509750509250509450611e779150611e6b61047f565b93845215156020840152565b604082015290565b92505a9085848689611ea65a604051630780cef560e11b8152958694859460048601611c65565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115611e2f57858092611f00575b5050611ef6611d329195935a9061188a565b9498929193611d2c565b611ef69650611d32925090611f1e913d8091833e611e1f818361043d565b95909591611ee4565b95505050505050611f3661180d565b611f3e61047f565b906000825260006020830152604082015290565b600190611f5d611b97565b611f88611f6b838787611c07565b91611f7e611f7984806116c1565b61272d565b611cf983806116c1565b50505060208101611fa7611f9b82611c29565b6001600160a01b031690565b15611fee5760009182611fc8611fbd8294611c29565b926040810190611c33565b9190611fd960405180948193611b68565b03925af150611fe66117dd565b505b01611caa565b5050611fe8565b5060028054146120755760028055608061202f612010611b97565b9261201a8161272d565b83612025818361283e565b9491929093612b25565b94909501519461203d61048e565b958652602086015260408501526060840152608083015260a0820152600060c0820152612068612086565b60e0820152906001600255565b633ee5aeb560e01b60005260046000fd5b6040519061209560408361043d565b6002825261060f60f31b6020830152565b60015b600581106120f457507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206120df3484612d9c565b6040519081526001600160a01b0390931692a2565b6001016120a9565b1561210357565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b9065ffffffffffff8091169116019065ffffffffffff821161134457565b1561216157565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b156121a457565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b156121f057565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b1561223c57565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116103455790601490565b356bffffffffffffffffffffffff198116929190601482106122af575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b604051906122dc826103eb565b6003546001600160a01b031682526040516020836122f9836103eb565b6004548352600554828401520152565b612311611a5a565b5061231a611b97565b906123248161272d565b61232e828261283e565b5091909261233c8385612bc4565b805160e00151612359906001600160a01b0316612d30565b612d30565b81515190929061238990612375906001600160a01b0316612d30565b9161237e611a41565b506040810190611c33565b9060148210612463576123ab6123a56123b19361235493612281565b9061228f565b60601c90565b9160018060a01b0386169460808201519660606040840151930151926123d561045e565b98895260208901526040880152606087015260808601526123f46122cf565b9380151580612458575b612426575b5061240c61045e565b948552602085015260408401526060830152608082015290565b90935061243281612d30565b61244c61243d61049e565b6001600160a01b039093168352565b60208201529238612403565b5060018114156123fe565b50506123b16000612d30565b61046d336120a6565b9060009283809360208451940192f190565b3d61080081116124af575b604051906020818301016040528082526000602083013e90565b50610800612495565b600311156124c257565b634e487b7160e01b600052602160045260246000fd5b909493929460038110156124c2576060926125009183526080602084015260808301906106f8565b9460408201520152565b9093916000935a9286519261251e84612d72565b60e085015190916001600160a01b0390911690818061260657505084516001600160a01b03169050925b5a8603019360a060608201519101510190608089019182518603908181116125f1575b505084029160408901928351948186106000146125c7575050806125906002926124b8565b036125ac57505061046d925080956125a781612e8e565b612dc3565b9150915061046d925a90039051019051856125a78297612e8e565b9061046d9750809a94506125e092935080950390612d9c565b506125ea816124b8565b1590612e29565b9195916064919003600a02040193388061256b565b94918151612616575b5050612548565b61261f856124b8565b600285031561260f57919098505a9160a0870151813b1561034557846000918783612666958f60405197889687958693637c627b2160e01b8552828d0291600486016124d8565b0393f19081612700575b506126f957506020898101518a518051920151917ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792906001600160a01b03166126b761248a565b6040516001600160a01b039092169482916126d291836114ae565b0390a36126eb5a870360808b01510180998b600261250a565b50505b5a900396388061260f565b97506126ee565b806109c7600061270f9361043d565b38612670565b90604061051a926000815281602082015201906106f8565b6040516135a560f21b602082019081523060601b6022830152600160f81b6036830152601782526127b692919061276560378361043d565b60018060a01b0391519020166bffffffffffffffffffffffff60a01b60065416176006556127966040820182611c33565b916127ae6127a382611c29565b9160e0810190611c33565b939092612ed0565b80516127bf5750565b604051631101335b60e11b81529081906115ec9060048301612715565b156127e357565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b9060738202918083046073149015171561134457565b90916000915a938051916128528382612fdb565b61285b81611950565b60208301526040830151956128a76effffffffffffffffffffffffffffff8860c08701511760608701511760808701511760a087015117610100870151176101208701511711156127dc565b6128d284610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6128e088828686600061311f565b855190989061290190611527906001600160a01b03166020890151906132d7565b6129e2575a830311612993576060905a60e096909601516001600160a01b0316612960575b6129549360a061051a9794879460809460406129599a015260608601525a9003910135019101525a9061188a565b612828565b6064900490565b965050928260808360a061051a976129818b61295999612954996000613382565b9b909598509350949750509350612926565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9035601e19823603018112156103455701602081359101916001600160401b03821161034557813603831361034557565b61051a91612a8081612a7384610549565b6001600160a01b03169052565b60208201356020820152612b16612b0a612ad1612ab6612aa36040870187612a31565b610120604088015261012087019161174e565b612ac36060870187612a31565b90868303606088015261174e565b6080850135608085015260a085013560a085015260c085013560c0850152612afc60e0860186612a31565b9085830360e087015261174e565b92610100810190612a31565b9161010081850391015261174e565b905a90606081015190612b3b6060850185611c33565b600060038211612bbc575b6001600160e01b031916638dd7712f60e01b03612bab575050612b92612ba66106d1956020840151604051938492638dd7712f60e01b6020850152604060248501526064840190612a62565b90604483015203601f19810183528261043d565b6114c5565b6106d1955090612ba69136916104c8565b508135612b46565b612bcd90613513565b906001600160a01b0316612cea57612c9b57612be890613513565b906001600160a01b0316612c5557612bfc57565b60408051631101335b60e11b8152600060048201526024810191909152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f742064756064820152606560f81b608482015260a490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b90612d39611a41565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b610120610100820151910151808214612d9857480180821015612d93575090565b905090565b5090565b60018060a01b03166000526000602052604060002080549182018092116113445781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b0386511694602060018060a01b0360e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b0387511695602060018060a01b0360e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b50929192159081612f85575b50612f48576014811015612ef5575b505061051a6117c8565b601411610345573560601c3b15612f0d573880612eeb565b604051612f1b60408261043d565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051612f5860408261043d565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538612edc565b15612f9657565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b61306090612ff8612feb82611c29565b6001600160a01b03168452565b6020810135602084015261301c6080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c084015261304a60c0820135906001600160801b038260801c921690565b61010085015261012084015260e0810190611c33565b90811561309c576130848260e09261307f603461046d97961015612f8f565b613603565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b90816020910312610345575190565b6130da60409295949395606083526060830190612a62565b9460208201520152565b60a09061051a9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b608082015281604082015201906106f8565b949291939060206131a59186519361316b60e0613142875160018060a01b031690565b9661315d8b8d6131556040890189611c33565b929091613661565b01516001600160a01b031690565b6001600160a01b031615976000929089613299575b8401516040516306608bdf60e21b8152958694859360009385939291600485016130c2565b03926001600160a01b03881690f160009181613268575b506131e757856131ca61248a565b6040516365c8fd4d60e01b81529182916115ec91600484016130e4565b9492936131f357505050565b6001600160a01b031660009081526020819052604090209182549081831161321b5750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61328b91925060203d602011613292575b613283818361043d565b8101906130b3565b90386131bc565b503d613279565b6001600160a01b038716600090815260208190526040902090935054878111156132cc5750600084815b94915050613180565b8460009189036132c3565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b03916133108461149f565b9055161490565b91906040838203126103455782516001600160401b03811161034557602091613341918501611897565b92015190565b60a09061051a9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b608082015281604082015201906106f8565b929390915a815160e08101516001600160a01b031660008181526020819052604090209295909290919080548981106134c45760206080600096948c96946133ed9c9d8995039055015196015191604051998a95869485936314add44b60e21b8552600485016130c2565b03926001600160a01b031686f1938460009160009661349d575b50613432578561341561248a565b6040516365c8fd4d60e01b81529182916115ec9160048401613347565b9491925a9003116134405750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b9095506134bd91503d806000833e6134b5818361043d565b810190613317565b9438613407565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b80156135ef5760006040805161352881610406565b828152826020820152015265ffffffffffff8160a01c1680156135e2575b6135c4906135ab61355d61356861355d8660d01c90565b65ffffffffffff1690565b9261358361357461047f565b6001600160a01b039097168752565b6135996020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b42119081156135c7575b5091516001600160a01b031690565b91565b516135da915065ffffffffffff1661355d565b4210386135b5565b5065ffffffffffff613546565b50600090600090565b816040519182372090565b9091826014116103455781359183602411610345576014810135936034116103455760609290921c92608090811c9260240135901c90565b90816020910312610345575161051a8161051d565b91602061051a93818152019161174e565b92909181613670575b50505050565b8251516001600160a01b031693843b61387e5760065460009060209061369e906001600160a01b0316611f9b565b60408751015160405180948193632b870d1b60e11b8352826136c48b8b60048401613650565b0393f1908115611e2f5760009161384f575b506001600160a01b038116958615613800576001600160a01b0316958690036137b1573b1561376457506123ab6123a57fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361373193612281565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a33880808061366a565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b613871915060203d602011613877575b613869818361043d565b81019061363b565b386136d6565b503d61385f565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fdfea2646970667358221220d83ea44b9f656f608f7af9b38e5828806e19b6cffc931b7ad1f6d324f70d029d64736f6c634300081a00336080806040523460155761016d908161001b8239f35b600080fdfe6080600436101561000f57600080fd5b60003560e01c63570e1a361461002457600080fd5b346101325760203660031901126101325760043567ffffffffffffffff8111610132573660238201121561013257806004013567ffffffffffffffff8111610132573660248284010111610132576000928160141161012e5760131982019167ffffffffffffffff831161011a57600b8101601f19908116603f0116820167ffffffffffffffff8111838210176101065760246020959387600c819795829560405286845289840196603889018837830101525193013560601c5af1905190156100fe575b6040516001600160a01b039091168152602090f35b5060006100e9565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b600080fdfea26469706673582212208d3d15f1a1651d00f2ed3b618a50717a7de16a758bd696cf961337d90cc7bf3764736f6c634300081a0033";
22
+ export declare const PimlicoEntryPointSimulationsDeployBytecode = "0x60808060405234608257613b908181016001600160401b03811183821017606c5782916103ff833903906000f08015606057600080546001600160a01b0319166001600160a01b039290921691909117905560405161037790816100888239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63c18f52261461002757600080fd5b34610281576040366003190112610281576004356001600160a01b038116908190036102815760243567ffffffffffffffff81116102815736602382011215610281578060040135610078816102be565b91610086604051938461029c565b8183526024602084019260051b820101903682116102815760248101925b82841061020957845185876100b8836102be565b926100c6604051948561029c565b8084526100d5601f19916102be565b0160005b8181106101f857505060005b825181101561019057600190606060008061013b858060a01b0382541661014961010f878b610317565b51604051938491602083019463428557b160e11b865260248401526040604484015260648301906102d6565b03601f19810184528361029c565b82885a935193f115610172575b6101608287610317565b5261016b8186610317565b50016100e5565b503d604051906020818301016040528082526000602083013e610156565b836040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106101c957505050500390f35b919360019193955060206101e88192603f198a820301865288516102d6565b96019201920185949391926101ba565b8060606020809388010152016100d9565b833567ffffffffffffffff8111610281578201366043820112156102815760248101359167ffffffffffffffff831161028657604051610253601f8501601f19166020018261029c565b83815236604484860101116102815760006020858196604483970183860137830101528152019301926100a4565b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761028657604052565b67ffffffffffffffff81116102865760051b60200190565b919082519283825260005b848110610302575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016102e1565b805182101561032b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220188cb9342176e096561b856f8b3751f67e4246534755fbbec3b1c61b597809e164736f6c634300081a003360c080604052346100cc5760016002556101888181016001600160401b038111838210176100b6578291613a08833903906000f080156100aa576080523060a0526100486100d1565b600081526020810190600082528060206100606100d1565b600081520152600380546001600160a01b0319169055516004555160055560405161391790816100f1823960805181505060a0518181816108ef01528181611d4a0152611ec10152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b038111838210176100b65760405256fe60806040526004361015610023575b361561001957600080fd5b610021612485565b005b60003560e01c80630396cb60146101835780630bd28e3b1461017e5780630da82661146101795780630dbfc6bd146101745780630f019dea1461016f5780631b2e01b81461016a578063205c28781461016557806322cdde4c14610160578063263934db1461015b57806330ec25d11461015657806335567e1a14610151578063444034731461014c5780635287ce12146101475780635787f48b146101425780635895273b1461013d57806370a0823114610138578063b760faf914610133578063bb9fe6bf1461012e578063c23a5cea14610129578063c3bce00914610124578063fc7e286d1461011f5763fe2171cb0361000e5761130a565b61127f565b611252565b611150565b61104e565b611023565b610fe6565b610fb1565b610f2c565b610dee565b610d71565b610d08565b610c8a565b610b7c565b610b5c565b610a3e565b6109db565b61083d565b610779565b610554565b610360565b60203660031901126103455760043563ffffffff811690818103610345576103407fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103226102436102336101eb3360018060a01b03166000526000602052604060002090565b966101f781151561135f565b61022460018901549161021d6102148463ffffffff9060781c1690565b63ffffffff1690565b11156113ab565b60081c6001600160701b031690565b6001600160701b0334911661142a565b9461024f861515611437565b6102626001600160701b03871115611478565b5461026b61045e565b908152600160208201526001600160701b038616604082015263ffffffff8316606082015260006080820181905233815260208190526040902081518155602082015160019091018054604084015160608501516080909501516001600160c81b031990921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b63ffffffff60781b169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b038216820361034557565b34610345576020366003190112610345576004356001600160c01b0381168103610345573360009081526001602090815260408083206001600160c01b039094168352929052206103b181546114b5565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176103e657604052565b6103b5565b604081019081106001600160401b038211176103e657604052565b606081019081106001600160401b038211176103e657604052565b61014081019081106001600160401b038211176103e657604052565b90601f801991011681019081106001600160401b038211176103e657604052565b6040519061046d60a08361043d565b565b6040519061046d6101408361043d565b6040519061046d60608361043d565b6040519061046d6101008361043d565b6040519061046d60408361043d565b6001600160401b0381116103e657601f01601f191660200190565b9291926104d4826104ad565b916104e2604051938461043d565b829481845281830111610345578281602093846000960137010152565b9080601f830112156103455781602061051a933591016104c8565b90565b6001600160a01b0381160361034557565b6024359061046d8261051d565b610104359061046d8261051d565b359061046d8261051d565b3461034557610220366003190112610345576004356001600160401b038111610345576105859036906004016104ff565b3660231901906101c0821261034557610140604051926105a4846103cb565b12610345576105b161046f565b6105b961052e565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526105f361053b565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e435916001600160401b038311610345576106566106619336906004016104ff565b9061020435926114db565b60408051928352602083019190915290f35b0390f35b9181601f84011215610345578235916001600160401b038311610345576020808501948460051b01011161034557565b602060031982011261034557600435906001600160401b038211610345576106d191600401610677565b9091565b60005b8381106106e85750506000910152565b81810151838201526020016106d8565b90602091610711815180928185528580860191016106d5565b601f01601f1916010190565b9061010060e061051a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906106f8565b346103455761079061078a366106a7565b9061171d565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106107c857505050500390f35b919360019193955060206107e78192603f198a8203018652885161071d565b96019201920185949391926107b9565b9181601f84011215610345578235916001600160401b038311610345576020838186019501011161034557565b60409061051a93921515815281602082015201906106f8565b346103455760803660031901126103455760043561085a8161051d565b6024356108668161051d565b6044356001600160401b038111610345576108859036906004016107f7565b926108c0606435936108b2600095606097604051968794634440347360e01b602087015260248601611785565b03601f19810184528361043d565b6001600160a01b0316803b156103455760405163428557b160e11b8152916000918391829084908290610920907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600484016117b0565b03925af190816109c0575b506109bb57505061093a6117f3565b61094c6109478251611823565b61186a565b9060045b815181101561099557806109776109696001938561189c565b516001600160f81b03191690565b61098e61098383611823565b9160001a918661189c565b5301610950565b50506109aa90602080825183010191016118ef565b905b61067360405192839283610824565b6109ac565b806109cf60006109d59361043d565b80611043565b3861092b565b34610345576040366003190112610345576020610a356004356109fd8161051d565b610a0561034a565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b3461034557604036600319011261034557600435610a5b8161051d565b602435336000526000602052604060002091825492838311610ae3576000808481948294610a8c610021988a611841565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610add6117f3565b50611925565b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b602060031982011261034557600435906001600160401b038211610345576101209082900360031901126103455760040190565b34610345576020610b74610b6f36610b28565b611966565b604051908152f35b3461034557610673610bbd610bb1610bb7610b96366106a7565b809391610ba161161d565b50610bab82611671565b5061171d565b91611832565b90611709565b5160405191829160208352602083019061071d565b9061051a9060e06080610c24818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906106f8565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461034557610ca1610c9b366106a7565b90611af7565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210610cd957505050500390f35b91936001919395506020610cf88192603f198a82030186528851610bd2565b9601920192018594939192610cca565b34610345576040366003190112610345576020600435610d278161051d565b610d2f61034a565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b3461034557606036600319011261034557600435610d8e8161051d565b6024356001600160401b0381116103455760009182610db2819336906004016107f7565b919092610dbe60443590565b9383604051948592833781018381520393f1610dd86117f3565b9015610de057005b805190811561034557602001fd5b3461034557602036600319011261034557600435610e0b8161051d565b60006080604051610e1b816103cb565b828152826020820152826040820152826060820152015260018060a01b031660005260006020526106736040600020610eaa65ffffffffffff600160405193610e63856103cb565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b6080604061051a936020845280516020850152602081015115158285015201519160608082015201906106f8565b346103455760c0366003190112610345576004356001600160401b03811161034557610f5c903690600401610677565b906024356001600160401b03811161034557606060031982360301126103455761067392610fa592604435610f908161051d565b606435916084359360a4359560040191611cac565b60405191829182610efe565b3461034557610673610fd2610fc536610b28565b610fcd61161d565b61200b565b60405191829160208352602083019061071d565b34610345576020366003190112610345576004356110038161051d565b60018060a01b031660005260006020526020604060002054604051908152f35b60203660031901126103455761002160043561103e8161051d565b6120bc565b600091031261034557565b34610345576000366003190112610345573360005260006020526001604060002001805463ffffffff8160781c161561111e576110ba6110ac610214836110a061109b6110e19660ff1690565b612112565b60781c63ffffffff1690565b65ffffffffffff4216612152565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a908060208101610340565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b346103455760203660031901126103455761002160008080806004356111758161051d565b336000908152602081905260409020600101906111fd8254926111ec65ffffffffffff6111d86111be6111b2886001600160701b039060081c1690565b6001600160701b031690565b966111ca881515612170565b60981c65ffffffffffff1690565b166111e48115156121b3565b4210156121ff565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a26001600160a01b03165af161124c6117f3565b5061224b565b346103455761067361126b61126636610b28565b61231f565b604051918291602083526020830190610bd2565b346103455760203660031901126103455760043561129c8161051d565b6001600160a01b031660009081526020818152604091829020805460019190910154835191825260ff8116151592820192909252600882901c6001600160701b031692810192909252607881901c63ffffffff16606083015260981c65ffffffffffff16608082015260a090f35b346103455761132c61131b366106a7565b809291611326611a70565b50611af7565b600019820191821161135a576106739161134591611709565b51604051918291602083526020830190610bd2565b6113f7565b1561136657565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b156113b257565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90611388820180921161135a57565b906001820180921161135a57565b9190820180921161135a57565b1561143e57565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b1561147f57565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b600019811461135a5760010190565b60409061051a9392815281602082015201906106f8565b91908051936060850151946114f3603f5a0260061c90565b61271060a0830151880101116115c1576106d1956000958051611523575b5050505a900360808201510192612520565b82516115419261153d9290916001600160a01b031661248e565b1590565b61154d575b8080611511565b9093506115586124a0565b805161156a575b505060019238611546565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201929182916115b791836114c4565b0390a3388061155f565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b0390fd5b6001600160401b0381116103e65760051b60200190565b6040519061010082018281106001600160401b038211176103e657604052606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b9061167b82611606565b611688604051918261043d565b8281528092611699601f1991611606565b019060005b8281106116aa57505050565b6020906116b561161d565b8282850101520161169e565b634e487b7160e01b600052603260045260246000fd5b90359061011e1981360301821215610345570190565b908210156117045761051a9160051b8101906116d7565b6116c1565b80518210156117045760209160051b010190565b61172682611671565b9160005b8181106117375750505090565b80611748610fc560019385876116ed565b6117528287611709565b5261175d8186611709565b500161172a565b908060209392818452848401376000828201840152601f01601f1916010190565b949392916040926117ab9260018060a01b03168752606060208801526060870191611764565b930152565b6001600160a01b03909116815260406020820181905261051a929101906106f8565b6040513d6000823e3d90fd5b604051906117ed60208361043d565b60008252565b3d1561181e573d90611804826104ad565b91611812604051938461043d565b82523d6000602084013e565b606090565b60031981019190821161135a57565b60001981019190821161135a57565b9190820391821161135a57565b6040519061185d60208361043d565b6000808352366020840137565b90611874826104ad565b611881604051918261043d565b8281528092611892601f19916104ad565b0190602036910137565b908151811015611704570160200190565b81601f820112156103455780516118c3816104ad565b926118d1604051948561043d565b818452602082840101116103455761051a91602080850191016106d5565b9190916040818403126103455780518015158103610345579260208201516001600160401b0381116103455761051a92016118ad565b1561192c57565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6020810135611a2861197b6040840184611c49565b90816040519182372091611a1a6119956060860186611c49565b90816040519182372060c086013560a087013560808801356119c36119bd60e08b018b611c49565b9061360e565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b03601f19810183528261043d565b51902060408051602081019283523091810191909152466060820152611a518160808101611a1a565b51902090565b60405190611a64826103eb565b60006020838281520152565b60405190611a7d826103cb565b81604051611a8a816103cb565b60008152600060208201526000604082015260006060820152606060808201528152611ab4611a57565b6020820152611ac1611a57565b6040820152611ace611a57565b6060820152608060405191611ae2836103eb565b60008352611aee611a57565b60208401520152565b611b0082611606565b91611b0e604051938461043d565b808352601f19611b1d82611606565b0160005b818110611b6757505060005b818110611b3a5750505090565b80611b4b61126660019385876116ed565b611b558287611709565b52611b608186611709565b5001611b2d565b602090611b72611a70565b82828801015201611b21565b908092918237016000815290565b60405190611b9982610406565b606060408360008152600060208201520152565b60405190611bba826103cb565b6000608083604051611bcb81610421565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b91908110156117045760051b81013590605e1981360301821215610345570190565b3561051a8161051d565b903590601e198136030182121561034557018035906001600160401b0382116103455760200191813603831361034557565b6001600160a01b03918216815291166020820152608060408201819052909392916060916117ab91908601906106f8565b9694969591939295611cbc611b8c565b5060005b828110611f6857505050611cd483806116d7565b93611d14611cfc611cf5611cea60208801611c3f565b966040810190611c49565b36916104c8565b95611d05611bad565b90611d0f81612743565b612854565b5050506001600160a01b03841615611f3d5760008315611e955750600190611d48611d3d6117de565b989291935b8561142a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169881905b84611d818885611841565b10611e6a575a611d908861140d565b11611e4a5791869593918a95938c8b611daa858d9c61142a565b60011c9a8b996040519c8d938493630780cef560e11b85526004850193611dd094611c7b565b03815a6000948591f1988915611e4557600090819a611e1f575b5015611e0a57505050611dfc84611832565b95915b939092949591611d76565b93965094611e1991975061141c565b94611dff565b90611e3d929a503d8091833e611e35818361043d565b8101906118ef565b989038611dea565b6117d2565b637162685f60e11b60005260048290526024879052604483905260646000fd5b97509750509250509450611e8d9150611e8161047f565b93845215156020840152565b604082015290565b92505a9085848689611ebc5a604051630780cef560e11b8152958694859460048601611c7b565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115611e4557858092611f16575b5050611f0c611d489195935a90611841565b9498929193611d42565b611f0c9650611d48925090611f34913d8091833e611e35818361043d565b95909591611efa565b95505050505050611f4c61184e565b611f5461047f565b906000825260006020830152604082015290565b600190611f73611bad565b611f9e611f81838787611c1d565b91611f94611f8f84806116d7565b612743565b611d0f83806116d7565b50505060208101611fbd611fb182611c3f565b6001600160a01b031690565b156120045760009182611fde611fd38294611c3f565b926040810190611c49565b9190611fef60405180948193611b7e565b03925af150611ffc6117f3565b505b01611cc0565b5050611ffe565b50600280541461208b57600280556080612045612026611bad565b9261203081612743565b8361203b8183612854565b9491929093612b3b565b94909501519461205361048e565b958652602086015260408501526060840152608083015260a0820152600060c082015261207e61209c565b60e0820152906001600255565b633ee5aeb560e01b60005260046000fd5b604051906120ab60408361043d565b6002825261060f60f31b6020830152565b60015b6005811061210a57507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206120f53484612db2565b6040519081526001600160a01b0390931692a2565b6001016120bf565b1561211957565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b9065ffffffffffff8091169116019065ffffffffffff821161135a57565b1561217757565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b156121ba57565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b1561220657565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b1561225257565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116103455790601490565b356bffffffffffffffffffffffff198116929190601482106122c5575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b604051906122f2826103eb565b6003546001600160a01b0316825260405160208361230f836103eb565b6004548352600554828401520152565b612327611a70565b50612330611bad565b9061233a81612743565b6123448282612854565b509190926123528385612bda565b805160e0015161236f906001600160a01b0316612d46565b612d46565b81515190929061239f9061238b906001600160a01b0316612d46565b91612394611a57565b506040810190611c49565b9060148210612479576123c16123bb6123c79361236a93612297565b906122a5565b60601c90565b9160018060a01b0386169460808201519660606040840151930151926123eb61045e565b988952602089015260408801526060870152608086015261240a6122e5565b938015158061246e575b61243c575b5061242261045e565b948552602085015260408401526060830152608082015290565b90935061244881612d46565b61246261245361049e565b6001600160a01b039093168352565b60208201529238612419565b506001811415612414565b50506123c76000612d46565b61046d336120bc565b9060009283809360208451940192f190565b3d61080081116124c5575b604051906020818301016040528082526000602083013e90565b506108006124ab565b600311156124d857565b634e487b7160e01b600052602160045260246000fd5b909493929460038110156124d8576060926125169183526080602084015260808301906106f8565b9460408201520152565b9093916000935a9286519261253484612d88565b60e085015190916001600160a01b0390911690818061261c57505084516001600160a01b03169050925b5a8603019360a06060820151910151019060808901918251860390818111612607575b505084029160408901928351948186106000146125dd575050806125a66002926124ce565b036125c257505061046d925080956125bd81612ea4565b612dd9565b9150915061046d925a90039051019051856125bd8297612ea4565b9061046d9750809a94506125f692935080950390612db2565b50612600816124ce565b1590612e3f565b9195916064919003600a020401933880612581565b9491815161262c575b505061255e565b612635856124ce565b600285031561262557919098505a9160a0870151813b156103455784600091878361267c958f60405197889687958693637c627b2160e01b8552828d0291600486016124ee565b0393f19081612716575b5061270f57506020898101518a518051920151917ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792906001600160a01b03166126cd6124a0565b6040516001600160a01b039092169482916126e891836114c4565b0390a36127015a870360808b01510180998b6002612520565b50505b5a9003963880612625565b9750612704565b806109cf60006127259361043d565b38612686565b90604061051a926000815281602082015201906106f8565b6040516135a560f21b602082019081523060601b6022830152600160f81b6036830152601782526127cc92919061277b60378361043d565b60018060a01b0391519020166bffffffffffffffffffffffff60a01b60065416176006556127ac6040820182611c49565b916127c46127b982611c3f565b9160e0810190611c49565b939092612ee6565b80516127d55750565b604051631101335b60e11b8152908190611602906004830161272b565b156127f957565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b9060738202918083046073149015171561135a57565b90916000915a938051916128688382612ff1565b61287181611966565b60208301526040830151956128bd6effffffffffffffffffffffffffffff8860c08701511760608701511760808701511760a087015117610100870151176101208701511711156127f2565b6128e884610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6128f6888286866000613135565b85519098906129179061153d906001600160a01b03166020890151906132ed565b6129f8575a8303116129a9576060905a60e096909601516001600160a01b0316612976575b61296a9360a061051a97948794608094604061296f9a015260608601525a9003910135019101525a90611841565b61283e565b6064900490565b965050928260808360a061051a976129978b61296f9961296a996000613398565b9b90959850935094975050935061293c565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9035601e19823603018112156103455701602081359101916001600160401b03821161034557813603831361034557565b61051a91612a9681612a8984610549565b6001600160a01b03169052565b60208201356020820152612b2c612b20612ae7612acc612ab96040870187612a47565b6101206040880152610120870191611764565b612ad96060870187612a47565b908683036060880152611764565b6080850135608085015260a085013560a085015260c085013560c0850152612b1260e0860186612a47565b9085830360e0870152611764565b92610100810190612a47565b91610100818503910152611764565b905a90606081015190612b516060850185611c49565b600060038211612bd2575b6001600160e01b031916638dd7712f60e01b03612bc1575050612ba8612bbc6106d1956020840151604051938492638dd7712f60e01b6020850152604060248501526064840190612a78565b90604483015203601f19810183528261043d565b6114db565b6106d1955090612bbc9136916104c8565b508135612b5c565b612be390613529565b906001600160a01b0316612d0057612cb157612bfe90613529565b906001600160a01b0316612c6b57612c1257565b60408051631101335b60e11b8152600060048201526024810191909152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f742064756064820152606560f81b608482015260a490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b90612d4f611a57565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b610120610100820151910151808214612dae57480180821015612da9575090565b905090565b5090565b60018060a01b031660005260006020526040600020805491820180921161135a5781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b0386511694602060018060a01b0360e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b0387511695602060018060a01b0360e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b50929192159081612f9b575b50612f5e576014811015612f0b575b505061051a6117de565b601411610345573560601c3b15612f23573880612f01565b604051612f3160408261043d565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051612f6e60408261043d565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538612ef2565b15612fac57565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b6130769061300e61300182611c3f565b6001600160a01b03168452565b602081013560208401526130326080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c084015261306060c0820135906001600160801b038260801c921690565b61010085015261012084015260e0810190611c49565b9081156130b25761309a8260e092613095603461046d97961015612fa5565b613619565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b90816020910312610345575190565b6130f060409295949395606083526060830190612a78565b9460208201520152565b60a09061051a9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b608082015281604082015201906106f8565b949291939060206131bb9186519361318160e0613158875160018060a01b031690565b966131738b8d61316b6040890189611c49565b929091613677565b01516001600160a01b031690565b6001600160a01b0316159760009290896132af575b8401516040516306608bdf60e21b8152958694859360009385939291600485016130d8565b03926001600160a01b03881690f16000918161327e575b506131fd57856131e06124a0565b6040516365c8fd4d60e01b815291829161160291600484016130fa565b94929361320957505050565b6001600160a01b03166000908152602081905260409020918254908183116132315750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b6132a191925060203d6020116132a8575b613299818361043d565b8101906130c9565b90386131d2565b503d61328f565b6001600160a01b038716600090815260208190526040902090935054878111156132e25750600084815b94915050613196565b8460009189036132d9565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b0391613326846114b5565b9055161490565b91906040838203126103455782516001600160401b038111610345576020916133579185016118ad565b92015190565b60a09061051a9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b608082015281604082015201906106f8565b929390915a815160e08101516001600160a01b031660008181526020819052604090209295909290919080548981106134da5760206080600096948c96946134039c9d8995039055015196015191604051998a95869485936314add44b60e21b8552600485016130d8565b03926001600160a01b031686f193846000916000966134b3575b50613448578561342b6124a0565b6040516365c8fd4d60e01b8152918291611602916004840161335d565b9491925a9003116134565750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b9095506134d391503d806000833e6134cb818361043d565b81019061332d565b943861341d565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b80156136055760006040805161353e81610406565b828152826020820152015265ffffffffffff8160a01c1680156135f8575b6135da906135c161357361357e6135738660d01c90565b65ffffffffffff1690565b9261359961358a61047f565b6001600160a01b039097168752565b6135af6020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b42119081156135dd575b5091516001600160a01b031690565b91565b516135f0915065ffffffffffff16613573565b4210386135cb565b5065ffffffffffff61355c565b50600090600090565b816040519182372090565b9091826014116103455781359183602411610345576014810135936034116103455760609290921c92608090811c9260240135901c90565b90816020910312610345575161051a8161051d565b91602061051a938181520191611764565b92909181613686575b50505050565b8251516001600160a01b031693843b613894576006546000906020906136b4906001600160a01b0316611fb1565b60408751015160405180948193632b870d1b60e11b8352826136da8b8b60048401613666565b0393f1908115611e4557600091613865575b506001600160a01b038116958615613816576001600160a01b0316958690036137c7573b1561377a57506123c16123bb7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361374793612297565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a338808080613680565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b613887915060203d60201161388d575b61387f818361043d565b810190613651565b386136ec565b503d613875565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fdfea26469706673582212204bace728028e4808d0f0305687605c92acf3fb9a79388e9df617d0a21670961464736f6c634300081a00336080806040523460155761016d908161001b8239f35b600080fdfe6080600436101561000f57600080fd5b60003560e01c63570e1a361461002457600080fd5b346101325760203660031901126101325760043567ffffffffffffffff8111610132573660238201121561013257806004013567ffffffffffffffff8111610132573660248284010111610132576000928160141161012e5760131982019167ffffffffffffffff831161011a57600b8101601f19908116603f0116820167ffffffffffffffff8111838210176101065760246020959387600c819795829560405286845289840196603889018837830101525193013560601c5af1905190156100fe575b6040516001600160a01b039091168152602090f35b5060006100e9565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b600080fdfea26469706673582212208d3d15f1a1651d00f2ed3b618a50717a7de16a758bd696cf961337d90cc7bf3764736f6c634300081a0033";
23
23
  //# sourceMappingURL=PimlicoEntryPointSimulations.d.ts.map
@@ -29,5 +29,5 @@ export const PimlicoEntryPointSimulationsAbi = [
29
29
  type: "function"
30
30
  }
31
31
  ];
32
- export const PimlicoEntryPointSimulationsDeployBytecode = "0x60808060405234608257613b7a8181016001600160401b03811183821017606c5782916103ff833903906000f08015606057600080546001600160a01b0319166001600160a01b039290921691909117905560405161037790816100888239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63c18f52261461002757600080fd5b34610281576040366003190112610281576004356001600160a01b038116908190036102815760243567ffffffffffffffff81116102815736602382011215610281578060040135610078816102be565b91610086604051938461029c565b8183526024602084019260051b820101903682116102815760248101925b82841061020957845185876100b8836102be565b926100c6604051948561029c565b8084526100d5601f19916102be565b0160005b8181106101f857505060005b825181101561019057600190606060008061013b858060a01b0382541661014961010f878b610317565b51604051938491602083019463428557b160e11b865260248401526040604484015260648301906102d6565b03601f19810184528361029c565b82885a935193f115610172575b6101608287610317565b5261016b8186610317565b50016100e5565b503d604051906020818301016040528082526000602083013e610156565b836040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106101c957505050500390f35b919360019193955060206101e88192603f198a820301865288516102d6565b96019201920185949391926101ba565b8060606020809388010152016100d9565b833567ffffffffffffffff8111610281578201366043820112156102815760248101359167ffffffffffffffff831161028657604051610253601f8501601f19166020018261029c565b83815236604484860101116102815760006020858196604483970183860137830101528152019301926100a4565b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761028657604052565b67ffffffffffffffff81116102865760051b60200190565b919082519283825260005b848110610302575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016102e1565b805182101561032b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220b16ef62f53f07a881c898de38f8f9ed163b694104429e30e4021ee1efb6fa36564736f6c634300081a003360c080604052346100cc5760016002556101888181016001600160401b038111838210176100b65782916139f2833903906000f080156100aa576080523060a0526100486100d1565b600081526020810190600082528060206100606100d1565b600081520152600380546001600160a01b0319169055516004555160055560405161390190816100f1823960805181505060a0518181816108ef01528181611d340152611eab0152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b038111838210176100b65760405256fe60806040526004361015610023575b361561001957600080fd5b61002161246f565b005b60003560e01c80630396cb60146101835780630bd28e3b1461017e5780630da82661146101795780630dbfc6bd146101745780630f019dea1461016f5780631b2e01b81461016a578063205c28781461016557806322cdde4c14610160578063263934db1461015b57806330ec25d11461015657806335567e1a14610151578063444034731461014c5780635287ce12146101475780635787f48b146101425780635895273b1461013d57806370a0823114610138578063b760faf914610133578063bb9fe6bf1461012e578063c23a5cea14610129578063c3bce00914610124578063fc7e286d1461011f5763fe2171cb0361000e576112f4565b611269565b61123c565b61113a565b611038565b61100d565b610fd0565b610f9b565b610f16565b610dd8565b610d69565b610d00565b610c82565b610b74565b610b54565b610a36565b6109d3565b61083d565b610779565b610554565b610360565b60203660031901126103455760043563ffffffff811690818103610345576103407fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103226102436102336101eb3360018060a01b03166000526000602052604060002090565b966101f7811515611349565b61022460018901549161021d6102148463ffffffff9060781c1690565b63ffffffff1690565b1115611395565b60081c6001600160701b031690565b6001600160701b03349116611414565b9461024f861515611421565b6102626001600160701b03871115611462565b5461026b61045e565b908152600160208201526001600160701b038616604082015263ffffffff8316606082015260006080820181905233815260208190526040902081518155602082015160019091018054604084015160608501516080909501516001600160c81b031990921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b63ffffffff60781b169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b038216820361034557565b34610345576020366003190112610345576004356001600160c01b0381168103610345573360009081526001602090815260408083206001600160c01b039094168352929052206103b1815461149f565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176103e657604052565b6103b5565b604081019081106001600160401b038211176103e657604052565b606081019081106001600160401b038211176103e657604052565b61014081019081106001600160401b038211176103e657604052565b90601f801991011681019081106001600160401b038211176103e657604052565b6040519061046d60a08361043d565b565b6040519061046d6101408361043d565b6040519061046d60608361043d565b6040519061046d6101008361043d565b6040519061046d60408361043d565b6001600160401b0381116103e657601f01601f191660200190565b9291926104d4826104ad565b916104e2604051938461043d565b829481845281830111610345578281602093846000960137010152565b9080601f830112156103455781602061051a933591016104c8565b90565b6001600160a01b0381160361034557565b6024359061046d8261051d565b610104359061046d8261051d565b359061046d8261051d565b3461034557610220366003190112610345576004356001600160401b038111610345576105859036906004016104ff565b3660231901906101c0821261034557610140604051926105a4846103cb565b12610345576105b161046f565b6105b961052e565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526105f361053b565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e435916001600160401b038311610345576106566106619336906004016104ff565b9061020435926114c5565b60408051928352602083019190915290f35b0390f35b9181601f84011215610345578235916001600160401b038311610345576020808501948460051b01011161034557565b602060031982011261034557600435906001600160401b038211610345576106d191600401610677565b9091565b60005b8381106106e85750506000910152565b81810151838201526020016106d8565b90602091610711815180928185528580860191016106d5565b601f01601f1916010190565b9061010060e061051a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906106f8565b346103455761079061078a366106a7565b90611707565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106107c857505050500390f35b919360019193955060206107e78192603f198a8203018652885161071d565b96019201920185949391926107b9565b9181601f84011215610345578235916001600160401b038311610345576020838186019501011161034557565b60409061051a93921515815281602082015201906106f8565b346103455760803660031901126103455760043561085a8161051d565b6024356108668161051d565b6044356001600160401b038111610345576108859036906004016107f7565b926108c0606435936108b2600095606097604051968794634440347360e01b60208701526024860161176f565b03601f19810184528361043d565b6001600160a01b0316803b156103455760405163428557b160e11b8152916000918391829084908290610920907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166004840161179a565b03925af190816109b8575b506109b357505061093a6117dd565b6109448151611829565b9060045b815181101561098d578061096f6109616001938561185b565b516001600160f81b03191690565b61098661097b8361186c565b9160001a918661185b565b5301610948565b50506109a290602080825183010191016118d9565b905b61067360405192839283610824565b6109a4565b806109c760006109cd9361043d565b8061102d565b3861092b565b34610345576040366003190112610345576020610a2d6004356109f58161051d565b6109fd61034a565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b3461034557604036600319011261034557600435610a538161051d565b602435336000526000602052604060002091825492838311610adb576000808481948294610a84610021988a61188a565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610ad56117dd565b5061190f565b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b602060031982011261034557600435906001600160401b038211610345576101209082900360031901126103455760040190565b34610345576020610b6c610b6736610b20565b611950565b604051908152f35b3461034557610673610bb5610ba9610baf610b8e366106a7565b809391610b99611607565b50610ba38261165b565b50611707565b9161187b565b906116f3565b5160405191829160208352602083019061071d565b9061051a9060e06080610c1c818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906106f8565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461034557610c99610c93366106a7565b90611ae1565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210610cd157505050500390f35b91936001919395506020610cf08192603f198a82030186528851610bca565b9601920192018594939192610cc2565b34610345576040366003190112610345576020600435610d1f8161051d565b610d2761034a565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b3461034557606036600319011261034557600435610d868161051d565b6024356001600160401b0381116103455760009182610daa819336906004016107f7565b9190926044359383604051948592833781018381520393f1610dca6117dd565b9015610dd257005b60208101fd5b3461034557602036600319011261034557600435610df58161051d565b60006080604051610e05816103cb565b828152826020820152826040820152826060820152015260018060a01b031660005260006020526106736040600020610e9465ffffffffffff600160405193610e4d856103cb565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b6080604061051a936020845280516020850152602081015115158285015201519160608082015201906106f8565b346103455760c0366003190112610345576004356001600160401b03811161034557610f46903690600401610677565b906024356001600160401b03811161034557606060031982360301126103455761067392610f8f92604435610f7a8161051d565b606435916084359360a4359560040191611c96565b60405191829182610ee8565b3461034557610673610fbc610faf36610b20565b610fb7611607565b611ff5565b60405191829160208352602083019061071d565b3461034557602036600319011261034557600435610fed8161051d565b60018060a01b031660005260006020526020604060002054604051908152f35b6020366003190112610345576100216004356110288161051d565b6120a6565b600091031261034557565b34610345576000366003190112610345573360005260006020526001604060002001805463ffffffff8160781c1615611108576110a46110966102148361108a6110856110cb9660ff1690565b6120fc565b60781c63ffffffff1690565b65ffffffffffff421661213c565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a908060208101610340565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b3461034557602036600319011261034557610021600080808060043561115f8161051d565b336000908152602081905260409020600101906111e78254926111d665ffffffffffff6111c26111a861119c886001600160701b039060081c1690565b6001600160701b031690565b966111b488151561215a565b60981c65ffffffffffff1690565b166111ce81151561219d565b4210156121e9565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a26001600160a01b03165af16112366117dd565b50612235565b346103455761067361125561125036610b20565b612309565b604051918291602083526020830190610bca565b34610345576020366003190112610345576004356112868161051d565b6001600160a01b031660009081526020818152604091829020805460019190910154835191825260ff8116151592820192909252600882901c6001600160701b031692810192909252607881901c63ffffffff16606083015260981c65ffffffffffff16608082015260a090f35b3461034557611316611305366106a7565b809291611310611a5a565b50611ae1565b6000198201918211611344576106739161132f916116f3565b51604051918291602083526020830190610bca565b6113e1565b1561135057565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b1561139c57565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90611388820180921161134457565b906001820180921161134457565b9190820180921161134457565b1561142857565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b1561146957565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b60001981146113445760010190565b60409061051a9392815281602082015201906106f8565b91908051936060850151946114dd603f5a0260061c90565b61271060a0830151880101116115ab576106d195600095805161150d575b5050505a90036080820151019261250a565b825161152b926115279290916001600160a01b0316612478565b1590565b611537575b80806114fb565b90935061154261248a565b8051611554575b505060019238611530565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201929182916115a191836114ae565b0390a33880611549565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b0390fd5b6001600160401b0381116103e65760051b60200190565b6040519061010082018281106001600160401b038211176103e657604052606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b90611665826115f0565b611672604051918261043d565b8281528092611683601f19916115f0565b019060005b82811061169457505050565b60209061169f611607565b82828501015201611688565b634e487b7160e01b600052603260045260246000fd5b90359061011e1981360301821215610345570190565b908210156116ee5761051a9160051b8101906116c1565b6116ab565b80518210156116ee5760209160051b010190565b6117108261165b565b9160005b8181106117215750505090565b80611732610faf60019385876116d7565b61173c82876116f3565b5261174781866116f3565b5001611714565b908060209392818452848401376000828201840152601f01601f1916010190565b949392916040926117959260018060a01b0316875260606020880152606087019161174e565b930152565b6001600160a01b03909116815260406020820181905261051a929101906106f8565b6040513d6000823e3d90fd5b604051906117d760208361043d565b60008252565b3d15611808573d906117ee826104ad565b916117fc604051938461043d565b82523d6000602084013e565b606090565b6040519061181c60208361043d565b6000808352366020840137565b90611833826104ad565b611840604051918261043d565b8281528092611851601f19916104ad565b0190602036910137565b9081518110156116ee570160200190565b60031981019190821161134457565b60001981019190821161134457565b9190820391821161134457565b81601f820112156103455780516118ad816104ad565b926118bb604051948561043d565b818452602082840101116103455761051a91602080850191016106d5565b9190916040818403126103455780518015158103610345579260208201516001600160401b0381116103455761051a9201611897565b1561191657565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6020810135611a126119656040840184611c33565b90816040519182372091611a0461197f6060860186611c33565b90816040519182372060c086013560a087013560808801356119ad6119a760e08b018b611c33565b906135f8565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b03601f19810183528261043d565b51902060408051602081019283523091810191909152466060820152611a3b8160808101611a04565b51902090565b60405190611a4e826103eb565b60006020838281520152565b60405190611a67826103cb565b81604051611a74816103cb565b60008152600060208201526000604082015260006060820152606060808201528152611a9e611a41565b6020820152611aab611a41565b6040820152611ab8611a41565b6060820152608060405191611acc836103eb565b60008352611ad8611a41565b60208401520152565b611aea826115f0565b91611af8604051938461043d565b808352601f19611b07826115f0565b0160005b818110611b5157505060005b818110611b245750505090565b80611b3561125060019385876116d7565b611b3f82876116f3565b52611b4a81866116f3565b5001611b17565b602090611b5c611a5a565b82828801015201611b0b565b908092918237016000815290565b60405190611b8382610406565b606060408360008152600060208201520152565b60405190611ba4826103cb565b6000608083604051611bb581610421565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b91908110156116ee5760051b81013590605e1981360301821215610345570190565b3561051a8161051d565b903590601e198136030182121561034557018035906001600160401b0382116103455760200191813603831361034557565b6001600160a01b039182168152911660208201526080604082018190529093929160609161179591908601906106f8565b9694969591939295611ca6611b76565b5060005b828110611f5257505050611cbe83806116c1565b93611cfe611ce6611cdf611cd460208801611c29565b966040810190611c33565b36916104c8565b95611cef611b97565b90611cf98161272d565b61283e565b5050506001600160a01b03841615611f275760008315611e7f5750600190611d32611d276117c8565b989291935b85611414565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169881905b84611d6b888561188a565b10611e54575a611d7a886113f7565b11611e345791869593918a95938c8b611d94858d9c611414565b60011c9a8b996040519c8d938493630780cef560e11b85526004850193611dba94611c65565b03815a6000948591f1988915611e2f57600090819a611e09575b5015611df457505050611de68461187b565b95915b939092949591611d60565b93965094611e03919750611406565b94611de9565b90611e27929a503d8091833e611e1f818361043d565b8101906118d9565b989038611dd4565b6117bc565b637162685f60e11b60005260048290526024879052604483905260646000fd5b97509750509250509450611e779150611e6b61047f565b93845215156020840152565b604082015290565b92505a9085848689611ea65a604051630780cef560e11b8152958694859460048601611c65565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115611e2f57858092611f00575b5050611ef6611d329195935a9061188a565b9498929193611d2c565b611ef69650611d32925090611f1e913d8091833e611e1f818361043d565b95909591611ee4565b95505050505050611f3661180d565b611f3e61047f565b906000825260006020830152604082015290565b600190611f5d611b97565b611f88611f6b838787611c07565b91611f7e611f7984806116c1565b61272d565b611cf983806116c1565b50505060208101611fa7611f9b82611c29565b6001600160a01b031690565b15611fee5760009182611fc8611fbd8294611c29565b926040810190611c33565b9190611fd960405180948193611b68565b03925af150611fe66117dd565b505b01611caa565b5050611fe8565b5060028054146120755760028055608061202f612010611b97565b9261201a8161272d565b83612025818361283e565b9491929093612b25565b94909501519461203d61048e565b958652602086015260408501526060840152608083015260a0820152600060c0820152612068612086565b60e0820152906001600255565b633ee5aeb560e01b60005260046000fd5b6040519061209560408361043d565b6002825261060f60f31b6020830152565b60015b600581106120f457507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206120df3484612d9c565b6040519081526001600160a01b0390931692a2565b6001016120a9565b1561210357565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b9065ffffffffffff8091169116019065ffffffffffff821161134457565b1561216157565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b156121a457565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b156121f057565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b1561223c57565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116103455790601490565b356bffffffffffffffffffffffff198116929190601482106122af575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b604051906122dc826103eb565b6003546001600160a01b031682526040516020836122f9836103eb565b6004548352600554828401520152565b612311611a5a565b5061231a611b97565b906123248161272d565b61232e828261283e565b5091909261233c8385612bc4565b805160e00151612359906001600160a01b0316612d30565b612d30565b81515190929061238990612375906001600160a01b0316612d30565b9161237e611a41565b506040810190611c33565b9060148210612463576123ab6123a56123b19361235493612281565b9061228f565b60601c90565b9160018060a01b0386169460808201519660606040840151930151926123d561045e565b98895260208901526040880152606087015260808601526123f46122cf565b9380151580612458575b612426575b5061240c61045e565b948552602085015260408401526060830152608082015290565b90935061243281612d30565b61244c61243d61049e565b6001600160a01b039093168352565b60208201529238612403565b5060018114156123fe565b50506123b16000612d30565b61046d336120a6565b9060009283809360208451940192f190565b3d61080081116124af575b604051906020818301016040528082526000602083013e90565b50610800612495565b600311156124c257565b634e487b7160e01b600052602160045260246000fd5b909493929460038110156124c2576060926125009183526080602084015260808301906106f8565b9460408201520152565b9093916000935a9286519261251e84612d72565b60e085015190916001600160a01b0390911690818061260657505084516001600160a01b03169050925b5a8603019360a060608201519101510190608089019182518603908181116125f1575b505084029160408901928351948186106000146125c7575050806125906002926124b8565b036125ac57505061046d925080956125a781612e8e565b612dc3565b9150915061046d925a90039051019051856125a78297612e8e565b9061046d9750809a94506125e092935080950390612d9c565b506125ea816124b8565b1590612e29565b9195916064919003600a02040193388061256b565b94918151612616575b5050612548565b61261f856124b8565b600285031561260f57919098505a9160a0870151813b1561034557846000918783612666958f60405197889687958693637c627b2160e01b8552828d0291600486016124d8565b0393f19081612700575b506126f957506020898101518a518051920151917ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792906001600160a01b03166126b761248a565b6040516001600160a01b039092169482916126d291836114ae565b0390a36126eb5a870360808b01510180998b600261250a565b50505b5a900396388061260f565b97506126ee565b806109c7600061270f9361043d565b38612670565b90604061051a926000815281602082015201906106f8565b6040516135a560f21b602082019081523060601b6022830152600160f81b6036830152601782526127b692919061276560378361043d565b60018060a01b0391519020166bffffffffffffffffffffffff60a01b60065416176006556127966040820182611c33565b916127ae6127a382611c29565b9160e0810190611c33565b939092612ed0565b80516127bf5750565b604051631101335b60e11b81529081906115ec9060048301612715565b156127e357565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b9060738202918083046073149015171561134457565b90916000915a938051916128528382612fdb565b61285b81611950565b60208301526040830151956128a76effffffffffffffffffffffffffffff8860c08701511760608701511760808701511760a087015117610100870151176101208701511711156127dc565b6128d284610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6128e088828686600061311f565b855190989061290190611527906001600160a01b03166020890151906132d7565b6129e2575a830311612993576060905a60e096909601516001600160a01b0316612960575b6129549360a061051a9794879460809460406129599a015260608601525a9003910135019101525a9061188a565b612828565b6064900490565b965050928260808360a061051a976129818b61295999612954996000613382565b9b909598509350949750509350612926565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9035601e19823603018112156103455701602081359101916001600160401b03821161034557813603831361034557565b61051a91612a8081612a7384610549565b6001600160a01b03169052565b60208201356020820152612b16612b0a612ad1612ab6612aa36040870187612a31565b610120604088015261012087019161174e565b612ac36060870187612a31565b90868303606088015261174e565b6080850135608085015260a085013560a085015260c085013560c0850152612afc60e0860186612a31565b9085830360e087015261174e565b92610100810190612a31565b9161010081850391015261174e565b905a90606081015190612b3b6060850185611c33565b600060038211612bbc575b6001600160e01b031916638dd7712f60e01b03612bab575050612b92612ba66106d1956020840151604051938492638dd7712f60e01b6020850152604060248501526064840190612a62565b90604483015203601f19810183528261043d565b6114c5565b6106d1955090612ba69136916104c8565b508135612b46565b612bcd90613513565b906001600160a01b0316612cea57612c9b57612be890613513565b906001600160a01b0316612c5557612bfc57565b60408051631101335b60e11b8152600060048201526024810191909152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f742064756064820152606560f81b608482015260a490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b90612d39611a41565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b610120610100820151910151808214612d9857480180821015612d93575090565b905090565b5090565b60018060a01b03166000526000602052604060002080549182018092116113445781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b0386511694602060018060a01b0360e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b0387511695602060018060a01b0360e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b50929192159081612f85575b50612f48576014811015612ef5575b505061051a6117c8565b601411610345573560601c3b15612f0d573880612eeb565b604051612f1b60408261043d565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051612f5860408261043d565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538612edc565b15612f9657565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b61306090612ff8612feb82611c29565b6001600160a01b03168452565b6020810135602084015261301c6080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c084015261304a60c0820135906001600160801b038260801c921690565b61010085015261012084015260e0810190611c33565b90811561309c576130848260e09261307f603461046d97961015612f8f565b613603565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b90816020910312610345575190565b6130da60409295949395606083526060830190612a62565b9460208201520152565b60a09061051a9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b608082015281604082015201906106f8565b949291939060206131a59186519361316b60e0613142875160018060a01b031690565b9661315d8b8d6131556040890189611c33565b929091613661565b01516001600160a01b031690565b6001600160a01b031615976000929089613299575b8401516040516306608bdf60e21b8152958694859360009385939291600485016130c2565b03926001600160a01b03881690f160009181613268575b506131e757856131ca61248a565b6040516365c8fd4d60e01b81529182916115ec91600484016130e4565b9492936131f357505050565b6001600160a01b031660009081526020819052604090209182549081831161321b5750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61328b91925060203d602011613292575b613283818361043d565b8101906130b3565b90386131bc565b503d613279565b6001600160a01b038716600090815260208190526040902090935054878111156132cc5750600084815b94915050613180565b8460009189036132c3565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b03916133108461149f565b9055161490565b91906040838203126103455782516001600160401b03811161034557602091613341918501611897565b92015190565b60a09061051a9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b608082015281604082015201906106f8565b929390915a815160e08101516001600160a01b031660008181526020819052604090209295909290919080548981106134c45760206080600096948c96946133ed9c9d8995039055015196015191604051998a95869485936314add44b60e21b8552600485016130c2565b03926001600160a01b031686f1938460009160009661349d575b50613432578561341561248a565b6040516365c8fd4d60e01b81529182916115ec9160048401613347565b9491925a9003116134405750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b9095506134bd91503d806000833e6134b5818361043d565b810190613317565b9438613407565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b80156135ef5760006040805161352881610406565b828152826020820152015265ffffffffffff8160a01c1680156135e2575b6135c4906135ab61355d61356861355d8660d01c90565b65ffffffffffff1690565b9261358361357461047f565b6001600160a01b039097168752565b6135996020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b42119081156135c7575b5091516001600160a01b031690565b91565b516135da915065ffffffffffff1661355d565b4210386135b5565b5065ffffffffffff613546565b50600090600090565b816040519182372090565b9091826014116103455781359183602411610345576014810135936034116103455760609290921c92608090811c9260240135901c90565b90816020910312610345575161051a8161051d565b91602061051a93818152019161174e565b92909181613670575b50505050565b8251516001600160a01b031693843b61387e5760065460009060209061369e906001600160a01b0316611f9b565b60408751015160405180948193632b870d1b60e11b8352826136c48b8b60048401613650565b0393f1908115611e2f5760009161384f575b506001600160a01b038116958615613800576001600160a01b0316958690036137b1573b1561376457506123ab6123a57fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361373193612281565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a33880808061366a565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b613871915060203d602011613877575b613869818361043d565b81019061363b565b386136d6565b503d61385f565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fdfea2646970667358221220d83ea44b9f656f608f7af9b38e5828806e19b6cffc931b7ad1f6d324f70d029d64736f6c634300081a00336080806040523460155761016d908161001b8239f35b600080fdfe6080600436101561000f57600080fd5b60003560e01c63570e1a361461002457600080fd5b346101325760203660031901126101325760043567ffffffffffffffff8111610132573660238201121561013257806004013567ffffffffffffffff8111610132573660248284010111610132576000928160141161012e5760131982019167ffffffffffffffff831161011a57600b8101601f19908116603f0116820167ffffffffffffffff8111838210176101065760246020959387600c819795829560405286845289840196603889018837830101525193013560601c5af1905190156100fe575b6040516001600160a01b039091168152602090f35b5060006100e9565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b600080fdfea26469706673582212208d3d15f1a1651d00f2ed3b618a50717a7de16a758bd696cf961337d90cc7bf3764736f6c634300081a0033";
32
+ export const PimlicoEntryPointSimulationsDeployBytecode = "0x60808060405234608257613b908181016001600160401b03811183821017606c5782916103ff833903906000f08015606057600080546001600160a01b0319166001600160a01b039290921691909117905560405161037790816100888239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63c18f52261461002757600080fd5b34610281576040366003190112610281576004356001600160a01b038116908190036102815760243567ffffffffffffffff81116102815736602382011215610281578060040135610078816102be565b91610086604051938461029c565b8183526024602084019260051b820101903682116102815760248101925b82841061020957845185876100b8836102be565b926100c6604051948561029c565b8084526100d5601f19916102be565b0160005b8181106101f857505060005b825181101561019057600190606060008061013b858060a01b0382541661014961010f878b610317565b51604051938491602083019463428557b160e11b865260248401526040604484015260648301906102d6565b03601f19810184528361029c565b82885a935193f115610172575b6101608287610317565b5261016b8186610317565b50016100e5565b503d604051906020818301016040528082526000602083013e610156565b836040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106101c957505050500390f35b919360019193955060206101e88192603f198a820301865288516102d6565b96019201920185949391926101ba565b8060606020809388010152016100d9565b833567ffffffffffffffff8111610281578201366043820112156102815760248101359167ffffffffffffffff831161028657604051610253601f8501601f19166020018261029c565b83815236604484860101116102815760006020858196604483970183860137830101528152019301926100a4565b600080fd5b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761028657604052565b67ffffffffffffffff81116102865760051b60200190565b919082519283825260005b848110610302575050826000602080949584010152601f8019910116010190565b806020809284010151828286010152016102e1565b805182101561032b5760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220188cb9342176e096561b856f8b3751f67e4246534755fbbec3b1c61b597809e164736f6c634300081a003360c080604052346100cc5760016002556101888181016001600160401b038111838210176100b6578291613a08833903906000f080156100aa576080523060a0526100486100d1565b600081526020810190600082528060206100606100d1565b600081520152600380546001600160a01b0319169055516004555160055560405161391790816100f1823960805181505060a0518181816108ef01528181611d4a0152611ec10152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b038111838210176100b65760405256fe60806040526004361015610023575b361561001957600080fd5b610021612485565b005b60003560e01c80630396cb60146101835780630bd28e3b1461017e5780630da82661146101795780630dbfc6bd146101745780630f019dea1461016f5780631b2e01b81461016a578063205c28781461016557806322cdde4c14610160578063263934db1461015b57806330ec25d11461015657806335567e1a14610151578063444034731461014c5780635287ce12146101475780635787f48b146101425780635895273b1461013d57806370a0823114610138578063b760faf914610133578063bb9fe6bf1461012e578063c23a5cea14610129578063c3bce00914610124578063fc7e286d1461011f5763fe2171cb0361000e5761130a565b61127f565b611252565b611150565b61104e565b611023565b610fe6565b610fb1565b610f2c565b610dee565b610d71565b610d08565b610c8a565b610b7c565b610b5c565b610a3e565b6109db565b61083d565b610779565b610554565b610360565b60203660031901126103455760043563ffffffff811690818103610345576103407fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916103226102436102336101eb3360018060a01b03166000526000602052604060002090565b966101f781151561135f565b61022460018901549161021d6102148463ffffffff9060781c1690565b63ffffffff1690565b11156113ab565b60081c6001600160701b031690565b6001600160701b0334911661142a565b9461024f861515611437565b6102626001600160701b03871115611478565b5461026b61045e565b908152600160208201526001600160701b038616604082015263ffffffff8316606082015260006080820181905233815260208190526040902081518155602082015160019091018054604084015160608501516080909501516001600160c81b031990921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b63ffffffff60781b169290921760989190911b65ffffffffffff60981b16179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b038216820361034557565b34610345576020366003190112610345576004356001600160c01b0381168103610345573360009081526001602090815260408083206001600160c01b039094168352929052206103b181546114b5565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176103e657604052565b6103b5565b604081019081106001600160401b038211176103e657604052565b606081019081106001600160401b038211176103e657604052565b61014081019081106001600160401b038211176103e657604052565b90601f801991011681019081106001600160401b038211176103e657604052565b6040519061046d60a08361043d565b565b6040519061046d6101408361043d565b6040519061046d60608361043d565b6040519061046d6101008361043d565b6040519061046d60408361043d565b6001600160401b0381116103e657601f01601f191660200190565b9291926104d4826104ad565b916104e2604051938461043d565b829481845281830111610345578281602093846000960137010152565b9080601f830112156103455781602061051a933591016104c8565b90565b6001600160a01b0381160361034557565b6024359061046d8261051d565b610104359061046d8261051d565b359061046d8261051d565b3461034557610220366003190112610345576004356001600160401b038111610345576105859036906004016104ff565b3660231901906101c0821261034557610140604051926105a4846103cb565b12610345576105b161046f565b6105b961052e565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526105f361053b565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e435916001600160401b038311610345576106566106619336906004016104ff565b9061020435926114db565b60408051928352602083019190915290f35b0390f35b9181601f84011215610345578235916001600160401b038311610345576020808501948460051b01011161034557565b602060031982011261034557600435906001600160401b038211610345576106d191600401610677565b9091565b60005b8381106106e85750506000910152565b81810151838201526020016106d8565b90602091610711815180928185528580860191016106d5565b601f01601f1916010190565b9061010060e061051a93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e082015201906106f8565b346103455761079061078a366106a7565b9061171d565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b8282106107c857505050500390f35b919360019193955060206107e78192603f198a8203018652885161071d565b96019201920185949391926107b9565b9181601f84011215610345578235916001600160401b038311610345576020838186019501011161034557565b60409061051a93921515815281602082015201906106f8565b346103455760803660031901126103455760043561085a8161051d565b6024356108668161051d565b6044356001600160401b038111610345576108859036906004016107f7565b926108c0606435936108b2600095606097604051968794634440347360e01b602087015260248601611785565b03601f19810184528361043d565b6001600160a01b0316803b156103455760405163428557b160e11b8152916000918391829084908290610920907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600484016117b0565b03925af190816109c0575b506109bb57505061093a6117f3565b61094c6109478251611823565b61186a565b9060045b815181101561099557806109776109696001938561189c565b516001600160f81b03191690565b61098e61098383611823565b9160001a918661189c565b5301610950565b50506109aa90602080825183010191016118ef565b905b61067360405192839283610824565b6109ac565b806109cf60006109d59361043d565b80611043565b3861092b565b34610345576040366003190112610345576020610a356004356109fd8161051d565b610a0561034a565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b3461034557604036600319011261034557600435610a5b8161051d565b602435336000526000602052604060002091825492838311610ae3576000808481948294610a8c610021988a611841565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610add6117f3565b50611925565b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b602060031982011261034557600435906001600160401b038211610345576101209082900360031901126103455760040190565b34610345576020610b74610b6f36610b28565b611966565b604051908152f35b3461034557610673610bbd610bb1610bb7610b96366106a7565b809391610ba161161d565b50610bab82611671565b5061171d565b91611832565b90611709565b5160405191829160208352602083019061071d565b9061051a9060e06080610c24818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e08501906106f8565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b3461034557610ca1610c9b366106a7565b90611af7565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210610cd957505050500390f35b91936001919395506020610cf88192603f198a82030186528851610bd2565b9601920192018594939192610cca565b34610345576040366003190112610345576020600435610d278161051d565b610d2f61034a565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b3461034557606036600319011261034557600435610d8e8161051d565b6024356001600160401b0381116103455760009182610db2819336906004016107f7565b919092610dbe60443590565b9383604051948592833781018381520393f1610dd86117f3565b9015610de057005b805190811561034557602001fd5b3461034557602036600319011261034557600435610e0b8161051d565b60006080604051610e1b816103cb565b828152826020820152826040820152826060820152015260018060a01b031660005260006020526106736040600020610eaa65ffffffffffff600160405193610e63856103cb565b80548552015460ff8116151560208501526001600160701b038160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b6080604061051a936020845280516020850152602081015115158285015201519160608082015201906106f8565b346103455760c0366003190112610345576004356001600160401b03811161034557610f5c903690600401610677565b906024356001600160401b03811161034557606060031982360301126103455761067392610fa592604435610f908161051d565b606435916084359360a4359560040191611cac565b60405191829182610efe565b3461034557610673610fd2610fc536610b28565b610fcd61161d565b61200b565b60405191829160208352602083019061071d565b34610345576020366003190112610345576004356110038161051d565b60018060a01b031660005260006020526020604060002054604051908152f35b60203660031901126103455761002160043561103e8161051d565b6120bc565b600091031261034557565b34610345576000366003190112610345573360005260006020526001604060002001805463ffffffff8160781c161561111e576110ba6110ac610214836110a061109b6110e19660ff1690565b612112565b60781c63ffffffff1690565b65ffffffffffff4216612152565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a908060208101610340565b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b346103455760203660031901126103455761002160008080806004356111758161051d565b336000908152602081905260409020600101906111fd8254926111ec65ffffffffffff6111d86111be6111b2886001600160701b039060081c1690565b6001600160701b031690565b966111ca881515612170565b60981c65ffffffffffff1690565b166111e48115156121b3565b4210156121ff565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a26001600160a01b03165af161124c6117f3565b5061224b565b346103455761067361126b61126636610b28565b61231f565b604051918291602083526020830190610bd2565b346103455760203660031901126103455760043561129c8161051d565b6001600160a01b031660009081526020818152604091829020805460019190910154835191825260ff8116151592820192909252600882901c6001600160701b031692810192909252607881901c63ffffffff16606083015260981c65ffffffffffff16608082015260a090f35b346103455761132c61131b366106a7565b809291611326611a70565b50611af7565b600019820191821161135a576106739161134591611709565b51604051918291602083526020830190610bd2565b6113f7565b1561136657565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b156113b257565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b90611388820180921161135a57565b906001820180921161135a57565b9190820180921161135a57565b1561143e57565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b1561147f57565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b600019811461135a5760010190565b60409061051a9392815281602082015201906106f8565b91908051936060850151946114f3603f5a0260061c90565b61271060a0830151880101116115c1576106d1956000958051611523575b5050505a900360808201510192612520565b82516115419261153d9290916001600160a01b031661248e565b1590565b61154d575b8080611511565b9093506115586124a0565b805161156a575b505060019238611546565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201929182916115b791836114c4565b0390a3388061155f565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b0390fd5b6001600160401b0381116103e65760051b60200190565b6040519061010082018281106001600160401b038211176103e657604052606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b9061167b82611606565b611688604051918261043d565b8281528092611699601f1991611606565b019060005b8281106116aa57505050565b6020906116b561161d565b8282850101520161169e565b634e487b7160e01b600052603260045260246000fd5b90359061011e1981360301821215610345570190565b908210156117045761051a9160051b8101906116d7565b6116c1565b80518210156117045760209160051b010190565b61172682611671565b9160005b8181106117375750505090565b80611748610fc560019385876116ed565b6117528287611709565b5261175d8186611709565b500161172a565b908060209392818452848401376000828201840152601f01601f1916010190565b949392916040926117ab9260018060a01b03168752606060208801526060870191611764565b930152565b6001600160a01b03909116815260406020820181905261051a929101906106f8565b6040513d6000823e3d90fd5b604051906117ed60208361043d565b60008252565b3d1561181e573d90611804826104ad565b91611812604051938461043d565b82523d6000602084013e565b606090565b60031981019190821161135a57565b60001981019190821161135a57565b9190820391821161135a57565b6040519061185d60208361043d565b6000808352366020840137565b90611874826104ad565b611881604051918261043d565b8281528092611892601f19916104ad565b0190602036910137565b908151811015611704570160200190565b81601f820112156103455780516118c3816104ad565b926118d1604051948561043d565b818452602082840101116103455761051a91602080850191016106d5565b9190916040818403126103455780518015158103610345579260208201516001600160401b0381116103455761051a92016118ad565b1561192c57565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6020810135611a2861197b6040840184611c49565b90816040519182372091611a1a6119956060860186611c49565b90816040519182372060c086013560a087013560808801356119c36119bd60e08b018b611c49565b9061360e565b604080519a356001600160a01b031660208c01908152908b019790975260608a0198909852608089019390935260a088019290925260c087019190915260e086015261010085019390935292918290610120820190565b03601f19810183528261043d565b51902060408051602081019283523091810191909152466060820152611a518160808101611a1a565b51902090565b60405190611a64826103eb565b60006020838281520152565b60405190611a7d826103cb565b81604051611a8a816103cb565b60008152600060208201526000604082015260006060820152606060808201528152611ab4611a57565b6020820152611ac1611a57565b6040820152611ace611a57565b6060820152608060405191611ae2836103eb565b60008352611aee611a57565b60208401520152565b611b0082611606565b91611b0e604051938461043d565b808352601f19611b1d82611606565b0160005b818110611b6757505060005b818110611b3a5750505090565b80611b4b61126660019385876116ed565b611b558287611709565b52611b608186611709565b5001611b2d565b602090611b72611a70565b82828801015201611b21565b908092918237016000815290565b60405190611b9982610406565b606060408360008152600060208201520152565b60405190611bba826103cb565b6000608083604051611bcb81610421565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b91908110156117045760051b81013590605e1981360301821215610345570190565b3561051a8161051d565b903590601e198136030182121561034557018035906001600160401b0382116103455760200191813603831361034557565b6001600160a01b03918216815291166020820152608060408201819052909392916060916117ab91908601906106f8565b9694969591939295611cbc611b8c565b5060005b828110611f6857505050611cd483806116d7565b93611d14611cfc611cf5611cea60208801611c3f565b966040810190611c49565b36916104c8565b95611d05611bad565b90611d0f81612743565b612854565b5050506001600160a01b03841615611f3d5760008315611e955750600190611d48611d3d6117de565b989291935b8561142a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169881905b84611d818885611841565b10611e6a575a611d908861140d565b11611e4a5791869593918a95938c8b611daa858d9c61142a565b60011c9a8b996040519c8d938493630780cef560e11b85526004850193611dd094611c7b565b03815a6000948591f1988915611e4557600090819a611e1f575b5015611e0a57505050611dfc84611832565b95915b939092949591611d76565b93965094611e1991975061141c565b94611dff565b90611e3d929a503d8091833e611e35818361043d565b8101906118ef565b989038611dea565b6117d2565b637162685f60e11b60005260048290526024879052604483905260646000fd5b97509750509250509450611e8d9150611e8161047f565b93845215156020840152565b604082015290565b92505a9085848689611ebc5a604051630780cef560e11b8152958694859460048601611c7b565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1908115611e4557858092611f16575b5050611f0c611d489195935a90611841565b9498929193611d42565b611f0c9650611d48925090611f34913d8091833e611e35818361043d565b95909591611efa565b95505050505050611f4c61184e565b611f5461047f565b906000825260006020830152604082015290565b600190611f73611bad565b611f9e611f81838787611c1d565b91611f94611f8f84806116d7565b612743565b611d0f83806116d7565b50505060208101611fbd611fb182611c3f565b6001600160a01b031690565b156120045760009182611fde611fd38294611c3f565b926040810190611c49565b9190611fef60405180948193611b7e565b03925af150611ffc6117f3565b505b01611cc0565b5050611ffe565b50600280541461208b57600280556080612045612026611bad565b9261203081612743565b8361203b8183612854565b9491929093612b3b565b94909501519461205361048e565b958652602086015260408501526060840152608083015260a0820152600060c082015261207e61209c565b60e0820152906001600255565b633ee5aeb560e01b60005260046000fd5b604051906120ab60408361043d565b6002825261060f60f31b6020830152565b60015b6005811061210a57507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206120f53484612db2565b6040519081526001600160a01b0390931692a2565b6001016120bf565b1561211957565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b9065ffffffffffff8091169116019065ffffffffffff821161135a57565b1561217757565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b156121ba57565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b1561220657565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b1561225257565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116103455790601490565b356bffffffffffffffffffffffff198116929190601482106122c5575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b604051906122f2826103eb565b6003546001600160a01b0316825260405160208361230f836103eb565b6004548352600554828401520152565b612327611a70565b50612330611bad565b9061233a81612743565b6123448282612854565b509190926123528385612bda565b805160e0015161236f906001600160a01b0316612d46565b612d46565b81515190929061239f9061238b906001600160a01b0316612d46565b91612394611a57565b506040810190611c49565b9060148210612479576123c16123bb6123c79361236a93612297565b906122a5565b60601c90565b9160018060a01b0386169460808201519660606040840151930151926123eb61045e565b988952602089015260408801526060870152608086015261240a6122e5565b938015158061246e575b61243c575b5061242261045e565b948552602085015260408401526060830152608082015290565b90935061244881612d46565b61246261245361049e565b6001600160a01b039093168352565b60208201529238612419565b506001811415612414565b50506123c76000612d46565b61046d336120bc565b9060009283809360208451940192f190565b3d61080081116124c5575b604051906020818301016040528082526000602083013e90565b506108006124ab565b600311156124d857565b634e487b7160e01b600052602160045260246000fd5b909493929460038110156124d8576060926125169183526080602084015260808301906106f8565b9460408201520152565b9093916000935a9286519261253484612d88565b60e085015190916001600160a01b0390911690818061261c57505084516001600160a01b03169050925b5a8603019360a06060820151910151019060808901918251860390818111612607575b505084029160408901928351948186106000146125dd575050806125a66002926124ce565b036125c257505061046d925080956125bd81612ea4565b612dd9565b9150915061046d925a90039051019051856125bd8297612ea4565b9061046d9750809a94506125f692935080950390612db2565b50612600816124ce565b1590612e3f565b9195916064919003600a020401933880612581565b9491815161262c575b505061255e565b612635856124ce565b600285031561262557919098505a9160a0870151813b156103455784600091878361267c958f60405197889687958693637c627b2160e01b8552828d0291600486016124ee565b0393f19081612716575b5061270f57506020898101518a518051920151917ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792906001600160a01b03166126cd6124a0565b6040516001600160a01b039092169482916126e891836114c4565b0390a36127015a870360808b01510180998b6002612520565b50505b5a9003963880612625565b9750612704565b806109cf60006127259361043d565b38612686565b90604061051a926000815281602082015201906106f8565b6040516135a560f21b602082019081523060601b6022830152600160f81b6036830152601782526127cc92919061277b60378361043d565b60018060a01b0391519020166bffffffffffffffffffffffff60a01b60065416176006556127ac6040820182611c49565b916127c46127b982611c3f565b9160e0810190611c49565b939092612ee6565b80516127d55750565b604051631101335b60e11b8152908190611602906004830161272b565b156127f957565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b9060738202918083046073149015171561135a57565b90916000915a938051916128688382612ff1565b61287181611966565b60208301526040830151956128bd6effffffffffffffffffffffffffffff8860c08701511760608701511760808701511760a087015117610100870151176101208701511711156127f2565b6128e884610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6128f6888286866000613135565b85519098906129179061153d906001600160a01b03166020890151906132ed565b6129f8575a8303116129a9576060905a60e096909601516001600160a01b0316612976575b61296a9360a061051a97948794608094604061296f9a015260608601525a9003910135019101525a90611841565b61283e565b6064900490565b965050928260808360a061051a976129978b61296f9961296a996000613398565b9b90959850935094975050935061293c565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9035601e19823603018112156103455701602081359101916001600160401b03821161034557813603831361034557565b61051a91612a9681612a8984610549565b6001600160a01b03169052565b60208201356020820152612b2c612b20612ae7612acc612ab96040870187612a47565b6101206040880152610120870191611764565b612ad96060870187612a47565b908683036060880152611764565b6080850135608085015260a085013560a085015260c085013560c0850152612b1260e0860186612a47565b9085830360e0870152611764565b92610100810190612a47565b91610100818503910152611764565b905a90606081015190612b516060850185611c49565b600060038211612bd2575b6001600160e01b031916638dd7712f60e01b03612bc1575050612ba8612bbc6106d1956020840151604051938492638dd7712f60e01b6020850152604060248501526064840190612a78565b90604483015203601f19810183528261043d565b6114db565b6106d1955090612bbc9136916104c8565b508135612b5c565b612be390613529565b906001600160a01b0316612d0057612cb157612bfe90613529565b906001600160a01b0316612c6b57612c1257565b60408051631101335b60e11b8152600060048201526024810191909152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f742064756064820152606560f81b608482015260a490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b90612d4f611a57565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b610120610100820151910151808214612dae57480180821015612da9575090565b905090565b5090565b60018060a01b031660005260006020526040600020805491820180921161135a5781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b0386511694602060018060a01b0360e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b0387511695602060018060a01b0360e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b50929192159081612f9b575b50612f5e576014811015612f0b575b505061051a6117de565b601411610345573560601c3b15612f23573880612f01565b604051612f3160408261043d565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051612f6e60408261043d565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538612ef2565b15612fac57565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b6130769061300e61300182611c3f565b6001600160a01b03168452565b602081013560208401526130326080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c084015261306060c0820135906001600160801b038260801c921690565b61010085015261012084015260e0810190611c49565b9081156130b25761309a8260e092613095603461046d97961015612fa5565b613619565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b90816020910312610345575190565b6130f060409295949395606083526060830190612a78565b9460208201520152565b60a09061051a9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b608082015281604082015201906106f8565b949291939060206131bb9186519361318160e0613158875160018060a01b031690565b966131738b8d61316b6040890189611c49565b929091613677565b01516001600160a01b031690565b6001600160a01b0316159760009290896132af575b8401516040516306608bdf60e21b8152958694859360009385939291600485016130d8565b03926001600160a01b03881690f16000918161327e575b506131fd57856131e06124a0565b6040516365c8fd4d60e01b815291829161160291600484016130fa565b94929361320957505050565b6001600160a01b03166000908152602081905260409020918254908183116132315750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b6132a191925060203d6020116132a8575b613299818361043d565b8101906130c9565b90386131d2565b503d61328f565b6001600160a01b038716600090815260208190526040902090935054878111156132e25750600084815b94915050613196565b8460009189036132d9565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b0391613326846114b5565b9055161490565b91906040838203126103455782516001600160401b038111610345576020916133579185016118ad565b92015190565b60a09061051a9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b608082015281604082015201906106f8565b929390915a815160e08101516001600160a01b031660008181526020819052604090209295909290919080548981106134da5760206080600096948c96946134039c9d8995039055015196015191604051998a95869485936314add44b60e21b8552600485016130d8565b03926001600160a01b031686f193846000916000966134b3575b50613448578561342b6124a0565b6040516365c8fd4d60e01b8152918291611602916004840161335d565b9491925a9003116134565750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b9095506134d391503d806000833e6134cb818361043d565b81019061332d565b943861341d565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b80156136055760006040805161353e81610406565b828152826020820152015265ffffffffffff8160a01c1680156135f8575b6135da906135c161357361357e6135738660d01c90565b65ffffffffffff1690565b9261359961358a61047f565b6001600160a01b039097168752565b6135af6020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b42119081156135dd575b5091516001600160a01b031690565b91565b516135f0915065ffffffffffff16613573565b4210386135cb565b5065ffffffffffff61355c565b50600090600090565b816040519182372090565b9091826014116103455781359183602411610345576014810135936034116103455760609290921c92608090811c9260240135901c90565b90816020910312610345575161051a8161051d565b91602061051a938181520191611764565b92909181613686575b50505050565b8251516001600160a01b031693843b613894576006546000906020906136b4906001600160a01b0316611fb1565b60408751015160405180948193632b870d1b60e11b8352826136da8b8b60048401613666565b0393f1908115611e4557600091613865575b506001600160a01b038116958615613816576001600160a01b0316958690036137c7573b1561377a57506123c16123bb7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361374793612297565b602083810151935160e00151604080516001600160a01b039485168152939091169183019190915290a338808080613680565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b613887915060203d60201161388d575b61387f818361043d565b810190613651565b386136ec565b503d613875565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fdfea26469706673582212204bace728028e4808d0f0305687605c92acf3fb9a79388e9df617d0a21670961464736f6c634300081a00336080806040523460155761016d908161001b8239f35b600080fdfe6080600436101561000f57600080fd5b60003560e01c63570e1a361461002457600080fd5b346101325760203660031901126101325760043567ffffffffffffffff8111610132573660238201121561013257806004013567ffffffffffffffff8111610132573660248284010111610132576000928160141161012e5760131982019167ffffffffffffffff831161011a57600b8101601f19908116603f0116820167ffffffffffffffff8111838210176101065760246020959387600c819795829560405286845289840196603889018837830101525193013560601c5af1905190156100fe575b6040516001600160a01b039091168152602090f35b5060006100e9565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526041600452602485fd5b8380fd5b600080fdfea26469706673582212208d3d15f1a1651d00f2ed3b618a50717a7de16a758bd696cf961337d90cc7bf3764736f6c634300081a0033";
33
33
  //# sourceMappingURL=PimlicoEntryPointSimulations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PimlicoEntryPointSimulations.js","sourceRoot":"","sources":["../../../types/contracts/PimlicoEntryPointSimulations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC3C;QACI,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACtB;IACD;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACL;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACnB;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,0CAA0C,GACnD,sv/BAAsv/B,CAAA"}
1
+ {"version":3,"file":"PimlicoEntryPointSimulations.js","sourceRoot":"","sources":["../../../types/contracts/PimlicoEntryPointSimulations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC3C;QACI,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACtB;IACD;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACL;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACnB;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,0CAA0C,GACnD,ky/BAAky/B,CAAA"}
@@ -12,6 +12,10 @@ export * from "./TestOpcodesAccountFactory.js";
12
12
  export * from "./TestStorageAccount.js";
13
13
  export * from "./SimpleAccountFactory.js";
14
14
  export * from "./CodeHashGetter.js";
15
- export * from "./EntryPointSimulations.js";
15
+ export * from "./EntryPointSimulationsV6.js";
16
+ export * from "./EntryPointSimulationsV7.js";
16
17
  export * from "./PimlicoEntryPointSimulations.js";
18
+ export * from "./ArbitrumL1FeeAbi.js";
19
+ export * from "./MantleBvmGasPriceOracle.js";
20
+ export * from "./OpL1FeeAbi.js";
17
21
  //# sourceMappingURL=index.d.ts.map
@@ -12,6 +12,10 @@ export * from "./TestOpcodesAccountFactory.js";
12
12
  export * from "./TestStorageAccount.js";
13
13
  export * from "./SimpleAccountFactory.js";
14
14
  export * from "./CodeHashGetter.js";
15
- export * from "./EntryPointSimulations.js";
15
+ export * from "./EntryPointSimulationsV6.js";
16
+ export * from "./EntryPointSimulationsV7.js";
16
17
  export * from "./PimlicoEntryPointSimulations.js";
18
+ export * from "./ArbitrumL1FeeAbi.js";
19
+ export * from "./MantleBvmGasPriceOracle.js";
20
+ export * from "./OpL1FeeAbi.js";
17
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../types/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../types/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,2BAA2B,CAAA;AACzC,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,oBAAoB,CAAA;AAClC,cAAc,2BAA2B,CAAA;AACzC,cAAc,cAAc,CAAA"}
@@ -1,10 +1,10 @@
1
1
  import type { Address } from "viem";
2
+ import type { SimulateHandleOpResult } from "../rpc/estimation/types.js";
2
3
  import type { ReferencedCodeHashes } from "./mempool.js";
3
4
  import type { StateOverrides, UserOperation, UserOperationV06, UserOperationV07 } from "./schemas.js";
4
5
  import type * as validation from "./validation.js";
5
- import type { SimulateHandleOpResult } from "../rpc/estimation/types.js";
6
6
  export interface InterfaceValidator {
7
- getExecutionResult(userOperation: UserOperation, entryPoint: Address, queuedUserOperations: UserOperation[], stateOverrides?: StateOverrides): Promise<SimulateHandleOpResult<"execution">>;
7
+ getExecutionResult(userOperation: UserOperation, entryPoint: Address, queuedUserOperations: UserOperation[], addSenderBalanceOverride: boolean, stateOverrides?: StateOverrides): Promise<SimulateHandleOpResult<"execution">>;
8
8
  getValidationResultV06(userOperation: UserOperationV06, entryPoint: Address, _codeHashes?: ReferencedCodeHashes): Promise<(validation.ValidationResult | validation.ValidationResultWithAggregation) & {
9
9
  storageMap: validation.StorageMap;
10
10
  referencedContracts?: ReferencedCodeHashes;
@@ -1,4 +1,4 @@
1
- import type { Address, Chain, Hex } from "viem";
1
+ import type { Address, Chain } from "viem";
2
2
  import type { Account } from "viem/accounts";
3
3
  import type { CompressedUserOperation, HexData32, UserOperation } from "./index.js";
4
4
  export interface ReferencedCodeHashes {
@@ -17,7 +17,6 @@ export type TransactionInfo = {
17
17
  transactionRequest: {
18
18
  account: Account;
19
19
  to: Address;
20
- data: Hex;
21
20
  gas: bigint;
22
21
  chain: Chain;
23
22
  maxFeePerGas: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../types/mempool.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,EAAwB,EACX,EAAE;IACf,OAAO,gBAAgB,CAAC,EAAE,CAAC;QACvB,CAAC,CAAE,EAA8B,CAAC,UAAU;QAC5C,CAAC,CAAE,EAAoB,CAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAwB,EAAW,EAAE;IAClE,OAAO,oBAAoB,IAAI,EAAE,CAAA;AACrC,CAAC,CAAA;AAoCD,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,kDAA8B,CAAA;IAC9B,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;AACzB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
1
+ {"version":3,"file":"mempool.js","sourceRoot":"","sources":["../../types/mempool.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,EAAwB,EACX,EAAE;IACf,OAAO,gBAAgB,CAAC,EAAE,CAAC;QACvB,CAAC,CAAE,EAA8B,CAAC,UAAU;QAC5C,CAAC,CAAE,EAAoB,CAAA;AAC/B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAwB,EAAW,EAAE;IAClE,OAAO,oBAAoB,IAAI,EAAE,CAAA;AACrC,CAAC,CAAA;AAmCD,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,kDAA8B,CAAA;IAC9B,yCAAqB,CAAA;IACrB,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;AACzB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
@@ -416,20 +416,20 @@ declare const stateOverridesSchema: z.ZodRecord<z.ZodEffects<z.ZodString, `0x${s
416
416
  balance: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodBigInt]>, bigint, string | number | bigint>, bigint, string | number | bigint>>;
417
417
  nonce: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodBigInt]>, bigint, string | number | bigint>, bigint, string | number | bigint>>;
418
418
  code: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
419
- state: z.ZodOptional<z.ZodUnknown>;
420
- stateDiff: z.ZodOptional<z.ZodUnknown>;
419
+ state: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, `0x${string}`, string>, z.ZodEffects<z.ZodString, `0x${string}`, string>>>;
420
+ stateDiff: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, `0x${string}`, string>, z.ZodEffects<z.ZodString, `0x${string}`, string>>>;
421
421
  }, "strip", z.ZodTypeAny, {
422
422
  balance?: bigint | undefined;
423
423
  nonce?: bigint | undefined;
424
424
  code?: `0x${string}` | undefined;
425
- state?: unknown;
426
- stateDiff?: unknown;
425
+ state?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
426
+ stateDiff?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
427
427
  }, {
428
428
  balance?: string | number | bigint | undefined;
429
429
  nonce?: string | number | bigint | undefined;
430
430
  code?: string | undefined;
431
- state?: unknown;
432
- stateDiff?: unknown;
431
+ state?: Record<string, string> | undefined;
432
+ stateDiff?: Record<string, string> | undefined;
433
433
  }>>;
434
434
  export type StateOverrides = z.infer<typeof stateOverridesSchema>;
435
435
  declare const estimateUserOperationGasRequestSchema: z.ZodObject<{
@@ -718,20 +718,20 @@ declare const estimateUserOperationGasRequestSchema: z.ZodObject<{
718
718
  balance: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodBigInt]>, bigint, string | number | bigint>, bigint, string | number | bigint>>;
719
719
  nonce: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodBigInt]>, bigint, string | number | bigint>, bigint, string | number | bigint>>;
720
720
  code: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
721
- state: z.ZodOptional<z.ZodUnknown>;
722
- stateDiff: z.ZodOptional<z.ZodUnknown>;
721
+ state: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, `0x${string}`, string>, z.ZodEffects<z.ZodString, `0x${string}`, string>>>;
722
+ stateDiff: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, `0x${string}`, string>, z.ZodEffects<z.ZodString, `0x${string}`, string>>>;
723
723
  }, "strip", z.ZodTypeAny, {
724
724
  balance?: bigint | undefined;
725
725
  nonce?: bigint | undefined;
726
726
  code?: `0x${string}` | undefined;
727
- state?: unknown;
728
- stateDiff?: unknown;
727
+ state?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
728
+ stateDiff?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
729
729
  }, {
730
730
  balance?: string | number | bigint | undefined;
731
731
  nonce?: string | number | bigint | undefined;
732
732
  code?: string | undefined;
733
- state?: unknown;
734
- stateDiff?: unknown;
733
+ state?: Record<string, string> | undefined;
734
+ stateDiff?: Record<string, string> | undefined;
735
735
  }>>], null>]>;
736
736
  }, "strip", z.ZodTypeAny, {
737
737
  params: [{
@@ -794,8 +794,8 @@ declare const estimateUserOperationGasRequestSchema: z.ZodObject<{
794
794
  balance?: bigint | undefined;
795
795
  nonce?: bigint | undefined;
796
796
  code?: `0x${string}` | undefined;
797
- state?: unknown;
798
- stateDiff?: unknown;
797
+ state?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
798
+ stateDiff?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
799
799
  }>>];
800
800
  method: "eth_estimateUserOperationGas";
801
801
  }, {
@@ -859,8 +859,8 @@ declare const estimateUserOperationGasRequestSchema: z.ZodObject<{
859
859
  balance?: string | number | bigint | undefined;
860
860
  nonce?: string | number | bigint | undefined;
861
861
  code?: string | undefined;
862
- state?: unknown;
863
- stateDiff?: unknown;
862
+ state?: Record<string, string> | undefined;
863
+ stateDiff?: Record<string, string> | undefined;
864
864
  }>];
865
865
  method: "eth_estimateUserOperationGas";
866
866
  }>;
@@ -1516,20 +1516,20 @@ declare const bundlerRequestSchema: z.ZodDiscriminatedUnion<"method", [z.ZodObje
1516
1516
  balance: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodBigInt]>, bigint, string | number | bigint>, bigint, string | number | bigint>>;
1517
1517
  nonce: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodBigInt]>, bigint, string | number | bigint>, bigint, string | number | bigint>>;
1518
1518
  code: z.ZodOptional<z.ZodEffects<z.ZodString, `0x${string}`, string>>;
1519
- state: z.ZodOptional<z.ZodUnknown>;
1520
- stateDiff: z.ZodOptional<z.ZodUnknown>;
1519
+ state: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, `0x${string}`, string>, z.ZodEffects<z.ZodString, `0x${string}`, string>>>;
1520
+ stateDiff: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, `0x${string}`, string>, z.ZodEffects<z.ZodString, `0x${string}`, string>>>;
1521
1521
  }, "strip", z.ZodTypeAny, {
1522
1522
  balance?: bigint | undefined;
1523
1523
  nonce?: bigint | undefined;
1524
1524
  code?: `0x${string}` | undefined;
1525
- state?: unknown;
1526
- stateDiff?: unknown;
1525
+ state?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
1526
+ stateDiff?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
1527
1527
  }, {
1528
1528
  balance?: string | number | bigint | undefined;
1529
1529
  nonce?: string | number | bigint | undefined;
1530
1530
  code?: string | undefined;
1531
- state?: unknown;
1532
- stateDiff?: unknown;
1531
+ state?: Record<string, string> | undefined;
1532
+ stateDiff?: Record<string, string> | undefined;
1533
1533
  }>>], null>]>;
1534
1534
  }, "strip", z.ZodTypeAny, {
1535
1535
  params: [{
@@ -1592,8 +1592,8 @@ declare const bundlerRequestSchema: z.ZodDiscriminatedUnion<"method", [z.ZodObje
1592
1592
  balance?: bigint | undefined;
1593
1593
  nonce?: bigint | undefined;
1594
1594
  code?: `0x${string}` | undefined;
1595
- state?: unknown;
1596
- stateDiff?: unknown;
1595
+ state?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
1596
+ stateDiff?: Partial<Record<`0x${string}`, `0x${string}`>> | undefined;
1597
1597
  }>>];
1598
1598
  method: "eth_estimateUserOperationGas";
1599
1599
  }, {
@@ -1657,8 +1657,8 @@ declare const bundlerRequestSchema: z.ZodDiscriminatedUnion<"method", [z.ZodObje
1657
1657
  balance?: string | number | bigint | undefined;
1658
1658
  nonce?: string | number | bigint | undefined;
1659
1659
  code?: string | undefined;
1660
- state?: unknown;
1661
- stateDiff?: unknown;
1660
+ state?: Record<string, string> | undefined;
1661
+ stateDiff?: Record<string, string> | undefined;
1662
1662
  }>];
1663
1663
  method: "eth_estimateUserOperationGas";
1664
1664
  }>, z.ZodObject<{
@@ -2,7 +2,7 @@ import { getAddress, maxUint256 } from "viem";
2
2
  import { z } from "zod";
3
3
  const hexDataPattern = /^0x[0-9A-Fa-f]*$/;
4
4
  const addressPattern = /^0x[0-9,a-f,A-F]{40}$/;
5
- export const hexData32Pattern = /^0x([0-9a-fA-F][0-9a-fA-F]){0,32}$/;
5
+ export const hexData32Pattern = /^0x([0-9a-fA-F][0-9a-fA-F]){32}$/;
6
6
  export const commaSeperatedAddressPattern = /^(0x[0-9a-fA-F]{40})(,\s*(0x[0-9a-fA-F]{40}))*$/;
7
7
  const addressSchema = z
8
8
  .string()
@@ -189,8 +189,8 @@ const stateOverridesSchema = z.record(addressSchema, z.object({
189
189
  balance: hexNumberSchema.optional(),
190
190
  nonce: hexNumberSchema.optional(),
191
191
  code: hexDataSchema.optional(),
192
- state: z.unknown().optional(),
193
- stateDiff: z.unknown().optional()
192
+ state: z.record(hexData32Schema, hexData32Schema).optional(),
193
+ stateDiff: z.record(hexData32Schema, hexData32Schema).optional()
194
194
  }));
195
195
  const estimateUserOperationGasRequestSchema = z.object({
196
196
  method: z.literal("eth_estimateUserOperationGas"),