@paraswap/dex-lib 3.8.25 → 3.8.27-dualsync.0

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 (363) hide show
  1. package/build/dex/generic-rfq/rate-fetcher.js +1 -1
  2. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  3. package/build/dex/idex.d.ts +4 -0
  4. package/build/dex/uniswap-v2/uniswap-v2.d.ts +11 -4
  5. package/build/dex/uniswap-v2/uniswap-v2.js +40 -13
  6. package/build/dex/uniswap-v2/uniswap-v2.js.map +1 -1
  7. package/build/dex/uniswap-v3/uniswap-v3-pool.d.ts +3 -2
  8. package/build/dex/uniswap-v3/uniswap-v3-pool.js +3 -3
  9. package/build/dex/uniswap-v3/uniswap-v3-pool.js.map +1 -1
  10. package/build/dex/uniswap-v3/uniswap-v3.d.ts +4 -0
  11. package/build/dex/uniswap-v3/uniswap-v3.js +11 -2
  12. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  13. package/build/dex-helper/dummy-dex-helper.d.ts +2 -0
  14. package/build/dex-helper/dummy-dex-helper.js.map +1 -1
  15. package/build/dex-helper/idex-helper.d.ts +2 -0
  16. package/build/dex-utils.d.ts +3 -0
  17. package/build/dex-utils.js +10 -0
  18. package/build/dex-utils.js.map +1 -0
  19. package/build/stateful-dual-synchronizer.d.ts +46 -0
  20. package/build/stateful-dual-synchronizer.js +300 -0
  21. package/build/stateful-dual-synchronizer.js.map +1 -0
  22. package/package.json +1 -1
  23. package/src/dex/generic-rfq/rate-fetcher.ts +6 -5
  24. package/src/dex/idex.ts +8 -0
  25. package/src/dex/uniswap-v2/uniswap-v2.ts +66 -16
  26. package/src/dex/uniswap-v3/uniswap-v3-pool.ts +4 -6
  27. package/src/dex/uniswap-v3/uniswap-v3.ts +28 -2
  28. package/src/dex-helper/dummy-dex-helper.ts +2 -0
  29. package/src/dex-helper/idex-helper.ts +2 -0
  30. package/src/dex-utils.ts +5 -0
  31. package/src/stateful-dual-synchronizer.ts +415 -0
  32. package/.vscode/launch.json +0 -16
  33. package/.vscode/settings.json +0 -3
  34. package/build/abi/AaveV1_lending_pool.json +0 -27
  35. package/build/abi/BProtocol.json +0 -1155
  36. package/build/abi/Jarvis.json +0 -1172
  37. package/build/abi/MStableAsset.json +0 -1545
  38. package/build/abi/OneInchLp.json +0 -1304
  39. package/build/abi/Onebit.json +0 -736
  40. package/build/abi/Shell.json +0 -1294
  41. package/build/abi/TraderJoeV2Router.json +0 -50
  42. package/build/abi/Uncompressor.json +0 -250
  43. package/build/abi/integral/factory.json +0 -333
  44. package/build/abi/integral/oracle.json +0 -501
  45. package/build/abi/integral/pool.json +0 -1041
  46. package/build/abi/integral/relayer.json +0 -1536
  47. package/build/abi/platypus/asset.json +0 -490
  48. package/build/abi/platypus/avax-pool.json +0 -820
  49. package/build/abi/platypus/oracle.json +0 -119
  50. package/build/abi/platypus/pool.json +0 -677
  51. package/build/abi/smardex/all/smardex-router.json +0 -648
  52. package/build/abi/smardex/layer-1/smardex-factory.json +0 -242
  53. package/build/abi/smardex/layer-1/smardex-pool.json +0 -506
  54. package/build/abi/smardex/layer-2/smardex-factory.json +0 -185
  55. package/build/abi/smardex/layer-2/smardex-pool.json +0 -578
  56. package/build/abi/swaap-v1/pool.json +0 -1346
  57. package/build/abi/zrx.v2.json +0 -1967
  58. package/build/abi/zrx.v3.json +0 -3454
  59. package/build/abi/zrx.v4.json +0 -2193
  60. package/build/dex/OneInchLp.d.ts +0 -24
  61. package/build/dex/OneInchLp.js +0 -43
  62. package/build/dex/OneInchLp.js.map +0 -1
  63. package/build/dex/aave-v1/aave-v1.d.ts +0 -33
  64. package/build/dex/aave-v1/aave-v1.js +0 -158
  65. package/build/dex/aave-v1/aave-v1.js.map +0 -1
  66. package/build/dex/aave-v1/config.d.ts +0 -11
  67. package/build/dex/aave-v1/config.js +0 -20
  68. package/build/dex/aave-v1/config.js.map +0 -1
  69. package/build/dex/aave-v1/tokens-mainnet.json +0 -134
  70. package/build/dex/aave-v1/tokens.d.ts +0 -3
  71. package/build/dex/aave-v1/tokens.js +0 -50
  72. package/build/dex/aave-v1/tokens.js.map +0 -1
  73. package/build/dex/aave-v1/types.d.ts +0 -12
  74. package/build/dex/aave-v1/types.js +0 -3
  75. package/build/dex/aave-v1/types.js.map +0 -1
  76. package/build/dex/bProtocol/bProtocol.d.ts +0 -15
  77. package/build/dex/bProtocol/bProtocol.js +0 -56
  78. package/build/dex/bProtocol/bProtocol.js.map +0 -1
  79. package/build/dex/bProtocol/types.d.ts +0 -11
  80. package/build/dex/bProtocol/types.js +0 -8
  81. package/build/dex/bProtocol/types.js.map +0 -1
  82. package/build/dex/bProtocol.d.ts +0 -18
  83. package/build/dex/bProtocol.js +0 -39
  84. package/build/dex/bProtocol.js.map +0 -1
  85. package/build/dex/bancor.d.ts +0 -26
  86. package/build/dex/bancor.js +0 -58
  87. package/build/dex/bancor.js.map +0 -1
  88. package/build/dex/compound.d.ts +0 -18
  89. package/build/dex/compound.js +0 -46
  90. package/build/dex/compound.js.map +0 -1
  91. package/build/dex/curve-v2.d.ts +0 -58
  92. package/build/dex/curve-v2.js +0 -180
  93. package/build/dex/curve-v2.js.map +0 -1
  94. package/build/dex/dodo-v1.d.ts +0 -33
  95. package/build/dex/dodo-v1.js +0 -63
  96. package/build/dex/dodo-v1.js.map +0 -1
  97. package/build/dex/etherfi/etherfi.d.ts +0 -26
  98. package/build/dex/etherfi/etherfi.js +0 -96
  99. package/build/dex/etherfi/etherfi.js.map +0 -1
  100. package/build/dex/integral/config.d.ts +0 -4
  101. package/build/dex/integral/config.js +0 -20
  102. package/build/dex/integral/config.js.map +0 -1
  103. package/build/dex/integral/context.d.ts +0 -40
  104. package/build/dex/integral/context.js +0 -158
  105. package/build/dex/integral/context.js.map +0 -1
  106. package/build/dex/integral/helpers.d.ts +0 -17
  107. package/build/dex/integral/helpers.js +0 -157
  108. package/build/dex/integral/helpers.js.map +0 -1
  109. package/build/dex/integral/integral-factory.d.ts +0 -24
  110. package/build/dex/integral/integral-factory.js +0 -95
  111. package/build/dex/integral/integral-factory.js.map +0 -1
  112. package/build/dex/integral/integral-pool.d.ts +0 -50
  113. package/build/dex/integral/integral-pool.js +0 -149
  114. package/build/dex/integral/integral-pool.js.map +0 -1
  115. package/build/dex/integral/integral-pricing.d.ts +0 -18
  116. package/build/dex/integral/integral-pricing.js +0 -114
  117. package/build/dex/integral/integral-pricing.js.map +0 -1
  118. package/build/dex/integral/integral-relayer.d.ts +0 -42
  119. package/build/dex/integral/integral-relayer.js +0 -192
  120. package/build/dex/integral/integral-relayer.js.map +0 -1
  121. package/build/dex/integral/integral-token.d.ts +0 -27
  122. package/build/dex/integral/integral-token.js +0 -59
  123. package/build/dex/integral/integral-token.js.map +0 -1
  124. package/build/dex/integral/integral.d.ts +0 -41
  125. package/build/dex/integral/integral.js +0 -376
  126. package/build/dex/integral/integral.js.map +0 -1
  127. package/build/dex/integral/types.d.ts +0 -85
  128. package/build/dex/integral/types.js +0 -9
  129. package/build/dex/integral/types.js.map +0 -1
  130. package/build/dex/integral/utils-e2e.d.ts +0 -9
  131. package/build/dex/integral/utils-e2e.js +0 -131
  132. package/build/dex/integral/utils-e2e.js.map +0 -1
  133. package/build/dex/integral/utils.d.ts +0 -17
  134. package/build/dex/integral/utils.js +0 -94
  135. package/build/dex/integral/utils.js.map +0 -1
  136. package/build/dex/jarvis.d.ts +0 -56
  137. package/build/dex/jarvis.js +0 -163
  138. package/build/dex/jarvis.js.map +0 -1
  139. package/build/dex/lido.d.ts +0 -19
  140. package/build/dex/lido.js +0 -42
  141. package/build/dex/lido.js.map +0 -1
  142. package/build/dex/mStable.d.ts +0 -44
  143. package/build/dex/mStable.js +0 -75
  144. package/build/dex/mStable.js.map +0 -1
  145. package/build/dex/onebit/onebit.d.ts +0 -16
  146. package/build/dex/onebit/onebit.js +0 -61
  147. package/build/dex/onebit/onebit.js.map +0 -1
  148. package/build/dex/onebit/types.d.ts +0 -14
  149. package/build/dex/onebit/types.js +0 -8
  150. package/build/dex/onebit/types.js.map +0 -1
  151. package/build/dex/onebit.d.ts +0 -25
  152. package/build/dex/onebit.js +0 -42
  153. package/build/dex/onebit.js.map +0 -1
  154. package/build/dex/platypus/asset.d.ts +0 -14
  155. package/build/dex/platypus/asset.js +0 -97
  156. package/build/dex/platypus/asset.js.map +0 -1
  157. package/build/dex/platypus/config.d.ts +0 -11
  158. package/build/dex/platypus/config.js +0 -69
  159. package/build/dex/platypus/config.js.map +0 -1
  160. package/build/dex/platypus/platypus.d.ts +0 -62
  161. package/build/dex/platypus/platypus.js +0 -442
  162. package/build/dex/platypus/platypus.js.map +0 -1
  163. package/build/dex/platypus/pool-avax.d.ts +0 -8
  164. package/build/dex/platypus/pool-avax.js +0 -54
  165. package/build/dex/platypus/pool-avax.js.map +0 -1
  166. package/build/dex/platypus/pool-base.d.ts +0 -19
  167. package/build/dex/platypus/pool-base.js +0 -86
  168. package/build/dex/platypus/pool-base.js.map +0 -1
  169. package/build/dex/platypus/pool-pure.d.ts +0 -8
  170. package/build/dex/platypus/pool-pure.js +0 -37
  171. package/build/dex/platypus/pool-pure.js.map +0 -1
  172. package/build/dex/platypus/pool-subscriber.d.ts +0 -14
  173. package/build/dex/platypus/pool-subscriber.js +0 -167
  174. package/build/dex/platypus/pool-subscriber.js.map +0 -1
  175. package/build/dex/platypus/pool.d.ts +0 -8
  176. package/build/dex/platypus/pool.js +0 -58
  177. package/build/dex/platypus/pool.js.map +0 -1
  178. package/build/dex/platypus/types.d.ts +0 -92
  179. package/build/dex/platypus/types.js +0 -10
  180. package/build/dex/platypus/types.js.map +0 -1
  181. package/build/dex/quickswap/spiritswap-v3.d.ts +0 -6
  182. package/build/dex/quickswap/spiritswap-v3.js +0 -19
  183. package/build/dex/quickswap/spiritswap-v3.js.map +0 -1
  184. package/build/dex/sdai/config.d.ts +0 -11
  185. package/build/dex/sdai/config.js +0 -21
  186. package/build/dex/sdai/config.js.map +0 -1
  187. package/build/dex/sdai/constants.d.ts +0 -2
  188. package/build/dex/sdai/constants.js +0 -6
  189. package/build/dex/sdai/constants.js.map +0 -1
  190. package/build/dex/sdai/scripts/validate-state.d.ts +0 -1
  191. package/build/dex/sdai/scripts/validate-state.js +0 -102
  192. package/build/dex/sdai/scripts/validate-state.js.map +0 -1
  193. package/build/dex/sdai/sdai-pool.d.ts +0 -16
  194. package/build/dex/sdai/sdai-pool.js +0 -85
  195. package/build/dex/sdai/sdai-pool.js.map +0 -1
  196. package/build/dex/sdai/sdai.d.ts +0 -51
  197. package/build/dex/sdai/sdai.js +0 -172
  198. package/build/dex/sdai/sdai.js.map +0 -1
  199. package/build/dex/sdai/types.d.ts +0 -21
  200. package/build/dex/sdai/types.js +0 -11
  201. package/build/dex/sdai/types.js.map +0 -1
  202. package/build/dex/sdai/utils.d.ts +0 -4
  203. package/build/dex/sdai/utils.js +0 -39
  204. package/build/dex/sdai/utils.js.map +0 -1
  205. package/build/dex/shell.d.ts +0 -25
  206. package/build/dex/shell.js +0 -41
  207. package/build/dex/shell.js.map +0 -1
  208. package/build/dex/smardex/config.d.ts +0 -4
  209. package/build/dex/smardex/config.js +0 -64
  210. package/build/dex/smardex/config.js.map +0 -1
  211. package/build/dex/smardex/constants.d.ts +0 -18
  212. package/build/dex/smardex/constants.js +0 -33
  213. package/build/dex/smardex/constants.js.map +0 -1
  214. package/build/dex/smardex/sdk/constants.d.ts +0 -6
  215. package/build/dex/smardex/sdk/constants.js +0 -13
  216. package/build/dex/smardex/sdk/constants.js.map +0 -1
  217. package/build/dex/smardex/sdk/core.d.ts +0 -113
  218. package/build/dex/smardex/sdk/core.js +0 -499
  219. package/build/dex/smardex/sdk/core.js.map +0 -1
  220. package/build/dex/smardex/sdk/errors.d.ts +0 -15
  221. package/build/dex/smardex/sdk/errors.js +0 -22
  222. package/build/dex/smardex/sdk/errors.js.map +0 -1
  223. package/build/dex/smardex/sdk/types.d.ts +0 -62
  224. package/build/dex/smardex/sdk/types.js +0 -3
  225. package/build/dex/smardex/sdk/types.js.map +0 -1
  226. package/build/dex/smardex/sdk/utils.d.ts +0 -44
  227. package/build/dex/smardex/sdk/utils.js +0 -133
  228. package/build/dex/smardex/sdk/utils.js.map +0 -1
  229. package/build/dex/smardex/smardex-event-pool.d.ts +0 -28
  230. package/build/dex/smardex/smardex-event-pool.js +0 -119
  231. package/build/dex/smardex/smardex-event-pool.js.map +0 -1
  232. package/build/dex/smardex/smardex.d.ts +0 -65
  233. package/build/dex/smardex/smardex.js +0 -519
  234. package/build/dex/smardex/smardex.js.map +0 -1
  235. package/build/dex/smardex/types.d.ts +0 -55
  236. package/build/dex/smardex/types.js +0 -3
  237. package/build/dex/smardex/types.js.map +0 -1
  238. package/build/dex/smoothy.d.ts +0 -26
  239. package/build/dex/smoothy.js +0 -48
  240. package/build/dex/smoothy.js.map +0 -1
  241. package/build/dex/solidly/forks-override/cone.d.ts +0 -22
  242. package/build/dex/solidly/forks-override/cone.js +0 -53
  243. package/build/dex/solidly/forks-override/cone.js.map +0 -1
  244. package/build/dex/solidly/forks-override/solisnek.d.ts +0 -8
  245. package/build/dex/solidly/forks-override/solisnek.js +0 -15
  246. package/build/dex/solidly/forks-override/solisnek.js.map +0 -1
  247. package/build/dex/stable-pool.d.ts +0 -28
  248. package/build/dex/stable-pool.js +0 -62
  249. package/build/dex/stable-pool.js.map +0 -1
  250. package/build/dex/swaap-v1/config.d.ts +0 -17
  251. package/build/dex/swaap-v1/config.js +0 -56
  252. package/build/dex/swaap-v1/config.js.map +0 -1
  253. package/build/dex/swaap-v1/constants.d.ts +0 -6
  254. package/build/dex/swaap-v1/constants.js +0 -17
  255. package/build/dex/swaap-v1/constants.js.map +0 -1
  256. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +0 -25
  257. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +0 -62
  258. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +0 -1
  259. package/build/dex/swaap-v1/libraries/Const.d.ts +0 -18
  260. package/build/dex/swaap-v1/libraries/Const.js +0 -26
  261. package/build/dex/swaap-v1/libraries/Const.js.map +0 -1
  262. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +0 -77
  263. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +0 -316
  264. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +0 -1
  265. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +0 -75
  266. package/build/dex/swaap-v1/libraries/LogExpMath.js +0 -418
  267. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +0 -1
  268. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +0 -185
  269. package/build/dex/swaap-v1/libraries/MathMMM.js +0 -453
  270. package/build/dex/swaap-v1/libraries/MathMMM.js.map +0 -1
  271. package/build/dex/swaap-v1/libraries/Num.d.ts +0 -31
  272. package/build/dex/swaap-v1/libraries/Num.js +0 -167
  273. package/build/dex/swaap-v1/libraries/Num.js.map +0 -1
  274. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +0 -23
  275. package/build/dex/swaap-v1/libraries/PoolQuotations.js +0 -131
  276. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +0 -1
  277. package/build/dex/swaap-v1/libraries/Struct.d.ts +0 -56
  278. package/build/dex/swaap-v1/libraries/Struct.js +0 -3
  279. package/build/dex/swaap-v1/libraries/Struct.js.map +0 -1
  280. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +0 -45
  281. package/build/dex/swaap-v1/swaap-v1-pool.js +0 -656
  282. package/build/dex/swaap-v1/swaap-v1-pool.js.map +0 -1
  283. package/build/dex/swaap-v1/swaap-v1.d.ts +0 -61
  284. package/build/dex/swaap-v1/swaap-v1.js +0 -369
  285. package/build/dex/swaap-v1/swaap-v1.js.map +0 -1
  286. package/build/dex/swaap-v1/types.d.ts +0 -106
  287. package/build/dex/swaap-v1/types.js +0 -9
  288. package/build/dex/swaap-v1/types.js.map +0 -1
  289. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  290. package/build/dex/trader-joe-v2.1/optimizer.js +0 -44
  291. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
  292. package/build/dex/trader-joe-v2.1.d.ts +0 -43
  293. package/build/dex/trader-joe-v2.1.js +0 -79
  294. package/build/dex/trader-joe-v2.1.js.map +0 -1
  295. package/build/dex/trader-joe-v2.d.ts +0 -40
  296. package/build/dex/trader-joe-v2.js +0 -74
  297. package/build/dex/trader-joe-v2.js.map +0 -1
  298. package/build/dex/zerox/config.d.ts +0 -2
  299. package/build/dex/zerox/config.js +0 -33
  300. package/build/dex/zerox/config.js.map +0 -1
  301. package/build/dex/zerox/index.d.ts +0 -22
  302. package/build/dex/zerox/index.js +0 -225
  303. package/build/dex/zerox/index.js.map +0 -1
  304. package/build/dex/zerox/order.d.ts +0 -88
  305. package/build/dex/zerox/order.js +0 -53
  306. package/build/dex/zerox/order.js.map +0 -1
  307. package/build/dex/zerox/types.d.ts +0 -73
  308. package/build/dex/zerox/types.js +0 -21
  309. package/build/dex/zerox/types.js.map +0 -1
  310. package/build/executor/compressor/Compressor.d.ts +0 -23
  311. package/build/executor/compressor/Compressor.js +0 -144
  312. package/build/executor/compressor/Compressor.js.map +0 -1
  313. package/build/executor/compressor/compress.d.ts +0 -17
  314. package/build/executor/compressor/compress.js +0 -187
  315. package/build/executor/compressor/compress.js.map +0 -1
  316. package/build/executor/compressor/compress_functions/addressSubstitution.d.ts +0 -6
  317. package/build/executor/compressor/compress_functions/addressSubstitution.js +0 -29
  318. package/build/executor/compressor/compress_functions/addressSubstitution.js.map +0 -1
  319. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.d.ts +0 -10
  320. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js +0 -40
  321. package/build/executor/compressor/compress_functions/addressSubstitutionFromObject.js.map +0 -1
  322. package/build/executor/compressor/compress_functions/byteSubstitution.d.ts +0 -11
  323. package/build/executor/compressor/compress_functions/byteSubstitution.js +0 -64
  324. package/build/executor/compressor/compress_functions/byteSubstitution.js.map +0 -1
  325. package/build/executor/compressor/compress_functions/ffSubstitution.d.ts +0 -7
  326. package/build/executor/compressor/compress_functions/ffSubstitution.js +0 -54
  327. package/build/executor/compressor/compress_functions/ffSubstitution.js.map +0 -1
  328. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.d.ts +0 -8
  329. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js +0 -67
  330. package/build/executor/compressor/compress_functions/findLongestAndSubstitute.js.map +0 -1
  331. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.d.ts +0 -8
  332. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js +0 -61
  333. package/build/executor/compressor/compress_functions/findLongestAndSubstitute_old.js.map +0 -1
  334. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.d.ts +0 -6
  335. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js +0 -37
  336. package/build/executor/compressor/compress_functions/reverseAddressSubstitution.js.map +0 -1
  337. package/build/executor/compressor/compress_functions/searchUnusedBytes.d.ts +0 -9
  338. package/build/executor/compressor/compress_functions/searchUnusedBytes.js +0 -33
  339. package/build/executor/compressor/compress_functions/searchUnusedBytes.js.map +0 -1
  340. package/build/executor/compressor/fetchSaved.d.ts +0 -0
  341. package/build/executor/compressor/fetchSaved.js +0 -17
  342. package/build/executor/compressor/fetchSaved.js.map +0 -1
  343. package/build/executor/compressor/utils/computeCostL2.d.ts +0 -2
  344. package/build/executor/compressor/utils/computeCostL2.js +0 -14
  345. package/build/executor/compressor/utils/computeCostL2.js.map +0 -1
  346. package/build/executor/compressor/utils/findLongestDuplicatedString.d.ts +0 -2
  347. package/build/executor/compressor/utils/findLongestDuplicatedString.js +0 -30
  348. package/build/executor/compressor/utils/findLongestDuplicatedString.js.map +0 -1
  349. package/build/executor/compressor/utils/getAllIndexes.d.ts +0 -2
  350. package/build/executor/compressor/utils/getAllIndexes.js +0 -12
  351. package/build/executor/compressor/utils/getAllIndexes.js.map +0 -1
  352. package/build/executor/compressor/utils/getByteForAddress.d.ts +0 -2
  353. package/build/executor/compressor/utils/getByteForAddress.js +0 -14
  354. package/build/executor/compressor/utils/getByteForAddress.js.map +0 -1
  355. package/build/executor/compressor/utils/intTo2Bytes.d.ts +0 -2
  356. package/build/executor/compressor/utils/intTo2Bytes.js +0 -14
  357. package/build/executor/compressor/utils/intTo2Bytes.js.map +0 -1
  358. package/build/executor/compressor/utils/intTo3Bytes.d.ts +0 -2
  359. package/build/executor/compressor/utils/intTo3Bytes.js +0 -18
  360. package/build/executor/compressor/utils/intTo3Bytes.js.map +0 -1
  361. package/build/executor/compressor/utils/intToByte.d.ts +0 -2
  362. package/build/executor/compressor/utils/intToByte.js +0 -10
  363. package/build/executor/compressor/utils/intToByte.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"uniswap-v3.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v3/uniswap-v3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uniswap-v3.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v3/uniswap-v3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAgE;AAChE,oDAAuB;AACvB,sDAA+C;AAgB/C,+CAAkE;AAClE,2EAA6D;AAC7D,uCAOqB;AAGrB,mCAUiB;AACjB,wDAG4B;AAC5B,qCAAqE;AACrE,uDAAuD;AACvD,6GAA+E;AAC/E,iHAAmF;AACnF,uGAA2E;AAC3E,gFAAsD;AACtD,6HAA+F;AAC/F,2CAOqB;AACrB,iDAAqD;AACrD,qEAAgE;AAGhE,wEAAgF;AAChF,kDAIgC;AAEhC,6DAA+E;AAC/E,4CAA4E;AAC5E,gDAAmE;AACnE,+CAAuD;AAS1C,QAAA,oBAAoB,GAAG,GAAG,wBAAY,gBAAgB,CAAC;AAEvD,QAAA,wCAAwC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AAC7E,QAAA,6CAA6C,GACxD,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,gBAAgB;AAC1B,QAAA,wBAAwB,GAAG,MAAO,CAAC;AAEhD,MAAa,SACX,SAAQ,gCAAc;IAqCtB,YACY,OAAgB,EAC1B,MAAc,EACJ,SAAqB,EACrB,WAAW,iBAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EACnC,cAAc,IAAI,eAAS,CAAC,kCAAkB,CAAC,EAC/C,cAAc,IAAI,eAAS,CAAC,oCAAoB,CAAC,EAChD,SAAS,wBAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EACzC,iBAAiB,uBAAc,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE;QAElE,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QATf,YAAO,GAAP,OAAO,CAAS;QAEhB,cAAS,GAAT,SAAS,CAAY;QACrB,aAAQ,GAAR,QAAQ,CAA0B;QACnC,gBAAW,GAAX,WAAW,CAAoC;QAC/C,gBAAW,GAAX,WAAW,CAAsC;QAChD,WAAM,GAAN,MAAM,CAAmC;QACzC,mBAAc,GAAd,cAAc,CAA0C;QAzC3D,6BAAwB,GAAY,KAAK,CAAC;QAC1C,eAAU,GAA8C,EAAE,CAAC;QAE3D,iCAA4B,GAAG,KAAK,CAAC;QACrC,mBAAc,GAAG,IAAI,CAAC;QAEtB,oBAAe,GAAG,IAAI,eAAS,CAAC,yBAAa,CAAC,CAAC;QAsCtD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAC9D,+BAA8B,EAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC7B,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CACpE,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS;YACzC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAC/B,CAAC,CAAE,0CAAwC,EAC7C,IAAI,CAAC,MAAM,CAAC,cAAc,CAC3B,CAAC;QAEF,4BAA4B;QAC5B,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;QAErD,mEAAmE;QACnE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAEnD,IAAI,CAAC,qBAAqB;YACxB,GAAG,wBAAY,IAAI,OAAO,IAAI,MAAM,yBAAyB,CAAC,WAAW,EAAE,CAAC;QAE9E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,iBAAiB,CACf,UAAmB,EACnB,WAAoB,EACpB,GAAW,EACX,WAAoB;QAEpB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3E,IAAI,WAAW,EAAE;YACf,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;SACjE;QAED,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,uCAAuC;QACvC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE3C,sEAAsE;QACtE,uCAAuC;QACvC,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE,CACnC,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE,CACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,CACzD,CACF,CACF,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE;YAClC,MAAM,gCAAgC,GAAG,KAAK,IAAI,EAAE;gBAClD,MAAM,YAAY,GAChB,IAAI,CAAC,GAAG,EAAE,GAAG,gDAAwC,CAAC;gBACxD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CACzC,IAAI,CAAC,qBAAqB,EAC1B,CAAC,EACD,YAAY,CACb,CAAC;YACJ,CAAC,CAAC;YAEF,KAAK,gCAAgC,EAAE,CAAC;YAExC,IAAI,CAAC,YAAY,GAAG,WAAW,CAC7B,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3C,qDAA6C,CAC9C,CAAC;SACH;IACH,CAAC;IAED;;;OAGG;IACO,qCAAqC;QAC7C,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE;YACvC,MAAM,SAAS,GAAG,yCAAyC,CAAC;YAC5D,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC;YAE/C,0EAA0E;YAE1E,+DAA+D;YAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;YAEtE,IAAI;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,SAAS,sCAAsC,IAAI,CAAC,qBAAqB,SAAS,OAAO,EAAE,CAC/F,CAAC;gBACF,8BAA8B;gBAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAC5C,IAAI,CAAC,qBAAqB,EAC1B,CAAC,OAAO,CAAC,CACV,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,SAAS,sCAAsC,IAAI,CAAC,qBAAqB,SAAS,OAAO,aAAa,MAAM,EAAE,CAClH,CAAC;aACH;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,SAAS,+CAA+C,IAAI,CAAC,qBAAqB,SAAS,OAAO,EAAE,EACvG,KAAK,CACN,CAAC;aACH;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CACX,UAAmB,EACnB,WAAoB,EACpB,GAAW,EACX,WAAmB,EACnB,WAAoB;QAEpB,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CACxB,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CACzB,CAAC;QAE3C,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/B,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,2FAA2F;gBAC3F,IACE,EAAE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB;oBAC7D,CAAC,EACD;oBACA,OAAO,IAAI,CAAC;iBACb;gBACD,yCAAyC;aAC1C;SACF;QAED,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEnE,IAAI,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAErD,IAAI,WAAW,EAAE;YACf,GAAG,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAC5D,IAAI,CAAC,qBAAqB,EAC1B,GAAG,CACJ,CAAC;YAEF,MAAM,gBAAgB,GAAG,oBAAoB,KAAK,IAAI,CAAC;YAEvD,IAAI,gBAAgB,EAAE;gBACpB,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAClE,GAAG,IAAI,CAAC;gBACT,OAAO,IAAI,CAAC;aACb;SACF;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;QAC5D,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAEtE,IAAI;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;gBACjC,YAAY,EAAE,CAAC,KAA8B,EAAE,EAAE;oBAC/C,iGAAiG;oBACjG,IAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC1C,IAAK,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC/B,IAAK,CAAC,UAAU,GAAG,KAAK,CAAC;oBACzB,IAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;gBAClC,CAAC;aACF,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,IACE,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBACjE,CAAC,YAAY,gCAAoB,EACjC;gBACA,8EAA8E;gBAC9E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CACvB,IAAI,CAAC,qBAAqB,EAC1B,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EACjB,IAAI,CACL,CAAC;gBAEF,iEAAiE;gBACjE,yCAAyC;gBACzC,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,SAAS,sBAAsB,UAAU,iBAAiB,WAAW,SAAS,GAAG,YAAY,EACrG,CAAC,CACF,CAAC;aACH;iBAAM;gBACL,kFAAkF;gBAClF,gEAAgE;gBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,gDAAgD,UAAU,iBAAiB,WAAW,SAAS,GAAG,yCAAyC,IAAI,CAAC,MAAM,CAAC,kBAAkB,iCAAiC,IAAI,CAAC,qBAAqB,EAAE,EACpP,CAAC,CACF,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;SACF;QAED,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACrD,gEAAgE;YAChE,IAAI,CAAC,SAAS,CAAC,KAAK;iBACjB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,CAAC;iBACvC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4CAA4C,GAAG,uBAAuB,aAAa;gBACjF,iGAAiG;iBAChG,MAAM,CACL,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAC5C,CAAC,CACF,sBAAsB,aAAa,CAAC,MAAM,cAAc,CAC5D,CAAC;SACH;QAED,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CAClE,GAAG,IAAI,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAES,eAAe,CACvB,MAAc,EACd,MAAc,EACd,GAAW,EACX,WAAoB;QAEpB,MAAM,kBAAkB,GACtB,IAAI,CAAC,MAAM,CAAC,uBAAuB,KAAK,SAAS;YAC/C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB;YACrC,CAAC,CAAC,oCAAkB,CAAC;QAEzB,OAAO,IAAI,kBAAkB,CAC3B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CAAC,6CAA6C,EACzD,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,GAAG,EACH,MAAM,EACN,MAAM,EACN,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,WAAW,CACZ,CAAC;IACJ,CAAC;IAES,kBAAkB;QAC1B,MAAM,qBAAqB,GACzB,IAAI,CAAC,MAAM,CAAC,qBAAqB,KAAK,SAAS;YAC7C,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB;YACnC,CAAC,CAAC,qCAAgB,CAAC;QAEvB,OAAO,IAAI,qBAAqB,CAC9B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,OAAO,EACnB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,qCAAqC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,WAAmB;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAC5C,4BAAoB,EACpB,GAAG,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,CACnC,CAAC;QACF,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,4BAAoB,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,EAAE,CAC9F,CAAC;YACF,OAAO,KAAK,CAAC;SACd;QAED,MAAM,QAAQ,GAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,MAAM,EACf,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,WAAW,EACX,QAAQ,CAAC,WAAW,KAAK,SAAS;YAChC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9B,CAAC,CAAC,SAAS,CACd,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,EACzB,cAAc,EACd,WAAW,GAIZ;QACC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAC7B,MAAM,EACN,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,EACX,WAAW,EACX,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;QAEF,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE5D,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAC3D,SAAS,EACT,UAAU,CACX,CAAC;QAEF,IAAI,WAAW,KAAK,YAAY;YAAE,OAAO,EAAE,CAAC;QAE5C,MAAM,KAAK,GAAG,CACZ,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CAC1E,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAElC,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACtB,IAAI,CAAC,iBAAiB,CACpB,WAAW,EACX,YAAY,EACZ,IAAK,CAAC,OAAO,EACb,IAAK,CAAC,WAAW,CAClB,CACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,sBAAsB,CACpC,UAAkB,EAClB,WAAmB,EACnB,WAAmB;QAEnB,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE,CACjC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,CACxD,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAW,EACX,EAAS,EACT,OAAiB,EACjB,IAAc,EACd,KAA2B,EAC3B,MAAmB;QAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CACxB,IAAI,CAAC,EAAE,CAAC,CAAC;YACP,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,KAAK,EAAE,IAAI,IAAI,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO;YACxD,SAAS,EAAE,iBAAS,CAAC,KAAK;YAC1B,GAAG,EAAE;gBACH;oBACE,EAAE,EAAE,wBAAgB;oBACpB,QAAQ,EAAE,EAAE;iBACb;aACF;SACF,CAAC,EACF,EAAE,CACH,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,8BAAW,EAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE1E,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kCAA0B,CAAC,CAAC;YACpE,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;gBAC1C,OAAO,IAAI,CAAC;aACb;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,qBAAqB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,eAAe,OAAO,GAAG,CACjI,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,yBAAyB,IAAI,CAAC,IAAI,EAAE,CACzE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,oBAAY,EAC7B,CAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAC9C,CAAC;QAEF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,CAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CACnD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAC/B,CACF,CAAC;QAEF,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAChC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,QAAQ,EAAE,gCAAwB;YAClC,QAAQ,EACN,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,uBAAuB,EAAE;oBAC3D;wBACE,IAAI,CAAC,OAAO;wBACZ,EAAE,CAAC,OAAO;wBACV,OAAO,CAAC,QAAQ,EAAE;wBAClB,IAAI,CAAC,eAAe;wBACpB,CAAC,EAAE,mBAAmB;qBACvB;iBACF,CAAC;gBACJ,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE;oBAC5D;wBACE,IAAI,CAAC,OAAO;wBACZ,EAAE,CAAC,OAAO;wBACV,OAAO,CAAC,QAAQ,EAAE;wBAClB,IAAI,CAAC,eAAe;wBACpB,CAAC,EAAE,mBAAmB;qBACvB;iBACF,CAAC;SACT,CAAC,CAAC,CACJ,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO;aACzC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC1B,IAAI,EAAE,CAAC;QAEV,MAAM,MAAM,GAAG,CAAC,CAAS,EAAU,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE;gBAC/B,OAAO,EAAE,CAAC;aACX;YACD,MAAM,OAAO,GAAG,qBAAe,CAAC,MAAM,CACpC,CAAC,SAAS,CAAC,EACX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAC9B,CAAC;YACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;YAE/B,MAAM,MAAM,GAAG,IAAA,mBAAW,EACxB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EACjB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EACf,OAAO,EACP,IAAI,CACL,CAAC;YAEF,OAAO;gBACL,MAAM;gBACN,IAAI;gBACJ,IAAI,EAAE;oBACJ,IAAI,EAAE;wBACJ;4BACE,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,QAAQ,EAAE,EAAE,CAAC,OAAO;4BACpB,GAAG,EAAE,IAAI,CAAC,eAAe;4BACzB,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE;yBAC1C;qBACF;oBACD,QAAQ,EAAE,IAAI,CAAC,WAAW;iBAC3B;gBACD,cAAc,EAAE,IAAI,CAAC,iBAAiB,CACpC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CACjB;gBACD,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gCAAwB,CAAC,CAAC;gBACnE,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;aAClC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,UAAkB,EAClB,WAAmB,EACnB,WAAmB;QAEnB,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACjC,MAAM,gBAAgB,GACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;YAExE,IAAI,gBAAgB;gBAAE,OAAO,gBAAgB,CAAC;YAE9C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CACzC,UAAU,EACV,WAAW,EACX,GAAG,EACH,WAAW,CACZ,CAAC;YACF,OAAO,gBAAgB,CAAC;QAC1B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,IAAI;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE5D,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAC3D,SAAS,EACT,UAAU,CACX,CAAC;YAEF,IAAI,WAAW,KAAK,YAAY;gBAAE,OAAO,IAAI,CAAC;YAE9C,IAAI,aAAa,GAAyB,EAAE,CAAC;YAE7C,IAAI,CAAC,UAAU,EAAE;gBACf,aAAa,GAAG,CACd,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,CAAC,CACpE,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAC;aACpB;iBAAM;gBACL,MAAM,wBAAwB,GAAG,IAAI,CAAC,iBAAiB,CACrD,WAAW,EACX,YAAY,EACZ,EAAE,CAEH,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBAEf,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CACrD,UAAU,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAChD,CAAC;gBAEF,aAAa,GAAG,CACd,MAAM,OAAO,CAAC,GAAG,CACf,eAAe,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;oBACrC,IAAI,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBACnD,IAAI,gBAAgB;wBAAE,OAAO,gBAAgB,CAAC;oBAE9C,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,CAAC,GACjD,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACxB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CACzC,UAAU,EACV,WAAW,EACX,MAAM,CAAC,GAAG,CAAC,EACX,WAAW,EACX,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;oBACF,OAAO,gBAAgB,CAAC;gBAC1B,CAAC,CAAC,CACH,CACF,CAAC,MAAM,CAAC,gBAAQ,CAAC,CAAC;aACpB;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE5C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACvC,IAAI,KAAK,KAAK,IAAI,EAAE;oBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,qCAAqC,IAAI,CAAC,IAAI,EAAE,CAC/D,CAAC;oBACF,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACjC;qBAAM;oBACL,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC9B;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,EACD;gBACE,aAAa,EAAE,EAA0B;gBACzC,gBAAgB,EAAE,EAA0B;aAC7C,CACF,CAAC;YAEF,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,GAAG,CACzC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAE,CAC9B,CAAC;YAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAC9C,SAAS,EACT,UAAU,EACV,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,OAAO,KAAK,mBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,EACjE,IAAI,CAAC,OAAO,KAAK,mBAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAC7C,CAAC;YAEF,MAAM,UAAU,GAAG,IAAA,oBAAY,EAC7B,IAAI,IAAI,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CACjE,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEvC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;YAE7D,MAAM,UAAU,GAAG,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAEzD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAExB,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE;oBACzB,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE;wBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,WAAW,iCAAiC,KAAK,CAAC,SAAS,oBAAoB,IAAI,CAAC,cAAc,EAAE,CAC7I,CAAC;qBACH;oBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;oBAC3C,OAAO,IAAI,CAAC;iBACb;gBAED,MAAM,gBAAgB,GACpB,YAAY,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAEjE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CACjC,KAAK,EACL,CAAC,UAAU,CAAC,EACZ,UAAU,EACV,IAAI,EACJ,gBAAgB,CACjB,CAAC;gBACF,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CACnC,KAAK,EACL,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,gBAAgB,CACjB,CAAC;gBAEF,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE;oBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;oBACtD,OAAO,IAAI,CAAC;iBACb;gBAED,MAAM,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,OAAO,GAAG;oBACd,CAAC;oBACD,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;wBACvC,IAAI,CAAC,IAAI,EAAE,EAAE;4BACX,OAAO,CAAC,CAAC;yBACV;6BAAM;4BACL,OAAO,CACL,0CAA8B;gCAC9B,wCAA4B;gCAC5B,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,mCAAuB,CACzD,CAAC;yBACH;oBACH,CAAC,CAAC;iBACH,CAAC;gBACF,OAAO;oBACL,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3B,MAAM;oBACN,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC;oBAC9D,cAAc,EAAE,IAAI,CAAC,iBAAiB,CACpC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,CACjB;oBACD,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;iBAClC,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YACF,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC;YAE3C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CACjC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CACa,CAAC;YAEnC,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACrB,IAAI,CAAC,EAAE;wBACL,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;qBACvB;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,OAAO,aAAa,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yBAAyB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,OAAO,KAC1D,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,OAChC,KAAK,IAAI,GAAG,EACZ,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAES,WAAW,CACnB,UAAkB,EAClB,WAAmB,EACnB,IAAwB,EACxB,KAAgB;QAEhB,OAAO;YACL,IAAI,EAAE;gBACJ;oBACE,OAAO,EAAE,UAAU;oBACnB,QAAQ,EAAE,WAAW;oBACrB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC5B,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;iBACjC;aACF;SACF,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,UAAqC;QACtD,MAAM,OAAO,GACX,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,YAAY;YAC9B,sBAAsB;YACtB,iBAAiB,CAAC,YAAY;YAC9B,8BAA8B;YAC9B,iBAAiB,CAAC,YAAY;YAC9B,2BAA2B;YAC3B,iBAAiB,CAAC,SAAS;YAC3B,oDAAoD;YACpD,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChD,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,EAAE,EAAE;gBACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAChB;iBAAM;gBACL,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,mBAAmB,CAAC,OAAgB;QAClC,oCAAoC;QACpC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,mBAAuD,EACvD,QAAe,EACf,EAAS,EACT,EAAY,EACZ,OAAqC;QAErC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO;gBACL,mBAAmB;gBACnB;oBACE,QAAQ,EAAE,MAAM,CAAC,IAAA,uDAAqC,GAAE,CAAC;iBAC1D;aACF,CAAC;SACH;QAED,IAAA,sBAAM,EACJ,mBAAmB,CAAC,IAAI,KAAK,SAAS,EACtC,8CAA8C,CAC/C,CAAC;QAEF,IAAI,UAA+B,CAAC;QAEpC,IAAI;YACF,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAC7D,OAAO,CAAC,wBAAwB,EAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,EAC/C,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2DAA2D,EAC3D,CAAC,CACF,CAAC;SACH;QAED,OAAO;YACL;gBACE,GAAG,mBAAmB;gBACtB,IAAI,EAAE;oBACJ,GAAG,mBAAmB,CAAC,IAAI;oBAC3B,UAAU;iBACX;aACF;YACD;gBACE,QAAQ,EAAE,MAAM,CAAC,IAAA,uDAAqC,GAAE,CAAC;aAC1D;SACF,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,cAA8B,EAC9B,IAAmB,EACnB,IAAc,EACd,MAAc,EACd,IAAY,EACZ,UAA0B,EAC1B,QAAwB,EACxB,OAAe,EACf,WAAmB,EACnB,cAAsB;QAEtB,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,cAAe,CAAC,EAAE;YAChE,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;SAC9D;QAED,IAAI,UAAU,GAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;SAClE;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAmB;YACjC,QAAQ;YACR,SAAS;YACT,IAAI,CAAC,MAAM,CAAC,MAAM;YAClB,SAAS;YACT,UAAU;YACV,cAAc;YACd,UAAU;YACV,QAAQ;YACR,OAAO;YACP,UAAU;YACV,WAAW;YACX,IAAI;YACJ,MAAM;YACN,IAAA,qBAAa,EAAC,IAAI,CAAC;SACpB,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAsB,EAAE,EAAE;YAC5C,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC5C,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,yBAAa,CAAC,UAAU;gBAC1B,CAAC,CAAC,yBAAa,CAAC,SAAS,EAC3B,CAAC,MAAM,CAAC,CACT,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,OAAO,CAAC,yBAAa,CAAC,UAAU,EAAE,yBAAa,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB,CACd,QAAiB,EACjB,SAAkB,EAClB,UAA0B,EAC1B,QAAwB,EACxB,YAA4B,EAC5B,IAAmB,EACnB,IAAc,EACd,MAAc,EACd,IAAY,EACZ,aAAqB,EACrB,WAAmB,EACnB,WAAmB,EACnB,cAAsB;QAEtB,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC,cAAe,CAAC,EAAE;YAClE,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;SAC9D;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAA,iBAAS,EAAC;YACzB,IAAA,kBAAU,EAAC,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACnC,IAAA,kBAAU,EAAC,IAAA,eAAO,EAAC,WAAW,CAAC,EAAE,EAAE,CAAC;SACrC,CAAC,CAAC;QACH,MAAM,OAAO,GAA8B;YACzC,QAAQ;YACR,SAAS;YACT,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,uBAAuB;YACvB,WAAW;YACX,IAAI;SACL,CAAC;QAEF,MAAM,UAAU,GAA0B,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAG,CAAC,GAAG,MAA0C,EAAE,EAAE;YAChE,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAChD,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,2BAAe,CAAC,UAAU;gBAC5B,CAAC,CAAC,2BAAe,CAAC,SAAS,EAC7B,CAAC,GAAG,MAAM,CAAC,CACZ,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,OAAO,CAAC,2BAAe,CAAC,UAAU,EAAE,2BAAe,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,SAAS;aACpB;SACF,EACD;YACE,IAAI;YACJ,QAAQ,EAAE,IAAA,uDAAqC,GAAE,EAAE,+DAA+D;SACnH,CACF,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAClC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,WAAW,CACT,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,SAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAChB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,0BAAkB,CAAC,UAAU;YAC/B,CAAC,CAAC,0BAAkB,CAAC,WAAW,CAAC;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE/C,MAAM,kBAAkB,GACtB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC;gBACE,SAAS;gBACT,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,QAAQ,EAAE,SAAS;gBACnB,gBAAgB,EAAE,UAAU;gBAC5B,IAAI;aACL;YACH,CAAC,CAAC;gBACE,SAAS;gBACT,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,SAAS,EAAE,UAAU;gBACrB,eAAe,EAAE,SAAS;gBAC1B,IAAI;aACL,CAAC;QAER,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACrE,kBAAkB;SACnB,CAAC,CAAC;QAEH,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI;YACzB,YAAY;YACZ,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAClC,eAAe,EACb,IAAI,KAAK,oBAAQ,CAAC,IAAI;gBACpB,CAAC,CAAC,IAAA,mCAA2B,EACzB,IAAI,CAAC,WAAW,EAChB,YAAY,EACZ,WAAW,CACZ;gBACH,CAAC,CAAC,SAAS;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAmB,EACnB,IAAc;QAEd,MAAM,YAAY,GAChB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,0BAAkB,CAAC,UAAU;YAC/B,CAAC,CAAC,0BAAkB,CAAC,WAAW,CAAC;QAErC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,kBAAkB,GACtB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,QAAQ,EAAE,SAAS;gBACnB,gBAAgB,EAAE,UAAU;gBAC5B,IAAI;aACL;YACH,CAAC,CAAC;gBACE,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,QAAQ,EAAE,IAAA,uDAAqC,GAAE;gBACjD,SAAS,EAAE,UAAU;gBACrB,eAAe,EAAE,SAAS;gBAC1B,IAAI;aACL,CAAC;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACjE,kBAAkB;SACnB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,MAAM,CACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAExC,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAEjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CACnC;;;;;;;;;;;;;;;;;;;;;;;;;cAyBQ,EACR;YACE,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,KAAK;SACb,CACF,CAAC;QAEF,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,IAAI,CAAC,MAAM,uDAAuD,CAC5E,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QAED,MAAM,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;YAC9B,eAAe,EAAE;gBACf;oBACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;oBACrC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACzC;aACF;YACD,YAAY,EACV,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,uCAA2B;SACrE,CAAC,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,gBAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE;YAC9B,eAAe,EAAE;gBACf;oBACE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;oBACrC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;iBACzC;aACF;YACD,YAAY,EACV,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,uCAA2B;SACrE,CAAC,CAAC,CAAC;QAEJ,MAAM,KAAK,GAAG,gBAAC,CAAC,KAAK,CACnB,gBAAC,CAAC,MAAM,CAAC,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EACpE,CAAC,EACD,KAAK,CACN,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,eAAyB,EACzB,WAAmB;QAEnB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,eAAe,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YACrC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC,CAAC,CACH,CAAC;QACF,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAyB,CAAC;IAC5D,CAAC;IAES,oBAAoB,CAAC,QAAe,EAAE,SAAgB;QAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAES,WAAW,CAAC,UAAmB,EAAE,WAAoB;QAC7D,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,6BAA6B;QACnC,wEAAwE;QACxE,MAAM,SAAS,GAAc;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;YACxC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;YAC1C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa;YACxC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE;YACxD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAClD,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;YAC9C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;YAC7C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB;YAChD,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAC5D,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,qBAAqB;YACxD,6CAA6C,EAC3C,IAAI,CAAC,MAAM,CAAC,6CAA6C;SAC5D,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,WAAW,CACnB,KAA8B,EAC9B,OAAiB,EACjB,UAAmB,EACnB,IAAc,EACd,gBAAwB;QAExB,IAAI;YACF,MAAM,aAAa,GAAG,+BAAa,CAAC,YAAY,CAC9C,KAAK,EACL,OAAO,EACP,UAAU,EACV,IAAI,CACL,CAAC;YAEF,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE;gBAC1B,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;oBAC/C,OAAO,IAAI,CAAC;iBACb;gBAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACrD,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;wBAC/C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC9B,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;qBACjC;iBACF;aACF;iBAAM;gBACL,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;oBACjC,OAAO,IAAI,CAAC;iBACb;gBAED,wEAAwE;gBACxE,2EAA2E;gBAC3E,gBAAgB;gBAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACvC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE;wBACjC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;wBAC9B,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;qBACjC;iBACF;aACF;YAED,OAAO,aAAa,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,2DAA2D,EACzE,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,SAAiB,EACjB,OAAO,GAAG,KAAK;QAEf,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QAExC,IAAI;YACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CACxD,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,EAAE,KAAK,EAAE,SAAS,EAAE,EACpB,EAAE,OAAO,EAAE,CACZ,CAAC;YACF,OAAO,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,4BAA4B,EAAE,CAAC,CAAC,CAAC;YACjE,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAES,WAAW,CACnB,IAIG,EACH,IAAc;QAEd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,2BAA2B,IAAI,aAAa,IAAI,YAAY,CAC3E,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAClC,CACE,EAAE,KAAK,EAAE,KAAK,EAAwC,EACtD,IAAI,EACJ,KAAK,EACiC,EAAE;YACxC,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,OAAO;oBACL,KAAK,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACvC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;iBAC/C,CAAC;aACH;iBAAM;gBACL,OAAO;oBACL,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;oBACtC,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;iBAC3C,CAAC;aACH;QACH,CAAC,EACD,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACzB,CAAC;QAEF,OAAO,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAC1B,CAAC,CAAC,IAAA,eAAI,EAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;YACxC,CAAC,CAAC,IAAA,eAAI,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IAEO,aAAa,CACnB,IAIG,EACH,IAAc;QAEd,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,2BAA2B,IAAI,aAAa,IAAI,YAAY,CAC3E,CAAC;YACF,OAAO,MAAM,CAAC;SACf;QAED,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE;YAC1B,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;gBACpB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnE,MAAM,IAAI,WAAW,CAAC;aACvB;SACF;aAAM;YACL,4CAA4C;YAC5C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACzC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBACnE,MAAM,IAAI,WAAW,CAAC;aACvB;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,WAAW,CAAC,EAAW,EAAE,EAAW,EAAE,GAAmB;QAC/D,mCAAmC;QACnC,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,EAAE;YACpB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;SAC3D;QAED,IAAI,IAAA,oBAAY,EAAC,EAAE,CAAC,EAAE;YACpB,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC;SAC3D;QAED,sGAAsG;QACtG,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GACnC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEhD,MAAM,gBAAgB,GAAG,CAAC,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5E,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAA,kBAAU,EAAC,IAAA,gBAAQ,EAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpE,OAAO,gBAAgB,GAAG,aAAa,GAAG,aAAa,GAAG,UAAU,CAAC;IACvE,CAAC;IAED,gBAAgB;QACd,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACnC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;SAC/B;IACH,CAAC;;AA55CH,8BA65CC;AA94Ce,4BAAkB,GAC9B,IAAA,6BAAqB,EACnB,gBAAC,CAAC,IAAI,CAAC,wBAAe,EAAE;IACtB,WAAW;IACX,aAAa;IACb,eAAe;IACf,cAAc;IACd,UAAU;IACV,WAAW;IACX,OAAO;IACP,YAAY;IACZ,WAAW;IACX,aAAa;CACd,CAAC,CACH,CAAC"}
