@tangle-network/agent-eval 0.173.3 → 0.174.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.
Files changed (125) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/{proposal-findings-bko3GGy-.js → abort-signal-CtzAM_sJ.js} +11 -11
  3. package/dist/abort-signal-CtzAM_sJ.js.map +1 -0
  4. package/dist/adapters/http.d.ts +2 -2
  5. package/dist/agent-profile-_xPxqVJt.d.ts +488 -0
  6. package/dist/agent-profile-_xPxqVJt.d.ts.map +1 -0
  7. package/dist/analyst/index.d.ts +7 -9
  8. package/dist/analyst/index.d.ts.map +1 -1
  9. package/dist/analyst/index.js +8 -8
  10. package/dist/{benchmark-C4wk_Sjr.js → benchmark-DQKzykkO.js} +2 -2
  11. package/dist/{benchmark-C4wk_Sjr.js.map → benchmark-DQKzykkO.js.map} +1 -1
  12. package/dist/{benchmark-command-BY9oscke.js → benchmark-command-mZIlR-ra.js} +13 -13
  13. package/dist/{benchmark-command-BY9oscke.js.map → benchmark-command-mZIlR-ra.js.map} +1 -1
  14. package/dist/benchmarks/index.d.ts +3 -4
  15. package/dist/benchmarks/index.d.ts.map +1 -1
  16. package/dist/benchmarks/index.js +3 -3
  17. package/dist/campaign/index.d.ts +5 -9
  18. package/dist/campaign/index.js +7 -7
  19. package/dist/{campaign-B3kPMU8S.js → campaign-BzMSCejE.js} +8 -8
  20. package/dist/{campaign-B3kPMU8S.js.map → campaign-BzMSCejE.js.map} +1 -1
  21. package/dist/cli.js +1 -1
  22. package/dist/{client-DlqdbM7n.d.ts → client-vyYQg3bm.d.ts} +2 -2
  23. package/dist/{client-DlqdbM7n.d.ts.map → client-vyYQg3bm.d.ts.map} +1 -1
  24. package/dist/contract/index.d.ts +9 -10
  25. package/dist/contract/index.js +8 -8
  26. package/dist/{default-registry-B0bKikCb.js → default-registry-CrAp0pYq.js} +4 -4
  27. package/dist/{default-registry-B0bKikCb.js.map → default-registry-CrAp0pYq.js.map} +1 -1
  28. package/dist/{default-registry-BKwc8bN5.d.ts → default-registry-FfNzaUHV.d.ts} +3 -3
  29. package/dist/{default-registry-BKwc8bN5.d.ts.map → default-registry-FfNzaUHV.d.ts.map} +1 -1
  30. package/dist/{define-agent-eval-CY6qdlGV.d.ts → define-agent-eval-V1jQyCDR.d.ts} +102 -11
  31. package/dist/define-agent-eval-V1jQyCDR.d.ts.map +1 -0
  32. package/dist/{define-agent-eval-8h3lXXee.js → define-agent-eval-ox5McL6e.js} +331 -144
  33. package/dist/define-agent-eval-ox5McL6e.js.map +1 -0
  34. package/dist/{dspy-rlm-engine-CF0t2ITD.js → dspy-rlm-engine-Caz2pl4L.js} +3 -3
  35. package/dist/{dspy-rlm-engine-CF0t2ITD.js.map → dspy-rlm-engine-Caz2pl4L.js.map} +1 -1
  36. package/dist/{engine-DhFir3Ys.d.ts → engine-CvW_I72-.d.ts} +2 -2
  37. package/dist/{engine-DhFir3Ys.d.ts.map → engine-CvW_I72-.d.ts.map} +1 -1
  38. package/dist/experiment/index.d.ts +1 -4
  39. package/dist/experiment/index.d.ts.map +1 -1
  40. package/dist/{external-optimizer-process-BwITA9Jp.js → external-optimizer-process-CxnFL1hd.js} +2 -2
  41. package/dist/{external-optimizer-process-BwITA9Jp.js.map → external-optimizer-process-CxnFL1hd.js.map} +1 -1
  42. package/dist/{external-optimizer-subprocess-wBWeoG6A.js → external-optimizer-subprocess-CQi27uEI.js} +2 -2
  43. package/dist/{external-optimizer-subprocess-wBWeoG6A.js.map → external-optimizer-subprocess-CQi27uEI.js.map} +1 -1
  44. package/dist/fuzz.js +1 -1
  45. package/dist/fuzz.js.map +1 -1
  46. package/dist/hosted/index.d.ts +1 -1
  47. package/dist/{index-BQqOjerE.d.ts → index-BTrx5s8m.d.ts} +8 -9
  48. package/dist/index-BTrx5s8m.d.ts.map +1 -0
  49. package/dist/{index-D0Db5X-4.d.ts → index-Bn-nlnSV.d.ts} +4 -4
  50. package/dist/{index-D0Db5X-4.d.ts.map → index-Bn-nlnSV.d.ts.map} +1 -1
  51. package/dist/index-DKXuBPXf.d.ts +3840 -0
  52. package/dist/index-DKXuBPXf.d.ts.map +1 -0
  53. package/dist/index.d.ts +11 -13
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +10 -10
  56. package/dist/{kind-factory-gP6lDySe.js → kind-factory-BLvL-E44.js} +2 -2
  57. package/dist/{kind-factory-gP6lDySe.js.map → kind-factory-BLvL-E44.js.map} +1 -1
  58. package/dist/{llm-judge-BfqMFo4h.js → llm-judge-DmNaBrXB.js} +2541 -2435
  59. package/dist/llm-judge-DmNaBrXB.js.map +1 -0
  60. package/dist/{matrix-DGu8KhSs.d.ts → matrix-CJtXz1ky.d.ts} +2 -2
  61. package/dist/{matrix-DGu8KhSs.d.ts.map → matrix-CJtXz1ky.d.ts.map} +1 -1
  62. package/dist/multishot/golden/index.d.ts +1 -1
  63. package/dist/multishot/index.d.ts +2 -2
  64. package/dist/openapi.json +1 -1
  65. package/dist/{produced-state-D91uDvQw.js → produced-state-B8mw6zj9.js} +2 -2
  66. package/dist/{produced-state-D91uDvQw.js.map → produced-state-B8mw6zj9.js.map} +1 -1
  67. package/dist/rl.d.ts +1 -1
  68. package/dist/rl.d.ts.map +1 -1
  69. package/dist/rl.js.map +1 -1
  70. package/dist/{semantic-concept-judge-Dok7_35a.js → semantic-concept-judge-E3s_fEjB.js} +3 -3
  71. package/dist/{semantic-concept-judge-Dok7_35a.js.map → semantic-concept-judge-E3s_fEjB.js.map} +1 -1
  72. package/dist/{skillopt-optimization-method-DDw3v3gA.js → skillopt-optimization-method-f7399oGb.js} +5 -5
  73. package/dist/{skillopt-optimization-method-DDw3v3gA.js.map → skillopt-optimization-method-f7399oGb.js.map} +1 -1
  74. package/dist/statistical-heldout-Cqb73yE9.d.ts +1127 -0
  75. package/dist/statistical-heldout-Cqb73yE9.d.ts.map +1 -0
  76. package/dist/{store-otlp-Dow0pk_5.js → store-otlp-DV_H2HDu.js} +2 -2
  77. package/dist/{store-otlp-Dow0pk_5.js.map → store-otlp-DV_H2HDu.js.map} +1 -1
  78. package/dist/{store-tool-spans-CCZNsihA.d.ts → store-tool-spans-4o55ABER.d.ts} +3 -3
  79. package/dist/{store-tool-spans-CCZNsihA.d.ts.map → store-tool-spans-4o55ABER.d.ts.map} +1 -1
  80. package/dist/{store-tool-spans-CeNj_m2L.js → store-tool-spans-B9tjys_h.js} +3 -3
  81. package/dist/{store-tool-spans-CeNj_m2L.js.map → store-tool-spans-B9tjys_h.js.map} +1 -1
  82. package/dist/{task-failure-attributes-CZjZeBsY.js → task-failure-attributes-CUy9mkIY.js} +2 -2
  83. package/dist/{task-failure-attributes-CZjZeBsY.js.map → task-failure-attributes-CUy9mkIY.js.map} +1 -1
  84. package/dist/{tool-groups-Cp4Xdzrp.d.ts → tool-groups-DAe1t6zb.d.ts} +2 -2
  85. package/dist/tool-groups-DAe1t6zb.d.ts.map +1 -0
  86. package/dist/trace-repair/index.d.ts +1 -1
  87. package/dist/traces.d.ts +2 -2
  88. package/dist/traces.js +4 -4
  89. package/dist/{types-Ba5UQyVD.d.ts → types-BJz2CPTM.d.ts} +2 -2
  90. package/dist/{types-Ba5UQyVD.d.ts.map → types-BJz2CPTM.d.ts.map} +1 -1
  91. package/dist/{types-CiWITkGo.js → types-DQ0e2E7y.js} +2 -2
  92. package/dist/types-DQ0e2E7y.js.map +1 -0
  93. package/dist/{types-BDV4PiMR.d.ts → types-Dd1ejaeI.d.ts} +2 -2
  94. package/dist/{types-BDV4PiMR.d.ts.map → types-Dd1ejaeI.d.ts.map} +1 -1
  95. package/docs/campaign-proposers.md +42 -0
  96. package/package.json +1 -1
  97. package/dist/agent-profile-B9_GGsG8.d.ts +0 -84
  98. package/dist/agent-profile-B9_GGsG8.d.ts.map +0 -1
  99. package/dist/backend-integrity-CeuTgqsd.d.ts +0 -280
  100. package/dist/backend-integrity-CeuTgqsd.d.ts.map +0 -1
  101. package/dist/benchmark-BjLGkfnN.d.ts +0 -236
  102. package/dist/benchmark-BjLGkfnN.d.ts.map +0 -1
  103. package/dist/define-agent-eval-8h3lXXee.js.map +0 -1
  104. package/dist/define-agent-eval-CY6qdlGV.d.ts.map +0 -1
  105. package/dist/external-optimizer-contracts-CQCpyrIL.d.ts +0 -172
  106. package/dist/external-optimizer-contracts-CQCpyrIL.d.ts.map +0 -1
  107. package/dist/heldout-gate-Df5hsqmm.d.ts +0 -453
  108. package/dist/heldout-gate-Df5hsqmm.d.ts.map +0 -1
  109. package/dist/index-BQqOjerE.d.ts.map +0 -1
  110. package/dist/index-CFDffsKz.d.ts +0 -1135
  111. package/dist/index-CFDffsKz.d.ts.map +0 -1
  112. package/dist/llm-judge-BfqMFo4h.js.map +0 -1
  113. package/dist/power-preflight-Ptse_Kq7.d.ts +0 -117
  114. package/dist/power-preflight-Ptse_Kq7.d.ts.map +0 -1
  115. package/dist/pre-registration-BoI4ucR3.d.ts +0 -592
  116. package/dist/pre-registration-BoI4ucR3.d.ts.map +0 -1
  117. package/dist/promotion-policy-CvMda3kU.d.ts +0 -134
  118. package/dist/promotion-policy-CvMda3kU.d.ts.map +0 -1
  119. package/dist/proposal-findings-bko3GGy-.js.map +0 -1
  120. package/dist/provenance-CRY67X50.d.ts +0 -1995
  121. package/dist/provenance-CRY67X50.d.ts.map +0 -1
  122. package/dist/statistical-heldout-DTyB_6-1.d.ts +0 -295
  123. package/dist/statistical-heldout-DTyB_6-1.d.ts.map +0 -1
  124. package/dist/tool-groups-Cp4Xdzrp.d.ts.map +0 -1
  125. package/dist/types-CiWITkGo.js.map +0 -1
