@gala-chain/launchpad-mcp-server 1.12.4 → 1.13.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.
- package/CHANGELOG.md +65 -0
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/tools/pools/fetchAllPriceHistory.d.ts +2 -2
- package/dist/tools/pools/fetchAllPriceHistory.d.ts.map +1 -1
- package/dist/tools/pools/fetchAllPriceHistory.js +8 -6
- package/dist/tools/pools/fetchAllPriceHistory.js.map +1 -1
- package/dist/tools/pools/fetchPriceHistory.d.ts +2 -2
- package/dist/tools/pools/fetchPriceHistory.d.ts.map +1 -1
- package/dist/tools/pools/fetchPriceHistory.js +8 -6
- package/dist/tools/pools/fetchPriceHistory.js.map +1 -1
- package/docs/AI-AGENT-PATTERNS.md +555 -0
- package/docs/CONSTRAINTS-REFERENCE.md +454 -0
- package/docs/PROMPT-TOOL-MAPPING.md +352 -0
- package/docs/examples/default-values-pattern.md +240 -0
- package/docs/examples/tool-factory-pattern.md +217 -0
- package/jest.config.js +94 -0
- package/package.json +2 -2
- package/src/__tests__/integration/poolTools.integration.test.ts +185 -0
- package/src/constants/mcpToolNames.ts +141 -0
- package/src/index.ts +19 -0
- package/src/prompts/__tests__/promptStructure.test.ts +114 -0
- package/src/prompts/__tests__/registry.test.ts +143 -0
- package/src/prompts/analysis.ts +429 -0
- package/src/prompts/index.ts +127 -0
- package/src/prompts/portfolio.ts +242 -0
- package/src/prompts/trading.ts +191 -0
- package/src/prompts/utility.ts +43 -0
- package/src/prompts/utils/workflowTemplates.ts +344 -0
- package/src/schemas/common-schemas.ts +392 -0
- package/src/scripts/test-all-prompts.ts +184 -0
- package/src/server.ts +247 -0
- package/src/tools/balance/index.ts +174 -0
- package/src/tools/creation/index.ts +182 -0
- package/src/tools/index.ts +80 -0
- package/src/tools/pools/fetchAllPools.ts +47 -0
- package/src/tools/pools/fetchAllPriceHistory.ts +103 -0
- package/src/tools/pools/fetchAllPrices.ts +39 -0
- package/src/tools/pools/fetchPoolDetails.ts +27 -0
- package/src/tools/pools/fetchPoolDetailsForCalculation.ts +22 -0
- package/src/tools/pools/fetchPools.ts +47 -0
- package/src/tools/pools/fetchPriceHistory.ts +108 -0
- package/src/tools/pools/fetchPrices.ts +52 -0
- package/src/tools/pools/index.ts +248 -0
- package/src/tools/social/index.ts +64 -0
- package/src/tools/trading/index.ts +605 -0
- package/src/tools/transfers/index.ts +75 -0
- package/src/tools/utils/clearCache.ts +36 -0
- package/src/tools/utils/createWallet.ts +19 -0
- package/src/tools/utils/explainSdkUsage.ts +853 -0
- package/src/tools/utils/getAddress.ts +12 -0
- package/src/tools/utils/getCacheInfo.ts +14 -0
- package/src/tools/utils/getConfig.ts +11 -0
- package/src/tools/utils/getEthereumAddress.ts +12 -0
- package/src/tools/utils/getUrlByTokenName.ts +12 -0
- package/src/tools/utils/getVersion.ts +25 -0
- package/src/tools/utils/index.ts +27 -0
- package/src/tools/utils/isTokenGraduated.ts +16 -0
- package/src/types/mcp.ts +72 -0
- package/src/utils/__tests__/validation.test.ts +147 -0
- package/src/utils/constraints.ts +146 -0
- package/src/utils/default-values.ts +208 -0
- package/src/utils/error-handler.ts +69 -0
- package/src/utils/error-templates.ts +273 -0
- package/src/utils/response-formatter.ts +51 -0
- package/src/utils/tool-factory.ts +257 -0
- package/src/utils/tool-registry.ts +296 -0
- package/src/utils/validation.ts +336 -0
- package/tsconfig.json +23 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,70 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.13.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- ## Price History API Migration (v3.16.0)
|
|
8
|
+
|
|
9
|
+
Migrate `fetchPriceHistory` and `fetchAllPriceHistory` methods from MySQL database backend to DEX
|
|
10
|
+
Backend API for improved performance and real-time data availability.
|
|
11
|
+
|
|
12
|
+
### SDK Changes (@gala-chain/launchpad-sdk)
|
|
13
|
+
- **New**: Added `tokenFormatConverter` utility (`src/utils/tokenFormatConverter.ts`)
|
|
14
|
+
- Convert between pipe-delimited (`Token|Unit|GUSDC|eth:...`) and dollar-delimited token formats
|
|
15
|
+
- Convert sort order from SDK format (uppercase) to API format (lowercase)
|
|
16
|
+
- **Updated**: `environments.ts` - Added separate `dexBackendBaseUrl` configuration for DEX
|
|
17
|
+
Backend service
|
|
18
|
+
- Production: `https://dex-backend-prod1.defi.gala.com`
|
|
19
|
+
- Stage: `https://dex-backend-dev1.defi.gala.com`
|
|
20
|
+
- **Updated**: `PriceHistoryService` - Migrated to DEX Backend API
|
|
21
|
+
- `fetchPriceHistory()` now uses `/price-oracle/fetch-price` endpoint
|
|
22
|
+
- `fetchAllPriceHistory()` uses automatic pagination over API
|
|
23
|
+
- Automatic token format conversion (pipe → dollar delimited)
|
|
24
|
+
- Automatic sort order conversion (uppercase → lowercase)
|
|
25
|
+
- `fetchPrices()` and `fetchAllPrices()` remain MySQL-based for latest price queries
|
|
26
|
+
- **Updated**: `LaunchpadSDK` - Added `dexBackendHttp` client initialization with
|
|
27
|
+
`dexBackendBaseUrl`
|
|
28
|
+
- **Updated**: Type definitions - Added `DexPriceOracleResponse` interface for API response
|
|
29
|
+
mapping
|
|
30
|
+
- **Updated**: Tests - Updated to mock HTTP client instead of MySQL connections
|
|
31
|
+
- Added tests for token format conversion
|
|
32
|
+
- Added tests for sort order conversion
|
|
33
|
+
- Added tests for API error handling
|
|
34
|
+
|
|
35
|
+
### MCP Changes (@gala-chain/launchpad-mcp-server)
|
|
36
|
+
- **Updated**: `fetchPriceHistory` tool description
|
|
37
|
+
- Reflects new DEX Backend API endpoint usage
|
|
38
|
+
- Removes MySQL configuration requirements
|
|
39
|
+
- Adds endpoint reference (`/price-oracle/fetch-price`)
|
|
40
|
+
- **Updated**: `fetchAllPriceHistory` tool description
|
|
41
|
+
- Updated for API-based implementation
|
|
42
|
+
- Reflects automatic pagination handling
|
|
43
|
+
|
|
44
|
+
### Documentation
|
|
45
|
+
- **Updated**: `CLAUDE.md` - Comprehensive price history patterns documentation
|
|
46
|
+
- Dual-backend architecture explanation
|
|
47
|
+
- API vs MySQL comparison
|
|
48
|
+
- Configuration examples for both methods
|
|
49
|
+
- Performance characteristics for each approach
|
|
50
|
+
- Important notes for API-based queries
|
|
51
|
+
|
|
52
|
+
### Backward Compatibility
|
|
53
|
+
|
|
54
|
+
✅ Fully backward compatible - SDK interfaces unchanged ✅ Automatic format conversion handles
|
|
55
|
+
token format differences ✅ Dual-backend support maintains MySQL for price sheet queries
|
|
56
|
+
|
|
57
|
+
### Performance Improvements
|
|
58
|
+
- ✅ API-based queries typically <500ms per request
|
|
59
|
+
- ✅ Real-time data availability
|
|
60
|
+
- ✅ No database connection overhead
|
|
61
|
+
- ✅ Improved scalability for high-volume queries
|
|
62
|
+
|
|
63
|
+
### Patch Changes
|
|
64
|
+
|
|
65
|
+
- Updated dependencies
|
|
66
|
+
- @gala-chain/launchpad-sdk@3.16.0
|
|
67
|
+
|
|
3
68
|
## 1.12.4
|
|
4
69
|
|
|
5
70
|
### Patch Changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fetch All Price History Tool
|
|
3
3
|
*
|
|
4
|
-
* Queries all historical token price data from
|
|
5
|
-
*
|
|
4
|
+
* Queries all historical token price data from DEX Backend API with automatic pagination.
|
|
5
|
+
* Uses the /price-oracle/fetch-price endpoint for complete price history retrieval.
|
|
6
6
|
*/
|
|
7
7
|
import type { MCPTool } from '../../types/mcp.js';
|
|
8
8
|
export declare const fetchAllPriceHistoryTool: MCPTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchAllPriceHistory.d.ts","sourceRoot":"","sources":["../../../src/tools/pools/fetchAllPriceHistory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD,eAAO,MAAM,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"fetchAllPriceHistory.d.ts","sourceRoot":"","sources":["../../../src/tools/pools/fetchAllPriceHistory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAIlD,eAAO,MAAM,wBAAwB,EAAE,OA2FtC,CAAC"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Fetch All Price History Tool
|
|
4
4
|
*
|
|
5
|
-
* Queries all historical token price data from
|
|
6
|
-
*
|
|
5
|
+
* Queries all historical token price data from DEX Backend API with automatic pagination.
|
|
6
|
+
* Uses the /price-oracle/fetch-price endpoint for complete price history retrieval.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.fetchAllPriceHistoryTool = void 0;
|
|
@@ -11,12 +11,14 @@ const response_formatter_js_1 = require("../../utils/response-formatter.js");
|
|
|
11
11
|
const error_handler_js_1 = require("../../utils/error-handler.js");
|
|
12
12
|
exports.fetchAllPriceHistoryTool = {
|
|
13
13
|
name: 'gala_launchpad_fetch_all_price_history',
|
|
14
|
-
description: `Fetch all historical price snapshots for DEX tokens with automatic pagination.
|
|
14
|
+
description: `Fetch all historical price snapshots for DEX tokens from the DEX Backend API with automatic pagination.
|
|
15
|
+
|
|
16
|
+
**Endpoint:** \`/price-oracle/fetch-price\`
|
|
15
17
|
|
|
16
18
|
**Requirements:**
|
|
17
|
-
-
|
|
19
|
+
- DEX Backend API must be configured (dexBackendBaseUrl in SDK config)
|
|
18
20
|
- Node.js environment only (not available in browser)
|
|
19
|
-
-
|
|
21
|
+
- Token parameter is required
|
|
20
22
|
|
|
21
23
|
**Use Cases:**
|
|
22
24
|
- Complete historical price analysis and charting
|
|
@@ -24,7 +26,7 @@ exports.fetchAllPriceHistoryTool = {
|
|
|
24
26
|
- Comprehensive volatility analysis
|
|
25
27
|
- Data export for external analytics
|
|
26
28
|
|
|
27
|
-
**Performance:**
|
|
29
|
+
**Performance:** API-based queries with automatic pagination (max 100 items per page, combined into single result).`,
|
|
28
30
|
inputSchema: {
|
|
29
31
|
type: 'object',
|
|
30
32
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchAllPriceHistory.js","sourceRoot":"","sources":["../../../src/tools/pools/fetchAllPriceHistory.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,6EAAkE;AAClE,mEAAiE;AAEpD,QAAA,wBAAwB,GAAY;IAC/C,IAAI,EAAE,wCAAwC;IAC9C,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"fetchAllPriceHistory.js","sourceRoot":"","sources":["../../../src/tools/pools/fetchAllPriceHistory.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,6EAAkE;AAClE,mEAAiE;AAEpD,QAAA,wBAAwB,GAAY;IAC/C,IAAI,EAAE,wCAAwC;IAC9C,WAAW,EAAE;;;;;;;;;;;;;;;oHAeqG;IAElH,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,oGAAoG;qBACvG;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,kCAAkC;6BAChD;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,+BAA+B;6BAC7C;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,4BAA4B;6BAC1C;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oCAAoC;6BAClD;yBACF;wBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC;wBAC7D,WAAW,EAAE,6BAA6B;qBAC3C;iBACF;gBACD,WAAW,EAAE,mDAAmD;aACjE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,qEAAqE;aACnF;YACD,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,2DAA2D;aACzE;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,WAAW,EAAE,yDAAyD;aACvE;SACF;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IAED,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,mDAAmD;QACnD,MAAM,OAAO,GAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fetch Price History Tool
|
|
3
3
|
*
|
|
4
|
-
* Queries historical token price data from
|
|
5
|
-
*
|
|
4
|
+
* Queries historical token price data from DEX Backend API.
|
|
5
|
+
* Uses the /price-oracle/fetch-price endpoint for paginated price history retrieval.
|
|
6
6
|
*/
|
|
7
7
|
import type { MCPTool } from '../../types/mcp.js';
|
|
8
8
|
export declare const fetchPriceHistoryTool: MCPTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPriceHistory.d.ts","sourceRoot":"","sources":["../../../src/tools/pools/fetchPriceHistory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"fetchPriceHistory.d.ts","sourceRoot":"","sources":["../../../src/tools/pools/fetchPriceHistory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKlD,eAAO,MAAM,qBAAqB,EAAE,OA+FnC,CAAC"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Fetch Price History Tool
|
|
4
4
|
*
|
|
5
|
-
* Queries historical token price data from
|
|
6
|
-
*
|
|
5
|
+
* Queries historical token price data from DEX Backend API.
|
|
6
|
+
* Uses the /price-oracle/fetch-price endpoint for paginated price history retrieval.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.fetchPriceHistoryTool = void 0;
|
|
@@ -12,12 +12,14 @@ const error_handler_js_1 = require("../../utils/error-handler.js");
|
|
|
12
12
|
const common_schemas_js_1 = require("../../schemas/common-schemas.js");
|
|
13
13
|
exports.fetchPriceHistoryTool = {
|
|
14
14
|
name: 'gala_launchpad_fetch_price_history',
|
|
15
|
-
description: `Fetch historical price snapshots for DEX tokens from
|
|
15
|
+
description: `Fetch historical price snapshots for DEX tokens from the DEX Backend API.
|
|
16
|
+
|
|
17
|
+
**Endpoint:** \`/price-oracle/fetch-price\`
|
|
16
18
|
|
|
17
19
|
**Requirements:**
|
|
18
|
-
-
|
|
20
|
+
- DEX Backend API must be configured (dexBackendBaseUrl in SDK config)
|
|
19
21
|
- Node.js environment only (not available in browser)
|
|
20
|
-
-
|
|
22
|
+
- Token parameter is required
|
|
21
23
|
|
|
22
24
|
**Use Cases:**
|
|
23
25
|
- Historical price analysis and charting
|
|
@@ -25,7 +27,7 @@ exports.fetchPriceHistoryTool = {
|
|
|
25
27
|
- Volatility analysis over time periods
|
|
26
28
|
- Data export for external analytics
|
|
27
29
|
|
|
28
|
-
**Performance:**
|
|
30
|
+
**Performance:** API-based queries with pagination support (max 100 items per page).`,
|
|
29
31
|
inputSchema: {
|
|
30
32
|
type: 'object',
|
|
31
33
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPriceHistory.js","sourceRoot":"","sources":["../../../src/tools/pools/fetchPriceHistory.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,6EAAkE;AAClE,mEAAiE;AACjE,uEAAiF;AAEpE,QAAA,qBAAqB,GAAY;IAC5C,IAAI,EAAE,oCAAoC;IAC1C,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"fetchPriceHistory.js","sourceRoot":"","sources":["../../../src/tools/pools/fetchPriceHistory.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,6EAAkE;AAClE,mEAAiE;AACjE,uEAAiF;AAEpE,QAAA,qBAAqB,GAAY;IAC5C,IAAI,EAAE,oCAAoC;IAC1C,WAAW,EAAE;;;;;;;;;;;;;;;qFAesE;IAEnF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,oGAAoG;qBACvG;oBACD;wBACE,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,UAAU,EAAE;gCACV,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,kCAAkC;6BAChD;4BACD,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,+BAA+B;6BAC7C;4BACD,IAAI,EAAE;gCACJ,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,4BAA4B;6BAC1C;4BACD,aAAa,EAAE;gCACb,IAAI,EAAE,QAAQ;gCACd,WAAW,EAAE,oCAAoC;6BAClD;yBACF;wBACD,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC;wBAC7D,WAAW,EAAE,6BAA6B;qBAC3C;iBACF;gBACD,WAAW,EAAE,mDAAmD;aACjE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,qEAAqE;aACnF;YACD,EAAE,EAAE;gBACF,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,2DAA2D;aACzE;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;gBACrB,WAAW,EAAE,yDAAyD;aACvE;YACD,IAAI,EAAE,+BAAW;YACjB,KAAK,EAAE,IAAA,qCAAiB,EAAC,MAAM,EAAE,EAAE,CAAC;SACrC;QACD,QAAQ,EAAE,CAAC,SAAS,CAAC;KACtB;IAED,OAAO,EAAE,IAAA,oCAAiB,EAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC7C,mDAAmD;QACnD,MAAM,OAAO,GAAQ;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,OAAO,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,IAAA,qCAAa,EAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC;CACH,CAAC"}
|