@ssmeo/mcp-local-rag 0.18.13 → 0.19.0
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/README.de.md +248 -215
- package/README.es.md +241 -215
- package/README.fr.md +249 -215
- package/README.md +207 -297
- package/README.pt-BR.md +236 -215
- package/README.zh-CN.md +133 -206
- package/dist/chunker/semantic-chunker.d.ts +23 -5
- package/dist/chunker/semantic-chunker.d.ts.map +1 -1
- package/dist/chunker/semantic-chunker.js +13 -5
- package/dist/chunker/semantic-chunker.js.map +1 -1
- package/dist/cli/common.d.ts +7 -0
- package/dist/cli/common.d.ts.map +1 -1
- package/dist/cli/common.js +26 -2
- package/dist/cli/common.js.map +1 -1
- package/dist/cli/delete.d.ts.map +1 -1
- package/dist/cli/delete.js +2 -0
- package/dist/cli/delete.js.map +1 -1
- package/dist/cli/download-model.d.ts +3 -0
- package/dist/cli/download-model.d.ts.map +1 -0
- package/dist/cli/download-model.js +21 -0
- package/dist/cli/download-model.js.map +1 -0
- package/dist/cli/file-collection.d.ts +2 -1
- package/dist/cli/file-collection.d.ts.map +1 -1
- package/dist/cli/file-collection.js +2 -2
- package/dist/cli/file-collection.js.map +1 -1
- package/dist/cli/ingest.d.ts +1 -0
- package/dist/cli/ingest.d.ts.map +1 -1
- package/dist/cli/ingest.js +45 -25
- package/dist/cli/ingest.js.map +1 -1
- package/dist/cli/list.d.ts.map +1 -1
- package/dist/cli/list.js +9 -13
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/options.d.ts +8 -0
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +21 -0
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/query.d.ts.map +1 -1
- package/dist/cli/query.js +2 -1
- package/dist/cli/query.js.map +1 -1
- package/dist/cli/read-neighbors.d.ts.map +1 -1
- package/dist/cli/read-neighbors.js +1 -0
- package/dist/cli/read-neighbors.js.map +1 -1
- package/dist/cli/relocate.d.ts +3 -0
- package/dist/cli/relocate.d.ts.map +1 -0
- package/dist/cli/relocate.js +135 -0
- package/dist/cli/relocate.js.map +1 -0
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +17 -8
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli-main.d.ts +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli-main.js +5 -0
- package/dist/cli-main.js.map +1 -1
- package/dist/embedder/embedding-snapshot.d.ts +52 -0
- package/dist/embedder/embedding-snapshot.d.ts.map +1 -0
- package/dist/embedder/embedding-snapshot.js +413 -0
- package/dist/embedder/embedding-snapshot.js.map +1 -0
- package/dist/embedder/index.d.ts +36 -5
- package/dist/embedder/index.d.ts.map +1 -1
- package/dist/embedder/index.js +351 -24
- package/dist/embedder/index.js.map +1 -1
- package/dist/embedder/remote.d.ts +42 -4
- package/dist/embedder/remote.d.ts.map +1 -1
- package/dist/embedder/remote.js +113 -5
- package/dist/embedder/remote.js.map +1 -1
- package/dist/embedder/sentence-transformers-config.d.ts +24 -0
- package/dist/embedder/sentence-transformers-config.d.ts.map +1 -0
- package/dist/embedder/sentence-transformers-config.js +93 -0
- package/dist/embedder/sentence-transformers-config.js.map +1 -0
- package/dist/features/sync.js +1 -1
- package/dist/features/sync.js.map +1 -1
- package/dist/ingest/compute.d.ts +15 -7
- package/dist/ingest/compute.d.ts.map +1 -1
- package/dist/ingest/compute.js +74 -14
- package/dist/ingest/compute.js.map +1 -1
- package/dist/ingest/file.d.ts +3 -3
- package/dist/ingest/file.d.ts.map +1 -1
- package/dist/ingest/file.js +0 -5
- package/dist/ingest/file.js.map +1 -1
- package/dist/ingest/visual.d.ts +6 -2
- package/dist/ingest/visual.d.ts.map +1 -1
- package/dist/ingest/visual.js +20 -4
- package/dist/ingest/visual.js.map +1 -1
- package/dist/parser/docx-parser.d.ts +2 -0
- package/dist/parser/docx-parser.d.ts.map +1 -1
- package/dist/parser/docx-parser.js +12 -3
- package/dist/parser/docx-parser.js.map +1 -1
- package/dist/parser/index.d.ts +11 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +27 -11
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/pdf-extract.d.ts +2 -0
- package/dist/parser/pdf-extract.d.ts.map +1 -1
- package/dist/parser/pdf-extract.js +3 -0
- package/dist/parser/pdf-extract.js.map +1 -1
- package/dist/parser/pdf-filter.d.ts +2 -9
- package/dist/parser/pdf-filter.d.ts.map +1 -1
- package/dist/parser/pdf-filter.js +110 -144
- package/dist/parser/pdf-filter.js.map +1 -1
- package/dist/parser/pdf-headings.d.ts +6 -0
- package/dist/parser/pdf-headings.d.ts.map +1 -0
- package/dist/parser/pdf-headings.js +166 -0
- package/dist/parser/pdf-headings.js.map +1 -0
- package/dist/parser/text-source-map.d.ts +3 -0
- package/dist/parser/text-source-map.d.ts.map +1 -0
- package/dist/parser/text-source-map.js +33 -0
- package/dist/parser/text-source-map.js.map +1 -0
- package/dist/pdf-visual/captioner.d.ts.map +1 -1
- package/dist/pdf-visual/captioner.js +7 -4
- package/dist/pdf-visual/captioner.js.map +1 -1
- package/dist/pdf-visual/detector.js +3 -3
- package/dist/pdf-visual/detector.js.map +1 -1
- package/dist/rerank/command.d.ts +10 -7
- package/dist/rerank/command.d.ts.map +1 -1
- package/dist/rerank/command.js +51 -10
- package/dist/rerank/command.js.map +1 -1
- package/dist/rerank/index.d.ts +3 -3
- package/dist/rerank/index.d.ts.map +1 -1
- package/dist/rerank/index.js +3 -3
- package/dist/rerank/index.js.map +1 -1
- package/dist/server/index.d.ts +8 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +129 -81
- package/dist/server/index.js.map +1 -1
- package/dist/server/list-scanner.d.ts +2 -1
- package/dist/server/list-scanner.d.ts.map +1 -1
- package/dist/server/list-scanner.js +2 -2
- package/dist/server/list-scanner.js.map +1 -1
- package/dist/server/tool-definitions.js +2 -2
- package/dist/server/tool-definitions.js.map +1 -1
- package/dist/server/types.d.ts +9 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server-main.d.ts +2 -2
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +22 -20
- package/dist/server-main.js.map +1 -1
- package/dist/utils/base-dirs.d.ts +9 -10
- package/dist/utils/base-dirs.d.ts.map +1 -1
- package/dist/utils/base-dirs.js +28 -30
- package/dist/utils/base-dirs.js.map +1 -1
- package/dist/utils/scan.d.ts +25 -5
- package/dist/utils/scan.d.ts.map +1 -1
- package/dist/utils/scan.js +40 -10
- package/dist/utils/scan.js.map +1 -1
- package/dist/utils/source-context.d.ts +29 -0
- package/dist/utils/source-context.d.ts.map +1 -0
- package/dist/utils/source-context.js +86 -0
- package/dist/utils/source-context.js.map +1 -0
- package/dist/utils/sync-path-key.d.ts +1 -1
- package/dist/utils/sync-path-key.d.ts.map +1 -1
- package/dist/utils/sync-path-key.js +1 -1
- package/dist/utils/sync-path-key.js.map +1 -1
- package/dist/vectordb/index.d.ts +4 -2
- package/dist/vectordb/index.d.ts.map +1 -1
- package/dist/vectordb/index.js +33 -8
- package/dist/vectordb/index.js.map +1 -1
- package/dist/vectordb/relocate.d.ts +18 -0
- package/dist/vectordb/relocate.d.ts.map +1 -0
- package/dist/vectordb/relocate.js +179 -0
- package/dist/vectordb/relocate.js.map +1 -0
- package/dist/vectordb/types.d.ts +10 -23
- package/dist/vectordb/types.d.ts.map +1 -1
- package/dist/vectordb/types.js +14 -23
- package/dist/vectordb/types.js.map +1 -1
- package/package.json +14 -14
package/dist/server/index.js
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { readFile, stat, unlink, writeFile } from 'node:fs/promises';
|
|
4
4
|
import { createRequire } from 'node:module';
|
|
5
|
-
import { resolve
|
|
5
|
+
import { resolve } from 'node:path';
|
|
6
6
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
7
7
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
8
8
|
import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } from '@modelcontextprotocol/sdk/types.js';
|
|
9
9
|
import { startAutoSyncWatch } from '../auto-sync-watch.js';
|
|
10
10
|
import { DEFAULT_MIN_CHUNK_LENGTH, SemanticChunker } from '../chunker/index.js';
|
|
11
11
|
import { collectFiles } from '../cli/file-collection.js';
|
|
12
|
+
import { DocumentEmbeddingSession, removeEmbeddingSnapshot, } from '../embedder/embedding-snapshot.js';
|
|
12
13
|
import { Embedder } from '../embedder/index.js';
|
|
13
14
|
import { RemoteEmbedder } from '../embedder/remote.js';
|
|
14
15
|
import { listDocuments } from '../features/list.js';
|
|
@@ -17,13 +18,14 @@ import { buildChunksAndEmbeddings, buildVectorChunks, computeContentHash, } from
|
|
|
17
18
|
import { buildPreparedFileVectorChunks, prepareFileForIngest, } from '../ingest/file.js';
|
|
18
19
|
import { parseHtml } from '../parser/html-parser.js';
|
|
19
20
|
import { DocumentParser, ValidationError } from '../parser/index.js';
|
|
21
|
+
import { textSourceMap } from '../parser/text-source-map.js';
|
|
20
22
|
import { extractMarkdownTitle, extractTxtTitle } from '../parser/title-extractor.js';
|
|
21
23
|
import { rerankCandidates } from '../rerank/index.js';
|
|
22
24
|
import { displayPath } from '../utils/base-dirs.js';
|
|
23
25
|
import { toError } from '../utils/errors.js';
|
|
24
26
|
import { DEFAULT_RERANK_TIMEOUT_MS, MAX_QUERY_LIMIT, MAX_SCAN_DEPTH, RERANK_CANDIDATE_MULTIPLIER, } from '../utils/limits.js';
|
|
25
27
|
import { checkRawDataArtifacts, extractSourceFromPath, generateMetaJsonPath, generateRawDataPath, isEnoent, isManagedRawDataPath, isPathInRawDataDir, isPathInRawDataDirLexical, loadMetaJson, saveMetaJson, saveRawData, } from '../utils/raw-data-utils.js';
|
|
26
|
-
import { bfsCollectSupportedFiles, canonicalizeRequestedPath, classifyRequestedPath, } from '../utils/scan.js';
|
|
28
|
+
import { bfsCollectSupportedFiles, buildScanExclusion, canonicalizeRequestedPath, classifyRequestedPath, } from '../utils/scan.js';
|
|
27
29
|
import { nonAbsolutePrefixes } from '../utils/scope-match.js';
|
|
28
30
|
import { isRecord } from '../utils/type-guards.js';
|
|
29
31
|
import { VectorStore } from '../vectordb/index.js';
|
|
@@ -138,8 +140,7 @@ export class RAGServer {
|
|
|
138
140
|
/** Legacy single-root accessor for `rawBaseDirs`. Derived from `rawBaseDirs[0]`. */
|
|
139
141
|
rawBaseDir;
|
|
140
142
|
cacheDir;
|
|
141
|
-
|
|
142
|
-
excludePaths;
|
|
143
|
+
scanExclusion;
|
|
143
144
|
configWarnings;
|
|
144
145
|
/**
|
|
145
146
|
* When non-null the server is in degraded mode: `status` stays callable so the
|
|
@@ -191,7 +192,12 @@ export class RAGServer {
|
|
|
191
192
|
this.storeImages = config.storeImages ?? false;
|
|
192
193
|
this.rerankCommand = config.rerankCommand;
|
|
193
194
|
this.rerankTimeoutMs = config.rerankTimeoutMs ?? DEFAULT_RERANK_TIMEOUT_MS;
|
|
194
|
-
this.
|
|
195
|
+
this.scanExclusion = buildScanExclusion({
|
|
196
|
+
dbPath: this.dbPath,
|
|
197
|
+
cacheDir: this.cacheDir,
|
|
198
|
+
roots: { baseDirs: this.baseDirs, rawBaseDirs },
|
|
199
|
+
ignorePatterns: config.ignorePatterns,
|
|
200
|
+
});
|
|
195
201
|
this.server = new Server({ name: 'rag-mcp-server', version: packageVersion }, { capabilities: { tools: {} } });
|
|
196
202
|
// Component initialization
|
|
197
203
|
// Only pass quality filter settings if they are defined
|
|
@@ -223,10 +229,7 @@ export class RAGServer {
|
|
|
223
229
|
if (config.dtype !== undefined) {
|
|
224
230
|
embedderConfig.dtype = config.dtype;
|
|
225
231
|
}
|
|
226
|
-
|
|
227
|
-
? new RemoteEmbedder({ serverUrl: config.embeddingServerUrl, batchSize: 16 })
|
|
228
|
-
: new Embedder(embedderConfig);
|
|
229
|
-
this.embedder = embedder;
|
|
232
|
+
this.embedder = this.buildEmbedder(config, embedderConfig);
|
|
230
233
|
this.chunker = new SemanticChunker(config.chunkMinLength !== undefined ? { minChunkLength: config.chunkMinLength } : {});
|
|
231
234
|
// Always construct the parser with the multi-root shape — the parser
|
|
232
235
|
// accepts a single-element `baseDirs` array as the byte-equivalent of
|
|
@@ -251,9 +254,19 @@ export class RAGServer {
|
|
|
251
254
|
throw this.configError;
|
|
252
255
|
}
|
|
253
256
|
}
|
|
257
|
+
/** Finish the embedder config (title/heading prefixes) and pick local vs remote. */
|
|
258
|
+
buildEmbedder(config, embedderConfig) {
|
|
259
|
+
if (config.titlePrefix) {
|
|
260
|
+
embedderConfig.titlePrefix = true;
|
|
261
|
+
}
|
|
262
|
+
embedderConfig.headingPrefix = config.headingPrefix === true;
|
|
263
|
+
return config.embeddingServerUrl !== undefined
|
|
264
|
+
? new RemoteEmbedder({ serverUrl: config.embeddingServerUrl, batchSize: 16 })
|
|
265
|
+
: new Embedder(embedderConfig);
|
|
266
|
+
}
|
|
254
267
|
/** Every handler funnels through here, so the warning shape lives in one place. */
|
|
255
268
|
withWarnings(content) {
|
|
256
|
-
return appendConfigWarnings(content, this.configWarnings);
|
|
269
|
+
return appendConfigWarnings(content, [...this.configWarnings, ...this.embedder.modelWarnings]);
|
|
257
270
|
}
|
|
258
271
|
/**
|
|
259
272
|
* Take the single external-mutation slot, or describe the overlap.
|
|
@@ -349,12 +362,12 @@ export class RAGServer {
|
|
|
349
362
|
*/
|
|
350
363
|
async initialize() {
|
|
351
364
|
await this.vectorStore.initialize();
|
|
352
|
-
|
|
365
|
+
this.autoSyncWatchers = startAutoSyncWatch({
|
|
353
366
|
baseDirs: this.baseDirs,
|
|
354
367
|
onDriftSignal: () => this.maybeAutoSync(),
|
|
355
368
|
onError: (message) => console.error(message),
|
|
356
369
|
});
|
|
357
|
-
if (
|
|
370
|
+
if (this.autoSyncWatchers.length > 0) {
|
|
358
371
|
console.error('Auto-sync: watching document roots for changes');
|
|
359
372
|
}
|
|
360
373
|
console.error('RAGServer initialized');
|
|
@@ -379,7 +392,7 @@ export class RAGServer {
|
|
|
379
392
|
this.maybeAutoSync();
|
|
380
393
|
// query_documents reads only LanceDB, so it stays callable in degraded
|
|
381
394
|
// mode; `withWarnings` and `status` remain the diagnostic surface.
|
|
382
|
-
const queryVector = await this.embedder.embed(args.query);
|
|
395
|
+
const queryVector = await this.embedder.embed(args.query, 'query');
|
|
383
396
|
// A reranker only improves on what the search returned, so it is given more
|
|
384
397
|
// candidates than the caller asked for. `search` applies every filter and
|
|
385
398
|
// caps at `limit`, so the expansion has to be requested up front.
|
|
@@ -415,6 +428,7 @@ export class RAGServer {
|
|
|
415
428
|
text: candidate.text,
|
|
416
429
|
score: candidate.score,
|
|
417
430
|
fileTitle: candidate.fileTitle ?? null,
|
|
431
|
+
...(candidate.sourceContext ? { sourceContext: candidate.sourceContext } : {}),
|
|
418
432
|
images: attachmentsById.get(candidate.id) ?? [],
|
|
419
433
|
};
|
|
420
434
|
if (isManagedRawDataPath(candidate.filePath, this.dbPath)) {
|
|
@@ -487,14 +501,17 @@ export class RAGServer {
|
|
|
487
501
|
};
|
|
488
502
|
}
|
|
489
503
|
/** What one ingest source contributed, before rows are built and stored. */
|
|
490
|
-
async prepareRawDataIngest(filePath) {
|
|
504
|
+
async prepareRawDataIngest(filePath, embedder) {
|
|
491
505
|
// Raw-data files: skip parser validation, read directly.
|
|
492
506
|
const sourceBytes = await readFile(filePath);
|
|
493
507
|
const text = sourceBytes.toString('utf-8');
|
|
494
508
|
const meta = await loadMetaJson(filePath);
|
|
495
509
|
const title = meta?.title ?? null;
|
|
496
510
|
console.error(`Read raw-data file: ${filePath} (${text.length} characters)`);
|
|
497
|
-
const { chunks, embeddings } = await buildChunksAndEmbeddings(text, this.chunker,
|
|
511
|
+
const { chunks, embeddings } = await buildChunksAndEmbeddings(text, this.chunker, embedder, {
|
|
512
|
+
title,
|
|
513
|
+
sourceMap: textSourceMap(text, true),
|
|
514
|
+
});
|
|
498
515
|
return {
|
|
499
516
|
title,
|
|
500
517
|
omittedImageCount: 0,
|
|
@@ -502,13 +519,12 @@ export class RAGServer {
|
|
|
502
519
|
filePath,
|
|
503
520
|
chunks,
|
|
504
521
|
embeddings,
|
|
505
|
-
fileSize: text.length,
|
|
506
522
|
fileTitle: title,
|
|
507
523
|
contentHash: computeContentHash(sourceBytes),
|
|
508
524
|
}),
|
|
509
525
|
};
|
|
510
526
|
}
|
|
511
|
-
async prepareSourceFileIngest(filePath, options) {
|
|
527
|
+
async prepareSourceFileIngest(filePath, options, embedder) {
|
|
512
528
|
// The MCP boundary accepts an arbitrary client path, unlike CLI ingestion
|
|
513
529
|
// paths that have already passed a regular-file collector. Reject a FIFO
|
|
514
530
|
// before the shared whole-file hash read can block the mutation slot.
|
|
@@ -517,7 +533,7 @@ export class RAGServer {
|
|
|
517
533
|
if (!(await stat(filePath)).isFile()) {
|
|
518
534
|
throw new ValidationError(`Ingest source is not a regular file: ${filePath}`);
|
|
519
535
|
}
|
|
520
|
-
const preparedFile = await prepareFileForIngest(filePath, { parser: this.parser, chunker: this.chunker, embedder
|
|
536
|
+
const preparedFile = await prepareFileForIngest(filePath, { parser: this.parser, chunker: this.chunker, embedder }, options);
|
|
521
537
|
return {
|
|
522
538
|
title: preparedFile.title,
|
|
523
539
|
omittedImageCount: preparedFile.omittedImageCount,
|
|
@@ -544,6 +560,23 @@ export class RAGServer {
|
|
|
544
560
|
throw new DatabaseError(`Ingest failed and rollback failed for ${filePath}; existing data may not have been restored. Original insert error: ${toError(insertError).message}`, { cause: toError(insertError) });
|
|
545
561
|
}
|
|
546
562
|
}
|
|
563
|
+
async prepareIngestSource(args, options, isRawData, session) {
|
|
564
|
+
if (isRawData) {
|
|
565
|
+
return await this.prepareRawDataIngest(args.filePath, session);
|
|
566
|
+
}
|
|
567
|
+
return await this.prepareSourceFileIngest(args.filePath, {
|
|
568
|
+
images: supportsEmbeddedImages(args.filePath) && (options.images ?? this.storeImages),
|
|
569
|
+
...(args.visual === true
|
|
570
|
+
? {
|
|
571
|
+
captioner: {
|
|
572
|
+
profile: args.visualQuality ?? 'fast',
|
|
573
|
+
cacheDir: this.cacheDir,
|
|
574
|
+
device: this.device,
|
|
575
|
+
},
|
|
576
|
+
}
|
|
577
|
+
: {}),
|
|
578
|
+
}, session);
|
|
579
|
+
}
|
|
547
580
|
async ingestFile(args, options = {}) {
|
|
548
581
|
const isRawData = await isPathInRawDataDir(args.filePath, this.dbPath);
|
|
549
582
|
// Skip the configError gate only for paths structurally inside
|
|
@@ -554,69 +587,65 @@ export class RAGServer {
|
|
|
554
587
|
// `args.filePath` is the DB key (backup/delete/insert/result), stored
|
|
555
588
|
// verbatim so lookups match (realpath stays in validateFilePath; see
|
|
556
589
|
// BaseDirsConfig for the path policy).
|
|
557
|
-
const
|
|
558
|
-
const visualQuality = args.visualQuality ?? 'fast';
|
|
590
|
+
const session = new DocumentEmbeddingSession(this.dbPath, args.filePath, this.embedder);
|
|
559
591
|
// No outer error-mapping catch: failures reach the central dispatcher
|
|
560
592
|
// mapper with their original identity. The inner insert/rollback catch is
|
|
561
593
|
// local-effect only.
|
|
562
|
-
const prepared = isRawData
|
|
563
|
-
? await this.prepareRawDataIngest(args.filePath)
|
|
564
|
-
: await this.prepareSourceFileIngest(args.filePath, {
|
|
565
|
-
images: supportsEmbeddedImages(args.filePath) && (options.images ?? this.storeImages),
|
|
566
|
-
...(visualArg === true
|
|
567
|
-
? {
|
|
568
|
-
captioner: { profile: visualQuality, cacheDir: this.cacheDir, device: this.device },
|
|
569
|
-
}
|
|
570
|
-
: {}),
|
|
571
|
-
});
|
|
572
|
-
const title = prepared.title;
|
|
573
|
-
let vectorChunks = prepared.vectorChunks;
|
|
574
|
-
const preparedFile = prepared.preparedFile;
|
|
575
|
-
if (prepared.omittedImageCount > 0) {
|
|
576
|
-
console.warn(`Skipped ${prepared.omittedImageCount} undecodable or oversized image(s) in ${args.filePath}`);
|
|
577
|
-
}
|
|
578
|
-
// Fail-fast: Prevent data loss when chunking produces 0 chunks
|
|
579
|
-
// This check must happen BEFORE delete to preserve existing data on re-ingest
|
|
580
|
-
const chunkCount = vectorChunks?.length ?? preparedFile?.chunks.length ?? 0;
|
|
581
|
-
if (chunkCount === 0) {
|
|
582
|
-
throw new NoChunksError(ErrorCode.InvalidParams, `No chunks generated from file: ${args.filePath}. The file may be empty or all content was filtered (minimum ${this.minChunkLength} characters required). Existing data has been preserved.`);
|
|
583
|
-
}
|
|
584
|
-
// Back up existing chunks BEFORE the destructive delete, with their real
|
|
585
|
-
// stored vectors, so a failed re-ingest rolls back without corrupting them.
|
|
586
|
-
// A failed read propagates from here, leaving the existing data untouched,
|
|
587
|
-
// rather than proceeding into the delete with a partial backup.
|
|
588
|
-
const backup = await this.vectorStore.getChunksByFilePath(args.filePath);
|
|
589
|
-
if (backup.length > 0) {
|
|
590
|
-
console.error(`Backup created: ${backup.length} chunks for ${args.filePath}`);
|
|
591
|
-
}
|
|
592
|
-
// Preserve the original server ordering: row construction follows the
|
|
593
|
-
// backup read but still completes before the destructive delete.
|
|
594
|
-
if (preparedFile !== undefined) {
|
|
595
|
-
vectorChunks = buildPreparedFileVectorChunks(preparedFile);
|
|
596
|
-
}
|
|
597
|
-
if (vectorChunks === undefined) {
|
|
598
|
-
throw new DatabaseError(`No chunks were prepared for ingest: ${args.filePath}`);
|
|
599
|
-
}
|
|
600
|
-
const chunksToInsert = vectorChunks;
|
|
601
|
-
// Delete existing data
|
|
602
|
-
await this.vectorStore.deleteChunks(args.filePath);
|
|
603
|
-
console.error(`Deleted existing chunks for: ${args.filePath}`);
|
|
604
|
-
// Insert vectors (transaction processing)
|
|
605
594
|
try {
|
|
606
|
-
await this.
|
|
607
|
-
|
|
595
|
+
const prepared = await this.prepareIngestSource(args, options, isRawData, session);
|
|
596
|
+
const title = prepared.title;
|
|
597
|
+
let vectorChunks = prepared.vectorChunks;
|
|
598
|
+
const preparedFile = prepared.preparedFile;
|
|
599
|
+
if (prepared.omittedImageCount > 0) {
|
|
600
|
+
console.warn(`Skipped ${prepared.omittedImageCount} undecodable or oversized image(s) in ${args.filePath}`);
|
|
601
|
+
}
|
|
602
|
+
// Fail-fast: Prevent data loss when chunking produces 0 chunks
|
|
603
|
+
// This check must happen BEFORE delete to preserve existing data on re-ingest
|
|
604
|
+
const chunkCount = vectorChunks?.length ?? preparedFile?.chunks.length ?? 0;
|
|
605
|
+
if (chunkCount === 0) {
|
|
606
|
+
throw new NoChunksError(ErrorCode.InvalidParams, `No chunks generated from file: ${args.filePath}. The file may be empty or all content was filtered (minimum ${this.minChunkLength} characters required). Existing data has been preserved.`);
|
|
607
|
+
}
|
|
608
|
+
// Back up existing chunks BEFORE the destructive delete, with their real
|
|
609
|
+
// stored vectors, so a failed re-ingest rolls back without corrupting them.
|
|
610
|
+
// A failed read propagates from here, leaving the existing data untouched,
|
|
611
|
+
// rather than proceeding into the delete with a partial backup.
|
|
612
|
+
const backup = await this.vectorStore.getChunksByFilePath(args.filePath);
|
|
613
|
+
if (backup.length > 0) {
|
|
614
|
+
console.error(`Backup created: ${backup.length} chunks for ${args.filePath}`);
|
|
615
|
+
}
|
|
616
|
+
// Preserve the original server ordering: row construction follows the
|
|
617
|
+
// backup read but still completes before the destructive delete.
|
|
618
|
+
if (preparedFile !== undefined) {
|
|
619
|
+
vectorChunks = buildPreparedFileVectorChunks(preparedFile);
|
|
620
|
+
}
|
|
621
|
+
if (vectorChunks === undefined) {
|
|
622
|
+
throw new DatabaseError(`No chunks were prepared for ingest: ${args.filePath}`);
|
|
623
|
+
}
|
|
624
|
+
const chunksToInsert = vectorChunks;
|
|
625
|
+
// Delete existing data
|
|
626
|
+
await this.vectorStore.deleteChunks(args.filePath);
|
|
627
|
+
console.error(`Deleted existing chunks for: ${args.filePath}`);
|
|
628
|
+
// Insert vectors (transaction processing)
|
|
629
|
+
try {
|
|
630
|
+
await this.vectorStore.insertChunks(chunksToInsert);
|
|
631
|
+
console.error(`Inserted ${chunksToInsert.length} chunks for: ${args.filePath}`);
|
|
632
|
+
}
|
|
633
|
+
catch (insertError) {
|
|
634
|
+
console.error('Ingestion failed, rolling back...', insertError);
|
|
635
|
+
await this.rollbackIngest(args.filePath, backup, insertError);
|
|
636
|
+
throw insertError;
|
|
637
|
+
}
|
|
638
|
+
await session.publish();
|
|
639
|
+
return {
|
|
640
|
+
filePath: args.filePath,
|
|
641
|
+
chunkCount,
|
|
642
|
+
timestamp: new Date().toISOString(),
|
|
643
|
+
fileTitle: title || null,
|
|
644
|
+
};
|
|
608
645
|
}
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
await this.rollbackIngest(args.filePath, backup, insertError);
|
|
612
|
-
throw insertError;
|
|
646
|
+
finally {
|
|
647
|
+
session.dispose();
|
|
613
648
|
}
|
|
614
|
-
return {
|
|
615
|
-
filePath: args.filePath,
|
|
616
|
-
chunkCount,
|
|
617
|
-
timestamp: new Date().toISOString(),
|
|
618
|
-
fileTitle: title || null,
|
|
619
|
-
};
|
|
620
649
|
}
|
|
621
650
|
/**
|
|
622
651
|
* Saves raw content under raw-data and re-enters `handleIngestFile`. HTML is
|
|
@@ -732,7 +761,7 @@ export class RAGServer {
|
|
|
732
761
|
dbPath: this.dbPath,
|
|
733
762
|
ingested,
|
|
734
763
|
scope,
|
|
735
|
-
scan: (baseDir, scanScope) => scanBaseDir(baseDir, this.
|
|
764
|
+
scan: (baseDir, scanScope) => scanBaseDir(baseDir, this.scanExclusion, scanScope),
|
|
736
765
|
});
|
|
737
766
|
const files = listed.files;
|
|
738
767
|
const sources = listed.sources;
|
|
@@ -807,6 +836,7 @@ export class RAGServer {
|
|
|
807
836
|
const targetPath = await this.resolveDocumentTarget(args);
|
|
808
837
|
// Delete chunks from vector database
|
|
809
838
|
const removedChunks = await this.vectorStore.deleteChunks(targetPath);
|
|
839
|
+
await removeEmbeddingSnapshot(this.dbPath, targetPath);
|
|
810
840
|
// Optimize immediately after the DB delete: a later raw-data unlink failure
|
|
811
841
|
// must not skip compaction once the rows are already gone.
|
|
812
842
|
await this.vectorStore.optimize();
|
|
@@ -883,6 +913,7 @@ export class RAGServer {
|
|
|
883
913
|
text: row.text,
|
|
884
914
|
isTarget: row.chunkIndex === args.chunkIndex,
|
|
885
915
|
fileTitle: row.fileTitle ?? null,
|
|
916
|
+
...(row.sourceContext ? { sourceContext: row.sourceContext } : {}),
|
|
886
917
|
};
|
|
887
918
|
if (sourceForAll) {
|
|
888
919
|
item.source = sourceForAll;
|
|
@@ -923,10 +954,14 @@ export class RAGServer {
|
|
|
923
954
|
lastAutoSyncFingerprint = null;
|
|
924
955
|
autoSyncQueued = false;
|
|
925
956
|
lastAutoSyncAttempt = 0;
|
|
957
|
+
/** Started by initialize(), stopped by close() — leaked watchers keep
|
|
958
|
+
* receiving events (and Linux recursive-watch scans can then hit torn-down
|
|
959
|
+
* or unreadable fixtures, surfacing as unhandled EACCES after the test). */
|
|
960
|
+
autoSyncWatchers = [];
|
|
926
961
|
async computeDocsFingerprint() {
|
|
927
962
|
const parts = [];
|
|
928
963
|
for (const dir of this.baseDirs) {
|
|
929
|
-
const files = await collectFiles(dir, this.baseDirs, []);
|
|
964
|
+
const files = await collectFiles(dir, this.baseDirs, { prefixes: [] });
|
|
930
965
|
for (const f of files.sort()) {
|
|
931
966
|
const st = await stat(f);
|
|
932
967
|
parts.push(`${f}:${st.size}:${Math.floor(st.mtimeMs)}`);
|
|
@@ -1064,11 +1099,11 @@ export class RAGServer {
|
|
|
1064
1099
|
// A path whose read would never return (a FIFO) is refused here too, which
|
|
1065
1100
|
// matters more on this surface than on the CLI: the mutation guard is
|
|
1066
1101
|
// released by this job's promise settling, and nothing else would.
|
|
1067
|
-
classifyPath: async (path) => await classifyRequestedPath(path, this.
|
|
1102
|
+
classifyPath: async (path) => await classifyRequestedPath(path, this.scanExclusion),
|
|
1068
1103
|
// No `scope` argument, on purpose: a scope-pruned directory appears in
|
|
1069
1104
|
// none of the coverage arrays, which would hide an unobserved region and
|
|
1070
1105
|
// make prune unsafe.
|
|
1071
|
-
scanDir: async (rootPath) => await bfsCollectSupportedFiles(rootPath, this.
|
|
1106
|
+
scanDir: async (rootPath) => await bfsCollectSupportedFiles(rootPath, this.scanExclusion, { maxDepth: MAX_SCAN_DEPTH }),
|
|
1072
1107
|
// Size first, bytes second: `maxFileSize` is otherwise enforced inside the
|
|
1073
1108
|
// parser, which runs long after the whole file would already be in memory
|
|
1074
1109
|
// here. Declining (`null`) keeps the rest of the run usable instead of
|
|
@@ -1100,7 +1135,11 @@ export class RAGServer {
|
|
|
1100
1135
|
this.updateSyncJob(jobId, { completed: ingestedFiles });
|
|
1101
1136
|
return chunkCount;
|
|
1102
1137
|
},
|
|
1103
|
-
deleteExactPath: async (filePath) =>
|
|
1138
|
+
deleteExactPath: async (filePath) => {
|
|
1139
|
+
const removedChunks = await this.vectorStore.deleteChunks(filePath);
|
|
1140
|
+
await removeEmbeddingSnapshot(this.dbPath, filePath);
|
|
1141
|
+
return removedChunks;
|
|
1142
|
+
},
|
|
1104
1143
|
optimize: async () => {
|
|
1105
1144
|
await this.vectorStore.optimize();
|
|
1106
1145
|
},
|
|
@@ -1111,7 +1150,7 @@ export class RAGServer {
|
|
|
1111
1150
|
// decides requested-path containment in (the parser's boundary domain).
|
|
1112
1151
|
canonicalRoots: this.baseDirs,
|
|
1113
1152
|
dbPath: this.dbPath,
|
|
1114
|
-
excludePaths: this.
|
|
1153
|
+
excludePaths: this.scanExclusion.prefixes,
|
|
1115
1154
|
platform: process.platform,
|
|
1116
1155
|
// resolve() (never realpath) so the requested path is spelled like the
|
|
1117
1156
|
// stored DB keys; the core validates it against the configured roots.
|
|
@@ -1184,6 +1223,15 @@ export class RAGServer {
|
|
|
1184
1223
|
* Stop the server and release resources
|
|
1185
1224
|
*/
|
|
1186
1225
|
async close() {
|
|
1226
|
+
for (const watcher of this.autoSyncWatchers) {
|
|
1227
|
+
try {
|
|
1228
|
+
watcher.close();
|
|
1229
|
+
}
|
|
1230
|
+
catch {
|
|
1231
|
+
// A watcher that already failed must not block the rest of teardown.
|
|
1232
|
+
}
|
|
1233
|
+
}
|
|
1234
|
+
this.autoSyncWatchers = [];
|
|
1187
1235
|
await this.server.close();
|
|
1188
1236
|
await this.vectorStore.close();
|
|
1189
1237
|
await this.embedder.dispose();
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAEhF,OAAO,EAEL,qBAAqB,EACrB,SAAS,EACT,sBAAsB,EACtB,QAAQ,GACT,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EACL,eAAe,EACf,OAAO,GAIR,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,6BAA6B,EAE7B,oBAAoB,GACrB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACpF,OAAO,EAAqB,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACxE,OAAO,EAA4B,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,cAAc,EACd,2BAA2B,GAC5B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,QAAQ,EACR,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,WAAW,GACZ,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,GAEtB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAoB,WAAW,EAAyB,MAAM,sBAAsB,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,QAAQ,EAIR,UAAU,GACX,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AAmBxB;;;;GAIG;AACH,MAAM,kBAAkB,GAAsC;IAC5D,WAAW,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE;IAChD,WAAW,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE;IAChD,WAAW,EAAE,EAAE,MAAM,EAAE,uBAAuB,EAAE;IAChD,oBAAoB,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE;IAClE,UAAU,EAAE,EAAE,MAAM,EAAE,sBAAsB,EAAE;IAC9C,eAAe,EAAE,EAAE;IACnB,UAAU,EAAE,EAAE;IACd,MAAM,EAAE,EAAE;IACV,WAAW,EAAE,EAAE;CAChB,CAAA;AAED,MAAM,8BAA8B,GAAG;IACrC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;IAC/B,QAAQ,EAAE,GAAG;CACQ,CAAA;AAgBvB,oEAAoE;AACpE,SAAS,OAAO,CAAC,KAAwB;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,yBAAyB,CAAC,YAAoB;IACrD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,uCAAuC,YAAY,qCAAqC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,sCAAsC;QACjK,WAAW,EAAE,8BAA8B;KAC5C,CAAA;AACH,CAAC;AAED,SAAS,iCAAiC;IACxC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,qFAAqF;QAC3F,WAAW,EAAE,8BAA8B;KAC5C,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,YAAY;IACZ,aAAa;IACb,aAAa;IACb,aAAa;CACd,CAAC,CAAA;AAEF,MAAM,eAAe,GAAY,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAA;AACrF,MAAM,cAAc,GAClB,QAAQ,CAAC,eAAe,CAAC,IAAI,OAAO,eAAe,CAAC,SAAS,CAAC,KAAK,QAAQ;IACzE,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC;IAC5B,CAAC,CAAC,OAAO,CAAA;AAEb;;;;;;GAMG;AACH,MAAM,aAAc,SAAQ,QAAQ;CAAG;AAEvC;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,QAAsB,EAAE,WAAmB;IACnE,OAAO;QACL,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAC5B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CACpB,mCAAmC,IAAI,sCAAsC,WAAW,CAAC,OAAO,CAAC,EAAE,CACtG;QACD,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAC9B,CAAC,OAAO,EAAE,EAAE,CACV,8DAA8D,cAAc,sCAAsC,WAAW,CAAC,OAAO,CAAC,EAAE,CAC3I;QACD,GAAG,QAAQ,CAAC,eAAe,CAAC,GAAG,CAC7B,CAAC,QAAQ,EAAE,EAAE,CACX,wEAAwE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAClG;QACD,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG,CAC5B,CAAC,QAAQ,EAAE,EAAE,CACX,+DAA+D,WAAW,6CAA6C,WAAW,CAAC,QAAQ,CAAC,EAAE,CACjJ;KACF,CAAA;AACH,CAAC;AAED,6CAA6C;AAC7C,6DAA6D;AAC7D,SAAS,sBAAsB,CAAC,QAAgB;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;IACpC,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC1D,CAAC;AAED,MAAM,OAAO,SAAS;IACH,MAAM,CAAQ;IACd,WAAW,CAAa;IACxB,QAAQ,CAA2B;IACnC,OAAO,CAAiB;IACxB,MAAM,CAAgB;IACtB,MAAM,CAAQ;IAC/B;;;;OAIG;IACc,QAAQ,CAAmB;IAC5C;;;;OAIG;IACc,WAAW,CAAmB;IAC/C,oFAAoF;IACnE,UAAU,CAAQ;IAClB,QAAQ,CAAQ;IAChB,aAAa,CAAe;IAC5B,cAAc,CAAU;IACzC;;;OAGG;IACc,WAAW,CAA4B;IACvC,cAAc,CAAQ;IACvC;;;;OAIG;IACc,WAAW,CAAQ;IACnB,MAAM,CAAoB;IAC1B,WAAW,CAAS;IACrC,+EAA+E;IAC9D,aAAa,CAAoB;IACjC,eAAe,CAAQ;IACxC;;;;OAIG;IACK,OAAO,GAA4B,IAAI,CAAA;IAC/C;;;;OAIG;IACK,gBAAgB,GAAY,KAAK,CAAA;IAEzC,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,2EAA2E;QAC3E,yEAAyE;QACzE,6BAA6B;QAC7B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QACvD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,0EAA0E;QAC1E,0CAA0C;QAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC9F,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC/B,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE,CAAA;QACjD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAA;QAC7C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,wBAAwB,CAAA;QACvE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAA;QAC9C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;QACzC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,yBAAyB,CAAA;QAC1E,IAAI,CAAC,aAAa,GAAG,kBAAkB,CAAC;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE;YAC/C,cAAc,EAAE,MAAM,CAAC,cAAc;SACtC,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,EAAE,EACnD,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAA;QAED,2BAA2B;QAC3B,wDAAwD;QACxD,MAAM,iBAAiB,GAAiD;YACtE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,QAAQ;SACpB,CAAA;QACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,iBAAiB,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;QACpD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,iBAAiB,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC9C,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,iBAAiB,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAA;QACtD,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,iBAAiB,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC9C,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,iBAAiB,CAAC,CAAA;QACrD,MAAM,cAAc,GAA8C;YAChE,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QACvC,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,cAAc,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACrC,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;QAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAChC,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CACrF,CAAA;QACD,qEAAqE;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,wCAAwC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC,CAAA;QAEF,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC;IAED;;;;;;;OAOG;IACK,cAAc;QACpB,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,WAAW,CAAA;QACxB,CAAC;IACH,CAAC;IAED,oFAAoF;IAC5E,aAAa,CACnB,MAAuB,EACvB,cAAyD;QAEzD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,cAAc,CAAC,WAAW,GAAG,IAAI,CAAA;QACnC,CAAC;QACD,cAAc,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,KAAK,IAAI,CAAA;QAC5D,OAAO,MAAM,CAAC,kBAAkB,KAAK,SAAS;YAC5C,CAAC,CAAC,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YAC7E,CAAC,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAA;IAClC,CAAC;IAED,mFAAmF;IAC3E,YAAY,CAA8B,OAAU;QAC1D,OAAO,oBAAoB,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAA;IAChG,CAAC;IAED;;;;;;OAMG;IACK,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;YAC5B,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1E,MAAM,IAAI,GACR,UAAU,KAAK,IAAI;YACjB,CAAC,CAAC,oFAAoF;YACtF,CAAC,CAAC,iCAAiC,UAAU,CAAC,KAAK,6EAA6E,CAAA;QACpI,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAChF,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAA;IAC/B,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,YAAY;QACZ,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACjE,KAAK,EAAE,eAAe;SACvB,CAAC,CAAC,CAAA;QAEH,4EAA4E;QAC5E,uEAAuE;QACvE,qEAAqE;QACrE,8DAA8D;QAC9D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAC3B,qBAAqB,EACrB,KAAK,EAAE,OAA0D,EAAE,EAAE;YACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA;YACpC,uEAAuE;YACvE,oEAAoE;YACpE,yCAAyC;YACzC,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,OAAO,OAAO,CAAA;gBAChB,CAAC;YACH,CAAC;YACD,uEAAuE;YACvE,wEAAwE;YACxE,oDAAoD;YACpD,IAAI,sBAAsB,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACzD,IAAI,CAAC;gBACH,QAAQ,QAAQ,EAAE,CAAC;oBACjB,KAAK,iBAAiB;wBACpB,OAAO,MAAM,IAAI,CAAC,oBAAoB,CACpC,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CACnD,CAAA;oBACH,KAAK,aAAa;wBAChB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;oBAC9D,KAAK,aAAa;wBAChB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;oBACpF,KAAK,aAAa;wBAChB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;oBAC9D,KAAK,sBAAsB;wBACzB,OAAO,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;oBACtE,KAAK,YAAY;wBACf,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;oBAClF,KAAK,QAAQ;wBACX,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;oBAClC,KAAK,YAAY,EAAE,CAAC;wBAClB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CACxC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAC9C,CAAA;wBACD,+DAA+D;wBAC/D,8DAA8D;wBAC9D,sBAAsB,GAAG,KAAK,CAAA;wBAC9B,OAAO,OAAO,CAAA;oBAChB,CAAC;oBACD,KAAK,aAAa;wBAChB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;oBACpF;wBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;gBAClD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;gBACzB,MAAM,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YAClC,CAAC;oBAAS,CAAC;gBACT,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,IAAI,CAAC,eAAe,EAAE,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC,CACF,CAAA;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAA;QACnC,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;YACzC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;SAC7C,CAAC,CAAA;QACF,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;IACxC,CAAC;IAED;;OAEG;IACH,iFAAiF;IACzE,KAAK,CAAC,aAAa,CACzB,OAAuB,EACvB,KAAa,EACb,KAAa;QAEb,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,OAAO,gBAAgB,CAAC;YACtB,UAAU,EAAE,OAAO;YACnB,KAAK;YACL,GAAG,EAAE,KAAK;YACV,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,SAAS,EAAE,IAAI,CAAC,eAAe;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAyB;QAClD,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAElE,4EAA4E;QAC5E,0EAA0E;QAC1E,kEAAkE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;QAC9B,MAAM,cAAc,GAClB,IAAI,CAAC,aAAa,KAAK,SAAS;YAC9B,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,2BAA2B,EAAE,eAAe,CAAC,CAAA;QAEpE,0EAA0E;QAC1E,uFAAuF;QACvF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE;YAC5D,SAAS,EAAE,IAAI,CAAC,KAAK;YACrB,KAAK,EAAE,cAAc;YACrB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAA;QAEF,4EAA4E;QAC5E,IAAI,iBAAiB,GAA2B,IAAI,CAAA;QACpD,IAAI,eAAe,GAAG,IAAI,GAAG,EAA8B,CAAA;QAC3D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAA;YAC7E,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YACjF,IAAI,SAAS,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC/B,iBAAiB,GAAG,yBAAyB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB,GAAG,iCAAiC,EAAE,CAAA;QACzD,CAAC;QAED,4DAA4D;QAC5D,MAAM,SAAS,GAAmB,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7D,MAAM,MAAM,GAAiB;gBAC3B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;gBACtB,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI;gBACtC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE;aAChD,CAAA;YAED,IAAI,oBAAoB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;gBACxD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;gBACxB,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC,CAAC,CAAA;QAEF,2EAA2E;QAC3E,MAAM,OAAO,GACX,IAAI,CAAC,aAAa,KAAK,SAAS;YAC9B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAE9E,MAAM,OAAO,GAAiB;YAC5B;gBACE,IAAI,EAAE,MAAM;gBACZ,oEAAoE;gBACpE,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EACnD,IAAI,EACJ,CAAC,CACF;aACF;SACF,CAAA;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAA;YACjC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,IAAI,EAAE,mBAAmB;wBACzB,MAAM,EAAE;4BACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,UAAU,EAAE,MAAM,CAAC,UAAU;4BAC7B,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;yBAClE;wBACD,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAC9B,CAAC;iBACH,CAAC,CAAA;gBACF,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ;iBAC9B,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACjC,CAAC;QAED,oEAAoE;QACpE,kDAAkD;QAClD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAA;IAChD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CACpB,GAAY,EACZ,OAAO,GAAiD,EAAE;QAE1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QACxE,yEAAyE;QACzE,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;QACnC,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;gBACzB;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF,CAAC;SACH,CAAA;IACH,CAAC;IAED,4EAA4E;IACpE,KAAK,CAAC,oBAAoB,CAChC,QAAgB,EAChB,QAA2B;QAE3B,yDAAyD;QACzD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC1C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAA;QACjC,OAAO,CAAC,KAAK,CAAC,uBAAuB,QAAQ,KAAK,IAAI,CAAC,MAAM,cAAc,CAAC,CAAA;QAC5E,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE;YAC1F,KAAK;YACL,SAAS,EAAE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;SACrC,CAAC,CAAA;QACF,OAAO;YACL,KAAK;YACL,iBAAiB,EAAE,CAAC;YACpB,YAAY,EAAE,iBAAiB,CAAC;gBAC9B,QAAQ;gBACR,MAAM;gBACN,UAAU;gBACV,SAAS,EAAE,KAAK;gBAChB,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAC;aAC7C,CAAC;SACH,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,QAAgB,EAChB,OAAmD,EACnD,QAA2B;QAE3B,0EAA0E;QAC1E,yEAAyE;QACzE,sEAAsE;QACtE,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,eAAe,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAA;QAC/E,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,oBAAoB,CAC7C,QAAQ,EACR,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,EACxD,OAAO,CACR,CAAA;QACD,OAAO;YACL,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;YACjD,YAAY;SACb,CAAA;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAC1B,QAAgB,EAChB,MAAqB,EACrB,WAAoB;QAEpB,IAAI,CAAC;YACH,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;YAC7C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;YACnC,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,uBAAuB,MAAM,CAAC,MAAM,kBAAkB,CAAC,CAAA;QACvE,CAAC;QAAC,OAAO,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;YAChD,MAAM,IAAI,aAAa,CACrB,yCAAyC,QAAQ,sEAAsE,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,EACrJ,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAChC,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,IAAqB,EACrB,OAA6B,EAC7B,SAAkB,EAClB,OAAiC;QAEjC,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAChE,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,uBAAuB,CACvC,IAAI,CAAC,QAAQ,EACb;YACE,MAAM,EAAE,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;YACrF,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI;gBACtB,CAAC,CAAC;oBACE,SAAS,EAAE;wBACT,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,MAAM;wBACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;qBACpB;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,EACD,OAAO,CACR,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,IAAqB,EACrB,OAAO,GAAyB,EAAE;QAElC,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACtE,+DAA+D;QAC/D,oEAAoE;QACpE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,EAAE,CAAA;QACvB,CAAC;QACD,sEAAsE;QACtE,qEAAqE;QACrE,uCAAuC;QACvC,MAAM,OAAO,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEvF,sEAAsE;QACtE,0EAA0E;QAC1E,qBAAqB;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;YAClF,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;YAC5B,IAAI,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;YACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;YAE1C,IAAI,QAAQ,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,IAAI,CACV,WAAW,QAAQ,CAAC,iBAAiB,yCAAyC,IAAI,CAAC,QAAQ,EAAE,CAC9F,CAAA;YACH,CAAC;YAED,+DAA+D;YAC/D,8EAA8E;YAC9E,MAAM,UAAU,GAAG,YAAY,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAA;YAC3E,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,aAAa,CACrB,SAAS,CAAC,aAAa,EACvB,kCAAkC,IAAI,CAAC,QAAQ,gEAAgE,IAAI,CAAC,cAAc,0DAA0D,CAC7L,CAAA;YACH,CAAC;YAED,yEAAyE;YACzE,4EAA4E;YAC5E,2EAA2E;YAC3E,gEAAgE;YAChE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACxE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,mBAAmB,MAAM,CAAC,MAAM,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC/E,CAAC;YAED,sEAAsE;YACtE,iEAAiE;YACjE,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,YAAY,GAAG,6BAA6B,CAAC,YAAY,CAAC,CAAA;YAC5D,CAAC;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,aAAa,CAAC,uCAAuC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YACjF,CAAC;YACD,MAAM,cAAc,GAAG,YAAY,CAAA;YAEnC,uBAAuB;YACvB,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAClD,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YAE9D,0CAA0C;YAC1C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;gBACnD,OAAO,CAAC,KAAK,CAAC,YAAY,cAAc,CAAC,MAAM,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;YACjF,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,WAAW,CAAC,CAAA;gBAC/D,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;gBAC7D,MAAM,WAAW,CAAA;YACnB,CAAC;YAED,MAAM,OAAO,CAAC,OAAO,EAAE,CAAA;YAEvB,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,SAAS,EAAE,KAAK,IAAI,IAAI;aACzB,CAAA;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,EAAE,CAAA;QACnB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,IAAqB;QAC1C,oEAAoE;QACpE,2EAA2E;QAC3E,qEAAqE;QACrE,0EAA0E;QAC1E,2CAA2C;QAC3C,IAAI,aAAa,GAAG,IAAI,CAAC,OAAO,CAAA;QAChC,IAAI,KAAK,GAAkB,IAAI,CAAA;QAE/B,sDAAsD;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAC3D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,SAAS,CAC7D,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,CAAC,MAAM,CACrB,CAAA;YAED,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAA;YACH,CAAC;YAED,KAAK,GAAG,SAAS,IAAI,IAAI,CAAA;YACzB,aAAa,GAAG,QAAQ,CAAA;YACxB,OAAO,CAAC,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,aAAa,CAAC,CAAA;QAC5E,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACvE,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5D,CAAC;aAAM,CAAC;YACN,cAAc;YACd,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClE,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5D,CAAC;QAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC1E,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAA;QACtE,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC/B,IAAI,CAAC;gBACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAA;YAChD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;YAChC,CAAC;QACH,CAAC,CAAC,CACH,CAAA;QAED,IAAI,MAA0C,CAAA;QAC9C,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;YACnE,MAAM,YAAY,CAAC,WAAW,EAAE;gBAC9B,KAAK;gBACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;aAC7B,CAAC,CAAA;YACF,OAAO,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,QAAQ,CAAC,MAAM,OAAO,WAAW,EAAE,CAAC,CAAA;YAC1E,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;QACzF,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CACvC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;gBAChD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBAChC,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;oBACpB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;4BACrB,MAAM,KAAK,CAAA;wBACb,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CACH,CAAA;YACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,EAAE,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAA;gBAChE,MAAM,IAAI,aAAa,CACrB,kDAAkD,WAAW,kDAAkD,EAC/G,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAChC,CAAA;YACH,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAA;YAC1D,MAAM,WAAW,CAAA;QACnB,CAAC;QACD,uEAAuE;QACvE,2EAA2E;QAC3E,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;QACjC,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CAAC,KAAK,GAAmB,EAAE;QAC9C,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,2EAA2E;QAC3E,4EAA4E;QAC5E,8DAA8D;QAC9D,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,yEAAyE;QACzE,6EAA6E;QAC7E,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAA;QACnD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ;YACR,KAAK;YACL,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC;SAClF,CAAC,CAAA;QACF,MAAM,KAAK,GAAgB,MAAM,CAAC,KAAK,CAAA;QACvC,MAAM,OAAO,GAAkB,MAAM,CAAC,OAAO,CAAA;QAE7C,MAAM,MAAM,GAAoB;YAC9B,OAAO,EAAE,IAAI,CAAC,UAAU;YACxB,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,KAAK;YACL,OAAO;SACR,CAAA;QACD,iEAAiE;QACjE,sDAAsD;QACtD,mEAAmE;QACnE,kEAAkE;QAClE,qCAAqC;QACrC,MAAM,OAAO,GAA0B,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QAChG,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE;aACzD,CAAC,CAAA;QACJ,CAAC;QACD,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,kEAAkE;QAClE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,MAAM,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,MAAM,wCAAwC;iBAC/E,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,sEAAsE;QACtE,sEAAsE;QACtE,yEAAyE;QACzE,oEAAoE;QACpE,0EAA0E;QAC1E,6BAA6B;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAA;QACjD,MAAM,OAAO,GAA0B;YACrC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF,CAAA;QAED,sEAAsE;QACtE,qEAAqE;QACrE,2CAA2C;QAC3C,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;QAC/D,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAA;IAChD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,GAAY;QACjC,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;QACtC,yEAAyE;QACzE,yEAAyE;QACzE,iEAAiE;QACjE,4DAA4D;QAC5D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAEzD,qCAAqC;QACrC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QACrE,MAAM,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACtD,4EAA4E;QAC5E,2DAA2D;QAC3D,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;QAEjC,IAAI,cAAc,GAAG,KAAK,CAAA;QAC1B,IAAI,WAAW,GAAG,KAAK,CAAA;QAEvB,oDAAoD;QACpD,IAAI,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvD,0DAA0D;YAC1D,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAA;YACzD,cAAc,GAAG,SAAS,CAAC,cAAc,CAAA;YACzC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAA;YAEnC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;gBACxB,OAAO,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAA;YACvD,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,mDAAmD,UAAU,EAAE,CAAC,CAAA;YAC/E,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAA;gBAC9C,OAAO,CAAC,KAAK,CAAC,sBAAsB,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACzE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACrB,MAAM,KAAK,CAAA;gBACb,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAqB;YAC/B,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,IAAI;YACb,aAAa;YACb,OAAO,EAAE,aAAa,GAAG,CAAC,IAAI,cAAc,IAAI,WAAW;YAC3D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAA;QAED,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;gBACzB;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC;aACF,CAAC;SACH,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAAC,GAAY;QACzC,IAAI,CAAC,aAAa,EAAE,CAAA;QACpB,MAAM,IAAI,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAA;QAC9C,gGAAgG;QAChG,uEAAuE;QACvE,2EAA2E;QAC3E,gEAAgE;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;QAE7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAEzD,4EAA4E;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAA;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;QAEtC,kBAAkB;QAClB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAEhF,4EAA4E;QAC5E,MAAM,KAAK,GAAG,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,MAAM,KAAK,GAAmC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7D,MAAM,IAAI,GAAiC;gBACzC,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;gBAC5C,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;gBAChC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAA;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC,MAAM,GAAG,YAAY,CAAA;YAC5B,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC;gBACzB;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACrC;aACF,CAAC;SACH,CAAA;IACH,CAAC;IAED,yFAAyF;IACjF,KAAK,CAAC,qBAAqB,CAAC,SAA0B;QAC5D,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC1B,0EAA0E;YAC1E,8EAA8E;YAC9E,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAA;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACtD,OAAO,SAAS,CAAC,QAAQ,CAAA;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,+CAA+C;IAC/C,qEAAqE;IACrE,+CAA+C;IACvC,uBAAuB,GAAkB,IAAI,CAAA;IAC7C,cAAc,GAAY,KAAK,CAAA;IAC/B,mBAAmB,GAAG,CAAC,CAAA;IAC/B;;gFAE4E;IACpE,gBAAgB,GAAgB,EAAE,CAAA;IAElC,KAAK,CAAC,sBAAsB;QAClC,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;YACtE,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAA;gBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACzD,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,SAAS;QACT,IAAI,CAAC,GAAG,UAAU,CAAA;QAClB,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YACpB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;QAC9B,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED;;;;;OAKG;IACK,aAAa;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,IAAI,CAAC,cAAc,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,GAAG,MAAM,EAAE,CAAC;YACnE,OAAM;QACR,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAA;QAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA;QAC1B,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;YACrC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAA;gBACvD,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;oBACzB,OAAM;gBACR,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,KAAK,IAAI,CAAA;gBACvD,IAAI,CAAC,uBAAuB,GAAG,WAAW,CAAA;gBAC1C,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAA;oBACrE,OAAM;gBACR,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAA;gBAC9E,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;YAChC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACzF,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAA;YAC7B,CAAC;QACH,CAAC,CAAA;QACD,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAqB;QACzC,0EAA0E;QAC1E,IAAI,CAAC,cAAc,EAAE,CAAA;QAErB,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG;YACb,KAAK;YACL,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;YACzD,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,IAAI;SACZ,CAAA;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAEzB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC;aAC/B,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,yEAAyE;YACzE,sEAAsE;YACtE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACpF,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,eAAe,EAAE,CAAA;QACxB,CAAC,CAAC,CAAA;QAEJ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACzF,CAAA;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAsB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAA;QACxB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,aAAa,EACvB,qBAAqB,KAAK,CAAC,KAAK,6HAA6H,CAC9J,CAAA;QACH,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;SACnF,CAAA;IACH,CAAC;IAED,kFAAkF;IAC1E,aAAa,CAAC,KAAa,EAAE,KAAgC;QACnE,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1D,OAAM;QACR,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE,CAAA;QAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IAED;;;;;OAKG;IACK,kBAAkB;QACxB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QACxF,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,aAAiC;QACvE,IAAI,WAAW,GAAG,CAAC,CAAA;QACnB,IAAI,aAAa,GAAG,CAAC,CAAA;QAErB,MAAM,aAAa,GAAsB;YACvC,yEAAyE;YACzE,0EAA0E;YAC1E,4EAA4E;YAC5E,6EAA6E;YAC7E,yBAAyB;YACzB,0EAA0E;YAC1E,0EAA0E;YAC1E,2EAA2E;YAC3E,sEAAsE;YACtE,mEAAmE;YACnE,YAAY,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;YAC3F,uEAAuE;YACvE,yEAAyE;YACzE,qBAAqB;YACrB,OAAO,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE,CAClC,MAAM,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;YAC5F,2EAA2E;YAC3E,0EAA0E;YAC1E,uEAAuE;YACvE,qEAAqE;YACrE,EAAE;YACF,4EAA4E;YAC5E,mEAAmE;YACnE,4EAA4E;YAC5E,uEAAuE;YACvE,6EAA6E;YAC7E,0EAA0E;YAC1E,QAAQ,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;gBACnC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;oBACnD,OAAO,IAAI,CAAA;gBACb,CAAC;gBACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;gBAChE,WAAW,IAAI,CAAC,CAAA;gBAChB,OAAO,WAAW,CAAA;YACpB,CAAC;YACD,cAAc,EAAE,KAAK,IAAI,EAAE;gBACzB,sEAAsE;gBACtE,8DAA8D;gBAC9D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAA;gBACjD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAA;YAClD,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,QAAgB,EAAE,OAA0B,EAAE,EAAE;gBACjE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;gBAClE,aAAa,IAAI,CAAC,CAAA;gBAClB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAA;gBACvD,OAAO,UAAU,CAAA;YACnB,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;gBAC1C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;gBACnE,MAAM,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;gBACpD,OAAO,aAAa,CAAA;YACtB,CAAC;YACD,QAAQ,EAAE,KAAK,IAAI,EAAE;gBACnB,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAA;YACnC,CAAC;SACF,CAAA;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;YAC3B,KAAK,EAAE,IAAI,CAAC,WAAW;YACvB,uEAAuE;YACvE,wEAAwE;YACxE,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ;YACzC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,uEAAuE;YACvE,sEAAsE;YACtE,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;YACjF,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,aAAa;SACd,CAAC,CAAA;QAEF,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YACxB,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;YACrD,0EAA0E;YAC1E,oDAAoD;YACpD,SAAS,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK;YAC1D,OAAO,EAAE;gBACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB;YACD,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC;YAC7D,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;SACpE,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,iBAAiB,CAC7B,QAAgB,EAChB,EAAE,MAAM,EAAE,aAAa,EAAqB;QAE5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAClC,aAAa,KAAK,IAAI;gBACpB,CAAC,CAAC,EAAE,QAAQ,EAAE;gBACd,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,EAC5D,EAAE,MAAM,EAAE,CACX,CAAA;YACD,OAAO,MAAM,CAAC,UAAU,CAAA;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;gBACnC,OAAO,CAAC,CAAA;YACV,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,SAAoB;QAChC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAA;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,EAAE,CAAA;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;YACvE,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACzB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAC7B,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACpC,CAAC;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ScanExclusion } from '../utils/scan.js';
|
|
1
2
|
import type { RAGServerConfig } from './types.js';
|
|
2
3
|
/**
|
|
3
4
|
* `list_files` presentation over {@link bfsCollectSupportedFiles}: renders the
|
|
@@ -8,7 +9,7 @@ import type { RAGServerConfig } from './types.js';
|
|
|
8
9
|
* warning names the base directory and is emitted at most once per call,
|
|
9
10
|
* however many branches were pruned. Symlinks are skipped and not surfaced.
|
|
10
11
|
*/
|
|
11
|
-
export declare function scanBaseDir(baseDir: string,
|
|
12
|
+
export declare function scanBaseDir(baseDir: string, exclusion: ScanExclusion, scope?: string[]): Promise<{
|
|
12
13
|
files: string[];
|
|
13
14
|
warnings: string[];
|
|
14
15
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-scanner.d.ts","sourceRoot":"","sources":["../../src/server/list-scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-scanner.d.ts","sourceRoot":"","sources":["../../src/server/list-scanner.ts"],"names":[],"mappings":"AAMA,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,aAAa,EACxB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAsBlD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG;IAC1D,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB,CASA"}
|
|
@@ -13,8 +13,8 @@ import { bfsCollectSupportedFiles } from '../utils/scan.js';
|
|
|
13
13
|
* warning names the base directory and is emitted at most once per call,
|
|
14
14
|
* however many branches were pruned. Symlinks are skipped and not surfaced.
|
|
15
15
|
*/
|
|
16
|
-
export async function scanBaseDir(baseDir,
|
|
17
|
-
const { files, unreadableDirs, depthLimited } = await bfsCollectSupportedFiles(baseDir,
|
|
16
|
+
export async function scanBaseDir(baseDir, exclusion, scope) {
|
|
17
|
+
const { files, unreadableDirs, depthLimited } = await bfsCollectSupportedFiles(baseDir, exclusion, {
|
|
18
18
|
maxDepth: MAX_SCAN_DEPTH,
|
|
19
19
|
scope,
|
|
20
20
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-scanner.js","sourceRoot":"","sources":["../../src/server/list-scanner.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"list-scanner.js","sourceRoot":"","sources":["../../src/server/list-scanner.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,gFAAgF;AAChF,6EAA6E;AAE7E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAsB,MAAM,kBAAkB,CAAA;AAG/E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,SAAwB,EACxB,KAAgB;IAEhB,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,wBAAwB,CAC5E,OAAO,EACP,SAAS,EACT;QACE,QAAQ,EAAE,cAAc;QACxB,KAAK;KACN,CACF,CAAA;IAED,MAAM,QAAQ,GAAa,EAAE,CAAA;IAC7B,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,cAAc,EAAE,CAAC;QAC/C,QAAQ,CAAC,IAAI,CAAC,0BAA0B,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,CAAA;IAC3E,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,CAAC,IAAI,CACX,0BAA0B,WAAW,CAAC,OAAO,CAAC,wDAAwD,cAAc,GAAG,CACxH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI,EAAE,CAAA;IACZ,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAA;AAC5B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAuB;IAIvD,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAClG,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;IAC1C,IAAI,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CACb,2JAA2J,CAC5J,CAAA;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,IAAI,EAAE,EAAE,CAAA;AACtE,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { QUALITY_PROFILES } from '../utils/visual-profile.js';
|
|
|
10
10
|
export const toolDefinitions = [
|
|
11
11
|
{
|
|
12
12
|
name: 'query_documents',
|
|
13
|
-
description: 'Search ingested documents with hybrid keyword + semantic matching. Use the returned order as the ranking; score may disagree with it. Each has filePath, chunkIndex, text, fileTitle, score (lower is closer), and source (for ingest_data items).',
|
|
13
|
+
description: 'Search ingested documents with hybrid keyword + semantic matching. Use the returned order as the ranking; score may disagree with it. Each has filePath, chunkIndex, text, fileTitle, score (lower is closer), and source (for ingest_data items). Optional sourceContext provides heading paths and original line or physical PDF page ranges; multiple heading paths mean the chunk crosses sections.',
|
|
14
14
|
inputSchema: {
|
|
15
15
|
type: 'object',
|
|
16
16
|
properties: {
|
|
@@ -122,7 +122,7 @@ export const toolDefinitions = [
|
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
124
|
name: 'read_chunk_neighbors',
|
|
125
|
-
description: `Read the chunks immediately before and after a query_documents result, in the same document, for more surrounding context. Pass chunkIndex from the result plus exactly one of filePath (ingest_file) or source (ingest_data). Returns the target chunk (isTarget: true) and its neighbors, ascending by chunkIndex; an out-of-range chunkIndex returns []. Defaults: before=2, after=2 (max ${MAX_NEIGHBOR_COUNT} each).`,
|
|
125
|
+
description: `Read the chunks immediately before and after a query_documents result, in the same document, for more surrounding context. Pass chunkIndex from the result plus exactly one of filePath (ingest_file) or source (ingest_data). Returns the target chunk (isTarget: true) and its neighbors, ascending by chunkIndex; an out-of-range chunkIndex returns []. Optional sourceContext provides heading paths and original line or physical PDF page ranges; multiple heading paths mean the chunk crosses sections. Defaults: before=2, after=2 (max ${MAX_NEIGHBOR_COUNT} each).`,
|
|
126
126
|
inputSchema: {
|
|
127
127
|
type: 'object',
|
|
128
128
|
properties: {
|