@tiangong-ai/cli 0.0.60 → 0.0.61

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 (73) hide show
  1. package/AGENTS.md +2 -2
  2. package/README.md +167 -26
  3. package/dist/research/orchestration.js +108 -18
  4. package/dist/research/orchestration.js.map +1 -1
  5. package/dist/research/workspace/acquisition-routes.d.ts +1 -1
  6. package/dist/research/workspace/acquisition-routes.js +2 -11
  7. package/dist/research/workspace/acquisition-routes.js.map +1 -1
  8. package/dist/research/workspace/artifact-read-audit.d.ts +16 -0
  9. package/dist/research/workspace/artifact-read-audit.js +176 -0
  10. package/dist/research/workspace/artifact-read-audit.js.map +1 -0
  11. package/dist/research/workspace/artifact-trace.d.ts +12 -0
  12. package/dist/research/workspace/artifact-trace.js +109 -0
  13. package/dist/research/workspace/artifact-trace.js.map +1 -0
  14. package/dist/research/workspace/artifact-view-mcp.d.ts +75 -0
  15. package/dist/research/workspace/artifact-view-mcp.js +214 -0
  16. package/dist/research/workspace/artifact-view-mcp.js.map +1 -0
  17. package/dist/research/workspace/artifact-views.d.ts +100 -0
  18. package/dist/research/workspace/artifact-views.js +395 -0
  19. package/dist/research/workspace/artifact-views.js.map +1 -0
  20. package/dist/research/workspace/audit-bundle.d.ts +4 -0
  21. package/dist/research/workspace/audit-bundle.js +107 -8
  22. package/dist/research/workspace/audit-bundle.js.map +1 -1
  23. package/dist/research/workspace/executor.d.ts +5 -1
  24. package/dist/research/workspace/executor.js +106 -22
  25. package/dist/research/workspace/executor.js.map +1 -1
  26. package/dist/research/workspace/native-run.d.ts +77 -0
  27. package/dist/research/workspace/native-run.js +637 -0
  28. package/dist/research/workspace/native-run.js.map +1 -0
  29. package/dist/research/workspace/preflight.d.ts +8 -2
  30. package/dist/research/workspace/preflight.js +17 -14
  31. package/dist/research/workspace/preflight.js.map +1 -1
  32. package/dist/research/workspace/project-mutations.d.ts +1 -1
  33. package/dist/research/workspace/project-mutations.js +5 -3
  34. package/dist/research/workspace/project-mutations.js.map +1 -1
  35. package/dist/research/workspace/projects.js +1 -0
  36. package/dist/research/workspace/projects.js.map +1 -1
  37. package/dist/research/workspace/request-provenance.d.ts +67 -0
  38. package/dist/research/workspace/request-provenance.js +115 -0
  39. package/dist/research/workspace/request-provenance.js.map +1 -0
  40. package/dist/research/workspace/review-executor.js +22 -11
  41. package/dist/research/workspace/review-executor.js.map +1 -1
  42. package/dist/research/workspace/runtime.d.ts +52 -0
  43. package/dist/research/workspace/runtime.js +221 -98
  44. package/dist/research/workspace/runtime.js.map +1 -1
  45. package/dist/research/workspace/sanitization.js +1 -1
  46. package/dist/research/workspace/sanitization.js.map +1 -1
  47. package/dist/research/workspace/schema-compatibility.d.ts +5 -0
  48. package/dist/research/workspace/schema-compatibility.js +55 -0
  49. package/dist/research/workspace/schema-compatibility.js.map +1 -0
  50. package/dist/research/workspace/scientific-design.js +8 -17
  51. package/dist/research/workspace/scientific-design.js.map +1 -1
  52. package/dist/research/workspace/scientific-fulfillment-audit.d.ts +3 -0
  53. package/dist/research/workspace/scientific-fulfillment-audit.js +137 -0
  54. package/dist/research/workspace/scientific-fulfillment-audit.js.map +1 -0
  55. package/dist/research/workspace/scientific-fulfillment.d.ts +121 -0
  56. package/dist/research/workspace/scientific-fulfillment.js +539 -0
  57. package/dist/research/workspace/scientific-fulfillment.js.map +1 -0
  58. package/dist/research/workspace/scientific-review-execution.js +82 -61
  59. package/dist/research/workspace/scientific-review-execution.js.map +1 -1
  60. package/dist/research/workspace/scientific-review.d.ts +5 -1
  61. package/dist/research/workspace/scientific-review.js +197 -52
  62. package/dist/research/workspace/scientific-review.js.map +1 -1
  63. package/dist/research/workspace/setup-catalog.js +2 -2
  64. package/dist/research/workspace/task-acceptance.d.ts +10 -2
  65. package/dist/research/workspace/task-acceptance.js +72 -8
  66. package/dist/research/workspace/task-acceptance.js.map +1 -1
  67. package/dist/research/workspace/task-audit.js +52 -2
  68. package/dist/research/workspace/task-audit.js.map +1 -1
  69. package/dist/research/workspace/task-contract.d.ts +4 -1
  70. package/dist/research/workspace/task-contract.js +26 -5
  71. package/dist/research/workspace/task-contract.js.map +1 -1
  72. package/dist/research/workspace/types.d.ts +6 -3
  73. package/package.json +1 -1
