@zzzen/pyright-internal 1.2.0-dev.20240602 → 1.2.0-dev.20240609

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.
Files changed (95) hide show
  1. package/dist/analyzer/binder.js +14 -8
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.js +47 -30
  4. package/dist/analyzer/checker.js.map +1 -1
  5. package/dist/analyzer/constraintSolver.js +26 -34
  6. package/dist/analyzer/constraintSolver.js.map +1 -1
  7. package/dist/analyzer/constructorTransform.js +1 -1
  8. package/dist/analyzer/constructorTransform.js.map +1 -1
  9. package/dist/analyzer/constructors.js +2 -5
  10. package/dist/analyzer/constructors.js.map +1 -1
  11. package/dist/analyzer/dataClasses.js +1 -1
  12. package/dist/analyzer/dataClasses.js.map +1 -1
  13. package/dist/analyzer/enums.d.ts +1 -1
  14. package/dist/analyzer/enums.js +19 -16
  15. package/dist/analyzer/enums.js.map +1 -1
  16. package/dist/analyzer/operations.js +6 -7
  17. package/dist/analyzer/operations.js.map +1 -1
  18. package/dist/analyzer/parameterUtils.js +1 -13
  19. package/dist/analyzer/parameterUtils.js.map +1 -1
  20. package/dist/analyzer/patternMatching.js +4 -4
  21. package/dist/analyzer/patternMatching.js.map +1 -1
  22. package/dist/analyzer/properties.js +2 -2
  23. package/dist/analyzer/properties.js.map +1 -1
  24. package/dist/analyzer/protocols.js +2 -2
  25. package/dist/analyzer/protocols.js.map +1 -1
  26. package/dist/analyzer/sourceFile.js +3 -3
  27. package/dist/analyzer/sourceFile.js.map +1 -1
  28. package/dist/analyzer/typeEvaluator.js +279 -209
  29. package/dist/analyzer/typeEvaluator.js.map +1 -1
  30. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -3
  31. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  32. package/dist/analyzer/typeGuards.js +3 -2
  33. package/dist/analyzer/typeGuards.js.map +1 -1
  34. package/dist/analyzer/typePrinter.js +21 -14
  35. package/dist/analyzer/typePrinter.js.map +1 -1
  36. package/dist/analyzer/typeUtils.d.ts +3 -4
  37. package/dist/analyzer/typeUtils.js +89 -124
  38. package/dist/analyzer/typeUtils.js.map +1 -1
  39. package/dist/analyzer/typeVarContext.js +4 -0
  40. package/dist/analyzer/typeVarContext.js.map +1 -1
  41. package/dist/analyzer/types.d.ts +11 -12
  42. package/dist/analyzer/types.js +137 -169
  43. package/dist/analyzer/types.js.map +1 -1
  44. package/dist/backgroundAnalysisBase.d.ts +1 -1
  45. package/dist/backgroundAnalysisBase.js +3 -3
  46. package/dist/commands/dumpFileDebugInfoCommand.js +1 -1
  47. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  48. package/dist/common/configOptions.d.ts +2 -1
  49. package/dist/common/configOptions.js +12 -3
  50. package/dist/common/configOptions.js.map +1 -1
  51. package/dist/common/realFileSystem.d.ts +3 -3
  52. package/dist/common/realFileSystem.js +6 -6
  53. package/dist/common/realFileSystem.js.map +1 -1
  54. package/dist/languageServerBase.js +1 -1
  55. package/dist/languageServerBase.js.map +1 -1
  56. package/dist/languageService/workspaceSymbolProvider.js +1 -1
  57. package/dist/localization/localize.d.ts +6 -0
  58. package/dist/localization/localize.js +3 -0
  59. package/dist/localization/localize.js.map +1 -1
  60. package/dist/localization/package.nls.cs.json +2 -2
  61. package/dist/localization/package.nls.de.json +2 -2
  62. package/dist/localization/package.nls.en-us.json +3 -0
  63. package/dist/localization/package.nls.es.json +2 -2
  64. package/dist/localization/package.nls.fr.json +2 -2
  65. package/dist/localization/package.nls.it.json +2 -2
  66. package/dist/localization/package.nls.ja.json +2 -2
  67. package/dist/localization/package.nls.ko.json +3 -3
  68. package/dist/localization/package.nls.pl.json +2 -2
  69. package/dist/localization/package.nls.pt-br.json +2 -2
  70. package/dist/localization/package.nls.qps-ploc.json +2 -2
  71. package/dist/localization/package.nls.ru.json +2 -2
  72. package/dist/localization/package.nls.tr.json +2 -2
  73. package/dist/localization/package.nls.zh-cn.json +2 -2
  74. package/dist/localization/package.nls.zh-tw.json +2 -2
  75. package/dist/pyright.js +3 -0
  76. package/dist/pyright.js.map +1 -1
  77. package/dist/tests/config.test.js +2 -2
  78. package/dist/tests/config.test.js.map +1 -1
  79. package/dist/tests/diagnosticOverrides.test.js +7 -6
  80. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  81. package/dist/tests/testState.test.js +1 -1
  82. package/dist/tests/testState.test.js.map +1 -1
  83. package/dist/tests/testUtils.js +1 -1
  84. package/dist/tests/testUtils.js.map +1 -1
  85. package/dist/tests/typeEvaluator2.test.js +4 -0
  86. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  87. package/dist/tests/typeEvaluator3.test.js +8 -0
  88. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  89. package/dist/tests/typeEvaluator4.test.js +7 -3
  90. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  91. package/dist/tests/typeEvaluator7.test.js +15 -9
  92. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  93. package/dist/tests/typePrinter.test.js +2 -2
  94. package/dist/tests/typePrinter.test.js.map +1 -1
  95. package/package.json +1 -1
@@ -44,7 +44,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
44
44
  }
45
45
  let isTypeVarInScope = true;
46
46
  const isInvariant = (flags & 1 /* AssignTypeFlags.EnforceInvariance */) !== 0;
47
- const isContravariant = (flags & 2 /* AssignTypeFlags.ReverseTypeVarMatching */) !== 0;
47
+ const isContravariant = (flags & 2 /* AssignTypeFlags.ReverseTypeVarMatching */) !== 0 && !isInvariant;
48
48
  // If the TypeVar doesn't have a scope ID, then it's being used
49
49
  // outside of a valid TypeVar scope. This will be reported as a
