@zzzen/pyright-internal 1.2.0-dev.20230917 → 1.2.0-dev.20230924

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 (65) hide show
  1. package/dist/analyzer/checker.d.ts +1 -0
  2. package/dist/analyzer/checker.js +60 -3
  3. package/dist/analyzer/checker.js.map +1 -1
  4. package/dist/analyzer/codeFlowEngine.js +1 -1
  5. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  6. package/dist/analyzer/constructors.js +6 -0
  7. package/dist/analyzer/constructors.js.map +1 -1
  8. package/dist/analyzer/decorators.js +2 -2
  9. package/dist/analyzer/decorators.js.map +1 -1
  10. package/dist/analyzer/parseTreeUtils.js +3 -0
  11. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  12. package/dist/analyzer/patternMatching.js +2 -1
  13. package/dist/analyzer/patternMatching.js.map +1 -1
  14. package/dist/analyzer/protocols.js +7 -5
  15. package/dist/analyzer/protocols.js.map +1 -1
  16. package/dist/analyzer/sourceMapper.d.ts +1 -0
  17. package/dist/analyzer/sourceMapper.js +9 -4
  18. package/dist/analyzer/sourceMapper.js.map +1 -1
  19. package/dist/analyzer/typeEvaluator.js +63 -17
  20. package/dist/analyzer/typeEvaluator.js.map +1 -1
  21. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
  22. package/dist/analyzer/typeGuards.d.ts +1 -1
  23. package/dist/analyzer/typeGuards.js +4 -3
  24. package/dist/analyzer/typeGuards.js.map +1 -1
  25. package/dist/analyzer/typedDicts.js +20 -16
  26. package/dist/analyzer/typedDicts.js.map +1 -1
  27. package/dist/analyzer/types.d.ts +2 -0
  28. package/dist/analyzer/types.js +8 -2
  29. package/dist/analyzer/types.js.map +1 -1
  30. package/dist/backgroundAnalysisBase.js +1 -1
  31. package/dist/backgroundAnalysisBase.js.map +1 -1
  32. package/dist/common/pathUtils.js +1 -1
  33. package/dist/common/pathUtils.js.map +1 -1
  34. package/dist/common/realFileSystem.js +2 -2
  35. package/dist/common/realFileSystem.js.map +1 -1
  36. package/dist/common/serviceProvider.d.ts +1 -1
  37. package/dist/common/serviceProvider.js +6 -1
  38. package/dist/common/serviceProvider.js.map +1 -1
  39. package/dist/languageService/autoImporter.d.ts +4 -1
  40. package/dist/languageService/autoImporter.js +12 -1
  41. package/dist/languageService/autoImporter.js.map +1 -1
  42. package/dist/localization/package.nls.cs.json +6 -5
  43. package/dist/localization/package.nls.de.json +9 -8
  44. package/dist/localization/package.nls.es.json +6 -5
  45. package/dist/localization/package.nls.fr.json +6 -5
  46. package/dist/localization/package.nls.it.json +6 -5
  47. package/dist/localization/package.nls.ja.json +6 -5
  48. package/dist/localization/package.nls.ko.json +6 -5
  49. package/dist/localization/package.nls.pl.json +5 -4
  50. package/dist/localization/package.nls.pt-br.json +6 -5
  51. package/dist/localization/package.nls.qps-ploc.json +4 -3
  52. package/dist/localization/package.nls.ru.json +5 -4
  53. package/dist/localization/package.nls.tr.json +6 -5
  54. package/dist/localization/package.nls.zh-cn.json +6 -5
  55. package/dist/localization/package.nls.zh-tw.json +6 -5
  56. package/dist/tests/pathUtils.test.js +25 -3
  57. package/dist/tests/pathUtils.test.js.map +1 -1
  58. package/dist/tests/typeEvaluator1.test.js +2 -2
  59. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  60. package/dist/tests/typeEvaluator3.test.js +2 -2
  61. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  62. package/dist/tests/typeEvaluator4.test.js +4 -0
  63. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  64. package/dist/tests/typeEvaluator5.test.js +1 -1
  65. package/package.json +1 -1
@@ -82,9 +82,13 @@ class SourceMapper {
82
82
  }
83
83
  return [];
84
84
  }
85
- findClassDeclarationsByType(originatedPath, type) {
85
+ findDeclarationsByType(originatedPath, type, useTypeAlias = false) {
86
86
  const result = [];
87
- this._addClassTypeDeclarations(originatedPath, type, result, new Set());
87
+ this._addClassTypeDeclarations(originatedPath, type, result, new Set(), useTypeAlias);
88
+ return result;
89
+ }
90
+ findClassDeclarationsByType(originatedPath, type) {
91
+ const result = this.findDeclarationsByType(originatedPath, type);
88
92
  return result.filter((r) => (0, declaration_1.isClassDeclaration)(r)).map((r) => r);
89
93
  }
90
94
  findFunctionDeclarations(stubDecl) {
@@ -441,10 +445,11 @@ class SourceMapper {
441
445
  }
442
446
  }
443
447
  }
