@cyanheads/mcp-ts-core 0.8.11 → 0.8.12

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 (55) hide show
  1. package/CLAUDE.md +2 -1
  2. package/README.md +1 -1
  3. package/changelog/0.8.x/0.8.12.md +31 -0
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/index.js +6 -1
  6. package/dist/config/index.js.map +1 -1
  7. package/dist/services/canvas/core/CanvasInstance.d.ts +3 -4
  8. package/dist/services/canvas/core/CanvasInstance.d.ts.map +1 -1
  9. package/dist/services/canvas/core/CanvasInstance.js +3 -4
  10. package/dist/services/canvas/core/CanvasInstance.js.map +1 -1
  11. package/dist/services/canvas/core/CanvasRegistry.d.ts +5 -11
  12. package/dist/services/canvas/core/CanvasRegistry.d.ts.map +1 -1
  13. package/dist/services/canvas/core/CanvasRegistry.js +5 -13
  14. package/dist/services/canvas/core/CanvasRegistry.js.map +1 -1
  15. package/dist/services/canvas/core/DataCanvas.d.ts +2 -3
  16. package/dist/services/canvas/core/DataCanvas.d.ts.map +1 -1
  17. package/dist/services/canvas/core/DataCanvas.js +3 -8
  18. package/dist/services/canvas/core/DataCanvas.js.map +1 -1
  19. package/dist/services/canvas/core/IDataCanvasProvider.d.ts +4 -4
  20. package/dist/services/canvas/core/IDataCanvasProvider.js +4 -4
  21. package/dist/services/canvas/core/canvasFactory.d.ts +7 -15
  22. package/dist/services/canvas/core/canvasFactory.d.ts.map +1 -1
  23. package/dist/services/canvas/core/canvasFactory.js +7 -16
  24. package/dist/services/canvas/core/canvasFactory.js.map +1 -1
  25. package/dist/services/canvas/core/sqlGate.d.ts +81 -57
  26. package/dist/services/canvas/core/sqlGate.d.ts.map +1 -1
  27. package/dist/services/canvas/core/sqlGate.js +199 -80
  28. package/dist/services/canvas/core/sqlGate.js.map +1 -1
  29. package/dist/services/canvas/index.d.ts +1 -1
  30. package/dist/services/canvas/index.d.ts.map +1 -1
  31. package/dist/services/canvas/index.js +1 -1
  32. package/dist/services/canvas/index.js.map +1 -1
  33. package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts +38 -16
  34. package/dist/services/canvas/providers/duckdb/DuckdbProvider.d.ts.map +1 -1
  35. package/dist/services/canvas/providers/duckdb/DuckdbProvider.js +205 -189
  36. package/dist/services/canvas/providers/duckdb/DuckdbProvider.js.map +1 -1
  37. package/dist/services/canvas/providers/duckdb/exportWriter.d.ts +13 -25
  38. package/dist/services/canvas/providers/duckdb/exportWriter.d.ts.map +1 -1
  39. package/dist/services/canvas/providers/duckdb/exportWriter.js +15 -29
  40. package/dist/services/canvas/providers/duckdb/exportWriter.js.map +1 -1
  41. package/dist/services/canvas/providers/duckdb/schemaSniffer.d.ts +19 -26
  42. package/dist/services/canvas/providers/duckdb/schemaSniffer.d.ts.map +1 -1
  43. package/dist/services/canvas/providers/duckdb/schemaSniffer.js +30 -56
  44. package/dist/services/canvas/providers/duckdb/schemaSniffer.js.map +1 -1
  45. package/dist/services/canvas/types.d.ts +1 -2
  46. package/dist/services/canvas/types.d.ts.map +1 -1
  47. package/dist/services/canvas/types.js +1 -2
  48. package/dist/services/canvas/types.js.map +1 -1
  49. package/dist/utils/internal/requestContext.d.ts +9 -4
  50. package/dist/utils/internal/requestContext.d.ts.map +1 -1
  51. package/dist/utils/internal/requestContext.js.map +1 -1
  52. package/package.json +2 -2
  53. package/dist/logs/combined.log +0 -4
  54. package/dist/logs/error.log +0 -4
  55. package/dist/logs/interactions.log +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/canvas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,KAAK,aAAa,EAClB,cAAc,EACd,KAAK,qBAAqB,EAC1B,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/canvas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,KAAK,aAAa,EAClB,cAAc,EACd,KAAK,qBAAqB,EAC1B,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,eAAe,EACf,gBAAgB,EAChB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,GAC3B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC"}
