@zzzen/pyright-internal 1.2.0-dev.20241215 → 1.2.0-dev.20241222

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 (281) hide show
  1. package/dist/analyzer/analysis.js +1 -1
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/analyzerNodeInfo.js +17 -18
  4. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  5. package/dist/analyzer/backgroundAnalysisProgram.js +18 -35
  6. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  7. package/dist/analyzer/binder.js +38 -55
  8. package/dist/analyzer/binder.js.map +1 -1
  9. package/dist/analyzer/checker.js +146 -185
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/codeFlowEngine.js +24 -31
  12. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  13. package/dist/analyzer/constraintSolver.js +23 -24
  14. package/dist/analyzer/constraintSolver.js.map +1 -1
  15. package/dist/analyzer/constraintTracker.js +1 -2
  16. package/dist/analyzer/constraintTracker.js.map +1 -1
  17. package/dist/analyzer/constructorTransform.js +10 -12
  18. package/dist/analyzer/constructorTransform.js.map +1 -1
  19. package/dist/analyzer/constructors.js +14 -19
  20. package/dist/analyzer/constructors.js.map +1 -1
  21. package/dist/analyzer/dataClasses.js +27 -26
  22. package/dist/analyzer/dataClasses.js.map +1 -1
  23. package/dist/analyzer/declarationUtils.js +8 -11
  24. package/dist/analyzer/declarationUtils.js.map +1 -1
  25. package/dist/analyzer/decorators.js +2 -3
  26. package/dist/analyzer/decorators.js.map +1 -1
  27. package/dist/analyzer/docStringConversion.js +6 -8
  28. package/dist/analyzer/docStringConversion.js.map +1 -1
  29. package/dist/analyzer/enums.js +12 -13
  30. package/dist/analyzer/enums.js.map +1 -1
  31. package/dist/analyzer/functionTransform.js +1 -2
  32. package/dist/analyzer/functionTransform.js.map +1 -1
  33. package/dist/analyzer/importResolver.js +18 -27
  34. package/dist/analyzer/importResolver.js.map +1 -1
  35. package/dist/analyzer/importStatementUtils.js +4 -5
  36. package/dist/analyzer/importStatementUtils.js.map +1 -1
  37. package/dist/analyzer/namedTuples.js +6 -7
  38. package/dist/analyzer/namedTuples.js.map +1 -1
  39. package/dist/analyzer/operations.js +14 -17
  40. package/dist/analyzer/operations.js.map +1 -1
  41. package/dist/analyzer/packageTypeVerifier.js +35 -39
  42. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  43. package/dist/analyzer/parameterUtils.js +5 -7
  44. package/dist/analyzer/parameterUtils.js.map +1 -1
  45. package/dist/analyzer/parentDirectoryCache.js +8 -9
  46. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  47. package/dist/analyzer/parseTreeUtils.js +30 -44
  48. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  49. package/dist/analyzer/parseTreeWalker.js +2 -3
  50. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  51. package/dist/analyzer/patternMatching.js +11 -20
  52. package/dist/analyzer/patternMatching.js.map +1 -1
  53. package/dist/analyzer/program.js +29 -40
  54. package/dist/analyzer/program.js.map +1 -1
  55. package/dist/analyzer/properties.js +7 -8
  56. package/dist/analyzer/properties.js.map +1 -1
  57. package/dist/analyzer/protocols.js +21 -23
  58. package/dist/analyzer/protocols.js.map +1 -1
  59. package/dist/analyzer/pythonPathUtils.js +1 -1
  60. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  61. package/dist/analyzer/scope.js +10 -10
  62. package/dist/analyzer/scope.js.map +1 -1
  63. package/dist/analyzer/service.js +32 -47
  64. package/dist/analyzer/service.js.map +1 -1
  65. package/dist/analyzer/sourceFile.js +21 -26
  66. package/dist/analyzer/sourceFile.js.map +1 -1
  67. package/dist/analyzer/sourceFileInfo.js +2 -3
  68. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  69. package/dist/analyzer/sourceFileInfoUtils.js +5 -5
  70. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  71. package/dist/analyzer/sourceMapper.js +19 -30
  72. package/dist/analyzer/sourceMapper.js.map +1 -1
  73. package/dist/analyzer/testWalker.js +1 -2
  74. package/dist/analyzer/testWalker.js.map +1 -1
  75. package/dist/analyzer/tracePrinter.js +7 -9
  76. package/dist/analyzer/tracePrinter.js.map +1 -1
  77. package/dist/analyzer/tuples.js +11 -13
  78. package/dist/analyzer/tuples.js.map +1 -1
  79. package/dist/analyzer/typeCacheUtils.js +5 -6
  80. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  81. package/dist/analyzer/typeDocStringUtils.js +7 -11
  82. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  83. package/dist/analyzer/typeEvaluator.js +618 -776
  84. package/dist/analyzer/typeEvaluator.js.map +1 -1
  85. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -1
  86. package/dist/analyzer/typeEvaluatorWithTracker.js +2 -2
  87. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  88. package/dist/analyzer/typeGuards.js +26 -36
  89. package/dist/analyzer/typeGuards.js.map +1 -1
  90. package/dist/analyzer/typePrinter.js +15 -24
  91. package/dist/analyzer/typePrinter.js.map +1 -1
  92. package/dist/analyzer/typeStubWriter.js +1 -2
  93. package/dist/analyzer/typeStubWriter.js.map +1 -1
  94. package/dist/analyzer/typeUtils.js +65 -94
  95. package/dist/analyzer/typeUtils.js.map +1 -1
  96. package/dist/analyzer/typeWalker.js +4 -8
  97. package/dist/analyzer/typeWalker.js.map +1 -1
  98. package/dist/analyzer/typedDicts.js +39 -46
  99. package/dist/analyzer/typedDicts.js.map +1 -1
  100. package/dist/analyzer/types.js +64 -103
  101. package/dist/analyzer/types.js.map +1 -1
  102. package/dist/backgroundAnalysis.js +2 -3
  103. package/dist/backgroundAnalysis.js.map +1 -1
  104. package/dist/backgroundAnalysisBase.js +9 -10
  105. package/dist/backgroundAnalysisBase.js.map +1 -1
  106. package/dist/backgroundThreadBase.js +6 -7
  107. package/dist/backgroundThreadBase.js.map +1 -1
  108. package/dist/commands/createTypeStub.js +1 -1
  109. package/dist/commands/createTypeStub.js.map +1 -1
  110. package/dist/commands/dumpFileDebugInfoCommand.js +3 -3
  111. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  112. package/dist/commands/quickActionCommand.js +1 -1
  113. package/dist/commands/quickActionCommand.js.map +1 -1
  114. package/dist/common/asyncInitialization.js +1 -1
  115. package/dist/common/chokidarFileWatcherProvider.js +2 -4
  116. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  117. package/dist/common/configOptions.js +6 -9
  118. package/dist/common/configOptions.js.map +1 -1
  119. package/dist/common/console.js +1 -2
  120. package/dist/common/console.js.map +1 -1
  121. package/dist/common/core.js +2 -2
  122. package/dist/common/core.js.map +1 -1
  123. package/dist/common/crypto.js +1 -1
  124. package/dist/common/crypto.js.map +1 -1
  125. package/dist/common/diagnostic.js +3 -5
  126. package/dist/common/diagnostic.js.map +1 -1
  127. package/dist/common/envVarUtils.js +1 -1
  128. package/dist/common/envVarUtils.js.map +1 -1
  129. package/dist/common/extensibility.d.ts +1 -0
  130. package/dist/common/extensibility.js.map +1 -1
  131. package/dist/common/fileSystem.d.ts +1 -0
  132. package/dist/common/fileSystem.js.map +1 -1
  133. package/dist/common/fullAccessHost.js +5 -5
  134. package/dist/common/fullAccessHost.js.map +1 -1
  135. package/dist/common/host.js +1 -1
  136. package/dist/common/host.js.map +1 -1
  137. package/dist/common/logTracker.js +1 -1
  138. package/dist/common/logTracker.js.map +1 -1
  139. package/dist/common/lspUtils.js +1 -2
  140. package/dist/common/lspUtils.js.map +1 -1
  141. package/dist/common/progressReporter.js +1 -2
  142. package/dist/common/progressReporter.js.map +1 -1
  143. package/dist/common/realFileSystem.js +2 -3
  144. package/dist/common/realFileSystem.js.map +1 -1
  145. package/dist/common/serviceProvider.js +1 -1
  146. package/dist/common/serviceProvider.js.map +1 -1
  147. package/dist/common/textEditTracker.js +4 -6
  148. package/dist/common/textEditTracker.js.map +1 -1
  149. package/dist/common/tomlUtils.js +3 -1
  150. package/dist/common/tomlUtils.js.map +1 -1
  151. package/dist/common/uri/baseUri.js +1 -1
  152. package/dist/common/uri/baseUri.js.map +1 -1
  153. package/dist/common/uri/emptyUri.js +1 -1
  154. package/dist/common/uri/emptyUri.js.map +1 -1
  155. package/dist/common/uri/fileUri.js +2 -2
  156. package/dist/common/uri/fileUri.js.map +1 -1
  157. package/dist/common/uri/memoization.js +1 -1
  158. package/dist/common/uri/memoization.js.map +1 -1
  159. package/dist/common/uri/uri.js +2 -3
  160. package/dist/common/uri/uri.js.map +1 -1
  161. package/dist/common/uri/uriUtils.js +6 -8
  162. package/dist/common/uri/uriUtils.js.map +1 -1
  163. package/dist/common/uri/webUri.js +2 -2
  164. package/dist/common/uri/webUri.js.map +1 -1
  165. package/dist/common/workspaceEditUtils.js +10 -15
  166. package/dist/common/workspaceEditUtils.js.map +1 -1
  167. package/dist/languageServerBase.js +34 -42
  168. package/dist/languageServerBase.js.map +1 -1
  169. package/dist/languageService/analyzerServiceExecutor.js +8 -10
  170. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  171. package/dist/languageService/autoImporter.js +16 -19
  172. package/dist/languageService/autoImporter.js.map +1 -1
  173. package/dist/languageService/callHierarchyProvider.js +6 -11
  174. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  175. package/dist/languageService/completionProvider.js +81 -106
  176. package/dist/languageService/completionProvider.js.map +1 -1
  177. package/dist/languageService/completionProviderUtils.js +3 -3
  178. package/dist/languageService/completionProviderUtils.js.map +1 -1
  179. package/dist/languageService/definitionProvider.js +6 -9
  180. package/dist/languageService/definitionProvider.js.map +1 -1
  181. package/dist/languageService/documentSymbolCollector.js +32 -32
  182. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  183. package/dist/languageService/dynamicFeature.js +1 -2
  184. package/dist/languageService/dynamicFeature.js.map +1 -1
  185. package/dist/languageService/hoverProvider.js +17 -23
  186. package/dist/languageService/hoverProvider.js.map +1 -1
  187. package/dist/languageService/referencesProvider.js +4 -9
  188. package/dist/languageService/referencesProvider.js.map +1 -1
  189. package/dist/languageService/renameProvider.js +2 -4
  190. package/dist/languageService/renameProvider.js.map +1 -1
  191. package/dist/languageService/signatureHelpProvider.js +11 -15
  192. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  193. package/dist/languageService/tooltipUtils.js +15 -17
  194. package/dist/languageService/tooltipUtils.js.map +1 -1
  195. package/dist/localization/localize.js +3 -3
  196. package/dist/localization/localize.js.map +1 -1
  197. package/dist/localization/package.nls.cs.json +6 -0
  198. package/dist/localization/package.nls.de.json +6 -0
  199. package/dist/localization/package.nls.en-us.json +8 -8
  200. package/dist/localization/package.nls.es.json +6 -0
  201. package/dist/localization/package.nls.fr.json +7 -1
  202. package/dist/localization/package.nls.it.json +6 -0
  203. package/dist/localization/package.nls.ja.json +6 -0
  204. package/dist/localization/package.nls.ko.json +6 -0
  205. package/dist/localization/package.nls.pl.json +6 -0
  206. package/dist/localization/package.nls.pt-br.json +6 -0
  207. package/dist/localization/package.nls.qps-ploc.json +6 -0
  208. package/dist/localization/package.nls.ru.json +6 -0
  209. package/dist/localization/package.nls.tr.json +6 -0
  210. package/dist/localization/package.nls.zh-cn.json +6 -0
  211. package/dist/localization/package.nls.zh-tw.json +6 -0
  212. package/dist/parser/parser.js +30 -38
  213. package/dist/parser/parser.js.map +1 -1
  214. package/dist/parser/tokenizer.js +8 -13
  215. package/dist/parser/tokenizer.js.map +1 -1
  216. package/dist/pprof/profiler.js +3 -3
  217. package/dist/pprof/profiler.js.map +1 -1
  218. package/dist/pyright.js +5 -7
  219. package/dist/pyright.js.map +1 -1
  220. package/dist/pyrightFileSystem.js +4 -5
  221. package/dist/pyrightFileSystem.js.map +1 -1
  222. package/dist/readonlyAugmentedFileSystem.js +3 -5
  223. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  224. package/dist/server.js +1 -1
  225. package/dist/server.js.map +1 -1
  226. package/dist/tests/chainedSourceFiles.test.js +3 -3
  227. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  228. package/dist/tests/classDeclaration.test.js +7 -10
  229. package/dist/tests/classDeclaration.test.js.map +1 -1
  230. package/dist/tests/completions.test.js +3 -3
  231. package/dist/tests/completions.test.js.map +1 -1
  232. package/dist/tests/config.test.js +10 -15
  233. package/dist/tests/config.test.js.map +1 -1
  234. package/dist/tests/diagnosticOverrides.test.js +4 -6
  235. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  236. package/dist/tests/envVarUtils.test.js +9 -12
  237. package/dist/tests/envVarUtils.test.js.map +1 -1
  238. package/dist/tests/harness/fourslash/testLanguageService.js +1 -1
  239. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  240. package/dist/tests/harness/fourslash/testState.js +45 -60
  241. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  242. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +6 -7
  243. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  244. package/dist/tests/harness/vfs/filesystem.js +3 -3
  245. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  246. package/dist/tests/importResolver.test.js +6 -7
  247. package/dist/tests/importResolver.test.js.map +1 -1
  248. package/dist/tests/importStatementUtils.test.js +2 -2
  249. package/dist/tests/importStatementUtils.test.js.map +1 -1
  250. package/dist/tests/ipythonMode.test.js +11 -12
  251. package/dist/tests/ipythonMode.test.js.map +1 -1
  252. package/dist/tests/languageServer.test.js +1 -2
  253. package/dist/tests/languageServer.test.js.map +1 -1
  254. package/dist/tests/lsp/languageServer.js +10 -14
  255. package/dist/tests/lsp/languageServer.js.map +1 -1
  256. package/dist/tests/lsp/languageServerTestUtils.js +10 -14
  257. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  258. package/dist/tests/parseTreeUtils.test.js +7 -7
  259. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  260. package/dist/tests/parser.test.js +2 -2
  261. package/dist/tests/parser.test.js.map +1 -1
  262. package/dist/tests/service.test.js +2 -3
  263. package/dist/tests/service.test.js.map +1 -1
  264. package/dist/tests/sourceFile.test.js +2 -3
  265. package/dist/tests/sourceFile.test.js.map +1 -1
  266. package/dist/tests/sourceMapperUtils.test.js +3 -4
  267. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  268. package/dist/tests/testState.test.js +3 -6
  269. package/dist/tests/testState.test.js.map +1 -1
  270. package/dist/tests/testStateUtils.js +3 -4
  271. package/dist/tests/testStateUtils.js.map +1 -1
  272. package/dist/tests/textEditUtil.test.js +2 -2
  273. package/dist/tests/textEditUtil.test.js.map +1 -1
  274. package/dist/tests/typeEvaluator1.test.js +1 -1
  275. package/dist/tests/typePrinter.test.js +1 -2
  276. package/dist/tests/typePrinter.test.js.map +1 -1
  277. package/dist/tests/workspaceEditUtils.test.js +3 -5
  278. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  279. package/dist/workspaceFactory.js +2 -3
  280. package/dist/workspaceFactory.js.map +1 -1
  281. package/package.json +1 -1
