From 2dcf2ee566086d9ed74ab60af1f478e08bf607cb Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 30 Aug 2026 19:34:03 +0000 Subject: [PATCH 1/3] Rename the skill and public README to primitive/selector vocabulary The category word on the playlist wire is primitive, not placement. Pages carry pages[].primitives, and each entry is flat: a primitive field naming image, video, iframe, or application, that family's own fields, then rect, layer, content_fit, and optional enter. The nested content object is gone. Image and video primitives require a selector (by is id, ids, all, or tag); iframe and application take none. media list filters with --primitive, and application.event details carry primitive_id. MIME --content-type, feedback --kind, and transition/enter/advance type are unrelated and unchanged. Examples follow screenrig/cli#2. No compat shim and no dual-read of the retired vocabulary. The generated plugins/screenrig/ bundle is intentionally left behind this canonical source: components.lock.json still pins a CLI that predates the rename, so the bundle regenerates when the lock advances. Co-authored-by: Gersham Meharg --- README.md | 9 ++- skills/screenrig/SKILL.md | 123 +++++++++++++++++++------------------- 2 files changed, 70 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 99cc77b2..66bd3f24 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,8 @@ code. ## Four primitives -Four wire kinds: `image`, `video`, `iframe`, and `application`. +A playlist page carries `primitives`, and every one of them names its family in +a `primitive` field. There are four: - `image` — a still the native Player paints on the glass. - `video` — H.264, native decode. No codec fallback. @@ -78,7 +79,11 @@ Four wire kinds: `image`, `video`, `iframe`, and `application`. - `application` — a static directory packed by the CLI. Players sync, then paint from disk. -A scene places these four on one canvas. Copy and chrome compose locally on the +`image` and `video` primitives pick their media with a `selector`, whose `by` +is `id`, `ids`, `all`, or `tag`. `iframe` and `application` take no selector: +an iframe carries its `src`, and an application pins a `release_id`. + +A scene puts these four on one canvas. Copy and chrome compose locally on the agent machine with `compose catalog` and `compose render`: the agent renders a PNG, looks at it, iterates, then publishes the still. Local compose is not billed. The agent can also screenshot a live screen to check its own work. diff --git a/skills/screenrig/SKILL.md b/skills/screenrig/SKILL.md index d0b2ce51..9be99110 100644 --- a/skills/screenrig/SKILL.md +++ b/skills/screenrig/SKILL.md @@ -184,7 +184,7 @@ On a build that converts: edge to 3840 px, never upscale, and never write lossless VP8L. - Optional `--tag TAG` stores a 1 to 32 letter-or-digit tag on the ready object. Hyphens are rejected; `ExecIntro2026` is valid and `exec-intro` - is not. `media list --tag TAG [--kind image|video]` filters by that tag + is not. `media list --tag TAG [--primitive image|video]` filters by that tag and is the reliable filename → id map after upload. `media update (--tag TAG | --clear-tag) --if-match REVISION` changes or clears it. Untagged objects are omitted when `--tag` is present on @@ -258,8 +258,8 @@ screenrig --json compose render ./exec-intro-overlay-native-video.json \ # agent reads the PNG with vision; do not cat pixels into chat # iterate the JSON and re-render screenrig --json media upload ./exec-intro-overlay-native-video.png --tag TAG -screenrig --json media list --tag TAG --kind image -# playlist page: one image placement, rect = canvas, content_fit fill +screenrig --json media list --tag TAG --primitive image +# playlist page: one image primitive, rect = canvas, content_fit fill ``` `compose catalog` prints the fail-closed node catalog: types @@ -294,7 +294,7 @@ dump for `truncated`, fitted `fontSize`, and `box` before you upload. Never print PNG bytes, pixels, or image data. `--open` opens the local PNG path on this computer only when the user asked to view the still here. Agent vision uses the file path, not `--open`. Raster a diagram to PNG or WebP at canvas -size, upload it, and place it as `image`. HTML is not a placement. +size, upload it, and place it as `image`. HTML is not a primitive. ### Slide, overlay, and wordmark @@ -367,8 +367,8 @@ Playlist: photo `layer` 0 + overlay `layer` 1, both `content_fit: "fill"` on a 1920×1080 canvas. Eight-digit hex is how the Frame stays transparent and the plate keeps alpha. -Wordmark: playlist `image` placement with a `rect`. Soft-open: omit that -placement until a named page. Do not pin a logo in compose; `pin` stretches +Wordmark: playlist `image` primitive with a `rect`. Soft-open: omit that +primitive until a named page. Do not pin a logo in compose; `pin` stretches the cross axis. Bottom-right on 1920×1080 with a 5% safe area is `{ "x": 1424, "y": 946, "width": 400, "height": 80 }` for a 400×80 contain box. That rect is one worked example, not the only size. If you raster the @@ -377,15 +377,20 @@ sized parent) so it is not 0×0. ## Playlist writes -Wire placement families are three: static (`image`), motion (`video`), and -web (`iframe`, `application`). Do not author native `text`, `box`, or `line` -on the wire. Compose copy and chrome locally, upload the still as `image`, -and place that image. +Four wire primitives exist: `image`, `video`, `iframe`, and `application`. +Static is `image`, motion is `video`, and web is `iframe` or `application`. +Do not author native `text`, `box`, or `line` on the wire. Compose copy and +chrome locally, upload the still as `image`, and use that image primitive. A full page is `id`, `canvas`, `transition`, `advance`, optional `visibility`, -and `placements`. Image and video placements write a `selector`. Do not put -`media_id` on the content object. Do not send server-resolved `items`. Advance -with `media_end`, never `video_end`. +and `primitives`. A primitive is flat: `id`, a `primitive` field naming one of +the four, that primitive's own fields, then `rect`, `layer`, `content_fit`, +and optional `enter`. There is no nested content object. + +Image and video primitives require a `selector`. `iframe` and `application` +do not take one. Do not put `media_id` on the primitive itself; it belongs +inside the selector. Do not send server-resolved `items`. Advance with +`media_end`, never `video_end`. `canvas.background` is a solid uppercase `#RRGGBBAA` or a top-to-bottom linear gradient. The gradient is `{ "type": "linear", "stops": [...] }` with @@ -396,19 +401,20 @@ Selector `by` values: - `id`: one ready `media_id`. `one_at_a_time` must be false. - `ids`: 1–32 unique ready IDs. -- `all`: every ready object of that placement kind. -- `tag`: ready objects of that kind whose tag matches `^[A-Za-z0-9]{1,32}$`. +- `all`: every ready object of that primitive, image or video. +- `tag`: ready objects of that primitive whose tag matches + `^[A-Za-z0-9]{1,32}$`. -`media_end` is valid only on a page with exactly one image or video placement. +`media_end` is valid only on a page with exactly one image or video primitive. Video `loop` must be false. An image on `media_end` requires `dwell_ms`. `dwell_ms` is rejected on duration and application pages. A video plus a -lower-third image is two placements: that page must use `advance.mode` +lower-third image is two primitives: that page must use `advance.mode` `duration`, not `media_end`. Set `after_ms` longer than the clip, or set `loop: true`. If `after_ms` equals the clip length, the page cuts when the film ends. Default `transition` is `{ "type": "crossfade", "duration_ms": 200 }`. Use -swipe types and placement `enter` sparingly. +swipe types and object `enter` sparingly. ```json { @@ -419,14 +425,12 @@ swipe types and placement `enter` sparingly. "canvas": { "width": 1920, "height": 1080, "viewport_fit": "contain", "background": "#000000FF" }, "transition": { "type": "crossfade", "duration_ms": 200 }, "advance": { "mode": "duration", "after_ms": 8000 }, - "placements": [ + "primitives": [ { "id": "hero", - "content": { - "type": "image", - "selector": { "by": "id", "media_id": "med_01EXAMPLEIMAGE0000000000" }, - "alt": "Lobby poster" - }, + "primitive": "image", + "selector": { "by": "id", "media_id": "med_01EXAMPLEIMAGE0000000000" }, + "alt": "Lobby poster", "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 0, "content_fit": "contain" @@ -438,15 +442,13 @@ swipe types and placement `enter` sparingly. "canvas": { "width": 1920, "height": 1080, "viewport_fit": "contain", "background": "#000000FF" }, "transition": { "type": "crossfade", "duration_ms": 200 }, "advance": { "mode": "media_end" }, - "placements": [ + "primitives": [ { "id": "feature", - "content": { - "type": "video", - "selector": { "by": "id", "media_id": "med_01EXAMPLEVIDEO0000000000" }, - "muted": true, - "loop": false - }, + "primitive": "video", + "selector": { "by": "id", "media_id": "med_01EXAMPLEVIDEO0000000000" }, + "muted": true, + "loop": false, "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 0, "content_fit": "contain" @@ -469,25 +471,21 @@ Photo plus overlay still: "canvas": { "width": 1920, "height": 1080, "viewport_fit": "contain", "background": "#000000FF" }, "transition": { "type": "crossfade", "duration_ms": 200 }, "advance": { "mode": "duration", "after_ms": 8000 }, - "placements": [ + "primitives": [ { "id": "photo", - "content": { - "type": "image", - "selector": { "by": "id", "media_id": "med_01EXAMPLEPHOTO0000000000" }, - "alt": "Hero photo" - }, + "primitive": "image", + "selector": { "by": "id", "media_id": "med_01EXAMPLEPHOTO0000000000" }, + "alt": "Hero photo", "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 0, "content_fit": "fill" }, { "id": "overlay", - "content": { - "type": "image", - "selector": { "by": "id", "media_id": "med_01EXAMPLEOVERLAY000000000" }, - "alt": "Lower third" - }, + "primitive": "image", + "selector": { "by": "id", "media_id": "med_01EXAMPLEOVERLAY000000000" }, + "alt": "Lower third", "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 1, "content_fit": "fill" @@ -502,11 +500,11 @@ Video plus a lower-third image uses the same two-layer shape with ### Page motion These are playlist document fields the CLI sends. The control plane accepts -swipe types and placement `enter`. +swipe types and object `enter`. Default pages: `transition` is `{ "type": "crossfade", "duration_ms": 200 }`. Author crossfade unless swipe or `enter` is the intended emphasis. One overlay -`enter` is enough; do not put `enter` on every placement, including the +`enter` is enough; do not put `enter` on every primitive, including the wordmark. `transition.type` is `crossfade`, `swipe-left`, `swipe-right`, `swipe-up`, or @@ -517,7 +515,7 @@ Swipe is the incoming page's type. The outgoing page follows so the edges stay touching. The name is motion direction: `swipe-left` moves content left. -Optional placement `enter` is `{ "type": "..." }` with that same object name +Optional object `enter` is `{ "type": "..." }` with that same object name on playlist JSON. Types: `fade-up`, `fade-down`, `fade-left`, `fade-right`, `fade-in`, `zoom-in`, `zoom-out`. Absent means no object animation. @@ -550,7 +548,7 @@ plays. It is a sibling of `advance`. { "days": ["sun"] } ] }, - "placements": [] + "primitives": [] } ``` @@ -593,7 +591,7 @@ screenrig --json playlist import ./lobby-bundle --update pl_TARGET --if-match RE The export destination must not exist. The bundle contains `screenrig-bundle.json`, `playlist.json`, and content-addressed `media/.` files. Export snapshots dynamic `all` and `tag` -selectors to exact `id` or `ids` selectors. Application placements stop export +selectors to exact `id` or `ids` selectors. Application primitives stop export before any media download. Import creates a new playlist by default. Updating requires both `--update` and the current `--if-match` revision. @@ -617,20 +615,21 @@ from the envelope: - `data.operation.state` is `succeeded`. - `data.application.release_id` is the `rel_...` release id. This is the only - value a playlist placement needs. + value an application primitive needs. - `data.application.id` is the `app_...` application id. `kv` commands take this - one; a playlist placement never does. + one; a playlist primitive never does. With `--no-wait` run `operations wait ` before pinning the release into a playlist. Every `app upload` creates a new application and a new release. -### 2. Write the application placement +### 2. Write the application primitive ```json { "id": "board", - "content": { "type": "application", "release_id": "rel_01EXAMPLERELEASE00000000" }, + "primitive": "application", + "release_id": "rel_01EXAMPLERELEASE00000000", "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 0, "content_fit": "fill", @@ -638,12 +637,13 @@ new release. } ``` -- `content.release_id` is required. `content.application_id` is an optional - ownership assertion; omit it. +- `release_id` is required on an `application` primitive. `application_id` is + an optional ownership assertion; omit it. +- An `application` primitive takes no `selector`. - `content_fit` must be `fill` for `application` and `iframe`. -- `iframe` is `{ "type": "iframe", "src": "https://...", "title": "..." }`. - `src` must be a public `https://` URL without credentials. An `iframe` can - never be a controller. +- `iframe` is `{ "primitive": "iframe", "src": "https://...", "title": "..." }` + and takes no `selector`. `src` must be a public `https://` URL without + credentials. An `iframe` can never be a controller. ### 3. Choose how the page advances @@ -659,9 +659,9 @@ Use `application` when the app calls `window.screenrig.nextPage()`: { "mode": "application", "max_ms": 60000 } ``` -On an `application` page exactly one placement must carry `controller: true`, -and it must be an `application` placement. `media_end` forbids `application` -and `iframe` placements on that page. +On an `application` page exactly one primitive must carry `controller: true`, +and it must be an `application` primitive. `media_end` forbids `application` +and `iframe` primitives on that page. ### 4. Create the playlist and assign it to a screen @@ -753,6 +753,9 @@ Human `events list` and `events follow` print one logfmt line per event. `--json events list` is one JSON page envelope. `--json events follow` is a JSON stream of envelopes. +An `application.event` line leads its details with `code` and `primitive_id`, +the id of the primitive that emitted it. + `events follow` reconnects on disconnect or a transient failure, with backoff, and resumes from the last SSE id via `--after`. `--timeout` ends the whole follow, including backoff; 401, 403, 404, and other non-transient 4xx @@ -793,7 +796,7 @@ media upload [--content-type TYPE] [--tag TAG] [--no-wait] [--poll-ms MS] [--no-transcode] [--codec h264|hevc] [--max-fps N] [--max-edge PIXELS] [--webp-quality 1-100] [--no-progress] media show -media list [--tag TAG] [--kind image|video] +media list [--tag TAG] [--primitive image|video] media update (--tag TAG | --clear-tag) --if-match REVISION media delete --if-match REVISION compose catalog From 643605e01b06d81cd8e9d4b7063188af0d1adee6 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 30 Aug 2026 19:34:08 +0000 Subject: [PATCH 2/3] Record the primitive vocabulary as an agent guide rule Name primitive as the category word, spell out the flat primitive shape and the selector split, and list the fields the rename deliberately leaves alone so a later agent does not re-introduce placement language. Co-authored-by: Gersham Meharg --- AGENTS.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 83ab26fc..260270c0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -69,8 +69,19 @@ agent workflow. https://screenrig.ai/pricing/. Write in a feature-complete voice. - Teach local compose (`compose catalog`, `compose render`) for copy and chrome. Do not teach emitting native `text`, `box`, or `line` on the - playlist wire. Wire families are static (`image`), motion (`video`), - and web (`iframe`, `application`). Compose is local and not billed. + playlist wire. Compose is local and not billed. +- The category word is **primitive**, never placement, kind, or type. Four + wire primitives exist: static (`image`), motion (`video`), and web + (`iframe`, `application`). A page carries `pages[].primitives`, and each + entry is flat: a `primitive` field naming the family, that family's own + fields, then `rect`, `layer`, `content_fit`, and optional `enter`. There is + no nested content object. Image and video primitives take a `selector` + (`by` is `id`, `ids`, `all`, or `tag`); iframe and application do not. + `media list` filters with `--primitive`, the API parameter is `primitive`, + and the event field is `primitive_id`. MIME `--content-type`, `feedback + --kind`, and transition/enter/advance `type` are unrelated and stay. Teach + the primitive wire alone: no placement compat shim and no dual-read of the + retired vocabulary. - Screenshotting is in v1. `screen screenshot ` blocks on a still WebP and writes a file. Do not print pixels. - Human `events list` and `events follow` print logfmt. `--json events list` From 7a2738887106422035b5794df9c5b0b7d2d9c787 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sun, 30 Aug 2026 19:56:51 +0000 Subject: [PATCH 3/3] Pin the CLI to the primitive-vocabulary artifact and regenerate the bundle components.lock.json now selects screenrig/cli PR 2 head a0890d226d3ec92916e314eeca094ec2edc1bf1e, whose CLI speaks the primitive and selector wire the skill teaches, so the bundled executable and the skill agree instead of the skill leading a CLI that only accepts --kind. Regenerating from that exact artifact carries the renamed SKILL.md and README into plugins/screenrig/ and updates the vendored dist: primitives[] with a flat primitive field, selectors on image and video only, media list --primitive, wire_primitives in the compose catalog, and primitive_id on application events. The artifact reproduces byte for byte from source at that commit through scripts/package-release.sh, which is the step CI runs before the bundle check. Co-authored-by: Gersham Meharg --- components.lock.json | 4 +- plugins/screenrig/README.md | 9 +- plugins/screenrig/cli/README.md | 43 +++--- .../screenrig/cli/dist/adapters/protocol.d.ts | 6 +- plugins/screenrig/cli/dist/argv.d.ts.map | 2 +- plugins/screenrig/cli/dist/argv.js | 1 + plugins/screenrig/cli/dist/argv.js.map | 2 +- plugins/screenrig/cli/dist/commands.d.ts | 2 +- plugins/screenrig/cli/dist/commands.d.ts.map | 2 +- plugins/screenrig/cli/dist/commands.js | 25 ++-- plugins/screenrig/cli/dist/commands.js.map | 2 +- .../screenrig/cli/dist/compose/catalog.d.ts | 4 +- .../cli/dist/compose/catalog.d.ts.map | 2 +- plugins/screenrig/cli/dist/compose/catalog.js | 6 +- .../screenrig/cli/dist/compose/catalog.js.map | 2 +- .../cli/dist/playlist-bundle.d.ts.map | 2 +- plugins/screenrig/cli/dist/playlist-bundle.js | 101 +++++++------- .../screenrig/cli/dist/playlist-bundle.js.map | 2 +- .../cli/dist/playlist-templates.d.ts | 6 +- .../cli/dist/playlist-templates.d.ts.map | 2 +- .../screenrig/cli/dist/playlist-templates.js | 93 +++++++------ .../cli/dist/playlist-templates.js.map | 2 +- .../cli/dist/playlist-write-validation.d.ts | 2 +- .../dist/playlist-write-validation.d.ts.map | 2 +- .../cli/dist/playlist-write-validation.js | 107 +++++++-------- .../cli/dist/playlist-write-validation.js.map | 2 +- plugins/screenrig/skills/screenrig/SKILL.md | 123 +++++++++--------- 27 files changed, 294 insertions(+), 262 deletions(-) diff --git a/components.lock.json b/components.lock.json index ae61ab42..d0a37c29 100644 --- a/components.lock.json +++ b/components.lock.json @@ -3,10 +3,10 @@ "state": "resolved", "cli": { "repository": "screenrig/cli", - "commit": "b2370125765cfbb4911f0a78c69ae37e92a34702", + "commit": "a0890d226d3ec92916e314eeca094ec2edc1bf1e", "artifact": { "file": "screenrig-cli.tgz", - "sha256": "d736da238eddfab35b5a6ad86339f8c956b4ca393d7a5908b0fbe14e2bc4ae71" + "sha256": "8ca6feca8e9c8053fe16e033d68d6c5feef00de995923d59c8d19205f51c5e03" } } } diff --git a/plugins/screenrig/README.md b/plugins/screenrig/README.md index 99cc77b2..66bd3f24 100644 --- a/plugins/screenrig/README.md +++ b/plugins/screenrig/README.md @@ -70,7 +70,8 @@ code. ## Four primitives -Four wire kinds: `image`, `video`, `iframe`, and `application`. +A playlist page carries `primitives`, and every one of them names its family in +a `primitive` field. There are four: - `image` — a still the native Player paints on the glass. - `video` — H.264, native decode. No codec fallback. @@ -78,7 +79,11 @@ Four wire kinds: `image`, `video`, `iframe`, and `application`. - `application` — a static directory packed by the CLI. Players sync, then paint from disk. -A scene places these four on one canvas. Copy and chrome compose locally on the +`image` and `video` primitives pick their media with a `selector`, whose `by` +is `id`, `ids`, `all`, or `tag`. `iframe` and `application` take no selector: +an iframe carries its `src`, and an application pins a `release_id`. + +A scene puts these four on one canvas. Copy and chrome compose locally on the agent machine with `compose catalog` and `compose render`: the agent renders a PNG, looks at it, iterates, then publishes the still. Local compose is not billed. The agent can also screenshot a live screen to check its own work. diff --git a/plugins/screenrig/cli/README.md b/plugins/screenrig/cli/README.md index 81ccafaf..55910e12 100644 --- a/plugins/screenrig/cli/README.md +++ b/plugins/screenrig/cli/README.md @@ -164,23 +164,23 @@ ScreenRig content has three families: static images, including stills produced by local compose; motion video; and web content delivered as an `iframe` or `application`. -Playlist pages on the wire use `image`, `video`, `iframe`, and `application` -only. Copy and chrome are composed locally, uploaded as `image`, then placed -as one image. `playlist templates` is a local catalog of slide ids; templates -that would emit native `text`, `box`, or `line` fail with a pointer at +Four wire primitives are supported: `image`, `video`, `iframe`, and +`application`. Copy and chrome are composed locally, uploaded as `image`, +then used as one image primitive. `playlist templates` is a local catalog of +slide ids; templates that would emit native `text`, `box`, or `line` fail with a pointer at `compose catalog` and `compose render`. Picture-only templates still expand -to image or video placements with selectors. A page without `template` is -forwarded unchanged when its placements are those wire kinds. +to image or video primitives with selectors. A page without `template` is +forwarded unchanged when its `primitives` use those four wire primitives. `canvas.background` is a solid uppercase `#RRGGBBAA` or a top-to-bottom linear gradient (`type` `linear`, 2 through 8 strictly increasing stops, -first `at` 0, last `at` 1, no angle). Image and video placements write a +first `at` 0, last `at` 1, no angle). Image and video primitives write a `selector` (`by` is `id`, `ids`, `all`, or `tag`). Do not put `media_id` on -the content object, and do not send server-resolved `items`. Page advance -uses `duration`, `application`, or `media_end`. There is no `video_end` -mode. +the primitive itself; it belongs inside the selector. Iframe and application +primitives do not take a selector. Page advance uses `duration`, `application`, +or `media_end`. There is no `video_end` mode. Default pages use `{ "type": "crossfade", "duration_ms": 200 }` and put no -`enter` on placements. `transition.type` may also be `swipe-left`, +`enter` on objects. `transition.type` may also be `swipe-left`, `swipe-right`, `swipe-up`, or `swipe-down`. `duration_ms` is required and runs from 0 through 60000. When a swipe type is chosen, write `duration_ms: 600`. That is the authoring default for swipe, not a schema @@ -188,17 +188,17 @@ default, and it does not change the template default. Swipe is the incoming page's type. The outgoing page follows so the edges stay touching. The name is motion direction: `swipe-left` moves content left. -Optional placement `enter` is `{ "type": "..." }` with that same object -name on playlist JSON. There is no snake_case rename inside it. Types are +Optional object `enter` is `{ "type": "..." }` with that same object name on +playlist JSON. There is no snake_case rename inside it. Types are `fade-up`, `fade-down`, `fade-left`, `fade-right`, `fade-in`, `zoom-in`, and `zoom-out`. Absent means no object animation. Use swipe and `enter` sparingly, for emphasis or a particular style, not on every page. If you -want object animation, layer the content and put the motion on the -top-layer text or images. Do not animate every placement. Object enter +want object animation, layer the primitives and put the motion on the +top-layer text or images. Do not animate every object. Object enter starts invisible. It runs 500 ms after the page occupies the full viewport, for 400 ms. Those delays are contract constants, not author fields and not CLI flags. The pinned CLI implements these playlist document -fields, and the control plane accepts swipe types and placement `enter`. This +fields, and the control plane accepts swipe types and object `enter`. This does not establish marketplace availability or deployment. The ordinary pair command currently accepts six canonical characters: @@ -405,7 +405,7 @@ renames it into place. The bundle contains `screenrig-bundle.json`, `playlist.json`, and content-addressed `media/.` files. The manifest records `selector_policy: "snapshot"` and `comments_policy: "excluded"`. Dynamic `all` and `tag` selectors become exact -`id` or `ids` snapshots. Iframes remain URLs. Application placements are +`id` or `ids` snapshots. Iframes remain URLs. Application primitives are rejected before any media download because v1 has no application-package export. @@ -509,7 +509,7 @@ relative to the spec file. The CLI does not fetch URLs. `--open` is only for viewing the still on this computer. Agent vision reads the file path. Do not cat pixels into chat. -A playlist page for that still is one `image` placement whose `rect` is the +A playlist page for that still is one `image` primitive whose `rect` is the canvas and whose `content_fit` is `fill`. ## Events @@ -530,7 +530,7 @@ screenrig --json playback list --screen-id scr_01 --day 2026-08-14 ``` A human line looks like -`at=2026-08-14T17:00:00.000Z type=application.event severity=info code=cta.pressed placement_id=weather`. +`at=2026-08-14T17:00:00.000Z type=application.event severity=info code=cta.pressed primitive_id=weather`. It carries `at`, `type`, `severity`, optional resource fields, scalar details, and a non-canned `message`. Canned server sentences are omitted. An `application.event` or `runtime.reported` with no remaining data is silent. A @@ -664,12 +664,13 @@ screenrig --json media upload ./clip.mov screenrig --json media upload ./clip.mov --codec hevc screenrig --json media upload ./poster.png --no-transcode screenrig --json media upload ./lobby-welcome.png --tag lobby -screenrig --json media list --tag lobby --kind image +screenrig --json media list --tag lobby --primitive image screenrig --json media update med_01 --tag lobby --if-match 1 screenrig --json media update med_01 --clear-tag --if-match 2 ``` -`media list` forwards `--tag` and `--kind image|video` as query filters. +`media list` forwards `--tag` and `--primitive image|video` to +`GET /api/v1/media` as `tag` and `primitive` parameters. Untagged objects are omitted when `--tag` is present. `media update` patches the tag only; `--clear-tag` sends `null`. There is no other media metadata patch. diff --git a/plugins/screenrig/cli/dist/adapters/protocol.d.ts b/plugins/screenrig/cli/dist/adapters/protocol.d.ts index bbe93e52..bcddce78 100644 --- a/plugins/screenrig/cli/dist/adapters/protocol.d.ts +++ b/plugins/screenrig/cli/dist/adapters/protocol.d.ts @@ -118,7 +118,7 @@ export interface OperationAccepted { id: string; /** * Release created by this upload. The server has always returned it and the - * contract now requires it. It is the only handle a playlist placement + * contract now requires it. It is the only handle an application primitive * accepts, so report it rather than making the caller poll the operation. */ release_id: string; @@ -197,11 +197,11 @@ export declare function limitsFromCapabilities(capabilities: Capabilities): Arch /** * Full playlist pages stay opaque: the CLI forwards author-supplied playlist * JSON unchanged, including `transition.type` swipe variants and optional - * placement `enter`. Templated pages are the exception — the CLI expands + * object `enter`. Templated pages are the exception — the CLI expands * `template` + `slots` into an ordinary write page in `playlist-templates.ts` * and never sends `template` to the server. Omitted templated transitions stay * `{ type: "crossfade", duration_ms: 200 }` with no `enter`. The contract's - * page, placement, and content schemas are still not mirrored here except for + * page and primitive schemas are still not mirrored here except for * the fields that expander writes. Mirror a schema only when the CLI builds or * reads its fields. * diff --git a/plugins/screenrig/cli/dist/argv.d.ts.map b/plugins/screenrig/cli/dist/argv.d.ts.map index 726dd01a..165fe4c7 100644 --- a/plugins/screenrig/cli/dist/argv.d.ts.map +++ b/plugins/screenrig/cli/dist/argv.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAsED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAuDpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpG;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpG"} \ No newline at end of file +{"version":3,"file":"argv.d.ts","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAuED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAuDpD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGpG;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpG"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/argv.js b/plugins/screenrig/cli/dist/argv.js index 04f57cab..cc04a458 100644 --- a/plugins/screenrig/cli/dist/argv.js +++ b/plugins/screenrig/cli/dist/argv.js @@ -51,6 +51,7 @@ const VALUE_FLAGS = new Set([ "body-file", "command", "kind", + "primitive", "level", "text", "duration-ms", diff --git a/plugins/screenrig/cli/dist/argv.js.map b/plugins/screenrig/cli/dist/argv.js.map index 71c91ed6..18f92157 100644 --- a/plugins/screenrig/cli/dist/argv.js.map +++ b/plugins/screenrig/cli/dist/argv.js.map @@ -1 +1 @@ -{"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"argv.js","sourceRoot":"","sources":["../src/argv.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/commands.d.ts b/plugins/screenrig/cli/dist/commands.d.ts index 774e9a05..717f75dd 100644 --- a/plugins/screenrig/cli/dist/commands.d.ts +++ b/plugins/screenrig/cli/dist/commands.d.ts @@ -5,7 +5,7 @@ import { ExitCode } from "./exit-codes.js"; import type { CliRuntime } from "./runtime.js"; import { type TranscodeOptions } from "./media/transcode.js"; export declare const CLI_VERSION = "0.1.0"; -export declare const USAGE = "screenrig \u2014 ScreenRig localhost v1 control-plane CLI\n\nUsage:\n screenrig [--json] [--api-url URL] [--config PATH]\n [--request-id ID] [--idempotency-key KEY] [--timeout MS]\n [--beta-key KEY]\n [args]\n\nConfiguration (user config JSON, not flags):\n log_socket optional path to an already-listening Unix socket. The CLI\n connects as a client and writes one NDJSON operation-log\n object per line. Absent or empty keeps current behavior.\n This is a config field only, not a command-line switch.\n\nCommands:\n account show\n agent enroll --email ADDRESS [--name NAME] [--open-dashboard]\n agent connect [--name NAME] [--print-url] [--timeout MS]\n agent status\n agent disconnect --yes [--allow-lockout]\n auth status (deprecated alias for agent status)\n auth revoke --yes [--allow-lockout] (deprecated alias for agent disconnect)\n dashboard [--print-url]\n app pack [--output FILE]\n app upload [--name NAME] [--no-wait] [--poll-ms MS]\n app list\n app show \n media upload [--content-type TYPE] [--tag TAG] [--no-wait] [--poll-ms MS]\n [--no-transcode] [--codec h264|hevc] [--max-fps N]\n [--max-edge PIXELS] [--webp-quality 1-100] [--no-progress]\n media show \n media list [--tag TAG] [--kind image|video]\n media update (--tag TAG | --clear-tag) --if-match REVISION\n media delete --if-match REVISION\n compose catalog\n compose render [--output FILE] [--open]\n playlist templates\n playlist create \n playlist update --if-match REVISION\n playlist export --output DIRECTORY\n playlist import [--update ID --if-match REVISION]\n playlist show \n playlist list\n playlist delete --if-match REVISION\n screen pair CODE [--label LABEL]\n screen provision (--open | --print-url) [--label LABEL]\n browser setup --code CODE [--open]\n screen update [--name NAME] [--playlist-id ID] [--timezone ZONE]\n --if-match REVISION\n screen list [--state archived]\n screen show \n screen assign --playlist-id ID --if-match REVISION\n screen set-timezone --timezone ZONE --if-match REVISION\n screen archive --if-match REVISION\n screen unarchive --if-match REVISION\n screen delete --if-match REVISION\n screen rotate-public-id --if-match REVISION\n screen toast --text TEXT [--level info] [--duration-ms MS]\n screen screenshot [--output FILE] [--timeout MS] [--poll-ms MS]\n kv get --application-id ID \n kv set --application-id ID --json-value JSON [--if-match REVISION]\n kv set --application-id ID --file FILE --content-type TYPE [--if-match REVISION]\n kv set --application-id ID --value-base64 BASE64 --content-type TYPE [--if-match REVISION]\n kv delete --application-id ID --if-match REVISION\n kv list --application-id ID\n comment show screen \n comment show playlist [--page PAGE_ID]\n comment set screen (--json-value JSON | --file FILE)\n comment set playlist [--page PAGE_ID] (--json-value JSON | --file FILE)\n comment delete screen \n comment delete playlist [--page PAGE_ID]\n operations get \n operations wait [--timeout MS] [--poll-ms MS]\n operations cancel \n events list [--after CURSOR] [--limit N]\n events follow [--after CURSOR] [--timeout MS]\n playback list [--screen-id ID] [--media-id ID] [--day YYYY-MM-DD]\n feedback bug (--body TEXT | --body-file FILE)\n [--command \"GROUP ACTION\"] [--no-context]\n feedback feature <title> (--body TEXT | --body-file FILE)\n [--command \"GROUP ACTION\"] [--no-context]\n feedback list [--kind bug|feature]\n doctor [--repair-config]\n version\n"; +export declare const USAGE = "screenrig \u2014 ScreenRig localhost v1 control-plane CLI\n\nUsage:\n screenrig [--json] [--api-url URL] [--config PATH]\n [--request-id ID] [--idempotency-key KEY] [--timeout MS]\n [--beta-key KEY]\n <command> [args]\n\nConfiguration (user config JSON, not flags):\n log_socket optional path to an already-listening Unix socket. The CLI\n connects as a client and writes one NDJSON operation-log\n object per line. Absent or empty keeps current behavior.\n This is a config field only, not a command-line switch.\n\nCommands:\n account show\n agent enroll --email ADDRESS [--name NAME] [--open-dashboard]\n agent connect [--name NAME] [--print-url] [--timeout MS]\n agent status\n agent disconnect --yes [--allow-lockout]\n auth status (deprecated alias for agent status)\n auth revoke --yes [--allow-lockout] (deprecated alias for agent disconnect)\n dashboard [--print-url]\n app pack <directory> [--output FILE]\n app upload <directory> [--name NAME] [--no-wait] [--poll-ms MS]\n app list\n app show <id>\n media upload <file> [--content-type TYPE] [--tag TAG] [--no-wait] [--poll-ms MS]\n [--no-transcode] [--codec h264|hevc] [--max-fps N]\n [--max-edge PIXELS] [--webp-quality 1-100] [--no-progress]\n media show <id>\n media list [--tag TAG] [--primitive image|video]\n media update <id> (--tag TAG | --clear-tag) --if-match REVISION\n media delete <id> --if-match REVISION\n compose catalog\n compose render <file> [--output FILE] [--open]\n playlist templates\n playlist create <file>\n playlist update <id> <file> --if-match REVISION\n playlist export <id> --output DIRECTORY\n playlist import <directory> [--update ID --if-match REVISION]\n playlist show <id>\n playlist list\n playlist delete <id> --if-match REVISION\n screen pair CODE [--label LABEL]\n screen provision (--open | --print-url) [--label LABEL]\n browser setup --code CODE [--open]\n screen update <id> [--name NAME] [--playlist-id ID] [--timezone ZONE]\n --if-match REVISION\n screen list [--state archived]\n screen show <id>\n screen assign <id> --playlist-id ID --if-match REVISION\n screen set-timezone <id> --timezone ZONE --if-match REVISION\n screen archive <id> --if-match REVISION\n screen unarchive <id> --if-match REVISION\n screen delete <id> --if-match REVISION\n screen rotate-public-id <id> --if-match REVISION\n screen toast <id> --text TEXT [--level info] [--duration-ms MS]\n screen screenshot <id> [--output FILE] [--timeout MS] [--poll-ms MS]\n kv get --application-id ID <key>\n kv set --application-id ID <key> --json-value JSON [--if-match REVISION]\n kv set --application-id ID <key> --file FILE --content-type TYPE [--if-match REVISION]\n kv set --application-id ID <key> --value-base64 BASE64 --content-type TYPE [--if-match REVISION]\n kv delete --application-id ID <key> --if-match REVISION\n kv list --application-id ID\n comment show screen <id>\n comment show playlist <id> [--page PAGE_ID]\n comment set screen <id> (--json-value JSON | --file FILE)\n comment set playlist <id> [--page PAGE_ID] (--json-value JSON | --file FILE)\n comment delete screen <id>\n comment delete playlist <id> [--page PAGE_ID]\n operations get <id>\n operations wait <id> [--timeout MS] [--poll-ms MS]\n operations cancel <id>\n events list [--after CURSOR] [--limit N]\n events follow [--after CURSOR] [--timeout MS]\n playback list [--screen-id ID] [--media-id ID] [--day YYYY-MM-DD]\n feedback bug <title> (--body TEXT | --body-file FILE)\n [--command \"GROUP ACTION\"] [--no-context]\n feedback feature <title> (--body TEXT | --body-file FILE)\n [--command \"GROUP ACTION\"] [--no-context]\n feedback list [--kind bug|feature]\n doctor [--repair-config]\n version\n"; export interface CommandResult { envelope: ReturnType<typeof successEnvelope<unknown>>; exitCode: ExitCode; diff --git a/plugins/screenrig/cli/dist/commands.d.ts.map b/plugins/screenrig/cli/dist/commands.d.ts.map index c9c190b8..268d6a91 100644 --- a/plugins/screenrig/cli/dist/commands.d.ts.map +++ b/plugins/screenrig/cli/dist/commands.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,YAAY,EAUjB,KAAK,eAAe,EAOpB,KAAK,SAAS,EAgBf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAmB9E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA2C/C,OAAO,EAOL,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;AAc9B,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,KAAK,41HAoFjB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAsKD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAgL5F;AAmvCD,iDAAiD;AACjD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CA0B3E;AAsLD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,SAAS,CA4B7B;AAs9BD,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAoCvE;AAgCD,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,2BAA2B,QAAS,CAAC;AA2UlD,YAAY,EAAE,SAAS,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,YAAY,EAUjB,KAAK,eAAe,EAOpB,KAAK,SAAS,EAgBf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAmB9E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA2C/C,OAAO,EAOL,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;AAc9B,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,KAAK,i2HAoFjB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAsKD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAgL5F;AAsvCD,iDAAiD;AACjD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CA0B3E;AAsLD;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,SAAS,CA4B7B;AAs9BD,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAoCvE;AAgCD,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,2BAA2B,QAAS,CAAC;AA2UlD,YAAY,EAAE,SAAS,EAAE,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/commands.js b/plugins/screenrig/cli/dist/commands.js index 509a4eb4..ac2623f4 100644 --- a/plugins/screenrig/cli/dist/commands.js +++ b/plugins/screenrig/cli/dist/commands.js @@ -67,7 +67,7 @@ Commands: [--no-transcode] [--codec h264|hevc] [--max-fps N] [--max-edge PIXELS] [--webp-quality 1-100] [--no-progress] media show <id> - media list [--tag TAG] [--kind image|video] + media list [--tag TAG] [--primitive image|video] media update <id> (--tag TAG | --clear-tag) --if-match REVISION media delete <id> --if-match REVISION compose catalog @@ -1396,7 +1396,7 @@ async function appUpload(args, runtime, resolved) { exitCode: ExitCode.Success, human: humanLines("Application uploaded", [ ["application_id", body.id], - // The release id is the only handle a playlist placement accepts, so + // The release id is the only handle an application primitive accepts, so // report it here rather than making the caller read the operation // result to find it. ["release_id", body.release_id], @@ -1457,16 +1457,16 @@ function applicationNameFromArgs(args) { } return name; } -function mediaKindFromArgs(args) { - requireFlagValue(args, "kind", "image"); - const kind = flagString(args.flags, "kind"); - if (kind === undefined) { +function mediaPrimitiveFromArgs(args) { + requireFlagValue(args, "primitive", "image"); + const primitive = flagString(args.flags, "primitive"); + if (primitive === undefined) { return undefined; } - if (kind !== "image" && kind !== "video") { - throw usageError("--kind must be image or video."); + if (primitive !== "image" && primitive !== "video") { + throw usageError("--primitive must be image or video."); } - return kind; + return primitive; } function screenListStateFromArgs(args) { requireFlagValue(args, "state", "archived"); @@ -1481,9 +1481,12 @@ function screenListStateFromArgs(args) { } async function mediaCommand(args, runtime, resolved, action) { if (action === "list") { + if (Object.hasOwn(args.flags, "kind")) { + throw usageError("media list uses --primitive image|video, not --kind."); + } return simpleGet(args, runtime, resolved, "/api/v1/media", "Media", { tag: mediaTagFromArgs(args), - kind: mediaKindFromArgs(args), + primitive: mediaPrimitiveFromArgs(args), }); } const token = requireToken(resolved.token); @@ -2725,7 +2728,7 @@ export function formatEventLine(event) { } const details = event.details ?? {}; const used = new Set(); - for (const key of ["code", "placement_id"]) { + for (const key of ["code", "primitive_id"]) { if (!pushLogfmtField(parts, key, details[key])) continue; used.add(key); diff --git a/plugins/screenrig/cli/dist/commands.js.map b/plugins/screenrig/cli/dist/commands.js.map index 2278bb3a..ef161fc3 100644 --- a/plugins/screenrig/cli/dist/commands.js.map +++ b/plugins/screenrig/cli/dist/commands.js.map @@ -1 +1 @@ -{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/compose/catalog.d.ts b/plugins/screenrig/cli/dist/compose/catalog.d.ts index 908f3233..81c411eb 100644 --- a/plugins/screenrig/cli/dist/compose/catalog.d.ts +++ b/plugins/screenrig/cli/dist/compose/catalog.d.ts @@ -1,6 +1,6 @@ import { PINS, ROLES, SPACES } from "./tokens.js"; export declare const COMPOSE_TYPES: readonly ["Frame", "Column", "Row", "Box", "Spacer", "Text", "Image"]; -export declare const WIRE_PLACEMENT_KINDS: readonly ["image", "video", "iframe", "application"]; +export declare const WIRE_PRIMITIVES: readonly ["image", "video", "iframe", "application"]; export declare const FONT_FALLBACKS: readonly ["Helvetica Neue", "Helvetica", "Arial", "DejaVu Sans", "Liberation Sans"]; export interface ComposeCatalog { types: typeof COMPOSE_TYPES[number][]; @@ -16,7 +16,7 @@ export interface ComposeCatalog { envelope: string; textShadow: string; }; - wire_kinds: typeof WIRE_PLACEMENT_KINDS[number][]; + wire_primitives: typeof WIRE_PRIMITIVES[number][]; font_fallbacks: typeof FONT_FALLBACKS[number][]; } export declare function composeCatalog(): ComposeCatalog; diff --git a/plugins/screenrig/cli/dist/compose/catalog.d.ts.map b/plugins/screenrig/cli/dist/compose/catalog.d.ts.map index fcf0a08e..8dd5ad98 100644 --- a/plugins/screenrig/cli/dist/compose/catalog.d.ts.map +++ b/plugins/screenrig/cli/dist/compose/catalog.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/compose/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,aAAa,uEAAwE,CAAC;AACnG,eAAO,MAAM,oBAAoB,sDAAuD,CAAC;AACzF,eAAO,MAAM,cAAc,qFAAsF,CAAC;AAElH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;IACtC,KAAK,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAChC,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,OAAO,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,cAAc,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;CACjD;AAED,wBAAgB,cAAc,IAAI,cAAc,CAkB/C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAiBpE"} \ No newline at end of file +{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/compose/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAElD,eAAO,MAAM,aAAa,uEAAwE,CAAC;AACnG,eAAO,MAAM,eAAe,sDAAuD,CAAC;AACpF,eAAO,MAAM,cAAc,qFAAsF,CAAC;AAElH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;IACtC,KAAK,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAChC,IAAI,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,KAAK,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,EAAE,OAAO,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;IAClD,cAAc,EAAE,OAAO,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;CACjD;AAED,wBAAgB,cAAc,IAAI,cAAc,CAkB/C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAiBpE"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/compose/catalog.js b/plugins/screenrig/cli/dist/compose/catalog.js index 3f49042c..53e15832 100644 --- a/plugins/screenrig/cli/dist/compose/catalog.js +++ b/plugins/screenrig/cli/dist/compose/catalog.js @@ -1,6 +1,6 @@ import { PINS, ROLES, SPACES } from "./tokens.js"; export const COMPOSE_TYPES = ["Frame", "Column", "Row", "Box", "Spacer", "Text", "Image"]; -export const WIRE_PLACEMENT_KINDS = ["image", "video", "iframe", "application"]; +export const WIRE_PRIMITIVES = ["image", "video", "iframe", "application"]; export const FONT_FALLBACKS = ["Helvetica Neue", "Helvetica", "Arial", "DejaVu Sans", "Liberation Sans"]; export function composeCatalog() { return { @@ -17,7 +17,7 @@ export function composeCatalog() { envelope: "structured JSON, not pixels", textShadow: "optional Text object { x, y, blur?, color }; omitted paints without a shadow", }, - wire_kinds: [...WIRE_PLACEMENT_KINDS], + wire_primitives: [...WIRE_PRIMITIVES], font_fallbacks: [...FONT_FALLBACKS], }; } @@ -34,7 +34,7 @@ export function formatComposeCatalog(catalog) { "fontSize: not authorable", `image_src: ${catalog.rules.image_src}`, `textShadow: ${catalog.rules.textShadow}`, - `wire_kinds: ${catalog.wire_kinds.join("|")}`, + `wire_primitives: ${catalog.wire_primitives.join("|")}`, "envelope: structured JSON, not pixels", ]; return lines.join("\n"); diff --git a/plugins/screenrig/cli/dist/compose/catalog.js.map b/plugins/screenrig/cli/dist/compose/catalog.js.map index 1b90bc2b..c7c94f2e 100644 --- a/plugins/screenrig/cli/dist/compose/catalog.js.map +++ b/plugins/screenrig/cli/dist/compose/catalog.js.map @@ -1 +1 @@ -{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/compose/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AACnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAU,CAAC;AACzF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAU,CAAC;AAoBlH,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC;QACzB,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;QACjB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACf,KAAK,EAAE;YACL,YAAY,EAAE,+EAA+E;YAC7F,UAAU,EAAE,kGAAkG;YAC9G,WAAW,EAAE,oIAAoI;YACjJ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,2DAA2D;YACtE,QAAQ,EAAE,6BAA6B;YACvC,UAAU,EAAE,8EAA8E;SAC3F;QACD,UAAU,EAAE,CAAC,GAAG,oBAAoB,CAAC;QACrC,cAAc,EAAE,CAAC,GAAG,cAAc,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,MAAM,KAAK,GAAG;QACZ,uBAAuB;QACvB,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACnC,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACnC,WAAW,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrC,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACjC,iBAAiB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE;QAC7C,eAAe,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;QACzC,gBAAgB,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;QAC3C,0BAA0B;QAC1B,cAAc,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;QACvC,eAAe,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;QACzC,eAAe,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC7C,uCAAuC;KACxC,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file +{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/compose/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAU,CAAC;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,gBAAgB,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,iBAAiB,CAAU,CAAC;AAoBlH,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,aAAa,CAAC;QACzB,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;QACjB,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;QACnB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QACf,KAAK,EAAE;YACL,YAAY,EAAE,+EAA+E;YAC7F,UAAU,EAAE,kGAAkG;YAC9G,WAAW,EAAE,oIAAoI;YACjJ,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,2DAA2D;YACtE,QAAQ,EAAE,6BAA6B;YACvC,UAAU,EAAE,8EAA8E;SAC3F;QACD,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC;QACrC,cAAc,EAAE,CAAC,GAAG,cAAc,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAuB;IAC1D,MAAM,KAAK,GAAG;QACZ,uBAAuB;QACvB,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACnC,UAAU,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACnC,WAAW,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrC,SAAS,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACjC,iBAAiB,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE;QAC7C,eAAe,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;QACzC,gBAAgB,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;QAC3C,0BAA0B;QAC1B,cAAc,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE;QACvC,eAAe,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE;QACzC,oBAAoB,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACvD,uCAAuC;KACxC,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/playlist-bundle.d.ts.map b/plugins/screenrig/cli/dist/playlist-bundle.d.ts.map index dcb318fb..114bd131 100644 --- a/plugins/screenrig/cli/dist/playlist-bundle.d.ts.map +++ b/plugins/screenrig/cli/dist/playlist-bundle.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"playlist-bundle.d.ts","sourceRoot":"","sources":["../src/playlist-bundle.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"playlist-bundle.d.ts","sourceRoot":"","sources":["../src/playlist-bundle.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/playlist-bundle.js b/plugins/screenrig/cli/dist/playlist-bundle.js index edb837e0..425c684b 100644 --- a/plugins/screenrig/cli/dist/playlist-bundle.js +++ b/plugins/screenrig/cli/dist/playlist-bundle.js @@ -281,11 +281,11 @@ export async function preflightPlaylistBundle(directory) { throw usageError("Playlist bundle source must have no symlinked path components."); const manifest = parseManifest(await readBundleJson(root, PLAYLIST_BUNDLE_MANIFEST)); const playlist = record(await readBundleJson(root, PLAYLIST_BUNDLE_PLAYLIST), PLAYLIST_BUNDLE_PLAYLIST); - const mediaKinds = new Map(manifest.media.map((item) => [ + const mediaPrimitives = new Map(manifest.media.map((item) => [ item.source_id, item.content_type.startsWith("image/") ? "image" : "video", ])); - const referenced = validatePlaylistWrite(playlist, mediaKinds); + const referenced = validatePlaylistWrite(playlist, mediaPrimitives); const listed = new Set(manifest.media.map((item) => item.source_id)); const missing = [...referenced].filter((id) => !listed.has(id)); const unused = [...listed].filter((id) => !referenced.has(id)); @@ -315,21 +315,28 @@ export async function preflightPlaylistBundle(directory) { } return { root, manifest, playlist, files, close }; } -function normalizedMediaSelector(items, original) { - if (!Array.isArray(items) || items.length < 1 || items.length > 32) { - throw usageError("Playlist export requires 1 to 32 resolved media items per placement."); +function normalizedMediaSelector(input) { + const selector = record(input, "Playlist media selector"); + let ids; + if (selector.by === "id") { + ids = [stringField(selector, "media_id", "Playlist media selector")]; + } + else if (selector.by === "ids" && Array.isArray(selector.media_ids)) { + ids = selector.media_ids.map((id) => { + if (typeof id !== "string") + throw usageError("Playlist contains an invalid snapshotted media id."); + return id; + }); + } + else { + throw usageError("Playlist export requires selectors snapshotted to by:id or by:ids."); + } + if (ids.length < 1 || ids.length > 32 || ids.some((id) => !MEDIA_ID_PATTERN.test(id))) { + throw usageError("Playlist export requires 1 to 32 valid snapshotted media ids per primitive."); } - const ids = items.map((value, index) => { - const item = record(value, `Resolved media item ${index}`); - const id = stringField(item, "media_id", `Resolved media item ${index}`); - if (!MEDIA_ID_PATTERN.test(id)) - throw usageError("Playlist contains an invalid resolved media id."); - return id; - }); if (new Set(ids).size !== ids.length) throw usageError("Playlist contains duplicate resolved media ids in one selector."); - const originalRecord = record(original, "Playlist media selector"); - const oneAtATime = originalRecord.one_at_a_time === true; + const oneAtATime = selector.one_at_a_time === true; if (ids.length === 1 && !oneAtATime) return { by: "id", media_id: ids[0] }; return { by: "ids", media_ids: ids, one_at_a_time: oneAtATime }; @@ -347,45 +354,44 @@ export function normalizePlaylistForBundle(input) { const mediaIds = new Set(); const pages = source.pages.map((pageValue, pageIndex) => { const page = record(pageValue, `Playlist.pages[${pageIndex}]`); - if (!Array.isArray(page.placements)) - throw usageError(`Playlist.pages[${pageIndex}].placements must be an array.`); - const placements = page.placements.map((placementValue, placementIndex) => { - const placement = record(placementValue, `Playlist.pages[${pageIndex}].placements[${placementIndex}]`); - const content = record(placement.content, `Playlist.pages[${pageIndex}].placements[${placementIndex}].content`); - const type = content.type; - if (type === "application") - throw usageError("Playlist export does not support application placements; export stopped before media download."); - let normalizedContent; - if (type === "iframe") { - normalizedContent = { - type: "iframe", - src: stringField(content, "src", "Iframe content"), - title: stringField(content, "title", "Iframe content"), + if (!Array.isArray(page.primitives)) + throw usageError(`Playlist.pages[${pageIndex}].primitives must be an array.`); + const primitives = page.primitives.map((primitiveValue, primitiveIndex) => { + const primitive = record(primitiveValue, `Playlist.pages[${pageIndex}].primitives[${primitiveIndex}]`); + const category = primitive.primitive; + if (category === "application") + throw usageError("Playlist export does not support application primitives; export stopped before media download."); + let normalized; + if (category === "iframe") { + normalized = { + primitive: "iframe", + src: stringField(primitive, "src", "Iframe primitive"), + title: stringField(primitive, "title", "Iframe primitive"), }; } - else if (type === "image" || type === "video") { - const selector = normalizedMediaSelector(content.items, content.selector); + else if (category === "image" || category === "video") { + const selector = normalizedMediaSelector(primitive.selector); const ids = selector.by === "id" ? [selector.media_id] : selector.media_ids; for (const mediaId of ids) mediaIds.add(mediaId); - normalizedContent = { - type, + normalized = { + primitive: category, selector, - ...(type === "image" && typeof content.alt === "string" ? { alt: content.alt } : {}), - ...(type === "image" && typeof content.dwell_ms === "number" ? { dwell_ms: content.dwell_ms } : {}), - ...(type === "video" ? { muted: content.muted === true, loop: content.loop === true } : {}), + ...(category === "image" && typeof primitive.alt === "string" ? { alt: primitive.alt } : {}), + ...(category === "image" && typeof primitive.dwell_ms === "number" ? { dwell_ms: primitive.dwell_ms } : {}), + ...(category === "video" ? { muted: primitive.muted === true, loop: primitive.loop === true } : {}), }; } else { - throw usageError("Playlist export encountered an unsupported placement content type."); + throw usageError("Playlist export encountered an unsupported primitive."); } return { - id: stringField(placement, "id", "Playlist placement"), - content: normalizedContent, - rect: cloneJson(placement.rect), - layer: placement.layer, - content_fit: placement.content_fit, - ...(placement.enter !== undefined ? { enter: cloneJson(placement.enter) } : {}), + id: stringField(primitive, "id", "Playlist primitive"), + ...normalized, + rect: cloneJson(primitive.rect), + layer: primitive.layer, + content_fit: primitive.content_fit, + ...(primitive.enter !== undefined ? { enter: cloneJson(primitive.enter) } : {}), }; }); return { @@ -394,7 +400,7 @@ export function normalizePlaylistForBundle(input) { transition: cloneJson(page.transition), advance: cloneJson(page.advance), ...(page.visibility !== undefined ? { visibility: cloneJson(page.visibility) } : {}), - placements, + primitives, }; }); return { id, revision, playlist: { name, pages }, mediaIds: [...mediaIds].sort() }; @@ -539,7 +545,7 @@ export async function exportPlaylistBundle(options) { source_revision: normalized.revision, path: PLAYLIST_BUNDLE_PLAYLIST, }, - media: media.map(({ id: _id, kind: _kind, ...item }) => item), + media: media.map(({ id: _id, primitive: _primitive, ...item }) => item), }; await writePrivateJson(path.join(temporary, PLAYLIST_BUNDLE_MANIFEST), manifest); await destinationAbsent(destination); @@ -610,11 +616,10 @@ function rewritePlaylistIds(playlist, mapping) { const output = cloneJson(playlist); const pages = output.pages; for (const page of pages) { - for (const placement of page.placements) { - const content = placement.content; - if (content.type !== "image" && content.type !== "video") + for (const primitive of page.primitives) { + if (primitive.primitive !== "image" && primitive.primitive !== "video") continue; - const selector = content.selector; + const selector = primitive.selector; if (selector.by === "id") { const source = selector.media_id; const destination = mapping.get(source); diff --git a/plugins/screenrig/cli/dist/playlist-bundle.js.map b/plugins/screenrig/cli/dist/playlist-bundle.js.map index edd57e97..e0699b43 100644 --- a/plugins/screenrig/cli/dist/playlist-bundle.js.map +++ b/plugins/screenrig/cli/dist/playlist-bundle.js.map @@ -1 +1 @@ -{"version":3,"file":"playlist-bundle.js","sourceRoot":"","sources":["../src/playlist-bundle.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"playlist-bundle.js","sourceRoot":"","sources":["../src/playlist-bundle.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/playlist-templates.d.ts b/plugins/screenrig/cli/dist/playlist-templates.d.ts index 68697513..f3a24611 100644 --- a/plugins/screenrig/cli/dist/playlist-templates.d.ts +++ b/plugins/screenrig/cli/dist/playlist-templates.d.ts @@ -15,7 +15,7 @@ export declare const SLIDE_DEFAULT_TRANSITION: { /** Authoring duration when a swipe type is chosen. Not an OpenAPI default. */ export declare const SLIDE_SWIPE_AUTHORING_DURATION_MS = 600; export declare const PLAYLIST_TRANSITION_TYPES: readonly ["crossfade", "swipe-left", "swipe-right", "swipe-up", "swipe-down"]; -export declare const PLACEMENT_ENTER_TYPES: readonly ["fade-up", "fade-down", "fade-left", "fade-right", "fade-in", "zoom-in", "zoom-out"]; +export declare const OBJECT_ENTER_TYPES: readonly ["fade-up", "fade-down", "fade-left", "fade-right", "fade-in", "zoom-in", "zoom-out"]; export declare const SLIDE_DEFAULT_ADVANCE: { mode: "duration"; after_ms: number; @@ -107,7 +107,7 @@ export interface TemplateCatalog { compose: { catalog_command: string; render_command: string; - wire_kinds: readonly string[]; + wire_primitives: readonly string[]; }; canvas: { width: number; @@ -121,7 +121,7 @@ export interface TemplateCatalog { }; transition_types: readonly typeof PLAYLIST_TRANSITION_TYPES[number][]; swipe_duration_ms: number; - enter_types: readonly typeof PLACEMENT_ENTER_TYPES[number][]; + enter_types: readonly typeof OBJECT_ENTER_TYPES[number][]; advance: { mode: "duration"; after_ms: number; diff --git a/plugins/screenrig/cli/dist/playlist-templates.d.ts.map b/plugins/screenrig/cli/dist/playlist-templates.d.ts.map index e7a1ddfb..94ec9d1c 100644 --- a/plugins/screenrig/cli/dist/playlist-templates.d.ts.map +++ b/plugins/screenrig/cli/dist/playlist-templates.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"playlist-templates.d.ts","sourceRoot":"","sources":["../src/playlist-templates.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"playlist-templates.d.ts","sourceRoot":"","sources":["../src/playlist-templates.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/playlist-templates.js b/plugins/screenrig/cli/dist/playlist-templates.js index 278bdedc..5d20fd99 100644 --- a/plugins/screenrig/cli/dist/playlist-templates.js +++ b/plugins/screenrig/cli/dist/playlist-templates.js @@ -1,4 +1,4 @@ -import { WIRE_PLACEMENT_KINDS } from "./compose/catalog.js"; +import { WIRE_PRIMITIVES } from "./compose/catalog.js"; import { usageError } from "./problems.js"; export const SLIDE_CANVAS_WIDTH = 1920; export const SLIDE_CANVAS_HEIGHT = 1080; @@ -21,7 +21,7 @@ export const PLAYLIST_TRANSITION_TYPES = [ "swipe-up", "swipe-down", ]; -export const PLACEMENT_ENTER_TYPES = [ +export const OBJECT_ENTER_TYPES = [ "fade-up", "fade-down", "fade-left", @@ -381,7 +381,7 @@ export function playlistTemplateCatalog() { compose: { catalog_command: "screenrig --json compose catalog", render_command: "screenrig --json compose render <file>", - wire_kinds: [...WIRE_PLACEMENT_KINDS], + wire_primitives: [...WIRE_PRIMITIVES], }, canvas: { width: SLIDE_CANVAS_WIDTH, @@ -392,7 +392,7 @@ export function playlistTemplateCatalog() { transition: { ...SLIDE_DEFAULT_TRANSITION }, transition_types: [...PLAYLIST_TRANSITION_TYPES], swipe_duration_ms: SLIDE_SWIPE_AUTHORING_DURATION_MS, - enter_types: [...PLACEMENT_ENTER_TYPES], + enter_types: [...OBJECT_ENTER_TYPES], advance: { ...SLIDE_DEFAULT_ADVANCE }, templates: SLIDE_TEMPLATES.map((template) => ({ id: template.id, @@ -418,9 +418,9 @@ function catalogSlot(slot) { export function formatTemplateCatalog(catalog) { const lines = [ "Slide layouts with copy or chrome are composed locally, uploaded as image, then placed as one image.", - `Wire kinds: ${catalog.compose.wire_kinds.join(", ")}.`, + `Wire primitives: ${catalog.compose.wire_primitives.join(", ")}.`, `Compose: ${catalog.compose.catalog_command}`, - `Default page transition is ${catalog.transition.type} ${catalog.transition.duration_ms} ms with no placement enter. Swipe and enter are optional and spare.`, + `Default page transition is ${catalog.transition.type} ${catalog.transition.duration_ms} ms with no object enter. Swipe and enter are optional and spare.`, ]; for (const template of catalog.templates) { const slots = template.slots.map((slot) => formatCatalogSlot(slot)).join("; "); @@ -433,27 +433,40 @@ function formatCatalogSlot(slot) { return `${slot.id} (${parts.join(", ")})`; } function vectorChromeError(label) { - throw usageError(`${label} would emit native text, box, or line placements. Compose a still with compose render, upload it as image, and place that image on the page.`, { + throw usageError(`${label} would emit native text, box, or line primitives. Compose a still with compose render, upload it as image, and use that image primitive on the page.`, { command: "screenrig --json compose catalog", reason: "List the local compose catalog, then run compose render and media upload.", }); } -function assertWirePlacementKinds(page, index) { - if (!isRecord(page) || !Array.isArray(page.placements)) { +function assertWirePrimitives(page, index) { + if (!isRecord(page) || !Array.isArray(page.primitives)) { return; } const label = pageLabel(page, index); - for (const [placementIndex, placement] of page.placements.entries()) { - if (!isRecord(placement) || !isRecord(placement.content)) { + for (const [primitiveIndex, primitive] of page.primitives.entries()) { + if (!isRecord(primitive)) { continue; } - const type = placement.content.type; - if (typeof type !== "string" || !WIRE_PLACEMENT_KINDS.includes(type)) { - throw usageError(`${label} placements[${placementIndex}] content.type must be ${WIRE_PLACEMENT_KINDS.join("|")}. Compose copy and chrome locally.`, { + const category = primitive.primitive; + if (typeof category !== "string" || !WIRE_PRIMITIVES.includes(category)) { + throw usageError(`${label} primitives[${primitiveIndex}].primitive must be ${WIRE_PRIMITIVES.join("|")}. Compose copy and chrome locally.`, { command: "screenrig --json compose catalog", reason: "List the local compose catalog, then run compose render and media upload.", }); } + if (category === "image" || category === "video") { + if (!isRecord(primitive.selector) || !["id", "ids", "all", "tag"].includes(String(primitive.selector.by))) { + throw usageError(`${label} primitives[${primitiveIndex}] ${category} requires a selector with by id|ids|all|tag.`); + } + for (const retired of ["query", "filter", "items", "media_id", "media_ids"]) { + if (retired in primitive) { + throw usageError(`${label} primitives[${primitiveIndex}] puts media selection in selector, not ${retired}.`); + } + } + } + else if ("selector" in primitive) { + throw usageError(`${label} primitives[${primitiveIndex}] ${category} does not take a selector.`); + } } } export function expandPlaylistPages(pages) { @@ -463,15 +476,15 @@ export function expandPlaylistPage(page, index = 0) { if (!isRecord(page)) { return page; } - if ("template" in page && "placements" in page) { - throw usageError(`${pageLabel(page, index)} mixes template and placements. Use one page shape.`); + if ("template" in page && "primitives" in page) { + throw usageError(`${pageLabel(page, index)} mixes template and primitives. Use one page shape.`); } if (!("template" in page)) { - assertWirePlacementKinds(page, index); + assertWirePrimitives(page, index); return page; } const expanded = expandTemplatedPage(page, index); - assertWirePlacementKinds(expanded, index); + assertWirePrimitives(expanded, index); return expanded; } function expandTemplatedPage(page, index) { @@ -498,14 +511,14 @@ function expandTemplatedPage(page, index) { } } const background = readBackground(page.canvas, label); - const placements = []; + const primitives = []; for (const slot of template.slots) { if (slot.kind !== "picture") { continue; } const pictured = readPictureSlot(slot, slots[slot.id]); if (pictured) { - placements.push(picturePlacement(slot, pictured)); + primitives.push(picturePrimitive(slot, pictured)); } } const expanded = { @@ -518,7 +531,7 @@ function expandTemplatedPage(page, index) { }, transition: page.transition === undefined ? { ...SLIDE_DEFAULT_TRANSITION } : page.transition, advance: page.advance === undefined ? { ...SLIDE_DEFAULT_ADVANCE } : page.advance, - placements, + primitives, }; if ("visibility" in page) { expanded.visibility = page.visibility; @@ -615,25 +628,25 @@ function readPictureSlot(slot, value) { if (!isRecord(value)) { throw usageError(`Slot ${slot.id} must be an object.`); } - if ("text" in value && !("type" in value)) { + if ("text" in value && !("primitive" in value)) { throw usageError(slot.accept === "image" ? `Slot ${slot.id} is an image slot and does not take text.` : `Slot ${slot.id} is an image or video slot and does not take text.`); } - const type = value.type; - if (type !== "image" && type !== "video") { + const primitive = value.primitive; + if (primitive !== "image" && primitive !== "video") { throw usageError(slot.accept === "image" - ? `Slot ${slot.id} must be image content.` - : `Slot ${slot.id} must be image or video content.`); + ? `Slot ${slot.id} must be an image primitive.` + : `Slot ${slot.id} must be an image or video primitive.`); } - if (slot.accept === "image" && type === "video") { + if (slot.accept === "image" && primitive === "video") { throw usageError(`Slot ${slot.id} is an image slot and does not take video.`); } - const allowed = type === "image" + const allowed = primitive === "image" ? slot.accept === "image" - ? ["type", "selector", "alt", "dwell_ms"] - : ["type", "selector", "alt", "dwell_ms", "content_fit"] - : ["type", "selector", "muted", "loop", "content_fit"]; + ? ["primitive", "selector", "alt", "dwell_ms"] + : ["primitive", "selector", "alt", "dwell_ms", "content_fit"] + : ["primitive", "selector", "muted", "loop", "content_fit"]; const extra = Object.keys(value).filter((key) => !allowed.includes(key)).sort(); if (extra.length > 0) { throw usageError(`Slot ${slot.id} has unsupported fields: ${extra.join(", ")}.`); @@ -642,20 +655,20 @@ function readPictureSlot(slot, value) { throw usageError(`Slot ${slot.id} requires a selector.`); } const content_fit = readContentFit(slot, value.content_fit); - const content = { type, selector: value.selector }; - if (type === "image") { + const primitiveFields = { primitive, selector: value.selector }; + if (primitive === "image") { if (value.alt !== undefined) - content.alt = value.alt; + primitiveFields.alt = value.alt; if (value.dwell_ms !== undefined) - content.dwell_ms = value.dwell_ms; + primitiveFields.dwell_ms = value.dwell_ms; } else { if (value.muted !== undefined) - content.muted = value.muted; + primitiveFields.muted = value.muted; if (value.loop !== undefined) - content.loop = value.loop; + primitiveFields.loop = value.loop; } - return { content, content_fit }; + return { primitive: primitiveFields, content_fit }; } function readContentFit(slot, value) { if (value === undefined) { @@ -666,10 +679,10 @@ function readContentFit(slot, value) { } return value; } -function picturePlacement(slot, pictured) { +function picturePrimitive(slot, pictured) { return { id: slot.id, - content: pictured.content, + ...pictured.primitive, rect: { ...slot.rect }, layer: slot.layer, content_fit: pictured.content_fit, diff --git a/plugins/screenrig/cli/dist/playlist-templates.js.map b/plugins/screenrig/cli/dist/playlist-templates.js.map index 2dffcad6..14e24cef 100644 --- a/plugins/screenrig/cli/dist/playlist-templates.js.map +++ b/plugins/screenrig/cli/dist/playlist-templates.js.map @@ -1 +1 @@ -{"version":3,"file":"playlist-templates.js","sourceRoot":"","sources":["../src/playlist-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAkB,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAe,CAAC;AACjD,qFAAqF;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,IAAI,EAAE,WAAoB,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;AACzF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AACrD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW;IACX,YAAY;IACZ,aAAa;IACb,UAAU;IACV,YAAY;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,SAAS;IACT,WAAW;IACX,WAAW;IACX,YAAY;IACZ,SAAS;IACT,SAAS;IACT,UAAU;CACF,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,IAAI,EAAE,UAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAoB1E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,IAAI;IACJ,UAAU;IACV,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAoDlC,MAAM,GAAG,GAAc;IACrB,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7C,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,MAAM,IAAI,GAAmB;IAC3B,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,EAAE,GAAG,gBAAgB,EAAE;IAC7B,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAY,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACpG,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAY,EAAE,CAAC;AAChF,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAY,EAAE,CAAC;AACnF,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC5F,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAE/F,SAAS,IAAI,CACX,EAAU,EACV,QAAiB,EACjB,IAAU,EACV,IAOC;IAED,OAAO;QACL,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM;QAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;QAC5C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CACd,EAAU,EACV,QAAiB,EACjB,IAAU,EACV,cAAmC,OAAO;IAE1C,OAAO;QACL,EAAE;QACF,IAAI,EAAE,SAAS;QACf,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,CAAC;KACT,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAoC,EAAE,QAAe,MAAM;IAC5E,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC5B,OAAO;QACL,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/E,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAoB,EAAE,GAAU,EAAE,GAAU,EAAE,QAAiB;IAC/E,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACjC,OAAO;QACL,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YAC5D,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YACtE,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAgB,EAAE,CAAS,EAAE,QAAiB;IACjE,OAAO;QACL,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YACjE,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAClE,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACtC,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;QAC7F,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,GAAG;KACjB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;QAC5B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAChE,GAAG,WAAW;gBACd,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,QAAQ;gBACxB,KAAK,EAAE,aAAa;aACrB,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBACpE,GAAG,GAAG;gBACN,KAAK,EAAE,QAAQ;aAChB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACtG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC9F,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAClG,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;QACzC,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACzG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjG,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACvE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACrE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;YACjF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACnE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACrE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC1B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE;YACL,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAChE,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,GAAG;gBAChB,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,QAAQ;aACzB,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBACjE,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,GAAG;gBAChB,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,SAAS;aACjB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE;YACL,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBACnE,GAAG,QAAQ;gBACX,KAAK,EAAE,QAAQ;aAChB,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAChE,GAAG,GAAG;gBACN,KAAK,EAAE,QAAQ;aAChB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,aAAa,CAAC,GAAG,CAAC;YAClB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7E,GAAG,OAAO,EAAE;YACZ,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACvE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,aAAa,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7E,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;YAC1B,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC3B,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC3B,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC3B,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,aAAa,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7E,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;YAC3B,GAAG,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;YAC7B,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;YAC9B,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACrE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBACnE,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,GAAG;aACjB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACnE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAoC3F,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,OAAO,EAAE;YACP,eAAe,EAAE,kCAAkC;YACnD,cAAc,EAAE,wCAAwC;YACxD,UAAU,EAAE,CAAC,GAAG,oBAAoB,CAAC;SACtC;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,mBAAmB;YAC3B,YAAY,EAAE,kBAAkB;YAChC,UAAU,EAAE,gBAAgB;SAC7B;QACD,UAAU,EAAE,EAAE,GAAG,wBAAwB,EAAE;QAC3C,gBAAgB,EAAE,CAAC,GAAG,yBAAyB,CAAC;QAChD,iBAAiB,EAAE,iCAAiC;QACpD,WAAW,EAAE,CAAC,GAAG,qBAAqB,CAAC;QACvC,OAAO,EAAE,EAAE,GAAG,qBAAqB,EAAE;QACrC,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK;YACpH,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACvD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;QAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAwB;IAC5D,MAAM,KAAK,GAAG;QACZ,sGAAsG;QACtG,eAAe,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACvD,YAAY,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE;QAC7C,8BAA8B,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,sEAAsE;KAC9J,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAyB;IAClD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,UAAU,CACd,GAAG,KAAK,8IAA8I,EACtJ;QACE,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,2EAA2E;KACpF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAa,EAAE,KAAa;IAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,KAAK,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAE,oBAA0C,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5F,MAAM,UAAU,CACd,GAAG,KAAK,eAAe,cAAc,0BAA0B,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,oCAAoC,EACjI;gBACE,OAAO,EAAE,kCAAkC;gBAC3C,MAAM,EAAE,2EAA2E;aACpF,CACF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAgB;IAClD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa,EAAE,KAAK,GAAG,CAAC;IACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QAC/C,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC;QAC1B,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,wBAAwB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA6B,EAAE,KAAa;IACvE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,KAAK,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,UAAU,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9G,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,UAAU,CAAC,gBAAgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/F,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,UAAU,CAAC,yBAAyB,IAAI,CAAC,EAAE,gBAAgB,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAA4B;QACxC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,mBAAmB;YAC3B,YAAY,EAAE,kBAAkB;YAChC,UAAU;SACX;QACD,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;QAC7F,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;QACjF,UAAU;KACX,CAAC;IACF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACxC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,UAAU,CAAC,mBAAmB,KAAK,kDAAkD,EAAE;YAC3F,OAAO,EAAE,qCAAqC;YAC9C,MAAM,EAAE,kDAAkD;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAqB,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,KAAa;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,KAAK,4CAA4C,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,MAAe,EAAE,KAAa;IACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,UAAU,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,KAAK,mCAAmC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,KAAK,oBAAoB,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,IAAY;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,IAAI,2DAA2D,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,IAAI,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,UAAU,CAAC,GAAG,IAAI,uBAAuB,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpF,MAAM,UAAU,CAAC,GAAG,IAAI,wCAAwC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,IAAI,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,GAAG,IAAI,UAAU,KAAK,GAAG,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,UAAU,CAAC,GAAG,QAAQ,qBAAqB,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5F,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,CAAC,GAAG,QAAQ,4BAA4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3F,MAAM,UAAU,CAAC,GAAG,QAAQ,+CAA+C,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,UAAU,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,UAAU,CAAC,GAAG,QAAQ,sDAAsD,CAAC,CAAC;QACtF,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,QAAQ,CAAC;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CACtB,IAAoB,EACpB,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QAC1C,MAAM,UAAU,CACd,IAAI,CAAC,MAAM,KAAK,OAAO;YACrB,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,2CAA2C;YAC5D,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,oDAAoD,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACzC,MAAM,UAAU,CACd,IAAI,CAAC,MAAM,KAAK,OAAO;YACrB,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,yBAAyB;YAC1C,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,kCAAkC,CACtD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAChD,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,4CAA4C,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO;QAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO;YACvB,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC;YACzC,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC;QAC1D,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,OAAO,GAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC5E,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1D,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB,EAAE,KAAc;IAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,wCAAwC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAoB,EACpB,QAAgF;IAEhF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAY;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,UAAU,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,IAA6B,EAAE,KAAa;IAC7D,OAAO,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC;AACnG,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"} \ No newline at end of file +{"version":3,"file":"playlist-templates.js","sourceRoot":"","sources":["../src/playlist-templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAkB,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAC3C,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;AACzC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC;AACrC,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAe,CAAC;AACjD,qFAAqF;AACrF,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,IAAI,EAAE,WAAoB,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;AACzF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AACrD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW;IACX,YAAY;IACZ,aAAa;IACb,UAAU;IACV,YAAY;CACJ,CAAC;AACX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,WAAW;IACX,WAAW;IACX,YAAY;IACZ,SAAS;IACT,SAAS;IACT,UAAU;CACF,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,IAAI,EAAE,UAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAoB1E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,IAAI;IACJ,UAAU;IACV,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,KAAK,GAAG,mBAAmB,CAAC;AAoDlC,MAAM,GAAG,GAAc;IACrB,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7C,KAAK,EAAE,eAAe;CACvB,CAAC;AAEF,MAAM,IAAI,GAAmB;IAC3B,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,EAAE,GAAG,gBAAgB,EAAE;IAC7B,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,4EAA4E;AAC5E,8EAA8E;AAC9E,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAY,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACpG,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAY,EAAE,CAAC;AAChF,MAAM,WAAW,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,EAAE,GAAY,EAAE,CAAC;AACnF,MAAM,GAAG,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC5F,MAAM,IAAI,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,GAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAE/F,SAAS,IAAI,CACX,EAAU,EACV,QAAiB,EACjB,IAAU,EACV,IAOC;IAED,OAAO;QACL,EAAE;QACF,IAAI,EAAE,MAAM;QACZ,QAAQ;QACR,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM;QAC3B,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,KAAK;QAC5C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CACd,EAAU,EACV,QAAiB,EACjB,IAAU,EACV,cAAmC,OAAO;IAE1C,OAAO;QACL,EAAE;QACF,IAAI,EAAE,SAAS;QACf,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,CAAC;KACT,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAAoC,EAAE,QAAe,MAAM;IAC5E,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC5B,OAAO;QACL,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/E,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC;QACjF,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;QAC5E,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAoB,EAAE,GAAU,EAAE,GAAU,EAAE,QAAiB;IAC/E,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAChC,MAAM,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IACjC,OAAO;QACL,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YAC5D,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YACtE,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAgB,EAAE,CAAS,EAAE,QAAiB;IACjE,OAAO;QACL,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;YACjE,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,aAAa;SACrB,CAAC;QACF,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;YAClE,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,GAAG;YAChB,KAAK,EAAE,SAAS;SACjB,CAAC;KACH,CAAC;AACJ,CAAC;AAED,SAAS,OAAO;IACd,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACtC,IAAI,CAAC,IAAI,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;QAC7F,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,GAAG;KACjB,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAEvF,MAAM,CAAC,MAAM,eAAe,GAAgC;IAC1D;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;QAC5B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAChE,GAAG,WAAW;gBACd,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,QAAQ;gBACxB,KAAK,EAAE,aAAa;aACrB,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBACpE,GAAG,GAAG;gBACN,KAAK,EAAE,QAAQ;aAChB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACtG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAC9F,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YAClG,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;QACzC,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACnG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACzG,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjG,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACvE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACrE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;YACjF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACrC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACnE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,GAAG,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YACnC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACrE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC1B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE;YACL,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAChE,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,GAAG;gBAChB,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,QAAQ;aACzB,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBACjE,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,GAAG;gBAChB,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,SAAS;aACjB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;QAC3B,KAAK,EAAE,IAAI;QACX,KAAK,EAAE;YACL,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBACnE,GAAG,QAAQ;gBACX,KAAK,EAAE,QAAQ;aAChB,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;gBAChE,GAAG,GAAG;gBACN,KAAK,EAAE,QAAQ;aAChB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,aAAa,CAAC,GAAG,CAAC;YAClB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7E,GAAG,OAAO,EAAE;YACZ,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACvE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,aAAa,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7E,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;YAC1B,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC3B,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC3B,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;YAC3B,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,aAAa,CAAC,IAAI,CAAC;YACnB,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7E,GAAG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC;YAC3B,GAAG,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;YAC7B,GAAG,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC;YAC9B,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YACrE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;gBACnE,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,EAAE;gBACf,WAAW,EAAE,GAAG;aACjB,CAAC;YACF,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE;YACL,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACnE,IAAI;SACL;QACD,MAAM,EAAE,CAAC,GAAG,CAAC;KACd;CACF,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAoC3F,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,OAAO,EAAE;YACP,eAAe,EAAE,kCAAkC;YACnD,cAAc,EAAE,wCAAwC;YACxD,eAAe,EAAE,CAAC,GAAG,eAAe,CAAC;SACtC;QACD,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,mBAAmB;YAC3B,YAAY,EAAE,kBAAkB;YAChC,UAAU,EAAE,gBAAgB;SAC7B;QACD,UAAU,EAAE,EAAE,GAAG,wBAAwB,EAAE;QAC3C,gBAAgB,EAAE,CAAC,GAAG,yBAAyB,CAAC;QAChD,iBAAiB,EAAE,iCAAiC;QACpD,WAAW,EAAE,CAAC,GAAG,kBAAkB,CAAC;QACpC,OAAO,EAAE,EAAE,GAAG,qBAAqB,EAAE;QACrC,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC5C,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK;YACpH,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACvD,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB;QAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAwB;IAC5D,MAAM,KAAK,GAAG;QACZ,sGAAsG;QACtG,oBAAoB,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACjE,YAAY,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE;QAC7C,8BAA8B,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,mEAAmE;KAC3J,CAAC;IACF,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAyB;IAClD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACnE,OAAO,GAAG,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,UAAU,CACd,GAAG,KAAK,sJAAsJ,EAC9J;QACE,OAAO,EAAE,kCAAkC;QAC3C,MAAM,EAAE,2EAA2E;KACpF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAa,EAAE,KAAa;IACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACvD,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,KAAK,MAAM,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC;QACrC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAE,eAAqC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/F,MAAM,UAAU,CACd,GAAG,KAAK,eAAe,cAAc,uBAAuB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,oCAAoC,EACzH;gBACE,OAAO,EAAE,kCAAkC;gBAC3C,MAAM,EAAE,2EAA2E;aACpF,CACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC1G,MAAM,UAAU,CAAC,GAAG,KAAK,eAAe,cAAc,KAAK,QAAQ,8CAA8C,CAAC,CAAC;YACrH,CAAC;YACD,KAAK,MAAM,OAAO,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC;gBAC5E,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;oBACzB,MAAM,UAAU,CAAC,GAAG,KAAK,eAAe,cAAc,2CAA2C,OAAO,GAAG,CAAC,CAAC;gBAC/G,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YACnC,MAAM,UAAU,CAAC,GAAG,KAAK,eAAe,cAAc,KAAK,QAAQ,4BAA4B,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAgB;IAClD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa,EAAE,KAAK,GAAG,CAAC;IACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QAC/C,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC;QAC1B,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA6B,EAAE,KAAa;IACvE,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,KAAK,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,UAAU,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9G,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,UAAU,CAAC,gBAAgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;QAC/F,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,UAAU,CAAC,yBAAyB,IAAI,CAAC,EAAE,gBAAgB,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAc,EAAE,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAA4B;QACxC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,MAAM,EAAE;YACN,KAAK,EAAE,kBAAkB;YACzB,MAAM,EAAE,mBAAmB;YAC3B,YAAY,EAAE,kBAAkB;YAChC,UAAU;SACX;QACD,UAAU,EAAE,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,wBAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU;QAC7F,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO;QACjF,UAAU;KACX,CAAC;IACF,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;QACzB,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACxC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,UAAU,CAAC,mBAAmB,KAAK,kDAAkD,EAAE;YAC3F,OAAO,EAAE,qCAAqC;YAC9C,MAAM,EAAE,kDAAkD;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC,GAAG,CAAC,KAAK,CAAqB,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,KAAc,EAAE,KAAa;IAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,KAAK,4CAA4C,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,MAAe,EAAE,KAAa;IACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,UAAU,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,KAAK,mCAAmC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,KAAK,oBAAoB,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc,EAAE,IAAY;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,IAAI,2DAA2D,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,GAAG,IAAI,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,UAAU,CAAC,GAAG,IAAI,uBAAuB,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpF,MAAM,UAAU,CAAC,GAAG,IAAI,wCAAwC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,IAAI,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,QAAQ,GAAG,GAAG,IAAI,UAAU,KAAK,GAAG,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,UAAU,CAAC,GAAG,QAAQ,qBAAqB,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5F,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,UAAU,CAAC,GAAG,QAAQ,4BAA4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3F,MAAM,UAAU,CAAC,GAAG,QAAQ,+CAA+C,CAAC,CAAC;QAC/E,CAAC;QACD,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,UAAU,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,UAAU,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,UAAU,CAAC,GAAG,QAAQ,sDAAsD,CAAC,CAAC;QACtF,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,QAAQ,QAAQ,CAAC;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CACtB,IAAoB,EACpB,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,qBAAqB,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,IAAI,KAAK,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,CAAC;QAC/C,MAAM,UAAU,CACd,IAAI,CAAC,MAAM,KAAK,OAAO;YACrB,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,2CAA2C;YAC5D,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,oDAAoD,CACxE,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACnD,MAAM,UAAU,CACd,IAAI,CAAC,MAAM,KAAK,OAAO;YACrB,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,8BAA8B;YAC/C,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,uCAAuC,CAC3D,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QACrD,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,4CAA4C,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,KAAK,OAAO;QACnC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,OAAO;YACvB,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC;YAC9C,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,CAAC;QAC/D,CAAC,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAChF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,4BAA4B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,eAAe,GAA4B,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzF,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;YAAE,eAAe,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QAC7D,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,eAAe,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC9E,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACnE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,eAAe,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAClE,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB,EAAE,KAAc;IAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7C,MAAM,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,wCAAwC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAoB,EACpB,QAAkF;IAElF,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,GAAG,QAAQ,CAAC,SAAS;QACrB,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAY;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,UAAU,CAAC,GAAG,IAAI,sCAAsC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,SAAS,CAAC,IAA6B,EAAE,KAAa;IAC7D,OAAO,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC;AACnG,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/playlist-write-validation.d.ts b/plugins/screenrig/cli/dist/playlist-write-validation.d.ts index db4131e6..b32d8654 100644 --- a/plugins/screenrig/cli/dist/playlist-write-validation.d.ts +++ b/plugins/screenrig/cli/dist/playlist-write-validation.d.ts @@ -1,2 +1,2 @@ -export declare function validatePlaylistWrite(value: unknown, mediaKinds: ReadonlyMap<string, "image" | "video">): Set<string>; +export declare function validatePlaylistWrite(value: unknown, mediaPrimitives: ReadonlyMap<string, "image" | "video">): Set<string>; //# sourceMappingURL=playlist-write-validation.d.ts.map \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/playlist-write-validation.d.ts.map b/plugins/screenrig/cli/dist/playlist-write-validation.d.ts.map index d07d9c83..a30331a1 100644 --- a/plugins/screenrig/cli/dist/playlist-write-validation.d.ts.map +++ b/plugins/screenrig/cli/dist/playlist-write-validation.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"playlist-write-validation.d.ts","sourceRoot":"","sources":["../src/playlist-write-validation.ts"],"names":[],"mappings":"AA0OA,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GACjD,GAAG,CAAC,MAAM,CAAC,CA4Eb"} \ No newline at end of file +{"version":3,"file":"playlist-write-validation.d.ts","sourceRoot":"","sources":["../src/playlist-write-validation.ts"],"names":[],"mappings":"AA0OA,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GACtD,GAAG,CAAC,MAAM,CAAC,CAqFb"} \ No newline at end of file diff --git a/plugins/screenrig/cli/dist/playlist-write-validation.js b/plugins/screenrig/cli/dist/playlist-write-validation.js index 826ec275..5713e79b 100644 --- a/plugins/screenrig/cli/dist/playlist-write-validation.js +++ b/plugins/screenrig/cli/dist/playlist-write-validation.js @@ -167,7 +167,7 @@ function validateIframe(value, name) { throw usageError(`${name}.src must be a public HTTPS URL without credentials.`); } } -function validateSelector(value, name, kind, mediaKinds, referenced) { +function validateSelector(value, name, primitive, mediaPrimitives, referenced) { const selector = record(value, name); let ids; if (selector.by === "id") { @@ -190,11 +190,11 @@ function validateSelector(value, name, kind, mediaKinds, referenced) { throw usageError(`${name} must be snapshotted to by:id or by:ids.`); } for (const id of ids) { - const actual = mediaKinds.get(id); + const actual = mediaPrimitives.get(id); if (!actual) throw usageError(`${name} references media missing from the bundle: ${id}.`); - if (actual !== kind) - throw usageError(`${name} references ${actual} media from an ${kind} placement: ${id}.`); + if (actual !== primitive) + throw usageError(`${name} references ${actual} media from an ${primitive} primitive: ${id}.`); referenced.add(id); } return { count: ids.length, oneAtATime: selector.one_at_a_time === true }; @@ -219,7 +219,7 @@ function validateAdvance(value, name) { } throw usageError(`${name}.mode is invalid.`); } -export function validatePlaylistWrite(value, mediaKinds) { +export function validatePlaylistWrite(value, mediaPrimitives) { const playlist = record(value, "playlist.json"); exact(playlist, ["name", "pages"], "playlist.json"); string(playlist, "name", "playlist.json", 120); @@ -232,7 +232,7 @@ export function validatePlaylistWrite(value, mediaKinds) { for (const [pageIndex, pageValue] of playlist.pages.entries()) { const pageName = `playlist.pages[${pageIndex}]`; const page = record(pageValue, pageName); - exact(page, ["id", "canvas", "transition", "advance", "visibility", "placements"], pageName); + exact(page, ["id", "canvas", "transition", "advance", "visibility", "primitives"], pageName); const pageId = string(page, "id", pageName, 64, ID_PATTERN); if (pageIds.has(pageId)) throw usageError(`Playlist page id is duplicated: ${pageId}.`); @@ -244,70 +244,71 @@ export function validatePlaylistWrite(value, mediaKinds) { unscheduled += 1; else validateVisibility(page.visibility, `${pageName}.visibility`); - if (!Array.isArray(page.placements) || page.placements.length < 1 || page.placements.length > 24) { - throw usageError(`${pageName}.placements must contain 1 to 24 placements.`); + if (!Array.isArray(page.primitives) || page.primitives.length < 1 || page.primitives.length > 24) { + throw usageError(`${pageName}.primitives must contain 1 to 24 primitives.`); } - const placementIds = new Set(); - const mediaPlacements = []; + const primitiveIds = new Set(); + const mediaPrimitivesOnPage = []; let iframeCount = 0; - for (const [placementIndex, placementValue] of page.placements.entries()) { - const placementName = `${pageName}.placements[${placementIndex}]`; - const placement = record(placementValue, placementName); - exact(placement, ["id", "content", "rect", "layer", "content_fit", "enter"], placementName); - const placementId = string(placement, "id", placementName, 64, ID_PATTERN); - if (placementIds.has(placementId)) - throw usageError(`${pageName} placement id is duplicated: ${placementId}.`); - placementIds.add(placementId); - validateRect(placement.rect, `${placementName}.rect`); - number(placement, "layer", placementName, { integer: true, min: 0, max: 1024 }); - if (placement.enter !== undefined) - validateEnter(placement.enter, `${placementName}.enter`); - const content = record(placement.content, `${placementName}.content`); - if (content.type === "application") - throw usageError("Playlist bundles do not support application placements."); - if (content.type === "iframe") { - validateIframe(content, `${placementName}.content`); - if (placement.content_fit !== "fill") - throw usageError(`${placementName}.content_fit must be fill for an iframe.`); + for (const [primitiveIndex, primitiveValue] of page.primitives.entries()) { + const primitiveName = `${pageName}.primitives[${primitiveIndex}]`; + const primitive = record(primitiveValue, primitiveName); + const primitiveId = string(primitive, "id", primitiveName, 64, ID_PATTERN); + if (primitiveIds.has(primitiveId)) + throw usageError(`${pageName} primitive id is duplicated: ${primitiveId}.`); + primitiveIds.add(primitiveId); + validateRect(primitive.rect, `${primitiveName}.rect`); + number(primitive, "layer", primitiveName, { integer: true, min: 0, max: 1024 }); + if (primitive.enter !== undefined) + validateEnter(primitive.enter, `${primitiveName}.enter`); + if (primitive.primitive === "application") + throw usageError("Playlist bundles do not support application primitives."); + if (primitive.primitive === "iframe") { + exact(primitive, ["id", "primitive", "src", "title", "rect", "layer", "content_fit", "enter"], primitiveName); + validateIframe({ type: "iframe", src: primitive.src, title: primitive.title }, primitiveName); + if (primitive.content_fit !== "fill") + throw usageError(`${primitiveName}.content_fit must be fill for an iframe.`); iframeCount += 1; continue; } - if (content.type !== "image" && content.type !== "video") - throw usageError(`${placementName}.content.type is unsupported.`); - if (!["contain", "cover", "fill"].includes(String(placement.content_fit))) - throw usageError(`${placementName}.content_fit is invalid.`); - const kind = content.type; - exact(content, kind === "image" ? ["type", "selector", "alt", "dwell_ms"] : ["type", "selector", "muted", "loop"], `${placementName}.content`); - const selector = validateSelector(content.selector, `${placementName}.content.selector`, kind, mediaKinds, referenced); - if (kind === "image") { - if (content.alt !== undefined && (typeof content.alt !== "string" || content.alt.length > 300)) - throw usageError(`${placementName}.content.alt is invalid.`); - if (content.dwell_ms !== undefined) - number(content, "dwell_ms", `${placementName}.content`, { integer: true, min: 1000, max: 86_400_000 }); + if (primitive.primitive !== "image" && primitive.primitive !== "video") + throw usageError(`${primitiveName}.primitive is unsupported.`); + if (!["contain", "cover", "fill"].includes(String(primitive.content_fit))) + throw usageError(`${primitiveName}.content_fit is invalid.`); + const category = primitive.primitive; + exact(primitive, category === "image" + ? ["id", "primitive", "selector", "alt", "dwell_ms", "rect", "layer", "content_fit", "enter"] + : ["id", "primitive", "selector", "muted", "loop", "rect", "layer", "content_fit", "enter"], primitiveName); + const selector = validateSelector(primitive.selector, `${primitiveName}.selector`, category, mediaPrimitives, referenced); + if (category === "image") { + if (primitive.alt !== undefined && (typeof primitive.alt !== "string" || primitive.alt.length > 300)) + throw usageError(`${primitiveName}.alt is invalid.`); + if (primitive.dwell_ms !== undefined) + number(primitive, "dwell_ms", primitiveName, { integer: true, min: 1000, max: 86_400_000 }); } else { - if (content.muted !== undefined && content.muted !== true) - throw usageError(`${placementName}.content.muted must be true.`); - optionalBoolean(content, "loop", `${placementName}.content`); + if (primitive.muted !== undefined && primitive.muted !== true) + throw usageError(`${primitiveName}.muted must be true.`); + optionalBoolean(primitive, "loop", primitiveName); } - mediaPlacements.push({ type: kind, content, selector }); + mediaPrimitivesOnPage.push({ primitive: category, value: primitive, selector }); } if (iframeCount > 2) - throw usageError(`${pageName}.placements must contain at most 2 iframe placements.`); + throw usageError(`${pageName}.primitives must contain at most 2 iframe primitives.`); if (advance === "application") throw usageError(`${pageName} application advance is unsupported because bundles exclude applications.`); if (advance === "media_end") { - if (page.placements.length !== 1 || mediaPlacements.length !== 1 || iframeCount > 0) - throw usageError(`${pageName} media_end requires exactly one image or video placement.`); - const only = mediaPlacements[0]; - if (only.type === "image" && only.content.dwell_ms === undefined) + if (page.primitives.length !== 1 || mediaPrimitivesOnPage.length !== 1 || iframeCount > 0) + throw usageError(`${pageName} media_end requires exactly one image or video primitive.`); + const only = mediaPrimitivesOnPage[0]; + if (only.primitive === "image" && only.value.dwell_ms === undefined) throw usageError(`${pageName} media_end image requires dwell_ms.`); - if (only.type === "video" && only.content.loop === true) + if (only.primitive === "video" && only.value.loop === true) throw usageError(`${pageName} media_end video must not loop.`); } else { - for (const media of mediaPlacements) { - if (media.type === "image" && media.content.dwell_ms !== undefined) + for (const media of mediaPrimitivesOnPage) { + if (media.primitive === "image" && media.value.dwell_ms !== undefined) throw usageError(`${pageName} duration pages forbid image dwell_ms.`); if (media.selector.count > 1 && !media.selector.oneAtATime) throw usageError(`${pageName} multi-item selectors require one_at_a_time true.`); diff --git a/plugins/screenrig/cli/dist/playlist-write-validation.js.map b/plugins/screenrig/cli/dist/playlist-write-validation.js.map index 2750e7b9..87ec9c7c 100644 --- a/plugins/screenrig/cli/dist/playlist-write-validation.js.map +++ b/plugins/screenrig/cli/dist/playlist-write-validation.js.map @@ -1 +1 @@ -{"version":3,"file":"playlist-write-validation.js","sourceRoot":"","sources":["../src/playlist-write-validation.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"playlist-write-validation.js","sourceRoot":"","sources":["../src/playlist-write-validation.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/plugins/screenrig/skills/screenrig/SKILL.md b/plugins/screenrig/skills/screenrig/SKILL.md index d0b2ce51..9be99110 100644 --- a/plugins/screenrig/skills/screenrig/SKILL.md +++ b/plugins/screenrig/skills/screenrig/SKILL.md @@ -184,7 +184,7 @@ On a build that converts: edge to 3840 px, never upscale, and never write lossless VP8L. - Optional `--tag TAG` stores a 1 to 32 letter-or-digit tag on the ready object. Hyphens are rejected; `ExecIntro2026` is valid and `exec-intro` - is not. `media list --tag TAG [--kind image|video]` filters by that tag + is not. `media list --tag TAG [--primitive image|video]` filters by that tag and is the reliable filename → id map after upload. `media update <id> (--tag TAG | --clear-tag) --if-match REVISION` changes or clears it. Untagged objects are omitted when `--tag` is present on @@ -258,8 +258,8 @@ screenrig --json compose render ./exec-intro-overlay-native-video.json \ # agent reads the PNG with vision; do not cat pixels into chat # iterate the JSON and re-render screenrig --json media upload ./exec-intro-overlay-native-video.png --tag TAG -screenrig --json media list --tag TAG --kind image -# playlist page: one image placement, rect = canvas, content_fit fill +screenrig --json media list --tag TAG --primitive image +# playlist page: one image primitive, rect = canvas, content_fit fill ``` `compose catalog` prints the fail-closed node catalog: types @@ -294,7 +294,7 @@ dump for `truncated`, fitted `fontSize`, and `box` before you upload. Never print PNG bytes, pixels, or image data. `--open` opens the local PNG path on this computer only when the user asked to view the still here. Agent vision uses the file path, not `--open`. Raster a diagram to PNG or WebP at canvas -size, upload it, and place it as `image`. HTML is not a placement. +size, upload it, and place it as `image`. HTML is not a primitive. ### Slide, overlay, and wordmark @@ -367,8 +367,8 @@ Playlist: photo `layer` 0 + overlay `layer` 1, both `content_fit: "fill"` on a 1920×1080 canvas. Eight-digit hex is how the Frame stays transparent and the plate keeps alpha. -Wordmark: playlist `image` placement with a `rect`. Soft-open: omit that -placement until a named page. Do not pin a logo in compose; `pin` stretches +Wordmark: playlist `image` primitive with a `rect`. Soft-open: omit that +primitive until a named page. Do not pin a logo in compose; `pin` stretches the cross axis. Bottom-right on 1920×1080 with a 5% safe area is `{ "x": 1424, "y": 946, "width": 400, "height": 80 }` for a 400×80 contain box. That rect is one worked example, not the only size. If you raster the @@ -377,15 +377,20 @@ sized parent) so it is not 0×0. ## Playlist writes -Wire placement families are three: static (`image`), motion (`video`), and -web (`iframe`, `application`). Do not author native `text`, `box`, or `line` -on the wire. Compose copy and chrome locally, upload the still as `image`, -and place that image. +Four wire primitives exist: `image`, `video`, `iframe`, and `application`. +Static is `image`, motion is `video`, and web is `iframe` or `application`. +Do not author native `text`, `box`, or `line` on the wire. Compose copy and +chrome locally, upload the still as `image`, and use that image primitive. A full page is `id`, `canvas`, `transition`, `advance`, optional `visibility`, -and `placements`. Image and video placements write a `selector`. Do not put -`media_id` on the content object. Do not send server-resolved `items`. Advance -with `media_end`, never `video_end`. +and `primitives`. A primitive is flat: `id`, a `primitive` field naming one of +the four, that primitive's own fields, then `rect`, `layer`, `content_fit`, +and optional `enter`. There is no nested content object. + +Image and video primitives require a `selector`. `iframe` and `application` +do not take one. Do not put `media_id` on the primitive itself; it belongs +inside the selector. Do not send server-resolved `items`. Advance with +`media_end`, never `video_end`. `canvas.background` is a solid uppercase `#RRGGBBAA` or a top-to-bottom linear gradient. The gradient is `{ "type": "linear", "stops": [...] }` with @@ -396,19 +401,20 @@ Selector `by` values: - `id`: one ready `media_id`. `one_at_a_time` must be false. - `ids`: 1–32 unique ready IDs. -- `all`: every ready object of that placement kind. -- `tag`: ready objects of that kind whose tag matches `^[A-Za-z0-9]{1,32}$`. +- `all`: every ready object of that primitive, image or video. +- `tag`: ready objects of that primitive whose tag matches + `^[A-Za-z0-9]{1,32}$`. -`media_end` is valid only on a page with exactly one image or video placement. +`media_end` is valid only on a page with exactly one image or video primitive. Video `loop` must be false. An image on `media_end` requires `dwell_ms`. `dwell_ms` is rejected on duration and application pages. A video plus a -lower-third image is two placements: that page must use `advance.mode` +lower-third image is two primitives: that page must use `advance.mode` `duration`, not `media_end`. Set `after_ms` longer than the clip, or set `loop: true`. If `after_ms` equals the clip length, the page cuts when the film ends. Default `transition` is `{ "type": "crossfade", "duration_ms": 200 }`. Use -swipe types and placement `enter` sparingly. +swipe types and object `enter` sparingly. ```json { @@ -419,14 +425,12 @@ swipe types and placement `enter` sparingly. "canvas": { "width": 1920, "height": 1080, "viewport_fit": "contain", "background": "#000000FF" }, "transition": { "type": "crossfade", "duration_ms": 200 }, "advance": { "mode": "duration", "after_ms": 8000 }, - "placements": [ + "primitives": [ { "id": "hero", - "content": { - "type": "image", - "selector": { "by": "id", "media_id": "med_01EXAMPLEIMAGE0000000000" }, - "alt": "Lobby poster" - }, + "primitive": "image", + "selector": { "by": "id", "media_id": "med_01EXAMPLEIMAGE0000000000" }, + "alt": "Lobby poster", "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 0, "content_fit": "contain" @@ -438,15 +442,13 @@ swipe types and placement `enter` sparingly. "canvas": { "width": 1920, "height": 1080, "viewport_fit": "contain", "background": "#000000FF" }, "transition": { "type": "crossfade", "duration_ms": 200 }, "advance": { "mode": "media_end" }, - "placements": [ + "primitives": [ { "id": "feature", - "content": { - "type": "video", - "selector": { "by": "id", "media_id": "med_01EXAMPLEVIDEO0000000000" }, - "muted": true, - "loop": false - }, + "primitive": "video", + "selector": { "by": "id", "media_id": "med_01EXAMPLEVIDEO0000000000" }, + "muted": true, + "loop": false, "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 0, "content_fit": "contain" @@ -469,25 +471,21 @@ Photo plus overlay still: "canvas": { "width": 1920, "height": 1080, "viewport_fit": "contain", "background": "#000000FF" }, "transition": { "type": "crossfade", "duration_ms": 200 }, "advance": { "mode": "duration", "after_ms": 8000 }, - "placements": [ + "primitives": [ { "id": "photo", - "content": { - "type": "image", - "selector": { "by": "id", "media_id": "med_01EXAMPLEPHOTO0000000000" }, - "alt": "Hero photo" - }, + "primitive": "image", + "selector": { "by": "id", "media_id": "med_01EXAMPLEPHOTO0000000000" }, + "alt": "Hero photo", "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 0, "content_fit": "fill" }, { "id": "overlay", - "content": { - "type": "image", - "selector": { "by": "id", "media_id": "med_01EXAMPLEOVERLAY000000000" }, - "alt": "Lower third" - }, + "primitive": "image", + "selector": { "by": "id", "media_id": "med_01EXAMPLEOVERLAY000000000" }, + "alt": "Lower third", "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 1, "content_fit": "fill" @@ -502,11 +500,11 @@ Video plus a lower-third image uses the same two-layer shape with ### Page motion These are playlist document fields the CLI sends. The control plane accepts -swipe types and placement `enter`. +swipe types and object `enter`. Default pages: `transition` is `{ "type": "crossfade", "duration_ms": 200 }`. Author crossfade unless swipe or `enter` is the intended emphasis. One overlay -`enter` is enough; do not put `enter` on every placement, including the +`enter` is enough; do not put `enter` on every primitive, including the wordmark. `transition.type` is `crossfade`, `swipe-left`, `swipe-right`, `swipe-up`, or @@ -517,7 +515,7 @@ Swipe is the incoming page's type. The outgoing page follows so the edges stay touching. The name is motion direction: `swipe-left` moves content left. -Optional placement `enter` is `{ "type": "..." }` with that same object name +Optional object `enter` is `{ "type": "..." }` with that same object name on playlist JSON. Types: `fade-up`, `fade-down`, `fade-left`, `fade-right`, `fade-in`, `zoom-in`, `zoom-out`. Absent means no object animation. @@ -550,7 +548,7 @@ plays. It is a sibling of `advance`. { "days": ["sun"] } ] }, - "placements": [] + "primitives": [] } ``` @@ -593,7 +591,7 @@ screenrig --json playlist import ./lobby-bundle --update pl_TARGET --if-match RE The export destination must not exist. The bundle contains `screenrig-bundle.json`, `playlist.json`, and content-addressed `media/<sha256>.<canonical-ext>` files. Export snapshots dynamic `all` and `tag` -selectors to exact `id` or `ids` selectors. Application placements stop export +selectors to exact `id` or `ids` selectors. Application primitives stop export before any media download. Import creates a new playlist by default. Updating requires both `--update` and the current `--if-match` revision. @@ -617,20 +615,21 @@ from the envelope: - `data.operation.state` is `succeeded`. - `data.application.release_id` is the `rel_...` release id. This is the only - value a playlist placement needs. + value an application primitive needs. - `data.application.id` is the `app_...` application id. `kv` commands take this - one; a playlist placement never does. + one; a playlist primitive never does. With `--no-wait` run `operations wait <operation_id>` before pinning the release into a playlist. Every `app upload` creates a new application and a new release. -### 2. Write the application placement +### 2. Write the application primitive ```json { "id": "board", - "content": { "type": "application", "release_id": "rel_01EXAMPLERELEASE00000000" }, + "primitive": "application", + "release_id": "rel_01EXAMPLERELEASE00000000", "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "layer": 0, "content_fit": "fill", @@ -638,12 +637,13 @@ new release. } ``` -- `content.release_id` is required. `content.application_id` is an optional - ownership assertion; omit it. +- `release_id` is required on an `application` primitive. `application_id` is + an optional ownership assertion; omit it. +- An `application` primitive takes no `selector`. - `content_fit` must be `fill` for `application` and `iframe`. -- `iframe` is `{ "type": "iframe", "src": "https://...", "title": "..." }`. - `src` must be a public `https://` URL without credentials. An `iframe` can - never be a controller. +- `iframe` is `{ "primitive": "iframe", "src": "https://...", "title": "..." }` + and takes no `selector`. `src` must be a public `https://` URL without + credentials. An `iframe` can never be a controller. ### 3. Choose how the page advances @@ -659,9 +659,9 @@ Use `application` when the app calls `window.screenrig.nextPage()`: { "mode": "application", "max_ms": 60000 } ``` -On an `application` page exactly one placement must carry `controller: true`, -and it must be an `application` placement. `media_end` forbids `application` -and `iframe` placements on that page. +On an `application` page exactly one primitive must carry `controller: true`, +and it must be an `application` primitive. `media_end` forbids `application` +and `iframe` primitives on that page. ### 4. Create the playlist and assign it to a screen @@ -753,6 +753,9 @@ Human `events list` and `events follow` print one logfmt line per event. `--json events list` is one JSON page envelope. `--json events follow` is a JSON stream of envelopes. +An `application.event` line leads its details with `code` and `primitive_id`, +the id of the primitive that emitted it. + `events follow` reconnects on disconnect or a transient failure, with backoff, and resumes from the last SSE id via `--after`. `--timeout` ends the whole follow, including backoff; 401, 403, 404, and other non-transient 4xx @@ -793,7 +796,7 @@ media upload <file> [--content-type TYPE] [--tag TAG] [--no-wait] [--poll-ms MS] [--no-transcode] [--codec h264|hevc] [--max-fps N] [--max-edge PIXELS] [--webp-quality 1-100] [--no-progress] media show <id> -media list [--tag TAG] [--kind image|video] +media list [--tag TAG] [--primitive image|video] media update <id> (--tag TAG | --clear-tag) --if-match REVISION media delete <id> --if-match REVISION compose catalog