@craft-ng/dev-tools 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@craft-ng/dev-tools",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "Development tools for ng-craft: ESLint configs, ESLint rules, and codemods",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
@@ -4,7 +4,7 @@ export type TransformResult = {
4
4
  changed: boolean;
5
5
  skipped: boolean;
6
6
  warnings: string[];
7
- angularKind?: string;
7
+ angularKind?: AngularKind;
8
8
  className?: string;
9
9
  dependencies: string[];
10
10
  dependencyGroups: DependencyGroups;
@@ -83,7 +83,7 @@ export declare function extractDecoratorMetadataDeps(classDeclaration: ClassDecl
83
83
  export declare function extractConstructorDeps(classDeclaration: ClassDeclaration): DependencyExtractionResult;
84
84
  export declare function extractInjectCallDeps(classDeclaration: ClassDeclaration): InjectCallDependencyExtractionResult;
85
85
  export declare function mergeDeps(...dependencyGroups: readonly string[][]): string[];
86
- export declare function writeGeneratedDepsTypeAlias(sourceFile: SourceFile, className: string, generatedDependencyGroups: GeneratedDependencyGroups): void;
86
+ export declare function writeGeneratedDepsTypeAlias(sourceFile: SourceFile, angularKind: AngularKind, className: string, generatedDependencyGroups: GeneratedDependencyGroups): void;
87
87
  export declare function migrateLegacyBrandExport(sourceFile: SourceFile, classDeclaration: ClassDeclaration, className: string): void;
88
88
  export declare function ensureHelperImports(sourceFile: SourceFile, helperImportPath: string): void;
89
89
  export declare function readExistingDependencyGroups(sourceFile: SourceFile, className?: string): ExistingDependencyGroupsResult;
@@ -72,7 +72,7 @@ export function transformSourceFile(sourceFile, options = {}) {
72
72
  migrateLegacyBrandExport(sourceFile, classDeclaration, className);
73
73
  ensureHelperImports(sourceFile, normalizedOptions.helperImportPath);
74
74
  ensureGeneratedDependencyTypeImports(sourceFile, result.generatedDependencyGroups);
75
- writeGeneratedDepsTypeAlias(sourceFile, className, result.generatedDependencyGroups);
75
+ writeGeneratedDepsTypeAlias(sourceFile, angularKind, className, result.generatedDependencyGroups);
76
76
  sourceFile.organizeImports();
77
77
  result.changed = sourceFile.getFullText() !== beforeText;
78
78
  return result;
@@ -303,7 +303,10 @@ function createGeneratedDependencyGroups(sourceFile, importDependencies, injecte
303
303
  const deps = mergeGeneratedDependencyEntries(importDependencies.map((dependency) => createGeneratedDependencyEntry(sourceFile, dependency, 'import')), injectedDependencies.map((dependency) => dependency.entry));
304
304
  const provided = mergeGeneratedDependencyEntries(providedEntries);
305
305
  const providedKeys = new Set(provided.map((entry) => entry.key));
306
- const injectedEntriesByKey = new Map(injectedDependencies.map((dependency) => [dependency.entry.key, dependency.entry]));
306
+ const injectedEntriesByKey = new Map(injectedDependencies.map((dependency) => [
307
+ dependency.entry.key,
308
+ dependency.entry,
309
+ ]));
307
310
  const missingProvider = mergeGeneratedDependencyEntries(injectedDependencies
308
311
  .filter((dependency) => {
309
312
  const dependencyKey = dependency.entry.key;
@@ -418,7 +421,8 @@ function resolveTrackedInjectHelperFromDeclaration(declaration) {
418
421
  const objectBindingPattern = declaration.getFirstAncestorByKind(SyntaxKind.ObjectBindingPattern);
419
422
  const variableDeclaration = objectBindingPattern === null || objectBindingPattern === void 0 ? void 0 : objectBindingPattern.getFirstAncestorByKind(SyntaxKind.VariableDeclaration);
420
423
  const initializer = variableDeclaration === null || variableDeclaration === void 0 ? void 0 : variableDeclaration.getInitializer();
421
- if (!Node.isCallExpression(initializer) || !isServiceFactoryCall(initializer)) {
424
+ if (!Node.isCallExpression(initializer) ||
425
+ !isServiceFactoryCall(initializer)) {
422
426
  return undefined;
423
427
  }
424
428
  const [optionsArgument] = initializer.getArguments();
@@ -439,7 +443,8 @@ function resolveTrackedInjectHelperFromDeclaration(declaration) {
439
443
  function isServiceFactoryCall(callExpression) {
440
444
  const expression = callExpression.getExpression();
441
445
  if (Node.isIdentifier(expression)) {
442
- return expression.getText() === 'craftService' || expression.getText() === 'toCraftService';
446
+ return (expression.getText() === 'craftService' ||
447
+ expression.getText() === 'toCraftService');
443
448
  }
444
449
  if (Node.isPropertyAccessExpression(expression)) {
445
450
  const methodName = expression.getName();
@@ -505,7 +510,9 @@ function getExposureReturnObjectLiteral(exposeArgument) {
505
510
  if (!Node.isBlock(body)) {
506
511
  return undefined;
507
512
  }
508
- const returnStatement = [...body.getDescendantsOfKind(SyntaxKind.ReturnStatement)]
513
+ const returnStatement = [
514
+ ...body.getDescendantsOfKind(SyntaxKind.ReturnStatement),
515
+ ]
509
516
  .reverse()
510
517
  .find((statement) => Node.isObjectLiteralExpression(statement.getExpression()));
511
518
  const expression = returnStatement === null || returnStatement === void 0 ? void 0 : returnStatement.getExpression();
@@ -647,11 +654,14 @@ function ensureGeneratedDependencyTypeImports(sourceFile, generatedDependencyGro
647
654
  });
648
655
  }
649
656
  }
650
- function formatGeneratedDependencyType(generatedDependencyGroups) {
657
+ function formatGeneratedDependencyType(angularKind, className, generatedDependencyGroups) {
651
658
  return [
652
659
  '{',
653
660
  ` deps: ${formatGeneratedDependencyObject(generatedDependencyGroups.deps)};`,
654
661
  ` provided: ${formatGeneratedDependencyObject(generatedDependencyGroups.provided)};`,
662
+ ...(angularKind === 'component'
663
+ ? [` publicProperties: GetPublicComponentProperties<${className}>;`]
664
+ : []),
655
665
  ...(generatedDependencyGroups.missingProvider.length > 0
656
666
  ? [
657
667
  ` missingProvider: ${formatGeneratedDependencyObject(generatedDependencyGroups.missingProvider)};`,
@@ -682,9 +692,9 @@ function formatGeneratedDependencyEntry(entry) {
682
692
  function formatObjectKey(key) {
683
693
  return /^[$A-Z_][0-9A-Z_$]*$/i.test(key) ? key : `'${key}'`;
684
694
  }
685
- export function writeGeneratedDepsTypeAlias(sourceFile, className, generatedDependencyGroups) {
695
+ export function writeGeneratedDepsTypeAlias(sourceFile, angularKind, className, generatedDependencyGroups) {
686
696
  const generatedTypeName = getGeneratedDepsTypeName(className);
687
- const generatedType = `GetDeps<${formatGeneratedDependencyType(generatedDependencyGroups)}>`;
697
+ const generatedType = `GetDeps<${formatGeneratedDependencyType(angularKind, className, generatedDependencyGroups)}>`;
688
698
  const existingTypeAlias = sourceFile.getTypeAlias(generatedTypeName);
689
699
  if (existingTypeAlias) {
690
700
  existingTypeAlias.setIsExported(true);
@@ -773,6 +783,7 @@ export function ensureHelperImports(sourceFile, helperImportPath) {
773
783
  'DerivedService',
774
784
  'GetDeps',
775
785
  'GetInjectedServiceDependencies',
786
+ 'GetPublicComponentProperties',
776
787
  'GetServiceOutput',
777
788
  ].filter((importName) => !hasLocalNamedImport(sourceFile, helperImportPath, importName));
778
789
  if (missingImports.length === 0) {
@@ -1377,7 +1388,9 @@ function resolveTrackedInjectHelperByName(sourceFile, dependencyText) {
1377
1388
  function resolveDependencyIdentifierDeclarations(sourceFile, rootIdentifier) {
1378
1389
  var _a, _b, _c, _d;
1379
1390
  for (const importDeclaration of sourceFile.getImportDeclarations()) {
1380
- const namedImport = importDeclaration.getNamedImports().find((specifier) => {
1391
+ const namedImport = importDeclaration
1392
+ .getNamedImports()
1393
+ .find((specifier) => {
1381
1394
  var _a, _b;
1382
1395
  const localName = (_b = (_a = specifier.getAliasNode()) === null || _a === void 0 ? void 0 : _a.getText()) !== null && _b !== void 0 ? _b : specifier.getNameNode().getText();
1383
1396
  return localName === rootIdentifier;
@@ -1559,6 +1572,7 @@ function getHelperImportSafety(sourceFile, helperImportPath) {
1559
1572
  'DerivedService',
1560
1573
  'GetDeps',
1561
1574
  'GetInjectedServiceDependencies',
1575
+ 'GetPublicComponentProperties',
1562
1576
  'GetServiceOutput',
1563
1577
  ]
1564
1578
  .filter((helperName) => hasConflictingTopLevelBinding(sourceFile, helperImportPath, helperName))
@@ -1 +1 @@
1
- {"version":3,"file":"angular-brand-codemod.js","sourceRoot":"","sources":["../../../../../libs/dev-tools/src/scripts/angular-brand-codemod.ts"],"names":[],"mappings":";AAAA,OAAO,EAOL,IAAI,EAEJ,OAAO,EAEP,SAAS,EAET,UAAU,EAEV,EAAE,GACH,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAsIzC,MAAM,oBAAoB,GAAgC;IACxD,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;CACzB,CAAC;AAEF,MAAM,eAAe,GAAsB;IACzC,gBAAgB,EAAE,gBAAgB;IAClC,kCAAkC,EAAE,KAAK;IACzC,gBAAgB,EAAE,IAAI;IACtB,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,KAAK;IACL,QAAQ;IACR,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,WAAW;IACX,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,eAAe;IACf,QAAQ;CACT,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG;IAC9B,OAAO;IACP,SAAS;IACT,eAAe;IACf,eAAe;IACf,eAAe;IACf,iBAAiB;CAClB,CAAC;AAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,UAAU;IACV,MAAM;IACN,KAAK;IACL,QAAQ;IACR,UAAU;IACV,MAAM;IACN,cAAc;IACd,SAAS;IACT,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CACjC,UAAsB,EACtB,UAAsC,EAAE;IAExC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,6BAA6B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,MAAM,mCACP,QAAQ,KACX,OAAO,EAAE,KAAK,GACf,CAAC;IAEF,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;IAE9D,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,gBAAgB,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;QACxE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CACxC,UAAU,EACV,iBAAiB,CAAC,gBAAgB,CACnC,CAAC;IACF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAE5C,wBAAwB,CAAC,UAAU,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAClE,mBAAmB,CAAC,UAAU,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpE,oCAAoC,CAClC,UAAU,EACV,MAAM,CAAC,yBAAyB,CACjC,CAAC;IACF,2BAA2B,CACzB,UAAU,EACV,SAAS,EACT,MAAM,CAAC,yBAAyB,CACjC,CAAC;IACF,UAAU,CAAC,eAAe,EAAE,CAAC;IAE7B,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC;IACzD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,UAAsB,EACtB,UAAsC,EAAE;IAExC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAA6B;QACvC,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,gBAAgB,EAAE,qBAAqB,EAAE;QACzC,yBAAyB,EAAE,8BAA8B,EAAE;KAC5D,CAAC;IAEF,MAAM,YAAY,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAC;IAC9C,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAC1C,MAAM,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;IAExD,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;IAElE,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAC1E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IACE,iBAAiB,CAAC,kCAAkC;QACpD,CAAC,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,WAAW,CAAC;QAC5D,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,EACzC,CAAC;QACD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,SAAS,uEAAuE,CACnH,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAChB,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,WAAW;QACxD,CAAC,CAAC,iCAAiC,CAC/B,gBAAgB,EAChB,WAAW,EACX,iBAAiB,CAClB;QACH,CAAC,CAAC,6BAA6B,EAAE,CAAC;IACtC,MAAM,YAAY,GAChB,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,WAAW;QACxD,CAAC,CAAC,2BAA2B,CACzB,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,CAClB;QACH,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACpC,MAAM,eAAe,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;IAE/D,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,GAAG,YAAY,CAAC,QAAQ,EACxB,GAAG,YAAY,CAAC,QAAQ,EACxB,GAAG,eAAe,CAAC,QAAQ,EAC3B,GAAG,cAAc,CAAC,QAAQ,CAC3B,CAAC;IACF,MAAM,CAAC,YAAY,GAAG,SAAS,CAC7B,eAAe,CAAC,YAAY,EAC5B,cAAc,CAAC,YAAY,EAC3B,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,cAAc,EAC3B,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,aAAa,CAC3B,CAAC;IACF,MAAM,CAAC,gBAAgB,GAAG;QACxB,QAAQ,EAAE,SAAS,CACjB,eAAe,CAAC,YAAY,EAC5B,cAAc,CAAC,YAAY,CAC5B;QACD,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,cAAc,CAAC;QACxE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,aAAa,CAAC;KACzE,CAAC;IACF,MAAM,CAAC,iBAAiB,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC/D,MAAM,CAAC,yBAAyB,GAAG,+BAA+B,CAChE,UAAU,EACV,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAClC;QACE,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YACvD,cAAc;YACd,KAAK,EAAE,8BAA8B,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC;SAC5E,CAAC,CAAC;QACH,GAAG,cAAc,CAAC,qBAAqB;KACxC,EACD,YAAY,CAAC,OAAO,CACrB,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAsB;IAEtB,MAAM,gBAAgB,GAAG,UAAU;SAChC,UAAU,EAAE;SACZ,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE;QACxB,MAAM,WAAW,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACrD,OAAO,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC,CAAC;SACD,MAAM,CACL,CACE,KAAK,EAIL,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CACpB,CAAC;IAEJ,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE;gBACR,oCAAoC,gBAAgB,CAAC,MAAM,6BAA6B;aACzF;SACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,GAAG,gBAAgB,CAAC;IAC7D,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,gBAAgB;YAChB,WAAW;YACX,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC,mDAAmD,CAAC;SAChE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,gBAAgB;QAChB,WAAW;QACX,SAAS;QACT,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,gBAAkC;IAElC,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,aAAa,EAAE,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,aAAa,IAAI,aAAa,IAAI,oBAAoB,EAAE,CAAC;YAC3D,OAAO,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,gBAAkC;IAElC,MAAM,WAAW,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACrD,IAAI,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAC/D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,QAAQ;QACjC,CAAC,CAAC,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,cAAc,EAAE,CAAC;IAEzD,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,gBAAkC,EAClC,WAAW,GAAG,cAAc,CAAC,gBAAgB,CAAC,EAC9C,UAAsC,EAAE;IAExC,IAAI,WAAW,KAAK,WAAW,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAC/D,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,iCAAiC,CAC9C,gBAAgB,EAChB,WAAW,EACX,gBAAgB,CAAC,OAAO,CAAC,CAC1B,CAAC;IAEF,OAAO;QACL,YAAY,EAAE,SAAS,CACrB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,aAAa,CACrB;QACD,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,gBAAkC;IAElC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,sBAAsB,IAAI,gBAAgB,CAAC,eAAe,EAAE,EAAE,CAAC;QACxE,KAAK,MAAM,SAAS,IAAI,sBAAsB,CAAC,aAAa,EAAE,EAAE,CAAC;YAC/D,MAAM,WAAW,GAAG,uBAAuB,CACzC,SAAS,CAAC,aAAa,EAAE,EACzB,QAAQ,CACT,CAAC;YACF,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;oBAC3B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC5C,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CACX,kCAAkC,SAAS,CAAC,OAAO,EAAE,2BAA2B,CACjF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,QAAQ,CAAC,IAAI,CACX,kCAAkC,SAAS,CAAC,OAAO,EAAE,mBAAmB,QAAQ,CAAC,OAAO,EAAE,uCAAuC,CAClI,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,CAAC,2BAA2B,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;gBACvD,QAAQ,CAAC,IAAI,CACX,mCAAmC,UAAU,gEAAgE,CAC9G,CAAC;gBACF,SAAS;YACX,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,gBAAkC;;IAElC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,qBAAqB,GAAmC,EAAE,CAAC;IACjE,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;IAEpD,KAAK,MAAM,cAAc,IAAI,gBAAgB,CAAC,oBAAoB,CAChE,UAAU,CAAC,cAAc,CAC1B,EAAE,CAAC;QACF,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;QAClD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,CAAC,QAAQ,CAAC,CAAA,EAAE,CAAC;YAC5C,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GACd,gBAAgB,KAAK,QAAQ;YAC3B,CAAC,CAAC,8BAA8B,CAAC,cAAc,CAAC;YAChD,CAAC,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAE/C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CACX,WAAW,gBAAgB,cAAc,MAAA,gBAAgB,CAAC,OAAO,EAAE,mCAAI,iBAAiB,kDAAkD,CAC3I,CAAC;YACF,SAAS;QACX,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,qBAAqB,CAAC,IAAI,CAAC;YACzB,cAAc,EAAE,UAAU;YAC1B,KAAK,EACH,gBAAgB,KAAK,QAAQ;gBAC3B,CAAC,CAAC,8BAA8B,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC;gBAClE,CAAC,CAAC,0CAA0C,CACxC,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,CACX;SACR,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC;QACrC,QAAQ;QACR,qBAAqB;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAG,gBAAqC;IAChE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;QACrC,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzB,SAAS;YACX,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO;QACL,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,eAAe,EAAE,EAAE;KACpB,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,SAAiB;IACjD,OAAO,WAAW,SAAS,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,+BAA+B,CACtC,UAAsB,EACtB,kBAA4B,EAC5B,oBAAoD,EACpD,eAA2C;IAE3C,MAAM,IAAI,GAAG,+BAA+B,CAC1C,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CACpC,8BAA8B,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CACjE,EACD,oBAAoB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAC3D,CAAC;IACF,MAAM,QAAQ,GAAG,+BAA+B,CAAC,eAAe,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAClC,oBAAoB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CACnF,CAAC;IACF,MAAM,eAAe,GAAG,+BAA+B,CACrD,oBAAoB;SACjB,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE;QACrB,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;QAC3C,OAAO,CACL,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;YAChC,kCAAkC,CAChC,UAAU,EACV,UAAU,CAAC,cAAc,CAC1B,CACF,CAAC;IACJ,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;;QAClB,OAAA,MAAA,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,mCAC9C,8BAA8B,CAC5B,UAAU,EACV,UAAU,CAAC,cAAc,EACzB,QAAQ,CACT,CAAA;KAAA,CACF,CACJ,CAAC;IAEF,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,GAAG,MAA6C;IAEhD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoC,CAAC;IAE5D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,8BAA8B,CACrC,UAAsB,EACtB,cAAsB,EACtB,OAA4B;IAE5B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,oBAAoB,GAAG,kCAAkC,CAC7D,UAAU,EACV,cAAc,CACf,CAAC;QACF,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,iBAAiB,GAAG,wBAAwB,CAChD,oBAAoB,CAAC,SAAS,CAC/B,CAAC;YACF,OAAO;gBACL,GAAG,EAAE,iBAAiB;gBACtB,QAAQ,EAAE,iBAAiB;gBAC3B,UAAU,EAAE,oBAAoB,CAAC,eAAe;oBAC9C,CAAC,CAAC;wBACE,eAAe,EAAE,oBAAoB,CAAC,eAAe;wBACrD,IAAI,EAAE,iBAAiB;qBACxB;oBACH,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG,EAAE,4BAA4B,CAAC,cAAc,CAAC;QACjD,QAAQ,EAAE,iCAAiC,CAAC,UAAU,EAAE,cAAc,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,0CAA0C,CACjD,UAAsB,EACtB,cAAiD,EACjD,UAAgB,EAChB,cAAsB;IAEtB,MAAM,aAAa,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,8BAA8B,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IAEvE,OAAO;QACL,GAAG,EAAE,aAAa,CAAC,WAAW;QAC9B,QAAQ,EAAE,iCAAiC,CACzC,cAAc,EACd,gBAAgB,CACjB;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,cAAsB,EACtB,gBAAoD;IAEpD,MAAM,QAAQ,GAAG,yCAAyC,cAAc,GAAG,CAAC;IAC5E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO;QACL,kBAAkB,QAAQ,KAAK;QAC/B,4BAA4B,kCAAkC,CAC5D,cAAc,EACd,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAClD,WAAW,EAAE,SAAS;YACtB,SAAS;SACV,CAAC,CAAC,CACJ,GAAG;QACJ,+BAA+B,kCAAkC,CAC/D,cAAc,EACd,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,CACpC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9B,WAAW,EAAE,UAAU;YACvB,SAAS;SACV,CAAC,CACH,CACF,GAAG;QACJ,IAAI;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,kCAAkC,CACzC,cAAsB,EACtB,UAA6D;IAE7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,GAAG;QACH,GAAG,UAAU,CAAC,GAAG,CACf,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,EAAE,CAC7B,OAAO,eAAe,CAAC,WAAW,CAAC,KAAK,iCAAiC,CACvE,cAAc,EACd,SAAS,CACV,GAAG,CACP;QACD,KAAK;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,iCAAiC,CACxC,cAAsB,EACtB,SAAiB;IAEjB,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,2BAA2B,cAAc,GAAG,CAAC;IACtD,CAAC;IAED,OAAO,2BAA2B,cAAc,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC;AACpF,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAgB;;IAEhB,MAAM,MAAM,GAAG,MAAA,UAAU,CAAC,SAAS,EAAE,mCAAI,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;IAC1E,MAAM,YAAY,GAChB,MAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,EAAE,0CAAE,eAAe,EAAE,mCAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE,mCAAI,EAAE,CAAC;IAEnF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,yCAAyC,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yCAAyC,CAChD,WAAiB;;IAEjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,oBAAoB,GAAG,WAAW,CAAC,sBAAsB,CAC7D,UAAU,CAAC,oBAAoB,CAChC,CAAC;IACF,MAAM,mBAAmB,GACvB,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,sBAAsB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,cAAc,EAAE,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,eAAe,GAAG,MAAA,2BAA2B,CACjD,eAAe,EACf,MAAM,CACP,0CAAE,cAAc,EAAE,CAAC;IACpB,MAAM,gBAAgB,GAAG,MAAA,2BAA2B,CAClD,eAAe,EACf,OAAO,CACR,0CAAE,cAAc,EAAE,CAAC;IAEpB,IACE,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;QACtC,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,EACvC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,WAAW,EAAE,eAAe,CAAC,cAAc,EAAE;QAC7C,KAAK,EAAE,gBAAgB,CAAC,cAAc,EAAE;KACzC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,cAAiD;IAEjD,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;IAClD,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,OAAO,EAAE,KAAK,cAAc,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,gBAAgB,CAAC;IAC9F,CAAC;IAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;QACxC,OAAO,UAAU,KAAK,cAAc,IAAI,UAAU,KAAK,gBAAgB,CAAC;IAC1E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,6BAA6B,CACpC,cAAiD;IAEjD,MAAM,cAAc,GAAG,CAAC,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC;SACtD,OAAO,EAAE;SACT,IAAI,CACH,CAAC,QAAQ,EAAE,EAAE,CACX,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CACxE,CAAC;IAEJ,IACE,CAAC,cAAc;QACf,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;YACpC,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,EAC7C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,6BAA6B,CAAC,QAAQ,CAAC,CAAC;IACzD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,mBAAmB,GAAG,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAC3E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAG,8BAA8B,CACtD,mBAAmB,EACnB,QAAQ,CACT,CAAC;IACF,MAAM,cAAc,GAAG,SAAS,CAC9B,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EACnD,8BAA8B,CAAC,cAAc,EAAE,QAAQ,CAAC,CACzD,CAAC;IAEF,OAAO;QACL,cAAc;QACd,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CACpC,cAAuD;;IAEvD,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAE7C,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,SAAS;QACX,CAAC;QAED,MAAM,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACvD,MAAM,SAAS,GACb,MAAA,qBAAqB,CAAC,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,QAAQ,CAAC,mCAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QAE5E,QAAQ,CAAC,IAAI,CAAC;YACZ,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE;YAC7B,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,8BAA8B,CACrC,cAAwF;IAExF,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;SAC/E,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAElF,MAAM,UAAU,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,aAAa,EAAE,CAAC;IACpD,OAAO,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,SAAS,8BAA8B,CACrC,aAAsC,EACtC,QAAiC;IAEjC,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAClE,CAAC;IACF,MAAM,iBAAiB,GAAqD,EAAE,CAAC;IAE/E,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACrD,IAAI,SAAS,EAAE,CAAC;gBACd,iBAAiB,CAAC,IAAI,CAAC;oBACrB,UAAU,EAAE,QAAQ,CAAC,OAAO,EAAE;oBAC9B,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC9C,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YACnD,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC;YACrB,UAAU;YACV,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,8BAA8B,CACrC,cAAwF,EACxF,QAAiC;IAEjC,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAClE,CAAC;IACF,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,KAAK,MAAM,eAAe,IAAI,cAAc,CAAC,oBAAoB,CAC/D,UAAU,CAAC,eAAe,CAC3B,EAAE,CAAC;QACF,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACd,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,4BAA4B,CAAC,cAAsB;;IAC1D,MAAM,WAAW,GAAG,MAAA,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,cAAc,CAAC;IACtE,MAAM,WAAW,GAAG,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,iCAAiC,CACxC,UAAsB,EACtB,cAAsB;IAEtB,IAAI,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3C,OAAO,qBAAqB,cAAc,GAAG,CAAC;IAChD,CAAC;IAED,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC1E,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,UAAU,cAAc,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,sBAAsB,CAAC,cAAsB;;IACpD,MAAM,WAAW,GAAG,MAAA,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,cAAc,CAAC;IACtE,OAAO,CACL,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,UAAsB,EACtB,cAAsB;IAEtB,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAChE,IACE,WAAW,KAAK,WAAW;QAC3B,WAAW,KAAK,WAAW;QAC3B,WAAW,KAAK,MAAM,EACtB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;IACxD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,qBAAqB,GAAG,UAAU,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC;IAC1E,IACE,qBAAqB,KAAK,UAAU;QACpC,qBAAqB,CAAC,iBAAiB,EAAE,EACzC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,SAAS;QACT,eAAe,EAAE,UAAU,CAAC,eAAe;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,UAAsB,EACtB,yBAAoD;;IAEpD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,yBAAyB,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GACf,MAAA,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,mCAAI,IAAI,GAAG,EAAU,CAAC;QAC1E,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,IAAI,YAAY,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,UAAU;aAC9B,qBAAqB,EAAE;aACvB,IAAI,CACH,CAAC,iBAAiB,EAAE,EAAE,CACpB,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,eAAe,CAClE,CAAC;QAEJ,IAAI,cAAc,EAAE,CAAC;YACnB,cAAc,CAAC,eAAe,CAC5B,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAC7D,CAAC;YACF,SAAS;QACX,CAAC;QAED,UAAU,CAAC,oBAAoB,CAAC;YAC9B,eAAe;YACf,YAAY,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5C,IAAI;gBACJ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;SACJ,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CACpC,yBAAoD;IAEpD,OAAO;QACL,GAAG;QACH,WAAW,+BAA+B,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG;QAC7E,eAAe,+BAA+B,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG;QACrF,GAAG,CAAC,yBAAyB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;YACtD,CAAC,CAAC;gBACE,sBAAsB,+BAA+B,CACnD,yBAAyB,CAAC,eAAe,CAC1C,GAAG;aACL;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,+BAA+B,CACtC,OAAmC;IAEnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,GAAG;QACH,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;QAChE,KAAK;KACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,8BAA8B,CAAC,KAA+B;IACrE,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG;QACZ,OAAO,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE;QACpD,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;KACnD,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,UAAsB,EACtB,SAAiB,EACjB,yBAAoD;IAEpD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,WAAW,6BAA6B,CAAC,yBAAyB,CAAC,GAAG,CAAC;IAC7F,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAErE,IAAI,iBAAiB,EAAE,CAAC;QACtB,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtC,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IAED,UAAU,CAAC,YAAY,CAAC;QACtB,UAAU,EAAE,IAAI;QAChB,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,aAAa;KACpB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAsB,EACtB,gBAAkC,EAClC,SAAiB;IAEjB,MAAM,QAAQ,GAAG,4BAA4B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACtD,OAAO;IACT,CAAC;IAED,MAAM,gBAAgB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAC3D,UAAU,CAAC,gBAAgB,CAC5B,CAAC;IACF,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,MAAM,EAAE,CAAC;IAE3B,IACE,CAAC,gBAAgB,CAAC,eAAe,EAAE;QACnC,CAAC,gBAAgB,CAAC,UAAU,EAAE;QAC9B,gBAAgB,EAChB,CAAC;QACD,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAS,+BAA+B,CACtC,IAAU,EACV,QAAkB;IAElB,OAAO;QACL,KAAK,EAAE,IAAI;QACX,QAAQ;QACR,gBAAgB,EAAE,qBAAqB,EAAE;QACzC,oBAAoB,EAAE,IAAI;QAC1B,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,EAAE;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,mCAAmC,CAC1C,aAAsC,EACtC,YAAoC,EACpC,QAAkB,EAClB,aAA8D;IAE9D,MAAM,QAAQ,GAAG,2BAA2B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC1E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,CAAC,6BAA6B,YAAY,UAAU,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,aAAa,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;IACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,QAAQ,YAAY,0BAA0B,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CACX,QAAQ,YAAY,sCAAsC,OAAO,CAAC,OAAO,EAAE,EAAE,CAC9E,CAAC;YACF,SAAS;QACX,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAgB;IAC3C,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,8BAA8B,CACrC,cAAiD;IAEjD,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC;IAC9C,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,4BAA4B,CAAC,UAAgB;IACpD,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAAsB,EACtB,gBAAwB;IAExB,MAAM,cAAc,GAAG;QACrB,gBAAgB;QAChB,SAAS;QACT,gCAAgC;QAChC,kBAAkB;KACnB,CAAC,MAAM,CACN,CAAC,UAAU,EAAE,EAAE,CACb,CAAC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,UAAU,CAAC,CACjE,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,MAAM,cAAc,GAAG,UAAU;SAC9B,qBAAqB,EAAE;SACvB,IAAI,CACH,CAAC,iBAAiB,EAAE,EAAE,CACpB,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,gBAAgB,CACnE,CAAC;IAEJ,IAAI,cAAc,EAAE,CAAC;QACnB,cAAc,CAAC,eAAe,CAC5B,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAC3D,CAAC;QACF,OAAO;IACT,CAAC;IAED,UAAU,CAAC,oBAAoB,CAAC;QAC9B,eAAe,EAAE,gBAAgB;QACjC,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI;YACJ,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,UAAsB,EACtB,SAAkB;IAElB,MAAM,aAAa,GAAG,UAAU;SAC7B,oBAAoB,EAAE;SACtB,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE;QACzB,IAAI,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9C,IACE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;YAC9B,UAAU,CAAC,OAAO,EAAE,KAAK,oBAAoB,EAC7C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;QAChD,OAAO,CACL,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,SAAS,CACtE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,EAAE;YACZ,gBAAgB,EAAE,qBAAqB,EAAE;YACzC,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,+BAA+B,CAAC,aAAa,EAAE;YACpD,wEAAwE;SACzE,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAE,YAAY,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,OAAO,+BAA+B,CAAC,aAAa,EAAE;YACpD,4EAA4E;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC;IACpD,IACE,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC;QAClC,cAAc,CAAC,OAAO,EAAE,KAAK,MAAM,EACnC,CAAC;QACD,OAAO,+BAA+B,CAAC,YAAY,EAAE;YACnD,8DAA8D;SAC/D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,OAAO,+BAA+B,CAAC,YAAY,EAAE;YACnD,kDAAkD;SACnD,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,aAAa,GAAoD,EAAE,CAAC;IAC1E,MAAM,gBAAgB,GAAqB;QACzC,QAAQ,EAAE,mCAAmC,CAC3C,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,CACd;QACD,UAAU,EAAE,mCAAmC,CAC7C,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,aAAa,CACd;QACD,SAAS,EAAE,mCAAmC,CAC5C,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,CACd;KACF,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,IAAI;QACX,QAAQ;QACR,gBAAgB;QAChB,oBAAoB,EAAE,aAAa;QACnC,cAAc,EAAE,UAAU;QAC1B,aAAa;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,gBAAkC;IAElC,OAAO;QACL,aAAa,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACpD,eAAe,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACxD,cAAc,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;KACvD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,UAAgB,sBAAsB;yDAC1C,UAKI,EAAE;;QAEN,MAAM,OAAO,GAAG,OAAO,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB;YAC/C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACnC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE9C,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACrC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,OAAO,GAAe;YAC1B,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;YACX,kBAAkB,EAAE;gBAClB,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC;gBACb,IAAI,EAAE,CAAC;aACR;YACD,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;gBACrD,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACxD,MAAM,MAAM,mCACP,MAAM,KACT,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,GACnC,CAAC;YAEF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YAE3C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC;gBAC9B,IACE,MAAM,CAAC,WAAW;oBAClB,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,kBAAkB,EAChD,CAAC;oBACD,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAA0B,CAAC,IAAI,CAAC,CAAC;gBACrE,CAAC;gBAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,aAAa,CAAC,MAAM,EAAE,MAAA,OAAO,CAAC,GAAG,mCAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;QAED,UAAU,CAAC,OAAO,EAAE,MAAA,OAAO,CAAC,GAAG,mCAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA;AAED,SAAS,gBAAgB,CACvB,OAAmC;;IAEnC,OAAO;QACL,gBAAgB,EACd,MAAA,OAAO,CAAC,gBAAgB,mCAAI,eAAe,CAAC,gBAAgB;QAC9D,kCAAkC,EAChC,MAAA,OAAO,CAAC,kCAAkC,mCAC1C,eAAe,CAAC,kCAAkC;QACpD,gBAAgB,EACd,MAAA,OAAO,CAAC,gBAAgB,mCAAI,eAAe,CAAC,gBAAgB;QAC9D,oBAAoB,EAClB,MAAA,OAAO,CAAC,oBAAoB,mCAAI,eAAe,CAAC,oBAAoB;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,IAAI,CAAC,MAAuB,EAAE,QAAkB;IACvD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAoB;IAC5C,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;IAC7C,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,WAAwB;IAC9C,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC;QACjB,KAAK,YAAY;YACf,OAAO,aAAa,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,gBAAkC;;IAElC,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,aAAa,EAAE,EAAE,CAAC;QACzD,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACrD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,YAAY,EAAE,mCAAI,EAAE,CAAC;QACxD,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,2BAA2B,CAClC,SAAoB;IAEpB,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,aAAa,IAAI,aAAa,IAAI,oBAAoB;QAC3D,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,2BAA2B,CAClC,aAAsC,EACtC,YAAoB;IAEpB,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;QACrE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,qBAAqB,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,KAAK,YAAY,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAS,iCAAiC,CACxC,gBAAkC,EAClC,WAAwB,EACxB,OAA0B;IAE1B,MAAM,QAAQ,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,6BAA6B,EAAE,CAAC;IAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,OAAO,GAAG,4BAA4B,CAC3C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM,CAAC,QAAQ,CAChB,CAAC;IACF,MAAM,CAAC,cAAc,GAAG,4BAA4B,CAClD,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,MAAM,CAAC,QAAQ,CAChB,CAAC;IAEF,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,CAAC,SAAS,GAAG,4BAA4B,CAC7C,QAAQ,EACR,WAAW,EACX,WAAW,EACX,MAAM,CAAC,QAAQ,CAChB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,oBAAoB,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAChE,MAAM,CAAC,aAAa,GAAG,4BAA4B,CACjD,QAAQ,EACR,eAAe,EACf,eAAe,EACf,MAAM,CAAC,QAAQ,CAChB,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,6BAA6B;IACpC,OAAO;QACL,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE;QAClB,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,UAAsB,EACtB,gBAAkC,EAClC,WAAwB,EACxB,OAA0B;IAE1B,MAAM,QAAQ,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAA+B,EAAE,CAAC;IAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CACV,GAAG,sCAAsC,CACvC,UAAU,EACV,QAAQ,EACR,WAAW,EACX,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,oBAAoB,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAChE,OAAO,CAAC,IAAI,CACV,GAAG,sCAAsC,CACvC,UAAU,EACV,QAAQ,EACR,eAAe,EACf,QAAQ,CACT,CACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,+BAA+B,CAAC,OAAO,CAAC;QACjD,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,sCAAsC,CAC7C,UAAsB,EACtB,QAAiC,EACjC,YAA2C,EAC3C,QAAkB;IAElB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CACX,8BAA8B,YAAY,qCAAqC,CAChF,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,yCAAyC,CAC9C,UAAU,EACV,WAAW,EACX,YAAY,EACZ,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,SAAS,yCAAyC,CAChD,UAAsB,EACtB,YAAoC,EACpC,OAAsC,EACtC,QAAkB;IAElB,MAAM,OAAO,GAA+B,EAAE,CAAC;IAE/C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CACV,GAAG,yCAAyC,CAC1C,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CACF,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CACX,8BAA8B,OAAO,uBAAuB,CAC7D,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,eAAe,GAAG,uBAAuB,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,QAAQ,CAAC,IAAI,CACX,qCAAqC,OAAO,CAAC,OAAO,EAAE,SAAS,OAAO,IAAI,CAC3E,CAAC;gBACF,SAAS;YACX,CAAC;YAED,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,4BAA4B,CAAC,eAAe,CAAC;gBAClD,QAAQ,EAAE,qBAAqB,eAAe,GAAG;aAClD,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,4BAA4B,CAAC,gBAAgB,CAAC;gBACnD,QAAQ,EAAE,iCAAiC,CACzC,UAAU,EACV,gBAAgB,CACjB;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,MAAM,aAAa,GAAG,+CAA+C,CACnE,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAQ,CACT,CAAC;YACF,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;YACD,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,IAAI,CACX,+BAA+B,OAAO,CAAC,OAAO,EAAE,SAAS,OAAO,uBAAuB,CACxF,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,+CAA+C,CACtD,UAAsB,EACtB,aAAsC,EACtC,OAAsC,EACtC,QAAkB;;IAElB,MAAM,eAAe,GAAG,2BAA2B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,uBAAuB,CACzC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,cAAc,EAAE,CAClC,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CACX,+BAA+B,OAAO,oCAAoC,CAC3E,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,uBAAuB,CACtC,MAAA,2BAA2B,CAAC,aAAa,EAAE,UAAU,CAAC,0CAAE,cAAc,EAAE,CACzE,CAAC;IACF,MAAM,WAAW,GAAG,uBAAuB,CACzC,MAAA,2BAA2B,CAAC,aAAa,EAAE,aAAa,CAAC,0CAAE,cAAc,EAAE,CAC5E,CAAC;IACF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,MAAA,2BAA2B,CAAC,aAAa,EAAE,UAAU,CAAC,0CAAE,cAAc,EAAE,CACzE,CAAC;IACF,MAAM,UAAU,GAAG,uBAAuB,CACxC,MAAA,2BAA2B,CAAC,aAAa,EAAE,YAAY,CAAC,0CAAE,cAAc,EAAE,CAC3E,CAAC;IAEF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,GAAG,EAAE,4BAA4B,CAAC,WAAW,CAAC;YAC9C,QAAQ,EAAE,qBAAqB,UAAU,GAAG;SAC7C,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO;YACL,GAAG,EAAE,4BAA4B,CAAC,WAAW,CAAC;YAC9C,QAAQ,EAAE,UAAU,QAAQ,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAA,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,WAAW,mCAAI,WAAW,CAAC;IACzD,OAAO;QACL,GAAG,EAAE,4BAA4B,CAAC,WAAW,CAAC;QAC9C,QAAQ,EAAE,iCAAiC,CAAC,UAAU,EAAE,SAAS,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,QAAiC,EACjC,YAAoB,EACpB,OAAe,EACf,QAAkB;IAElB,MAAM,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,QAAQ,CAAC,IAAI,CACX,8BAA8B,YAAY,qCAAqC,CAChF,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,0BAA0B,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,0BAA0B,CACjC,YAAoC,EACpC,OAAe,EACf,QAAkB;IAElB,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,IAAI,CACf,GAAG,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAC1D,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,IAAI,CACX,8BAA8B,OAAO,0BAA0B,CAChE,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,MAAM,eAAe,GAAG,uBAAuB,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YACzE,IAAI,eAAe,EAAE,CAAC;gBACpB,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACnC,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,YAAY,CAAC,IAAI,CACf,GAAG,sCAAsC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CACtE,CAAC;YACF,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,IAAI,CACX,+BAA+B,OAAO,CAAC,OAAO,EAAE,SAAS,OAAO,0BAA0B,CAC3F,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,eAAe,CAAC;AAChE,CAAC;AAED,SAAS,sCAAsC,CAC7C,aAAsC,EACtC,OAAe,EACf,QAAkB;IAElB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,oBAAoB,GACxB,OAAO,KAAK,gBAAgB;QAC1B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;QACxB,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAEtD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CACX,qCAAqC,OAAO,0BAA0B,CACvE,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,YAAY,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7D,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;QACtE,IAAI,UAAU,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,IAAI,CACX,oBAAoB,YAAY,eAAe,OAAO,0BAA0B,CACjF,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAuB,EACvB,QAAkB;;IAElB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,gBAAgB,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,GAAG,MAAA,MAAA,SAAS,CAAC,iBAAiB,EAAE,0CAAE,YAAY,EAAE,mCAAI,EAAE,CAAC;QACpE,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CACX,4EAA4E,CAC7E,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACzB,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAA4B;IAE5B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,OAAO,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAc;IAC3C,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,OAAO,QAAQ,CAAC,cAAc,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAsB,EACtB,cAAsB;IAEtB,MAAM,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,gBAAgB,GAAG,kCAAkC,CACzD,UAAU,EACV,cAAc,EACd,cAAc,CACf,CAAC;IACF,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,IACE,UAAU;SACP,uBAAuB,EAAE;SACzB,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,cAAc,CAAC,EAClE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,kCAAkC,CACzC,UAAsB,EACtB,cAAsB,EACtB,cAAsB;;IAEtB,KAAK,MAAM,iBAAiB,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACnE,MAAM,eAAe,GAAG,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;QAEpE,IAAI,CAAA,MAAA,iBAAiB,CAAC,gBAAgB,EAAE,0CAAE,OAAO,EAAE,MAAK,cAAc,EAAE,CAAC;YACvE,MAAM,WAAW,GAAG,gCAAgC,CAAC,iBAAiB,CAAC,CAAC;YACxE,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,gBAAgB,EAAE,WAAW;oBAC7B,eAAe;iBAChB,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,CAAA,MAAA,iBAAiB,CAAC,kBAAkB,EAAE,0CAAE,OAAO,EAAE,MAAK,cAAc,EAAE,CAAC;YACzE,MAAM,WAAW,GAAG,kCAAkC,CACpD,iBAAiB,EACjB,cAAc,CACf,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO;oBACL,IAAI,EAAE,OAAO;oBACb,gBAAgB,EAAE,WAAW;oBAC7B,eAAe;iBAChB,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;QAChD,CAAC;QAED,MAAM,WAAW,GAAG,iBAAiB;aAClC,eAAe,EAAE;aACjB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;;YAClB,MAAM,SAAS,GACb,MAAA,MAAA,SAAS,CAAC,YAAY,EAAE,0CAAE,OAAO,EAAE,mCACnC,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;YACpC,OAAO,SAAS,KAAK,cAAc,CAAC;QACtC,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,MAAM,eAAe,GACnB,MAAA,WAAW,CAAC,YAAY,EAAE,mCAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,MAAM,GACV,MAAA,eAAe,CAAC,SAAS,EAAE,mCAAI,eAAe,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;QACvE,MAAM,aAAa,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,EAAE,mCAAI,MAAM,CAAC;QAC3D,MAAM,YAAY,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,EAAE,mCAAI,EAAE,CAAC;QAC5D,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CACzD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CACrC,CAAC;QAEF,IAAI,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClE,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,gBAAgB;gBAChB,eAAe;aAChB,CAAC;QACJ,CAAC;QAED,IACE,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,EACvE,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QAC3C,CAAC;QAED,IACE,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAChC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CACxC,EACD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;QAC/C,CAAC;QAED,IACE,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAChC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CACxC,EACD,CAAC;YACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;QAC/C,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;IAC9C,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gCAAgC,CACvC,iBAAuD;;IAEvD,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,4BAA4B,EAAE,CAAC;IAC1E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;IACtE,MAAM,YAAY,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,eAAe,EAAE,mCAAI,EAAE,CAAC;IAClE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CACvC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CACL,CAAC;AACpC,CAAC;AAED,SAAS,kCAAkC,CACzC,iBAAuD,EACvD,cAAsB;;IAEtB,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,4BAA4B,EAAE,CAAC;IAC1E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACvD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,oBAAoB,GACxB,MAAA,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,mCAAI,EAAE,CAAC;IACvE,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC/C,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CACL,CAAC;AACpC,CAAC;AAED,SAAS,0BAA0B,CACjC,UAAsB,EACtB,cAAsB;IAEtB,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;IAErD,IAAI,CAAC,gBAAgB,IAAI,cAAc,CAAC,gBAAgB,CAAC,KAAK,YAAY,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,kBAAkB,GAAG,QAAQ;QACjC,CAAC,CAAC,2BAA2B,CAAC,QAAQ,EAAE,YAAY,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,WAAW,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,cAAc,EAAE,CAAC;IAEzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;QAChC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QACjC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,CAC3E,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CACzC,UAAsB,EACtB,cAAsB;IAEtB,OAAO,CACL,CAAC,gCAAgC,CAAC,UAAU,EAAE,cAAc,CAAC;QAC7D,CAAC,0BAA0B,CAAC,UAAU,EAAE,cAAc,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,UAAsB,EACtB,cAAsB;IAEtB,MAAM,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,uCAAuC,CAC/D,UAAU,EACV,cAAc,CACf,EAAE,CAAC;QACF,MAAM,MAAM,GAAG,yCAAyC,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uCAAuC,CAC9C,UAAsB,EACtB,cAAsB;;IAEtB,KAAK,MAAM,iBAAiB,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACnE,MAAM,WAAW,GAAG,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;;YACzE,MAAM,SAAS,GACb,MAAA,MAAA,SAAS,CAAC,YAAY,EAAE,0CAAE,OAAO,EAAE,mCAAI,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;YAC3E,OAAO,SAAS,KAAK,cAAc,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,MAAA,WAAW,CAAC,YAAY,EAAE,mCAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC3E,MAAM,MAAM,GAAG,MAAA,UAAU,CAAC,SAAS,EAAE,mCAAI,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;QAC1E,MAAM,aAAa,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,EAAE,mCAAI,MAAM,CAAC;QAC3D,OAAO,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,EAAE,mCAAI,CAAC,WAAW,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,UAAU;SACd,oBAAoB,CAAC,UAAU,CAAC,cAAc,CAAC;SAC/C,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,cAAc,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAkB;IACvD,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,OAAO,yBAAyB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACxE,CAAC;IAED,IAAI,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5C,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAkB;IAC7C,OAAO;QACL,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,gBAAgB;QAC3B,UAAU,CAAC,cAAc;QACzB,UAAU,CAAC,WAAW;KACvB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,yBAAyB,CAAC,UAAkB;IACnD,OAAO,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,2BAA2B,CAClC,QAAkB,EAClB,UAAkB;IAElB,MAAM,WAAW,GAAG,oCAAoC,CAAC,QAAQ,CAAC,CAAC;IACnE,IACE,WAAW,CAAC,MAAM,KAAK,CAAC;QACxB,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7D,UAAU,EACZ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,GAAG,WAAW,CAAC;IACrC,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;IAErD,OAAO,CACL,uBAAuB,CAAC,cAAc,EAAE;QACtC,uBAAuB,EAAE,qBAAqB;KAC/C,CAAC;QACF,uBAAuB,CAAC,cAAc,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,QAAkB;IAElB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACxC,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,QAAQ,CAAC,oBAAoB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAsB,EACtB,OAA6C;;IAE7C,MAAM,MAAM,GAAG,MAAA,UAAU,CAAC,SAAS,EAAE,mCAAI,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC;IAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;IAC9C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC,EAC5E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,OAAO,CAAC,uBAAuB;QAC/B,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,EACvE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAChD,MAAM,mBAAmB,GAAG,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,eAAe,EAAE,mCAAI,YAAY,CAAC;IAC7E,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC9C,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,WAAiB;;IACpD,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,CACL,WAAW,CAAC,UAAU,EAAE;YACxB,WAAW,CAAC,oBAAoB,EAAE,CAAC,UAAU,EAAE,CAChD,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,CACL,MAAA,MAAA,WAAW;aACR,sBAAsB,CAAC,UAAU,CAAC,iBAAiB,CAAC,0CACnD,UAAU,EAAE,mCAAI,KAAK,CAC1B,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAChC,WAAiB,EACjB,OAA6C;IAE7C,IACE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,EACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IACE,OAAO,CAAC,uBAAuB;QAC/B,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,EACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAC7B,UAAsB,EACtB,gBAAkC,EAClC,SAAiB;IAEjB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC;YACzE,QAAQ,CAAC,IAAI,CACX,qEAAqE,CACtE,CAAC;QACJ,CAAC;QAED,IACE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAClC,SAAS,KAAK,gBAAgB;YAC9B,SAAS,CAAC,eAAe,EAAE,EAC3B,CAAC;YACD,QAAQ,CAAC,IAAI,CACX,kEAAkE,CACnE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,gBAAgB,IAAI,UAAU,CAAC,oBAAoB,EAAE,EAAE,CAAC;QACjE,IAAI,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CACX,2EAA2E,CAC5E,CAAC;YACF,SAAS;QACX,CAAC;QAED,IACE,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,SAAS,CAAC;YACvD,CAAC,sBAAsB,CAAC,gBAAgB,EAAE,SAAS,CAAC,EACpD,CAAC;YACD,QAAQ,CAAC,IAAI,CACX,yDAAyD,gBAAgB,CAAC,OAAO,EAAE,EAAE,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,iBAAiB,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACnE,MAAM,sBAAsB,GAAG,iBAAiB;aAC7C,eAAe,EAAE;aACjB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;;YAClB,MAAM,KAAK,GAAG,MAAA,SAAS,CAAC,YAAY,EAAE,0CAAE,OAAO,EAAE,CAAC;YAClD,OAAO,CACL,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,CACrE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEL,IACE,sBAAsB;YACtB,sBAAsB,CAAC,OAAO,EAAE,KAAK,SAAS,EAC9C,CAAC;YACD,QAAQ,CAAC,IAAI,CACX,gEAAgE,CACjE,CAAC;QACJ,CAAC;QAED,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC3C,MAAM,cAAc,GAAG,iBAAiB;iBACrC,eAAe,EAAE;iBACjB,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC;YAC1D,IAAI,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,IAAI,CACX,uCAAuC,SAAS,wBAAwB,CACzE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,qBAAqB,CAC5B,UAAsB,EACtB,gBAAwB;IAExB,MAAM,QAAQ,GAAG;QACf,gBAAgB;QAChB,SAAS;QACT,gCAAgC;QAChC,kBAAkB;KACnB;SACE,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACrB,6BAA6B,CAAC,UAAU,EAAE,gBAAgB,EAAE,UAAU,CAAC,CACxE;SACA,GAAG,CACF,CAAC,UAAU,EAAE,EAAE,CACb,yBAAyB,UAAU,qDAAqD,CAC3F,CAAC;IAEJ,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,6BAA6B,CACpC,UAAsB,EACtB,gBAAwB,EACxB,UAAkB;;IAElB,KAAK,MAAM,iBAAiB,IAAI,UAAU,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACnE,IAAI,CAAA,MAAA,iBAAiB,CAAC,gBAAgB,EAAE,0CAAE,OAAO,EAAE,MAAK,UAAU,EAAE,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAA,MAAA,iBAAiB,CAAC,kBAAkB,EAAE,0CAAE,OAAO,EAAE,MAAK,UAAU,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,iBAAiB,CAAC,eAAe,EAAE,EAAE,CAAC;YAC9D,MAAM,SAAS,GACb,MAAA,MAAA,WAAW,CAAC,YAAY,EAAE,0CAAE,OAAO,EAAE,mCAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACjE,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,OAAO,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,gBAAgB,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC;QACnD,IACE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;YAClC,SAAS,CAAC,OAAO,EAAE,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC;YACrC,SAAS,CAAC,OAAO,EAAE,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACjC,SAAS,CAAC,OAAO,EAAE,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC;YACtC,SAAS,CAAC,OAAO,EAAE,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IACE,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC;YACtC,SAAS,CAAC,OAAO,EAAE,KAAK,UAAU,EAClC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACxC,MAAM,eAAe,GAAG,SAAS;iBAC9B,kBAAkB,EAAE;iBACpB,eAAe,EAAE;iBACjB,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC;YAC/D,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAChC,gBAAkC,EAClC,SAAiB;IAEjB,IAAI,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;IACpD,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC;AAC7E,CAAC;AAED,SAAS,sBAAsB,CAC7B,gBAAkC,EAClC,SAAiB;IAEjB,IAAI,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,EAAE,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;IAC9C,IACE,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;QAC9B,UAAU,CAAC,OAAO,EAAE,KAAK,oBAAoB,EAC7C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE,CAAC;IAChD,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC;AAC/E,CAAC;AAED,SAAS,gCAAgC,CACvC,iBAAoC,EACpC,SAAiB;IAEjB,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,iBAAiB,CAAC,eAAe,EAAE,EAAE,CAAC;QAC9D,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC;YACxC,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,CAAC,eAAe,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,iBAAiB,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAsB,EACtB,gBAAwB,EACxB,UAAkB;IAElB,OAAO,UAAU,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;QACnE,IAAI,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,gBAAgB,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;;YAC9D,MAAM,SAAS,GACb,MAAA,MAAA,WAAW,CAAC,YAAY,EAAE,0CAAE,OAAO,EAAE,mCAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACjE,OAAO,SAAS,KAAK,UAAU,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,gBAAoC;IACzD,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,IAAI,OAAO,CAAC;YACjB,2BAA2B,EAAE,IAAI;YACjC,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,OAAO,CAAC;QACjB,eAAe,EAAE;YACf,sBAAsB,EAAE,IAAI;YAC5B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM;YAChD,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;SAC/B;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,0BAA0B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,0BAA0B,CAAC,SAAiB,EAAE,KAAe;IACpE,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QAElC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxC,0BAA0B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;YACD,SAAS;QACX,CAAC;QAED,IACE,CAAC,KAAK,CAAC,MAAM,EAAE;YACf,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK;YAC5B,eAAe,CAAC,SAAS,CAAC,EAC1B,CAAC;YACD,SAAS;QACX,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,CACL,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,CACnC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,MAAM,oBAAoB,GAAG,OAAO;SACjC,cAAc,EAAE;SAChB,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;SAC3D,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CACzB,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,CACjD;SACA,IAAI,CAAC,OAAO,CAAC,CAAC;IAEjB,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC;QAC/B,SAAS,EAAE,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,UAAU,CAAC,GAAG,CAAC;YAC9C,CAAC,CAAC,SAAS,CAAC,MAAM;YAClB,CAAC,CAAC,SAAS,CAAC,MAAM;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB,EAAE,OAAe;IACrD,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7E,OAAO,CACL,gBAAgB,KAAK,OAAO,IAAI,gBAAgB,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAC3E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,MAAqB,EACrB,GAA8B;IAE9B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO;QAC3B,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,MAAM,CAAC,OAAO;YACd,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,WAAW,CAAC;IAClB,MAAM,OAAO,GAAG;QACd,QAAQ,MAAM,CAAC,QAAQ,EAAE;QACzB,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;QAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;QAC1D,SAAS,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACtF,aAAa,MAAM,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC9F,oBAAoB,MAAM,CAAC,yBAAyB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC5G,UAAU,MAAM,EAAE;KACnB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAElB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAAmB,EAAE,GAA8B;IACrE,GAAG,CACD;QACE,uBAAuB,OAAO,CAAC,gBAAgB,EAAE;QACjD,WAAW,OAAO,CAAC,YAAY,EAAE;QACjC,YAAY,OAAO,CAAC,QAAQ,EAAE;QAC9B,cAAc,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACpD,cAAc,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACpD,SAAS,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE;QAC1C,eAAe,OAAO,CAAC,kBAAkB,CAAC,UAAU,EAAE;KACvD,CAAC,IAAI,CAAC,GAAG,CAAC,CACZ,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAc;IAKlC,MAAM,OAAO,GAIT,EAAE,CAAC;IAEP,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACX,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,iBAAiB;gBACpB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,yCAAyC;gBAC5C,OAAO,CAAC,kCAAkC,GAAG,IAAI,CAAC;gBAClD,MAAM;YACR,KAAK,gBAAgB;gBACnB,OAAO,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBACjC,MAAM;YACR,KAAK,qBAAqB;gBACxB,OAAO,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBACrC,MAAM;YACR,KAAK,WAAW;gBACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,KAAK,QAAQ;gBACX,gBAAgB,EAAE,CAAC;gBACnB,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;CAWb,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,yFAAyF;AACzF,IACE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;IAC/C,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACrD,CAAC;IACD,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAC/D,CAAC,KAAc,EAAE,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"angular-brand-codemod.js","sourceRoot":"","sources":["../../../../../libs/dev-tools/src/scripts/angular-brand-codemod.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,9 @@ const tempDirectories: string[] = [];
10
10
  describe('angular-brand-codemod', () => {
11
11
  afterEach(async () => {
12
12
  await Promise.all(
13
- tempDirectories.splice(0).map((directory) =>
14
- rm(directory, { force: true, recursive: true }),
15
- ),
13
+ tempDirectories
14
+ .splice(0)
15
+ .map((directory) => rm(directory, { force: true, recursive: true })),
16
16
  );
17
17
  });
18
18
 
@@ -75,20 +75,19 @@ describe('angular-brand-codemod', () => {
75
75
 
76
76
  expect(result.changed).toBe(true);
77
77
  expect(output).toMatch(
78
- /import \{ type GetDeps \} from ['"]@craft-ng\/core['"];/,
78
+ /import \{[^}]*type GetDeps[^}]*type GetPublicComponentProperties[^}]*\} from ['"]@craft-ng\/core['"];/,
79
79
  );
80
80
  expect(output).toMatch(
81
81
  /import \{[^}]*ChildComponent[^}]*GenDeps_ChildComponent[^}]*\} from ['"]\.\/child['"];/,
82
82
  );
83
83
  expect(output).toContain('export type GenDeps_ParentComponent = GetDeps<{');
84
84
  expect(output).toContain(
85
- 'GenDeps_ChildComponent: GenDeps_ChildComponent;',
85
+ 'publicProperties: GetPublicComponentProperties<ParentComponent>;',
86
86
  );
87
+ expect(output).toContain('GenDeps_ChildComponent: GenDeps_ChildComponent;');
87
88
  expect(output).toContain('ApiService: ApiService;');
88
89
  expect(output).toContain('HttpClient: HttpClient;');
89
- expect(output).toMatch(
90
- /provided: \{\s+UserStore: UserStore;\s+\};/m,
91
- );
90
+ expect(output).toMatch(/provided: \{\s+UserStore: UserStore;\s+\};/m);
92
91
  expect(output).toMatch(
93
92
  /missingProvider: \{\s+HttpClient: HttpClient;\s+\};/m,
94
93
  );
@@ -127,12 +126,15 @@ describe('angular-brand-codemod', () => {
127
126
  const output = sourceFile.getFullText();
128
127
 
129
128
  expect(output).toMatch(
130
- /import \{ type GetDeps \} from ['"]@craft-ng\/core['"];/,
129
+ /import \{[^}]*type GetDeps[^}]*type GetPublicComponentProperties[^}]*\} from ['"]@craft-ng\/core['"];/,
131
130
  );
132
131
  expect(output).not.toContain('brandAngularSymbol');
133
132
  expect(output).not.toContain('deps({');
134
133
  expect(output).toContain('export default class DemoComponent {}');
135
134
  expect(output).toContain('export type GenDeps_DemoComponent = GetDeps<{');
135
+ expect(output).toContain(
136
+ 'publicProperties: GetPublicComponentProperties<DemoComponent>;',
137
+ );
136
138
  });
137
139
 
138
140
  it('matches injectX and provideX helpers on the same derived key', async () => {
@@ -170,12 +172,8 @@ describe('angular-brand-codemod', () => {
170
172
  transformSourceFile(sourceFile);
171
173
  const output = sourceFile.getFullText();
172
174
 
173
- expect(output).toContain(
174
- 'UserStore: ReturnType<typeof injectUserStore>;',
175
- );
176
- expect(output).toContain(
177
- 'UserStore: ReturnType<typeof provideUserStore>;',
178
- );
175
+ expect(output).toContain('UserStore: ReturnType<typeof injectUserStore>;');
176
+ expect(output).toContain('UserStore: ReturnType<typeof provideUserStore>;');
179
177
  expect(output).not.toContain('missingProvider: {};');
180
178
  });
181
179
 
@@ -199,6 +197,7 @@ describe('angular-brand-codemod', () => {
199
197
  export type DerivedService<T, U> = T & U;
200
198
  export type GetDeps<T> = T;
201
199
  export type GetInjectedServiceDependencies<T> = T;
200
+ export type GetPublicComponentProperties<T> = T;
202
201
  export type GetServiceOutput<T> = T;
203
202
  }
204
203
  `,
@@ -245,6 +244,9 @@ describe('angular-brand-codemod', () => {
245
244
  expect(output).toContain(
246
245
  'ApiService: GetInjectedServiceDependencies<typeof injectApiService>;',
247
246
  );
247
+ expect(output).toContain(
248
+ 'publicProperties: GetPublicComponentProperties<DemoComponent>;',
249
+ );
248
250
  expect(output).toContain(
249
251
  'Router: DerivedService<GetInjectedServiceDependencies<typeof injectRouter>, {',
250
252
  );
@@ -297,7 +299,7 @@ async function writeFixtureFiles(
297
299
  }
298
300
 
299
301
  function getFixtureSourceFile(project: Project, relativePath: string) {
300
- return project.getSourceFiles().find((sourceFile) =>
301
- sourceFile.getFilePath().endsWith(relativePath),
302
- )!;
302
+ return project
303
+ .getSourceFiles()
304
+ .find((sourceFile) => sourceFile.getFilePath().endsWith(relativePath))!;
303
305
  }
@@ -25,7 +25,7 @@ export type TransformResult = {
25
25
  changed: boolean;
26
26
  skipped: boolean;
27
27
  warnings: string[];
28
- angularKind?: string;
28
+ angularKind?: AngularKind;
29
29
  className?: string;
30
30
  dependencies: string[];
31
31
  dependencyGroups: DependencyGroups;
@@ -244,6 +244,7 @@ export function transformSourceFile(
244
244
  );
245
245
  writeGeneratedDepsTypeAlias(
246
246
  sourceFile,
247
+ angularKind,
247
248
  className,
248
249
  result.generatedDependencyGroups,
249
250
  );
@@ -350,7 +351,11 @@ export function analyzeSourceFileDependencies(
350
351
  [
351
352
  ...constructorDeps.dependencies.map((dependencyText) => ({
352
353
  dependencyText,
353
- entry: createGeneratedDependencyEntry(sourceFile, dependencyText, 'inject'),
354
+ entry: createGeneratedDependencyEntry(
355
+ sourceFile,
356
+ dependencyText,
357
+ 'inject',
358
+ ),
354
359
  })),
355
360
  ...injectCallDeps.generatedDependencies,
356
361
  ],
@@ -620,7 +625,10 @@ function createGeneratedDependencyGroups(
620
625
  const provided = mergeGeneratedDependencyEntries(providedEntries);
621
626
  const providedKeys = new Set(provided.map((entry) => entry.key));
622
627
  const injectedEntriesByKey = new Map(
623
- injectedDependencies.map((dependency) => [dependency.entry.key, dependency.entry]),
628
+ injectedDependencies.map((dependency) => [
629
+ dependency.entry.key,
630
+ dependency.entry,
631
+ ]),
624
632
  );
625
633
  const missingProvider = mergeGeneratedDependencyEntries(
626
634
  injectedDependencies
@@ -634,13 +642,14 @@ function createGeneratedDependencyGroups(
634
642
  )
635
643
  );
636
644
  })
637
- .map((dependency) =>
638
- injectedEntriesByKey.get(dependency.entry.key) ??
639
- createGeneratedDependencyEntry(
640
- sourceFile,
641
- dependency.dependencyText,
642
- 'inject',
643
- ),
645
+ .map(
646
+ (dependency) =>
647
+ injectedEntriesByKey.get(dependency.entry.key) ??
648
+ createGeneratedDependencyEntry(
649
+ sourceFile,
650
+ dependency.dependencyText,
651
+ 'inject',
652
+ ),
644
653
  ),
645
654
  );
646
655
 
@@ -742,12 +751,10 @@ function createTrackedInjectHelperTypeText(
742
751
  )};`,
743
752
  ` derivedPropertiesExposed: ${formatHelperExposurePropertiesType(
744
753
  dependencyText,
745
- exposureTracking.exposedProperties.map(
746
- ({ exposedKey, sourceKey }) => ({
747
- propertyKey: exposedKey,
748
- sourceKey,
749
- }),
750
- ),
754
+ exposureTracking.exposedProperties.map(({ exposedKey, sourceKey }) => ({
755
+ propertyKey: exposedKey,
756
+ sourceKey,
757
+ })),
751
758
  )};`,
752
759
  '}>',
753
760
  ].join('\n');
@@ -790,7 +797,9 @@ function resolveTrackedInjectHelper(
790
797
  ): TrackedHelperResolution | undefined {
791
798
  const symbol = expression.getSymbol() ?? expression.getType().getSymbol();
792
799
  const declarations =
793
- symbol?.getAliasedSymbol()?.getDeclarations() ?? symbol?.getDeclarations() ?? [];
800
+ symbol?.getAliasedSymbol()?.getDeclarations() ??
801
+ symbol?.getDeclarations() ??
802
+ [];
794
803
 
795
804
  for (const declaration of declarations) {
796
805
  const helper = resolveTrackedInjectHelperFromDeclaration(declaration);
@@ -812,10 +821,14 @@ function resolveTrackedInjectHelperFromDeclaration(
812
821
  const objectBindingPattern = declaration.getFirstAncestorByKind(
813
822
  SyntaxKind.ObjectBindingPattern,
814
823
  );
815
- const variableDeclaration =
816
- objectBindingPattern?.getFirstAncestorByKind(SyntaxKind.VariableDeclaration);
824
+ const variableDeclaration = objectBindingPattern?.getFirstAncestorByKind(
825
+ SyntaxKind.VariableDeclaration,
826
+ );
817
827
  const initializer = variableDeclaration?.getInitializer();
818
- if (!Node.isCallExpression(initializer) || !isServiceFactoryCall(initializer)) {
828
+ if (
829
+ !Node.isCallExpression(initializer) ||
830
+ !isServiceFactoryCall(initializer)
831
+ ) {
819
832
  return undefined;
820
833
  }
821
834
 
@@ -851,7 +864,10 @@ function isServiceFactoryCall(
851
864
  ): boolean {
852
865
  const expression = callExpression.getExpression();
853
866
  if (Node.isIdentifier(expression)) {
854
- return expression.getText() === 'craftService' || expression.getText() === 'toCraftService';
867
+ return (
868
+ expression.getText() === 'craftService' ||
869
+ expression.getText() === 'toCraftService'
870
+ );
855
871
  }
856
872
 
857
873
  if (Node.isPropertyAccessExpression(expression)) {
@@ -936,7 +952,9 @@ function extractHelperExposureBindings(
936
952
  }
937
953
 
938
954
  function getExposureReturnObjectLiteral(
939
- exposeArgument: import('ts-morph').ArrowFunction | import('ts-morph').FunctionExpression,
955
+ exposeArgument:
956
+ | import('ts-morph').ArrowFunction
957
+ | import('ts-morph').FunctionExpression,
940
958
  ): ObjectLiteralExpression | undefined {
941
959
  const body = exposeArgument.getBody();
942
960
  if (Node.isObjectLiteralExpression(body)) {
@@ -952,9 +970,13 @@ function getExposureReturnObjectLiteral(
952
970
  return undefined;
953
971
  }
954
972
 
955
- const returnStatement = [...body.getDescendantsOfKind(SyntaxKind.ReturnStatement)]
973
+ const returnStatement = [
974
+ ...body.getDescendantsOfKind(SyntaxKind.ReturnStatement),
975
+ ]
956
976
  .reverse()
957
- .find((statement) => Node.isObjectLiteralExpression(statement.getExpression()));
977
+ .find((statement) =>
978
+ Node.isObjectLiteralExpression(statement.getExpression()),
979
+ );
958
980
 
959
981
  const expression = returnStatement?.getExpression();
960
982
  return Node.isObjectLiteralExpression(expression) ? expression : undefined;
@@ -967,7 +989,8 @@ function extractHelperExposedProperties(
967
989
  const bindingMap = new Map(
968
990
  bindings.map((binding) => [binding.localName, binding.sourceKey]),
969
991
  );
970
- const exposedProperties: Array<{ exposedKey: string; sourceKey: string }> = [];
992
+ const exposedProperties: Array<{ exposedKey: string; sourceKey: string }> =
993
+ [];
971
994
 
972
995
  for (const property of objectLiteral.getProperties()) {
973
996
  if (Node.isShorthandPropertyAssignment(property)) {
@@ -1006,7 +1029,9 @@ function extractHelperExposedProperties(
1006
1029
  }
1007
1030
 
1008
1031
  function extractHelperYieldedProperties(
1009
- exposeArgument: import('ts-morph').ArrowFunction | import('ts-morph').FunctionExpression,
1032
+ exposeArgument:
1033
+ | import('ts-morph').ArrowFunction
1034
+ | import('ts-morph').FunctionExpression,
1010
1035
  bindings: HelperExposureBinding[],
1011
1036
  ): string[] {
1012
1037
  const bindingMap = new Map(
@@ -1158,12 +1183,17 @@ function ensureGeneratedDependencyTypeImports(
1158
1183
  }
1159
1184
 
1160
1185
  function formatGeneratedDependencyType(
1186
+ angularKind: AngularKind,
1187
+ className: string,
1161
1188
  generatedDependencyGroups: GeneratedDependencyGroups,
1162
1189
  ): string {
1163
1190
  return [
1164
1191
  '{',
1165
1192
  ` deps: ${formatGeneratedDependencyObject(generatedDependencyGroups.deps)};`,
1166
1193
  ` provided: ${formatGeneratedDependencyObject(generatedDependencyGroups.provided)};`,
1194
+ ...(angularKind === 'component'
1195
+ ? [` publicProperties: GetPublicComponentProperties<${className}>;`]
1196
+ : []),
1167
1197
  ...(generatedDependencyGroups.missingProvider.length > 0
1168
1198
  ? [
1169
1199
  ` missingProvider: ${formatGeneratedDependencyObject(
@@ -1189,7 +1219,9 @@ function formatGeneratedDependencyObject(
1189
1219
  ].join('\n');
1190
1220
  }
1191
1221
 
1192
- function formatGeneratedDependencyEntry(entry: GeneratedDependencyEntry): string {
1222
+ function formatGeneratedDependencyEntry(
1223
+ entry: GeneratedDependencyEntry,
1224
+ ): string {
1193
1225
  const typeLines = entry.typeText.split('\n');
1194
1226
  const lines = [
1195
1227
  ` ${formatObjectKey(entry.key)}: ${typeLines[0]}`,
@@ -1205,11 +1237,16 @@ function formatObjectKey(key: string): string {
1205
1237
 
1206
1238
  export function writeGeneratedDepsTypeAlias(
1207
1239
  sourceFile: SourceFile,
1240
+ angularKind: AngularKind,
1208
1241
  className: string,
1209
1242
  generatedDependencyGroups: GeneratedDependencyGroups,
1210
1243
  ): void {
1211
1244
  const generatedTypeName = getGeneratedDepsTypeName(className);
1212
- const generatedType = `GetDeps<${formatGeneratedDependencyType(generatedDependencyGroups)}>`;
1245
+ const generatedType = `GetDeps<${formatGeneratedDependencyType(
1246
+ angularKind,
1247
+ className,
1248
+ generatedDependencyGroups,
1249
+ )}>`;
1213
1250
  const existingTypeAlias = sourceFile.getTypeAlias(generatedTypeName);
1214
1251
 
1215
1252
  if (existingTypeAlias) {
@@ -1341,6 +1378,7 @@ export function ensureHelperImports(
1341
1378
  'DerivedService',
1342
1379
  'GetDeps',
1343
1380
  'GetInjectedServiceDependencies',
1381
+ 'GetPublicComponentProperties',
1344
1382
  'GetServiceOutput',
1345
1383
  ].filter(
1346
1384
  (importName) =>
@@ -2327,11 +2365,14 @@ function resolveDependencyIdentifierDeclarations(
2327
2365
  rootIdentifier: string,
2328
2366
  ): Node[] {
2329
2367
  for (const importDeclaration of sourceFile.getImportDeclarations()) {
2330
- const namedImport = importDeclaration.getNamedImports().find((specifier) => {
2331
- const localName =
2332
- specifier.getAliasNode()?.getText() ?? specifier.getNameNode().getText();
2333
- return localName === rootIdentifier;
2334
- });
2368
+ const namedImport = importDeclaration
2369
+ .getNamedImports()
2370
+ .find((specifier) => {
2371
+ const localName =
2372
+ specifier.getAliasNode()?.getText() ??
2373
+ specifier.getNameNode().getText();
2374
+ return localName === rootIdentifier;
2375
+ });
2335
2376
 
2336
2377
  if (!namedImport) {
2337
2378
  continue;
@@ -2601,6 +2642,7 @@ function getHelperImportSafety(
2601
2642
  'DerivedService',
2602
2643
  'GetDeps',
2603
2644
  'GetInjectedServiceDependencies',
2645
+ 'GetPublicComponentProperties',
2604
2646
  'GetServiceOutput',
2605
2647
  ]
2606
2648
  .filter((helperName) =>