@voxgig/apidef 3.9.0 → 4.0.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/dist/apidef.d.ts +2 -2
- package/dist/apidef.js +10 -5
- package/dist/apidef.js.map +1 -1
- package/dist/guide/heuristic01.js +19 -0
- package/dist/guide/heuristic01.js.map +1 -1
- package/dist/parse.js +101 -26
- package/dist/parse.js.map +1 -1
- package/dist/utility.d.ts +2 -1
- package/dist/utility.js +23 -4
- package/dist/utility.js.map +1 -1
- package/package.json +6 -6
- package/src/apidef.ts +9 -3
- package/src/guide/heuristic01.ts +22 -0
- package/src/parse.ts +108 -27
- package/src/utility.ts +27 -4
package/dist/apidef.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ApiDefOptions, ApiDefResult } from './types';
|
|
2
2
|
import { KIT } from './types';
|
|
3
3
|
import { parse } from './parse';
|
|
4
|
-
import { nom, formatJSONIC, sanitizeSlug, getModelPath } from './utility';
|
|
4
|
+
import { nom, formatJSONIC, sanitizeSlug, slugToPascalCase, getModelPath } from './utility';
|
|
5
5
|
declare function ApiDef(opts: ApiDefOptions): {
|
|
6
6
|
generate: (spec: any) => Promise<ApiDefResult>;
|
|
7
7
|
};
|
|
@@ -15,4 +15,4 @@ export type { ApiDefOptions, };
|
|
|
15
15
|
export type { PathDef, MethodDef, ServerDef, ServerVariableDef, ParameterDef, SchemaDef, } from './def';
|
|
16
16
|
export type { CmpDesc, BasicMethodDesc, MethodDesc, MethodEntityDesc, EntityDesc, EntityPathDesc, PathDesc, OpDesc, } from './desc';
|
|
17
17
|
export type { OpName, ModelEntityRelations, ModelOpMap, ModelFieldOp, ModelField, ModelArg, ModelTarget, ModelOp, ModelEntity, Model, ModelEntityFlow, ModelEntityFlowStep, } from './model';
|
|
18
|
-
export { KIT, ApiDef, parse, formatJSONIC, sanitizeSlug, getModelPath, nom, };
|
|
18
|
+
export { KIT, ApiDef, parse, formatJSONIC, sanitizeSlug, slugToPascalCase, getModelPath, nom, };
|
package/dist/apidef.js
CHANGED
|
@@ -37,13 +37,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.nom = exports.getModelPath = exports.sanitizeSlug = exports.formatJSONIC = exports.parse = exports.KIT = void 0;
|
|
40
|
+
exports.nom = exports.getModelPath = exports.slugToPascalCase = exports.sanitizeSlug = exports.formatJSONIC = exports.parse = exports.KIT = void 0;
|
|
41
41
|
exports.ApiDef = ApiDef;
|
|
42
42
|
const Fs = __importStar(require("node:fs"));
|
|
43
43
|
const node_path_1 = __importDefault(require("node:path"));
|
|
44
44
|
const jostraca_1 = require("jostraca");
|
|
45
45
|
const util_1 = require("@voxgig/util");
|
|
46
|
-
const
|
|
46
|
+
const util_2 = require("@voxgig/util");
|
|
47
47
|
const types_1 = require("./types");
|
|
48
48
|
Object.defineProperty(exports, "KIT", { enumerable: true, get: function () { return types_1.KIT; } });
|
|
49
49
|
const guide_1 = require("./guide/guide");
|
|
@@ -54,6 +54,7 @@ const utility_1 = require("./utility");
|
|
|
54
54
|
Object.defineProperty(exports, "nom", { enumerable: true, get: function () { return utility_1.nom; } });
|
|
55
55
|
Object.defineProperty(exports, "formatJSONIC", { enumerable: true, get: function () { return utility_1.formatJSONIC; } });
|
|
56
56
|
Object.defineProperty(exports, "sanitizeSlug", { enumerable: true, get: function () { return utility_1.sanitizeSlug; } });
|
|
57
|
+
Object.defineProperty(exports, "slugToPascalCase", { enumerable: true, get: function () { return utility_1.slugToPascalCase; } });
|
|
57
58
|
Object.defineProperty(exports, "getModelPath", { enumerable: true, get: function () { return utility_1.getModelPath; } });
|
|
58
59
|
const top_1 = require("./transform/top");
|
|
59
60
|
const entity_1 = require("./transform/entity");
|
|
@@ -148,9 +149,13 @@ function ApiDef(opts) {
|
|
|
148
149
|
defpath,
|
|
149
150
|
note: defkeys.join(', ')
|
|
150
151
|
});
|
|
151
|
-
const safedef = (0,
|
|
152
|
-
|
|
153
|
-
|
|
152
|
+
const safedef = (0, util_2.decircular)(def);
|
|
153
|
+
// Only write the full JSON debug file when debug mode is enabled,
|
|
154
|
+
// as decircular + JSON.stringify + sync write is expensive for large specs.
|
|
155
|
+
if (opts.debug) {
|
|
156
|
+
const fullsrc = JSON.stringify(safedef, null, 2);
|
|
157
|
+
fs.writeFileSync(defpath + '.full.json', fullsrc);
|
|
158
|
+
}
|
|
154
159
|
ctx.def = safedef;
|
|
155
160
|
steps.push('parse');
|
|
156
161
|
// Step: guide (derive).
|
package/dist/apidef.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apidef.js","sourceRoot":"","sources":["../src/apidef.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"apidef.js","sourceRoot":"","sources":["../src/apidef.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,25 @@ async function heuristic01(ctx) {
|
|
|
60
60
|
throw result.err;
|
|
61
61
|
}
|
|
62
62
|
const guide = result.data.guide;
|
|
63
|
+
const metrics = guide.metrics;
|
|
64
|
+
const entities = Object.values(guide.entity);
|
|
65
|
+
const entityCount = entities.length;
|
|
66
|
+
let totalPaths = 0;
|
|
67
|
+
let totalOps = 0;
|
|
68
|
+
for (const ent of entities) {
|
|
69
|
+
const pathKeys = Object.keys(ent.path || {});
|
|
70
|
+
totalPaths += pathKeys.length;
|
|
71
|
+
for (const p of pathKeys) {
|
|
72
|
+
totalOps += Object.keys(ent.path[p].op || {}).length;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
ctx.log.info({
|
|
76
|
+
point: 'heuristic01',
|
|
77
|
+
note: `entities=${entityCount} paths=${metrics.count.path}` +
|
|
78
|
+
` methods=${metrics.count.method} tags=${metrics.count.tag}` +
|
|
79
|
+
` cmps=${metrics.count.cmp}` +
|
|
80
|
+
` entity-paths=${totalPaths} entity-ops=${totalOps}`,
|
|
81
|
+
});
|
|
63
82
|
return guide;
|
|
64
83
|
}
|
|
65
84
|
function ShowNode(spec) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heuristic01.js","sourceRoot":"","sources":["../../src/guide/heuristic01.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"heuristic01.js","sourceRoot":"","sources":["../../src/guide/heuristic01.ts"],"names":[],"mappings":"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"}
|
package/dist/parse.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Copyright (c) 2024-2025 Voxgig, MIT License */
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
4
|
exports.parse = parse;
|
|
8
|
-
const
|
|
9
|
-
const
|
|
5
|
+
const jsonic_1 = require("jsonic");
|
|
6
|
+
const yaml_1 = require("@jsonic/yaml");
|
|
7
|
+
const util_1 = require("@voxgig/util");
|
|
10
8
|
const utility_1 = require("./utility");
|
|
9
|
+
const yamlParser = jsonic_1.Jsonic.make().use(yaml_1.Yaml);
|
|
11
10
|
// Parse an API definition source into a JSON sructure.
|
|
12
11
|
async function parse(kind, source, meta) {
|
|
13
12
|
if ('OpenAPI' === kind) {
|
|
@@ -23,6 +22,11 @@ async function parse(kind, source, meta) {
|
|
|
23
22
|
` (${(0, utility_1.relativizePath)(meta.file)})`;
|
|
24
23
|
pe = pe.originalError;
|
|
25
24
|
}
|
|
25
|
+
else if (pe.code && pe.code.startsWith('jsonic')) {
|
|
26
|
+
pe.message =
|
|
27
|
+
`@voxgig/apidef: parse: syntax: ${pe.message}` +
|
|
28
|
+
` (${(0, utility_1.relativizePath)(meta.file)})`;
|
|
29
|
+
}
|
|
26
30
|
else {
|
|
27
31
|
pe.message =
|
|
28
32
|
`@voxgig/apidef: parse: internal: ${pe.message}` +
|
|
@@ -36,16 +40,28 @@ async function parse(kind, source, meta) {
|
|
|
36
40
|
` (${(0, utility_1.relativizePath)(meta.file)})`);
|
|
37
41
|
}
|
|
38
42
|
}
|
|
39
|
-
async function parseOpenAPI(source,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
//
|
|
43
|
+
async function parseOpenAPI(source, _meta) {
|
|
44
|
+
let parsed;
|
|
45
|
+
try {
|
|
46
|
+
parsed = yamlParser(source);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
// Rethrow jsonic parse errors with context
|
|
50
|
+
throw err;
|
|
51
|
+
}
|
|
52
|
+
// Validate parsed result is a non-null object
|
|
53
|
+
if (null == parsed || 'object' !== typeof parsed || Array.isArray(parsed)) {
|
|
54
|
+
throw new Error(`@voxgig/apidef: parse: JSON/YAML source must be an object`);
|
|
55
|
+
}
|
|
56
|
+
// Validate it's an OpenAPI or Swagger spec
|
|
57
|
+
if (!parsed.openapi && !parsed.swagger) {
|
|
58
|
+
throw new Error(`@voxgig/apidef: parse: Unsupported OpenAPI version: undefined`);
|
|
59
|
+
}
|
|
60
|
+
// Ensure components exists (Redocly used to add this automatically)
|
|
61
|
+
if (null == parsed.components) {
|
|
62
|
+
parsed.components = {};
|
|
63
|
+
}
|
|
64
|
+
// Walk the tree and add x-ref properties (preserving original $ref values)
|
|
49
65
|
const seen = new WeakSet();
|
|
50
66
|
let refCount = 0;
|
|
51
67
|
function addXRefs(obj, path = '') {
|
|
@@ -69,19 +85,78 @@ async function parseOpenAPI(source, meta) {
|
|
|
69
85
|
}
|
|
70
86
|
}
|
|
71
87
|
}
|
|
72
|
-
addXRefs(
|
|
73
|
-
//
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const bundle = await (0, openapi_core_1.bundleFromString)({
|
|
77
|
-
source: sourceWithXRefs,
|
|
78
|
-
// source,
|
|
79
|
-
config,
|
|
80
|
-
dereference: true,
|
|
81
|
-
});
|
|
82
|
-
const def = (0, decircular_1.default)(bundle.bundle.parsed);
|
|
88
|
+
addXRefs(parsed);
|
|
89
|
+
// Resolve $ref pointers
|
|
90
|
+
resolveRefs(parsed, parsed);
|
|
91
|
+
const def = (0, util_1.decircular)(parsed);
|
|
83
92
|
return def;
|
|
84
93
|
}
|
|
94
|
+
// Resolve all $ref JSON pointers in an object tree.
|
|
95
|
+
// Replaces { $ref: "#/path/to/target", "x-ref": "..." } with the
|
|
96
|
+
// resolved target's properties, preserving x-ref.
|
|
97
|
+
function resolveRefs(obj, root, visited) {
|
|
98
|
+
if (!obj || typeof obj !== 'object')
|
|
99
|
+
return;
|
|
100
|
+
if (!visited)
|
|
101
|
+
visited = new WeakSet();
|
|
102
|
+
if (visited.has(obj))
|
|
103
|
+
return;
|
|
104
|
+
visited.add(obj);
|
|
105
|
+
if (Array.isArray(obj)) {
|
|
106
|
+
for (let i = 0; i < obj.length; i++) {
|
|
107
|
+
const item = obj[i];
|
|
108
|
+
if (item && typeof item === 'object' && typeof item.$ref === 'string') {
|
|
109
|
+
const resolved = resolvePointer(root, item.$ref);
|
|
110
|
+
if (resolved !== undefined) {
|
|
111
|
+
const xref = item['x-ref'];
|
|
112
|
+
obj[i] = { ...resolved };
|
|
113
|
+
if (xref) {
|
|
114
|
+
obj[i]['x-ref'] = xref;
|
|
115
|
+
}
|
|
116
|
+
resolveRefs(obj[i], root, visited);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
resolveRefs(item, root, visited);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
for (const key of Object.keys(obj)) {
|
|
126
|
+
const val = obj[key];
|
|
127
|
+
if (val && typeof val === 'object' && typeof val.$ref === 'string') {
|
|
128
|
+
const resolved = resolvePointer(root, val.$ref);
|
|
129
|
+
if (resolved !== undefined) {
|
|
130
|
+
const xref = val['x-ref'];
|
|
131
|
+
obj[key] = { ...resolved };
|
|
132
|
+
if (xref) {
|
|
133
|
+
obj[key]['x-ref'] = xref;
|
|
134
|
+
}
|
|
135
|
+
resolveRefs(obj[key], root, visited);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
resolveRefs(val, root, visited);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Follow a JSON pointer like "#/components/schemas/Planet"
|
|
145
|
+
function resolvePointer(root, ref) {
|
|
146
|
+
if (!ref.startsWith('#/'))
|
|
147
|
+
return undefined;
|
|
148
|
+
const parts = ref
|
|
149
|
+
.substring(2)
|
|
150
|
+
.split('/')
|
|
151
|
+
.map(p => p.replace(/~1/g, '/').replace(/~0/g, '~'));
|
|
152
|
+
let current = root;
|
|
153
|
+
for (const part of parts) {
|
|
154
|
+
if (current == null || typeof current !== 'object')
|
|
155
|
+
return undefined;
|
|
156
|
+
current = current[part];
|
|
157
|
+
}
|
|
158
|
+
return current;
|
|
159
|
+
}
|
|
85
160
|
function validateSource(kind, source, meta) {
|
|
86
161
|
if (typeof source !== 'string') {
|
|
87
162
|
throw new Error(`@voxgig/apidef: parse: ${kind}: source must be a string` +
|
package/dist/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":";AAAA,iDAAiD
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
|
package/dist/utility.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ declare function validator(torig: undefined | string | string[]): any;
|
|
|
31
31
|
declare function transliterate(s: string): string;
|
|
32
32
|
declare function canonize(s: string): string;
|
|
33
33
|
declare function sanitizeSlug(s: string): string;
|
|
34
|
+
declare function slugToPascalCase(s: string): string;
|
|
34
35
|
declare function inferFieldType(name: string, specType: string): string;
|
|
35
36
|
declare function normalizeFieldName(s: string): string;
|
|
36
37
|
declare function ensureMinEntityName(name: string, existing: Record<string, any>): string;
|
|
@@ -48,4 +49,4 @@ declare function getModelPath(model: any, path: string, flags?: {
|
|
|
48
49
|
only_active?: boolean;
|
|
49
50
|
}): any;
|
|
50
51
|
export type { PathMatch };
|
|
51
|
-
export { nom, getdlog, loadFile, formatJsonSrc, depluralize, find, capture, pathMatch, makeWarner, formatJSONIC, validator, canonize, sanitizeSlug, transliterate, cleanComponentName, ensureMinEntityName, inferFieldType, normalizeFieldName, debugpath, findPathsWithPrefix, writeFileSyncWarn, warnOnError, relativizePath, getModelPath, };
|
|
52
|
+
export { nom, getdlog, loadFile, formatJsonSrc, depluralize, find, capture, pathMatch, makeWarner, formatJSONIC, validator, canonize, sanitizeSlug, slugToPascalCase, transliterate, cleanComponentName, ensureMinEntityName, inferFieldType, normalizeFieldName, debugpath, findPathsWithPrefix, writeFileSyncWarn, warnOnError, relativizePath, getModelPath, };
|
package/dist/utility.js
CHANGED
|
@@ -16,6 +16,7 @@ exports.formatJSONIC = formatJSONIC;
|
|
|
16
16
|
exports.validator = validator;
|
|
17
17
|
exports.canonize = canonize;
|
|
18
18
|
exports.sanitizeSlug = sanitizeSlug;
|
|
19
|
+
exports.slugToPascalCase = slugToPascalCase;
|
|
19
20
|
exports.transliterate = transliterate;
|
|
20
21
|
exports.cleanComponentName = cleanComponentName;
|
|
21
22
|
exports.ensureMinEntityName = ensureMinEntityName;
|
|
@@ -32,6 +33,10 @@ const jostraca_1 = require("jostraca");
|
|
|
32
33
|
const util_1 = require("@voxgig/util");
|
|
33
34
|
const struct_1 = require("@voxgig/struct");
|
|
34
35
|
const KONSOLE_LOG = console['log'];
|
|
36
|
+
// Pre-compiled regex patterns for formatJsonSrc to avoid recompilation per call.
|
|
37
|
+
const RE_JSON_KEY = /"([a-zA-Z_][a-zA-Z_0-9]*)": /g;
|
|
38
|
+
const RE_JSON_TRAILING_BRACE = /},/g;
|
|
39
|
+
const RE_JSON_COMMENT = /\n(\s*)([a-zA-Z_][a-zA-Z_0-9]*)_COMMENT:\s*"(.*)",/g;
|
|
35
40
|
function makeWarner(spec) {
|
|
36
41
|
const { point, log } = spec;
|
|
37
42
|
const history = [];
|
|
@@ -81,10 +86,9 @@ function loadFile(path, what, fs, log) {
|
|
|
81
86
|
}
|
|
82
87
|
function formatJsonSrc(jsonsrc) {
|
|
83
88
|
return jsonsrc
|
|
84
|
-
.replace(
|
|
85
|
-
.replace(
|
|
86
|
-
|
|
87
|
-
.replace(/\n(\s*)([a-zA-Z_][a-zA-Z_0-9]*)_COMMENT:\s*"(.*)",/g, '\n\n$1# $2 $3');
|
|
89
|
+
.replace(RE_JSON_KEY, '$1: ')
|
|
90
|
+
.replace(RE_JSON_TRAILING_BRACE, '}\n')
|
|
91
|
+
.replace(RE_JSON_COMMENT, '\n\n$1# $2 $3');
|
|
88
92
|
}
|
|
89
93
|
function depluralize(word) {
|
|
90
94
|
if (!word || word.length === 0) {
|
|
@@ -639,8 +643,23 @@ function sanitizeSlug(s) {
|
|
|
639
643
|
out = parts.join('-');
|
|
640
644
|
if (!out)
|
|
641
645
|
return 'unknown';
|
|
646
|
+
// Ensure the slug does not start with a digit (invalid for JS identifiers)
|
|
647
|
+
if (/^\d/.test(out)) {
|
|
648
|
+
out = 'n' + out;
|
|
649
|
+
}
|
|
642
650
|
return out;
|
|
643
651
|
}
|
|
652
|
+
// Convert a raw slug to a valid PascalCase identifier.
|
|
653
|
+
// Applies sanitizeSlug first, then converts to PascalCase.
|
|
654
|
+
function slugToPascalCase(s) {
|
|
655
|
+
const slug = sanitizeSlug(s);
|
|
656
|
+
if (slug === 'unknown')
|
|
657
|
+
return 'Unknown';
|
|
658
|
+
return slug
|
|
659
|
+
.split('-')
|
|
660
|
+
.map(p => p.charAt(0).toUpperCase() + p.slice(1))
|
|
661
|
+
.join('');
|
|
662
|
+
}
|
|
644
663
|
const BOOLEAN_NAME_RE = /^(is_|has_|can_|should_|allow_|enabled$|disabled$|active$|visible$|deleted$|verified$|public$|private$|locked$|archived$|blocked$)/;
|
|
645
664
|
const INTEGER_NAME_RE = /(_count$|_number$|^total_|^count_|^num_|^limit$|^page$|^offset$|^per_page$|^page_size$|^size$|^skip$)/;
|
|
646
665
|
const NUMBER_NAME_RE = /^(latitude$|longitude$|lat$|lng$|lon$|price$|amount$|rate$|score$|weight$|height$|width$|depth$|radius$|distance$|duration$|percentage$|percent$)/;
|
package/dist/utility.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":";;;;;AAujCE,kBAAG;AACH,0BAAO;AACP,4BAAQ;AACR,sCAAa;AACb,kCAAW;AACX,oBAAI;AACJ,0BAAO;AACP,8BAAS;AACT,gCAAU;AACV,oCAAY;AACZ,8BAAS;AACT,4BAAQ;AACR,oCAAY;AACZ,sCAAa;AACb,gDAAkB;AAClB,kDAAmB;AACnB,wCAAc;AACd,gDAAkB;AAClB,8BAAS;AACT,kDAAmB;AACnB,8CAAiB;AACjB,kCAAW;AACX,wCAAc;AACd,oCAAY;AA7kCd,0DAA4B;AAE5B,uCAA4D;AAE5D,uCAAyC;AAEzC,2CAOuB;AAUvB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;AAGlC,SAAS,UAAU,CAAC,IAAiC;IACnD,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC3B,MAAM,OAAO,GAA8D,EAAE,CAAA;IAC7E,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,GAAwB;QACjD,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,CAAA;QACnD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC,CAAA;IACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IAClB,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,iBAAiB,CAAC,IAAY,EAAE,EAAO,EAAE,IAAY,EAAE,IAAY;IAC1E,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC9B,CAAC;IACD,OAAO,GAAQ,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,GAAG;YACH,IAAI,EAAE,uBAAuB,GAAG,cAAc,CAAC,IAAI,CAAC;SACrD,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAID,SAAS,OAAO,CACd,KAAc,EACd,QAAiB;IAGjB,MAAM,GAAG,GAAG,KAAK,IAAI,GAAG,CAAA;IACxB,MAAM,IAAI,GAAG,mBAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAA;IAC3C,MAAM,CAAC,GAAG,MAAa,CAAA;IACvB,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAC9B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC,CAAA;IACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAChB,IAAI,CAAC,GAAG,GAAG,CAAC,QAAiB,EAAE,CAAiB,EAAE,EAAE,CACpD,CAAC,CAAC,GAAG,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC7E,OAAO,IAAI,CAAA;AACb,CAAC;AAED,2BAA2B;AAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAG1C,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY,EAAE,EAAU,EAAE,GAAQ;IAChE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC5C,OAAO,MAAM,CAAA;IACf,CAAC;IACD,OAAO,GAAQ,EAAE,CAAC;QAChB,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;QAC5C,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAGD,SAAS,aAAa,CAAC,OAAe;IACpC,OAAO,OAAO;SACX,OAAO,CAAC,+BAA+B,EAAE,MAAM,CAAC;SAChD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,yDAAyD;SACxD,OAAO,CAAC,qDAAqD,EAAE,eAAe,CAAC,CAAA;AACpF,CAAC;AAGD,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAA2B;QACzC,WAAW,EAAE,WAAW;QACxB,UAAU,EAAE,UAAU;QACtB,YAAY,EAAE,UAAU;QACxB,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,WAAW;QACvB,mBAAmB;QACnB,WAAW,EAAE,WAAW;QACxB,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,UAAU;QACrB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,YAAY;QACzB,UAAU,EAAE,WAAW;QACvB,SAAS,EAAE,UAAU;QACrB,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,KAAK;KACb,CAAA;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,UAAU,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QACjD,CAAC;IACH,CAAC;IAED,+CAA+C;IAE/C,+DAA+D;IAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9B,qDAAqD;QACrD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,GAAG,IAAI,CAAA;QACpB,CAAC;QACD,OAAO,IAAI,GAAG,GAAG,CAAA;IACnB,CAAC;IAED,kCAAkC;IAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,oEAAoE;IACpE,+CAA+C;IAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,8DAA8D;IAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,iEAAiE;IACjE,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QACpB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,CAAC,EACf,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IAED,2CAA2C;IAC3C,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,IAAI,CAAC,GAAQ,EAAE,IAAY;IAClC,IAAI,IAAI,GAAU,EAAE,CAAA;IACpB,IAAA,aAAI,EAAC,GAAG,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAO,EAAE,CAAW,EAAE,EAAE;QACrD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,OAAO,CAAC,IAAS,EAAE,KAAU;IACpC,IAAI,IAAI,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IAC1B,IAAI,IAAI,GAAU,EAAE,CAAA;IAEpB,IAAA,kBAAS,EAAC,IAAI,EAAE,KAAK,EAAE;QACrB,KAAK,EAAE;YACL,QAAQ;YACR,OAAO;YACP,IAAI;YACJ,OAAO;YACP,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,OAAO;SAChB;QACD,IAAI;QACJ,IAAI;KACL,CAAC,CAAA;IAEF,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACzB,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAA;AACrB,CAAC;AAGD,SAAS,QAAQ,CAAC,GAAc;IAC9B,+DAA+D;IAC/D,IAAI,iBAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;QAC1B,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;YAC9B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;YAC3B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,+CAA+C;SAC1C,IAAI,cAAK,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;QAC5B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAA;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,OAAO,CAAC,GAAc,EAAE,GAAQ,EAAE,GAAQ,EAAE,KAAU;IAC7D,+DAA+D;IAC/D,IAAI,iBAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;QAC1B,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;YAC9B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;YAC3B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;gBACrD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClC,CAAC;QACH,CAAC;IACH,CAAC;SAGI,IAAI,cAAK,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;QAE1B,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACtB,OAAM;QACR,CAAC;QAED,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA;QACnC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAA;QAClC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;QAE3B,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;QAC3B,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAA;QAE7B,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAA,eAAM,EAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE;YAC7C,IAAI,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QAEvB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YACvD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAID,SAAS,IAAI,CAAC,GAAc,EAAE,IAAS,EAAE,IAAS,EAAE,KAAU;IAC5D,IAAI,iBAAQ,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;QACrB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YAClB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;YAC9B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;YAC3B,IAAI,IAAA,eAAM,EAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnC,IAAI,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;oBACzB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;oBAC9B,IAAA,eAAM,EAAC,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE;wBACvC,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,IAAI,EAAE,GAAG,CAAC,IAAI;qBACf,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,OAAO,CAAC,GAAc,EAAE,IAAS,EAAE,IAAS,EAAE,KAAU;IAC/D,IAAI,cAAK,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;QAE1B,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA;QAEzC,MAAM,QAAQ,GACZ,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,eAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAG,EAAU,CAAC,CAAA;QAEvD,IAAI,QAAQ,YAAY,MAAM,EAAE,CAAC;YAC/B,QAAQ,GAAG;gBACT,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE;aAC3C,CAAA;QACH,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAA,eAAM,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAE3C,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxB,KAAK,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC3B,IAAI,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;gBACzB,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAA;gBAErC,IAAA,eAAM,EAAC,IAAA,cAAK,EAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE;oBACjD,IAAI,EAAE,IAAA,cAAK,EAAC;wBACV,GAAG,CAAC,IAAI;wBAER,gFAAgF;wBAChF,2DAA2D;wBAC3D,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE;qBACxE,CAAC;oBACF,IAAI,EAAE,GAAG,CAAC,IAAI;iBACf,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,OAAO,CAAC,GAAc,EAAE,GAAQ,EAAE,GAAQ,EAAE,KAAU;IAC7D,IACE,iBAAQ,KAAK,GAAG,CAAC,IAAI;WAClB,IAAI,IAAI,GAAG,CAAC,KAAK;WACjB,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,EAC1B,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEhC,oDAAoD;QACpD,gDAAgD;QAChD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAA;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAA;QAEhC,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;QAC3B,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;QAEzD,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAA;QAE1C,MAAM,KAAK,GAAG,IAAA,eAAM,EAAC,KAAK,EAAE,MAAM,EAAE;YAClC,IAAI,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAA;QAEF,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;QAE5B,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;YAC7B,IAAI,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA;QACnE,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACrB,CAAC;AACH,CAAC;AAMD,uDAAuD;AACvD,kBAAkB;AAClB,mBAAmB;AACnB,uBAAuB;AACvB,uCAAuC;AACvC,iCAAiC;AACjC,mCAAmC;AACnC,SAAS,SAAS,CAAC,IAAuB,EAAE,IAAY;IAGtD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;IAClF,MAAM,GAAG,GAAQ,EAAE,CAAA;IACnB,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IACd,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACf,GAAG,CAAC,IAAI,GAAG,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAEjE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;IACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAA;IAExB,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;IAC3B,OAAO,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAA;QACjB,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAChB,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAEpB,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;oBACb,EAAE,GAAG,CAAC,CAAA;oBACN,EAAE,EAAE,CAAA;oBACJ,EAAE,EAAE,CAAA;gBACN,CAAC;qBACI,CAAC;oBACJ,MAAK;gBACP,CAAC;YACH,CAAC;iBACI,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAChB,EAAE,EAAE,CAAA;oBACJ,MAAK;gBACP,CAAC;qBACI,CAAC;oBACJ,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;wBACZ,YAAY;wBACZ,EAAE,GAAG,EAAE,CAAA;wBACP,EAAE,GAAG,CAAC,CAAC,CAAA;oBACT,CAAC;oBACD,EAAE,GAAG,CAAC,CAAA;gBACR,CAAC;YACH,CAAC;iBACI,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;gBACvB,EAAE,EAAE,CAAA;gBACJ,EAAE,EAAE,CAAA;YACN,CAAC;iBACI,CAAC;gBACJ,EAAE,GAAG,CAAC,CAAA;gBACN,MAAK;YACP,CAAC;QACH,CAAC;aACI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,EAAE,EAAE,CAAA;YACJ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACvB,CAAC;aACI,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;YAC1B,EAAE,EAAE,CAAA;YACJ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACvB,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBACZ,YAAY;gBACZ,EAAE,GAAG,EAAE,CAAA;gBACP,EAAE,GAAG,CAAC,CAAC,CAAA;YACT,CAAC;YACD,EAAE,GAAG,CAAC,CAAA;QACR,CAAC;QAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,MAAK;QACP,CAAC;IACH,CAAC;IAED,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QAChB,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;QACd,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;QACpC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,SAAS,OAAO,CAAC,OAAe;IAC9B,OAAO,IAAI,IAAI,OAAO,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACrF,CAAC;AAGD,SAAS,YAAY,CACnB,GAAS,EACT,IAMC;IAED,IAAI,SAAS,KAAK,GAAG;QAAE,OAAO,EAAE,CAAA;IAEhC,GAAG,GAAG,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAA;IAErB,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,CAAC,CAAA;IAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACvB,MAAM,QAAQ,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,CAAA;IACrC,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAA;IACnD,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;IAEnC,MAAM,KAAK,GAAG,IAAI,CAAA;IAClB,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;IAEtE,mBAAmB;IACnB,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,UAAU,EAAO,cAAc;QACpC,MAAM,EAAE,UAAU,EAAI,eAAe;QACrC,MAAM,EAAE,UAAU,EAAI,gBAAgB;QACtC,OAAO,EAAE,UAAU,EAAG,cAAc;QACpC,IAAI,EAAE,UAAU,EAAM,cAAc;QACpC,OAAO,EAAE,UAAU,EAAG,QAAQ;QAC9B,OAAO,EAAE,UAAU,EAAG,cAAc;KACrC,CAAA;IAED,MAAM,CAAC,GAAG,CAAC,KAA0B,EAAE,IAAY,EAAE,EAAE,CACrD,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAE5D,MAAM,eAAe,GAAG,CAAC,CAAM,EAAU,EAAE;QACzC,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAA;QAClB,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;qBACpB,SAAS,CAAC,CAAC,CAAC;qBACZ,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;qBACrB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;qBACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;qBACpB,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;YACxB,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAC1E,KAAK,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;YACzD,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YAC/D,KAAK,QAAQ,CAAC;YACd,KAAK,UAAU,CAAC;YAChB,KAAK,WAAW;gBACd,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAC1B,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACnC,CAAC;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CAAC,CAAM,EAAiB,EAAE;QAC9C,IAAI,CAAC,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChF,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,CAAC,CAAA;QACnC,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAA;QAAC,CAAC;IAC7D,CAAC,CAAA;IAgBD,IAAI,KAAK,GAAG,IAAI,KAAK,CAAsC,EAAE,CAAC,CAAA;IAC9D,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;IAEZ,2DAA2D;IAC3D,IAAI,UAAU,GAAkB,IAAI,CAAA;IACpC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,UAAU,GAAG,aAAa,CAAE,GAAW,CAAC,UAAU,CAAC,CAAC,CAAA;IACtD,CAAC;IACD,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG;QACb,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU;KACrF,CAAA;IAED,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAE,CAAA;QAEzB,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;QACtB,GAAG,IAAI,CAAC,CAAA;QAER,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAA;YAChE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACtE,SAAQ;QACV,CAAC;QAED,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAA;QACnB,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAQ,CAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC7E,CAAC,GAAI,CAAS,CAAC,MAAM,EAAE,CAAA;QACzB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;QACzC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAEhG,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC,CAAA;YAChE,SAAQ;QACV,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,CAAU,CAAA;YACtB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,aAAa,EAAE,CAAC,CAAA;gBAC/D,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,CAAA;gBACzD,SAAQ;YACV,CAAC;YAED,eAAe;YACf,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,aAAa,EAAE,CAAC,CAAA;YAC/D,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,CAAA;YAEzD,0BAA0B;YAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;YACjD,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,MAAM,UAAU,GAAG,aAAa,CAAE,CAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;gBAC5D,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG;oBACb,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;oBACb,WAAW,EAAE,WAAW,GAAG,CAAC;oBAC5B,UAAU,EAAE,GAAG,WAAW,EAAE;oBAC5B,aAAa,EAAE,UAAU;iBAC1B,CAAA;YACH,CAAC;YACD,SAAQ;QACV,CAAC;QAED,eAAe;QACf,MAAM,GAAG,GAAG,CAAwB,CAAA;QACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC5D,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAE9B,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,aAAa,EAAE,CAAC,CAAA;YAC/D,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,CAAA;YACzD,SAAQ;QACV,CAAC;QAED,eAAe;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,aAAa,EAAE,CAAC,CAAA;QAC/D,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,CAAA;QAEzD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;QACnD,KAAK,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxB,SAAQ;YACV,CAAC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YACxB,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;YAE9C,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG;gBACb,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,WAAW,GAAG,CAAC;gBAC5B,UAAU,EAAE,GAAG,aAAa,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI;gBACpD,aAAa,EAAE,GAAG;aACnB,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;AAChC,CAAC;AAGD,MAAM,WAAW,GAA2B;IAC1C,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,QAAQ;CAChB,CAAA;AAGD,SAAS,SAAS,CAAC,KAAoC;IACrD,IAAI,QAAQ,KAAK,OAAO,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAA;QACvC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,KAAK,CAAA;QACxC,OAAO,KAAK,CAAA;IACd,CAAC;SACI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;SACI,CAAC;QACJ,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GACf,kEAAkE,CAAA;AAEpE,SAAS,aAAa,CAAC,CAAS;IAC9B,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,OAAO,WAAW,CAAC,IAAA,kBAAO,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;SACnE,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;AAClC,CAAC;AAGD,kEAAkE;AAClE,kEAAkE;AAClE,SAAS,YAAY,CAAC,CAAS;IAC7B,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC3C,6CAA6C;IAC7C,IAAI,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAC1B,uEAAuE;IACvE,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC/B,+CAA+C;IAC/C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;IACvC,6CAA6C;IAC7C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAEnD,uDAAuD;IACvD,oEAAoE;IACpE,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACpD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IACD,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAErB,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAA;IAC1B,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,MAAM,eAAe,GAAG,oIAAoI,CAAA;AAC5J,MAAM,eAAe,GAAG,uGAAuG,CAAA;AAC/H,MAAM,cAAc,GAAG,mJAAmJ,CAAA;AAC1K,MAAM,cAAc,GAAG,8GAA8G,CAAA;AACrI,MAAM,UAAU,GAAG,aAAa,CAAA;AAEhC,SAAS,cAAc,CAAC,IAAY,EAAE,QAAgB;IACpD,6DAA6D;IAC7D,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,YAAY,CAAA;QACnD,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,WAAW,CAAA;QAC7C,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,YAAY,CAAA;QACnD,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,WAAW,CAAA;QACjD,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,WAAW,CAAA;IACnD,CAAC;SACI,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,YAAY,CAAA;IACrD,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAGD,SAAS,kBAAkB,CAAC,CAAS;IACnC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,OAAO,CAAC;SACL,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;SACzB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;AAC1B,CAAC;AAGD,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAC7B,MAAM,mBAAmB,GAAG,EAAE,CAAA;AAE9B,SAAS,mBAAmB,CAC1B,IAAY,EACZ,QAA6B;IAE7B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAElE,4DAA4D;IAC5D,IAAI,MAAM,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,SAAS,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAA;YAC7D,IAAI,IAAI,CAAC,MAAM,GAAG,mBAAmB;gBAAE,MAAK;YAC5C,SAAS,GAAG,IAAI,CAAA;QAClB,CAAC;QACD,MAAM,GAAG,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,GAAG,MAAM,CAAA;IACvB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QACtE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,CAAA;QACT,OAAO,IAAI,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACpC,CAAC,EAAE,CAAA;QACL,CAAC;QACD,MAAM,GAAG,MAAM,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,MAAM,YAAY,GAAG,CAAC,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;AACjF,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAEnE,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,OAAO,GAAG,IAAI,CAAA;IAElB,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAA;YAClE,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YACxE,MAAK;QACP,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAClD,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,GAAG,SAAS,CAAA;YACrB,CAAC;YACD,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC;AAGD,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY,EAAE,EAAY,EAAE,MAAY;IAC1E,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;IACD,OAAO,GAAQ,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,IAAI,EAAE,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO;YAC9C,GAAG;SACJ,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;AACH,CAAC;AAID,SAAS,SAAS,CAAC,OAAe,EAAE,UAAqC,EAAE,GAAG,IAAW;IACvF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;IAE7C,IAAI,IAAI,IAAI,OAAO,IAAI,EAAE,KAAK,OAAO;QAAE,OAAM;IAE7C,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAErD,wBAAwB;QACxB,IAAI,OAAO,KAAK,UAAU;YAAE,OAAM;QAElC,qFAAqF;QACrF,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,UAAU,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE;gBAAE,OAAM;QACrE,CAAC;IACH,CAAC;IAED,WAAW,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;AACxC,CAAC;AAGD,SAAS,mBAAmB,CAC1B,GAAQ,EACR,OAAe,EACf,IAA4C;IAE5C,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,KAAK,CAAA;IACpC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,CAAA;IAElC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,aAAa,GAAG,IAAA,eAAI,EAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;SACtC,MAAM,CAAC,CAAC,OAAY,EAAE,EAAE;QACvB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;QACzC,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,kEAAkE;YAClE,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACjC,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,OAAO,aAAa,CAAC,MAAM,CAAA;AAC7B,CAAC;AAGD,0BAA0B;AAC1B,SAAS,SAAS,CAAC,CAAU;IAC3B,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAO,EAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;AAC9D,CAAC;AAGD,4DAA4D;AAC5D,2CAA2C;AAC3C,SAAS,GAAG,CAAC,CAAM,EAAE,MAAc;IACjC,IAAI,SAAS,GAAG,QAAQ,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IACzD,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;QACtB,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IACjC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,YAAY,GAAG,SAAS,GAAG,IAAI,CAAA;IACvD,GAAG;QACD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC7C,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IAE/C,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAGD,0CAA0C;AAC1C,SAAS,YAAY,CACnB,KAAU,EACV,IAAY,EACZ,KAAqD;IAErD,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAA;IACxC,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,IAAI,CAAA;IAE9C,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QACtD,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAA,CAAE,yCAAyC;IAChE,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,SAAS,GAAa,EAAE,CAAA;IAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAErB,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;gBAC1E,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,MAAM;oBAClD,sBAAsB,YAAY,MAAM;oBACxC,2BAA2B,IAAI,QAAQ,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,GAAG,CAClF,CAAA;YACH,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,2DAA2D;QAC3D,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;gBAC1E,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,MAAM;oBAClD,sBAAsB,YAAY,MAAM;oBACxC,2BAA2B,IAAI,QAAQ,OAAO,OAAO,GAAG,CACzD,CAAA;YACH,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;YACvB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;gBAC1E,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC1C,CAAC,CAAC,mBAAmB,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACzC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;gBAE1C,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,MAAM;oBAClD,sBAAsB,YAAY,MAAM;oBACxC,aAAa,IAAI,qBAAqB;oBACtC,mBAAmB,aAAa,EAAE,CACnC,CAAA;YACH,CAAC;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpB,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;QAC3B,IAAI,KAAK,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,GAAG,SAAS,CAAA;QACrB,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,OAAO,EAAE,CAAC;YAChC,MAAM,GAAG,GAAQ,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YACjD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACrC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;oBAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAChB,CAAC;yBACI,CAAC;wBACJ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAA;YACF,OAAO,GAAG,GAAG,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../src/utility.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voxgig/apidef",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"main": "dist/apidef.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"types": "dist/apidef.d.ts",
|
|
@@ -41,8 +41,7 @@
|
|
|
41
41
|
],
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@hapi/code": "^9.0.3",
|
|
44
|
-
|
|
45
|
-
"@types/node": "25.5.0",
|
|
44
|
+
"@types/node": "25.5.0",
|
|
46
45
|
"json-schema-to-ts": "^3.1.1",
|
|
47
46
|
"typescript": "^6.0.2"
|
|
48
47
|
},
|
|
@@ -51,14 +50,15 @@
|
|
|
51
50
|
"memfs": ">=4.57.1"
|
|
52
51
|
},
|
|
53
52
|
"dependencies": {
|
|
54
|
-
"@
|
|
53
|
+
"@jsonic/yaml": "0.1.1",
|
|
54
|
+
"jsonic": "^2.18.0",
|
|
55
55
|
"@voxgig/struct": "^0.0.10",
|
|
56
|
-
"@voxgig/util": "^0.
|
|
56
|
+
"@voxgig/util": "^0.3.0",
|
|
57
57
|
"chokidar": "^5.0.0",
|
|
58
58
|
"decircular": "^1.0.0",
|
|
59
59
|
"diff": "^8.0.4",
|
|
60
60
|
"gubu": "^9.0.0",
|
|
61
|
-
"jostraca": "^0.
|
|
61
|
+
"jostraca": "^0.27.0",
|
|
62
62
|
"ordu": "^4.1.1",
|
|
63
63
|
"pino": "^10.3.1",
|
|
64
64
|
"pino-pretty": "^13.1.3"
|
package/src/apidef.ts
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
|
|
12
12
|
import { prettyPino } from '@voxgig/util'
|
|
13
13
|
|
|
14
|
-
import decircular from '
|
|
14
|
+
import { decircular } from '@voxgig/util'
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
import type {
|
|
@@ -56,6 +56,7 @@ import {
|
|
|
56
56
|
makeWarner,
|
|
57
57
|
formatJSONIC,
|
|
58
58
|
sanitizeSlug,
|
|
59
|
+
slugToPascalCase,
|
|
59
60
|
writeFileSyncWarn,
|
|
60
61
|
relativizePath,
|
|
61
62
|
getModelPath,
|
|
@@ -180,9 +181,13 @@ function ApiDef(opts: ApiDefOptions) {
|
|
|
180
181
|
})
|
|
181
182
|
|
|
182
183
|
const safedef = decircular(def)
|
|
183
|
-
const fullsrc = JSON.stringify(safedef, null, 2)
|
|
184
184
|
|
|
185
|
-
|
|
185
|
+
// Only write the full JSON debug file when debug mode is enabled,
|
|
186
|
+
// as decircular + JSON.stringify + sync write is expensive for large specs.
|
|
187
|
+
if (opts.debug) {
|
|
188
|
+
const fullsrc = JSON.stringify(safedef, null, 2)
|
|
189
|
+
fs.writeFileSync(defpath + '.full.json', fullsrc)
|
|
190
|
+
}
|
|
186
191
|
|
|
187
192
|
ctx.def = safedef
|
|
188
193
|
|
|
@@ -416,6 +421,7 @@ export {
|
|
|
416
421
|
parse,
|
|
417
422
|
formatJSONIC,
|
|
418
423
|
sanitizeSlug,
|
|
424
|
+
slugToPascalCase,
|
|
419
425
|
getModelPath,
|
|
420
426
|
nom,
|
|
421
427
|
}
|
package/src/guide/heuristic01.ts
CHANGED
|
@@ -67,6 +67,7 @@ const IS_ENTCMP_METHOD_RATE = 0.21
|
|
|
67
67
|
const IS_ENTCMP_PATH_RATE = 0.41
|
|
68
68
|
|
|
69
69
|
|
|
70
|
+
|
|
70
71
|
const METHOD_IDOP: Record<string, string> = {
|
|
71
72
|
GET: 'load',
|
|
72
73
|
POST: 'create',
|
|
@@ -123,6 +124,27 @@ async function heuristic01(ctx: ApiDefContext): Promise<Guide> {
|
|
|
123
124
|
}
|
|
124
125
|
|
|
125
126
|
const guide = result.data.guide
|
|
127
|
+
const metrics = guide.metrics
|
|
128
|
+
|
|
129
|
+
const entities = Object.values(guide.entity)
|
|
130
|
+
const entityCount = entities.length
|
|
131
|
+
let totalPaths = 0
|
|
132
|
+
let totalOps = 0
|
|
133
|
+
for (const ent of entities as any[]) {
|
|
134
|
+
const pathKeys = Object.keys(ent.path || {})
|
|
135
|
+
totalPaths += pathKeys.length
|
|
136
|
+
for (const p of pathKeys) {
|
|
137
|
+
totalOps += Object.keys(ent.path[p].op || {}).length
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
ctx.log.info({
|
|
142
|
+
point: 'heuristic01',
|
|
143
|
+
note: `entities=${entityCount} paths=${metrics.count.path}` +
|
|
144
|
+
` methods=${metrics.count.method} tags=${metrics.count.tag}` +
|
|
145
|
+
` cmps=${metrics.count.cmp}` +
|
|
146
|
+
` entity-paths=${totalPaths} entity-ops=${totalOps}`,
|
|
147
|
+
})
|
|
126
148
|
|
|
127
149
|
return guide
|
|
128
150
|
|
package/src/parse.ts
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
/* Copyright (c) 2024-2025 Voxgig, MIT License */
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { Jsonic } from 'jsonic'
|
|
4
|
+
import { Yaml } from '@jsonic/yaml'
|
|
4
5
|
|
|
5
|
-
import decircular from '
|
|
6
|
+
import { decircular } from '@voxgig/util'
|
|
6
7
|
|
|
7
8
|
import { relativizePath } from './utility'
|
|
8
9
|
|
|
9
10
|
|
|
11
|
+
const yamlParser = Jsonic.make().use(Yaml)
|
|
12
|
+
|
|
10
13
|
|
|
11
14
|
// Parse an API definition source into a JSON sructure.
|
|
12
15
|
async function parse(kind: string, source: any, meta: { file: string }) {
|
|
@@ -25,6 +28,11 @@ async function parse(kind: string, source: any, meta: { file: string }) {
|
|
|
25
28
|
` (${relativizePath(meta.file)})`
|
|
26
29
|
pe = pe.originalError
|
|
27
30
|
}
|
|
31
|
+
else if (pe.code && pe.code.startsWith('jsonic')) {
|
|
32
|
+
pe.message =
|
|
33
|
+
`@voxgig/apidef: parse: syntax: ${pe.message}` +
|
|
34
|
+
` (${relativizePath(meta.file)})`
|
|
35
|
+
}
|
|
28
36
|
else {
|
|
29
37
|
pe.message =
|
|
30
38
|
`@voxgig/apidef: parse: internal: ${pe.message}` +
|
|
@@ -43,18 +51,37 @@ async function parse(kind: string, source: any, meta: { file: string }) {
|
|
|
43
51
|
}
|
|
44
52
|
|
|
45
53
|
|
|
46
|
-
async function parseOpenAPI(source: any,
|
|
47
|
-
|
|
48
|
-
|
|
54
|
+
async function parseOpenAPI(source: any, _meta?: any) {
|
|
55
|
+
let parsed: any
|
|
56
|
+
|
|
57
|
+
try {
|
|
58
|
+
parsed = yamlParser(source)
|
|
59
|
+
}
|
|
60
|
+
catch (err: any) {
|
|
61
|
+
// Rethrow jsonic parse errors with context
|
|
62
|
+
throw err
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// Validate parsed result is a non-null object
|
|
66
|
+
if (null == parsed || 'object' !== typeof parsed || Array.isArray(parsed)) {
|
|
67
|
+
throw new Error(
|
|
68
|
+
`@voxgig/apidef: parse: JSON/YAML source must be an object`
|
|
69
|
+
)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Validate it's an OpenAPI or Swagger spec
|
|
73
|
+
if (!parsed.openapi && !parsed.swagger) {
|
|
74
|
+
throw new Error(
|
|
75
|
+
`@voxgig/apidef: parse: Unsupported OpenAPI version: undefined`
|
|
76
|
+
)
|
|
77
|
+
}
|
|
49
78
|
|
|
50
|
-
//
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
dereference: false,
|
|
55
|
-
})
|
|
79
|
+
// Ensure components exists (Redocly used to add this automatically)
|
|
80
|
+
if (null == parsed.components) {
|
|
81
|
+
parsed.components = {}
|
|
82
|
+
}
|
|
56
83
|
|
|
57
|
-
// Walk the tree and add x-ref properties
|
|
84
|
+
// Walk the tree and add x-ref properties (preserving original $ref values)
|
|
58
85
|
const seen = new WeakSet()
|
|
59
86
|
let refCount = 0
|
|
60
87
|
|
|
@@ -80,25 +107,82 @@ async function parseOpenAPI(source: any, meta?: any) {
|
|
|
80
107
|
}
|
|
81
108
|
}
|
|
82
109
|
|
|
83
|
-
addXRefs(
|
|
110
|
+
addXRefs(parsed)
|
|
84
111
|
|
|
85
|
-
//
|
|
86
|
-
|
|
112
|
+
// Resolve $ref pointers
|
|
113
|
+
resolveRefs(parsed, parsed)
|
|
87
114
|
|
|
88
|
-
|
|
89
|
-
const bundle = await bundleFromString({
|
|
90
|
-
source: sourceWithXRefs,
|
|
91
|
-
// source,
|
|
92
|
-
config,
|
|
93
|
-
dereference: true,
|
|
94
|
-
})
|
|
95
|
-
|
|
96
|
-
const def = decircular(bundle.bundle.parsed)
|
|
115
|
+
const def = decircular(parsed)
|
|
97
116
|
|
|
98
117
|
return def
|
|
99
118
|
}
|
|
100
119
|
|
|
101
120
|
|
|
121
|
+
// Resolve all $ref JSON pointers in an object tree.
|
|
122
|
+
// Replaces { $ref: "#/path/to/target", "x-ref": "..." } with the
|
|
123
|
+
// resolved target's properties, preserving x-ref.
|
|
124
|
+
function resolveRefs(obj: any, root: any, visited?: WeakSet<any>) {
|
|
125
|
+
if (!obj || typeof obj !== 'object') return
|
|
126
|
+
if (!visited) visited = new WeakSet()
|
|
127
|
+
if (visited.has(obj)) return
|
|
128
|
+
visited.add(obj)
|
|
129
|
+
|
|
130
|
+
if (Array.isArray(obj)) {
|
|
131
|
+
for (let i = 0; i < obj.length; i++) {
|
|
132
|
+
const item = obj[i]
|
|
133
|
+
if (item && typeof item === 'object' && typeof item.$ref === 'string') {
|
|
134
|
+
const resolved = resolvePointer(root, item.$ref)
|
|
135
|
+
if (resolved !== undefined) {
|
|
136
|
+
const xref = item['x-ref']
|
|
137
|
+
obj[i] = { ...resolved }
|
|
138
|
+
if (xref) {
|
|
139
|
+
obj[i]['x-ref'] = xref
|
|
140
|
+
}
|
|
141
|
+
resolveRefs(obj[i], root, visited)
|
|
142
|
+
}
|
|
143
|
+
} else {
|
|
144
|
+
resolveRefs(item, root, visited)
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
} else {
|
|
148
|
+
for (const key of Object.keys(obj)) {
|
|
149
|
+
const val = obj[key]
|
|
150
|
+
if (val && typeof val === 'object' && typeof val.$ref === 'string') {
|
|
151
|
+
const resolved = resolvePointer(root, val.$ref)
|
|
152
|
+
if (resolved !== undefined) {
|
|
153
|
+
const xref = val['x-ref']
|
|
154
|
+
obj[key] = { ...resolved }
|
|
155
|
+
if (xref) {
|
|
156
|
+
obj[key]['x-ref'] = xref
|
|
157
|
+
}
|
|
158
|
+
resolveRefs(obj[key], root, visited)
|
|
159
|
+
}
|
|
160
|
+
} else {
|
|
161
|
+
resolveRefs(val, root, visited)
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
// Follow a JSON pointer like "#/components/schemas/Planet"
|
|
169
|
+
function resolvePointer(root: any, ref: string): any {
|
|
170
|
+
if (!ref.startsWith('#/')) return undefined
|
|
171
|
+
|
|
172
|
+
const parts = ref
|
|
173
|
+
.substring(2)
|
|
174
|
+
.split('/')
|
|
175
|
+
.map(p => p.replace(/~1/g, '/').replace(/~0/g, '~'))
|
|
176
|
+
|
|
177
|
+
let current = root
|
|
178
|
+
for (const part of parts) {
|
|
179
|
+
if (current == null || typeof current !== 'object') return undefined
|
|
180
|
+
current = current[part]
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return current
|
|
184
|
+
}
|
|
185
|
+
|
|
102
186
|
|
|
103
187
|
function validateSource(kind: string, source: any, meta: { file: string }) {
|
|
104
188
|
if (typeof source !== 'string') {
|
|
@@ -121,9 +205,6 @@ function validateSource(kind: string, source: any, meta: { file: string }) {
|
|
|
121
205
|
}
|
|
122
206
|
|
|
123
207
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
208
|
export {
|
|
128
209
|
parse,
|
|
129
210
|
}
|
package/src/utility.ts
CHANGED
|
@@ -24,6 +24,11 @@ import type {
|
|
|
24
24
|
|
|
25
25
|
const KONSOLE_LOG = console['log']
|
|
26
26
|
|
|
27
|
+
// Pre-compiled regex patterns for formatJsonSrc to avoid recompilation per call.
|
|
28
|
+
const RE_JSON_KEY = /"([a-zA-Z_][a-zA-Z_0-9]*)": /g
|
|
29
|
+
const RE_JSON_TRAILING_BRACE = /},/g
|
|
30
|
+
const RE_JSON_COMMENT = /\n(\s*)([a-zA-Z_][a-zA-Z_0-9]*)_COMMENT:\s*"(.*)",/g
|
|
31
|
+
|
|
27
32
|
|
|
28
33
|
function makeWarner(spec: { point: string, log: Log }): Warner {
|
|
29
34
|
const { point, log } = spec
|
|
@@ -90,10 +95,9 @@ function loadFile(path: string, what: string, fs: FsUtil, log: Log) {
|
|
|
90
95
|
|
|
91
96
|
function formatJsonSrc(jsonsrc: string) {
|
|
92
97
|
return jsonsrc
|
|
93
|
-
.replace(
|
|
94
|
-
.replace(
|
|
95
|
-
|
|
96
|
-
.replace(/\n(\s*)([a-zA-Z_][a-zA-Z_0-9]*)_COMMENT:\s*"(.*)",/g, '\n\n$1# $2 $3')
|
|
98
|
+
.replace(RE_JSON_KEY, '$1: ')
|
|
99
|
+
.replace(RE_JSON_TRAILING_BRACE, '}\n')
|
|
100
|
+
.replace(RE_JSON_COMMENT, '\n\n$1# $2 $3')
|
|
97
101
|
}
|
|
98
102
|
|
|
99
103
|
|
|
@@ -772,10 +776,28 @@ function sanitizeSlug(s: string): string {
|
|
|
772
776
|
out = parts.join('-')
|
|
773
777
|
|
|
774
778
|
if (!out) return 'unknown'
|
|
779
|
+
|
|
780
|
+
// Ensure the slug does not start with a digit (invalid for JS identifiers)
|
|
781
|
+
if (/^\d/.test(out)) {
|
|
782
|
+
out = 'n' + out
|
|
783
|
+
}
|
|
784
|
+
|
|
775
785
|
return out
|
|
776
786
|
}
|
|
777
787
|
|
|
778
788
|
|
|
789
|
+
// Convert a raw slug to a valid PascalCase identifier.
|
|
790
|
+
// Applies sanitizeSlug first, then converts to PascalCase.
|
|
791
|
+
function slugToPascalCase(s: string): string {
|
|
792
|
+
const slug = sanitizeSlug(s)
|
|
793
|
+
if (slug === 'unknown') return 'Unknown'
|
|
794
|
+
return slug
|
|
795
|
+
.split('-')
|
|
796
|
+
.map(p => p.charAt(0).toUpperCase() + p.slice(1))
|
|
797
|
+
.join('')
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
|
|
779
801
|
const BOOLEAN_NAME_RE = /^(is_|has_|can_|should_|allow_|enabled$|disabled$|active$|visible$|deleted$|verified$|public$|private$|locked$|archived$|blocked$)/
|
|
780
802
|
const INTEGER_NAME_RE = /(_count$|_number$|^total_|^count_|^num_|^limit$|^page$|^offset$|^per_page$|^page_size$|^size$|^skip$)/
|
|
781
803
|
const NUMBER_NAME_RE = /^(latitude$|longitude$|lat$|lng$|lon$|price$|amount$|rate$|score$|weight$|height$|width$|depth$|radius$|distance$|duration$|percentage$|percent$)/
|
|
@@ -1090,6 +1112,7 @@ export {
|
|
|
1090
1112
|
validator,
|
|
1091
1113
|
canonize,
|
|
1092
1114
|
sanitizeSlug,
|
|
1115
|
+
slugToPascalCase,
|
|
1093
1116
|
transliterate,
|
|
1094
1117
|
cleanComponentName,
|
|
1095
1118
|
ensureMinEntityName,
|