@@ -39,6 +39,8 @@ export declare class DummyDexHelper implements IDexHelper {
39
39
  getLogger: LoggerConstructor;
40
40
  web3Provider: Web3;
41
41
  getTokenUSDPrice: (token: Token, amount: bigint) => Promise<number>;
42
+ dexStatePublisher: any;
43
+ dexStateSubscriber: any;
42
44
  constructor(network: number, rpcUrl?: string);
43
45
  replaceProviderWithRPC(rpcUrl: string): void;
44
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dummy-dex-helper.js","sourceRoot":"","sources":["../../src/dex-helper/dummy-dex-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dummy-dex-helper.js","sourceRoot":"","sources":["../../src/dex-helper/dummy-dex-helper.ts"],"names":[],"mappings":"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"}
@@ -23,4 +23,6 @@ export interface IDexHelper {
23
23
  blockManager: IBlockManager;
24
24
  getLogger: LoggerConstructor;
25
25
  getTokenUSDPrice: (token: Token, amount: bigint) => Promise<number>;
26
+ dexStateSubscriber: any;
27
+ dexStatePublisher: any;
26
28
  }
@@ -0,0 +1,3 @@
1
+ export declare class DexPoolNotFoundError extends Error {
2
+ constructor(dexKey: string, poolIdentifier: string);
3
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DexPoolNotFoundError = void 0;
4
+ class DexPoolNotFoundError extends Error {
5
+ constructor(dexKey, poolIdentifier) {
6
+ super(`Pool ${poolIdentifier} not found for DEX ${dexKey}`);
7
+ }
8
+ }
9
+ exports.DexPoolNotFoundError = DexPoolNotFoundError;
10
+ //# sourceMappingURL=dex-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dex-utils.js","sourceRoot":"","sources":["../src/dex-utils.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,MAAc,EAAE,cAAsB;QAChD,KAAK,CAAC,QAAQ,cAAc,sBAAsB,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF;AAJD,oDAIC"}
@@ -0,0 +1,46 @@
1
+ import { AsyncOrSync, DeepReadonly } from 'ts-essentials';
2
+ import { Log, Logger } from './types';
3
+ import { BlockHeader } from 'web3-eth';
4
+ import { EventSubscriber } from './dex-helper/iblock-manager';
5
+ import { IDexHelper } from './dex-helper';
6
+ export declare type InitializeStateOptions<State> = {
7
+ state?: DeepReadonly<State>;
8
+ initCallback?: (state: DeepReadonly<State>) => void;
9
+ forceRegenerate?: boolean;
10
+ };
11
+ declare type ObjectOrString<State> = DeepReadonly<State> | string;
12
+ declare type ObjectOrStringOrNull<State> = ObjectOrString<State> | null;
13
+ export declare abstract class StatefulDualSynchronizer<State> implements EventSubscriber {
14
+ dexKey: string;
15
+ poolIdentifier: string;
16
+ protected dexHelper: IDexHelper;
17
+ protected logger: Logger;
18
+ protected state: ObjectOrStringOrNull<State>;
19
+ protected stateBlockNumber: number;
20
+ protected stateHistory: {
21
+ [blockNumber: number]: ObjectOrString<State>;
22
+ };
23
+ protected invalid: boolean;
24
+ isTracking: () => boolean;
25
+ addressesSubscribed: string[];
26
+ parentName: string;
27
+ name: string;
28
+ isInitialized: boolean;
29
+ constructor(dexKey: string, poolIdentifier: string, dexHelper: IDexHelper, logger: Logger);
30
+ getStateBlockNumber(): Readonly<number>;
31
+ initialize(blockNumber: number, options?: InitializeStateOptions<State>): Promise<void>;
32
+ protected abstract processLog(state: DeepReadonly<State>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): AsyncOrSync<DeepReadonly<State> | null>;
33
+ protected processBlockLogs(state: DeepReadonly<State>, logs: Readonly<Log>[], blockHeader: Readonly<BlockHeader>): Promise<DeepReadonly<State> | null>;
34
+ abstract generateState(blockNumber?: number | 'latest'): AsyncOrSync<DeepReadonly<State>>;
35
+ restart(blockNumber: number): void;
36
+ update(logs: Readonly<Log>[], blockHeaders: Readonly<{
37
+ [blockNumber: number]: Readonly<BlockHeader>;
38
+ }>): Promise<void>;
39
+ rollback(blockNumber: number): void;
40
+ invalidate(): void;
41
+ getState(minBlockNumber: number): DeepReadonly<State> | null;
42
+ getStaleState(): DeepReadonly<State> | null;
43
+ _setState(state: ObjectOrStringOrNull<State>, blockNumber: number): void;
44
+ setState(state: ObjectOrString<State>, blockNumber: number): void;
45
+ }
46
+ export {};
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatefulDualSynchronizer = void 0;
4
+ const ts_essentials_1 = require("ts-essentials");
5
+ const constants_1 = require("./constants");
6
+ const utils_1 = require("./utils");
7
+ // TODO: make sure that we can get either state object or string
8
+ class StatefulDualSynchronizer {
9
+ constructor(dexKey, poolIdentifier, dexHelper, logger) {
10
+ this.dexKey = dexKey;
11
+ this.poolIdentifier = poolIdentifier;
12
+ this.dexHelper = dexHelper;
13
+ this.logger = logger;
14
+ //The current state and its block number
15
+ //Derived classes should not set these directly, and instead use setState()
16
+ this.state = null;
17
+ this.stateBlockNumber = 0;
18
+ //Derived classes should use setState() to record a new entry
19
+ this.stateHistory = {};
20
+ //Invalid flag - indicates that the currently stored state might not be valid
21
+ this.invalid = false;
22
+ this.isTracking = () => false;
23
+ this.addressesSubscribed = [];
24
+ this.isInitialized = false;
25
+ this.dexKey = dexKey.toLowerCase();
26
+ this.poolIdentifier = poolIdentifier.toLowerCase();
27
+ // parentName and Name are imposed by the interface. Prefer dexKey and poolIdentifier
28
+ this.parentName = this.dexKey;
29
+ this.name = this.poolIdentifier;
30
+ if (!this.dexHelper.config.isSlave) {
31
+ this.dexHelper.dexStatePublisher.registerPool(this.dexKey, this.poolIdentifier, this);
32
+ }
33
+ }
34
+ getStateBlockNumber() {
35
+ return this.stateBlockNumber;
36
+ }
37
+ //Function which set the initial state and bounded it to blockNumber
38
+ //There is multiple possible case:
39
+ // 1. You provide a state in options object the function will initialize with the provided state
40
+ // with blockNumber and subscribe to logs.
41
+ // 2. if you are a master instance of dex-lib and no state is provided in options object
42
+ // then the function generate a new state with blockNumber as height and set the state with
43
+ // the result.
44
+ // 3. if you are a slave instance of dex-lib
45
+ // either:
46
+ // - If a state is found in the cache and the state is not null we set our state with the
47
+ // cache state and cache blockNumber. Subscribe to logs with the cache blockNumber
48
+ // or:
49
+ // - If no valid state found in cache, we generate a new state with blockNumber
50
+ // and se state with blockNumber. Subscribe to logs with blockNumber. The function
51
+ // will also publish a message to cache to tell one master version of dex-lib that this slave
52
+ // instance subscribed to a pool from dex this.parentName and name this.name.
53
+ async initialize(blockNumber, options) {
54
+ let masterBn = undefined;
55
+ if (options && options.state) {
56
+ this.setState(options.state, blockNumber);
57
+ }
58
+ else {
59
+ if (this.dexHelper.config.isSlave) {
60
+ let updatedState = await this.dexHelper.dexStateSubscriber.requestDEXPoolState(this.dexKey, this.poolIdentifier, blockNumber);
61
+ this.setState(updatedState, blockNumber);
62
+ }
63
+ else {
64
+ // if you are not a slave instance always generate new state
65
+ this.logger.info(`${this.dexKey}: ${this.poolIdentifier}: cache generating state`);
66
+ const state = await this.generateState(blockNumber);
67
+ this.setState(state, blockNumber);
68
+ }
69
+ }
70
+ // apply a callback on the state
71
+ if (options && options.initCallback) {
72
+ if (this.state) {
73
+ (0, ts_essentials_1.assert)(typeof this.state !== 'string', 'LOGIC ERROR: state is serialised');
74
+ options.initCallback(this.state);
75
+ }
76
+ }
77
+ if (this.dexHelper.config.isSlave) {
78
+ this.dexHelper.dexStateSubscriber.subscribeToDEXPoolUpdates(this.dexKey, this.poolIdentifier, (state, blockNumber) => {
79
+ this.setState(state, blockNumber);
80
+ });
81
+ }
82
+ else {
83
+ this.dexHelper.blockManager.subscribeToLogs(this, this.addressesSubscribed, masterBn || blockNumber);
84
+ }
85
+ this.isInitialized = true;
86
+ }
87
+ //This function processes all logs for a single block (the block number is
88
+ //contained in each of the logs). It is not allowed to call this function
89
+ //with an empty logs array. The default implementation here will just call
90
+ //processLog for each of the logs; it may be overridden, if block specific
91
+ //handling or handling multiple logs at once is needed. Null should be
92
+ //returned if none of the provided logs affect the state.
93
+ async processBlockLogs(state, logs, blockHeader) {
94
+ let nextState = null;
95
+ for (const log of logs) {
96
+ const retState = await this.processLog(nextState || state, log, blockHeader);
97
+ if (retState)
98
+ nextState = retState;
99
+ }
100
+ return nextState;
101
+ }
102
+ restart(blockNumber) {
103
+ for (const _bn of Object.keys(this.stateHistory)) {
104
+ const bn = +_bn;
105
+ if (bn >= blockNumber)
106
+ break;
107
+ delete this.stateHistory[bn];
108
+ }
109
+ if (this.state && this.stateBlockNumber < blockNumber) {
110
+ this.logger.info(`StatefulDualSynchronizer restart, bn: ${blockNumber}, state_bn: ${this.stateBlockNumber}: ${this.dexKey}: ${this.poolIdentifier}`);
111
+ this._setState(null, blockNumber);
112
+ }
113
+ }
114
+ //Implementation must call setState() for every block in which the state
115
+ //changes and must ignore any logs that aren't newer than the oldest state
116
+ //stored. If state is not set or null, then the implementation should derive
117
+ //the state by another method for the block number of the first log, ignore
118
+ //all logs with that block number and then proceed as normal for the remaining
119
+ //logs. Remember to clear the invalid flag, even if there are no logs!
120
+ //A default implementation is provided here, but could be overridden.
121
+ async update(logs, blockHeaders) {
122
+ if (this.dexHelper.config.isSlave) {
123
+ throw new Error('LOGIC ERROR: we should expect to listen to events on slave instances');
124
+ }
125
+ let index = 0;
126
+ let lastBlockNumber;
127
+ while (index < logs.length) {
128
+ const blockNumber = logs[index].blockNumber;
129
+ if (index && blockNumber <= lastBlockNumber) {
130
+ this.logger.error('update() received blocks out of order!');
131
+ }
132
+ const blockHeader = blockHeaders[blockNumber];
133
+ if (!blockHeader) {
134
+ this.logger.error('update() missing block header!');
135
+ }
136
+ let lastLogIndex = logs[index].logIndex;
137
+ let indexBlockEnd = index + 1;
138
+ while (indexBlockEnd < logs.length &&
139
+ logs[indexBlockEnd].blockNumber === blockNumber) {
140
+ if (logs[indexBlockEnd].logIndex <= lastLogIndex) {
141
+ this.logger.error('update() received logs out of order!');
142
+ }
143
+ lastLogIndex = logs[indexBlockEnd].logIndex;
144
+ ++indexBlockEnd;
145
+ }
146
+ if (!this.state) {
147
+ const freshState = await this.generateState(blockNumber);
148
+ this.setState(freshState, blockNumber);
149
+ }
150
+ //Find the last state before the blockNumber of the logs
151
+ let stateBeforeLog;
152
+ for (const _bn of Object.keys(this.stateHistory)) {
153
+ const bn = +_bn;
154
+ if (bn >= blockNumber)
155
+ break;
156
+ stateBeforeLog = this.stateHistory[bn];
157
+ }
158
+ //Ignoring logs if there's no older state to play them onto
159
+ if (stateBeforeLog) {
160
+ (0, ts_essentials_1.assert)(typeof stateBeforeLog !== 'string', 'LOGIC ERROR: state is serialised');
161
+ const nextState = await this.processBlockLogs(stateBeforeLog, logs.slice(index, indexBlockEnd), blockHeader);
162
+ if (nextState)
163
+ this.setState(nextState, blockNumber);
164
+ }
165
+ lastBlockNumber = blockNumber;
166
+ index = indexBlockEnd;
167
+ }
168
+ this.invalid = false;
169
+ if (!this.dexHelper.config.isSlave && this.state === null) {
170
+ const network = this.dexHelper.config.data.network;
171
+ const createNewState = async () => {
172
+ if (this.state !== null) {
173
+ return true;
174
+ }
175
+ const latestBlockNumber = this.dexHelper.blockManager.getLatestBlockNumber();
176
+ this.logger.warn(`${network}: ${this.dexKey}: ${this.poolIdentifier}: master generate (latest: ${latestBlockNumber}) new state because state is null`);
177
+ try {
178
+ const state = await this.generateState(latestBlockNumber);
179
+ this.setState(state, latestBlockNumber);
180
+ return true;
181
+ }
182
+ catch (e) {
183
+ this.logger.error(`${network}: ${this.dexKey} ${this.poolIdentifier}: (${latestBlockNumber}) failed fetch state:`, e);
184
+ }
185
+ return false;
186
+ };
187
+ this.dexHelper.promiseScheduler.addPromise(createNewState);
188
+ }
189
+ }
190
+ //Removes all states that are beyond the given block number and sets the
191
+ //current state to the latest one that is left, if any, unless the invalid
192
+ //flag is not set, in which case the most recent state can be kept.
193
+ rollback(blockNumber) {
194
+ if (this.invalid) {
195
+ let lastBn = undefined;
196
+ //loop in the ascending order of the blockNumber. V8 property when object keys are number.
197
+ for (const bn of Object.keys(this.stateHistory)) {
198
+ const bnAsNumber = +bn;
199
+ if (bnAsNumber > blockNumber) {
200
+ delete this.stateHistory[+bn];
201
+ }
202
+ else {
203
+ lastBn = bnAsNumber;
204
+ }
205
+ }
206
+ if (lastBn) {
207
+ this._setState(this.stateHistory[lastBn], lastBn);
208
+ }
209
+ else {
210
+ this.logger.info(`StatefulDualSynchronizer rollback, bn: ${blockNumber}: ${this.dexKey}: ${this.poolIdentifier}`);
211
+ this._setState(null, blockNumber);
212
+ // TODO: explore generating new state on invalidation
213
+ }
214
+ }
215
+ else {
216
+ //Keep the current state in this.state and in the history
217
+ for (const _bn of Object.keys(this.stateHistory)) {
218
+ const bn = +_bn;
219
+ if (+bn > blockNumber && +bn !== this.stateBlockNumber) {
220
+ delete this.stateHistory[bn];
221
+ }
222
+ }
223
+ }
224
+ }
225
+ invalidate() {
226
+ this.logger.info(`StatefulDualSynchronizer invalidate: ${this.dexKey}: ${this.poolIdentifier}`);
227
+ this.invalid = true;
228
+ // TODO: explore generating new state on invalidation
229
+ }
230
+ //May return a state that is more recent than the block number specified, or
231
+ //will return null if a recent enough state cannot be found, in which case the
232
+ //caller should derive a state using another method (at an exact block
233
+ //number), possibly using generateState(), and set it on this object using
234
+ //setState. In case isTracking() returns true, it is assumed that the stored
235
+ //state is current and so the minBlockNumber will be disregarded.
236
+ getState(minBlockNumber) {
237
+ if (!this.state || this.invalid)
238
+ return null;
239
+ if (this.dexHelper.config.isSlave) {
240
+ if (this.dexHelper.dexStateSubscriber.isSynced(minBlockNumber) ||
241
+ this.stateBlockNumber >= minBlockNumber) {
242
+ if (typeof this.state === 'string') {
243
+ this.state = utils_1.Utils.Parse(this.state);
244
+ }
245
+ (0, ts_essentials_1.assert)(typeof this.state !== 'string', 'LOGIC ERROR: state is serialised');
246
+ return this.state;
247
+ }
248
+ }
249
+ else {
250
+ if (this.isTracking() || this.stateBlockNumber >= minBlockNumber) {
251
+ if (typeof this.state === 'string') {
252
+ this.state = utils_1.Utils.Parse(this.state);
253
+ }
254
+ (0, ts_essentials_1.assert)(typeof this.state !== 'string', 'LOGIC ERROR: state is serialised');
255
+ return this.state;
256
+ }
257
+ }
258
+ return null; // DEX need to implement an fallback strategy here
259
+ }
260
+ // Returns the last set state. The state might be invalid or not updated.
261
+ getStaleState() {
262
+ if (typeof this.state === 'string') {
263
+ this.state = utils_1.Utils.Parse(this.state);
264
+ }
265
+ (0, ts_essentials_1.assert)(typeof this.state !== 'string', 'LOGIC ERROR: state is serialised');
266
+ return this.state;
267
+ }
268
+ _setState(state, blockNumber) {
269
+ this.state = state;
270
+ this.stateBlockNumber = blockNumber;
271
+ }
272
+ //Saves the state into the stateHistory, and cleans up any old state that is
273
+ //no longer needed. If the blockNumber is greater than or equal to the
274
+ //current state, then the current state will be updated and the invalid flag
275
+ //can be reset.
276
+ setState(state, blockNumber) {
277
+ if (!blockNumber) {
278
+ this.logger.error('setState() with blockNumber', blockNumber);
279
+ return;
280
+ }
281
+ this.stateHistory[blockNumber] = state;
282
+ if (!this.state || blockNumber >= this.stateBlockNumber) {
283
+ this._setState(state, blockNumber);
284
+ this.invalid = false;
285
+ }
286
+ const minBlockNumberToKeep = this.stateBlockNumber - constants_1.MAX_BLOCKS_HISTORY;
287
+ let lastBlockNumber;
288
+ for (const bn of Object.keys(this.stateHistory)) {
289
+ if (+bn <= minBlockNumberToKeep) {
290
+ if (lastBlockNumber)
291
+ delete this.stateHistory[lastBlockNumber];
292
+ }
293
+ if (+bn >= minBlockNumberToKeep)
294
+ break;
295
+ lastBlockNumber = +bn;
296
+ }
297
+ }
298
+ }
299
+ exports.StatefulDualSynchronizer = StatefulDualSynchronizer;
300
+ //# sourceMappingURL=stateful-dual-synchronizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateful-dual-synchronizer.js","sourceRoot":"","sources":["../src/stateful-dual-synchronizer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.8.25",
3
+ "version": "3.8.27-dualsync.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -1,5 +1,5 @@
1
1
  import BigNumber from 'bignumber.js';
2
- import { isEmpty } from 'lodash';
2
+ import { isEmpty, omit } from 'lodash';
3
3
  import { SwapSide } from '@paraswap/core';
4
4
  import { BN_1 } from '../../bignumber-constants';
5
5
  import { IDexHelper } from '../../dex-helper';
@@ -433,14 +433,15 @@ export class RateFetcher {
433
433
  timeout: GET_FIRM_RATE_TIMEOUT_MS,
434
434
  };
435
435
 
436
+ this.logger.info(
437
+ 'FirmRate Request:',
438
+ JSON.stringify(omit(payload, 'secret')).replace(/(?:\r\n|\r|\n)/g, ' '),
439
+ );
440
+
436
441
  if (this.firmRateAuth) {
437
442
  this.firmRateAuth(payload);
438
443
  delete payload.secret;
439
444
  }
440
- this.logger.info(
441
- 'FirmRate Request:',
442
- JSON.stringify(payload).replace(/(?:\r\n|\r|\n)/g, ' '),
443
- );
444
445
  const { data } = await this.dexHelper.httpRequest.request<unknown>(
445
446
  payload,
446
447
  );