50
50
  // separate error. Just ignore this case to avoid redundant errors.
@@ -78,7 +78,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
78
78
  if (destType.details.isParamSpec &&
79
79
  (0, types_1.isFunction)(srcType) &&
80
80
  types_1.FunctionType.isParamSpecValue(srcType) &&
81
- types_1.FunctionType.shouldSkipArgsKwargsCompatibilityCheck(srcType)) {
81
+ types_1.FunctionType.isGradualCallableForm(srcType)) {
82
82
  return true;
83
83
  }
84
84
  // Never or NoReturn is always assignable to all type variables unless
@@ -331,6 +331,18 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
331
331
  }
332
332
  }
333
333
  }
334
+ // If this is an invariant context, make sure the narrow type bound
335
+ // isn't too wide.
336
+ if (isInvariant && newNarrowTypeBound) {
337
+ if (!evaluator.assignType(adjSrcType, newNarrowTypeBound, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
338
+ /* destTypeVarContext */ undefined,
339
+ /* srcTypeVarContext */ undefined, 1024 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
340
+ if (diag && diagAddendum) {
341
+ diag.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(newNarrowTypeBound, adjSrcType)));
342
+ }
343
+ return false;
344
+ }
345
+ }
334
346
  // Make sure we don't exceed the wide type bound.
