@zzzen/pyright-internal 1.2.0-dev.20221211 → 1.2.0-dev.20221225
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/binder.js +3 -0
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +47 -31
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +24 -11
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +108 -22
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +2 -1
- package/dist/analyzer/declarationUtils.js +7 -4
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/program.js +1 -1
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +9 -0
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +1 -1
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/sourceFile.js +5 -2
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/testWalker.js +5 -0
- package/dist/analyzer/testWalker.js.map +1 -1
- package/dist/analyzer/typeCache.d.ts +1 -1
- package/dist/analyzer/typeEvaluator.js +132 -85
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typeUtils.d.ts +2 -3
- package/dist/analyzer/typeUtils.js +8 -10
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +9 -8
- package/dist/analyzer/typeVarContext.js +63 -25
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/types.d.ts +2 -0
- package/dist/analyzer/types.js +10 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/pathUtils.js +1 -1
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/languageService/completionProvider.js +9 -1
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +7 -1
- package/dist/localization/localize.js +4 -1
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +5 -2
- package/dist/parser/parseNodes.d.ts +1 -0
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +49 -21
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.js +20 -9
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/pyright.js +52 -12
- package/dist/pyright.js.map +1 -1
- package/dist/tests/checker.test.js +1 -1
- package/dist/tests/indentationUtils.ptvs.test.js +7 -3
- package/dist/tests/indentationUtils.ptvs.test.js.map +1 -1
- package/dist/tests/indentationUtils.test.js +4 -4
- package/dist/tests/parser.test.js +3 -3
- package/dist/tests/pathUtils.test.js +20 -5
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/tokenizer.test.js +2 -2
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +9 -1
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +30 -4
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +4 -0
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sourceFile.js","sourceRoot":"","sources":["../../../src/analyzer/sourceFile.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"sourceFile.js","sourceRoot":"","sources":["../../../src/analyzer/sourceFile.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;AASH,2FAAkG;AAClG,mDAA8C;AAE9C,6EAA+D;AAC/D,mEAAyE;AACzE,2DAAyG;AACzG,+CAAsE;AACtE,2CAAyC;AACzC,qDAA8F;AAC9F,+DAA2D;AAC3D,6DAAmF;AAGnF,qDAAkD;AAClD,iDAAgD;AAChD,mDAAwF;AACxF,2DAAgE;AAChE,mEAAqD;AACrD,mDAA+F;AAC/F,uEAAoE;AACpE,6CAAyD;AAGzD,8EAA+F;AAC/F,8EAA6F;AAC7F,4FAAyF;AACzF,sFAA+G;AAC/G,oEAA+E;AAC/E,kEAAqE;AACrE,8EAAgH;AAChH,oFAAuG;AACvG,uDAAqD;AACrD,qDAA4D;AAC5D,6CAAoF;AAIpF,qEAAuD;AACvD,qCAAkC;AAClC,uCAAoC;AAEpC,6DAA+C;AAG/C,yDAA4D;AAI5D,6CAA0C;AAG1C,6DAA6D;AAC7D,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAElC,qDAAqD;AACrD,iIAAiI;AACjI,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAQ5C,gEAAgE;AAChE,sCAAsC;AACtC,IAAY,WAQX;AARD,WAAY,WAAW;IACnB,4DAA4D;IAC5D,0DAA0D;IAC1D,6CAAQ,CAAA;IACR,qDAAqD;IACrD,uDAAS,CAAA;IACT,iCAAiC;IACjC,qDAAQ,CAAA;AACZ,CAAC,EARW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAQtB;AAED,MAAa,UAAU;IAkHnB,YACI,EAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,kBAA2B,EAC3B,0BAAmC,EACnC,OAA0B,EAC1B,UAAuB,EACvB,YAAqB,EACrB,WAAW,GAAG,WAAW,CAAC,IAAI;QArFlC,iDAAiD;QACzC,mBAAc,GAAG,KAAK,CAAC;QAE/B,wDAAwD;QACxD,eAAe;QACP,uBAAkB,GAAG,CAAC,CAAC;QAE/B,2DAA2D;QAC3D,+BAA+B;QACvB,yBAAoB,GAAG,CAAC,CAAC;QAEjC,mEAAmE;QAC3D,2BAAsB,GAAuB,SAAS,CAAC;QACvD,yBAAoB,GAAuB,SAAS,CAAC;QAM7D,oDAAoD;QAC5C,iCAA4B,GAAG,CAAC,CAAC,CAAC;QAE1C,8CAA8C;QAC9C,0CAA0C;QAClC,4BAAuB,GAAG,KAAK,CAAC;QAMxC,gCAAgC;QACxB,yBAAoB,GAAG,KAAK,CAAC;QAErC,6DAA6D;QACrD,sBAAiB,GAAiB,EAAE,CAAC;QACrC,qBAAgB,GAAiB,EAAE,CAAC;QACpC,wBAAmB,GAAiB,EAAE,CAAC;QACvC,qBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAEpD,wBAAmB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAE/D,sEAAsE;QACtE,qEAAqE;QACrE,sBAAsB;QACd,uBAAkB,GAAG,IAAA,yCAAyB,GAAE,CAAC;QAEzD,8DAA8D;QACtD,0BAAqB,GAAyB,EAAE,CAAC;QACjD,mCAA8B,GAAG,KAAK,CAAC;QAK/C,wCAAwC;QAChC,qBAAgB,GAAG,IAAI,CAAC;QAEhC,4DAA4D;QACpD,sBAAiB,GAAG,IAAI,CAAC;QAKjC,0CAA0C;QAClC,oBAAe,GAAG,IAAI,CAAC;QAE/B,oDAAoD;QAC5C,iBAAY,GAAG,WAAW,CAAC,IAAI,CAAC;QAqBpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,yBAAe,EAAE,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,QAAQ,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAC9C,IAAI,CAAC,2BAA2B,GAAG,0BAA0B,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,iBAAiB;YAClB,IAAI,CAAC,WAAW;gBAChB,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,mBAAmB,CAAC,CAAC,IAAI,QAAQ,KAAK,uBAAuB,CAAC,CAAC;QAC7G,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,WAAW,IAAI,QAAQ,KAAK,uBAAuB,CAAC;QAE5F,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,IAAI,CAAC,WAAW,EAAE;YAClB,IACI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,iCAAiC,CAAC,CAAC;gBAC5E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,4BAA4B,CAAC,CAAC;gBACvE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,0BAA0B,CAAC,CAAC;gBACrE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,qBAAqB,CAAC,CAAC;gBAChE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,kCAAkC,CAAC,CAAC;gBAC7E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,wBAAwB,CAAC,CAAC;gBACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,gBAAgB,CAAC,CAAC;gBAC3D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,iBAAiB,CAAC,CAAC;gBAC5D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,kBAAkB,CAAC,CAAC;gBAC7D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAA,4BAAgB,EAAC,kBAAkB,CAAC,CAAC,EAC/D;gBACE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAClC;SACJ;QAED,wCAAwC;QACxC,IAAI,CAAC,WAAW,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,IAAI,uBAAU,CAAC,OAAO,EAAE,6BAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrF,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,IAAY;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,0BAA0B;QACtB,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC5C,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,mCAAmC;IACnC,cAAc,CAAC,OAAsB,EAAE,qBAA8B;QACjE,IAAI,IAAI,CAAC,kBAAkB,KAAK,qBAAqB,EAAE;YACnD,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,wBAAwB,GAAG,IAAI,CAAC;QAEpC,6DAA6D;QAC7D,qDAAqD;QACrD,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC1B,wBAAwB,GAAG,KAAK,CAAC;SACpC;QAED,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClG,MAAM,mBAAmB,GAAG,QAAQ,CAAC;QACrC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5D,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAElE,wDAAwD;QACxD,IAAI,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,EAAE;YAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE;gBAChC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC7B,IACI,CAAC,CAAC,QAAQ,uBAAkC;wBAC5C,CAAC,CAAC,QAAQ,4BAAuC;wBACjD,CAAC,CAAC,QAAQ,uBAAkC,EAC9C;wBACE,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;4BAClE,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gCACjC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAClC,OAAO,KAAK,CAAC;6BAChB;yBACJ;qBACJ;oBAED,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC,CAAC;aACN;SACJ;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE;YACnC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC7B,IAAI,CAAC,CAAC,QAAQ,4BAAuC,IAAI,CAAC,CAAC,QAAQ,uBAAkC,EAAE;oBACnG,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;wBAClE,MAAM,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAChE,IAAI,oBAAoB,EAAE;4BACtB,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE;gCACjC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCACrC,OAAO,KAAK,CAAC;6BAChB;4BAED,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;4BAC7B,IAAI,CAAC,QAAQ,EAAE;gCACX,gDAAgD;gCAChD,wBAAwB;gCACxB,OAAO,IAAI,CAAC;6BACf;4BAED,qCAAqC;4BACrC,IAAI,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE;gCACvE,0DAA0D;gCAC1D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gCACnD,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,SAAS,EAAE;oCACrB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CACnC,CAAC;oCACF,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;wCAChC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;qCACxC;yCAAM;wCACH,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE;4CAC9B,KAAK,EAAE,QAAQ,CAAC,KAAK;4CACrB,SAAS,EAAE,iBAAiB;yCAC/B,CAAC,CAAC;qCACN;iCACJ;gCAED,OAAO,KAAK,CAAC;6BAChB;4BAED,OAAO,IAAI,CAAC;yBACf;qBACJ;iBACJ;gBAED,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;SACN;QAED,MAAM,0BAA0B,GAAiB,EAAE,CAAC;QAEpD,IAAI,IAAI,CAAC,kBAAkB,CAAC,kCAAkC,KAAK,MAAM,EAAE;YACvE,MAAM,YAAY,GAAG,IAAA,mCAAsB,EAAC,IAAI,CAAC,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;YAExG,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,MAAM,CACnD,CAAC,IAAI,EAAE,EAAE,CACL,IAAI,CAAC,QAAQ,kBAA6B;gBAC1C,IAAI,CAAC,QAAQ,oBAA+B;gBAC5C,IAAI,CAAC,QAAQ,wBAAmC,CACvD,CAAC;YAEF,MAAM,sBAAsB,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC5C,OAAO,mBAAmB,CAAC,IAAI,CAC3B,CAAC,IAAI,EAAE,EAAE,CACL,IAAI,CAAC,QAAQ,4BAAuC;oBACpD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI;oBACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAC5C,CAAC;YACN,CAAC,CAAC;YAEF,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACxE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;gBACnD,MAAM,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC/D,MAAM,KAAK,GAAG,IAAA,qCAAqB,EAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAc,CAAC,eAAe,CAAC,KAAM,CAAC,CAAC;gBAEtG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,EAAE;oBACpF,0BAA0B,CAAC,IAAI,CAC3B,IAAI,uBAAU,CAAC,YAAY,EAAE,oBAAS,CAAC,UAAU,CAAC,qBAAqB,EAAE,EAAE,KAAK,CAAC,CACpF,CAAC;iBACL;aACJ;YAED,oBAAoB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;;gBAC3C,IAAI,MAAA,IAAI,CAAC,aAAa,0CAAE,eAAe,CAAC,KAAK,EAAE;oBAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC7C,MAAM,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;oBACzD,MAAM,KAAK,GAAG,IAAA,qCAAqB,EAC/B,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,aAAc,CAAC,eAAe,CAAC,KAAM,CAC7C,CAAC;oBAEF,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,EAAE;wBACpF,0BAA0B,CAAC,IAAI,CAC3B,IAAI,uBAAU,CAAC,YAAY,EAAE,oBAAS,CAAC,UAAU,CAAC,qBAAqB,EAAE,EAAE,KAAK,CAAC,CACpF,CAAC;qBACL;iBACJ;YACL,CAAC,CAAC,CAAC;YAEH,uBAAuB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;;gBAC9C,IAAI,MAAA,IAAI,CAAC,aAAa,0CAAE,eAAe,CAAC,KAAK,EAAE;oBAC3C,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;wBAC1B,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;wBAC7C,MAAM,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;wBACzD,MAAM,KAAK,GAAG,IAAA,qCAAqB,EAC/B,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,aAAc,CAAC,eAAe,CAAC,KAAM,CAC7C,CAAC;wBAEF,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE;4BAChC,0BAA0B,CAAC,IAAI,CAC3B,IAAI,uBAAU,CAAC,YAAY,EAAE,oBAAS,CAAC,UAAU,CAAC,wBAAwB,EAAE,EAAE,KAAK,CAAC,CACvF,CAAC;yBACL;qBACJ;yBAAM;wBACH,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;4BAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;4BAC1C,MAAM,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC;4BACtD,MAAM,KAAK,GAAG,IAAA,qCAAqB,EAC/B,UAAU,EACV,QAAQ,EACR,IAAI,CAAC,aAAc,CAAC,eAAe,CAAC,KAAM,CAC7C,CAAC;4BAEF,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE;gCAChC,0BAA0B,CAAC,IAAI,CAC3B,IAAI,uBAAU,CACV,YAAY,EACZ,oBAAS,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC,MAAM,CAAC;oCACvD,IAAI,EAAE,UAAU,CAAC,IAAI;iCACxB,CAAC,EACF,KAAK,CACR,CACJ,CAAC;6BACL;wBACL,CAAC,CAAC,CAAC;qBACN;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,KAAK,MAAM,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YAChG,MAAM,QAAQ,GAAG,IAAA,mCAAsB,EAAC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;YAEpF,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1C,MAAM,IAAI,GAAG,IAAI,uBAAU,CACvB,QAAQ,EACR,oBAAS,CAAC,UAAU,CAAC,mBAAmB,EAAE;oBACtC,IAAI;oBACJ,MAAM;yBACD,QAAQ,EAAE;yBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;yBAC1B,IAAI,CAAC,IAAI,CAAC,EACnB,IAAA,yBAAa,GAAE,CAClB,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,gCAAc,CAAC,kBAAkB,CAAC,CAAC;gBAChD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;SACN;QAED,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE;YACvC,QAAQ,CAAC,IAAI,CACT,IAAI,uBAAU,gBAEV,oBAAS,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,EACrF,IAAA,yBAAa,GAAE,CAClB,CACJ,CAAC;SACL;QAED,gEAAgE;QAChE,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE;YACzF,QAAQ,GAAG,EAAE,CAAC;SACjB;QAED,qEAAqE;QACrE,0EAA0E;QAC1E,IAAI,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,EAAE;YAClD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;gBACnC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACtB,CAAC,IAAI,EAAE,EAAE,CACL,IAAI,CAAC,QAAQ,kBAA6B;oBAC1C,IAAI,CAAC,QAAQ,oBAA+B;oBAC5C,IAAI,CAAC,QAAQ,wBAAmC,CACvD,CAAC;aACL;SACJ;QAED,wDAAwD;QACxD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAEvD,4DAA4D;QAC5D,6DAA6D;QAC7D,8BAA8B;QAC9B,IAAI,CAAC,wBAAwB,EAAE;YAC3B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACtB,CAAC,IAAI,EAAE,EAAE,CACL,IAAI,CAAC,QAAQ,uBAAkC;gBAC/C,IAAI,CAAC,QAAQ,4BAAuC;gBACpD,IAAI,CAAC,QAAQ,uBAAkC,CACtD,CAAC;SACL;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,uBAAuB;QACnB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACnC,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,gEAAgE;IAChE,mCAAmC;IACnC,uBAAuB;QACnB,sDAAsD;QACtD,sDAAsD;QACtD,+CAA+C;QAC/C,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,OAAO,KAAK,CAAC;SAChB;QAED,wEAAwE;QACxE,IAAI,IAAI,CAAC,sBAAsB,KAAK,SAAS,EAAE;YAC3C,OAAO,KAAK,CAAC;SAChB;QAED,+DAA+D;QAC/D,iCAAiC;QACjC,IAAI;YACA,4BAA4B;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAE1E,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,EAAE;gBACrD,OAAO,IAAI,CAAC;aACf;YAED,IAAI,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,oBAAoB,EAAE;gBACpE,OAAO,IAAI,CAAC;aACf;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,yDAAyD;IACzD,8DAA8D;IAC9D,iCAAiC;IACjC,oBAAoB;QAChB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,cAAc,GAAG,IAAI;QAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,8BAA8B,GAAG,KAAK,CAAC;QAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;IACzC,CAAC;IAED,sBAAsB,CAAC,cAAuB;QAC1C,gEAAgE;QAChE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,6DAA6D;QAC7D,iEAAiE;QACjE,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IACI,IAAI,CAAC,aAAa,CAAC,sBAAsB;gBACzC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,SAAS;gBAC7E,cAAc,EAChB;gBACE,qDAAqD;gBACrD,oDAAoD;gBACpD,mCAAmC;gBACnC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;gBACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;aACvC;SACJ;IACL,CAAC;IAED,gBAAgB;;QACZ,OAAO,MAAA,IAAI,CAAC,eAAe,0CAAE,OAAO,CAAC;IACzC,CAAC;IAED,mBAAmB;;QACf,OAAO,MAAA,IAAI,CAAC,eAAe,0CAAE,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,cAAc;QACV,oDAAoD;QACpD,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnD,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,OAAO,eAAe,CAAC;SAC1B;QAED,2CAA2C;QAC3C,IAAI;YACA,uEAAuE;YACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,QAAQ,CAAC,IAAI,GAAG,kBAAkB,EAAE;gBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CACf,mBAAmB,IAAI,CAAC,SAAS,QAAQ,QAAQ,CAAC,IAAI,GAAG;oBACrD,oDAAoD,kBAAkB,EAAE,CAC/E,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aAC3C;YAED,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;SAC/D;QAAC,OAAO,KAAK,EAAE;YACZ,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED,gBAAgB,CAAC,OAAsB,EAAE,QAA0C;QAC/E,IAAI,OAAO,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SACpC;aAAM;YACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACvB,IAAI,CAAC,eAAe,GAAG,iDAAY,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;aACrF;YACD,IAAI,CAAC,eAAe,GAAG,iDAAY,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEpF,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YACpD,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAE1D,yCAAyC;YACzC,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,IAAI,YAAY,KAAK,IAAI,CAAC,oBAAoB,EAAE;gBACnG,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;YAED,IAAI,CAAC,sBAAsB,GAAG,YAAY,CAAC,MAAM,CAAC;YAClD,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC/B;IACL,CAAC;IAED,eAAe;QACX,2BAA2B;IAC/B,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,eAAe;QACX,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,4BAA4B,KAAK,IAAI,CAAC,oBAAoB,CAAC;IAClG,CAAC;IAED,iBAAiB;QACb,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC3B,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE;YACxB,OAAO,IAAI,CAAC;SACf;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,eAAe;QACX,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,aAAa,CAAC;SAC7B;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,qBAAqB;QACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAED,iBAAiB,CAAC,YAA0B;QACxC,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;IAC5C,CAAC;IAED,2DAA2D;IAC3D,gCAAgC;IAChC,qBAAqB,CAAC,cAAkC;QACpD,IAAI,qBAAqB,GAAG,KAAK,CAAC;QAElC,8EAA8E;QAC9E,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,uBAAuB,EAAE;YAC7D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE;gBACxE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAChD,qBAAqB,GAAG,IAAI,CAAC;aAChC;SACJ;QAED,IAAI,qBAAqB,EAAE;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC7B;IACL,CAAC;IAED,gCAAgC;QAC5B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;IAC/C,CAAC;IAED,+BAA+B;QAC3B,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,8BAA8B,CAAC;IAC1E,CAAC;IAED,oBAAoB,CAAC,cAAsB;QACvC,IAAI,CAAC,kBAAkB,GAAG,cAAc,CAAC;IAC7C,CAAC;IAED,0EAA0E;IAC1E,0EAA0E;IAC1E,0EAA0E;IAC1E,KAAK,CAAC,aAA4B,EAAE,cAA8B,EAAE,OAAgB;QAChF,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE;;YAC5F,8CAA8C;YAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE;gBACzB,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;aAChB;YAED,MAAM,QAAQ,GAAG,IAAI,+BAAc,EAAE,CAAC;YACtC,IAAI,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9C,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC5B,IAAI;oBACA,MAAM,SAAS,GAAG,oBAAW,CAAC,YAAY,CAAC,SAAS,CAAC;oBACrD,oBAAW,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE;wBACxC,4BAA4B;wBAC5B,YAAY,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,cAAc,EAAE,CAAC;wBAChD,IAAI,YAAY,KAAK,SAAS,EAAE;4BAC5B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;yBAC7C;wBAED,wDAAwD;wBACxD,IAAI,CAAC,sBAAsB,GAAG,YAAY,CAAC,MAAM,CAAC;wBAClD,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACrE,CAAC,CAAC,CAAC;oBACH,QAAQ,CAAC,GAAG,CAAC,WAAW,oBAAW,CAAC,YAAY,CAAC,SAAS,GAAG,SAAS,IAAI,CAAC,CAAC;iBAC/E;gBAAC,OAAO,KAAK,EAAE;oBACZ,QAAQ,CAAC,QAAQ,CAAC,+BAA+B,EAAE,IAAA,yBAAa,GAAE,CAAC,CAAC;oBACpE,YAAY,GAAG,EAAE,CAAC;oBAElB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;wBAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;qBAC9B;iBACJ;aACJ;YAED,sEAAsE;YACtE,qCAAqC;YACrC,MAAM,eAAe,GAAG,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE1E,MAAM,YAAY,GAAG,IAAI,qBAAY,EAAE,CAAC;YACxC,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;YAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAChC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC;aAClC;YACD,YAAY,CAAC,aAAa,GAAG,eAAe,CAAC,aAAa,CAAC;YAC3D,YAAY,CAAC,wBAAwB,GAAG,MAAA,aAAa,CAAC,mBAAmB,mCAAI,KAAK,CAAC;YAEnF,IAAI;gBACA,6DAA6D;gBAC7D,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC,YAAa,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;gBACnF,IAAA,cAAM,EAAC,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC;gBACjF,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;gBAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,eAAe,CAAC;gBAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,aAAa,CAAC;gBACvE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,kBAAkB,CAAC;gBAEjF,mBAAmB;gBACnB,oBAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,GAAG,EAAE;oBAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CACrC,cAAc,EACd,YAAY,CAAC,eAAe,EAC5B,eAAe,CAClB,CAAC;oBAEF,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC;oBACrC,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,oBAAoB,CAAC;oBACzD,IAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC,0BAA0B,CAAC;oBAErE,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;gBACtD,CAAC,CAAC,CAAC;gBAEH,mCAAmC;gBACnC,MAAM,SAAS,GACX,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC7F,SAAS,CAAC;gBAEd,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC,sBAAsB,CACzD,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,EACzC,aAAa,CAAC,iBAAiB,EAC/B,SAAS,CACZ,CAAC;aACL;YAAC,OAAO,CAAM,EAAE;gBACb,MAAM,OAAO,GACT,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC1C,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;oBACvD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CACf,oBAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAC1F,CAAC;gBAEF,8BAA8B;gBAC9B,IAAI,CAAC,aAAa,GAAG;oBACjB,IAAI,EAAE,EAAE;oBACR,SAAS,EAAE,uBAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;oBACrD,eAAe,EAAE,EAAE;oBACnB,aAAa,EAAE,IAAI,GAAG,EAAU;oBAChC,eAAe,EAAE;wBACb,MAAM,EAAE,IAAI,yCAAmB,CAAQ,EAAE,CAAC;wBAC1C,KAAK,EAAE,IAAI,yCAAmB,CAAY,EAAE,CAAC;wBAC7C,aAAa,EAAE,SAAS;wBACxB,eAAe,EAAE,IAAI,GAAG,EAAyB;wBACjD,kBAAkB,EAAE,IAAI,GAAG,EAAyB;wBACpD,4BAA4B,EAAE,IAAI;wBAClC,sBAAsB,EAAE,MAAM;wBAC9B,+BAA+B,EAAE,GAAG;qBACvC;oBACD,sBAAsB,EAAE,KAAK;oBAC7B,mBAAmB,EAAE,IAAI,GAAG,EAAkB;iBACjD,CAAC;gBACF,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;gBAC1B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;gBACjC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;gBAEvC,MAAM,QAAQ,GAAG,IAAI,+BAAc,EAAE,CAAC;gBACtC,QAAQ,CAAC,QAAQ,CACb,oBAAS,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EACvF,IAAA,yBAAa,GAAE,CAClB,CAAC;gBACF,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAElD,iEAAiE;gBACjE,mCAAmC;aACtC;YAED,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC9D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE1B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAqB,EAAE,KAAwB;QACjD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;YACvF,+DAA+D;YAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBACnD,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;aACpB;YAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAC7B,MAAM,OAAO,GAAG,+CAAsB,CAAC,YAAY,CAC/C,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAE,EAC3D,IAAI,CAAC,aAAa,EAClB,OAAO,EACP,KAAK,CACR,CAAC;YAEF,EAAE,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAElC,MAAM,IAAI,GAAG,IAAA,8BAAkB,EAAC,IAAA,uBAAW,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7D,MAAM,kBAAkB,GAAG,eAAe,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAC1E,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yBAAyB,CACrB,YAA0B,EAC1B,QAAkB,EAClB,MAAwB,EACxB,SAAwB,EACxB,KAAwB;QAExB,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,uCAAkB,CAAC,yBAAyB,CAC/C,YAAY,EACZ,IAAI,CAAC,aAAa,EAClB,QAAQ,EACR,MAAM,EACN,SAAS,EACT,KAAK,CACR,CAAC;IACN,CAAC;IAED,qBAAqB,CACjB,YAA0B,EAC1B,IAAc,EACd,SAAwB;QAExB,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,uCAAkB,CAAC,qBAAqB,CAAC,YAAY,EAAE,IAAI,EAAE,qCAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACzG,CAAC;IAED,6BAA6B,CACzB,YAA0B,EAC1B,QAAkB,EAClB,SAAwB,EACxB,QAAgB,EAChB,KAAwB;QAExB,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,uCAAkB,CAAC,6BAA6B,CACnD,YAAY,EACZ,IAAI,CAAC,aAAa,EAClB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,KAAK,CACR,CAAC;IACN,CAAC;IAED,qBAAqB,CACjB,YAA0B,EAC1B,IAAc,EACd,SAAwB,EACxB,QAAuC,EACvC,KAAwB;QAExB,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,uCAAkB,CAAC,qBAAqB,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpH,CAAC;IAED,yBAAyB,CACrB,YAA0B,EAC1B,QAAkB,EAClB,SAAwB,EACxB,QAAuC,EACvC,KAAwB;QAExB,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,uCAAkB,CAAC,yBAAyB,CAC/C,YAAY,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,KAAK,CACR,CAAC;IACN,CAAC;IAED,aAAa,CACT,gBAAkC,EAClC,kBAA2B,EAC3B,SAAwB,EACxB,KAAwB;QAExB,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO;SACV;QAED,uCAAkB,CAAC,aAAa,CAC5B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,KAAK,CACR,CAAC;IACN,CAAC;IAED,iCAAiC,CAAC,UAA4B,EAAE,KAAwB;QACpF,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAClD,OAAO;SACV;QAED,+CAAsB,CAAC,iCAAiC,CACpD,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAC3F,IAAI,CAAC,qBAAqB,EAAE,EAC5B,IAAI,CAAC,aAAa,EAClB,UAAU,EACV,KAAK,CACR,CAAC;IACN,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,KAAwB;QACzD,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAClD,OAAO,EAAE,CAAC;SACb;QAED,OAAO,+CAAsB,CAAC,qBAAqB,CAC/C,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,EAC3F,IAAI,CAAC,qBAAqB,EAAE,EAC5B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,KAAK,EACL,KAAK,CACR,CAAC;IACN,CAAC;IAED,mBAAmB,CACf,YAA0B,EAC1B,QAAkB,EAClB,MAAkB,EAClB,SAAwB,EACxB,KAAwB;QAExB,8DAA8D;QAC9D,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,6BAAa,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACnH,CAAC;IAED,oBAAoB,CAChB,YAA0B,EAC1B,QAAkB,EAClB,SAAwB,EACxB,KAAwB;QAExB,8DAA8D;QAC9D,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAC9C,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,qDAAyB,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1G,CAAC;IAED,2BAA2B,CACvB,QAAkB,EAClB,YAA0B,EAC1B,SAAwB,EACxB,MAAkB,EAClB,KAAwB;QAExB,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,6CAAqB,CAAC,2BAA2B,CACpD,IAAI,CAAC,aAAa,EAClB,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,MAAM,EACN,KAAK,CACR,CAAC;IACN,CAAC;IAED,yBAAyB,CACrB,QAAkB,EAClB,aAAqB,EACrB,aAA4B,EAC5B,cAA8B,EAC9B,YAA0B,EAC1B,SAAwB,EACxB,OAA0B,EAC1B,YAA0B,EAC1B,OAAoC,EACpC,UAAiD,EACjD,qBAA4C,EAC5C,KAAwB;QAExB,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO,SAAS,CAAC;SACpB;QAED,8DAA8D;QAC9D,wDAAwD;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC5B,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAC7C,aAAa,EACb,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,IAAI,CAAC,SAAS,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,EACP,YAAY,EACZ;YACI,OAAO;YACP,UAAU;YACV,mBAAmB,EAAE,qBAAqB;SAC7C,EACD,KAAK,CACR,CAAC;QAEF,OAAO,kBAAkB,CAAC,yBAAyB,EAAE,CAAC;IAC1D,CAAC;IAED,qBAAqB,CACjB,aAA4B,EAC5B,cAA8B,EAC9B,YAA0B,EAC1B,SAAwB,EACxB,OAA0B,EAC1B,YAA0B,EAC1B,OAAoC,EACpC,UAAiD,EACjD,qBAA4C,EAC5C,cAA8B,EAC9B,KAAwB;QAExB,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,YAAY,KAAK,SAAS,EAAE;YACnD,OAAO;SACV;QAED,MAAM,cAAc,GAAG,IAAA,qBAAU,EAAqB,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,kBAAkB,GAAG,IAAI,uCAAkB,CAC7C,cAAc,CAAC,aAAa,EAC5B,IAAI,CAAC,aAAa,EAClB,YAAY,EACZ,cAAc,EACd,cAAc,CAAC,QAAQ,EACvB,IAAI,CAAC,SAAS,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,OAAO,EACP,YAAY,EACZ;YACI,OAAO;YACP,UAAU;YACV,mBAAmB,EAAE,qBAAqB;SAC7C,EACD,KAAK,CACR,CAAC;QAEF,kBAAkB,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB,CAAC,OAAe,EAAE,IAAW,EAAE,KAAwB;QACrE,+DAA+D;QAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACrB,OAAO,SAAS,CAAC;SACpB;QAED,8DAA8D;QAC9D,wDAAwD;QACxD,IAAI,IAAI,CAAC,gBAAgB,EAAE,KAAK,SAAS,EAAE;YACvC,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAA,iCAAkB,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,CACA,aAA4B,EAC5B,YAA0B,EAC1B,aAAgC,EAChC,aAA0B;QAE1B,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,4BAA4B,CAAC,CAAC;QAC9D,IAAA,cAAM,EAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,2BAA2B,CAAC,CAAC;QAC9D,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,uCAAuC,CAAC,CAAC;QAC5E,IAAA,cAAM,EAAC,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,6BAA6B,CAAC,CAAC;QAExE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE;YACpF,IAAI;gBACA,wBAAwB;gBACxB,oBAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE;oBACpC,IAAI,CAAC,yBAAyB,EAAE,CAAC;oBAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAChC,aAAa,EACb,IAAI,CAAC,aAAc,CAAC,IAAI,EACxB,YAAY,EACZ,aAAa,EACb,aAAa,CAChB,CAAC;oBACF,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;oBAEtE,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;oBACvE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;oBACjC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,aAAc,CAAC,SAAS,CAAC,CAAC;oBAEjD,qEAAqE;oBACrE,0EAA0E;oBAC1E,IAAI,aAAa,CAAC,gBAAgB,EAAE;wBAChC,MAAM,UAAU,GAAG,IAAI,uBAAU,EAAE,CAAC;wBACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,aAAc,CAAC,SAAS,CAAC,CAAC;qBAClD;oBAED,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;oBAChE,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAc,CAAC,SAAS,CAAC,CAAC;oBAC7E,IAAA,cAAM,EAAC,WAAW,KAAK,SAAS,EAAE,qCAAqC,CAAC,CAAC;oBACzE,IAAI,CAAC,kBAAkB,GAAG,WAAY,CAAC,WAAW,CAAC;gBACvD,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,CAAM,EAAE;gBACb,MAAM,OAAO,GACT,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC1C,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;oBACvD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CACf,oBAAS,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CACzF,CAAC;gBAEF,MAAM,QAAQ,GAAG,IAAI,+BAAc,EAAE,CAAC;gBACtC,QAAQ,CAAC,QAAQ,CACb,oBAAS,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EACtF,IAAA,yBAAa,GAAE,CAClB,CAAC;gBACF,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAEjD,iEAAiE;gBACjE,mCAAmC;aACtC;oBAAS;gBACN,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACrC;YAED,8CAA8C;YAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAClC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CACD,cAA8B,EAC9B,SAAwB,EACxB,OAA6B,EAC7B,YAA0B,EAC1B,UAAkC;QAElC,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,6BAA6B,CAAC,CAAC;QAC/D,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,6BAA6B,CAAC,CAAC;QACjE,IAAA,cAAM,EAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,wCAAwC,CAAC,CAAC;QAC7E,IAAA,cAAM,EAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,4BAA4B,CAAC,CAAC;QAChE,IAAA,cAAM,EAAC,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,6BAA6B,CAAC,CAAC;QAExE,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE;YACrF,IAAI;gBACA,oBAAW,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,EAAE;oBAC3C,MAAM,aAAa,GAAG,IAAI,iBAAQ,EAAE,CAAC;oBACrC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,aAAc,EAAE,YAAY,CAAC,CAAC;oBAC1F,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAE/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAc,CAAC,SAAS,CAAE,CAAC;oBAC9E,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;oBACnE,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,yBAAyB,EAAE,CAAC;gBAChE,CAAC,CAAC,CAAC;aACN;YAAC,OAAO,CAAM,EAAE;gBACb,MAAM,cAAc,GAAG,8CAA0B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAI,CAAC,cAAc,EAAE;oBACjB,MAAM,OAAO,GACT,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC1C,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;wBACvD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CACf,oBAAS,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CACjG,CAAC;oBACF,MAAM,QAAQ,GAAG,IAAI,+BAAc,EAAE,CAAC;oBACtC,QAAQ,CAAC,QAAQ,CACb,oBAAS,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EAC9F,IAAA,yBAAa,GAAE,CAClB,CAAC;oBAEF,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;oBAEpD,mEAAmE;oBACnE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;iBAClC;gBAED,MAAM,CAAC,CAAC;aACX;oBAAS;gBACN,6DAA6D;gBAC7D,8DAA8D;gBAC9D,qDAAqD;gBACrD,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;gBAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC7B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB,CAAC,MAAe;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IACzE,CAAC;IAEO,cAAc,CAClB,aAA4B,EAC5B,YAAoB,EACpB,YAA0B,EAC1B,aAAgC,EAChC,aAA0B;QAE1B,IAAA,cAAM,EAAC,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,6BAA6B,CAAC,CAAC;QACxE,MAAM,mBAAmB,GAAG,IAAI,wCAAuB,CAAC,IAAI,CAAC,aAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAEnG,MAAM,QAAQ,GAAqB;YAC/B,YAAY;YACZ,aAAa;YACb,aAAa;YACb,cAAc,EAAE,mBAAmB;YACnC,oBAAoB,EAAE,aAAa,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;YACvE,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,YAAY;YACZ,KAAK,EAAE,IAAI,CAAC,aAAc,CAAC,eAAe,CAAC,KAAK;YAChD,mBAAmB,EAAE,IAAI,CAAC,aAAc,CAAC,mBAAmB;YAC5D,gBAAgB,EAAE,aAAa,CAAC,cAAc;YAC9C,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;YACxC,0BAA0B,EAAE,IAAI,CAAC,2BAA2B;YAC5D,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,kBAAkB,EAAE,IAAI,CAAC,2BAA2B;YACpD,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,iBAAiB,EAAE,IAAI,GAAG,EAAU;SACvC,CAAC;QACF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,yBAAyB;QAC7B,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBAC9B,MAAM,aAAa,GAAG,IAAI,yCAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC/E,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;aACxC;SACJ;IACL,CAAC;IAEO,eAAe,CACnB,cAA8B,EAC9B,aAA6B,EAC7B,OAA6B;QAE7B,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,MAAM,sBAAsB,GAAG,CAAC,SAAmB,EAAE,iBAAiB,GAAG,KAAK,EAAE,EAAE;YAC9E,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE;gBACvE,WAAW,EAAE,CAAC;gBACd,SAAS;gBACT,eAAe,EAAE,SAAS;aAC7B,CAAC,CAAC;YAEH,IAAI,iBAAiB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;gBAClD,OAAO,SAAS,CAAC;aACpB;YAED,sDAAsD;YACtD,IAAI,YAAY,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE;gBAC7F,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC3B,OAAO,YAAY,CAAC;aACvB;YAED,OAAO,SAAS,CAAC;QACrB,CAAC,CAAC;QAEF,4DAA4D;QAC5D,IAAI,oBAA8C,CAAC;QAEnD,gEAAgE;QAChE,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAChD,oBAAoB,GAAG,sBAAsB,CAAC,CAAC,cAAc,CAAC,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;SACjG;QAED,IAAI,CAAC,oBAAoB,EAAE;YACvB,oBAAoB,GAAG,sBAAsB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;SAC/D;QAED,MAAM,0BAA0B,GAAG,IAAI,CAAC,YAAY;YAChD,CAAC,CAAC,sBAAsB,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QAEhB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;YACtC,MAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE;gBACvE,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,eAAe,EAAE,YAAY,CAAC,eAAe;aAChD,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAE3B,sDAAsD;YACtD,wDAAwD;YACxD,sCAAsC;YACtC,gBAAgB,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;SACvE;QAED,OAAO;YACH,OAAO;YACP,oBAAoB;YACpB,0BAA0B;SAC7B,CAAC;IACN,CAAC;IAEO,kBAAkB,CAAC,QAAgB;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;YAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;SACxD;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAl3CD,gCAk3CC"}
|
@@ -44,6 +44,11 @@ class TestWalker extends parseTreeWalker_1.ParseTreeWalker {
|
|
44
44
|
if (child === node.typeAnnotationComment) {
|
45
45
|
skipCheck = true;
|
46
46
|
}
|
47
|
+
// Portions of chained assignments can occur outside of an
|
48
|
+
// assignment node's range.
|
49
|
+
if (child.nodeType === 3 /* Assignment */) {
|
50
|
+
skipCheck = true;
|
51
|
+
}
|
47
52
|
}
|
48
53
|
if (node.nodeType === 48 /* StringList */) {
|
49
54
|
if (child === node.typeAnnotation) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"testWalker.js","sourceRoot":"","sources":["../../../src/analyzer/testWalker.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iEAA8D;AAC9D,2CAAuC;AACvC,mDAAgD;AAIhD,MAAa,UAAW,SAAQ,iCAAe;IAC3C;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAEQ,SAAS,CAAC,IAAe;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAExC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,4DAA4D;IACpD,uBAAuB,CAAC,IAAe,EAAE,QAAwB;QACrE,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,KAAK,EAAE;gBACP,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE;oBACvB,IAAA,YAAI,EACA,cAAc,KAAK,CAAC,QAAQ,YAAY,GAAG,qCAAqC,IAAI,CAAC,QAAQ,EAAE,CAClG,CAAC;iBACL;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe;IACf,oDAAoD;IACpD,4CAA4C;IAC5C,+CAA+C;IACvC,kBAAkB,CAAC,IAAe,EAAE,QAAwB;QAChE,IAAI,QAA+B,CAAC;QAEpC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,KAAK,EAAE;gBACP,IAAI,SAAS,GAAG,KAAK,CAAC;gBAEtB,gEAAgE;gBAChE,+DAA+D;gBAC/D,IAAI,IAAI,CAAC,QAAQ,uBAA6B,EAAE;oBAC5C,IAAI,KAAK,KAAK,IAAI,CAAC,qBAAqB,EAAE;wBACtC,SAAS,GAAG,IAAI,CAAC;qBACpB;iBACJ;gBAED,IAAI,IAAI,CAAC,QAAQ,wBAA6B,EAAE;oBAC5C,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,EAAE;wBAC/B,SAAS,GAAG,IAAI,CAAC;qBACpB;iBACJ;gBAED,IAAI,CAAC,SAAS,EAAE;oBACZ,sDAAsD;oBACtD,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,qBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,qBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;wBAC9E,IAAA,YAAI,EAAC,cAAc,KAAK,CAAC,QAAQ,uCAAuC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC5F;oBACD,IAAI,QAAQ,EAAE;wBACV,mDAAmD;wBACnD,IAAI,KAAK,CAAC,KAAK,GAAG,qBAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;4BAC1C,yEAAyE;4BACzE,IAAI,QAAQ,CAAC,QAAQ,gCAAqC,EAAE;gCACxD,IAAA,YAAI,EAAC,6CAA6C,CAAC,CAAC;6BACvD;yBACJ;qBACJ;oBAED,QAAQ,GAAG,KAAK,CAAC;iBACpB;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;
|
1
|
+
{"version":3,"file":"testWalker.js","sourceRoot":"","sources":["../../../src/analyzer/testWalker.ts"],"names":[],"mappings":"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"}
|
@@ -3,7 +3,7 @@ import { Type } from './types';
|
|
3
3
|
export declare type TypeCache = Map<number, CachedType | undefined>;
|
4
4
|
export declare type CachedType = Type | IncompleteType;
|
5
5
|
export interface IncompleteSubtypeInfo {
|
6
|
-
type: Type
|
6
|
+
type: Type;
|
7
7
|
isIncomplete: boolean;
|
8
8
|
isPending: boolean;
|
9
9
|
evaluationCount: number;
|
@@ -918,24 +918,20 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
918
918
|
return typeResult;
|
919
919
|
}
|
920
920
|
function stripLiteralValue(type) {
|
921
|
-
|
922
|
-
if (
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
921
|
+
return (0, typeUtils_1.mapSubtypes)(type, (subtype) => {
|
922
|
+
if ((0, types_1.isClass)(subtype)) {
|
923
|
+
if (subtype.literalValue !== undefined) {
|
924
|
+
return types_1.ClassType.cloneWithLiteral(subtype, /* value */ undefined);
|
925
|
+
}
|
926
|
+
if (types_1.ClassType.isBuiltIn(subtype, 'LiteralString')) {
|
927
|
+
// Handle "LiteralString" specially.
|
928
|
+
if (strClassType && (0, types_1.isInstantiableClass)(strClassType)) {
|
929
|
+
return types_1.ClassType.cloneAsInstance(strClassType);
|
930
|
+
}
|
929
931
|
}
|
930
932
|
}
|
931
|
-
return
|
932
|
-
}
|
933
|
-
if ((0, types_1.isUnion)(type)) {
|
934
|
-
return (0, typeUtils_1.mapSubtypes)(type, (subtype) => {
|
935
|
-
return stripLiteralValue(subtype);
|
936
|
-
});
|
937
|
-
}
|
938
|
-
return type;
|
933
|
+
return subtype;
|
934
|
+
});
|
939
935
|
}
|
940
936
|
function getTypeOfParameterAnnotation(paramTypeNode, paramCategory) {
|
941
937
|
return getTypeOfAnnotation(paramTypeNode, {
|
@@ -4518,14 +4514,14 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4518
4514
|
}
|
4519
4515
|
return typeResult.type;
|
4520
4516
|
}
|
4521
|
-
if ((0, types_1.isNever)(concreteSubtype)) {
|
4522
|
-
return types_1.
|
4517
|
+
if ((0, types_1.isNever)(concreteSubtype) || (0, types_1.isUnbound)(concreteSubtype)) {
|
4518
|
+
return types_1.NeverType.createNever();
|
4523
4519
|
}
|
4524
4520
|
if ((0, types_1.isNoneInstance)(concreteSubtype) && !isIncomplete) {
|
4525
4521
|
addDiagnostic(AnalyzerNodeInfo.getFileInfo(node).diagnosticRuleSet.reportOptionalSubscript, diagnosticRules_1.DiagnosticRule.reportOptionalSubscript, localize_1.Localizer.Diagnostic.noneNotSubscriptable(), node.baseExpression);
|
4526
4522
|
return types_1.UnknownType.create();
|
4527
4523
|
}
|
4528
|
-
if (!
|
4524
|
+
if (!isIncomplete) {
|
4529
4525
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
|
4530
4526
|
addDiagnostic(fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.typeNotSubscriptable().format({ type: printType(concreteSubtype) }), node.baseExpression);
|
4531
4527
|
}
|
@@ -5382,6 +5378,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
5382
5378
|
let matchedOverload;
|
5383
5379
|
const argTypeOverride = expandedArgTypes[expandedTypesIndex];
|
5384
5380
|
const hasArgTypeOverride = argTypeOverride.some((a) => a !== undefined);
|
5381
|
+
const possibleMatchResults = [];
|
5382
|
+
let isDefinitiveMatchFound = false;
|
5385
5383
|
for (let overloadIndex = 0; overloadIndex < argParamMatches.length; overloadIndex++) {
|
5386
5384
|
const overload = argParamMatches[overloadIndex].overload;
|
5387
5385
|
let matchResults = argParamMatches[overloadIndex];
|
@@ -5421,10 +5419,44 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
5421
5419
|
matchResults,
|
5422
5420
|
typeVarContext: effectiveTypeVarContext,
|
5423
5421
|
});
|
5424
|
-
|
5425
|
-
|
5422
|
+
if (callResult.isArgumentAnyOrUnknown) {
|
5423
|
+
possibleMatchResults.push(callResult.returnType);
|
5424
|
+
}
|
5425
|
+
else {
|
5426
|
+
returnTypes.push(callResult.returnType);
|
5427
|
+
isDefinitiveMatchFound = true;
|
5428
|
+
break;
|
5429
|
+
}
|
5426
5430
|
}
|
5427
5431
|
}
|
5432
|
+
// If we didn't find a definitive match that doesn't depend on
|
5433
|
+
// an Any or Unknown argument, fall back on the possible match.
|
5434
|
+
// If there were multiple possible matches, evaluate the type as
|
5435
|
+
// Unknown, but include the "possible types" to allow for completion
|
5436
|
+
// suggestions.
|
5437
|
+
if (!isDefinitiveMatchFound) {
|
5438
|
+
// Eliminate any return types that are subsumed by other return types.
|
5439
|
+
let dedupedMatchResults = [];
|
5440
|
+
possibleMatchResults.forEach((subtype) => {
|
5441
|
+
let isSubtypeSubsumed = false;
|
5442
|
+
for (let dedupedIndex = 0; dedupedIndex < dedupedMatchResults.length; dedupedIndex++) {
|
5443
|
+
if (assignType(dedupedMatchResults[dedupedIndex], subtype)) {
|
5444
|
+
isSubtypeSubsumed = true;
|
5445
|
+
break;
|
5446
|
+
}
|
5447
|
+
else if (assignType(subtype, dedupedMatchResults[dedupedIndex])) {
|
5448
|
+
dedupedMatchResults[dedupedIndex] = types_1.NeverType.createNever();
|
5449
|
+
break;
|
5450
|
+
}
|
5451
|
+
}
|
5452
|
+
if (!isSubtypeSubsumed) {
|
5453
|
+
dedupedMatchResults.push(subtype);
|
5454
|
+
}
|
5455
|
+
});
|
5456
|
+
dedupedMatchResults = dedupedMatchResults.filter((t) => !(0, types_1.isNever)(t));
|
5457
|
+
const combinedTypes = (0, types_1.combineTypes)(dedupedMatchResults);
|
5458
|
+
returnTypes.push(dedupedMatchResults.length > 1 ? types_1.UnknownType.createPossibleType(combinedTypes) : combinedTypes);
|
5459
|
+
}
|
5428
5460
|
if (!matchedOverload) {
|
5429
5461
|
return { argumentErrors: true, isTypeIncomplete };
|
5430
5462
|
}
|
@@ -5447,6 +5479,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
5447
5479
|
}
|
5448
5480
|
return {
|
5449
5481
|
argumentErrors: false,
|
5482
|
+
isArgumentAnyOrUnknown: finalCallResult.isArgumentAnyOrUnknown,
|
5450
5483
|
returnType: (0, types_1.combineTypes)(returnTypes),
|
5451
5484
|
isTypeIncomplete,
|
5452
5485
|
specializedInitSelfType: finalCallResult.specializedInitSelfType,
|
@@ -7081,7 +7114,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
7081
7114
|
}
|
7082
7115
|
const effectiveReturnType = getFunctionEffectiveReturnType(type);
|
7083
7116
|
let effectiveExpectedType = expectedType;
|
7084
|
-
let effectiveFlags =
|
7117
|
+
let effectiveFlags = 0 /* Default */;
|
7085
7118
|
if ((0, typeUtils_1.containsLiteralType)(effectiveExpectedType, /* includeTypeArgs */ true)) {
|
7086
7119
|
effectiveFlags |= 128 /* RetainLiteralsForTypeVar */;
|
7087
7120
|
}
|
@@ -7104,9 +7137,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
7104
7137
|
if (effectiveExpectedType) {
|
7105
7138
|
// Prepopulate the typeVarContext based on the specialized expected type if the
|
7106
7139
|
// callee has a declared return type. This will allow us to more closely match
|
7107
|
-
// the expected type if possible.
|
7108
|
-
// SkipStripLiteralForTypeVar flags so the type can be further narrowed
|
7109
|
-
// and so literals are not stripped.
|
7140
|
+
// the expected type if possible.
|
7110
7141
|
// If the return type is not the same as the expected type but is
|
7111
7142
|
// assignable to the expected type, determine which type arguments
|
7112
7143
|
// are needed to match the expected type.
|
@@ -7131,6 +7162,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
7131
7162
|
let isTypeIncomplete = matchResults.isTypeIncomplete;
|
7132
7163
|
let argumentErrors = false;
|
7133
7164
|
let specializedInitSelfType;
|
7165
|
+
let isArgumentAnyOrUnknown = false;
|
7134
7166
|
const typeCondition = (0, typeUtils_1.getTypeCondition)(type);
|
7135
7167
|
if (type.boundTypeVarScopeId) {
|
7136
7168
|
// If the function was bound to a class or object and was a constructor, a
|
@@ -7234,6 +7266,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
7234
7266
|
if (argResult.condition) {
|
7235
7267
|
condition = (_a = types_1.TypeCondition.combine(condition, argResult.condition)) !== null && _a !== void 0 ? _a : [];
|
7236
7268
|
}
|
7269
|
+
if ((0, types_1.isAnyOrUnknown)(argResult.argType)) {
|
7270
|
+
isArgumentAnyOrUnknown = true;
|
7271
|
+
}
|
7237
7272
|
if (type.details.paramSpec) {
|
7238
7273
|
if (argParam.argument.argumentCategory === 1 /* UnpackedList */) {
|
7239
7274
|
if ((0, types_1.isParamSpec)(argResult.argType) && argResult.argType.paramSpecAccess === 'args') {
|
@@ -7329,6 +7364,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
7329
7364
|
}
|
7330
7365
|
return {
|
7331
7366
|
argumentErrors,
|
7367
|
+
isArgumentAnyOrUnknown,
|
7332
7368
|
returnType: specializedReturnType,
|
7333
7369
|
isTypeIncomplete,
|
7334
7370
|
activeParam: matchResults.activeParam,
|
@@ -7371,16 +7407,14 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
7371
7407
|
}
|
7372
7408
|
// Determines whether the specified argument list satisfies the function
|
7373
7409
|
// signature bound to the specified ParamSpec. Return value indicates success.
|
7374
|
-
function validateFunctionArgumentsForParamSpec(errorNode, argList, paramSpec,
|
7410
|
+
function validateFunctionArgumentsForParamSpec(errorNode, argList, paramSpec, destTypeVarContext, conditionFilter) {
|
7375
7411
|
var _a;
|
7376
|
-
const paramSpecValue =
|
7412
|
+
const paramSpecValue = destTypeVarContext.getParamSpec(paramSpec);
|
7413
|
+
const srcTypeVarContext = new typeVarContext_1.TypeVarContext(paramSpecValue === null || paramSpecValue === void 0 ? void 0 : paramSpecValue.typeVarScopeId);
|
7377
7414
|
if (!paramSpecValue) {
|
7378
7415
|
addDiagnostic(AnalyzerNodeInfo.getFileInfo(errorNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.paramSpecNotBound().format({ type: printType(paramSpec) }), ((_a = argList[0]) === null || _a === void 0 ? void 0 : _a.valueExpression) || errorNode);
|
7379
7416
|
return false;
|
7380
7417
|
}
|
7381
|
-
// If the ParamSpec was bound to a generic function, some TypeVars may
|
7382
|
-
// not yet be solved. Add the TypeVar scope for the bound function.
|
7383
|
-
typeVarContext.addSolveForScope(paramSpecValue.typeVarScopeId);
|
7384
7418
|
let reportedArgError = false;
|
7385
7419
|
// Build a map of all named parameters.
|
7386
7420
|
const paramMap = new Map();
|
@@ -7443,7 +7477,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
7443
7477
|
requiresTypeVarMatching: false,
|
7444
7478
|
argument: arg,
|
7445
7479
|
errorNode: arg.valueExpression || errorNode,
|
7446
|
-
},
|
7480
|
+
}, srcTypeVarContext,
|
7447
7481
|
/* functionType */ undefined,
|
7448
7482
|
/* skipUnknownArgCheck */ false,
|
7449
7483
|
/* skipOverloadArg */ false,
|
@@ -7473,6 +7507,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
7473
7507
|
reportedArgError = true;
|
7474
7508
|
}
|
7475
7509
|
}
|
7510
|
+
if (!reportedArgError) {
|
7511
|
+
destTypeVarContext.applySourceContextTypeVars(srcTypeVarContext);
|
7512
|
+
}
|
7476
7513
|
return !reportedArgError;
|
7477
7514
|
}
|
7478
7515
|
function validateArgType(argParam, typeVarContext, functionType, skipUnknownCheck, skipOverloadArg, useNarrowBoundOnly, conditionFilter) {
|
@@ -8269,6 +8306,35 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
8269
8306
|
if ((0, types_1.isUnion)(newUnion)) {
|
8270
8307
|
types_1.TypeBase.setSpecialForm(newUnion);
|
8271
8308
|
}
|
8309
|
+
// Check for "stringified" forward reference type expressions. The "|" operator
|
8310
|
+
// doesn't support these except in certain circumstances. Notably, it can't be used
|
8311
|
+
// with other strings or with types that are not specialized using an index form.
|
8312
|
+
if (!fileInfo.isStubFile) {
|
8313
|
+
let stringNode;
|
8314
|
+
let otherNode;
|
8315
|
+
let otherType;
|
8316
|
+
if (leftExpression.nodeType === 48 /* StringList */) {
|
8317
|
+
stringNode = leftExpression;
|
8318
|
+
otherNode = rightExpression;
|
8319
|
+
otherType = rightType;
|
8320
|
+
}
|
8321
|
+
else if (rightExpression.nodeType === 48 /* StringList */) {
|
8322
|
+
stringNode = rightExpression;
|
8323
|
+
otherNode = leftExpression;
|
8324
|
+
otherType = leftType;
|
8325
|
+
}
|
8326
|
+
if (stringNode && otherNode && otherType) {
|
8327
|
+
let isAllowed = true;
|
8328
|
+
if ((0, types_1.isClass)(otherType)) {
|
8329
|
+
if (!otherType.isTypeArgumentExplicit || (0, types_1.isClassInstance)(otherType)) {
|
8330
|
+
isAllowed = false;
|
8331
|
+
}
|
8332
|
+
}
|
8333
|
+
if (!isAllowed) {
|
8334
|
+
addDiagnostic(fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.unionForwardReferenceNotAllowed(), stringNode);
|
8335
|
+
}
|
8336
|
+
}
|
8337
|
+
}
|
8272
8338
|
return { type: newUnion };
|
8273
8339
|
}
|
8274
8340
|
}
|
@@ -9225,7 +9291,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
9225
9291
|
// type explicitly includes literals.
|
9226
9292
|
let typeVarContext = new typeVarContext_1.TypeVarContext(targetTypeVar.scopeId);
|
9227
9293
|
if (useSynthesizedTypeVar) {
|
9228
|
-
typeVarContext.setTypeVarType(targetTypeVar, isNarrowable ? undefined : expectedType,
|
9294
|
+
typeVarContext.setTypeVarType(targetTypeVar, isNarrowable ? undefined : expectedType,
|
9295
|
+
/* narrowBoundNoLiterals */ undefined, expectedType);
|
9229
9296
|
}
|
9230
9297
|
if (entryTypes.every((entryType) => assignType(targetTypeVar, stripLiteralValue(entryType), /* diag */ undefined, typeVarContext))) {
|
9231
9298
|
return (0, typeUtils_1.applySolvedTypeVars)(targetTypeVar, typeVarContext);
|
@@ -9233,8 +9300,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
9233
9300
|
// Allocate a fresh typeVarContext before we try again with literals not stripped.
|
9234
9301
|
typeVarContext = new typeVarContext_1.TypeVarContext(targetTypeVar.scopeId);
|
9235
9302
|
if (useSynthesizedTypeVar) {
|
9236
|
-
typeVarContext.setTypeVarType(targetTypeVar, isNarrowable ? undefined : expectedType,
|
9237
|
-
/*
|
9303
|
+
typeVarContext.setTypeVarType(targetTypeVar, isNarrowable ? undefined : expectedType,
|
9304
|
+
/* narrowBoundNoLiterals */ undefined, expectedType);
|
9238
9305
|
}
|
9239
9306
|
if (entryTypes.every((entryType) => assignType(targetTypeVar, entryType, /* diag */ undefined, typeVarContext))) {
|
9240
9307
|
return (0, typeUtils_1.applySolvedTypeVars)(targetTypeVar, typeVarContext);
|
@@ -10539,6 +10606,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
10539
10606
|
let isSpeculativeTypeAlias = false;
|
10540
10607
|
if (isDeclaredTypeAlias(node.leftExpression)) {
|
10541
10608
|
typeAliasNameNode = node.leftExpression.valueExpression;
|
10609
|
+
if (!(0, declarationUtils_1.isLegalTypeAliasExpressionForm)(node.rightExpression)) {
|
10610
|
+
addDiagnostic(fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.typeAliasIllegalExpressionForm(), node.rightExpression);
|
10611
|
+
}
|
10542
10612
|
}
|
10543
10613
|
else if (node.leftExpression.nodeType === 38 /* Name */) {
|
10544
10614
|
const symbolWithScope = lookUpSymbolRecursive(node.leftExpression, node.leftExpression.value,
|
@@ -10697,6 +10767,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
10697
10767
|
typeParameters = evaluateTypeParameterList(node.typeParameters);
|
10698
10768
|
typeAliasTypeVar.details.recursiveTypeParameters = typeParameters;
|
10699
10769
|
}
|
10770
|
+
if (!(0, declarationUtils_1.isLegalTypeAliasExpressionForm)(node.expression)) {
|
10771
|
+
addDiagnostic(AnalyzerNodeInfo.getFileInfo(node).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.typeAliasIllegalExpressionForm(), node.expression);
|
10772
|
+
}
|
10700
10773
|
const aliasTypeResult = getTypeOfExpressionExpectingType(node.expression);
|
10701
10774
|
let isIncomplete = false;
|
10702
10775
|
let aliasType = aliasTypeResult.type;
|
@@ -15167,7 +15240,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15167
15240
|
const removedArgs = srcTypeArgs.splice(destVariadicIndex, srcArgsToCapture);
|
15168
15241
|
// Package up the remaining type arguments into a tuple object.
|
15169
15242
|
const variadicTuple = (0, typeUtils_1.convertToInstance)((0, typeUtils_1.specializeTupleClass)(tupleClassType, removedArgs.map((typeArg) => {
|
15170
|
-
return { type:
|
15243
|
+
return { type: typeArg.type, isUnbounded: typeArg.isUnbounded };
|
15171
15244
|
}),
|
15172
15245
|
/* isTypeArgumentExplicit */ true,
|
15173
15246
|
/* isUnpackedTuple */ true));
|
@@ -15195,7 +15268,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15195
15268
|
for (let argIndex = 0; argIndex < srcTypeArgs.length; argIndex++) {
|
15196
15269
|
const entryDiag = diag === null || diag === void 0 ? void 0 : diag.createAddendum();
|
15197
15270
|
if (!assignType(destTypeArgs[argIndex].type, srcTypeArgs[argIndex].type, entryDiag === null || entryDiag === void 0 ? void 0 : entryDiag.createAddendum(), typeVarContext,
|
15198
|
-
/* srcTypeVarContext */ undefined, flags
|
15271
|
+
/* srcTypeVarContext */ undefined, flags, recursionCount)) {
|
15199
15272
|
if (entryDiag) {
|
15200
15273
|
entryDiag.addMessage(localize_1.Localizer.DiagnosticAddendum.tupleEntryTypeMismatch().format({
|
15201
15274
|
entry: argIndex + 1,
|
@@ -15299,7 +15372,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15299
15372
|
for (let i = 0; i < destType.details.typeParameters.length; i++) {
|
15300
15373
|
const typeArgType = i < srcTypeArgs.length ? srcTypeArgs[i] : types_1.UnknownType.create();
|
15301
15374
|
destTypeVarContext.setTypeVarType(destType.details.typeParameters[i],
|
15302
|
-
/* narrowBound */ undefined,
|
15375
|
+
/* narrowBound */ undefined,
|
15376
|
+
/* narrowBoundNoLiterals */ undefined, typeArgType);
|
15303
15377
|
}
|
15304
15378
|
}
|
15305
15379
|
return true;
|
@@ -15436,24 +15510,22 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15436
15510
|
}
|
15437
15511
|
else {
|
15438
15512
|
// Have we already recursed once?
|
15439
|
-
if ((flags &
|
15513
|
+
if ((flags & 4 /* SkipRecursiveTypeCheck */) !== 0) {
|
15440
15514
|
return true;
|
15441
15515
|
}
|
15442
15516
|
// Note that we are comparing two recursive types and do
|
15443
15517
|
// not recursive more than once.
|
15444
|
-
flags |=
|
15518
|
+
flags |= 4 /* SkipRecursiveTypeCheck */;
|
15445
15519
|
}
|
15446
15520
|
}
|
15447
15521
|
// Transform recursive type aliases if necessary.
|
15448
15522
|
const transformedDestType = (0, typeUtils_1.transformPossibleRecursiveTypeAlias)(destType);
|
15449
15523
|
const transformedSrcType = (0, typeUtils_1.transformPossibleRecursiveTypeAlias)(srcType);
|
15450
|
-
// Did
|
15451
|
-
// If so, we
|
15452
|
-
//
|
15453
|
-
if (transformedDestType !== destType &&
|
15454
|
-
transformedSrcType !== srcType &&
|
15455
|
-
(0, types_1.isUnion)(transformedDestType) &&
|
15456
|
-
(0, types_1.isUnion)(transformedSrcType)) {
|
15524
|
+
// Did either the source or dest include recursive type aliases?
|
15525
|
+
// If so, we could be dealing with different recursive type aliases
|
15526
|
+
// or a recursive type alias and a recursive protocol definition.
|
15527
|
+
if ((transformedDestType !== destType && (0, types_1.isUnion)(transformedDestType)) ||
|
15528
|
+
(transformedSrcType !== srcType && (0, types_1.isUnion)(transformedSrcType))) {
|
15457
15529
|
// Use a smaller recursive limit in this case to prevent runaway recursion.
|
15458
15530
|
if (recursionCount > maxRecursiveTypeAliasRecursionCount) {
|
15459
15531
|
return true;
|
@@ -15471,9 +15543,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15471
15543
|
if ((flags & 16 /* OverloadOverlapCheck */) !== 0) {
|
15472
15544
|
srcType = makeTopLevelTypeVarsConcrete(srcType);
|
15473
15545
|
}
|
15474
|
-
// Strip
|
15546
|
+
// Strip flags we don't want to propagate to other calls.
|
15475
15547
|
const originalFlags = flags;
|
15476
|
-
flags &= ~
|
15548
|
+
flags &= ~64 /* AllowBoolTypeGuard */;
|
15477
15549
|
// Before performing any other checks, see if the dest type is a
|
15478
15550
|
// TypeVar that we are attempting to match.
|
15479
15551
|
if ((0, types_1.isTypeVar)(destType)) {
|
@@ -15551,27 +15623,14 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15551
15623
|
/* srcTypeVarContext */ undefined, originalFlags, recursionCount);
|
15552
15624
|
}
|
15553
15625
|
else {
|
15554
|
-
|
15555
|
-
// the source TypeVar. Normally we set the AllowTypeVarNarrowing flag
|
15556
|
-
// so the wide type bound of the TypeVar is set rather than the narrow
|
15557
|
-
// type bound. This allows the type to be further narrowed through other
|
15558
|
-
// assignments. However, if we're populating the expected type in the
|
15559
|
-
// TypeVarContext, we don't want to allow further narrowing.
|
15560
|
-
let effectiveFlags = originalFlags;
|
15561
|
-
if ((originalFlags & 1024 /* PopulatingExpectedType */) !== 0) {
|
15562
|
-
effectiveFlags &= ~(2 /* ReverseTypeVarMatching */ | 4 /* AllowTypeVarNarrowing */);
|
15563
|
-
}
|
15564
|
-
else {
|
15565
|
-
effectiveFlags |= 4 /* AllowTypeVarNarrowing */;
|
15566
|
-
}
|
15567
|
-
if ((0, constraintSolver_1.assignTypeToTypeVar)(evaluatorInterface, srcType, destType, diag, srcTypeVarContext, effectiveFlags, recursionCount)) {
|
15626
|
+
if ((0, constraintSolver_1.assignTypeToTypeVar)(evaluatorInterface, srcType, destType, diag, srcTypeVarContext, originalFlags, recursionCount)) {
|
15568
15627
|
return true;
|
15569
15628
|
}
|
15570
15629
|
// If the dest type is a union, only one of the subtypes needs to match.
|
15571
15630
|
let isAssignable = false;
|
15572
15631
|
if ((0, types_1.isUnion)(destType)) {
|
15573
15632
|
(0, typeUtils_1.doForEachSubtype)(destType, (destSubtype) => {
|
15574
|
-
if ((0, constraintSolver_1.assignTypeToTypeVar)(evaluatorInterface, srcType, destSubtype, diag, srcTypeVarContext, originalFlags
|
15633
|
+
if ((0, constraintSolver_1.assignTypeToTypeVar)(evaluatorInterface, srcType, destSubtype, diag, srcTypeVarContext, originalFlags, recursionCount)) {
|
15575
15634
|
isAssignable = true;
|
15576
15635
|
}
|
15577
15636
|
});
|
@@ -15938,17 +15997,14 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15938
15997
|
// to eliminate as many exact type matches between the src and dest.
|
15939
15998
|
if ((0, types_1.isUnion)(destType)) {
|
15940
15999
|
// Handle the special case where the dest is a union of Any and
|
15941
|
-
// a type variable
|
15942
|
-
// in effect. This occurs, for example, with the return type of
|
16000
|
+
// a type variable. This occurs, for example, with the return type of
|
15943
16001
|
// the getattr function.
|
15944
|
-
|
15945
|
-
|
15946
|
-
|
15947
|
-
|
15948
|
-
|
15949
|
-
|
15950
|
-
return true;
|
15951
|
-
}
|
16002
|
+
const nonAnySubtypes = destType.subtypes.filter((t) => !(0, types_1.isAnyOrUnknown)(t));
|
16003
|
+
if (nonAnySubtypes.length === 1 && (0, types_1.isTypeVar)(nonAnySubtypes[0])) {
|
16004
|
+
assignType(nonAnySubtypes[0], srcType,
|
16005
|
+
/* diag */ undefined, destTypeVarContext, srcTypeVarContext, flags, recursionCount);
|
16006
|
+
// This always succeeds because the destination contains Any.
|
16007
|
+
return true;
|
15952
16008
|
}
|
15953
16009
|
const remainingDestSubtypes = [];
|
15954
16010
|
let remainingSrcSubtypes = [...srcType.subtypes];
|
@@ -16818,18 +16874,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
16818
16874
|
assignType(typeVarEntry.typeVar, effectiveSrcTypeVarContext.getTypeVarType(typeVarEntry.typeVar),
|
16819
16875
|
/* diag */ undefined, destTypeVarContext, srcTypeVarContext, 0 /* Default */, recursionCount);
|
16820
16876
|
});
|
16821
|
-
// Perform partial specialization of type variables to allow for
|
16822
|
-
// "higher-order" type variables.
|
16823
|
-
if (!destTypeVarContext.isLocked()) {
|
16824
|
-
destTypeVarContext.getTypeVars().forEach((entry) => {
|
16825
|
-
if (entry.narrowBound) {
|
16826
|
-
const specializedType = (0, typeUtils_1.applySolvedTypeVars)(entry.narrowBound, destTypeVarContext);
|
16827
|
-
if (specializedType !== entry.narrowBound) {
|
16828
|
-
destTypeVarContext.setTypeVarType(entry.typeVar, specializedType, entry.wideBound, entry.retainLiteral);
|
16829
|
-
}
|
16830
|
-
}
|
16831
|
-
});
|
16832
|
-
}
|
16833
16877
|
// Are we assigning to a function with a ParamSpec?
|
16834
16878
|
if (targetIncludesParamSpec) {
|
16835
16879
|
const effectiveDestType = (flags & 2 /* ReverseTypeVarMatching */) === 0 ? destType : srcType;
|
@@ -16953,6 +16997,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
16953
16997
|
}
|
16954
16998
|
}
|
16955
16999
|
}
|
17000
|
+
// Apply any solved source TypeVars to the dest TypeVar solutions. This
|
17001
|
+
// allows for higher-order functions to accept generic callbacks.
|
17002
|
+
destTypeVarContext.applySourceContextTypeVars(srcTypeVarContext);
|
16956
17003
|
return canAssign;
|
16957
17004
|
}
|
16958
17005
|
// If the declaredType contains type arguments that are "Any" and
|