@@ -154,7 +154,7 @@ function solveTypeVarRecursive(evaluator, constraintSet, options, solutionSet, e
154
154
  }
155
155
  // Protect against infinite recursion by setting the initial value to undefined.
156
156
  solutionSet.setType(entry.typeVar, undefined);
157
- let value = getTypeVarType(evaluator, constraintSet, entry.typeVar, options === null || options === void 0 ? void 0 : options.useLowerBoundOnly);
157
+ let value = getTypeVarType(evaluator, constraintSet, entry.typeVar, options?.useLowerBoundOnly);
158
158
  if (value) {
159
159
  // Are there any unsolved TypeVars in this type?
160
160
  const typeVars = (0, typeUtils_1.getTypeVarArgsRecursive)(value);
@@ -385,7 +385,7 @@ function assignBoundTypeVar(evaluator, destType, srcType, diag, flags) {
385
385
  // Emit an error unless this is a synthesized type variable used
386
386
  // for pseudo-generic classes.
387
387
  if (!destType.shared.isSynthesized || types_1.TypeVarType.isSelf(destType)) {
388
- diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(srcType, destType)));
388
+ diag?.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(srcType, destType)));
389
389
  }
390
390
  return false;
391
391
  }
@@ -395,12 +395,12 @@ function assignUnconstrainedTypeVar(evaluator, destType, srcType, diag, constrai
395
395
  const isInvariant = (flags & 1 /* AssignTypeFlags.Invariant */) !== 0;
396
396
  const isContravariant = (flags & 2 /* AssignTypeFlags.Contravariant */) !== 0 && !isInvariant;
397
397
  // Handle the unconstrained (but possibly bound) case.
398
- const curEntry = constraints === null || constraints === void 0 ? void 0 : constraints.getMainConstraintSet().getTypeVar(destType);
399
- let curUpperBound = curEntry === null || curEntry === void 0 ? void 0 : curEntry.upperBound;
398
+ const curEntry = constraints?.getMainConstraintSet().getTypeVar(destType);
399
+ let curUpperBound = curEntry?.upperBound;
400
400
  if (!curUpperBound && !types_1.TypeVarType.isSelf(destType)) {
401
401
  curUpperBound = destType.shared.boundType;
402
402
  }
403
- let curLowerBound = curEntry === null || curEntry === void 0 ? void 0 : curEntry.lowerBound;
403
+ let curLowerBound = curEntry?.lowerBound;
404
404
  let newLowerBound = curLowerBound;
405
405
  let newUpperBound = curUpperBound;
406
406
  const diagAddendum = diag ? new diagnostic_1.DiagnosticAddendum() : undefined;
@@ -423,7 +423,7 @@ function assignUnconstrainedTypeVar(evaluator, destType, srcType, diag, constrai
423
423
  adjSrcType = (0, typeUtils_1.convertToInstance)(concreteAdjSrcType);
424
424
  }
425
425
  else {
426
- diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(srcType, destType)));
426
+ diag?.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(srcType, destType)));
427
427
  return false;
