fastrmemory 0.5.0 → 0.6.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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +2 -2
- package/.cursor/skills/skills.json +1 -1
- package/README.md +40 -30
- package/dist/bin/fastr.js +122 -14
- package/dist/bin/fastr.js.map +1 -1
- package/dist/src/bench/harness.d.ts.map +1 -1
- package/dist/src/bench/harness.js +4 -0
- package/dist/src/bench/harness.js.map +1 -1
- package/dist/src/bench/marker-corpus.d.ts +98 -0
- package/dist/src/bench/marker-corpus.d.ts.map +1 -0
- package/dist/src/bench/marker-corpus.js +306 -0
- package/dist/src/bench/marker-corpus.js.map +1 -0
- package/dist/src/bench/mcp-stdio.d.ts +55 -0
- package/dist/src/bench/mcp-stdio.d.ts.map +1 -0
- package/dist/src/bench/mcp-stdio.js +146 -0
- package/dist/src/bench/mcp-stdio.js.map +1 -0
- package/dist/src/bench/public-datasets.d.ts +2 -0
- package/dist/src/bench/public-datasets.d.ts.map +1 -1
- package/dist/src/bench/public-datasets.js +2 -1
- package/dist/src/bench/public-datasets.js.map +1 -1
- package/dist/src/bench/public-harness.d.ts +14 -0
- package/dist/src/bench/public-harness.d.ts.map +1 -1
- package/dist/src/bench/public-harness.js +83 -8
- package/dist/src/bench/public-harness.js.map +1 -1
- package/dist/src/bench/public-pins.js +5 -5
- package/dist/src/bench/public-pins.js.map +1 -1
- package/dist/src/bench/split.d.ts +33 -0
- package/dist/src/bench/split.d.ts.map +1 -0
- package/dist/src/bench/split.js +56 -0
- package/dist/src/bench/split.js.map +1 -0
- package/dist/src/bench/stats.d.ts +40 -0
- package/dist/src/bench/stats.d.ts.map +1 -0
- package/dist/src/bench/stats.js +99 -0
- package/dist/src/bench/stats.js.map +1 -0
- package/dist/src/bench/vs-engines.d.ts +51 -0
- package/dist/src/bench/vs-engines.d.ts.map +1 -0
- package/dist/src/bench/vs-engines.js +121 -0
- package/dist/src/bench/vs-engines.js.map +1 -0
- package/dist/src/config.d.ts +33 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +84 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/db/doctor.d.ts +8 -0
- package/dist/src/db/doctor.d.ts.map +1 -1
- package/dist/src/db/doctor.js +65 -1
- package/dist/src/db/doctor.js.map +1 -1
- package/dist/src/db/fts-queue.d.ts +35 -0
- package/dist/src/db/fts-queue.d.ts.map +1 -0
- package/dist/src/db/fts-queue.js +78 -0
- package/dist/src/db/fts-queue.js.map +1 -0
- package/dist/src/db/repository.d.ts +63 -1
- package/dist/src/db/repository.d.ts.map +1 -1
- package/dist/src/db/repository.js +244 -50
- package/dist/src/db/repository.js.map +1 -1
- package/dist/src/db/schema.d.ts +1 -1
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +63 -2
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/installer/copilot.d.ts +21 -0
- package/dist/src/installer/copilot.d.ts.map +1 -1
- package/dist/src/installer/copilot.js +72 -1
- package/dist/src/installer/copilot.js.map +1 -1
- package/dist/src/installer/gemini.d.ts +13 -0
- package/dist/src/installer/gemini.d.ts.map +1 -1
- package/dist/src/installer/gemini.js +64 -1
- package/dist/src/installer/gemini.js.map +1 -1
- package/dist/src/installer/hooks.d.ts +42 -5
- package/dist/src/installer/hooks.d.ts.map +1 -1
- package/dist/src/installer/hooks.js +270 -62
- package/dist/src/installer/hooks.js.map +1 -1
- package/dist/src/installer/json-config.d.ts +25 -1
- package/dist/src/installer/json-config.d.ts.map +1 -1
- package/dist/src/installer/json-config.js +95 -2
- package/dist/src/installer/json-config.js.map +1 -1
- package/dist/src/installer/mcp-init.d.ts.map +1 -1
- package/dist/src/installer/mcp-init.js +5 -6
- package/dist/src/installer/mcp-init.js.map +1 -1
- package/dist/src/installer/opencode.d.ts +18 -0
- package/dist/src/installer/opencode.d.ts.map +1 -1
- package/dist/src/installer/opencode.js +81 -1
- package/dist/src/installer/opencode.js.map +1 -1
- package/dist/src/installer/setup.d.ts +7 -0
- package/dist/src/installer/setup.d.ts.map +1 -1
- package/dist/src/installer/setup.js +32 -0
- package/dist/src/installer/setup.js.map +1 -1
- package/dist/src/mcp/profiles.d.ts +9 -6
- package/dist/src/mcp/profiles.d.ts.map +1 -1
- package/dist/src/mcp/profiles.js +12 -9
- package/dist/src/mcp/profiles.js.map +1 -1
- package/dist/src/mcp/server.d.ts +1 -1
- package/dist/src/mcp/server.d.ts.map +1 -1
- package/dist/src/mcp/server.js +80 -0
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/search/aggregate.d.ts +24 -0
- package/dist/src/search/aggregate.d.ts.map +1 -0
- package/dist/src/search/aggregate.js +59 -0
- package/dist/src/search/aggregate.js.map +1 -0
- package/dist/src/search/backfill.d.ts.map +1 -1
- package/dist/src/search/backfill.js +7 -2
- package/dist/src/search/backfill.js.map +1 -1
- package/dist/src/search/budget.d.ts +2 -0
- package/dist/src/search/budget.d.ts.map +1 -1
- package/dist/src/search/budget.js.map +1 -1
- package/dist/src/search/embeddings.d.ts +35 -2
- package/dist/src/search/embeddings.d.ts.map +1 -1
- package/dist/src/search/embeddings.js +128 -5
- package/dist/src/search/embeddings.js.map +1 -1
- package/dist/src/search/hybrid-rrf.d.ts +45 -0
- package/dist/src/search/hybrid-rrf.d.ts.map +1 -1
- package/dist/src/search/hybrid-rrf.js +212 -56
- package/dist/src/search/hybrid-rrf.js.map +1 -1
- package/dist/src/search/static-model-install.d.ts +43 -0
- package/dist/src/search/static-model-install.d.ts.map +1 -0
- package/dist/src/search/static-model-install.js +112 -0
- package/dist/src/search/static-model-install.js.map +1 -0
- package/dist/src/search/static-model.d.ts +63 -0
- package/dist/src/search/static-model.d.ts.map +1 -0
- package/dist/src/search/static-model.js +244 -0
- package/dist/src/search/static-model.js.map +1 -0
- package/dist/src/search/temporal.d.ts +32 -0
- package/dist/src/search/temporal.d.ts.map +1 -0
- package/dist/src/search/temporal.js +164 -0
- package/dist/src/search/temporal.js.map +1 -0
- package/llms-install.md +3 -3
- package/package.json +5 -1
- package/server.json +1 -1
- package/skills/skills.json +1 -1
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic marker corpus for the cross-engine comparison.
|
|
3
|
+
*
|
|
4
|
+
* LongMemEval cannot be used for the cross-engine run: its haystack is 29.8 MB for 60
|
|
5
|
+
* cases (p50 document 10,445 characters, max 42,929), so ingesting it through the MCP
|
|
6
|
+
* stdio surface costs roughly 2,900 round trips per engine, and truncating the sessions
|
|
7
|
+
* to make that affordable would destroy answerability. This corpus keeps the property
|
|
8
|
+
* that matters for a retrieval comparison - one identifiable memory among many - while
|
|
9
|
+
* staying small enough to run through the same surface an agent actually uses.
|
|
10
|
+
*
|
|
11
|
+
* Every document starts with a unique marker. Scoring asks one question: did the marker
|
|
12
|
+
* for the gold document appear in the context the engine returned? That works across
|
|
13
|
+
* three engines whose output formats have nothing in common, and putting the marker at
|
|
14
|
+
* position 0 means an engine that truncates content still returns it.
|
|
15
|
+
*
|
|
16
|
+
* Three query tiers, reported separately and never collapsed into one headline:
|
|
17
|
+
*
|
|
18
|
+
* exact - the system name and the problem word, both present in the gold document.
|
|
19
|
+
* multi - the system name, a symptom shared by ~22 documents, and an event shared
|
|
20
|
+
* by ~171 documents. Only the gold document has all three.
|
|
21
|
+
* paraphrase - the system name and a synonym that appears in no document at all, so a
|
|
22
|
+
* lexical engine has no signal for the discriminating term.
|
|
23
|
+
*/
|
|
24
|
+
import { createHash } from 'node:crypto';
|
|
25
|
+
export const MARKER_TIERS = ['exact', 'multi', 'paraphrase'];
|
|
26
|
+
/** 30 systems. Every system name is unique and appears in exactly 40 documents. */
|
|
27
|
+
export const MARKER_SYSTEMS = [
|
|
28
|
+
'auth-service',
|
|
29
|
+
'billing-worker',
|
|
30
|
+
'checkout-api',
|
|
31
|
+
'search-indexer',
|
|
32
|
+
'notification-hub',
|
|
33
|
+
'user-profile',
|
|
34
|
+
'admin-console',
|
|
35
|
+
'payment-gateway',
|
|
36
|
+
'inventory-sync',
|
|
37
|
+
'order-pipeline',
|
|
38
|
+
'analytics-collector',
|
|
39
|
+
'report-builder',
|
|
40
|
+
'file-uploader',
|
|
41
|
+
'image-resizer',
|
|
42
|
+
'email-dispatcher',
|
|
43
|
+
'sms-gateway',
|
|
44
|
+
'webhook-relay',
|
|
45
|
+
'session-store',
|
|
46
|
+
'cache-proxy',
|
|
47
|
+
'rate-limiter',
|
|
48
|
+
'audit-logger',
|
|
49
|
+
'feature-flags',
|
|
50
|
+
'cron-scheduler',
|
|
51
|
+
'job-queue',
|
|
52
|
+
'metrics-agent',
|
|
53
|
+
'trace-collector',
|
|
54
|
+
'config-loader',
|
|
55
|
+
'secret-rotator',
|
|
56
|
+
'backup-runner',
|
|
57
|
+
'migration-tool'
|
|
58
|
+
];
|
|
59
|
+
/** 40 problem words. The synonym is used only in paraphrase queries and in no document. */
|
|
60
|
+
export const MARKER_PROBLEMS = [
|
|
61
|
+
{ term: 'timeout', synonym: 'standstill' },
|
|
62
|
+
{ term: 'crash', synonym: 'implosion' },
|
|
63
|
+
{ term: 'leak', synonym: 'seepage' },
|
|
64
|
+
{ term: 'race', synonym: 'contretemps' },
|
|
65
|
+
{ term: 'deadlock', synonym: 'gridlock' },
|
|
66
|
+
{ term: 'corruption', synonym: 'mangling' },
|
|
67
|
+
{ term: 'overflow', synonym: 'spillover' },
|
|
68
|
+
{ term: 'regression', synonym: 'backslide' },
|
|
69
|
+
{ term: 'latency', synonym: 'sluggishness' },
|
|
70
|
+
{ term: 'backlog', synonym: 'pileup' },
|
|
71
|
+
{ term: 'throttling', synonym: 'strangling' },
|
|
72
|
+
{ term: 'retry', synonym: 'reattempt' },
|
|
73
|
+
{ term: 'duplication', synonym: 'cloning' },
|
|
74
|
+
{ term: 'truncation', synonym: 'clipping' },
|
|
75
|
+
{ term: 'encoding', synonym: 'transliteration' },
|
|
76
|
+
{ term: 'ordering', synonym: 'sequencing' },
|
|
77
|
+
{ term: 'staleness', synonym: 'decrepitude' },
|
|
78
|
+
{ term: 'exhaustion', synonym: 'depletion' },
|
|
79
|
+
{ term: 'mismatch', synonym: 'divergence' },
|
|
80
|
+
{ term: 'rollback', synonym: 'reversion' },
|
|
81
|
+
{ term: 'migration', synonym: 'transplant' },
|
|
82
|
+
{ term: 'partition', synonym: 'segmentation' },
|
|
83
|
+
{ term: 'replication', synonym: 'mirroring' },
|
|
84
|
+
{ term: 'serialization', synonym: 'marshalling' },
|
|
85
|
+
{ term: 'authentication', synonym: 'credentialing' },
|
|
86
|
+
{ term: 'authorization', synonym: 'entitlement' },
|
|
87
|
+
{ term: 'validation', synonym: 'vetting' },
|
|
88
|
+
{ term: 'sanitization', synonym: 'scrubbing' },
|
|
89
|
+
{ term: 'pagination', synonym: 'leafing' },
|
|
90
|
+
{ term: 'caching', synonym: 'hoarding' },
|
|
91
|
+
{ term: 'batching', synonym: 'bundling' },
|
|
92
|
+
{ term: 'compression', synonym: 'squeezing' },
|
|
93
|
+
{ term: 'encryption', synonym: 'ciphering' },
|
|
94
|
+
{ term: 'indexing', synonym: 'cataloguing' },
|
|
95
|
+
{ term: 'scheduling', synonym: 'timetabling' },
|
|
96
|
+
{ term: 'routing', synonym: 'wayfinding' },
|
|
97
|
+
{ term: 'sharding', synonym: 'fragmenting' },
|
|
98
|
+
{ term: 'checkpointing', synonym: 'bookmarking' },
|
|
99
|
+
{ term: 'reconciliation', synonym: 'rebalancing' },
|
|
100
|
+
{ term: 'observability', synonym: 'instrumentation' }
|
|
101
|
+
];
|
|
102
|
+
/**
|
|
103
|
+
* 54 symptom phrases, assigned so each one lands in about 22 documents. None of these
|
|
104
|
+
* words appears in a paraphrase synonym.
|
|
105
|
+
*/
|
|
106
|
+
export const MARKER_SYMPTOMS = [
|
|
107
|
+
'intermittent 502 responses from the edge',
|
|
108
|
+
'a slow rise in resident memory',
|
|
109
|
+
'spiky garbage collection pauses',
|
|
110
|
+
'connection pool saturation',
|
|
111
|
+
'a queue that never drains',
|
|
112
|
+
'repeated leader elections',
|
|
113
|
+
'stale reads from the replica',
|
|
114
|
+
'duplicate downstream deliveries',
|
|
115
|
+
'a widening lag on the consumer group',
|
|
116
|
+
'bursts of socket resets',
|
|
117
|
+
'a growing number of parked threads',
|
|
118
|
+
'lock waits above two seconds',
|
|
119
|
+
'a hot partition on the primary key',
|
|
120
|
+
'checksum failures on the archive',
|
|
121
|
+
'a silent drop in throughput',
|
|
122
|
+
'unexpected restarts at low load',
|
|
123
|
+
'a backlog that doubles overnight',
|
|
124
|
+
'elevated disk wait on the writer',
|
|
125
|
+
'a scatter of half-written rows',
|
|
126
|
+
'a sudden jump in p99 response time',
|
|
127
|
+
'missing spans in the trace',
|
|
128
|
+
'an abrupt change in row counts',
|
|
129
|
+
'a retry storm from one caller',
|
|
130
|
+
'a cold cache after every deploy',
|
|
131
|
+
'a handshake that never completes',
|
|
132
|
+
'an orphaned background process',
|
|
133
|
+
'a mismatched schema version',
|
|
134
|
+
'a partially applied batch',
|
|
135
|
+
'a flood of timeout errors',
|
|
136
|
+
'a quiet failure in the sidecar',
|
|
137
|
+
'a slow leak of file handles',
|
|
138
|
+
'a periodic freeze in the scheduler',
|
|
139
|
+
'a flood of duplicate jobs',
|
|
140
|
+
'a persistent skew between regions',
|
|
141
|
+
'a degraded read path',
|
|
142
|
+
'a slow handoff between nodes',
|
|
143
|
+
'a burst of 429 responses',
|
|
144
|
+
'an index that stops advancing',
|
|
145
|
+
'a long tail of abandoned requests',
|
|
146
|
+
'a growing set of unacked messages',
|
|
147
|
+
'a routing table that flaps',
|
|
148
|
+
'a cron entry that fires twice',
|
|
149
|
+
'a credential that expires early',
|
|
150
|
+
'a write that lands out of order',
|
|
151
|
+
'a snapshot that never finishes',
|
|
152
|
+
'a spike in rejected connections',
|
|
153
|
+
'a slow drain during shutdown',
|
|
154
|
+
'a stuck transaction on the writer',
|
|
155
|
+
'a broken health check',
|
|
156
|
+
'a backlog of undelivered webhooks',
|
|
157
|
+
'a mismatch between shard counts',
|
|
158
|
+
'a burst of disk pressure',
|
|
159
|
+
'a stalled compaction run',
|
|
160
|
+
'a partial rollout that never completes'
|
|
161
|
+
];
|
|
162
|
+
/**
|
|
163
|
+
* 7 event phrases, so each one is shared by about 171 documents.
|
|
164
|
+
*
|
|
165
|
+
* The count is 7, not 8, on purpose: with 30 systems, 54 symptoms, and 7 events the
|
|
166
|
+
* least common multiple is 1890, so no two documents in a 1200-document corpus can share
|
|
167
|
+
* the same (system, symptom, event) triple. With 8 events the lcm drops to 1080 and every
|
|
168
|
+
* gold document below index 120 would have a twin that ties on the multi-tier query.
|
|
169
|
+
*/
|
|
170
|
+
export const MARKER_EVENTS = [
|
|
171
|
+
'the quarterly release window',
|
|
172
|
+
'the Monday morning traffic spike',
|
|
173
|
+
'the overnight batch run',
|
|
174
|
+
'the regional failover drill',
|
|
175
|
+
'the black Friday load test',
|
|
176
|
+
'the database version upgrade',
|
|
177
|
+
'the certificate rotation'
|
|
178
|
+
];
|
|
179
|
+
/** mulberry32: 32-bit seeded PRNG, so the corpus is identical on every machine. */
|
|
180
|
+
export function mulberry32(seed) {
|
|
181
|
+
let state = seed >>> 0;
|
|
182
|
+
return () => {
|
|
183
|
+
state = (state + 0x6d2b79f5) >>> 0;
|
|
184
|
+
let t = state;
|
|
185
|
+
t = Math.imul(t ^ (t >>> 15), t | 1);
|
|
186
|
+
t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
|
|
187
|
+
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
function markerFor(seed, system, problem) {
|
|
191
|
+
const digest = createHash('sha256').update(`${seed}:${system}:${problem}`, 'utf8').digest('hex');
|
|
192
|
+
return `MKR-${digest.slice(0, 10).toUpperCase()}`;
|
|
193
|
+
}
|
|
194
|
+
function renderDoc(doc) {
|
|
195
|
+
const { marker, system, problem, symptom, event } = doc;
|
|
196
|
+
return [
|
|
197
|
+
`${marker} incident record for ${system} / ${problem}`,
|
|
198
|
+
'',
|
|
199
|
+
`System: ${system}`,
|
|
200
|
+
`Problem: ${problem}`,
|
|
201
|
+
`Symptom: ${symptom}`,
|
|
202
|
+
`Event: ${event}`,
|
|
203
|
+
'',
|
|
204
|
+
`The ${system} team opened an incident after ${problem} appeared during ${event}. On-call correlated it with ${symptom} and captured a trace before the process restarted. Replaying the ${event} window against a snapshot of ${system} reproduced the ${problem} within minutes, which ruled out the upstream vendor.`,
|
|
205
|
+
'',
|
|
206
|
+
`Notes: ${symptom} only showed up when ${system} was under sustained load; single-request runs looked healthy. The working theory is that ${problem} compounds once the queue depth passes the soft limit, so the fix targets backpressure rather than the ${problem} site itself.`,
|
|
207
|
+
'',
|
|
208
|
+
`Owner: platform-oncall. Status: mitigated, follow-up test added to ${system}.`
|
|
209
|
+
].join('\n');
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Builds the corpus. Document order, marker assignment, gold selection, and query wording
|
|
213
|
+
* depend only on the seed and the counts, so two machines produce byte-identical text.
|
|
214
|
+
*/
|
|
215
|
+
export function buildMarkerCorpus(options = {}) {
|
|
216
|
+
const seed = options.seed ?? 20261026;
|
|
217
|
+
const total = MARKER_SYSTEMS.length * MARKER_PROBLEMS.length;
|
|
218
|
+
const docCount = Math.min(options.docs ?? total, total);
|
|
219
|
+
const goldCount = Math.min(options.golds ?? 40, docCount);
|
|
220
|
+
const docs = [];
|
|
221
|
+
for (let i = 0; i < docCount; i++) {
|
|
222
|
+
const system = MARKER_SYSTEMS[i % MARKER_SYSTEMS.length];
|
|
223
|
+
const problem = MARKER_PROBLEMS[Math.floor(i / MARKER_SYSTEMS.length) % MARKER_PROBLEMS.length].term;
|
|
224
|
+
const symptom = MARKER_SYMPTOMS[i % MARKER_SYMPTOMS.length];
|
|
225
|
+
const event = MARKER_EVENTS[i % MARKER_EVENTS.length];
|
|
226
|
+
const marker = markerFor(seed, system, problem);
|
|
227
|
+
const base = {
|
|
228
|
+
id: `doc-${String(i).padStart(4, '0')}`,
|
|
229
|
+
marker,
|
|
230
|
+
system,
|
|
231
|
+
problem,
|
|
232
|
+
symptom,
|
|
233
|
+
event
|
|
234
|
+
};
|
|
235
|
+
docs.push({ ...base, content: renderDoc(base) });
|
|
236
|
+
}
|
|
237
|
+
// Seeded shuffle, then take the first `golds`, so the gold set is not biased toward the
|
|
238
|
+
// first systems in the list.
|
|
239
|
+
const random = mulberry32(seed);
|
|
240
|
+
const order = docs.map((_, index) => index);
|
|
241
|
+
for (let i = order.length - 1; i > 0; i--) {
|
|
242
|
+
const j = Math.floor(random() * (i + 1));
|
|
243
|
+
const swap = order[i];
|
|
244
|
+
order[i] = order[j];
|
|
245
|
+
order[j] = swap;
|
|
246
|
+
}
|
|
247
|
+
const golds = order.slice(0, goldCount).map((index) => docs[index]);
|
|
248
|
+
const synonyms = {};
|
|
249
|
+
for (const entry of MARKER_PROBLEMS)
|
|
250
|
+
synonyms[entry.term] = entry.synonym;
|
|
251
|
+
const queries = [];
|
|
252
|
+
for (const doc of golds) {
|
|
253
|
+
const slug = doc.id.replace(/^doc-/, '');
|
|
254
|
+
queries.push({
|
|
255
|
+
id: `q-exact-${slug}`,
|
|
256
|
+
tier: 'exact',
|
|
257
|
+
query: `${doc.system} ${doc.problem}`,
|
|
258
|
+
goldDocId: doc.id,
|
|
259
|
+
goldMarker: doc.marker
|
|
260
|
+
});
|
|
261
|
+
queries.push({
|
|
262
|
+
id: `q-multi-${slug}`,
|
|
263
|
+
tier: 'multi',
|
|
264
|
+
query: `${doc.system} ${doc.symptom} ${doc.event}`,
|
|
265
|
+
goldDocId: doc.id,
|
|
266
|
+
goldMarker: doc.marker
|
|
267
|
+
});
|
|
268
|
+
queries.push({
|
|
269
|
+
id: `q-paraphrase-${slug}`,
|
|
270
|
+
tier: 'paraphrase',
|
|
271
|
+
query: `${doc.system} ${synonyms[doc.problem]}`,
|
|
272
|
+
goldDocId: doc.id,
|
|
273
|
+
goldMarker: doc.marker
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
return {
|
|
277
|
+
seed,
|
|
278
|
+
docs,
|
|
279
|
+
queries,
|
|
280
|
+
systems: [...MARKER_SYSTEMS],
|
|
281
|
+
problems: MARKER_PROBLEMS.map((entry) => entry.term),
|
|
282
|
+
synonyms,
|
|
283
|
+
symptoms: [...MARKER_SYMPTOMS],
|
|
284
|
+
events: [...MARKER_EVENTS]
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Case-level scoring: where did the gold document land?
|
|
289
|
+
*
|
|
290
|
+
* Every document begins with a unique marker, so the order in which markers first appear
|
|
291
|
+
* in the returned text is the engine's rank order. That works across JSON, Markdown, and
|
|
292
|
+
* plain text without parsing any of them, and it does not reward an engine for padding the
|
|
293
|
+
* budget with extra documents: the gold still has to come first.
|
|
294
|
+
*
|
|
295
|
+
* Returns 1 for the top document, null when the marker is absent.
|
|
296
|
+
*/
|
|
297
|
+
export function markerRank(context, goldMarker) {
|
|
298
|
+
const index = context.indexOf(goldMarker);
|
|
299
|
+
if (index < 0)
|
|
300
|
+
return null;
|
|
301
|
+
const seen = new Set();
|
|
302
|
+
for (const match of context.slice(0, index).matchAll(/MKR-[0-9A-F]{10}/g))
|
|
303
|
+
seen.add(match[0]);
|
|
304
|
+
return seen.size + 1;
|
|
305
|
+
}
|
|
306
|
+
//# sourceMappingURL=marker-corpus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marker-corpus.js","sourceRoot":"","sources":["../../../src/bench/marker-corpus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal MCP stdio client.
|
|
3
|
+
*
|
|
4
|
+
* The cross-engine comparison drives every engine over MCP stdio on purpose. Accuracy,
|
|
5
|
+
* ingest cost, and returned-context size are measured through the surface an agent
|
|
6
|
+
* actually uses, not through three unrelated internal APIs that would each need their own
|
|
7
|
+
* adapter assumptions. The only shared contract is JSON-RPC 2.0 over newline-delimited
|
|
8
|
+
* stdio, which is what the MCP stdio transport specifies.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately small: `initialize`, `notifications/initialized`, `tools/call`, `close`.
|
|
11
|
+
* Anything an engine prints to stdout that is not JSON is skipped, because at least one of
|
|
12
|
+
* them writes a banner before the first response.
|
|
13
|
+
*/
|
|
14
|
+
export interface McpServerSpec {
|
|
15
|
+
/** Executable, always `node` in this harness. */
|
|
16
|
+
command: string;
|
|
17
|
+
args: string[];
|
|
18
|
+
cwd: string;
|
|
19
|
+
env?: Record<string, string>;
|
|
20
|
+
}
|
|
21
|
+
export interface McpCallResult {
|
|
22
|
+
/** Concatenated text content blocks. This is the context the agent would receive. */
|
|
23
|
+
text: string;
|
|
24
|
+
/** Raw result object, kept for diagnostics. */
|
|
25
|
+
raw: unknown;
|
|
26
|
+
/** Wall-clock duration of the tools/call round trip, in milliseconds. */
|
|
27
|
+
durationMs: number;
|
|
28
|
+
}
|
|
29
|
+
export declare class McpStdioClient {
|
|
30
|
+
private readonly child;
|
|
31
|
+
private readonly pending;
|
|
32
|
+
private buffer;
|
|
33
|
+
private nextId;
|
|
34
|
+
private stderr;
|
|
35
|
+
private closed;
|
|
36
|
+
readonly serverInfo: {
|
|
37
|
+
name?: string;
|
|
38
|
+
version?: string;
|
|
39
|
+
};
|
|
40
|
+
private constructor();
|
|
41
|
+
static connect(spec: McpServerSpec, options?: {
|
|
42
|
+
initTimeoutMs?: number;
|
|
43
|
+
}): Promise<McpStdioClient>;
|
|
44
|
+
private attach;
|
|
45
|
+
private handleLine;
|
|
46
|
+
private notify;
|
|
47
|
+
private request;
|
|
48
|
+
callTool(name: string, args: Record<string, unknown>, timeoutMs?: number): Promise<McpCallResult>;
|
|
49
|
+
listTools(timeoutMs?: number): Promise<Array<{
|
|
50
|
+
name: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
}>>;
|
|
53
|
+
close(graceMs?: number): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=mcp-stdio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-stdio.d.ts","sourceRoot":"","sources":["../../../src/bench/mcp-stdio.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,qFAAqF;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,GAAG,EAAE,OAAO,CAAC;IACb,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,QAAQ,CAAC,UAAU,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEzD,OAAO;WAKM,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,cAAc,CAAC;IA2B5G,OAAO,CAAC,MAAM;IA4Bd,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,OAAO;IAaT,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,SAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IAiBlG,SAAS,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAOrF,KAAK,CAAC,OAAO,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAe5C"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal MCP stdio client.
|
|
3
|
+
*
|
|
4
|
+
* The cross-engine comparison drives every engine over MCP stdio on purpose. Accuracy,
|
|
5
|
+
* ingest cost, and returned-context size are measured through the surface an agent
|
|
6
|
+
* actually uses, not through three unrelated internal APIs that would each need their own
|
|
7
|
+
* adapter assumptions. The only shared contract is JSON-RPC 2.0 over newline-delimited
|
|
8
|
+
* stdio, which is what the MCP stdio transport specifies.
|
|
9
|
+
*
|
|
10
|
+
* Deliberately small: `initialize`, `notifications/initialized`, `tools/call`, `close`.
|
|
11
|
+
* Anything an engine prints to stdout that is not JSON is skipped, because at least one of
|
|
12
|
+
* them writes a banner before the first response.
|
|
13
|
+
*/
|
|
14
|
+
import { spawn } from 'node:child_process';
|
|
15
|
+
export class McpStdioClient {
|
|
16
|
+
child;
|
|
17
|
+
pending = new Map();
|
|
18
|
+
buffer = '';
|
|
19
|
+
nextId = 1;
|
|
20
|
+
stderr = '';
|
|
21
|
+
closed = false;
|
|
22
|
+
serverInfo;
|
|
23
|
+
constructor(child, serverInfo) {
|
|
24
|
+
this.child = child;
|
|
25
|
+
this.serverInfo = serverInfo;
|
|
26
|
+
}
|
|
27
|
+
static async connect(spec, options = {}) {
|
|
28
|
+
const child = spawn(spec.command, spec.args, {
|
|
29
|
+
cwd: spec.cwd,
|
|
30
|
+
env: { ...process.env, ...spec.env },
|
|
31
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
32
|
+
windowsHide: true
|
|
33
|
+
});
|
|
34
|
+
const client = new McpStdioClient(child, {});
|
|
35
|
+
client.attach();
|
|
36
|
+
const result = (await client.request('initialize', {
|
|
37
|
+
protocolVersion: '2025-06-18',
|
|
38
|
+
capabilities: {},
|
|
39
|
+
clientInfo: { name: 'fastrmemory-bench', version: '1.0.0' }
|
|
40
|
+
}, options.initTimeoutMs ?? 120_000));
|
|
41
|
+
client.serverInfo.name = result?.serverInfo?.name;
|
|
42
|
+
client.serverInfo.version = result?.serverInfo?.version;
|
|
43
|
+
client.notify('notifications/initialized', {});
|
|
44
|
+
return client;
|
|
45
|
+
}
|
|
46
|
+
attach() {
|
|
47
|
+
this.child.stdout.setEncoding('utf8');
|
|
48
|
+
this.child.stderr.setEncoding('utf8');
|
|
49
|
+
this.child.stderr.on('data', (chunk) => {
|
|
50
|
+
// Keep the tail only; some engines log every write.
|
|
51
|
+
this.stderr = (this.stderr + chunk).slice(-8_000);
|
|
52
|
+
});
|
|
53
|
+
this.child.stdout.on('data', (chunk) => {
|
|
54
|
+
this.buffer += chunk;
|
|
55
|
+
let index = this.buffer.indexOf('\n');
|
|
56
|
+
while (index >= 0) {
|
|
57
|
+
const line = this.buffer.slice(0, index).trim();
|
|
58
|
+
this.buffer = this.buffer.slice(index + 1);
|
|
59
|
+
if (line)
|
|
60
|
+
this.handleLine(line);
|
|
61
|
+
index = this.buffer.indexOf('\n');
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
this.child.on('exit', (code) => {
|
|
65
|
+
this.closed = true;
|
|
66
|
+
const error = new Error(`mcp server exited with code ${code}: ${this.stderr.slice(-400)}`);
|
|
67
|
+
for (const [, entry] of this.pending) {
|
|
68
|
+
clearTimeout(entry.timer);
|
|
69
|
+
entry.reject(error);
|
|
70
|
+
}
|
|
71
|
+
this.pending.clear();
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
handleLine(line) {
|
|
75
|
+
let message;
|
|
76
|
+
try {
|
|
77
|
+
message = JSON.parse(line);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (typeof message.id !== 'number')
|
|
83
|
+
return;
|
|
84
|
+
const entry = this.pending.get(message.id);
|
|
85
|
+
if (!entry)
|
|
86
|
+
return;
|
|
87
|
+
this.pending.delete(message.id);
|
|
88
|
+
clearTimeout(entry.timer);
|
|
89
|
+
if (message.error)
|
|
90
|
+
entry.reject(new Error(JSON.stringify(message.error)));
|
|
91
|
+
else
|
|
92
|
+
entry.resolve(message.result);
|
|
93
|
+
}
|
|
94
|
+
notify(method, params) {
|
|
95
|
+
if (this.closed)
|
|
96
|
+
return;
|
|
97
|
+
this.child.stdin.write(`${JSON.stringify({ jsonrpc: '2.0', method, params })}\n`);
|
|
98
|
+
}
|
|
99
|
+
request(method, params, timeoutMs = 60_000) {
|
|
100
|
+
if (this.closed)
|
|
101
|
+
return Promise.reject(new Error('mcp server is closed'));
|
|
102
|
+
const id = this.nextId++;
|
|
103
|
+
return new Promise((resolve, reject) => {
|
|
104
|
+
const timer = setTimeout(() => {
|
|
105
|
+
this.pending.delete(id);
|
|
106
|
+
reject(new Error(`${method} timed out after ${timeoutMs} ms`));
|
|
107
|
+
}, timeoutMs);
|
|
108
|
+
this.pending.set(id, { resolve, reject, timer });
|
|
109
|
+
this.child.stdin.write(`${JSON.stringify({ jsonrpc: '2.0', id, method, params })}\n`);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
async callTool(name, args, timeoutMs = 120_000) {
|
|
113
|
+
const started = performance.now();
|
|
114
|
+
const result = (await this.request('tools/call', { name, arguments: args }, timeoutMs));
|
|
115
|
+
const durationMs = performance.now() - started;
|
|
116
|
+
const text = (result?.content ?? [])
|
|
117
|
+
.filter((block) => block?.type === 'text' && typeof block.text === 'string')
|
|
118
|
+
.map((block) => block.text)
|
|
119
|
+
.join('\n');
|
|
120
|
+
if (result?.isError) {
|
|
121
|
+
throw new Error(`tool ${name} returned an error: ${text.slice(0, 400)}`);
|
|
122
|
+
}
|
|
123
|
+
return { text, raw: result, durationMs };
|
|
124
|
+
}
|
|
125
|
+
async listTools(timeoutMs = 60_000) {
|
|
126
|
+
const result = (await this.request('tools/list', {}, timeoutMs));
|
|
127
|
+
return result?.tools ?? [];
|
|
128
|
+
}
|
|
129
|
+
async close(graceMs = 2_000) {
|
|
130
|
+
if (this.closed)
|
|
131
|
+
return;
|
|
132
|
+
this.closed = true;
|
|
133
|
+
this.child.stdin.end();
|
|
134
|
+
await new Promise((resolve) => {
|
|
135
|
+
const timer = setTimeout(() => {
|
|
136
|
+
this.child.kill('SIGKILL');
|
|
137
|
+
resolve();
|
|
138
|
+
}, graceMs);
|
|
139
|
+
this.child.once('exit', () => {
|
|
140
|
+
clearTimeout(timer);
|
|
141
|
+
resolve();
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=mcp-stdio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-stdio.js","sourceRoot":"","sources":["../../../src/bench/mcp-stdio.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,8 @@ export interface PublicCase {
|
|
|
21
21
|
goldIds: string[];
|
|
22
22
|
goldCount: number;
|
|
23
23
|
missingGoldCount: number;
|
|
24
|
+
/** ISO timestamp of the question, when the dataset provides one. Anchors temporal windows. */
|
|
25
|
+
questionDate?: string;
|
|
24
26
|
}
|
|
25
27
|
export interface PublicDataset {
|
|
26
28
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-datasets.d.ts","sourceRoot":"","sources":["../../../src/bench/public-datasets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"public-datasets.d.ts","sourceRoot":"","sources":["../../../src/bench/public-datasets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,8FAA8F;IAC9F,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAyFD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,aAAa,CA2ExF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,YAAiB,GAAG,aAAa,CAkFnF;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,EAAE,EACjB,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,GAAE,gBAAqB,GAC7B,aAAa,CAgEf"}
|
|
@@ -115,7 +115,8 @@ export function parseLongMemEval(raw, options = {}) {
|
|
|
115
115
|
category: item.question_type ?? 'unknown',
|
|
116
116
|
goldIds,
|
|
117
117
|
goldCount: goldSessionIds.size,
|
|
118
|
-
missingGoldCount: goldSessionIds.size - goldIds.length
|
|
118
|
+
missingGoldCount: goldSessionIds.size - goldIds.length,
|
|
119
|
+
questionDate: typeof item.question_date === 'string' ? longMemEvalDate(item.question_date) : undefined
|
|
119
120
|
});
|
|
120
121
|
}
|
|
121
122
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-datasets.js","sourceRoot":"","sources":["../../../src/bench/public-datasets.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public-datasets.js","sourceRoot":"","sources":["../../../src/bench/public-datasets.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsEzC,MAAM,MAAM,GAA2B;IACrC,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,SAAS,OAAO,CAAC,IAAY,EAAE,SAAiB;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,OAAO,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;AACnF,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,KAAK,GAAG,6DAA6D,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;QACvF,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,IAAI,CACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CACvG,CAAC,WAAW,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,KAAK,GAAG,+DAA+D,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjG,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QAClF,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC;IAChF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7C,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,OAAO,IAAI,IAAI,CACb,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5E,CAAC,WAAW,EAAE,CAAC;AAClB,CAAC;AAED,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,UAAwB,EAAE;IACvE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,KAAwB,CAAC;QACtC,IACE,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;YACpC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;YACjC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACzC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;YACnC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACvC,CAAC;YACD,YAAY,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/F,MAAM,KAAK,GAAG,KAAK;iBAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;iBACrF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,IAAI,CAAC,OAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7E,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE;gBACF,SAAS;gBACT,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,SAAS,EAAE,GAAG,CAAC;gBACpD,OAAO,EAAE,IAAI,IAAI,IAAI,cAAc,KAAK,SAAS,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACxE,SAAS;aACV,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;aACvC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC7C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,YAAY,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,IAAI,CAAC,WAAW;YACpB,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,QAAQ,EAAE,IAAI,CAAC,aAAa,IAAI,SAAS;YACzC,OAAO;YACP,SAAS,EAAE,cAAc,CAAC,IAAI;YAC9B,gBAAgB,EAAE,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM;YACtD,YAAY,EAAE,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS;SACvG,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,QAAQ;QACR,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,MAAM;QACtB,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,GAAY,EAAE,UAAwB,EAAE;IAClE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,KAAmB,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAClD,YAAY,IAAI,IAAI,CAAC,EAAE,EAAE,MAAM,IAAI,CAAC,CAAC;YACrC,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,UAAU,QAAQ,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;aAC/C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aAC3D,MAAM,CAAC,CAAC,KAAK,EAAoD,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;aACzF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3D,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,WAAW,EAAE,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAEpG,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,SAAuB,CAAC;gBACrC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBAC/E,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAC5C,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;oBAC1F,CAAC,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG;oBACzC,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC;oBACZ,EAAE;oBACF,SAAS;oBACT,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE;oBACpD,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE;oBACtE,SAAS;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACzB,IAAI,OAAO,EAAE,CAAC,QAAQ,KAAK,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvE,YAAY,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7D,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;iBAC7E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;iBAC1C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACrC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,YAAY,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CAAC;gBACT,EAAE,EAAE,GAAG,QAAQ,IAAI,KAAK,CAAC,MAAM,EAAE;gBACjC,SAAS;gBACT,KAAK,EAAE,EAAE,CAAC,QAAQ;gBAClB,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE;gBAC3E,OAAO;gBACP,SAAS,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI;gBACjC,gBAAgB,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ;QACR,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,MAAM;QACtB,YAAY;KACb,CAAC;AACJ,CAAC;AAsBD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAiB,EACjB,OAAqB,EACrB,UAA4B,EAAE;IAE9B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;IAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;IACzC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACjE,MAAM,QAAQ,GAAmB,EAAE,CAAC;IACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ;YAAE,MAAM;QACvC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAAE,SAAS;QAC3F,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,YAAY;YAAE,SAAS;QAClG,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7F,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE;YACF,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE;YACxC,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAiB,EAAE,CAAC;IAC/B,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;YAAE,MAAM;QACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACxB,YAAY,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aAC9C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;aAClC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,YAAY,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC3B,SAAS;YACT,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO;YACtC,OAAO;YACP,SAAS,EAAE,YAAY,CAAC,IAAI;YAC5B,gBAAgB,EAAE,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM;SACrD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,QAAQ;QACR,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,MAAM;QACtB,YAAY;KACb,CAAC;AACJ,CAAC"}
|