@llm-dev-ops/agentics-cli 1.6.6 → 1.6.7
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation-renderers.d.ts","sourceRoot":"","sources":["../../src/synthesis/simulation-renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAoDD,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACtF,CAqBA;
|
|
1
|
+
{"version":3,"file":"simulation-renderers.d.ts","sourceRoot":"","sources":["../../src/synthesis/simulation-renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB;AAoDD,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACtF,CAqBA;AA2LD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,WAAW,EAAE,GAC7B,MAAM,CAgHR;AAMD,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,WAAW,EAAE,GAC7B,MAAM,CA6GR;AAkeD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,WAAW,EAAE,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA6CzB;AAMD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,WAAW,EAAE,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgGzB;AAMD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,WAAW,EAAE,GAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuFzB;AAMD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,WAAW,EAAE,GAC7B,MAAM,CAyGR;AAMD,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,WAAW,EAAE,GAC7B,MAAM,CAiDR;AAMD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,WAAW,EAAE,GAC7B,MAAM,CAmDR;AAMD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,WAAW,EAAE,GAC7B,MAAM,CAkER"}
|
|
@@ -133,144 +133,201 @@ function extractSuccessProbability(simData) {
|
|
|
133
133
|
// Enterprise projects always carry residual risk, and showing 100% destroys credibility.
|
|
134
134
|
return Math.min(prob, 0.88);
|
|
135
135
|
}
|
|
136
|
+
function extractFinancials(simData, platformResults) {
|
|
137
|
+
const fm = (safeGet(simData, 'financial_model') ?? safeGet(simData, 'cost_model') ?? safeGet(simData, 'financials'));
|
|
138
|
+
const roiAgent = extractAgentData(platformResults, 'costops', 'roi');
|
|
139
|
+
const forecastAgent = extractAgentData(platformResults, 'costops', 'forecast');
|
|
140
|
+
const budget = safeString(simData, 'budget') || safeString(simData, 'investment') || safeString(simData, 'total_investment') || (fm ? safeString(fm, 'budget') || safeString(fm, 'total_investment') : '') || (roiAgent ? safeString(roiAgent, 'total_cost') || safeString(roiAgent, 'estimated_cost') : '');
|
|
141
|
+
const roi = safeString(simData, 'roi') || safeString(simData, 'expected_roi') || (fm ? safeString(fm, 'roi') : '') || (roiAgent ? safeString(roiAgent, 'roi') || safeString(roiAgent, 'expected_roi') : '');
|
|
142
|
+
const npv = safeString(simData, 'npv') || safeString(simData, 'net_present_value') || (fm ? safeString(fm, 'npv') || safeString(fm, 'net_present_value') : '') || (forecastAgent ? safeString(forecastAgent, 'npv') : '');
|
|
143
|
+
const payback = safeString(simData, 'payback_period') || safeString(simData, 'payback') || safeString(simData, 'roi_timeline') || (fm ? safeString(fm, 'payback_period') || safeString(fm, 'payback') : '') || (roiAgent ? safeString(roiAgent, 'payback_period') || safeString(roiAgent, 'payback') : '');
|
|
144
|
+
const revenue = safeString(simData, 'projected_revenue') || safeString(simData, 'revenue_impact') || safeString(simData, 'annual_value') || (fm ? safeString(fm, 'projected_revenue') : '');
|
|
145
|
+
const costSavings = safeString(simData, 'cost_savings') || safeString(simData, 'cost_reduction') || safeString(simData, 'savings') || (fm ? safeString(fm, 'cost_savings') : '');
|
|
146
|
+
return { budget, roi, npv, payback, revenue, costSavings, hasData: !!(budget || roi || npv || payback || revenue || costSavings) };
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* ADR-PIPELINE-024: Generate domain-appropriate risks from query context.
|
|
150
|
+
* Every enterprise project has risks. Never return an empty list.
|
|
151
|
+
*/
|
|
152
|
+
function generateDomainRisks(query, extracted) {
|
|
153
|
+
const risks = [];
|
|
154
|
+
const q = query.toLowerCase();
|
|
155
|
+
const systems = extracted.systems;
|
|
156
|
+
const primarySystem = systems[0] ?? 'enterprise platform';
|
|
157
|
+
// Every project has these
|
|
158
|
+
risks.push({
|
|
159
|
+
risk: `Data quality and completeness in ${primarySystem} may not meet analytical requirements`,
|
|
160
|
+
category: 'Data', likelihood: 'High', impact: 'Medium', score: 6,
|
|
161
|
+
mitigation: 'Data profiling during discovery phase; validation layer with quarantine for invalid records',
|
|
162
|
+
});
|
|
163
|
+
risks.push({
|
|
164
|
+
risk: `${primarySystem} API integration complexity — rate limits, schema changes, authentication`,
|
|
165
|
+
category: 'Technical', likelihood: 'Medium', impact: 'High', score: 6,
|
|
166
|
+
mitigation: `Technical spike to validate ${primarySystem} API capabilities before full commitment`,
|
|
167
|
+
});
|
|
168
|
+
risks.push({
|
|
169
|
+
risk: 'Scope creep beyond initial prototype boundaries',
|
|
170
|
+
category: 'Project', likelihood: 'High', impact: 'Medium', score: 6,
|
|
171
|
+
mitigation: 'Fixed scope contract with explicit phase gates; changes require stakeholder re-approval',
|
|
172
|
+
});
|
|
173
|
+
// Size-dependent risks
|
|
174
|
+
if (/\b\d{2,6}\s*(?:employee|staff|people|worker|team member)/i.test(q)) {
|
|
175
|
+
risks.push({
|
|
176
|
+
risk: 'Change management across large workforce — adoption resistance and training burden',
|
|
177
|
+
category: 'Organizational', likelihood: 'Medium', impact: 'High', score: 6,
|
|
178
|
+
mitigation: 'Phased rollout starting with pilot group; champion network; training program before go-live',
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
// Multi-region risks
|
|
182
|
+
if (/(?:north america|europe|asia|global|multi.?region|across.*(?:region|countr|continent))/i.test(q)) {
|
|
183
|
+
risks.push({
|
|
184
|
+
risk: 'Regional regulatory variance — data residency, privacy, and compliance requirements differ by jurisdiction',
|
|
185
|
+
category: 'Regulatory', likelihood: 'Medium', impact: 'High', score: 6,
|
|
186
|
+
mitigation: 'Legal review per jurisdiction during discovery; configurable compliance rules per region',
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
// Sustainability risks
|
|
190
|
+
if (/(?:emission|carbon|sustainab|environmental|energy|waste|esg)/i.test(q)) {
|
|
191
|
+
risks.push({
|
|
192
|
+
risk: 'Emissions factor accuracy — default factors may not match specific operational context',
|
|
193
|
+
category: 'Data', likelihood: 'Medium', impact: 'Medium', score: 4,
|
|
194
|
+
mitigation: 'Allow user-supplied factors with audit trail; flag calculations using default vs. measured values',
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
// Financial risks
|
|
198
|
+
if (/(?:investment|budget|cost|roi|revenue|profitab)/i.test(q)) {
|
|
199
|
+
risks.push({
|
|
200
|
+
risk: 'Financial assumptions may not hold — market conditions, operational costs, or adoption rates may differ from projections',
|
|
201
|
+
category: 'Financial', likelihood: 'Medium', impact: 'Medium', score: 4,
|
|
202
|
+
mitigation: 'Sensitivity analysis on key assumptions; quarterly re-validation of financial model',
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
// Always include vendor dependency
|
|
206
|
+
risks.push({
|
|
207
|
+
risk: 'Technology vendor dependency — platform availability, pricing changes, or API deprecation',
|
|
208
|
+
category: 'Technical', likelihood: 'Low', impact: 'High', score: 3,
|
|
209
|
+
mitigation: 'Ports-and-adapters architecture enables vendor swap; contractual SLA requirements',
|
|
210
|
+
});
|
|
211
|
+
return risks.sort((a, b) => b.score - a.score);
|
|
212
|
+
}
|
|
136
213
|
// ============================================================================
|
|
137
|
-
// Executive Summary Renderer
|
|
214
|
+
// Executive Summary Renderer (ADR-PIPELINE-024: Pyramid Principle)
|
|
138
215
|
// ============================================================================
|
|
139
216
|
export function renderExecutiveSummary(query, simulationResult, platformResults) {
|
|
140
217
|
const now = new Date().toISOString();
|
|
141
|
-
const execSummaryAgent = platformResults.find(r => r.agent === 'executive-summary');
|
|
142
|
-
const riskAgent = platformResults.find(r => r.agent === 'risk-score');
|
|
143
|
-
const decisionAgent = platformResults.find(r => r.agent === 'decision-memo');
|
|
144
|
-
// Extract simulation outcome
|
|
145
218
|
const simPayload = extractSignalPayload(simulationResult);
|
|
146
219
|
const simData = simPayload.data ?? {};
|
|
147
220
|
const successProb = extractSuccessProbability(simData);
|
|
148
|
-
const timeline = safeString(simData, 'timeline_estimate') || safeString(simData, 'timeline');
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
const
|
|
152
|
-
const
|
|
153
|
-
|
|
154
|
-
// Determine confidence level
|
|
155
|
-
let confidence = 'LOW';
|
|
156
|
-
if (successProb >= 0.9)
|
|
157
|
-
confidence = 'HIGH';
|
|
158
|
-
else if (successProb >= 0.7)
|
|
159
|
-
confidence = 'MEDIUM';
|
|
160
|
-
// Determine recommendation
|
|
221
|
+
const timeline = safeString(simData, 'timeline_estimate') || safeString(simData, 'timeline') || '12-18 weeks';
|
|
222
|
+
const problemStatement = distillProblemStatement(query);
|
|
223
|
+
const extracted = extractScenarioFromQuery(query);
|
|
224
|
+
const fin = extractFinancials(simData, platformResults);
|
|
225
|
+
const risks = generateDomainRisks(query, extracted);
|
|
226
|
+
const primarySystem = extracted.systems[0] ?? 'the target platform';
|
|
161
227
|
let recommendation = 'DEFER';
|
|
162
|
-
|
|
228
|
+
let recDetail = 'Further analysis recommended before committing resources.';
|
|
229
|
+
if (successProb >= 0.9) {
|
|
163
230
|
recommendation = 'PROCEED';
|
|
164
|
-
|
|
231
|
+
recDetail = `Proceed with full implementation targeting ${primarySystem} integration.`;
|
|
232
|
+
}
|
|
233
|
+
else if (successProb >= 0.7) {
|
|
165
234
|
recommendation = 'CONDITIONAL PROCEED';
|
|
166
|
-
|
|
167
|
-
|
|
235
|
+
recDetail = `Proceed with a scoped pilot to validate core assumptions before full commitment.`;
|
|
236
|
+
}
|
|
237
|
+
// ADR-PIPELINE-024: Pyramid Principle — lead with the answer
|
|
168
238
|
const lines = [
|
|
169
239
|
'# Executive Summary',
|
|
170
240
|
'',
|
|
171
241
|
`**Date:** ${now}`,
|
|
172
|
-
`**Assessment:** ${problemStatement}`,
|
|
173
|
-
`**Confidence Level:** ${confidence}`,
|
|
174
|
-
`**Recommendation:** ${recommendation}`,
|
|
175
242
|
'',
|
|
176
243
|
'---',
|
|
177
244
|
'',
|
|
178
|
-
'##
|
|
179
|
-
'',
|
|
180
|
-
`This enterprise feasibility analysis evaluates the proposed initiative: **${problemStatement}**.`,
|
|
181
|
-
'',
|
|
182
|
-
`| Metric | Value |`,
|
|
183
|
-
`|--------|-------|`,
|
|
184
|
-
`| Success Probability | ${(successProb * 100).toFixed(0)}% |`,
|
|
185
|
-
`| Estimated Timeline | ${timeline || '12-18 weeks (to be refined)'} |`,
|
|
186
|
-
`| Confidence Level | ${confidence} |`,
|
|
245
|
+
'## Recommendation',
|
|
187
246
|
'',
|
|
247
|
+
`**${recommendation}** — ${recDetail}`,
|
|
188
248
|
];
|
|
189
|
-
if (
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
249
|
+
if (fin.hasData) {
|
|
250
|
+
const impactParts = [];
|
|
251
|
+
if (fin.budget)
|
|
252
|
+
impactParts.push(`${fin.budget} investment`);
|
|
253
|
+
if (fin.payback)
|
|
254
|
+
impactParts.push(`${fin.payback} payback`);
|
|
255
|
+
if (fin.npv)
|
|
256
|
+
impactParts.push(`${fin.npv} 5-year NPV`);
|
|
257
|
+
if (impactParts.length > 0) {
|
|
258
|
+
lines.push(`Projected impact: ${impactParts.join(', ')}.`);
|
|
199
259
|
}
|
|
200
|
-
lines.push('');
|
|
201
260
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
261
|
+
lines.push(`Success probability: ${(successProb * 100).toFixed(0)}% | Timeline: ${timeline}`, '');
|
|
262
|
+
// The Opportunity — cost of inaction
|
|
263
|
+
lines.push('## The Opportunity', '');
|
|
264
|
+
lines.push(`${problemStatement}. Current processes rely on manual review and periodic reporting, ` +
|
|
265
|
+
`limiting the organization's ability to act proactively. Without intervention, inefficiencies ` +
|
|
266
|
+
`compound as operational scale grows across ${extracted.stakeholders.length > 0 ? extracted.stakeholders.slice(0, 2).join(' and ') : 'multiple teams'} ` +
|
|
267
|
+
`and ${primarySystem} data volume increases.`, '');
|
|
268
|
+
// What We Found — key insights with numbers
|
|
269
|
+
lines.push('## Key Findings', '');
|
|
270
|
+
const insights = [];
|
|
271
|
+
if (fin.roi)
|
|
272
|
+
insights.push(`Projected return on investment of ${fin.roi}`);
|
|
273
|
+
if (fin.costSavings)
|
|
274
|
+
insights.push(`Estimated cost savings of ${fin.costSavings}`);
|
|
275
|
+
if (fin.revenue)
|
|
276
|
+
insights.push(`Revenue impact potential of ${fin.revenue}`);
|
|
277
|
+
// Pull agent insights
|
|
278
|
+
const execAgent = extractAgentData(platformResults, 'platform', 'executive-summary');
|
|
279
|
+
if (execAgent) {
|
|
280
|
+
const findings = safeArray(execAgent, 'findings').concat(safeArray(execAgent, 'key_findings'));
|
|
281
|
+
for (const f of findings.slice(0, 3)) {
|
|
282
|
+
insights.push(typeof f === 'string' ? f : safeString(f, 'description') || safeString(f, 'finding') || String(f));
|
|
206
283
|
}
|
|
207
|
-
lines.push('');
|
|
208
284
|
}
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
if (
|
|
213
|
-
lines.push(
|
|
214
|
-
const insights = synthesizeAgentInsights(execPayload.data, 'executive-summary');
|
|
215
|
-
lines.push(...insights);
|
|
216
|
-
lines.push('');
|
|
217
|
-
}
|
|
285
|
+
insights.push(`${primarySystem} integration is technically feasible with ${extracted.constraints.length > 0 ? 'identified compliance constraints manageable' : 'standard API integration patterns'}`);
|
|
286
|
+
insights.push('Human-in-the-loop governance preserves decision authority while accelerating analysis');
|
|
287
|
+
for (const insight of insights.slice(0, 6)) {
|
|
288
|
+
if (insight)
|
|
289
|
+
lines.push(`- ${insight}`);
|
|
218
290
|
}
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
lines.push(
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
const execFinModel = safeGet(simData, 'financial_model');
|
|
237
|
-
if (execBudget || execRoi || execNpv || execPayback || execFinModel || roiAgent || forecastAgent) {
|
|
238
|
-
lines.push('## Financial Overview', '');
|
|
239
|
-
if (execBudget)
|
|
240
|
-
lines.push(`- **Total Investment:** ${execBudget}`);
|
|
241
|
-
if (execRoi)
|
|
242
|
-
lines.push(`- **Expected ROI:** ${execRoi}`);
|
|
243
|
-
if (execNpv)
|
|
244
|
-
lines.push(`- **5-Year NPV:** ${execNpv}`);
|
|
245
|
-
if (execPayback)
|
|
246
|
-
lines.push(`- **Payback Period:** ${execPayback}`);
|
|
247
|
-
if (execFinModel) {
|
|
248
|
-
const fmRevenue = safeString(execFinModel, 'projected_revenue') || safeString(execFinModel, 'annual_value');
|
|
249
|
-
if (fmRevenue)
|
|
250
|
-
lines.push(`- **Projected Revenue:** ${fmRevenue}`);
|
|
251
|
-
}
|
|
252
|
-
if (roiAgent) {
|
|
253
|
-
const insights = synthesizeAgentInsights(roiAgent, 'costops-roi');
|
|
254
|
-
lines.push('', ...insights);
|
|
255
|
-
}
|
|
256
|
-
if (forecastAgent) {
|
|
257
|
-
const insights = synthesizeAgentInsights(forecastAgent, 'costops-forecast');
|
|
258
|
-
lines.push('', ...insights);
|
|
259
|
-
}
|
|
291
|
+
lines.push('');
|
|
292
|
+
// Financial Impact
|
|
293
|
+
if (fin.hasData) {
|
|
294
|
+
lines.push('## Financial Impact', '');
|
|
295
|
+
lines.push('| Metric | Value |', '|--------|-------|');
|
|
296
|
+
if (fin.budget)
|
|
297
|
+
lines.push(`| Total Investment | ${fin.budget} |`);
|
|
298
|
+
if (fin.roi)
|
|
299
|
+
lines.push(`| Expected ROI | ${fin.roi} |`);
|
|
300
|
+
if (fin.npv)
|
|
301
|
+
lines.push(`| 5-Year NPV | ${fin.npv} |`);
|
|
302
|
+
if (fin.payback)
|
|
303
|
+
lines.push(`| Payback Period | ${fin.payback} |`);
|
|
304
|
+
if (fin.revenue)
|
|
305
|
+
lines.push(`| Revenue Impact | ${fin.revenue} |`);
|
|
306
|
+
if (fin.costSavings)
|
|
307
|
+
lines.push(`| Cost Savings | ${fin.costSavings} |`);
|
|
260
308
|
lines.push('');
|
|
261
309
|
}
|
|
262
|
-
//
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
lines.push('---', '');
|
|
271
|
-
if (execSources.length > 0) {
|
|
272
|
-
lines.push(`*Sources: ${execSources.join(', ')}*`);
|
|
310
|
+
// Risk Profile — never empty
|
|
311
|
+
lines.push('## Risk Profile', '');
|
|
312
|
+
const topRisks = risks.slice(0, 3);
|
|
313
|
+
const maxScore = topRisks[0]?.score ?? 0;
|
|
314
|
+
const riskLevel = maxScore >= 6 ? 'MEDIUM' : maxScore >= 3 ? 'LOW-MEDIUM' : 'LOW';
|
|
315
|
+
lines.push(`**Overall Risk Level: ${riskLevel}** — ${topRisks.length} risks require active management.`, '');
|
|
316
|
+
for (const r of topRisks) {
|
|
317
|
+
lines.push(`- **${r.category}** (${r.likelihood} likelihood, ${r.impact} impact): ${r.risk}`);
|
|
273
318
|
}
|
|
319
|
+
lines.push('');
|
|
320
|
+
// Recommended Next Steps — time-bound
|
|
321
|
+
lines.push('## Recommended Next Steps', '');
|
|
322
|
+
const steps = buildDomainNextSteps(recommendation, extracted);
|
|
323
|
+
for (const step of steps) {
|
|
324
|
+
lines.push(step);
|
|
325
|
+
}
|
|
326
|
+
lines.push('');
|
|
327
|
+
// Provenance
|
|
328
|
+
const sources = platformResults.filter(r => r.status >= 200 && r.status < 300).map(r => `${r.domain}/${r.agent}`);
|
|
329
|
+
lines.push('---', '');
|
|
330
|
+
lines.push(`*Sources: ${sources.slice(0, 8).join(', ')}${sources.length > 8 ? ` + ${sources.length - 8} more` : ''}*`);
|
|
274
331
|
lines.push(`*Generated: ${now}*`);
|
|
275
332
|
return lines.join('\n');
|
|
276
333
|
}
|
|
@@ -282,140 +339,109 @@ export function renderDecisionMemo(query, simulationResult, platformResults) {
|
|
|
282
339
|
const simPayload = extractSignalPayload(simulationResult);
|
|
283
340
|
const simData = simPayload.data ?? {};
|
|
284
341
|
const successProb = extractSuccessProbability(simData);
|
|
285
|
-
const
|
|
286
|
-
const
|
|
287
|
-
|
|
288
|
-
const
|
|
289
|
-
const
|
|
290
|
-
const riskScoreData = extractAgentData(platformResults, 'platform', 'risk-score');
|
|
342
|
+
const extracted = extractScenarioFromQuery(query);
|
|
343
|
+
const problemStatement = distillProblemStatement(query);
|
|
344
|
+
const fin = extractFinancials(simData, platformResults);
|
|
345
|
+
const risks = generateDomainRisks(query, extracted);
|
|
346
|
+
const primarySystem = extracted.systems[0] ?? 'the target platform';
|
|
291
347
|
const plannerData = extractAgentData(platformResults, 'copilot', 'planner');
|
|
292
348
|
let recommendation = 'DEFER';
|
|
293
|
-
let rationale = '
|
|
349
|
+
let rationale = 'Further analysis recommended before committing resources.';
|
|
294
350
|
if (successProb >= 0.9) {
|
|
295
351
|
recommendation = 'PROCEED';
|
|
296
|
-
rationale = 'High probability of success with manageable risks.';
|
|
352
|
+
rationale = 'High probability of success with manageable risks. Full deployment recommended.';
|
|
297
353
|
}
|
|
298
354
|
else if (successProb >= 0.7) {
|
|
299
355
|
recommendation = 'CONDITIONAL PROCEED';
|
|
300
|
-
rationale = 'Moderate confidence
|
|
356
|
+
rationale = 'Moderate confidence. A scoped pilot is recommended to validate core assumptions before committing to full deployment.';
|
|
301
357
|
}
|
|
302
|
-
//
|
|
303
|
-
const extracted = extractScenarioFromQuery(query);
|
|
304
|
-
const problemStatement = distillProblemStatement(query);
|
|
358
|
+
// ADR-PIPELINE-024: Structured decision package
|
|
305
359
|
const lines = [
|
|
306
360
|
'# Decision Memo',
|
|
307
361
|
'',
|
|
308
362
|
`**Date:** ${now}`,
|
|
309
363
|
`**Subject:** ${problemStatement}`,
|
|
364
|
+
`**Decision Requested:** Approval to proceed with ${successProb >= 0.7 ? 'scoped pilot' : 'feasibility investigation'}`,
|
|
310
365
|
'',
|
|
311
366
|
'---',
|
|
312
367
|
'',
|
|
313
368
|
'## Recommendation',
|
|
314
369
|
'',
|
|
315
|
-
|
|
370
|
+
`**${recommendation}** — ${rationale}`,
|
|
371
|
+
'',
|
|
372
|
+
`Success probability: ${(successProb * 100).toFixed(0)}%`,
|
|
316
373
|
'',
|
|
317
|
-
|
|
374
|
+
// Business Context
|
|
375
|
+
'## Business Context', '',
|
|
376
|
+
`The organization requires ${problemStatement.toLowerCase()}. ` +
|
|
377
|
+
`Current manual processes limit visibility and create operational inefficiency across ` +
|
|
378
|
+
`${extracted.stakeholders.slice(0, 3).join(', ') || 'multiple business units'}. ` +
|
|
379
|
+
`${primarySystem} serves as the system of record, and any solution must integrate non-disruptively.`,
|
|
318
380
|
'',
|
|
319
|
-
|
|
381
|
+
// Options Considered
|
|
382
|
+
'## Options Considered', '',
|
|
383
|
+
'| Option | Description | Investment | Timeline | Risk Level | Recommendation |',
|
|
384
|
+
'|--------|-------------|-----------|----------|------------|---------------|',
|
|
385
|
+
`| **A. Scoped Pilot** | Validate with subset of data and ${extracted.domain_entities.slice(0, 2).join(', ') || 'core entities'} | ${fin.budget || 'TBD'} (pilot scope) | 8-12 weeks | Low | **Recommended** |`,
|
|
386
|
+
`| **B. Full Deployment** | Enterprise-wide rollout across all ${extracted.systems.length > 0 ? extracted.systems.join(', ') : 'systems'} | ${fin.budget || 'TBD'} | ${safeString(simData, 'timeline_estimate') || '16-24 weeks'} | Medium | After pilot validation |`,
|
|
387
|
+
`| **C. Do Nothing** | Continue with manual processes | $0 | N/A | High | Not recommended — costs compound |`,
|
|
320
388
|
'',
|
|
321
389
|
];
|
|
322
|
-
//
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
if (hasFinancialData) {
|
|
339
|
-
lines.push('## Financial Impact', '');
|
|
340
|
-
// Simulation-sourced financial data
|
|
341
|
-
const budget = simBudget || fmBudget;
|
|
342
|
-
const roi = simRoi || fmRoi;
|
|
343
|
-
const npv = simNpv || fmNpv;
|
|
344
|
-
const payback = simPayback || fmPayback;
|
|
345
|
-
if (budget)
|
|
346
|
-
lines.push(`- **Total Investment:** ${budget}`);
|
|
347
|
-
if (roi)
|
|
348
|
-
lines.push(`- **Expected ROI:** ${roi}`);
|
|
349
|
-
if (npv)
|
|
350
|
-
lines.push(`- **5-Year NPV:** ${npv}`);
|
|
351
|
-
if (payback)
|
|
352
|
-
lines.push(`- **Payback Period:** ${payback}`);
|
|
353
|
-
if (simRevenue)
|
|
354
|
-
lines.push(`- **Projected Revenue Impact:** ${simRevenue}`);
|
|
355
|
-
if (simCostSavings)
|
|
356
|
-
lines.push(`- **Cost Savings:** ${simCostSavings}`);
|
|
357
|
-
// Enrich with costops agent data if available
|
|
358
|
-
if (roiData) {
|
|
359
|
-
const agentRoi = safeString(roiData, 'roi') || safeString(roiData, 'expected_roi');
|
|
360
|
-
const agentPayback = safeString(roiData, 'payback_period') || safeString(roiData, 'payback');
|
|
361
|
-
const agentCost = safeString(roiData, 'total_cost') || safeString(roiData, 'estimated_cost');
|
|
362
|
-
if (agentRoi && !roi)
|
|
363
|
-
lines.push(`- **Expected ROI:** ${agentRoi}`);
|
|
364
|
-
if (agentPayback && !payback)
|
|
365
|
-
lines.push(`- **Payback Period:** ${agentPayback}`);
|
|
366
|
-
if (agentCost && !budget)
|
|
367
|
-
lines.push(`- **Estimated Cost:** ${agentCost}`);
|
|
368
|
-
const insights = synthesizeAgentInsights(roiData, 'costops-roi');
|
|
369
|
-
if (insights.length > 0 && insights.some(l => l.trim().length > 0))
|
|
370
|
-
lines.push('', ...insights);
|
|
371
|
-
}
|
|
372
|
-
if (tradeoffData) {
|
|
373
|
-
lines.push('', '**Cost-Quality Tradeoff:**');
|
|
374
|
-
const insights = synthesizeAgentInsights(tradeoffData, 'costops-tradeoff');
|
|
375
|
-
lines.push(...insights);
|
|
376
|
-
}
|
|
390
|
+
// Financial Impact
|
|
391
|
+
lines.push('## Financial Impact', '');
|
|
392
|
+
if (fin.hasData) {
|
|
393
|
+
lines.push('| Metric | Value |', '|--------|-------|');
|
|
394
|
+
if (fin.budget)
|
|
395
|
+
lines.push(`| Total Investment | ${fin.budget} |`);
|
|
396
|
+
if (fin.roi)
|
|
397
|
+
lines.push(`| Expected ROI | ${fin.roi} |`);
|
|
398
|
+
if (fin.npv)
|
|
399
|
+
lines.push(`| 5-Year NPV | ${fin.npv} |`);
|
|
400
|
+
if (fin.payback)
|
|
401
|
+
lines.push(`| Payback Period | ${fin.payback} |`);
|
|
402
|
+
if (fin.revenue)
|
|
403
|
+
lines.push(`| Revenue Impact | ${fin.revenue} |`);
|
|
404
|
+
if (fin.costSavings)
|
|
405
|
+
lines.push(`| Cost Savings | ${fin.costSavings} |`);
|
|
377
406
|
lines.push('');
|
|
378
407
|
}
|
|
379
|
-
lines.push('## Risk Summary', '');
|
|
380
|
-
// Combine simulation risks with platform risk-score agent
|
|
381
|
-
const allRisks = [...riskFactors];
|
|
382
|
-
if (riskScoreData) {
|
|
383
|
-
const agentRisks = safeArray(riskScoreData, 'risk_factors')
|
|
384
|
-
.concat(safeArray(riskScoreData, 'risks'))
|
|
385
|
-
.concat(safeArray(riskScoreData, 'factors'));
|
|
386
|
-
allRisks.push(...agentRisks);
|
|
387
|
-
}
|
|
388
|
-
if (allRisks.length > 0) {
|
|
389
|
-
for (const risk of allRisks) {
|
|
390
|
-
lines.push(`- ${typeof risk === 'string' ? risk : JSON.stringify(risk)}`);
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
408
|
else {
|
|
394
|
-
lines.push('
|
|
409
|
+
lines.push('Financial model to be developed during discovery phase. Key inputs: implementation cost, operational savings, and revenue impact.', '');
|
|
395
410
|
}
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
411
|
+
// Risk Assessment Summary — never empty
|
|
412
|
+
lines.push('## Risk Assessment', '');
|
|
413
|
+
lines.push('| # | Risk | Category | Likelihood | Impact | Mitigation |');
|
|
414
|
+
lines.push('|---|------|----------|-----------|--------|------------|');
|
|
415
|
+
for (let i = 0; i < Math.min(risks.length, 5); i++) {
|
|
416
|
+
const r = risks[i];
|
|
417
|
+
lines.push(`| ${i + 1} | ${r.risk} | ${r.category} | ${r.likelihood} | ${r.impact} | ${r.mitigation} |`);
|
|
400
418
|
}
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
lines.push(`- ${typeof rec === 'object' && rec !== null ? JSON.stringify(rec) : String(rec)}`);
|
|
405
|
-
}
|
|
406
|
-
}
|
|
407
|
-
// ADR-PIPELINE-020: Implementation approach from copilot/planner
|
|
419
|
+
lines.push('');
|
|
420
|
+
// Implementation Approach
|
|
421
|
+
lines.push('## Implementation Approach', '');
|
|
408
422
|
if (plannerData) {
|
|
409
|
-
lines.push('', '## Implementation Approach', '');
|
|
410
423
|
const insights = synthesizeAgentInsights(plannerData, 'copilot-planner');
|
|
411
424
|
lines.push(...insights);
|
|
412
425
|
}
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
lines.push(`*Sources: ${sources.join(', ')}*`);
|
|
426
|
+
else {
|
|
427
|
+
const steps = buildDomainNextSteps(recommendation, extracted);
|
|
428
|
+
for (const step of steps)
|
|
429
|
+
lines.push(step);
|
|
418
430
|
}
|
|
431
|
+
lines.push('');
|
|
432
|
+
// Stakeholder Impact
|
|
433
|
+
lines.push('## Stakeholder Impact', '');
|
|
434
|
+
lines.push('| Stakeholder | Impact | Action Required |');
|
|
435
|
+
lines.push('|-------------|--------|----------------|');
|
|
436
|
+
lines.push(`| Executive Sponsor | Budget approval, strategic alignment | Review financial model and approve pilot scope |`);
|
|
437
|
+
lines.push(`| ${extracted.stakeholders[0] || 'Technology Lead'} | Architecture sign-off | Validate ${primarySystem} integration approach |`);
|
|
438
|
+
lines.push(`| ${extracted.stakeholders[1] || 'Operations Team'} | Process change, pilot participation | Participate in pilot; provide domain expertise |`);
|
|
439
|
+
lines.push(`| ${extracted.stakeholders[2] || 'Compliance / Risk'} | Governance review | Validate audit trail and approval workflow design |`);
|
|
440
|
+
lines.push('');
|
|
441
|
+
// Provenance
|
|
442
|
+
const sources = platformResults.filter(r => r.status >= 200 && r.status < 300).map(r => `${r.domain}/${r.agent}`);
|
|
443
|
+
lines.push('---', '');
|
|
444
|
+
lines.push(`*Sources: ${sources.slice(0, 6).join(', ')}${sources.length > 6 ? ` + ${sources.length - 6} more` : ''}*`);
|
|
419
445
|
lines.push(`*Generated: ${now}*`);
|
|
420
446
|
return lines.join('\n');
|
|
421
447
|
}
|
|
@@ -969,15 +995,27 @@ export function buildRoadmapArtifact(query, simulationResult, platformResults) {
|
|
|
969
995
|
},
|
|
970
996
|
phases: defaultPhases,
|
|
971
997
|
success_criteria: safeArray(simData, 'recommendations').map(r => String(r)),
|
|
972
|
-
|
|
998
|
+
// ADR-PIPELINE-024: Always include domain-appropriate risks
|
|
999
|
+
risk_factors: generateDomainRisks(query, extracted).map(r => ({
|
|
1000
|
+
description: r.risk,
|
|
1001
|
+
category: r.category,
|
|
1002
|
+
likelihood: r.likelihood,
|
|
1003
|
+
impact: r.impact,
|
|
1004
|
+
mitigation: r.mitigation,
|
|
1005
|
+
})),
|
|
973
1006
|
platform_insights: platformResults
|
|
974
1007
|
.filter(r => r.agent === 'executive-summary' && r.status >= 200 && r.status < 300)
|
|
975
1008
|
.map(r => extractSignalPayload(r.response).data)
|
|
976
1009
|
.filter(Boolean),
|
|
977
|
-
// ADR-PIPELINE-020: Enrich roadmap with planner and costops data
|
|
978
1010
|
cost_estimate: extractAgentData(platformResults, 'costops', 'forecast'),
|
|
979
1011
|
implementation_plan: extractAgentData(platformResults, 'copilot', 'planner'),
|
|
980
1012
|
resource_requirements: extractAgentData(platformResults, 'costops', 'budget'),
|
|
1013
|
+
// ADR-PIPELINE-024: Risk gates between phases
|
|
1014
|
+
phase_gates: [
|
|
1015
|
+
{ after_phase: 'phase-1', gate: 'Discovery Complete', criteria: `${primarySystem} API validated, requirements signed off, team resourced`, decision: 'Proceed to build or pivot' },
|
|
1016
|
+
{ after_phase: 'phase-2', gate: 'Prototype Validated', criteria: 'Core functionality demonstrated, integration tested, stakeholder approval', decision: 'Proceed to validation or iterate' },
|
|
1017
|
+
{ after_phase: 'phase-3', gate: 'Pilot Ready', criteria: 'All tests passing, security review complete, operations runbook approved', decision: 'Deploy to production or address gaps' },
|
|
1018
|
+
],
|
|
981
1019
|
};
|
|
982
1020
|
}
|
|
983
1021
|
// ============================================================================
|
|
@@ -988,81 +1026,80 @@ export function buildRiskAssessment(query, simulationResult, platformResults) {
|
|
|
988
1026
|
const simPayload = extractSignalPayload(simulationResult);
|
|
989
1027
|
const simData = simPayload.data ?? {};
|
|
990
1028
|
const successProb = extractSuccessProbability(simData);
|
|
991
|
-
const
|
|
992
|
-
//
|
|
993
|
-
const
|
|
994
|
-
|
|
995
|
-
|
|
1029
|
+
const extracted = extractScenarioFromQuery(query);
|
|
1030
|
+
// ADR-PIPELINE-024: Generate domain risks — never return empty
|
|
1031
|
+
const domainRisks = generateDomainRisks(query, extracted);
|
|
1032
|
+
// Enrich with agent-sourced risks
|
|
1033
|
+
const riskAgentData = extractAgentData(platformResults, 'platform', 'risk-score');
|
|
996
1034
|
const sentinelAgents = extractAgentsByDomain(platformResults, 'sentinel');
|
|
997
1035
|
const shieldAgents = extractAgentsByDomain(platformResults, 'shield');
|
|
998
|
-
const
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1036
|
+
const agentRiskDescriptions = [];
|
|
1037
|
+
if (riskAgentData) {
|
|
1038
|
+
for (const r of safeArray(riskAgentData, 'risk_factors').concat(safeArray(riskAgentData, 'risks'))) {
|
|
1039
|
+
agentRiskDescriptions.push(typeof r === 'string' ? r : safeString(r, 'description') || JSON.stringify(r));
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
for (const r of safeArray(simData, 'risk_factors')) {
|
|
1043
|
+
agentRiskDescriptions.push(typeof r === 'string' ? r : JSON.stringify(r));
|
|
1044
|
+
}
|
|
1007
1045
|
for (const agent of sentinelAgents) {
|
|
1008
1046
|
const data = extractSignalPayload(agent.response).data;
|
|
1009
1047
|
if (data) {
|
|
1010
|
-
const
|
|
1011
|
-
|
|
1012
|
-
allRiskFactors.push(typeof finding === 'string' ? finding : finding);
|
|
1048
|
+
for (const f of safeArray(data, 'findings').concat(safeArray(data, 'anomalies'))) {
|
|
1049
|
+
agentRiskDescriptions.push(typeof f === 'string' ? f : JSON.stringify(f));
|
|
1013
1050
|
}
|
|
1014
1051
|
}
|
|
1015
1052
|
}
|
|
1016
|
-
//
|
|
1053
|
+
// Merge agent risks into domain risks (avoid duplicates)
|
|
1054
|
+
for (const desc of agentRiskDescriptions) {
|
|
1055
|
+
if (desc && !domainRisks.some(r => r.risk.toLowerCase().includes(desc.toLowerCase().slice(0, 30)))) {
|
|
1056
|
+
domainRisks.push({
|
|
1057
|
+
risk: desc, category: 'Agent-Identified', likelihood: 'Medium', impact: 'Medium', score: 4,
|
|
1058
|
+
mitigation: 'To be assessed during discovery phase',
|
|
1059
|
+
});
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
const maxScore = domainRisks[0]?.score ?? 0;
|
|
1063
|
+
const overallRisk = maxScore >= 6 ? 'MEDIUM' : maxScore >= 3 ? 'LOW-MEDIUM' : 'LOW';
|
|
1064
|
+
// Security findings
|
|
1017
1065
|
const securityFindings = [];
|
|
1018
1066
|
for (const agent of shieldAgents) {
|
|
1019
1067
|
const data = extractSignalPayload(agent.response).data;
|
|
1020
|
-
if (data)
|
|
1021
|
-
|
|
1022
|
-
securityFindings.push(...findings);
|
|
1023
|
-
}
|
|
1024
|
-
}
|
|
1025
|
-
// Extract observatory health data
|
|
1026
|
-
const healthFindings = [];
|
|
1027
|
-
for (const agent of observatoryAgents) {
|
|
1028
|
-
const data = extractSignalPayload(agent.response).data;
|
|
1029
|
-
if (data) {
|
|
1030
|
-
const findings = safeArray(data, 'findings').concat(safeArray(data, 'failures')).concat(safeArray(data, 'health_issues'));
|
|
1031
|
-
healthFindings.push(...findings);
|
|
1032
|
-
}
|
|
1068
|
+
if (data)
|
|
1069
|
+
securityFindings.push(...safeArray(data, 'findings').concat(safeArray(data, 'vulnerabilities')));
|
|
1033
1070
|
}
|
|
1034
1071
|
return {
|
|
1035
|
-
metadata: {
|
|
1036
|
-
title: `Risk Assessment: ${query}`,
|
|
1037
|
-
version: '1.0.0',
|
|
1038
|
-
created: now,
|
|
1039
|
-
},
|
|
1072
|
+
metadata: { title: `Risk Assessment: ${distillProblemStatement(query)}`, version: '2.0.0', created: now },
|
|
1040
1073
|
overall_risk_level: overallRisk,
|
|
1041
1074
|
success_probability: successProb,
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1075
|
+
risk_register: domainRisks.map((r, i) => ({
|
|
1076
|
+
id: `RISK-${String(i + 1).padStart(3, '0')}`,
|
|
1077
|
+
description: r.risk,
|
|
1078
|
+
category: r.category,
|
|
1079
|
+
likelihood: r.likelihood,
|
|
1080
|
+
impact: r.impact,
|
|
1081
|
+
score: r.score,
|
|
1082
|
+
mitigation: r.mitigation,
|
|
1083
|
+
owner: r.category === 'Technical' ? 'Engineering Lead' : r.category === 'Organizational' ? 'Program Manager' : r.category === 'Regulatory' ? 'Compliance Officer' : r.category === 'Financial' ? 'Finance Lead' : 'Project Manager',
|
|
1084
|
+
status: 'open',
|
|
1085
|
+
})),
|
|
1086
|
+
risk_heat_map: {
|
|
1087
|
+
high_likelihood_high_impact: domainRisks.filter(r => r.likelihood === 'High' && r.impact === 'High').map(r => r.risk),
|
|
1088
|
+
high_likelihood_medium_impact: domainRisks.filter(r => r.likelihood === 'High' && r.impact === 'Medium').map(r => r.risk),
|
|
1089
|
+
medium_likelihood_high_impact: domainRisks.filter(r => r.likelihood === 'Medium' && r.impact === 'High').map(r => r.risk),
|
|
1090
|
+
medium_likelihood_medium_impact: domainRisks.filter(r => r.likelihood === 'Medium' && r.impact === 'Medium').map(r => r.risk),
|
|
1091
|
+
low_likelihood_high_impact: domainRisks.filter(r => r.likelihood === 'Low' && r.impact === 'High').map(r => r.risk),
|
|
1092
|
+
},
|
|
1049
1093
|
security_findings: securityFindings.length > 0 ? securityFindings : null,
|
|
1050
|
-
health_findings: healthFindings.length > 0 ? healthFindings : null,
|
|
1051
|
-
sentinel_analysis: sentinelAgents.length > 0 ? sentinelAgents.map(a => ({
|
|
1052
|
-
agent: a.agent,
|
|
1053
|
-
data: extractSignalPayload(a.response).data,
|
|
1054
|
-
})) : null,
|
|
1055
1094
|
mitigation_strategy: {
|
|
1056
|
-
immediate:
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
ongoing: ['Continuous monitoring during implementation', 'Regular stakeholder reviews'],
|
|
1095
|
+
immediate: domainRisks.filter(r => r.score >= 6).map(r => r.mitigation),
|
|
1096
|
+
short_term: domainRisks.filter(r => r.score >= 3 && r.score < 6).map(r => r.mitigation),
|
|
1097
|
+
ongoing: ['Continuous risk monitoring during implementation', 'Quarterly risk review with stakeholders', 'Automated alerting for technical risks'],
|
|
1060
1098
|
},
|
|
1061
1099
|
sources: [
|
|
1062
1100
|
riskAgentData && 'platform/risk-score',
|
|
1063
1101
|
...sentinelAgents.map(a => `sentinel/${a.agent}`),
|
|
1064
1102
|
...shieldAgents.map(a => `shield/${a.agent}`),
|
|
1065
|
-
...observatoryAgents.map(a => `observatory/${a.agent}`),
|
|
1066
1103
|
].filter(Boolean),
|
|
1067
1104
|
};
|
|
1068
1105
|
}
|
|
@@ -1072,16 +1109,17 @@ export function buildRiskAssessment(query, simulationResult, platformResults) {
|
|
|
1072
1109
|
export function renderFinancialAnalysis(query, simulationResult, platformResults) {
|
|
1073
1110
|
const now = new Date().toISOString();
|
|
1074
1111
|
const problemStatement = distillProblemStatement(query);
|
|
1075
|
-
// Extract from simulation result first (primary source)
|
|
1076
1112
|
const simPayload = extractSignalPayload(simulationResult);
|
|
1077
1113
|
const simData = simPayload.data ?? {};
|
|
1078
|
-
const
|
|
1079
|
-
|
|
1114
|
+
const fin = extractFinancials(simData, platformResults);
|
|
1115
|
+
const successProb = extractSuccessProbability(simData);
|
|
1116
|
+
const extracted = extractScenarioFromQuery(query);
|
|
1080
1117
|
const roiData = extractAgentData(platformResults, 'costops', 'roi');
|
|
1081
1118
|
const forecastData = extractAgentData(platformResults, 'costops', 'forecast');
|
|
1082
1119
|
const attributionData = extractAgentData(platformResults, 'costops', 'attribution');
|
|
1083
1120
|
const budgetData = extractAgentData(platformResults, 'costops', 'budget');
|
|
1084
1121
|
const tradeoffData = extractAgentData(platformResults, 'costops', 'tradeoff');
|
|
1122
|
+
// ADR-PIPELINE-024: Never output "pending" — always produce a model
|
|
1085
1123
|
const lines = [
|
|
1086
1124
|
'# Financial Analysis',
|
|
1087
1125
|
'',
|
|
@@ -1090,36 +1128,30 @@ export function renderFinancialAnalysis(query, simulationResult, platformResults
|
|
|
1090
1128
|
'',
|
|
1091
1129
|
'---',
|
|
1092
1130
|
'',
|
|
1131
|
+
'## Investment Summary', '',
|
|
1132
|
+
'| Metric | Value |',
|
|
1133
|
+
'|--------|-------|',
|
|
1134
|
+
`| Total Investment | ${fin.budget || 'To be quantified during discovery'} |`,
|
|
1135
|
+
`| Expected ROI | ${fin.roi || `Based on ${(successProb * 100).toFixed(0)}% success probability`} |`,
|
|
1136
|
+
`| 5-Year NPV | ${fin.npv || 'To be modeled based on pilot results'} |`,
|
|
1137
|
+
`| Payback Period | ${fin.payback || 'Projected 12-18 months (industry benchmark)'} |`,
|
|
1138
|
+
`| Revenue / Savings Impact | ${fin.revenue || fin.costSavings || 'To be quantified'} |`,
|
|
1139
|
+
'',
|
|
1093
1140
|
];
|
|
1094
|
-
// Simulation-sourced financial summary
|
|
1095
|
-
const simBudget = safeString(simData, 'budget') || safeString(simData, 'investment') || (financialModel ? safeString(financialModel, 'budget') || safeString(financialModel, 'total_investment') : '');
|
|
1096
|
-
const simRoi = safeString(simData, 'roi') || safeString(simData, 'expected_roi') || (financialModel ? safeString(financialModel, 'roi') : '');
|
|
1097
|
-
const simNpv = safeString(simData, 'npv') || safeString(simData, 'net_present_value') || (financialModel ? safeString(financialModel, 'npv') : '');
|
|
1098
|
-
const simPaybackPeriod = safeString(simData, 'payback_period') || safeString(simData, 'payback') || (financialModel ? safeString(financialModel, 'payback_period') : '');
|
|
1099
|
-
if (simBudget || simRoi || simNpv || simPaybackPeriod) {
|
|
1100
|
-
lines.push('## Financial Summary (from Simulation)', '');
|
|
1101
|
-
lines.push('| Metric | Value |', '|--------|-------|');
|
|
1102
|
-
if (simBudget)
|
|
1103
|
-
lines.push(`| Total Investment | ${simBudget} |`);
|
|
1104
|
-
if (simRoi)
|
|
1105
|
-
lines.push(`| Expected ROI | ${simRoi} |`);
|
|
1106
|
-
if (simNpv)
|
|
1107
|
-
lines.push(`| 5-Year NPV | ${simNpv} |`);
|
|
1108
|
-
if (simPaybackPeriod)
|
|
1109
|
-
lines.push(`| Payback Period | ${simPaybackPeriod} |`);
|
|
1110
|
-
lines.push('');
|
|
1111
|
-
}
|
|
1112
1141
|
// ROI Analysis
|
|
1113
1142
|
lines.push('## Return on Investment', '');
|
|
1114
1143
|
if (roiData) {
|
|
1115
1144
|
const insights = synthesizeAgentInsights(roiData, 'costops-roi');
|
|
1116
1145
|
lines.push(...insights);
|
|
1117
1146
|
}
|
|
1118
|
-
else if (
|
|
1119
|
-
lines.push(`
|
|
1147
|
+
else if (fin.roi || fin.payback) {
|
|
1148
|
+
lines.push(`The projected ROI of ${fin.roi || 'this initiative'} is based on simulation modeling ` +
|
|
1149
|
+
`with ${(successProb * 100).toFixed(0)}% confidence. ${fin.payback ? `Expected payback period: ${fin.payback}.` : ''} ` +
|
|
1150
|
+
`These projections should be validated against actual operational data during the pilot phase.`, '');
|
|
1120
1151
|
}
|
|
1121
1152
|
else {
|
|
1122
|
-
lines.push(
|
|
1153
|
+
lines.push(`ROI to be quantified during the discovery phase based on actual ${extracted.systems[0] || 'operational'} data. ` +
|
|
1154
|
+
`Industry benchmarks for ${extracted.scenario_type.replace(/-/g, ' ')} initiatives suggest 12-24 month payback periods.`, '');
|
|
1123
1155
|
}
|
|
1124
1156
|
// Cost Forecast
|
|
1125
1157
|
lines.push('## Cost Forecast', '');
|
|
@@ -1128,7 +1160,7 @@ export function renderFinancialAnalysis(query, simulationResult, platformResults
|
|
|
1128
1160
|
lines.push(...insights);
|
|
1129
1161
|
}
|
|
1130
1162
|
else {
|
|
1131
|
-
lines.push(
|
|
1163
|
+
lines.push(`Cost projections to be developed during discovery phase based on ${extracted.systems[0] || 'platform'} implementation scope and resource requirements.`, '');
|
|
1132
1164
|
}
|
|
1133
1165
|
// Cost Attribution
|
|
1134
1166
|
lines.push('## Cost Attribution', '');
|
|
@@ -1137,7 +1169,7 @@ export function renderFinancialAnalysis(query, simulationResult, platformResults
|
|
|
1137
1169
|
lines.push(...insights);
|
|
1138
1170
|
}
|
|
1139
1171
|
else {
|
|
1140
|
-
lines.push('
|
|
1172
|
+
lines.push('Typical cost distribution for enterprise implementations: Development (35-40%), Infrastructure (20-25%), Integration (15-20%), Operations & Support (15-20%). Actual breakdown to be refined during planning.', '');
|
|
1141
1173
|
}
|
|
1142
1174
|
// Budget Allocation
|
|
1143
1175
|
lines.push('## Budget Allocation', '');
|
|
@@ -1146,7 +1178,7 @@ export function renderFinancialAnalysis(query, simulationResult, platformResults
|
|
|
1146
1178
|
lines.push(...insights);
|
|
1147
1179
|
}
|
|
1148
1180
|
else {
|
|
1149
|
-
lines.push('
|
|
1181
|
+
lines.push('Budget allocation to be determined based on pilot scope and organizational resource availability. Recommended approach: 60% development, 25% infrastructure, 15% contingency.', '');
|
|
1150
1182
|
}
|
|
1151
1183
|
// Cost-Quality Tradeoff
|
|
1152
1184
|
lines.push('## Cost-Quality Tradeoff Analysis', '');
|
|
@@ -1155,11 +1187,26 @@ export function renderFinancialAnalysis(query, simulationResult, platformResults
|
|
|
1155
1187
|
lines.push(...insights);
|
|
1156
1188
|
}
|
|
1157
1189
|
else {
|
|
1158
|
-
lines.push('
|
|
1190
|
+
lines.push('Cost-quality tradeoff analysis to be conducted during pilot phase. Key tradeoff dimensions: implementation speed vs. feature completeness, custom development vs. platform capabilities, pilot scope vs. enterprise coverage.', '');
|
|
1159
1191
|
}
|
|
1160
1192
|
const sources = [roiData && 'costops/roi', forecastData && 'costops/forecast', attributionData && 'costops/attribution', budgetData && 'costops/budget', tradeoffData && 'costops/tradeoff'].filter(Boolean);
|
|
1161
1193
|
lines.push('---', '');
|
|
1162
|
-
|
|
1194
|
+
// Scenario Analysis
|
|
1195
|
+
lines.push('## Scenario Analysis', '');
|
|
1196
|
+
lines.push('| Scenario | Assumption | Investment | ROI | Probability |');
|
|
1197
|
+
lines.push('|----------|-----------|-----------|-----|------------|');
|
|
1198
|
+
if (fin.hasData) {
|
|
1199
|
+
lines.push(`| **Base Case** | Plan executes as modeled | ${fin.budget || 'TBD'} | ${fin.roi || 'Projected'} | 50% |`);
|
|
1200
|
+
lines.push(`| Optimistic | Faster adoption, lower integration costs | ${fin.budget ? fin.budget + ' (-20%)' : 'TBD'} | ${fin.roi ? fin.roi + ' (+30%)' : 'Above base'} | 25% |`);
|
|
1201
|
+
lines.push(`| Pessimistic | Slower adoption, scope growth | ${fin.budget ? fin.budget + ' (+40%)' : 'TBD'} | ${fin.roi ? 'Reduced' : 'Below base'} | 25% |`);
|
|
1202
|
+
}
|
|
1203
|
+
else {
|
|
1204
|
+
lines.push('| Base Case | Standard implementation | To be quantified | Industry benchmark | 50% |');
|
|
1205
|
+
lines.push('| Optimistic | Accelerated timeline | -20% of base | Above benchmark | 25% |');
|
|
1206
|
+
lines.push('| Pessimistic | Extended timeline | +40% of base | Below benchmark | 25% |');
|
|
1207
|
+
}
|
|
1208
|
+
lines.push('', '*Scenario analysis assumes ±20% cost variance and ±30% timeline variance from base case.*', '');
|
|
1209
|
+
lines.push(`*Sources: ${sources.length > 0 ? sources.join(', ') : 'simulation data + industry benchmarks'}*`);
|
|
1163
1210
|
lines.push(`*Generated: ${now}*`);
|
|
1164
1211
|
return lines.join('\n');
|
|
1165
1212
|
}
|
|
@@ -1192,7 +1239,7 @@ export function renderSecurityAssessment(query, _simulationResult, platformResul
|
|
|
1192
1239
|
}
|
|
1193
1240
|
}
|
|
1194
1241
|
else {
|
|
1195
|
-
lines.push('
|
|
1242
|
+
lines.push('Security assessment to be conducted during discovery phase. Key areas: data protection (PII handling), authentication/authorization model, secret management, and compliance with applicable regulatory frameworks.', '');
|
|
1196
1243
|
}
|
|
1197
1244
|
lines.push('## Governance & Compliance', '');
|
|
1198
1245
|
if (govAgents.length > 0) {
|
|
@@ -1206,7 +1253,7 @@ export function renderSecurityAssessment(query, _simulationResult, platformResul
|
|
|
1206
1253
|
}
|
|
1207
1254
|
}
|
|
1208
1255
|
else {
|
|
1209
|
-
lines.push('
|
|
1256
|
+
lines.push('Governance framework to be defined during discovery phase. Recommended controls: role-based access, audit trail for all decisions, approval workflows for operational changes, and separation of duties between analysis and execution.', '');
|
|
1210
1257
|
}
|
|
1211
1258
|
const sources = [...shieldAgents.map(a => `shield/${a.agent}`), ...govAgents.map(a => `governance-dashboard/${a.agent}`)];
|
|
1212
1259
|
lines.push('---', '');
|
|
@@ -1245,7 +1292,7 @@ export function renderIntegrationAssessment(query, _simulationResult, platformRe
|
|
|
1245
1292
|
}
|
|
1246
1293
|
}
|
|
1247
1294
|
else {
|
|
1248
|
-
lines.push(
|
|
1295
|
+
lines.push(`Integration assessment to be completed during technical spike. Key considerations: API authentication, rate limits, data format compatibility, error handling, and retry strategy for ${extracted.systems[0] || 'the target platform'}.`, '');
|
|
1249
1296
|
}
|
|
1250
1297
|
lines.push('## Edge & Resilience Patterns', '');
|
|
1251
1298
|
if (edgeAgents.length > 0) {
|
|
@@ -1259,7 +1306,7 @@ export function renderIntegrationAssessment(query, _simulationResult, platformRe
|
|
|
1259
1306
|
}
|
|
1260
1307
|
}
|
|
1261
1308
|
else {
|
|
1262
|
-
lines.push('
|
|
1309
|
+
lines.push('Resilience patterns (circuit breakers, retry with backoff, failover) to be implemented during the build phase based on integration assessment findings.', '');
|
|
1263
1310
|
}
|
|
1264
1311
|
const sources = [...connectorAgents.map(a => `connector-hub/${a.agent}`), ...edgeAgents.map(a => `edge/${a.agent}`)];
|
|
1265
1312
|
lines.push('---', '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation-renderers.js","sourceRoot":"","sources":["../../src/synthesis/simulation-renderers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simulation-renderers.js","sourceRoot":"","sources":["../../src/synthesis/simulation-renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkBH,+EAA+E;AAC/E,uDAAuD;AACvD,+EAA+E;AAE/E,SAAS,OAAO,CAAC,GAAY,EAAE,GAAG,IAAc;IAC9C,IAAI,OAAO,GAAY,GAAG,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC/F,OAAO,GAAI,OAAmC,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,GAAY,EAAE,GAAG,IAAc;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAClC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5C,CAAC;AAED,SAAS,UAAU,CAAC,GAAY,EAAE,GAAG,IAAc;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAClC,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,GAAY,EAAE,GAAG,IAAc;IAChD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,+EAA+E;AAC/E,sDAAsD;AACtD,+EAA+E;AAE/E,+DAA+D;AAC/D,SAAS,qBAAqB,CAAC,OAAsB,EAAE,MAAc;IACnE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AACvF,CAAC;AAED,kFAAkF;AAClF,SAAS,gBAAgB,CAAC,OAAsB,EAAE,MAAc,EAAE,KAAa;IAC7E,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IAC3G,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAA4B,CAAC;AACjE,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,mBAAmB,CAAC,OAAsB;IAMxD,MAAM,eAAe,GAAwE,EAAE,CAAC;IAChG,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC;QACrC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACtC,CAAC,CAAC,OAAO,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,CAAC,CAAC,IAAI,EAAE,CAAC;YACT,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;AAC/E,CAAC;AAED,+EAA+E;AAC/E,oDAAoD;AACpD,+EAA+E;AAE/E,SAAS,oBAAoB,CAAC,QAAiB;IAC7C,sEAAsE;IACtE,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7D,IAAI,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,aAA8B,CAAC;IACxC,CAAC;IACD,2CAA2C;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvD,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,UAAqC,EAAE,CAAC;IACzD,CAAC;IACD,0CAA0C;IAC1C,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,EAAE,IAAI,EAAE,QAAmC,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,+EAA+E;AAC/E,gFAAgF;AAChF,+EAA+E;AAE/E;;;;GAIG;AACH,SAAS,yBAAyB,CAAC,OAAgC;IACjE,6CAA6C;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,qBAAqB,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IACnH,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9C,8EAA8E;IAC9E,sFAAsF;IACtF,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,OAAO,CAA4B,CAAC;IAC9F,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAwC,CAAC;IACpF,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IAEtB,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAClF,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAE9E,uCAAuC;IACvC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,GAAG,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;SAAM,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACpD,CAAC;IAED,mFAAmF;IACnF,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IAED,0DAA0D;IAC1D,yFAAyF;IACzF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAgBD,SAAS,iBAAiB,CAAC,OAAgC,EAAE,eAA8B;IACzF,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAwC,CAAC;IAC5J,MAAM,QAAQ,GAAG,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE/E,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7S,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5M,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1N,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,gBAAgB,CAAC,IAAI,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3S,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5L,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjL,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,IAAI,WAAW,CAAC,EAAE,CAAC;AACrI,CAAC;AAWD;;;GAGG;AACH,SAAS,mBAAmB,CAAC,KAAa,EAAE,SAA4B;IACtE,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC;IAE1D,0BAA0B;IAC1B,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,oCAAoC,aAAa,uCAAuC;QAC9F,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAChE,UAAU,EAAE,6FAA6F;KAC1G,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,GAAG,aAAa,2EAA2E;QACjG,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACrE,UAAU,EAAE,+BAA+B,aAAa,0CAA0C;KACnG,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,iDAAiD;QACvD,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnE,UAAU,EAAE,yFAAyF;KACtG,CAAC,CAAC;IAEH,uBAAuB;IACvB,IAAI,2DAA2D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,oFAAoF;YAC1F,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAC1E,UAAU,EAAE,6FAA6F;SAC1G,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;IACrB,IAAI,yFAAyF,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,4GAA4G;YAClH,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACtE,UAAU,EAAE,0FAA0F;SACvG,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,IAAI,+DAA+D,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,wFAAwF;YAC9F,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAClE,UAAU,EAAE,mGAAmG;SAChH,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,IAAI,kDAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,0HAA0H;YAChI,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACvE,UAAU,EAAE,qFAAqF;SAClG,CAAC,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,2FAA2F;QACjG,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClE,UAAU,EAAE,mFAAmF;KAChG,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED,+EAA+E;AAC/E,mEAAmE;AACnE,+EAA+E;AAE/E,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,gBAAyB,EACzB,eAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,aAAa,CAAC;IAC9G,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC;IAEpE,IAAI,cAAc,GAAG,OAAO,CAAC;IAC7B,IAAI,SAAS,GAAG,2DAA2D,CAAC;IAC5E,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QACvB,cAAc,GAAG,SAAS,CAAC;QAC3B,SAAS,GAAG,8CAA8C,aAAa,eAAe,CAAC;IACzF,CAAC;SAAM,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QAC9B,cAAc,GAAG,qBAAqB,CAAC;QACvC,SAAS,GAAG,kFAAkF,CAAC;IACjG,CAAC;IAED,6DAA6D;IAC7D,MAAM,KAAK,GAAa;QACtB,qBAAqB;QACrB,EAAE;QACF,aAAa,GAAG,EAAE;QAClB,EAAE;QACF,KAAK;QACL,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,KAAK,cAAc,QAAQ,SAAS,EAAE;KACvC,CAAC;IAEF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,aAAa,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,OAAO;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC;QAC5D,IAAI,GAAG,CAAC,GAAG;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;QACvD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAElG,qCAAqC;IACrC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,GAAG,gBAAgB,oEAAoE;QAChG,+FAA+F;QAC/F,8CAA8C,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG;QACxJ,OAAO,aAAa,yBAAyB,EAAE,EAAE,CAAC,CAAC;IAErD,4CAA4C;IAC5C,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,GAAG,CAAC,GAAG;QAAE,QAAQ,CAAC,IAAI,CAAC,qCAAqC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAC3E,IAAI,GAAG,CAAC,WAAW;QAAE,QAAQ,CAAC,IAAI,CAAC,6BAA6B,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACnF,IAAI,GAAG,CAAC,OAAO;QAAE,QAAQ,CAAC,IAAI,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7E,sBAAsB;IACtB,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;IACrF,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;QAC/F,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACrC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAA4B,EAAE,aAAa,CAAC,IAAI,UAAU,CAAC,CAA4B,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACzK,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,6CAA6C,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,8CAA8C,CAAC,CAAC,CAAC,mCAAmC,EAAE,CAAC,CAAC;IACtM,QAAQ,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;IACvG,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,mBAAmB;IACnB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;IAClF,KAAK,CAAC,IAAI,CAAC,yBAAyB,SAAS,QAAQ,QAAQ,CAAC,MAAM,mCAAmC,EAAE,EAAE,CAAC,CAAC;IAC7G,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,UAAU,gBAAgB,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,sCAAsC;IACtC,KAAK,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,aAAa;IACb,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAClH,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvH,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,MAAM,UAAU,kBAAkB,CAChC,KAAa,EACb,gBAAyB,EACzB,eAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC;IACpE,MAAM,WAAW,GAAG,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAE5E,IAAI,cAAc,GAAG,OAAO,CAAC;IAC7B,IAAI,SAAS,GAAG,2DAA2D,CAAC;IAC5E,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QACvB,cAAc,GAAG,SAAS,CAAC;QAC3B,SAAS,GAAG,iFAAiF,CAAC;IAChG,CAAC;SAAM,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QAC9B,cAAc,GAAG,qBAAqB,CAAC;QACvC,SAAS,GAAG,uHAAuH,CAAC;IACtI,CAAC;IAED,gDAAgD;IAChD,MAAM,KAAK,GAAa;QACtB,iBAAiB;QACjB,EAAE;QACF,aAAa,GAAG,EAAE;QAClB,gBAAgB,gBAAgB,EAAE;QAClC,oDAAoD,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,2BAA2B,EAAE;QACvH,EAAE;QACF,KAAK;QACL,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,KAAK,cAAc,QAAQ,SAAS,EAAE;QACtC,EAAE;QACF,wBAAwB,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;QACzD,EAAE;QAEF,mBAAmB;QACnB,qBAAqB,EAAE,EAAE;QACzB,6BAA6B,gBAAgB,CAAC,WAAW,EAAE,IAAI;YAC/D,uFAAuF;YACvF,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,yBAAyB,IAAI;YACjF,GAAG,aAAa,oFAAoF;QACpG,EAAE;QAEF,qBAAqB;QACrB,uBAAuB,EAAE,EAAE;QAC3B,gFAAgF;QAChF,8EAA8E;QAC9E,4DAA4D,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,MAAM,GAAG,CAAC,MAAM,IAAI,KAAK,uDAAuD;QAC/M,iEAAiE,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,MAAM,IAAI,KAAK,MAAM,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,aAAa,sCAAsC;QACtQ,6GAA6G;QAC7G,EAAE;KACH,CAAC;IAEF,mBAAmB;IACnB,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,GAAG;YAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACnE,IAAI,GAAG,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,mIAAmI,EAAE,EAAE,CAAC,CAAC;IACtJ,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;IAC3G,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,0BAA0B;IAC1B,KAAK,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,qBAAqB;IACrB,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,+GAA+G,CAAC,CAAC;IAC5H,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,iBAAiB,uCAAuC,aAAa,yBAAyB,CAAC,CAAC;IAC7I,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,iBAAiB,2FAA2F,CAAC,CAAC;IAC3J,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,mBAAmB,4EAA4E,CAAC,CAAC;IAC9I,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,aAAa;IACb,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAClH,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACvH,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAoBD,oDAAoD;AACpD,MAAM,eAAe,GAA4B;IAC/C,CAAC,cAAc,EAAE,SAAS,CAAC;IAC3B,CAAC,wBAAwB,EAAE,aAAa,CAAC;IACzC,CAAC,UAAU,EAAE,KAAK,CAAC;IACnB,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,2CAA2C,EAAE,QAAQ,CAAC;IACvD,CAAC,iBAAiB,EAAE,YAAY,CAAC;IACjC,CAAC,iBAAiB,EAAE,YAAY,CAAC;IACjC,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;IAC5C,CAAC,WAAW,EAAE,MAAM,CAAC;IACrB,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC/B,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,sBAAsB,EAAE,YAAY,CAAC;IACtC,CAAC,cAAc,EAAE,SAAS,CAAC;IAC3B,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,oBAAoB,EAAE,eAAe,CAAC;IACvC,CAAC,qBAAqB,EAAE,cAAc,CAAC;IACvC,CAAC,UAAU,EAAE,KAAK,CAAC;IACnB,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,kBAAkB,EAAE,WAAW,CAAC;IACjC,CAAC,wBAAwB,EAAE,iBAAiB,CAAC;IAC7C,CAAC,sBAAsB,EAAE,SAAS,CAAC;IACnC,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,sBAAsB,EAAE,eAAe,CAAC;IACzC,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,yBAAyB,EAAE,kBAAkB,CAAC;IAC/C,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,aAAa,EAAE,QAAQ,CAAC;CAC1B,CAAC;AAEF,sEAAsE;AACtE,MAAM,kBAAkB,GAAgD;IACtE,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAChK,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACjI,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC/I,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE;IAClI,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,oBAAoB,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAC/H,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAC1H,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE;IAClI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACtG,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACtH,EAAE,QAAQ,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE;IACvH,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE;CAC/F,CAAC;AAEF,2DAA2D;AAC3D,MAAM,oBAAoB,GAA4B;IACpD,CAAC,gEAAgE,EAAE,eAAe,CAAC;IACnF,CAAC,kBAAkB,EAAE,eAAe,CAAC;IACrC,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAClC,CAAC,mCAAmC,EAAE,sBAAsB,CAAC;IAC7D,CAAC,wCAAwC,EAAE,eAAe,CAAC;IAC3D,CAAC,+CAA+C,EAAE,WAAW,CAAC;IAC9D,CAAC,6CAA6C,EAAE,iBAAiB,CAAC;IAClE,CAAC,6CAA6C,EAAE,cAAc,CAAC;IAC/D,CAAC,2CAA2C,EAAE,eAAe,CAAC;IAC9D,CAAC,6CAA6C,EAAE,iBAAiB,CAAC;IAClE,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IACvC,CAAC,mBAAmB,EAAE,WAAW,CAAC;IAClC,CAAC,sBAAsB,EAAE,cAAc,CAAC;IACxC,CAAC,qCAAqC,EAAE,oBAAoB,CAAC;IAC7D,CAAC,oBAAoB,EAAE,YAAY,CAAC;IACpC,CAAC,kBAAkB,EAAE,UAAU,CAAC;CACjC,CAAC;AAEF,qDAAqD;AACrD,MAAM,kBAAkB,GAAG;IACzB,+IAA+I;IAC/I,8JAA8J;IAC9J,6BAA6B;IAC7B,wEAAwE;IACxE,8CAA8C;CAC/C,CAAC;AAEF,uCAAuC;AACvC,MAAM,eAAe,GAAG;IACtB,iFAAiF;IACjF,2EAA2E;IAC3E,4FAA4F;IAC5F,kEAAkE;CACnE,CAAC;AAEF,iEAAiE;AACjE,MAAM,eAAe,GAA4B;IAC/C,CAAC,wCAAwC,EAAE,mBAAmB,CAAC;IAC/D,CAAC,uBAAuB,EAAE,eAAe,CAAC;IAC1C,CAAC,6CAA6C,EAAE,gBAAgB,CAAC;IACjE,CAAC,gDAAgD,EAAE,iBAAiB,CAAC;IACrE,CAAC,+BAA+B,EAAE,mBAAmB,CAAC;IACtD,CAAC,0BAA0B,EAAE,kBAAkB,CAAC;IAChD,CAAC,uCAAuC,EAAE,kBAAkB,CAAC;IAC7D,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;IAC5C,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACjC,CAAC,wDAAwD,EAAE,iBAAiB,CAAC;IAC7E,CAAC,gCAAgC,EAAE,oBAAoB,CAAC;IACxD,CAAC,uBAAuB,EAAE,eAAe,CAAC;IAC1C,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;IAClD,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAC/B,CAAC,2BAA2B,EAAE,eAAe,CAAC;IAC9C,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACjC,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAC7B,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACjC,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACjC,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;IACxC,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,CAAC,6BAA6B,EAAE,iBAAiB,CAAC;IAClD,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACjC,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAC/B,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAC/B,CAAC,yCAAyC,EAAE,aAAa,CAAC;IAC1D,CAAC,gBAAgB,EAAE,OAAO,CAAC;IAC3B,CAAC,oBAAoB,EAAE,WAAW,CAAC;IACnC,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAC7B,CAAC,2CAA2C,EAAE,iBAAiB,CAAC;IAChE,CAAC,6CAA6C,EAAE,cAAc,CAAC;IAC/D,CAAC,4CAA4C,EAAE,iBAAiB,CAAC;IACjE,CAAC,4FAA4F,EAAE,MAAM,CAAC;IACtG,CAAC,0BAA0B,EAAE,aAAa,CAAC;IAC3C,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAC7B,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACjC,qCAAqC;IACrC,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC/B,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC/B,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;IACpD,CAAC,uBAAuB,EAAE,WAAW,CAAC;IACtC,CAAC,+BAA+B,EAAE,iBAAiB,CAAC;IACpD,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAC/B,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;IAC1C,CAAC,uBAAuB,EAAE,eAAe,CAAC;IAC1C,CAAC,0BAA0B,EAAE,iBAAiB,CAAC;IAC/C,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;IACrD,CAAC,qBAAqB,EAAE,aAAa,CAAC;IACtC,CAAC,qCAAqC,EAAE,gBAAgB,CAAC;IACzD,CAAC,UAAU,EAAE,sBAAsB,CAAC;IACpC,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAC9B,CAAC,YAAY,EAAE,OAAO,CAAC;IACvB,CAAC,oBAAoB,EAAE,YAAY,CAAC;IACpC,CAAC,kBAAkB,EAAE,mBAAmB,CAAC;IACzC,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,4CAA4C,EAAE,iBAAiB,CAAC;IACjE,CAAC,oDAAoD,EAAE,YAAY,CAAC;IACpE,CAAC,wBAAwB,EAAE,YAAY,CAAC;IACxC,CAAC,2BAA2B,EAAE,eAAe,CAAC;IAC9C,CAAC,6BAA6B,EAAE,iBAAiB,CAAC;IAClD,CAAC,4CAA4C,EAAE,WAAW,CAAC;IAC3D,CAAC,8BAA8B,EAAE,cAAc,CAAC;IAChD,CAAC,uCAAuC,EAAE,YAAY,CAAC;IACvD,CAAC,oCAAoC,EAAE,aAAa,CAAC;IACrD,CAAC,wCAAwC,EAAE,aAAa,CAAC;IACzD,CAAC,mCAAmC,EAAE,cAAc,CAAC;IACrD,sBAAsB;IACtB,CAAC,cAAc,EAAE,SAAS,CAAC;IAC3B,CAAC,uBAAuB,EAAE,cAAc,CAAC;IACzC,CAAC,2BAA2B,EAAE,eAAe,CAAC;IAC9C,CAAC,mCAAmC,EAAE,aAAa,CAAC;IACpD,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC/B,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACpC,6BAA6B;IAC7B,CAAC,cAAc,EAAE,iBAAiB,CAAC;IACnC,CAAC,kBAAkB,EAAE,SAAS,CAAC;IAC/B,CAAC,wCAAwC,EAAE,mBAAmB,CAAC;IAC/D,CAAC,sCAAsC,EAAE,YAAY,CAAC;IACtD,CAAC,0CAA0C,EAAE,eAAe,CAAC;IAC7D,oBAAoB;IACpB,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;IAC5C,CAAC,yCAAyC,EAAE,aAAa,CAAC;IAC1D,CAAC,oBAAoB,EAAE,WAAW,CAAC;IACnC,CAAC,WAAW,EAAE,cAAc,CAAC;IAC7B,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,yCAAyC,EAAE,gBAAgB,CAAC;CAC9D,CAAC;AAEF,kEAAkE;AAClE,MAAM,kBAAkB,GAAG;IACzB,6DAA6D;IAC7D,uDAAuD;IACvD,2EAA2E;IAC3E,8DAA8D;IAC9D,4CAA4C;IAC5C,8EAA8E;CAC/E,CAAC;AAEF;;;GAGG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,MAAM,GAAG,GAAG;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACtC,8BAA8B;IAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAChE,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,KAAa;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAEvC,4BAA4B;IAC5B,IAAI,YAAY,GAAG,qBAAqB,CAAC;IACzC,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,UAAU,IAAI,kBAAkB,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC/E,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;YACtB,SAAS,GAAG,KAAK,CAAC;YAClB,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC;QACjC,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,oBAAoB,EAAE,CAAC;QAC9C,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1C,4BAA4B;IAC5B,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpC,IAAI,KAA6B,CAAC;QAClC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAChE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACD,mCAAmC;IACnC,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAClH,IAAI,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACxG,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IACvG,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAClG,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACvF,IAAI,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAAE,WAAW,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAExG,kDAAkD;IAClD,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;QACjC,IAAI,KAA6B,CAAC;QAClC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC7D,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACrC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpC,IAAI,KAA6B,CAAC;QAClC,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAC9E,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,YAAY;QAC3B,YAAY;QACZ,WAAW,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACtC,gBAAgB,EAAE,eAAe;QACjC,OAAO;QACP,eAAe,EAAE,cAAc;QAC/B,YAAY;KACb,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAE/E;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,KAAa;IAC5C,0BAA0B;IAC1B,IAAI,OAAO,GAAG,KAAK;SAChB,OAAO,CAAC,yFAAyF,EAAE,EAAE,CAAC;SACtG,OAAO,CAAC,6EAA6E,EAAE,EAAE,CAAC;SAC1F,OAAO,CAAC,iDAAiD,EAAE,EAAE,CAAC;SAC9D,OAAO,CAAC,iDAAiD,EAAE,EAAE,CAAC;SAC9D,IAAI,EAAE,CAAC;IAEV,0BAA0B;IAC1B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;YAClB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,IAA6B,EAAE,SAAiB;IAC/E,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,qDAAqD;IACrD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACxH,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,SAAS,CAAwC,CAAC;IAChF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC5G,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEzE,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAkC,EAAE,aAAa,CAAC,IAAI,UAAU,CAAC,OAAkC,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3M,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5H,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;gBACzC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5E,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,+BAA+B,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9H,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,mEAAmE;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,yBAAyB,SAAS,iEAAiE,CAAC,CAAC;QAChH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,cAAsB,EACtB,SAA4B;IAE5B,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,0BAA0B,CAAC;IACzE,MAAM,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC;IAE5F,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO;YACL,iBAAiB,aAAa,wDAAwD,aAAa,sBAAsB;YACzH,uDAAuD,YAAY,mDAAmD;YACtH,0CAA0C,aAAa,mDAAmD;YAC1G,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBAClC,CAAC,CAAC,CAAC,2CAA2C,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,sCAAsC,CAAC;gBAC7G,CAAC,CAAC,CAAC,sFAAsF,CAAC,CAAC;YAC7F,yCAAyC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,6BAA6B;SACjJ,CAAC;IACJ,CAAC;SAAM,IAAI,cAAc,KAAK,qBAAqB,EAAE,CAAC;QACpD,OAAO;YACL,8GAA8G;YAC9G,QAAQ,aAAa,wGAAwG;YAC7H,0DAA0D,YAAY,iCAAiC;YACvG,iDAAiD,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,eAAe,yBAAyB;YAChJ,iGAAiG;SAClG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,wCAAwC,aAAa,oCAAoC,YAAY,EAAE;QACvG,sEAAsE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE;QACxH,uCAAuC,aAAa,2CAA2C;QAC/F,+EAA+E;KAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,gBAAyB,EACzB,eAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IAEtC,0DAA0D;IAC1D,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO;QACL,QAAQ,EAAE;YACR,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,GAAG;YACZ,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE,8BAA8B;SACvC;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,KAAK;YAClB,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE;YAClE,UAAU,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE;SACrE;QACD,6DAA6D;QAC7D,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,eAAe,EAAE,SAAS,CAAC,eAAe;QAC1C,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,QAAQ,EAAE;YACR,mBAAmB,EAAE,yBAAyB,CAAC,OAAO,CAAC;YACvD,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,QAAQ;YACzD,iBAAiB,EAAE,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC;YAC3D,YAAY,EAAE,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;YAChD,eAAe,EAAE,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC;YACtD,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;SACrD;QACD,iBAAiB,EAAE,eAAe;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;aAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACT,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE;YAC/B,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ;SAC1D,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,MAAM,UAAU,oBAAoB,CAClC,KAAa,EACb,gBAAyB,EACzB,eAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,IAAI,YAAY,CAAC;IAE1E,qEAAqE;IACrE,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACnG,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;IAC5F,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC;IAEpE,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD;YACE,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,6BAA6B,SAAS,CAAC,aAAa,gCAAgC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,KAAK,UAAU,yBAAyB;YACtM,YAAY,EAAE;gBACZ,GAAG,SAAS,CAAC,aAAa,6BAA6B;gBACvD,GAAG,aAAa,6BAA6B;gBAC7C,4BAA4B,UAAU,GAAG;gBACzC,gCAAgC;aACjC;SACF;QACD;YACE,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,QAAQ,SAAS,CAAC,aAAa,wBAAwB,UAAU,cAAc;YACtF,YAAY,EAAE;gBACZ,WAAW,SAAS,CAAC,aAAa,YAAY;gBAC9C,GAAG,aAAa,oBAAoB;gBACpC,GAAG,UAAU,kBAAkB;gBAC/B,4CAA4C;aAC7C;SACF;QACD;YACE,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,2BAA2B,aAAa,+BAA+B,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,EAAE;YAC9J,YAAY,EAAE;gBACZ,iCAAiC,aAAa,EAAE;gBAChD,wBAAwB;gBACxB,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,gBAAgB,EAAE;gBACzF,2BAA2B;aAC5B;SACF;QACD;YACE,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,uBAAuB;YAC7B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,4BAA4B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAgB,qCAAqC;YACnJ,YAAY,EAAE;gBACZ,4BAA4B,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,sBAAsB,EAAE;gBAC/G,oBAAoB;gBACpB,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,MAAM,qBAAqB;gBAC3D,mBAAmB;aACpB;SACF;KACF,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE;YACR,KAAK,EAAE,YAAY,KAAK,EAAE;YAC1B,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,GAAG;YACZ,kBAAkB,EAAE,QAAQ;YAC5B,MAAM,EAAE,OAAO;SAChB;QACD,MAAM,EAAE,aAAa;QACrB,gBAAgB,EAAE,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3E,4DAA4D;QAC5D,YAAY,EAAE,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5D,WAAW,EAAE,CAAC,CAAC,IAAI;YACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC;QACH,iBAAiB,EAAE,eAAe;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,mBAAmB,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC;aACjF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;aAC/C,MAAM,CAAC,OAAO,CAAC;QAClB,aAAa,EAAE,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC;QACvE,mBAAmB,EAAE,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC;QAC5E,qBAAqB,EAAE,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC7E,8CAA8C;QAC9C,WAAW,EAAE;YACX,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,aAAa,yDAAyD,EAAE,QAAQ,EAAE,2BAA2B,EAAE;YAClL,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,2EAA2E,EAAE,QAAQ,EAAE,kCAAkC,EAAE;YAC5L,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,0EAA0E,EAAE,QAAQ,EAAE,sCAAsC,EAAE;SACxL;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,gBAAyB,EACzB,eAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAElD,+DAA+D;IAC/D,MAAM,WAAW,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAE1D,kCAAkC;IAClC,MAAM,aAAa,GAAG,gBAAgB,CAAC,eAAe,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;IAClF,MAAM,cAAc,GAAG,qBAAqB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,qBAAqB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IAEtE,MAAM,qBAAqB,GAAa,EAAE,CAAC;IAC3C,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACnG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAA4B,EAAE,aAAa,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACvI,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;QACnD,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;QACvD,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;gBACjF,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;QACzC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnG,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBAC1F,UAAU,EAAE,uCAAuC;aACpD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpF,oBAAoB;IACpB,MAAM,gBAAgB,GAAc,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;QACvD,IAAI,IAAI;YAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,EAAE,KAAK,EAAE,oBAAoB,uBAAuB,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;QACzG,kBAAkB,EAAE,WAAW;QAC/B,mBAAmB,EAAE,WAAW;QAChC,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,EAAE,EAAE,QAAQ,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YAC5C,WAAW,EAAE,CAAC,CAAC,IAAI;YACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,KAAK,EAAE,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB;YACnO,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QACH,aAAa,EAAE;YACb,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrH,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACzH,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACzH,+BAA+B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7H,0BAA0B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACpH;QACD,iBAAiB,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;QACxE,mBAAmB,EAAE;YACnB,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACvE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;YACvF,OAAO,EAAE,CAAC,kDAAkD,EAAE,yCAAyC,EAAE,wCAAwC,CAAC;SACnJ;QACD,OAAO,EAAE;YACP,aAAa,IAAI,qBAAqB;YACtC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;YACjD,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;SAC9C,CAAC,MAAM,CAAC,OAAO,CAAC;KAClB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,iEAAiE;AACjE,+EAA+E;AAE/E,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,gBAAyB,EACzB,eAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,YAAY,GAAG,gBAAgB,CAAC,eAAe,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAE9E,oEAAoE;IACpE,MAAM,KAAK,GAAa;QACtB,sBAAsB;QACtB,EAAE;QACF,aAAa,GAAG,EAAE;QAClB,gBAAgB,gBAAgB,EAAE;QAClC,EAAE;QACF,KAAK;QACL,EAAE;QACF,uBAAuB,EAAE,EAAE;QAC3B,oBAAoB;QACpB,oBAAoB;QACpB,wBAAwB,GAAG,CAAC,MAAM,IAAI,mCAAmC,IAAI;QAC7E,oBAAoB,GAAG,CAAC,GAAG,IAAI,YAAY,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,IAAI;QACpG,kBAAkB,GAAG,CAAC,GAAG,IAAI,sCAAsC,IAAI;QACvE,sBAAsB,GAAG,CAAC,OAAO,IAAI,6CAA6C,IAAI;QACtF,gCAAgC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,IAAI,kBAAkB,IAAI;QACxF,EAAE;KACH,CAAC;IAEF,eAAe;IACf,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,uBAAuB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;SAAM,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,GAAG,IAAI,iBAAiB,mCAAmC;YAChG,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;YACvH,+FAA+F,EAAE,EAAE,CAAC,CAAC;IACzG,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,mEAAmE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,aAAa,SAAS;YAC1H,2BAA2B,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,mDAAmD,EAAE,EAAE,CAAC,CAAC;IAClI,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,oEAAoE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,UAAU,kDAAkD,EAAE,EAAE,CAAC,CAAC;IAC3K,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACtC,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,+MAA+M,EAAE,EAAE,CAAC,CAAC;IAClO,CAAC;IAED,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,+KAA+K,EAAE,EAAE,CAAC,CAAC;IAClM,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,+NAA+N,EAAE,EAAE,CAAC,CAAC;IAClP,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,aAAa,EAAE,YAAY,IAAI,kBAAkB,EAAE,eAAe,IAAI,qBAAqB,EAAE,UAAU,IAAI,gBAAgB,EAAE,YAAY,IAAI,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7M,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,oBAAoB;IACpB,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACtE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,gDAAgD,GAAG,CAAC,MAAM,IAAI,KAAK,MAAM,GAAG,CAAC,GAAG,IAAI,WAAW,UAAU,CAAC,CAAC;QACtH,KAAK,CAAC,IAAI,CAAC,6DAA6D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,CAAC;QACjL,KAAK,CAAC,IAAI,CAAC,mDAAmD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC,CAAC;IAC/J,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;QACpG,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;IAC3F,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,2FAA2F,EAAE,EAAE,CAAC,CAAC;IAEhH,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uCAAuC,GAAG,CAAC,CAAC;IAC9G,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAC/E,iEAAiE;AACjE,+EAA+E;AAE/E,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,iBAA0B,EAC1B,eAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,YAAY,GAAG,qBAAqB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,SAAS,GAAG,qBAAqB,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IAEjF,MAAM,KAAK,GAAa;QACtB,oCAAoC;QACpC,EAAE;QACF,aAAa,GAAG,EAAE;QAClB,gBAAgB,gBAAgB,EAAE;QAClC,EAAE;QACF,KAAK;QACL,EAAE;QACF,qBAAqB,EAAE,EAAE;KAC1B,CAAC;IAEF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACpG,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,qNAAqN,EAAE,EAAE,CAAC,CAAC;IACxO,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/F,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,cAAc,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5E,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,yOAAyO,EAAE,EAAE,CAAC,CAAC;IAC5P,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC1H,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAE/E,MAAM,UAAU,2BAA2B,CACzC,KAAa,EACb,iBAA0B,EAC1B,eAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,eAAe,GAAG,qBAAqB,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,qBAAqB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,KAAK,GAAa;QACtB,0BAA0B;QAC1B,EAAE;QACF,aAAa,GAAG,EAAE;QAClB,gBAAgB,gBAAgB,EAAE;QAClC,uBAAuB,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE;QAC3E,EAAE;QACF,KAAK;QACL,EAAE;QACF,6BAA6B,EAAE,EAAE;KAClC,CAAC;IAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/F,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,iBAAiB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,yLAAyL,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,qBAAqB,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5P,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/F,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,yJAAyJ,EAAE,EAAE,CAAC,CAAC;IAC5K,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrH,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACtB,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAE/E,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,iBAA0B,EAC1B,eAA8B;IAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;IAErD,MAAM,kBAAkB,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;QAC/D,CAAC,CAAC,CAAC,CAAC;IAEN,MAAM,KAAK,GAAa;QACtB,sBAAsB;QACtB,EAAE;QACF,aAAa,GAAG,EAAE;QAClB,gBAAgB,gBAAgB,EAAE;QAClC,EAAE;QACF,KAAK;QACL,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,oBAAoB;QACpB,oBAAoB;QACpB,4BAA4B,OAAO,CAAC,YAAY,IAAI;QACpD,8BAA8B,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACvJ,sBAAsB,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;QACvI,iCAAiC,kBAAkB,KAAK;QACxD,EAAE;QACF,yBAAyB;QACzB,EAAE;QACF,sDAAsD;QACtD,sDAAsD;KACvD,CAAC;IAEF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;SAC1D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QACvC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,MAAM,KAAK,MAAM,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,IAAI,MAAM,SAAS,IAAI,CAAC,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,kCAAkC;IAClC,KAAK,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,MAAM,GAA6B;QACvC,sBAAsB,EAAE,CAAC,4BAA4B,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,CAAC;QAC1I,kBAAkB,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,iBAAiB,CAAC;QACjG,uBAAuB,EAAE,CAAC,aAAa,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,kBAAkB,CAAC;QACzH,wBAAwB,EAAE,CAAC,yBAAyB,EAAE,YAAY,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,4BAA4B,CAAC;QACjJ,2BAA2B,EAAE,CAAC,2BAA2B,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,eAAe,CAAC;QACnK,sBAAsB,EAAE,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;QAC7I,cAAc,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,CAAC;KAClG,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAClC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,qBAAqB,CAAC,CAAC,CAAC,yBAAyB,CAAC;QAC5H,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,eAAe,GAAG,GAAG,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|