frameyard 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/GLOSSARY.md +40 -16
  3. package/README.md +54 -48
  4. package/dist/cli.js +23 -16
  5. package/dist/cli.js.map +1 -1
  6. package/dist/composition/descriptor.d.ts +17 -3
  7. package/dist/composition/descriptor.d.ts.map +1 -1
  8. package/dist/composition/descriptor.js +51 -28
  9. package/dist/composition/descriptor.js.map +1 -1
  10. package/dist/composition/format.d.ts +12 -0
  11. package/dist/composition/format.d.ts.map +1 -0
  12. package/dist/composition/format.js +28 -0
  13. package/dist/composition/format.js.map +1 -0
  14. package/dist/composition/index.d.ts +2 -1
  15. package/dist/composition/index.d.ts.map +1 -1
  16. package/dist/composition/index.js +1 -0
  17. package/dist/composition/index.js.map +1 -1
  18. package/dist/contracts.d.ts +55 -6
  19. package/dist/contracts.d.ts.map +1 -1
  20. package/dist/contracts.js +3 -0
  21. package/dist/contracts.js.map +1 -1
  22. package/dist/errors.d.ts +1 -1
  23. package/dist/errors.d.ts.map +1 -1
  24. package/dist/errors.js.map +1 -1
  25. package/dist/html/document-adapter.d.ts +3 -3
  26. package/dist/html/document-adapter.d.ts.map +1 -1
  27. package/dist/html/document-adapter.js +1 -1
  28. package/dist/html/document-adapter.js.map +1 -1
  29. package/dist/html/index.d.ts +1 -1
  30. package/dist/html/index.d.ts.map +1 -1
  31. package/dist/html/parse.d.ts +10 -2
  32. package/dist/html/parse.d.ts.map +1 -1
  33. package/dist/html/parse.js +14 -5
  34. package/dist/html/parse.js.map +1 -1
  35. package/dist/html/validate.d.ts +12 -1
  36. package/dist/html/validate.d.ts.map +1 -1
  37. package/dist/html/validate.js +233 -61
  38. package/dist/html/validate.js.map +1 -1
  39. package/dist/index.d.ts +4 -4
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +2 -2
  42. package/dist/index.js.map +1 -1
  43. package/dist/preview/main.d.ts +2 -2
  44. package/dist/preview/main.d.ts.map +1 -1
  45. package/dist/preview/main.js +35 -14
  46. package/dist/preview/main.js.map +1 -1
  47. package/dist/preview/timeline-data.d.ts +5 -1
  48. package/dist/preview/timeline-data.d.ts.map +1 -1
  49. package/dist/preview/timeline-host.d.ts.map +1 -1
  50. package/dist/preview/timeline-host.js +10 -0
  51. package/dist/preview/timeline-host.js.map +1 -1
  52. package/dist/preview/timeline-main.js +3 -2
  53. package/dist/preview/timeline-main.js.map +1 -1
  54. package/dist/project.d.ts +3 -5
  55. package/dist/project.d.ts.map +1 -1
  56. package/dist/project.js.map +1 -1
  57. package/dist/renderer/browser.d.ts +2 -2
  58. package/dist/renderer/browser.d.ts.map +1 -1
  59. package/dist/renderer/browser.js +10 -4
  60. package/dist/renderer/browser.js.map +1 -1
  61. package/dist/renderer/ffmpeg.d.ts +3 -0
  62. package/dist/renderer/ffmpeg.d.ts.map +1 -1
  63. package/dist/renderer/ffmpeg.js +122 -56
  64. package/dist/renderer/ffmpeg.js.map +1 -1
  65. package/dist/renderer/index.d.ts +40 -4
  66. package/dist/renderer/index.d.ts.map +1 -1
  67. package/dist/renderer/index.js +99 -24
  68. package/dist/renderer/index.js.map +1 -1
  69. package/dist/renderer/timeline.d.ts.map +1 -1
  70. package/dist/renderer/timeline.js +89 -0
  71. package/dist/renderer/timeline.js.map +1 -1
  72. package/dist/runtime/host.d.ts.map +1 -1
  73. package/dist/runtime/host.js +155 -31
  74. package/dist/runtime/host.js.map +1 -1
  75. package/dist/scaffold.d.ts.map +1 -1
  76. package/dist/scaffold.js +104 -101
  77. package/dist/scaffold.js.map +1 -1
  78. package/dist/server/composition-html.d.ts +13 -7
  79. package/dist/server/composition-html.d.ts.map +1 -1
  80. package/dist/server/composition-html.js +65 -16
  81. package/dist/server/composition-html.js.map +1 -1
  82. package/dist/server/server.d.ts.map +1 -1
  83. package/dist/server/server.js +26 -6
  84. package/dist/server/server.js.map +1 -1
  85. package/dist/server/timeline-preview-data.d.ts.map +1 -1
  86. package/dist/server/timeline-preview-data.js +11 -0
  87. package/dist/server/timeline-preview-data.js.map +1 -1
  88. package/dist/server/timeline-preview-html.d.ts.map +1 -1
  89. package/dist/server/timeline-preview-html.js +2 -1
  90. package/dist/server/timeline-preview-html.js.map +1 -1
  91. package/dist/timeline/resolve.d.ts +4 -3
  92. package/dist/timeline/resolve.d.ts.map +1 -1
  93. package/dist/timeline/resolve.js +14 -4
  94. package/dist/timeline/resolve.js.map +1 -1
  95. package/dist/timeline/schema.d.ts +7 -0
  96. package/dist/timeline/schema.d.ts.map +1 -1
  97. package/dist/timeline/schema.js +50 -0
  98. package/dist/timeline/schema.js.map +1 -1
  99. package/dist/version.d.ts +1 -1
  100. package/dist/version.js +1 -1
  101. package/docs/adr/0007-make-html-documents-the-composition-unit.md +1 -1
  102. package/docs/adr/0008-share-the-composition-document-grammar.md +1 -1
  103. package/docs/adr/0011-compose-timeline-frames-in-a-live-browser-host.md +1 -1
  104. package/docs/adr/0012-render-timelines-with-segmented-lossless-clip-intermediates.md +1 -1
  105. package/docs/adr/0014-compose-timeline-clips-with-css-blend-modes.md +37 -0
  106. package/docs/adr/0015-inherit-composition-format-from-the-project.md +28 -0
  107. package/docs/adr/0016-author-compositions-as-html-fragments.md +32 -0
  108. package/docs/adr/0017-render-timeless-compositions-as-stills.md +99 -0
  109. package/docs/migration-0.4.md +3 -1
  110. package/docs/migration-0.8.md +163 -0
  111. package/docs/preview-testing.md +7 -0
  112. package/docs/v0.1-design.md +42 -34
  113. package/examples/blend/README.md +106 -0
  114. package/examples/blend/assets/ink.mp4 +0 -0
  115. package/examples/blend/compositions/aurora.html +55 -0
  116. package/examples/blend/compositions/backdrop.html +74 -0
  117. package/examples/blend/compositions/labels.html +149 -0
  118. package/examples/blend/scripts/make-ink.sh +26 -0
  119. package/examples/blend/timelines/blend.timeline.json +155 -0
  120. package/examples/blend/video.config.js +11 -0
  121. package/examples/demo/compositions/demo.html +243 -251
  122. package/examples/static/README.md +17 -0
  123. package/examples/static/compositions/still.html +37 -0
  124. package/examples/static/timelines/still.timeline.json +13 -0
  125. package/examples/static/video.config.js +9 -0
  126. package/examples/video/compositions/video-mp4.html +349 -357
  127. package/examples/video/compositions/video-overlay.html +337 -345
  128. package/examples/video/compositions/video.html +349 -357
  129. package/examples/webgl/compositions/webgl.html +205 -213
  130. package/package.json +2 -1
  131. package/skills/frameyard/SKILL.md +15 -13
  132. package/skills/frameyard/references/common-mistakes.md +29 -6
  133. package/skills/frameyard/references/controllers.md +5 -4
  134. package/skills/frameyard/references/deterministic-authoring.md +41 -36
  135. package/skills/frameyard/references/diagnostics.md +11 -3
  136. package/skills/frameyard/references/failure-recovery.md +25 -5
  137. package/skills/frameyard/references/json-results.md +46 -4
  138. package/skills/frameyard/references/timelines.md +16 -12
