@globaltypesystem/gts-ts 0.1.1 → 0.2.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/NOTICE ADDED
@@ -0,0 +1,15 @@
1
+ NOTICE
2
+
3
+ Copyright 2025–present Hypernetix Pte. Ltd.
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
package/README.md CHANGED
@@ -15,7 +15,7 @@ Featureset:
15
15
  - [x] **OP#3 - ID Parsing**: Decompose identifiers into constituent parts (vendor, package, namespace, type, version, etc.)
16
16
  - [x] **OP#4 - ID Pattern Matching**: Match identifiers against patterns containing wildcards
17
17
  - [x] **OP#5 - ID to UUID Mapping**: Generate deterministic UUIDs from GTS identifiers
18
- - [x] **OP#6 - Schema Validation**: Validate object instances against their corresponding schemas
18
+ - [x] **OP#6 - Instance Validation**: Validate object instances against their corresponding schemas
19
19
  - [x] **OP#7 - Relationship Resolution**: Load all schemas and instances, resolve inter-dependencies, and detect broken references
20
20
  - [x] **OP#8 - Compatibility Checking**: Verify that schemas with different MINOR versions are compatible
21
21
  - [x] **OP#8.1 - Backward compatibility checking**
@@ -24,6 +24,7 @@ Featureset:
24
24
  - [x] **OP#9 - Version Casting**: Transform instances between compatible MINOR versions
25
25
  - [x] **OP#10 - Query Execution**: Filter identifier collections using the GTS query language
26
26
  - [x] **OP#11 - Attribute Access**: Retrieve property values and metadata using the attribute selector (`@`)
27
+ - [x] **OP#12 - Schema Validation**: Validate schema against its precedent schema
27
28
 
