adaptive-memory-multi-model-router 2.14.44 → 2.14.46

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.
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ /**
3
+ * ReasoningBank — Experience-Based Memory Layer
4
+ *
5
+ * Complements MemoryTree with semantic retrieval and experience-based learning.
6
+ * Learns from both successful and failed routing decisions.
7
+ *
8
+ * Based on: "ReasoningBank: Scaling Agent Self-Evolving with Reasoning Memory"
9
+ * (Google Research, ICLR 2026) — github.com/google-research/reasoning-bank
10
+ *
11
+ * Architecture:
12
+ * MemoryTree (keyword, fast, free) ←→ ReasoningBank (semantic, quality-scored)
13
+ * Merge: keyword_score * 0.3 + semantic_score * 0.7
14
+ *
15
+ * Storage: JSONL files (no external vector DB required)
16
+ * Embedding: Optional — falls back to keyword search when no embedding key configured
17
+ */
18
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ var desc = Object.getOwnPropertyDescriptor(m, k);
21
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
22
+ desc = { enumerable: true, get: function() { return m[k]; } };
23
+ }
24
+ Object.defineProperty(o, k2, desc);
25
+ }) : (function(o, m, k, k2) {
26
+ if (k2 === undefined) k2 = k;
27
+ o[k2] = m[k];
28
+ }));
29
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
30
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
31
+ }) : function(o, v) {
32
+ o["default"] = v;
33
+ });
34
+ var __importStar = (this && this.__importStar) || (function () {
35
+ var ownKeys = function(o) {
36
+ ownKeys = Object.getOwnPropertyNames || function (o) {
37
+ var ar = [];
38
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
39
+ return ar;
40
+ };
41
+ return ownKeys(o);
42
+ };
43
+ return function (mod) {
44
+ if (mod && mod.__esModule) return mod;
45
+ var result = {};
46
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
47
+ __setModuleDefault(result, mod);
48
+ return result;
49
+ };
50
+ })();
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.ReasoningBank = void 0;
53
+ const fs = __importStar(require("fs"));
54
+ const path = __importStar(require("path"));
55
+ const DEFAULT_CONFIG = {
56
+ dataDir: './data/reasoning-bank',
57
+ maxResults: 5,
58
+ minSimilarity: 0.3,
59
+ embeddingProvider: 'none',
60
+ };
61
+ // ============================================================
62
+ // REASONING BANK
63
+ // ============================================================
64
+ class ReasoningBank {
65
+ config;
66
+ memories = [];
67
+ embeddings = new Map();
68
+ loaded = false;
69
+ constructor(config = {}) {
70
+ this.config = { ...DEFAULT_CONFIG, ...config };
71
+ }
72
+ // ----------------------------------------------------------
73
+ // STORAGE
74
+ // ----------------------------------------------------------
75
+ /** Load memories from disk */
76
+ async load() {
77
+ const bankFile = path.join(this.config.dataDir, 'memories.jsonl');
78
+ const embFile = path.join(this.config.dataDir, 'embeddings.jsonl');
79
+ this.memories = [];
80
+ this.embeddings = new Map();
81
+ try {
82
+ if (fs.existsSync(bankFile)) {
83
+ const lines = fs.readFileSync(bankFile, 'utf8').trim().split('\n').filter(Boolean);
84
+ for (const line of lines) {
85
+ try {
86
+ this.memories.push(JSON.parse(line));
87
+ }
88
+ catch { /* skip corrupt */ }
89
+ }
90
+ }
91
+ }
92
+ catch { /* no existing bank */ }
93
+ try {
94
+ if (fs.existsSync(embFile)) {
95
+ const lines = fs.readFileSync(embFile, 'utf8').trim().split('\n').filter(Boolean);
96
+ for (const line of lines) {
97
+ try {
98
+ const { id, embedding } = JSON.parse(line);
99
+ if (id && embedding)
100
+ this.embeddings.set(id, embedding);
101
+ }
102
+ catch { /* skip corrupt */ }
103
+ }
104
+ }
105
+ }
106
+ catch { /* no existing embeddings */ }
107
+ this.loaded = true;
108
+ }
109
+ /** Save memories to disk */
110
+ async save() {
111
+ if (!fs.existsSync(this.config.dataDir)) {
112
+ fs.mkdirSync(this.config.dataDir, { recursive: true });
113
+ }
114
+ const bankFile = path.join(this.config.dataDir, 'memories.jsonl');
115
+ const embFile = path.join(this.config.dataDir, 'embeddings.jsonl');
116
+ // Save memories
117
+ const memLines = this.memories.map(m => JSON.stringify(m)).join('\n');
118
+ fs.writeFileSync(bankFile, memLines + '\n');
119
+ // Save embeddings
120
+ const embLines = Array.from(this.embeddings.entries())
121
+ .map(([id, emb]) => JSON.stringify({ id, embedding: emb }))
122
+ .join('\n');
123
+ fs.writeFileSync(embFile, embLines + '\n');
124
+ }
125
+ // ----------------------------------------------------------
126
+ // MEMORY INDUCTION (Phase 3 of ReasoningBank pipeline)
127
+ // ----------------------------------------------------------
128
+ /**
129
+ * Extract a memory from a routing decision.
130
+ * Called after a query is routed and the outcome is known.
131
+ */
132
+ async induceMemory(params) {
133
+ const { query, provider, cost, complexity, success, reasoning } = params;
134
+ // Generate structured memory content
135
+ const status = success ? 'success' : 'failure';
136
+ const title = success
137
+ ? `Successful routing for: ${query.slice(0, 50)}`
138
+ : `Failed routing for: ${query.slice(0, 50)}`;
139
+ const description = success
140
+ ? `Use ${provider} for queries with complexity ${complexity.toFixed(2)} and similar patterns`
141
+ : `Avoid ${provider} for queries with complexity ${complexity.toFixed(2)} — consider higher-tier model`;
142
+ const content = reasoning || (success
143
+ ? `Routing to ${provider} (cost $${cost.toFixed(4)}) was successful for this ${complexity.toFixed(2)}-complexity query.`
144
+ : `Routing to ${provider} (cost $${cost.toFixed(4)}) underperformed for this ${complexity.toFixed(2)}-complexity query.`);
145
+ const memory = {
146
+ id: `rb_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`,
147
+ taskId: `task_${Date.now()}`,
148
+ query,
149
+ title,
150
+ description,
151
+ content,
152
+ status,
153
+ provider,
154
+ cost,
155
+ complexity,
156
+ timestamp: Date.now(),
157
+ };
158
+ // Generate embedding if provider is configured
159
+ if (this.config.embeddingProvider !== 'none' && this.config.embeddingApiKey) {
160
+ try {
161
+ memory.embedding = await this.embed(query);
162
+ }
163
+ catch {
164
+ // Embedding failed — memory still usable via keyword search
165
+ }
166
+ }
167
+ this.memories.push(memory);
168
+ if (memory.embedding) {
169
+ this.embeddings.set(memory.id, memory.embedding);
170
+ }
171
+ // Auto-save every 10 memories
172
+ if (this.memories.length % 10 === 0) {
173
+ await this.save();
174
+ }
175
+ return memory;
176
+ }
177
+ // ----------------------------------------------------------
178
+ // RETRIEVAL (Phase 1 of ReasoningBank pipeline)
179
+ // ----------------------------------------------------------
180
+ /**
181
+ * Select relevant memories for a query.
182
+ * Uses embedding similarity if available, falls back to keyword search.
183
+ */
184
+ async selectMemories(query) {
185
+ if (!this.loaded)
186
+ await this.load();
187
+ if (this.memories.length === 0)
188
+ return [];
189
+ // Try embedding-based retrieval first
190
+ if (this.config.embeddingProvider !== 'none' && this.config.embeddingApiKey) {
191
+ try {
192
+ const queryEmbedding = await this.embed(query);
193
+ const scored = this.memories.map(m => ({
194
+ memory: m,
195
+ score: m.embedding ? this.cosineSimilarity(queryEmbedding, m.embedding) : 0,
196
+ }));
197
+ scored.sort((a, b) => b.score - a.score);
198
+ return scored
199
+ .filter(s => s.score >= this.config.minSimilarity)
200
+ .slice(0, this.config.maxResults)
201
+ .map(s => s.memory);
202
+ }
203
+ catch {
204
+ // Fall through to keyword search
205
+ }
206
+ }
207
+ // Keyword fallback: TF-IDF style overlap
208
+ const queryWords = this.tokenize(query);
209
+ if (queryWords.length === 0)
210
+ return [];
211
+ const scored = this.memories.map(m => {
212
+ const contentWords = this.tokenize(m.query + ' ' + m.content);
213
+ const contentSet = new Set(contentWords);
214
+ const matches = queryWords.filter(w => contentSet.has(w)).length;
215
+ const score = matches / queryWords.length;
216
+ return { memory: m, score };
217
+ });
218
+ scored.sort((a, b) => b.score - a.score);
219
+ return scored
220
+ .filter(s => s.score >= this.config.minSimilarity)
221
+ .slice(0, this.config.maxResults)
222
+ .map(s => s.memory);
223
+ }
224
+ // ----------------------------------------------------------
225
+ // EMBEDDING (optional)
226
+ // ----------------------------------------------------------
227
+ async embed(text) {
228
+ if (this.config.embeddingProvider === 'gemini' && this.config.embeddingApiKey) {
229
+ return this.embedGemini(text);
230
+ }
231
+ if (this.config.embeddingProvider === 'openai' && this.config.embeddingApiKey) {
232
+ return this.embedOpenAI(text);
233
+ }
234
+ throw new Error('No embedding provider configured');
235
+ }
236
+ async embedGemini(text) {
237
+ const model = this.config.embeddingModel || 'gemini-embedding-001';
238
+ const url = `https://generativelanguage.googleapis.com/v1beta/models/${model}:embedContent?key=${this.config.embeddingApiKey}`;
239
+ const resp = await fetch(url, {
240
+ method: 'POST',
241
+ headers: { 'Content-Type': 'application/json' },
242
+ body: JSON.stringify({
243
+ content: { parts: [{ text }] },
244
+ taskType: 'RETRIEVAL_QUERY',
245
+ }),
246
+ });
247
+ const data = await resp.json();
248
+ return data.embedding?.values || [];
249
+ }
250
+ async embedOpenAI(text) {
251
+ const model = this.config.embeddingModel || 'text-embedding-3-small';
252
+ const resp = await fetch('https://api.openai.com/v1/embeddings', {
253
+ method: 'POST',
254
+ headers: {
255
+ 'Content-Type': 'application/json',
256
+ 'Authorization': `Bearer ${this.config.embeddingApiKey}`,
257
+ },
258
+ body: JSON.stringify({ model, input: text }),
259
+ });
260
+ const data = await resp.json();
261
+ return data.data?.[0]?.embedding || [];
262
+ }
263
+ // ----------------------------------------------------------
264
+ // UTILITIES
265
+ // ----------------------------------------------------------
266
+ cosineSimilarity(a, b) {
267
+ if (a.length !== b.length || a.length === 0)
268
+ return 0;
269
+ let dot = 0, normA = 0, normB = 0;
270
+ for (let i = 0; i < a.length; i++) {
271
+ dot += a[i] * b[i];
272
+ normA += a[i] * a[i];
273
+ normB += b[i] * b[i];
274
+ }
275
+ return dot / (Math.sqrt(normA) * Math.sqrt(normB) + 1e-8);
276
+ }
277
+ tokenize(text) {
278
+ return text
279
+ .toLowerCase()
280
+ .split(/\s+/)
281
+ .map(w => w.replace(/[^a-z0-9\u00C0-\u024F]/g, ''))
282
+ .filter(w => w.length > 2);
283
+ }
284
+ /** Get bank statistics */
285
+ getStats() {
286
+ return {
287
+ totalMemories: this.memories.length,
288
+ successes: this.memories.filter(m => m.status === 'success').length,
289
+ failures: this.memories.filter(m => m.status === 'failure').length,
290
+ withEmbeddings: this.embeddings.size,
291
+ providers: [...new Set(this.memories.map(m => m.provider))],
292
+ };
293
+ }
294
+ /** Clear all memories */
295
+ async clear() {
296
+ this.memories = [];
297
+ this.embeddings = new Map();
298
+ await this.save();
299
+ }
300
+ }
301
+ exports.ReasoningBank = ReasoningBank;
302
+ exports.default = ReasoningBank;
303
+ //# sourceMappingURL=reasoningBank.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoningBank.js","sourceRoot":"","sources":["../../src/memory/reasoningBank.ts"],"names":[],"mappings":"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"}
@@ -613,18 +613,30 @@ exports.DEFAULT_PROVIDERS = {
613
613
  baseUrl: 'https://openrouter.ai/api/v1/chat/completions',
614
614
  apiKeyEnv: 'OPENROUTER_API_KEY',
615
615
  models: [
616
+ // Premium-tier free models (high context, powerful) — assigned equivalent costs for routing
617
+ // so the router classifies them as mid/premium tier
618
+ 'moonshotai/kimi-k2.6:free',
619
+ 'qwen/qwen3-coder:free',
620
+ 'nvidia/nemotron-3-ultra-550b-a55b:free',
621
+ 'nvidia/nemotron-3-super-120b-a12b:free',
622
+ 'google/gemma-4-31b-it:free',
623
+ 'qwen/qwen3-next-80b-a3b-instruct:free',
624
+ 'nousresearch/hermes-3-llama-3.1-405b:free',
625
+ 'openai/gpt-oss-120b:free',
626
+ 'meta-llama/llama-3.3-70b-instruct:free',
627
+ // Paid models (passthrough pricing — set representative costs for routing)
616
628
  'openai/gpt-4o',
617
629
  'anthropic/claude-3.5-sonnet',
618
630
  'google/gemini-pro-1.5',
619
631
  'meta-llama/llama-3.1-70b-instruct',
620
632
  'mistralai/mistral-large',
621
633
  ],
622
- costPerK: { input: 0, output: 0 }, // Passthrough pricing
634
+ costPerK: { input: 0, output: 0 }, // Passthrough pricing — router uses model-specific costs
623
635
  tier: 'cheap',
624
636
  format: 'openai',
625
637
  type: 'api',
626
638
  priority: 34,
627
- maxTokens: 8192,
639
+ maxTokens: 128000,
628
640
  },
