@typespec/compiler 0.60.0-dev.11 → 0.60.0-dev.13
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/manifest.js +2 -2
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/messages.d.ts +25 -12
- package/dist/src/core/messages.d.ts.map +1 -1
- package/dist/src/core/messages.js +7 -2
- package/dist/src/core/messages.js.map +1 -1
- package/dist/src/core/program.d.ts.map +1 -1
- package/dist/src/core/program.js +47 -187
- package/dist/src/core/program.js.map +1 -1
- package/dist/src/core/source-loader.d.ts +34 -0
- package/dist/src/core/source-loader.d.ts.map +1 -0
- package/dist/src/core/source-loader.js +241 -0
- package/dist/src/core/source-loader.js.map +1 -0
- package/dist/src/core/type-relation-checker.d.ts +9 -9
- package/dist/src/core/type-relation-checker.d.ts.map +1 -1
- package/dist/src/core/type-relation-checker.js +123 -60
- package/dist/src/core/type-relation-checker.js.map +1 -1
- package/dist/src/lib/service.js +2 -2
- package/dist/src/lib/service.js.map +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import { getMaxItems, getMaxLength, getMaxValueAsNumeric, getMaxValueExclusiveAs
|
|
|
6
6
|
import { createDiagnostic } from "./messages.js";
|
|
7
7
|
import { numericRanges } from "./numeric-ranges.js";
|
|
8
8
|
import { isArrayModelType, isNeverType, isUnknownType, isValue, isVoidType } from "./type-utils.js";
|
|
9
|
-
import { SyntaxKind, } from "./types.js";
|
|
9
|
+
import { NoTarget, SyntaxKind, } from "./types.js";
|
|
10
10
|
var Related;
|
|
11
11
|
(function (Related) {
|
|
12
12
|
Related[Related["false"] = 0] = "false";
|
|
@@ -45,8 +45,59 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
45
45
|
* @param diagnosticTarget Target for the diagnostic, unless something better can be inferred.
|
|
46
46
|
*/
|
|
47
47
|
function isTypeAssignableTo(source, target, diagnosticTarget) {
|
|
48
|
-
const [related,
|
|
49
|
-
return [related === Related.true,
|
|
48
|
+
const [related, errors] = isTypeAssignableToInternal(source, target, diagnosticTarget, new MultiKeyMap());
|
|
49
|
+
return [related === Related.true, convertErrorsToDiagnostics(errors, diagnosticTarget)];
|
|
50
|
+
}
|
|
51
|
+
function isTargetChildOf(target, base) {
|
|
52
|
+
const errorNode = "kind" in target && typeof target.kind === "number" ? target : target.node;
|
|
53
|
+
const baseNode = "kind" in base && typeof base.kind === "number" ? base : base.node;
|
|
54
|
+
let currentNode = errorNode;
|
|
55
|
+
while (currentNode) {
|
|
56
|
+
if (currentNode === baseNode) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
currentNode = currentNode.parent;
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
function convertErrorsToDiagnostics(errors, diagnosticBase) {
|
|
64
|
+
return errors.flatMap((x) => convertErrorToDiagnostic(x, diagnosticBase));
|
|
65
|
+
}
|
|
66
|
+
function combineErrorMessage(error) {
|
|
67
|
+
let message = error.message;
|
|
68
|
+
let current = error.children[0];
|
|
69
|
+
let indent = " ";
|
|
70
|
+
while (current !== undefined) {
|
|
71
|
+
message += current.message
|
|
72
|
+
.split("\n")
|
|
73
|
+
.map((line) => `\n${indent}${line}`)
|
|
74
|
+
.join("");
|
|
75
|
+
indent += " ";
|
|
76
|
+
current = current.children[0];
|
|
77
|
+
}
|
|
78
|
+
return message;
|
|
79
|
+
}
|
|
80
|
+
function flattenErrors(error, diagnosticBase) {
|
|
81
|
+
if (!isTargetChildOf(error.target, diagnosticBase)) {
|
|
82
|
+
return [{ ...error, target: diagnosticBase }];
|
|
83
|
+
}
|
|
84
|
+
if (error.children.length === 0) {
|
|
85
|
+
return [error];
|
|
86
|
+
}
|
|
87
|
+
return error.children.flatMap((x) => flattenErrors(x, error.target));
|
|
88
|
+
}
|
|
89
|
+
function convertErrorToDiagnostic(error, diagnosticBase) {
|
|
90
|
+
const flattened = flattenErrors(error, diagnosticBase);
|
|
91
|
+
return flattened.map((error) => {
|
|
92
|
+
const messageBase = error.skipIfFirst && error.children.length > 0 ? error.children[0] : error;
|
|
93
|
+
const message = combineErrorMessage(messageBase);
|
|
94
|
+
return {
|
|
95
|
+
severity: "error",
|
|
96
|
+
code: error.code,
|
|
97
|
+
message: message,
|
|
98
|
+
target: error.target,
|
|
99
|
+
};
|
|
100
|
+
});
|
|
50
101
|
}
|
|
51
102
|
/**
|
|
52
103
|
* Check if the given Value type is of the given type.
|
|
@@ -55,8 +106,8 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
55
106
|
* @param diagnosticTarget Target for the diagnostic, unless something better can be inferred.
|
|
56
107
|
*/
|
|
57
108
|
function isValueOfType(source, target, diagnosticTarget) {
|
|
58
|
-
const [related,
|
|
59
|
-
return [related === Related.true,
|
|
109
|
+
const [related, errors] = isValueOfTypeInternal(source, target, diagnosticTarget, new MultiKeyMap());
|
|
110
|
+
return [related === Related.true, convertErrorsToDiagnostics(errors, diagnosticTarget)];
|
|
60
111
|
}
|
|
61
112
|
function isTypeAssignableToInternal(source, target, diagnosticTarget, relationCache) {
|
|
62
113
|
const cached = relationCache.get([source, target]);
|
|
@@ -131,13 +182,13 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
131
182
|
return [
|
|
132
183
|
Related.false,
|
|
133
184
|
[
|
|
134
|
-
|
|
185
|
+
createTypeRelationError({
|
|
135
186
|
code: "missing-index",
|
|
136
187
|
format: {
|
|
137
188
|
indexType: getTypeName(source.indexer.key),
|
|
138
189
|
sourceType: getTypeName(target),
|
|
139
190
|
},
|
|
140
|
-
|
|
191
|
+
diagnosticTarget,
|
|
141
192
|
}),
|
|
142
193
|
],
|
|
143
194
|
];
|
|
@@ -154,7 +205,7 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
154
205
|
}
|
|
155
206
|
}
|
|
156
207
|
else if (target.kind === "Model" && source.kind === "Model") {
|
|
157
|
-
return
|
|
208
|
+
return areModelsRelated(source, target, diagnosticTarget, relationCache);
|
|
158
209
|
}
|
|
159
210
|
else if (target.kind === "Model" &&
|
|
160
211
|
isArrayModelType(program, target) &&
|
|
@@ -356,69 +407,72 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
356
407
|
}
|
|
357
408
|
return true;
|
|
358
409
|
}
|
|
359
|
-
function
|
|
410
|
+
function areModelsRelated(source, target, diagnosticTarget, relationCache) {
|
|
360
411
|
relationCache.set([source, target], Related.maybe);
|
|
361
|
-
const
|
|
412
|
+
const errors = [];
|
|
362
413
|
const remainingProperties = new Map(source.properties);
|
|
363
414
|
for (const prop of walkPropertiesInherited(target)) {
|
|
364
415
|
const sourceProperty = getProperty(source, prop.name);
|
|
365
416
|
if (sourceProperty === undefined) {
|
|
366
417
|
if (!prop.optional) {
|
|
367
|
-
|
|
418
|
+
errors.push(createTypeRelationError({
|
|
368
419
|
code: "missing-property",
|
|
369
420
|
format: {
|
|
370
421
|
propertyName: prop.name,
|
|
371
422
|
sourceType: getTypeName(source),
|
|
372
423
|
targetType: getTypeName(target),
|
|
373
424
|
},
|
|
374
|
-
|
|
425
|
+
diagnosticTarget: source,
|
|
375
426
|
}));
|
|
376
427
|
}
|
|
377
428
|
}
|
|
378
429
|
else {
|
|
379
430
|
remainingProperties.delete(prop.name);
|
|
380
431
|
if (sourceProperty.optional && !prop.optional) {
|
|
381
|
-
|
|
432
|
+
errors.push(createTypeRelationError({
|
|
382
433
|
code: "property-required",
|
|
383
434
|
format: {
|
|
384
435
|
propName: prop.name,
|
|
385
436
|
targetType: getTypeName(target),
|
|
386
437
|
},
|
|
387
|
-
|
|
438
|
+
diagnosticTarget,
|
|
388
439
|
}));
|
|
389
440
|
}
|
|
390
|
-
const [related,
|
|
441
|
+
const [related, propErrors] = isTypeAssignableToInternal(sourceProperty.type, prop.type, diagnosticTarget, relationCache);
|
|
391
442
|
if (!related) {
|
|
392
|
-
|
|
443
|
+
errors.push(...wrapUnassignablePropertyErrors(sourceProperty, propErrors));
|
|
393
444
|
}
|
|
394
445
|
}
|
|
395
446
|
}
|
|
396
447
|
if (target.indexer) {
|
|
397
448
|
const [_, indexerDiagnostics] = arePropertiesAssignableToIndexer(remainingProperties, target.indexer.value, diagnosticTarget, relationCache);
|
|
398
|
-
|
|
449
|
+
errors.push(...indexerDiagnostics);
|
|
399
450
|
// For anonymous models we don't need an indexer
|
|
400
451
|
if (source.name !== "" && target.indexer.key.name !== "integer") {
|
|
401
452
|
const [related, indexDiagnostics] = hasIndexAndIsAssignableTo(source, target, diagnosticTarget, relationCache);
|
|
402
453
|
if (!related) {
|
|
403
|
-
|
|
454
|
+
errors.push(...indexDiagnostics);
|
|
404
455
|
}
|
|
405
456
|
}
|
|
406
457
|
}
|
|
407
458
|
else if (shouldCheckExcessProperties(source)) {
|
|
408
459
|
for (const [propName, prop] of remainingProperties) {
|
|
409
460
|
if (shouldCheckExcessProperty(prop)) {
|
|
410
|
-
|
|
461
|
+
errors.push(createTypeRelationError({
|
|
411
462
|
code: "unexpected-property",
|
|
412
463
|
format: {
|
|
413
464
|
propertyName: propName,
|
|
414
465
|
type: getEntityName(target),
|
|
415
466
|
},
|
|
416
|
-
|
|
467
|
+
diagnosticTarget: prop,
|
|
417
468
|
}));
|
|
418
469
|
}
|
|
419
470
|
}
|
|
420
471
|
}
|
|
421
|
-
return [
|
|
472
|
+
return [
|
|
473
|
+
errors.length === 0 ? Related.true : Related.false,
|
|
474
|
+
wrapUnassignableErrors(source, target, errors),
|
|
475
|
+
];
|
|
422
476
|
}
|
|
423
477
|
/** If we should check for excess properties on the given model. */
|
|
424
478
|
function shouldCheckExcessProperties(model) {
|
|
@@ -447,13 +501,13 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
447
501
|
return [
|
|
448
502
|
Related.false,
|
|
449
503
|
[
|
|
450
|
-
|
|
504
|
+
createTypeRelationError({
|
|
451
505
|
code: "missing-index",
|
|
452
506
|
format: {
|
|
453
507
|
indexType: getTypeName(target.indexer.key),
|
|
454
508
|
sourceType: getTypeName(source),
|
|
455
509
|
},
|
|
456
|
-
|
|
510
|
+
diagnosticTarget,
|
|
457
511
|
}),
|
|
458
512
|
],
|
|
459
513
|
];
|
|
@@ -467,16 +521,7 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
467
521
|
return [
|
|
468
522
|
Related.false,
|
|
469
523
|
[
|
|
470
|
-
|
|
471
|
-
code: "unassignable",
|
|
472
|
-
messageId: "withDetails",
|
|
473
|
-
format: {
|
|
474
|
-
sourceType: getEntityName(source),
|
|
475
|
-
targetType: getTypeName(target),
|
|
476
|
-
details: `Source has ${source.values.length} element(s) but target requires ${minItems}.`,
|
|
477
|
-
},
|
|
478
|
-
target: diagnosticTarget,
|
|
479
|
-
}),
|
|
524
|
+
createUnassignableDiagnostic(source, target, diagnosticTarget, `Source has ${source.values.length} element(s) but target requires ${minItems}.`),
|
|
480
525
|
],
|
|
481
526
|
];
|
|
482
527
|
}
|
|
@@ -484,16 +529,7 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
484
529
|
return [
|
|
485
530
|
Related.false,
|
|
486
531
|
[
|
|
487
|
-
|
|
488
|
-
code: "unassignable",
|
|
489
|
-
messageId: "withDetails",
|
|
490
|
-
format: {
|
|
491
|
-
sourceType: getEntityName(source),
|
|
492
|
-
targetType: getTypeName(target),
|
|
493
|
-
details: `Source has ${source.values.length} element(s) but target only allows ${maxItems}.`,
|
|
494
|
-
},
|
|
495
|
-
target: diagnosticTarget,
|
|
496
|
-
}),
|
|
532
|
+
createUnassignableDiagnostic(source, target, diagnosticTarget, `Source has ${source.values.length} element(s) but target only allows ${maxItems}.`),
|
|
497
533
|
],
|
|
498
534
|
];
|
|
499
535
|
}
|
|
@@ -510,16 +546,7 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
510
546
|
return [
|
|
511
547
|
Related.false,
|
|
512
548
|
[
|
|
513
|
-
|
|
514
|
-
code: "unassignable",
|
|
515
|
-
messageId: "withDetails",
|
|
516
|
-
format: {
|
|
517
|
-
sourceType: getEntityName(source),
|
|
518
|
-
targetType: getTypeName(target),
|
|
519
|
-
details: `Source has ${source.values.length} element(s) but target requires ${target.values.length}.`,
|
|
520
|
-
},
|
|
521
|
-
target: diagnosticTarget,
|
|
522
|
-
}),
|
|
549
|
+
createUnassignableDiagnostic(source, target, diagnosticTarget, `Source has ${source.values.length} element(s) but target requires ${target.values.length}.`),
|
|
523
550
|
],
|
|
524
551
|
];
|
|
525
552
|
}
|
|
@@ -564,17 +591,53 @@ export function createTypeRelationChecker(program, checker) {
|
|
|
564
591
|
return [Related.false, [createUnassignableDiagnostic(source, target, diagnosticTarget)]];
|
|
565
592
|
}
|
|
566
593
|
}
|
|
567
|
-
function createUnassignableDiagnostic(source, target, diagnosticTarget) {
|
|
568
|
-
return createDiagnostic({
|
|
569
|
-
code: "unassignable",
|
|
570
|
-
format: { targetType: getEntityName(target), value: getEntityName(source) },
|
|
571
|
-
target: diagnosticTarget,
|
|
572
|
-
});
|
|
573
|
-
}
|
|
574
594
|
function isTypeSpecNamespace(namespace) {
|
|
575
595
|
return (namespace.name === "TypeSpec" &&
|
|
576
596
|
(namespace.namespace === checker.getGlobalNamespaceType() ||
|
|
577
597
|
namespace.namespace?.projectionBase === checker.getGlobalNamespaceType()));
|
|
578
598
|
}
|
|
579
599
|
}
|
|
600
|
+
function wrapUnassignableErrors(source, target, errors) {
|
|
601
|
+
const error = createUnassignableDiagnostic(source, target, source);
|
|
602
|
+
error.children = errors;
|
|
603
|
+
return [error];
|
|
604
|
+
}
|
|
605
|
+
function wrapUnassignablePropertyErrors(source, errors) {
|
|
606
|
+
const error = createTypeRelationError({
|
|
607
|
+
code: "property-unassignable",
|
|
608
|
+
diagnosticTarget: source,
|
|
609
|
+
format: {
|
|
610
|
+
propName: source.name,
|
|
611
|
+
},
|
|
612
|
+
skipIfFirst: true,
|
|
613
|
+
});
|
|
614
|
+
error.children = errors;
|
|
615
|
+
return [error];
|
|
616
|
+
}
|
|
617
|
+
function createTypeRelationError({ code, format, details, diagnosticTarget, skipIfFirst, }) {
|
|
618
|
+
const diag = createDiagnostic({
|
|
619
|
+
code: code,
|
|
620
|
+
format: format,
|
|
621
|
+
target: NoTarget,
|
|
622
|
+
});
|
|
623
|
+
return {
|
|
624
|
+
code: code,
|
|
625
|
+
message: details ? `${diag.message}\n ${details}` : diag.message,
|
|
626
|
+
target: diagnosticTarget,
|
|
627
|
+
skipIfFirst,
|
|
628
|
+
children: [],
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
function createUnassignableDiagnostic(source, target, diagnosticTarget, details) {
|
|
632
|
+
return createTypeRelationError({
|
|
633
|
+
code: "unassignable",
|
|
634
|
+
format: {
|
|
635
|
+
sourceType: getEntityName(source),
|
|
636
|
+
targetType: getEntityName(target),
|
|
637
|
+
},
|
|
638
|
+
diagnosticTarget,
|
|
639
|
+
details,
|
|
640
|
+
});
|
|
641
|
+
}
|
|
642
|
+
// #endregion
|
|
580
643
|
//# sourceMappingURL=type-relation-checker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-relation-checker.js","sourceRoot":"","sources":["../../../src/core/type-relation-checker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"type-relation-checker.js","sourceRoot":"","sources":["../../../src/core/type-relation-checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAW,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACL,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,6BAA6B,EAC7B,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAuB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAcL,QAAQ,EAKR,UAAU,GAKX,MAAM,YAAY,CAAC;AAoBpB,IAAK,OAIJ;AAJD,WAAK,OAAO;IACV,uCAAS,CAAA;IACT,qCAAQ,CAAA;IACR,uCAAS,CAAA;AACX,CAAC,EAJI,OAAO,KAAP,OAAO,QAIX;AAiBD;;GAEG;AACH,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,eAAe;IAC9B,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,iBAAiB,EAAE,mBAAmB;IACtC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,cAAc;CACpB,CAAC;AAEX,MAAM,2BAA2B,GAAiC,oBAAoB,CAAC;AAIvF,MAAM,UAAU,yBAAyB,CAAC,OAAgB,EAAE,OAAgB;IAC1E,OAAO;QACL,kBAAkB;QAClB,aAAa;QACb,gBAAgB;QAChB,iBAAiB;KAClB,CAAC;IAEF;;;;;OAKG;IACH,SAAS,kBAAkB,CACzB,MAAoC,EACpC,MAAc,EACd,gBAA+B;QAE/B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,0BAA0B,CAClD,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,IAAI,WAAW,EAA6B,CAC7C,CAAC;QACF,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS,eAAe,CAAC,MAAqB,EAAE,IAAmB;QACjE,MAAM,SAAS,GACb,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,MAAc,CAAC,IAAI,CAAC;QACtF,MAAM,QAAQ,GACZ,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAY,CAAC,IAAI,CAAC;QAC9E,IAAI,WAAW,GAAqB,SAAS,CAAC;QAC9C,OAAO,WAAW,EAAE,CAAC;YACnB,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;QACnC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,0BAA0B,CACjC,MAAoC,EACpC,cAA6B;QAE7B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,SAAS,mBAAmB,CAAC,KAAwB;QACnD,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,OAAO,CAAC,OAAO;iBACvB,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC;iBACnC,IAAI,CAAC,EAAE,CAAC,CAAC;YACZ,MAAM,IAAI,IAAI,CAAC;YACf,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,aAAa,CACpB,KAAwB,EACxB,cAA6B;QAE7B,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,SAAS,wBAAwB,CAC/B,KAAwB,EACxB,cAA6B;QAE7B,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7E,MAAM,OAAO,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAEjD,OAAO;gBACL,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,SAAS,aAAa,CACpB,MAAa,EACb,MAAY,EACZ,gBAA+B;QAE/B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAC7C,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,IAAI,WAAW,EAA6B,CAC7C,CAAC;QACF,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS,0BAA0B,CACjC,MAAoC,EACpC,MAAc,EACd,gBAA+B,EAC/B,aAA2E;QAE3E,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,wBAAwB,CACpD,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,IAAI,WAAW,EAA6B,CAC7C,CAAC;QACF,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5C,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS,wBAAwB,CAC/B,MAAoC,EACpC,MAAc,EACd,gBAA+B,EAC/B,aAAqD;QAErD,0DAA0D;QAC1D,IACE,MAAM,IAAI,MAAM;YAChB,YAAY,IAAI,MAAM;YACtB,MAAM,CAAC,IAAI,KAAK,mBAAmB;YACnC,MAAM,CAAC,UAAU,EAAE,IAAI;YACvB,MAAM,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS;YACzC,MAAM,CAAC,UAAU,KAAK,0BAA0B;YAChD,MAAM,CAAC,SAAS,EAChB,CAAC;YACD,MAAM,CAAC,UAAU,CAAC,GAAG,0BAA0B,CAC7C,MAAM,CAAC,UAAU,CAAC,IAAI,EACtB,MAAM,CAAC,SAAS,EAChB,gBAAgB,EAChB,aAAa,CACd,CAAC;YACF,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACpD,gBAAgB,CACd,OAAO,EACP,6BAA6B,UAAU,gCAAgC,aAAa,CAClF,MAAM,CACP,yDAAyD,UAAU,GAAG,EACvE,gBAAgB,CACjB,CAAC;gBACF,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC5D,MAAM,GAAG,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,eAAe,EAAE,CAAC;YAC1C,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEjD,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,eAAe,EAAE,CAAC;YAC1C,OAAO,iCAAiC,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,KAAK,0BAA0B,EAAE,CAAC;YACrD,OAAO,sCAAsC,CAC3C,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,aAAa,CACd,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,0BAA0B,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9F,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,KAAK,0BAA0B,EAAE,CAAC;YACrD,OAAO,0BAA0B,CAAC,MAAM,CAAC,IAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrE,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,mBAAmB,KAAK,KAAK,EAAE,CAAC;YACzC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,MAAM,CAAC,iBAAiB,CAAC,GAAG,0BAA0B,CACpD,OAAO,CAAC,IAAI,EACZ,MAAM,EACN,gBAAgB,EAChB,aAAa,CACd,CAAC;gBACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,IACE,MAAM,CAAC,IAAI,KAAK,OAAO;YACvB,MAAM,CAAC,IAAI,KAAK,OAAO;YACvB,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxB,MAAM,CAAC,OAAO,KAAK,SAAS;YAC5B,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,EACrC,CAAC;YACD,OAAO;gBACL,OAAO,CAAC,KAAK;gBACb;oBACE,uBAAuB,CAAC;wBACtB,IAAI,EAAE,eAAe;wBACrB,MAAM,EAAE;4BACN,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;4BAC1C,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;yBAChC;wBACD,gBAAgB;qBACjB,CAAC;iBACH;aACF,CAAC;QACJ,CAAC;aAAM,IACL,MAAM,CAAC,IAAI,KAAK,OAAO;YACvB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC;YACjC,MAAM,CAAC,IAAI,KAAK,OAAO,EACvB,CAAC;YACD,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;gBACtC,OAAO,yBAAyB,CAC9B,MAAM,EACN,MAA2C,EAC3C,gBAAgB,EAChB,aAAa,CACd,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,iDAAiD;gBACjD,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9D,OAAO,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAC3E,CAAC;aAAM,IACL,MAAM,CAAC,IAAI,KAAK,OAAO;YACvB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC;YACjC,MAAM,CAAC,IAAI,KAAK,OAAO,EACvB,CAAC;YACD,OAAO,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACnF,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9D,OAAO,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QACnF,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnC,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAC9E,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAClC,OAAO,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,SAAS,iCAAiC,CACxC,aAAkC,EAClC,MAAuC,EACvC,gBAA+B,EAC/B,aAAqD;QAErD,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,0BAA0B,CAC/D,aAAa,CAAC,IAAI,EAClB,MAAM,EACN,gBAAgB,EAChB,aAAa,CACd,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,KAAK,0BAA0B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACzE,MAAM,CAAC,YAAY,CAAC,GAAG,0BAA0B,CAC/C,aAAa,CAAC,IAAI,EAClB,MAAM,CAAC,SAAS,EAChB,gBAAgB,EAChB,aAAa,CACd,CAAC;YAEF,IAAI,YAAY,EAAE,CAAC;gBACjB,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,SAAS,uBAAuB,CAC9B,MAAc,EACd,MAAY,EACZ,gBAA+B,EAC/B,aAAqD;QAErD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAChF,CAAC;IAED,SAAS,sCAAsC,CAC7C,MAAc,EACd,MAAgC,EAChC,gBAA+B,EAC/B,aAAqD;QAErD,IAAI,YAAY,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,KAAK,0BAA0B,EAAE,CAAC;YAC/E,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC/B,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG,0BAA0B,CACjE,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,IAAI,EACX,gBAAgB,EAChB,aAAa,CACd,CAAC;gBACF,IAAI,iBAAiB,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACtC,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG,0BAA0B,CACjE,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,gBAAgB,EAChB,aAAa,CACd,CAAC;gBACF,IAAI,iBAAiB,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBACtC,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,GAAG,0BAA0B,CAC1C,MAAM,EACN,MAAM,CAAC,IAAI,EACX,gBAAgB,EAChB,aAAa,CACd,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,CAAC,OAAO,CAAC,GAAG,uBAAuB,CACvC,MAAM,EACN,MAAM,CAAC,SAAS,EAChB,gBAAgB,EAChB,aAAa,CACd,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,0DAA0D;IAC1D,SAAS,qBAAqB,CAC5B,MAAa,EACb,MAAY,EACZ,gBAA+B,EAC/B,aAAqD;QAErD,OAAO,0BAA0B,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAAC;IAC1F,CAAC;IAED,SAAS,gBAAgB,CAAC,IAAU;QAClC,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,OAAO;YACrB,IAAI,CAAC,SAAS,EAAE,IAAI,KAAK,YAAY;YACrC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,KAAK,UAAU,CAC/C,CAAC;IACJ,CAAC;IAED,SAAS,iBAAiB,CAAC,MAAY,EAAE,MAAc;QACrD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,OAAO,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACnD,KAAK,QAAQ,CAAC;YACd,KAAK,gBAAgB;gBACnB,OAAO,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,KAAK,SAAS;gBACZ,OAAO,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAClE,KAAK,QAAQ;gBACX,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC3C,KAAK,OAAO;gBACV,OAAO,SAAS,CAAC;YACnB;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC;IAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,MAAc;QACvD,IAAI,OAAO,GAAuB,MAAM,CAAC;QACzC,OAAO,OAAO,EAAE,CAAC;YACf,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,wBAAwB,CAAC,MAAY,EAAE,MAAY;QAC1D,IAAI,WAAW,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,IAAI,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,IAAI,KAAK,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CACL,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;gBAC3D,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,KAAK,CAAC,CAC1E,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC3D,OAAO,CACL,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,WAAW,CAAC;gBACjE,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC,CAChF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;QACnE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,yBAAyB,CAAC,MAAsB,EAAE,MAAc;QACvE,iFAAiF;QACjF,IAAI,CAAC,kCAAkC,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,GAAG,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,kCAAkC,CAAC,MAAe,EAAE,MAAc;QACzE,0FAA0F;QAC1F,IACE,CAAC,iBAAiB,CAAE,MAAM,CAAC,cAAsB,IAAI,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAC3F,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,mEAAmE;QACnE,wEAAwE;QACxE,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,cAAc,CACZ,MAAM,CAAC,UAAU,EACjB,gHAAgH,CACjH,CAAC;YACF,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;QAC7B,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;QAE9C,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAEzC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,aAAa,CAAC;YAAE,OAAO,KAAK,CAAC;QAClD,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAkC,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,SAAS,wBAAwB,CAAC,MAAsC,EAAE,MAAc;QACtF,IACE,CAAC,iBAAiB,CAAE,MAAM,CAAC,cAAsB,IAAI,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAC1F,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAChC,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,gBAAgB,CACvB,MAAa,EACb,MAAa,EACb,gBAA+B,EAC/B,aAAqD;QAErD,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEvD,KAAK,MAAM,IAAI,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnB,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC;wBACtB,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE;4BACN,YAAY,EAAE,IAAI,CAAC,IAAI;4BACvB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;4BAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;yBAChC;wBACD,gBAAgB,EAAE,MAAM;qBACzB,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEtC,IAAI,cAAc,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC9C,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC;wBACtB,IAAI,EAAE,mBAAmB;wBACzB,MAAM,EAAE;4BACN,QAAQ,EAAE,IAAI,CAAC,IAAI;4BACnB,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;yBAChC;wBACD,gBAAgB;qBACjB,CAAC,CACH,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,0BAA0B,CACtD,cAAc,CAAC,IAAI,EACnB,IAAI,CAAC,IAAI,EACT,gBAAgB,EAChB,aAAa,CACd,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,GAAG,8BAA8B,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,GAAG,gCAAgC,CAC9D,mBAAmB,EACnB,MAAM,CAAC,OAAO,CAAC,KAAK,EACpB,gBAAgB,EAChB,aAAa,CACd,CAAC;YACF,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;YAEnC,gDAAgD;YAChD,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAChE,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,yBAAyB,CAC3D,MAAM,EACN,MAAa,EACb,gBAAgB,EAChB,aAAa,CACd,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBACnD,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC;wBACtB,IAAI,EAAE,qBAAqB;wBAC3B,MAAM,EAAE;4BACN,YAAY,EAAE,QAAQ;4BACtB,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC;yBAC5B;wBACD,gBAAgB,EAAE,IAAI;qBACvB,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;YAClD,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,SAAS,2BAA2B,CAAC,KAAY;QAC/C,OAAO,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,aAAa,CAAC;IACvD,CAAC;IACD,oDAAoD;IACpD,SAAS,yBAAyB,CAAC,IAAmB;QACpD,OAAO,CACL,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,qBAAqB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,IAAI,CAC9F,CAAC;IACJ,CAAC;IAED,SAAS,WAAW,CAAC,KAAY,EAAE,IAAY;QAC7C,OAAO,CACL,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1B,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CACjF,CAAC;IACJ,CAAC;IAED,SAAS,gCAAgC,CACvC,UAAsC,EACtC,gBAAsB,EACtB,gBAA+B,EAC/B,aAAiD;QAEjD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,0BAA0B,CACvD,IAAI,CAAC,IAAI,EACT,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,CACd,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,yIAAyI;IACzI,SAAS,yBAAyB,CAChC,MAAa,EACb,MAAyC,EACzC,gBAA+B,EAC/B,aAAqD;QAErD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC9E,OAAO;gBACL,OAAO,CAAC,KAAK;gBACb;oBACE,uBAAuB,CAAC;wBACtB,IAAI,EAAE,eAAe;wBACrB,MAAM,EAAE;4BACN,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;4BAC1C,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC;yBAChC;wBACD,gBAAgB;qBACjB,CAAC;iBACH;aACF,CAAC;QACJ,CAAC;QACD,OAAO,0BAA0B,CAC/B,MAAM,CAAC,OAAO,CAAC,KAAM,EACrB,MAAM,CAAC,OAAO,CAAC,KAAK,EACpB,gBAAgB,EAChB,aAAa,CACd,CAAC;IACJ,CAAC;IAED,SAAS,wBAAwB,CAC/B,MAAa,EACb,MAAsB,EACtB,gBAA+B,EAC/B,aAAqD;QAErD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC9D,OAAO;gBACL,OAAO,CAAC,KAAK;gBACb;oBACE,4BAA4B,CAC1B,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,mCAAmC,QAAQ,GAAG,CACjF;iBACF;aACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YAC9D,OAAO;gBACL,OAAO,CAAC,KAAK;gBACb;oBACE,4BAA4B,CAC1B,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,sCAAsC,QAAQ,GAAG,CACpF;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,0BAA0B,CACvD,IAAI,EACJ,MAAM,CAAC,OAAO,CAAC,KAAM,EACrB,gBAAgB,EAChB,aAAa,CACd,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,wBAAwB,CAC/B,MAA0B,EAC1B,MAAa,EACb,gBAA+B,EAC/B,aAAqD;QAErD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAClD,OAAO;gBACL,OAAO,CAAC,KAAK;gBACb;oBACE,4BAA4B,CAC1B,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,cAAc,MAAM,CAAC,MAAM,CAAC,MAAM,mCAAmC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAC7F;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,GAAG,0BAA0B,CACvD,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,aAAa,CACd,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,mBAAmB,CAC1B,MAAY,EACZ,MAAa,EACb,gBAA+B,EAC/B,aAAqD;QAErD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC9D,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,0BAA0B,CAC1C,MAAM,EACN,MAAM,CAAC,IAAI,EACX,gBAAgB,EAChB,aAAa,CACd,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,SAAS,kBAAkB,CACzB,MAAY,EACZ,MAAY,EACZ,gBAA+B;QAE/B,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,MAAM;gBACT,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;oBACtB,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC3F,CAAC;YACH,KAAK,YAAY;gBACf,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC3B,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC3F,CAAC;YACH;gBACE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,SAAS,mBAAmB,CAC1B,SAAoB;QAEpB,OAAO,CACL,SAAS,CAAC,IAAI,KAAK,UAAU;YAC7B,CAAC,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,sBAAsB,EAAE;gBACvD,SAAS,CAAC,SAAS,EAAE,cAAc,KAAK,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAC5E,CAAC;IACJ,CAAC;AACH,CAAC;AAWD,SAAS,sBAAsB,CAC7B,MAAc,EACd,MAAc,EACd,MAAoC;IAEpC,MAAM,KAAK,GAAG,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnE,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AACD,SAAS,8BAA8B,CACrC,MAAqB,EACrB,MAAoC;IAEpC,MAAM,KAAK,GAAG,uBAAuB,CAAC;QACpC,IAAI,EAAE,uBAAuB;QAC7B,gBAAgB,EAAE,MAAM;QACxB,MAAM,EAAE;YACN,QAAQ,EAAE,MAAM,CAAC,IAAI;SACtB;QACD,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AACD,SAAS,uBAAuB,CAA4C,EAC1E,IAAI,EACJ,MAAM,EACN,OAAO,EACP,gBAAgB,EAChB,WAAW,GACe;IAC1B,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC5B,IAAI,EAAE,IAAW;QACjB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;QACjE,MAAM,EAAE,gBAAgB;QACxB,WAAW;QACX,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,MAAc,EACd,MAAc,EACd,gBAA+B,EAC/B,OAAgB;IAEhB,OAAO,uBAAuB,CAAC;QAC7B,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACN,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC;YACjC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC;SAClC;QACD,gBAAgB;QAChB,OAAO;KACR,CAAC,CAAC;AACL,CAAC;AACD,aAAa"}
|
package/dist/src/lib/service.js
CHANGED
|
@@ -62,7 +62,7 @@ export const $service = (context, target, options) => {
|
|
|
62
62
|
else {
|
|
63
63
|
reportDiagnostic(context.program, {
|
|
64
64
|
code: "unassignable",
|
|
65
|
-
format: {
|
|
65
|
+
format: { sourceType: getTypeName(title), targetType: "String" },
|
|
66
66
|
target: context.getArgumentTarget(0),
|
|
67
67
|
});
|
|
68
68
|
}
|
|
@@ -77,7 +77,7 @@ export const $service = (context, target, options) => {
|
|
|
77
77
|
else {
|
|
78
78
|
reportDiagnostic(context.program, {
|
|
79
79
|
code: "unassignable",
|
|
80
|
-
format: {
|
|
80
|
+
format: { sourceType: getTypeName(version), targetType: "String" },
|
|
81
81
|
target: context.getArgumentTarget(0),
|
|
82
82
|
});
|
|
83
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAQ,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAcvD,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AACpE,SAAS,aAAa,CAAC,OAAgB;IACrC,OAAO,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,SAAoB;IAC/D,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB,EAAE,SAAoB;IAC9D,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CACxB,OAAgB,EAChB,SAAoB,EACpB,UAA0B,EAAE;IAE5B,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACjD,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAqB,CACxC,OAAyB,EACzB,MAAiB,EACjB,OAAc,EACd,EAAE;IACF,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACxC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;YAChC,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;YAClD,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAE;SACtC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,cAAc,GAAmB,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,cAAc,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE;gBAChC,IAAI,EAAE,cAAc;gBACpB,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/lib/service.ts"],"names":[],"mappings":"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"}
|