@webda/content-mapper 4.0.0-beta.6 → 4.0.0-beta.8
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/README.md +102 -0
- package/lib/context.d.ts.map +1 -1
- package/lib/context.js +3 -1
- package/lib/context.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/module-discovery.d.ts.map +1 -1
- package/lib/module-discovery.js +4 -1
- package/lib/module-discovery.js.map +1 -1
- package/lib/module.d.ts +55 -2
- package/lib/module.d.ts.map +1 -1
- package/lib/module.js +312 -6
- package/lib/module.js.map +1 -1
- package/lib/schema/action.d.ts +11 -2
- package/lib/schema/action.d.ts.map +1 -1
- package/lib/schema/action.js +46 -2
- package/lib/schema/action.js.map +1 -1
- package/lib/schema/annotations.d.ts +22 -0
- package/lib/schema/annotations.d.ts.map +1 -1
- package/lib/schema/annotations.js +31 -0
- package/lib/schema/annotations.js.map +1 -1
- package/lib/schema/converter.d.ts +11 -0
- package/lib/schema/converter.d.ts.map +1 -1
- package/lib/schema/converter.js +101 -10
- package/lib/schema/converter.js.map +1 -1
- package/lib/schema/worker.d.ts +2 -0
- package/lib/schema/worker.d.ts.map +1 -1
- package/lib/schema/worker.js +2 -1
- package/lib/schema/worker.js.map +1 -1
- package/lib/session.d.ts.map +1 -1
- package/lib/session.js +2 -0
- package/lib/session.js.map +1 -1
- package/package.json +1 -1
package/lib/schema/action.js
CHANGED
|
@@ -14,10 +14,38 @@
|
|
|
14
14
|
* resolved return type.
|
|
15
15
|
*
|
|
16
16
|
* Both are then flattened by {@link normalizeDefinitions}.
|
|
17
|
+
*
|
|
18
|
+
* A streamed parameter (`AsyncIterable<T>`, only parameter) or return
|
|
19
|
+
* (`AsyncGenerator<T>`) is described by `T` and marked `x-webda-stream`.
|
|
17
20
|
*/
|
|
18
21
|
import { SignatureKind, SymbolFlags } from "typescript/unstable/sync";
|
|
19
22
|
import * as is from "typescript/unstable/ast/is";
|
|
20
23
|
import { SchemaConverter } from "./converter.js";
|
|
24
|
+
import { SchemaConversionError } from "./types.js";
|
|
25
|
+
/** Keyword marking a `.input`/`.output` schema whose side of the operation is a stream of that schema. */
|
|
26
|
+
export const STREAM_KEYWORD = "x-webda-stream";
|
|
27
|
+
/** Generic interfaces whose first type argument is the element of a stream. */
|
|
28
|
+
const STREAM_TYPES = new Set(["AsyncIterable", "AsyncIterableIterator", "AsyncGenerator"]);
|
|
29
|
+
/**
|
|
30
|
+
* The element type of an async stream type.
|
|
31
|
+
* @param type - a parameter or (Promise-unwrapped) return type
|
|
32
|
+
* @param checker - the resident checker
|
|
33
|
+
* @returns `T` for `AsyncIterable<T>`, `AsyncIterableIterator<T>` or `AsyncGenerator<T, …>`, else undefined
|
|
34
|
+
*/
|
|
35
|
+
export function streamElementType(type, checker) {
|
|
36
|
+
if (!STREAM_TYPES.has(type.getSymbol()?.name ?? "") || !type.isTypeReference())
|
|
37
|
+
return undefined;
|
|
38
|
+
return checker.getTypeArguments(type)[0];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Mark a converted element schema as a stream.
|
|
42
|
+
* @param schema - the element schema
|
|
43
|
+
* @returns the same schema
|
|
44
|
+
*/
|
|
45
|
+
function markStream(schema) {
|
|
46
|
+
schema[STREAM_KEYWORD] = true;
|
|
47
|
+
return schema;
|
|
48
|
+
}
|
|
21
49
|
/**
|
|
22
50
|
* Schema for an action's arguments.
|
|
23
51
|
*
|
|
@@ -32,11 +60,24 @@ import { SchemaConverter } from "./converter.js";
|
|
|
32
60
|
export function generateActionInput(method, options) {
|
|
33
61
|
const { checker, project } = options;
|
|
34
62
|
const signature = callSignatureOf(method, options);
|
|
63
|
+
const parameters = signature?.getParameters() ?? [];
|
|
64
|
+
// A streamed parameter is the whole input: its element type describes each message
|
|
65
|
+
const streamed = parameters.map(parameter => streamElementType(checker.getTypeOfSymbolAtLocation(parameter, method.parent), checker));
|
|
66
|
+
const at = streamed.findIndex(element => element !== undefined);
|
|
67
|
+
if (at >= 0) {
|
|
68
|
+
if (parameters.length !== 1) {
|
|
69
|
+
throw new SchemaConversionError("A streamed parameter (AsyncIterable<T>) must be the only parameter of an operation", `/${parameters[at].name}`, checker.typeToString(checker.getTypeOfSymbolAtLocation(parameters[at], method.parent)));
|
|
70
|
+
}
|
|
71
|
+
const converter = new SchemaConverter({ project, checker, mode: "input" });
|
|
72
|
+
const element = converter.fromType(streamed[at], method.parent);
|
|
73
|
+
delete element.$schema;
|
|
74
|
+
return normalizeDefinitions(markStream(element));
|
|
75
|
+
}
|
|
35
76
|
// Hand-built, not converted: this root is why `.input` carries no
|
|
36
77
|
// `$schema` and keeps its keys in declaration order.
|
|
37
78
|
const schema = { type: "object", properties: {} };
|
|
38
79
|
const required = [];
|
|
39
|
-
for (const parameter of
|
|
80
|
+
for (const parameter of parameters) {
|
|
40
81
|
const converter = new SchemaConverter({ project, checker, mode: "input" });
|
|
41
82
|
const parameterType = checker.getTypeOfSymbolAtLocation(parameter, method.parent);
|
|
42
83
|
const parameterSchema = converter.fromType(parameterType, method.parent);
|
|
@@ -66,8 +107,11 @@ export function generateActionOutput(method, options) {
|
|
|
66
107
|
const resolved = unwrapPromise(returned, checker);
|
|
67
108
|
if (!resolved)
|
|
68
109
|
return undefined;
|
|
110
|
+
// A streamed return is described by its element type
|
|
111
|
+
const element = streamElementType(resolved, checker);
|
|
69
112
|
const converter = new SchemaConverter({ project, checker, mode: "output" });
|
|
70
|
-
|
|
113
|
+
const schema = converter.fromType(element ?? resolved, method.parent);
|
|
114
|
+
return normalizeDefinitions(element ? markStream(schema) : schema);
|
|
71
115
|
}
|
|
72
116
|
/**
|
|
73
117
|
* The first call signature of a method.
|
package/lib/schema/action.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/schema/action.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/schema/action.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,28 @@ export declare const Annotations: {
|
|
|
27
27
|
/** Tag text is copied verbatim as a string. */
|
|
28
28
|
readonly string: readonly ["title", "description", "id", "format", "pattern", "ref", "comment", "contentMediaType", "contentEncoding", "discriminator", "markdownDescription", "deprecationMessage"];
|
|
29
29
|
};
|
|
30
|
+
/**
|
|
31
|
+
* JSON Schema keyword marking a configuration value that must be encrypted
|
|
32
|
+
*
|
|
33
|
+
* `true` marks the whole value (every string below it), a list of names marks
|
|
34
|
+
* only those children of an object: `@secret password,connectionString`.
|
|
35
|
+
*
|
|
36
|
+
* Set by a `@secret` JSDoc tag on a property, or on a class (like
|
|
37
|
+
* `SecretString`) so every property typed with it is a secret. The `x-` prefix
|
|
38
|
+
* keeps it clear of a future standard keyword, as for `x-webda-stream`.
|
|
39
|
+
*/
|
|
40
|
+
export declare const SECRET_KEYWORD = "x-webda-secret";
|
|
41
|
+
/**
|
|
42
|
+
* The value of the {@link SECRET_KEYWORD} keyword for a `@secret` tag
|
|
43
|
+
*
|
|
44
|
+
* Only the leading list of names counts, so prose can follow it:
|
|
45
|
+
* `@secret password,connectionString - forwarded to pg`. A name can be a dotted
|
|
46
|
+
* path, arrays on the way are traversed: `users.token`. Prose right after the
|
|
47
|
+
* tag would read as a name: start it with `-`.
|
|
48
|
+
* @param text - the tag text: empty or `true` for the whole value, or child names separated by commas
|
|
49
|
+
* @returns `true` or the child names
|
|
50
|
+
*/
|
|
51
|
+
export declare function secretKeywordValue(text: string): true | string[];
|
|
30
52
|
/** A JSDoc comment and its tags, already rendered to text. */
|
|
31
53
|
export interface SymbolDocs {
|
|
32
54
|
/** The free-text comment, empty when absent. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/schema/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAErF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,4DAA4D;AAC5D,eAAO,MAAM,WAAW;IACtB,8DAA8D;aAC9D,cAAc,YAAG,IAAI,EAAE,SAAS,EAAE,KAAK;IACvC,wEAAwE;aACxE,OAAO,YAAG,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB;IACvF,+CAA+C;aAC/C,MAAM,YACJ,OAAO,EACP,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EAEL,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,qBAAqB,EACrB,oBAAoB;CAEd,CAAC;
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../src/schema/annotations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAErF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,4DAA4D;AAC5D,eAAO,MAAM,WAAW;IACtB,8DAA8D;aAC9D,cAAc,YAAG,IAAI,EAAE,SAAS,EAAE,KAAK;IACvC,wEAAwE;aACxE,OAAO,YAAG,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB;IACvF,+CAA+C;aAC/C,MAAM,YACJ,OAAO,EACP,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EAEL,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EACf,qBAAqB,EACrB,oBAAoB;CAEd,CAAC;AAEX;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAIhE;AAuBD,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,CAOzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,QAAQ,GAAG,SAAS,EAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,GACf,IAAI,CAwCN"}
|
|
@@ -23,6 +23,33 @@ export const Annotations = {
|
|
|
23
23
|
"deprecationMessage"
|
|
24
24
|
]
|
|
25
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* JSON Schema keyword marking a configuration value that must be encrypted
|
|
28
|
+
*
|
|
29
|
+
* `true` marks the whole value (every string below it), a list of names marks
|
|
30
|
+
* only those children of an object: `@secret password,connectionString`.
|
|
31
|
+
*
|
|
32
|
+
* Set by a `@secret` JSDoc tag on a property, or on a class (like
|
|
33
|
+
* `SecretString`) so every property typed with it is a secret. The `x-` prefix
|
|
34
|
+
* keeps it clear of a future standard keyword, as for `x-webda-stream`.
|
|
35
|
+
*/
|
|
36
|
+
export const SECRET_KEYWORD = "x-webda-secret";
|
|
37
|
+
/**
|
|
38
|
+
* The value of the {@link SECRET_KEYWORD} keyword for a `@secret` tag
|
|
39
|
+
*
|
|
40
|
+
* Only the leading list of names counts, so prose can follow it:
|
|
41
|
+
* `@secret password,connectionString - forwarded to pg`. A name can be a dotted
|
|
42
|
+
* path, arrays on the way are traversed: `users.token`. Prose right after the
|
|
43
|
+
* tag would read as a name: start it with `-`.
|
|
44
|
+
* @param text - the tag text: empty or `true` for the whole value, or child names separated by commas
|
|
45
|
+
* @returns `true` or the child names
|
|
46
|
+
*/
|
|
47
|
+
export function secretKeywordValue(text) {
|
|
48
|
+
const list = /^\s*([\w$][\w$-]*(?:\.[\w$][\w$-]*)*(?:\s*,\s*[\w$][\w$-]*(?:\.[\w$][\w$-]*)*)*)(?:\s|$)/.exec(text);
|
|
49
|
+
if (!list || list[1] === "true")
|
|
50
|
+
return true;
|
|
51
|
+
return list[1].split(",").map(name => name.trim());
|
|
52
|
+
}
|
|
26
53
|
/**
|
|
27
54
|
* Tags whose payload TypeScript consumes as a type expression, braces or not.
|
|
28
55
|
*
|
|
@@ -91,6 +118,10 @@ export function applyDocs(definition, symbol, checker, project) {
|
|
|
91
118
|
for (const tag of docs.tags) {
|
|
92
119
|
if (Annotations.boolean.includes(tag.name) || Annotations.string.includes(tag.name))
|
|
93
120
|
continue;
|
|
121
|
+
if (tag.name === "secret") {
|
|
122
|
+
target[SECRET_KEYWORD] = secretKeywordValue(tag.text);
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
94
125
|
let value;
|
|
95
126
|
try {
|
|
96
127
|
value = JSON.parse(tag.text);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/schema/annotations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../src/schema/annotations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { Checker, Project, Type } from "typescript/unstable/sync";
|
|
2
2
|
import type { Node } from "typescript/unstable/ast";
|
|
3
|
+
import { SECRET_KEYWORD } from "./annotations.ts";
|
|
3
4
|
import { type JSONSchema7 } from "./types.ts";
|
|
5
|
+
export { SECRET_KEYWORD };
|
|
4
6
|
/**
|
|
5
7
|
* Which side of an accessor pair a schema describes.
|
|
6
8
|
*
|
|
@@ -106,6 +108,15 @@ export declare class SchemaConverter {
|
|
|
106
108
|
* @param node - the property declaration
|
|
107
109
|
*/
|
|
108
110
|
private inheritAliasDocs;
|
|
111
|
+
/**
|
|
112
|
+
* The JSON types declared by a `@type` tag on the type's own declaration
|
|
113
|
+
*
|
|
114
|
+
* Only the leading type expression counts, so prose after it does not leak
|
|
115
|
+
* into the schema: `@type number | string` gives `["number", "string"]`.
|
|
116
|
+
* @param type - the class or interface type
|
|
117
|
+
* @returns the JSON types, or undefined when there is no valid `@type` tag
|
|
118
|
+
*/
|
|
119
|
+
private scalarTypeTag;
|
|
109
120
|
/**
|
|
110
121
|
* Convert a class, interface, anonymous object or generic reference.
|
|
111
122
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/schema/converter.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,OAAO,EAEP,OAAO,EAGP,IAAI,EAGL,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAc,IAAI,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../src/schema/converter.ts"],"names":[],"mappings":"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"}
|
package/lib/schema/converter.js
CHANGED
|
@@ -28,8 +28,9 @@
|
|
|
28
28
|
import { IndexKind, ObjectFlags, SignatureKind, SymbolFlags, TypeFlags } from "typescript/unstable/sync";
|
|
29
29
|
import { ModifierFlags, SyntaxKind } from "typescript/unstable/ast";
|
|
30
30
|
import * as is from "typescript/unstable/ast/is";
|
|
31
|
-
import { applyDocs } from "./annotations.js";
|
|
31
|
+
import { applyDocs, SECRET_KEYWORD } from "./annotations.js";
|
|
32
32
|
import { SchemaConversionError } from "./types.js";
|
|
33
|
+
export { SECRET_KEYWORD };
|
|
33
34
|
/** JSON Schema dialect every generated document declares. */
|
|
34
35
|
const DRAFT_07 = "http://json-schema.org/draft-07/schema#";
|
|
35
36
|
const KEEP = { optional: false, decision: "keep" };
|
|
@@ -252,8 +253,16 @@ export class SchemaConverter {
|
|
|
252
253
|
// accurate rather than best-effort.
|
|
253
254
|
return KEEP;
|
|
254
255
|
}
|
|
255
|
-
if (type.isClassOrInterface())
|
|
256
|
+
if (type.isClassOrInterface()) {
|
|
257
|
+
// A class documented `@type string` (SecretString, Duration...) is
|
|
258
|
+
// written as that scalar in the configuration: its shape is irrelevant.
|
|
259
|
+
const scalar = this.scalarTypeTag(type);
|
|
260
|
+
if (scalar) {
|
|
261
|
+
definition.type = scalar.length === 1 ? scalar[0] : scalar;
|
|
262
|
+
return KEEP;
|
|
263
|
+
}
|
|
256
264
|
return this.objectLike(type, definition, path, typeName, node, depth);
|
|
265
|
+
}
|
|
257
266
|
if (type.isUnionType())
|
|
258
267
|
return this.union(type, definition, path, node, depth);
|
|
259
268
|
if (type.isIntersectionType())
|
|
@@ -322,6 +331,27 @@ export class SchemaConverter {
|
|
|
322
331
|
definition[key] ??= value;
|
|
323
332
|
}
|
|
324
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* The JSON types declared by a `@type` tag on the type's own declaration
|
|
336
|
+
*
|
|
337
|
+
* Only the leading type expression counts, so prose after it does not leak
|
|
338
|
+
* into the schema: `@type number | string` gives `["number", "string"]`.
|
|
339
|
+
* @param type - the class or interface type
|
|
340
|
+
* @returns the JSON types, or undefined when there is no valid `@type` tag
|
|
341
|
+
*/
|
|
342
|
+
scalarTypeTag(type) {
|
|
343
|
+
const tag = type
|
|
344
|
+
.getSymbol()
|
|
345
|
+
?.getJsDocTags(this.checker)
|
|
346
|
+
.find(candidate => candidate.name === "type");
|
|
347
|
+
if (!tag?.text)
|
|
348
|
+
return undefined;
|
|
349
|
+
const expression = /^\s*([a-z]+(?:\s*\|\s*[a-z]+)*)(?:\s|$)/.exec(tag.text);
|
|
350
|
+
if (!expression)
|
|
351
|
+
return undefined;
|
|
352
|
+
const types = expression[1].split("|").map(part => part.trim());
|
|
353
|
+
return types.every(part => JSON_TYPES.includes(part)) ? types : undefined;
|
|
354
|
+
}
|
|
325
355
|
// -------------------------------------------------------------- objects --
|
|
326
356
|
/**
|
|
327
357
|
* Convert a class, interface, anonymous object or generic reference.
|
|
@@ -819,6 +849,7 @@ export class SchemaConverter {
|
|
|
819
849
|
if (branch.type === "null")
|
|
820
850
|
branch.const = null;
|
|
821
851
|
}
|
|
852
|
+
liftSecret(definition);
|
|
822
853
|
this.simplifyUnion(definition);
|
|
823
854
|
return { optional, decision: "keep" };
|
|
824
855
|
}
|
|
@@ -1219,30 +1250,90 @@ function primitiveRank(type) {
|
|
|
1219
1250
|
return undefined;
|
|
1220
1251
|
}
|
|
1221
1252
|
/**
|
|
1222
|
-
* Whether a schema says nothing but `type
|
|
1253
|
+
* Whether a schema says nothing but `type`, apart from annotations.
|
|
1254
|
+
*
|
|
1255
|
+
* Merging such branches into a `type` array drops their annotations, which
|
|
1256
|
+
* documented the member types rather than the property.
|
|
1223
1257
|
* @param schema - the schema to test
|
|
1224
|
-
* @returns true when `type` is its only keyword
|
|
1258
|
+
* @returns true when `type` is its only constraining keyword
|
|
1225
1259
|
*/
|
|
1226
1260
|
function isBareType(schema) {
|
|
1227
|
-
|
|
1261
|
+
const keys = Object.keys(withoutAnnotations(schema));
|
|
1262
|
+
return keys.length === 1 && schema.type !== undefined;
|
|
1263
|
+
}
|
|
1264
|
+
/** The JSON Schema primitive types a `@type` tag can declare. */
|
|
1265
|
+
const JSON_TYPES = ["string", "number", "integer", "boolean", "null", "object", "array"];
|
|
1266
|
+
/**
|
|
1267
|
+
* Keywords that document a schema without constraining it.
|
|
1268
|
+
*
|
|
1269
|
+
* A union member brings the documentation of its own type: a class tagged
|
|
1270
|
+
* `@type string` makes a `{ type: "string", description }` branch.
|
|
1271
|
+
*/
|
|
1272
|
+
const ANNOTATION_KEYWORDS = ["description", "title", "$comment", "examples"];
|
|
1273
|
+
/**
|
|
1274
|
+
* Remove the annotation keywords of a schema
|
|
1275
|
+
*
|
|
1276
|
+
* The secret marker is removed too: it does not change the values a branch
|
|
1277
|
+
* accepts, so `string` and `SecretString` remain duplicates.
|
|
1278
|
+
* @param schema - the schema
|
|
1279
|
+
* @returns a copy without annotations
|
|
1280
|
+
*/
|
|
1281
|
+
function withoutAnnotations(schema) {
|
|
1282
|
+
const copy = { ...schema };
|
|
1283
|
+
for (const keyword of ANNOTATION_KEYWORDS)
|
|
1284
|
+
delete copy[keyword];
|
|
1285
|
+
delete copy[SECRET_KEYWORD];
|
|
1286
|
+
return copy;
|
|
1228
1287
|
}
|
|
1229
1288
|
/**
|
|
1230
|
-
* Drop
|
|
1289
|
+
* Drop the branches of a union that accept the same values.
|
|
1290
|
+
*
|
|
1291
|
+
* Branches are compared without their annotations, so `string | SecretString`
|
|
1292
|
+
* (the class tagged `@type string`) collapses to `string`. When duplicates
|
|
1293
|
+
* merge, the annotations are dropped: they described a member type, not the
|
|
1294
|
+
* property, and would otherwise leak onto it once the union collapses. The
|
|
1295
|
+
* secret marker is kept when any merged branch had it.
|
|
1231
1296
|
* @param branches - the branch schemas
|
|
1232
1297
|
* @returns the branches, deduplicated, in first-seen order
|
|
1233
1298
|
*/
|
|
1234
1299
|
function dedupe(branches) {
|
|
1235
|
-
const seen = new
|
|
1300
|
+
const seen = new Map();
|
|
1236
1301
|
const unique = [];
|
|
1237
1302
|
for (const branch of branches) {
|
|
1238
|
-
const
|
|
1239
|
-
|
|
1303
|
+
const stripped = withoutAnnotations(branch);
|
|
1304
|
+
const key = JSON.stringify(stripped);
|
|
1305
|
+
const index = seen.get(key);
|
|
1306
|
+
if (index !== undefined) {
|
|
1307
|
+
const secret = unique[index][SECRET_KEYWORD] ?? branch[SECRET_KEYWORD];
|
|
1308
|
+
unique[index] = secret === undefined ? stripped : { ...stripped, [SECRET_KEYWORD]: secret };
|
|
1240
1309
|
continue;
|
|
1241
|
-
|
|
1310
|
+
}
|
|
1311
|
+
seen.set(key, unique.length);
|
|
1242
1312
|
unique.push(branch);
|
|
1243
1313
|
}
|
|
1244
1314
|
return unique;
|
|
1245
1315
|
}
|
|
1316
|
+
/**
|
|
1317
|
+
* Move the secret marker of union branches onto the union itself
|
|
1318
|
+
*
|
|
1319
|
+
* `string | SecretString | number` is a secret whatever branch the value
|
|
1320
|
+
* matches, and the simplifications that merge branches into a `type` array
|
|
1321
|
+
* would otherwise drop the marker.
|
|
1322
|
+
* @param definition - schema carrying `anyOf`, mutated in place
|
|
1323
|
+
*/
|
|
1324
|
+
function liftSecret(definition) {
|
|
1325
|
+
let secret;
|
|
1326
|
+
for (const branch of definition.anyOf) {
|
|
1327
|
+
if (branch[SECRET_KEYWORD] === undefined)
|
|
1328
|
+
continue;
|
|
1329
|
+
// A whole-value marker wins over a list of child names
|
|
1330
|
+
if (secret !== true)
|
|
1331
|
+
secret = branch[SECRET_KEYWORD];
|
|
1332
|
+
delete branch[SECRET_KEYWORD];
|
|
1333
|
+
}
|
|
1334
|
+
if (secret !== undefined)
|
|
1335
|
+
definition[SECRET_KEYWORD] ??= secret;
|
|
1336
|
+
}
|
|
1246
1337
|
/** Keywords compared when deciding whether tuple elements share a shape. */
|
|
1247
1338
|
const SHAPE_KEYWORDS = ["type", "const", "enum", "format", "pattern", "minimum", "maximum", "minLength", "maxLength"];
|
|
1248
1339
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../../src/schema/converter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../../src/schema/converter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAWzG,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAoB,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,6DAA6D;AAC7D,MAAM,QAAQ,GAAG,yCAAyC,CAAC;AAsC3D,MAAM,IAAI,GAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACpE,MAAM,IAAI,GAAoB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IACT,OAAO,CAAU;IACjB,OAAO,CAAU;IACjB,QAAQ,CAAS;IACjB,IAAI,CAAa;IACjB,mBAAmB,CAAU;IAC7B,cAAc,CAAiB;IAEhD,uDAAuD;IAC/C,WAAW,GAAgC,EAAE,CAAC;IACtD,sEAAsE;IAC9D,UAAU,CAAmB;IAErC;;OAEG;IACH,YAAY,OAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,CAAC,OAAO,CAAC,4BAA4B,CAAC;QACjE,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,QAAQ,CAAC;IAC3D,CAAC;IAED,4EAA4E;IAE5E;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAU;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAU,EAAE,WAAkB;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CAAC,IAAU,EAAE,QAAgB,EAAE,IAAsB;QACnE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,MAAM,IAAI,GAAgB,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAExC,MAAM,MAAM,GAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACzG,MAAM,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;QAEtC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAC,MAAmB;QACvC,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM;gBAAE,MAAM;YACnB,OAAO,MAAM,CAAC,IAAI,CAAC;YACnB,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC,WAAW,CAAC;IACpG,CAAC;IAED,2EAA2E;IAE3E;;;;;;;;;;;;OAYG;IACK,QAAQ,CACd,IAAU,EACV,UAAuB,EACvB,IAAY,EACZ,IAAsB,EACtB,KAAa;QAEb,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEjD,oEAAoE;QACpE,sEAAsE;QACtE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,WAAW;YAAE,SAAS,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,IAAI;YAAE,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAExC,kEAAkE;QAClE,oEAAoE;QACpE,4DAA4D;QAC5D,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;YACxC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC3C,IAAI,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;QAC5E,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,KAAK,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3B,UAAU,CAAC,KAAK,GAAI,IAAoB,CAAC,KAAK,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;YAC7B,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3D,IAAI,OAAO,EAAE,IAAI,KAAK,QAAQ;gBAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,iEAAiE;QACjE,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,qBAAqB,CAC7B,4GAA4G,EAC5G,IAAI,EACJ,QAAQ,CACT,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3B,UAAU,CAAC,KAAK,GAAI,IAAoB,CAAC,KAAK,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;YACpC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,oEAAoE;QACpE,2EAA2E;QAC3E,IAAI,QAAQ,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;YACjC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;YAC5B,8DAA8D;YAC9D,kEAAkE;YAClE,UAAU,CAAC,KAAK,GAAI,IAAoB,CAAC,KAAK,KAAK,IAAI,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAClC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;YACjC,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAC3B,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC;YACpB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;YAC5B,UAAU,CAAC,GAAG,GAAG,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjE,gEAAgE;YAChE,gDAAgD;YAChD,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3B,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7D,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3B,yEAAyE;YACzE,uDAAuD;YACvD,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,UAAU,CAAC,WAAW,CAAC;YAC9B,UAAU,CAAC,MAAM,KAAK,WAAW,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,uEAAuE;YACvE,oCAAoC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC9B,mEAAmE;YACnE,wEAAwE;YACxE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,MAAM,EAAE,CAAC;gBACX,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/E,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACvF,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3B,iEAAiE;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,WAAW,GAAG,WAAW,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/G,IAAI,WAAW,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,qEAAqE;gBACrE,wDAAwD;gBACxD,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC3B,MAAM,IAAI,qBAAqB,CAAC,mDAAmD,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACvG,CAAC;YACD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC;YACnC,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5D,uEAAuE;YACvE,qBAAqB;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAE/F,MAAM,IAAI,qBAAqB,CAAC,6CAA6C,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjG,CAAC;IAED;;;;;;;;OAQG;IACK,gBAAgB,CAAC,UAAuB,EAAE,IAAsB;QACtE,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC;YAAE,OAAO;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,cAAc;YAAE,OAAO;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,IAAI,GAAG,KAAK,gBAAgB;gBAAE,SAAS;YACtC,UAAsC,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAC,IAAU;QAC9B,MAAM,GAAG,GAAG,IAAI;aACb,SAAS,EAAE;YACZ,EAAE,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;aAC3B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,EAAE,IAAI;YAAE,OAAO,SAAS,CAAC;QACjC,MAAM,UAAU,GAAG,yCAAyC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU;YAAE,OAAO,SAAS,CAAC;QAClC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;;;;OAcG;IACK,UAAU,CAChB,IAAU,EACV,UAAuB,EACvB,IAAY,EACZ,QAAgB,EAChB,IAAsB,EACtB,KAAa;QAEb,oEAAoE;QACpE,uEAAuE;QACvE,wBAAwB;QACxB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC;YAExC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC;gBACtC,oEAAoE;gBACpE,kEAAkE;gBAClE,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpD,IAAI,QAAQ,KAAK,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACrC,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC3D,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC1E,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAC5G,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBACtF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC/B,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACvD,sEAAsE;gBACtE,0CAA0C;gBAC1C,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBACxF,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,8CAA8C;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjD,kEAAkE;QAClE,MAAM,MAAM,GAAgB,EAAE,GAAG,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;QAExD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACjF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;gBAAE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,IAAU;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACzF,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACnH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;OASG;IACK,WAAW,CAAC,IAAU,EAAE,IAAY;QAC1C,MAAM,MAAM,GAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,WAAW,GAAgB,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7F,MAAM,CAAC,oBAAoB,GAAG,WAAW,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC;QACtC,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC;gBAAE,SAAS;YAEpD,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC;YAChD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,SAAS,GAAG,CAAC,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC5E,IAAI,WAAW,IAAI,YAAY,CAAC,WAAW,CAAC;gBAAE,SAAS;YAEvD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY;gBAAE,SAAS;YAE5B,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACvF,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAI,UAAU,CAAC,YAAY,KAAK,IAAI;gBAAE,SAAS;YAE9E,wEAAwE;YACxE,uEAAuE;YACvE,sEAAsE;YACtE,wDAAwD;YACxD,MAAM,QAAQ,GACZ,CAAC,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC;YAC7G,IAAI,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;gBAAE,SAAS;YAE7C,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;YAChC,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC/F,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAED,sEAAsE;YACtE,uEAAuE;YACvE,6DAA6D;YAC7D,OAAO,UAAU,CAAC,KAAK,CAAC;YAExB,MAAM,CAAC,UAAU,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;YAE1C,MAAM,WAAW,GAAG,WAAW,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClH,IAAI,WAAW,EAAE,CAAC;gBAChB,oDAAoD;gBACpD,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvC,IAAI,OAAO;oBAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;YAClD,CAAC;YACD,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAClG,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,CAAC;YAED,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACvE,MAAM,CAAC,QAAQ,KAAK,EAAE,CAAC;gBACvB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACK,YAAY,CAAC,IAAc,EAAE,WAA6B,EAAE,QAAc;QAChF,IAAI,WAAW,IAAI,EAAE,CAAC,wBAAwB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAClF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY;iBAC7B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3C,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC9B,MAAM,SAAS,GAAI,MAAqD,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,SAAS;gBAAE,OAAO,SAAS,CAAC;YACjC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;OASG;IACK,kBAAkB,CAAC,MAAc,EAAE,MAAmB,EAAE,IAAiB,EAAE,IAAY;QAC7F,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7G,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACtC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,GAAG,iBAAiB,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;OASG;IACK,gBAAgB,CAAC,IAAU,EAAE,WAAqB,EAAE,QAAc;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAElG,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,UAAU,GACd,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,qEAAqE;YACrE,uEAAuE;YACvE,qEAAqE;YACrE,kEAAkE;YAClE,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC;gBAAE,OAAO,SAAS,CAAC;YACzF,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACK,qBAAqB,CAAC,IAAU,EAAE,IAAI,GAAG,IAAI,GAAG,EAAU;QAChE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACtD,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;QACpH,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5D,OAAQ,IAAgC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;OASG;IACK,cAAc,CAAC,IAAU,EAAE,QAAc;QAC/C,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1C,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBACpD,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;oBAC/B,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEtC,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACtC,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,aAAa,GAAG,oBAAoB;gBACxC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,oBAAoB,CAAC;gBACtD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAEpD,OAAO,aAAa,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;QACxE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACK,cAAc,CAAC,IAAU;QAC/B,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC1F,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB,CAAC,IAAU;QACrC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhC,MAAM,UAAU,GACd,SAAS,CAAC,MAAM;YAChB,SAAS,CAAC,MAAM;YAChB,SAAS,CAAC,OAAO;YACjB,SAAS,CAAC,aAAa;YACvB,SAAS,CAAC,aAAa;YACvB,SAAS,CAAC,cAAc,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;QACpE,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;QAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACvC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC,CAAC,CACH,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACK,UAAU,CAAC,IAA6B,EAAE,IAAsB;QACtE,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAClG,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,MAAY,EAAU,EAAE;YACtC,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAC9C,MAAM,QAAQ,GAAG,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,wEAAwE;YACxE,kEAAkE;YAClE,8BAA8B;YAC9B,OAAO,eAAe,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAE,CAAC,CAAC;QACjG,CAAC,CAAC;QAEF,OAAO,OAAO;aACX,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;aAC3C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;aAC7F,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,IAA6B,EAAE,IAAsB;QAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7D,IAAI,eAAe,IAAI,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7D,OAAO,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1F,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEhC,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,CAAC,KAAiC,EAAQ,EAAE;YAC1D,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAe,CAAC,CAAC;gBACnE,qEAAqE;gBACrE,sEAAsE;gBACtE,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC3B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC;wBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjF,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,IAA6B,EAAE,IAAsB;QACzE,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;QACnE,IAAI,gBAAgB,IAAI,EAAE,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjH,OAAO,gBAAgB,CAAC,IAAI,CAAC;QAC/B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,IAAK,IAAwB,CAAC,IAAI,CAAC;QACxD,IAAI,QAAQ,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CACX,IAA6B,EAC7B,UAAuB,EACvB,IAAY,EACZ,IAAsB,EACtB,KAAa;QAEb,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjF,2EAA2E;QAC3E,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QAEnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACjD,KAAK,EAAE,CAAC;YACR,IAAI,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC;gBACvC,QAAQ,GAAG,IAAI,CAAC;gBAChB,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAgB,EAAE,CAAC;YAC/B,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;YACpF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,EAAE,iBAAiB,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAChG,IAAI,OAAO,CAAC,QAAQ,KAAK,MAAM;gBAAE,SAAS;YAE1C,MAAM,WAAW,GAAG,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACrF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAkB,CAAC,CAAC;gBACnE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC3B,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;oBACxB,IAAI,MAAM;wBAAE,SAAS,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,CAAC;qBAAM,CAAC;oBACN,IAAI,MAAM;wBAAE,SAAS,GAAG,CAAC,CAAC,CAAC;oBAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;oBACvC,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;wBAC7B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtC,kDAAkD;gBAClD,SAAS,IAAI,CAAC,CAAC;gBACf,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;gBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QAClD,CAAC;QACD,UAAU,CAAC,UAAU,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACxC,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,UAAuB;QAC3C,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAM,CAAC;QAEjC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,KAAK,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,UAAU,CAAC,KAAK,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QACD,2EAA2E;QAC3E,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;YACzD,OAAO,UAAU,CAAC,KAAK,CAAC;YACxB,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5E,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChE,UAAU,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAsB,CAAC;YAC/E,2DAA2D;YAC3D,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,UAAU,CAAC,IAAI,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,UAAU,CAAC,KAAK,CAAC;YACxB,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAa,CAAC;YAClE,OAAO;QACT,CAAC;QACD,wDAAwD;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QAC5F,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAC9F,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YACxB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAChE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,UAAU,CAAC,KAAK,CAAC;gBACxB,UAAU,CAAC,IAAI,GAAG,SAAS,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACnC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC;QAC9B,CAAC;QACD,IAAI,UAAU,CAAC,KAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,KAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAa,CAAC;YAC3E,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E;;;;;;;;;;;OAWG;IACK,YAAY,CAClB,IAA6B,EAC7B,UAAuB,EACvB,IAAY,EACZ,KAAa;QAEb,MAAM,UAAU,GAAgC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACrC,KAAK,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;YACpC,MAAM,IAAI,GAAgB,EAAE,CAAC;YAE7B,IAAI,MAAM,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvF,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACxD,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK;oBAAE,MAAM,GAAG,KAAK,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;gBAC7E,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM;oBAAE,SAAS;gBAC/F,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEjB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;oBAAE,UAAU,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;gBAC1F,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;oBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3D,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK;oBAAE,MAAM,GAAG,KAAK,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;YAC3B,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;YACnC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC;gBAAE,UAAU,CAAC,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YAClE,UAAU,CAAC,oBAAoB,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAE5E;;;;;;;OAOG;IACK,KAAK,CAAC,IAAU,EAAE,UAAuB,EAAE,IAAY,EAAE,KAAa;QAC5E,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAA0B,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3G,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,qBAAqB,CAC7B,0CAA0C,EAC1C,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAChC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAgB,EAAE,CAAC;QAC9B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;QAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC3F,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,IAAwB,EAAE,UAAuB,EAAE,IAAY,EAAE,KAAa;QAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,gCAAgC;QAChC,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAE/F,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEtC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,IAAI,GAAgB,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;YAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAClG,UAAU,CAAC,QAAS,EAAE,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,oCAAoC;YACpC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;gBAAE,UAAU,CAAC,QAAS,EAAE,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3D,IAAI,SAAS;YAAE,UAAU,CAAC,QAAS,EAAE,CAAC;;YACjC,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;QAE3C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,2DAA2D;YAC3D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;YACrF,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;gBAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;YACpE,OAAO,UAAU,CAAC,KAAK,CAAC;YACxB,OAAO,UAAU,CAAC,QAAQ,CAAC;YAC3B,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC7B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACK,WAAW,CAAC,IAAU;QAC5B,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC3D,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACpD,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,IAAU;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAqB,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4EAA4E;IAE5E;;;;;OAKG;IACK,QAAQ,CAAC,IAAU,EAAE,QAAgB;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,IAAI,IAAI,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC5D,IAAI,IAAI,KAAK,aAAa,IAAI,QAAQ,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;QACtE,OAAO,IAAI,KAAK,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,UAAuB;QACzC,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5B,KAAK,OAAO;gBACV,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;gBAC1B,UAAU,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;gBACjE,OAAO;YACT,KAAK,QAAQ;gBACX,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAC3B,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC7B,UAAU,CAAC,gBAAgB,GAAG,0BAA0B,CAAC;gBACzD,OAAO;YACT,KAAK,KAAK;gBACR,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAC3B,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC;gBACnC,UAAU,CAAC,OAAO,GAAG,gBAAgB,CAAC;gBACtC,UAAU,CAAC,gBAAgB,GAAG,0BAA0B,CAAC;gBACzD,OAAO;YACT,KAAK,QAAQ;gBACX,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;gBAC3B,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAC;gBACtC,UAAU,CAAC,gBAAgB,GAAG,0BAA0B,CAAC;gBACzD,OAAO;QACX,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E;;;OAGG;IACK,WAAW;QACjB,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;IACzD,CAAC;IAED;;;;;;;OAOG;IACK,aAAa,CAAC,MAA4B;QAChD,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,OAAO,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzG,CAAC;IAED;;;;;;;;OAQG;IACK,aAAa,CAAC,IAAc,EAAE,WAA6B;QACjE,IAAI,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAC9B,IAAI,IAAI,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;gBACvE,IAAI,QAAQ,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,IAAU,EAAE,IAAsB;QACvD,IAAI,IAAI;YAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,IAAU;QAC7B,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtG,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,gFAAgF;AAEhF;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAe;IAC7C,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,IAAI,OAAO,EAAE,CAAC;IAChD,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,IAAU;IAC7B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAU;IAC/B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,qEAAqE;AACrE,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,IAAU;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACpC,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,SAAS,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,GAAG,SAAS,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,SAAS,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,SAAS,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,SAAS,CAAC,cAAc;QAAE,OAAQ,IAAoB,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,IAAI,KAAK,GAAG,SAAS,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,SAAS,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC1C,IAAI,KAAK,GAAG,SAAS,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,KAAK,GAAG,SAAS,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAC9C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,MAAmB;IACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;AACxD,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,MAAmB;IAC7C,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,mBAAmB;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,MAAM,CAAC,QAAuB;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC;YACvE,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;YAC5F,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,UAAuB;IACzC,IAAI,MAAe,CAAC;IACpB,KAAK,MAAM,MAAM,IAAI,UAAU,CAAC,KAAM,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,SAAS;YAAE,SAAS;QACnD,uDAAuD;QACvD,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,KAAK,SAAS;QAAE,UAAU,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;AAClE,CAAC;AAED,4EAA4E;AAC5E,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AAEtH;;;;GAIG;AACH,SAAS,aAAa,CAAC,KAAoB;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9G,OAAO,KAAK,CAAC,KAAK,CAChB,IAAI,CAAC,EAAE,CACL,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrF,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAsB;IAC3C,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IACE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;QAC9B,EAAE,CAAC,8BAA8B,CAAC,IAAI,CAAC;QACvC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC;QAC7B,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;QAC/B,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC;QAC9B,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,EACrB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;IACvC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,UAAkC;IACnD,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,KAAK,GAAG,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,UAAU,CAAC,WAAW;YACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC1C,KAAK,UAAU,CAAC,YAAY;YAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC3C,KAAK,UAAU,CAAC,WAAW;YACzB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACvC,KAAK,UAAU,CAAC,aAAa;YAC3B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAG,KAAqC,CAAC,IAAI,EAAE,CAAC;QAChF;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAU;IAC9B,OAAO,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC9G,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,IAAsB;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAI,IAAgD,CAAC,YAAY,CAAC;IAC/E,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,aAAa,CAAC;IAC9D,OAAQ,IAAoC,CAAC,aAAa,KAAK,SAAS,CAAC;AAC3E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,eAAe,CAAC,IAAsB;IAC7C,MAAM,QAAQ,GAAG,IAAI,IAAK,IAAwB,CAAC,IAAI,CAAC;IACxD,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,SAAS,OAAO,CAAC,IAAU;IACzB,OAAO,MAAM,IAAI,IAAI,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAU;IACjC,OAAQ,IAA0C,CAAC,aAAa,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,QAAQ,CAAI,KAAQ;IAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAiB,CAAC;IACrE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACvE,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/lib/schema/worker.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export interface SchemaRequest {
|
|
|
25
25
|
namespace?: string;
|
|
26
26
|
/** Top-level `capabilities`, for a `module` request; defaults to package.json `webda.capabilities`. */
|
|
27
27
|
capabilities?: Record<string, string>;
|
|
28
|
+
/** Modules a `@Shared` model method may import from, for a `module` request. */
|
|
29
|
+
sharedImports?: string[];
|
|
28
30
|
}
|
|
29
31
|
/** A batch of requests against one project. */
|
|
30
32
|
export interface WorkerRequest {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/schema/worker.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,+BAA+B;AAC/B,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3D,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uGAAuG;IACvG,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../src/schema/worker.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,+BAA+B;AAC/B,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3D,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uGAAuG;IACvG,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,0BAA0B;AAC1B,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc,CAwE7D;AAYD,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAmB3E;AAuBD;;;GAGG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAK1C"}
|