copperhead 0.6.0 → 0.7.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/dist/agent/loop.js +118 -16
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/prompts.js +2 -1
- package/dist/agent/prompts.js.map +1 -1
- package/dist/agent/providers/claude-code.js +207 -27
- package/dist/agent/providers/claude-code.js.map +1 -1
- package/dist/agent/recovery.js +148 -0
- package/dist/agent/recovery.js.map +1 -0
- package/dist/agent/render.js +17 -2
- package/dist/agent/render.js.map +1 -1
- package/dist/agent/response-cache.js +81 -0
- package/dist/agent/response-cache.js.map +1 -0
- package/dist/agent/tools.js +61 -4
- package/dist/agent/tools.js.map +1 -1
- package/dist/agent/transcript.js.map +1 -1
- package/dist/commands/create.js +470 -35
- package/dist/commands/create.js.map +1 -1
- package/dist/config.js +19 -0
- package/dist/config.js.map +1 -1
- package/dist/kicad/bootstrap.js +166 -0
- package/dist/kicad/bootstrap.js.map +1 -0
- package/dist/kicad/spice.js +306 -0
- package/dist/kicad/spice.js.map +1 -0
- package/dist/kicad/symlib.js +228 -0
- package/dist/kicad/symlib.js.map +1 -0
- package/dist/memory/bom-table.js +193 -22
- package/dist/memory/bom-table.js.map +1 -1
- package/dist/memory/drift.js +33 -11
- package/dist/memory/drift.js.map +1 -1
- package/dist/util/git.js +37 -1
- package/dist/util/git.js.map +1 -1
- package/dist/util/preflight.js +37 -0
- package/dist/util/preflight.js.map +1 -1
- package/dist/util/retry.js +23 -0
- package/dist/util/retry.js.map +1 -1
- package/dist/util/tmp.js +119 -0
- package/dist/util/tmp.js.map +1 -0
- package/package.json +1 -1
- package/src/agent/loop.ts +136 -16
- package/src/agent/prompts.ts +2 -1
- package/src/agent/providers/claude-code.ts +207 -24
- package/src/agent/recovery.ts +162 -0
- package/src/agent/render.ts +28 -1
- package/src/agent/response-cache.ts +80 -0
- package/src/agent/tools.ts +62 -4
- package/src/agent/transcript.ts +1 -0
- package/src/agent/types.ts +17 -0
- package/src/commands/create.ts +528 -38
- package/src/config.ts +34 -0
- package/src/kicad/bootstrap.ts +181 -0
- package/src/kicad/spice.ts +399 -0
- package/src/kicad/symlib.ts +248 -0
- package/src/memory/bom-table.ts +191 -20
- package/src/memory/drift.ts +42 -11
- package/src/util/git.ts +37 -1
- package/src/util/preflight.ts +44 -0
- package/src/util/retry.ts +29 -0
- package/src/util/tmp.ts +113 -0
package/dist/agent/loop.js
CHANGED
|
@@ -2,15 +2,17 @@ import path from 'node:path';
|
|
|
2
2
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { execa } from 'execa';
|
|
4
4
|
import { availableTools, dispatchTool } from './tools.js';
|
|
5
|
+
import { CachingProvider } from './response-cache.js';
|
|
6
|
+
import { withTimeout, TurnTimeoutError } from './recovery.js';
|
|
5
7
|
import { buildSystemPrompt } from './prompts.js';
|
|
6
8
|
import { loadConstraints, reopenDeferredAffects } from '../memory/constraints.js';
|
|
7
|
-
import { loadConfig } from '../config.js';
|
|
9
|
+
import { loadConfig, CONFIG_DIR } from '../config.js';
|
|
8
10
|
import { Transcript } from './transcript.js';
|
|
9
11
|
import { collectRunMeta, renderCliHeader } from './runmeta.js';
|
|
10
12
|
import { plainRenderer, fmtDuration, fmtTokens } from './render.js';
|
|
11
13
|
import { ObligationsLedger } from './ledger.js';
|
|
12
14
|
import { gitPreflight, isDirty, snapshot, restore, commitAll, changedFiles, preserveFailedRun } from '../util/git.js';
|
|
13
|
-
import { withRetry, isRateLimit } from '../util/retry.js';
|
|
15
|
+
import { withRetry, isRateLimit, sessionLimit } from '../util/retry.js';
|
|
14
16
|
import { openspecArchive } from '../openspec/cli.js';
|
|
15
17
|
import { existsSync } from 'node:fs';
|
|
16
18
|
import { OpenAIProvider } from './providers/openai.js';
|
|
@@ -18,7 +20,7 @@ import { AnthropicProvider } from './providers/anthropic.js';
|
|
|
18
20
|
import { CodexProvider } from './providers/codex.js';
|
|
19
21
|
import { ClaudeCodeProvider } from './providers/claude-code.js';
|
|
20
22
|
import { openSynapMemory } from '../memory/synap.js';
|
|
21
|
-
export async function makeProvider(model) {
|
|
23
|
+
export async function makeProvider(model, sessionResume = false) {
|
|
22
24
|
if (model === 'codex' || model.startsWith('codex:')) {
|
|
23
25
|
const codexModel = model.startsWith('codex:') ? model.slice('codex:'.length) : undefined;
|
|
24
26
|
if (codexModel === '')
|
|
@@ -42,7 +44,7 @@ export async function makeProvider(model) {
|
|
|
42
44
|
if (claudeCodeModel === '') {
|
|
43
45
|
throw new Error('claude-code model override cannot be empty; use "claude-code" or "claude-code:<model-id>"');
|
|
44
46
|
}
|
|
45
|
-
return new ClaudeCodeProvider(claudeCodeModel);
|
|
47
|
+
return new ClaudeCodeProvider(claudeCodeModel, undefined, undefined, sessionResume);
|
|
46
48
|
}
|
|
47
49
|
if (model === 'claude' || model.startsWith('claude')) {
|
|
48
50
|
return new AnthropicProvider(model === 'claude' ? undefined : model);
|
|
@@ -139,8 +141,23 @@ async function runWithMemory(opts, memory, providers) {
|
|
|
139
141
|
repairCycles: 0,
|
|
140
142
|
finishRequest: null,
|
|
141
143
|
};
|
|
142
|
-
|
|
144
|
+
// Session resume for claude-code (1.1) is only correct when the response cache
|
|
145
|
+
// is off: the cache replays turns a resumed session never saw. So enable it
|
|
146
|
+
// only when the env flag is set AND config.llmCache is disabled — the same
|
|
147
|
+
// condition under which we skip the CachingProvider wrap below.
|
|
148
|
+
const sessionResume = process.env.COPPERHEAD_CC_SESSION_RESUME === '1' && !config.llmCache;
|
|
149
|
+
let provider = opts.provider ?? (await makeProvider(opts.model, sessionResume));
|
|
150
|
+
// Cache every turn's response so a retried/restarted stage replays what it
|
|
151
|
+
// already paid for instead of re-calling the model (repo-scoped, cross-run).
|
|
152
|
+
// Skip an injected provider (tests drive scripted providers directly).
|
|
153
|
+
if (config.llmCache && !opts.provider) {
|
|
154
|
+
provider = new CachingProvider(provider, path.join(repoRoot, CONFIG_DIR, 'llm-cache'), log, opts.model);
|
|
155
|
+
}
|
|
143
156
|
providers.add(provider);
|
|
157
|
+
// Held separately from `provider` (which is reassigned on failover) so the
|
|
158
|
+
// final cache-hit count survives a mid-run provider switch (5.2).
|
|
159
|
+
const cachingProvider = provider instanceof CachingProvider ? provider : null;
|
|
160
|
+
const cacheHits = () => cachingProvider?.cacheHits ?? 0;
|
|
144
161
|
// Deterministic, LLM-free metadata block: collected once, rendered onto all
|
|
145
162
|
// three surfaces (run-start event, summary ## Environment, CLI header) so
|
|
146
163
|
// they can never disagree (design D1, AC-8.1/8.4).
|
|
@@ -216,6 +233,8 @@ async function runWithMemory(opts, memory, providers) {
|
|
|
216
233
|
const perTurn = [];
|
|
217
234
|
let plan = null;
|
|
218
235
|
let nudges = 0;
|
|
236
|
+
let turnTimeouts = 0;
|
|
237
|
+
const maxTurnTimeouts = 3;
|
|
219
238
|
const stats = (exitPath) => ({
|
|
220
239
|
exitPath,
|
|
221
240
|
turnsUsed,
|
|
@@ -292,6 +311,8 @@ async function runWithMemory(opts, memory, providers) {
|
|
|
292
311
|
transcriptDir: transcript.dir,
|
|
293
312
|
filesTouched: [],
|
|
294
313
|
commit: null,
|
|
314
|
+
stats: runStats,
|
|
315
|
+
cacheHits: cacheHits(),
|
|
295
316
|
};
|
|
296
317
|
};
|
|
297
318
|
let budget = maxTurns;
|
|
@@ -325,16 +346,53 @@ async function runWithMemory(opts, memory, providers) {
|
|
|
325
346
|
await transcript.event('budget-extended', { extraTurns: extra, budget, ...exhaustStats });
|
|
326
347
|
log(`turn budget extended by ${extra} (now ${budget})`);
|
|
327
348
|
}
|
|
349
|
+
// Advertise EVERY tool each turn; dispatchTool enforces the edit-unlock gate
|
|
350
|
+
// live at call time. Hiding locked edit tools from the turn catalog meant a
|
|
351
|
+
// model that unlocked (validate_change) and edited in the SAME reply had its
|
|
352
|
+
// edit silently dropped in parsing — the call named a tool the turn had not
|
|
353
|
+
// advertised, so it was treated as prose, executed nothing, and returned no
|
|
354
|
+
// error. The model then "verified" against an unchanged file (an empty
|
|
355
|
+
// schematic even passes ERC) and finished believing it had succeeded.
|
|
356
|
+
// Structural lock (SPEC.md §1.3 invariant 1): the edit tools stay OUT of the
|
|
357
|
+
// advertised list until a proposal validates (`editsUnlocked`), so the model
|
|
358
|
+
// is gated by omission, not by prompt text. `dispatchTool` re-checks the same
|
|
359
|
+
// `availableTools(ctx)` live, so this is defense in depth. A premature edit is
|
|
360
|
+
// simply not offered; once `validate_change` unlocks, the next turn advertises
|
|
361
|
+
// the edit tools. (Earlier this advertised every tool to let a same-turn
|
|
362
|
+
// propose→validate→edit batch through, but that traded the spec's structural
|
|
363
|
+
// guarantee for one saved turn — not worth it.)
|
|
328
364
|
const tools = availableTools(ctx).map((t) => t.schema);
|
|
329
365
|
r.turnStart(turn + 1, maxTurns, tokensIn, tokensOut);
|
|
330
366
|
r.status('thinking');
|
|
331
367
|
let res;
|
|
368
|
+
// Liveness heartbeat (5.1): a large-output turn can legitimately run several
|
|
369
|
+
// minutes, which is otherwise indistinguishable from a hung subprocess until
|
|
370
|
+
// the watchdog fires. Emit a periodic elapsed/streamed signal so an operator
|
|
371
|
+
// can tell the two apart. Fires only after the first interval, so quick turns
|
|
372
|
+
// stay silent; `unref` keeps it from holding the event loop open.
|
|
373
|
+
const turnStartMs = Date.now();
|
|
374
|
+
let streamedChars = 0;
|
|
375
|
+
const heartbeat = config.heartbeatMs > 0
|
|
376
|
+
? setInterval(() => r.heartbeat({ elapsedMs: Date.now() - turnStartMs, streamedChars }), config.heartbeatMs)
|
|
377
|
+
: null;
|
|
378
|
+
heartbeat?.unref?.();
|
|
332
379
|
try {
|
|
333
|
-
res = await withRetry(() => provider.chat(messages, tools), {
|
|
334
|
-
onRetry: (attempt) => log(`rate limited; retry ${attempt}`),
|
|
335
|
-
});
|
|
380
|
+
res = await withRetry(() => withTimeout(() => provider.chat(messages, tools, { onStream: (chars) => (streamedChars = chars) }), config.turnTimeoutMs, () => provider.close?.()), { onRetry: (attempt) => log(`rate limited; retry ${attempt}`) });
|
|
336
381
|
}
|
|
337
382
|
catch (err) {
|
|
383
|
+
if (err instanceof TurnTimeoutError) {
|
|
384
|
+
// A hung provider turn: the watchdog aborted the in-flight call and tore
|
|
385
|
+
// down its subprocess. Retry the same turn a bounded number of times
|
|
386
|
+
// before giving up, so a transient hang self-heals instead of stalling
|
|
387
|
+
// the run forever.
|
|
388
|
+
if (turnTimeouts++ < maxTurnTimeouts) {
|
|
389
|
+
log(`turn exceeded ${config.turnTimeoutMs}ms; aborted the hung call and retrying (${turnTimeouts}/${maxTurnTimeouts})`);
|
|
390
|
+
await transcript.event('turn-timeout', { ms: config.turnTimeoutMs, attempt: turnTimeouts });
|
|
391
|
+
turn--;
|
|
392
|
+
continue;
|
|
393
|
+
}
|
|
394
|
+
return fail(`provider turns timed out ${turnTimeouts}× (>${config.turnTimeoutMs}ms each)`, 'provider-error');
|
|
395
|
+
}
|
|
338
396
|
if (isRateLimit(err)) {
|
|
339
397
|
const fallback = otherProvider(provider);
|
|
340
398
|
if (fallback) {
|
|
@@ -346,12 +404,33 @@ async function runWithMemory(opts, memory, providers) {
|
|
|
346
404
|
continue;
|
|
347
405
|
}
|
|
348
406
|
}
|
|
407
|
+
// A saved-login session/usage limit is not a code bug and not a 429 (2.4,
|
|
408
|
+
// I13): it names its own reset time and clears only then, and every turn
|
|
409
|
+
// so far is already in the llm-cache — so re-running after the reset
|
|
410
|
+
// replays them at ~0 tokens and resumes in place. Surface it as its own
|
|
411
|
+
// exit path with the reset time and the resume instruction, rather than a
|
|
412
|
+
// bare "provider error" the operator would read as a failure to debug.
|
|
413
|
+
const limit = sessionLimit(err);
|
|
414
|
+
if (limit) {
|
|
415
|
+
const when = limit.resetsAt ? ` (resets ${limit.resetsAt})` : '';
|
|
416
|
+
await transcript.event('session-limit', { resetsAt: limit.resetsAt, provider: provider.name });
|
|
417
|
+
return fail(`${provider.name} session/usage limit reached${when} — this is a schedulable pause, not a bug. ` +
|
|
418
|
+
`Wait for the reset, then re-run the same command: completed turns replay from the cache at ~0 tokens and the run resumes where it left off.`, 'session-limit');
|
|
419
|
+
}
|
|
349
420
|
return fail(`provider error: ${err.message}`, 'provider-error');
|
|
350
421
|
}
|
|
351
422
|
finally {
|
|
423
|
+
if (heartbeat)
|
|
424
|
+
clearInterval(heartbeat);
|
|
352
425
|
r.status(null);
|
|
353
426
|
}
|
|
354
427
|
turnsUsed = turn + 1;
|
|
428
|
+
// A productive turn resets the timeout budget: maxTurnTimeouts is meant to
|
|
429
|
+
// catch a turn that is genuinely, repeatedly stuck — not to cap the total
|
|
430
|
+
// number of slow-but-recoverable turns across a whole stage. Without this a
|
|
431
|
+
// long stage that merely has a few independent slow turns accumulates
|
|
432
|
+
// timeouts and hard-fails even though every one of them recovered.
|
|
433
|
+
turnTimeouts = 0;
|
|
355
434
|
tokensIn += res.usage.inputTokens;
|
|
356
435
|
tokensOut += res.usage.outputTokens;
|
|
357
436
|
perTurn.push({ turn: turn + 1, in: res.usage.inputTokens, out: res.usage.outputTokens });
|
|
@@ -371,7 +450,9 @@ async function runWithMemory(opts, memory, providers) {
|
|
|
371
450
|
return fail('model stopped calling tools without finishing', 'stalled');
|
|
372
451
|
messages.push({
|
|
373
452
|
role: 'user',
|
|
374
|
-
|
|
453
|
+
// A near-miss malformed tool call (#I10) gets a specific steer to re-emit
|
|
454
|
+
// it; an ordinary tool-less turn gets the generic continue prompt.
|
|
455
|
+
content: res.nudge ?? 'Continue using tools, or call finish({outcome, summary}) to end the run.',
|
|
375
456
|
});
|
|
376
457
|
continue;
|
|
377
458
|
}
|
|
@@ -436,6 +517,8 @@ async function runWithMemory(opts, memory, providers) {
|
|
|
436
517
|
transcriptDir: transcript.dir,
|
|
437
518
|
filesTouched: [],
|
|
438
519
|
commit: null,
|
|
520
|
+
stats: runStats,
|
|
521
|
+
cacheHits: cacheHits(),
|
|
439
522
|
};
|
|
440
523
|
}
|
|
441
524
|
const verification = [
|
|
@@ -480,15 +563,32 @@ async function runWithMemory(opts, memory, providers) {
|
|
|
480
563
|
transcriptDir: transcript.dir,
|
|
481
564
|
filesTouched: files,
|
|
482
565
|
commit: null,
|
|
566
|
+
stats: runStats,
|
|
567
|
+
cacheHits: cacheHits(),
|
|
483
568
|
};
|
|
484
569
|
}
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
570
|
+
// Bookkeeping must never cost the verified design its commit (2.1): the
|
|
571
|
+
// KiCad work passed its ERC/DRC gates, so a failure appending the changelog
|
|
572
|
+
// (a plain CHANGELOG.md read+write) is a warning, not a rollback. It stays
|
|
573
|
+
// before commitAll so, on the normal path, the entry lands in the run's
|
|
574
|
+
// single commit and a zero-edit "done" run still has something to commit;
|
|
575
|
+
// if it throws, the design is committed without a changelog line rather
|
|
576
|
+
// than sent through fail()'s rollback. The other bookkeeping — the openspec
|
|
577
|
+
// archive — is already post-commit and non-fatal below.
|
|
578
|
+
try {
|
|
579
|
+
await appendChangelog(repoRoot, config, {
|
|
580
|
+
changeId: ctx.changeId,
|
|
581
|
+
request: opts.request,
|
|
582
|
+
files,
|
|
583
|
+
verification,
|
|
584
|
+
});
|
|
585
|
+
ctx.ledger.clear('changelog');
|
|
586
|
+
}
|
|
587
|
+
catch (err) {
|
|
588
|
+
const message = err.message;
|
|
589
|
+
log(`warning: changelog append failed (${message}); committing the verified design without a changelog entry`);
|
|
590
|
+
await transcript.event('changelog-append-failed', { error: message });
|
|
591
|
+
}
|
|
492
592
|
const commitMsg = `copperhead: ${opts.request}\n\n${summary}\n\nVerification: ${verification}`;
|
|
493
593
|
// A git failure here (e.g. `git add -A` exiting 128 on an embedded repo)
|
|
494
594
|
// must land in summary.md as an outcome, not escape as a stack trace
|
|
@@ -552,6 +652,8 @@ async function runWithMemory(opts, memory, providers) {
|
|
|
552
652
|
transcriptDir: transcript.dir,
|
|
553
653
|
filesTouched: files,
|
|
554
654
|
commit,
|
|
655
|
+
stats: runStats,
|
|
656
|
+
cacheHits: cacheHits(),
|
|
555
657
|
};
|
|
556
658
|
}
|
|
557
659
|
}
|
package/dist/agent/loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loop.js","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,YAAY,EAAmB,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAgC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAmC,MAAM,cAAc,CAAC;AAChG,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAoC,MAAM,oBAAoB,CAAC;AAoDvF,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,aAAa,GAAG,KAAK;IACrE,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,IAAI,UAAU,KAAK,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAClH,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACzE,MAAM,IAAI,KAAK,CACb,4HAA4H,EAC5H,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,aAAa,CAAC;YACvB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,EAAE,IAAI,KAAK,CAAC;gBAChB,gFAAgF;gBAChF,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO;aAChE,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAC1E,0BAA0B;IAC1B,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChE,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1G,IAAI,eAAe,KAAK,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,IAAI,kBAAkB,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,iBAAiB,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,IAAI,cAAc,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,OAAiB;IACtC,uEAAuE;IACvE,0EAA0E;IAC1E,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB;QAAE,OAAO,IAAI,iBAAiB,EAAE,CAAC;IAC/F,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,IAAI,cAAc,EAAE,CAAC;IAC5F,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,QAAgB,EAChB,MAAwB,EACxB,KAA0F;IAE1F,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,MAAM,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE;QAC/B,EAAE;QACF,aAAa,KAAK,CAAC,QAAQ,IAAI,KAAK,EAAE;QACtC,YAAY,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;QAChD,mBAAmB,KAAK,CAAC,YAAY,EAAE;KACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,4FAA4F,CAAC;IACtG,CAAC;IACD,2FAA2F;IAC3F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,QAAQ,GAAG,CAAC,CAAC;YACb,MAAM;QACR,CAAC;IACH,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAgB;IACjD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAY,CAAC;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;YAC3B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,QAAQ,CAAC,IAAI,6BAA8B,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QACD,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAgB,EAChB,MAA0B,EAC1B,SAAwB;IAExB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAElD,MAAM,YAAY,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEtC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IACxB,MAAM,GAAG,GAAe;QACtB,QAAQ;QACR,MAAM;QACN,UAAU;QACV,MAAM,EAAE,IAAI,iBAAiB,EAAE;QAC/B,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QACpC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;QACtC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC;QAC3C,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,KAAK;QACxB,YAAY,EAAE,IAAI,GAAG,EAAE;QACvB,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,IAAI;KACpB,CAAC;IAEF,+EAA+E;IAC/E,4EAA4E;IAC5E,2EAA2E;IAC3E,gEAAgE;IAChE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC3F,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;IAChF,2EAA2E;IAC3E,6EAA6E;IAC7E,uEAAuE;IACvE,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,QAAQ,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1G,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,2EAA2E;IAC3E,kEAAkE;IAClE,MAAM,eAAe,GAAG,QAAQ,YAAY,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,SAAS,GAAG,GAAW,EAAE,CAAC,eAAe,EAAE,SAAS,IAAI,CAAC,CAAC;IAEhE,4EAA4E;IAC5E,0EAA0E;IAC1E,mDAAmD;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAY,MAAM,cAAc,CAAC;QACzC,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QACpC,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK;QACtC,KAAK,EAAE,IAAI,CAAC,IAAI;KACjB,CAAC,CAAC;IACH,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACpD,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAC3E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,GAAG,YAAY,IAAI,EAAE,EAAE,GAAG,CAAC,CACjE,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,UAAU,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,aAAa,QAAQ,CAAC,MAAM,4CAA4C,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,UAAU,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,UAAU,IAAI;YACZ,EAAE;YACF,EAAE;YACF,iCAAiC;YACjC,EAAE;YACF,gGAAgG;YAChG,uFAAuF;YACvF,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;SACvD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IACD,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACnE,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACtE,MAAM,QAAQ,GAAU;QACtB,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;QACnC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,gBAAgB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;KAC/G,CAAC;IACF,MAAM,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAE1C;;;;OAIG;IACH,MAAM,QAAQ,GAAG,KAAK,EAAE,GAAc,EAAiB,EAAE;QACvD,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzB,MAAM,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAI,GAAa,CAAC,OAAO,CAAC;YACvC,GAAG,CAAC,uCAAuC,OAAO,8BAA8B,CAAC,CAAC;YAClF,MAAM,UAAU,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,OAAO,GAAgD,EAAE,CAAC;IAChE,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,eAAe,GAAG,CAAC,CAAC;IAE1B,MAAM,KAAK,GAAG,CAAC,QAAkB,EAAY,EAAE,CAAC,CAAC;QAC/C,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,gBAAgB,EAAE,GAAG,CAAC,YAAY;QAClC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,QAAQ;QACR,SAAS;QACT,OAAO;QACP,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;KACjC,CAAC,CAAC;IAEH,wEAAwE;IACxE,MAAM,WAAW,GAAG,CAAC,CAAW,EAAE,KAAqB,EAAU,EAAE,CACjE;QACE,CAAC,CAAC,QAAQ;QACV,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,aAAa;QAC3E,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;QACzB,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM;KAC9D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhB,MAAM,IAAI,GAAG,KAAK,EAAE,MAAc,EAAE,QAAkB,EAAsB,EAAE;QAC5E,MAAM,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,SAAS;YAAE,MAAM,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9E,0EAA0E;QAC1E,wEAAwE;QACxE,mEAAmE;QACnE,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAI,GAAa,CAAC,OAAO,CAAC;YACtC,MAAM,UAAU,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC;YAChD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI;YACJ,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;YACnC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1G,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;YAC1G,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ;YACR,SAAS;YACT,OAAO,EAAE,SAAS;YAClB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE;YAClE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,wBAAwB,YAAY,qGAAqG,CAAC,CAAC,CAAC,MAAM;YAClL,GAAG,EAAE,IAAI;YACT,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC;QACH,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;QAC7B,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,CAAC,6BAA6B,YAAY,+CAA+C,CAAC,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,GAAG,CACD,iEAAiE,GAAG,CAAC,KAAK,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,sEAAsE,CAC7K,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,eAAe,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3C,GAAG,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChC,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,QAAQ;YACR,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,UAAU,CAAC,GAAG;YAC7B,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,SAAS,EAAE;SACvB,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,KAAK,IAAI,IAAI,GAAG,CAAC,GAAI,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,yEAAyE;YACzE,+DAA+D;YAC/D,MAAM,YAAY,GAAyB;gBACzC,QAAQ;gBACR,SAAS,EAAE,IAAI;gBACf,QAAQ;gBACR,SAAS;gBACT,YAAY,EAAE,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC;gBACnC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM;aACnD,CAAC;YACF,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;gBACjE,CAAC;gBAAC,MAAM,CAAC;oBACP,mEAAmE;oBACnE,mEAAmE;oBACnE,wDAAwD;oBACxD,KAAK,GAAG,CAAC,CAAC;gBACZ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;gBAAE,MAAM;YACjD,MAAM,IAAI,KAAK,CAAC;YAChB,MAAM,UAAU,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;YAC1F,GAAG,CAAC,2BAA2B,KAAK,SAAS,MAAM,GAAG,CAAC,CAAC;QAC1D,CAAC;QACD,6EAA6E;QAC7E,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,4EAA4E;QAC5E,uEAAuE;QACvE,sEAAsE;QACtE,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,+EAA+E;QAC/E,+EAA+E;QAC/E,yEAAyE;QACzE,6EAA6E;QAC7E,gDAAgD;QAChD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrB,IAAI,GAAS,CAAC;QACd,6EAA6E;QAC7E,6EAA6E;QAC7E,6EAA6E;QAC7E,8EAA8E;QAC9E,kEAAkE;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,SAAS,GACb,MAAM,CAAC,WAAW,GAAG,CAAC;YACpB,CAAC,CAAC,WAAW,CACT,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC,EACzE,MAAM,CAAC,WAAW,CACnB;YACH,CAAC,CAAC,IAAI,CAAC;QACX,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,SAAS,CACnB,GAAG,EAAE,CACH,WAAW,CACT,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,EAAE,CAAC,EACtF,MAAM,CAAC,aAAa,EACpB,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CACzB,EACH,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,CAAC,EAAE,CAChE,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,EAAE,CAAC;gBACpC,yEAAyE;gBACzE,qEAAqE;gBACrE,uEAAuE;gBACvE,mBAAmB;gBACnB,IAAI,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;oBACrC,GAAG,CAAC,iBAAiB,MAAM,CAAC,aAAa,2CAA2C,YAAY,IAAI,eAAe,GAAG,CAAC,CAAC;oBACxH,MAAM,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC5F,IAAI,EAAE,CAAC;oBACP,SAAS;gBACX,CAAC;gBACD,OAAO,IAAI,CAAC,4BAA4B,YAAY,OAAO,MAAM,CAAC,aAAa,UAAU,EAAE,gBAAgB,CAAC,CAAC;YAC/G,CAAC;YACD,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,QAAQ,EAAE,CAAC;oBACb,GAAG,CAAC,gBAAgB,QAAQ,CAAC,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxD,MAAM,UAAU,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxF,QAAQ,GAAG,QAAQ,CAAC;oBACpB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACxB,IAAI,EAAE,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;YACD,0EAA0E;YAC1E,yEAAyE;YACzE,qEAAqE;YACrE,wEAAwE;YACxE,0EAA0E;YAC1E,uEAAuE;YACvE,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,MAAM,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/F,OAAO,IAAI,CACT,GAAG,QAAQ,CAAC,IAAI,+BAA+B,IAAI,6CAA6C;oBAC9F,6IAA6I,EAC/I,eAAe,CAChB,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,mBAAoB,GAAa,CAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC7E,CAAC;gBAAS,CAAC;YACT,IAAI,SAAS;gBAAE,aAAa,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC;QACrB,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,sEAAsE;QACtE,mEAAmE;QACnE,YAAY,GAAG,CAAC,CAAC;QACjB,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;QAClC,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACzF,MAAM,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAElF,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,IAAI;gBAAE,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC1B,qEAAqE;YACrE,oEAAoE;YACpE,uEAAuE;YACvE,uDAAuD;YACvD,IAAI,MAAM,EAAE,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC,+CAA+C,EAAE,SAAS,CAAC,CAAC;YAC3F,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,0EAA0E;gBAC1E,mEAAmE;gBACnE,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,0EAA0E;aACjG,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,GAAG,CAAC,CAAC;QAEX,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7E,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC,4BAA4B,MAAM,CAAC,eAAe,uBAAuB,EAAE,yBAAyB,CAAC,CAAC;QACpH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;QACpC,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EACL,iRAAiR;aACpR,CAAC,CAAC;QACL,CAAC;QAED,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC;YAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;YACpC,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC9B,MAAM,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;gBAClC,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC5C,MAAM,UAAU,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,IAAI;oBACJ,YAAY,EAAE,EAAE;oBAChB,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,QAAQ;oBACR,SAAS;oBACT,OAAO,EAAE,SAAS;oBAClB,eAAe,EAAE,IAAI;oBACrB,MAAM,EAAE,YAAY,OAAO,EAAE;oBAC7B,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;gBACH,yEAAyE;gBACzE,4DAA4D;gBAC5D,MAAM,QAAQ,CAAC;oBACb,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,OAAO,EAAE,SAAS;oBAClB,OAAO;oBACP,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,YAAY,EAAE,EAAE;oBAChB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,YAAY,EAAE,mCAAmC;iBAClD,CAAC,CAAC;gBACH,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;gBAC3B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAChC,OAAO;oBACL,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,SAAS;oBACnB,OAAO;oBACP,aAAa,EAAE,UAAU,CAAC,GAAG;oBAC7B,YAAY,EAAE,EAAE;oBAChB,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,SAAS,EAAE;iBACvB,CAAC;YACJ,CAAC;YAED,MAAM,YAAY,GAAG;gBACnB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,kBAAkB;gBAChF,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI;aACnE;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,CAAC,EAAE;oBAC/F,GAAG,EAAE,QAAQ;iBACd,CAAC,CAAC;gBACH,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBACtC,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;gBACzB,IAAI,SAAS;oBAAE,GAAG,CAAC,eAAe,SAAS,EAAE,CAAC,CAAC;gBAC/C,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAC5C,MAAM,UAAU,CAAC,YAAY,CAAC;oBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,IAAI;oBACJ,YAAY,EAAE,KAAK;oBACnB,SAAS,EAAE,YAAY;oBACvB,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,QAAQ;oBACR,SAAS;oBACT,OAAO,EAAE,SAAS;oBAClB,eAAe,EAAE,IAAI;oBACrB,MAAM,EAAE,2BAA2B;oBACnC,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC;gBACH,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC,CAAC;gBAC7D,OAAO;oBACL,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,MAAM;oBAChB,OAAO;oBACP,aAAa,EAAE,UAAU,CAAC,GAAG;oBAC7B,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,QAAQ;oBACf,SAAS,EAAE,SAAS,EAAE;iBACvB,CAAC;YACJ,CAAC;YAED,wEAAwE;YACxE,4EAA4E;YAC5E,2EAA2E;YAC3E,wEAAwE;YACxE,0EAA0E;YAC1E,wEAAwE;YACxE,4EAA4E;YAC5E,wDAAwD;YACxD,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE;oBACtC,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK;oBACL,YAAY;iBACb,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAI,GAAa,CAAC,OAAO,CAAC;gBACvC,GAAG,CAAC,qCAAqC,OAAO,6DAA6D,CAAC,CAAC;gBAC/G,MAAM,UAAU,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,SAAS,GAAG,eAAe,IAAI,CAAC,OAAO,OAAO,OAAO,qBAAqB,YAAY,EAAE,CAAC;YAC/F,yEAAyE;YACzE,qEAAqE;YACrE,0EAA0E;YAC1E,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,kBAAmB,GAAa,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,GAAG,CAAC,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;gBAC/E,oEAAoE;gBACpE,sEAAsE;gBACtE,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC3D,MAAM,UAAU,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;oBACpF,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;wBACzC,MAAM,SAAS,CAAC,QAAQ,EAAE,8BAA8B,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAC1E,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,OAAO,GAAI,GAAa,CAAC,OAAO,CAAC;oBACvC,GAAG,CAAC,qCAAqC,OAAO,oCAAoC,CAAC,CAAC;oBACtF,MAAM,UAAU,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAChG,CAAC;YACH,CAAC;YACD,MAAM,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC5C,MAAM,UAAU,CAAC,YAAY,CAAC;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,IAAI;gBACJ,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3E,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC3E,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,QAAQ;gBACR,SAAS;gBACT,OAAO,EAAE,SAAS;gBAClB,eAAe,EAAE,IAAI;gBACrB,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YACH,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,SAAS;gBAClB,OAAO;gBACP,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,YAAY;aACb,CAAC,CAAC;YACH,GAAG,CAAC,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;YAClE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,MAAM;gBAChB,OAAO;gBACP,aAAa,EAAE,UAAU,CAAC,GAAG;gBAC7B,YAAY,EAAE,KAAK;gBACnB,MAAM;gBACN,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,SAAS,EAAE;aACvB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,IAAI,CACT,0BAA0B,MAAM,WAAW,UAAU,CAAC,MAAM,gCAAgC,EAC5F,uBAAuB,CACxB,CAAC;AACJ,CAAC"}
|
package/dist/agent/prompts.js
CHANGED
|
@@ -19,7 +19,8 @@ const WORKFLOW = `Workflow for every run:
|
|
|
19
19
|
6. Record every non-trivial decision with record_decision, and every stated/assumed/discovered constraint with record_constraint.
|
|
20
20
|
7. Call finish with outcome "done" when everything is verified, or outcome "refuse" (citing the violated budget/constraint) if the request should not be done. finish will list any unmet obligations; resolve them and call it again.
|
|
21
21
|
|
|
22
|
-
Turns are the scarce resource, not tool calls: the run has a hard turn budget, and every tool call in one reply executes in the same turn. When calls are independent — multiple record_constraint or resolve_affected calls (use resolutions: [...] to clear a backlog in one call), several read_file calls — issue them together in a single reply instead of one per turn
|
|
22
|
+
Turns are the scarce resource, not tool calls: the run has a hard turn budget, and every tool call in one reply executes in the same turn. When calls are independent — multiple record_constraint or resolve_affected calls (use resolutions: [...] to clear a backlog in one call), several read_file calls — issue them together in a single reply instead of one per turn.
|
|
23
|
+
Always send a populated \`args\` object that matches the tool's JSON Schema (e.g. read_file needs {"path": "..."}). Never open a stage with an empty-args call to probe a tool — it only returns an error and burns a whole turn.`;
|
|
23
24
|
export async function buildSystemPrompt(repoRoot, config, constraints) {
|
|
24
25
|
const parts = [SYSTEM_RULES, '', WORKFLOW];
|
|
25
26
|
if (Object.keys(config.budgets).length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,yCAAyC;AACzC,MAAM,YAAY,GAAG;;;;;;;wGAOmF,CAAC;AAEzG,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/agent/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,yCAAyC;AACzC,MAAM,YAAY,GAAG;;;;;;;wGAOmF,CAAC;AAEzG,MAAM,QAAQ,GAAG;;;;;;;;;;kOAUiN,CAAC;AAEnO,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,MAAwB,EACxB,WAA+B;IAE/B,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uEAAuE,EAAE,EAAE,CAAC,CAAC;QAC5F,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uDAAuD,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QACvF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|