@paraswap/dex-lib 3.10.3 → 3.11.0-bebop

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 (193) hide show
  1. package/build/abi/Aave_GSM.json +751 -0
  2. package/build/abi/USDM.json +807 -0
  3. package/build/abi/{integral/pool.json → cables/CablesMainnetRFQ.json} +563 -521
  4. package/build/abi/inception/inception-ineth-pool.json +1062 -0
  5. package/build/abi/inception/inception-ineth.json +609 -0
  6. package/build/abi/inception/inception-ratio-feed.json +329 -0
  7. package/build/abi/inception/inception-vault.json +991 -0
  8. package/build/config.js +1 -0
  9. package/build/config.js.map +1 -1
  10. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  11. package/build/dex/aave-v1/aave-v1.js +22 -0
  12. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  13. package/build/dex/balancer-v2/config.js +1 -1
  14. package/build/dex/bebop/bebop.js +1 -1
  15. package/build/dex/bebop/bebop.js.map +1 -1
  16. package/build/dex/bebop/config.js +5 -0
  17. package/build/dex/bebop/config.js.map +1 -1
  18. package/build/dex/bebop/rate-fetcher.d.ts +3 -1
  19. package/build/dex/bebop/rate-fetcher.js +42 -2
  20. package/build/dex/bebop/rate-fetcher.js.map +1 -1
  21. package/build/dex/bebop/validators.d.ts +2 -0
  22. package/build/dex/bebop/validators.js +4 -1
  23. package/build/dex/bebop/validators.js.map +1 -1
  24. package/build/dex/bebop/websocket-fetcher.d.ts +35 -0
  25. package/build/dex/bebop/websocket-fetcher.js +87 -0
  26. package/build/dex/bebop/websocket-fetcher.js.map +1 -0
  27. package/build/dex/cables/cables.d.ts +57 -0
  28. package/build/dex/cables/cables.js +471 -0
  29. package/build/dex/cables/cables.js.map +1 -0
  30. package/build/dex/cables/config.d.ts +4 -0
  31. package/build/dex/cables/config.js +15 -0
  32. package/build/dex/cables/config.js.map +1 -0
  33. package/build/dex/cables/constants.d.ts +19 -0
  34. package/build/dex/cables/constants.js +26 -0
  35. package/build/dex/cables/constants.js.map +1 -0
  36. package/build/dex/cables/rate-fetcher.d.ts +34 -0
  37. package/build/dex/cables/rate-fetcher.js +106 -0
  38. package/build/dex/cables/rate-fetcher.js.map +1 -0
  39. package/build/dex/cables/types.d.ts +106 -0
  40. package/build/dex/cables/types.js +12 -0
  41. package/build/dex/cables/types.js.map +1 -0
  42. package/build/dex/cables/validators.d.ts +5 -0
  43. package/build/dex/cables/validators.js +49 -0
  44. package/build/dex/cables/validators.js.map +1 -0
  45. package/build/dex/idle-dao/idle-dao-pool.d.ts +56 -0
  46. package/build/dex/idle-dao/idle-dao-pool.js +176 -0
  47. package/build/dex/idle-dao/idle-dao-pool.js.map +1 -0
  48. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +16 -0
  49. package/build/dex/idle-dao/idle-dao-pooling-pool.js +57 -0
  50. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +1 -0
  51. package/build/dex/idle-dao/scripts.d.ts +9 -0
  52. package/build/dex/idle-dao/scripts.js +552 -0
  53. package/build/dex/idle-dao/scripts.js.map +1 -0
  54. package/build/dex/inception/config.d.ts +4 -0
  55. package/build/dex/inception/config.js +109 -0
  56. package/build/dex/inception/config.js.map +1 -0
  57. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  58. package/build/dex/inception/inception-event-pool.js +51 -0
  59. package/build/dex/inception/inception-event-pool.js.map +1 -0
  60. package/build/dex/{integral/integral.d.ts → inception/inception-native.d.ts} +21 -19
  61. package/build/dex/inception/inception-native.js +131 -0
  62. package/build/dex/inception/inception-native.js.map +1 -0
  63. package/build/dex/inception/inception-pool.d.ts +18 -0
  64. package/build/dex/inception/inception-pool.js +32 -0
  65. package/build/dex/inception/inception-pool.js.map +1 -0
  66. package/build/dex/inception/inception-price-feed.d.ts +19 -0
  67. package/build/dex/inception/inception-price-feed.js +51 -0
  68. package/build/dex/inception/inception-price-feed.js.map +1 -0
  69. package/build/dex/inception/inception.d.ts +43 -0
  70. package/build/dex/inception/inception.js +204 -0
  71. package/build/dex/inception/inception.js.map +1 -0
  72. package/build/dex/inception/tokens.d.ts +9 -0
  73. package/build/dex/inception/tokens.js +28 -0
  74. package/build/dex/inception/tokens.js.map +1 -0
  75. package/build/dex/inception/types.d.ts +22 -0
  76. package/build/dex/inception/types.js +3 -0
  77. package/build/dex/inception/types.js.map +1 -0
  78. package/build/dex/inception/utils.d.ts +6 -0
  79. package/build/dex/inception/utils.js +37 -0
  80. package/build/dex/inception/utils.js.map +1 -0
  81. package/build/dex/jarvis.d.ts +2 -1
  82. package/build/dex/jarvis.js +58 -0
  83. package/build/dex/jarvis.js.map +1 -1
  84. package/build/dex/platypus/platypus.d.ts +2 -1
  85. package/build/dex/platypus/platypus.js +31 -0
  86. package/build/dex/platypus/platypus.js.map +1 -1
  87. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  88. package/build/dex/swaap-v1/swaap-v1.js +10 -0
  89. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  90. package/build/dex/zerox/index.d.ts +4 -26
  91. package/build/dex/zerox/index.js +50 -42
  92. package/build/dex/zerox/index.js.map +1 -1
  93. package/build/dex/zerox/types.d.ts +29 -0
  94. package/build/dex/zerox/types.js +8 -1
  95. package/build/dex/zerox/types.js.map +1 -1
  96. package/build/lib/fetcher/wsFetcher.d.ts +7 -3
  97. package/build/lib/fetcher/wsFetcher.js +64 -51
  98. package/build/lib/fetcher/wsFetcher.js.map +1 -1
  99. package/package.json +4 -2
  100. package/src/config.ts +1 -0
  101. package/src/dex/balancer-v2/config.ts +1 -1
  102. package/src/dex/bebop/bebop-e2e.test.ts +21 -0
  103. package/src/dex/bebop/bebop.proto +15 -0
  104. package/src/dex/bebop/bebop.ts +1 -1
  105. package/src/dex/bebop/config.ts +5 -0
  106. package/src/dex/bebop/rate-fetcher.ts +51 -6
  107. package/src/dex/bebop/validators.ts +4 -0
  108. package/src/lib/fetcher/wsFetcher.ts +79 -66
  109. package/.idea/aws.xml +0 -17
  110. package/.idea/codeStyles/Project.xml +0 -19
  111. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  112. package/.idea/misc.xml +0 -6
  113. package/.idea/modules.xml +0 -8
  114. package/.idea/paraswap-dex-lib.iml +0 -9
  115. package/.idea/prettier.xml +0 -7
  116. package/.idea/vcs.xml +0 -6
  117. package/build/abi/integral/factory.json +0 -333
  118. package/build/abi/integral/oracle.json +0 -501
  119. package/build/abi/integral/relayer.json +0 -1536
  120. package/build/dex/bProtocol.d.ts +0 -18
  121. package/build/dex/bProtocol.js +0 -39
  122. package/build/dex/bProtocol.js.map +0 -1
  123. package/build/dex/bancor.d.ts +0 -26
  124. package/build/dex/bancor.js +0 -58
  125. package/build/dex/bancor.js.map +0 -1
  126. package/build/dex/compound.d.ts +0 -18
  127. package/build/dex/compound.js +0 -46
  128. package/build/dex/compound.js.map +0 -1
  129. package/build/dex/curve-v2.d.ts +0 -58
  130. package/build/dex/curve-v2.js +0 -180
  131. package/build/dex/curve-v2.js.map +0 -1
  132. package/build/dex/dodo-v1.d.ts +0 -33
  133. package/build/dex/dodo-v1.js +0 -63
  134. package/build/dex/dodo-v1.js.map +0 -1
  135. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  136. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  137. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  138. package/build/dex/fluid-dex/fluid-dex-pool.d.ts +0 -47
  139. package/build/dex/fluid-dex/fluid-dex-pool.js +0 -119
  140. package/build/dex/fluid-dex/fluid-dex-pool.js.map +0 -1
  141. package/build/dex/integral/config.d.ts +0 -4
  142. package/build/dex/integral/config.js +0 -20
  143. package/build/dex/integral/config.js.map +0 -1
  144. package/build/dex/integral/context.d.ts +0 -40
  145. package/build/dex/integral/context.js +0 -158
  146. package/build/dex/integral/context.js.map +0 -1
  147. package/build/dex/integral/integral-factory.d.ts +0 -24
  148. package/build/dex/integral/integral-factory.js +0 -95
  149. package/build/dex/integral/integral-factory.js.map +0 -1
  150. package/build/dex/integral/integral-pool.d.ts +0 -50
  151. package/build/dex/integral/integral-pool.js +0 -149
  152. package/build/dex/integral/integral-pool.js.map +0 -1
  153. package/build/dex/integral/integral-pricing.d.ts +0 -18
  154. package/build/dex/integral/integral-pricing.js +0 -114
  155. package/build/dex/integral/integral-pricing.js.map +0 -1
  156. package/build/dex/integral/integral-relayer.d.ts +0 -42
  157. package/build/dex/integral/integral-relayer.js +0 -192
  158. package/build/dex/integral/integral-relayer.js.map +0 -1
  159. package/build/dex/integral/integral-token.d.ts +0 -27
  160. package/build/dex/integral/integral-token.js +0 -59
  161. package/build/dex/integral/integral-token.js.map +0 -1
  162. package/build/dex/integral/integral.js +0 -376
  163. package/build/dex/integral/integral.js.map +0 -1
  164. package/build/dex/integral/types.d.ts +0 -85
  165. package/build/dex/integral/types.js +0 -9
  166. package/build/dex/integral/types.js.map +0 -1
  167. package/build/dex/integral/utils-e2e.d.ts +0 -9
  168. package/build/dex/integral/utils-e2e.js +0 -131
  169. package/build/dex/integral/utils-e2e.js.map +0 -1
  170. package/build/dex/integral/utils.d.ts +0 -17
  171. package/build/dex/integral/utils.js +0 -94
  172. package/build/dex/integral/utils.js.map +0 -1
  173. package/build/dex/lido.d.ts +0 -19
  174. package/build/dex/lido.js +0 -42
  175. package/build/dex/lido.js.map +0 -1
  176. package/build/dex/onebit.d.ts +0 -25
  177. package/build/dex/onebit.js +0 -42
  178. package/build/dex/onebit.js.map +0 -1
  179. package/build/dex/smoothy.d.ts +0 -26
  180. package/build/dex/smoothy.js +0 -48
  181. package/build/dex/smoothy.js.map +0 -1
  182. package/build/dex/stable-pool.d.ts +0 -28
  183. package/build/dex/stable-pool.js +0 -62
  184. package/build/dex/stable-pool.js.map +0 -1
  185. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  186. package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
  187. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
  188. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +0 -7
  189. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +0 -20
  190. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +0 -1
  191. package/build/dex/trader-joe-v2.1.d.ts +0 -43
  192. package/build/dex/trader-joe-v2.1.js +0 -79
  193. package/build/dex/trader-joe-v2.1.js.map +0 -1
