indexer-cli 0.9.24 → 0.9.25
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.
|
@@ -21,8 +21,10 @@ export declare class SqliteVecVectorStore implements VectorStore {
|
|
|
21
21
|
deleteByProject(projectId: ProjectId): Promise<void>;
|
|
22
22
|
private openDatabase;
|
|
23
23
|
private getDb;
|
|
24
|
-
private
|
|
25
|
-
private
|
|
24
|
+
private embeddingToSqlValue;
|
|
25
|
+
private embeddingToJson;
|
|
26
|
+
private normalizeStoredEmbedding;
|
|
27
|
+
private validateEmbeddingArray;
|
|
26
28
|
private buildPrefilter;
|
|
27
29
|
private escapeSqlLiteral;
|
|
28
30
|
private escapeSqlLike;
|
package/dist/storage/vectors.js
CHANGED
|
@@ -135,13 +135,13 @@ class SqliteVecVectorStore {
|
|
|
135
135
|
primary_symbol
|
|
136
136
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
137
137
|
`);
|
|
138
|
-
const insertVectorStatement = db.prepare("INSERT INTO vec_chunks (chunk_id, embedding) VALUES (?,
|
|
138
|
+
const insertVectorStatement = db.prepare("INSERT INTO vec_chunks (chunk_id, embedding) VALUES (?, ?)");
|
|
139
139
|
const upsertBatch = db.transaction((batch) => {
|
|
140
140
|
for (const vector of batch) {
|
|
141
141
|
deleteVectorStatement.run(vector.chunkId);
|
|
142
142
|
deleteMetaStatement.run(vector.chunkId);
|
|
143
143
|
insertMetaStatement.run(vector.chunkId, vector.projectId, vector.snapshotId, vector.filePath, vector.startLine, vector.endLine, vector.contentHash, vector.chunkType ?? "", vector.primarySymbol ?? "");
|
|
144
|
-
insertVectorStatement.run(vector.chunkId, this.
|
|
144
|
+
insertVectorStatement.run(vector.chunkId, this.embeddingToSqlValue(vector.embedding));
|
|
145
145
|
}
|
|
146
146
|
});
|
|
147
147
|
for (let index = 0; index < vectors.length; index += UPSERT_BATCH_SIZE) {
|
|
@@ -170,7 +170,7 @@ class SqliteVecVectorStore {
|
|
|
170
170
|
ORDER BY distance
|
|
171
171
|
LIMIT ?
|
|
172
172
|
`)
|
|
173
|
-
.all(this.
|
|
173
|
+
.all(this.embeddingToJson(queryEmbedding), ...values, topK);
|
|
174
174
|
return rows.map((row) => ({
|
|
175
175
|
chunkId: row.chunk_id,
|
|
176
176
|
snapshotId: row.snapshot_id,
|
|
@@ -251,13 +251,13 @@ class SqliteVecVectorStore {
|
|
|
251
251
|
primary_symbol
|
|
252
252
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
253
253
|
`);
|
|
254
|
-
const insertVectorStatement = db.prepare("INSERT INTO vec_chunks (chunk_id, embedding) VALUES (?,
|
|
254
|
+
const insertVectorStatement = db.prepare("INSERT INTO vec_chunks (chunk_id, embedding) VALUES (?, ?)");
|
|
255
255
|
const copyBatch = db.transaction((batch) => {
|
|
256
256
|
for (const row of batch) {
|
|
257
257
|
deleteVectorStatement.run(row.chunk_id);
|
|
258
258
|
deleteMetaStatement.run(row.chunk_id);
|
|
259
259
|
insertMetaStatement.run(row.chunk_id, row.project_id, toSnapshotId, row.file_path, row.start_line, row.end_line, row.content_hash, row.chunk_type, row.primary_symbol);
|
|
260
|
-
insertVectorStatement.run(row.chunk_id, this.
|
|
260
|
+
insertVectorStatement.run(row.chunk_id, this.normalizeStoredEmbedding(row.embedding));
|
|
261
261
|
}
|
|
262
262
|
});
|
|
263
263
|
for (let index = 0; index < rows.length; index += UPSERT_BATCH_SIZE) {
|
|
@@ -295,21 +295,36 @@ class SqliteVecVectorStore {
|
|
|
295
295
|
}
|
|
296
296
|
return this.db;
|
|
297
297
|
}
|
|
298
|
-
|
|
299
|
-
|
|
298
|
+
embeddingToSqlValue(embedding) {
|
|
299
|
+
this.validateEmbeddingArray(embedding);
|
|
300
|
+
return new Float32Array(embedding);
|
|
300
301
|
}
|
|
301
|
-
|
|
302
|
+
embeddingToJson(embedding) {
|
|
303
|
+
this.validateEmbeddingArray(embedding);
|
|
304
|
+
return JSON.stringify(embedding);
|
|
305
|
+
}
|
|
306
|
+
normalizeStoredEmbedding(embedding) {
|
|
302
307
|
if (Buffer.isBuffer(embedding)) {
|
|
303
|
-
return embedding;
|
|
308
|
+
return new Uint8Array(embedding.buffer, embedding.byteOffset, embedding.byteLength);
|
|
304
309
|
}
|
|
305
310
|
if (embedding instanceof Uint8Array) {
|
|
306
|
-
return
|
|
311
|
+
return new Uint8Array(embedding.buffer, embedding.byteOffset, embedding.byteLength);
|
|
307
312
|
}
|
|
308
313
|
if (embedding instanceof ArrayBuffer) {
|
|
309
|
-
return
|
|
314
|
+
return new Uint8Array(embedding);
|
|
310
315
|
}
|
|
311
316
|
throw new Error("Unsupported sqlite-vec embedding value returned from database");
|
|
312
317
|
}
|
|
318
|
+
validateEmbeddingArray(embedding) {
|
|
319
|
+
if (embedding.length !== this.vectorSize) {
|
|
320
|
+
throw new Error(`Expected embedding with ${this.vectorSize} dimensions, received ${embedding.length}`);
|
|
321
|
+
}
|
|
322
|
+
for (let index = 0; index < embedding.length; index += 1) {
|
|
323
|
+
if (!Number.isFinite(embedding[index])) {
|
|
324
|
+
throw new Error(`Embedding contains non-finite value at index ${index}`);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
313
328
|
buildPrefilter(filters, alias) {
|
|
314
329
|
const conditions = [];
|
|
315
330
|
const prefix = alias ? `${alias}.` : "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectors.js","sourceRoot":"","sources":["../../src/storage/vectors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA6C;AAC7C,0DAA6B;AAC7B,oEAAsC;AACtC,sDAAwC;AAkB3B,QAAA,gBAAgB,GAAG;IAC/B,YAAY;IACZ,UAAU;IACV,aAAa;IACb,WAAW;IACX,YAAY;IACZ,UAAU;IACV,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,WAAW;CACF,CAAC;AAEX,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAsB9B,MAAa,oBAAoB;IACf,MAAM,CAAS;IACf,UAAU,CAAS;IAC5B,EAAE,CAA2B;IAC7B,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,OAAoC;QAC/C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACtC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;IAqBP,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,EAAE;iBACxB,OAAO,CACP,6EAA6E,CAC7E;iBACA,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,EAAE,CAAC,IAAI,CAAC;;;wBAGY,IAAI,CAAC,UAAU;;KAElC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,SAAS,EAAE,CAAC;QAEvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAK;QACV,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAuB;QACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAExB,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CACvC,2CAA2C,CAC3C,CAAC;QACF,MAAM,mBAAmB,GAAG,EAAE,CAAC,OAAO,CACrC,4CAA4C,CAC5C,CAAC;QACF,MAAM,mBAAmB,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;GAYtC,CAAC,CAAC;QACH,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CACvC,
|
|
1
|
+
{"version":3,"file":"vectors.js","sourceRoot":"","sources":["../../src/storage/vectors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAA6C;AAC7C,0DAA6B;AAC7B,oEAAsC;AACtC,sDAAwC;AAkB3B,QAAA,gBAAgB,GAAG;IAC/B,YAAY;IACZ,UAAU;IACV,aAAa;IACb,WAAW;IACX,YAAY;IACZ,UAAU;IACV,cAAc;IACd,YAAY;IACZ,gBAAgB;IAChB,WAAW;CACF,CAAC;AAEX,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAsB9B,MAAa,oBAAoB;IACf,MAAM,CAAS;IACf,UAAU,CAAS;IAC5B,EAAE,CAA2B;IAC7B,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,OAAoC;QAC/C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU;QACf,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACtC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;IAqBP,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,EAAE;iBACxB,OAAO,CACP,6EAA6E,CAC7E;iBACA,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,eAAe,EAAE,CAAC;gBACtB,EAAE,CAAC,IAAI,CAAC;;;wBAGY,IAAI,CAAC,UAAU;;KAElC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,SAAS,EAAE,CAAC;QAEvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAK;QACV,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAuB;QACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;QACR,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAExB,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CACvC,2CAA2C,CAC3C,CAAC;QACF,MAAM,mBAAmB,GAAG,EAAE,CAAC,OAAO,CACrC,4CAA4C,CAC5C,CAAC;QACF,MAAM,mBAAmB,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;GAYtC,CAAC,CAAC;QACH,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CACvC,4DAA4D,CAC5D,CAAC;QAEF,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,KAAqB,EAAE,EAAE;YAC5D,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC5B,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC1C,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxC,mBAAmB,CAAC,GAAG,CACtB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,SAAS,IAAI,EAAE,EACtB,MAAM,CAAC,aAAa,IAAI,EAAE,CAC1B,CAAC;gBACF,qBAAqB,CAAC,GAAG,CACxB,MAAM,CAAC,OAAO,EACd,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,CAC1C,CAAC;YACH,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,IAAI,iBAAiB,EAAE,CAAC;YACxE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAAC,CAAC;YAC9D,WAAW,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACF,CAAC;IAED,KAAK,CAAC,MAAM,CACX,cAAwB,EACxB,IAAY,EACZ,OAA4B;QAE5B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACzC,MAAM,MAAM,GAAoC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,IAAI,GAAG,EAAE;aACb,OAAO,CAAC;;;;YAIA,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;;;IAGhC,CAAC;aACD,GAAG,CACH,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EACpC,GAAG,MAAM,EACT,IAAI,CACiB,CAAC;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACzB,OAAO,EAAE,GAAG,CAAC,QAAmB;YAChC,UAAU,EAAE,GAAG,CAAC,WAAyB;YACzC,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;YACtC,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;YAC9C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxC,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC9C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACtC,MAAM,MAAM,GAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,SAAS,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,GAAG,GAAG,EAAE;aACZ,OAAO,CACP,mDAAmD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC7E;aACA,GAAG,CAAC,GAAG,MAAM,CAAsB,CAAC;QAEtC,OAAO,GAAG,CAAC,KAAK,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,SAAoB,EACpB,UAAsB;QAEtB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAExB,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACnB,EAAE,CAAC,OAAO,CAAC;;;;;;IAMV,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC9B,EAAE,CAAC,OAAO,CACT,kEAAkE,CAClE,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC9B,CAAC,CAAC,EAAE,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CAChB,SAAoB,EACpB,cAA0B,EAC1B,YAAwB,EACxB,gBAA0B;QAE1B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAExB,MAAM,UAAU,GAAG,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAa,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACrD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,UAAU,CAAC,IAAI,CAAC,wBAAwB,YAAY,GAAG,CAAC,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,GAAG,EAAE;aACb,OAAO,CAAC;;;;YAIA,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;aACD,GAAG,CAAC,GAAG,MAAM,CAAoB,CAAC;QAEpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CACvC,2CAA2C,CAC3C,CAAC;QACF,MAAM,mBAAmB,GAAG,EAAE,CAAC,OAAO,CACrC,4CAA4C,CAC5C,CAAC;QACF,MAAM,mBAAmB,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;GAYtC,CAAC,CAAC;QACH,MAAM,qBAAqB,GAAG,EAAE,CAAC,OAAO,CACvC,4DAA4D,CAC5D,CAAC;QAEF,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC3D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACzB,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtC,mBAAmB,CAAC,GAAG,CACtB,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,UAAU,EACd,YAAY,EACZ,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,YAAY,EAChB,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,cAAc,CAClB,CAAC;gBACF,qBAAqB,CAAC,GAAG,CACxB,GAAG,CAAC,QAAQ,EACZ,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAC,CAC5C,CAAC;YACH,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,iBAAiB,EAAE,CAAC;YACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAAC,CAAC;YAC3D,SAAS,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAoB;QACzC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAExB,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACnB,EAAE,CAAC,OAAO,CAAC;;;;;IAKV,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClB,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3E,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,iBAAiB,GAAG,mBAAI,CAAC,IAAI,CAAC,mBAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1E,IAAI,IAAA,oBAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;YACnC,IAAA,gBAAM,EAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACF,CAAC;IAEO,YAAY;QACnB,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAChC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACjC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,OAAO,EAAE,CAAC;IACX,CAAC;IAEO,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACd,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC,EAAE,CAAC;IAChB,CAAC;IAEO,mBAAmB,CAAC,SAAmB;QAC9C,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEO,eAAe,CAAC,SAAmB;QAC1C,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAEO,wBAAwB,CAAC,SAAkB;QAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,UAAU,CACpB,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,UAAU,CACpB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,YAAY,UAAU,EAAE,CAAC;YACrC,OAAO,IAAI,UAAU,CACpB,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,UAAU,CACpB,CAAC;QACH,CAAC;QAED,IAAI,SAAS,YAAY,WAAW,EAAE,CAAC;YACtC,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,IAAI,KAAK,CACd,+DAA+D,CAC/D,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,SAAmB;QACjD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACd,2BAA2B,IAAI,CAAC,UAAU,yBAAyB,SAAS,CAAC,MAAM,EAAE,CACrF,CAAC;QACH,CAAC;QAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CACd,gDAAgD,KAAK,EAAE,CACvD,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IAEO,cAAc,CAAC,OAA4B,EAAE,KAAc;QAClE,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAExC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,UAAU,CAAC,IAAI,CACd,GAAG,MAAM,kBAAkB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CACvE,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACtB,UAAU,CAAC,IAAI,CACd,GAAG,MAAM,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CACnE,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CACd,GAAG,MAAM,mBAAmB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CACtE,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU;iBAC7C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;iBACpC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC3C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,UAAU,CAAC,IAAI,CACd,GAAG,MAAM,kBAAkB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7D,CAAC;YACH,CAAC;QACF,CAAC;QAED,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACrC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,aAAa,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;CACD;AA/aD,oDA+aC;AAEgC,kDAAkB"}
|