@@ -14,6 +14,6 @@ export { CanvasInstance } from './core/CanvasInstance.js';
14
14
  export { CanvasRegistry, DEFAULT_CANVAS_REGISTRY_OPTIONS, } from './core/CanvasRegistry.js';
15
15
  export { createCanvasService } from './core/canvasFactory.js';
16
16
  export { DataCanvas } from './core/DataCanvas.js';
17
- export { ALLOWED_PLAN_OPERATORS, ALLOWED_STATEMENT_TYPES, assertReadOnlyQuery, assertValidIdentifier, collectDisallowedOperators, quoteIdentifier, } from './core/sqlGate.js';
17
+ export { ALLOWED_PLAN_OPERATORS, ALLOWED_STATEMENT_TYPES, assertNoDeniedFunctions, assertReadOnlyQuery, assertValidIdentifier, CANVAS_IDENTIFIER_REGEX, collectDisallowedOperators, collectPlanViolations, DENIED_TABLE_FUNCTIONS, quoteIdentifier, SQL_GATE_REASONS, } from './core/sqlGate.js';
18
18
  export { DuckdbProvider, } from './providers/duckdb/DuckdbProvider.js';
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/canvas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAEL,cAAc,EAEd,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAE1B,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,GAEf,MAAM,sCAAsC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/canvas/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAEL,cAAc,EAEd,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EAEtB,eAAe,EACf,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,GAEf,MAAM,sCAAsC,CAAC"}
@@ -1,13 +1,9 @@
1
1
  /**
2
- * @fileoverview DuckDB-backed implementation of {@link IDataCanvasProvider}.
3
- * One DuckDB instance per canvasId for memory isolation; a shared connection
4
- * for control-plane work (DDL, describe, drop) and per-query connections for
5
- * data-plane work so that {@link DuckDBConnection.interrupt} cancels exactly
6
- * the in-flight query without disturbing concurrent ops on the same canvas.
7
- *
8
- * Lazy-loaded via {@link lazyImport} so `@duckdb/node-api` stays a true peer
9
- * dependency — servers that don't enable canvas pay no install cost.
10
- *
2
+ * @fileoverview DuckDB-backed {@link IDataCanvasProvider}. One in-memory
3
+ * DuckDB instance per canvasId; a long-lived control connection for DDL and
4
+ * describe operations, plus a per-query connection so cancellation interrupts
5
+ * exactly the in-flight query. `@duckdb/node-api` is lazy-loaded so it stays
6
+ * a true peer dependency.
11
7
  * @module src/services/canvas/providers/duckdb/DuckdbProvider
12
8
  */
13
9
  import { type RequestContext } from '../../../../utils/internal/requestContext.js';
@@ -24,12 +20,9 @@ export interface DuckdbProviderOptions {
24
20
  /** Number of rows to sniff for schema inference. */
25
21
  schemaSniffRows: number;
26
22
  }