@@ -1,7 +0,0 @@
1
- import { IDexHelper } from '../../dex-helper';
2
- import { BaseTraderJoeV2 } from './base';
3
- export declare class TraderJoeV21 extends BaseTraderJoeV2 {
4
- static dexKeys: string[];
5
- needWrapNative: boolean;
6
- constructor(dexHelper: IDexHelper);
7
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TraderJoeV21 = void 0;
7
- const abi_1 = require("@ethersproject/abi");
8
- const TraderJoeV21Router_json_1 = __importDefault(require("../../abi/TraderJoeV21Router.json"));
9
- const config_1 = require("./config");
10
- const base_1 = require("./base");
11
- class TraderJoeV21 extends base_1.BaseTraderJoeV2 {
12
- constructor(dexHelper) {
13
- super(dexHelper, 'traderjoev2.1', config_1.TRADERJOE_V2_1_ROUTER_ADDRESS[dexHelper.config.data.network], '2');
14
- this.needWrapNative = true;
15
- this.exchangeRouterInterface = new abi_1.Interface(TraderJoeV21Router_json_1.default);
16
- }
17
- }
18
- exports.TraderJoeV21 = TraderJoeV21;
19
- TraderJoeV21.dexKeys = ['traderjoev2.1'];
20
- //# sourceMappingURL=trader-joe-v2.1-new.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trader-joe-v2.1-new.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/trader-joe-v2.1-new.ts"],"names":[],"mappings":";;;;;;AACA,4CAA6D;AAC7D,gGAAsE;AACtE,qCAAyD;AACzD,iCAAyC;AAEzC,MAAa,YAAa,SAAQ,sBAAe;IAI/C,YAAY,SAAqB;QAC/B,KAAK,CACH,SAAS,EACT,eAAe,EACf,sCAA6B,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAC5D,GAAG,CACJ,CAAC;QARJ,mBAAc,GAAG,IAAI,CAAC;QAUpB,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAC1C,iCAAuC,CACxC,CAAC;IACJ,CAAC;;AAfH,oCAgBC;AAfQ,oBAAO,GAAG,CAAC,eAAe,CAAC,CAAC"}
@@ -1,43 +0,0 @@
1
- import { SwapSide } from '../constants';
2
- import { AdapterExchangeParam, Address, SimpleExchangeParam } from '../types';
3
- import { IDexTxBuilder } from './idex';
4
- import { IDexHelper } from '../dex-helper';
5
- import { SimpleExchange } from './simple-exchange';
6
- import { NumberAsString } from '@paraswap/core';
7
- import { AsyncOrSync } from 'ts-essentials';
8
- import { Interface } from '@ethersproject/abi';
9
- declare type RouterPath = [
10
- pairBinSteps: NumberAsString[],
11
- versions: NumberAsString[],
12
- tokenPath: Address[]
13
- ];
14
- declare type TraderJoeV2RouterSellParams = [
15
- _amountIn: NumberAsString,
16
- _amountOutMin: NumberAsString,
17
- _routerPath: RouterPath,
18
- to: Address,
19
- _deadline: string
20
- ];
21
- declare type TraderJoeV2RouterBuyParams = [
22
- _amountOut: NumberAsString,
23
- _amountInMax: NumberAsString,
24
- _routerPath: RouterPath,
25
- to: Address,
26
- _deadline: string
27
- ];
28
- declare type TraderJoeV2RouterParam = TraderJoeV2RouterSellParams | TraderJoeV2RouterBuyParams;
29
- export declare type TraderJoeV2Data = {
30
- tokenIn: string;
31
- tokenOut: string;
32
- binStep: string;
33
- };
34
- export declare class TraderJoeV21 extends SimpleExchange implements IDexTxBuilder<TraderJoeV2Data, TraderJoeV2RouterParam> {
35
- static dexKeys: string[];
36
- protected routerAddress: string;
37
- exchangeRouterInterface: Interface;
38
- needWrapNative: boolean;
39
- constructor(dexHelper: IDexHelper);
40
- getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: TraderJoeV2Data, side: SwapSide): AdapterExchangeParam;
41
- getSimpleParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: TraderJoeV2Data, side: SwapSide): AsyncOrSync<SimpleExchangeParam>;
42
- }
43
- export {};
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TraderJoeV21 = void 0;
7
- const constants_1 = require("../constants");
8
- const simple_exchange_1 = require("./simple-exchange");
9
- const abi_1 = require("@ethersproject/abi");
10
- const TraderJoeV21Router_json_1 = __importDefault(require("../abi/TraderJoeV21Router.json"));
11
- const TRADERJOE_V2_1_ROUTER_ADDRESS = {
12
- [constants_1.Network.AVALANCHE]: '0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30',
13
- [constants_1.Network.ARBITRUM]: '0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30',
14
- [constants_1.Network.BSC]: '0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30',
15
- [constants_1.Network.MAINNET]: '0x9A93a421b74F1c5755b83dD2C211614dC419C44b',
16
- };
17
- var TraderJoeV2RouterFunctions;
18
- (function (TraderJoeV2RouterFunctions) {
19
- TraderJoeV2RouterFunctions["swapExactTokensForTokens"] = "swapExactTokensForTokens";
20
- TraderJoeV2RouterFunctions["swapTokensForExactTokens"] = "swapTokensForExactTokens";
21
- })(TraderJoeV2RouterFunctions || (TraderJoeV2RouterFunctions = {}));
22
- class TraderJoeV21 extends simple_exchange_1.SimpleExchange {
23
- constructor(dexHelper) {
24
- super(dexHelper, 'traderjoev2.1');
25
- this.needWrapNative = true;
26
- this.routerAddress =
27
- TRADERJOE_V2_1_ROUTER_ADDRESS[dexHelper.config.data.network];
28
- this.exchangeRouterInterface = new abi_1.Interface(TraderJoeV21Router_json_1.default);
29
- }
30
- getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
31
- let payload = this.abiCoder.encodeParameters(['tuple(tuple(uint256[],uint8[],address[]),uint256)'], [
32
- [
33
- [
34
- [
35
- data.binStep, // _pairBinSteps: uint256[]
36
- ],
37
- [
38
- 2, // _versions: uint8[]
39
- ],
40
- [
41
- data.tokenIn,
42
- data.tokenOut, // _tokenPath: address[]
43
- ],
44
- ],
45
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(), // _deadline: uint256
46
- ],
47
- ]);
48
- return {
49
- targetExchange: this.routerAddress,
50
- payload,
51
- networkFee: '0',
52
- };
53
- }
54
- getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
55
- const swapFunction = side === constants_1.SwapSide.SELL
56
- ? TraderJoeV2RouterFunctions.swapExactTokensForTokens
57
- : TraderJoeV2RouterFunctions.swapTokensForExactTokens;
58
- const swapFunctionParams = side === constants_1.SwapSide.SELL
59
- ? [
60
- srcAmount,
61
- destAmount,
62
- [[data.binStep], ['2'], [srcToken, destToken]],
63
- this.augustusAddress,
64
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
65
- ]
66
- : [
67
- destAmount,
68
- srcAmount,
69
- [[data.binStep], ['2'], [srcToken, destToken]],
70
- this.augustusAddress,
71
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
72
- ];
73
- const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
74
- return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, this.routerAddress);
75
- }
76
- }
77
- exports.TraderJoeV21 = TraderJoeV21;
78
- TraderJoeV21.dexKeys = ['traderjoev2.1'];
79
- //# sourceMappingURL=trader-joe-v2.1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trader-joe-v2.1.js","sourceRoot":"","sources":["../../src/dex/trader-joe-v2.1.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAiD;AAIjD,uDAG2B;AAG3B,4CAA6D;AAC7D,6FAAmE;AAEnE,MAAM,6BAA6B,GAAmC;IACpE,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE,4CAA4C;IACjE,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IAChE,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE,4CAA4C;IAC3D,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,4CAA4C;CAChE,CAAC;AAiCF,IAAK,0BAGJ;AAHD,WAAK,0BAA0B;IAC7B,mFAAqD,CAAA;IACrD,mFAAqD,CAAA;AACvD,CAAC,EAHI,0BAA0B,KAA1B,0BAA0B,QAG9B;AACD,MAAa,YACX,SAAQ,gCAAc;IAQtB,YAAY,SAAqB;QAC/B,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAHpC,mBAAc,GAAG,IAAI,CAAC;QAKpB,IAAI,CAAC,aAAa;YAChB,6BAA6B,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/D,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAC1C,iCAAuC,CACxC,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,IAAqB,EACrB,IAAc;QAEd,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAC1C,CAAC,mDAAmD,CAAC,EACrD;YACE;gBACE;oBACE;wBACE,IAAI,CAAC,OAAO,EAAE,2BAA2B;qBAC1C;oBACD;wBACE,CAAC,EAAE,qBAAqB;qBACzB;oBACD;wBACE,IAAI,CAAC,OAAO;wBACZ,IAAI,CAAC,QAAQ,EAAE,wBAAwB;qBACxC;iBACF;gBACD,IAAA,uDAAqC,GAAE,EAAE,qBAAqB;aAC/D;SACF,CACF,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,aAAa;YAClC,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,IAAqB,EACrB,IAAc;QAEd,MAAM,YAAY,GAChB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,0BAA0B,CAAC,wBAAwB;YACrD,CAAC,CAAC,0BAA0B,CAAC,wBAAwB,CAAC;QAE1D,MAAM,kBAAkB,GACtB,IAAI,KAAK,oBAAQ,CAAC,IAAI;YACpB,CAAC,CAAC;gBACE,SAAS;gBACT,UAAU;gBACV,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC9C,IAAI,CAAC,eAAe;gBACpB,IAAA,uDAAqC,GAAE;aACxC;YACH,CAAC,CAAC;gBACE,UAAU;gBACV,SAAS;gBACT,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC9C,IAAI,CAAC,eAAe;gBACpB,IAAA,uDAAqC,GAAE;aACxC,CAAC;QAER,MAAM,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAC9D,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,aAAa,CACnB,CAAC;IACJ,CAAC;;AAnGH,oCAoGC;AAhGQ,oBAAO,GAAG,CAAC,eAAe,CAAC,CAAC"}