agentdb 3.0.0-alpha.7 → 3.0.0-alpha.9
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.md +214 -1204
- package/dist/agentdb.browser.js +1 -1
- package/dist/agentdb.browser.min.js +1 -1
- package/dist/backends/VectorBackend.d.ts +120 -0
- package/dist/backends/VectorBackend.js +14 -0
- package/dist/backends/VectorBackend.js.map +1 -0
- package/dist/optimizations/RVFOptimizer.d.ts +225 -0
- package/dist/optimizations/RVFOptimizer.js +541 -0
- package/dist/optimizations/RVFOptimizer.js.map +1 -0
- package/dist/src/backends/factory.d.ts +1 -0
- package/dist/src/backends/factory.d.ts.map +1 -1
- package/dist/src/backends/factory.js +40 -7
- package/dist/src/backends/factory.js.map +1 -1
- package/dist/src/backends/index.cjs +6 -0
- package/dist/src/backends/ruvector/RuVectorBackend.d.ts +40 -22
- package/dist/src/backends/ruvector/RuVectorBackend.d.ts.map +1 -1
- package/dist/src/backends/ruvector/RuVectorBackend.js +228 -81
- package/dist/src/backends/ruvector/RuVectorBackend.js.map +1 -1
- package/dist/src/consensus/RaftConsensus.d.ts +220 -0
- package/dist/src/consensus/RaftConsensus.d.ts.map +1 -0
- package/dist/src/consensus/RaftConsensus.js +762 -0
- package/dist/src/consensus/RaftConsensus.js.map +1 -0
- package/dist/src/controllers/AttentionService.d.ts +80 -1
- package/dist/src/controllers/AttentionService.d.ts.map +1 -1
- package/dist/src/controllers/AttentionService.js +344 -13
- package/dist/src/controllers/AttentionService.js.map +1 -1
- package/dist/src/controllers/HierarchicalMemory.d.ts +197 -0
- package/dist/src/controllers/HierarchicalMemory.d.ts.map +1 -0
- package/dist/src/controllers/HierarchicalMemory.js +519 -0
- package/dist/src/controllers/HierarchicalMemory.js.map +1 -0
- package/dist/src/controllers/LearningSystem.d.ts +17 -0
- package/dist/src/controllers/LearningSystem.d.ts.map +1 -1
- package/dist/src/controllers/LearningSystem.js +131 -0
- package/dist/src/controllers/LearningSystem.js.map +1 -1
- package/dist/src/controllers/MemoryConsolidation.d.ts +142 -0
- package/dist/src/controllers/MemoryConsolidation.d.ts.map +1 -0
- package/dist/src/controllers/MemoryConsolidation.js +479 -0
- package/dist/src/controllers/MemoryConsolidation.js.map +1 -0
- package/dist/src/controllers/QUICConnection.d.ts +122 -0
- package/dist/src/controllers/QUICConnection.d.ts.map +1 -0
- package/dist/src/controllers/QUICConnection.js +329 -0
- package/dist/src/controllers/QUICConnection.js.map +1 -0
- package/dist/src/controllers/QUICConnectionPool.d.ts +83 -0
- package/dist/src/controllers/QUICConnectionPool.d.ts.map +1 -0
- package/dist/src/controllers/QUICConnectionPool.js +256 -0
- package/dist/src/controllers/QUICConnectionPool.js.map +1 -0
- package/dist/src/controllers/QUICStreamManager.d.ts +114 -0
- package/dist/src/controllers/QUICStreamManager.d.ts.map +1 -0
- package/dist/src/controllers/QUICStreamManager.js +267 -0
- package/dist/src/controllers/QUICStreamManager.js.map +1 -0
- package/dist/src/controllers/StreamingEmbeddingService.d.ts +82 -0
- package/dist/src/controllers/StreamingEmbeddingService.d.ts.map +1 -0
- package/dist/src/controllers/StreamingEmbeddingService.js +243 -0
- package/dist/src/controllers/StreamingEmbeddingService.js.map +1 -0
- package/dist/src/controllers/WASMVectorSearch.d.ts +30 -0
- package/dist/src/controllers/WASMVectorSearch.d.ts.map +1 -1
- package/dist/src/controllers/WASMVectorSearch.js +70 -0
- package/dist/src/controllers/WASMVectorSearch.js.map +1 -1
- package/dist/src/controllers/index.cjs +6 -0
- package/dist/src/controllers/index.d.ts +10 -0
- package/dist/src/controllers/index.d.ts.map +1 -1
- package/dist/src/controllers/index.js +6 -0
- package/dist/src/controllers/index.js.map +1 -1
- package/dist/src/core/AgentDB.d.ts.map +1 -1
- package/dist/src/core/AgentDB.js +1 -0
- package/dist/src/core/AgentDB.js.map +1 -1
- package/dist/src/index.cjs +6 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/optimizations/RVFOptimizer.d.ts +226 -0
- package/dist/src/optimizations/RVFOptimizer.d.ts.map +1 -0
- package/dist/src/optimizations/RVFOptimizer.js +541 -0
- package/dist/src/optimizations/RVFOptimizer.js.map +1 -0
- package/dist/src/optimizations/index.d.ts +2 -0
- package/dist/src/optimizations/index.d.ts.map +1 -1
- package/dist/src/optimizations/index.js +1 -0
- package/dist/src/optimizations/index.js.map +1 -1
- package/dist/src/security/MutationGuard.d.ts.map +1 -1
- package/dist/src/security/MutationGuard.js +24 -39
- package/dist/src/security/MutationGuard.js.map +1 -1
- package/dist/src/security/index.cjs +6 -0
- package/dist/src/services/GNNService.d.ts +172 -0
- package/dist/src/services/GNNService.d.ts.map +1 -0
- package/dist/src/services/GNNService.js +612 -0
- package/dist/src/services/GNNService.js.map +1 -0
- package/dist/src/services/GraphTransformerService.d.ts +1 -0
- package/dist/src/services/GraphTransformerService.d.ts.map +1 -1
- package/dist/src/services/GraphTransformerService.js +41 -3
- package/dist/src/services/GraphTransformerService.js.map +1 -1
- package/dist/src/services/SemanticRouter.d.ts +7 -2
- package/dist/src/services/SemanticRouter.d.ts.map +1 -1
- package/dist/src/services/SemanticRouter.js +13 -2
- package/dist/src/services/SemanticRouter.js.map +1 -1
- package/dist/src/services/SonaTrajectoryService.d.ts +126 -2
- package/dist/src/services/SonaTrajectoryService.d.ts.map +1 -1
- package/dist/src/services/SonaTrajectoryService.js +311 -3
- package/dist/src/services/SonaTrajectoryService.js.map +1 -1
- package/package.json +22 -16
|
@@ -33,12 +33,20 @@ export async function detectBackends() {
|
|
|
33
33
|
};
|
|
34
34
|
// Check RuVector packages (main package or scoped packages)
|
|
35
35
|
try {
|
|
36
|
-
// Try main ruvector package first
|
|
36
|
+
// Try main ruvector package first (v0.1.99+)
|
|
37
37
|
const ruvector = await import('ruvector');
|
|
38
38
|
result.ruvector.core = true;
|
|
39
39
|
result.ruvector.gnn = true; // Main package includes GNN
|
|
40
40
|
result.ruvector.graph = true; // Main package includes Graph
|
|
41
|
-
|
|
41
|
+
// Check for native backend availability (0.1.99+ API)
|
|
42
|
+
if (typeof ruvector.isNative === 'function') {
|
|
43
|
+
result.ruvector.native = ruvector.isNative();
|
|
44
|
+
}
|
|
45
|
+
else if (typeof ruvector.backend === 'function') {
|
|
46
|
+
// Legacy API check
|
|
47
|
+
const backend = ruvector.backend();
|
|
48
|
+
result.ruvector.native = backend === 'native' || backend === 'napi';
|
|
49
|
+
}
|
|
42
50
|
result.available = 'ruvector';
|
|
43
51
|
}
|
|
44
52
|
catch {
|
|
@@ -46,7 +54,14 @@ export async function detectBackends() {
|
|
|
46
54
|
try {
|
|
47
55
|
const core = await import('@ruvector/core');
|
|
48
56
|
result.ruvector.core = true;
|
|
49
|
-
|
|
57
|
+
// Check for native backend (scoped packages)
|
|
58
|
+
if (typeof core.isNative === 'function') {
|
|
59
|
+
result.ruvector.native = core.isNative();
|
|
60
|
+
}
|
|
61
|
+
else if (typeof core.backend === 'function') {
|
|
62
|
+
const backend = core.backend();
|
|
63
|
+
result.ruvector.native = backend === 'native' || backend === 'napi';
|
|
64
|
+
}
|
|
50
65
|
result.available = 'ruvector';
|
|
51
66
|
// Check optional packages
|
|
52
67
|
try {
|
|
@@ -82,7 +97,14 @@ export async function detectBackends() {
|
|
|
82
97
|
result.ruvector.graphTransformer = true;
|
|
83
98
|
}
|
|
84
99
|
catch {
|
|
85
|
-
//
|
|
100
|
+
// Try WASM version
|
|
101
|
+
try {
|
|
102
|
+
await import('ruvector-graph-transformer-wasm');
|
|
103
|
+
result.ruvector.graphTransformer = true;
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
// graph-transformer not installed in any form
|
|
107
|
+
}
|
|
86
108
|
}
|
|
87
109
|
}
|
|
88
110
|
// Check HNSWLib
|
|
@@ -129,7 +151,11 @@ export async function createBackend(type, config) {
|
|
|
129
151
|
// Auto-detect best available backend
|
|
130
152
|
if (detection.ruvector.core) {
|
|
131
153
|
backend = new RuVectorBackend(config);
|
|
132
|
-
|
|
154
|
+
const backendType = detection.ruvector.native ? 'native NAPI-RS' : 'WASM';
|
|
155
|
+
const proofStatus = detection.ruvector.graphTransformer
|
|
156
|
+
? '+ graph-transformer proofs'
|
|
157
|
+
: '(no proof engine)';
|
|
158
|
+
console.log(`[AgentDB] Using RuVector backend (${backendType}) ${proofStatus}`);
|
|
133
159
|
// Try to initialize RuVector, fallback to HNSWLib if it fails
|
|
134
160
|
try {
|
|
135
161
|
await backend.initialize();
|
|
@@ -158,7 +184,8 @@ export async function createBackend(type, config) {
|
|
|
158
184
|
else {
|
|
159
185
|
throw new Error('No vector backend available.\n' +
|
|
160
186
|
'Install one of:\n' +
|
|
161
|
-
' - npm install @
|
|
187
|
+
' - npm install ruvector@0.1.99+ (recommended, includes native NAPI-RS)\n' +
|
|
188
|
+
' - npm install @ruvector/core (alternative)\n' +
|
|
162
189
|
' - npm install hnswlib-node (fallback)');
|
|
163
190
|
}
|
|
164
191
|
}
|
|
@@ -222,15 +249,21 @@ export { GuardedVectorBackend, ProofDeniedError };
|
|
|
222
249
|
* @returns Object containing the guarded backend, guard, and optional log
|
|
223
250
|
*/
|
|
224
251
|
export async function createGuardedBackend(type, config) {
|
|
252
|
+
const detection = await detectBackends();
|
|
225
253
|
const inner = await createBackend(type, config);
|
|
254
|
+
// Enable proofs if graph-transformer is available or explicitly requested
|
|
255
|
+
const enableWasmProofs = config.enableProofs ?? detection.ruvector.graphTransformer ?? true;
|
|
226
256
|
const guard = new MutationGuard({
|
|
227
257
|
dimension: config.dimension ?? config.dimensions ?? 384,
|
|
228
258
|
maxElements: config.maxElements ?? 10000,
|
|
229
|
-
enableWasmProofs
|
|
259
|
+
enableWasmProofs,
|
|
230
260
|
enableAttestationLog: true,
|
|
231
261
|
defaultNamespace: 'default',
|
|
232
262
|
});
|
|
233
263
|
await guard.initialize();
|
|
264
|
+
// Log the proof engine status
|
|
265
|
+
const stats = guard.getStats();
|
|
266
|
+
console.log(`[GuardedBackend] Proof engine: ${stats.engineType}, WASM available: ${stats.wasmAvailable}`);
|
|
234
267
|
let log = null;
|
|
235
268
|
if (config.database) {
|
|
236
269
|
log = new AttestationLog(config.database);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/backends/factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAgB/D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAqB;QAC/B,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK;YACX,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,gBAAgB,EAAE,KAAK;SACxB;QACD,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,4DAA4D;IAC5D,IAAI,CAAC;QACH,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/backends/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* RuVectorBackend - High-Performance Vector Storage
|
|
2
|
+
* RuVectorBackend - High-Performance Vector Storage (v0.1.99+)
|
|
3
3
|
*
|
|
4
|
-
* Implements VectorBackend using
|
|
5
|
-
*
|
|
4
|
+
* Implements VectorBackend using ruvector with native SIMD and multi-threading.
|
|
5
|
+
* Updated for ruvector 0.1.99+ async API with object-style insert/search.
|
|
6
6
|
*
|
|
7
7
|
* Features:
|
|
8
|
-
* -
|
|
8
|
+
* - Native SIMD acceleration (2-4x faster vector ops)
|
|
9
|
+
* - Automatic fallback when ruvector packages not installed
|
|
9
10
|
* - Separate metadata storage for rich queries
|
|
10
|
-
* -
|
|
11
|
+
* - Score-to-similarity conversion for all metrics
|
|
11
12
|
* - Batch operations for optimal throughput
|
|
13
|
+
* - Parallel batch search via searchBatch()
|
|
12
14
|
* - Persistent storage with separate metadata files
|
|
13
15
|
*/
|
|
14
16
|
import type { VectorBackend, VectorConfig, SearchResult, SearchOptions, VectorStats } from '../VectorBackend.js';
|
|
@@ -20,17 +22,21 @@ export declare class RuVectorBackend implements VectorBackend {
|
|
|
20
22
|
private metadata;
|
|
21
23
|
private initialized;
|
|
22
24
|
private learning;
|
|
25
|
+
private nativeVersion;
|
|
26
|
+
private isNativeImpl;
|
|
23
27
|
constructor(config: VectorConfig);
|
|
24
28
|
/**
|
|
25
|
-
* Initialize RuVector database with
|
|
29
|
+
* Initialize RuVector database with SIMD and multi-threading (0.1.99+)
|
|
26
30
|
*/
|
|
27
31
|
initialize(): Promise<void>;
|
|
28
32
|
/**
|
|
29
|
-
* Insert single vector with optional metadata
|
|
33
|
+
* Insert single vector with optional metadata.
|
|
34
|
+
* Uses ruvector 0.1.99+ object-style API: insert({ id, vector, metadata? })
|
|
30
35
|
*/
|
|
31
36
|
insert(id: string, embedding: Float32Array, metadata?: Record<string, any>): void;
|
|
32
37
|
/**
|
|
33
|
-
* Batch insert for optimal performance
|
|
38
|
+
* Batch insert for optimal performance.
|
|
39
|
+
* Uses ruvector 0.1.99+ insertBatch([{ id, vector, metadata? }])
|
|
34
40
|
*/
|
|
35
41
|
insertBatch(items: Array<{
|
|
36
42
|
id: string;
|
|
@@ -39,11 +45,6 @@ export declare class RuVectorBackend implements VectorBackend {
|
|
|
39
45
|
}>): void;
|
|
40
46
|
/**
|
|
41
47
|
* Set a RuVectorLearning instance for GNN-enhanced search
|
|
42
|
-
*
|
|
43
|
-
* When set, search results will be enhanced using GNN neighbor context
|
|
44
|
-
* from @ruvector/gnn. Falls through to raw HNSW results if enhancement fails.
|
|
45
|
-
*
|
|
46
|
-
* @param learning - Initialized RuVectorLearning instance, or null to disable
|
|
47
48
|
*/
|
|
48
49
|
setLearning(learning: RuVectorLearning | null): void;
|
|
49
50
|
/**
|
|
@@ -51,17 +52,37 @@ export declare class RuVectorBackend implements VectorBackend {
|
|
|
51
52
|
*/
|
|
52
53
|
getLearning(): RuVectorLearning | null;
|
|
53
54
|
/**
|
|
54
|
-
* Search for k-nearest neighbors with optional filtering and GNN enhancement
|
|
55
|
+
* Search for k-nearest neighbors with optional filtering and GNN enhancement.
|
|
56
|
+
* Uses ruvector 0.1.99+ search({ vector, k, efSearch?, filter? })
|
|
57
|
+
* Results contain { id, score, vector?, metadata? }
|
|
55
58
|
*/
|
|
56
59
|
search(query: Float32Array, k: number, options?: SearchOptions): SearchResult[];
|
|
57
60
|
/**
|
|
58
|
-
*
|
|
61
|
+
* Batch search for parallel query processing (0.1.99+).
|
|
62
|
+
* Executes multiple searches concurrently for throughput.
|
|
63
|
+
*/
|
|
64
|
+
searchBatch(queries: Float32Array[], k: number, options?: SearchOptions): Promise<SearchResult[][]>;
|
|
65
|
+
/**
|
|
66
|
+
* Remove vector by ID.
|
|
67
|
+
* Uses ruvector 0.1.99+ delete(id) instead of remove(id)
|
|
59
68
|
*/
|
|
60
69
|
remove(id: string): boolean;
|
|
61
70
|
/**
|
|
62
|
-
* Get database statistics
|
|
71
|
+
* Get database statistics including native SIMD status
|
|
63
72
|
*/
|
|
64
73
|
getStats(): VectorStats;
|
|
74
|
+
/**
|
|
75
|
+
* Get extended stats including SIMD and version info
|
|
76
|
+
*/
|
|
77
|
+
getExtendedStats(): {
|
|
78
|
+
count: number;
|
|
79
|
+
dimension: number;
|
|
80
|
+
metric: string;
|
|
81
|
+
backend: string;
|
|
82
|
+
nativeVersion: string;
|
|
83
|
+
isNative: boolean;
|
|
84
|
+
simdEnabled: boolean;
|
|
85
|
+
};
|
|
65
86
|
/**
|
|
66
87
|
* Save index and metadata to disk
|
|
67
88
|
*/
|
|
@@ -75,13 +96,10 @@ export declare class RuVectorBackend implements VectorBackend {
|
|
|
75
96
|
*/
|
|
76
97
|
close(): void;
|
|
77
98
|
/**
|
|
78
|
-
* Convert
|
|
79
|
-
*
|
|
80
|
-
* Cosine: distance is already in [0, 2], where 0 = identical
|
|
81
|
-
* L2: exponential decay for unbounded distances
|
|
82
|
-
* IP: negative inner product, so negate for similarity
|
|
99
|
+
* Convert score to distance for backward compatibility.
|
|
100
|
+
* ruvector 0.1.99+ returns scores (higher = more similar).
|
|
83
101
|
*/
|
|
84
|
-
private
|
|
102
|
+
private scoreToDistance;
|
|
85
103
|
/**
|
|
86
104
|
* Ensure database is initialized before operations
|
|
87
105
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuVectorBackend.d.ts","sourceRoot":"","sources":["../../../../src/backends/ruvector/RuVectorBackend.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"RuVectorBackend.d.ts","sourceRoot":"","sources":["../../../../src/backends/ruvector/RuVectorBackend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,eAAgB,YAAW,aAAa;IACnD,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IACpC,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,YAAY,CAAkB;gBAE1B,MAAM,EAAE,YAAY;IAUhC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgEjC;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IA0BjF;;;OAGG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC,GAAG,IAAI;IAuBxG;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI;IAIpD;;OAEG;IACH,WAAW,IAAI,gBAAgB,GAAG,IAAI;IAItC;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,EAAE;IAgI/E;;;OAGG;IACG,WAAW,CACf,OAAO,EAAE,YAAY,EAAE,EACvB,CAAC,EAAE,MAAM,EACT,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;IAiC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAsB3B;;OAEG;IACH,QAAQ,IAAI,WAAW;IA4BvB;;OAEG;IACH,gBAAgB,IAAI;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;KACtB;IAaD;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBvC;;OAEG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;;OAGG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAK1B"}
|