@@ -1,12 +1,13 @@
1
1
  import { createHash, randomUUID } from "node:crypto";
2
2
  import { constants } from "node:fs";
3
- import { copyFile, lstat, mkdtemp, open, readFile, rm } from "node:fs/promises";
3
+ import { copyFile, lstat, mkdtemp, open, rm } from "node:fs/promises";
4
4
  import { dirname, join } from "node:path";
5
5
  import { CliError } from "../../errors.js";
6
+ import { artifactPromptContext, artifactReadInstructions, persistArtifactReads, persistArtifactViewIndex, writeArtifactViewIndex, } from "./artifact-views.js";
6
7
  import { verifyCapabilities } from "./capabilities.js";
7
8
  import { appendJournalEvent, readVerifiedJournal } from "./journal.js";
8
9
  import { assertProjectAuthority, projectAuthorityIndex } from "./project-authority.js";
9
- import { calculateAgentCallTokenReservation, RESEARCH_ESTIMATED_BYTES_PER_TOKEN, researchStructuredOutputMaxTurns, reservedAgentPackageCost, } from "./preflight.js";
10
+ import { calculateAgentCallTokenReservation, RESEARCH_ESTIMATED_BYTES_PER_TOKEN, RESEARCH_PACKET_READ_MAX_TURNS, RESEARCH_EXPECTED_ARTIFACT_READ_TOKENS, researchStructuredOutputMaxTurns, reservedAgentPackageCost, } from "./preflight.js";
10
11
  import { loadProject, saveProject } from "./projects.js";
11
12
  import { assertResearchPolicyBinding } from "./research-policy.js";
12
13
  import { createReviewExecutor } from "./review-executor.js";
@@ -73,7 +74,7 @@ export async function executeScientificReview(input, executor) {
73
74
  }
74
75
  const attempts = events.filter((event) => event.type === "scientific-review.execution.started").length;
75
76
  if (attempts > 0 && !input.retry) {
76
- throw executionError("RESEARCH_SCIENTIFIC_REVIEW_RETRY_REQUIRED", "The previous execution did not complete. Inspect its receipt, correct the cause, then explicitly use --retry.");
77
+ throw executionError("RESEARCH_SCIENTIFIC_REVIEW_RETRY_REQUIRED", "The previous execution did not complete. Inspect its recorded failure diagnostic, correct the cause, then explicitly use --retry.");
77
78
  }
