oh-my-knowledge 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -64
- package/README.zh.md +64 -63
- package/dist/src/analysis/report-diagnostics.d.ts +3 -2
- package/dist/src/analysis/report-diagnostics.d.ts.map +1 -1
- package/dist/src/analysis/report-diagnostics.js +107 -80
- package/dist/src/analysis/report-diagnostics.js.map +1 -1
- package/dist/src/analysis/sample-diagnostics.d.ts +4 -1
- package/dist/src/analysis/sample-diagnostics.d.ts.map +1 -1
- package/dist/src/analysis/sample-diagnostics.js +123 -29
- package/dist/src/analysis/sample-diagnostics.js.map +1 -1
- package/dist/src/authoring/evolver.d.ts +5 -0
- package/dist/src/authoring/evolver.d.ts.map +1 -1
- package/dist/src/authoring/evolver.js +20 -3
- package/dist/src/authoring/evolver.js.map +1 -1
- package/dist/src/cli/i18n-dict.d.ts +1 -1
- package/dist/src/cli/i18n-dict.d.ts.map +1 -1
- package/dist/src/cli/i18n-dict.js +28 -24
- package/dist/src/cli/i18n-dict.js.map +1 -1
- package/dist/src/cli/index.js +80 -66
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/parse-run-config.d.ts.map +1 -1
- package/dist/src/cli/parse-run-config.js +4 -4
- package/dist/src/cli/parse-run-config.js.map +1 -1
- package/dist/src/cli/progress.d.ts +1 -0
- package/dist/src/cli/progress.d.ts.map +1 -1
- package/dist/src/cli/progress.js +8 -1
- package/dist/src/cli/progress.js.map +1 -1
- package/dist/src/eval-core/cache.d.ts +7 -5
- package/dist/src/eval-core/cache.d.ts.map +1 -1
- package/dist/src/eval-core/cache.js +11 -7
- package/dist/src/eval-core/cache.js.map +1 -1
- package/dist/src/eval-core/comparability.d.ts +11 -0
- package/dist/src/eval-core/comparability.d.ts.map +1 -0
- package/dist/src/eval-core/comparability.js +271 -0
- package/dist/src/eval-core/comparability.js.map +1 -0
- package/dist/src/eval-core/evaluation-execution.d.ts +4 -1
- package/dist/src/eval-core/evaluation-execution.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-execution.js +25 -17
- package/dist/src/eval-core/evaluation-execution.js.map +1 -1
- package/dist/src/eval-core/evaluation-job.d.ts +2 -2
- package/dist/src/eval-core/evaluation-job.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-job.js +2 -2
- package/dist/src/eval-core/evaluation-job.js.map +1 -1
- package/dist/src/eval-core/evaluation-reporting.d.ts +3 -1
- package/dist/src/eval-core/evaluation-reporting.d.ts.map +1 -1
- package/dist/src/eval-core/evaluation-reporting.js +64 -4
- package/dist/src/eval-core/evaluation-reporting.js.map +1 -1
- package/dist/src/eval-core/execution-strategy.js +2 -2
- package/dist/src/eval-core/execution-strategy.js.map +1 -1
- package/dist/src/eval-core/schema.d.ts.map +1 -1
- package/dist/src/eval-core/schema.js +13 -0
- package/dist/src/eval-core/schema.js.map +1 -1
- package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts +111 -0
- package/dist/src/eval-workflows/batch-evaluation-workflow.d.ts.map +1 -0
- package/dist/src/eval-workflows/batch-evaluation-workflow.js +215 -0
- package/dist/src/eval-workflows/batch-evaluation-workflow.js.map +1 -0
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts +5 -3
- package/dist/src/eval-workflows/evaluation-pipeline.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-pipeline.js +6 -5
- package/dist/src/eval-workflows/evaluation-pipeline.js.map +1 -1
- package/dist/src/eval-workflows/evaluation-preparation.d.ts +8 -6
- package/dist/src/eval-workflows/evaluation-preparation.d.ts.map +1 -1
- package/dist/src/eval-workflows/evaluation-preparation.js +8 -4
- package/dist/src/eval-workflows/evaluation-preparation.js.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.d.ts +20 -17
- package/dist/src/eval-workflows/run-evaluation.d.ts.map +1 -1
- package/dist/src/eval-workflows/run-evaluation.js +25 -15
- package/dist/src/eval-workflows/run-evaluation.js.map +1 -1
- package/dist/src/executors/claude-cli.d.ts.map +1 -1
- package/dist/src/executors/claude-cli.js +11 -6
- package/dist/src/executors/claude-cli.js.map +1 -1
- package/dist/src/executors/codex-cli-trace.d.ts +10 -0
- package/dist/src/executors/codex-cli-trace.d.ts.map +1 -0
- package/dist/src/executors/codex-cli-trace.js +123 -0
- package/dist/src/executors/codex-cli-trace.js.map +1 -0
- package/dist/src/executors/codex-cli.d.ts +18 -0
- package/dist/src/executors/codex-cli.d.ts.map +1 -0
- package/dist/src/executors/codex-cli.js +254 -0
- package/dist/src/executors/codex-cli.js.map +1 -0
- package/dist/src/executors/codex-sdk.d.ts +18 -0
- package/dist/src/executors/codex-sdk.d.ts.map +1 -0
- package/dist/src/executors/codex-sdk.js +214 -0
- package/dist/src/executors/codex-sdk.js.map +1 -0
- package/dist/src/executors/gemini.d.ts.map +1 -1
- package/dist/src/executors/gemini.js +28 -24
- package/dist/src/executors/gemini.js.map +1 -1
- package/dist/src/executors/index.d.ts.map +1 -1
- package/dist/src/executors/index.js +7 -2
- package/dist/src/executors/index.js.map +1 -1
- package/dist/src/executors/runtime-fingerprint.d.ts +7 -0
- package/dist/src/executors/runtime-fingerprint.d.ts.map +1 -0
- package/dist/src/executors/runtime-fingerprint.js +277 -0
- package/dist/src/executors/runtime-fingerprint.js.map +1 -0
- package/dist/src/executors/script.d.ts.map +1 -1
- package/dist/src/executors/script.js +47 -55
- package/dist/src/executors/script.js.map +1 -1
- package/dist/src/executors/shared.d.ts +78 -1
- package/dist/src/executors/shared.d.ts.map +1 -1
- package/dist/src/executors/shared.js +203 -1
- package/dist/src/executors/shared.js.map +1 -1
- package/dist/src/grading/assertions.d.ts.map +1 -1
- package/dist/src/grading/assertions.js +18 -3
- package/dist/src/grading/assertions.js.map +1 -1
- package/dist/src/grading/index.d.ts.map +1 -1
- package/dist/src/grading/index.js +11 -0
- package/dist/src/grading/index.js.map +1 -1
- package/dist/src/grading/judge.d.ts.map +1 -1
- package/dist/src/grading/judge.js +75 -6
- package/dist/src/grading/judge.js.map +1 -1
- package/dist/src/inputs/skill-loader.d.ts +1 -1
- package/dist/src/inputs/skill-loader.d.ts.map +1 -1
- package/dist/src/inputs/skill-loader.js +1 -1
- package/dist/src/inputs/skill-loader.js.map +1 -1
- package/dist/src/renderer/html-renderer.d.ts +5 -4
- package/dist/src/renderer/html-renderer.d.ts.map +1 -1
- package/dist/src/renderer/html-renderer.js +217 -93
- package/dist/src/renderer/html-renderer.js.map +1 -1
- package/dist/src/renderer/layout.d.ts +2 -1
- package/dist/src/renderer/layout.d.ts.map +1 -1
- package/dist/src/renderer/layout.js +30 -42
- package/dist/src/renderer/layout.js.map +1 -1
- package/dist/src/renderer/summary.d.ts +3 -3
- package/dist/src/renderer/summary.d.ts.map +1 -1
- package/dist/src/renderer/summary.js +232 -42
- package/dist/src/renderer/summary.js.map +1 -1
- package/dist/src/renderer/trends.d.ts.map +1 -1
- package/dist/src/renderer/trends.js +5 -3
- package/dist/src/renderer/trends.js.map +1 -1
- package/dist/src/server/report-server.js +4 -4
- package/dist/src/server/report-server.js.map +1 -1
- package/dist/src/server/report-store.d.ts +7 -5
- package/dist/src/server/report-store.d.ts.map +1 -1
- package/dist/src/server/report-store.js +39 -11
- package/dist/src/server/report-store.js.map +1 -1
- package/dist/src/types/eval.d.ts +4 -2
- package/dist/src/types/eval.d.ts.map +1 -1
- package/dist/src/types/executor.d.ts +5 -0
- package/dist/src/types/executor.d.ts.map +1 -1
- package/dist/src/types/judge.d.ts +10 -0
- package/dist/src/types/judge.d.ts.map +1 -1
- package/dist/src/types/report.d.ts +120 -24
- package/dist/src/types/report.d.ts.map +1 -1
- package/dist/src/types/storage.d.ts +7 -7
- package/dist/src/types/storage.d.ts.map +1 -1
- package/package.json +2 -1
- package/dist/src/eval-workflows/each-evaluation-workflow.d.ts +0 -153
- package/dist/src/eval-workflows/each-evaluation-workflow.d.ts.map +0 -1
- package/dist/src/eval-workflows/each-evaluation-workflow.js +0 -178
- package/dist/src/eval-workflows/each-evaluation-workflow.js.map +0 -1
- package/dist/src/executors/openai-cli.d.ts +0 -3
- package/dist/src/executors/openai-cli.d.ts.map +0 -1
- package/dist/src/executors/openai-cli.js +0 -60
- package/dist/src/executors/openai-cli.js.map +0 -1
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { normalizeCapability } from './sample-diagnostics.js';
|
|
5
5
|
/**
|
|
6
|
-
* Analyze an evaluation report and produce insights
|
|
6
|
+
* Analyze an evaluation report and produce structured insights.
|
|
7
7
|
*/
|
|
8
8
|
export function analyzeResults(report, opts = {}) {
|
|
9
9
|
const insights = [];
|
|
10
|
-
const suggestions = [];
|
|
11
10
|
const variants = report.meta?.variants || [];
|
|
12
11
|
const results = report.results || [];
|
|
13
12
|
// sampleQuality aggregate is built from sample metadata only,
|
|
@@ -17,30 +16,32 @@ export function analyzeResults(report, opts = {}) {
|
|
|
17
16
|
? buildSampleQualityAggregate(opts.samples)
|
|
18
17
|
: undefined;
|
|
19
18
|
if (results.length === 0 || variants.length < 2) {
|
|
20
|
-
return { insights,
|
|
19
|
+
return { insights, ...(sampleQuality && { sampleQuality }) };
|
|
21
20
|
}
|
|
22
21
|
// 1. Low-discrimination assertions
|
|
23
|
-
detectLowDiscrimination(results, variants, insights
|
|
22
|
+
detectLowDiscrimination(results, variants, insights);
|
|
24
23
|
// 2. Uniform scores across variants
|
|
25
|
-
detectUniformScores(results, variants, insights
|
|
24
|
+
detectUniformScores(results, variants, insights);
|
|
26
25
|
// 3. All-pass / all-fail assertions
|
|
27
|
-
detectAllPassFail(results, variants, insights
|
|
26
|
+
detectAllPassFail(results, variants, insights);
|
|
28
27
|
// 4. High-cost samples
|
|
29
28
|
detectHighCost(results, variants, insights);
|
|
30
29
|
// 5. Efficiency gap (turns & cost)
|
|
31
|
-
detectEfficiencyGap(report, variants, insights
|
|
30
|
+
detectEfficiencyGap(report, variants, insights);
|
|
32
31
|
// 6. Agent tool usage patterns
|
|
33
|
-
detectToolPatterns(report, variants, insights
|
|
32
|
+
detectToolPatterns(report, variants, insights);
|
|
34
33
|
// 7. Tooling / permission issues
|
|
35
|
-
detectToolPermissionIssues(results, variants, insights
|
|
34
|
+
detectToolPermissionIssues(results, variants, insights);
|
|
36
35
|
// 8. Trace integrity
|
|
37
|
-
detectTraceIntegrity(report, variants, insights
|
|
36
|
+
detectTraceIntegrity(report, variants, insights);
|
|
38
37
|
// 9. Agent assertion discrimination
|
|
39
|
-
detectAgentAssertionDiscrimination(results, variants, insights
|
|
38
|
+
detectAgentAssertionDiscrimination(results, variants, insights);
|
|
40
39
|
// 10. Suggest --repeat when score variance is high and no repeat data
|
|
41
|
-
detectNeedRepeat(report, results, variants, insights
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
detectNeedRepeat(report, results, variants, insights);
|
|
41
|
+
return {
|
|
42
|
+
insights,
|
|
43
|
+
...(sampleQuality && { sampleQuality }),
|
|
44
|
+
};
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
47
|
* Build sample design science aggregate from sample metadata.
|
|
@@ -128,7 +129,8 @@ export function buildSampleQualityAggregate(samples) {
|
|
|
128
129
|
sampleCountWithProvenance: withProvenance,
|
|
129
130
|
};
|
|
130
131
|
}
|
|
131
|
-
function
|
|
132
|
+
export function generateAnalysisSummary(report, lang = 'zh') {
|
|
133
|
+
const variants = report.meta?.variants || [];
|
|
132
134
|
if (variants.length < 2)
|
|
133
135
|
return undefined;
|
|
134
136
|
const stats = report.summary || {};
|
|
@@ -162,15 +164,25 @@ function generateSummary(report, variants) {
|
|
|
162
164
|
if (scoreDiff != null && tScore != null && cScore != null) {
|
|
163
165
|
const absDiff = Math.abs(scoreDiff);
|
|
164
166
|
if (absDiff < 0.1) {
|
|
165
|
-
lines.push(
|
|
167
|
+
lines.push(lang === 'zh'
|
|
168
|
+
? `【结论】${test} 与 ${control} 综合得分持平(${tScore.toFixed(2)} vs ${cScore.toFixed(2)}),质量无显著差异。`
|
|
169
|
+
: `【Conclusion】${test} and ${control} are effectively tied on composite score (${tScore.toFixed(2)} vs ${cScore.toFixed(2)}); no clear quality difference.`);
|
|
166
170
|
}
|
|
167
171
|
else if (scoreDiff > 0) {
|
|
168
|
-
const tag =
|
|
169
|
-
|
|
172
|
+
const tag = lang === 'zh'
|
|
173
|
+
? (absDiff > 0.3 ? '明显领先' : '略优')
|
|
174
|
+
: (absDiff > 0.3 ? 'clearly ahead' : 'slightly ahead');
|
|
175
|
+
lines.push(lang === 'zh'
|
|
176
|
+
? `【结论】${test} 综合得分 ${tag}(${tScore.toFixed(2)} vs ${cScore.toFixed(2)},+${scoreDiff.toFixed(2)})。`
|
|
177
|
+
: `【Conclusion】${test} is ${tag} on composite score (${tScore.toFixed(2)} vs ${cScore.toFixed(2)}, +${scoreDiff.toFixed(2)}).`);
|
|
170
178
|
}
|
|
171
179
|
else {
|
|
172
|
-
const tag =
|
|
173
|
-
|
|
180
|
+
const tag = lang === 'zh'
|
|
181
|
+
? (absDiff > 0.3 ? '明显落后' : '略低')
|
|
182
|
+
: (absDiff > 0.3 ? 'clearly behind' : 'slightly lower');
|
|
183
|
+
lines.push(lang === 'zh'
|
|
184
|
+
? `【结论】${test} 综合得分 ${tag}(${tScore.toFixed(2)} vs ${cScore.toFixed(2)},${scoreDiff.toFixed(2)})。`
|
|
185
|
+
: `【Conclusion】${test} is ${tag} on composite score (${tScore.toFixed(2)} vs ${cScore.toFixed(2)}, ${scoreDiff.toFixed(2)}).`);
|
|
174
186
|
}
|
|
175
187
|
}
|
|
176
188
|
// ── Section 2: Key differentiators with concrete numbers ──
|
|
@@ -183,23 +195,31 @@ function generateSummary(report, variants) {
|
|
|
183
195
|
// Both same — don't mention (e.g. both 5/5 is not interesting)
|
|
184
196
|
}
|
|
185
197
|
else if (tFact > cFact) {
|
|
186
|
-
diffs.push(
|
|
198
|
+
diffs.push(lang === 'zh'
|
|
199
|
+
? `事实性 ${tFact.toFixed(1)} vs ${cFact.toFixed(1)}(↑${(tFact - cFact).toFixed(1)})`
|
|
200
|
+
: `Fact score ${tFact.toFixed(1)} vs ${cFact.toFixed(1)} (up ${(tFact - cFact).toFixed(1)})`);
|
|
187
201
|
}
|
|
188
202
|
else {
|
|
189
|
-
diffs.push(
|
|
203
|
+
diffs.push(lang === 'zh'
|
|
204
|
+
? `事实性 ${tFact.toFixed(1)} vs ${cFact.toFixed(1)}(↓${(cFact - tFact).toFixed(1)})`
|
|
205
|
+
: `Fact score ${tFact.toFixed(1)} vs ${cFact.toFixed(1)} (down ${(cFact - tFact).toFixed(1)})`);
|
|
190
206
|
}
|
|
191
207
|
}
|
|
192
208
|
const tBehavior = ts.avgBehaviorScore;
|
|
193
209
|
const cBehavior = cs.avgBehaviorScore;
|
|
194
210
|
if (tBehavior != null && cBehavior != null && Math.abs(tBehavior - cBehavior) > 0.3) {
|
|
195
211
|
const dir = tBehavior > cBehavior ? '↑' : '↓';
|
|
196
|
-
diffs.push(
|
|
212
|
+
diffs.push(lang === 'zh'
|
|
213
|
+
? `行为合规 ${tBehavior.toFixed(1)} vs ${cBehavior.toFixed(1)}(${dir}${Math.abs(tBehavior - cBehavior).toFixed(1)})`
|
|
214
|
+
: `Behavior score ${tBehavior.toFixed(1)} vs ${cBehavior.toFixed(1)} (${dir === '↑' ? 'up' : 'down'} ${Math.abs(tBehavior - cBehavior).toFixed(1)})`);
|
|
197
215
|
}
|
|
198
216
|
const tJudge = ts.avgJudgeScore;
|
|
199
217
|
const cJudge = cs.avgJudgeScore;
|
|
200
218
|
if (tJudge != null && cJudge != null && Math.abs(tJudge - cJudge) >= 0.5) {
|
|
201
219
|
const dir = tJudge > cJudge ? '↑' : '↓';
|
|
202
|
-
diffs.push(
|
|
220
|
+
diffs.push(lang === 'zh'
|
|
221
|
+
? `LLM 评价 ${tJudge.toFixed(1)} vs ${cJudge.toFixed(1)}(${dir}${Math.abs(tJudge - cJudge).toFixed(1)})`
|
|
222
|
+
: `LLM judge ${tJudge.toFixed(1)} vs ${cJudge.toFixed(1)} (${dir === '↑' ? 'up' : 'down'} ${Math.abs(tJudge - cJudge).toFixed(1)})`);
|
|
203
223
|
}
|
|
204
224
|
// Efficiency — with percentages
|
|
205
225
|
const cTurns = cs.avgNumTurns;
|
|
@@ -207,10 +227,14 @@ function generateSummary(report, variants) {
|
|
|
207
227
|
if (cTurns > 0 && tTurns > 0 && cTurns !== tTurns) {
|
|
208
228
|
const pct = Math.abs(((tTurns - cTurns) / cTurns) * 100).toFixed(0);
|
|
209
229
|
if (tTurns < cTurns) {
|
|
210
|
-
diffs.push(
|
|
230
|
+
diffs.push(lang === 'zh'
|
|
231
|
+
? `轮次 ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)}(↓${pct}%,路径更高效)`
|
|
232
|
+
: `Turns ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)} (down ${pct}%, more efficient path)`);
|
|
211
233
|
}
|
|
212
234
|
else {
|
|
213
|
-
diffs.push(
|
|
235
|
+
diffs.push(lang === 'zh'
|
|
236
|
+
? `轮次 ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)}(↑${pct}%)`
|
|
237
|
+
: `Turns ${tTurns.toFixed(1)} vs ${cTurns.toFixed(1)} (up ${pct}%)`);
|
|
214
238
|
}
|
|
215
239
|
}
|
|
216
240
|
// Cost — with percentages
|
|
@@ -219,10 +243,14 @@ function generateSummary(report, variants) {
|
|
|
219
243
|
if (cCost > 0 && tCost > 0 && Math.abs(tCost - cCost) / cCost > 0.05) {
|
|
220
244
|
const pct = Math.abs(((tCost - cCost) / cCost) * 100).toFixed(0);
|
|
221
245
|
if (tCost < cCost) {
|
|
222
|
-
diffs.push(
|
|
246
|
+
diffs.push(lang === 'zh'
|
|
247
|
+
? `单用例成本 $${tCost.toFixed(4)} vs $${cCost.toFixed(4)}(↓${pct}%)`
|
|
248
|
+
: `Cost per sample $${tCost.toFixed(4)} vs $${cCost.toFixed(4)} (down ${pct}%)`);
|
|
223
249
|
}
|
|
224
250
|
else {
|
|
225
|
-
diffs.push(
|
|
251
|
+
diffs.push(lang === 'zh'
|
|
252
|
+
? `单用例成本 $${tCost.toFixed(4)} vs $${cCost.toFixed(4)}(↑${pct}%)`
|
|
253
|
+
: `Cost per sample $${tCost.toFixed(4)} vs $${cCost.toFixed(4)} (up ${pct}%)`);
|
|
226
254
|
}
|
|
227
255
|
}
|
|
228
256
|
// Duration — with percentages
|
|
@@ -233,20 +261,28 @@ function generateSummary(report, variants) {
|
|
|
233
261
|
const tSec = (tDur / 1000).toFixed(1);
|
|
234
262
|
const cSec = (cDur / 1000).toFixed(1);
|
|
235
263
|
if (tDur < cDur) {
|
|
236
|
-
diffs.push(
|
|
264
|
+
diffs.push(lang === 'zh'
|
|
265
|
+
? `耗时 ${tSec}s vs ${cSec}s(↓${pct}%)`
|
|
266
|
+
: `Duration ${tSec}s vs ${cSec}s (down ${pct}%)`);
|
|
237
267
|
}
|
|
238
268
|
else {
|
|
239
|
-
diffs.push(
|
|
269
|
+
diffs.push(lang === 'zh'
|
|
270
|
+
? `耗时 ${tSec}s vs ${cSec}s(↑${pct}%)`
|
|
271
|
+
: `Duration ${tSec}s vs ${cSec}s (up ${pct}%)`);
|
|
240
272
|
}
|
|
241
273
|
}
|
|
242
274
|
// Tool usage difference
|
|
243
275
|
const tTools = ts.avgToolCalls;
|
|
244
276
|
const cTools = cs.avgToolCalls;
|
|
245
277
|
if (tTools != null && cTools != null && Math.abs(tTools - cTools) > 0.5) {
|
|
246
|
-
diffs.push(
|
|
278
|
+
diffs.push(lang === 'zh'
|
|
279
|
+
? `工具调用 ${tTools.toFixed(1)} vs ${cTools.toFixed(1)} 次`
|
|
280
|
+
: `Tool calls ${tTools.toFixed(1)} vs ${cTools.toFixed(1)}`);
|
|
247
281
|
}
|
|
248
282
|
if (diffs.length > 0) {
|
|
249
|
-
lines.push(
|
|
283
|
+
lines.push(lang === 'zh'
|
|
284
|
+
? `【关键差异】${diffs.join(';')}。`
|
|
285
|
+
: `【Key differences】${diffs.join('; ')}.`);
|
|
250
286
|
}
|
|
251
287
|
// ── Section 3: Synthesis — connect the dots ──
|
|
252
288
|
const synthesis = [];
|
|
@@ -254,22 +290,32 @@ function generateSummary(report, variants) {
|
|
|
254
290
|
if (scoreDiff != null && cCost > 0 && tCost > 0) {
|
|
255
291
|
const costRatio = (tCost - cCost) / cCost;
|
|
256
292
|
if (Math.abs(scoreDiff) < 0.1 && costRatio < -0.15) {
|
|
257
|
-
synthesis.push(
|
|
293
|
+
synthesis.push(lang === 'zh'
|
|
294
|
+
? `质量相当但成本显著降低,${test} 是更经济的选择`
|
|
295
|
+
: `similar quality with materially lower cost; ${test} is the more economical choice`);
|
|
258
296
|
}
|
|
259
297
|
else if (scoreDiff > 0.1 && costRatio > 0.15) {
|
|
260
|
-
synthesis.push(
|
|
298
|
+
synthesis.push(lang === 'zh'
|
|
299
|
+
? '质量提升伴随成本上涨,需权衡投入产出比'
|
|
300
|
+
: 'quality improved, but cost also increased; weigh the return on investment');
|
|
261
301
|
}
|
|
262
302
|
else if (scoreDiff > 0.1 && costRatio <= 0) {
|
|
263
|
-
synthesis.push(
|
|
303
|
+
synthesis.push(lang === 'zh'
|
|
304
|
+
? `质量与成本双优,${test} 全面领先`
|
|
305
|
+
: `${test} leads on both quality and cost`);
|
|
264
306
|
}
|
|
265
307
|
else if (scoreDiff < -0.1 && costRatio < -0.15) {
|
|
266
|
-
synthesis.push(
|
|
308
|
+
synthesis.push(lang === 'zh'
|
|
309
|
+
? '成本虽降但质量下滑,需评估质量底线是否可接受'
|
|
310
|
+
: 'cost decreased, but quality dropped; check whether the quality floor is still acceptable');
|
|
267
311
|
}
|
|
268
312
|
}
|
|
269
313
|
// Tool success rate concern
|
|
270
314
|
const tToolSuccess = ts.toolSuccessRate;
|
|
271
315
|
if (tToolSuccess != null && tToolSuccess < 1 && tToolSuccess >= 0.5) {
|
|
272
|
-
synthesis.push(
|
|
316
|
+
synthesis.push(lang === 'zh'
|
|
317
|
+
? `${test} 存在工具调用失败(成功率 ${(tToolSuccess * 100).toFixed(0)}%),可能拉低了得分`
|
|
318
|
+
: `${test} had tool-call failures (${(tToolSuccess * 100).toFixed(0)}% success), which may have pulled the score down`);
|
|
273
319
|
}
|
|
274
320
|
// Variance / significance from --repeat
|
|
275
321
|
if (report.variance) {
|
|
@@ -282,23 +328,33 @@ function generateSummary(report, variants) {
|
|
|
282
328
|
const primaryVal = es.primary === 'g' ? es.hedgesG : es.cohensD;
|
|
283
329
|
const secondaryLabel = es.primary === 'g' ? 'd' : 'g';
|
|
284
330
|
const secondaryVal = es.primary === 'g' ? es.cohensD : es.hedgesG;
|
|
285
|
-
esText =
|
|
331
|
+
esText = lang === 'zh'
|
|
332
|
+
? `,效应量 ${es.primary}=${primaryVal.toFixed(2)}(${es.magnitude},${secondaryLabel}=${secondaryVal.toFixed(2)})`
|
|
333
|
+
: `, effect size ${es.primary}=${primaryVal.toFixed(2)} (${es.magnitude}, ${secondaryLabel}=${secondaryVal.toFixed(2)})`;
|
|
286
334
|
}
|
|
287
335
|
if (comp.significant) {
|
|
288
|
-
synthesis.push(
|
|
336
|
+
synthesis.push(lang === 'zh'
|
|
337
|
+
? `${v.runs} 轮重复评测显示差异具有统计显著性(t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}, p<0.05${esText})`
|
|
338
|
+
: `${v.runs} repeated runs show a statistically significant difference (t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}, p<0.05${esText})`);
|
|
289
339
|
}
|
|
290
340
|
else {
|
|
291
|
-
synthesis.push(
|
|
341
|
+
synthesis.push(lang === 'zh'
|
|
342
|
+
? `${v.runs} 轮重复评测未达到统计显著性(t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}${esText}),差异可能源于随机波动`
|
|
343
|
+
: `${v.runs} repeated runs did not reach statistical significance (t=${comp.tStatistic.toFixed(2)}, df=${comp.df.toFixed(1)}${esText}); the gap may be random variation`);
|
|
292
344
|
}
|
|
293
345
|
}
|
|
294
346
|
}
|
|
295
347
|
const testVd = v.perVariant[test];
|
|
296
348
|
if (testVd) {
|
|
297
|
-
synthesis.push(
|
|
349
|
+
synthesis.push(lang === 'zh'
|
|
350
|
+
? `${test} 跨轮 95% 置信区间 [${testVd.lower.toFixed(2)}, ${testVd.upper.toFixed(2)}]`
|
|
351
|
+
: `${test} cross-run 95% confidence interval [${testVd.lower.toFixed(2)}, ${testVd.upper.toFixed(2)}]`);
|
|
298
352
|
}
|
|
299
353
|
}
|
|
300
354
|
if (synthesis.length > 0) {
|
|
301
|
-
lines.push(
|
|
355
|
+
lines.push(lang === 'zh'
|
|
356
|
+
? `【综合洞察】${synthesis.join(';')}。`
|
|
357
|
+
: `【Synthesis】${synthesis.join('; ')}.`);
|
|
302
358
|
}
|
|
303
359
|
// Caveats and recommendations are handled by the issues table below,
|
|
304
360
|
// so the summary focuses only on verdict + differentiators + synthesis.
|
|
@@ -336,7 +392,7 @@ function collectAgentAssertionTypes(results, variants) {
|
|
|
336
392
|
}
|
|
337
393
|
return types;
|
|
338
394
|
}
|
|
339
|
-
function detectLowDiscrimination(results, variants, insights
|
|
395
|
+
function detectLowDiscrimination(results, variants, insights) {
|
|
340
396
|
// For each sample, check if all variants have the same assertion pass/fail pattern
|
|
341
397
|
const allPassedPatterns = [];
|
|
342
398
|
const allFailedPatterns = [];
|
|
@@ -375,22 +431,18 @@ function detectLowDiscrimination(results, variants, insights, suggestions) {
|
|
|
375
431
|
insights.push({
|
|
376
432
|
type: 'low_discrimination_all_passed',
|
|
377
433
|
severity: 'info',
|
|
378
|
-
message: `${allPassedPatterns.length} 个断言所有变体均通过,baseline 也能答对,区分度低`,
|
|
379
434
|
details: allPassedPatterns,
|
|
380
435
|
});
|
|
381
|
-
suggestions.push('对于所有变体均通过的断言,考虑替换为检测 skill 文档中独有细节的断言(如特定参数名、配置值)');
|
|
382
436
|
}
|
|
383
437
|
if (allFailedPatterns.length > 0) {
|
|
384
438
|
insights.push({
|
|
385
439
|
type: 'low_discrimination_all_failed',
|
|
386
440
|
severity: 'warning',
|
|
387
|
-
message: `${allFailedPatterns.length} 个断言所有变体均失败,断言可能过于严格或存在配置错误`,
|
|
388
441
|
details: allFailedPatterns,
|
|
389
442
|
});
|
|
390
|
-
suggestions.push('对于所有变体均失败的断言,检查断言条件是否正确,或降低匹配要求');
|
|
391
443
|
}
|
|
392
444
|
}
|
|
393
|
-
function detectUniformScores(results, variants, insights
|
|
445
|
+
function detectUniformScores(results, variants, insights) {
|
|
394
446
|
let uniformCount = 0;
|
|
395
447
|
const uniformSamples = [];
|
|
396
448
|
for (const r of results) {
|
|
@@ -410,15 +462,11 @@ function detectUniformScores(results, variants, insights, suggestions) {
|
|
|
410
462
|
insights.push({
|
|
411
463
|
type: 'uniform_scores',
|
|
412
464
|
severity: uniformCount === results.length ? 'warning' : 'info',
|
|
413
|
-
message: `${uniformCount}/${results.length} 个用例在各变体间分差 < 0.5,区分度较低`,
|
|
414
465
|
details: uniformSamples,
|
|
415
466
|
});
|
|
416
|
-
if (uniformCount === results.length) {
|
|
417
|
-
suggestions.push('所有用例分数差异都很小,建议增加更有挑战性的测试用例或更严格的评分标准');
|
|
418
|
-
}
|
|
419
467
|
}
|
|
420
468
|
}
|
|
421
|
-
function detectAllPassFail(results, variants, insights
|
|
469
|
+
function detectAllPassFail(results, variants, insights) {
|
|
422
470
|
let allPassCount = 0;
|
|
423
471
|
let allFailCount = 0;
|
|
424
472
|
for (const r of results) {
|
|
@@ -437,22 +485,18 @@ function detectAllPassFail(results, variants, insights, suggestions) {
|
|
|
437
485
|
insights.push({
|
|
438
486
|
type: 'all_pass',
|
|
439
487
|
severity: 'warning',
|
|
440
|
-
message: '所有断言在所有变体上全部通过,断言可能过于宽松',
|
|
441
488
|
details: { allPassCount },
|
|
442
489
|
});
|
|
443
|
-
suggestions.push('所有断言都通过了,考虑增加更严格的断言来更好地区分变体质量');
|
|
444
490
|
}
|
|
445
491
|
if (allFailCount === totalEntries && totalEntries > 0) {
|
|
446
492
|
insights.push({
|
|
447
493
|
type: 'all_fail',
|
|
448
494
|
severity: 'error',
|
|
449
|
-
message: '所有断言在所有变体上全部失败,请检查断言配置是否正确',
|
|
450
495
|
details: { allFailCount },
|
|
451
496
|
});
|
|
452
|
-
suggestions.push('所有断言都失败了,请检查评测配置是否有误');
|
|
453
497
|
}
|
|
454
498
|
}
|
|
455
|
-
function detectNeedRepeat(report, results, variants, insights
|
|
499
|
+
function detectNeedRepeat(report, results, variants, insights) {
|
|
456
500
|
// Skip if already has variance data (i.e. --repeat was used)
|
|
457
501
|
if (report.variance)
|
|
458
502
|
return;
|
|
@@ -466,15 +510,13 @@ function detectNeedRepeat(report, results, variants, insights, suggestions) {
|
|
|
466
510
|
insights.push({
|
|
467
511
|
type: 'suggest_repeat',
|
|
468
512
|
severity: 'info',
|
|
469
|
-
message: `${v} 的分数跨度较大(${s.minCompositeScore}~${s.maxCompositeScore}),建议使用 --repeat 3 多轮评测以获取方差分析和统计显著性检验`,
|
|
470
513
|
details: { variant: v, min: s.minCompositeScore, max: s.maxCompositeScore, spread },
|
|
471
514
|
});
|
|
472
|
-
suggestions.push(`运行 omk bench run --repeat 3 获取置信区间和 t 检验结果,量化变体间差异的统计显著性`);
|
|
473
515
|
return; // Only suggest once
|
|
474
516
|
}
|
|
475
517
|
}
|
|
476
518
|
}
|
|
477
|
-
function detectEfficiencyGap(report, variants, insights
|
|
519
|
+
function detectEfficiencyGap(report, variants, insights) {
|
|
478
520
|
if (variants.length < 2)
|
|
479
521
|
return;
|
|
480
522
|
const summary = report.summary || {};
|
|
@@ -515,14 +557,12 @@ function detectEfficiencyGap(report, variants, insights, suggestions) {
|
|
|
515
557
|
insights.push({
|
|
516
558
|
type: 'efficiency_gap',
|
|
517
559
|
severity: 'info',
|
|
518
|
-
message: details.join(';'),
|
|
519
560
|
details: { baseline: variants[0], variant: variants[i], baseTurns, otherTurns, baseCost, otherCost },
|
|
520
561
|
});
|
|
521
|
-
suggestions.push(`${variants[i]} 在效率维度与 ${variants[0]} 存在显著差异,这对导航型 Skill 是重要的价值体现`);
|
|
522
562
|
}
|
|
523
563
|
}
|
|
524
564
|
}
|
|
525
|
-
function detectToolPatterns(report, variants, insights
|
|
565
|
+
function detectToolPatterns(report, variants, insights) {
|
|
526
566
|
const summary = report.summary || {};
|
|
527
567
|
const hasTools = variants.some((v) => summary[v]?.avgToolCalls != null && summary[v].avgToolCalls > 0);
|
|
528
568
|
if (!hasTools)
|
|
@@ -537,10 +577,8 @@ function detectToolPatterns(report, variants, insights, suggestions) {
|
|
|
537
577
|
insights.push({
|
|
538
578
|
type: 'low_tool_success_rate',
|
|
539
579
|
severity: 'warning',
|
|
540
|
-
message: `${v} 的工具调用成功率仅 ${(s.toolSuccessRate * 100).toFixed(0)}%,可能存在工具选择或参数问题`,
|
|
541
580
|
details: { variant: v, toolSuccessRate: s.toolSuccessRate, avgToolCalls: s.avgToolCalls },
|
|
542
581
|
});
|
|
543
|
-
suggestions.push(`检查 ${v} 的工具调用失败模式,考虑在 skill 中增加工具使用指导`);
|
|
544
582
|
}
|
|
545
583
|
}
|
|
546
584
|
// Compare tool counts between variants
|
|
@@ -555,16 +593,13 @@ function detectToolPatterns(report, variants, insights, suggestions) {
|
|
|
555
593
|
insights.push({
|
|
556
594
|
type: 'tool_count_gap',
|
|
557
595
|
severity: 'info',
|
|
558
|
-
message: diff > 0
|
|
559
|
-
? `${variants[i]} 平均多调用 ${diff.toFixed(1)} 次工具(${other.avgToolCalls} vs ${base.avgToolCalls})`
|
|
560
|
-
: `${variants[i]} 平均少调用 ${Math.abs(diff).toFixed(1)} 次工具(${other.avgToolCalls} vs ${base.avgToolCalls})`,
|
|
561
596
|
details: { baseline: variants[0], variant: variants[i], baseTools: base.avgToolCalls, otherTools: other.avgToolCalls },
|
|
562
597
|
});
|
|
563
598
|
}
|
|
564
599
|
}
|
|
565
600
|
}
|
|
566
601
|
}
|
|
567
|
-
function detectToolPermissionIssues(results, variants, insights
|
|
602
|
+
function detectToolPermissionIssues(results, variants, insights) {
|
|
568
603
|
const permissionErrors = [];
|
|
569
604
|
for (const result of results) {
|
|
570
605
|
for (const variant of variants) {
|
|
@@ -589,12 +624,10 @@ function detectToolPermissionIssues(results, variants, insights, suggestions) {
|
|
|
589
624
|
insights.push({
|
|
590
625
|
type: 'tool_permission_error',
|
|
591
626
|
severity: 'warning',
|
|
592
|
-
message: `检测到 ${permissionErrors.length} 次工具权限错误,实验结论可能被环境问题污染`,
|
|
593
627
|
details: permissionErrors.slice(0, 10),
|
|
594
628
|
});
|
|
595
|
-
suggestions.push('先处理工具权限错误,再解读 agent 分数差异;若是 Glob/rg 权限问题,优先避免在控制实验中依赖该工具');
|
|
596
629
|
}
|
|
597
|
-
function detectTraceIntegrity(report, variants, insights
|
|
630
|
+
function detectTraceIntegrity(report, variants, insights) {
|
|
598
631
|
const summary = report.summary || {};
|
|
599
632
|
const agentAssertionTypes = collectAgentAssertionTypes(report.results || [], variants);
|
|
600
633
|
const needsTraceHeavyCoverage = [...agentAssertionTypes].some((type) => TRACE_HEAVY_AGENT_ASSERTION_TYPES.has(type));
|
|
@@ -617,13 +650,11 @@ function detectTraceIntegrity(report, variants, insights, suggestions) {
|
|
|
617
650
|
insights.push({
|
|
618
651
|
type: 'trace_integrity_gap',
|
|
619
652
|
severity: 'warning',
|
|
620
|
-
message: `${weakCoverage.length} 个 variant 的 trace 覆盖率低于 75%,报告可能不足以解释 agent 行为差异`,
|
|
621
653
|
details: weakCoverage,
|
|
622
654
|
});
|
|
623
|
-
suggestions.push('优先补齐 turns、toolCalls、timing、full output 的采集与落盘,确保报告能解释工具路径和错误恢复过程');
|
|
624
655
|
}
|
|
625
656
|
}
|
|
626
|
-
function detectAgentAssertionDiscrimination(results, variants, insights
|
|
657
|
+
function detectAgentAssertionDiscrimination(results, variants, insights) {
|
|
627
658
|
const assertionTypes = collectAgentAssertionTypes(results, variants);
|
|
628
659
|
const hasTraceHeavyAssertions = [...assertionTypes].some((type) => TRACE_HEAVY_AGENT_ASSERTION_TYPES.has(type));
|
|
629
660
|
if (!hasTraceHeavyAssertions)
|
|
@@ -672,7 +703,6 @@ function detectAgentAssertionDiscrimination(results, variants, insights, suggest
|
|
|
672
703
|
insights.push({
|
|
673
704
|
type: 'agent_assertion_discrimination_low',
|
|
674
705
|
severity: 'warning',
|
|
675
|
-
message: `agent 断言区分度偏低,只有 ${(discriminationRate * 100).toFixed(0)}% 的断言真正拉开了变体差异`,
|
|
676
706
|
details: {
|
|
677
707
|
total: evaluated.length,
|
|
678
708
|
discriminative,
|
|
@@ -681,13 +711,11 @@ function detectAgentAssertionDiscrimination(results, variants, insights, suggest
|
|
|
681
711
|
examples: evaluated.slice(0, 10),
|
|
682
712
|
},
|
|
683
713
|
});
|
|
684
|
-
suggestions.push('重写 agent 断言时,优先约束工具路径、关键文件读取和 turns 上限,避免大量“全过”或“全挂”的弱断言');
|
|
685
714
|
}
|
|
686
715
|
else {
|
|
687
716
|
insights.push({
|
|
688
717
|
type: 'agent_assertion_discrimination_ok',
|
|
689
718
|
severity: 'info',
|
|
690
|
-
message: `agent 断言区分度达标,${(discriminationRate * 100).toFixed(0)}% 的断言能区分变体差异`,
|
|
691
719
|
details: {
|
|
692
720
|
total: evaluated.length,
|
|
693
721
|
discriminative,
|
|
@@ -716,7 +744,6 @@ function detectHighCost(results, variants, insights) {
|
|
|
716
744
|
insights.push({
|
|
717
745
|
type: 'high_cost_sample',
|
|
718
746
|
severity: 'info',
|
|
719
|
-
message: `${expensive.length} 个用例成本显著高于平均值 (>${(avg * 2).toFixed(4)} USD)`,
|
|
720
747
|
details: expensive,
|
|
721
748
|
});
|
|
722
749
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-diagnostics.js","sourceRoot":"","sources":["../../../src/analysis/report-diagnostics.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAU9D;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,OAA8B,EAAE;IAC7E,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAErC,8DAA8D;IAC9D,yEAAyE;IACzE,gEAAgE;IAChE,MAAM,aAAa,GAAuC,IAAI,CAAC,OAAO;QACpE,CAAC,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3C,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IAC5E,CAAC;IAED,mCAAmC;IACnC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAElE,oCAAoC;IACpC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE9D,oCAAoC;IACpC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE5D,uBAAuB;IACvB,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE5C,mCAAmC;IACnC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE7D,+BAA+B;IAC/B,kBAAkB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE5D,iCAAiC;IACjC,0BAA0B,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAErE,qBAAqB;IACrB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE9D,oCAAoC;IACpC,kCAAkC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE7E,sEAAsE;IACtE,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAEnE,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAElD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;AACrF,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAiB;IAC3D,MAAM,kBAAkB,GAA2B,EAAE,CAAC;IACtD,MAAM,sBAAsB,GAA+D;QACzF,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;KAC5C,CAAC;IACF,MAAM,qBAAqB,GAA2B,EAAE,CAAC;IACzD,MAAM,mBAAmB,GAA2B,EAAE,CAAC;IAEvD,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,mHAAmH;QACnH,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrE,cAAc,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvC,IAAI,OAAO,MAAM,KAAK,QAAQ;oBAAE,SAAS;gBACzC,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS,CAAC,kCAAkC;gBAC/D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,aAAa;QACb,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,cAAc,EAAE,CAAC;YACjB,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,sBAAsB,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC;QAED,wBAAwB;QACxB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,aAAa,EAAE,CAAC;YAChB,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,qBAAqB,CAAC,WAAW,GAAG,CAAC,qBAAqB,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC;QAED,aAAa;QACb,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,cAAc,EAAE,CAAC;YACjB,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,WAAW,GAAG,CAAC,mBAAmB,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC;QAED,mDAAmD;QACnD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,iBAAiB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;YACjD,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,sBAAsB;QACtB,qBAAqB;QACrB,mBAAmB;QACnB,eAAe,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,yBAAyB,EAAE,cAAc;QACzC,yBAAyB,EAAE,cAAc;QACzC,wBAAwB,EAAE,aAAa;QACvC,yBAAyB,EAAE,cAAc;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,QAAkB;IACzD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAEnC,wEAAwE;IACxE,kDAAkD;IAClD,2DAA2D;IAC3D,uEAAuE;IACvE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,IAAI,EAAE,CAAC;IAClD,IAAI,eAAe,GAAG,OAAO;SAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,yDAAyD;QACzD,eAAe,GAAG,OAAO;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,UAAU,IAAI,CAAC,CAAC,cAAc,KAAK,sBAAsB,IAAI,CAAC,CAAC,cAAc,KAAK,UAAU,CAAC;aAC9H,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAExC,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAEjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,gCAAgC;IAChC,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC;IACpC,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC;IACpC,MAAM,SAAS,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5E,IAAI,SAAS,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,OAAO,WAAW,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACvG,CAAC;aAAM,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChH,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,+DAA+D;IAC/D,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC;IAC9B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACnC,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,+DAA+D;QACjE,CAAC;aAAM,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC;IACtC,MAAM,SAAS,GAAG,EAAE,CAAC,gBAAgB,CAAC;IACtC,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC;QACpF,MAAM,GAAG,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7H,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC;IAChC,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC;IAChC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnH,CAAC;IAED,gCAAgC;IAChC,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC;IAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC;IAC9B,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC;IAClC,MAAM,KAAK,GAAG,EAAE,CAAC,gBAAgB,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC;IAC9B,MAAM,IAAI,GAAG,EAAE,CAAC,aAAa,CAAC;IAC9B,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,IAAI,GAAG,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC;IAC/B,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC;IAC/B,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;QACxE,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,gDAAgD;IAChD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,gCAAgC;IAChC,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC;YACnD,SAAS,CAAC,IAAI,CAAC,eAAe,IAAI,UAAU,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,SAAS,GAAG,GAAG,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;YAC/C,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,SAAS,GAAG,GAAG,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAC7C,SAAS,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC;YACjD,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,YAAY,GAAG,EAAE,CAAC,eAAe,CAAC;IACxC,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;QACpE,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,iBAAiB,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACtF,CAAC;IAED,wCAAwC;IACxC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBACnF,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC3B,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;oBAChE,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACtD,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC;oBAClE,MAAM,GAAG,QAAQ,EAAE,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,IAAI,cAAc,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBACvH,CAAC;gBACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,uBAAuB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,MAAM,GAAG,CAAC,CAAC;gBAC3H,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,oBAAoB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC;gBAC3H,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,iBAAiB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,qEAAqE;IACrE,wEAAwE;IAExE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IACpC,cAAc;IACd,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;IACjB,WAAW;IACX,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAC;IAChD,cAAc;IACd,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;CAClB,CAAC,CAAC;AAEH,SAAS,0BAA0B,CAAC,OAAsB,EAAE,QAAkB;IAC5E,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC;QAC1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAsB,EAAE,QAAkB,EAAE,QAAmB,EAAE,WAAqB;IACrH,mFAAmF;IACnF,MAAM,iBAAiB,GAA2F,EAAE,CAAC;IACrH,MAAM,iBAAiB,GAA2F,EAAE,CAAC;IAErH,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO;YAAE,SAAS;QAErD,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YACvE,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC5C,MAAM,SAAS,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7C,MAAM,WAAW,GAAG,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC5D,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,OAAO,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG;oBACZ,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,KAAK,EAAE,SAAS,CAAC,KAAK;oBACtB,SAAS,EAAE,SAAS,CAAC,MAAM;iBAC5B,CAAC;gBACF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBACrB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,+BAA+B;YACrC,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,gCAAgC;YACpE,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,+BAA+B;YACrC,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,iBAAiB,CAAC,MAAM,6BAA6B;YACjE,OAAO,EAAE,iBAAiB;SAC3B,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAsB,EAAE,QAAkB,EAAE,QAAmB,EAAE,WAAqB;IACjH,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,QAAQ;aACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE9D,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAChC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;gBACpB,YAAY,EAAE,CAAC;gBACf,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,YAAY,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;YAC9D,OAAO,EAAE,GAAG,YAAY,IAAI,OAAO,CAAC,MAAM,yBAAyB;YACnE,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;QACH,IAAI,YAAY,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,WAAW,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAsB,EAAE,QAAkB,EAAE,QAAmB,EAAE,WAAqB;IAC/G,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;YAC/C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,KAAK,KAAK,CAAC;gBAAE,SAAS;YACpD,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK;gBAAE,YAAY,EAAE,CAAC;YAC3D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,YAAY,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACtD,IAAI,YAAY,KAAK,YAAY,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE,EAAE,YAAY,EAAE;SAC1B,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,YAAY,KAAK,YAAY,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE,EAAE,YAAY,EAAE;SAC1B,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAc,EAAE,OAAsB,EAAE,QAAkB,EAAE,QAAmB,EAAE,WAAqB;IAC9H,6DAA6D;IAC7D,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO;IAE5B,8DAA8D;IAC9D,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,IAAI,IAAI,IAAI,CAAC,CAAC,iBAAiB,IAAI,IAAI;YAAE,SAAS;QAC/E,MAAM,MAAM,GAAG,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,iBAAiB,CAAC;QACzD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,iBAAiB,uCAAuC;gBAC1G,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,EAAE,MAAM,EAAE;aACpF,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YAC7E,OAAO,CAAC,oBAAoB;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,QAAkB,EAAE,QAAmB,EAAE,WAAqB;IACzG,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAChC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAErC,uDAAuD;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,mBAAmB;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,SAAS,GAAG,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAChE,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;YACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC;oBACxB,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI;oBACpF,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACvC,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACzC,IAAI,QAAQ,GAAG,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;YACtC,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC;gBACxC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC;oBACvB,CAAC,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;oBAC9F,CAAC,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACpG,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1B,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE;aACrG,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc,EAAE,QAAkB,EAAE,QAAmB,EAAE,WAAqB;IACxG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,YAAa,GAAG,CAAC,CAAC,CAAC;IACxG,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC;YAAE,SAAS;QAEjB,wBAAwB;QACxB,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,CAAC,eAAe,GAAG,GAAG,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACzG,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB;gBAChF,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE;aAC1F,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,EAAE,YAAY,IAAI,CAAC,KAAK,EAAE,YAAY;gBAAE,SAAS;YAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACpD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,MAAM;oBAChB,OAAO,EAAE,IAAI,GAAG,CAAC;wBACf,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,YAAY,OAAO,IAAI,CAAC,YAAY,GAAG;wBAC9F,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,YAAY,OAAO,IAAI,CAAC,YAAY,GAAG;oBAC1G,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,CAAC,YAAY,EAAE;iBACvH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAsB,EAAE,QAAkB,EAAE,QAAmB,EAAE,WAAqB;IACxH,MAAM,gBAAgB,GAAgF,EAAE,CAAC;IAEzG,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,EAAE,CAAC;YAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,OAAO;oBAAE,SAAS;gBAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBACzC,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7C,gBAAgB,CAAC,IAAI,CAAC;wBACpB,OAAO;wBACP,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,SAAS,EAAE,MAAM,CAAC,SAAS;wBAC3B,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;qBAC7B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAE1C,QAAQ,CAAC,IAAI,CAAC;QACZ,IAAI,EAAE,uBAAuB;QAC7B,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,OAAO,gBAAgB,CAAC,MAAM,wBAAwB;QAC/D,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACvC,CAAC,CAAC;IACH,WAAW,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,QAAkB,EAAE,QAAmB,EAAE,WAAqB;IAC1G,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IACvF,MAAM,uBAAuB,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACrH,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC,KAAK,EAAE,YAAY,IAAI,KAAK,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,gBAAgB,IAAI,CAAC,uBAAuB;QAAE,OAAO;IAE1D,MAAM,YAAY,GAAG,QAAQ;SAC1B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACjB,OAAO;QACP,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,iBAAiB,IAAI,CAAC;QAC3D,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,iBAAiB,IAAI,CAAC;QAC3D,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,IAAI,CAAC;QACjD,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe,IAAI,CAAC;KACxD,CAAC,CAAC;SACF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAEnD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,qBAAqB;YAC3B,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,GAAG,YAAY,CAAC,MAAM,mDAAmD;YAClF,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,SAAS,kCAAkC,CAAC,OAAsB,EAAE,QAAkB,EAAE,QAAmB,EAAE,WAAqB;IAChI,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,uBAAuB,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAChH,IAAI,CAAC,uBAAuB;QAAE,OAAO;IAErC,MAAM,SAAS,GAAwF,EAAE,CAAC;IAC1G,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC;QACzE,IAAI,CAAC,YAAY;YAAE,SAAS;QAE5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAErD,MAAM,MAAM,GAAc,EAAE,CAAC;YAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;gBACxE,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS;YAEhC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrE,SAAS,CAAC,IAAI,CAAC;gBACb,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO;aACR,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC;gBAAE,cAAc,EAAE,CAAC;iBACjC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBAAE,OAAO,EAAE,CAAC;;gBACrC,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAEjC,MAAM,kBAAkB,GAAG,MAAM,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,IAAI,kBAAkB,GAAG,GAAG,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,oCAAoC;YAC1C,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,oBAAoB,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;YAClF,OAAO,EAAE;gBACP,KAAK,EAAE,SAAS,CAAC,MAAM;gBACvB,cAAc;gBACd,OAAO;gBACP,OAAO;gBACP,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACjC;SACF,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,mCAAmC;YACzC,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,iBAAiB,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc;YAC7E,OAAO,EAAE;gBACP,KAAK,EAAE,SAAS,CAAC,MAAM;gBACvB,cAAc;gBACd,OAAO;gBACP,OAAO;aACR;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAsB,EAAE,QAAkB,EAAE,QAAmB;IACrF,MAAM,KAAK,GAAkD,EAAE,CAAC;IAChE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,UAAU,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAE7B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IACpE,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO;IAEtB,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC;YACZ,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,GAAG,SAAS,CAAC,MAAM,mBAAmB,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;YAC1E,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"report-diagnostics.js","sourceRoot":"","sources":["../../../src/analysis/report-diagnostics.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,7 +29,6 @@ export interface SampleIssue {
|
|
|
29
29
|
sample_id: string;
|
|
30
30
|
severity: 'error' | 'warning' | 'info';
|
|
31
31
|
kind: SampleIssueKind;
|
|
32
|
-
message: string;
|
|
33
32
|
/** Minimal evidence to make the issue actionable. */
|
|
34
33
|
evidence: Record<string, unknown>;
|
|
35
34
|
}
|
|
@@ -73,10 +72,14 @@ export declare function diagnoseSamples(report: Report, options?: DiagnoseOption
|
|
|
73
72
|
* `api-selection`, `apiSelection`, `API_Selection` 都归到 `apiselection`。
|
|
74
73
|
* 让 capability_thin / capabilityCoverage 不受拼写风格差异影响。 */
|
|
75
74
|
export declare function normalizeCapability(raw: string): string;
|
|
75
|
+
type DiagnosticLang = 'zh' | 'en';
|
|
76
|
+
export declare function formatSampleIssue(issue: SampleIssue, lang?: DiagnosticLang): string;
|
|
76
77
|
/**
|
|
77
78
|
* Plain-text formatter for `omk bench diagnose <reportId>`.
|
|
78
79
|
*/
|
|
79
80
|
export declare function formatSampleDiagnostics(diag: SampleDiagnosticReport, options?: {
|
|
80
81
|
topN?: number;
|
|
82
|
+
lang?: DiagnosticLang;
|
|
81
83
|
}): string;
|
|
84
|
+
export {};
|
|
82
85
|
//# sourceMappingURL=sample-diagnostics.d.ts.map
|