@timmeck/brain-core 2.36.92 → 2.36.93
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 +6 -6
- package/dist/index.d.ts +1 -1
- package/dist/memory/conversation-memory.d.ts +18 -1
- package/dist/memory/conversation-memory.js +114 -28
- package/dist/memory/conversation-memory.js.map +1 -1
- package/dist/synapses/hebbian.d.ts +11 -4
- package/dist/synapses/hebbian.js +17 -5
- package/dist/synapses/hebbian.js.map +1 -1
- package/dist/synapses/synapse-manager.d.ts +2 -2
- package/dist/synapses/synapse-manager.js +2 -2
- package/dist/synapses/synapse-manager.js.map +1 -1
- package/dist/synapses/types.d.ts +10 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
[](https://github.com/timmeck/brain-ecosystem)
|
|
7
7
|
|
|
8
|
-
**Shared infrastructure for the Brain Ecosystem —
|
|
8
|
+
**Shared infrastructure for the Brain Ecosystem — 117+ autonomous engines, synapses, IPC, MCP, LLM service, consciousness, governance, research missions, notifications, self-modification, RAG, Knowledge Graph, code assimilation, and more.**
|
|
9
9
|
|
|
10
|
-
Brain Core is the nervous system that powers all three Brain MCP servers ([Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/brain), [Trading Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/trading-brain), [Marketing Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/marketing-brain)). A 68-step feedback orchestrator runs
|
|
10
|
+
Brain Core is the nervous system that powers all three Brain MCP servers ([Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/brain), [Trading Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/trading-brain), [Marketing Brain](https://github.com/timmeck/brain-ecosystem/tree/main/packages/marketing-brain)). A 68-step feedback orchestrator runs 117+ engines in autonomic cycles — the brain observes itself, forms hypotheses, runs experiments, dreams, debates, reasons in chains, feels emotions, evolves strategies genetically, absorbs code from other repos, extracts reusable features, governs its own engine dynamics, and modifies its own source code. Full intelligence suite: RAG pipeline, Knowledge Graph, semantic compression, RLHF feedback, tool learning, proactive suggestions, user modeling, code health monitor, inter-brain teaching, consensus voting, active learning, code assimilation with feature extraction. Engine Governance: formal profiles, runtime influence tracking, 4 anti-pattern detectors, active control (throttle/cooldown/isolate/escalate/restore).
|
|
11
11
|
|
|
12
12
|
## What's Included
|
|
13
13
|
|
|
@@ -42,7 +42,7 @@ Brain Core is the nervous system that powers all three Brain MCP servers ([Brain
|
|
|
42
42
|
| **A* Pathfinding** | Find shortest paths between nodes |
|
|
43
43
|
| **Wilson Score** | Statistical confidence intervals for win rates |
|
|
44
44
|
|
|
45
|
-
###
|
|
45
|
+
### 117+ Autonomous Engines
|
|
46
46
|
|
|
47
47
|
#### Observation & Data
|
|
48
48
|
|
|
@@ -126,7 +126,7 @@ Brain Core is the nervous system that powers all three Brain MCP servers ([Brain
|
|
|
126
126
|
|
|
127
127
|
| Dashboard | Port | Description |
|
|
128
128
|
|-----------|------|-------------|
|
|
129
|
-
| **Command Center** | 7790 |
|
|
129
|
+
| **Command Center** | 7790 | 13-page ecosystem dashboard: Overview, Entity, Learning, Trading, Marketing, Intelligence, Cross-Brain, Activity, Debates, Desires, Forge, Infrastructure, Progress |
|
|
130
130
|
|
|
131
131
|
### Cross-Brain & Ecosystem
|
|
132
132
|
|
|
@@ -194,7 +194,7 @@ const llm = new LLMService(db, {
|
|
|
194
194
|
ollamaBaseUrl: 'http://localhost:11434',
|
|
195
195
|
});
|
|
196
196
|
|
|
197
|
-
// 3. Research Orchestrator (
|
|
197
|
+
// 3. Research Orchestrator (117+ engines, 51-step feedback cycle)
|
|
198
198
|
const orchestrator = new ResearchOrchestrator(db, { brainName: 'my-brain' });
|
|
199
199
|
orchestrator.start();
|
|
200
200
|
|
|
@@ -216,7 +216,7 @@ dashboard.start();
|
|
|
216
216
|
| [Brain](../brain) | Error memory, code intelligence, full autonomy & self-modification | 7777/7778/7790 |
|
|
217
217
|
| [Trading Brain](../trading-brain) | Adaptive trading intelligence with signal learning & paper trading | 7779/7780 |
|
|
218
218
|
| [Marketing Brain](../marketing-brain) | Content strategy, social engagement & cross-platform optimization | 7781/7782/7783 |
|
|
219
|
-
| **Brain Core** (this) | Shared infrastructure —
|
|
219
|
+
| **Brain Core** (this) | Shared infrastructure — 117+ engines | — |
|
|
220
220
|
|
|
221
221
|
## Support
|
|
222
222
|
|
package/dist/index.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export type { RateLimitConfig, SizeLimitConfig, SecurityHeadersConfig } from './
|
|
|
32
32
|
export { wilsonScore } from './math/wilson-score.js';
|
|
33
33
|
export { timeDecayFactor } from './math/time-decay.js';
|
|
34
34
|
export { deepMerge, loadConfigFile } from './config/loader.js';
|
|
35
|
-
export type { NodeRef, SynapseRecord, ActivationResult, PathNode, SynapsePath, NetworkStats, HebbianConfig, DecayConfig, SynapseRepoInterface, } from './synapses/types.js';
|
|
35
|
+
export type { NodeRef, SynapseRecord, ActivationResult, PathNode, SynapsePath, NetworkStats, HebbianConfig, DecayConfig, SynapseRepoInterface, SignalScores, } from './synapses/types.js';
|
|
36
36
|
export type { SynapseManagerConfig } from './synapses/synapse-manager.js';
|
|
37
37
|
export { strengthen, weaken } from './synapses/hebbian.js';
|
|
38
38
|
export { decayAll } from './synapses/decay.js';
|
|
@@ -107,14 +107,31 @@ export declare class ConversationMemory {
|
|
|
107
107
|
private readonly stmtSessionGet;
|
|
108
108
|
private readonly stmtSessionCountMemories;
|
|
109
109
|
private readonly stmtIncrementUseCount;
|
|
110
|
+
private readonly stmtUpdateRetrievalScore;
|
|
110
111
|
constructor(db: Database.Database, config?: ConversationMemoryConfig);
|
|
111
112
|
setRAG(rag: MemoryRAGAdapter): void;
|
|
112
113
|
setJournal(journal: MemoryJournalAdapter): void;
|
|
113
114
|
setKnowledgeGraph(kg: MemoryKnowledgeGraphAdapter): void;
|
|
114
115
|
/** Store a memory. Returns memory ID. */
|
|
115
116
|
remember(content: string, options?: RememberOptions): number;
|
|
116
|
-
/**
|
|
117
|
+
/**
|
|
118
|
+
* Search for memories using Reciprocal Rank Fusion (RRF).
|
|
119
|
+
* When RAG is available, runs both FTS5 + RAG and fuses results.
|
|
120
|
+
* When RAG unavailable, falls back to FTS5-only.
|
|
121
|
+
*
|
|
122
|
+
* RRF formula: score(d) = sum(1 / (k + rank(d, list_i)))
|
|
123
|
+
* where k=60 (standard constant from Cormack et al. 2009).
|
|
124
|
+
*/
|
|
117
125
|
recall(query: string, options?: RecallOptions): Promise<MemorySearchResult[]>;
|
|
126
|
+
/**
|
|
127
|
+
* Reciprocal Rank Fusion: merge two ranked lists into one.
|
|
128
|
+
* score(d) = sum(1 / (k + rank_i(d))) for each list containing d.
|
|
129
|
+
*/
|
|
130
|
+
private rrfFuse;
|
|
131
|
+
/** RAG semantic search — returns ranked list for RRF. */
|
|
132
|
+
private ragSearch;
|
|
133
|
+
/** FTS5 text search — returns ranked list for RRF. No access tracking (done by caller). */
|
|
134
|
+
private ftsSearch;
|
|
118
135
|
/** Full-text search (FTS5). Always available, no embeddings needed. */
|
|
119
136
|
searchText(query: string, options?: RecallOptions): MemorySearchResult[];
|
|
120
137
|
/** Get recent memories for session context. Perfect for session start. */
|
|
@@ -137,6 +137,7 @@ export class ConversationMemory {
|
|
|
137
137
|
stmtSessionGet;
|
|
138
138
|
stmtSessionCountMemories;
|
|
139
139
|
stmtIncrementUseCount;
|
|
140
|
+
stmtUpdateRetrievalScore;
|
|
140
141
|
constructor(db, config = {}) {
|
|
141
142
|
this.db = db;
|
|
142
143
|
this.config = {
|
|
@@ -181,6 +182,10 @@ export class ConversationMemory {
|
|
|
181
182
|
this.stmtIncrementUseCount = db.prepare(`
|
|
182
183
|
UPDATE conversation_memories SET use_count = use_count + 1, last_used_at = datetime('now')
|
|
183
184
|
WHERE id = ?
|
|
185
|
+
`);
|
|
186
|
+
this.stmtUpdateRetrievalScore = db.prepare(`
|
|
187
|
+
UPDATE conversation_memories SET last_retrieval_score = ?
|
|
188
|
+
WHERE id = ?
|
|
184
189
|
`);
|
|
185
190
|
}
|
|
186
191
|
// ── Setters ────────────────────────────────────────────
|
|
@@ -234,44 +239,123 @@ export class ConversationMemory {
|
|
|
234
239
|
return id;
|
|
235
240
|
}
|
|
236
241
|
// ── Recall ────────────────────────────────────────────
|
|
237
|
-
/**
|
|
242
|
+
/**
|
|
243
|
+
* Search for memories using Reciprocal Rank Fusion (RRF).
|
|
244
|
+
* When RAG is available, runs both FTS5 + RAG and fuses results.
|
|
245
|
+
* When RAG unavailable, falls back to FTS5-only.
|
|
246
|
+
*
|
|
247
|
+
* RRF formula: score(d) = sum(1 / (k + rank(d, list_i)))
|
|
248
|
+
* where k=60 (standard constant from Cormack et al. 2009).
|
|
249
|
+
*/
|
|
238
250
|
async recall(query, options = {}) {
|
|
239
251
|
const limit = options.limit ?? 10;
|
|
240
|
-
//
|
|
252
|
+
// When RAG available: run both sources and fuse with RRF
|
|
241
253
|
if (this.rag) {
|
|
242
254
|
try {
|
|
243
|
-
const ragResults = await
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
for (const r of
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
continue;
|
|
253
|
-
const mem = this.toMemory(row);
|
|
254
|
-
if (options.category && mem.category !== options.category)
|
|
255
|
-
continue;
|
|
256
|
-
if (options.minImportance && mem.importance < options.minImportance)
|
|
257
|
-
continue;
|
|
258
|
-
if (options.tags?.length && !options.tags.some(t => mem.tags.includes(t)))
|
|
259
|
-
continue;
|
|
260
|
-
// Record access
|
|
261
|
-
this.stmtRecordAccess.run(mem.id);
|
|
262
|
-
memories.push({ memory: mem, relevance: r.similarity });
|
|
263
|
-
if (memories.length >= limit)
|
|
264
|
-
break;
|
|
255
|
+
const [ragResults, ftsResults] = await Promise.all([
|
|
256
|
+
this.ragSearch(query, options, limit * 3),
|
|
257
|
+
Promise.resolve(this.ftsSearch(query, options, limit * 3)),
|
|
258
|
+
]);
|
|
259
|
+
const fused = this.rrfFuse(ragResults, ftsResults, limit);
|
|
260
|
+
// Record access + store retrieval score
|
|
261
|
+
for (const r of fused) {
|
|
262
|
+
this.stmtRecordAccess.run(r.memory.id);
|
|
263
|
+
this.stmtUpdateRetrievalScore.run(r.relevance, r.memory.id);
|
|
265
264
|
}
|
|
266
|
-
return
|
|
265
|
+
return fused;
|
|
267
266
|
}
|
|
268
267
|
catch (err) {
|
|
269
|
-
this.log.debug(`[conversation-memory]
|
|
268
|
+
this.log.debug(`[conversation-memory] RRF recall failed, falling back to FTS: ${err.message}`);
|
|
270
269
|
}
|
|
271
270
|
}
|
|
272
|
-
// Fallback: FTS5 text search
|
|
271
|
+
// Fallback: FTS5 text search only
|
|
273
272
|
return this.searchText(query, options);
|
|
274
273
|
}
|
|
274
|
+
/**
|
|
275
|
+
* Reciprocal Rank Fusion: merge two ranked lists into one.
|
|
276
|
+
* score(d) = sum(1 / (k + rank_i(d))) for each list containing d.
|
|
277
|
+
*/
|
|
278
|
+
rrfFuse(listA, listB, limit, k = 60) {
|
|
279
|
+
const scores = new Map();
|
|
280
|
+
// Score from list A (RAG/semantic)
|
|
281
|
+
for (let rank = 0; rank < listA.length; rank++) {
|
|
282
|
+
const item = listA[rank];
|
|
283
|
+
const rrfScore = 1 / (k + rank + 1); // rank is 1-based in formula
|
|
284
|
+
const existing = scores.get(item.memory.id);
|
|
285
|
+
if (existing) {
|
|
286
|
+
existing.score += rrfScore;
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
scores.set(item.memory.id, { score: rrfScore, memory: item.memory });
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
// Score from list B (FTS)
|
|
293
|
+
for (let rank = 0; rank < listB.length; rank++) {
|
|
294
|
+
const item = listB[rank];
|
|
295
|
+
const rrfScore = 1 / (k + rank + 1);
|
|
296
|
+
const existing = scores.get(item.memory.id);
|
|
297
|
+
if (existing) {
|
|
298
|
+
existing.score += rrfScore;
|
|
299
|
+
}
|
|
300
|
+
else {
|
|
301
|
+
scores.set(item.memory.id, { score: rrfScore, memory: item.memory });
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
// Sort by fused score descending, take top N
|
|
305
|
+
return Array.from(scores.values())
|
|
306
|
+
.sort((a, b) => b.score - a.score)
|
|
307
|
+
.slice(0, limit)
|
|
308
|
+
.map(entry => ({ memory: entry.memory, relevance: entry.score }));
|
|
309
|
+
}
|
|
310
|
+
/** RAG semantic search — returns ranked list for RRF. */
|
|
311
|
+
async ragSearch(query, options, fetchLimit) {
|
|
312
|
+
if (!this.rag)
|
|
313
|
+
return [];
|
|
314
|
+
const ragResults = await this.rag.search(query, {
|
|
315
|
+
collections: [RAG_COLLECTION],
|
|
316
|
+
limit: fetchLimit,
|
|
317
|
+
threshold: 0.3,
|
|
318
|
+
});
|
|
319
|
+
const memories = [];
|
|
320
|
+
for (const r of ragResults) {
|
|
321
|
+
const row = this.stmtGetById.get(r.sourceId);
|
|
322
|
+
if (!row || !row.active)
|
|
323
|
+
continue;
|
|
324
|
+
const mem = this.toMemory(row);
|
|
325
|
+
if (options.category && mem.category !== options.category)
|
|
326
|
+
continue;
|
|
327
|
+
if (options.minImportance && mem.importance < options.minImportance)
|
|
328
|
+
continue;
|
|
329
|
+
if (options.tags?.length && !options.tags.some(t => mem.tags.includes(t)))
|
|
330
|
+
continue;
|
|
331
|
+
memories.push({ memory: mem, relevance: r.similarity });
|
|
332
|
+
}
|
|
333
|
+
return memories;
|
|
334
|
+
}
|
|
335
|
+
/** FTS5 text search — returns ranked list for RRF. No access tracking (done by caller). */
|
|
336
|
+
ftsSearch(query, options, fetchLimit) {
|
|
337
|
+
const ftsQuery = query.replace(/[^\w\s]/g, ' ').trim().split(/\s+/).filter(w => w.length > 1).join(' OR ');
|
|
338
|
+
if (!ftsQuery)
|
|
339
|
+
return [];
|
|
340
|
+
try {
|
|
341
|
+
const rows = this.stmtSearch.all(ftsQuery, fetchLimit);
|
|
342
|
+
const results = [];
|
|
343
|
+
for (const row of rows) {
|
|
344
|
+
const mem = this.toMemory(row);
|
|
345
|
+
if (options.category && mem.category !== options.category)
|
|
346
|
+
continue;
|
|
347
|
+
if (options.minImportance && mem.importance < options.minImportance)
|
|
348
|
+
continue;
|
|
349
|
+
if (options.activeOnly !== false && !mem.active)
|
|
350
|
+
continue;
|
|
351
|
+
results.push({ memory: mem, relevance: 0.5 });
|
|
352
|
+
}
|
|
353
|
+
return results;
|
|
354
|
+
}
|
|
355
|
+
catch {
|
|
356
|
+
return [];
|
|
357
|
+
}
|
|
358
|
+
}
|
|
275
359
|
/** Full-text search (FTS5). Always available, no embeddings needed. */
|
|
276
360
|
searchText(query, options = {}) {
|
|
277
361
|
const limit = options.limit ?? 10;
|
|
@@ -291,7 +375,9 @@ export class ConversationMemory {
|
|
|
291
375
|
if (options.activeOnly !== false && !mem.active)
|
|
292
376
|
continue;
|
|
293
377
|
this.stmtRecordAccess.run(mem.id);
|
|
294
|
-
|
|
378
|
+
const relevance = 0.5; // FTS doesn't give similarity score
|
|
379
|
+
this.stmtUpdateRetrievalScore.run(relevance, mem.id);
|
|
380
|
+
results.push({ memory: mem, relevance });
|
|
295
381
|
if (results.length >= limit)
|
|
296
382
|
break;
|
|
297
383
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-memory.js","sourceRoot":"","sources":["../../src/memory/conversation-memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conversation-memory.js","sourceRoot":"","sources":["../../src/memory/conversation-memory.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,+CAA+C;AAC/C,2EAA2E;AAC3E,gEAAgE;AAChE,EAAE;AACF,aAAa;AACb,uDAAuD;AACvD,yDAAyD;AACzD,6CAA6C;AAC7C,iDAAiD;AACjD,uCAAuC;AACvC,kDAAkD;AAClD,EAAE;AACF,eAAe;AACf,oDAAoD;AACpD,2CAA2C;AAC3C,iDAAiD;AAGjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAyF/C,6DAA6D;AAE7D,MAAM,UAAU,8BAA8B,CAAC,EAAqB;IAClE,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;GAqBP,CAAC,CAAC;IAEH,4BAA4B;IAC5B,EAAE,CAAC,IAAI,CAAC;;;;;;GAMP,CAAC,CAAC;IAEH,wBAAwB;IACxB,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;KAWP,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,iBAAiB;IACjB,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;GAWP,CAAC,CAAC;IAEH,2EAA2E;IAC3E,IAAI,CAAC;QACH,EAAE,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,yDAAyD;IACzD,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC5H,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACzG,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACjH,IAAI,CAAC;QAAC,EAAE,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IACpI,EAAE,CAAC,IAAI,CAAC,6FAA6F,CAAC,CAAC;IACvG,EAAE,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;AAClG,CAAC;AAED,6DAA6D;AAE7D,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAE7C,MAAM,OAAO,kBAAkB;IACZ,EAAE,CAAoB;IACtB,MAAM,CAAqC;IAC3C,GAAG,GAAG,SAAS,EAAE,CAAC;IAC3B,GAAG,GAA4B,IAAI,CAAC;IACpC,OAAO,GAAgC,IAAI,CAAC;IAC5C,EAAE,GAAuC,IAAI,CAAC;IAC9C,gBAAgB,GAA0C,IAAI,CAAC;IAEvE,sBAAsB;IACL,UAAU,CAAC;IACX,WAAW,CAAC;IACZ,UAAU,CAAC;IACX,aAAa,CAAC;IACd,kBAAkB,CAAC;IACnB,cAAc,CAAC;IACf,cAAc,CAAC;IACf,UAAU,CAAC;IACX,cAAc,CAAC;IACf,gBAAgB,CAAC;IACjB,mBAAmB,CAAC;IACpB,eAAe,CAAC;IAChB,cAAc,CAAC;IACf,iBAAiB,CAAC;IAClB,iBAAiB,CAAC;IAClB,cAAc,CAAC;IACf,cAAc,CAAC;IACf,wBAAwB,CAAC;IACzB,qBAAqB,CAAC;IACtB,wBAAwB,CAAC;IAE1C,YAAY,EAAqB,EAAE,SAAmC,EAAE;QACtE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG;YACZ,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM;YACzC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACjC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,CAAC;SACjD,CAAC;QAEF,8BAA8B,CAAC,EAAE,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QAElF,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;KAM5B,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,OAAO,CAC7B,mGAAmG,CACpG,CAAC;QAEF,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,OAAO,CAClC,yHAAyH,CAC1H,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,CAC9B,wGAAwG,CACzG,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,CAC9B,uFAAuF,CACxF,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG5B,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,CAC9B,wFAAwF,CACzF,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAGlC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,OAAO,CACnC,kGAAkG,CACnG,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,OAAO,CAC/B,sEAAsE,CACvE,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,CAC9B,qDAAqD,CACtD,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,OAAO,CACjC,qDAAqD,CACtD,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC,OAAO,CACjC,kFAAkF,CACnF,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,CAC9B,+FAA+F,CAChG,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,OAAO,CAC9B,0DAA0D,CAC3D,CAAC;QAEF,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,OAAO,CACxC,0EAA0E,CAC3E,CAAC;QAEF,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAGvC,CAAC,CAAC;QAEH,IAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG1C,CAAC,CAAC;IACL,CAAC;IAED,0DAA0D;IAE1D,MAAM,CAAC,GAAqB,IAAU,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IACvD,UAAU,CAAC,OAA6B,IAAU,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAC3E,iBAAiB,CAAC,EAA+B,IAAU,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAE1E,yDAAyD;IAEzD,yCAAyC;IACzC,QAAQ,CAAC,OAAe,EAAE,UAA2B,EAAE;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;QAChC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACvE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;QAE5C,0CAA0C;QAC1C,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAwC,CAAC;YACpF,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAoB,EAAE,UAAU,CAAC,CAAC;gBAC1E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,QAAQ,CAAC,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC;gBAErF,mBAAmB;gBACnB,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAY,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACpG,CAAC;gBAED,OAAO,QAAQ,CAAC,EAAY,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAChG,MAAM,EAAE,GAAG,MAAM,CAAC,eAAyB,CAAC;QAE5C,mCAAmC;QACnC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrG,CAAC;QAED,+CAA+C;QAC/C,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAC1B,WAAW,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EACxC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EACrB,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EACnC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CACxC,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,QAAQ,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,EAAE,EAAE,cAAc,CAAC,CAAC;YACjH,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,QAAQ,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3G,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,yDAAyD;IAEzD;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,UAAyB,EAAE;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAElC,yDAAyD;QACzD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACjD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC;oBACzC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;iBAC3D,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;gBAE1D,wCAAwC;gBACxC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAED,OAAO,KAAK,CAAC;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iEAAkE,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5G,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,OAAO,CACb,KAA2B,EAC3B,KAA2B,EAC3B,KAAa,EACb,CAAC,GAAG,EAAE;QAEN,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6C,CAAC;QAEpE,mCAAmC;QACnC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,6BAA6B;YAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;aAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,yDAAyD;IACjD,KAAK,CAAC,SAAS,CACrB,KAAa,EACb,OAAsB,EACtB,UAAkB;QAElB,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QAEzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;YAC9C,WAAW,EAAE,CAAC,cAAc,CAAC;YAC7B,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,GAAG;SACf,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAyB,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAwC,CAAC;YACpF,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,SAAS;YAElC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;gBAAE,SAAS;YACpE,IAAI,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa;gBAAE,SAAS;YAC9E,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAAE,SAAS;YAEpF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,2FAA2F;IACnF,SAAS,CACf,KAAa,EACb,OAAsB,EACtB,UAAkB;QAElB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3G,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAmC,CAAC;YACzF,MAAM,OAAO,GAAyB,EAAE,CAAC;YAEzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;oBAAE,SAAS;gBACpE,IAAI,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa;oBAAE,SAAS;gBAC9E,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,SAAS;gBAE1D,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAChD,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,UAAU,CAAC,KAAa,EAAE,UAAyB,EAAE;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAElC,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3G,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAEzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAmC,CAAC;YACxF,MAAM,OAAO,GAAyB,EAAE,CAAC;YAEzC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ;oBAAE,SAAS;gBACpE,IAAI,OAAO,CAAC,aAAa,IAAI,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa;oBAAE,SAAS;gBAC9E,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,SAAS;gBAE1D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClC,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,oCAAoC;gBAC3D,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzC,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK;oBAAE,MAAM;YACrC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC9B,0GAA0G,CAC3G,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,KAAK,CAAmC,CAAC;YAE7D,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAC1B,SAAS,EAAE,GAAG;aACf,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED,yDAAyD;IAEzD,0EAA0E;IAC1E,gBAAgB,CAAC,KAAK,GAAG,EAAE;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAmC,CAAC;QAC9E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,uCAAuC;IACvC,aAAa,CAAC,QAAwB,EAAE,KAAK,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAmC,CAAC;QAC5F,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,oCAAoC;IACpC,QAAQ,CAAC,GAAW;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAwC,CAAC;QAC/E,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,uCAAuC;IACvC,YAAY,CAAC,KAAK,GAAG,EAAE,EAAE,aAAa,GAAG,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,8HAA8H,CAC/H,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAmC,CAAC;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,+DAA+D;IAC/D,YAAY,CAAC,KAAK,GAAG,EAAE;QACrB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAEvC,YAAY;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YACvG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,cAAc;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YACnG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,0CAA0C;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACxD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YACzG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;QAChH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,QAAQ;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAC1F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,UAAU;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAC5F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,6CAA6C;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAC7D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;QACpG,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,iEAAiE;IACzD,iBAAiB,CAAC,GAAa;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC7B,IAAI,CAAC;YACH,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qDAAsD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED,2DAA2D;IAE3D;;;;;OAKG;IACH,gBAAgB,CAAC,MAAc,EAAE,KAAc,EAAE,KAAK,GAAG,EAAE;QACzD,qBAAqB;QACrB,IAAI,YAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACzB,oFAAoF,CACrF,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAuC,CAAC;YAC9D,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,YAAY,GAAG,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,qEAAqE;YACrE,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3E,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,IAAI,OAAiB,CAAC;QAEtB,IAAI,KAAK,EAAE,CAAC;YACV,sCAAsC;YACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3G,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;6BAIV,YAAY;;;;WAI9B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,YAAY,EAAE,KAAK,CAAmC,CAAC;oBAC3E,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBAAC,MAAM,CAAC;oBACP,8CAA8C;oBAC9C,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,GAAa,EAAE,KAAa;QACpD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACnC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAC1B,oDAAoD,YAAY,2DAA2D,CAC5H,CAAC,GAAG,CAAC,GAAG,MAAM,CAAmC,CAAC;YACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,uBAAuB,CAAC,MAAc,EAAE,KAAyB,EAAE,KAAa;QACtF,2BAA2B;QAC3B,MAAM,SAAS,GAA6B;YAC1C,eAAe,EAAE,CAAC,UAAU,CAAC;YAC7B,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;YACpC,sBAAsB,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;YACpD,mBAAmB,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC;SAC/C,CAAC;QACF,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,IAAI,KAAK,EAAE,CAAC;YACV,sCAAsC;YACtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO,UAAU;iBACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACnD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAED,wDAAwD;QACxD,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAA0C,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,QAAQ;aACZ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;aAC3C,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,yDAAyD;IAEzD,wCAAwC;IACxC,YAAY,CAAC,SAAiB,EAAE,QAAkB,EAAE,EAAE,WAAoC,EAAE;QAC1F,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,iDAAiD;IACjD,UAAU,CAAC,SAAiB,EAAE,OAAe;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE5C,4CAA4C;QAC5C,IAAI,CAAC,QAAQ,CAAC,WAAW,SAAS,KAAK,OAAO,EAAE,EAAE;YAChD,QAAQ,EAAE,SAAS;YACnB,GAAG,EAAE,mBAAmB,SAAS,EAAE;YACnC,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;YAC5B,SAAS;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,iFAAiF;IACjF,aAAa,CAAC,SAAiB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAwC,CAAC;QAC3F,IAAI,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC,CAAC,6CAA6C;QAC7D,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,kBAAkB,CAAC,SAAiB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAwC,CAAC;QACtF,OAAQ,GAAG,EAAE,iBAA4B,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,8DAA8D;IAC9D,mBAAmB,CAAC,SAAiB,EAAE,SAAiB;QACtD,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,6EAA6E,CAC9E,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC9B,CAAC;IAED,wBAAwB;IACxB,UAAU,CAAC,SAAiB;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAwC,CAAC;QACtF,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,MAAM,QAAQ,GAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,SAAS,CAAuB,CAAC,KAAK,CAAC;QAE3F,OAAO;YACL,SAAS,EAAE,GAAG,CAAC,UAAoB;YACnC,SAAS,EAAE,GAAG,CAAC,UAAoB;YACnC,OAAO,EAAE,GAAG,CAAC,QAAyB;YACtC,OAAO,EAAE,GAAG,CAAC,OAAwB;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAE,GAAG,CAAC,KAAgB,IAAI,IAAI,CAAC;YAChD,eAAe,EAAE,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED,yDAAyD;IAEzD,yCAAyC;IACzC,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,2CAA2C;IAC3C,MAAM,CAAC,EAAU,EAAE,OAAe,EAAE,UAAmB;QACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAwC,CAAC;QACjF,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,OAAO,EACP,UAAU,IAAI,QAAQ,CAAC,UAAU,EACjC,QAAQ,CAAC,IAAI,EACb,EAAE,CACH,CAAC;QAEF,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,OAAO,EAAE;gBAC1C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,GAAG,EAAE,QAAQ,CAAC,GAAG;aAClB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,WAAW;QACT,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,8DAA8D;QAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;OAO9B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC9B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,CAAC;QAED,+CAA+C;QAC/C,MAAM,KAAK,GAAI,IAAI,CAAC,cAAc,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;QACrE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC/C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;OAOf,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACf,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,OAAO,aAAa,MAAM,SAAS,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,wDAAwD;IAExD,gEAAgE;IAChE,qBAAqB,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QACnD,IAAI,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAClC,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClC,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAuC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,CAAC;QACH,CAAC,EAAE,UAAU,CAAC,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iDAAiD,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvG,CAAC;IAED,uCAAuC;IACvC,oBAAoB;QAClB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACrC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,yDAAyD;IAEzD,SAAS;QACP,MAAM,KAAK,GAAI,IAAI,CAAC,cAAc,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;QACrE,MAAM,MAAM,GAAI,IAAI,CAAC,eAAe,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;QACvE,MAAM,QAAQ,GAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;QAE3E,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAgD,CAAC;QAC7F,MAAM,UAAU,GAA2B,EAAE,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,OAAO;YAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QAEhE,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAExC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;IACvH,CAAC;IAED,yDAAyD;IAEjD,QAAQ,CAAC,GAA4B;QAC3C,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAY;YACpB,SAAS,EAAE,GAAG,CAAC,UAA2B;YAC1C,QAAQ,EAAE,GAAG,CAAC,QAA0B;YACxC,OAAO,EAAE,GAAG,CAAC,OAAiB;YAC9B,GAAG,EAAE,GAAG,CAAC,GAAoB;YAC7B,UAAU,EAAE,GAAG,CAAC,UAAoB;YACpC,MAAM,EAAE,GAAG,CAAC,MAAsB;YAClC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAE,GAAG,CAAC,IAAe,IAAI,IAAI,CAAC;YAC9C,WAAW,EAAE,GAAG,CAAC,YAAsB;YACvC,cAAc,EAAE,GAAG,CAAC,gBAAiC;YACrD,SAAS,EAAE,GAAG,CAAC,UAAoB;YACnC,SAAS,EAAE,GAAG,CAAC,UAAoB;YACnC,MAAM,EAAG,GAAG,CAAC,MAAiB,KAAK,CAAC;YACpC,QAAQ,EAAG,GAAG,CAAC,SAAoB,IAAI,CAAC;YACxC,UAAU,EAAG,GAAG,CAAC,YAA8B,IAAI,IAAI;YACvD,kBAAkB,EAAG,GAAG,CAAC,oBAAsC,IAAI,IAAI;YACvE,gBAAgB,EAAE,CAAE,GAAG,CAAC,iBAA4B,IAAI,CAAC,CAAC,KAAK,CAAC;SACjE,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
import type { NodeRef, SynapseRecord, HebbianConfig, SynapseRepoInterface } from './types.js';
|
|
1
|
+
import type { NodeRef, SynapseRecord, HebbianConfig, SignalScores, SynapseRepoInterface } from './types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Hebbian learning: strengthen a synapse between two nodes.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Uses multiplicative update: w_new = min(1.0, w_old * (1 + effectiveRate))
|
|
5
|
+
* where effectiveRate = learningRate * qualityFactor.
|
|
6
|
+
*
|
|
7
|
+
* Signal quality weighting: when scores are provided, the effective rate is
|
|
8
|
+
* scaled by sqrt(sourceScore * targetScore). Strong co-activations reinforce
|
|
9
|
+
* more than weak ones. Without scores, full learningRate applies.
|
|
10
|
+
*
|
|
11
|
+
* This replaces the old additive formula (w + (1-w) * rate) which converged
|
|
12
|
+
* too fast and saturated synapses to ~1.0 with little differentiation.
|
|
6
13
|
*/
|
|
7
|
-
export declare function strengthen(repo: SynapseRepoInterface, source: NodeRef, target: NodeRef, synapseType: string, config: HebbianConfig, context?: Record<string, unknown
|
|
14
|
+
export declare function strengthen(repo: SynapseRepoInterface, source: NodeRef, target: NodeRef, synapseType: string, config: HebbianConfig, context?: Record<string, unknown>, scores?: SignalScores): SynapseRecord;
|
|
8
15
|
/**
|
|
9
16
|
* Weaken a synapse by a multiplicative factor.
|
|
10
17
|
* Prunes if weight drops below threshold.
|
package/dist/synapses/hebbian.js
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Hebbian learning: strengthen a synapse between two nodes.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Uses multiplicative update: w_new = min(1.0, w_old * (1 + effectiveRate))
|
|
4
|
+
* where effectiveRate = learningRate * qualityFactor.
|
|
5
|
+
*
|
|
6
|
+
* Signal quality weighting: when scores are provided, the effective rate is
|
|
7
|
+
* scaled by sqrt(sourceScore * targetScore). Strong co-activations reinforce
|
|
8
|
+
* more than weak ones. Without scores, full learningRate applies.
|
|
9
|
+
*
|
|
10
|
+
* This replaces the old additive formula (w + (1-w) * rate) which converged
|
|
11
|
+
* too fast and saturated synapses to ~1.0 with little differentiation.
|
|
5
12
|
*/
|
|
6
|
-
export function strengthen(repo, source, target, synapseType, config, context) {
|
|
13
|
+
export function strengthen(repo, source, target, synapseType, config, context, scores) {
|
|
7
14
|
const existing = repo.findBySourceTarget(source.type, source.id, target.type, target.id, synapseType);
|
|
15
|
+
// Quality factor: sqrt(sourceScore * targetScore), defaults to 1.0
|
|
16
|
+
const qualityFactor = scores
|
|
17
|
+
? Math.sqrt(Math.max(0, scores.sourceScore) * Math.max(0, scores.targetScore))
|
|
18
|
+
: 1.0;
|
|
19
|
+
const effectiveRate = config.learningRate * qualityFactor;
|
|
8
20
|
if (existing) {
|
|
9
|
-
// Hebbian:
|
|
10
|
-
const newWeight = Math.min(1.0, existing.weight
|
|
21
|
+
// Multiplicative Hebbian: w *= (1 + effectiveRate), bounded at 1.0
|
|
22
|
+
const newWeight = Math.min(1.0, existing.weight * (1 + effectiveRate));
|
|
11
23
|
repo.update(existing.id, {
|
|
12
24
|
weight: newWeight,
|
|
13
25
|
activation_count: existing.activation_count + 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hebbian.js","sourceRoot":"","sources":["../../src/synapses/hebbian.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"hebbian.js","sourceRoot":"","sources":["../../src/synapses/hebbian.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,UAAU,CACxB,IAA0B,EAC1B,MAAe,EACf,MAAe,EACf,WAAmB,EACnB,MAAqB,EACrB,OAAiC,EACjC,MAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CACtC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,WAAW,CAC5D,CAAC;IAEF,mEAAmE;IACnE,MAAM,aAAa,GAAG,MAAM;QAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9E,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,GAAG,aAAa,CAAC;IAE1D,IAAI,QAAQ,EAAE,CAAC;QACb,mEAAmE;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE;YACvB,MAAM,EAAE,SAAS;YACjB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,GAAG,CAAC;YAC/C,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC5C,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;IAC7F,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,SAAS,EAAE,MAAM,CAAC,EAAE;QACpB,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,SAAS,EAAE,MAAM,CAAC,EAAE;QACpB,YAAY,EAAE,WAAW;QACzB,MAAM,EAAE,MAAM,CAAC,aAAa;QAC5B,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;KACnD,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CACpB,IAA0B,EAC1B,SAAiB,EACjB,MAAqB,EACrB,SAAiB,GAAG;IAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,OAAO;IAErB,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1C,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NodeRef, SynapseRecord, ActivationResult, SynapsePath, NetworkStats, SynapseRepoInterface } from './types.js';
|
|
1
|
+
import type { NodeRef, SynapseRecord, ActivationResult, SynapsePath, NetworkStats, SynapseRepoInterface, SignalScores } from './types.js';
|
|
2
2
|
export interface SynapseManagerConfig {
|
|
3
3
|
initialWeight: number;
|
|
4
4
|
learningRate: number;
|
|
@@ -18,7 +18,7 @@ export declare class BaseSynapseManager {
|
|
|
18
18
|
protected config: SynapseManagerConfig;
|
|
19
19
|
protected logger: import("winston").Logger;
|
|
20
20
|
constructor(repo: SynapseRepoInterface, config: SynapseManagerConfig);
|
|
21
|
-
strengthen(source: NodeRef, target: NodeRef, synapseType: string, context?: Record<string, unknown
|
|
21
|
+
strengthen(source: NodeRef, target: NodeRef, synapseType: string, context?: Record<string, unknown>, scores?: SignalScores): SynapseRecord;
|
|
22
22
|
weaken(synapseId: number, factor?: number): void;
|
|
23
23
|
find(source: NodeRef, target: NodeRef, synapseType: string): SynapseRecord | undefined;
|
|
24
24
|
activate(startNode: NodeRef, maxDepth?: number, minWeight?: number): ActivationResult[];
|
|
@@ -16,9 +16,9 @@ export class BaseSynapseManager {
|
|
|
16
16
|
this.repo = repo;
|
|
17
17
|
this.config = config;
|
|
18
18
|
}
|
|
19
|
-
strengthen(source, target, synapseType, context) {
|
|
19
|
+
strengthen(source, target, synapseType, context, scores) {
|
|
20
20
|
this.logger.debug(`Strengthening synapse ${source.type}:${source.id} --${synapseType}--> ${target.type}:${target.id}`);
|
|
21
|
-
return strengthen(this.repo, source, target, synapseType, this.hebbianConfig(), context);
|
|
21
|
+
return strengthen(this.repo, source, target, synapseType, this.hebbianConfig(), context, scores);
|
|
22
22
|
}
|
|
23
23
|
weaken(synapseId, factor = 0.5) {
|
|
24
24
|
this.logger.debug(`Weakening synapse ${synapseId} by factor ${factor}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synapse-manager.js","sourceRoot":"","sources":["../../src/synapses/synapse-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAY/C;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;IAIjB;IACA;IAJF,MAAM,GAAG,SAAS,EAAE,CAAC;IAE/B,YACY,IAA0B,EAC1B,MAA4B;QAD5B,SAAI,GAAJ,IAAI,CAAsB;QAC1B,WAAM,GAAN,MAAM,CAAsB;IACrC,CAAC;IAEJ,UAAU,CACR,MAAe,EACf,MAAe,EACf,WAAmB,EACnB,OAAiC;
|
|
1
|
+
{"version":3,"file":"synapse-manager.js","sourceRoot":"","sources":["../../src/synapses/synapse-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/synapses/types.d.ts
CHANGED
|
@@ -50,6 +50,16 @@ export interface HebbianConfig {
|
|
|
50
50
|
learningRate: number;
|
|
51
51
|
pruneThreshold: number;
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Optional signal quality scores for Hebbian strengthening.
|
|
55
|
+
* When provided, the effective learning rate is scaled by
|
|
56
|
+
* sqrt(sourceScore * targetScore) — strong co-activations
|
|
57
|
+
* reinforce more than weak ones.
|
|
58
|
+
*/
|
|
59
|
+
export interface SignalScores {
|
|
60
|
+
sourceScore: number;
|
|
61
|
+
targetScore: number;
|
|
62
|
+
}
|
|
53
63
|
export interface DecayConfig {
|
|
54
64
|
decayHalfLifeDays: number;
|
|
55
65
|
decayAfterDays: number;
|
package/package.json
CHANGED