@@ -1,134 +0,0 @@
1
- import { d as PairedBootstrapResult, i as PairedMcNemarEvidence, r as PairedDecisionStatistic, t as PairedDecisionMethod } from "./paired-promotion-decision-CGzg0cI_.js";
2
- import { R as Scenario, h as GateContext, p as Gate, v as GateResult } from "./types-Ba5UQyVD.js";
3
- import { i as Direction } from "./power-preflight-Ptse_Kq7.js";
4
- //#region src/campaign/gates/promotion-policy.d.ts
5
- /** Where an objective's per-cell scalar comes from. `composite` reads the
6
- * judge's composite; `dimension` reads a named per-dimension score. */
7
- type ObjectiveSource = {
8
- kind: 'composite';
9
- } | {
10
- kind: 'dimension';
11
- dimension: string;
12
- };
13
- interface PromotionObjective {
14
- /** Stable label used in reports + `contributingGates`. */
15
- name: string;
16
- source: ObjectiveSource;
17
- /** 'maximize' (quality dims) or 'minimize' (error/risk/length dims). Orients
18
- * the paired delta so a positive bootstrap always means "candidate better". */
19
- direction: Direction;
20
- /** The good-direction paired-delta CI lower bound must EXCEED this to count
21
- * as a significant gain on this axis. Interpreted in the judge's native
22
- * scale. Default 0 (⇒ "confidently better"). */
23
- gainThreshold?: number;
24
- /** A floor breach (regression) is declared when the good-direction CI lower
25
- * bound is below −floorTolerance, or when the exact small-sample test proves
26
- * a drop past it. When omitted it auto-scales off observed magnitudes
27
- * (0.05 on [0,1], 5 on 0-100), matching `dimensionRegressions`. */
28
- floorTolerance?: number;
29
- }
30
- /** Per-axis verdict from the good-direction paired bootstrap. */
31
- type AxisVerdict = 'improved' | 'regressed' | 'flat' | 'few_runs';
32
- interface AxisEvidence {
33
- name: string;
34
- source: ObjectiveSource;
35
- direction: Direction;
36
- /** Paired bootstrap on the GOOD-DIRECTION delta (oriented by `direction`):
37
- * a positive value means the candidate is better on this axis.
38
- *
39
- * DIAGNOSTIC on a pass/fail axis: there the verdict is decided on Tango's
40
- * score interval instead, because a percentile bootstrap over a three-atom
41
- * delta lattice is not a valid interval at the nonzero margin `floorTolerance`
42
- * and `gainThreshold` create. `ci` carries the interval that decided. */
43
- bootstrap: PairedBootstrapResult;
44
- /** Which paired statistic `bootstrap.low`/`.high` bracket. `'mean'` unless the
45
- * caller asked for the median — on a pass/fail axis the median and its whole
46
- * CI are pinned at 0 by tie domination and can see neither a gain nor a
47
- * regression. `bootstrap.median` still carries the median point estimate. */
48
- bootstrapStatistic: 'median' | 'mean';
49
- /** The interval the axis verdict was actually decided on, good-direction and
50
- * in the axis's native units. */
51
- ci: {
52
- low: number;
53
- high: number;
54
- };
55
- /** Which estimator produced `ci`. */
56
- decisionStatistic: PairedDecisionStatistic;
57
- /** McNemar's exact evidence on a pass/fail axis; null otherwise. */
58
- mcnemar: PairedMcNemarEvidence | null;
59
- /** `ci` has zero width — no evidence in either direction, so the axis is
60
- * neither improved nor regressed however the point estimate sits. */
61
- indeterminate: boolean;
62
- /** Paired observations contributing to this axis. */
63
- n: number;
64
- minimumRequired: number;
65
- decisionMethod: PairedDecisionMethod;
66
- gainThreshold: number;
67
- floorTolerance: number;
68
- verdict: AxisVerdict;
69
- }
70
- interface EvidenceVector {
71
- /** One entry per objective — NOTHING averaged across axes. */
72
- axes: AxisEvidence[];
73
- /** Smallest paired n across axes that produced observations — the binding
74
- * evidence-sufficiency constraint. 0 when no axis produced observations. */
75
- minN: number;
76
- /** Aggregate per-side cost from the gate context (a constraint input, not a
77
- * CI axis — see the module header). */
78
- cost: {
79
- candidate: number;
80
- baseline: number;
81
- };
82
- }
83
- /** A promotion strategy: a pure function from the evidence vector to a verdict.
84
- * Many policies can run over the same `EvidenceVector` and disagree — that's
85
- * the point (competing strategies, shared evidence). */
86
- type PromotionPolicy = (ev: EvidenceVector) => GateResult;
87
- interface BuildEvidenceVectorOptions {
88
- /** Minimum paired observations before an axis can claim significance; below
89
- * it the axis is `few_runs`. The exact small-sample test may require more
90
- * observations at the selected confidence. */
91
- minProductiveRuns?: number;
92
- /** Confidence level for every axis bootstrap. Default 0.95. */
93
- confidence?: number;
94
- /** Bootstrap resamples. Default 2000. */
95
- resamples?: number;
96
- /** Fixed bootstrap seed for a deterministic, reproducible verdict. Default 1337. */
97
- seed?: number;
98
- /** Paired statistic every axis CI is computed on. Default `'mean'` — see
99
- * {@link DECISION_PAIRED_DELTA_STATISTIC} for why the median is not. */
100
- statistic?: 'mean' | 'median';
101
- }
102
- /**
103
- * The Evidence Bus. For each objective, pair candidate vs baseline by full
104
- * cellId and bootstrap a CI on the good-direction paired delta. Reuses the
105
- * exact `pairHoldout` + `pairedBootstrap` machinery the held-out gate uses, so
106
- * a single source of truth governs pairing granularity + scale handling.
107
- */
108
- declare function buildEvidenceVector<TArtifact, TScenario extends Scenario>(ctx: GateContext<TArtifact, TScenario>, objectives: PromotionObjective[], opts?: BuildEvidenceVectorOptions): EvidenceVector;
109
- /**
110
- * The default strategy: symmetric multi-objective Pareto significance. Ship iff
111
- * the candidate weakly dominates the baseline at the confidence level — no axis
112
- * credibly worse AND ≥1 axis credibly better. Floor breach on any axis → hold
113
- * (anti-Goodhart, dominates everything). Insufficient evidence on any axis →
114
- * need_more_work. Statistically equivalent → hold (never ship noise).
115
- */
116
- declare const paretoPolicy: PromotionPolicy;
117
- interface ParetoSignificanceGateOptions extends BuildEvidenceVectorOptions {
118
- /** The objective vector. Every axis is both a gain source and a safety floor. */
119
- objectives: PromotionObjective[];
120
- /** Strategy applied to the evidence vector. Default `paretoPolicy`. Override
121
- * to run a stricter/looser strategy over the SAME bus (competing policies). */
122
- policy?: PromotionPolicy;
123
- /** Override the gate name in reports. */
124
- name?: string;
125
- }
126
- /**
127
- * Wrap the bus + a policy as a `Gate`. Plugs into the existing
128
- * `runImprovementLoop({ gate })` slot and composes via `composeGate`; default
129
- * loop behavior is unchanged because consumers opt in by passing this gate.
130
- */
131
- declare function paretoSignificanceGate<TArtifact = unknown, TScenario extends Scenario = Scenario>(options: ParetoSignificanceGateOptions): Gate<TArtifact, TScenario>;
132
- //#endregion
133
- export { ObjectiveSource as a, PromotionPolicy as c, paretoSignificanceGate as d, EvidenceVector as i, buildEvidenceVector as l, AxisVerdict as n, ParetoSignificanceGateOptions as o, BuildEvidenceVectorOptions as r, PromotionObjective as s, AxisEvidence as t, paretoPolicy as u };
134
- //# sourceMappingURL=promotion-policy-CvMda3kU.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promotion-policy-CvMda3kU.d.ts","names":[],"sources":["../src/campaign/gates/promotion-policy.ts"],"mappings":";;;;;;KA0CY;EAAoB;;EAAwB;EAAmB;;UAE1D;;EAEf;EACA,QAAQ;;;EAGR,WAAW;;;;EAIX;;;;;EAKA;;;KAIU;UAEK;EACf;EACA,QAAQ;EACR,WAAW;;;;;;;;EAQX,WAAW;;;;;EAKX;;;EAGA;IAAM;IAAa;;;EAEnB,mBAAmB;;EAEnB,SAAS;;;EAGT;;EAEA;EACA;EACA,gBAAgB;EAChB;EACA;EACA,SAAS;;UAGM;;EAEf,MAAM;;;EAGN;;;EAGA;IAAQ;IAAmB;;;;;;KAMjB,mBAAmB,IAAI,mBAAmB;UAErC;;;;EAIf;;EAEA;;EAEA;;EAEA;;;EAGA;;;;;;;;iBASc,oBAAoB,WAAW,kBAAkB,UAC/D,KAAK,YAAY,WAAW,YAC5B,YAAY,sBACZ,OAAM,6BACL;;;;;;;;cAwIU,cAAc;UAiFV,sCAAsC;;EAErD,YAAY;;;EAGZ,SAAS;;EAET;;;;;;;iBAQc,uBAAuB,qBAAqB,kBAAkB,WAAW,UACvF,SAAS,gCACR,KAAK,WAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposal-findings-bko3GGy-.js","names":[],"sources":["../src/abort-signal.ts","../src/analyst/proposal-findings.ts"],"sourcesContent":["/** Combine active cancellation sources without wrapping a single source. */\nexport function combineAbortSignals(\n ...signals: Array<AbortSignal | undefined>\n): AbortSignal | undefined {\n const active = [\n ...new Set(signals.filter((signal): signal is AbortSignal => signal !== undefined)),\n ]\n if (active.length === 0) return undefined\n if (active.length === 1) return active[0]\n return AbortSignal.any(active)\n}\n","import { z } from 'zod'\nimport type { ProposalFinding } from './types'\n\nconst ProposalFindingSchema = z\n .object({\n schema_version: z.literal('1.0.0'),\n finding_id: z.string().min(1),\n analyst_id: z.string().min(1),\n produced_at: z.string().min(1),\n severity: z.enum(['critical', 'high', 'medium', 'low', 'info']),\n area: z.string().min(1),\n claim: z.string().min(1),\n rationale: z.string().optional(),\n evidence_refs: z.array(\n z\n .object({\n kind: z.enum(['span', 'event', 'artifact', 'finding', 'metric']),\n uri: z.string().min(1),\n excerpt: z.string().optional(),\n })\n .strict(),\n ),\n recommended_action: z.string().optional(),\n validation_plan: z.string().optional(),\n confidence: z.number().min(0).max(1),\n subject: z.string().optional(),\n derived_from_judge: z.boolean().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n proposal_origin: z.enum(['search', 'production']),\n })\n .strict() satisfies z.ZodType<ProposalFinding>\n\n/** True when a finding names a source candidate generation may learn from. */\nexport function isProposalFinding(finding: unknown): finding is ProposalFinding {\n return ProposalFindingSchema.safeParse(finding).success\n}\n\n/**\n * Reject findings whose source has not been explicitly admitted for candidate\n * generation. Search feedback and observed production behavior are allowed;\n * final evaluation data has no allowed origin.\n */\nexport function assertProposalFindings(\n findings: unknown,\n context = 'proposal findings',\n): ReadonlyArray<ProposalFinding> {\n if (!Array.isArray(findings)) {\n throw new TypeError(`${context}: expected an array`)\n }\n const rejected = findings.flatMap((finding, index) =>\n isProposalFinding(finding) ? [] : [findingLabel(finding, index)],\n )\n if (rejected.length > 0) {\n throw new Error(\n `${context}: every finding must match AnalystFinding and declare ` +\n `proposal_origin as search or production. ` +\n `Rejected findings: [${rejected.join(', ')}].`,\n )\n }\n return findings as ReadonlyArray<ProposalFinding>\n}\n\nfunction findingLabel(finding: unknown, index: number): string {\n if (typeof finding !== 'object' || finding === null) return `index ${index}`\n const id = (finding as { finding_id?: unknown }).finding_id\n return typeof id === 'string' && id.length > 0 ? id : `index ${index}`\n}\n"],"mappings":";;;AACA,SAAgB,oBACd,GAAG,SACsB;CACzB,MAAM,SAAS,CACb,GAAG,IAAI,IAAI,QAAQ,QAAQ,WAAkC,WAAW,KAAA,CAAS,CAAC,CACpF;CACA,IAAI,OAAO,WAAW,GAAG,OAAO,KAAA;CAChC,IAAI,OAAO,WAAW,GAAG,OAAO,OAAO;CACvC,OAAO,YAAY,IAAI,MAAM;AAC/B;;;ACPA,MAAM,wBAAwB,EAC3B,OAAO;CACN,gBAAgB,EAAE,QAAQ,OAAO;CACjC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CAC5B,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CAC5B,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CAC7B,UAAU,EAAE,KAAK;EAAC;EAAY;EAAQ;EAAU;EAAO;CAAM,CAAC;CAC9D,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CACtB,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;CACvB,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS;CAC/B,eAAe,EAAE,MACf,EACG,OAAO;EACN,MAAM,EAAE,KAAK;GAAC;GAAQ;GAAS;GAAY;GAAW;EAAQ,CAAC;EAC/D,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;EACrB,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS;CAC/B,CAAC,CAAC,CACD,OAAO,CACZ;CACA,oBAAoB,EAAE,OAAO,CAAC,CAAC,SAAS;CACxC,iBAAiB,EAAE,OAAO,CAAC,CAAC,SAAS;CACrC,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;CACnC,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS;CAC7B,oBAAoB,EAAE,QAAQ,CAAC,CAAC,SAAS;CACzC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;CACrD,iBAAiB,EAAE,KAAK,CAAC,UAAU,YAAY,CAAC;AAClD,CAAC,CAAC,CACD,OAAO;;AAGV,SAAgB,kBAAkB,SAA8C;CAC9E,OAAO,sBAAsB,UAAU,OAAO,CAAC,CAAC;AAClD;;;;;;AAOA,SAAgB,uBACd,UACA,UAAU,qBACsB;CAChC,IAAI,CAAC,MAAM,QAAQ,QAAQ,GACzB,MAAM,IAAI,UAAU,GAAG,QAAQ,oBAAoB;CAErD,MAAM,WAAW,SAAS,SAAS,SAAS,UAC1C,kBAAkB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,SAAS,KAAK,CAAC,CACjE;CACA,IAAI,SAAS,SAAS,GACpB,MAAM,IAAI,MACR,GAAG,QAAQ,qHAEc,SAAS,KAAK,IAAI,EAAE,GAC/C;CAEF,OAAO;AACT;AAEA,SAAS,aAAa,SAAkB,OAAuB;CAC7D,IAAI,OAAO,YAAY,YAAY,YAAY,MAAM,OAAO,SAAS;CACrE,MAAM,KAAM,QAAqC;CACjD,OAAO,OAAO,OAAO,YAAY,GAAG,SAAS,IAAI,KAAK,SAAS;AACjE"}