@jtdigital/renderbox-sdk 0.6.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,91 @@
1
+ # Changelog — @jtdigital/renderbox-sdk
2
+
3
+ ## 0.8.1 — 2026-08-19
4
+
5
+ ### Fixed
6
+ - **`makeSlideshow`'s `title` overlay killed FFmpeg (exit 234).** Its backing band was a
7
+ `drawbox` sized `y: 'h*0.70', h: 'h*0.14'`, but inside drawbox `h` is the BOX's own
8
+ height, not the frame's, so the expression was self-referential and the job died before
9
+ a frame was written. Sized in `ih` now.
10
+ - **Ken Burns rendered every slide ~100x too long.** `kenBurns` passed zoompan
11
+ `d = duration * fps` while its input (the recipe's image clip: loop -> fps -> trim) was
12
+ already that many frames, and zoompan emits `d` frames PER input frame, so a 4 s slide
13
+ came back 400 s. Now `d: 1`, one output frame per input frame, motion driven by
14
+ zoompan's global `on` counter. Matches the Rust SDK's split between `ops::fx::punch_in`
15
+ (`d=1`, moving stream) and `ops::timeline::apply_ken_burns` (`d=frames`, single still).
16
+ - **Overlay copy reached FFmpeg unescaped and unguarded.** `makeSlideshow` bypassed
17
+ `escapeDrawtext`, so a `:` in a row truncated the line and a `'` dropped it; with text
18
+ expansion left on, a literal `%` silently dropped the whole overlay, job still reporting
19
+ success. Overlay text is now escaped, and every text preset sets `expansion: 'none'`.
20
+ - **`escapeDrawtext` escaped apostrophes the shell way** (`'\''`), which broke out of the
21
+ filter option and leaked the remaining options into the burned-in text. It emits `\'`
22
+ now, which is what the engine's own quoting expects.
23
+ - **`makeSlideshow` output was not web-playable.** Filter negotiation settled the tail at
24
+ `yuv444p`, which Safari refuses to decode, and a sink `pix_fmt` does not survive the
25
+ compiler. The recipe pins `yuv420p` before the sink.
26
+
27
+ All five verified against the live fleet (submit -> render -> inspect the returned file),
28
+ not just against the emitted graph.
29
+
30
+ ## 0.8.0 — 2026-08-03
31
+
32
+ ### Added
33
+ - **`mti(opts?)` on `VideoStream`** — ego-motion-compensated moving target
34
+ indication for moving platforms (drone / vehicle ISR). Classical OpenCV, no
35
+ model: consecutive frames are registered via a ground-plane homography and
36
+ whatever still moves is emitted as a `mover` box (frame pixel space) on a
37
+ `DetectionStream`, so `track()` and the detection sinks consume it like any
38
+ detector output. Knobs: `diff_threshold`, `fps`, `max_features`, `min_area`,
39
+ `min_features`, `on_degenerate` (`'skip' | 'full_frame'`), `ransac_reproj_px`.
40
+
41
+ ## 0.7.0 — 2026-07-21
42
+
43
+ ### Added
44
+ - **Composition combinators on every stream.** `pipe(...fns)` applies
45
+ transforms left to right (a single function may change sort; a chain stays
46
+ within the sort). `fold(items, step)` sequences a dynamic pipeline from data —
47
+ the declarative replacement for `let out; for (…) out = out.…` loops.
48
+ - **`redactPasses(video, passes)` recipe** — burn any number of detector passes
49
+ onto one video, sequenced as data (`{ detect, track?, redact? }` per pass).
50
+ The recipe owns the invariant that every pass detects on the ORIGINAL frames
51
+ while the burn accumulates. Defaults: ByteTrack tracking, `{ mode: 'black' }`.
52
+ - `CHANGELOG.md` ships in the npm package.
53
+
54
+ ## 0.6.0 — 2026-07-21
55
+
56
+ ### Changed (breaking)
57
+ - **Variant-typed op options.** Ops with registry variant groups now generate
58
+ discriminated unions: `RedactOpts` / `RedactTextOpts` require `radius` for
59
+ `mode: 'blur'`, forbid it for `mode: 'black'`; `AnnotateOpts` forbids
60
+ `thickness`/`fontsize`/`fontcolor` for `style: 'mask'`. Previously these
61
+ failed on the backend ([E028]); now they fail in your editor.
62
+ - **`GraphJSON` is a type alias** (was an interface) — `g.json()` assigns to
63
+ `Record<string, unknown>` submission payloads without casting.
64
+ - `faceRedact` narrows on `redactMode`: a radius is no longer silently sent
65
+ with `black` (which the engine rejects); `blur` defaults to radius 31 (the
66
+ runtime default).
67
+
68
+ ### Added
69
+ - Optional op params accept an explicit `undefined` (stripped before the wire),
70
+ so computed options compose flat under `exactOptionalPropertyTypes` —
71
+ `{ filter_classes: classes || undefined }` instead of conditional spreads.
72
+
73
+ ## 0.5.0 — 2026-07
74
+
75
+ - Exclusive-union codegen for `align` layout sugar (`align` xor `x`/`y` at the
76
+ type level); typed format-fidelity options on `SinkAvOpts`.
77
+
78
+ ## 0.4.x — 2026-07
79
+
80
+ - s130 parity closure: `presets/` (~30 audio/text/video building blocks),
81
+ `bridge.ts` (detection→edit compilation), typed named pipelines
82
+ (`pipelineArgs`, generated from the Rust serde structs).
83
+ - Registry-enforced numeric ranges in `_p` (local `RangeError` instead of a
84
+ failed job); `Expr` / `FFmpegColor` / `CodecName` open unions; subpath
85
+ exports; `sideEffects: false`.
86
+
87
+ ## 0.2.0–0.3.0 — 2026-07
88
+
89
+ - Package consolidation: the generated SDK, the `renderbox-sdk-ts` facade
90
+ (job assembly + wire protocol), and recipes merged into this single published
91
+ package. Slot API, wire-parity guards, vitest suites.
package/README.md CHANGED
@@ -66,6 +66,39 @@ Optional params also accept an explicit `undefined` (stripped before the wire),
66
66
  so computed options stay flat — `{ filter_classes: classes || undefined }`, no
67
67
  conditional spreads.
68
68
 
69
+ ### Composing pipelines — `pipe` and `fold`
70
+
71
+ The fluent chain covers pipelines whose shape is fixed in code. When the shape
72
+ comes from *data* — user config, a DB row — use the combinators every stream
73
+ carries. `pipe` applies transforms left to right; `fold` sequences a pipeline
74
+ from an array, replacing `let out; for (…) out = out.…` loops:
75
+
76
+ ```ts
77
+ const g = graph();
78
+ const [v, a] = g.open('cctv.mp4');
79
+
80
+ // kinds: e.g. ['face', 'plate', 'object'] — from the case record, not the code
81
+ const out = v.fold(kinds, (s, kind) =>
82
+ s.redact(
83
+ v.detect(detectOptsFor(kind)).track({ algorithm: 'bytetrack' }), // detect on ORIGINAL frames
84
+ treatmentFor(kind), // burn accumulates on `s`
85
+ ));
86
+
87
+ g.write('redacted.mp4', out, a);
88
+ ```
89
+
90
+ For the privacy motif specifically, `redactPasses` packages that shape as pure
91
+ data — and owns the detect-on-original-frames invariant:
92
+
93
+ ```ts
94
+ import { redactPasses } from '@jtdigital/renderbox-sdk';
95
+
96
+ const out = redactPasses(v, kinds.map((kind) => ({
97
+ detect: detectOptsFor(kind),
98
+ redact: treatmentFor(kind), // default: { mode: 'black' }, tracked with ByteTrack
99
+ })));
100
+ ```
101
+
69
102
  ### Multiple inputs
70
103
 
71
104
  Combine ops are methods on the first stream; open more inputs on the same graph:
@@ -92,8 +125,8 @@ g.writeDetections('cars.jsonl', cars);
92
125
  ### Recipes
93
126
 
94
127
  One-liners for common pipelines. `faceRedact`, `depthBlurPipeline`, and
95
- `makeSlideshow` return a ready `Graph`; `letterbox` and `snip` are stream
96
- transforms:
128
+ `makeSlideshow` return a ready `Graph`; `letterbox`, `snip`, and
129
+ `redactPasses` are stream transforms:
97
130
 
98
131
  ```ts
99
132
  import { faceRedact, snip } from '@jtdigital/renderbox-sdk';
@@ -197,12 +230,13 @@ finished render back without running your own transport.
197
230
  `json()` (graph_ir) and `io()` (S3 ⇄ sandbox bindings).
198
231
  - **Stream methods** — 220+ typed operations, one per engine op, on the sort it
199
232
  applies to (`scale`, `crop`, `fade`, `detect`, `track`, `transcribe`,
200
- `overlay`, `redact`, `depthBlur`, …).
233
+ `overlay`, `redact`, `depthBlur`, …), plus the `pipe`/`fold` composition
234
+ combinators.
201
235
  - **Presets** — audio dynamics/mastering/synthesis (`masterAudio`, `noiseGate`,
202
236
  `ducking`, `notification`, …), text styles (`title`, `caption`, `lowerThird`),
203
237
  video sequencing (`xfadeChain`, `kenBurnsChain`, `fadeBookend`).
204
- - **Recipes** — `letterbox`, `snip`, `faceRedact`, `depthBlurPipeline`,
205
- `makeSlideshow`.
238
+ - **Recipes** — `letterbox`, `snip`, `faceRedact`, `redactPasses`,
239
+ `depthBlurPipeline`, `makeSlideshow`.
206
240
  - **Named pipelines** — typed args for all 31 server-side pipelines
207
241
  (`pipelineArgs('face-redact', { … })` → the `{ pipeline_id, args }` slice of a
208
242
  `JobMessage`), generated from the exact serde structs the Rust builders parse.
@@ -431,8 +431,6 @@ export interface ScooterHelmetArgs {
431
431
  detect_model?: string;
432
432
  /** @default 0.005 */
433
433
  min_area?: number;
434
- /** @default 10 */
435
- min_track_frames?: number;
436
434
  /** @default true */
437
435
  show_confidence?: boolean;
438
436
  /** @default 1.5 */
@@ -451,8 +449,6 @@ export interface HelmetDetectMqttArgs {
451
449
  detect_model?: string;
452
450
  /** @default 0.005 */
453
451
  min_area?: number;
454
- /** @default 10 */
455
- min_track_frames?: number;
456
452
  qos?: number;
457
453
  /** @default 1.5 */
458
454
  smoothing_window?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"pipelines.d.ts","sourceRoot":"","sources":["../src/pipelines.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipelines.d.ts","sourceRoot":"","sources":["../src/pipelines.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../src/pipelines.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,kDAAkD;AAyiBlD;6DAC6D;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAA0B,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAElH;uDACuD;AACvD,MAAM,UAAU,YAAY,CAC1B,UAAa,EACb,IAAwB;IAExB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"pipelines.js","sourceRoot":"","sources":["../src/pipelines.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,2EAA2E;AAC3E,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,+EAA+E;AAC/E,kDAAkD;AAqiBlD;6DAC6D;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAA0B,CAAC,aAAa,EAAE,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAElH;uDACuD;AACvD,MAAM,UAAU,YAAY,CAC1B,UAAa,EACb,IAAwB;IAExB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC3C,CAAC"}
@@ -5,7 +5,16 @@
5
5
  */
6
6
  import type { VideoStream } from '../streams.js';
7
7
  import { type Position } from './position.js';
8
- /** Escape drawtext-special characters (`\`, `:`, `'`). */
8
+ /**
9
+ * Escape the characters FFmpeg's filter-argument parser treats specially, so caller
10
+ * copy cannot truncate its own line or break out into the next option.
11
+ *
12
+ * `:` ends the option, `\` escapes the following character, and `'` opens a quoted
13
+ * run. NB the apostrophe takes a plain `\'`, NOT the Rust SDK's shell-style
14
+ * `'\''` dance: this SDK hands the value to the engine, which does its own
15
+ * quoting, so the shell form leaked the remaining filter options into the burned-in
16
+ * text (verified against the live fleet, 19 Aug 2026).
17
+ */
9
18
  export declare function escapeDrawtext(text: string): string;
10
19
  /** Drop-shadow for {@link TextOpts}. */
11
20
  export interface Shadow {
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/presets/text.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5E,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,wCAAwC;AACxC,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;4CACwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAqBtF;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAQvF;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAQzF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAQ/F;AAkBD,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,GACnB,WAAW,CAyCb"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/presets/text.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5E;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,wCAAwC;AACxC,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;4CACwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAyBtF;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAQvF;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAQzF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAQ/F;AAkBD,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,GACnB,WAAW,CA2Cb"}
@@ -1,10 +1,19 @@
1
1
  import { DRAWTEXT_NS, pos, resolvePos } from './position.js';
2
- /** Escape drawtext-special characters (`\`, `:`, `'`). */
2
+ /**
3
+ * Escape the characters FFmpeg's filter-argument parser treats specially, so caller
4
+ * copy cannot truncate its own line or break out into the next option.
5
+ *
6
+ * `:` ends the option, `\` escapes the following character, and `'` opens a quoted
7
+ * run. NB the apostrophe takes a plain `\'`, NOT the Rust SDK's shell-style
8
+ * `'\''` dance: this SDK hands the value to the engine, which does its own
9
+ * quoting, so the shell form leaked the remaining filter options into the burned-in
10
+ * text (verified against the live fleet, 19 Aug 2026).
11
+ */
3
12
  export function escapeDrawtext(text) {
4
13
  return text
5
14
  .replaceAll('\\', '\\\\')
6
15
  .replaceAll(':', '\\:')
7
- .replaceAll("'", "'\\\\\\''");
16
+ .replaceAll("'", "\\'");
8
17
  }
9
18
  /**
10
19
  * Positioned text with sensible defaults: centred, font size `48`, white.
@@ -17,6 +26,10 @@ export function text(input, textStr, opts) {
17
26
  const { x, y } = resolvePos(opts?.position ?? pos('center', 'center'), DRAWTEXT_NS);
18
27
  const dt = {
19
28
  text: escapeDrawtext(textStr),
29
+ // Escaping alone is not enough: with expansion on, a literal `%` in the copy makes
30
+ // FFmpeg drop the overlay entirely, no error and no text. These presets burn caller
31
+ // copy, never format strings, so expansion has nothing to do here.
32
+ expansion: 'none',
20
33
  fontsize: opts?.fontSize ?? 48,
21
34
  fontcolor: opts?.fontColor ?? 'white',
22
35
  x,
@@ -116,6 +129,7 @@ export function lowerThird(input, name, titleStr, opts) {
116
129
  })
117
130
  .drawtext({
118
131
  text: escapeDrawtext(name),
132
+ expansion: 'none',
119
133
  fontsize: nameFs, fontcolor: nameColor,
120
134
  x: `${margin}`, y: nameY,
121
135
  alpha, enable,
@@ -123,6 +137,7 @@ export function lowerThird(input, name, titleStr, opts) {
123
137
  })
124
138
  .drawtext({
125
139
  text: escapeDrawtext(titleStr),
140
+ expansion: 'none',
126
141
  fontsize: titleFs, fontcolor: titleColor,
127
142
  x: `${margin}`, y: titleY,
128
143
  alpha, enable,
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/presets/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/presets/text.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,15 @@ export declare function kenBurnsExprs(preset: KenBurnsPreset, frames: number): {
28
28
  /**
29
29
  * Apply a Ken Burns move to a clip, emitting `w`×`h` at `fps`.
30
30
  *
31
+ * `input` must be a MOVING stream already `duration * fps` frames long (what
32
+ * `makeSlideshow`'s image clip produces: loop -> fps -> trim). Hence `d: 1`,
33
+ * one output frame per input frame, with the motion driven by zoompan's global
34
+ * output counter `on`. The Rust SDK draws the same distinction: `ops::fx::punch_in`
35
+ * uses `d=1` on a moving stream, while `ops::timeline::apply_ken_burns` uses
36
+ * `d=frames` because its input is a SINGLE looped frame. Passing `d=frames` here
37
+ * cost 100x the frames (zoompan emits `d` per input frame), so a 4 s slide
38
+ * rendered 400 s long; that was live until 0.8.1.
39
+ *
31
40
  * Modest 2x working size for zoom headroom. NOT 4x: that produced ~8K
32
41
  * intermediate frames which, with the deflicker/tmix/gblur smoothing stack,
33
42
  * OOM'd render workers (ffmpeg exit 254). Integer (trunc'd) pan positions keep
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/presets/video.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,0DAA0D;AAC1D,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAAE,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,WAAW,CAWb;AAMD,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,CAK7D;AAMD,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,WAAW,CAIb;AAMD,MAAM,MAAM,cAAc,GACtB,cAAc,GAAG,eAAe,GAAG,WAAW,GAC9C,QAAQ,GAAG,SAAS,GACpB,UAAU,GAAG,SAAS,GACtB,SAAS,GAAG,UAAU,GACtB,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAiBvC,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CA2BzG;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,GACV,WAAW,CAWb;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EAAE,EACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,GACV,SAAS,EAAE,CAKb"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/presets/video.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,0DAA0D;AAC1D,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAAE,EAClB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,WAAW,CAWb;AAMD,iEAAiE;AACjE,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,WAAW,CAK7D;AAMD,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,WAAW,CAIb;AAMD,MAAM,MAAM,cAAc,GACtB,cAAc,GAAG,eAAe,GAAG,WAAW,GAC9C,QAAQ,GAAG,SAAS,GACpB,UAAU,GAAG,SAAS,GACtB,SAAS,GAAG,UAAU,GACtB,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAiBvC,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CA2BzG;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,GACV,WAAW,CAWb;AAED,yCAAyC;AACzC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EAAE,EACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,GAAG,EAAE,MAAM,GACV,SAAS,EAAE,CAKb"}
@@ -80,6 +80,15 @@ export function kenBurnsExprs(preset, frames) {
80
80
  /**
81
81
  * Apply a Ken Burns move to a clip, emitting `w`×`h` at `fps`.
82
82
  *
83
+ * `input` must be a MOVING stream already `duration * fps` frames long (what
84
+ * `makeSlideshow`'s image clip produces: loop -> fps -> trim). Hence `d: 1`,
85
+ * one output frame per input frame, with the motion driven by zoompan's global
86
+ * output counter `on`. The Rust SDK draws the same distinction: `ops::fx::punch_in`
87
+ * uses `d=1` on a moving stream, while `ops::timeline::apply_ken_burns` uses
88
+ * `d=frames` because its input is a SINGLE looped frame. Passing `d=frames` here
89
+ * cost 100x the frames (zoompan emits `d` per input frame), so a 4 s slide
90
+ * rendered 400 s long; that was live until 0.8.1.
91
+ *
83
92
  * Modest 2x working size for zoom headroom. NOT 4x: that produced ~8K
84
93
  * intermediate frames which, with the deflicker/tmix/gblur smoothing stack,
85
94
  * OOM'd render workers (ffmpeg exit 254). Integer (trunc'd) pan positions keep
@@ -95,7 +104,7 @@ export function kenBurns(input, preset, duration, w, h, fps) {
95
104
  .scale({ w: scaledW, h: scaledH, force_original_aspect_ratio: 'decrease', flags: 'lanczos' })
96
105
  .pad({ w: scaledW, h: scaledH, x: '(ow-iw)/2', y: '(oh-ih)/2', color: 'black' })
97
106
  .setsar({ sar: '1' })
98
- .zoompan({ z: exprs.z, x: `trunc(${exprs.x})`, y: `trunc(${exprs.y})`, d: frames, fps, s: `${w}x${h}` })
107
+ .zoompan({ z: exprs.z, x: `trunc(${exprs.x})`, y: `trunc(${exprs.y})`, d: 1, fps, s: `${w}x${h}` })
99
108
  .format({ pix_fmts: 'yuv420p' });
100
109
  }
101
110
  /** Prepare slides with Ken Burns moves, ready to feed {@link xfadeChain}. */
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/presets/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/presets/video.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export { letterbox, type LetterboxOpts } from './letterbox.js';
2
2
  export { snip } from './snip.js';
3
3
  export { faceRedact, type FaceRedactOpts } from './faceRedact.js';
4
+ export { redactPasses, type RedactPass } from './redactPasses.js';
4
5
  export { depthBlurPipeline, type DepthBlurPipelineOpts } from './depthBlurPipeline.js';
5
6
  export { makeSlideshow, type MakeSlideshowOpts, type SlideConfig, type SlideshowTransition, type SlideshowMusicOpts, type SlideshowVoiceoverOpts, type SlideshowWatermarkOpts, type SlideshowTextOverlay, type SlideshowVideoFilter, type SlideshowMasteringOpts, type SlideshowSmartCropOpts, type TextOverlayPreset, type WatermarkPosition, type KenBurnsPreset, } from './makeSlideshow.js';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EACL,aAAa,EACb,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export { letterbox } from './letterbox.js';
2
2
  export { snip } from './snip.js';
3
3
  export { faceRedact } from './faceRedact.js';
4
+ export { redactPasses } from './redactPasses.js';
4
5
  export { depthBlurPipeline } from './depthBlurPipeline.js';
5
6
  export { makeSlideshow, } from './makeSlideshow.js';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAA8B,MAAM,wBAAwB,CAAC;AACvF,OAAO,EACL,aAAa,GAcd,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recipes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAsB,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAuB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAA8B,MAAM,wBAAwB,CAAC;AACvF,OAAO,EACL,aAAa,GAcd,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"makeSlideshow.d.ts","sourceRoot":"","sources":["../../src/recipes/makeSlideshow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeSlideshow.d.ts","sourceRoot":"","sources":["../../src/recipes/makeSlideshow.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { graph } from '../graph.js';
2
2
  import { kenBurns, xfadeChain } from '../presets/video.js';
3
+ import { escapeDrawtext } from '../presets/text.js';
3
4
  const DEFAULT_DETECT_MODEL = 'yolov9-c';
4
5
  function imageClip(g, path, duration, fpsRate) {
5
6
  const [v] = g.open(path);
@@ -66,10 +67,17 @@ function applyWatermark(g, video, w, opts) {
66
67
  const { x, y } = watermarkXY(opts.position ?? 'bottomRight', margin);
67
68
  return video.overlay(logo, { x, y, ...(opts.opacity !== undefined ? { alpha: opts.opacity } : {}) });
68
69
  }
69
- /** Placement + weight per text-overlay preset, as fractions of frame width/height. */
70
+ /**
71
+ * Placement + weight per text-overlay preset, as fractions of frame width/height.
72
+ *
73
+ * NB the band is sized in `ih`, not `h`. drawtext's `h` IS the frame height, but
74
+ * inside drawbox `h` is the BOX's own height, so `h*0.70` is self-referential and
75
+ * FFmpeg exits 234 before a frame is written. That killed every `title` overlay
76
+ * until 0.8.1.
77
+ */
70
78
  function textPreset(preset) {
71
79
  switch (preset) {
72
- case 'title': return { fontsize: 'h/14', y: 'h*0.72', band: { y: 'h*0.70', h: 'h*0.14' } };
80
+ case 'title': return { fontsize: 'h/14', y: 'h*0.72', band: { y: 'ih*0.70', h: 'ih*0.14' } };
73
81
  case 'watermark': return { fontsize: 'h/30', y: 'h*0.05' };
74
82
  case 'caption':
75
83
  default: return { fontsize: 'h/24', y: 'h*0.85' };
@@ -90,7 +98,13 @@ function applyTextOverlay(video, overlay) {
90
98
  });
91
99
  }
92
100
  return out.drawtext({
93
- text: overlay.text,
101
+ // Overlay text is CALLER copy: prices, times, names. It reaches FFmpeg through the
102
+ // filter-argument parser, where `:` ends the option, `'` opens a quoted run and `\`
103
+ // escapes the next character, and then through text expansion, where a literal `%`
104
+ // drops the whole overlay with no error. Escape the first three (the same helper the
105
+ // text presets use) and turn the second off. All four were live until 0.8.1.
106
+ text: escapeDrawtext(overlay.text),
107
+ expansion: 'none',
94
108
  fontsize: spec.fontsize,
95
109
  fontcolor: overlay.fontcolor ?? 'white',
96
110
  x: '(w-text_w)/2',
@@ -162,6 +176,10 @@ export function makeSlideshow(outputPath, opts) {
162
176
  video = applyWatermark(g, video, w, opts.watermark);
163
177
  for (const overlay of opts.textOverlays ?? [])
164
178
  video = applyTextOverlay(video, overlay);
179
+ // Pin the delivery pixel format. Filter negotiation settles the tail at yuv444p, which
180
+ // Safari refuses to decode, and a sink `pix_fmt` does not survive the compiler, so the
181
+ // recipe's own output was not web-playable until 0.8.1.
182
+ video = video.format({ pix_fmts: 'yuv420p' });
165
183
  const totalDur = durations.reduce((sum, d) => sum + d, 0) - Math.max(0, clips.length - 1) * transitionDur;
166
184
  const music = opts.music ? buildMusic(g, opts.music, totalDur) : undefined;
167
185
  let audio = buildAudio(g, music, opts.voiceover);
@@ -1 +1 @@
1
- {"version":3,"file":"makeSlideshow.js","sourceRoot":"","sources":["../../src/recipes/makeSlideshow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"makeSlideshow.js","sourceRoot":"","sources":["../../src/recipes/makeSlideshow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { VideoStream, DetectOpts, TrackOpts, RedactOpts } from '../streams.js';
2
+ /** One detector → treatment pass of a multi-pass redaction. */
3
+ export interface RedactPass {
4
+ detect: DetectOpts;
5
+ /** Tracker for stable identity across frames — an algorithm name or full
6
+ * `TrackOpts` (e.g. `{ algorithm: 'bytetrack', persistFrames: 10 }`);
7
+ * `false` redacts raw per-frame detections (moving-camera footage — a
8
+ * drifting Kalman box lags off target). Default `'bytetrack'`. */
9
+ track?: TrackOpts | TrackOpts['algorithm'] | false;
10
+ /** Redaction treatment. Default `{ mode: 'black' }` — irreversible, and any
11
+ * coordinate misalignment is visible instead of hidden by a soft blur. */
12
+ redact?: RedactOpts;
13
+ }
14
+ /**
15
+ * Burn any number of detector passes onto one video, sequenced as data.
16
+ *
17
+ * Every pass detects on the ORIGINAL frames — a blur from an earlier pass must
18
+ * not hide what a later detector needs to find — while the burn accumulates
19
+ * pass over pass. That invariant is this recipe's contract; callers only
20
+ * describe the passes.
21
+ */
22
+ export declare function redactPasses(video: VideoStream, passes: readonly RedactPass[]): VideoStream;
23
+ //# sourceMappingURL=redactPasses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redactPasses.d.ts","sourceRoot":"","sources":["../../src/recipes/redactPasses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEpF,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB;;;sEAGkE;IAClE,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;IACnD;8EAC0E;IAC1E,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,WAAW,CAQ3F"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Burn any number of detector passes onto one video, sequenced as data.
3
+ *
4
+ * Every pass detects on the ORIGINAL frames — a blur from an earlier pass must
5
+ * not hide what a later detector needs to find — while the burn accumulates
6
+ * pass over pass. That invariant is this recipe's contract; callers only
7
+ * describe the passes.
8
+ */
9
+ export function redactPasses(video, passes) {
10
+ return video.fold(passes, (out, pass) => {
11
+ const dets = video.detect(pass.detect);
12
+ const tracked = pass.track === false
13
+ ? dets
14
+ : dets.track(typeof pass.track === 'object' ? pass.track : { algorithm: pass.track ?? 'bytetrack' });
15
+ return out.redact(tracked, pass.redact ?? { mode: 'black' });
16
+ });
17
+ }
18
+ //# sourceMappingURL=redactPasses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redactPasses.js","sourceRoot":"","sources":["../../src/recipes/redactPasses.ts"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,KAAkB,EAAE,MAA6B;IAC5E,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK;YAClC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC,CAAC;QACvG,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC"}