@codeyam/codeyam-cli 0.1.0-staging.1669d45 → 0.1.0-staging.2a88920
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/analyzer-template/.build-info.json +8 -8
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/package.json +5 -5
- package/analyzer-template/packages/ai/index.ts +15 -2
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +87 -51
- package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +98 -9
- package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +139 -23
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +6 -126
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +555 -28
- package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +88 -7
- package/analyzer-template/packages/ai/src/lib/completionCall.ts +198 -34
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +772 -243
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +205 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +10 -2
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +16 -3
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +6 -4
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +43 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +122 -15
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +160 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +319 -88
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
- package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +156 -0
- package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
- package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -0
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +642 -7
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +35 -6
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +383 -6
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +1 -1
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +1299 -51
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
- package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +90 -96
- package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +10 -7
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChunkPrompt.ts +82 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +23 -6
- package/analyzer-template/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.ts +391 -0
- package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +179 -45
- package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +26 -4
- package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +114 -2
- package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +65 -59
- package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
- package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +11 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +30 -19
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +14 -4
- package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +4 -2
- package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
- package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +4 -5
- package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +14 -12
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +189 -76
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +29 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +77 -9
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +118 -10
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +276 -17
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
- package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
- package/analyzer-template/packages/aws/package.json +2 -2
- package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -1
- package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +6 -0
- package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +58 -1
- package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +13 -0
- package/analyzer-template/packages/database/src/lib/loadBranch.ts +16 -1
- package/analyzer-template/packages/database/src/lib/loadCommit.ts +11 -0
- package/analyzer-template/packages/database/src/lib/loadCommits.ts +28 -0
- package/analyzer-template/packages/database/src/lib/loadEntities.ts +26 -3
- package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +12 -0
- package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +7 -14
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +8 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +3 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +2 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +45 -2
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +8 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +11 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +7 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +3 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +22 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +3 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +23 -4
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +9 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +2 -2
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +5 -4
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/index.d.ts +1 -1
- package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +25 -1
- package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
- package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +56 -6
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
- package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
- package/analyzer-template/packages/github/package.json +1 -1
- package/analyzer-template/packages/types/index.ts +1 -0
- package/analyzer-template/packages/types/src/types/Analysis.ts +25 -0
- package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
- package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +70 -6
- package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
- package/analyzer-template/packages/utils/dist/types/index.d.ts +1 -1
- package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +25 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
- package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +56 -6
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
- package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
- package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
- package/analyzer-template/playwright/capture.ts +20 -8
- package/analyzer-template/playwright/captureStatic.ts +1 -1
- package/analyzer-template/project/analyzeBaselineCommit.ts +5 -0
- package/analyzer-template/project/analyzeRegularCommit.ts +5 -0
- package/analyzer-template/project/captureLibraryFunctionDirect.ts +29 -26
- package/analyzer-template/project/constructMockCode.ts +367 -37
- package/analyzer-template/project/createEntitiesAndSortFiles.ts +83 -0
- package/analyzer-template/project/loadReadyToBeCaptured.ts +65 -41
- package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
- package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +18 -7
- package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
- package/analyzer-template/project/orchestrateCapture.ts +71 -6
- package/analyzer-template/project/reconcileMockDataKeys.ts +152 -9
- package/analyzer-template/project/runAnalysis.ts +4 -0
- package/analyzer-template/project/start.ts +35 -11
- package/analyzer-template/project/writeMockDataTsx.ts +127 -4
- package/analyzer-template/project/writeScenarioComponents.ts +101 -8
- package/analyzer-template/scripts/comboWorkerLoop.cjs +98 -50
- package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +5 -0
- package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeRegularCommit.js +5 -0
- package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +3 -3
- package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
- package/background/src/lib/virtualized/project/constructMockCode.js +300 -7
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js +73 -1
- package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.js.map +1 -1
- package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +19 -8
- package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js +2 -2
- package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +7 -5
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js +58 -6
- package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +126 -9
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/runAnalysis.js +3 -0
- package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
- package/background/src/lib/virtualized/project/start.js +32 -11
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +101 -4
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +57 -8
- package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
- package/codeyam-cli/src/cli.js +2 -0
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/commands/debug.js +7 -5
- package/codeyam-cli/src/commands/debug.js.map +1 -1
- package/codeyam-cli/src/commands/memory.js +273 -0
- package/codeyam-cli/src/commands/memory.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +4 -0
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
- package/codeyam-cli/src/utils/analysisRunner.js +21 -2
- package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
- package/codeyam-cli/src/utils/install-skills.js +42 -6
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +1 -0
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/queue/manager.js +6 -0
- package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
- package/codeyam-cli/src/utils/rules/index.js +5 -0
- package/codeyam-cli/src/utils/rules/index.js.map +1 -0
- package/codeyam-cli/src/utils/rules/parser.js +106 -0
- package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
- package/codeyam-cli/src/utils/rules/pathMatcher.js +18 -0
- package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
- package/codeyam-cli/src/utils/rules/staleness.js +132 -0
- package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +2 -0
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/database.js +7 -3
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/bootstrap.js +40 -0
- package/codeyam-cli/src/webserver/bootstrap.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-DsN1wKrm.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-COi5OvsN.js → EntityTypeBadge-DLqD3qNt.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-BwdQv49w.js → EntityTypeIcon-Ba2JVPzP.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{InlineSpinner-CEleMv_j.js → InlineSpinner-C8lyxW9k.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-D68KarMg.js → InteractivePreview-aht4aafF.js} +2 -2
- package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-L75Wvqgw.js → LibraryFunctionPreview-CVtiBnY5.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-C53WM8qn.js → LoadingDots-B0GLXMsr.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-CrNkmy4i.js → LogViewer-xgeCVgSM.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-OApQuNyq.js +16 -0
- package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-CQifa1n-.js → SafeScreenshot-DuDvi0jm.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-CyaBFX7l.js → ScenarioViewer-DzccYyI8.js} +3 -13
- package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-D36O1rzU.js → TruncatedFilePath-DyFZkK0l.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/_index-BwqWJOgH.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BwavGCpm.js +32 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-DgTPh8H-.js → chevron-down-Cx24_aWc.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{chunk-EPOLDU6W-DdQKK6on.js → chunk-EPOLDU6W-CXRTFQ3F.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{circle-check-Dmr2bb1R.js → circle-check-BOARzkeR.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/copy-Bb-80kDT.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-Do4ZLUYa.js → createLucideIcon-BdhJEx6B.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BBnGWYga.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-CbdFyxZh.js → entity._sha._-BJUiQqZF.js} +12 -12
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha.scenarios._scenarioId.fullscreen-B4iCfs5M.js → entity._sha.scenarios._scenarioId.fullscreen-DavjRmOY.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-wDWZZO1W.js → entity._sha_.create-scenario-D1T4TGjf.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-BMbl7MeQ.js → entity._sha_.edit._scenarioId-CTBG2mmz.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entry.client-5wRKRIH9.js → entry.client-CS2cb_eZ.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/file-code-Dhef1kWN.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DD3SDH7t.js → fileTableUtils-DMJ7zii9.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-CJ6lTdTA.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{git-zXjT7J0G.js → git-CPTZZ-JZ.js} +8 -8
- package/codeyam-cli/src/webserver/build/client/assets/globals-D3yhhV8x.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{index-DLbXwndH.js → index-B1h680n5.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{index-gPZ-lad1.js → index-lzqtyFU8.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-BsPXJ81F.js → loader-circle-B7B9V-bu.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-a78b90a2.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/memory--GCbFsBE.js +92 -0
- package/codeyam-cli/src/webserver/build/client/assets/root-eVAaavTS.js +62 -0
- package/codeyam-cli/src/webserver/build/client/assets/{search-P2FKIUql.js → search-CxXUmBSd.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{settings-B2eDuBj8.js → settings-CS5f3WzT.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{simulations-L18M6-kN.js → simulations-DwFIBT09.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-BDz7kbVA.js → triangle-alert-B6LgvRJg.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-29dDmbH8.js → useCustomSizes-C1v1PQzo.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BUm0UVJm.js → useLastLogLine-aSv48UbS.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-CkIOKTrZ.js → useReportContext-DYxHZQuP.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useToast-KKw5kTn-.js → useToast-mBRpZPiu.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-BM6TDT1Y.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-dYC34MHw.js +257 -0
- package/codeyam-cli/src/webserver/build/server/index.js +1 -1
- package/codeyam-cli/src/webserver/build-info.json +5 -5
- package/codeyam-cli/templates/codeyam-memory-hook.sh +200 -0
- package/codeyam-cli/templates/codeyam:debug.md +47 -3
- package/codeyam-cli/templates/codeyam:diagnose.md +203 -25
- package/codeyam-cli/templates/codeyam:memory.md +341 -0
- package/codeyam-cli/templates/codeyam:new-rule.md +13 -0
- package/codeyam-cli/templates/rule-reflection-hook.py +160 -0
- package/codeyam-cli/templates/rules-instructions.md +93 -0
- package/package.json +8 -5
- package/packages/ai/index.js +7 -3
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +70 -29
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
- package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +78 -8
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/astScopes/methodSemantics.js +109 -23
- package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
- package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +1 -102
- package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +440 -27
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/completionCall.js +161 -30
- package/packages/ai/src/lib/completionCall.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +589 -166
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +179 -0
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +7 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +13 -3
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +6 -4
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +41 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +104 -11
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js +159 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
- package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +265 -79
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
- package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
- package/packages/ai/src/lib/dataStructureChunking.js +111 -0
- package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
- package/packages/ai/src/lib/e2eDataTracking.js +241 -0
- package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
- package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
- package/packages/ai/src/lib/extractCriticalDataKeys.js.map +1 -0
- package/packages/ai/src/lib/generateEntityScenarioData.js +525 -8
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +26 -2
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlows.js +281 -4
- package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +946 -42
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
- package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js.map +1 -0
- package/packages/ai/src/lib/mergeStatements.js +70 -51
- package/packages/ai/src/lib/mergeStatements.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +10 -4
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js +54 -0
- package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +15 -7
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js +335 -0
- package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
- package/packages/ai/src/lib/resolvePathToControllable.js +155 -41
- package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -1
- package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
- package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js +94 -1
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
- package/packages/analyze/src/lib/FileAnalyzer.js +60 -36
- package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
- package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/analysisContext.js +30 -5
- package/packages/analyze/src/lib/analysisContext.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +6 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +21 -9
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +14 -4
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +2 -1
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
- package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeRemixRoute.js +3 -2
- package/packages/analyze/src/lib/files/analyzeRemixRoute.js.map +1 -1
- package/packages/analyze/src/lib/files/getImportedExports.js +11 -7
- package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +160 -68
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +25 -8
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +71 -9
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +57 -9
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +233 -9
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
- package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/setImportedExports.js +2 -1
- package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
- package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
- package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
- package/packages/database/src/lib/kysely/db.js +8 -1
- package/packages/database/src/lib/kysely/db.js.map +1 -1
- package/packages/database/src/lib/kysely/tables/commitsTable.js +3 -0
- package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -1
- package/packages/database/src/lib/loadAnalyses.js +45 -2
- package/packages/database/src/lib/loadAnalyses.js.map +1 -1
- package/packages/database/src/lib/loadAnalysis.js +8 -0
- package/packages/database/src/lib/loadAnalysis.js.map +1 -1
- package/packages/database/src/lib/loadBranch.js +11 -1
- package/packages/database/src/lib/loadBranch.js.map +1 -1
- package/packages/database/src/lib/loadCommit.js +7 -0
- package/packages/database/src/lib/loadCommit.js.map +1 -1
- package/packages/database/src/lib/loadCommits.js +22 -1
- package/packages/database/src/lib/loadCommits.js.map +1 -1
- package/packages/database/src/lib/loadEntities.js +23 -4
- package/packages/database/src/lib/loadEntities.js.map +1 -1
- package/packages/database/src/lib/loadEntityBranches.js +9 -0
- package/packages/database/src/lib/loadEntityBranches.js.map +1 -1
- package/packages/database/src/lib/updateCommitMetadata.js +5 -4
- package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
- package/packages/types/index.js.map +1 -1
- package/packages/utils/src/lib/safeFileName.js +29 -3
- package/packages/utils/src/lib/safeFileName.js.map +1 -1
- package/scripts/finalize-analyzer.cjs +3 -3
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-vauWK972.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DzJRkCkr.js +0 -11
- package/codeyam-cli/src/webserver/build/client/assets/_index-Be83mo_j.js +0 -11
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BN6wu6Y-.js +0 -37
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-Bn6aCAy_.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-DKyMFI90.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/globals-DTTQ3gY7.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-22590fcf.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-BsAarjAM.js +0 -57
- package/codeyam-cli/src/webserver/build/server/assets/index-BND5I5fv.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-CFXnd7MG.js +0 -228
|
@@ -160,7 +160,45 @@ export default function fillInSchemaGapsAndUnknowns(scopeNode, fillInUnknowns =
|
|
|
160
160
|
fillInSchemaGapsAndUnknowns(scopeNode, fillInUnknowns, ++attempts);
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
-
|
|
163
|
+
/**
|
|
164
|
+
* Build indexes for a schema that can be reused across multiple calls.
|
|
165
|
+
* This avoids rebuilding indexes (~1-2 seconds for 18k keys) on every call.
|
|
166
|
+
*
|
|
167
|
+
* @param schema - The schema to build indexes from (typically the full dependency schema)
|
|
168
|
+
* @returns Indexes that can be passed to fillInDirectSchemaGapsAndUnknowns
|
|
169
|
+
*/
|
|
170
|
+
export function buildSchemaIndexes(schema) {
|
|
171
|
+
// Build functionKeysMapping + prefixMaxDepth in a single pass
|
|
172
|
+
// Avoid repeated split/join work by caching parts and building prefixes incrementally.
|
|
173
|
+
const functionKeysMapping = {};
|
|
174
|
+
const prefixMaxDepth = new Map();
|
|
175
|
+
const partsCache = new Map();
|
|
176
|
+
for (const key in schema) {
|
|
177
|
+
const parts = getCachedParts(partsCache, key);
|
|
178
|
+
const lastPart = parts[parts.length - 1];
|
|
179
|
+
const prefixes = buildPrefixParts(parts);
|
|
180
|
+
if (key.endsWith(')') ||
|
|
181
|
+
schema[key] === 'function' ||
|
|
182
|
+
lastPart === 'length') {
|
|
183
|
+
const allButLastPart = parts.length > 1 ? prefixes[parts.length - 2] : '';
|
|
184
|
+
functionKeysMapping[allButLastPart] || (functionKeysMapping[allButLastPart] = []);
|
|
185
|
+
functionKeysMapping[allButLastPart].push(lastPart);
|
|
186
|
+
}
|
|
187
|
+
for (let i = 0; i < prefixes.length; i++) {
|
|
188
|
+
const prefix = prefixes[i];
|
|
189
|
+
const existingMax = prefixMaxDepth.get(prefix) ?? 0;
|
|
190
|
+
if (parts.length > existingMax) {
|
|
191
|
+
prefixMaxDepth.set(prefix, parts.length);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return { functionKeysMapping, prefixMaxDepth };
|
|
196
|
+
}
|
|
197
|
+
export function fillInDirectSchemaGapsAndUnknowns({ scopeName, schema, mergedSchema, attempts = 0,
|
|
198
|
+
// Pre-built indexes from buildSchemaIndexes() - use for cross-call caching
|
|
199
|
+
prebuiltIndexes,
|
|
200
|
+
// Internal: pre-computed indexes to avoid rebuilding on recursion
|
|
201
|
+
_functionKeysMapping, _prefixMaxDepth, _partsCache, _prefixPartsCache, _knownTypeCache, _guessTypeCache, _nameHintCache, }) {
|
|
164
202
|
try {
|
|
165
203
|
const existingSchema = (path) => {
|
|
166
204
|
const options = [path, `${scopeName}.${path}`, `${scopeName}().${path}`];
|
|
@@ -169,100 +207,187 @@ export function fillInDirectSchemaGapsAndUnknowns({ scopeName, schema, mergedSch
|
|
|
169
207
|
return schema[option];
|
|
170
208
|
}
|
|
171
209
|
};
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
const
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
210
|
+
const partsCache = _partsCache ?? new Map();
|
|
211
|
+
const prefixPartsCache = _prefixPartsCache ?? new Map();
|
|
212
|
+
const knownTypeCache = _knownTypeCache ?? new Map();
|
|
213
|
+
const guessTypeCache = _guessTypeCache ?? new Map();
|
|
214
|
+
const nameHintCache = _nameHintCache ?? new Map();
|
|
215
|
+
const getParts = (path) => getCachedParts(partsCache, path);
|
|
216
|
+
const getPrefixParts = (path) => {
|
|
217
|
+
const cached = prefixPartsCache.get(path);
|
|
218
|
+
if (cached)
|
|
219
|
+
return cached;
|
|
220
|
+
const prefixes = buildPrefixParts(getParts(path));
|
|
221
|
+
prefixPartsCache.set(path, prefixes);
|
|
222
|
+
return prefixes;
|
|
223
|
+
};
|
|
224
|
+
// Index resolution priority:
|
|
225
|
+
// 1. _functionKeysMapping/_prefixMaxDepth (from recursive calls within this invocation)
|
|
226
|
+
// 2. prebuiltIndexes (from cross-call caching - built once, reused across multiple calls)
|
|
227
|
+
// 3. Build new indexes (fallback - expensive for large schemas)
|
|
228
|
+
const functionKeysMapping = _functionKeysMapping ??
|
|
229
|
+
prebuiltIndexes?.functionKeysMapping ??
|
|
230
|
+
(() => {
|
|
231
|
+
const mapping = {};
|
|
232
|
+
for (const key in schema) {
|
|
233
|
+
const parts = getParts(key);
|
|
234
|
+
const lastPart = parts[parts.length - 1];
|
|
235
|
+
if (key.endsWith(')') ||
|
|
236
|
+
schema[key] === 'function' ||
|
|
237
|
+
lastPart === 'length') {
|
|
238
|
+
const prefixes = getPrefixParts(key);
|
|
239
|
+
const allButLastPart = parts.length > 1 ? prefixes[parts.length - 2] : '';
|
|
240
|
+
mapping[allButLastPart] || (mapping[allButLastPart] = []);
|
|
241
|
+
mapping[allButLastPart].push(lastPart);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return mapping;
|
|
245
|
+
})();
|
|
246
|
+
// Build prefix index for O(1) lookups in checkIfObjectOrFunction
|
|
247
|
+
// Maps each prefix to the max depth of keys that have this prefix
|
|
248
|
+
// This replaces O(n) scans with O(1) lookups, fixing the O(n²) bottleneck
|
|
249
|
+
let prefixMaxDepth = _prefixMaxDepth ?? prebuiltIndexes?.prefixMaxDepth ?? null;
|
|
250
|
+
if (!prefixMaxDepth) {
|
|
251
|
+
prefixMaxDepth = new Map();
|
|
252
|
+
const targetSchema = mergedSchema ?? schema;
|
|
253
|
+
for (const key in targetSchema) {
|
|
254
|
+
const keyParts = getParts(key);
|
|
255
|
+
const prefixes = buildPrefixParts(keyParts);
|
|
256
|
+
// Record each prefix of this key with its max depth
|
|
257
|
+
for (let i = 0; i < prefixes.length; i++) {
|
|
258
|
+
const prefix = prefixes[i];
|
|
259
|
+
const existingMax = prefixMaxDepth.get(prefix) ?? 0;
|
|
260
|
+
if (keyParts.length > existingMax) {
|
|
261
|
+
prefixMaxDepth.set(prefix, keyParts.length);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
195
264
|
}
|
|
196
|
-
|
|
197
|
-
|
|
265
|
+
}
|
|
266
|
+
// O(1) replacement for checkIfObjectOrFunction
|
|
267
|
+
const checkIfObjectOrFunctionFast = (path) => {
|
|
268
|
+
const maxDepth = prefixMaxDepth.get(path);
|
|
269
|
+
if (maxDepth === undefined)
|
|
270
|
+
return undefined; // No key starts with this path
|
|
271
|
+
const pathParts = getParts(path);
|
|
272
|
+
// Check if path's last part ends with ')' → function
|
|
273
|
+
const lastPart = pathParts[pathParts.length - 1];
|
|
274
|
+
if (lastPart?.endsWith(')')) {
|
|
275
|
+
return 'function';
|
|
198
276
|
}
|
|
199
|
-
|
|
200
|
-
|
|
277
|
+
// Check if there are deeper keys
|
|
278
|
+
if (maxDepth > pathParts.length) {
|
|
279
|
+
return 'object';
|
|
280
|
+
}
|
|
281
|
+
return undefined;
|
|
282
|
+
};
|
|
283
|
+
let changeMade = false;
|
|
284
|
+
const getKnownType = (path) => {
|
|
285
|
+
if (knownTypeCache.has(path))
|
|
286
|
+
return knownTypeCache.get(path);
|
|
287
|
+
const known = checkIfKnownType(path, functionKeysMapping);
|
|
288
|
+
knownTypeCache.set(path, known);
|
|
289
|
+
return known;
|
|
290
|
+
};
|
|
291
|
+
const guessTypeFromName = (lastPart, defaultType) => {
|
|
292
|
+
if (nameHintCache.has(lastPart)) {
|
|
293
|
+
return nameHintCache.get(lastPart) ?? defaultType;
|
|
294
|
+
}
|
|
295
|
+
let hint;
|
|
201
296
|
if (isLikelyBoolean(lastPart)) {
|
|
202
|
-
|
|
297
|
+
hint = 'boolean';
|
|
203
298
|
}
|
|
204
299
|
else if (isLikelyDate(lastPart)) {
|
|
205
|
-
|
|
300
|
+
hint = 'date';
|
|
206
301
|
}
|
|
207
302
|
else if (isLikelyAction(lastPart)) {
|
|
208
|
-
|
|
303
|
+
hint = 'function';
|
|
209
304
|
}
|
|
210
305
|
else if (pluralize.isPlural(lastPart)) {
|
|
211
|
-
|
|
306
|
+
// Default to number instead of array - safer for JSX rendering
|
|
307
|
+
// Arrays cause "Objects are not valid as a React child" errors when rendered directly
|
|
308
|
+
hint = 'number';
|
|
212
309
|
}
|
|
213
|
-
|
|
214
|
-
|
|
310
|
+
nameHintCache.set(lastPart, hint);
|
|
311
|
+
return hint ?? defaultType;
|
|
312
|
+
};
|
|
313
|
+
const guessTypeForPath = (path, defaultType = 'string') => {
|
|
314
|
+
const cacheKey = `${path}|${defaultType}`;
|
|
315
|
+
if (guessTypeCache.has(cacheKey)) {
|
|
316
|
+
return guessTypeCache.get(cacheKey);
|
|
317
|
+
}
|
|
318
|
+
let knownType = getKnownType(path);
|
|
319
|
+
if (!knownType) {
|
|
320
|
+
// Use optimized O(1) prefix lookup instead of O(n) scan
|
|
321
|
+
knownType = checkIfObjectOrFunctionFast(path);
|
|
215
322
|
}
|
|
323
|
+
if (knownType) {
|
|
324
|
+
guessTypeCache.set(cacheKey, knownType);
|
|
325
|
+
return knownType;
|
|
326
|
+
}
|
|
327
|
+
const keyParts = getParts(path);
|
|
328
|
+
const lastPart = keyParts[keyParts.length - 1];
|
|
329
|
+
const guessed = guessTypeFromName(lastPart, defaultType);
|
|
330
|
+
guessTypeCache.set(cacheKey, guessed);
|
|
331
|
+
return guessed;
|
|
216
332
|
};
|
|
217
333
|
for (const key in schema) {
|
|
218
334
|
if (!schema[key])
|
|
219
335
|
schema[key] = 'unknown';
|
|
220
336
|
if (schema[key].includes(' | unknown')) {
|
|
221
|
-
|
|
222
|
-
|
|
337
|
+
const cleaned = schema[key].replace(' | unknown', '');
|
|
338
|
+
if (schema[key] !== cleaned) {
|
|
339
|
+
schema[key] = cleaned;
|
|
340
|
+
changeMade = true;
|
|
341
|
+
}
|
|
223
342
|
}
|
|
224
343
|
else if (schema[key].startsWith('unknown | ')) {
|
|
225
344
|
// Handle "unknown | undefined" -> "string | undefined"
|
|
226
345
|
const remainingType = schema[key].substring('unknown | '.length);
|
|
227
346
|
const newType = guessTypeForPath(key, 'string');
|
|
228
347
|
if (newType) {
|
|
229
|
-
|
|
230
|
-
|
|
348
|
+
const replacement = `${newType} | ${remainingType}`;
|
|
349
|
+
if (schema[key] !== replacement) {
|
|
350
|
+
schema[key] = replacement;
|
|
351
|
+
changeMade = true;
|
|
352
|
+
}
|
|
231
353
|
}
|
|
232
354
|
}
|
|
233
355
|
else if (schema[key] === 'unknown') {
|
|
234
356
|
const newType = guessTypeForPath(key, 'string');
|
|
235
|
-
if (newType) {
|
|
357
|
+
if (newType && schema[key] !== newType) {
|
|
236
358
|
schema[key] = newType;
|
|
237
359
|
changeMade = true;
|
|
238
360
|
}
|
|
239
361
|
}
|
|
240
|
-
const keyParts =
|
|
362
|
+
const keyParts = getParts(key);
|
|
363
|
+
const prefixParts = getPrefixParts(key);
|
|
241
364
|
for (let i = 0; i < keyParts.length; i++) {
|
|
242
|
-
|
|
243
|
-
const lastSubPathPart = subPathParts[subPathParts.length - 1];
|
|
244
|
-
const previousSubPathParts = subPathParts.slice(0, i);
|
|
245
|
-
if (previousSubPathParts.length === 0)
|
|
365
|
+
if (i === 0)
|
|
246
366
|
continue;
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
367
|
+
const lastSubPathPart = keyParts[i];
|
|
368
|
+
const previousSubPath = prefixParts[i - 1];
|
|
369
|
+
const isSignatureIndex = lastSubPathPart.includes('signature[') &&
|
|
370
|
+
SIGNATURE_INDEX_REGEX.test(lastSubPathPart);
|
|
371
|
+
if (lastSubPathPart.includes('[')) {
|
|
372
|
+
const cleaned = cleanOutBoundary(lastSubPathPart);
|
|
373
|
+
if (cleaned.match(/\[\d*\]/) && !isSignatureIndex) {
|
|
374
|
+
// Fix 39: Don't overwrite explicit 'object' types with 'array'
|
|
375
|
+
// This handles spurious [] paths from components like JsonNode that handle
|
|
376
|
+
// both arrays and objects. When metadata is explicitly typed as 'object',
|
|
377
|
+
// paths like metadata[] (from dynamic iteration) should not change it.
|
|
378
|
+
if (schema[previousSubPath] !== 'array' &&
|
|
379
|
+
schema[previousSubPath] !== 'object') {
|
|
380
|
+
schema[previousSubPath] = 'array';
|
|
381
|
+
changeMade = true;
|
|
382
|
+
}
|
|
258
383
|
}
|
|
259
384
|
}
|
|
260
385
|
const isFunction = lastSubPathPart.endsWith(')') ||
|
|
261
386
|
lastSubPathPart === 'functionCallReturnValue' ||
|
|
262
|
-
|
|
387
|
+
isSignatureIndex;
|
|
263
388
|
if (!isFunction &&
|
|
264
389
|
!['object', 'array', 'function', 'async-function'].includes(schema[previousSubPath])) {
|
|
265
|
-
const newValue =
|
|
390
|
+
const newValue = getKnownType(previousSubPath) ?? 'object';
|
|
266
391
|
if (!schema[previousSubPath] ||
|
|
267
392
|
schema[previousSubPath] !== newValue) {
|
|
268
393
|
schema[previousSubPath] = newValue;
|
|
@@ -273,8 +398,7 @@ export function fillInDirectSchemaGapsAndUnknowns({ scopeName, schema, mergedSch
|
|
|
273
398
|
if (isFunction && !existingSchema(previousSubPath)) {
|
|
274
399
|
schema[previousSubPath] = previousSubPath.endsWith(')')
|
|
275
400
|
? 'function'
|
|
276
|
-
: (
|
|
277
|
-
'object');
|
|
401
|
+
: (getKnownType(previousSubPath) ?? 'object');
|
|
278
402
|
changeMade = true;
|
|
279
403
|
}
|
|
280
404
|
// Handle function chains: if we have x().y(), set x().functionCallReturnValue to 'function'
|
|
@@ -282,8 +406,11 @@ export function fillInDirectSchemaGapsAndUnknowns({ scopeName, schema, mergedSch
|
|
|
282
406
|
if (lastSubPathPart.endsWith(')') && previousSubPath.endsWith(')')) {
|
|
283
407
|
const functionReturnValuePath = `${previousSubPath}.functionCallReturnValue`;
|
|
284
408
|
// Extract the method name from lastSubPathPart (e.g., "then()" -> "then")
|
|
285
|
-
const
|
|
286
|
-
const
|
|
409
|
+
const parenIndex = lastSubPathPart.indexOf('(');
|
|
410
|
+
const methodName = parenIndex === -1
|
|
411
|
+
? lastSubPathPart
|
|
412
|
+
: lastSubPathPart.slice(0, parenIndex);
|
|
413
|
+
const isPromiseMethod = PROMISE_METHODS.has(methodName);
|
|
287
414
|
const isPreviousAsync = schema[previousSubPath] === 'async-function';
|
|
288
415
|
// Don't set to 'function' if this is a promise method on an async function
|
|
289
416
|
// (we want the awaited value, not the promise)
|
|
@@ -304,6 +431,15 @@ export function fillInDirectSchemaGapsAndUnknowns({ scopeName, schema, mergedSch
|
|
|
304
431
|
schema,
|
|
305
432
|
mergedSchema,
|
|
306
433
|
attempts: ++attempts,
|
|
434
|
+
prebuiltIndexes,
|
|
435
|
+
// Pass pre-computed indexes to avoid rebuilding on each recursive call
|
|
436
|
+
_functionKeysMapping: functionKeysMapping,
|
|
437
|
+
_prefixMaxDepth: prefixMaxDepth,
|
|
438
|
+
_partsCache: partsCache,
|
|
439
|
+
_prefixPartsCache: prefixPartsCache,
|
|
440
|
+
_knownTypeCache: knownTypeCache,
|
|
441
|
+
_guessTypeCache: guessTypeCache,
|
|
442
|
+
_nameHintCache: nameHintCache,
|
|
307
443
|
});
|
|
308
444
|
}
|
|
309
445
|
// Remove .length paths when the parent is typed as 'array' or 'string' (or nullable variants).
|
|
@@ -312,9 +448,10 @@ export function fillInDirectSchemaGapsAndUnknowns({ scopeName, schema, mergedSch
|
|
|
312
448
|
// However, if the parent could be an 'object' or other type, keep .length as it may be
|
|
313
449
|
// a custom property.
|
|
314
450
|
for (const key of Object.keys(schema)) {
|
|
315
|
-
const parts =
|
|
451
|
+
const parts = getParts(key);
|
|
316
452
|
if (parts[parts.length - 1] === 'length') {
|
|
317
|
-
const
|
|
453
|
+
const prefixes = getPrefixParts(key);
|
|
454
|
+
const parentPath = parts.length > 1 ? prefixes[parts.length - 2] : '';
|
|
318
455
|
const parentType = schema[parentPath];
|
|
319
456
|
if (parentType) {
|
|
320
457
|
// Split union types and filter out nullable parts
|
|
@@ -339,6 +476,36 @@ export function fillInDirectSchemaGapsAndUnknowns({ scopeName, schema, mergedSch
|
|
|
339
476
|
throw error;
|
|
340
477
|
}
|
|
341
478
|
}
|
|
479
|
+
const SIGNATURE_INDEX_REGEX = /signature\[\d+\]/;
|
|
480
|
+
const PROMISE_METHODS = new Set(['then', 'catch', 'finally']);
|
|
481
|
+
function getCachedParts(cache, path) {
|
|
482
|
+
const cached = cache.get(path);
|
|
483
|
+
if (cached)
|
|
484
|
+
return cached;
|
|
485
|
+
const parts = splitOutsideParenthesesAndArrays(path);
|
|
486
|
+
cache.set(path, parts);
|
|
487
|
+
return parts;
|
|
488
|
+
}
|
|
489
|
+
function buildPrefixParts(parts) {
|
|
490
|
+
if (parts.length === 0)
|
|
491
|
+
return [];
|
|
492
|
+
const prefixes = new Array(parts.length);
|
|
493
|
+
let prefix = '';
|
|
494
|
+
for (let i = 0; i < parts.length; i++) {
|
|
495
|
+
const part = parts[i];
|
|
496
|
+
if (i === 0) {
|
|
497
|
+
prefix = part;
|
|
498
|
+
}
|
|
499
|
+
else if (part.startsWith('[') || part.startsWith('(')) {
|
|
500
|
+
prefix += part;
|
|
501
|
+
}
|
|
502
|
+
else {
|
|
503
|
+
prefix += `.${part}`;
|
|
504
|
+
}
|
|
505
|
+
prefixes[i] = prefix;
|
|
506
|
+
}
|
|
507
|
+
return prefixes;
|
|
508
|
+
}
|
|
342
509
|
function checkIfObjectOrFunction(path, schema) {
|
|
343
510
|
const pathParts = splitOutsideParenthesesAndArrays(path);
|
|
344
511
|
for (const structureKey in schema) {
|
|
@@ -389,28 +556,45 @@ const STRONG_ARRAY_METHODS = new Set([
|
|
|
389
556
|
'toSpliced',
|
|
390
557
|
'with',
|
|
391
558
|
]);
|
|
559
|
+
/**
|
|
560
|
+
* Check if a method call argument looks like a string literal.
|
|
561
|
+
* String literals start with ' or " (e.g., includes('foo'), indexOf("bar"))
|
|
562
|
+
*/
|
|
563
|
+
function hasStringLiteralArgument(methodCall) {
|
|
564
|
+
const parenIndex = methodCall.indexOf('(');
|
|
565
|
+
if (parenIndex === -1)
|
|
566
|
+
return false;
|
|
567
|
+
const arg = methodCall.slice(parenIndex + 1).trim();
|
|
568
|
+
return arg.startsWith("'") || arg.startsWith('"') || arg.startsWith('`');
|
|
569
|
+
}
|
|
392
570
|
function checkIfKnownType(key, functionAndAttributesKeysMapping) {
|
|
393
571
|
let isArray;
|
|
394
572
|
let isString;
|
|
395
573
|
let hasStrongArrayEvidence = false;
|
|
396
574
|
let hasOnlyAmbiguousArrayMethods = true;
|
|
397
575
|
let hasLengthAccess = false;
|
|
398
|
-
let
|
|
399
|
-
|
|
400
|
-
|
|
576
|
+
let hasIncludesOrIndexOfWithVariable = false;
|
|
577
|
+
const entries = functionAndAttributesKeysMapping[key];
|
|
578
|
+
if (!entries || entries.length === 0)
|
|
579
|
+
return;
|
|
580
|
+
for (const functionOrAttributeName of entries) {
|
|
401
581
|
// Extract the method name without arguments for checking against ambiguous list
|
|
402
582
|
const methodName = functionOrAttributeName.split('(')[0].trim();
|
|
403
|
-
const
|
|
404
|
-
|
|
405
|
-
const couldBeString =
|
|
406
|
-
functionOrAttributeName === 'length';
|
|
583
|
+
const knownType = knownMethodCalls(functionOrAttributeName);
|
|
584
|
+
const couldBeArray = knownType.includes('array') || functionOrAttributeName === 'length';
|
|
585
|
+
const couldBeString = knownType.includes('string') || functionOrAttributeName === 'length';
|
|
407
586
|
// Track .length access
|
|
408
587
|
if (functionOrAttributeName === 'length') {
|
|
409
588
|
hasLengthAccess = true;
|
|
410
589
|
}
|
|
411
590
|
// Track methods that exist on both arrays and strings (like includes, indexOf)
|
|
412
|
-
if (
|
|
413
|
-
|
|
591
|
+
// Check if .includes() or .indexOf() is called with a variable argument (not a string literal).
|
|
592
|
+
// Pattern: arr.includes(item) -> likely array (checking if item exists)
|
|
593
|
+
// Pattern: str.includes('substring') -> likely string (checking for substring)
|
|
594
|
+
if ((methodName === 'includes' || methodName === 'indexOf') &&
|
|
595
|
+
functionOrAttributeName.includes('(') &&
|
|
596
|
+
!hasStringLiteralArgument(functionOrAttributeName)) {
|
|
597
|
+
hasIncludesOrIndexOfWithVariable = true;
|
|
414
598
|
}
|
|
415
599
|
// Check if this is strong evidence of an array (unambiguous array methods)
|
|
416
600
|
if (STRONG_ARRAY_METHODS.has(methodName)) {
|
|
@@ -437,17 +621,19 @@ function checkIfKnownType(key, functionAndAttributesKeysMapping) {
|
|
|
437
621
|
if (isArray && hasStrongArrayEvidence) {
|
|
438
622
|
return 'array';
|
|
439
623
|
}
|
|
440
|
-
// When
|
|
441
|
-
// prefer array. This pattern (
|
|
442
|
-
// is
|
|
443
|
-
|
|
444
|
-
if (isArray && hasLengthAccess && hasArrayStringAmbiguousMethod) {
|
|
624
|
+
// When .includes() or .indexOf() is called with a variable argument AND we have .length,
|
|
625
|
+
// prefer array. This pattern (arr.length > 0 && arr.includes(item)) is common for arrays.
|
|
626
|
+
// But str.includes('literal') is common for strings - that case is handled by hasStringLiteralArgument.
|
|
627
|
+
if (isArray && hasLengthAccess && hasIncludesOrIndexOfWithVariable) {
|
|
445
628
|
return 'array';
|
|
446
629
|
}
|
|
630
|
+
// When both array and string are possible, prefer string.
|
|
631
|
+
// Strings have .length, .slice(), .includes(), etc. just like arrays.
|
|
632
|
+
// We only infer 'array' if we have STRONG evidence (like .map, .filter, .reduce).
|
|
447
633
|
if (isString)
|
|
448
634
|
return 'string';
|
|
449
|
-
// Only infer array if we have strong evidence
|
|
450
|
-
//
|
|
635
|
+
// Only infer array if we have strong evidence (already handled above)
|
|
636
|
+
// or non-ambiguous array methods that don't exist on strings
|
|
451
637
|
if (isArray && !hasOnlyAmbiguousArrayMethods) {
|
|
452
638
|
return 'array';
|
|
453
639
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fillInSchemaGapsAndUnknowns.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fillInSchemaGapsAndUnknowns.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CACjD,SAA+D,EAC/D,cAAc,GAAG,KAAK,EACtB,QAAQ,GAAG,CAAC;IAEZ,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAElD,MAAM,cAAc,GAAG,CAAC,IAAS,EAAE,EAAE;QACnC,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACjD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACd,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACjE,MAAM,KAAK,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;IACxD,CAAC,CAAC;SACD,MAAM,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACX,MAAM,KAAK,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,GAAG,CAAC,cAAc,MAAlB,GAAG,CAAC,cAAc,IAAM,EAAE,EAAC;QAC3B,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA8B,CAC/B,CAAC;IAEJ,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,WAAW,GAAG,QAAQ,EAAE,EAAE;QAChE,IAAI,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE/C,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO,UAAU,CAAC;QACpB,CAAC;aAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,+DAA+D;YAC/D,sFAAsF;YACtF,OAAO,QAAQ,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAC5D,aAAa,CACd,EAAE,CAAC;YACF,KAAK,MAAM,eAAe,IAAI,gBAAgB,EAAE,CAAC;gBAC/C,IACE,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS;oBACnC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,SAAS,EAChD,CAAC;oBACD,MAAM,sBAAsB,GAAG,gBAAgB,CAC7C,eAAe,CAAC,UAAU,CAC3B,CAAC;oBACF,IAAI,sBAAsB,EAAE,CAAC;wBAC3B,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,sBAAsB,CAAC;wBAC5D,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAED,IACE,MAAM,CAAC,aAAa,CAAC,KAAK,SAAS;oBACnC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;oBAClC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,SAAS,EAChD,CAAC;oBACD,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC3D,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YAC1C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACpD,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,uDAAuD;gBACvD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,MAAM,aAAa,EAAE,CAAC;oBAC9C,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBACtB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE9D,MAAM,oBAAoB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtD,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEhD,MAAM,eAAe,GAAG,wBAAwB,CAAC,oBAAoB,CAAC,CAAC;YAEvE,IACE,gBAAgB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAClD,CAAC,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAC1C,CAAC;gBACD,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,OAAO,EAAE,CAAC;oBACxC,MAAM,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;oBAClC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GACd,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC7B,eAAe,KAAK,yBAAyB;gBAC7C,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAE5C,IACE,CAAC,UAAU;gBACX,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CACzD,MAAM,CAAC,eAAe,CAAC,CACxB,EACD,CAAC;gBACD,MAAM,QAAQ,GACZ,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,CAAC,IAAI,QAAQ,CAAC;gBAErE,IACE,CAAC,MAAM,CAAC,eAAe,CAAC;oBACxB,CAAC,cAAc,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,EACxD,CAAC;oBACD,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;oBACnC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,2DAA2D;YAC3D,IAAI,UAAU,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnD,MAAM,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;oBACrD,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,EAAE,mBAAmB,CAAC;wBACvD,QAAQ,CAAC,CAAC;gBACd,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YAED,4FAA4F;YAC5F,wGAAwG;YACxG,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnE,MAAM,uBAAuB,GAAG,GAAG,eAAe,0BAA0B,CAAC;gBAE7E,0EAA0E;gBAC1E,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjD,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAC3D,UAAU,CACX,CAAC;gBACF,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,gBAAgB,CAAC;gBAErE,2EAA2E;gBAC3E,+CAA+C;gBAC/C,IACE,cAAc;oBACd,MAAM,CAAC,uBAAuB,CAAC;oBAC/B,MAAM,CAAC,uBAAuB,CAAC,KAAK,UAAU;oBAC9C,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,EACrC,CAAC;oBACD,MAAM,CAAC,uBAAuB,CAAC,GAAG,UAAU,CAAC;oBAC7C,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,UAAU,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;QAChC,2BAA2B,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,QAAQ,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAWD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA8B;IAE9B,8DAA8D;IAC9D,uFAAuF;IACvF,MAAM,mBAAmB,GAA6B,EAAE,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE/C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAEzC,IACE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU;YAC1B,QAAQ,KAAK,QAAQ,EACrB,CAAC;YACD,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,mBAAmB,CAAC,cAAc,MAAlC,mBAAmB,CAAC,cAAc,IAAM,EAAE,EAAC;YAC3C,mBAAmB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gBAC/B,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,EAChD,SAAS,EACT,MAAM,EACN,YAAY,EACZ,QAAQ,GAAG,CAAC;AACZ,2EAA2E;AAC3E,eAAe;AACf,kEAAkE;AAClE,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,cAAc,GAgBf;IACC,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,IAAS,EAAE,EAAE;YACnC,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,IAAI,EAAE,EAAE,GAAG,SAAS,MAAM,IAAI,EAAE,CAAC,CAAC;YACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,SAAS;oBAChD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,WAAW,IAAI,IAAI,GAAG,EAAoB,CAAC;QAC9D,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,IAAI,GAAG,EAAoB,CAAC;QAC1E,MAAM,cAAc,GAClB,eAAe,IAAI,IAAI,GAAG,EAA8B,CAAC;QAC3D,MAAM,cAAc,GAClB,eAAe,IAAI,IAAI,GAAG,EAA8B,CAAC;QAC3D,MAAM,aAAa,GACjB,cAAc,IAAI,IAAI,GAAG,EAA8B,CAAC;QAE1D,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEF,6BAA6B;QAC7B,wFAAwF;QACxF,0FAA0F;QAC1F,gEAAgE;QAChE,MAAM,mBAAmB,GACvB,oBAAoB;YACpB,eAAe,EAAE,mBAAmB;YACpC,CAAC,GAAG,EAAE;gBACJ,MAAM,OAAO,GAA6B,EAAE,CAAC;gBAC7C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;oBACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC5B,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACzC,IACE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACjB,MAAM,CAAC,GAAG,CAAC,KAAK,UAAU;wBAC1B,QAAQ,KAAK,QAAQ,EACrB,CAAC;wBACD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;wBACrC,MAAM,cAAc,GAClB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrD,OAAO,CAAC,cAAc,MAAtB,OAAO,CAAC,cAAc,IAAM,EAAE,EAAC;wBAC/B,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,EAAE,CAAC;QAEP,iEAAiE;QACjE,kEAAkE;QAClE,0EAA0E;QAC1E,IAAI,cAAc,GAChB,eAAe,IAAI,eAAe,EAAE,cAAc,IAAI,IAAI,CAAC;QAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC3C,MAAM,YAAY,GAAG,YAAY,IAAI,MAAM,CAAC;YAC5C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC5C,oDAAoD;gBACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC3B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpD,IAAI,QAAQ,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;wBAClC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,MAAM,2BAA2B,GAAG,CAAC,IAAY,EAAsB,EAAE;YACvE,MAAM,QAAQ,GAAG,cAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC,CAAC,+BAA+B;YAE7E,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjC,qDAAqD;YACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,iCAAiC;YACjC,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;YACpC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;YAC1D,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,MAAM,iBAAiB,GAAG,CAAC,QAAgB,EAAE,WAAmB,EAAE,EAAE;YAClE,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC;YACpD,CAAC;YAED,IAAI,IAAwB,CAAC;YAC7B,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,IAAI,GAAG,SAAS,CAAC;YACnB,CAAC;iBAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,IAAI,GAAG,MAAM,CAAC;YAChB,CAAC;iBAAM,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,IAAI,GAAG,UAAU,CAAC;YACpB,CAAC;iBAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,+DAA+D;gBAC/D,sFAAsF;gBACtF,IAAI,GAAG,QAAQ,CAAC;YAClB,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO,IAAI,IAAI,WAAW,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,WAAW,GAAG,QAAQ,EAAE,EAAE;YAChE,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,WAAW,EAAE,CAAC;YAC1C,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,wDAAwD;gBACxD,SAAS,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACxC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACzD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;YAC1C,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;oBAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBACtB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChD,uDAAuD;gBACvD,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,WAAW,GAAG,GAAG,OAAO,MAAM,aAAa,EAAE,CAAC;oBACpD,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,WAAW,EAAE,CAAC;wBAChC,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;wBAC1B,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;oBACvC,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;oBACtB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACtB,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,MAAM,gBAAgB,GACpB,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACtC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAE9C,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;oBAClD,IAAI,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAClD,+DAA+D;wBAC/D,2EAA2E;wBAC3E,0EAA0E;wBAC1E,uEAAuE;wBACvE,IACE,MAAM,CAAC,eAAe,CAAC,KAAK,OAAO;4BACnC,MAAM,CAAC,eAAe,CAAC,KAAK,QAAQ,EACpC,CAAC;4BACD,MAAM,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;4BAClC,UAAU,GAAG,IAAI,CAAC;wBACpB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,UAAU,GACd,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAC7B,eAAe,KAAK,yBAAyB;oBAC7C,gBAAgB,CAAC;gBAEnB,IACE,CAAC,UAAU;oBACX,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CACzD,MAAM,CAAC,eAAe,CAAC,CACxB,EACD,CAAC;oBACD,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC;oBAE3D,IACE,CAAC,MAAM,CAAC,eAAe,CAAC;wBACxB,MAAM,CAAC,eAAe,CAAC,KAAK,QAAQ,EACpC,CAAC;wBACD,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC;wBACnC,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAED,2DAA2D;gBAC3D,IAAI,UAAU,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,CAAC;oBACnD,MAAM,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;wBACrD,CAAC,CAAC,UAAU;wBACZ,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,CAAC;oBAChD,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;gBAED,4FAA4F;gBAC5F,wGAAwG;gBACxG,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnE,MAAM,uBAAuB,GAAG,GAAG,eAAe,0BAA0B,CAAC;oBAE7E,0EAA0E;oBAC1E,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAChD,MAAM,UAAU,GACd,UAAU,KAAK,CAAC,CAAC;wBACf,CAAC,CAAC,eAAe;wBACjB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;oBAC3C,MAAM,eAAe,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACxD,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,gBAAgB,CAAC;oBAErE,2EAA2E;oBAC3E,+CAA+C;oBAC/C,qFAAqF;oBACrF,IACE,MAAM,CAAC,uBAAuB,CAAC;wBAC/B,MAAM,CAAC,uBAAuB,CAAC,KAAK,UAAU;wBAC9C,MAAM,CAAC,uBAAuB,CAAC,KAAK,OAAO;wBAC3C,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,EACrC,CAAC;wBACD,MAAM,CAAC,uBAAuB,CAAC,GAAG,UAAU,CAAC;wBAC7C,UAAU,GAAG,IAAI,CAAC;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,UAAU,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;YAChC,iCAAiC,CAAC;gBAChC,SAAS;gBACT,MAAM;gBACN,YAAY;gBACZ,QAAQ,EAAE,EAAE,QAAQ;gBACpB,eAAe;gBACf,uEAAuE;gBACvE,oBAAoB,EAAE,mBAAmB;gBACzC,eAAe,EAAE,cAAc;gBAC/B,WAAW,EAAE,UAAU;gBACvB,iBAAiB,EAAE,gBAAgB;gBACnC,eAAe,EAAE,cAAc;gBAC/B,eAAe,EAAE,cAAc;gBAC/B,cAAc,EAAE,aAAa;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,+FAA+F;QAC/F,uFAAuF;QACvF,oFAAoF;QACpF,uFAAuF;QACvF,qBAAqB;QACrB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;gBACrC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBACtC,IAAI,UAAU,EAAE,CAAC;oBACf,kDAAkD;oBAClD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC/D,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,MAAM,CACzC,CAAC;oBACF,4DAA4D;oBAC5D,qEAAqE;oBACrE,IACE,gBAAgB,CAAC,MAAM,GAAG,CAAC;wBAC3B,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,QAAQ,CAAC,EAC9D,CAAC;wBACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,uDAAuD,EACvD,IAAI,CAAC,SAAS,CACZ;YACE,SAAS;YACT,MAAM;SACP,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACjD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAE9D,SAAS,cAAc,CAAC,KAA4B,EAAE,IAAY;IAChE,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACrD,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAe;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACvB,CAAC;QACD,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY,EAAE,MAA2B;IACxE,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,MAAM,YAAY,IAAI,MAAM,EAAE,CAAC;QAClC,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,iBAAiB,GAAG,gCAAgC,CAAC,YAAY,CAAC,CAAC;YACzE,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC7D,2FAA2F;YAC3F,IAAI,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO,UAAU,CAAC;YACpB,CAAC;iBAAM,IAAI,iBAAiB,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;gBACvD,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,+FAA+F;AAC/F,sEAAsE;AACtE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,MAAM;IACN,KAAK;IACL,SAAS;IACT,MAAM;IACN,QAAQ;IACR,SAAS;CACV,CAAC,CAAC;AAEH,0EAA0E;AAC1E,oFAAoF;AACpF,4EAA4E;AAC5E,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC;IACnC,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,OAAO;IACP,MAAM;IACN,MAAM;IACN,WAAW;IACX,UAAU;IACV,eAAe;IACf,MAAM;IACN,SAAS;IACT,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,WAAW;IACX,MAAM;CACP,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAS,wBAAwB,CAAC,UAAkB;IAClD,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,UAAU,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,gBAAgB,CACvB,GAAW,EACX,gCAA0D;IAE1D,IAAI,OAA4B,CAAC;IACjC,IAAI,QAA6B,CAAC;IAClC,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,4BAA4B,GAAG,IAAI,CAAC;IACxC,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,gCAAgC,GAAG,KAAK,CAAC;IAE7C,MAAM,OAAO,GAAG,gCAAgC,CAAC,GAAG,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE7C,KAAK,MAAM,uBAAuB,IAAI,OAAO,EAAE,CAAC;QAC9C,gFAAgF;QAChF,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEhE,MAAM,SAAS,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QAC5D,MAAM,YAAY,GAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,uBAAuB,KAAK,QAAQ,CAAC;QACtE,MAAM,aAAa,GACjB,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,uBAAuB,KAAK,QAAQ,CAAC;QAEvE,uBAAuB;QACvB,IAAI,uBAAuB,KAAK,QAAQ,EAAE,CAAC;YACzC,eAAe,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,+EAA+E;QAC/E,gGAAgG;QAChG,wEAAwE;QACxE,+EAA+E;QAC/E,IACE,CAAC,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,SAAS,CAAC;YACvD,uBAAuB,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrC,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,EAClD,CAAC;YACD,gCAAgC,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,2EAA2E;QAC3E,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,sBAAsB,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,kDAAkD;QAClD,IAAI,YAAY,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,4BAA4B,GAAG,KAAK,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,IAAI,YAAY,EAAE,CAAC;YACtC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,KAAK,KAAK,IAAI,aAAa,EAAE,CAAC;YACxC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,qFAAqF;IACrF,IAAI,OAAO,IAAI,sBAAsB,EAAE,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,yFAAyF;IACzF,0FAA0F;IAC1F,wGAAwG;IACxG,IAAI,OAAO,IAAI,eAAe,IAAI,gCAAgC,EAAE,CAAC;QACnE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,0DAA0D;IAC1D,sEAAsE;IACtE,kFAAkF;IAClF,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,sEAAsE;IACtE,6DAA6D;IAC7D,IAAI,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,6CAA6C;AAC7C,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,KAAK;IACL,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,UAAU;IACV,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,YAAY;IACZ,OAAO;IACP,MAAM;IACN,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,SAAS;IACT,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,UAAU;IACV,YAAY;IACZ,MAAM;IACN,WAAW;IACX,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,SAAS;IACT,4DAA4D;CAC7D,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,IAAI;IACJ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,UAAU;IACV,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAEH;;;;;GAKG;AACH,SAAS,eAAe,CAAC,UAAe;IACtC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAE3B,0BAA0B;IAC1B,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE3C,sFAAsF;IACtF,mCAAmC;IACnC,6CAA6C;IAC7C,0CAA0C;IAC1C,MAAM,KAAK,GAAG,UAAU;SACrB,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,+DAA+D;SACzG,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,6DAA6D;SACnG,KAAK,CAAC,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,sDAAsD;AAC7H,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAY;IAClC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,uDAAuD;IACvD,OAAO,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,OAAY;IACnC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,oEAAoE;IACpE,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE1E,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACrE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAY;IAChC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,sCAAsC;IACtC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC7B,MAAM;QACN,MAAM;QACN,WAAW;QACX,UAAU;QACV,KAAK;QACL,OAAO;QACP,MAAM;QACN,UAAU;QACV,OAAO;KACR,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC"}
|