@@ -2,6 +2,7 @@ import { link, mkdir, mkdtemp, rename, rm, stat, writeFile } from "node:fs/promi
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { tmpdir } from "node:os";
4
4
  import path from "node:path";
5
+ import { COMPOSITION_FORMAT_UNRESOLVED_MESSAGE } from "../composition/index.js";
5
6
  import { isPlainObject, } from "../contracts.js";
6
7
  import { FrameyardError, isFrameyardError } from "../errors.js";
7
8
  import { validateHtmlComposition } from "../html/validate.js";
@@ -142,11 +143,15 @@ async function prepareComposition(options) {
142
143
  projectRoot: options.project.root,
143
144
  entry: composition.entry,
144
145
  props: options.props,
146
+ ...(options.project.format ? { format: options.project.format } : {}),
145
147
  });
146
148
  const staticDiagnostics = validation.diagnostics;
147
149
  const staticErrors = staticDiagnostics.filter((diagnostic) => diagnostic.severity === "error");
148
150
  if (!validation.info || staticErrors.length > 0) {
149
151
  const first = staticErrors[0];
152
+ if (!first && validation.formatUnresolved) {
153
+ throw new FrameyardError("COMPOSITION_FORMAT_UNRESOLVED", `Composition "${options.compositionId}": ${COMPOSITION_FORMAT_UNRESOLVED_MESSAGE}`, { diagnostics: validation.diagnostics });
154
+ }
150
155
  throw new FrameyardError(first?.code ?? "COMPOSITION_INVALID", `Composition "${options.compositionId}": ${first?.message ?? "static validation failed."}`, { diagnostics: validation.diagnostics });
151
156
  }
152
157
  return { composition, staticInfo: validation.info, staticDiagnostics };
@@ -214,13 +219,6 @@ async function withPreparedSessions(options, prepared, resolveSessionCount, call
214
219
  }
215
220
  }
216
221
  }