428
428
  }
429
429
  }
@@ -431,7 +431,7 @@ function assignUnconstrainedTypeVar(evaluator, destType, srcType, diag, constrai
431
431
  else if ((0, types_1.isTypeVar)(srcType) &&
432
432
  types_1.TypeBase.isInstantiable(srcType) &&
433
433
  (0, types_1.isTypeSame)((0, typeUtils_1.convertToInstance)(srcType), destType)) {
434
- diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(adjSrcType, destType)));
434
+ diag?.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(adjSrcType, destType)));
435
435
  return false;
436
436
  }
437
437
  if ((flags & 2048 /* AssignTypeFlags.PopulateExpectedType */) !== 0) {
@@ -539,7 +539,7 @@ function assignUnconstrainedTypeVar(evaluator, destType, srcType, diag, constrai
539
539
  else if ((0, types_1.isTypeVarTuple)(destType)) {
540
540
  const widenedType = widenTypeForTypeVarTuple(evaluator, curLowerBound, adjSrcType);
541
541
  if (!widenedType) {
542
- diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(curLowerBound, adjSrcType)));
542
+ diag?.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(curLowerBound, adjSrcType)));
543
543
  return false;
544
544
  }
545
545
  newLowerBound = widenedType;
@@ -580,7 +580,7 @@ function assignUnconstrainedTypeVar(evaluator, destType, srcType, diag, constrai
580
580
  // If this is an invariant context, make sure the lower bound
581
581
  // isn't too wide.
582
582
  if (isInvariant && newLowerBound) {
583
- if (!evaluator.assignType(adjSrcType, newLowerBound, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
583
+ if (!evaluator.assignType(adjSrcType, newLowerBound, diag?.createAddendum(),
584
584
  /* constraints */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
585
585
  if (diag && diagAddendum) {
586
586
  diag.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(newLowerBound, adjSrcType)));
@@ -591,7 +591,7 @@ function assignUnconstrainedTypeVar(evaluator, destType, srcType, diag, constrai
591
591
  // Make sure we don't exceed the upper bound.
592
592
  if (curUpperBound && newLowerBound) {
593
593
  if (!(0, types_1.isTypeSame)(curUpperBound, newLowerBound, {}, recursionCount)) {
594
- if (!evaluator.assignType(curUpperBound, newLowerBound, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
594
+ if (!evaluator.assignType(curUpperBound, newLowerBound, diag?.createAddendum(),
595
595
  /* constraints */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
596
596
  if (diag && diagAddendum) {
597
597
  diag.addMessage(localize_1.LocAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(newLowerBound, curUpperBound)));
@@ -617,11 +617,11 @@ function assignUnconstrainedTypeVar(evaluator, destType, srcType, diag, constrai
617
617
  // exception. In this case, we need to use the original constraints
618
618
  // to solve for the generic type variable(s) in the bound type.
619
619
  const effectiveConstraints = types_1.TypeVarType.isSelf(destType) ? constraints : undefined;
620
- if (!evaluator.assignType(destType.shared.boundType, evaluator.makeTopLevelTypeVarsConcrete(updatedType), diag === null || diag === void 0 ? void 0 : diag.createAddendum(), effectiveConstraints, 0 /* AssignTypeFlags.Default */, recursionCount)) {
620
+ if (!evaluator.assignType(destType.shared.boundType, evaluator.makeTopLevelTypeVarsConcrete(updatedType), diag?.createAddendum(), effectiveConstraints, 0 /* AssignTypeFlags.Default */, recursionCount)) {
621
621
  // Avoid adding a message that will confuse users if the TypeVar was
622
622
  // synthesized for internal purposes.
623
623
  if (!destType.shared.isSynthesized) {
624
- diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.typeBound().format({
624
+ diag?.addMessage(localize_1.LocAddendum.typeBound().format({
625
625
  sourceType: evaluator.printType(updatedType),
626
626
  destType: evaluator.printType(destType.shared.boundType),
627
627
  name: types_1.TypeVarType.getReadableName(destType),
@@ -630,16 +630,16 @@ function assignUnconstrainedTypeVar(evaluator, destType, srcType, diag, constrai
630
630
  return false;
631
631
  }
632
632
  }
633
- constraints === null || constraints === void 0 ? void 0 : constraints.setBounds(destType, newLowerBound, newUpperBound, (flags & (2048 /* AssignTypeFlags.PopulateExpectedType */ | 256 /* AssignTypeFlags.RetainLiteralsForTypeVar */)) !== 0);
633
+ constraints?.setBounds(destType, newLowerBound, newUpperBound, (flags & (2048 /* AssignTypeFlags.PopulateExpectedType */ | 256 /* AssignTypeFlags.RetainLiteralsForTypeVar */)) !== 0);
634
634
  return true;
635
635
  }
636
636
  // Handles assignments to a TypeVar with value constraints.
637
637
  function assignConstrainedTypeVar(evaluator, destType, srcType, diag, constraints, flags, recursionCount) {
638
638
  let constrainedType;
639
639
  const concreteSrcType = evaluator.makeTopLevelTypeVarsConcrete(srcType);
640
- const curEntry = constraints === null || constraints === void 0 ? void 0 : constraints.getMainConstraintSet().getTypeVar(destType);
641
- const curUpperBound = curEntry === null || curEntry === void 0 ? void 0 : curEntry.upperBound;
642
- const curLowerBound = curEntry === null || curEntry === void 0 ? void 0 : curEntry.lowerBound;
640
+ const curEntry = constraints?.getMainConstraintSet().getTypeVar(destType);
641
+ const curUpperBound = curEntry?.upperBound;
642
+ const curLowerBound = curEntry?.lowerBound;
643
643
  let retainLiterals = false;
644
644
  if ((0, types_1.isTypeVar)(srcType)) {
645
645
  if (evaluator.assignType(destType, concreteSrcType,
@@ -723,7 +723,7 @@ function assignConstrainedTypeVar(evaluator, destType, srcType, diag, constraint
723
723
  // or there were multiple types that were assignable and they
724
724
  // are not conditional, it's an error.
725
725
  if (!constrainedType) {
726
- diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.typeConstrainedTypeVar().format({
726
+ diag?.addMessage(localize_1.LocAddendum.typeConstrainedTypeVar().format({
727
727
  type: evaluator.printType(srcType),
728
728
  name: destType.shared.name,
729
729
  }));
@@ -742,10 +742,10 @@ function assignConstrainedTypeVar(evaluator, destType, srcType, diag, constraint
742
742
  if (evaluator.assignType(constrainedType, curLowerBound,
743
743
  /* diag */ undefined,
744
744
  /* constraints */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
745
- constraints === null || constraints === void 0 ? void 0 : constraints.setBounds(destType, constrainedType, curUpperBound);
745
+ constraints?.setBounds(destType, constrainedType, curUpperBound);
746
746
  }
747
747
  else {
748
- diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.typeConstrainedTypeVar().format({
748
+ diag?.addMessage(localize_1.LocAddendum.typeConstrainedTypeVar().format({
749
749
  type: evaluator.printType(constrainedType),
750
750
  name: evaluator.printType(curLowerBound),
751
751
  }));
@@ -755,7 +755,7 @@ function assignConstrainedTypeVar(evaluator, destType, srcType, diag, constraint
755
755
  }
756
756
  else {
757
757
  // Assign the type to the type var.
758
- constraints === null || constraints === void 0 ? void 0 : constraints.setBounds(destType, constrainedType, curUpperBound, retainLiterals);
758
+ constraints?.setBounds(destType, constrainedType, curUpperBound, retainLiterals);
759
759
  }
760
760
  return true;
761
761
  }
@@ -772,9 +772,8 @@ function assignParamSpec(evaluator, destType, srcType, diag, constraints, recurs
772
772
  adjSrcType = (0, typeUtils_1.simplifyFunctionToParamSpec)(adjSrcType);
773
773
  }
774
774
  constraints.doForEachConstraintSet((constraintSet) => {
775
- var _a, _b;
776
775
  if ((0, types_1.isParamSpec)(adjSrcType)) {
777
- const existingType = (_a = constraintSet.getTypeVar(destType)) === null || _a === void 0 ? void 0 : _a.lowerBound;
776
+ const existingType = constraintSet.getTypeVar(destType)?.lowerBound;
778
777
  if (existingType) {
779
778
  const paramSpecValue = (0, typeUtils_1.convertTypeToParamSpecValue)(existingType);
780
779
  const existingTypeParamSpec = types_1.FunctionType.getParamSpecFromArgsKwargs(paramSpecValue);
@@ -794,7 +793,7 @@ function assignParamSpec(evaluator, destType, srcType, diag, constraints, recurs
794
793
  else if ((0, types_1.isFunction)(adjSrcType)) {
795
794
  const newFunction = adjSrcType;
796
795
  let updateContextWithNewFunction = false;
797
- const existingType = (_b = constraintSet.getTypeVar(destType)) === null || _b === void 0 ? void 0 : _b.lowerBound;
796
+ const existingType = constraintSet.getTypeVar(destType)?.lowerBound;
798
797
  if (existingType) {
799
798
  // Convert the remaining portion of the signature to a function
800
799
  // for comparison purposes.
@@ -839,7 +838,7 @@ function assignParamSpec(evaluator, destType, srcType, diag, constraints, recurs
839
838
  else if ((0, types_1.isAnyOrUnknown)(adjSrcType)) {
840
839
  return;
841
840
  }
842
- diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.typeParamSpec().format({
841
+ diag?.addMessage(localize_1.LocAddendum.typeParamSpec().format({
843
842
  type: evaluator.printType(adjSrcType),
844
843
  name: destType.shared.name,
845
844
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;AAgFH,sCA6HC;AAGD,4CAaC;AAGD,4EAeC;AAED,gDAaC;AAuED,sEAiLC;AApfD,qDAA0D;AAC1D,uDAAuD;AACvD,6DAAiF;AACjF,2DAA2F;AAC3F,6DAK8B;AAC9B,mCA2BiB;AACjB,2CAuBqB;AAErB,qEAAqE;AACrE,sEAAsE;AACtE,2CAA2C;AAC3C,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAE/C,sEAAsE;AACtE,gDAAgD;AAChD,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAEpC,uFAAuF;AACvF,qFAAqF;AACrF,yFAAyF;AACzF,4FAA4F;AAC5F,yFAAyF;AACzF,uBAAuB;AACvB,SAAgB,aAAa,CACzB,SAAwB,EACxB,QAAqB,EACrB,OAAa,EACb,IAAoC,EACpC,WAA0C,EAC1C,KAAK,kCAA0B,EAC/B,cAAc,GAAG,CAAC;IAElB,IAAI,YAAqB,CAAC;IAE1B,IAAI,qBAAqB,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,2BAA2B,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,aAAa,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,YAAY,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,UAAU,KAAK,EAAE,CAAC,CAAC;QACxC,IAAI,WAAW,EAAE,CAAC;YACd,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,IAAI,IAAA,kBAAU,EAAC,QAAQ,CAAC,IAAI,IAAA,kBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,QAAQ,GAAG,mBAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,GAAG,IAAA,sBAAU,EAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,+DAA+D;IAC/D,+DAA+D;IAC/D,mEAAmE;IACnE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,mBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxE,OAAO,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAED,2DAA2D;IAC3D,IACI,gBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;QACjC,IAAA,2BAAmB,EAAC,OAAO,CAAC;QAC5B,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,EAC9C,CAAC;QACC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,4FAA4F;IAC5F,IAAI,IAAA,kBAAU,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAA,mBAAW,EAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,+BAA+B;QAC/B,YAAY,GAAG,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IACpG,CAAC;SAAM,CAAC;QACJ,IAAI,IAAA,sBAAc,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACvD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3B,MAAM,cAAc,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;gBAErD,IAAI,CAAC,IAAA,kBAAU,EAAC,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC;oBACzC,oCAAoC;oBACpC,OAAO,GAAG,IAAA,6BAAiB,EACvB,IAAA,gCAAoB,EAChB,cAAc,EACd,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;oBACvC,uBAAuB,CAAC,IAAI;oBAC5B,gBAAgB,CAAC,IAAI,CACxB,CACJ,CAAC;gBACN,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QAED,oEAAoE;QACpE,+DAA+D;QAC/D,IACI,IAAA,sBAAc,EAAC,OAAO,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,UAAU;YACvB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;YACvB,CAAC,IAAA,sBAAc,EAAC,QAAQ,CAAC,EAC3B,CAAC;YACC,OAAO,GAAG,mBAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC;QAED,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,wCAAwC;QACxC,IAAI,mBAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,YAAY,GAAG,wBAAwB,CACnC,SAAS,EACT,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EACX,KAAK,EACL,cAAc,CACjB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,YAAY,GAAG,0BAA0B,CACrC,SAAS,EACT,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,WAAW,EACX,KAAK,EACL,cAAc,CACjB,CAAC;QACN,CAAC;IACL,CAAC;IAED,IAAI,qBAAqB,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;QACzB,IAAI,WAAW,EAAE,CAAC;YACd,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,+EAA+E;AAC/E,SAAgB,gBAAgB,CAC5B,SAAwB,EACxB,WAA8B,EAC9B,OAAiC;IAEjC,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,WAAW,CAAC,sBAAsB,CAAC,CAAC,aAAa,EAAE,EAAE;QACjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAC1E,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,uCAAkB,CAAC,YAAY,CAAC,CAAC;AAChD,CAAC;AAED,4DAA4D;AAC5D,SAAgB,gCAAgC,CAAC,WAA8B,EAAE,WAA+B;IAC5G,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QACxB,OAAO;IACX,CAAC;IAED,WAAW,CAAC,sBAAsB,CAAC,CAAC,aAAa,EAAE,EAAE;QACjD,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1C,aAAa,CAAC,SAAS,CACnB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,+BAAmB,EAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EACjF,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,+BAAmB,EAAC,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EACjF,KAAK,CAAC,cAAc,CACvB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,kBAAkB,CAC9B,SAAwB,EACxB,aAA4B,EAC5B,OAAiC;IAEjC,MAAM,WAAW,GAAG,IAAI,0CAAqB,EAAE,CAAC;IAEhD,4BAA4B;IAC5B,aAAa,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE;QACrC,qBAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAS,qBAAqB,CAC1B,SAAwB,EACxB,aAA4B,EAC5B,OAA4C,EAC5C,WAAkC,EAClC,KAAyB;IAEzB,wEAAwE;IACxE,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,gFAAgF;IAChF,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,KAAK,GAAG,cAAc,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,CAAC;IAEhG,IAAI,KAAK,EAAE,CAAC;QACR,gDAAgD;QAChD,MAAM,QAAQ,GAAG,IAAA,mCAAuB,EAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,iBAAiB,GAAG,IAAI,uCAAkB,EAAE,CAAC;YAEnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,kDAAkD;gBAClD,IAAI,IAAA,kBAAU,EAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;oBAChE,SAAS;gBACb,CAAC;gBAED,oDAAoD;gBACpD,IAAI,mBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/B,SAAS;gBACb,CAAC;gBAED,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzD,IAAI,CAAC,cAAc,EAAE,CAAC;oBAClB,SAAS;gBACb,CAAC;gBAED,MAAM,aAAa,GAAG,qBAAqB,CACvC,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,cAAc,CACjB,CAAC;gBAEF,IAAI,aAAa,EAAE,CAAC;oBAChB,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;YAED,mEAAmE;YACnE,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC/B,KAAK,GAAG,IAAA,+BAAmB,EAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;YAC1D,CAAC;QACL,CAAC;IACL,CAAC;IAED,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,sEAAsE;AACtE,wEAAwE;AACxE,6EAA6E;AAC7E,6EAA6E;AAC7E,+EAA+E;AAC/E,oBAAoB;AACpB,SAAgB,6BAA6B,CACzC,SAAwB,EACxB,IAAe,EACf,YAAkB,EAClB,WAA8B,EAC9B,iBAA+C,EAC/C,cAAkC,SAAS;IAE3C,IAAI,IAAA,aAAK,EAAC,YAAY,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACzC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,IAAA,iBAAS,EAAC,YAAY,CAAC,IAAI,mBAAW,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC/F,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;IACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC,UAAU,CACvB,IAAI,EACJ,YAAY;QACZ,UAAU,CAAC,SAAS,EACpB,WAAW,kDAEd,CAAC;IACN,CAAC;IAED,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEtC,2EAA2E;IAC3E,8BAA8B;IAC9B,IAAI,iBAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAA,6CAAiC,EAAC,YAAY,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,iBAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACzD,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7B,IAAI,YAAY,GAAG,QAAQ,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEpE,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAAC;gBACpC,YAAY,GAAG,IAAA,iCAAqB,EAAC,YAAY,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;YACvF,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,mBAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAEpD,WAAW,CAAC,SAAS,CACjB,SAAS,EACT,QAAQ,+BAAuB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAC1D,QAAQ,mCAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CACjE,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,iDAAiD;IACjD,MAAM,mBAAmB,GAAG,IAAA,6BAAiB,EAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,qBAAqB,GAAG,iBAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACzF,MAAM,OAAO,GAAG,mBAAW,CAAC,cAAc,CACtC,SAAS,KAAK,EAAE,EAChB,IAAA,mBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAW,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAW,CAAC,OAAO,CACvE,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAEpC,0EAA0E;QAC1E,OAAO,CAAC,MAAM,CAAC,gBAAgB,6BAAqB,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC;QAC3C,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,iBAAS,CAAC,UAAU,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;IAEtF,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,iBAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QACpE,MAAM,OAAO,GAAG,mBAAW,CAAC,cAAc,CACtC,WAAW,KAAK,EAAE,EAClB,IAAA,mBAAW,EAAC,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAW,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAW,CAAC,OAAO,CACvE,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QACpC,OAAO,CAAC,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;QACxC,OAAO,CAAC,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAC7C,OAAO,mBAAW,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,iBAAS,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,oBAAoB,GAAG,IAAI,qCAAiB,EAAE,CAAC;IACrD,IACI,SAAS,CAAC,UAAU,CAChB,mBAAmB,EACnB,eAAe;IACf,UAAU,CAAC,SAAS,EACpB,oBAAoB,kDAEvB,EACH,CAAC;QACC,IAAI,aAAa,GAAG,IAAI,CAAC;QAEzB,qBAAqB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,YAAY,GAAG,cAAc,CAAC,SAAS,EAAE,oBAAoB,CAAC,oBAAoB,EAAE,EAAE,OAAO,CAAC,CAAC;YACnG,MAAM,aAAa,GAAW,EAAE,CAAC;YAEjC,6EAA6E;YAC7E,uDAAuD;YACvD,IAAI,YAAY,EAAE,CAAC;gBACf,IAAI,IAAA,mBAAW,EAAC,OAAO,CAAC,IAAI,IAAA,kBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;oBACnD,YAAY,GAAG,IAAA,uCAA2B,EAAC,YAAY,CAAC,CAAC;gBAC7D,CAAC;gBAED,IAAI,IAAA,eAAO,EAAC,YAAY,CAAC,EAAE,CAAC;oBACxB,IAAI,iBAA0C,CAAC;oBAE/C,IAAA,qBAAS,EAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBACtD,IACI,IAAA,iBAAS,EAAC,OAAO,CAAC;4BAClB,OAAO,CAAC,MAAM,CAAC,aAAa;4BAC5B,OAAO,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;4BAC7C,CAAC,iBAAiB,EACpB,CAAC;4BACC,iBAAiB,GAAG,OAAO,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACJ,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAChC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,IAAI,iBAAiB,EAAE,CAAC;wBACpB,YAAY,GAAG,iBAAiB,CAAC;oBACrC,CAAC;gBACL,CAAC;YACL,CAAC;YAED,sEAAsE;YACtE,+EAA+E;YAC/E,IACI,YAAY;gBACZ,IAAA,iBAAS,EAAC,YAAY,CAAC;gBACvB,YAAY,CAAC,MAAM,CAAC,aAAa;gBACjC,YAAY,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,EACpD,CAAC;gBACC,MAAM,aAAa,GAAG,iBAAS,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACrG,IAAI,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC;oBAClC,IAAI,YAAY,GAAqB,IAAA,+CAAmC,EAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;oBAElG,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,YAAY,GAAG,IAAA,oBAAY,EAAC,CAAC,YAAY,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;oBAClE,CAAC;oBAED,IAAI,iBAAiB,EAAE,CAAC;wBACpB,YAAY,GAAG,IAAA,iCAAqB,EAAC,YAAY,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;oBACvF,CAAC;oBAED,IACI,CAAC,YAAY;wBACb,CAAC,aAAa,CACV,SAAS,EACT,aAAa,EACb,YAAY;wBACZ,UAAU,CAAC,SAAS,EACpB,WAAW,qDAEd,EACH,CAAC;wBACC,aAAa,GAAG,KAAK,CAAC;oBAC1B,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,0BAA0B,CAAC,SAAwB,EAAE,OAAoB,EAAE,UAAgB;IAChG,OAAO,IAAA,sBAAc,EAAC,OAAO,CAAC;QAC1B,CAAC,CAAC,iCAAiC,CAAC,SAAS,EAAE,UAAU,CAAC;QAC1D,CAAC,CAAC,IAAA,yBAAa,EAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,cAAc,CACnB,SAAwB,EACxB,aAA4B,EAC5B,OAAoB,EACpB,iBAA2B;IAE3B,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,IAAA,mBAAW,EAAC,OAAO,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,IAAA,kBAAU,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,UAAU,CAAC;QAC5B,CAAC;QAED,IAAI,IAAA,sBAAc,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,qBAAa,CAAC,UAAU,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;IAED,IAAI,MAAwB,CAAC;IAE7B,IAAI,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAClC,IAAI,UAAU,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,eAAe,GAAG,0BAA0B,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YAEnF,gEAAgE;YAChE,mDAAmD;YACnD,IAAI,eAAe,KAAK,UAAU,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,CAAC;oBAC/E,IAAI,mBAAW,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtC,0CAA0C;wBAC1C,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,eAAe,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;4BAC3F,UAAU,GAAG,eAAe,CAAC;wBACjC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,UAAU,GAAG,eAAe,CAAC;oBACjC,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,MAAM,GAAG,UAAU,CAAC;IACxB,CAAC;SAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5B,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,yEAAyE;AACzE,2EAA2E;AAC3E,uBAAuB;AACvB,SAAS,kBAAkB,CACvB,SAAwB,EACxB,QAAqB,EACrB,OAAa,EACb,IAAoC,EACpC,KAAsB;IAEtB,0BAA0B;IAC1B,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,0DAA0D;IAC1D,IAAI,IAAA,mBAAW,EAAC,QAAQ,CAAC,IAAI,IAAA,kBAAU,EAAC,OAAO,CAAC,IAAI,oBAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6DAA6D;IAC7D,MAAM,WAAW,GAAG,CAAC,KAAK,oCAA4B,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,IAAA,eAAO,EAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,kCAAkC;IAClC,IAAI,IAAA,uBAAe,EAAC,OAAO,CAAC,IAAI,iBAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAA,sBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzG,IAAI,gBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,8BAA8B;IAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,IAAI,mBAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,wEAAwE;AACxE,mDAAmD;AACnD,SAAS,0BAA0B,CAC/B,SAAwB,EACxB,QAAqB,EACrB,OAAa,EACb,IAAoC,EACpC,WAA0C,EAC1C,KAAsB,EACtB,cAAsB;IAEtB,MAAM,WAAW,GAAG,CAAC,KAAK,oCAA4B,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,CAAC,KAAK,wCAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;IAEtF,sDAAsD;IACtD,MAAM,QAAQ,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,oBAAoB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE1E,IAAI,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC;IACzC,IAAI,CAAC,aAAa,IAAI,CAAC,mBAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IAC9C,CAAC;IACD,IAAI,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC;IACzC,IAAI,aAAa,GAAG,aAAa,CAAC;IAClC,IAAI,aAAa,GAAG,aAAa,CAAC;IAClC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,+BAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjE,IAAI,UAAU,GAAG,OAAO,CAAC;IAEzB,gEAAgE;IAChE,0CAA0C;IAC1C,IAAI,CAAC,KAAK,sDAA2C,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,IAAI,IAAA,eAAO,EAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3D,UAAU,GAAG,IAAA,yCAA6B,EAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,IAAI,gBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,IAAI,IAAA,qCAAyB,EAAC,UAAU,CAAC,EAAE,CAAC;YACxC,UAAU,GAAG,IAAA,6BAAiB,EAAC,UAAU,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACJ,2DAA2D;YAC3D,MAAM,kBAAkB,GAAG,SAAS,CAAC,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAE9E,IAAI,IAAA,qCAAyB,EAAC,kBAAkB,CAAC,EAAE,CAAC;gBAChD,UAAU,GAAG,IAAA,6BAAiB,EAAC,kBAAkB,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACJ,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CACZ,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAC9F,CAAC;gBACF,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;SAAM,IACH,IAAA,iBAAS,EAAC,OAAO,CAAC;QAClB,gBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;QAChC,IAAA,kBAAU,EAAC,IAAA,6BAAiB,EAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,EAClD,CAAC;QACC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CACZ,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CACjG,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,KAAK,kDAAuC,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,6DAAkD,CAAC,KAAK,CAAC,IAAI,IAAA,iBAAS,EAAC,UAAU,CAAC,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,8DAA8D;QAC9D,8DAA8D;QAC9D,qBAAqB;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,IAAI,WAAW,EAAE,CAAC;gBACd,aAAa,GAAG,UAAU,CAAC;gBAC3B,aAAa,GAAG,UAAU,CAAC;YAC/B,CAAC;iBAAM,IAAI,eAAe,EAAE,CAAC;gBACzB,aAAa,GAAG,UAAU,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,aAAa,GAAG,UAAU,CAAC;YAC/B,CAAC;QACL,CAAC;IACL,CAAC;SAAM,IAAI,eAAe,EAAE,CAAC;QACzB,0BAA0B;QAC1B,IAAI,CAAC,aAAa,IAAI,IAAA,kBAAU,EAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;YACxD,aAAa,GAAG,UAAU,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,IAAA,kBAAU,EAAC,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;YACpE,IACI,SAAS,CAAC,UAAU,CAChB,aAAa,EACb,SAAS,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAClD,YAAY;YACZ,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;gBACC,uEAAuE;gBACvE,aAAa,GAAG,UAAU,CAAC;YAC/B,CAAC;iBAAM,IACH,CAAC,SAAS,CAAC,UAAU,CACjB,UAAU,EACV,aAAa,EACb,YAAY;YACZ,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;gBACC,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;oBACvB,IAAI,CAAC,UAAU,CACX,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CACvC,SAAS,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CACzD,CACJ,CAAC;oBACF,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,mEAAmE;QACnE,IAAI,aAAa,EAAE,CAAC;YAChB,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,aAAc,EACd,aAAa;YACb,UAAU,CAAC,SAAS;YACpB,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;gBACC,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;oBACvB,IAAI,CAAC,UAAU,CACX,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CACvC,SAAS,CAAC,iBAAiB,CAAC,aAAa,EAAE,aAAc,CAAC,CAC7D,CACJ,CAAC;oBACF,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACnC,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,CAAC,aAAa,IAAI,IAAA,kBAAU,EAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;YACxD,kEAAkE;YAClE,aAAa,GAAG,UAAU,CAAC;QAC/B,CAAC;aAAM,IAAI,IAAA,kBAAU,EAAC,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;YACnE,wEAAwE;YACxE,uEAAuE;YACvE,oCAAoC;YACpC,IAAI,CAAC,aAAa,IAAI,WAAW,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACxE,aAAa,GAAG,0BAA0B,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YACnF,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,SAAS,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC;gBACpG,qEAAqE;gBACrE,sEAAsE;gBACtE,yDAAyD;gBACzD,IACI,IAAA,2BAAe,EAAC,aAAa,CAAC;oBAC9B,CAAC,IAAA,iBAAS,EAAC,UAAU,CAAC;oBACtB,SAAS,CAAC,UAAU,CAChB,UAAU,EACV,aAAa;oBACb,UAAU,CAAC,SAAS,EACpB,WAAW,mCAEX,cAAc,CACjB,EACH,CAAC;oBACC,aAAa,GAAG,UAAU,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACJ,aAAa,GAAG,aAAa,CAAC;oBAE9B,IAAI,WAAW,EAAE,CAAC;wBACd,aAAa,GAAG,SAAS,CAAC,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;oBACnF,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IACH,IAAA,iBAAS,EAAC,aAAa,CAAC;gBACxB,CAAC,IAAA,iBAAS,EAAC,UAAU,CAAC;gBACtB,SAAS,CAAC,UAAU,CAChB,SAAS,CAAC,4BAA4B,CAAC,aAAa,CAAC,EACrD,UAAU,EACV,YAAY,EACZ,WAAW,EACX,KAAK,EACL,cAAc,CACjB,EACH,CAAC;gBACC,wDAAwD;gBACxD,6DAA6D;gBAC7D,eAAe;gBACf,aAAa,GAAG,UAAU,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,IACI,SAAS,CAAC,UAAU,CAChB,UAAU,EACV,aAAa;gBACb,UAAU,CAAC,SAAS,EACpB,WAAW,mCAEX,cAAc,CACjB,EACH,CAAC;oBACC,8DAA8D;oBAC9D,8DAA8D;oBAC9D,0BAA0B;oBAC1B,IAAI,CAAC,IAAA,iBAAS,EAAC,UAAU,CAAC,EAAE,CAAC;wBACzB,aAAa,GAAG,UAAU,CAAC;oBAC/B,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAA,sBAAc,EAAC,QAAQ,CAAC,EAAE,CAAC;oBAClC,MAAM,WAAW,GAAG,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;oBACnF,IAAI,CAAC,WAAW,EAAE,CAAC;wBACf,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CACZ,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CACvC,SAAS,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CACzD,CACJ,CAAC;wBACF,OAAO,KAAK,CAAC;oBACjB,CAAC;oBAED,aAAa,GAAG,WAAW,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACJ,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;oBAE7C,wEAAwE;oBACxE,uEAAuE;oBACvE,oCAAoC;oBACpC,IAAI,CAAC,aAAa,IAAI,WAAW,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;wBACxE,aAAa,GAAG,0BAA0B,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;oBACnF,CAAC;oBAED,IAAI,mBAAmB,GAAG,aAAa,CAAC;oBAExC,IAAI,WAAW,EAAE,CAAC;wBACd,mBAAmB,GAAG,SAAS,CAAC,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;oBACzF,CAAC;oBAED,yDAAyD;oBACzD,6DAA6D;oBAC7D,4DAA4D;oBAC5D,+DAA+D;oBAC/D,4CAA4C;oBAC5C,IACI,IAAA,eAAO,EAAC,mBAAmB,CAAC;wBAC5B,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,+CAA0B;wBACrE,mBAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;wBAC9B,IAAA,uBAAe,EAAC,UAAU,CAAC,EAC7B,CAAC;wBACC,aAAa,GAAG,IAAA,oBAAY,EAAC,CAAC,mBAAmB,EAAE,UAAU,CAAC,EAAE;4BAC5D,eAAe,EAAE,mCAAmC;yBACvD,CAAC,CAAC;oBACP,CAAC;yBAAM,CAAC;wBACJ,aAAa,GAAG,IAAA,oBAAY,EAAC,CAAC,mBAAmB,EAAE,UAAU,CAAC,EAAE;4BAC5D,eAAe,EAAE,mCAAmC;yBACvD,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,kBAAkB;QAClB,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;YAC/B,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,UAAU,EACV,aAAa,EACb,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,EAAE;YACtB,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;gBACC,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;oBACvB,IAAI,CAAC,UAAU,CACX,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CACvC,SAAS,CAAC,iBAAiB,CAAC,aAAa,EAAE,UAAU,CAAC,CACzD,CACJ,CAAC;gBACN,CAAC;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,IAAA,kBAAU,EAAC,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;gBAChE,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,aAAa,EACb,aAAa,EACb,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,EAAE;gBACtB,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;oBACC,IAAI,IAAI,IAAI,YAAY,EAAE,CAAC;wBACvB,IAAI,CAAC,UAAU,CACX,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CACvC,SAAS,CAAC,iBAAiB,CAAC,aAAa,EAAE,aAAa,CAAC,CAC5D,CACJ,CAAC;oBACN,CAAC;oBACD,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,WAAW,EAAE,CAAC;QAChC,aAAa,GAAG,aAAa,CAAC;IAClC,CAAC;IAED,qEAAqE;IACrE,IAAI,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,CAAC,aAAa,IAAI,aAAa,CAAE,CAAC;QAEtD,+DAA+D;QAC/D,oEAAoE;QACpE,+BAA+B;QAC/B,IAAI,gBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAA,qCAAyB,EAAC,OAAO,CAAC,EAAE,CAAC;YAC3E,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,uEAAuE;QACvE,mEAAmE;QACnE,+DAA+D;QAC/D,MAAM,oBAAoB,GAAG,mBAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,QAAQ,CAAC,MAAM,CAAC,SAAS,EACzB,SAAS,CAAC,4BAA4B,CAAC,WAAW,CAAC,EACnD,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,cAAc,EAAE,EACtB,oBAAoB,mCAEpB,cAAc,CACjB,EACH,CAAC;YACC,oEAAoE;YACpE,qCAAqC;YACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;gBACjC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CACZ,sBAAW,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;oBAC3B,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;oBAC5C,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;oBACxD,IAAI,EAAE,mBAAW,CAAC,eAAe,CAAC,QAAQ,CAAC;iBAC9C,CAAC,CACL,CAAC;YACN,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAClB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,CAAC,KAAK,GAAG,CAAC,oGAA+E,CAAC,CAAC,KAAK,CAAC,CACpG,CAAC;IAEF,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,2DAA2D;AAC3D,SAAS,wBAAwB,CAC7B,SAAwB,EACxB,QAAqB,EACrB,OAAa,EACb,IAAoC,EACpC,WAA0C,EAC1C,KAAsB,EACtB,cAAsB;IAEtB,IAAI,eAAiC,CAAC;IACtC,MAAM,eAAe,GAAG,SAAS,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,oBAAoB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE1E,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC;IAC3C,MAAM,aAAa,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,CAAC;IAC3C,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IAAI,IAAA,iBAAS,EAAC,OAAO,CAAC,EAAE,CAAC;QACrB,IACI,SAAS,CAAC,UAAU,CAChB,QAAQ,EACR,eAAe;QACf,UAAU,CAAC,SAAS;QACpB,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;YACC,eAAe,GAAG,OAAO,CAAC;YAE1B,gEAAgE;YAChE,yCAAyC;YACzC,IAAI,gBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,eAAe,GAAG,IAAA,6BAAiB,EAAC,OAAO,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;YAChF,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,YAAY,GAAG,IAAI,CAAC;QAExB,qEAAqE;QACrE,sEAAsE;QACtE,gCAAgC;QAChC,IAAI,4BAAgD,CAAC;QAErD,0DAA0D;QAC1D,eAAe,GAAG,IAAA,uBAAW,EAAC,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE;YAC1D,IAAI,kBAAoC,CAAC;YAEzC,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,EAAE,CAAC;gBAC7B,OAAO,UAAU,CAAC;YACtB,CAAC;YAED,IAAI,mBAAuC,CAAC;YAC5C,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE;gBAClD,MAAM,kBAAkB,GAAG,gBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACxD,CAAC,CAAC,IAAA,iCAAqB,EAAC,UAAU,CAAC;oBACnC,CAAC,CAAC,UAAU,CAAC;gBACjB,IACI,SAAS,CAAC,UAAU,CAChB,kBAAkB,EAClB,UAAU;gBACV,UAAU,CAAC,SAAS;gBACpB,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;oBACC,IACI,CAAC,kBAAkB;wBACnB,SAAS,CAAC,UAAU,CAChB,gBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;4BAC7B,CAAC,CAAC,IAAA,iCAAqB,EAAC,kBAAkB,CAAC;4BAC3C,CAAC,CAAC,kBAAkB,EACxB,kBAAkB;wBAClB,UAAU,CAAC,SAAS;wBACpB,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;wBACC,kBAAkB,GAAG,IAAA,8BAAkB,EAAC,UAAU,EAAE,IAAA,4BAAgB,EAAC,UAAU,CAAC,CAAC,CAAC;wBAClF,mBAAmB,GAAG,CAAC,CAAC;oBAC5B,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,kEAAkE;gBAClE,mEAAmE;gBACnE,mDAAmD;gBACnD,IAAI,CAAC,KAAK,wCAAgC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,YAAY,GAAG,KAAK,CAAC;gBACzB,CAAC;YACL,CAAC;YAED,mEAAmE;YACnE,uDAAuD;YACvD,IAAI,mBAAmB,KAAK,SAAS,IAAI,CAAC,IAAA,4BAAgB,EAAC,UAAU,CAAC,EAAE,CAAC;gBACrE,IACI,4BAA4B,KAAK,SAAS;oBAC1C,4BAA4B,KAAK,mBAAmB,EACtD,CAAC;oBACC,YAAY,GAAG,KAAK,CAAC;gBACzB,CAAC;gBAED,4BAA4B,GAAG,mBAAmB,CAAC;YACvD,CAAC;YAED,OAAO,kBAAkB,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,IAAA,eAAO,EAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5C,eAAe,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,uEAAuE;QACvE,sBAAsB;QACtB,IAAI,CAAC,eAAe,IAAI,IAAA,eAAO,EAAC,eAAe,CAAC,EAAE,CAAC;YAC/C,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC9D,MAAM,kBAAkB,GAAG,gBAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;oBACxD,CAAC,CAAC,IAAA,iCAAqB,EAAC,UAAU,CAAC;oBACnC,CAAC,CAAC,UAAU,CAAC;gBACjB,OAAO,SAAS,CAAC,UAAU,CACvB,kBAAkB,EAClB,eAAe;gBACf,UAAU,CAAC,SAAS;gBACpB,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,uDAAuD;IACvD,6DAA6D;IAC7D,sCAAsC;IACtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACnB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CACZ,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC;YACxC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC;YAClC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;SAC7B,CAAC,CACL,CAAC;QACF,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,IAAI,IAAA,gCAAoB,EAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,cAAc,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,aAAa,IAAI,CAAC,IAAA,sBAAc,EAAC,aAAa,CAAC,EAAE,CAAC;QAClD,IACI,CAAC,SAAS,CAAC,UAAU,CACjB,aAAa,EACb,eAAe;QACf,UAAU,CAAC,SAAS;QACpB,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;YACC,gEAAgE;YAChE,mEAAmE;YACnE,wBAAwB;YACxB,IACI,SAAS,CAAC,UAAU,CAChB,eAAe,EACf,aAAa;YACb,UAAU,CAAC,SAAS;YACpB,iBAAiB,CAAC,SAAS,mCAE3B,cAAc,CACjB,EACH,CAAC;gBACC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACJ,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CACZ,sBAAW,CAAC,sBAAsB,EAAE,CAAC,MAAM,CAAC;oBACxC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;oBAC1C,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC;iBAC3C,CAAC,CACL,CAAC;gBACF,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,mCAAmC;QACnC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,sCAAsC;AACtC,SAAS,eAAe,CACpB,SAAwB,EACxB,QAAuB,EACvB,OAAa,EACb,IAAoC,EACpC,WAA0C,EAC1C,cAAc,GAAG,CAAC;IAElB,mEAAmE;IACnE,mDAAmD;IACnD,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,CAAC;IACxB,IAAI,UAAU,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,uCAA2B,EAAC,OAAO,CAAC,CAAC;IACvF,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QACzB,UAAU,GAAG,IAAA,uCAA2B,EAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,WAAW,CAAC,sBAAsB,CAAC,CAAC,aAAa,EAAE,EAAE;;QACjD,IAAI,IAAA,mBAAW,EAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,MAAA,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,0CAAE,UAAU,CAAC;YACpE,IAAI,YAAY,EAAE,CAAC;gBACf,MAAM,cAAc,GAAG,IAAA,uCAA2B,EAAC,YAAY,CAAC,CAAC;gBACjE,MAAM,qBAAqB,GAAG,oBAAY,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;gBACtF,MAAM,6BAA6B,GAAG,oBAAY,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;gBAElG,IAAI,6BAA6B,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,qBAAqB,EAAE,CAAC;oBACxF,0DAA0D;oBAC1D,IAAI,IAAA,kBAAU,EAAC,qBAAqB,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC;wBACpE,OAAO;oBACX,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9C,OAAO;YACX,CAAC;QACL,CAAC;aAAM,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,UAAU,CAAC;YAC/B,IAAI,4BAA4B,GAAG,KAAK,CAAC;YAEzC,MAAM,YAAY,GAAG,MAAA,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,0CAAE,UAAU,CAAC;YACpE,IAAI,YAAY,EAAE,CAAC;gBACf,+DAA+D;gBAC/D,2BAA2B;gBAC3B,MAAM,gBAAgB,GAAG,IAAA,uCAA2B,EAAC,IAAA,uCAA2B,EAAC,YAAY,CAAC,CAAC,CAAC;gBAEhG,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CACtC,gBAAgB,EAChB,WAAW;gBACX,UAAU,CAAC,SAAS;gBACpB,iBAAiB,CAAC,SAAS,gDAE3B,cAAc,CACjB,CAAC;gBAEF,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CACnC,WAAW,EACX,gBAAgB;gBAChB,UAAU,CAAC,SAAS;gBACpB,iBAAiB,CAAC,SAAS,gDAE3B,cAAc,CACjB,CAAC;gBAEF,4BAA4B;gBAC5B,IAAI,aAAa,IAAI,UAAU,EAAE,CAAC;oBAC9B,uEAAuE;oBACvE,uEAAuE;oBACvE,sEAAsE;oBACtE,mEAAmE;oBACnE,oEAAoE;oBACpE,IAAI,CAAC,oBAAY,CAAC,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;wBACnD,4BAA4B,GAAG,IAAI,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACJ,OAAO;oBACX,CAAC;gBACL,CAAC;qBAAM,IAAI,UAAU,EAAE,CAAC;oBACpB,4BAA4B,GAAG,IAAI,CAAC;gBACxC,CAAC;qBAAM,IAAI,aAAa,EAAE,CAAC;oBACvB,sEAAsE;oBACtE,gCAAgC;oBAChC,OAAO;gBACX,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,4BAA4B,GAAG,IAAI,CAAC;YACxC,CAAC;YAED,IAAI,4BAA4B,EAAE,CAAC;gBAC/B,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAC/C,OAAO;YACX,CAAC;QACL,CAAC;aAAM,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,EAAE,CAAC;YACpC,OAAO;QACX,CAAC;QAED,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CACZ,sBAAW,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;YAC/B,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;YACrC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI;SAC7B,CAAC,CACL,CAAC;QAEF,YAAY,GAAG,KAAK,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,2EAA2E;AAC3E,4EAA4E;AAC5E,sDAAsD;AACtD,SAAS,wBAAwB,CAAC,SAAwB,EAAE,KAAW,EAAE,KAAW;IAChF,oEAAoE;IACpE,kEAAkE;IAClE,mEAAmE;IACnE,oDAAoD;IAEpD,mEAAmE;IACnE,IAAI,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,uBAAe,EAAC,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,6EAA6E;IAC7E,IACI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa;QACzB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa;QACzB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EACrE,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,aAAa,GAAG,iCAAiC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,iCAAiC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE1E,IAAI,IAAA,kBAAU,EAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC;QAC3C,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,sEAAsE;AACtE,qDAAqD;AACrD,SAAS,iCAAiC,CAAC,SAAwB,EAAE,IAAU;IAC3E,IAAI,CAAC,IAAA,uBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,MAAM,aAAa,GAAmB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtE,MAAM,YAAY,GAAG,IAAA,yBAAa,EAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1E,IAAI,YAAY,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,eAAe,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,OAAO;YACH,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,YAAY;SACrB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,IAAA,gCAAoB,EAAC,IAAI,EAAE,aAAa,EAAE,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC1G,CAAC;AAED,6EAA6E;AAC7E,kCAAkC;AAClC,SAAS,cAAc,CAAC,SAAwB,EAAE,WAA8B,EAAE,MAAc;IAC5F,MAAM,kBAAkB,GAAG,WAAW,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC;IAClE,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,iBAAiB,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;QAClC,uBAAuB,CAAC,SAAS,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC;IAC1F,CAAC;SAAM,CAAC;QACJ,WAAW,CAAC,sBAAsB,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,eAAe,KAAK,EAAE,CAAC,CAAC;YAC7C,uBAAuB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,SAAwB,EAAE,OAAsB,EAAE,MAAc;IAC7F,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAE7B,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACpC,MAAM,WAAW,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAEpC,kCAAkC;QAClC,IAAI,UAAU,IAAI,UAAU,IAAI,IAAA,kBAAU,EAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACnE,gBAAgB,GAAG,IAAI,CAAC;QAC5B,CAAC;aAAM,CAAC;YACJ,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACnE,gBAAgB,GAAG,IAAI,CAAC;YAC5B,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,MAAM,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACnE,gBAAgB,GAAG,IAAI,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,gBAAgB,CAAC,CAAC;IAC3C,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
@@ -69,13 +69,12 @@ class ConstraintSet {
69
69
  let score = 0;
70
70
  // Sum the scores for the defined type vars.
71
71
  this._typeVarMap.forEach((entry) => {
72
- var _a;
73
72
  // Add 1 to the score for each type variable defined.
74
73
  score += 1;
75
74
  // Add a fractional amount based on the simplicity of the definition.
76
75
  // The more complex, the lower the score. In the spirit of Occam's
77
76
  // Razor, we always want to favor simple answers.
78
- const typeVarType = (_a = entry.lowerBound) !== null && _a !== void 0 ? _a : entry.upperBound;
77
+ const typeVarType = entry.lowerBound ?? entry.upperBound;
79
78
  if (typeVarType) {
80
79
  score += 1.0 - (0, typeComplexity_1.getComplexityScoreForType)(typeVarType);
81
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"constraintTracker.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraintTracker.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintTracker.ts"],"names":[],"mappings":"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"}
@@ -137,7 +137,6 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
137
137
  const constraints = new constraintTracker_1.ConstraintTracker();
138
138
  const remainingArgsList = argList.slice(1);
139
139
  remainingArgsList.forEach((arg, argIndex) => {
140
- var _a, _b, _c, _d, _e, _f, _g, _h;
141
140
  if (!arg.valueExpression) {
142
141
  return;
143
142
  }
@@ -157,8 +156,8 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
157
156
  argType: evaluator.printType(argTypeResult.type),
158
157
  paramType: evaluator.printType(paramType),
159
158
  functionName: origFunctionType.shared.name,
160
- paramName: (_a = paramListDetails.params[paramListDetails.argsIndex].param.name) !== null && _a !== void 0 ? _a : '',
161
- }), (_b = arg.valueExpression) !== null && _b !== void 0 ? _b : errorNode);
159
+ paramName: paramListDetails.params[paramListDetails.argsIndex].param.name ?? '',
160
+ }), arg.valueExpression ?? errorNode);
162
161
  }
163
162
  argumentErrors = true;
164
163
  }
@@ -171,7 +170,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
171
170
  ? localize_1.LocMessage.argPositionalExpectedOne()
172
171
  : localize_1.LocMessage.argPositionalExpectedCount().format({
173
172
  expected: paramListDetails.positionParamCount,
174
- }), (_c = arg.valueExpression) !== null && _c !== void 0 ? _c : errorNode);
173
+ }), arg.valueExpression ?? errorNode);
175
174
  }
176
175
  }
177
176
  reportedPositionalError = true;
@@ -181,7 +180,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
181
180
  else {
182
181
  const paramType = types_1.FunctionType.getParamType(origFunctionType, argIndex);
183
182
  const diag = new diagnostic_1.DiagnosticAddendum();
184
- const paramName = (_d = paramListDetails.params[argIndex].param.name) !== null && _d !== void 0 ? _d : '';
183
+ const paramName = paramListDetails.params[argIndex].param.name ?? '';
185
184
  const argTypeResult = evaluator.getTypeOfExpression(arg.valueExpression,
186
185
  /* flags */ undefined, (0, typeUtils_1.makeInferenceContext)(paramType));
187
186
  if (!evaluator.assignType(paramType, argTypeResult.type, diag, constraints)) {
@@ -191,7 +190,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
191
190
  paramType: evaluator.printType(paramType),
192
191
  functionName: origFunctionType.shared.name,
193
192
  paramName,
194
- }), (_e = arg.valueExpression) !== null && _e !== void 0 ? _e : errorNode);
193
+ }), arg.valueExpression ?? errorNode);
195
194
  }
196
195
  argumentErrors = true;
197
196
  }
@@ -200,7 +199,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
200
199
  }
201
200
  }
202
201
  else {
203
- const matchingParam = paramListDetails.params.find((paramInfo) => { var _a; return paramInfo.param.name === ((_a = arg.name) === null || _a === void 0 ? void 0 : _a.d.value) && paramInfo.kind !== parameterUtils_1.ParamKind.Positional; });
202
+ const matchingParam = paramListDetails.params.find((paramInfo) => paramInfo.param.name === arg.name?.d.value && paramInfo.kind !== parameterUtils_1.ParamKind.Positional);
204
203
  if (!matchingParam) {
205
204
  // Is there a kwargs parameter?
206
205
  if (paramListDetails.kwargsIndex === undefined) {
@@ -220,8 +219,8 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
220
219
  argType: evaluator.printType(argTypeResult.type),
221
220
  paramType: evaluator.printType(paramType),
222
221
  functionName: origFunctionType.shared.name,
223
- paramName: (_f = paramListDetails.params[paramListDetails.kwargsIndex].param.name) !== null && _f !== void 0 ? _f : '',
224
- }), (_g = arg.valueExpression) !== null && _g !== void 0 ? _g : errorNode);
222
+ paramName: paramListDetails.params[paramListDetails.kwargsIndex].param.name ?? '',
223
+ }), arg.valueExpression ?? errorNode);
225
224
  }
226
225
  argumentErrors = true;
227
226
  }
@@ -247,7 +246,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
247
246
  paramType: evaluator.printType(paramType),
248
247
  functionName: origFunctionType.shared.name,
249
248
  paramName,
250
- }), (_h = arg.valueExpression) !== null && _h !== void 0 ? _h : errorNode);
249
+ }), arg.valueExpression ?? errorNode);
251
250
  }
252
251
  argumentErrors = true;
253
252
  }
@@ -263,7 +262,6 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
263
262
  // Create a new parameter list that omits parameters that have been
264
263
  // populated already.
265
264
  const updatedParamList = specializedFunctionType.shared.parameters.map((param, index) => {
266
- var _a;
267
265
  let newType = types_1.FunctionType.getParamType(specializedFunctionType, index);
268
266
  // If this is an **kwargs with an unpacked TypedDict, mark the provided
269
267
  // TypedDict entries as provided.
@@ -272,7 +270,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
272
270
  (0, types_1.isUnpackedClass)(newType) &&
273
271
  types_1.ClassType.isTypedDictClass(newType)) {
274
272
  const typedDictEntries = (0, typedDicts_1.getTypedDictMembersForClass)(evaluator, newType);
275
- const narrowedEntriesMap = new Map((_a = newType.priv.typedDictNarrowedEntries) !== null && _a !== void 0 ? _a : []);
273
+ const narrowedEntriesMap = new Map(newType.priv.typedDictNarrowedEntries ?? []);
276
274
  typedDictEntries.knownItems.forEach((entry, name) => {
277
275
  if (paramMap.has(name)) {
278
276
  narrowedEntriesMap.set(name, { ...entry, isRequired: false });
@@ -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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"}