28
29
  Other GTS spec [Reference Implementation](https://github.com/globaltypesystem/gts-spec/blob/main/README.md#9-reference-implementation-recommendations) recommended features support:
29
30
 
@@ -31,8 +32,8 @@ Other GTS spec [Reference Implementation](https://github.com/globaltypesystem/gt
31
32
  - [x] **CLI** - command-line interface for all GTS operations
32
33
  - [x] **Web server** - a non-production web-server with REST API for the operations processing and testing
33
34
  - [x] **x-gts-ref** - to support special GTS entity reference annotation in schemas
34
- - [ ] **YAML support** - to support YAML files (*.yml, *.yaml) as input files
35
- - [ ] **TypeSpec support** - add [typespec.io](https://typespec.io/) files (*.tsp) support
35
+ - [ ] **YAML support** - to support YAML files (`*.yml`, `*.yaml`) as input files
36
+ - [ ] **TypeSpec support** - add [typespec.io](https://typespec.io/) files (`*.tsp`) support
36
37
  - [ ] **UUID for instances** - to support UUID as ID in JSON instances
37
38
 
38
39
  ## Usage
@@ -59,7 +60,7 @@ import { extractID } from '@globaltypesystem/gts-ts';
59
60
 
60
61
  const content = {
61
62
  gtsId: 'gts.vendor.pkg.ns.type.v1.0',
62
- name: 'My Entity'
63
+ name: 'My Entity',
63
64
  };
64
65
 
65
66
  const extracted = extractID(content);
@@ -75,10 +76,7 @@ if (parsed.ok) {
75
76
  }
76
77
 
77
78
  // OP#4 - Pattern Matching
78
- const matchResult = matchIDPattern(
79
- 'gts.vendor.pkg.ns.type.v1.0',
80
- 'gts.vendor.pkg.*'
81
- );
79
+ const matchResult = matchIDPattern('gts.vendor.pkg.ns.type.v1.0', 'gts.vendor.pkg.*');
82
80
  if (matchResult.match) {
83
81
  console.log('Pattern matched!');
84
82
  }
@@ -99,7 +97,7 @@ const gts = new GTS();
99
97
  // Register an entity
100
98
  const entity = {
101
99
  gtsId: 'gts.vendor.pkg.ns.type.v1.0',
102
- name: 'My Entity'
100
+ name: 'My Entity',
103
101
  };
104
102
 
105
103
  gts.register(entity);
@@ -116,20 +114,13 @@ console.log(`Relationships: ${relationships.relationships}`);
116
114
  console.log(`Broken references: ${relationships.brokenReferences}`);
117
115
 
118
116
  // OP#8 - Check compatibility
119
- const compatResult = gts.checkCompatibility(
120
- 'gts.vendor.pkg.ns.type.v1~',
121
- 'gts.vendor.pkg.ns.type.v2~',
122
- 'backward'
123
- );
117
+ const compatResult = gts.checkCompatibility('gts.vendor.pkg.ns.type.v1~', 'gts.vendor.pkg.ns.type.v2~', 'backward');
124
118
  if (compatResult.compatible) {
125
119
  console.log('Schemas are compatible');
126
120
  }
127
121
 
128
122
  // OP#9 - Cast instance to different version
129
- const castResult = gts.castInstance(
130
- 'gts.vendor.pkg.ns.type.v1.0',
131
- 'gts.vendor.pkg.ns.type.v2~'
132
- );
123
+ const castResult = gts.castInstance('gts.vendor.pkg.ns.type.v1.0', 'gts.vendor.pkg.ns.type.v2~');
133
124
  if (castResult.ok) {
134
125
  console.log('Instance casted successfully');
135
126
  }
@@ -219,6 +210,7 @@ npx gts-server --host 127.0.0.1 --port 8000 --verbose 2
219
210
  ### API Endpoints
220
211
 
221
212
  #### Entity Management
213
+
222
214
  - `GET /entities` - List all entities
223
215
  - `GET /entities/:id` - Get specific entity
224
216
  - `POST /entities` - Add new entity
@@ -226,6 +218,7 @@ npx gts-server --host 127.0.0.1 --port 8000 --verbose 2
226
218
  - `POST /schemas` - Add new schema
227
219
 
228
220
  #### GTS Operations
221
+
229
222
  - `GET /validate-id?id=<gts_id>` - Validate GTS ID (OP#1)
230
223
  - `POST /extract-id` - Extract GTS ID from JSON (OP#2)
231
224
  - `GET /parse-id?id=<gts_id>` - Parse GTS ID (OP#3)
@@ -237,8 +230,11 @@ npx gts-server --host 127.0.0.1 --port 8000 --verbose 2
237
230
  - `POST /cast` - Cast instance (OP#9)
238
231
  - `GET /query?expr=<expression>&limit=<limit>` - Query entities (OP#10)
239
232
  - `GET /attr?path=<path>` - Get attribute value (OP#11)
233
+ - `POST /validate-schema` - Validate schema against parent schema (OP#12)
234
+ - `POST /validate-entity` - Validate entity (schema or instance) (OP#12)
240
235
 
241
236
  #### Other
237
+
242
238
  - `GET /health` - Health check
243
239
  - `GET /openapi` - OpenAPI specification
244
240
 
@@ -24,6 +24,8 @@ export declare class GtsServer {
24
24
  private handleCast;
25
25
  private handleQuery;
26
26
  private handleAttribute;
27
+ private handleValidateSchema;
28
+ private handleValidateEntity;
27
29
  private handleOpenAPI;
28
30
  private getOpenAPIPaths;
29
31
  private getOpenAPIComponents;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAWb,MAAM,SAAS,CAAC;AAGjB,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAiBhC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,cAAc;YAoDR,iBAAiB;YAmBjB,eAAe;YAiBf,eAAe;IAwF7B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,kBAAkB;YAwDZ,iBAAiB;YA4CjB,eAAe;YAKf,gBAAgB;YAgBhB,eAAe;YAMf,aAAa;YAwCb,oBAAoB;YAepB,UAAU;YAeV,sBAAsB;YAetB,0BAA0B;YAe1B,mBAAmB;YAgBnB,UAAU;YAaV,WAAW;YA4BX,eAAe;YAgCf,aAAa;IAmB3B,OAAO,CAAC,eAAe;IAiHvB,OAAO,CAAC,oBAAoB;IAmCf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EAab,MAAM,SAAS,CAAC;AAGjB,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAiBhC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,cAAc;YA0DR,iBAAiB;YAmBjB,eAAe;YAiBf,eAAe;IAwF7B,OAAO,CAAC,oBAAoB;IAyC5B,OAAO,CAAC,kBAAkB;YAwDZ,iBAAiB;YA4CjB,eAAe;YAKf,gBAAgB;YAgBhB,eAAe;YAMf,aAAa;YAwCb,oBAAoB;YAepB,UAAU;YAeV,sBAAsB;YAetB,0BAA0B;YAe1B,mBAAmB;YAgBnB,UAAU;YAaV,WAAW;YA4BX,eAAe;YAgCf,oBAAoB;YAYpB,oBAAoB;YAwBpB,aAAa;IAmB3B,OAAO,CAAC,eAAe;IAiHvB,OAAO,CAAC,oBAAoB;IAmCf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAatB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAGnC"}
@@ -101,6 +101,10 @@ class GtsServer {
101
101
  this.fastify.get('/query', this.handleQuery.bind(this));
102
102
  // OP#11 - Attribute Access
103
103
  this.fastify.get('/attr', this.handleAttribute.bind(this));
104
+ // OP#12 - Validate Schema
105
+ this.fastify.post('/validate-schema', this.handleValidateSchema.bind(this));
106
+ // OP#12 - Validate Entity (unified)
107
+ this.fastify.post('/validate-entity', this.handleValidateEntity.bind(this));
104
108
  // OpenAPI spec
105
109
  this.fastify.get('/openapi', this.handleOpenAPI.bind(this));
106
110
  }
@@ -492,6 +496,33 @@ class GtsServer {
492
496
  }
493
497
  return this.store['store'].getAttribute(gtsId, path);
494
498
  }
499
+ // OP#12 - Validate Schema
500
+ async handleValidateSchema(request, _reply) {
501
+ const { schema_id } = request.body;
502
+ if (!schema_id) {
503
+ return { ok: false, error: 'Missing required field: schema_id' };
504
+ }
505
+ return this.store['store'].validateSchemaAgainstParent(schema_id);
506
+ }
507
+ // OP#12 - Validate Entity (unified)
508
+ async handleValidateEntity(request, _reply) {
509
+ const id = request.body.entity_id || request.body.gts_id;
510
+ if (!id) {
511
+ return { ok: false, error: 'Missing required field: entity_id or gts_id' };
512
+ }
513
+ const entity = this.store['store'].get(id);
514
+ if (!entity) {
515
+ return { ok: false, error: `Entity not found: ${id}` };
516
+ }
517
+ if (entity.isSchema) {
518
+ const result = this.store['store'].validateSchemaAgainstParent(id);
519
+ return { ...result, entity_type: 'schema' };
520
+ }
521
+ else {
522
+ const result = this.store.validateInstance(id);
523
+ return { ...result, entity_type: 'instance' };
524
+ }
525
+ }
495
526
  // OpenAPI Specification
496
527
  async handleOpenAPI() {
497
528
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
@@ -58,4 +58,11 @@ export interface AttributeParams {
58
58
  gts_id: string;
59
59
  path: string;
60
60
  }
61
+ export interface ValidateSchemaBody {
62
+ schema_id: string;
63
+ }
64
+ export interface ValidateEntityBody {
65
+ entity_id?: string;
66
+ gts_id?: string;
67
+ }
61
68
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/server/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,EAAE,GAAG,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
package/dist/store.d.ts CHANGED
@@ -32,6 +32,13 @@ export declare class GtsStore {
32
32
  private buildPath;
33
33
  private deepCopy;
34
34
  private deduplicate;
35
+ validateSchemaAgainstParent(schemaId: string): ValidationResult;
36
+ private findParentRef;
37
+ private resolveSchemaFully;
38
+ private mergePropertySchemas;
39
+ private extractOverlay;
40
+ private compareOverlayToBase;
41
+ private comparePropertyConstraints;
35
42
  getAttribute(gtsId: string, path: string): any;
36
43
  private getNestedValue;
37
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAC;AAKvG,qBAAa,QAAQ;IACnB,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,GAAG,CAAM;gBAEL,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;YAgBzB,UAAU;IAYxB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAyBlC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvC,MAAM,IAAI,UAAU,EAAE;IAItB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBhD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IA4FjD,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,wBAAwB;IAwDhC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAKxC,OAAO,CAAC,oBAAoB;IAqD5B,OAAO,CAAC,oBAAoB;IA4C5B,OAAO,CAAC,eAAe;IAIvB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAsEjG,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,wBAAwB;IA0FhC,OAAO,CAAC,4BAA4B;IAiCpC,OAAO,CAAC,qBAAqB;IAoD7B,OAAO,CAAC,aAAa;IA4CrB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,GAAG;IAmFzD,OAAO,CAAC,WAAW;IAoFnB,OAAO,CAAC,oBAAoB;IAoI5B,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,WAAW;IAKnB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG;IAqB9C,OAAO,CAAC,cAAc;CA2DvB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAavF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAkB,MAAM,SAAS,CAAC;AAYvG,qBAAa,QAAQ;IACnB,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,GAAG,CAAM;gBAEL,MAAM,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;YAgBzB,UAAU;IAYxB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAyBlC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIvC,MAAM,IAAI,UAAU,EAAE;IAItB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBhD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB;IA4FjD,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,wBAAwB;IA8EhC,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAKxC,OAAO,CAAC,oBAAoB;IAqD5B,OAAO,CAAC,oBAAoB;IA4C5B,OAAO,CAAC,eAAe;IAIvB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,mBAAmB;IAsEjG,OAAO,CAAC,cAAc;IA4BtB,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,yBAAyB;IAIjC,OAAO,CAAC,wBAAwB;IA0FhC,OAAO,CAAC,4BAA4B;IAiCpC,OAAO,CAAC,qBAAqB;IAoD7B,OAAO,CAAC,aAAa;IA4CrB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,GAAG;IAmFzD,OAAO,CAAC,WAAW;IAoFnB,OAAO,CAAC,oBAAoB;IAoI5B,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,QAAQ;IAiBhB,OAAO,CAAC,WAAW;IAKnB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB;IA2C/D,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,kBAAkB;IAkF1B,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,cAAc;IAgDtB,OAAO,CAAC,oBAAoB;IAkD5B,OAAO,CAAC,0BAA0B;IAgKlC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG;IAqB9C,OAAO,CAAC,cAAc;CA2DvB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,UAAU,CAavF"}