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
|
@@ -19,14 +19,84 @@
|
|
|
19
19
|
* - Model-Based RL
|
|
20
20
|
*/
|
|
21
21
|
import { cosineSimilarity } from '../utils/vector-math.js';
|
|
22
|
+
import { RuVectorLearning } from '../backends/ruvector/RuVectorLearning.js';
|
|
23
|
+
import { SonaTrajectoryService } from '../services/SonaTrajectoryService.js';
|
|
24
|
+
import { GNNService } from '../services/GNNService.js';
|
|
22
25
|
export class LearningSystem {
|
|
23
26
|
db;
|
|
24
27
|
embedder;
|
|
25
28
|
activeSessions = new Map();
|
|
29
|
+
// Phase 2: RuVector GNN and Sona integration
|
|
30
|
+
gnnLearning = null;
|
|
31
|
+
sonaService = null;
|
|
32
|
+
gnnService = null;
|
|
33
|
+
gnnEnabled = false;
|
|
34
|
+
sonaEnabled = false;
|
|
26
35
|
constructor(db, embedder) {
|
|
27
36
|
this.db = db;
|
|
28
37
|
this.embedder = embedder;
|
|
29
38
|
this.initializeSchema();
|
|
39
|
+
this.initializeRuVectorEnhancements().catch(err => {
|
|
40
|
+
console.warn('[LearningSystem] RuVector enhancements unavailable:', err.message);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Initialize RuVector GNN and Sona enhancements
|
|
45
|
+
*/
|
|
46
|
+
async initializeRuVectorEnhancements() {
|
|
47
|
+
// Try to initialize GNN-enhanced learning
|
|
48
|
+
try {
|
|
49
|
+
const gnnConfig = {
|
|
50
|
+
inputDim: 384, // Default embedding size
|
|
51
|
+
hiddenDim: 256,
|
|
52
|
+
heads: 4,
|
|
53
|
+
dropout: 0.1
|
|
54
|
+
};
|
|
55
|
+
this.gnnLearning = new RuVectorLearning(gnnConfig);
|
|
56
|
+
await this.gnnLearning.initialize();
|
|
57
|
+
this.gnnEnabled = true;
|
|
58
|
+
console.log('✅ [LearningSystem] GNN-enhanced learning enabled (@ruvector/gnn)');
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.warn('[LearningSystem] GNN unavailable, using standard learning');
|
|
62
|
+
this.gnnEnabled = false;
|
|
63
|
+
}
|
|
64
|
+
// Try to initialize Sona trajectory service
|
|
65
|
+
try {
|
|
66
|
+
this.sonaService = new SonaTrajectoryService();
|
|
67
|
+
const initialized = await this.sonaService.initialize();
|
|
68
|
+
this.sonaEnabled = initialized;
|
|
69
|
+
if (initialized) {
|
|
70
|
+
console.log(`[LearningSystem] Sona RL trajectory learning enabled (engine: ${this.sonaService.getEngineType()})`);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
console.warn('[LearningSystem] Sona unavailable, using in-memory trajectories');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.warn('[LearningSystem] Sona service initialization failed');
|
|
78
|
+
this.sonaEnabled = false;
|
|
79
|
+
}
|
|
80
|
+
// Try to initialize GNNService for intent classification
|
|
81
|
+
try {
|
|
82
|
+
this.gnnService = new GNNService({ inputDim: 384, hiddenDim: 128, outputDim: 64, layers: 3 });
|
|
83
|
+
await this.gnnService.initialize();
|
|
84
|
+
console.log(`[LearningSystem] GNNService initialized (engine: ${this.gnnService.getEngineType()})`);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
console.warn('[LearningSystem] GNNService initialization failed');
|
|
88
|
+
this.gnnService = null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get engine types for all RuVector integrations
|
|
93
|
+
*/
|
|
94
|
+
getEngineTypes() {
|
|
95
|
+
return {
|
|
96
|
+
gnn: this.gnnEnabled ? (this.gnnLearning?.isInitialized() ? 'native' : 'js') : 'disabled',
|
|
97
|
+
sona: this.sonaEnabled ? (this.sonaService?.getEngineType() || 'js') : 'disabled',
|
|
98
|
+
gnnService: this.gnnService?.getEngineType() || 'disabled',
|
|
99
|
+
};
|
|
30
100
|
}
|
|
31
101
|
/**
|
|
32
102
|
* Initialize database schema for learning system
|
|
@@ -181,6 +251,8 @@ export class LearningSystem {
|
|
|
181
251
|
}
|
|
182
252
|
/**
|
|
183
253
|
* Submit feedback for learning
|
|
254
|
+
*
|
|
255
|
+
* Phase 2 Enhancement: Records to Sona for RL trajectory learning
|
|
184
256
|
*/
|
|
185
257
|
async submitFeedback(feedback) {
|
|
186
258
|
const session = this.activeSessions.get(feedback.sessionId) || this.getSession(feedback.sessionId);
|
|
@@ -193,6 +265,20 @@ export class LearningSystem {
|
|
|
193
265
|
session_id, state, action, reward, next_state, success, timestamp
|
|
194
266
|
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
195
267
|
`).run(feedback.sessionId, feedback.state, feedback.action, feedback.reward, feedback.nextState || null, feedback.success ? 1 : 0, feedback.timestamp);
|
|
268
|
+
// Phase 2: Record to Sona for RL trajectory learning
|
|
269
|
+
if (this.sonaEnabled && this.sonaService) {
|
|
270
|
+
try {
|
|
271
|
+
const trajectoryStep = {
|
|
272
|
+
state: { description: feedback.state },
|
|
273
|
+
action: feedback.action,
|
|
274
|
+
reward: feedback.reward
|
|
275
|
+
};
|
|
276
|
+
await this.sonaService.recordTrajectory(session.sessionType, [trajectoryStep]);
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
console.warn('[LearningSystem] Failed to record Sona trajectory:', error);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
196
282
|
// Update policy incrementally based on algorithm
|
|
197
283
|
await this.updatePolicyIncremental(session, feedback);
|
|
198
284
|
console.log(`✅ Feedback recorded: session=${feedback.sessionId}, action=${feedback.action}, reward=${feedback.reward}`);
|
|
@@ -325,8 +411,53 @@ export class LearningSystem {
|
|
|
325
411
|
}
|
|
326
412
|
/**
|
|
327
413
|
* Calculate action scores based on algorithm
|
|
414
|
+
*
|
|
415
|
+
* Phase 2 Enhancement: Uses GNN for embedding refinement and Sona for predictions
|
|
328
416
|
*/
|
|
329
417
|
async calculateActionScores(session, state, stateEmbedding, policy) {
|
|
418
|
+
// Phase 2: Try GNN-enhanced prediction first
|
|
419
|
+
if (this.gnnEnabled && this.gnnLearning) {
|
|
420
|
+
try {
|
|
421
|
+
// Get similar states from policy for GNN neighbor aggregation
|
|
422
|
+
const similarStates = [];
|
|
423
|
+
const weights = [];
|
|
424
|
+
for (const [key, qValue] of Object.entries(policy.qValues)) {
|
|
425
|
+
if (key.startsWith(state)) {
|
|
426
|
+
similarStates.push(stateEmbedding); // Use same embedding for now
|
|
427
|
+
weights.push(qValue);
|
|
428
|
+
}
|
|
429
|
+
if (similarStates.length >= 5)
|
|
430
|
+
break; // Limit to top 5 neighbors
|
|
431
|
+
}
|
|
432
|
+
if (similarStates.length > 0) {
|
|
433
|
+
// Enhance state embedding with GNN
|
|
434
|
+
const enhancedEmbedding = this.gnnLearning.enhance(stateEmbedding, similarStates, weights);
|
|
435
|
+
// Use enhanced embedding for better similarity matching
|
|
436
|
+
// (This would improve action selection in production)
|
|
437
|
+
console.log(`[LearningSystem] GNN enhanced embedding for state: ${state.substring(0, 50)}...`);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
catch (error) {
|
|
441
|
+
console.warn('[LearningSystem] GNN enhancement failed, using standard scoring');
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
// Phase 2: Try Sona prediction if available
|
|
445
|
+
if (this.sonaEnabled && this.sonaService) {
|
|
446
|
+
try {
|
|
447
|
+
const prediction = await this.sonaService.predict({ state });
|
|
448
|
+
if (prediction.confidence > 0.7) {
|
|
449
|
+
// High-confidence Sona prediction takes priority
|
|
450
|
+
console.log(`[LearningSystem] Sona predicted action: ${prediction.action} (confidence: ${prediction.confidence.toFixed(2)})`);
|
|
451
|
+
return [{
|
|
452
|
+
action: prediction.action,
|
|
453
|
+
score: prediction.confidence
|
|
454
|
+
}];
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
catch (error) {
|
|
458
|
+
console.warn('[LearningSystem] Sona prediction failed, using policy');
|
|
459
|
+
}
|
|
460
|
+
}
|
|
330
461
|
// Get possible actions from past experiences
|
|
331
462
|
const actions = this.db.prepare(`
|
|
332
463
|
SELECT DISTINCT action FROM learning_experiences
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LearningSystem.js","sourceRoot":"","sources":["../../../src/controllers/LearningSystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA8C3D,MAAM,OAAO,cAAc;IACjB,EAAE,CAAW;IACb,QAAQ,CAAmB;IAC3B,cAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;IAEjE,YAAY,EAAY,EAAE,QAA0B;QAClD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsDZ,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,WAA2C,EAC3C,MAAsB;QAEtB,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAErF,MAAM,OAAO,GAAoB;YAC/B,EAAE,EAAE,SAAS;YACb,MAAM;YACN,WAAW;YACX,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,QAAQ;SACjB,CAAC;QAEF,4BAA4B;QAC5B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CACJ,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAC9B,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,MAAM,CACf,CAAC;QAEF,kBAAkB;QAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE5C,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,KAAK,WAAW,GAAG,CAAC,CAAC;QACzE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,oBAAoB;QACpB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjC,wBAAwB;QACxB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAIf,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE3B,sBAAsB;QACtB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QAE7B,8BAA8B;QAC9B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEtC,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,eAAe,OAAO,GAAG,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC;IACrG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,KAAa;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,gCAAgC;QAChC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEtE,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAE/C,qCAAqC;QACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACnD,OAAO,EACP,KAAK,EACL,cAAc,EACd,MAAM,CACP,CAAC;QAEF,gCAAgC;QAChC,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAErE,6BAA6B;QAC7B,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,GAAG,CAAC;QAC9D,IAAI,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;YACpC,yBAAyB;YACzB,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/D,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAC;QAE5C,OAAO;YACL,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,CAAC,cAAc,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,UAAU;YAC1D,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChD,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,UAAU;gBAC7C,MAAM,EAAE,CAAC,CAAC,KAAK;aAChB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,QAAwB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEnG,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAIf,CAAC,CAAC,GAAG,CACJ,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,SAAS,IAAI,IAAI,EAC1B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACxB,QAAQ,CAAC,SAAS,CACnB,CAAC;QAEF,iDAAiD;QACjD,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,CAAC,SAAS,YAAY,QAAQ,CAAC,MAAM,YAAY,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1H,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,YAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,uCAAuC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAInC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC;QAE3B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,gBAAgB;QAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5C,sBAAsB;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;YAErD,qBAAqB;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAE/C,mCAAmC;gBACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;gBACtE,SAAS,IAAI,SAAS,CAAC;gBACvB,UAAU,EAAE,CAAC;gBAEb,qBAAqB;gBACrB,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;YAED,eAAe;YACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,IAAI,MAAM,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC9C,MAAM,SAAS,GAAG,WAAW,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;QAEzC,sBAAsB;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjC,6BAA6B;QAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAEjE,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,YAAY,cAAc,IAAI,CAAC,CAAC;QAE3E,OAAO;YACL,eAAe,EAAE,MAAM;YACvB,SAAS;YACT,SAAS;YACT,eAAe;YACf,cAAc;SACf,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAE/E;;OAEG;IACK,UAAU,CAAC,SAAiB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;KAE3B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;QAEzB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,OAAO;YACnB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,KAAa;QAC9D,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGhC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAQ,CAAC;QAEhC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnD,kBAAkB;QAClB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAExD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,SAAiB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAK9B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;QAEzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,sBAAsB;YACtB,OAAO;gBACL,gBAAgB,EAAE,EAAE;gBACpB,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;aACf,CAAC;QACJ,CAAC;QAED,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACvD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB,CACjC,OAAwB,EACxB,KAAa,EACb,cAA4B,EAC5B,MAAW;QAEX,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG/B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,gCAAgC;YAChC,OAAO;gBACL,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;gBAClC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;gBAClC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;aACnC,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,MAAM,MAAM,GAA6C,EAAE,CAAC;QAE5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC5B,KAAK,YAAY,CAAC;gBAClB,KAAK,OAAO,CAAC;gBACb,KAAK,KAAK;oBACR,0BAA0B;oBAC1B,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM;gBAER,KAAK,iBAAiB,CAAC;gBACvB,KAAK,cAAc,CAAC;gBACpB,KAAK,KAAK;oBACR,qBAAqB;oBACrB,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM;gBAER,KAAK,sBAAsB;oBACzB,qCAAqC;oBACrC,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC9D,MAAM;gBAER,KAAK,MAAM;oBACT,mBAAmB;oBACnB,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAClD,MAAM;gBAER,KAAK,aAAa;oBAChB,uBAAuB;oBACvB,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBACxD,MAAM;gBAER;oBACE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,OAAwB,EAAE,QAAwB;QACtF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEnD,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;QAE5C,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5B,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,mDAAmD;gBACnD,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;oBACpG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;gBAClD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,sDAAsD;gBACtD,8DAA8D;gBAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC;YACvB,KAAK,cAAc,CAAC;YACpB,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,wBAAwB;gBACxB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzE,MAAM;YACR,CAAC;YAED;gBACE,0BAA0B;gBAC1B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CACtB,OAAwB,EACxB,KAAY,EACZ,YAAoB;QAEpB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAEzC,uBAAuB;YACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAED,sCAAsC;YACtC,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAExB,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;gBAChE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;gBAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;YACrD,CAAC;YAED,4BAA4B;YAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;YAC9C,SAAS,IAAI,IAAI,CAAC;YAElB,iBAAiB;YACjB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;YAE5D,gBAAgB;YAChB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,SAAiB;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAE/C,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGtC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;QAEzB,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAIf,CAAC,CAAC,GAAG,CACJ,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EACpC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EACxC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EACvC,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,SAAiB;QAChD,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAKhC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QAElC,4CAA4C;QAC5C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAEtD,qCAAqC;YACrC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACjB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YACH,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAClC,CAAC;QAED,oCAAoC;QACpC,MAAM,SAAS,GAAG,WAAW,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,qCAAqC;IAC7B,yBAAyB,CAAC,KAAa,EAAE,MAAc,EAAE,MAAW;QAC1E,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,MAAW;QAC9D,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjG,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,WAAW,CAAC;IACzB,CAAC;IAEO,mBAAmB,CAAC,KAAa,EAAE,MAAc,EAAE,MAAW;QACpE,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAEO,YAAY,CAAI,KAAU;QAChC,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+EAA+E;IAC/E,gDAAgD;IAChD,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAKhB;QACC,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;QAE1F,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAE5E,qBAAqB;QACrB,IAAI,WAAW,GAAG,sBAAsB,CAAC;QACzC,MAAM,MAAM,GAAU,CAAC,eAAe,CAAC,CAAC;QAExC,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,IAAI,qBAAqB,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,kBAAkB;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;QASjC,WAAW;KACd,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAQ,CAAC;QAEzB,mBAAmB;QACnB,IAAI,cAAc,GAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;UAO7B,WAAW;;;;OAId,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;UAO7B,WAAW;;;;OAId,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QAC7B,CAAC;QAED,iBAAiB;QACjB,IAAI,MAAM,GAAU,EAAE,CAAC;QACvB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;UAOrB,WAAW;;;OAGd,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QAC7B,CAAC;QAED,6BAA6B;QAC7B,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;KAQlD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAEpF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YACvF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC5F,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC9F,iBAAiB,GAAG,SAAS,GAAG,QAAQ,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO;YACL,UAAU,EAAE;gBACV,IAAI,EAAE,cAAc;gBACpB,cAAc,EAAE,eAAe;gBAC/B,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;aACzB;YACD,OAAO,EAAE;gBACP,aAAa,EAAE,YAAY,CAAC,cAAc,IAAI,CAAC;gBAC/C,SAAS,EAAE,YAAY,CAAC,UAAU,IAAI,CAAC;gBACvC,WAAW,EAAE,YAAY,CAAC,YAAY,IAAI,CAAC;gBAC3C,SAAS,EAAE,YAAY,CAAC,UAAU,IAAI,CAAC;gBACvC,SAAS,EAAE,YAAY,CAAC,UAAU,IAAI,CAAC;gBACvC,YAAY,EAAE,YAAY,CAAC,cAAc,IAAI,CAAC;aAC/C;YACD,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvC,GAAG,EAAE,CAAC,CAAC,SAAS;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,SAAS,EAAE,CAAC,CAAC,UAAU;gBACvB,WAAW,EAAE,CAAC,CAAC,YAAY;aAC5B,CAAC,CAAC;YACH,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,SAAS,EAAE,CAAC,CAAC,UAAU;gBACvB,WAAW,EAAE,CAAC,CAAC,YAAY;aAC5B,CAAC,CAAC;YACH,iBAAiB,EAAE;gBACjB,QAAQ,EAAE,cAAc,CAAC,MAAM;gBAC/B,iBAAiB,EAAE,iBAAiB;aACrC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAQtB;QACC,MAAM,EACJ,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,GAAG,GAAG,EACnB,YAAY,GAAG,KAAK,EACpB,YAAY,GAAG,EAAE,GAClB,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,WAAW,GAAQ;YACvB,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,oBAAoB;QACpB,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;gBAE7B,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc;;;OAG1D,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,UAAU,GAAG,EAAE,YAAY,CAAU,CAAC;YAElE,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACrC,iDAAiD;gBACjD,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;oBAE9D,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;wBAC/B,SAAS;oBACX,CAAC;oBAED,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;wBACvB,IAAI,EAAE,SAAS;wBACf,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;gBAED,6BAA6B;gBAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;SAIf,CAAC,CAAC,GAAG,CACJ,aAAa,IAAI,OAAO,CAAC,UAAU,EACnC,UAAU,IAAI,OAAO,CAAC,KAAK,EAC3B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CACjD,CAAC;gBAEF,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,aAAa,IAAI,aAAa,IAAI,CAAC,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAEzD,8CAA8C;YAC9C,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEvC,oCAAoC;gBACpC,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACpD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;oBAE7D,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;wBAChC,MAAM,SAAS,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;wBAC5C,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAgB,CAAC;wBACnD,kBAAkB,EAAE,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;gBAC3B,6BAA6B;gBAC7B,MAAM,OAAO,GAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;SAEhC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAS,EAAE,WAAW,IAAI,CAAC,CAAC;gBAEhD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;SAIf,CAAC,CAAC,GAAG,CACJ,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC,EACnD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC,EAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,EAC9C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,EAC7C,OAAO,GAAG,CAAC,CACZ,CAAC;gBAEF,WAAW,CAAC,MAAM,GAAG,kBAAkB,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW;YACX,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;YACpD,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;YACpD,aAAa;YACb,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAOnB;QACC,MAAM,EACJ,KAAK,EACL,CAAC,GAAG,CAAC,EACL,YAAY,GAAG,UAAU,EACzB,iBAAiB,GAAG,IAAI,EACxB,eAAe,GAAG,IAAI,EACtB,aAAa,GAAG,IAAI,GACrB,GAAG,OAAO,CAAC;QAEZ,sBAAsB;QACtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEpD,gCAAgC;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAItC,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,MAAM,iBAAiB,GAAU,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAE5D,iBAAiB,CAAC,IAAI,CAAC;gBACrB,GAAG,GAAG;gBACN,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAErD,4BAA4B;QAC5B,MAAM,YAAY,GAA+F,EAAE,CAAC;QAEpH,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG;oBACzB,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,CAAC;oBACd,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC;YAC9B,KAAK,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzC,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClB,SAAS,EAAE,GAAG,CAAC,EAAE;oBACjB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5E,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM;YAC9C,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK;YACtC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK;YAC1C,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAClE,CAAC,CAAC,CAAC;QAEJ,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAE5D,uCAAuC;QACvC,IAAI,YAAY,GAAU,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAI9B,CAAC,CAAC,GAAG,EAAW,CAAC;QACpB,CAAC;QAED,MAAM,QAAQ,GAAQ;YACpB,KAAK;YACL,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,YAAY;SACb,CAAC;QAEF,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC3D,QAAQ,CAAC,SAAS,GAAG;gBACnB,uBAAuB,EAAE,cAAc,CAAC,MAAM;gBAC9C,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM;gBAC/F,aAAa,EAAE,eAAe,CAAC,MAAM;aACtC,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;YACrC,QAAQ,CAAC,WAAW,GAAG,cAAc,CAAC;QACxC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAWtB;QACC,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,EACP,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,GACT,GAAG,OAAO,CAAC;QAEZ,iCAAiC;QACjC,MAAM,KAAK,GAAG,QAAQ,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtE,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAI9B,CAAC,CAAC,GAAG,CACJ,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACf,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,SAAS,CAAC;YACb,QAAQ;YACR,MAAM;YACN,WAAW;YACX,UAAU;YACV,SAAS;YACT,GAAG,QAAQ;SACZ,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,YAAY,MAAM,aAAa,OAAO,EAAE,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC,eAAyB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAUf;QACC,MAAM,EACJ,SAAS,EACT,OAAO,EACP,cAAc,GAAG,IAAI,EACrB,eAAe,GAAG,GAAG,EACrB,YAAY,GAAG,GAAG,EAClB,WAAW,EACX,cAAc,EACd,aAAa,GAAG,IAAI,EACpB,cAAc,GAAG,UAAU,GAC5B,GAAG,OAAO,CAAC;QAEZ,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,iCAAiC;gBACjC,MAAM,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/C,MAAM;YAER,KAAK,OAAO;gBACV,sCAAsC;gBACtC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7B,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACrC,MAAM,IAAI,YAAY,GAAG,GAAG,CAAC;gBAC7B,MAAM,IAAI,eAAe,GAAG,GAAG,CAAC;gBAChC,MAAM;YAER,KAAK,QAAQ;gBACX,8CAA8C;gBAC9C,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9B,IAAI,cAAc;oBAAE,MAAM,IAAI,GAAG,CAAC;gBAElC,wBAAwB;gBACxB,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;oBAClC,MAAM,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC;oBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;oBACnD,MAAM,IAAI,SAAS,CAAC;gBACtB,CAAC;gBAED,yBAAyB;gBACzB,MAAM,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBACrC,MAAM,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBACxC,MAAM;YAER,KAAK,UAAU,CAAC;YAChB;gBACE,iCAAiC;gBACjC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7B,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACrC,MAAM,IAAI,YAAY,GAAG,GAAG,CAAC;gBAC7B,MAAM,IAAI,eAAe,GAAG,GAAG,CAAC;gBAChC,MAAM;QACV,CAAC;QAED,2BAA2B;QAC3B,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAInC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAQ,CAAC;YAEpC,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;gBAC5B,MAAM,IAAI,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,+BAA+B;YACzE,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;CAEF"}
|
|
1
|
+
{"version":3,"file":"LearningSystem.js","sourceRoot":"","sources":["../../../src/controllers/LearningSystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAA+B,MAAM,0CAA0C,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAA8B,MAAM,sCAAsC,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AA8CvD,MAAM,OAAO,cAAc;IACjB,EAAE,CAAW;IACb,QAAQ,CAAmB;IAC3B,cAAc,GAAiC,IAAI,GAAG,EAAE,CAAC;IAEjE,6CAA6C;IACrC,WAAW,GAA4B,IAAI,CAAC;IAC5C,WAAW,GAAiC,IAAI,CAAC;IACjD,UAAU,GAAsB,IAAI,CAAC;IACrC,UAAU,GAAY,KAAK,CAAC;IAC5B,WAAW,GAAY,KAAK,CAAC;IAErC,YAAY,EAAY,EAAE,QAA0B;QAClD,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,8BAA8B,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAChD,OAAO,CAAC,IAAI,CAAC,qDAAqD,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,8BAA8B;QAC1C,0CAA0C;QAC1C,IAAI,CAAC;YACH,MAAM,SAAS,GAAc;gBAC3B,QAAQ,EAAE,GAAG,EAAG,yBAAyB;gBACzC,SAAS,EAAE,GAAG;gBACd,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,GAAG;aACb,CAAC;YAEF,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC;YACH,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;YACxD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAE/B,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,iEAAiE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;YACpH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9F,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,oDAAoD,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACtG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;YACzF,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU;YACjF,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,UAAU;SAC3D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsDZ,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,WAA2C,EAC3C,MAAsB;QAEtB,MAAM,SAAS,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAErF,MAAM,OAAO,GAAoB;YAC/B,EAAE,EAAE,SAAS;YACb,MAAM;YACN,WAAW;YACX,MAAM;YACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,QAAQ;SACjB,CAAC;QAEF,4BAA4B;QAC5B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CACJ,OAAO,CAAC,EAAE,EACV,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,WAAW,EACnB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAC9B,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,MAAM,CACf,CAAC;QAEF,kBAAkB;QAClB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE5C,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,KAAK,WAAW,GAAG,CAAC,CAAC;QACzE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3B,oBAAoB;QACpB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjC,wBAAwB;QACxB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAIf,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE3B,sBAAsB;QACtB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;QAC1B,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC;QAE7B,8BAA8B;QAC9B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEtC,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,eAAe,OAAO,GAAG,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC;IACrG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,KAAa;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,gCAAgC;QAChC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAEtE,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAE/C,qCAAqC;QACrC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACnD,OAAO,EACP,KAAK,EACL,cAAc,EACd,MAAM,CACP,CAAC;QAEF,gCAAgC;QAChC,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAErE,6BAA6B;QAC7B,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,GAAG,CAAC;QAC9D,IAAI,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;YACpC,yBAAyB;YACzB,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/D,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,IAAI,CAAC,CAAC;QAE5C,OAAO;YACL,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,CAAC,cAAc,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,UAAU;YAC1D,MAAM,EAAE,cAAc,CAAC,KAAK;YAC5B,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChD,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,UAAU;gBAC7C,MAAM,EAAE,CAAC,CAAC,KAAK;aAChB,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,QAAwB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEnG,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAIf,CAAC,CAAC,GAAG,CACJ,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,SAAS,IAAI,IAAI,EAC1B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACxB,QAAQ,CAAC,SAAS,CACnB,CAAC;QAEF,qDAAqD;QACrD,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,cAAc,GAAa;oBAC/B,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE;oBACtC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;iBACxB,CAAC;gBAEF,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CACrC,OAAO,CAAC,WAAW,EACnB,CAAC,cAAc,CAAC,CACjB,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEtD,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,CAAC,SAAS,YAAY,QAAQ,CAAC,MAAM,YAAY,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1H,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,SAAiB,EACjB,MAAc,EACd,SAAiB,EACjB,YAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,uCAAuC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAInC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC;QAE3B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,gBAAgB;QAChB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5C,sBAAsB;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;YAErD,qBAAqB;YACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;gBACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAE/C,mCAAmC;gBACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;gBACtE,SAAS,IAAI,SAAS,CAAC;gBACvB,UAAU,EAAE,CAAC;gBAEb,qBAAqB;gBACrB,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC;YAED,eAAe;YACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC,IAAI,MAAM,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC9C,MAAM,SAAS,GAAG,WAAW,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;QAEzC,sBAAsB;QACtB,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjC,6BAA6B;QAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAEjE,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,YAAY,cAAc,IAAI,CAAC,CAAC;QAE3E,OAAO;YACL,eAAe,EAAE,MAAM;YACvB,SAAS;YACT,SAAS;YACT,eAAe;YACf,cAAc;SACf,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAE/E;;OAEG;IACK,UAAU,CAAC,SAAiB;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;KAE3B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;QAEzB,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,OAAO;YACnB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAC9B,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,KAAa;QAC9D,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGhC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAQ,CAAC;QAEhC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnD,kBAAkB;QAClB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGf,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAExD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,SAAiB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAK9B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;QAEzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,sBAAsB;YACtB,OAAO;gBACL,gBAAgB,EAAE,EAAE;gBACpB,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;aACf,CAAC;QACJ,CAAC;QAED,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACvD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;YACpC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,qBAAqB,CACjC,OAAwB,EACxB,KAAa,EACb,cAA4B,EAC5B,MAAW;QAEX,6CAA6C;QAC7C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,8DAA8D;gBAC9D,MAAM,aAAa,GAAmB,EAAE,CAAC;gBACzC,MAAM,OAAO,GAAa,EAAE,CAAC;gBAE7B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3D,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1B,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,6BAA6B;wBACjE,OAAO,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAC;oBACjC,CAAC;oBACD,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC;wBAAE,MAAM,CAAC,2BAA2B;gBACnE,CAAC;gBAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,mCAAmC;oBACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAChD,cAAc,EACd,aAAa,EACb,OAAO,CACR,CAAC;oBAEF,wDAAwD;oBACxD,sDAAsD;oBACtD,OAAO,CAAC,GAAG,CAAC,sDAAsD,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBAE7D,IAAI,UAAU,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;oBAChC,iDAAiD;oBACjD,OAAO,CAAC,GAAG,CAAC,2CAA2C,UAAU,CAAC,MAAM,iBAAiB,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAE9H,OAAO,CAAC;4BACN,MAAM,EAAE,UAAU,CAAC,MAAM;4BACzB,KAAK,EAAE,UAAU,CAAC,UAAU;yBAC7B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QACD,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAG/B,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,gCAAgC;YAChC,OAAO;gBACL,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;gBAClC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;gBAClC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE;aACnC,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,MAAM,MAAM,GAA6C,EAAE,CAAC;QAE5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,KAAK,GAAG,CAAC,CAAC;YAEd,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC5B,KAAK,YAAY,CAAC;gBAClB,KAAK,OAAO,CAAC;gBACb,KAAK,KAAK;oBACR,0BAA0B;oBAC1B,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjC,MAAM;gBAER,KAAK,iBAAiB,CAAC;gBACvB,KAAK,cAAc,CAAC;gBACpB,KAAK,KAAK;oBACR,qBAAqB;oBACrB,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACpC,MAAM;gBAER,KAAK,sBAAsB;oBACzB,qCAAqC;oBACrC,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC9D,MAAM;gBAER,KAAK,MAAM;oBACT,mBAAmB;oBACnB,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBAClD,MAAM;gBAER,KAAK,aAAa;oBAChB,uBAAuB;oBACvB,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;oBACxD,MAAM;gBAER;oBACE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,OAAwB,EAAE,QAAwB;QACtF,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEnD,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;QAE5C,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;YAC5B,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,mDAAmD;gBACnD,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;oBACpG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,CAAC;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;gBAClD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACR,CAAC;YAED,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,sDAAsD;gBACtD,8DAA8D;gBAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9D,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC;YACvB,KAAK,cAAc,CAAC;YACpB,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,wBAAwB;gBACxB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzE,MAAM;YACR,CAAC;YAED;gBACE,0BAA0B;gBAC1B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CACtB,OAAwB,EACxB,KAAY,EACZ,YAAoB;QAEpB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAEzC,uBAAuB;YACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YAED,sCAAsC;YACtC,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAExB,IAAI,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,WAAW,KAAK,iBAAiB,EAAE,CAAC;gBAChE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;gBAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC;YACrD,CAAC;YAED,4BAA4B;YAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;YAC9C,SAAS,IAAI,IAAI,CAAC;YAElB,iBAAiB;YACjB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;YAE5D,gBAAgB;YAChB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAC,SAAiB;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAE/C,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;KAGtC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAQ,CAAC;QAEzB,MAAM,OAAO,GAAG,CAAC,cAAc,EAAE,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAEvD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAIf,CAAC,CAAC,GAAG,CACJ,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAC7C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,EACpC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EACxC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,EACvC,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,SAAiB;QAChD,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;KAKhC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC;QAE3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC;QAElC,4CAA4C;QAC5C,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAEtD,qCAAqC;YACrC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3E,IAAI,IAAI,GAAG,CAAC,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACjB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YACH,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAClC,CAAC;QAED,oCAAoC;QACpC,MAAM,SAAS,GAAG,WAAW,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,qCAAqC;IAC7B,yBAAyB,CAAC,KAAa,EAAE,MAAc,EAAE,MAAW;QAC1E,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,MAAc,EAAE,MAAW;QAC9D,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,GAAQ,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACjG,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,WAAW,CAAC;IACzB,CAAC;IAEO,mBAAmB,CAAC,KAAa,EAAE,MAAc,EAAE,MAAW;QACpE,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAEO,YAAY,CAAI,KAAU;QAChC,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,+EAA+E;IAC/E,gDAAgD;IAChD,+EAA+E;IAE/E;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAKhB;QACC,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;QAE1F,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAE5E,qBAAqB;QACrB,IAAI,WAAW,GAAG,sBAAsB,CAAC;QACzC,MAAM,MAAM,GAAU,CAAC,eAAe,CAAC,CAAC;QAExC,IAAI,SAAS,EAAE,CAAC;YACd,WAAW,IAAI,qBAAqB,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAED,kBAAkB;QAClB,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;QASjC,WAAW;KACd,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAQ,CAAC;QAEzB,mBAAmB;QACnB,IAAI,cAAc,GAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;UAO7B,WAAW;;;;OAId,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;UAO7B,WAAW;;;;OAId,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QAC7B,CAAC;QAED,iBAAiB;QACjB,IAAI,MAAM,GAAU,EAAE,CAAC;QACvB,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;UAOrB,WAAW;;;OAGd,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAU,CAAC;QAC7B,CAAC;QAED,6BAA6B;QAC7B,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;KAQlD,CAAC,CAAC,GAAG,CAAC,SAAS,CAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAEpF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YACvF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC5F,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;gBAC9F,iBAAiB,GAAG,SAAS,GAAG,QAAQ,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO;YACL,UAAU,EAAE;gBACV,IAAI,EAAE,cAAc;gBACpB,cAAc,EAAE,eAAe;gBAC/B,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;aACzB;YACD,OAAO,EAAE;gBACP,aAAa,EAAE,YAAY,CAAC,cAAc,IAAI,CAAC;gBAC/C,SAAS,EAAE,YAAY,CAAC,UAAU,IAAI,CAAC;gBACvC,WAAW,EAAE,YAAY,CAAC,YAAY,IAAI,CAAC;gBAC3C,SAAS,EAAE,YAAY,CAAC,UAAU,IAAI,CAAC;gBACvC,SAAS,EAAE,YAAY,CAAC,UAAU,IAAI,CAAC;gBACvC,YAAY,EAAE,YAAY,CAAC,cAAc,IAAI,CAAC;aAC/C;YACD,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvC,GAAG,EAAE,CAAC,CAAC,SAAS;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,SAAS,EAAE,CAAC,CAAC,UAAU;gBACvB,WAAW,EAAE,CAAC,CAAC,YAAY;aAC5B,CAAC,CAAC;YACH,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,SAAS,EAAE,CAAC,CAAC,UAAU;gBACvB,WAAW,EAAE,CAAC,CAAC,YAAY;aAC5B,CAAC,CAAC;YACH,iBAAiB,EAAE;gBACjB,QAAQ,EAAE,cAAc,CAAC,MAAM;gBAC/B,iBAAiB,EAAE,iBAAiB;aACrC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAQtB;QACC,MAAM,EACJ,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,GAAG,GAAG,EACnB,YAAY,GAAG,KAAK,EACpB,YAAY,GAAG,EAAE,GAClB,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,WAAW,GAAQ;YACvB,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;YACd,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,oBAAoB;QACpB,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC1D,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;gBAE7B,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,cAAc;;;OAG1D,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,UAAU,GAAG,EAAE,YAAY,CAAU,CAAC;YAElE,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACrC,iDAAiD;gBACjD,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC7D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;oBAE9D,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;wBAC/B,SAAS;oBACX,CAAC;oBAED,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;wBACvB,IAAI,EAAE,SAAS;wBACf,EAAE,EAAE,OAAO,CAAC,EAAE;wBACd,UAAU;qBACX,CAAC,CAAC;gBACL,CAAC;gBAED,6BAA6B;gBAC7B,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;SAIf,CAAC,CAAC,GAAG,CACJ,aAAa,IAAI,OAAO,CAAC,UAAU,EACnC,UAAU,IAAI,OAAO,CAAC,KAAK,EAC3B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CACjD,CAAC;gBAEF,WAAW,CAAC,QAAQ,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,aAAa,IAAI,aAAa,IAAI,CAAC,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC5F,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YAEzD,8CAA8C;YAC9C,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEvC,oCAAoC;gBACpC,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBACpD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAC1D,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;oBAE7D,IAAI,UAAU,IAAI,aAAa,EAAE,CAAC;wBAChC,MAAM,SAAS,GAAG,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC;wBAC5C,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAgB,CAAC;wBACnD,kBAAkB,EAAE,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;gBAC3B,6BAA6B;gBAC7B,MAAM,OAAO,GAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;SAEhC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAS,EAAE,WAAW,IAAI,CAAC,CAAC;gBAEhD,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;SAIf,CAAC,CAAC,GAAG,CACJ,aAAa,EACb,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,gBAAgB,IAAI,EAAE,CAAC,EACnD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,IAAI,EAAE,CAAC,EAC1C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC,EAC9C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,EAC7C,OAAO,GAAG,CAAC,CACZ,CAAC;gBAEF,WAAW,CAAC,MAAM,GAAG,kBAAkB,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,WAAW;YACX,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;YACpD,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE;YACpD,aAAa;YACb,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAOnB;QACC,MAAM,EACJ,KAAK,EACL,CAAC,GAAG,CAAC,EACL,YAAY,GAAG,UAAU,EACzB,iBAAiB,GAAG,IAAI,EACxB,eAAe,GAAG,IAAI,EACtB,aAAa,GAAG,IAAI,GACrB,GAAG,OAAO,CAAC;QAEZ,sBAAsB;QACtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEpD,gCAAgC;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAItC,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,MAAM,iBAAiB,GAAU,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAE5D,iBAAiB,CAAC,IAAI,CAAC;gBACrB,GAAG,GAAG;gBACN,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAErD,4BAA4B;QAC5B,MAAM,YAAY,GAA+F,EAAE,CAAC;QAEpH,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG;oBACzB,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,CAAC;oBACZ,WAAW,EAAE,CAAC;oBACd,QAAQ,EAAE,EAAE;iBACb,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC;YAC9B,KAAK,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzC,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClB,SAAS,EAAE,GAAG,CAAC,EAAE;oBACjB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;iBACzB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5E,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,MAAM;YAC9C,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK;YACtC,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK;YAC1C,kBAAkB,EAAE,IAAI,CAAC,KAAK;YAC9B,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAClE,CAAC,CAAC,CAAC;QAEJ,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAE5D,uCAAuC;QACvC,IAAI,YAAY,GAAU,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAI9B,CAAC,CAAC,GAAG,EAAW,CAAC;QACpB,CAAC;QAED,MAAM,QAAQ,GAAQ;YACpB,KAAK;YACL,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,YAAY;SACb,CAAC;QAEF,IAAI,YAAY,KAAK,UAAU,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC3D,QAAQ,CAAC,SAAS,GAAG;gBACnB,uBAAuB,EAAE,cAAc,CAAC,MAAM;gBAC9C,aAAa,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM;gBAC/F,aAAa,EAAE,eAAe,CAAC,MAAM;aACtC,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;YAC5B,QAAQ,CAAC,YAAY,GAAG,YAAY,CAAC;YACrC,QAAQ,CAAC,WAAW,GAAG,cAAc,CAAC;QACxC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAWtB;QACC,MAAM,EACJ,SAAS,EACT,QAAQ,EACR,MAAM,EACN,WAAW,EACX,UAAU,EACV,OAAO,EACP,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,GACT,GAAG,OAAO,CAAC;QAEZ,iCAAiC;QACjC,MAAM,KAAK,GAAG,QAAQ,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEtE,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAI9B,CAAC,CAAC,GAAG,CACJ,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACf,IAAI,CAAC,GAAG,EAAE,EACV,IAAI,CAAC,SAAS,CAAC;YACb,QAAQ;YACR,MAAM;YACN,WAAW;YACX,UAAU;YACV,SAAS;YACT,GAAG,QAAQ;SACZ,CAAC,CACH,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,YAAY,MAAM,aAAa,OAAO,EAAE,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC,eAAyB,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAUf;QACC,MAAM,EACJ,SAAS,EACT,OAAO,EACP,cAAc,GAAG,IAAI,EACrB,eAAe,GAAG,GAAG,EACrB,YAAY,GAAG,GAAG,EAClB,WAAW,EACX,cAAc,EACd,aAAa,GAAG,IAAI,EACpB,cAAc,GAAG,UAAU,GAC5B,GAAG,OAAO,CAAC;QAEZ,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,QAAQ;gBACX,iCAAiC;gBACjC,MAAM,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/C,MAAM;YAER,KAAK,OAAO;gBACV,sCAAsC;gBACtC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7B,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACrC,MAAM,IAAI,YAAY,GAAG,GAAG,CAAC;gBAC7B,MAAM,IAAI,eAAe,GAAG,GAAG,CAAC;gBAChC,MAAM;YAER,KAAK,QAAQ;gBACX,8CAA8C;gBAC9C,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9B,IAAI,cAAc;oBAAE,MAAM,IAAI,GAAG,CAAC;gBAElC,wBAAwB;gBACxB,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;oBAClC,MAAM,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC;oBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC;oBACnD,MAAM,IAAI,SAAS,CAAC;gBACtB,CAAC;gBAED,yBAAyB;gBACzB,MAAM,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBACrC,MAAM,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBACxC,MAAM;YAER,KAAK,UAAU,CAAC;YAChB;gBACE,iCAAiC;gBACjC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7B,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gBACrC,MAAM,IAAI,YAAY,GAAG,GAAG,CAAC;gBAC7B,MAAM,IAAI,eAAe,GAAG,GAAG,CAAC;gBAChC,MAAM;QACV,CAAC;QAED,2BAA2B;QAC3B,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;OAInC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAQ,CAAC;YAEpC,IAAI,WAAW,EAAE,UAAU,EAAE,CAAC;gBAC5B,MAAM,IAAI,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,+BAA+B;YACzE,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;CAEF"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MemoryConsolidation - Nightly Memory Processing
|
|
3
|
+
*
|
|
4
|
+
* Implements automatic memory consolidation from episodic to semantic memory
|
|
5
|
+
* using spaced repetition and importance scoring.
|
|
6
|
+
*
|
|
7
|
+
* Based on:
|
|
8
|
+
* - Complementary Learning Systems (McClelland et al., 1995)
|
|
9
|
+
* - Active Systems Consolidation (Diekelmann & Born, 2010)
|
|
10
|
+
* - Spaced Repetition (Ebbinghaus, 1885)
|
|
11
|
+
*
|
|
12
|
+
* Process:
|
|
13
|
+
* 1. Identify consolidation candidates (high importance + multiple accesses)
|
|
14
|
+
* 2. Cluster similar episodic memories
|
|
15
|
+
* 3. Extract semantic patterns (abstractions)
|
|
16
|
+
* 4. Promote to semantic memory
|
|
17
|
+
* 5. Apply forgetting to low-value episodic memories
|
|
18
|
+
* 6. Schedule spaced repetition for important memories
|
|
19
|
+
*
|
|
20
|
+
* ADR-066 Phase P2-3
|
|
21
|
+
*/
|
|
22
|
+
import type { VectorBackend } from '../backends/VectorBackend.js';
|
|
23
|
+
import type { GraphBackend } from '../backends/GraphBackend.js';
|
|
24
|
+
import { HierarchicalMemory } from './HierarchicalMemory.js';
|
|
25
|
+
import { EmbeddingService } from './EmbeddingService.js';
|
|
26
|
+
type Database = any;
|
|
27
|
+
/** Consolidation result report */
|
|
28
|
+
export interface ConsolidationReport {
|
|
29
|
+
timestamp: number;
|
|
30
|
+
executionTimeMs: number;
|
|
31
|
+
episodicProcessed: number;
|
|
32
|
+
semanticCreated: number;
|
|
33
|
+
memoriesForgotten: number;
|
|
34
|
+
clustersFormed: number;
|
|
35
|
+
avgImportance: number;
|
|
36
|
+
retentionRate: number;
|
|
37
|
+
recommendations: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface ConsolidationConfig {
|
|
40
|
+
/** Minimum similarity for clustering (0-1) */
|
|
41
|
+
clusterThreshold: number;
|
|
42
|
+
/** Minimum cluster size for semantic extraction */
|
|
43
|
+
minClusterSize: number;
|
|
44
|
+
/** Maximum cluster size before splitting */
|
|
45
|
+
maxClusterSize: number;
|
|
46
|
+
/** Importance threshold for consolidation */
|
|
47
|
+
importanceThreshold: number;
|
|
48
|
+
/** Minimum access count for consolidation */
|
|
49
|
+
minAccessCount: number;
|
|
50
|
+
/** Enable spaced repetition */
|
|
51
|
+
enableSpacedRepetition: boolean;
|
|
52
|
+
/** Initial repetition interval (ms) */
|
|
53
|
+
initialInterval: number;
|
|
54
|
+
/** Interval multiplier for successful recall */
|
|
55
|
+
intervalMultiplier: number;
|
|
56
|
+
/** Forgetting threshold (retention below this = forget) */
|
|
57
|
+
forgettingThreshold: number;
|
|
58
|
+
}
|
|
59
|
+
export declare class MemoryConsolidation {
|
|
60
|
+
private db;
|
|
61
|
+
private hierarchicalMemory;
|
|
62
|
+
private embedder;
|
|
63
|
+
private vectorBackend?;
|
|
64
|
+
private graphBackend?;
|
|
65
|
+
private config;
|
|
66
|
+
private repetitionSchedules;
|
|
67
|
+
constructor(db: Database, hierarchicalMemory: HierarchicalMemory, embedder: EmbeddingService, vectorBackend?: VectorBackend, graphBackend?: GraphBackend, config?: Partial<ConsolidationConfig>);
|
|
68
|
+
/**
|
|
69
|
+
* Initialize database tables for consolidation tracking
|
|
70
|
+
*/
|
|
71
|
+
private initializeDatabase;
|
|
72
|
+
/**
|
|
73
|
+
* Run nightly consolidation process
|
|
74
|
+
*/
|
|
75
|
+
consolidate(): Promise<ConsolidationReport>;
|
|
76
|
+
/**
|
|
77
|
+
* Get episodic memories that are candidates for consolidation
|
|
78
|
+
*/
|
|
79
|
+
private getConsolidationCandidates;
|
|
80
|
+
/**
|
|
81
|
+
* Cluster similar memories using hierarchical clustering
|
|
82
|
+
*/
|
|
83
|
+
private clusterMemories;
|
|
84
|
+
/**
|
|
85
|
+
* Update cluster centroid (simple average)
|
|
86
|
+
*/
|
|
87
|
+
private updateCentroid;
|
|
88
|
+
/**
|
|
89
|
+
* Create semantic memory from cluster
|
|
90
|
+
*/
|
|
91
|
+
private createSemanticMemory;
|
|
92
|
+
/**
|
|
93
|
+
* Extract semantic pattern from cluster
|
|
94
|
+
*/
|
|
95
|
+
private extractSemanticPattern;
|
|
96
|
+
/**
|
|
97
|
+
* Extract common tags from cluster members
|
|
98
|
+
*/
|
|
99
|
+
private extractCommonTags;
|
|
100
|
+
/**
|
|
101
|
+
* Mark episodic memory as consolidated
|
|
102
|
+
*/
|
|
103
|
+
private markConsolidated;
|
|
104
|
+
/**
|
|
105
|
+
* Apply forgetting curve and delete low-value memories
|
|
106
|
+
*/
|
|
107
|
+
private applyForgettingCurve;
|
|
108
|
+
/**
|
|
109
|
+
* Calculate retention using Ebbinghaus forgetting curve
|
|
110
|
+
*/
|
|
111
|
+
private calculateRetention;
|
|
112
|
+
/**
|
|
113
|
+
* Schedule spaced repetition for memories
|
|
114
|
+
*/
|
|
115
|
+
private scheduleSpacedRepetition;
|
|
116
|
+
/**
|
|
117
|
+
* Update repetition schedule after review
|
|
118
|
+
*/
|
|
119
|
+
private updateRepetitionSchedule;
|
|
120
|
+
/**
|
|
121
|
+
* Save repetition schedule to database
|
|
122
|
+
*/
|
|
123
|
+
private saveRepetitionSchedule;
|
|
124
|
+
/**
|
|
125
|
+
* Load repetition schedules from database
|
|
126
|
+
*/
|
|
127
|
+
private loadRepetitionSchedules;
|
|
128
|
+
/**
|
|
129
|
+
* Generate recommendations based on consolidation report
|
|
130
|
+
*/
|
|
131
|
+
private generateRecommendations;
|
|
132
|
+
/**
|
|
133
|
+
* Log consolidation to database
|
|
134
|
+
*/
|
|
135
|
+
private logConsolidation;
|
|
136
|
+
/**
|
|
137
|
+
* Get consolidation history
|
|
138
|
+
*/
|
|
139
|
+
getConsolidationHistory(limit?: number): Promise<ConsolidationReport[]>;
|
|
140
|
+
}
|
|
141
|
+
export {};
|
|
142
|
+
//# sourceMappingURL=MemoryConsolidation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryConsolidation.d.ts","sourceRoot":"","sources":["../../../src/controllers/MemoryConsolidation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAoC,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,KAAK,QAAQ,GAAG,GAAG,CAAC;AAEpB,kCAAkC;AAClC,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAoBD,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,sBAAsB,EAAE,OAAO,CAAC;IAChC,uCAAuC;IACvC,eAAe,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,MAAM,CAAsB;IAGpC,OAAO,CAAC,mBAAmB,CAAyC;gBAGlE,EAAE,EAAE,QAAQ,EACZ,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,CAAC,EAAE,aAAa,EAC7B,YAAY,CAAC,EAAE,YAAY,EAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAyBvC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAuFjD;;OAEG;YACW,0BAA0B;IAiCxC;;OAEG;YACW,eAAe;IA6C7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;YACW,oBAAoB;IAoClC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;YACW,gBAAgB;IAS9B;;OAEG;YACW,oBAAoB;IAsBlC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;YACW,wBAAwB;IA2BtC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAc9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACG,uBAAuB,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAmBlF"}
|