wyrm-mcp 3.2.0 → 3.3.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.md +1 -1
- package/dist/database.d.ts +0 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/database.js +9 -205
- package/dist/database.js.map +1 -1
- package/dist/index.js +839 -39
- package/dist/index.js.map +1 -1
- package/dist/indexer.d.ts +84 -0
- package/dist/indexer.d.ts.map +1 -0
- package/dist/indexer.js +160 -0
- package/dist/indexer.js.map +1 -0
- package/dist/intelligence.d.ts +116 -0
- package/dist/intelligence.d.ts.map +1 -0
- package/dist/intelligence.js +278 -0
- package/dist/intelligence.js.map +1 -0
- package/dist/knowledge-graph.d.ts +113 -0
- package/dist/knowledge-graph.d.ts.map +1 -0
- package/dist/knowledge-graph.js +235 -0
- package/dist/knowledge-graph.js.map +1 -0
- package/dist/memory-artifacts.d.ts +106 -0
- package/dist/memory-artifacts.d.ts.map +1 -0
- package/dist/memory-artifacts.js +291 -0
- package/dist/memory-artifacts.js.map +1 -0
- package/dist/migrations.d.ts +31 -0
- package/dist/migrations.d.ts.map +1 -0
- package/dist/migrations.js +525 -0
- package/dist/migrations.js.map +1 -0
- package/dist/providers/embedding-provider.d.ts +81 -0
- package/dist/providers/embedding-provider.d.ts.map +1 -0
- package/dist/providers/embedding-provider.js +149 -0
- package/dist/providers/embedding-provider.js.map +1 -0
- package/dist/security.js +1 -1
- package/dist/security.js.map +1 -1
- package/dist/vectors.d.ts +32 -48
- package/dist/vectors.d.ts.map +1 -1
- package/dist/vectors.js +119 -225
- package/dist/vectors.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-provider.d.ts","sourceRoot":"","sources":["../../src/providers/embedding-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kDAAkD;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,sDAAsD;IACtD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAE3C,6EAA6E;IAC7E,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7B;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,cAAc;IAC5B,QAAQ,CAAC,UAAU,OAAO;IAEpB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAuB1C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAGlC;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAMpC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmB1C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAGlC;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,iBAAiB;IACtD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAOtC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAgB1C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAQlC;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,iBAAiB;IACpD,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,KAAK,UAAU;IACxB,QAAQ,CAAC,UAAU,KAAK;IAElB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI3C,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;CAGlC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAsBlF"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding Provider Interface — Vendor-agnostic embedding generation
|
|
3
|
+
*
|
|
4
|
+
* @copyright 2026 Ghost Protocol (Pvt) Ltd. All Rights Reserved.
|
|
5
|
+
* @license Proprietary - See LICENSE file for details.
|
|
6
|
+
*
|
|
7
|
+
* All embedding providers implement this interface so the rest of Wyrm
|
|
8
|
+
* never needs to know which provider is active.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Hash-based local embedding — zero dependencies, deterministic, fast.
|
|
12
|
+
* NOT semantically meaningful — useful for testing and as a fallback.
|
|
13
|
+
* Will be replaced by ONNX transformers in Phase 1.
|
|
14
|
+
*/
|
|
15
|
+
export class LocalHashProvider {
|
|
16
|
+
name = 'local-hash';
|
|
17
|
+
model = 'hash-384';
|
|
18
|
+
dimensions = 384;
|
|
19
|
+
async embed(text) {
|
|
20
|
+
const embedding = new Float32Array(this.dimensions);
|
|
21
|
+
const words = text.toLowerCase().split(/\s+/);
|
|
22
|
+
for (let i = 0; i < words.length; i++) {
|
|
23
|
+
const word = words[i];
|
|
24
|
+
for (let j = 0; j < word.length; j++) {
|
|
25
|
+
const idx = (word.charCodeAt(j) * (i + 1) * (j + 1)) % this.dimensions;
|
|
26
|
+
embedding[idx] += 1 / words.length;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// L2 normalize
|
|
30
|
+
const magnitude = Math.sqrt(embedding.reduce((sum, val) => sum + val * val, 0));
|
|
31
|
+
if (magnitude > 0) {
|
|
32
|
+
for (let i = 0; i < embedding.length; i++) {
|
|
33
|
+
embedding[i] /= magnitude;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return embedding;
|
|
37
|
+
}
|
|
38
|
+
async isReady() {
|
|
39
|
+
return true; // Always ready — no external deps
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* OpenAI embeddings via REST API.
|
|
44
|
+
*/
|
|
45
|
+
export class OpenAIProvider {
|
|
46
|
+
name = 'openai';
|
|
47
|
+
model;
|
|
48
|
+
dimensions;
|
|
49
|
+
apiKey;
|
|
50
|
+
constructor(apiKey, model) {
|
|
51
|
+
this.apiKey = apiKey;
|
|
52
|
+
this.model = model || 'text-embedding-3-small';
|
|
53
|
+
this.dimensions = this.model.includes('large') ? 3072 : 1536;
|
|
54
|
+
}
|
|
55
|
+
async embed(text) {
|
|
56
|
+
const response = await fetch('https://api.openai.com/v1/embeddings', {
|
|
57
|
+
method: 'POST',
|
|
58
|
+
headers: {
|
|
59
|
+
'Authorization': `Bearer ${this.apiKey}`,
|
|
60
|
+
'Content-Type': 'application/json',
|
|
61
|
+
},
|
|
62
|
+
body: JSON.stringify({ input: text, model: this.model }),
|
|
63
|
+
});
|
|
64
|
+
if (!response.ok) {
|
|
65
|
+
const body = await response.text();
|
|
66
|
+
throw new Error(`OpenAI embedding API error ${response.status}: ${body}`);
|
|
67
|
+
}
|
|
68
|
+
const data = await response.json();
|
|
69
|
+
return new Float32Array(data.data[0].embedding);
|
|
70
|
+
}
|
|
71
|
+
async isReady() {
|
|
72
|
+
return !!this.apiKey;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Ollama embeddings via local API.
|
|
77
|
+
*/
|
|
78
|
+
export class OllamaProvider {
|
|
79
|
+
name = 'ollama';
|
|
80
|
+
model;
|
|
81
|
+
dimensions;
|
|
82
|
+
baseUrl;
|
|
83
|
+
constructor(baseUrl, model) {
|
|
84
|
+
this.baseUrl = baseUrl || 'http://localhost:11434';
|
|
85
|
+
this.model = model || 'nomic-embed-text';
|
|
86
|
+
// Dimensions vary by model — these are common defaults
|
|
87
|
+
this.dimensions = this.model.includes('mxbai') ? 1024 : 768;
|
|
88
|
+
}
|
|
89
|
+
async embed(text) {
|
|
90
|
+
const response = await fetch(`${this.baseUrl}/api/embeddings`, {
|
|
91
|
+
method: 'POST',
|
|
92
|
+
headers: { 'Content-Type': 'application/json' },
|
|
93
|
+
body: JSON.stringify({ model: this.model, prompt: text }),
|
|
94
|
+
});
|
|
95
|
+
if (!response.ok) {
|
|
96
|
+
const body = await response.text();
|
|
97
|
+
throw new Error(`Ollama embedding API error ${response.status}: ${body}`);
|
|
98
|
+
}
|
|
99
|
+
const data = await response.json();
|
|
100
|
+
return new Float32Array(data.embedding);
|
|
101
|
+
}
|
|
102
|
+
async isReady() {
|
|
103
|
+
try {
|
|
104
|
+
const res = await fetch(`${this.baseUrl}/api/tags`, { signal: AbortSignal.timeout(2000) });
|
|
105
|
+
return res.ok;
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* No-op provider — returns nothing, used when embeddings are disabled.
|
|
114
|
+
*/
|
|
115
|
+
export class NoneProvider {
|
|
116
|
+
name = 'none';
|
|
117
|
+
model = 'none';
|
|
118
|
+
dimensions = 0;
|
|
119
|
+
async embed(_text) {
|
|
120
|
+
return new Float32Array(0);
|
|
121
|
+
}
|
|
122
|
+
async isReady() {
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Factory: create the right provider from config / environment.
|
|
128
|
+
*/
|
|
129
|
+
export function createProvider(config) {
|
|
130
|
+
const provider = config?.provider
|
|
131
|
+
|| process.env.WYRM_VECTOR_PROVIDER
|
|
132
|
+
|| 'local';
|
|
133
|
+
switch (provider) {
|
|
134
|
+
case 'openai': {
|
|
135
|
+
const key = config?.apiKey || process.env.OPENAI_API_KEY;
|
|
136
|
+
if (!key)
|
|
137
|
+
throw new Error('OpenAI provider requires OPENAI_API_KEY');
|
|
138
|
+
return new OpenAIProvider(key, config?.model);
|
|
139
|
+
}
|
|
140
|
+
case 'ollama':
|
|
141
|
+
return new OllamaProvider(config?.ollamaUrl || process.env.OLLAMA_URL, config?.model);
|
|
142
|
+
case 'none':
|
|
143
|
+
return new NoneProvider();
|
|
144
|
+
case 'local':
|
|
145
|
+
default:
|
|
146
|
+
return new LocalHashProvider();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=embedding-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-provider.js","sourceRoot":"","sources":["../../src/providers/embedding-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/security.js
CHANGED
|
@@ -81,7 +81,7 @@ export function sanitizeFtsQuery(query) {
|
|
|
81
81
|
// Remove FTS5 special syntax characters
|
|
82
82
|
// Allowed: alphanumeric, spaces, common punctuation
|
|
83
83
|
const sanitized = query
|
|
84
|
-
.replace(/[*"():^{}[\]
|
|
84
|
+
.replace(/[*"():^{}[\]\\.@#$%&!?<>~`|;,]/g, ' ') // Remove FTS operators and special chars
|
|
85
85
|
.replace(/\s+/g, ' ') // Normalize whitespace
|
|
86
86
|
.trim()
|
|
87
87
|
.slice(0, 500); // Limit length
|
package/dist/security.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../src/security.ts"],"names":[],"mappings":"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"}
|
package/dist/vectors.d.ts
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Wyrm Vector Embeddings
|
|
2
|
+
* Wyrm Vector Embeddings — Semantic Search Support
|
|
3
3
|
*
|
|
4
4
|
* @copyright 2026 Ghost Protocol (Pvt) Ltd. All Rights Reserved.
|
|
5
5
|
* @license Proprietary - See LICENSE file for details.
|
|
6
6
|
*
|
|
7
7
|
* Features:
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
11
|
-
* -
|
|
12
|
-
* - Automatic embedding on memory creation
|
|
8
|
+
* - Provider-agnostic embeddings (local, OpenAI, Ollama)
|
|
9
|
+
* - SQLite-backed vector storage (no external DB needed)
|
|
10
|
+
* - Cosine similarity search with content-hash deduplication
|
|
11
|
+
* - Graceful degradation when no provider is configured
|
|
13
12
|
*/
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
ollamaUrl?: string;
|
|
19
|
-
dimension?: number;
|
|
20
|
-
}
|
|
13
|
+
import type Database from 'better-sqlite3';
|
|
14
|
+
import { type EmbeddingProvider, type ProviderConfig } from './providers/embedding-provider.js';
|
|
15
|
+
/** Re-export for backward compatibility */
|
|
16
|
+
export type { ProviderConfig as EmbeddingConfig };
|
|
21
17
|
export interface VectorEntry {
|
|
22
18
|
id: number;
|
|
23
19
|
content_hash: string;
|
|
@@ -25,6 +21,8 @@ export interface VectorEntry {
|
|
|
25
21
|
content_id: number;
|
|
26
22
|
project_id: number;
|
|
27
23
|
embedding: Float32Array;
|
|
24
|
+
model: string;
|
|
25
|
+
dimensions: number;
|
|
28
26
|
created_at: string;
|
|
29
27
|
}
|
|
30
28
|
export interface SearchResult {
|
|
@@ -35,69 +33,55 @@ export interface SearchResult {
|
|
|
35
33
|
content_hash: string;
|
|
36
34
|
}
|
|
37
35
|
/**
|
|
38
|
-
*
|
|
39
|
-
* For production, consider using sqlite-vss or similar
|
|
36
|
+
* SQLite-backed vector store with pluggable embedding providers.
|
|
40
37
|
*/
|
|
41
38
|
export declare class VectorStore {
|
|
42
|
-
private
|
|
43
|
-
private
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
private loadVectors;
|
|
48
|
-
private saveVectors;
|
|
39
|
+
private provider;
|
|
40
|
+
private db;
|
|
41
|
+
constructor(provider: EmbeddingProvider, db?: Database.Database);
|
|
42
|
+
/** Create the vectors table if it doesn't exist */
|
|
43
|
+
private ensureTable;
|
|
49
44
|
/**
|
|
50
|
-
* Hash content for deduplication
|
|
45
|
+
* Hash content for deduplication — same hash means same content, skip re-embedding.
|
|
51
46
|
*/
|
|
52
47
|
private hashContent;
|
|
53
48
|
/**
|
|
54
|
-
* Add or update a vector entry
|
|
49
|
+
* Add or update a vector entry.
|
|
50
|
+
* Returns the content hash, or null if the provider is disabled.
|
|
55
51
|
*/
|
|
56
52
|
addVector(content: string, contentType: 'session' | 'quest' | 'context' | 'note', contentId: number, projectId: number): Promise<string | null>;
|
|
57
53
|
/**
|
|
58
|
-
*
|
|
59
|
-
*/
|
|
60
|
-
private generateEmbedding;
|
|
61
|
-
/**
|
|
62
|
-
* Local embedding using simple TF-IDF-like approach
|
|
63
|
-
* For production, use @xenova/transformers
|
|
64
|
-
*/
|
|
65
|
-
private generateLocalEmbedding;
|
|
66
|
-
/**
|
|
67
|
-
* OpenAI embedding API
|
|
68
|
-
*/
|
|
69
|
-
private generateOpenAIEmbedding;
|
|
70
|
-
/**
|
|
71
|
-
* Ollama embedding (local LLM)
|
|
72
|
-
*/
|
|
73
|
-
private generateOllamaEmbedding;
|
|
74
|
-
/**
|
|
75
|
-
* Cosine similarity between two vectors
|
|
54
|
+
* Cosine similarity between two vectors.
|
|
76
55
|
*/
|
|
77
56
|
private cosineSimilarity;
|
|
78
57
|
/**
|
|
79
|
-
* Search for similar content
|
|
58
|
+
* Search for similar content by embedding the query and comparing.
|
|
80
59
|
*/
|
|
81
60
|
search(query: string, limit?: number, projectId?: number, contentTypes?: string[]): Promise<SearchResult[]>;
|
|
82
61
|
/**
|
|
83
|
-
* Remove vector by content hash
|
|
62
|
+
* Remove vector by content hash.
|
|
84
63
|
*/
|
|
85
64
|
removeVector(contentHash: string): boolean;
|
|
86
65
|
/**
|
|
87
|
-
* Clear all vectors for a project
|
|
66
|
+
* Clear all vectors for a project.
|
|
88
67
|
*/
|
|
89
68
|
clearProjectVectors(projectId: number): number;
|
|
90
69
|
/**
|
|
91
|
-
* Get stats about the vector store
|
|
70
|
+
* Get stats about the vector store.
|
|
92
71
|
*/
|
|
93
72
|
getStats(): {
|
|
94
73
|
total: number;
|
|
95
74
|
byType: Record<string, number>;
|
|
96
75
|
byProject: Record<number, number>;
|
|
76
|
+
provider: string;
|
|
77
|
+
model: string;
|
|
97
78
|
};
|
|
79
|
+
/** Get the active embedding provider */
|
|
80
|
+
getProvider(): EmbeddingProvider;
|
|
98
81
|
}
|
|
99
82
|
/**
|
|
100
|
-
* Create a vector store instance with config
|
|
83
|
+
* Create a vector store instance with config.
|
|
84
|
+
* Accepts an optional SQLite database for persistent storage.
|
|
101
85
|
*/
|
|
102
|
-
export declare function createVectorStore(config?: Partial<
|
|
86
|
+
export declare function createVectorStore(config?: Partial<ProviderConfig>, db?: Database.Database): VectorStore;
|
|
103
87
|
//# sourceMappingURL=vectors.d.ts.map
|
package/dist/vectors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../src/vectors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"vectors.d.ts","sourceRoot":"","sources":["../src/vectors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAGpB,MAAM,mCAAmC,CAAC;AAE3C,2CAA2C;AAC3C,YAAY,EAAE,cAAc,IAAI,eAAe,EAAE,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,EAAE,CAA2B;gBAEzB,QAAQ,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ;IAS/D,mDAAmD;IACnD,OAAO,CAAC,WAAW;IAqBnB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;;OAGG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,EACrD,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6CzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC;IAsD1B;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAM1C;;OAEG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAM9C;;OAEG;IACH,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IAyBjI,wCAAwC;IACxC,WAAW,IAAI,iBAAiB;CACjC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAGvG"}
|