27
- /** DuckDB SELECT statement-type id (matches `StatementType.SELECT === 1`). */
28
- declare const STATEMENT_TYPE_SELECT_ID = 1;
29
23
  export declare class DuckdbProvider implements IDataCanvasProvider {
30
24
  private readonly options;
31
25
  readonly name = "duckdb";
32
- private duck;
33
26
  private readonly canvases;
34
27
  constructor(options: DuckdbProviderOptions);
35
28
  initCanvas(canvasId: string, _context: RequestContext): Promise<void>;
@@ -40,17 +33,46 @@ export declare class DuckdbProvider implements IDataCanvasProvider {
40
33
  query(canvasId: string, sql: string, _context: RequestContext, options?: QueryOptions): Promise<QueryResult>;
41
34
  export(canvasId: string, tableName: string, target: ExportTarget, _context: RequestContext, options?: ExportOptions): Promise<ExportResult>;
42
35
  describe(canvasId: string, _context: RequestContext, options?: DescribeOptions): Promise<TableInfo[]>;
36
+ private describeOne;
43
37
  drop(canvasId: string, name: string, _context: RequestContext): Promise<boolean>;
44
38
  clear(canvasId: string, _context: RequestContext): Promise<number>;
45
39
  private requireCanvas;
46
- private getModule;
47
40
  private runExplain;
48
41
  }
49
- /** Re-export for tests and consumer-side parsing. */
50
- export { STATEMENT_TYPE_SELECT_ID };
42
+ /**
43
+ * Coerce a value to BigInt without precision loss. `BigInt(Number(value))`
44
+ * round-trips through JS Number and truncates outside the 53-bit safe range,
45
+ * silently corrupting BIGINT IDs returned as numeric strings.
46
+ *
47
+ * @internal Exported for unit testing.
48
+ */
49
+ export declare function toBigInt(value: unknown): bigint;
50
+ /**
51
+ * Coerce to DuckDB's TIMESTAMP unit (micros since 1970-01-01 UTC, as `bigint`).
52
+ * Accepts `Date`, `bigint` (already-micros), `number` (ms-since-epoch matching
53
+ * `Date.getTime()`), and ISO 8601 strings. Throws `validationError` otherwise.
54
+ *
55
+ * @internal Exported for unit testing.
56
+ */
57
+ export declare function toTimestampMicros(value: unknown, columnName: string): bigint;
58
+ /**
59
+ * Coerce to DuckDB's DATE unit (days since 1970-01-01 UTC, as `number`).
60
+ * Accepts the same shapes as {@link toTimestampMicros}; throws otherwise.
61
+ *
62
+ * @internal Exported for unit testing.
63
+ */
64
+ export declare function toDateDays(value: unknown, columnName: string): number;
65
+ /**
66
+ * Coerce to `Uint8Array` for BLOB appends. Accepts `Uint8Array` (Node's
67
+ * `Buffer` passes through as a subclass), `ArrayBuffer`, and any other
68
+ * `ArrayBufferView`. Throws `validationError` for non-binary inputs.
69
+ *
70
+ * @internal Exported for unit testing.
71
+ */
72
+ export declare function toUint8Array(value: unknown, columnName: string): Uint8Array;
51
73
  /**
52
74
  * Map a DuckDB-thrown error to a framework error class.
53
- * @internal Exported for unit testing — not re-exported from the canvas barrel.
75
+ * @internal Exported for unit testing.
54
76
  */
55
77
  export declare function classifyDuckdbError(err: unknown): Error;
56
78
  //# sourceMappingURL=DuckdbProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DuckdbProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/canvas/providers/duckdb/DuckdbProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,oCAAoC,CAAC;AAEhG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAO7E,OAAO,KAAK,EAGV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACV,MAAM,gBAAgB,CAAC;AAqBxB,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,8EAA8E;AAC9E,QAAA,MAAM,wBAAwB,IAAI,CAAC;AAQnC,qBAAa,cAAe,YAAW,mBAAmB;IAM5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;gBAE/B,OAAO,EAAE,qBAAqB;IAMrD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBrE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAc/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAczB,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAoFzB,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC;IAsGjB,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IA8DlB,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,SAAS,EAAE,CAAC;IA2CjB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhF,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBxE,OAAO,CAAC,aAAa;YAQP,SAAS;YAKT,UAAU;CAezB;AAsHD,qDAAqD;AACrD,OAAO,EAAE,wBAAwB,EAAE,CAAC;AA4EpC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CA0BvD"}
1
+ {"version":3,"file":"DuckdbProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/canvas/providers/duckdb/DuckdbProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,oCAAoC,CAAC;AAEhG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAQ7E,OAAO,KAAK,EAGV,eAAe,EACf,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACV,MAAM,gBAAgB,CAAC;AAsBxB,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;CACzB;AAQD,qBAAa,cAAe,YAAW,mBAAmB;IAK5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;gBAE/B,OAAO,EAAE,qBAAqB;IAMrD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAerE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAc/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAYzB,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC;IAqFzB,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC;IAsGjB,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,CAAC;IAwElB,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,SAAS,EAAE,CAAC;YAiBT,WAAW;IA2BnB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhF,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBxE,OAAO,CAAC,aAAa;YAQP,UAAU;CAmBzB;AA+FD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAI/C;AAID;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAwB5E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAuBrE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,UAAU,CAW3E;AA6BD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,KAAK,CAoBvD"}