217
- async function withSessions(options, resolveSessionCount, callback) {
218
- const prepared = await prepareComposition(options);
219
- return withPreparedSessions(options, prepared, resolveSessionCount, callback);
220
- }
221
- async function withSession(options, callback) {
222
- return withSessions(options, () => 1, async (sessions) => callback(sessions[0]));
223
- }
224
222
  function reportProgress(options, frame, total, startedAt) {
225
223
  options.onProgress?.({ frame, total, elapsedMs: performance.now() - startedAt });
226
224
  }
@@ -306,12 +304,31 @@ async function captureFramesInOrder(options) {
306
304
  }
307
305
  export async function checkComposition(options) {
308
306
  const startedAt = performance.now();
309
- return withSession(options, async (session) => {
310
- const total = session.metadata.durationInFrames;
307
+ const prepared = await prepareComposition(options);
308
+ return withPreparedSessions(options, prepared, () => 1, async (sessions) => {
309
+ const session = sessions[0];
310
+ const metadata = session.metadata;
311
+ if (metadata.static === true) {
312
+ throwIfAborted(options.signal);
313
+ await session.seek(0);
314
+ reportProgress(options, 1, 1, startedAt);
315
+ const diagnostics = mergeDiagnostics(prepared.staticDiagnostics, await session.readDiagnostics());
316
+ return {
317
+ kind: "static",
318
+ composition: options.compositionId,
319
+ entry: session.entry,
320
+ controller: session.controller,
321
+ metadata,
322
+ framesChecked: 1,
323
+ diagnostics,
324
+ elapsedMs: performance.now() - startedAt,
325
+ };
326
+ }
327
+ const total = metadata.durationInFrames;
311
328
  const audio = await inspectTimelineAudio({
312
329
  projectRoot: options.project.root,
313
330
  clips: timelineAudioClips(session),
314
- fps: session.metadata.fps,
331
+ fps: metadata.fps,
315
332
  durationInFrames: total,
316
333
  signal: options.signal,
317
334
  });
@@ -327,10 +344,11 @@ export async function checkComposition(options) {
327
344
  }
328
345
  const diagnostics = mergeDiagnostics(await session.readDiagnostics(), audioDiagnostics(audio.warnings), transcriptDiagnostics(transcripts.warnings));
329
346
  return {
347
+ kind: "animated",
330
348
  composition: options.compositionId,
331
349
  entry: session.entry,
332
350
  controller: session.controller,
333
- metadata: session.metadata,
351
+ metadata,
334
352
  framesChecked: total,
335
353
  audio: { clips: audio.clips.length, details: audio.clips },
336
354
  transcripts: {
@@ -368,7 +386,8 @@ export async function captureStills(options) {
368
386
  const overwrite = options.overwrite ?? false;
369
387
  const startedAt = performance.now();
370
388
  const prepared = await prepareComposition(options);
371
- const total = prepared.staticInfo.metadata.durationInFrames;
389
+ const metadata = prepared.staticInfo.metadata;
390
+ const total = metadata.static === true ? 1 : metadata.durationInFrames;
372
391
  const invalidFrames = options.frames.filter((frame) => frame >= total);
373
392
  if (invalidFrames.length > 0) {
374
393
  const first = invalidFrames[0];
@@ -401,7 +420,7 @@ export async function captureStills(options) {
401
420
  }
402
421
  }
403
422
  await assertOutputsAvailable(options.outPaths, overwrite);
404
- const diagnostics = mergeDiagnostics(await session.readDiagnostics(), transcriptDiagnostics(transcripts.warnings));
423
+ const diagnostics = mergeDiagnostics(metadata.static === true ? prepared.staticDiagnostics : [], await session.readDiagnostics(), transcriptDiagnostics(transcripts.warnings));
405
424
  for (const [index, outPath] of options.outPaths.entries()) {
406
425
  await publishFile(tempPaths[index], outPath, overwrite);
407
426
  }
@@ -435,22 +454,77 @@ export async function captureStill(options) {
435
454
  outPaths: [outPath],
436
455
  });
437
456
  }
457
+ async function renderStaticComposition(options, prepared, startedAt) {
458
+ if (options.container !== undefined ||
459
+ options.codec !== undefined ||
460
+ options.encoder !== undefined ||
461
+ options.concurrency !== undefined) {
462
+ throw new FrameyardError("USAGE", "Static compositions render to PNG; --container, --codec, --encoder, and --concurrency are not valid.");
463
+ }
464
+ const metadata = prepared.staticInfo.metadata;
465
+ if (metadata.static !== true) {
466
+ throw new FrameyardError("INTERNAL", "renderStaticComposition received an animated composition.");
467
+ }
468
+ const outPath = options.outPath ?? path.join(options.project.root, "out", `${options.compositionId}.png`);
469
+ if (path.extname(outPath).toLowerCase() !== ".png") {
470
+ throw new FrameyardError("USAGE", `Static compositions render to a .png file: ${outPath}`);
471
+ }
472
+ const overwrite = options.overwrite ?? false;
473
+ await ensureOutputAvailable(outPath, overwrite);
474
+ return withPreparedSessions(options, prepared, () => 1, async (sessions) => {
475
+ const session = sessions[0];
476
+ const tempPath = path.join(path.dirname(outPath), `.${path.basename(outPath)}.frameyard-${process.pid}-${randomUUID()}.tmp`);
477
+ try {
478
+ throwIfAborted(options.signal);
479
+ await session.seek(0);
480
+ const png = await session.capture();
481
+ await writeFile(tempPath, png);
482
+ await assertOutputsAvailable([outPath], overwrite);
483
+ await publishFile(tempPath, outPath, overwrite);
484
+ reportProgress(options, 1, 1, startedAt);
485
+ const diagnostics = mergeDiagnostics(prepared.staticDiagnostics, await session.readDiagnostics());
486
+ return {
487
+ kind: "image",
488
+ composition: options.compositionId,
489
+ entry: session.entry,
490
+ controller: session.controller,
491
+ path: outPath,
492
+ width: metadata.width,
493
+ height: metadata.height,
494
+ bytes: (await stat(outPath)).size,
495
+ diagnostics,
496
+ elapsedMs: performance.now() - startedAt,
497
+ };
498
+ }
499
+ finally {
500
+ await rm(tempPath, { force: true });
501
+ }
502
+ });
503
+ }
438
504
  export async function renderComposition(options) {
505
+ const startedAt = performance.now();
506
+ const prepared = await prepareComposition(options);
507
+ if (prepared.staticInfo.metadata.static === true) {
508
+ return renderStaticComposition(options, prepared, startedAt);
509
+ }
439
510
  const container = options.container ?? "mp4";
440
511
  const codec = options.codec ?? defaultCodecForContainer(container);
441
512
  assertContainerCodec(container, codec);
442
513
  const extension = `.${CONTAINER_EXTENSION[container]}`;
443
- if (path.extname(options.outPath).toLowerCase() !== extension) {
444
- throw new FrameyardError("USAGE", `Render output for --container ${container} must use a ${extension} extension: ${options.outPath}`);
514
+ const outPath = options.outPath ?? path.join(options.project.root, "out", `${options.compositionId}${extension}`);
515
+ if (path.extname(outPath).toLowerCase() !== extension) {
516
+ throw new FrameyardError("USAGE", `Render output for --container ${container} must use a ${extension} extension: ${outPath}`);
445
517
  }
446
518
  const requestedConcurrency = validateRenderConcurrency(options.concurrency);
447
519
  const overwrite = options.overwrite ?? false;
448
- const startedAt = performance.now();
449
- await ensureOutputAvailable(options.outPath, overwrite);
520
+ await ensureOutputAvailable(outPath, overwrite);
450
521
  await assertFfmpegCapabilities(options.signal, codec);
451
522
  const encoderName = await resolveVideoEncoder(codec, options.encoder, options.signal);
452
- return withSessions(options, (first) => Math.min(requestedConcurrency, first.metadata.durationInFrames), async (sessions) => {
523
+ return withPreparedSessions(options, prepared, (first) => (first.metadata.static === true ? 1 : Math.min(requestedConcurrency, first.metadata.durationInFrames)), async (sessions) => {
453
524
  const session = sessions[0];
525
+ if (session.metadata.static === true) {
526
+ throw new FrameyardError("INTERNAL", "An animated render opened a static composition session.");
527
+ }
454
528
  const { width, height, fps, durationInFrames } = session.metadata;
455
529
  const concurrency = sessions.length;
456
530
  if (width % 2 !== 0 || height % 2 !== 0) {
@@ -471,7 +545,7 @@ export async function renderComposition(options) {
471
545
  signal: options.signal,
472
546
  });
473
547
  const scratchDir = await mkdtemp(path.join(tmpdir(), "frameyard-render-"));
474
- const tempOut = path.join(path.dirname(options.outPath), `.${path.basename(options.outPath)}.frameyard-${process.pid}-${randomUUID()}.mp4`);
548
+ const tempOut = path.join(path.dirname(outPath), `.${path.basename(outPath)}.frameyard-${process.pid}-${randomUUID()}.mp4`);
475
549
  let encoder;
476
550
  let completed = false;
477
551
  try {
@@ -525,17 +599,18 @@ export async function renderComposition(options) {
525
599
  }
526
600
  await encoder.finish();
527
601
  encoder = undefined;
528
- if (!overwrite && (await pathExists(options.outPath))) {
529
- throw new FrameyardError("OUTPUT_EXISTS", `Output already exists: ${options.outPath}. Pass --overwrite to replace it.`);
602
+ if (!overwrite && (await pathExists(outPath))) {
603
+ throw new FrameyardError("OUTPUT_EXISTS", `Output already exists: ${outPath}. Pass --overwrite to replace it.`);
530
604
  }
531
- await publishFile(tempOut, options.outPath, overwrite);
605
+ await publishFile(tempOut, outPath, overwrite);
532
606
  completed = true;
533
607
  const diagnostics = mergeDiagnostics(await readSessionDiagnostics(sessions), audioDiagnostics(audio.warnings), transcriptDiagnostics(transcripts.warnings));
534
608
  return {
609
+ kind: "video",
535
610
  composition: options.compositionId,
536
611
  entry: session.entry,
537
612
  controller: session.controller,
538
- path: options.outPath,
613
+ path: outPath,
539
614
  width,
540
615
  height,
541
616
  fps,
@@ -546,7 +621,7 @@ export async function renderComposition(options) {
546
621
  codec,
547
622
  container,
548
623
  encoder: encoderName,
549
- bytes: (await stat(options.outPath)).size,
624
+ bytes: (await stat(outPath)).size,
550
625
  audio: { clips: audio.clips.length },
551
626
  transcripts: {
552
627
  clips: transcripts.clips.length,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,EACL,aAAa,GAKd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAA+C,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAA2B,MAAM,cAAc,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAKlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAA6B,MAAM,kBAAkB,CAAC;AAiHrF,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,8EAA8E;AAC9E,MAAM,UAAU,yBAAyB,CAAC,KAAyB;IACjE,MAAM,WAAW,GAAG,KAAK,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,sDAAsD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,WAAW,GAAG,sBAAsB,EAAE,CAAC;QACzC,MAAM,IAAI,cAAc,CACtB,OAAO,EACP,iCAAiC,sBAAsB,cAAc,WAAW,GAAG,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,EAAU;IAClD,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;QAC1E,MAAM,IAAI,cAAc,CACtB,uBAAuB,EACvB,gBAAgB,EAAE,kDAAkD,SAAS,GAAG,CACjF,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,OAA2B;IACrD,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,gBAAgB,CAAC,QAA2B;IACnD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,qBAAqB,CAAC,QAA2B;IACxD,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,aAAa,CAAC,UAAiC;IACtD,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAG,MAAiC;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,MAAyB,EAAE,WAAmB;IACtF,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GACX,KAAK,CAAC,OAAO,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE;YACtB,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3C,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;QACnD,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,WAAW,EAAE;QACzD,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,QAAuC;IAC3E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACvF,OAAO,gBAAgB,CAAC,GAAG,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,cAAc,CAAC,MAA+B;IACrD,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IACpE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAAe,EAAE,SAAkB;IACtE,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,0BAA0B,OAAO,mCAAmC,CAAC,CAAC;IAClH,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,QAA2B,EAAE,SAAkB;IACnF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAW,CAAC;IACrC,MAAM,OAAO,GACX,SAAS,CAAC,MAAM,KAAK,CAAC;QACpB,CAAC,CAAC,0BAA0B,KAAK,mCAAmC;QACpE,CAAC,CAAC,0BAA0B,KAAK,SAAS,SAAS,CAAC,MAAM,GAAG,CAAC,2CAA2C,CAAC;IAC9G,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,OAAe,EAAE,SAAkB;IAC9E,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,0BAA0B,OAAO,mCAAmC,CAAC,CAAC;QAClH,CAAC;QACD,MAAM,IAAI,cAAc,CAAC,eAAe,EAAE,4BAA4B,OAAO,KAAM,KAAe,CAAC,OAAO,EAAE,EAAE;YAC5G,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAQD,KAAK,UAAU,kBAAkB,CAAC,OAAuB;IACvD,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC;QAC/C,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;QACjC,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtE,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAC;IACjD,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAC/F,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAC1C,MAAM,IAAI,cAAc,CACtB,+BAA+B,EAC/B,gBAAgB,OAAO,CAAC,aAAa,MAAM,qCAAqC,EAAE,EAClF,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CACxC,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,cAAc,CACtB,KAAK,EAAE,IAAI,IAAI,qBAAqB,EACpC,gBAAgB,OAAO,CAAC,aAAa,MAAM,KAAK,EAAE,OAAO,IAAI,2BAA2B,EAAE,EAC1F,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,CACxC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;AACzE,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAuB,EACvB,QAA6B,EAC7B,mBAA0D,EAC1D,QAAwD;IAExD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,QAAQ,CAAC;IAChE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACxF,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAE1C,IAAI,CAAC;QACH,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,KAAK,IAAiC,EAAE;gBACnD,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/B,OAAO,sBAAsB,CAAC;oBAC5B,SAAS,EAAE,MAAM,CAAC,GAAG;oBACrB,KAAK,EAAE,WAAW,CAAC,KAAK;oBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,IAAI,EAAE,UAAU;oBAChB,iBAAiB;iBAClB,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAuB,CAAC,CAAC,CAAC;YACzF,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrB,gEAAgE;gBAChE,sEAAsE;gBACtE,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpG,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;oBAChC,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;wBAClC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAmC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;gBAC1G,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,kBAAkB,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7G,MAAM,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,OAAO,CAAC,aAAa,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE;oBAC/F,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;iBACnG,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,yCAAyC;YAC3C,CAAC;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,OAAuB,EAAE,KAAa,EAAE,KAAa,EAAE,SAAiB;IAC9F,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAOnC;IACC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAuC,CAAC;IAE5C,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,KAAc,EAAQ,EAAE;QACpC,OAAO,KAAK,EAAE,KAAK,EAAE,CAAC;QACtB,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC9F,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,GAAkB,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3F,MAAM,IAAI,GAAG,KAAK,EAAE,KAAa,EAAmB,EAAE;QACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,CAAC,KAAK,CAAC;YACtB,CAAC;YACD,MAAM,aAAa,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAW,CAAC;QAC1C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,OAA2B,EAAiB,EAAE;QACzE,OAAO,CAAC,OAAO,EAAE,CAAC;YAChB,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,SAAS,CAAC;YACxB,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,IAAI,KAAK,IAAI,SAAS,GAAG,UAAU,EAAE,CAAC;gBACpC,MAAM,aAAa,EAAE,CAAC;gBACtB,SAAS;YACX,CAAC;YAED,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;YACtB,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACpC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACzB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;QAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACtD,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC9B,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;YACtB,OAAO,CAAC,UAAU,EAAE,CAAC;gBACnB,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;aACjD,CAAC,CAAC;YACH,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,EAAE,IAAyB,EAAiB,EAAE;QAC/D,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrH,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,OAAO,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QACvE,MAAM,OAAO,CAAC,KAAK,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAuB;IAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,oBAAoB,CACzB,OAAO,EACP,QAAQ,EACR,GAAG,EAAE,CAAC,CAAC,EACP,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAuB,CAAC;QAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAC7B,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;YAClG,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,OAAO,CAAC,aAAa;gBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ;gBACR,aAAa,EAAE,CAAC;gBAChB,WAAW;gBACX,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;aACzC,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC;YACvC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YACjC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC;YAClC,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC;YAC/C,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YACjC,KAAK,EAAE,OAAO,CAAC,eAAe;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC9C,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,cAAc,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB,CAClC,MAAM,OAAO,CAAC,eAAe,EAAE,EAC/B,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAChC,qBAAqB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC5C,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,OAAO,CAAC,aAAa;YAClC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,QAAQ;YACR,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE;YAC1D,WAAW,EAAE;gBACX,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;gBAC/B,OAAO,EAAE,WAAW,CAAC,KAAK;aAC3B;YACD,WAAW;YACX,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;SACzC,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAIC;IAED,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,4CAA4C,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,0DAA0D,CAAC,CAAC;IAChG,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,cAAc,CAAC,oBAAoB,EAAE,oDAAoD,KAAK,GAAG,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3D,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC/D,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;IAC1E,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;YACnD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,2CAA2C,OAAO,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACvE,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IACvE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAW,CAAC;QACzC,MAAM,IAAI,cAAc,CAAC,oBAAoB,EAAE,SAAS,KAAK,kCAAkC,KAAK,GAAG,CAAC,GAAG,EAAE;YAC3G,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;SACnE,CAAC,CAAC;IACL,CAAC;IACD,MAAM,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC1D,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,oBAAoB,CACzB,OAAO,EACP,QAAQ,EACR,GAAG,EAAE,CAAC,CAAC,EACP,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAuB,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC;YAC/C,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YACjC,KAAK,EAAE,OAAO,CAAC,eAAe;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACjD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC,CAC5G,CAAC;QAEF,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpC,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,CAAW,EAAE,GAAG,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,MAAM,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,gBAAgB,CAClC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC1D,MAAM,OAAO,CAAC,eAAe,EAAE,EAC/B,qBAAqB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC5C,CAAC;YAEF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC1D,MAAM,WAAW,CAAC,SAAS,CAAC,KAAK,CAAW,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnD,KAAK;gBACL,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;aACxC,CAAC,CAAC,CAAC;YACJ,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO;gBACL,WAAW,EAAE,OAAO,CAAC,aAAa;gBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/F,MAAM;gBACN,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAC7B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC/B,WAAW;gBACX,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;aACzC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAIC;IAED,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC5C,OAAO,aAAa,CAAC;QACnB,GAAG,IAAI;QACP,MAAM,EAAE,CAAC,KAAK,CAAC;QACf,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAOC,EACD,QAA6B,EAC7B,SAAiB;IAEjB,IACE,OAAO,CAAC,SAAS,KAAK,SAAS;QAC/B,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3B,OAAO,CAAC,OAAO,KAAK,SAAS;QAC7B,OAAO,CAAC,WAAW,KAAK,SAAS,EACjC,CAAC;QACD,MAAM,IAAI,cAAc,CACtB,OAAO,EACP,sGAAsG,CACvG,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,2DAA2D,CAAC,CAAC;IACpG,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,MAAM,CAAC,CAAC;IAC1G,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,8CAA8C,OAAO,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAEhD,OAAO,oBAAoB,CACzB,OAAO,EACP,QAAQ,EACR,GAAG,EAAE,CAAC,CAAC,EACP,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAuB,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAC1E,CAAC;QAEF,IAAI,CAAC;YACH,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC/B,MAAM,sBAAsB,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;YACnD,MAAM,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAChD,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAEzC,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;YAClG,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,OAAO,CAAC,aAAa;gBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBACjC,WAAW;gBACX,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;aACzC,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAUC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACnE,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,EAAE,CAAC,CAAC;IAClH,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;QACtD,MAAM,IAAI,cAAc,CACtB,OAAO,EACP,iCAAiC,SAAS,eAAe,SAAS,eAAe,OAAO,EAAE,CAC3F,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtF,OAAO,oBAAoB,CACzB,OAAO,EACP,QAAQ,EACR,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EACjH,KAAK,EAAE,QAAQ,EAAE,EAAE;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAuB,CAAC;QAClD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,cAAc,CAAC,UAAU,EAAE,yDAAyD,CAAC,CAAC;QAClG,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClE,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;QACpC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,cAAc,CACtB,eAAe,EACf,6DAA6D,KAAK,IAAI,MAAM,GAAG,CAChF,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,gBAAgB,GAAG,GAAG,CAAC;QAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC;YACvC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YACjC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC;YAClC,GAAG;YACH,gBAAgB;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC;YAC/C,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;YACjC,KAAK,EAAE,OAAO,CAAC,eAAe;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAC1E,CAAC;QAEF,IAAI,OAAkE,CAAC;QACvE,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,CAAC;YACH,IAAI,SAA6B,CAAC;YAClC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC/C,MAAM,gBAAgB,CAAC;oBACrB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;wBACjC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;wBAC/B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3F,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;qBAC1B,CAAC,CAAC;oBACH,GAAG;oBACH,eAAe;oBACf,UAAU,EAAE,SAAS;oBACrB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,CAAC;YACL,CAAC;YAED,OAAO,GAAG,MAAM,iBAAiB,CAAC;gBAChC,UAAU,EAAE,OAAO;gBACnB,GAAG;gBACH,MAAM,EAAE,KAAK;gBACb,eAAe;gBACf,OAAO,EAAE,WAAW;gBACpB,KAAK;gBACL,SAAS;gBACT,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,OAAO,CAAC;YAE9B,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;gBACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBAC9C,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC/B,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpC,MAAM,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBACpC,cAAc,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,oBAAoB,CAAC;oBACzB,QAAQ;oBACR,KAAK;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,SAAS;oBACT,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC;oBAClD,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAChF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,GAAG,SAAS,CAAC;YAEpB,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,cAAc,CACtB,eAAe,EACf,0BAA0B,OAAO,mCAAmC,CACrE,CAAC;YACJ,CAAC;YACD,MAAM,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC/C,SAAS,GAAG,IAAI,CAAC;YAEjB,MAAM,WAAW,GAAG,gBAAgB,CAClC,MAAM,sBAAsB,CAAC,QAAQ,CAAC,EACtC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAChC,qBAAqB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAC5C,CAAC;YAEF,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,OAAO,CAAC,aAAa;gBAClC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,IAAI,EAAE,OAAO;gBACb,KAAK;gBACL,MAAM;gBACN,GAAG;gBACH,gBAAgB;gBAChB,eAAe;gBACf,cAAc,EAAE,KAAK;gBACrB,WAAW;gBACX,KAAK;gBACL,SAAS;gBACT,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBACjC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE;gBACpC,WAAW,EAAE;oBACX,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,MAAM;iBAChC;gBACD,WAAW;gBACX,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;aACzC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,CAAC;YACD,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/renderer/timeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/renderer/timeline.ts"],"names":[],"mappings":"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"}
@@ -269,6 +269,58 @@ export function resolveTimelineAudio(timeline) {
269
269
  transcripts,
270
270
  };
271
271
  }
272
+ async function captureStaticCompositionLayer(options) {
273
+ const { project, timeline, clip, source, serverUrl, scratchRoot, infoCache, staticCache } = options;
274
+ const propsKey = JSON.stringify(clip.props ?? null);
275
+ const cacheKey = `${source.entry}\u0000${propsKey}`;
276
+ const cached = staticCache.get(cacheKey);
277
+ if (cached) {
278
+ return cached;
279
+ }
280
+ const pending = (async () => {
281
+ let validation = infoCache.get(cacheKey);
282
+ if (!validation) {
283
+ validation = await validateHtmlComposition({
284
+ projectRoot: project.root,
285
+ entry: source.entry,
286
+ ...(clip.props !== undefined ? { props: clip.props } : {}),
287
+ ...(project.format ? { format: project.format } : {}),
288
+ });
289
+ infoCache.set(cacheKey, validation);
290
+ }
291
+ if (!validation.info) {
292
+ throw new FrameyardError("TIMELINE_CLIP_INVALID", `Composition "${source.id}" could not be loaded for clip "${clip.id}".`, { diagnostics: validation.diagnostics });
293
+ }
294
+ const session = await openCompositionSession({
295
+ serverUrl,
296
+ entry: source.entry,
297
+ props: clip.props,
298
+ info: validation.info,
299
+ staticDiagnostics: validation.diagnostics,
300
+ transparentBackground: true,
301
+ });
302
+ try {
303
+ throwIfAborted(options.signal);
304
+ await session.seek(0);
305
+ const png = await session.capture();
306
+ const filePath = path.join(scratchRoot, `static-${randomUUID()}.png`);
307
+ await writeFile(filePath, png);
308
+ const diagnostics = (await session.readDiagnostics()).map((diagnostic) => compositionDiagnostic(diagnostic, timeline.id, clip, source.id));
309
+ return { path: filePath, diagnostics };
310
+ }
311
+ finally {
312
+ await session.close();
313
+ }
314
+ })();
315
+ staticCache.set(cacheKey, pending);
316
+ try {
317
+ return await pending;
318
+ }
319
+ catch (error) {
320
+ staticCache.delete(cacheKey);
321
+ throw error;
322
+ }
323
+ }
272
324
  async function captureCompositionLayer(options) {
273
325
  const { project, timeline, clip, source, segment, layerIndex, serverUrl, segmentDir, infoCache } = options;
274
326
  const propsKey = JSON.stringify(clip.props ?? null);
@@ -279,6 +331,7 @@ async function captureCompositionLayer(options) {
279
331
  projectRoot: project.root,
280
332
  entry: source.entry,
281
333
  ...(clip.props !== undefined ? { props: clip.props } : {}),
334
+ ...(project.format ? { format: project.format } : {}),
282
335
  });
283
336
  infoCache.set(cacheKey, validation);
284
337
  }
@@ -341,6 +394,7 @@ async function renderNestedTimelineRange(options) {
341
394
  serverUrl: options.serverUrl,
342
395
  scratchRoot: options.scratchRoot,
343
396
  infoCache: options.infoCache,
397
+ staticCache: options.staticCache,
344
398
  codec: "ffv1",
345
399
  background: options.timeline.background ?? "transparent",
346
400
  prefix,
@@ -395,8 +449,31 @@ async function processTimelineSegment(options) {
395
449
  scale: transform.scale,
396
450
  rotation: transform.rotation,
397
451
  opacity: transform.opacity,
452
+ blend: clip.blend ?? "normal",
398
453
  };
399
454
  if (source.kind === "composition") {
455
+ if (source.metadata.static === true) {
456
+ const captured = await captureStaticCompositionLayer({
457
+ project,
458
+ timeline,
459
+ clip,
460
+ source,
461
+ serverUrl,
462
+ scratchRoot,
463
+ infoCache,
464
+ staticCache: options.staticCache,
465
+ ...(options.signal ? { signal: options.signal } : {}),
466
+ });
467
+ diagnostics.push(...captured.diagnostics);
468
+ layers.push({
469
+ kind: "image",
470
+ path: captured.path,
471
+ sourceWidth: source.metadata.width,
472
+ sourceHeight: source.metadata.height,
473
+ ...base,
474
+ });
475
+ continue;
476
+ }
400
477
  const captured = await captureCompositionLayer({
401
478
  project,
402
479
  timeline,
@@ -440,6 +517,7 @@ async function processTimelineSegment(options) {
440
517
  serverUrl,
441
518
  scratchRoot,
442
519
  infoCache,
520
+ staticCache: options.staticCache,
443
521
  depth: depth + 1,
444
522
  ...(options.signal ? { signal: options.signal } : {}),
445
523
  });
@@ -493,6 +571,7 @@ async function checkResolvedTimelineRange(options) {
493
571
  projectRoot: context.project.root,
494
572
  entry: source.entry,
495
573
  ...(layer.clip.props !== undefined ? { props: layer.clip.props } : {}),
574
+ ...(context.project.format ? { format: context.project.format } : {}),
496
575
  });
497
576
  if (!validation.info) {
498
577
  throw new FrameyardError("TIMELINE_CLIP_INVALID", `Composition "${source.id}" could not be loaded for clip "${layer.clip.id}".`, { diagnostics: validation.diagnostics });
@@ -512,6 +591,9 @@ async function checkResolvedTimelineRange(options) {
512
591
  staticDiagnostics: target.validation.diagnostics,
513
592
  });
514
593
  sessions.set(key, session);
594
+ if (target.source.metadata.static === true) {
595
+ await session.seek(0);
596
+ }
515
597
  }
516
598
  for (const segment of plan.segments) {
517
599
  for (let frame = segment.start; frame < segment.end; frame += 1) {
@@ -521,6 +603,9 @@ async function checkResolvedTimelineRange(options) {
521
603
  continue;
522
604
  }
523
605
  const source = layer.clip.source;
606
+ if (source.metadata.static === true) {
607
+ continue;
608
+ }
524
609
  const key = `${source.entry}\u0000${JSON.stringify(layer.clip.props ?? null)}`;
525
610
  const session = sessions.get(key);
526
611
  if (!session) {
@@ -697,12 +782,14 @@ async function renderResolvedTimelineFrame(options) {
697
782
  scale: transform.scale,
698
783
  rotation: transform.rotation,
699
784
  opacity: transform.opacity,
785
+ blend: clip.blend ?? "normal",
700
786
  };
701
787
  if (source.kind === "composition") {
702
788
  const validation = await validateHtmlComposition({
703
789
  projectRoot: context.project.root,
704
790
  entry: source.entry,
705
791
  ...(clip.props !== undefined ? { props: clip.props } : {}),
792
+ ...(context.project.format ? { format: context.project.format } : {}),
706
793
  });
707
794
  if (!validation.info) {
708
795
  throw new FrameyardError("TIMELINE_CLIP_INVALID", `Composition "${source.id}" could not be loaded for clip "${clip.id}".`, { diagnostics: validation.diagnostics });
@@ -940,6 +1027,7 @@ export async function renderTimeline(options) {
940
1027
  const scratchRoot = await mkdtemp(path.join(scratchBase, "frameyard-timeline-"));
941
1028
  const server = await startPreviewServer({ projectRoot: options.project.root, port: 0 });
942
1029
  const infoCache = new Map();
1030
+ const staticCache = new Map();
943
1031
  const diagnostics = [...resolved.diagnostics];
944
1032
  if (workers < requestedWorkers) {
945
1033
  diagnostics.push({
@@ -999,6 +1087,7 @@ export async function renderTimeline(options) {
999
1087
  serverUrl: server.url,
1000
1088
  scratchRoot,
1001
1089
  infoCache,
1090
+ staticCache,
1002
1091
  codec,
1003
1092
  container,
1004
1093
  encoder,