78
79
  if (attempts >= config.budget.maxAttemptsPerPackage) {
79
80
  throw executionError("RESEARCH_SCIENTIFIC_REVIEW_ATTEMPTS_EXHAUSTED", "The bounded scientific reviewer attempts are exhausted; do not retry automatically.");
@@ -89,26 +90,31 @@ export async function executeScientificReview(input, executor) {
89
90
  let usageBeforeReservation = null;
90
91
  let callStartedAt = null;
91
92
  let usageSettled = false;
93
+ let failureDiagnostic = null;
92
94
  try {
93
95
  await copyPacketInputs(input.root, capsuleProject, packet, project.publicationPolicy);
94
- const prompt = await scientificReviewPrompt(capsuleProject, packet, config, project.publicationPolicy);
96
+ await writeJsonAtomic(join(capsuleProject, "inputs/scientific-review-packet.json"), packet);
97
+ const artifactViews = await writeArtifactViewIndex(capsuleProject, project.id);
98
+ const persistedViews = await persistArtifactViewIndex(join(paths.projects, project.id), capsuleProject, artifactViews);
99
+ const prompt = await scientificReviewPrompt(capsuleProject, packet, config, project.publicationPolicy, artifactViews);
95
100
  const schema = scientificReviewSchema(input.role);
96
- const maxTurns = researchStructuredOutputMaxTurns(config.reviewer);
101
+ const maxTurns = RESEARCH_PACKET_READ_MAX_TURNS;
97
102
  const reservation = calculateAgentCallTokenReservation({
98
103
  route: config.reviewer,
99
104
  primaryPayloadTokens: Math.ceil(Buffer.byteLength(prompt + JSON.stringify(schema)) / RESEARCH_ESTIMATED_BYTES_PER_TOKEN),
100
105
  repairPayloadTokens: 0,
101
- maxTurns,
106
+ maxTurns: researchStructuredOutputMaxTurns(config.reviewer),
102
107
  maxOutputTokens: config.budget.maxOutputTokens,
103
- maxToolContextTokens: 0,
108
+ maxToolContextTokens: RESEARCH_EXPECTED_ARTIFACT_READ_TOKENS,
104
109
  maxRepairTokens: 0,
105
110
  reserveRepair: false,
106
111
  }).totalTokens;
107
112
  const reservedCostUsd = reservedAgentPackageCost(config.reviewer, reservation, config);
113
+ const availableCostUsd = Math.max(0, config.budget.maxCostUsd - project.usage.costUsd);
108
114
  const timeoutSeconds = Math.min(config.budget.earlyScientificReviewMaxWallSeconds, config.budget.maxWallSeconds - project.usage.wallSeconds);
109
115
  if (reservation > config.budget.earlyScientificReviewMaxTokens ||
110
116
  reservation > config.budget.maxTokens - project.usage.tokens ||
111
- reservedCostUsd > config.budget.maxCostUsd - project.usage.costUsd ||
117
+ reservedCostUsd > availableCostUsd ||
112
118
  timeoutSeconds <= 0) {
113
119
  throw executionError("RESEARCH_BUDGET_EXCEEDED", "The independent review reservation does not fit the reviewed token, cost, or time limits.");
114
120
  }
@@ -124,6 +130,7 @@ export async function executeScientificReview(input, executor) {
124
130
  await appendJournalEvent(paths.journal, "scientific-review.execution.started", project.id, {
125
131
  role: input.role,
126
132
  packetSha256: packet.packetSha256,
133
+ artifactViewIndexSha256: artifactViews.sha256,
127
134
  runId,
128
135
  attempt: attempts + 1,
129
136
  reservedTokens: reservation,
@@ -147,13 +154,24 @@ export async function executeScientificReview(input, executor) {
147
154
  timeoutSeconds,
148
155
  maxTurns,
149
156
  maxOutputTokens: config.budget.maxOutputTokens,
150
- maxToolContextTokens: 0,
151
- maxCostUsd: reservedCostUsd,
157
+ maxToolContextTokens: RESEARCH_EXPECTED_ARTIFACT_READ_TOKENS,
158
+ maxCostUsd: availableCostUsd,
152
159
  expectedRuntime,
153
- toolPolicy: "none",
160
+ toolPolicy: "packet-read",
161
+ artifactViews: { index: artifactViews, packetSha256: packet.packetSha256 },
154
162
  brokerUrl: null,
155
163
  environment: input.environment,
156
164
  });
165
+ if (result.artifactReads?.length) {
166
+ await persistArtifactReads(join(paths.projects, project.id), capsuleProject, artifactViews, packet.packetSha256, result.artifactReads);
167
+ await appendJournalEvent(paths.journal, "review.artifacts.read", project.id, sanitizeResearchValue({
168
+ requestId: runId,
169
+ role: input.role,
170
+ packetSha256: packet.packetSha256,
171
+ indexSha256: artifactViews.sha256,
172
+ receipts: result.artifactReads.map((receipt) => receipt.receiptSha256),
173
+ }, configuredResearchSecrets(input.environment)));
174
+ }
157
175
  const reportedUsage = checkedUsage(result);
158
176
  const usageKnown = reportedUsage.tokens > 0;
159
177
  const usage = usageKnown
@@ -173,19 +191,21 @@ export async function executeScientificReview(input, executor) {
173
191
  await saveProject(input.root, project);
174
192
  usageSettled = true;
175
193
  if (result.exitCode !== 0) {
176
- throw executionError("RESEARCH_SCIENTIFIC_REVIEW_EXECUTION_FAILED", "The isolated reviewer failed. No scientific review was submitted.");
194
+ failureDiagnostic = reviewerFailureDiagnostic(result, input, capsuleRoot);
195
+ throw executionError("RESEARCH_SCIENTIFIC_REVIEW_EXECUTION_FAILED", "The isolated reviewer failed. No scientific review was submitted.", failureDiagnostic);
177
196
  }
178
- if (usage.tokens > reservation ||
197
+ if (usage.tokens >
198
+ Math.min(config.budget.earlyScientificReviewMaxTokens, config.budget.maxTokens - priorUsage.tokens) ||
179
199
  usage.outputTokens > config.budget.maxOutputTokens ||
180
- (config.reviewer.pricing && usage.costUsd > reservedCostUsd) ||
200
+ usage.costUsd > availableCostUsd ||
181
201
  usage.wallSeconds > timeoutSeconds) {
182
- throw executionError("RESEARCH_BUDGET_EXCEEDED", "The reviewer exceeded its reserved execution limit. No review was submitted.");
202
+ throw executionError("RESEARCH_BUDGET_EXCEEDED", "The reviewer exceeded an approved finite execution limit. No review was submitted.");
183
203
  }
184
204
  if (!result.runtime ||
185
205
  result.runtime.agent !== config.reviewer.agent ||
186
206
  (config.reviewer.model !== null && result.model !== config.reviewer.model) ||
187
- result.isolation?.toolPolicy !== "none" ||
188
- result.isolation.networkPolicy !== "reviewer-provider-only" ||
207
+ result.isolation?.toolPolicy !== "packet-read" ||
208
+ result.isolation.networkPolicy !== "reviewer-provider-and-local-artifacts" ||
189
209
  (config.reviewerExecution.transport === "sandbox-bridge" && !result.reviewAttestation)) {
190
210
  throw executionError("RESEARCH_SCIENTIFIC_REVIEW_EXECUTION_BINDING_INVALID", "The reviewer result does not contain the expected model, runtime, and isolation proof.");
191
211
  }
@@ -233,6 +253,8 @@ export async function executeScientificReview(input, executor) {
233
253
  runtime: result.runtime,
234
254
  isolation: result.isolation,
235
255
  reviewAttestation: result.reviewAttestation ?? null,
256
+ artifactViews: persistedViews,
257
+ artifactReads: result.artifactReads ?? [],
236
258
  stdoutSha256: sha256Text(result.stdout),
237
259
  stderrSha256: sha256Text(result.stderr),
238
260
  }, secrets);
@@ -270,6 +292,7 @@ export async function executeScientificReview(input, executor) {
270
292
  runId,
271
293
  attempt: attempts + 1,
272
294
  code: error instanceof CliError ? error.code : "RESEARCH_SCIENTIFIC_REVIEW_EXECUTION_FAILED",
295
+ ...(failureDiagnostic ?? {}),
273
296
  capsuleDisposition: "retained-failed-execution",
274
297
  });
275
298
  }
@@ -372,51 +395,25 @@ function checkedUsage(result) {
372
395
  }
373
396
  return usage;
374
397
  }
375
- async function scientificReviewPrompt(controlRoot, packet, config, policy) {
398
+ async function scientificReviewPrompt(controlRoot, packet, config, policy, index) {
376
399
  const mandatory = [
377
- "Review the exact prepared scientific packet independently. Tools are disabled. Read only embedded content; complete files are bound for audit but are not evidence that you read omitted bytes.",
400
+ "Review the exact prepared scientific packet independently using only its packet-bound artifact tools. Read the design, assessment and approved Policy documents, then inspect relevant implementations, inputs, failed checks and counterevidence. Complete files are available, not assumed read.",
378
401
  "Return the supplied JSON schema with the exact packetSha256 and reviewerSessionSha256. A mechanical canPass=false cannot be upgraded by prose; return stop, handoff, or revise as appropriate.",
379
- JSON.stringify(packet),
402
+ `packetSha256=${packet.packetSha256}; reviewerSessionSha256=${packet.reviewer.sessionSha256}; role=${packet.role}`,
403
+ artifactReadInstructions(index),
380
404
  ];
381
- for (const locator of [
382
- packet.design.objectLocator,
383
- packet.assessment.objectLocator,
384
- packet.policy.objectLocator,
385
- ...new Set(policy.documents.map((document) => document.objectLocator)),
386
- ]) {
387
- const path = resolveContained(controlRoot, locator);
388
- mandatory.push("### " + locator + "\n" + (await readFile(path, "utf8")));
389
- }
390
- const maxBytes = config.budget.maxInputContextTokens * RESEARCH_ESTIMATED_BYTES_PER_TOKEN;
391
- const required = mandatory.join("\n\n");
392
- if (Buffer.byteLength(required) > maxBytes) {
393
- throw executionError("RESEARCH_INPUT_CONTEXT_BUDGET_EXCEEDED", "Required scientific review design, policy, and assessment exceed the input context limit; revise the bounded assessment before execution.");
394
- }
395
- let remaining = maxBytes - Buffer.byteLength(required);
396
- const context = [required];
397
- for (const [index, record] of packet.stageInputs.entries()) {
398
- const allowance = Math.max(0, Math.floor(remaining / (packet.stageInputs.length - index)) - 256);
399
- if (!allowance)
400
- continue;
401
- const path = resolveContained(controlRoot, record.path);
402
- const handle = await open(path, "r");
403
- let text;
404
- try {
405
- const buffer = Buffer.alloc(Math.min(record.bytes, allowance));
406
- const read = await handle.read(buffer, 0, buffer.length, 0);
407
- text = buffer.subarray(0, read.bytesRead).toString("utf8");
408
- }
409
- finally {
410
- await handle.close();
411
- }
412
- const section = "### " + record.path + " (bounded excerpt; " + record.bytes + " total file bytes)\n" + text;
413
- const size = Buffer.byteLength(section);
414
- if (size <= remaining) {
415
- context.push(section);
416
- remaining -= size;
417
- }
418
- }
419
- return context.join("\n\n");
405
+ const locators = [
406
+ ...new Set([
407
+ "inputs/scientific-review-packet.json",
408
+ packet.design.objectLocator,
409
+ packet.assessment.objectLocator,
410
+ packet.policy.objectLocator,
411
+ ...policy.documents.map((document) => document.objectLocator),
412
+ ...packet.stageInputs.map((record) => record.path),
413
+ ]),
414
+ ];
415
+ mandatory.push(await artifactPromptContext(controlRoot, index, locators, Math.min(8_000, config.budget.maxInputContextTokens) * RESEARCH_ESTIMATED_BYTES_PER_TOKEN));
416
+ return mandatory.join("\n\n");
420
417
  }
421
418
  async function copyPacketInputs(root, capsuleProject, packet, policy) {
422
419
  const paths = workspacePaths(root);
@@ -441,7 +438,31 @@ async function copyPacketInputs(root, capsuleProject, packet, policy) {
441
438
  }
442
439
  await writeJsonAtomic(join(capsuleProject, "packet.json"), packet);
443
440
  }
444
- function executionError(code, message) {
445
- return new CliError(message, { code, exitCode: 3 });
441
+ function reviewerFailureDiagnostic(result, input, capsuleRoot) {
442
+ const secrets = configuredResearchSecrets(input.environment);
443
+ let diagnostic = sanitizeResearchText([result.telemetry?.providerErrors.join("; "), result.stderr.trim()]
444
+ .filter(Boolean)
445
+ .join("\n") ||
446
+ "Reviewer exited without a textual diagnostic; inspect the configured runtime before retrying.", secrets);
447
+ for (const path of [
448
+ capsuleRoot,
449
+ input.root,
450
+ input.environment.HOME,
451
+ input.environment.CLAUDE_CONFIG_DIR,
452
+ input.environment.CODEX_HOME,
453
+ ]) {
454
+ if (path)
455
+ diagnostic = diagnostic.replaceAll(path, "[private-path]");
456
+ }
457
+ return sanitizeResearchValue({
458
+ exitCode: result.exitCode,
459
+ diagnostic: diagnostic.slice(0, 2048),
460
+ stdoutSha256: sha256Text(result.stdout),
461
+ stderrSha256: sha256Text(result.stderr),
462
+ minimumAction: "Correct the reported runtime or provider failure, then explicitly use --retry. No review was submitted.",
463
+ }, secrets);
464
+ }
465
+ function executionError(code, message, details) {
466
+ return new CliError(message, { code, exitCode: 3, ...(details ? { details } : {}) });
446
467
  }
447
468
  //# sourceMappingURL=scientific-review-execution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scientific-review-execution.js","sourceRoot":"","sources":["../../../src/research/workspace/scientific-review-execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scientific-review-execution.js","sourceRoot":"","sources":["../../../src/research/workspace/scientific-review-execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAY,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EACL,kCAAkC,EAClC,kCAAkC,EAClC,8BAA8B,EAC9B,sCAAsC,EACtC,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,GAEvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,cAAc,EACd,eAAe,GAChB,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGjG,MAAM,2BAA2B,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAOC,EACD,QAA2B;IAE3B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,cAAc,CAClB,uDAAuD,EACvD,qFAAqF,CACtF,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,eAAe,CAAC,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,YAAY,EAAE,YAAY,CAAC;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS;YAC/B,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,UAAU;YACzC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CACpC,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,uCAAuC,CAClE,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,KAAK,CAAC,IAAI,EACV,SAAS,CAAC,OAAO,CAAC,cAAc,EAChC,SAAS,CAAC,OAAO,CAAC,aAAa,EAC/B;gBACE,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,UAAU;gBACxB,qBAAqB,EAAE,YAAY,EAAE,qBAAqB;aAC3D,CACF,CAAC;YACF,OAAO;gBACL,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;gBAChC,OAAO;gBACP,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;gBACtD,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,4BAA4B,CAC5D,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,IAAI,CACX,CAAC;QACF,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,IACE,OAAO,CAAC,OAAO,CAAC,YAAY;YAC5B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;YAClD,OAAO,CAAC,OAAO,CAAC,KAAK,KAAK,kBAAkB,EAC5C,CAAC;YACD,MAAM,cAAc,CAClB,oCAAoC,EACpC,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,IACE,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK;YAC/C,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,EAClE,CAAC;YACD,MAAM,cAAc,CAClB,uCAAuC,EACvC,0EAA0E,CAC3E,CAAC;QACJ,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,YAAY,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACvC,MAAM,cAAc,CAClB,2BAA2B,EAC3B,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,IAAI,eAAyD,CAAC;QAC9D,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxD,MAAM,cAAc,CAClB,sCAAsC,EACtC,+EAA+E,CAChF,CAAC;YACJ,CAAC;YACD,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAChD,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,CACrF,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,cAAc,CAClB,yBAAyB,EACzB,qEAAqE,CACtE,CAAC;YACJ,CAAC;YACD,MAAM,2BAA2B,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAkB,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,qCAAqC,CAChE,CAAC,MAAM,CAAC;QACT,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,cAAc,CAClB,2CAA2C,EAC3C,mIAAmI,CACpI,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;YACpD,MAAM,cAAc,CAClB,+CAA+C,EAC/C,qFAAqF,CACtF,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACjE,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACpD,MAAM,eAAe,CAAC,cAAc,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,sBAAsB,GAAgC,IAAI,CAAC;QAC/D,IAAI,aAAa,GAAkB,IAAI,CAAC;QACxC,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,IAAI,iBAAiB,GAAmC,IAAI,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,iBAAkB,CAAC,CAAC;YACvF,MAAM,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,sCAAsC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5F,MAAM,aAAa,GAAG,MAAM,sBAAsB,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAC/E,MAAM,cAAc,GAAG,MAAM,wBAAwB,CACnD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,EAChC,cAAc,EACd,aAAa,CACd,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,sBAAsB,CACzC,cAAc,EACd,MAAM,EACN,MAAM,EACN,OAAO,CAAC,iBAAkB,EAC1B,aAAa,CACd,CAAC;YACF,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClD,MAAM,QAAQ,GAAG,8BAA8B,CAAC;YAChD,MAAM,WAAW,GAAG,kCAAkC,CAAC;gBACrD,KAAK,EAAE,MAAM,CAAC,QAAQ;gBACtB,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAC7B,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,kCAAkC,CACxF;gBACD,mBAAmB,EAAE,CAAC;gBACtB,QAAQ,EAAE,gCAAgC,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAC3D,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe;gBAC9C,oBAAoB,EAAE,sCAAsC;gBAC5D,eAAe,EAAE,CAAC;gBAClB,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC,WAAW,CAAC;YACf,MAAM,eAAe,GAAG,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACvF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACvF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,MAAM,CAAC,MAAM,CAAC,mCAAmC,EACjD,MAAM,CAAC,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CACzD,CAAC;YACF,IACE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B;gBAC1D,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM;gBAC5D,eAAe,GAAG,gBAAgB;gBAClC,cAAc,IAAI,CAAC,EACnB,CAAC;gBACD,MAAM,cAAc,CAClB,0BAA0B,EAC1B,2FAA2F,CAC5F,CAAC;YACJ,CAAC;YACD,+EAA+E;YAC/E,mEAAmE;YACnE,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,WAAW,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,cAAc,CAAC;YAC5C,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvC,sBAAsB,GAAG,UAAU,CAAC;YACpC,MAAM,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,qCAAqC,EAAE,OAAO,CAAC,EAAE,EAAE;gBACzF,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,uBAAuB,EAAE,aAAa,CAAC,MAAM;gBAC7C,KAAK;gBACL,OAAO,EAAE,QAAQ,GAAG,CAAC;gBACrB,cAAc,EAAE,WAAW;gBAC3B,eAAe;gBACf,mBAAmB,EAAE,cAAc;gBACnC,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,SAAS;aAC9C,CAAC,CAAC;YACH,OAAO,GAAG,IAAI,CAAC;YACf,MAAM,OAAO,GACX,QAAQ;gBACR,oBAAoB,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC;YAC1F,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,QAAQ;gBACtB,MAAM;gBACN,YAAY,EAAE,MAAM;gBACpB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,SAAS;gBAClB,WAAW;gBACX,WAAW,EAAE,cAAc;gBAC3B,aAAa,EAAE,KAAK,CAAC,IAAI;gBACzB,cAAc;gBACd,QAAQ;gBACR,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe;gBAC9C,oBAAoB,EAAE,sCAAsC;gBAC5D,UAAU,EAAE,gBAAgB;gBAC5B,eAAe;gBACf,UAAU,EAAE,aAAa;gBACzB,aAAa,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;gBAC1E,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;gBACjC,MAAM,oBAAoB,CACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,EAChC,cAAc,EACd,aAAa,EACb,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,aAAa,CACrB,CAAC;gBACF,MAAM,kBAAkB,CACtB,KAAK,CAAC,OAAO,EACb,uBAAuB,EACvB,OAAO,CAAC,EAAE,EACV,qBAAqB,CACnB;oBACE,SAAS,EAAE,KAAK;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,WAAW,EAAE,aAAa,CAAC,MAAM;oBACjC,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;iBACvE,EACD,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,CAClB,CAC7B,CAAC;YACJ,CAAC;YACD,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,UAAU;gBACtB,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC;oBACE,GAAG,aAAa;oBAChB,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,WAAW;oBACxB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,CAAC;iBAC1D,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YACvE,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;YACzF,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;YAC1E,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YACvE,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvC,YAAY,GAAG,IAAI,CAAC;YACpB,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,iBAAiB,GAAG,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC1E,MAAM,cAAc,CAClB,6CAA6C,EAC7C,mEAAmE,EACnE,iBAAiB,CAClB,CAAC;YACJ,CAAC;YACD,IACE,KAAK,CAAC,MAAM;gBACV,IAAI,CAAC,GAAG,CACN,MAAM,CAAC,MAAM,CAAC,8BAA8B,EAC5C,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM,CAC5C;gBACH,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe;gBAClD,KAAK,CAAC,OAAO,GAAG,gBAAgB;gBAChC,KAAK,CAAC,WAAW,GAAG,cAAc,EAClC,CAAC;gBACD,MAAM,cAAc,CAClB,0BAA0B,EAC1B,oFAAoF,CACrF,CAAC;YACJ,CAAC;YACD,IACE,CAAC,MAAM,CAAC,OAAO;gBACf,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK;gBAC9C,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC1E,MAAM,CAAC,SAAS,EAAE,UAAU,KAAK,aAAa;gBAC9C,MAAM,CAAC,SAAS,CAAC,aAAa,KAAK,uCAAuC;gBAC1E,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,KAAK,gBAAgB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EACtF,CAAC;gBACD,MAAM,cAAc,CAClB,sDAAsD,EACtD,wFAAwF,CACzF,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC7D,IACE,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM;gBAC9D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,GAAG,EAAE,EACrE,CAAC;gBACD,MAAM,cAAc,CAClB,0CAA0C,EAC1C,oEAAoE,CACrE,CAAC;YACJ,CAAC;YACD,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,cAAc,CAClB,oCAAoC,EACpC,yEAAyE,CAC1E,CAAC;YACJ,CAAC;YACD,IAAI,aAAa,CAAC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpF,MAAM,cAAc,CAClB,0CAA0C,EAC1C,kDAAkD,CACnD,CAAC;YACJ,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YACpD,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACxE,IACE,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;gBAC3C,MAAM,CAAC,qBAAqB,KAAK,MAAM,CAAC,QAAQ,CAAC,aAAa,EAC9D,CAAC;gBACD,MAAM,cAAc,CAClB,4CAA4C,EAC5C,gFAAgF,CACjF,CAAC;YACJ,CAAC;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;YAC3D,MAAM,YAAY,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,aAAa,GACjB,WAAW,GAAG,OAAO,CAAC,EAAE,GAAG,gCAAgC,GAAG,YAAY,GAAG,OAAO,CAAC;YACvF,MAAM,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACrF,MAAM,IAAI,GAAG,qBAAqB,CAChC;gBACE,aAAa,EAAE,CAAC;gBAChB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CAAC,aAAa;gBACpD,KAAK;gBACL,OAAO,EAAE,QAAQ,GAAG,CAAC;gBACrB,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC,SAAS;gBAC7C,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK;gBACpC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,aAAa;gBACb,YAAY;gBACZ,KAAK;gBACL,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,wBAAwB;gBAClE,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;gBACnD,aAAa,EAAE,cAAc;gBAC7B,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;gBACzC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;gBACvC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;aACxC,EACD,OAAO,CACmB,CAAC;YAC7B,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACvE,MAAM,cAAc,GAClB,WAAW,GAAG,OAAO,CAAC,EAAE,GAAG,iCAAiC,GAAG,aAAa,GAAG,OAAO,CAAC;YACzF,MAAM,eAAe,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACpF,MAAM,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,uCAAuC,EAAE,OAAO,CAAC,EAAE,EAAE;gBAC3F,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,KAAK;gBACL,cAAc;gBACd,aAAa;gBACb,YAAY;aACb,CAAC,CAAC;YACH,aAAa,GAAG,IAAI,CAAC;YACrB,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,sBAAsB,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5C,uEAAuE;gBACvE,+EAA+E;gBAC/E,MAAM,OAAO,GACX,aAAa,KAAK,IAAI;oBACpB,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC;gBACtE,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,sBAAsB,CAAC,WAAW,GAAG,OAAO,CAAC;gBACzE,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC3B,OAAO,CAAC,KAAK,GAAG,EAAE,GAAG,sBAAsB,EAAE,CAAC;gBAChD,CAAC;gBACD,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,oCAAoC,EAAE,OAAO,CAAC,EAAE,EAAE;oBACxF,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,KAAK;oBACL,OAAO,EAAE,QAAQ,GAAG,CAAC;oBACrB,IAAI,EACF,KAAK,YAAY,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,6CAA6C;oBACxF,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;oBAC5B,kBAAkB,EAAE,2BAA2B;iBAChD,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,YAAY,QAAQ;gBAAE,MAAM,KAAK,CAAC;YAC3C,MAAM,cAAc,CAClB,6CAA6C,EAC7C,uGAAuG,CACxG,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,IACE,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC;gBAC3B,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9E,CAAC;gBACD,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;IACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC;IACnD,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC1E,MAAM,cAAc,CAClB,sDAAsD,EACtD,sDAAsD,CACvD,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvF,IAAI,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC;QACpD,MAAM,cAAc,CAClB,sDAAsD,EACtD,oDAAoD,CACrD,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC;QAC9C,GAAG,KAAK;QACR,UAAU;QACV,gBAAgB,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE;KACxE,CAAC,CAAC;IACH,OAAO;QACL,GAAG,UAAU;QACb,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,OAAgB,EAChB,MAAe,EACf,QAKC;IAED,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAC9B,OAAO,KAAK,YAAY,QAAQ,CAAC,SAAS,kCAAkC,MAAM,OAAO,EACzF,CAAC;QACD,MAAM,cAAc,CAClB,sDAAsD,EACtD,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,2BAA2B,EAAE,CAAC;QACxF,MAAM,cAAc,CAClB,sDAAsD,EACtD,wDAAwD,CACzD,CAAC;IACJ,CAAC;IACD,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,2BAA2B;gBAClF,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;YAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC;gBACjF,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC;oBAAE,MAAM;gBAClC,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC;YAC7B,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACzC,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM;gBACvF,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7C,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,cAAc,CAClB,sDAAsD,EACtD,oEAAoE,CACrE,CAAC;IACJ,CAAC;IACD,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;QACtC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;QAC5B,KAAK,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY;QAC5C,KAAK,CAAC,qBAAqB,KAAK,QAAQ,CAAC,qBAAqB;QAC9D,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;QAC1C,KAAK,CAAC,aAAa;YACjB,YAAY,QAAQ,CAAC,SAAS,iCAAiC,KAAK,CAAC,YAAY,OAAO,EAC1F,CAAC;QACD,MAAM,cAAc,CAClB,sDAAsD,EACtD,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,MAAuB;IAC3C,MAAM,KAAK,GAAG;QACZ,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;IACF,IACE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QAC1E,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,YAAY,EACjF,CAAC;QACD,MAAM,cAAc,CAClB,sDAAsD,EACtD,qCAAqC,CACtC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,WAAmB,EACnB,MAA8B,EAC9B,MAAuB,EACvB,MAA6B,EAC7B,KAAmB;IAEnB,MAAM,SAAS,GAAG;QAChB,oSAAoS;QACpS,gMAAgM;QAChM,gBAAgB,MAAM,CAAC,YAAY,2BAA2B,MAAM,CAAC,QAAQ,CAAC,aAAa,UAAU,MAAM,CAAC,IAAI,EAAE;QAClH,wBAAwB,CAAC,KAAK,CAAC;KAChC,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,GAAG,IAAI,GAAG,CAAC;YACT,sCAAsC;YACtC,MAAM,CAAC,MAAM,CAAC,aAAa;YAC3B,MAAM,CAAC,UAAU,CAAC,aAAa;YAC/B,MAAM,CAAC,MAAM,CAAC,aAAa;YAC3B,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC7D,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;SACnD,CAAC;KACH,CAAC;IACF,SAAS,CAAC,IAAI,CACZ,MAAM,qBAAqB,CACzB,WAAW,EACX,KAAK,EACL,QAAQ,EACR,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,GAAG,kCAAkC,CAC1F,CACF,CAAC;IACF,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,IAAY,EACZ,cAAsB,EACtB,MAA8B,EAC9B,MAA6B;IAE7B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACtE,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9F,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC7C,MAAM,cAAc,CAClB,4CAA4C,EAC5C,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACzD,MAAM,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACvC,MAAM,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;YAC1C,MAAM,cAAc,CAClB,4CAA4C,EAC5C,gEAAgE,CACjE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,eAAe,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,yBAAyB,CAChC,MAAuB,EACvB,KAAuD,EACvD,WAAmB;IAEnB,MAAM,OAAO,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,UAAU,GAAG,oBAAoB,CACnC,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAChE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC;QACX,+FAA+F,EACjG,OAAO,CACR,CAAC;IACF,KAAK,MAAM,IAAI,IAAI;QACjB,WAAW;QACX,KAAK,CAAC,IAAI;QACV,KAAK,CAAC,WAAW,CAAC,IAAI;QACtB,KAAK,CAAC,WAAW,CAAC,iBAAiB;QACnC,KAAK,CAAC,WAAW,CAAC,UAAU;KAC7B,EAAE,CAAC;QACF,IAAI,IAAI;YAAE,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,qBAAqB,CAC1B;QACE,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;QACrC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;QACvC,aAAa,EACX,yGAAyG;KAC5G,EACD,OAAO,CACmB,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,OAAe,EAAE,OAAiC;IACtF,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC"}
@@ -112,7 +112,7 @@ interface ScientificReviewStageInput {
112
112
  path: string;
113
113
  sha256: string;
114
114
  bytes: number;
115
- purpose: "construct-canary" | "inherited-gap" | "model-implementation" | "model-environment-lock" | "stage-output";
115
+ purpose: "construct-canary" | "inherited-gap" | "model-implementation" | "model-environment-lock" | "scientific-fulfillment" | "effective-scientific-design" | "original-request-source" | "native-calculation" | "acquired-evidence" | "stage-output";
116
116
  ownerId: string;
117
117
  sourceLocator: string;
118
118
  hashBasis: "raw-file-bytes";
@@ -128,6 +128,10 @@ export interface ScientificReviewPacket {
128
128
  design: {
129
129
  sha256: string;
130
130
  objectLocator: string;
131
+ fulfillment?: {
132
+ headSha256: string | null;
133
+ effectiveSha256: string;
134
+ };
131
135
  };
132
136
  policy: {
133
137
  resolvedPolicySha256: string;