444
- _addClassTypeDeclarations(originated, type, result, recursiveDeclCache) {
448
+ _addClassTypeDeclarations(originated, type, result, recursiveDeclCache, useTypeAlias = false) {
445
449
  const filePath = type.details.filePath;
446
450
  const sourceFiles = this._getSourceFiles(filePath, /* stubToShadow */ undefined, originated);
447
- const fullClassName = type.details.fullName.substring(type.details.moduleName.length + 1 /* +1 for trailing dot */);
451
+ const fullName = useTypeAlias && type.typeAliasInfo ? type.typeAliasInfo.fullName : type.details.fullName;
452
+ const fullClassName = fullName.substring(type.details.moduleName.length + 1 /* +1 for trailing dot */);
448
453
  for (const sourceFile of sourceFiles) {
449
454
  (0, collectionUtils_1.appendArray)(result, this._findClassDeclarationsByName(sourceFile, fullClassName, recursiveDeclCache));
450
455
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sourceMapper.js","sourceRoot":"","sources":["../../../src/analyzer/sourceMapper.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;AAIH,+EAAiE;AACjE,2EAA6D;AAC7D,+DAAwD;AAExD,yCAA2C;AAC3C,2CAA8C;AAC9C,mDAAgG;AAEhG,+CAcuB;AAIvB,+DAAmD;AACnD,2DAAsD;AAEtD,mCAA2F;AAC3F,2CAAgD;AAQhD,MAAa,YAAY;IACrB,YACY,eAA+B,EAC/B,QAA8B,EAC9B,UAAyB,EACzB,WAA6B,EAC7B,kBAAqC,EACrC,YAAqB,EACrB,YAAqB,EACrB,SAAqC,EACrC,YAA+B;QAR/B,oBAAe,GAAf,eAAe,CAAgB;QAC/B,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,eAAU,GAAV,UAAU,CAAe;QACzB,gBAAW,GAAX,WAAW,CAAkB;QAC7B,uBAAkB,GAAlB,kBAAkB,CAAmB;QACrC,iBAAY,GAAZ,YAAY,CAAS;QACrB,iBAAY,GAAZ,YAAY,CAAS;QACrB,cAAS,GAAT,SAAS,CAA4B;QACrC,iBAAY,GAAZ,YAAY,CAAmB;IACxC,CAAC;IAEJ,WAAW,CAAC,YAAoB;;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,yCAAyC,CAAC,YAAY,CAAC;YAC5E,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,YAAY,CAAC;YACrD,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,0CAAE,UAAU,CAAC,CAAC;QAE1D,OAAO,WAAW;aACb,MAAM,CAAC,gBAAS,CAAC;aACjB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,WAAC,OAAA,MAAA,EAAE,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAA,EAAA,CAAC;aAC5C,MAAM,CAAC,gBAAS,CAAC,CAAC;IAC3B,CAAC;IAED,aAAa,CAAC,QAAgB;;QAC1B,OAAO,MAAA,MAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,0CAAE,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;IACtF,CAAC;IAED,gBAAgB,CAAC,QAAqB;QAClC,IAAI,IAAA,gCAAkB,EAAC,QAAQ,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;SAC3D;aAAM,IAAI,IAAA,mCAAqB,EAAC,QAAQ,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC;SAC9D;aAAM,IAAI,IAAA,mCAAqB,EAAC,QAAQ,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;SACnD;aAAM,IAAI,IAAA,oCAAsB,EAAC,QAAQ,CAAC,EAAE;YACzC,OAAO,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;SACpD;aAAM,IAAI,IAAA,8CAAgC,EAAC,QAAQ,CAAC,EAAE;YACnD,OAAO,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC,CAAC;SAC9D;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED,2BAA2B,CAAC,cAAsB,EAAE,IAAe;QAC/D,MAAM,MAAM,GAA2C,EAAE,CAAC;QAC1D,IAAI,CAAC,yBAAyB,CAAC,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gCAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAqB,CAAC,CAAC;IACzF,CAAC;IAED,wBAAwB,CAAC,QAA6B;QAClD,OAAO,IAAI,CAAC,oCAAoC,CAAC,QAAQ,CAAC;aACrD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,mCAAqB,EAAC,CAAC,CAAC,CAAC;aACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAwB,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,IAAY;QACnB,OAAO,IAAA,gCAAU,EAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,eAAe,CAAC,IAAY;QACxB,MAAM,gBAAgB,GAAG,IAAA,8BAAkB,EAAC,IAAI,CAAC,CAAC;QAClD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,GAAG,gBAAgB,IAAI,MAAM,KAAK,CAAC;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,IAAI,EAAE;YAC7C,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,gBAAgB,IAAI,MAAM,KAAK,CAAC;SAC/C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,oCAAoC,CACxC,QAAwC,EACxC,qBAAqB,IAAI,GAAG,EAAU;QAEtC,IAAI,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,kBAAuB,EAAE;YAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEzE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAC/E,CAAC;SACL;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,iCAAiC,CAAC,QAA0B,EAAE,qBAAqB,IAAI,GAAG,EAAU;QACxG,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAC/E,CAAC;IACN,CAAC;IAEO,oCAAoC,CACxC,QAA6B,EAC7B,qBAAqB,IAAI,GAAG,EAAU;QAEtC,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,QAAQ,CAAC,QAAQ,EAAE;YACnB,MAAM,SAAS,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,OAAO,EAAE,CAAC;aACb;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACpD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAC9F,CAAC;SACL;aAAM;YACH,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,CACrF,CAAC;SACL;IACL,CAAC;IAEO,yBAAyB,CAC7B,QAA6B,EAC7B,qBAAqB,IAAI,GAAG,EAAU;QAEtC,IAAI,QAAQ,CAAC,IAAI,CAAC,QAAQ,kBAAuB,EAAE;YAC/C,OAAO,EAAE,CAAC;SACb;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,cAAc,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAElE,IAAI,SAAS,EAAE;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAEpD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAC7F,CAAC;SACL;aAAM;YACH,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtC,IAAI,CAAC,+BAA+B,CAAC,UAAU,EAAE,YAAY,EAAE,kBAAkB,CAAC,CACrF,CAAC;SACL;IACL,CAAC;IAEO,0BAA0B,CAAC,QAA8B;QAC7D,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE;YACrB,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,EAAE;YACf,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxF,IAAI,CAAC,iBAAiB,EAAE;YACpB,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;YAC9C,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,oCAAoC,CAChE,gBAAuC,EACvC,kBAAkB,CACrB,EAAE;gBACC,IAAA,6BAAW,EACP,MAAM,EACN,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;qBACtE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oCAAsB,EAAC,CAAC,CAAC,CAAC;qBACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAyB,CAAC,CAC7C,CAAC;aACL;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,6BAA6B,CACjC,UAAsB,EACtB,SAAiB,EACjB,UAAkB,EAClB,SAA2D,EAC3D,kBAA+B;QAE/B,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAEhG,KAAK,MAAM,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gCAAkB,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAqB,CAAC,EAAE;YACvG,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,EAAE;gBACf,SAAS;aACZ;YAED,MAAM,MAAM,GAAG,IAAA,6BAAiB,EAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACrE,IAAI,MAAM,EAAE;gBACR,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE;oBAChD,SAAS,CAAC,IAAI,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;iBAC/C;aACJ;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,4BAA4B,CAChC,UAAsB,EACtB,SAAiB,EACjB,YAAoB,EACpB,kBAA+B;QAE/B,IAAI,MAAM,GAA0B,EAAE,CAAC;QAEvC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,SAAS,MAAM,YAAY,EAAE,CAAC;QACjF,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,GAAG,IAAI,CAAC,6BAA6B,CACvC,UAAU,EACV,SAAS,EACT,YAAY,EACZ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACpB,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;gBAC7B,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC3D,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;wBAChE,IAAI,IAAA,mCAAqB,EAAC,QAAQ,CAAC,EAAE;4BACjC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;yBACzB;qBACJ;iBACJ;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;aACJ;QACL,CAAC,EACD,kBAAkB,CACrB,CAAC;QAEF,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,6BAA6B,CACjC,UAAsB,EACtB,SAAiB,EACjB,YAAoB,EACpB,kBAA+B;QAE/B,IAAI,MAAM,GAA2C,EAAE,CAAC;QAExD,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,SAAS,MAAM,YAAY,EAAE,CAAC;QACjF,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,GAAG,IAAI,CAAC,6BAA6B,CACvC,UAAU,EACV,SAAS,EACT,YAAY,EACZ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACpB,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;gBAC7B,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC3D,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;iBAC/E;qBAAM;oBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;aACJ;QACL,CAAC,EACD,kBAAkB,CACrB,CAAC;QAEF,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,+BAA+B,CACnC,UAAsB,EACtB,YAAoB,EACpB,kBAA+B;;QAE/B,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,YAAY,EAAE,CAAC;QAClE,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE;YACb,2EAA2E;YAC3E,0BAA0B;YAC1B,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,wCAAwC,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;SACvG;aAAM;YACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aACnE;SACJ;QAED,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,+BAA+B,CACnC,UAAsB,EACtB,YAAoB,EACpB,kBAA+B;;QAE/B,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,MAAM,YAAY,EAAE,CAAC;QAClE,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;QAC3D,IAAI,CAAC,UAAU,EAAE;YACb,2EAA2E;YAC3E,0BAA0B;YAC1B,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,IAAI,CAAC,wCAAwC,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;SACvG;aAAM;YACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAC1E;SACJ;QAED,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,4BAA4B,CAChC,UAAsB,EACtB,aAAqB,EACrB,kBAA+B;;QAE/B,IAAI,UAAU,GAA2C,EAAE,CAAC;QAE5D,0EAA0E;QAC1E,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;QAC3D,IAAI,UAAU,EAAE;YACZ,IAAI,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;gBACxG,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC5C;YAED,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;gBACxC,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAC3C,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAC9F,CAAC;aACL;SACJ;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,sBAAsB,CAC1B,UAAsB,EACtB,SAAiB,EACjB,UAAqB,EACrB,kBAA+B;QAE/B,MAAM,MAAM,GAA2C,EAAE,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;QACjF,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAClC,OAAO,MAAM,CAAC;SACjB;QAED,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACpE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,oBAAyB,EAAE;YACpE,IAAI,CAAC,wCAAwC,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;SACpG;aAAM;YACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,CAAC,+BAA+B,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAC1E;SACJ;QAED,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,wBAAwB,CAC5B,IAAiB,EACjB,MAA8C,EAC9C,kBAA+B;QAE/B,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3D,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;aACjF;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;SACJ;aAAM,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACjG,IAAI,YAAY,EAAE;gBACd,IAAI,IAAA,mCAAqB,EAAC,YAAY,CAAC,EAAE;oBACrC,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;iBAC3E;qBAAM,IAAI,IAAA,gCAAkB,EAAC,YAAY,CAAC,IAAI,IAAA,mCAAqB,EAAC,YAAY,CAAC,EAAE;oBAChF,IAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;iBAClF;aACJ;SACJ;IACL,CAAC;IAEO,+BAA+B,CACnC,IAAiB,EACjB,MAA8C,EAC9C,kBAA+B;;QAE/B,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3D,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;aACzF;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;SACJ;aAAM,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;YACpC,IAAI,IAAI,CAAC,yCAAyC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3D,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;aAC5F;iBAAM;gBACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;SACJ;aAAM,IAAI,IAAA,gCAAkB,EAAC,IAAI,CAAC,EAAE;YACjC,MAAM,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,YAAY,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACzG,IAAI,YAAY,IAAI,CAAC,IAAA,gCAAkB,EAAC,YAAY,CAAC,EAAE;gBACnD,IAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAClF;SACJ;aAAM,IAAI,IAAA,mCAAqB,EAAC,IAAI,CAAC,EAAE;YACpC,sHAAsH;YACtH,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAEhE,kIAAkI;YAClI,mHAAmH;YACnH,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,aAAa,mCAAI,IAAI,CAAC,IAAI,CAAC;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO;aACV;YAED,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC9C,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAC9F;iBAAM,IAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,EAAE;gBACnC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,gBAAS,CAAC,EAAE;oBAC3F,IAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;iBAClF;aACJ;iBAAM,IAAI,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE;gBAClC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;aAC/E;SACJ;IACL,CAAC;IAEO,2BAA2B,CAAC,IAAsB;QACtD,kFAAkF;QAClF,mFAAmF;QACnF,sEAAsE;QACtE,+EAA+E;QAC/E,+EAA+E;QAC/E,gFAAgF;QAChF,4FAA4F;QAC5F,6EAA6E;QAC7E,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACzB,oDAAoD;YACpD,OAAO,IAAI,CAAC;SACf;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,aAAa,EAAE;YAC/D,OAAO,IAAI,CAAC;SACf;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,IAAI,CAAC;SACf;QAED,MAAM,QAAQ,GAAG,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,IAAI,CAAC;SACf;QAED,4EAA4E;QAC5E,0DAA0D;QAC1D,MAAM,YAAY,GAAG,IAAA,wBAAY,EAC7B,UAAU,EACV,aAAa,EAAE;aACV,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAC1B,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO,IAAI,CAAC;SACf;QAED,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QACpC,eAAe,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAEhD,OAAO,eAAe,CAAC;QAEvB,SAAS,aAAa;YAClB,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACxB;oBACI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5B;oBACI,OAAQ,IAAI,CAAC,IAAI,CAAC,MAAyB,CAAC,MAAM,CAAC;gBACvD;oBACI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5B;oBACI,OAAO,IAAA,mBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrC;QACL,CAAC;IACL,CAAC;IAEO,yBAAyB,CAC7B,UAAkB,EAClB,IAAe,EACf,MAA8C,EAC9C,kBAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAE7F,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CACjD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,yBAAyB,CAC/D,CAAC;QAEF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YAClC,IAAA,6BAAW,EAAC,MAAM,EAAE,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC;SACzG;IACL,CAAC;IAEO,eAAe,CAAC,QAAgB,EAAE,YAAqB,EAAE,UAAmB;QAChF,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,IAAI,IAAI,CAAC,yCAAyC,CAAC,QAAQ,CAAC,EAAE;YAC1D,IAAA,6BAAW,EAAC,WAAW,EAAE,IAAI,CAAC,gCAAgC,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;SACvG;aAAM;YACH,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACzD,IAAI,cAAc,EAAE;gBAChB,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;aAC/C;SACJ;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAEO,wCAAwC,CAC5C,UAAsB,EACtB,UAAkB,EAClB,MAA8C,EAC9C,kBAA+B;;QAE/B,6EAA6E;QAC7E,4BAA4B;QAC5B,MAAM,KAAK,GAAG,MAAA,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC;QACjE,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;SACV;QAED,0CAA0C;QAC1C,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;YACjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE;gBACzC,IACI,CAAC,IAAA,gCAAkB,EAAC,IAAI,CAAC;oBACzB,CAAC,IAAI,CAAC,IAAI;oBACV,IAAI,CAAC,IAAI,CAAC,QAAQ,wBAA6B;oBAC/C,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAC7B;oBACE,SAAS;iBACZ;gBAED,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,MAAM,UAAU,EAAE,CAAC;gBACjD,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAClC,SAAS;iBACZ;gBAED,gEAAgE;gBAChE,yEAAyE;gBACzE,6EAA6E;gBAC7E,QAAQ;gBACR,EAAE;gBACF,yEAAyE;gBACzE,4EAA4E;gBAC5E,YAAY;gBACZ,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAEjC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;oBAClC,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,eAAe,EAAE,0CAAE,SAAS,CAAC;oBAC3D,IAAI,CAAC,UAAU,EAAE;wBACb,SAAS;qBACZ;oBAED,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;oBACrE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;wBACpB,IAAI,CAAC,wCAAwC,CACzC,UAAU,EACV,UAAU,EACV,MAAM,EACN,kBAAkB,CACrB,CAAC;qBACL;yBAAM;wBACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;4BACtB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CACxD,IAAI;4BACJ,uBAAuB,CAAC,IAAI,CAC/B,CAAC;4BACF,IAAI,CAAC,YAAY,EAAE;gCACf,SAAS;6BACZ;4BAED,IAAI,IAAA,mCAAqB,EAAC,YAAY,CAAC,IAAI,IAAA,gCAAkB,EAAC,YAAY,CAAC,EAAE;gCACzE,IAAI,CAAC,+BAA+B,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;6BAClF;iCAAM,IAAI,IAAA,mCAAqB,EAAC,YAAY,CAAC,EAAE;gCAC5C,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;6BAC3E;yBACJ;qBACJ;iBACJ;aACJ;SACJ;IACL,CAAC;IAEO,yBAAyB,CAAC,IAA2B,EAAE,UAAkB;QAC7E,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,OAAO,EAAE,CAAC;SACb;QAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,EAAE,CAAC;QAExC,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;IACvB,CAAC;IAEO,iBAAiB,CAAC,IAAe;QACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,IAAI,OAAO,GAA0B,IAAI,CAAC;QAC1C,OAAO,OAAO,KAAK,SAAS,EAAE;YAC1B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,GAAG,cAAc,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACvD;QAED,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAEO,gCAAgC,CACpC,YAAoB,EACpB,YAAqB,EACrB,UAAmB;;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CACtC,YAAY,EACZ,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,CAAC,WAAW,EAAE,CACzD,CAAC;QACF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAS,CAAC,CAAC;IACnG,CAAC;IAEO,uBAAuB,CAAC,YAAoB,EAAE,QAA4B;QAC9E,6EAA6E;QAC7E,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,OAAO,CAAC;SAClB;QAED,yEAAyE;QACzE,2DAA2D;QAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAE/E,qEAAqE;QACrE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CACjD,kBAAkB,CAAC,CAAC,CAAC,EACrB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CACpB,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACpB,OAAO,OAAO,CAAC;aAClB;SACJ;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,sBAAsB,CAAC,YAAoB,EAAE,QAA4B;QAC7E,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC,YAAY,CAAC,EAAE;YAC5E,qDAAqD;YACrD,OAAO,CAAC,YAAY,CAAC,CAAC;SACzB;aAAM;YACH,sEAAsE;YACtE,OAAO,IAAA,mCAAe,EAClB,QAAQ,EACR,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE;gBACF,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACnD,OAAO,eAAe;oBAClB,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;oBACzE,CAAC,CAAC,EAAE,CAAC;YACb,CAAC,EACD,IAAI,CAAC,YAAY,CACpB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtE;IACL,CAAC;IAEO,yCAAyC,CAAC,QAAgB;QAC9D,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE;YACP,OAAO,KAAK,CAAC;SAChB;QAED,qHAAqH;QACrH,OAAO,IAAI,CAAC,eAAe;aACtB,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;aAClE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IACtC,CAAC;CACJ;AAxuBD,oCAwuBC;AAED,SAAgB,UAAU,CAAC,QAAgB;IACvC,OAAO,IAAA,mCAAuB,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;AAC1F,CAAC;AAFD,gCAEC"}
1
+ {"version":3,"file":"sourceMapper.js","sourceRoot":"","sources":["../../../src/analyzer/sourceMapper.ts"],"names":[],"mappings":"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"}
@@ -103,7 +103,6 @@ const nonSubscriptableBuiltinTypes = new Map([
103
103
  const typePromotions = new Map([
104
104
  ['builtins.float', ['builtins.int']],
105
105
  ['builtins.complex', ['builtins.float', 'builtins.int']],
106
- ['builtins.bytes', ['builtins.bytearray', 'builtins.memoryview']],
107
106
  ]);
108
107
  // How many levels deep should we attempt to infer return
109
108
  // types based on call-site argument types? The deeper we go,
@@ -2326,6 +2325,32 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
2326
2325
  });
2327
2326
  writeTypeCache(target, { type, isIncomplete: isTypeIncomplete }, 0 /* None */);
2328
2327
  }
2328
+ // If the type includes promotion types, expand these to their constituent types.
2329
+ function expandPromotionTypes(node, type) {
2330
+ return (0, typeUtils_1.mapSubtypes)(type, (subtype) => {
2331
+ if (!(0, types_1.isClass)(subtype) || !subtype.includePromotions) {
2332
+ return subtype;
2333
+ }
2334
+ const typesToCombine = [types_1.ClassType.cloneForPromotionType(subtype, /* includePromotions */ false)];
2335
+ const promotionTypeNames = typePromotions.get(subtype.details.fullName);
2336
+ if (promotionTypeNames) {
2337
+ for (const promotionTypeName of promotionTypeNames) {
2338
+ const nameSplit = promotionTypeName.split('.');
2339
+ let promotionSubtype = getBuiltInType(node, nameSplit[nameSplit.length - 1]);
2340
+ if (promotionSubtype && (0, types_1.isInstantiableClass)(promotionSubtype)) {
2341
+ promotionSubtype = types_1.ClassType.cloneForPromotionType(promotionSubtype,
2342
+ /* includePromotions */ false);
2343
+ if ((0, types_1.isClassInstance)(subtype)) {
2344
+ promotionSubtype = types_1.ClassType.cloneAsInstance(promotionSubtype);
2345
+ }
2346
+ promotionSubtype = (0, typeUtils_1.addConditionToType)(promotionSubtype, subtype.condition);
2347
+ typesToCombine.push(promotionSubtype);
2348
+ }
2349
+ }
2350
+ }
2351
+ return (0, types_1.combineTypes)(typesToCombine);
2352
+ });
2353
+ }
2329
2354
  // Replaces all of the top-level TypeVars (as opposed to TypeVars
2330
2355
  // used as type arguments in other types) with their concrete form.
2331
2356
  // If conditionFilter is specified and the TypeVar is a constrained
@@ -3410,7 +3435,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
3410
3435
  const isNotRequired = false;
3411
3436
  // If the base type was incomplete and unbound, don't proceed
3412
3437
  // because false positive errors will be generated.
3413
- if (baseTypeResult.isIncomplete && (0, types_1.isUnbound)(baseTypeResult.type)) {
3438
+ if (baseTypeResult.isIncomplete && (0, types_1.isUnbound)(baseType)) {
3414
3439
  return { type: types_1.UnknownType.create(/* isIncomplete */ true), isIncomplete: true };
3415
3440
  }
3416
3441
  // Handle the special case where the expression is an actual
@@ -3434,6 +3459,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
3434
3459
  if ((0, types_1.isParamSpec)(baseType) && baseType.paramSpecAccess) {
3435
3460
  baseType = makeTopLevelTypeVarsConcrete(baseType);
3436
3461
  }
3462
+ // Do union expansion for promotion types.
3463
+ baseType = expandPromotionTypes(node, baseType);
3437
3464
  switch (baseType.category) {
3438
3465
  case 2 /* Any */:
3439
3466
  case 1 /* Unknown */:
@@ -6109,6 +6136,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
6109
6136
  function validateOverloadedFunctionArguments(errorNode, argList, typeResult, typeVarContext, skipUnknownArgCheck, inferenceContext) {
6110
6137
  let filteredMatchResults = [];
6111
6138
  let contextFreeArgTypes;
6139
+ let isTypeIncomplete = !!typeResult.isIncomplete;
6112
6140
  // Start by evaluating the types of the arguments without any expected
6113
6141
  // type. Also, filter the list of overloads based on the number of
6114
6142
  // positional and named arguments that are present. We do all of this
@@ -6122,6 +6150,15 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
6122
6150
  // intended behavior according to PEP 484.
6123
6151
  const matchResults = matchFunctionArgumentsToParameters(errorNode, argList, { type: overload, isIncomplete: typeResult.isIncomplete }, overloadIndex);
6124
6152
  if (!matchResults.argumentErrors) {
6153
+ if (inferenceContext === null || inferenceContext === void 0 ? void 0 : inferenceContext.expectedType) {
6154
+ const returnType = getFunctionEffectiveReturnType(matchResults.overload);
6155
+ if (!assignType(inferenceContext.expectedType, returnType,
6156
+ /* diag */ undefined,
6157
+ /* destTypeVarContext */ undefined,
6158
+ /* srcTypeVarContext */ undefined, 8 /* SkipSolveTypeVars */)) {
6159
+ matchResults.relevance += -0.5;
6160
+ }
6161
+ }
6125
6162
  filteredMatchResults.push(matchResults);
6126
6163
  }
6127
6164
  overloadIndex++;
@@ -6149,7 +6186,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
6149
6186
  diagAddendum.addMessage(localize_1.Localizer.DiagnosticAddendum.argumentTypes().format({ types: argTypes.join(', ') }));
6150
6187
  addDiagnostic(AnalyzerNodeInfo.getFileInfo(errorNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.noOverload().format({ name: functionName }) + diagAddendum.getString(), errorNode);
6151
6188
  }
6152
- return { argumentErrors: true, isTypeIncomplete: false, overloadsUsedForCall: [] };
6189
+ return { argumentErrors: true, isTypeIncomplete, overloadsUsedForCall: [] };
6153
6190
  }
6154
6191
  // Create a helper function that evaluates the overload that best
6155
6192
  // matches the arg/param lists.
@@ -6175,7 +6212,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
6175
6212
  return evaluateUsingBestMatchingOverload(/* skipUnknownArgCheck */ false);
6176
6213
  }
6177
6214
  let expandedArgTypes = [argList.map((arg) => undefined)];
6178
- let isTypeIncomplete = !!typeResult.isIncomplete;
6179
6215
  while (true) {
6180
6216
  const callResult = validateOverloadsWithExpandedTypes(errorNode, expandedArgTypes, filteredMatchResults, typeVarContext, skipUnknownArgCheck, inferenceContext);
6181
6217
  if (callResult.isTypeIncomplete) {
@@ -6221,7 +6257,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
6221
6257
  result.returnType = types_1.UnknownType.create();
6222
6258
  return { ...result, argumentErrors: true };
6223
6259
  }
6224
- return { argumentErrors: true, isTypeIncomplete: false, overloadsUsedForCall: [] };
6260
+ return { argumentErrors: true, isTypeIncomplete, overloadsUsedForCall: [] };
6225
6261
  }
6226
6262
  // Replaces each item in the expandedArgTypes with n items where n is
6227
6263
  // the number of subtypes in a union. The contextFreeArgTypes parameter
@@ -11145,6 +11181,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
11145
11181
  /* declaredMetaclass */ undefined,
11146
11182
  /* effectiveMetaclass */ undefined, ParseTreeUtils.getDocString(node.suite.statements));
11147
11183
  classType.details.typeVarScopeId = ParseTreeUtils.getScopeIdForNode(node);
11184
+ // Is this a special type that supports type promotions according to PEP 484?
11185
+ if (typePromotions.has(classType.details.fullName)) {
11186
+ classType.includePromotions = true;
11187
+ }
11148
11188
  // Some classes refer to themselves within type arguments used within
11149
11189
  // base classes. We'll register the partially-constructed class type
11150
11190
  // to allow these to be resolved.
@@ -15526,11 +15566,13 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
15526
15566
  return true;
15527
15567
  }
15528
15568
  // Handle special-case type promotions.
15529
- const promotionList = typePromotions.get(destType.details.fullName);
15530
- if (promotionList &&
15531
- promotionList.some((srcName) => srcType.details.mro.some((mroClass) => (0, types_1.isClass)(mroClass) && srcName === mroClass.details.fullName))) {
15532
- if ((flags & 1 /* EnforceInvariance */) === 0) {
15533
- return true;
15569
+ if (destType.includePromotions) {
15570
+ const promotionList = typePromotions.get(destType.details.fullName);
15571
+ if (promotionList &&
15572
+ promotionList.some((srcName) => srcType.details.mro.some((mroClass) => (0, types_1.isClass)(mroClass) && srcName === mroClass.details.fullName))) {
15573
+ if ((flags & 1 /* EnforceInvariance */) === 0) {
15574
+ return true;
15575
+ }
15534
15576
  }
15535
15577
  }
15536
15578
  // Is it a structural type (i.e. a protocol)? If so, we need to
@@ -16310,7 +16352,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
16310
16352
  // Handle LiteralString special form.
16311
16353
  if (types_1.ClassType.isBuiltIn(destType, 'LiteralString')) {
16312
16354
  if (types_1.ClassType.isBuiltIn(concreteSrcType, 'str') && concreteSrcType.literalValue !== undefined) {
16313
- return true;
16355
+ return (flags & 1 /* EnforceInvariance */) === 0;
16314
16356
  }
16315
16357
  else if (types_1.ClassType.isBuiltIn(concreteSrcType, 'LiteralString')) {
16316
16358
  return true;
@@ -16318,7 +16360,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
16318
16360
  }
16319
16361
  else if (types_1.ClassType.isBuiltIn(concreteSrcType, 'LiteralString') &&
16320
16362
  strClassType &&
16321
- (0, types_1.isInstantiableClass)(strClassType)) {
16363
+ (0, types_1.isInstantiableClass)(strClassType) &&
16364
+ (flags & 1 /* EnforceInvariance */) === 0) {
16322
16365
  concreteSrcType = types_1.ClassType.cloneAsInstance(strClassType);
16323
16366
  }
16324
16367
  if (!assignClass(types_1.ClassType.cloneAsInstantiable(destType), types_1.ClassType.cloneAsInstantiable(concreteSrcType), diag, destTypeVarContext, srcTypeVarContext, flags, recursionCount,
@@ -16570,7 +16613,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
16570
16613
  // If we have no src subtypes remaining but not all dest types have been subsumed
16571
16614
  // by other dest types, then the types are not compatible if we're enforcing invariance.
16572
16615
  if (remainingSrcSubtypes.length === 0) {
16573
- return remainingDestSubtypes.every((destSubtype) => isTypeSubsumedByOtherType(destSubtype, destType.subtypes,
16616
+ return remainingDestSubtypes.every((destSubtype) => isTypeSubsumedByOtherType(destSubtype, destType,
16574
16617
  /* allowAnyToSubsume */ true, recursionCount));
16575
16618
  }
16576
16619
  }
@@ -16627,7 +16670,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
16627
16670
  /* diag */ undefined, destTypeVarContext, srcTypeVarContext, flags, recursionCount)) {
16628
16671
  // Determine if the current subtype is subsumed by another subtype
16629
16672
  // in the same union. If so, we can ignore this.
16630
- const isSubtypeSubsumed = isTypeSubsumedByOtherType(subtype, srcType.subtypes,
16673
+ const isSubtypeSubsumed = isTypeSubsumedByOtherType(subtype, srcType,
16631
16674
  /* allowAnyToSubsume */ false, recursionCount);
16632
16675
  // Try again with a concrete version of the subtype.
16633
16676
  if (!isSubtypeSubsumed &&
@@ -16643,9 +16686,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
16643
16686
  return true;
16644
16687
  }
16645
16688
  // Determines whether a type is "subsumed by" (i.e. is a proper subtype of) one
16646
- // of the other types in a list.
16647
- function isTypeSubsumedByOtherType(type, otherTypes, allowAnyToSubsume, recursionCount = 0) {
16689
+ // of the other type.
16690
+ function isTypeSubsumedByOtherType(type, otherType, allowAnyToSubsume, recursionCount = 0) {
16648
16691
  const concreteType = makeTopLevelTypeVarsConcrete(type);
16692
+ const otherTypes = (0, types_1.isUnion)(otherType) ? otherType.subtypes : [otherType];
16649
16693
  for (const otherType of otherTypes) {
16650
16694
  if ((0, types_1.isTypeSame)(otherType, type)) {
16651
16695
  continue;
@@ -18402,7 +18446,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
18402
18446
  validateInitSubclassArgs,
18403
18447
  isAfterNodeReachable,
18404
18448
  isNodeReachable,
18405
- isAsymmetricDescriptorAssignment: isAsymmetricAccessorAssignment,
18449
+ isAsymmetricAccessorAssignment,
18406
18450
  suppressDiagnostics,
18407
18451
  getDeclarationsForStringNode,
18408
18452
  getDeclarationsForNameNode,
@@ -18414,8 +18458,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
18414
18458
  getGetterTypeFromProperty,
18415
18459
  getTypeOfArgument,
18416
18460
  markNamesAccessed,
18461
+ expandPromotionTypes,
18417
18462
  makeTopLevelTypeVarsConcrete,
18418
18463
  mapSubtypesExpandTypeVars,
18464
+ isTypeSubsumedByOtherType,
18419
18465
  lookUpSymbolRecursive,
18420
18466
  getDeclaredTypeOfSymbol,
18421
18467
  getEffectiveTypeOfSymbol,