335
347
  if (curWideTypeBound && newNarrowTypeBound) {
336
348
  if (!(0, types_1.isTypeSame)(curWideTypeBound, newNarrowTypeBound, {}, recursionCount)) {
@@ -565,49 +577,29 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
565
577
  }
566
578
  function assignTypeToParamSpec(evaluator, destType, srcType, diag, typeVarContext, recursionCount = 0) {
567
579
  let isAssignable = true;
580
+ const adjSrcType = (0, types_1.isFunction)(srcType) ? (0, typeUtils_1.convertParamSpecValueToType)(srcType) : srcType;
568
581
  typeVarContext.doForEachSignature((signatureContext) => {
569
- if ((0, types_1.isTypeVar)(srcType) && srcType.details.isParamSpec) {
582
+ if ((0, types_1.isTypeVar)(adjSrcType) && adjSrcType.details.isParamSpec) {
570
583
  const existingType = signatureContext.getParamSpecType(destType);
571
584
  if (existingType) {
572
- if (existingType.details.parameters.length === 0 && existingType.details.paramSpec) {
585
+ const existingTypeParamSpec = types_1.FunctionType.getParamSpecFromArgsKwargs(existingType);
586
+ const existingTypeWithoutArgsKwargs = types_1.FunctionType.cloneRemoveParamSpecArgsKwargs(existingType);
587
+ if (existingTypeWithoutArgsKwargs.details.parameters.length === 0 && existingTypeParamSpec) {
573
588
  // If there's an existing entry that matches, that's fine.
574
- if ((0, types_1.isTypeSame)(existingType.details.paramSpec, srcType, {}, recursionCount)) {
589
+ if ((0, types_1.isTypeSame)(existingTypeParamSpec, adjSrcType, {}, recursionCount)) {
575
590
  return;
576
591
  }
577
592
  }
578
593
  }
579
594
  else {
580
595
  if (!typeVarContext.isLocked() && typeVarContext.hasSolveForScope(destType.scopeId)) {
581
- signatureContext.setTypeVarType(destType, (0, typeUtils_1.convertTypeToParamSpecValue)(srcType));
596
+ signatureContext.setTypeVarType(destType, (0, typeUtils_1.convertTypeToParamSpecValue)(adjSrcType));
582
597
  }
583
598
  return;
584
599
  }
585
600
  }
586
- else if ((0, types_1.isFunction)(srcType)) {
587
- const functionSrcType = srcType;
588
- const parameters = srcType.details.parameters.map((p, index) => {
589
- const param = {
590
- category: p.category,
591
- name: p.name,
592
- isNameSynthesized: p.isNameSynthesized,
593
- hasDefault: !!p.hasDefault,
594
- defaultValueExpression: p.defaultValueExpression,
595
- hasDeclaredType: p.hasDeclaredType,
596
- type: types_1.FunctionType.getEffectiveParameterType(functionSrcType, index),
597
- };
598
- return param;
599
- });
600
- const newFunction = types_1.FunctionType.createInstance('', '', '', srcType.details.flags | 65536 /* FunctionTypeFlags.ParamSpecValue */);
601
- parameters.forEach((param) => {
602
- types_1.FunctionType.addParameter(newFunction, param);
603
- });
604
- newFunction.details.typeVarScopeId = srcType.details.typeVarScopeId;
605
- newFunction.details.constructorTypeVarScopeId = srcType.details.constructorTypeVarScopeId;
606
- types_1.FunctionType.addHigherOrderTypeVarScopeIds(newFunction, srcType.details.higherOrderTypeVarScopeIds);
607
- newFunction.details.docString = srcType.details.docString;
608
- newFunction.details.deprecatedMessage = srcType.details.deprecatedMessage;
609
- newFunction.details.paramSpec = srcType.details.paramSpec;
610
- newFunction.details.methodClass = srcType.details.methodClass;
601
+ else if ((0, types_1.isFunction)(adjSrcType)) {
602
+ const newFunction = adjSrcType;
611
603
  let updateContextWithNewFunction = false;
612
604
  const existingType = signatureContext.getParamSpecType(destType);
613
605
  if (existingType) {
@@ -629,7 +621,7 @@ function assignTypeToParamSpec(evaluator, destType, srcType, diag, typeVarContex
629
621
  // "..." (which is the ParamSpec equivalent of "Any"). If only one has
630
622
  // the type "...", we'll prefer the other one. This is analogous to
631
623
  // what we do with regular TypeVars, where we prefer non-Any values.
632
- if (!types_1.FunctionType.shouldSkipArgsKwargsCompatibilityCheck(newFunction)) {
624
+ if (!types_1.FunctionType.isGradualCallableForm(newFunction)) {
633
625
  updateContextWithNewFunction = true;
634
626
  }
635
627
  else {
@@ -655,11 +647,11 @@ function assignTypeToParamSpec(evaluator, destType, srcType, diag, typeVarContex
655
647
  return;
656
648
  }
657
649
  }
658
- else if ((0, types_1.isAnyOrUnknown)(srcType)) {
650
+ else if ((0, types_1.isAnyOrUnknown)(adjSrcType)) {
659
651
  return;
660
652
  }
661
653
  diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.typeParamSpec().format({
662
- type: evaluator.printType(srcType),
654
+ type: evaluator.printType(adjSrcType),
663
655
  name: destType.details.name,
664
656
  }));
665
657
  isAssignable = false;
@@ -1 +1 @@
1
- {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
@@ -303,7 +303,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
303
303
  types_1.FunctionType.addParameter(newCallMemberType, param);
304
304
  });
305
305
  newCallMemberType.details.declaredReturnType = specializedFunctionType.details.declaredReturnType
306
- ? types_1.FunctionType.getSpecializedReturnType(specializedFunctionType)
306
+ ? types_1.FunctionType.getEffectiveReturnType(specializedFunctionType)
307
307
  : specializedFunctionType.inferredReturnType;
308
308
  newCallMemberType.details.declaration = partialCallMemberType.details.declaration;
309
309
  newCallMemberType.details.typeVarScopeId = specializedFunctionType.details.typeVarScopeId;
@@ -1 +1 @@
1
- {"version":3,"file":"constructorTransform.js","sourceRoot":"","sources":["../../../../../src/analyzer/constructorTransform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constructorTransform.js","sourceRoot":"","sources":["../../../../../src/analyzer/constructorTransform.ts"],"names":[],"mappings":"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"}
@@ -489,7 +489,7 @@ function createFunctionFromConstructor(evaluator, classType, selfType = undefine
489
489
  if (fromNew) {
490
490
  let skipInitMethod = false;
491
491
  (0, typeUtils_1.doForEachSignature)(fromNew, (signature) => {
492
- const newMethodReturnType = types_1.FunctionType.getSpecializedReturnType(signature);
492
+ const newMethodReturnType = types_1.FunctionType.getEffectiveReturnType(signature);
493
493
  if (newMethodReturnType && shouldSkipInitEvaluation(evaluator, classType, newMethodReturnType)) {
494
494
  skipInitMethod = true;
495
495
  }
@@ -537,7 +537,7 @@ function createFunctionFromMetaclassCall(evaluator, classType, recursionCount) {
537
537
  // constructed.
538
538
  (0, typeUtils_1.doForEachSignature)(boundCallType, (signature) => {
539
539
  if (signature.details.declaredReturnType) {
540
- const returnType = types_1.FunctionType.getSpecializedReturnType(signature);
540
+ const returnType = types_1.FunctionType.getEffectiveReturnType(signature);
541
541
  if (returnType && shouldSkipNewAndInitEvaluation(evaluator, classType, returnType)) {
542
542
  useMetaclassCall = true;
543
543
  }
@@ -712,9 +712,6 @@ function isDefaultNewMethod(newMethod) {
712
712
  if (!newMethod || !(0, types_1.isFunction)(newMethod)) {
713
713
  return false;
714
714
  }
715
- if (newMethod.details.paramSpec) {
716
- return false;
717
- }
718
715
  const params = newMethod.details.parameters;
719
716
  if (params.length !== 2) {
720
717
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../../../src/analyzer/constructors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;AAEH,+DAAwD;AACxD,qDAA0D;AAC1D,+DAA2D;AAC3D,uDAAsD;AAEtD,yDAA+E;AAC/E,iEAA4F;AAC5F,qDAA2D;AAE3D,2CAkBqB;AACrB,qDAAkD;AAClD,mCAsBiB;AAEjB,qDAAqD;AACrD,SAAgB,iBAAiB,CAC7B,SAAwB,EACxB,SAAyB,EACzB,IAAe,EACf,OAAuC,SAAS,EAChD,eAAe,gDAAwC;IAEvD,MAAM,KAAK,GACP;+DAC6C;iEACE;QAC/C,eAAe,CAAC;IAEpB,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACtG,CAAC;AAdD,8CAcC;AAED,+DAA+D;AAC/D,SAAgB,kBAAkB,CAC9B,SAAwB,EACxB,SAAyB,EACzB,IAAe,EACf,OAAuC,SAAS,EAChD,eAAe,gDAAwC;IAEvD,MAAM,KAAK,GACP,wGAAqF,GAAG,eAAe,CAAC;IAE5G,OAAO,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACvG,CAAC;AAXD,gDAWC;AAED,uEAAuE;AACvE,SAAgB,kBAAkB,CAAC,SAAwB,EAAE,SAAyB,EAAE,IAAe;IACnG,OAAO,SAAS,CAAC,oBAAoB,CACjC,SAAS,EACT,IAAI,EACJ,UAAU,EACV,EAAE,MAAM,EAAE,KAAK,EAAE;IACjB,UAAU,CAAC,SAAS,EACpB;mDACuC;+DACU,CACpD,CAAC;AACN,CAAC;AAXD,gDAWC;AAED,kEAAkE;AAClE,yEAAyE;AACzE,4EAA4E;AAC5E,SAAgB,4BAA4B,CACxC,SAAwB,EACxB,SAAyB,EACzB,OAA2B,EAC3B,IAAe,EACf,mBAAwC,EACxC,gBAA8C,EAC9C,gBAAoD;;IAEpD,MAAM,eAAe,GAAG,qBAAqB,CACzC,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,CACnB,CAAC;IAEF,IAAI,eAAe,EAAE;QACjB,MAAM,mBAAmB,GAAG,MAAA,eAAe,CAAC,UAAU,mCAAI,mBAAW,CAAC,MAAM,EAAE,CAAC;QAE/E,oEAAoE;QACpE,gEAAgE;QAChE,yEAAyE;QACzE,mCAAmC;QACnC,IAAI,eAAe,CAAC,cAAc,IAAI,8BAA8B,CAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,CAAC,EAAE;YACxG,OAAO,eAAe,CAAC;SAC1B;KACJ;IAED,mEAAmE;IACnE,MAAM,aAAa,GAAG,IAAI,+BAAkB,EAAE,CAAC;IAC/C,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACzF,IAAI,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,UAAU,EAAE;QACjC,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,uBAAuB,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;KACzG;IAED,MAAM,uBAAuB,GAAG,IAAA,8CAAuB,EAAC,IAAI,CAAC,CAAC;IAE9D,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,YAAY,GAAG,SAAS,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE;QACpG,OAAO,yBAAyB,CAC5B,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,CACtB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,uBAAuB,GAAG,CAAC,uBAAuB,IAAI,YAAY,CAAC,cAAc,CAAC;IAEtF,+CAA+C;IAC/C,IAAI,uBAAuB,EAAE;QACzB,IAAI,YAAY,CAAC,cAAc,EAAE;YAC7B,yEAAyE;YACzE,0EAA0E;YAC1E,8CAA8C;YAC9C,yBAAyB,CACrB,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,CACtB,CAAC;YAEF,uBAAuB,GAAG,IAAI,CAAC;SAClC;aAAM,IAAI,YAAY,CAAC,UAAU,EAAE;YAChC,MAAM,WAAW,GAAG,IAAA,gDAAyB,EACzC,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ;gBACI,cAAc,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc;gBAC7C,UAAU,EAAE,YAAY,CAAC,UAAU;gBACnC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,gBAAgB;aACpD,EACD,gBAAgB,CACnB,CAAC;YAEF,YAAY,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YAEjD,IAAI,WAAW,CAAC,gBAAgB,EAAE;gBAC9B,YAAY,CAAC,gBAAgB,GAAG,IAAI,CAAC;aACxC;YAED,IAAI,WAAW,CAAC,cAAc,EAAE;gBAC5B,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC;aACtC;YAED,uBAAuB,GAAG,IAAI,CAAC;SAClC;KACJ;IAED,wEAAwE;IACxE,sEAAsE;IACtE,IAAI,CAAC,uBAAuB,EAAE;QAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpB,IAAI,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;gBAC/E,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;aACtD;QACL,CAAC,CAAC,CAAC;KACN;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAlHD,oEAkHC;AAED,SAAS,yBAAyB,CAC9B,SAAwB,EACxB,SAAyB,EACzB,OAA2B,EAC3B,IAAe,EACf,mBAAwC,EACxC,gBAA8C,EAC9C,gBAAoD,EACpD,mBAA2C;;IAE3C,IAAI,UAA4B,CAAC;IACjC,IAAI,uBAAuB,GAAG,KAAK,CAAC;IACpC,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,oBAAoB,GAAmB,EAAE,CAAC;IAChD,IAAI,mBAAqC,CAAC;IAE1C,qCAAqC;IACrC,IAAI,mBAAmB,EAAE;QACrB,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,aAAa,GAAG,iBAAiB,CACnC,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB;QACnB,+BAA+B,CAAC,IAAI,CACvC,CAAC;QAEF,IAAI,aAAa,CAAC,cAAc,EAAE;YAC9B,cAAc,GAAG,IAAI,CAAC;SACzB;aAAM;YACH,IAAA,6BAAW,EAAC,oBAAoB,EAAE,MAAA,aAAa,CAAC,oBAAoB,mCAAI,EAAE,CAAC,CAAC;SAC/E;QAED,IAAI,aAAa,CAAC,gBAAgB,EAAE;YAChC,gBAAgB,GAAG,IAAI,CAAC;SAC3B;QAED,mBAAmB,GAAG,aAAa,CAAC,UAAU,CAAC;KAClD;IAED,IAAI,CAAC,mBAAmB,IAAI,kBAAkB,CAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,IAAI,CAAC,EAAE;QACvE,gEAAgE;QAChE,+DAA+D;QAC/D,+CAA+C;QAC/C,mBAAmB,GAAG,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;KACzD;SAAM,IAAI,IAAA,sBAAc,EAAC,mBAAmB,CAAC,EAAE;QAC5C,wEAAwE;QACxE,wCAAwC;QACxC,mBAAmB,GAAG,IAAA,+BAAmB,EACrC,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAC/B,IAAI,+BAAc,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC,EAC3C,EAAE,iBAAiB,EAAE,IAAI,EAAE,CACjB,CAAC;KAClB;IAED,IAAI,oBAA4C,CAAC;IAEjD,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,sEAAsE;IACtE,wCAAwC;IACxC,IAAI,cAAc,EAAE;QAChB,oBAAoB,GAAG,EAAE,IAAI,EAAE,IAAA,6BAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;KAC5D;IAED,qCAAqC;IACrC,IACI,CAAC,IAAA,eAAO,EAAC,mBAAmB,CAAC;QAC7B,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,EAAE,mBAAmB,CAAC;QAC/D,IAAA,uBAAe,EAAC,mBAAmB,CAAC,EACtC;QACE,8EAA8E;QAC9E,+EAA+E;QAC/E,6EAA6E;QAC7E,IAAI,oBAAoB,GAAG,mBAAmB,CAAC;QAC/C,IACI,oBAAoB,CAAC,aAAa;YAClC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC,EAC1E;YACE,oBAAoB,GAAG,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC1D;QAED,oEAAoE;QACpE,MAAM,cAAc,GAAG,IAAI,+BAAkB,EAAE,CAAC;QAChD,oBAAoB,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,cAAc,CAAC,CAAC;QACtG,IAAI,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,UAAU,EAAE;YAClC,SAAS,CAAC,aAAa,CAAC,gCAAc,CAAC,uBAAuB,EAAE,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;SAC1G;QAED,qCAAqC;QACrC,IAAI,oBAAoB,EAAE;YACtB,MAAM,cAAc,GAAG,kBAAkB,CACrC,SAAS,EACT,SAAS,EACT,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,CAAC,IAAI,CAC5B,CAAC;YAEF,IAAI,cAAc,CAAC,cAAc,EAAE;gBAC/B,cAAc,GAAG,IAAI,CAAC;aACzB;iBAAM,IAAI,cAAc,CAAC,oBAAoB,EAAE;gBAC5C,oBAAoB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;aACrE;YAED,IAAI,cAAc,CAAC,gBAAgB,EAAE;gBACjC,gBAAgB,GAAG,IAAI,CAAC;aAC3B;YAED,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;YACvC,uBAAuB,GAAG,IAAI,CAAC;YAC/B,mBAAmB,GAAG,IAAI,CAAC;SAC9B;KACJ;IAED,IAAI,CAAC,uBAAuB,IAAI,mBAAmB,EAAE;QACjD,8EAA8E;QAC9E,4EAA4E;QAC5E,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE;YAC9C,iBAAiB,CACb,SAAS,EACT,SAAS,EACT,OAAO,EACP,IAAI,EACJ,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB;YACnB,+BAA+B,CAAC,KAAK,CACxC,CAAC;SACL;QAED,uBAAuB,GAAG,IAAI,CAAC;QAC/B,UAAU,GAAG,mBAAmB,CAAC;KACpC;IAED,2EAA2E;IAC3E,+DAA+D;IAC/D,IAAI,CAAC,mBAAmB,IAAI,CAAC,oBAAoB,EAAE;QAC/C,MAAM,UAAU,GAAG,+BAA+B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAE1G,IAAI,UAAU,CAAC,cAAc,EAAE;YAC3B,cAAc,GAAG,IAAI,CAAC;SACzB;aAAM,IAAI,UAAU,CAAC,oBAAoB,EAAE;YACxC,IAAA,6BAAW,EAAC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;SACtE;QAED,IAAI,UAAU,CAAC,gBAAgB,EAAE;YAC7B,gBAAgB,GAAG,IAAI,CAAC;SAC3B;QAED,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,mBAAW,CAAC,MAAM,EAAE,CAAC;KAC9D;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AAClF,CAAC;AAED,kFAAkF;AAClF,8EAA8E;AAC9E,qEAAqE;AACrE,SAAS,iBAAiB,CACtB,SAAwB,EACxB,SAAyB,EACzB,OAA2B,EAC3B,IAAe,EACf,mBAAwC,EACxC,gBAA8C,EAC9C,gBAAoD,EACpD,mBAA+B,EAC/B,yBAAkC;IAElC,IAAI,aAA+B,CAAC;IACpC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,oBAAoB,GAAmB,EAAE,CAAC;IAEhD,IAAI,gBAAgB,EAAE;QAClB,mBAAmB,CAAC,IAAI,GAAG,IAAA,6CAAiC,EACxD,mBAAmB,CAAC,IAAI,EACxB,gBAAgB,EAChB,SAAS,CAAC,KAAK,CAClB,CAAC;KACL;IAED,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC,CAAC;IACnE,cAAc,CAAC,gBAAgB,CAAC,IAAA,6BAAiB,EAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,IAAI,IAAI,CAAC,aAAa,EAAE;QACpB,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;KACtE;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE;QACpG,OAAO,SAAS,CAAC,qBAAqB,CAClC,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,CACnB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,gBAAgB,EAAE;QAC7B,gBAAgB,GAAG,IAAI,CAAC;KAC3B;IAED,IAAI,UAAU,CAAC,cAAc,EAAE;QAC3B,cAAc,GAAG,IAAI,CAAC;QAEtB,kFAAkF;QAClF,cAAc,CAAC,MAAM,EAAE,CAAC;QACxB,SAAS,CAAC,qBAAqB,CAC3B,SAAS,EACT,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,CACnB,CAAC;KACL;SAAM;QACH,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC;QAEtC,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,oBAAoB,EAAE;YACtE,oBAAoB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;SACjE;KACJ;IAED,IAAI,aAAa,EAAE;QACf,qEAAqE;QACrE,yBAAyB;QACzB,IAAI,IAAA,uBAAe,EAAC,aAAa,CAAC,IAAI,IAAA,wBAAY,EAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE;YACpG,IAAI,aAAa,CAAC,aAAa,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzE,aAAa,GAAG,IAAA,gCAAoB,EAAC,aAAa,EAAE;oBAChD,EAAE,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE;iBAC9D,CAAC,CAAC;aACN;YAED,aAAa,GAAG,oCAAoC,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SACzF;KACJ;SAAM;QACH,aAAa,GAAG,+BAA+B,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAC;KACtG;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,kBAAkB,CACvB,SAAwB,EACxB,SAAyB,EACzB,OAA2B,EAC3B,IAAe,EACf,mBAAwC,EACxC,gBAA8C,EAC9C,gBAAoD,EACpD,cAAoB;IAEpB,IAAI,UAA4B,CAAC;IACjC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,oBAAoB,GAAmB,EAAE,CAAC;IAEhD,IAAI,gBAAgB,EAAE;QAClB,cAAc,GAAG,IAAA,6CAAiC,EAAC,cAAc,EAAE,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;KACzG;IAED,0EAA0E;IAC1E,4EAA4E;IAC5E,2EAA2E;IAC3E,kEAAkE;IAClE,gBAAgB;IAChB,IAAI,gBAAgB,EAAE;QAClB,IAAI,wBAAwB,GAAG,KAAK,CAAC;QAErC,UAAU,GAAG,IAAA,uBAAW,EACpB,gBAAgB,CAAC,YAAY,EAC7B,CAAC,eAAe,EAAE,EAAE;YAChB,mEAAmE;YACnE,gDAAgD;YAChD,IAAI,wBAAwB,EAAE;gBAC1B,OAAO,SAAS,CAAC;aACpB;YAED,eAAe,GAAG,IAAA,+CAAmC,EAAC,eAAe,CAAC,CAAC;YAEvE,mEAAmE;YACnE,iEAAiE;YACjE,kBAAkB;YAClB,IACI,IAAA,uBAAe,EAAC,eAAe,CAAC;gBAChC,iBAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,eAAe,CAAC;gBACnD,IAAI,CAAC,aAAa,EACpB;gBACE,OAAO,SAAS,CAAC;aACpB;YAED,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC,CAAC;YACnE,cAAc,CAAC,gBAAgB,CAAC,IAAA,6BAAiB,EAAC,cAAc,CAAC,CAAC,CAAC;YAEnE,IACI,IAAA,4DAAyC,EACrC,SAAS,EACT,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAC/B,eAAe,EACf,cAAc,EACd,IAAA,wCAAuB,EAAC,SAAS,CAAC,EAClC,SAAS,CAAC,KAAK,CAClB,EACH;gBACE,MAAM,sBAAsB,GAAG,IAAA,+BAAmB,EAAC,cAAc,EAAE,cAAc,CAAC,CAAC;gBAEnF,IAAI,UAAkC,CAAC;gBACvC,UAAU,GAAG,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,EAAE;oBACtD,OAAO,SAAS,CAAC,qBAAqB,CAClC,SAAS,EACT,OAAO,EACP,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAChC,cAAc,CAAC,KAAK,EAAE,EACtB,mBAAmB;oBACnB,sBAAsB,CAAC,SAAS,EAChC,gBAAgB,CACnB,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;oBAC5B,kEAAkE;oBAClE,oCAAoC;oBACpC,UAAU,GAAG,SAAS,CAAC,qBAAqB,CACxC,SAAS,EACT,OAAO,EACP,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAChC,cAAc,EACd,mBAAmB;oBACnB,sBAAsB,CAAC,SAAS,EAChC,gBAAgB,CACnB,CAAC;oBAEF,IAAI,UAAU,CAAC,gBAAgB,EAAE;wBAC7B,gBAAgB,GAAG,IAAI,CAAC;qBAC3B;oBAED,IAAI,UAAU,CAAC,cAAc,EAAE;wBAC3B,cAAc,GAAG,IAAI,CAAC;qBACzB;oBAED,IAAI,UAAU,CAAC,oBAAoB,EAAE;wBACjC,IAAA,6BAAW,EAAC,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,CAAC,CAAC;qBACtE;oBAED,qDAAqD;oBACrD,wBAAwB,GAAG,IAAI,CAAC;oBAEhC,OAAO,kCAAkC,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;iBAC/F;aACJ;YAED,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,kBAAkB,CAAC,IAAI,CAC1B,CAAC;QAEF,IAAI,IAAA,eAAO,EAAC,UAAU,CAAC,IAAI,cAAc,EAAE;YACvC,UAAU,GAAG,SAAS,CAAC;SAC1B;KACJ;IAED,IAAI,CAAC,UAAU,EAAE;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa;YACrC,CAAC,CAAC,IAAA,mDAAuC,EAAC,IAAI,CAAC;YAC/C,CAAC,CAAC,IAAI,+BAAc,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC,CAAC;QAElD,cAAc,CAAC,gBAAgB,CAAC,IAAA,6BAAiB,EAAC,cAAc,CAAC,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,SAAS,CAAC,qBAAqB,CAC9C,SAAS,EACT,OAAO,EACP,EAAE,IAAI,EAAE,cAAc,EAAE,EACxB,cAAc,EACd,mBAAmB;QACnB,sBAAsB,CAAC,SAAS,EAChC,gBAAgB,CACnB,CAAC;QAEF,IAAI,iBAAiB,GAAG,IAAI,CAAC;QAC7B,IACI,UAAU,CAAC,uBAAuB;YAClC,IAAA,uBAAe,EAAC,UAAU,CAAC,uBAAuB,CAAC;YACnD,iBAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,EACrF;YACE,iBAAiB,GAAG,iBAAS,CAAC,mBAAmB,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;SACzF;QAED,UAAU,GAAG,+BAA+B,CACxC,SAAS,EACT,iBAAiB;QACjB,sBAAsB,CAAC,SAAS,EAChC,cAAc,CACjB,CAAC;QAEF,IAAI,UAAU,CAAC,gBAAgB,EAAE;YAC7B,gBAAgB,GAAG,IAAI,CAAC;SAC3B;QAED,IAAI,UAAU,CAAC,cAAc,EAAE;YAC3B,cAAc,GAAG,IAAI,CAAC;SACzB;aAAM,IAAI,UAAU,CAAC,oBAAoB,EAAE;YACxC,oBAAoB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;SACjE;KACJ;IAED,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,+BAA+B,CACpC,SAAwB,EACxB,SAAyB,EACzB,OAA2B,EAC3B,IAAe,EACf,gBAA8C;IAE9C,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,wEAAwE;IACxE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,oCAA4B,CAAC,EAAE;QAC/F,SAAS,CAAC,aAAa,CACnB,gCAAc,CAAC,eAAe,EAC9B,qBAAU,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EACpF,SAAS,CACZ,CAAC;QACF,cAAc,GAAG,IAAI,CAAC;KACzB;IAED,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,EAAE;QACzC,sEAAsE;QACtE,sEAAsE;QACtE,OAAO;YACH,cAAc,EAAE,cAAc;YAC9B,oBAAoB,EAAE,EAAE;YACxB,UAAU,EAAE,IAAA,6BAAiB,EAAC,IAAI,CAAC;SACtC,CAAC;KACL;IAED,yEAAyE;IACzE,oBAAoB;IACpB,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,IAAA,6BAAiB,EAAC,IAAI,CAAC,CAAC,CAAC;IAEnE,IAAI,gBAAgB,EAAE;QAClB,IAAI,YAAY,GAAqB,gBAAgB,CAAC,YAAY,CAAC;QAEnE,oEAAoE;QACpE,sBAAsB;QACtB,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE;YACvB,YAAY,GAAG,IAAA,mBAAW,EAAC,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE;gBACjD,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,EAAE;oBAC7C,OAAO,KAAK,CAAC;iBAChB;gBAED,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE;oBACpF,OAAO,IAAI,CAAC;iBACf;gBAED,OAAO,KAAK,CAAC;YACjB,CAAC,CAAC,CAAC;SACN;QAED,IAAI,YAAY,EAAE;YACd,IAAA,4DAAyC,EACrC,SAAS,EACT,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAC/B,YAAY,EACZ,cAAc,EACd,IAAA,wCAAuB,EAAC,SAAS,CAAC,EAClC,SAAS,CAAC,KAAK,CAClB,CAAC;SACL;KACJ;IAED,OAAO;QACH,cAAc,EAAE,cAAc;QAC9B,oBAAoB,EAAE,EAAE;QACxB,UAAU,EAAE,+BAA+B,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,cAAc,CAAC;KACjG,CAAC;AACN,CAAC;AAED,SAAS,qBAAqB,CAC1B,SAAwB,EACxB,SAAyB,EACzB,OAA2B,EAC3B,IAAe,EACf,mBAAwC,EACxC,gBAA8C,EAC9C,gBAAoD;IAEpD,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAE/E,IAAI,CAAC,uBAAuB,EAAE;QAC1B,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,qBAAqB,CAC9C,SAAS,EACT,OAAO,EACP,uBAAuB;IACvB,oBAAoB,CAAC,SAAS,EAC9B,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,CACnB,CAAC;IAEF,yEAAyE;IACzE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC;IAC9C,IAAI,IAAA,kBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE;QAC9D,OAAO,SAAS,CAAC;KACpB;IAED,4CAA4C;IAC5C,IAAI,UAAU,CAAC,UAAU,IAAI,IAAA,iBAAS,EAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC3D,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,kCAAkC,CACvC,SAAwB,EACxB,IAAe,EACf,eAAqB,EACrB,cAA8B;IAE9B,MAAM,eAAe,GAAG,IAAA,+BAAmB,EAAC,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE;QACzF,wBAAwB,EAAE,IAAI;KACjC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE;QACzD,OAAO,SAAS,CAAC;KACpB;IAED,yDAAyD;IACzD,IAAI,IAAA,aAAK,EAAC,eAAe,CAAC,EAAE;QACxB,OAAO,eAAe,CAAC;KAC1B;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,sEAAsE;AACtE,wEAAwE;AACxE,SAAS,+BAA+B,CACpC,SAAwB,EACxB,IAAe,EACf,gBAA8C,EAC9C,cAA8B;IAE9B,IAAI,0BAA0B,GAAG,IAAI,CAAC;IAEtC,oEAAoE;IACpE,8DAA8D;IAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;QAChE,OAAO,IAAA,+BAAmB,EAAC,iBAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,CAAC;KACnH;IAED,IAAI,gBAAgB,EAAE;QAClB,MAAM,uBAAuB,GAAG,IAAA,uBAAW,EAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,eAAe,EAAE,EAAE;YAC3F,OAAO,kCAAkC,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAA,eAAO,EAAC,uBAAuB,CAAC,EAAE;YACnC,OAAO,uBAAuB,CAAC;SAClC;QAED,gEAAgE;QAChE,kEAAkE;QAClE,+CAA+C;QAC/C,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,0BAA0B,GAAG,KAAK,CAAC;SACtC;KACJ;IAED,MAAM,eAAe,GAAG,IAAA,+BAAmB,EAAC,IAAI,EAAE,cAAc,EAAE;QAC9D,iBAAiB,EAAE,0BAA0B;KAChD,CAAc,CAAC;IAChB,OAAO,iBAAS,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;AACtD,CAAC;AAED,wEAAwE;AACxE,mCAAmC;AACnC,SAAS,oCAAoC,CAAC,IAAe,EAAE,gBAA8C;IACzG,IAAI,eAAe,GAAG,IAAI,CAAC;IAE3B,IACI,gBAAgB;QAChB,IAAA,uBAAe,EAAC,gBAAgB,CAAC,YAAY,CAAC;QAC9C,IAAA,wBAAY,EAAC,gBAAgB,CAAC,YAAY,CAAC;QAC3C,gBAAgB,CAAC,YAAY,CAAC,kBAAkB,EAClD;QACE,eAAe,GAAG,IAAA,gCAAoB,EAAC,IAAI,EAAE,gBAAgB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;KAClG;IAED,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,uEAAuE;AACvE,8DAA8D;AAC9D,SAAgB,6BAA6B,CACzC,SAAwB,EACxB,SAAoB,EACpB,WAAgD,SAAS,EACzD,cAAc,GAAG,CAAC;IAElB,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAChG,IAAI,iBAAiB,EAAE;QACnB,OAAO,iBAAiB,CAAC;KAC5B;IAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE5F,IAAI,OAAO,EAAE;QACT,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,IAAA,8BAAkB,EAAC,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE;YACtC,MAAM,mBAAmB,GAAG,oBAAY,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC7E,IAAI,mBAAmB,IAAI,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE;gBAC5F,cAAc,GAAG,IAAI,CAAC;aACzB;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,EAAE;YAChB,OAAO,OAAO,CAAC;SAClB;KACJ;IAED,MAAM,QAAQ,GAAG,4BAA4B,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IAE9F,iEAAiE;IACjE,8CAA8C;IAC9C,IAAI,OAAO,IAAI,QAAQ,EAAE;QACrB,OAAO,IAAA,oBAAY,EAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;KAC5C;IAED,IAAI,OAAO,IAAI,QAAQ,EAAE;QACrB,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC;KAC9B;IAED,OAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,iCAAiC,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAzCD,sEAyCC;AAED,SAAS,+BAA+B,CACpC,SAAwB,EACxB,SAAoB,EACpB,cAAsB;IAEtB,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACvD,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,eAAO,EAAC,SAAS,CAAC,EAAE;QACnC,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAC9B,SAAS,EACT,UAAU,EACV;mDACuC;+DACU,CACpD,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,kBAAU,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,4BAAoB,EAAC,QAAQ,CAAC,EAAE;QAC1D,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,2BAA2B,CACvD,SAAS,EACT,QAAQ,EACR,QAAQ,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;IACpF,mCAAmC,CAAC,KAAK,EACzC,iBAAS,CAAC,mBAAmB,CAAC,SAAS,CAAC;IACxC,UAAU,CAAC,SAAS,EACpB,cAAc,CACjB,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE;QAChB,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,0EAA0E;IAC1E,2EAA2E;IAC3E,eAAe;IACf,IAAA,8BAAkB,EAAC,aAAa,EAAE,CAAC,SAAS,EAAE,EAAE;QAC5C,IAAI,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE;YACtC,MAAM,UAAU,GAAG,oBAAY,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YACpE,IAAI,UAAU,IAAI,8BAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE;gBAChF,gBAAgB,GAAG,IAAI,CAAC;aAC3B;SACJ;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC;AAED,SAAS,2BAA2B,CAChC,SAAwB,EACxB,SAAoB,EACpB,QAA6C,EAC7C,cAAsB;IAEtB,MAAM,OAAO,GAAG,IAAA,6BAAiB,EAC7B,SAAS,EACT,SAAS,EACT;+DACiD;qDACR,CAC5C,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,uBAAuB,GAAG,CAAC,UAAwB,EAAE,EAAE;QACzD,wEAAwE;QACxE,qEAAqE;QACrE,6DAA6D;QAC7D,MAAM,yBAAyB,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAClF,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC5B,OAAO,KAAK,CAAC;aAChB;YAED,MAAM,SAAS,GAAG,oBAAY,CAAC,yBAAyB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,IAAA,wCAA4B,EAAC,SAAS,CAAC,CAAC;YACzD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,2BAA2B,CAClD,yBAAyB,CAAC,CAAC,CAAC,IAAA,+BAAmB,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EACtE,UAAU,EACV,OAAO,IAAI,IAAA,2BAAmB,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACjF,mCAAmC,CAAC,IAAI,EACxC,QAAQ;QACR,UAAU,CAAC,SAAS,EACpB,cAAc,CACW,CAAC;QAE9B,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,YAAY,GAAG,oBAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClD,YAAY,CAAC,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC;QAExE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE;YAChE,YAAY,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;SAChE;QAED,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,oFAAoE,CAAC,CAAC;QACtG,YAAY,CAAC,OAAO,CAAC,yBAAyB,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;QAE9E,OAAO,YAAY,CAAC;IACxB,CAAC,CAAC;IAEF,IAAI,IAAA,kBAAU,EAAC,OAAO,CAAC,EAAE;QACrB,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;KAC3C;IAED,IAAI,CAAC,IAAA,4BAAoB,EAAC,OAAO,CAAC,EAAE;QAChC,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,YAAY,GAAmB,EAAE,CAAC;IACxC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnC,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,SAAS,EAAE;YACX,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;KAC1B;IAED,OAAO,8BAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iCAAiC,CAAC,SAAoB;IAC3D,oEAAoE;IACpE,MAAM,mBAAmB,GAAG,oBAAY,CAAC,yBAAyB,CAAC,SAAS,iCAAyB,CAAC;IACtG,mBAAmB,CAAC,OAAO,CAAC,kBAAkB,GAAG,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAEtF,+EAA+E;IAC/E,qDAAqD;IACrD,IAAI,SAAS,CAAC,iBAAiB,IAAI,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;QACrE,oBAAY,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;KAC1D;IAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE;QACvE,mBAAmB,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;KACvE;IAED,OAAO,mBAAmB,CAAC;AAC/B,CAAC;AAED,SAAS,4BAA4B,CACjC,SAAwB,EACxB,SAAoB,EACpB,QAA6C,EAC7C,cAAsB;IAEtB,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAA,6BAAiB,EAC9B,SAAS,EACT,UAAU,EACV;+DACiD;qDACR,CAC5C,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE;QACX,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,iBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAExD,SAAS,wBAAwB,CAAC,WAAyB;;QACvD,MAAM,SAAS,GAAG,SAAS,CAAC,2BAA2B,CACnD,UAAU,EACV,WAAW,EACX,QAAQ,IAAI,IAAA,2BAAmB,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpF,mCAAmC,CAAC,SAAS,EAC7C,QAAQ;QACR,UAAU,CAAC,SAAS,EACpB,cAAc,CACW,CAAC;QAE9B,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,aAAa,GAAG,oBAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpD,aAAa,CAAC,OAAO,CAAC,kBAAkB,GAAG,MAAA,MAAA,SAAS,CAAC,sBAAsB,mCAAI,QAAQ,mCAAI,UAAU,CAAC;QACtG,aAAa,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAC;QAChC,aAAa,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEpC,IAAI,aAAa,CAAC,gBAAgB,EAAE;YAChC,aAAa,CAAC,gBAAgB,CAAC,UAAU,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,UAAU,CAAC;SACtE;QAED,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE;YACjE,aAAa,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;SACjE;QAED,aAAa,CAAC,OAAO,CAAC,KAAK,IAAI,uCAA+B,CAAC;QAC/D,aAAa,CAAC,OAAO,CAAC,yBAAyB,GAAG,IAAA,6BAAiB,EAAC,SAAS,CAAC,CAAC;QAE/E,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,IAAI,IAAA,kBAAU,EAAC,QAAQ,CAAC,EAAE;QACtB,OAAO,wBAAwB,CAAC,QAAQ,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,IAAA,4BAAoB,EAAC,QAAQ,CAAC,EAAE;QACjC,OAAO,SAAS,CAAC;KACpB;IAED,MAAM,aAAa,GAAmB,EAAE,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACpC,MAAM,SAAS,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,SAAS,EAAE;YACX,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACjC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;KAC3B;IAED,OAAO,8BAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AACxD,CAAC;AAED,8EAA8E;AAC9E,mDAAmD;AACnD,SAAS,8BAA8B,CACnC,SAAwB,EACxB,SAAoB,EACpB,oBAA0B;IAE1B,IACI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAA,6BAAiB,EAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;QACzE,IAAA,eAAO,EAAC,oBAAoB,CAAC;QAC7B,IAAA,mBAAW,EAAC,oBAAoB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,aAAK,EAAC,OAAO,CAAC,CAAC,EAChE;QACE,OAAO,IAAI,CAAC;KACf;IAED,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,iBAAS,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;QAClC,OAAO,IAAI,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,kCAAkC;AAClC,SAAS,wBAAwB,CAAC,SAAwB,EAAE,SAAoB,EAAE,mBAAyB;IACvG,MAAM,UAAU,GAAG,SAAS,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,CAAC;IAE/E,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAA,4BAAgB,EAAC,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE;QACrC,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE;YACpB,OAAO;SACV;QAED,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,EAAE;YAC1B,MAAM,gBAAgB,GAAqB,EAAE,CAAC;YAC9C,MAAM,aAAa,GAAG,iBAAS,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAEpF,IAAI,CAAC,aAAa,EAAE;gBAChB,aAAa,GAAG,IAAI,CAAC;aACxB;YAED,OAAO;SACV;QAED,aAAa,GAAG,IAAI,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,oEAAoE;AACpE,kDAAkD;AAClD,SAAS,kBAAkB,CAAC,SAAgB;;IACxC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,kBAAU,EAAC,SAAS,CAAC,EAAE;QACtC,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE;QAC7B,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;IAC5C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,uCAA+B,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,yCAAiC,EAAE;QAC1G,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,UAAU,GAAG,MAAA,SAAS,CAAC,OAAO,CAAC,kBAAkB,mCAAI,SAAS,CAAC,kBAAkB,CAAC;IACxF,IAAI,CAAC,UAAU,IAAI,CAAC,IAAA,iBAAS,EAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAChF,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../../../src/analyzer/constructors.ts"],"names":[],"mappings":"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"}
@@ -575,7 +575,7 @@ function getConverterInputType(evaluator, converterNode, fieldType, fieldName) {
575
575
  (0, typeUtils_1.doForEachSignature)(converterType, (signature) => {
576
576
  var _a;
577
577
  const returnTypeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeIds)(signature));
578
- if (evaluator.assignType((_a = types_1.FunctionType.getSpecializedReturnType(signature)) !== null && _a !== void 0 ? _a : types_1.UnknownType.create(), fieldType,
578
+ if (evaluator.assignType((_a = types_1.FunctionType.getEffectiveReturnType(signature)) !== null && _a !== void 0 ? _a : types_1.UnknownType.create(), fieldType,
579
579
  /* diag */ undefined, returnTypeVarContext)) {
580
580
  signature = (0, typeUtils_1.applySolvedTypeVars)(signature, returnTypeVarContext);
581
581
  }