629
641
  // ========================================================================
630
642
  // CLI PROVIDERS (local tools)
@@ -1 +1 @@
1
- {"version":3,"file":"providerConfig.js","sourceRoot":"","sources":["../../src/providers/providerConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providerConfig.js","sourceRoot":"","sources":["../../src/providers/providerConfig.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAutBH,gCA8DC;AAED,sDAoBC;AAMD,4CAgBC;AAED,gDAEC;AAED,wCAMC;AAMD,kCA8DC;AAED,8CASC;AAED,sEASC;AAED,oEAIC;AAMD,gCAmBC;AAp8BD,uCAAyB;AACzB,2CAA6B;AAkC7B,+DAA+D;AAC/D,+BAA+B;AAC/B,+DAA+D;AAElD,QAAA,iBAAiB,GAAuC;IACnE,2EAA2E;IAC3E,qBAAqB;IACrB,2EAA2E;IAC3E,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,4CAA4C;QACrD,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;QACrE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,YAAY,EAAG,kCAAkC;KAC5D;IAED,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,2CAA2C;QACpD,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;KAChB;IAED,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,2CAA2C;QACpD,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;KAChB;IAED,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,yDAAyD;QAClE,SAAS,EAAE,gBAAgB;QAC3B,MAAM,EAAE;YACN,kBAAkB;YAClB,gBAAgB;YAChB,kBAAkB;YAClB,kBAAkB;YAClB,gBAAgB;YAChB,gBAAgB;SACjB;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,sBAAsB;QACzD,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;QACf,mBAAmB,EAAE,IAAI,EAAG,uCAAuC;QACnE,QAAQ,EAAE,UAAU,EAAG,4CAA4C;KACpE;IAED,2EAA2E;IAC3E,2CAA2C;IAC3C,2EAA2E;IAC3E,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,iDAAiD;QAC1D,SAAS,EAAE,cAAc;QACzB,MAAM,EAAE;YACN,yBAAyB;YACzB,sBAAsB;YACtB,qBAAqB;YACrB,oBAAoB;YACpB,gBAAgB;YAChB,2CAA2C;SAC5C;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;KAChB;IAED,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,6CAA6C;QACtD,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE;YACN,aAAa;YACb,eAAe;YACf,gCAAgC;YAChC,cAAc;YACd,aAAa;SACd;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;KAChB;IAED,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,sDAAsD;QAC/D,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE;YACN,uCAAuC;YACvC,wCAAwC;YACxC,sCAAsC;YACtC,2BAA2B;YAC3B,uBAAuB;SACxB;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;KAChB;IAED,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,8CAA8C;QACvD,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE;YACN,6CAA6C;YAC7C,8CAA8C;YAC9C,sCAAsC;YACtC,iCAAiC;YACjC,uBAAuB;SACxB;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;KAChB;IAED,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,wDAAwD;QACjE,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE;YACN,kDAAkD;YAClD,mDAAmD;YACnD,iDAAiD;YACjD,gDAAgD;SACjD;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;KAChB;IAED,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,kDAAkD;QAC3D,SAAS,EAAE,gBAAgB;QAC3B,MAAM,EAAE;YACN,kCAAkC;YAClC,mCAAmC;YACnC,2BAA2B;SAC5B;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,8CAA8C;QACvD,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE;YACN,4BAA4B;YAC5B,6BAA6B;SAC9B;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,wDAAwD;QACjE,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE;YACN,uCAAuC;YACvC,wCAAwC;YACxC,sCAAsC;SACvC;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,+CAA+C;QACxD,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE;YACN,uBAAuB;YACvB,sCAAsC;SACvC;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,2EAA2E;IAC3E,uCAAuC;IACvC,2EAA2E;IAC3E,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,8CAA8C;QACvD,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;QAChD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,4CAA4C;QACrD,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE;YACN,sBAAsB;YACtB,uBAAuB;YACvB,sBAAsB;YACtB,oBAAoB;YACpB,qBAAqB;YACrB,qBAAqB;YACrB,qBAAqB;YACrB,kBAAkB;YAClB,mBAAmB;SACpB;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,4CAA4C;QACrD,SAAS,EAAE,oBAAoB;QAC/B,MAAM,EAAE;YACN,mCAAmC;YACnC,mCAAmC;YACnC,WAAW;SACZ;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,2CAA2C;QACpD,SAAS,EAAE,gBAAgB;QAC3B,MAAM,EAAE,CAAC,gBAAgB,EAAE,WAAW,EAAE,mBAAmB,CAAC;QAC5D,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QACpC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,iDAAiD;QAC1D,SAAS,EAAE,cAAc;QACzB,MAAM,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;QAC7C,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,2EAA2E;IAC3E,+CAA+C;IAC/C,2EAA2E;IAC3E,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,4CAA4C;QACrD,SAAS,EAAE,gBAAgB;QAC3B,MAAM,EAAE;YACN,QAAQ;YACR,aAAa;YACb,aAAa;YACb,OAAO;YACP,eAAe;YACf,YAAY;YACZ,SAAS;SACV;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;QACpC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,cAAc,EAAG,6BAA6B;KACzD;IAED,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,uCAAuC;QAChD,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE;YACN,0BAA0B;YAC1B,mBAAmB;YACnB,eAAe;YACf,gBAAgB;SACjB;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAClC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,cAAc,EAAG,+BAA+B;KAC3D;IAED,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,sCAAsC;QAC/C,SAAS,EAAE,aAAa;QACxB,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC;QAC1D,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QACtC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,2EAA2E;IAC3E,0CAA0C;IAC1C,2EAA2E;IAC3E,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,sFAAsF;QAC/F,SAAS,EAAE,sBAAsB;QACjC,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC;QAC3C,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QACtC,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE;YACN,2BAA2B;YAC3B,0BAA0B;YAC1B,kBAAkB;YAClB,mBAAmB;YACnB,sBAAsB;SACvB;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QACtC,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,gCAAgC;QAC3C,MAAM,EAAE;YACN,kBAAkB;YAClB,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;SACjB;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;QACtC,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,eAAe;QACvB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,2EAA2E;IAC3E,kBAAkB;IAClB,2EAA2E;IAC3E,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,uDAAuD;QAChE,SAAS,EAAE,eAAe;QAC1B,MAAM,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC;QAChE,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,6CAA6C;QACtD,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QACjE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,oEAAoE;QAC7E,SAAS,EAAE,mBAAmB;QAC9B,MAAM,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC;QAC5D,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,EAAE,EAAE;QACF,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,iDAAiD;QAC1D,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;QAC7D,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,iDAAiD;QAC1D,SAAS,EAAE,kBAAkB;QAC7B,MAAM,EAAE,CAAC,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,CAAC;QAChE,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,oDAAoD;QAC7D,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,CAAC,iBAAiB,EAAE,eAAe,CAAC;QAC5C,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,6CAA6C;QACtD,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;QACjD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,2EAA2E;IAC3E,qBAAqB;IACrB,2EAA2E;IAC3E,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,iDAAiD;QAC1D,SAAS,EAAE,qBAAqB;QAChC,MAAM,EAAE,CAAC,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,CAAC;QAClE,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;QACrC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,OAAO,EAAE;QACP,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,4CAA4C;QACrD,SAAS,EAAE,iBAAiB;QAC5B,MAAM,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;QACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;QACtC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,2EAA2E;IAC3E,4BAA4B;IAC5B,2EAA2E;IAC3E,UAAU,EAAE;QACV,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,+CAA+C;QACxD,SAAS,EAAE,oBAAoB;QAC/B,MAAM,EAAE;YACN,4FAA4F;YAC5F,oDAAoD;YACpD,2BAA2B;YAC3B,uBAAuB;YACvB,wCAAwC;YACxC,wCAAwC;YACxC,4BAA4B;YAC5B,uCAAuC;YACvC,2CAA2C;YAC3C,0BAA0B;YAC1B,wCAAwC;YACxC,2EAA2E;YAC3E,eAAe;YACf,6BAA6B;YAC7B,uBAAuB;YACvB,mCAAmC;YACnC,yBAAyB;SAC1B;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAyD;QAC5F,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,MAAM;KAClB;IAED,2EAA2E;IAC3E,8BAA8B;IAC9B,2EAA2E;IAC3E,QAAQ,EAAE;QACR,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,gDAAgD;QACzD,SAAS,EAAE,qBAAqB;QAChC,MAAM,EAAE,CAAC,SAAS,CAAC;QACnB,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;KAChB;IAED,2EAA2E;IAC3E,4CAA4C;IAC5C,2EAA2E;IAC3E,MAAM,EAAE;QACN,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,sDAAsD;QAC/D,SAAS,EAAE,gBAAgB;QAC3B,MAAM,EAAE;YACN,4BAA4B;YAC5B,6BAA6B;YAC7B,yCAAyC;YACzC,kCAAkC;YAClC,mCAAmC;YACnC,uBAAuB;YACvB,wBAAwB;YACxB,wBAAwB;YACxB,8CAA8C;YAC9C,cAAc;SACf;QACD,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACjC,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;KAChB;CACF,CAAC;AAEF,+DAA+D;AAC/D,gBAAgB;AAChB,+DAA+D;AAE/D,IAAI,oBAAoB,GAAuC,EAAE,GAAG,yBAAiB,EAAE,CAAC;AACxF,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,+DAA+D;AAC/D,wBAAwB;AACxB,+DAA+D;AAE/D,SAAgB,UAAU,CAAC,UAAmB;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAClD,SAAS,EAAE,YAAY,EAAE,gBAAgB,CAC1C,CAAC;IACF,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,oBAAoB,CAAC,CAAC;IACrE,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9D,MAAM,IAAI,GAAG,QAAuC,CAAC;oBACrD,IAAI,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC7B,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;oBACtE,CAAC;yBAAM,CAAC;wBACN,oBAAoB,CAAC,EAAE,CAAC,GAAG;4BACzB,EAAE;4BACF,IAAI,EAAE,KAAK;4BACX,QAAQ,EAAE,EAAE;4BACZ,SAAS,EAAE,IAAI;4BACf,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;4BACjC,IAAI,EAAE,KAAK;4BACX,MAAM,EAAE,QAAQ;4BAChB,MAAM,EAAE,EAAE;4BACV,IAAI,EAAE,EAAE;4BACR,OAAO,EAAE,EAAE;4BACX,SAAS,EAAE,EAAE;4BACb,GAAG,IAAI;yBACc,CAAC;oBAC1B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,aAAa,GAAG,IAAI,CAAC;YACrB,MAAM;QACR,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3D,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,SAAgB,qBAAqB;IACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,UAAU,EAAE,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAuC,EAAE,CAAC;IAEzD,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAClE,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;SAC7B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;SAC/C,MAAM,CAAC,CAAC,GAAuC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D,SAAgB,gBAAgB,CAAC,EAAU,EAAE,MAAmC;IAC9E,oBAAoB,CAAC,EAAE,CAAC,GAAG;QACzB,EAAE;QACF,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;QACjC,IAAI,EAAE,KAAK;QACX,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACjC,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,EAAE;QACV,GAAG,MAAM;KACY,CAAC;IACxB,OAAO,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,cAAc,CAAC,EAAU,EAAE,OAAoC;IAC7E,IAAI,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC7B,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,oBAAoB,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;QACvE,OAAO,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+DAA+D;AAC/D,eAAe;AACf,+DAA+D;AAExD,KAAK,UAAU,WAAW,CAAC,UAAkB;IAOlD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,GAAG,UAAU,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,8CAA8C;YAC9C,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/E,CAAC;YACD,QAAQ,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,GAAG,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACjG,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtE,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACzC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,eAAe,EAAE,SAAS,GAAG,QAAQ,CAAC,MAAM;oBAC5C,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK;oBACL,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;oBAC7C,UAAU,EAAE,CAAC;iBACd,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAS,CAAC;YAEtC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAChE,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;QAChE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC9E,CAAC;AAEM,KAAK,UAAU,iBAAiB;IACrC,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAE1C,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,EAAE,CAAC,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,6BAA6B,CAAC,KAAc;IAC1D,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAC1C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC1F,CAAC;IACF,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,SAAgB,4BAA4B;IAC1C,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAC3E,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC7D,CAAC;AAED,+DAA+D;AAC/D,cAAc;AACd,+DAA+D;AAE/D,SAAgB,UAAU,CAAC,UAAmB;IAC5C,MAAM,MAAM,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CACpC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EACvB,SAAS,EAAE,YAAY,EAAE,gBAAgB,CAC1C,CAAC;IAEF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,UAAU,GAAwB,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAClE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC"}