homebridge-plugin-utils 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/tsconfig.json +15 -0
- package/dist/cli/index.d.ts +20 -3
- package/dist/cli/index.js +77 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/docChrome.d.ts +4 -1
- package/dist/docChrome.js +3 -0
- package/dist/docChrome.js.map +1 -1
- package/dist/ffmpeg/fmp4-builders.d.ts +77 -0
- package/dist/ffmpeg/fmp4-builders.js +163 -0
- package/dist/ffmpeg/fmp4-builders.js.map +1 -0
- package/dist/ffmpeg/index.d.ts +1 -0
- package/dist/ffmpeg/index.js +1 -0
- package/dist/ffmpeg/index.js.map +1 -1
- package/dist/ffmpeg/options.d.ts +17 -0
- package/dist/ffmpeg/options.js +47 -22
- package/dist/ffmpeg/options.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/timer-registry.d.ts +100 -0
- package/dist/timer-registry.js +184 -0
- package/dist/timer-registry.js.map +1 -0
- package/dist/ui/webUi-featureOptions/state.mjs +68 -11
- package/dist/ui/webUi-featureOptions/utils.mjs +16 -5
- package/dist/ui/webUi-featureOptions/views/connectionError.mjs +27 -10
- package/dist/ui/webUi-featureOptions/views/deviceInfo.mjs +7 -0
- package/dist/ui/webUi-featureOptions/views/header.mjs +22 -5
- package/dist/ui/webUi-featureOptions/views/nav.mjs +31 -38
- package/dist/ui/webUi-featureOptions/views/options.mjs +11 -5
- package/dist/ui/webUi-featureOptions.mjs +66 -43
- package/dist/ui/webUi.mjs +5 -0
- package/dist/util.d.ts +29 -4
- package/dist/util.js +34 -0
- package/dist/util.js.map +1 -1
- package/dist/webui-loader.d.ts +80 -0
- package/dist/webui-loader.js +373 -0
- package/dist/webui-loader.js.map +1 -0
- package/package.json +4 -4
package/build/tsconfig.json
CHANGED
|
@@ -31,6 +31,21 @@
|
|
|
31
31
|
"noPropertyAccessFromIndexSignature": true,
|
|
32
32
|
"noUncheckedIndexedAccess": true,
|
|
33
33
|
"noUncheckedSideEffectImports": true,
|
|
34
|
+
|
|
35
|
+
/* Host-package type identity for composed development rigs. TypeScript unifies two physical copies of a package into one type identity only when their
|
|
36
|
+
* package name and version match exactly, so a plugin tree and a symlinked library tree holding different homebridge or hap-nodejs versions split every HAP
|
|
37
|
+
* type into two incompatible identities. Mapping the host packages to the extending project's own node_modules makes the consumer's copy the single source of
|
|
38
|
+
* type truth for the whole compilation - the same composition npm produces in a published install - so version skew surfaces only as genuine API
|
|
39
|
+
* incompatibilities. ${configDir} resolves to the directory of the final extending tsconfig, so every consumer resolves its own tree rather than this base
|
|
40
|
+
* file's. The mappings name each package's declaration entry file rather than its package directory: a paths substitution is a bare file lookup that never
|
|
41
|
+
* consults the target's package.json, so a directory target fails silently and resolution falls back to the importing file's own tree.
|
|
42
|
+
*/
|
|
43
|
+
"paths": {
|
|
44
|
+
|
|
45
|
+
"@homebridge/hap-nodejs": ["${configDir}/node_modules/@homebridge/hap-nodejs/dist/index.d.ts"],
|
|
46
|
+
"homebridge": ["${configDir}/node_modules/homebridge/dist/index.d.ts"]
|
|
47
|
+
},
|
|
48
|
+
|
|
34
49
|
"resolveJsonModule": true,
|
|
35
50
|
"rewriteRelativeImportExtensions": true,
|
|
36
51
|
"skipLibCheck": true,
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* @module
|
|
18
18
|
*/
|
|
19
19
|
import type { parseDocChromeManifest, parseProjectEntries, renderDevBadges, renderDocIndex, renderMasthead, renderProjects } from "../docChrome.ts";
|
|
20
|
+
import type { parseWebUiLoaderConfig, renderWebUiBootRegion } from "../webui-loader.ts";
|
|
20
21
|
import type { renderFeatureOptionsReference, spliceMarkedRegion } from "../featureOptions-docs.ts";
|
|
21
22
|
/**
|
|
22
23
|
* Usage banner shown on no command or an unknown command. Kept as an exported constant so tests assert against its text without
|
|
@@ -39,18 +40,34 @@ export declare const USAGE: string;
|
|
|
39
40
|
* removed in the same pass; non-version-shaped entries in the destination are left untouched so a plugin's own files (assets, sibling tooling, README copies)
|
|
40
41
|
* survive across runs.
|
|
41
42
|
*
|
|
43
|
+
* When the `loader` and `splice` namespaces are injected, a final step stamps the plugin's webUI script loader: the `index.html` beside the destination is read, its
|
|
44
|
+
* `WEBUI LOADER CONFIG` comment parsed, the loader block rendered from that config plus this run's `libPath` and package name, and spliced into its marked region with
|
|
45
|
+
* an atomic `.tmp` + rename. The step is marker-gated - no `index.html`, or no BEGIN marker, is a silent no-op - so a plugin that has not opted in, and every
|
|
46
|
+
* no-injection caller, mirror exactly as before. The stamp derives from the same package name and destination the mirror used, so the two never drift.
|
|
47
|
+
*
|
|
42
48
|
* @param args
|
|
43
49
|
* @param args.dest - The plugin's destination directory (typically `homebridge-ui/public/lib`). Created if missing.
|
|
50
|
+
* @param args.loader - The injected webUI-loader namespace (marker constants, `parseWebUiLoaderConfig`, `renderWebUiBootRegion`). Absent = no stamp step, so the
|
|
51
|
+
* mirror-only path and its existing tests are untouched. Supplied with `splice`, it stamps the plugin's `index.html` loader region.
|
|
44
52
|
* @param args.sourceRoot - Path to HBPU's package root (the directory containing `package.json` and `dist/`). The entry block resolves this from the CLI's own
|
|
45
53
|
* real path; tests pass a tmpdir populated with a synthetic HBPU layout.
|
|
54
|
+
* @param args.splice - The injected {@link spliceMarkedRegion} that replaces the loader's marked region. Paired with `loader`; absent = no stamp step.
|
|
46
55
|
*
|
|
47
|
-
* @throws When the source has not been built (`dist/ui/` missing), the source `package.json` lacks a `version` field
|
|
48
|
-
* directory.
|
|
56
|
+
* @throws When the source has not been built (`dist/ui/` missing), the source `package.json` lacks a `version` field (or, when stamping, a `name` field), or the source
|
|
57
|
+
* `dist/ui` path exists but is not a directory; and, when stamping, propagates the parse/splice framed errors under a "mirror succeeded, stamp failed" frame.
|
|
49
58
|
*/
|
|
50
|
-
export declare function prepareUi({ dest, sourceRoot }: {
|
|
59
|
+
export declare function prepareUi({ dest, loader, sourceRoot, splice }: {
|
|
51
60
|
dest: string;
|
|
61
|
+
loader?: WebUiLoaderModule;
|
|
52
62
|
sourceRoot: string;
|
|
63
|
+
splice?: typeof spliceMarkedRegion;
|
|
53
64
|
}): Promise<void>;
|
|
65
|
+
interface WebUiLoaderModule {
|
|
66
|
+
readonly WEBUI_LOADER_BEGIN: string;
|
|
67
|
+
readonly WEBUI_LOADER_END: string;
|
|
68
|
+
readonly parseWebUiLoaderConfig: typeof parseWebUiLoaderConfig;
|
|
69
|
+
readonly renderWebUiBootRegion: typeof renderWebUiBootRegion;
|
|
70
|
+
}
|
|
54
71
|
/**
|
|
55
72
|
* Regenerate a plugin's Feature Options reference by projecting its live catalog through HBPU's shared renderer and splicing the result into the plugin's doc, in
|
|
56
73
|
* place between the shared `FEATURE OPTIONS:BEGIN` / `END` markers. This centralizes the read/splice/atomic-write orchestration so a plugin's `build-docs` script
|
package/dist/cli/index.js
CHANGED
|
@@ -11,8 +11,8 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
11
11
|
}
|
|
12
12
|
return path;
|
|
13
13
|
};
|
|
14
|
+
import { basename, dirname, join, relative, resolve, sep } from "node:path";
|
|
14
15
|
import { cp, mkdir, readFile, readdir, rename, rm, stat, writeFile } from "node:fs/promises";
|
|
15
|
-
import { dirname, join, relative, resolve, sep } from "node:path";
|
|
16
16
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
17
17
|
import { createHash } from "node:crypto";
|
|
18
18
|
import { parseArgs } from "node:util";
|
|
@@ -95,15 +95,23 @@ async function computeContentHash(root) {
|
|
|
95
95
|
* removed in the same pass; non-version-shaped entries in the destination are left untouched so a plugin's own files (assets, sibling tooling, README copies)
|
|
96
96
|
* survive across runs.
|
|
97
97
|
*
|
|
98
|
+
* When the `loader` and `splice` namespaces are injected, a final step stamps the plugin's webUI script loader: the `index.html` beside the destination is read, its
|
|
99
|
+
* `WEBUI LOADER CONFIG` comment parsed, the loader block rendered from that config plus this run's `libPath` and package name, and spliced into its marked region with
|
|
100
|
+
* an atomic `.tmp` + rename. The step is marker-gated - no `index.html`, or no BEGIN marker, is a silent no-op - so a plugin that has not opted in, and every
|
|
101
|
+
* no-injection caller, mirror exactly as before. The stamp derives from the same package name and destination the mirror used, so the two never drift.
|
|
102
|
+
*
|
|
98
103
|
* @param args
|
|
99
104
|
* @param args.dest - The plugin's destination directory (typically `homebridge-ui/public/lib`). Created if missing.
|
|
105
|
+
* @param args.loader - The injected webUI-loader namespace (marker constants, `parseWebUiLoaderConfig`, `renderWebUiBootRegion`). Absent = no stamp step, so the
|
|
106
|
+
* mirror-only path and its existing tests are untouched. Supplied with `splice`, it stamps the plugin's `index.html` loader region.
|
|
100
107
|
* @param args.sourceRoot - Path to HBPU's package root (the directory containing `package.json` and `dist/`). The entry block resolves this from the CLI's own
|
|
101
108
|
* real path; tests pass a tmpdir populated with a synthetic HBPU layout.
|
|
109
|
+
* @param args.splice - The injected {@link spliceMarkedRegion} that replaces the loader's marked region. Paired with `loader`; absent = no stamp step.
|
|
102
110
|
*
|
|
103
|
-
* @throws When the source has not been built (`dist/ui/` missing), the source `package.json` lacks a `version` field
|
|
104
|
-
* directory.
|
|
111
|
+
* @throws When the source has not been built (`dist/ui/` missing), the source `package.json` lacks a `version` field (or, when stamping, a `name` field), or the source
|
|
112
|
+
* `dist/ui` path exists but is not a directory; and, when stamping, propagates the parse/splice framed errors under a "mirror succeeded, stamp failed" frame.
|
|
105
113
|
*/
|
|
106
|
-
export async function prepareUi({ dest, sourceRoot }) {
|
|
114
|
+
export async function prepareUi({ dest, loader, sourceRoot, splice }) {
|
|
107
115
|
const sourceUiDir = join(sourceRoot, "dist", "ui");
|
|
108
116
|
const sourcePackageJson = join(sourceRoot, "package.json");
|
|
109
117
|
// Validate the source side first so failures name the corrective action rather than the operation we couldn't perform. The two ways the source can be wrong are
|
|
@@ -155,6 +163,49 @@ export async function prepareUi({ dest, sourceRoot }) {
|
|
|
155
163
|
await Promise.all(entries
|
|
156
164
|
.filter((entry) => entry.isDirectory() && VERSION_PATTERN.test(entry.name) && (entry.name !== subdir))
|
|
157
165
|
.map((entry) => rm(join(absDest, entry.name), { force: true, recursive: true })));
|
|
166
|
+
// Stamp the webUI script loader when the loader namespace is injected. The mirror is complete by now (subdir, manifest, sweep), so the stamp is a final overlay on
|
|
167
|
+
// the plugin's index.html; without injection this is skipped entirely and the mirror-only path is unchanged. The importmap prefix derives from the mirrored package's
|
|
168
|
+
// own name, so a missing name is a stamp-only precondition failure rather than a mirror one.
|
|
169
|
+
if (loader && splice) {
|
|
170
|
+
const packageName = packageManifest.name;
|
|
171
|
+
if (!packageName) {
|
|
172
|
+
throw new Error("HBPU package.json at " + sourcePackageJson + " has no name field; the webUI loader importmap prefix derives from it.");
|
|
173
|
+
}
|
|
174
|
+
await stampWebUiLoader({ absDest, loader, packageName, splice });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Stamp the rendered loader block into the plugin's index.html. Marker-gated and a no-op on repeat: no index.html beside the destination, or no BEGIN marker, is a
|
|
178
|
+
// silent skip (a plugin without a config UI, or one that has not opted into the stamped loader, is left untouched); otherwise the config comment is parsed, the block
|
|
179
|
+
// rendered from it plus this run's destination-relative libPath and the mirrored package's name, and spliced into the marked region with an atomic `.tmp` + rename.
|
|
180
|
+
// The parse and splice throw their own framed errors; a stamp-phase failure re-frames them so the message states the mirror already succeeded and only the stamp
|
|
181
|
+
// failed, since by this point the destination has been mirrored and only the plugin's index.html overlay remains.
|
|
182
|
+
async function stampWebUiLoader({ absDest, loader, packageName, splice }) {
|
|
183
|
+
const indexPath = join(dirname(absDest), "index.html");
|
|
184
|
+
let html;
|
|
185
|
+
try {
|
|
186
|
+
html = await readFile(indexPath, "utf8");
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
// No index.html beside the destination: a plugin without a custom config UI page has nothing to stamp.
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
// No marked region means the plugin has not opted into the stamped loader; leave its index.html untouched.
|
|
193
|
+
if (!html.includes(loader.WEBUI_LOADER_BEGIN)) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
try {
|
|
197
|
+
const config = loader.parseWebUiLoaderConfig(html, indexPath);
|
|
198
|
+
// The destination-relative segment the manifest fetch and the importmap prefix resolve against - `"./lib/"` for the family convention - derived from the mirror's
|
|
199
|
+
// own destination basename so it is correct for any destination the plugin chose.
|
|
200
|
+
const libPath = "./" + basename(absDest) + "/";
|
|
201
|
+
const script = loader.renderWebUiBootRegion({ bust: config.bust, entry: config.entry, libPath, packageName });
|
|
202
|
+
const stamped = splice(html, script, { beginMarker: loader.WEBUI_LOADER_BEGIN, endMarker: loader.WEBUI_LOADER_END });
|
|
203
|
+
await writeFile(indexPath + ".tmp", stamped, "utf8");
|
|
204
|
+
await rename(indexPath + ".tmp", indexPath);
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
throw new Error("The webUI mirror succeeded but stamping the loader in " + indexPath + " failed: " + (error instanceof Error ? error.message : String(error)) + ".");
|
|
208
|
+
}
|
|
158
209
|
}
|
|
159
210
|
/**
|
|
160
211
|
* Regenerate a plugin's Feature Options reference by projecting its live catalog through HBPU's shared renderer and splicing the result into the plugin's doc, in
|
|
@@ -334,7 +385,8 @@ export async function prepareChrome({ chrome, fetchImpl = fetch, manifestPath, p
|
|
|
334
385
|
if ((manifest.devBadges !== undefined) && (manifest.devBadges.length > 0)) {
|
|
335
386
|
addRegion(readmePath, DEV_BADGES_BEGIN, DEV_BADGES_END, renderDevBadges(manifest));
|
|
336
387
|
}
|
|
337
|
-
// Each content doc: the masthead
|
|
388
|
+
// Each content doc: the masthead and the self-omitting footer index, each unless the entry opts out. A file opted out of both - the changelog is the canonical case -
|
|
389
|
+
// receives no stamped regions at all while remaining listed in every documentation index.
|
|
338
390
|
for (const section of manifest.nav) {
|
|
339
391
|
for (const entry of section.entries) {
|
|
340
392
|
if (entry.kind !== "doc") {
|
|
@@ -344,7 +396,9 @@ export async function prepareChrome({ chrome, fetchImpl = fetch, manifestPath, p
|
|
|
344
396
|
if (entry.masthead !== false) {
|
|
345
397
|
addRegion(docPath, MASTHEAD_BEGIN, MASTHEAD_END, renderMasthead(manifest));
|
|
346
398
|
}
|
|
347
|
-
|
|
399
|
+
if (entry.footer !== false) {
|
|
400
|
+
addRegion(docPath, DOCUMENTATION_BEGIN, DOCUMENTATION_END, renderDocIndex({ currentFile: entry.file, manifest, surface: "doc-footer" }));
|
|
401
|
+
}
|
|
348
402
|
}
|
|
349
403
|
}
|
|
350
404
|
// The webUI Support tab is optional: a plugin without a custom config UI has no target to stamp, so we include its regions only when the file exists. The
|
|
@@ -433,8 +487,24 @@ export async function runCli({ argv, cwd, sourceRoot, stderr }) {
|
|
|
433
487
|
stderr.write("homebridge-plugin-utils prepare-ui: missing required destination argument.\n");
|
|
434
488
|
return 1;
|
|
435
489
|
}
|
|
490
|
+
// Reach HBPU's own loader renderer and the splice primitive through computed dynamic imports of their compiled modules - never static relative imports - so the
|
|
491
|
+
// single-file bin stays symlink-safe. A dist complete enough to mirror `dist/ui` yet missing these is a build inconsistency that must fail loudly rather than
|
|
492
|
+
// silently skip the wanted stamp, exactly as prepare-docs hard-fails on its own missing renderer.
|
|
493
|
+
const loaderPath = join(sourceRoot, "dist", "webui-loader.js");
|
|
494
|
+
const uiSplicePath = join(sourceRoot, "dist", "featureOptions-docs.js");
|
|
495
|
+
let loader;
|
|
496
|
+
let uiSplicer;
|
|
497
|
+
try {
|
|
498
|
+
loader = await import(__rewriteRelativeImportExtension(pathToFileURL(loaderPath).href));
|
|
499
|
+
uiSplicer = await import(__rewriteRelativeImportExtension(pathToFileURL(uiSplicePath).href));
|
|
500
|
+
}
|
|
501
|
+
catch {
|
|
502
|
+
stderr.write("homebridge-plugin-utils prepare-ui: HBPU has not been built: " + loaderPath + " or " + uiSplicePath + " is missing. Run `npm run build` in " +
|
|
503
|
+
"HBPU first.\n");
|
|
504
|
+
return 1;
|
|
505
|
+
}
|
|
436
506
|
try {
|
|
437
|
-
await prepareUi({ dest: destination, sourceRoot });
|
|
507
|
+
await prepareUi({ dest: destination, loader, sourceRoot, splice: uiSplicer.spliceMarkedRegion });
|
|
438
508
|
}
|
|
439
509
|
catch (error) {
|
|
440
510
|
stderr.write("homebridge-plugin-utils prepare-ui: " + (error instanceof Error ? error.message : String(error)) + "\n");
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;GAGG;;;;;;;;;AAoBH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,4JAA4J;AAC5J,kKAAkK;AAClK,sJAAsJ;AACtJ,4JAA4J;AAC5J,mDAAmD;AACnD,MAAM,eAAe,GAAG,4CAA4C,CAAC;AAErE,gKAAgK;AAChK,qKAAqK;AACrK,iKAAiK;AACjK,2BAA2B;AAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,wDAAwD;IAC3E,iGAAiG;IACjG,oHAAoH;IACpH,6JAA6J,CAAC;AAEhK;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,kBAAkB,CAAC,IAAY;IAE5C,6JAA6J;IAC7J,0JAA0J;IAC1J,kFAAkF;IAClF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,SAAS,GAAG,OAAO;SACtB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;SACjC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAClD,QAAQ,EAAE,CAAC;IAEd,gKAAgK;IAChK,2JAA2J;IAC3J,qCAAqC;IACrC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAE5G,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,KAAI,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;QAEvC,0JAA0J;QAC1J,8JAA8J;QAC9J,qBAAqB;QACrB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtD,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAwC;IAExF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE3D,gKAAgK;IAChK,gKAAgK;IAChK,yDAAyD;IACzD,IAAI,YAAY,CAAC;IAEjB,IAAI,CAAC;QAEH,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QAEP,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,WAAW,GAAG,iDAAiD,CAAC,CAAC;IACjH,CAAC;IAED,IAAG,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;QAE/B,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,WAAW,GAAG,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAyB,CAAC;IAC/E,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC;IAExC,IAAG,CAAC,OAAO,EAAE,CAAC;QAEZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,iBAAiB,GAAG,wBAAwB,CAAC,CAAC;IAC1F,CAAC;IAED,8JAA8J;IAC9J,8JAA8J;IAC9J,6GAA6G;IAC7G,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC;IAEpC,gKAAgK;IAChK,4JAA4J;IAC5J,gGAAgG;IAChG,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE5C,sJAAsJ;IACtJ,gKAAgK;IAChK,gKAAgK;IAChK,eAAe;IACf,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,6JAA6J;IAC7J,gKAAgK;IAChK,yJAAyJ;IACzJ,8JAA8J;IAC9J,+EAA+E;IAC/E,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE3G,iKAAiK;IACjK,4JAA4J;IAC5J,mIAAmI;IACnI,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhE,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO;SACtB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;SACrG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAM7E;IAEC,kKAAkK;IAClK,sKAAsK;IACtK,4JAA4J;IAC5J,+DAA+D;IAC/D,MAAM,OAAO,GAAG,MAAM,MAAM,kCAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAKjE,CAAC;IAEF,2JAA2J;IAC3J,sFAAsF;IACtF,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAEnD,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,qDAAqD,CAAC,CAAC;IACjH,CAAC;IAED,IAAG,CAAC,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC,EAAE,CAAC;QAErF,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,6CAA6C,CAAC,CAAC;IACzG,CAAC;IAED,+JAA+J;IAC/J,kKAAkK;IAClK,gKAAgK;IAChK,8IAA8I;IAC9I,IAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,qBAAqB,KAAK,UAAU,CAAC,EAAE,CAAC;QAE1G,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,kDAAkD,CAAC,CAAC;IAC9G,CAAC;IAED,IAAG,CAAC,OAAO,CAAC,mBAAmB,KAAK,SAAS,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,mBAAmB,KAAK,UAAU,CAAC,EAAE,CAAC;QAEtG,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,iBAAiB,GAAG,gDAAgD,CAAC,CAAC;IAC5G,CAAC;IAED,+JAA+J;IAC/J,+JAA+J;IAC/J,yJAAyJ;IACzJ,8DAA8D;IAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,uBAAqE;QAClH,qBAAqB,EAAE,OAAO,CAAC,qBAA8E;QAC7G,mBAAmB,EAAE,OAAO,CAAC,mBAA0E;QACvG,OAAO,EAAE,OAAO,CAAC,cAAyD,EAAE,CAAC,CAAC;IAEhF,kKAAkK;IAClK,8HAA8H;IAC9H,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAE1C,wEAAwE;IACxE,MAAM,SAAS,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnD,MAAM,MAAM,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,8JAA8J;AAC9J,wEAAwE;AACxE,MAAM,qBAAqB,GAAG,+FAA+F,CAAC;AAE9H,mKAAmK;AACnK,6IAA6I;AAC7I,SAAS,eAAe,CAAC,GAAW,EAAE,QAAgB;IAEpD,IAAI,CAAC;QAEH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,sBAAsB,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACtH,CAAC;AACH,CAAC;AAED,mKAAmK;AACnK,oKAAoK;AACpK,kKAAkK;AAClK,6BAA6B;AAC7B,KAAK,UAAU,qBAAqB,CAAC,YAAoB;IAEvD,IAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAElC,OAAO,eAAe,CAAC,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,sBAAsB,GAAG,YAAY,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,MAAM,kCAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,EAA+C,CAAC;IAE/G,OAAO,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,CAAC;AAClD,CAAC;AAED,wKAAwK;AACxK,yKAAyK;AACzK,iKAAiK;AACjK,0EAA0E;AAC1E,KAAK,UAAU,eAAe,CAAC,MAAe,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAKlG;IAEC,IAAG,MAAM,KAAK,SAAS,EAAE,CAAC;QAExB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,+FAA+F;IAC/F,IAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAEzB,OAAO,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,IAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC;QAErD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IAED,mKAAmK;IACnK,kFAAkF;IAClF,IAAG,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,CAAC;QAEzD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE7C,IAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAEhB,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;QACrH,CAAC;QAED,OAAO,YAAY,CAAC,eAAe,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACzH,CAAC;IAED,iFAAiF;IACjF,IAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAE3D,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAElD,OAAO,YAAY,CAAC,eAAe,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,sBAAsB,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;AACzC,CAAC;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAOhG;IAEC,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAC1I,sBAAsB,EAAE,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAE1H,qKAAqK;IACrK,qGAAqG;IACrG,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,qBAAqB,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC;IAEjG,wGAAwG;IACxG,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC,CAAC;IAEtI,gKAAgK;IAChK,0EAA0E;IAC1E,MAAM,IAAI,GAAG,IAAI,GAAG,EAA6D,CAAC;IAElF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAE,OAAe,EAAQ,EAAE;QAEpF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,iGAAiG;IACjG,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,WAAW,CAAC,CAAC;IAEjF,SAAS,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,SAAS,CAAC,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAE/G,IAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAEzE,SAAS,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,sHAAsH;IACtH,KAAI,MAAM,OAAO,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;QAElC,KAAI,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAEnC,IAAG,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAExB,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAG,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAE5B,SAAS,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7E,CAAC;YAED,SAAS,CAAC,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;QAC3I,CAAC;IACH,CAAC;IAED,0JAA0J;IAC1J,6FAA6F;IAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,iCAAiC,CAAC,CAAC;IACrG,IAAI,WAAW,GAAG,IAAI,CAAC;IAEvB,IAAI,CAAC;QAEH,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,qKAAqK;QACrK,qCAAqC;QACrC,IAAG,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YAE9E,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,CAAC;YAEN,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAG,WAAW,EAAE,CAAC;QAEf,SAAS,CAAC,SAAS,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAE7G,IAAG,QAAQ,KAAK,SAAS,EAAE,CAAC;YAE1B,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAED,sKAAsK;IACtK,gGAAgG;IAChG,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAE,IAAI,EAAE,KAAK,CAAE,EAAE,EAAE;QAEvE,IAAI,OAAe,CAAC;QAEpB,IAAI,CAAC;YAEH,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YAEP,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,IAAI,GAAG,wEAAwE,CAAC,CAAC;QACpH,CAAC;QAED,+IAA+I;QAC/I,KAAI,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAExB,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC,CAAC;IAEJ,kKAAkK;IAClK,oKAAoK;IACpK,qDAAqD;IACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;IAEzD,IAAI,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAM,KAAK,EAAE,CAAC;QAEd,qKAAqK;QACrK,gJAAgJ;QAChJ,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAE3E,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAM3D;IAEC,iKAAiK;IACjK,iKAAiK;IACjK,kHAAkH;IAClH,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACrK,MAAM,CAAE,OAAO,EAAE,GAAG,IAAI,CAAE,GAAG,WAAW,CAAC;IAEzC,QAAO,OAAO,EAAE,CAAC;QAEf,KAAK,YAAY,CAAC,CAAC,CAAC;YAElB,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAE3B,IAAG,CAAC,WAAW,EAAE,CAAC;gBAEhB,MAAM,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;gBAE7F,OAAO,CAAC,CAAC;YACX,CAAC;YAED,IAAI,CAAC;gBAEH,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,CAAC;YAAC,OAAM,KAAK,EAAE,CAAC;gBAEd,MAAM,CAAC,KAAK,CAAC,sCAAsC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBAEvH,OAAO,CAAC,CAAC;YACX,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YAEpB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YAE1B,IAAG,CAAC,UAAU,EAAE,CAAC;gBAEf,MAAM,CAAC,KAAK,CAAC,mFAAmF,CAAC,CAAC;gBAElG,OAAO,CAAC,CAAC;YACX,CAAC;YAED,4JAA4J;YAC5J,yHAAyH;YACzH,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,wBAAwB,CAAC,CAAC;YAErE,qJAAqJ;YACrJ,2JAA2J;YAC3J,mHAAmH;YACnH,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;YAExE,IAAI,QAAgI,CAAC;YAErI,IAAI,CAAC;gBAEH,QAAQ,GAAG,MAAM,MAAM,kCAAC,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,EAAoB,CAAC;YAC/E,CAAC;YAAC,MAAM,CAAC;gBAEP,MAAM,CAAC,KAAK,CAAC,iEAAiE,GAAG,YAAY,GAAG,mDAAmD,CAAC,CAAC;gBAErJ,OAAO,CAAC,CAAC;YACX,CAAC;YAED,IAAI,CAAC;gBAEH,MAAM,WAAW,CAAC,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,6BAA6B,EAAE,MAAM,EAAE,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;YACzI,CAAC;YAAC,OAAM,KAAK,EAAE,CAAC;gBAEd,MAAM,CAAC,KAAK,CAAC,wCAAwC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBAEzH,OAAO,CAAC,CAAC;YACX,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YAEtB,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;YAE3B,IAAG,CAAC,WAAW,EAAE,CAAC;gBAEhB,MAAM,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;gBAE9F,OAAO,CAAC,CAAC;YACX,CAAC;YAED,6JAA6J;YAC7J,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;YAEpD,iKAAiK;YACjK,+JAA+J;YAC/J,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;YAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;YAEtE,IAAI,MAAuB,CAAC;YAC5B,IAAI,OAA0D,CAAC;YAE/D,IAAI,CAAC;gBAEH,MAAM,GAAG,MAAM,MAAM,kCAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAoB,CAAC;gBACzE,OAAO,GAAG,MAAM,MAAM,kCAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,EAAmB,CAAC;YAC3E,CAAC;YAAC,MAAM,CAAC;gBAEP,MAAM,CAAC,KAAK,CAAC,mEAAmE,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,sCAAsC;oBAC1J,eAAe,CAAC,CAAC;gBAEnB,OAAO,CAAC,CAAC;YACX,CAAC;YAED,IAAI,CAAC;gBAEH,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAChG,CAAC;YAAC,OAAM,KAAK,EAAE,CAAC;gBAEd,MAAM,CAAC,KAAK,CAAC,0CAA0C,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBAE3H,OAAO,CAAC,CAAC;YACX,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,CAAC,CAAC,CAAC;YAER,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEpB,6JAA6J;YAC7J,0GAA0G;YAC1G,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,YAAY;IAEnB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAElC,IAAG,CAAC,SAAS,EAAE,CAAC;QAEd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QAEH,OAAO,YAAY,CAAC,SAAS,CAAC,KAAK,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QAEP,sJAAsJ;QACtJ,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,yJAAyJ;AACzJ,4GAA4G;AAC5G,IAAG,YAAY,EAAE,EAAE,CAAC;IAElB,4JAA4J;IAC5J,uJAAuJ;IACvJ,6FAA6F;IAC7F,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE9F,OAAO,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACtH,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/docChrome.d.ts
CHANGED
|
@@ -53,7 +53,9 @@ export interface Masthead {
|
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* One documentation-index entry. A discriminated union on `kind`: a `"doc"` entry points at a file under the plugin's `docs/` tree (and may opt out of the masthead via
|
|
56
|
-
* `masthead: false`,
|
|
56
|
+
* `masthead: false`, or of the documentation-footer region via `footer: false` - with both opted out, a linked file such as the changelog stays entirely free of stamped
|
|
57
|
+
* chrome while remaining listed in every documentation index), while a `"readme-anchor"` entry points at a section anchor within the README itself. The renderer derives
|
|
58
|
+
* the correct href
|
|
57
59
|
* per surface from this one canonical shape, so the same entry can render as an in-README anchor on the README and as an absolute blob URL everywhere else.
|
|
58
60
|
*
|
|
59
61
|
* @category Doc Chrome
|
|
@@ -66,6 +68,7 @@ export type DocEntry = {
|
|
|
66
68
|
} | {
|
|
67
69
|
readonly blurb: string;
|
|
68
70
|
readonly file: string;
|
|
71
|
+
readonly footer?: boolean;
|
|
69
72
|
readonly kind: "doc";
|
|
70
73
|
readonly masthead?: boolean;
|
|
71
74
|
readonly title: string;
|
package/dist/docChrome.js
CHANGED
|
@@ -229,6 +229,9 @@ function assertDocEntry(value, path, source) {
|
|
|
229
229
|
switch (entry.kind) {
|
|
230
230
|
case "doc": {
|
|
231
231
|
assertString(entry.file, path + ".file", source);
|
|
232
|
+
if ((entry.footer !== undefined) && (typeof entry.footer !== "boolean")) {
|
|
233
|
+
fail(source, "field `" + path + ".footer` must be a boolean when present");
|
|
234
|
+
}
|
|
232
235
|
if ((entry.masthead !== undefined) && (typeof entry.masthead !== "boolean")) {
|
|
233
236
|
fail(source, "field `" + path + ".masthead` must be a boolean when present");
|
|
234
237
|
}
|
package/dist/docChrome.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docChrome.js","sourceRoot":"","sources":["../src/docChrome.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"docChrome.js","sourceRoot":"","sources":["../src/docChrome.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handler-type code for video tracks in ISO BMFF `hdlr` boxes: ASCII `"vide"` encoded as a 32-bit big-endian integer. Defined here rather than in `fmp4.ts` because
|
|
3
|
+
* production never inspects it - `hasAudioTrack` compares each track's handler_type against `HDLR_TYPE_SOUN` and any non-match (including `"vide"`) is treated
|
|
4
|
+
* uniformly as "not audio." Tests need a concrete non-audio value to exercise the negative path of that predicate, so the constant lives with the test builders.
|
|
5
|
+
*/
|
|
6
|
+
export declare const HDLR_TYPE_VIDE = 1986618469;
|
|
7
|
+
/**
|
|
8
|
+
* Synthesize a minimal ISO BMFF box. Produces a Buffer whose first 4 bytes are the big-endian total size, the next 4 bytes are the 4-character ASCII `type`, and the
|
|
9
|
+
* remainder is the supplied payload. Each test file wants the same construction helper to exercise different stream shapes; keeping it in one place eliminates drift
|
|
10
|
+
* between the parser and assembler test suites.
|
|
11
|
+
*
|
|
12
|
+
* @param type - The 4-character ASCII box type (`"ftyp"`, `"moov"`, `"moof"`, `"mdat"`, ...). Any other length fails the check.
|
|
13
|
+
* @param payload - Optional opaque payload bytes. Defaults to an empty buffer.
|
|
14
|
+
*
|
|
15
|
+
* @returns A complete box (header + payload) suitable for feeding to the parser or writing to an in-memory Readable fixture.
|
|
16
|
+
*/
|
|
17
|
+
export declare function makeBox(type: string, payload?: Buffer): Buffer;
|
|
18
|
+
/**
|
|
19
|
+
* Convenience wrapper that builds a container box from a sequence of already-constructed child boxes. The payload is just the concatenation of children, so the
|
|
20
|
+
* result is equivalent to `makeBox(type, Buffer.concat(children))` - this helper's value is readability at the call site, where nested structures like
|
|
21
|
+
* `moov -> [ trak -> [ mdia -> [ hdlr ] ] ]` become one-liners instead of a visual ladder of `Buffer.concat` calls.
|
|
22
|
+
*
|
|
23
|
+
* @param type - The 4-character ASCII box type.
|
|
24
|
+
* @param children - The pre-built child boxes to include as the container's payload.
|
|
25
|
+
*
|
|
26
|
+
* @returns A complete container box.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* const hdlr = makeHdlrBox(HDLR_TYPE_SOUN);
|
|
32
|
+
* const mdia = makeContainer("mdia", [hdlr]);
|
|
33
|
+
* const trak = makeContainer("trak", [mdia]);
|
|
34
|
+
* const moov = makeContainer("moov", [trak]);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function makeContainer(type: string, children: Buffer[]): Buffer;
|
|
38
|
+
/**
|
|
39
|
+
* Build a `hdlr` fullbox with the supplied handler_type code. The fullbox layout (box header + version/flags + pre_defined + handler_type + reserved[3] + name) is
|
|
40
|
+
* exactly what `hasAudioTrack` reads when deciding whether a track is audio. Tests compose an initialization segment by wrapping an hdlr inside `moov -> trak -> mdia`,
|
|
41
|
+
* with the handler_type selecting the track media type under test.
|
|
42
|
+
*
|
|
43
|
+
* @param handlerType - The 32-bit big-endian handler type code. Use `HDLR_TYPE_SOUN` for audio, {@link HDLR_TYPE_VIDE} for video, or any other value to
|
|
44
|
+
* exercise the "unknown handler" negative path.
|
|
45
|
+
* @param truncate - Optional. When `true`, emits an hdlr whose payload is smaller than the minimum `hasAudioTrack` reads (stops before the handler_type field). Used
|
|
46
|
+
* by the "undersized hdlr" negative test; defaults to `false`.
|
|
47
|
+
*
|
|
48
|
+
* @returns A complete `hdlr` box.
|
|
49
|
+
*/
|
|
50
|
+
export declare function makeHdlrBox(handlerType: number, truncate?: boolean): Buffer;
|
|
51
|
+
/**
|
|
52
|
+
* Build a `trun` fullbox describing a single sample, with the flags and sample-flags bits set to select one of the keyframe-detection paths `isKeyframe` supports.
|
|
53
|
+
* `isKeyframe` reads the flags to decide whether to consult `first_sample_flags` (common path, when `frag_keyframe` movflag is set) or fall back to the per-sample
|
|
54
|
+
* `sample_flags` field. The helper composes the optional fields in the exact order the spec mandates so the predicate's offset arithmetic matches.
|
|
55
|
+
*
|
|
56
|
+
* @param options - Options that shape the emitted box.
|
|
57
|
+
* @param options.useFirstSampleFlags - When `true`, set `TRUN_FLAG_FIRST_SAMPLE_FLAGS` and emit the first-sample-flags field after the optional data_offset.
|
|
58
|
+
* @param options.usePerSampleFlags - When `true`, set `TRUN_FLAG_SAMPLE_FLAGS` and emit a single per-sample flags field after any duration/size slots. Ignored when
|
|
59
|
+
* `useFirstSampleFlags` is also `true` because the predicate consults first_sample_flags first.
|
|
60
|
+
* @param options.includeDuration - When `true`, set `TRUN_FLAG_SAMPLE_DURATION` and reserve a 4-byte per-sample duration slot before the flags slot.
|
|
61
|
+
* @param options.includeSize - When `true`, set `TRUN_FLAG_SAMPLE_SIZE` and reserve a 4-byte per-sample size slot before the flags slot.
|
|
62
|
+
* @param options.sampleFlagsValue - The 32-bit value to write into the chosen flags field (first_sample_flags or per-sample flags). Use `0` for a keyframe; use
|
|
63
|
+
* `SAMPLE_FLAG_NON_SYNC` for a non-keyframe.
|
|
64
|
+
* @param options.truncate - When `true`, emit a trun whose payload stops short of the flags field the predicate would read. Exercises the "insufficient bytes"
|
|
65
|
+
* guard inside `isKeyframe` without changing the declared box size.
|
|
66
|
+
*
|
|
67
|
+
* @returns A complete `trun` box.
|
|
68
|
+
*/
|
|
69
|
+
export declare function makeTrunBox(options: {
|
|
70
|
+
includeDuration?: boolean;
|
|
71
|
+
includeSize?: boolean;
|
|
72
|
+
sampleFlagsValue: number;
|
|
73
|
+
truncate?: boolean;
|
|
74
|
+
useFirstSampleFlags?: boolean;
|
|
75
|
+
usePerSampleFlags?: boolean;
|
|
76
|
+
}): Buffer;
|
|
77
|
+
//# sourceMappingURL=fmp4-builders.d.ts.map
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/* Copyright(C) 2017-2026, HJD (https://github.com/hjdhjd). All rights reserved.
|
|
2
|
+
*
|
|
3
|
+
* ffmpeg/fmp4-builders.ts: Published ISO BMFF (fMP4) byte-level construction builders for the parser, assembler, and predicate test suites.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Shared ISO BMFF (fMP4) byte-level construction builders.
|
|
7
|
+
*
|
|
8
|
+
* The parser-aligned construction surface every consumer's tests build fragments and initialization segments on - the library's own parser, assembler, and predicate
|
|
9
|
+
* suites and downstream plugins alike. Ships on the package's main export alongside the other test doubles (`TestClock`, `TestRecordingProcessFactory`) so a consumer
|
|
10
|
+
* composes real fMP4 bytes without hand-rolling box headers or re-deriving the wire layouts the predicates read.
|
|
11
|
+
*
|
|
12
|
+
* Construction layers, from primitive to fullbox builders:
|
|
13
|
+
*
|
|
14
|
+
* - {@link makeBox} - the primitive: header + payload. Every higher builder composes against this.
|
|
15
|
+
* - {@link makeContainer} - a convenience wrapper that concatenates nested box bytes into a parent container (e.g., `makeContainer("moov", [ trak1, trak2 ])`).
|
|
16
|
+
* - {@link makeHdlrBox} / {@link makeTrunBox} - fullbox builders that encode the specific header layouts the `fmp4.ts` predicates read (`hasAudioTrack` walks the
|
|
17
|
+
* handler-type field; `isKeyframe` walks TRUN flags). Routing every test through one parser-aligned construction path means a future tweak to either predicate's wire
|
|
18
|
+
* layout has exactly one builder to update.
|
|
19
|
+
*
|
|
20
|
+
* **Wire-format constants.** Anything the production parser reads lives in `fmp4.ts` (TRUN flag bits, sample-flag bits, the audio handler-type code) and is imported
|
|
21
|
+
* here so the production reader and the construction path share one definition. Test-only values production never consumes - the video handler-type code, used as a
|
|
22
|
+
* negative-path handler for `hasAudioTrack` - live in this module, which keeps the production surface to exactly what production needs.
|
|
23
|
+
*
|
|
24
|
+
* @module
|
|
25
|
+
*/
|
|
26
|
+
import { BOX_HEADER_SIZE, TRUN_FLAG_DATA_OFFSET, TRUN_FLAG_FIRST_SAMPLE_FLAGS, TRUN_FLAG_SAMPLE_DURATION, TRUN_FLAG_SAMPLE_FLAGS, TRUN_FLAG_SAMPLE_SIZE } from "./fmp4.js";
|
|
27
|
+
import assert from "node:assert/strict";
|
|
28
|
+
/**
|
|
29
|
+
* Handler-type code for video tracks in ISO BMFF `hdlr` boxes: ASCII `"vide"` encoded as a 32-bit big-endian integer. Defined here rather than in `fmp4.ts` because
|
|
30
|
+
* production never inspects it - `hasAudioTrack` compares each track's handler_type against `HDLR_TYPE_SOUN` and any non-match (including `"vide"`) is treated
|
|
31
|
+
* uniformly as "not audio." Tests need a concrete non-audio value to exercise the negative path of that predicate, so the constant lives with the test builders.
|
|
32
|
+
*/
|
|
33
|
+
export const HDLR_TYPE_VIDE = 0x76696465;
|
|
34
|
+
/**
|
|
35
|
+
* Synthesize a minimal ISO BMFF box. Produces a Buffer whose first 4 bytes are the big-endian total size, the next 4 bytes are the 4-character ASCII `type`, and the
|
|
36
|
+
* remainder is the supplied payload. Each test file wants the same construction helper to exercise different stream shapes; keeping it in one place eliminates drift
|
|
37
|
+
* between the parser and assembler test suites.
|
|
38
|
+
*
|
|
39
|
+
* @param type - The 4-character ASCII box type (`"ftyp"`, `"moov"`, `"moof"`, `"mdat"`, ...). Any other length fails the check.
|
|
40
|
+
* @param payload - Optional opaque payload bytes. Defaults to an empty buffer.
|
|
41
|
+
*
|
|
42
|
+
* @returns A complete box (header + payload) suitable for feeding to the parser or writing to an in-memory Readable fixture.
|
|
43
|
+
*/
|
|
44
|
+
export function makeBox(type, payload = Buffer.alloc(0)) {
|
|
45
|
+
assert.equal(type.length, 4, "box type must be exactly 4 ASCII characters");
|
|
46
|
+
// The header width comes from BOX_HEADER_SIZE, the constant the production parser walks boxes with, so the construction path and the parser read one definition of it.
|
|
47
|
+
const size = BOX_HEADER_SIZE + payload.length;
|
|
48
|
+
const header = Buffer.alloc(BOX_HEADER_SIZE);
|
|
49
|
+
header.writeUInt32BE(size, 0);
|
|
50
|
+
header.write(type, 4, 4, "ascii");
|
|
51
|
+
return Buffer.concat([header, payload]);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Convenience wrapper that builds a container box from a sequence of already-constructed child boxes. The payload is just the concatenation of children, so the
|
|
55
|
+
* result is equivalent to `makeBox(type, Buffer.concat(children))` - this helper's value is readability at the call site, where nested structures like
|
|
56
|
+
* `moov -> [ trak -> [ mdia -> [ hdlr ] ] ]` become one-liners instead of a visual ladder of `Buffer.concat` calls.
|
|
57
|
+
*
|
|
58
|
+
* @param type - The 4-character ASCII box type.
|
|
59
|
+
* @param children - The pre-built child boxes to include as the container's payload.
|
|
60
|
+
*
|
|
61
|
+
* @returns A complete container box.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
*
|
|
65
|
+
* ```ts
|
|
66
|
+
* const hdlr = makeHdlrBox(HDLR_TYPE_SOUN);
|
|
67
|
+
* const mdia = makeContainer("mdia", [hdlr]);
|
|
68
|
+
* const trak = makeContainer("trak", [mdia]);
|
|
69
|
+
* const moov = makeContainer("moov", [trak]);
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export function makeContainer(type, children) {
|
|
73
|
+
return makeBox(type, Buffer.concat(children));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Build a `hdlr` fullbox with the supplied handler_type code. The fullbox layout (box header + version/flags + pre_defined + handler_type + reserved[3] + name) is
|
|
77
|
+
* exactly what `hasAudioTrack` reads when deciding whether a track is audio. Tests compose an initialization segment by wrapping an hdlr inside `moov -> trak -> mdia`,
|
|
78
|
+
* with the handler_type selecting the track media type under test.
|
|
79
|
+
*
|
|
80
|
+
* @param handlerType - The 32-bit big-endian handler type code. Use `HDLR_TYPE_SOUN` for audio, {@link HDLR_TYPE_VIDE} for video, or any other value to
|
|
81
|
+
* exercise the "unknown handler" negative path.
|
|
82
|
+
* @param truncate - Optional. When `true`, emits an hdlr whose payload is smaller than the minimum `hasAudioTrack` reads (stops before the handler_type field). Used
|
|
83
|
+
* by the "undersized hdlr" negative test; defaults to `false`.
|
|
84
|
+
*
|
|
85
|
+
* @returns A complete `hdlr` box.
|
|
86
|
+
*/
|
|
87
|
+
export function makeHdlrBox(handlerType, truncate = false) {
|
|
88
|
+
if (truncate) {
|
|
89
|
+
// Intentionally short: version/flags (4) + pre_defined (4), no handler_type. The predicate's size guard (`hdlr.size >= (HDLR_TYPE_OFFSET + 4)`) must reject this.
|
|
90
|
+
return makeBox("hdlr", Buffer.alloc(8));
|
|
91
|
+
}
|
|
92
|
+
// Standard hdlr payload: version/flags (4) + pre_defined (4) + handler_type (4) + reserved[3] (12) + empty name terminator (1).
|
|
93
|
+
const payload = Buffer.alloc(25);
|
|
94
|
+
payload.writeUInt32BE(handlerType, 8);
|
|
95
|
+
return makeBox("hdlr", payload);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Build a `trun` fullbox describing a single sample, with the flags and sample-flags bits set to select one of the keyframe-detection paths `isKeyframe` supports.
|
|
99
|
+
* `isKeyframe` reads the flags to decide whether to consult `first_sample_flags` (common path, when `frag_keyframe` movflag is set) or fall back to the per-sample
|
|
100
|
+
* `sample_flags` field. The helper composes the optional fields in the exact order the spec mandates so the predicate's offset arithmetic matches.
|
|
101
|
+
*
|
|
102
|
+
* @param options - Options that shape the emitted box.
|
|
103
|
+
* @param options.useFirstSampleFlags - When `true`, set `TRUN_FLAG_FIRST_SAMPLE_FLAGS` and emit the first-sample-flags field after the optional data_offset.
|
|
104
|
+
* @param options.usePerSampleFlags - When `true`, set `TRUN_FLAG_SAMPLE_FLAGS` and emit a single per-sample flags field after any duration/size slots. Ignored when
|
|
105
|
+
* `useFirstSampleFlags` is also `true` because the predicate consults first_sample_flags first.
|
|
106
|
+
* @param options.includeDuration - When `true`, set `TRUN_FLAG_SAMPLE_DURATION` and reserve a 4-byte per-sample duration slot before the flags slot.
|
|
107
|
+
* @param options.includeSize - When `true`, set `TRUN_FLAG_SAMPLE_SIZE` and reserve a 4-byte per-sample size slot before the flags slot.
|
|
108
|
+
* @param options.sampleFlagsValue - The 32-bit value to write into the chosen flags field (first_sample_flags or per-sample flags). Use `0` for a keyframe; use
|
|
109
|
+
* `SAMPLE_FLAG_NON_SYNC` for a non-keyframe.
|
|
110
|
+
* @param options.truncate - When `true`, emit a trun whose payload stops short of the flags field the predicate would read. Exercises the "insufficient bytes"
|
|
111
|
+
* guard inside `isKeyframe` without changing the declared box size.
|
|
112
|
+
*
|
|
113
|
+
* @returns A complete `trun` box.
|
|
114
|
+
*/
|
|
115
|
+
export function makeTrunBox(options) {
|
|
116
|
+
const { includeDuration = false, includeSize = false, sampleFlagsValue, truncate = false, useFirstSampleFlags = false, usePerSampleFlags = false } = options;
|
|
117
|
+
// Always include the data_offset flag so the parser walks past it - matches real-world FFmpeg output and exercises the offset-skip branch without a dedicated test.
|
|
118
|
+
let flags = TRUN_FLAG_DATA_OFFSET;
|
|
119
|
+
if (useFirstSampleFlags) {
|
|
120
|
+
flags |= TRUN_FLAG_FIRST_SAMPLE_FLAGS;
|
|
121
|
+
}
|
|
122
|
+
if (usePerSampleFlags) {
|
|
123
|
+
flags |= TRUN_FLAG_SAMPLE_FLAGS;
|
|
124
|
+
}
|
|
125
|
+
if (includeDuration) {
|
|
126
|
+
flags |= TRUN_FLAG_SAMPLE_DURATION;
|
|
127
|
+
}
|
|
128
|
+
if (includeSize) {
|
|
129
|
+
flags |= TRUN_FLAG_SAMPLE_SIZE;
|
|
130
|
+
}
|
|
131
|
+
// Compose the payload: version(0)/flags(3) + sample_count + data_offset + optional first_sample_flags + per-sample entries (duration?, size?, flags?).
|
|
132
|
+
const parts = [];
|
|
133
|
+
const header = Buffer.alloc(8);
|
|
134
|
+
// Version 0 in the top byte, flags in the low 24 bits.
|
|
135
|
+
header.writeUInt32BE(flags & 0x00FFFFFF, 0);
|
|
136
|
+
// sample_count = 1.
|
|
137
|
+
header.writeUInt32BE(1, 4);
|
|
138
|
+
parts.push(header);
|
|
139
|
+
// data_offset slot (value irrelevant; the predicate skips past it).
|
|
140
|
+
parts.push(Buffer.alloc(4));
|
|
141
|
+
if (useFirstSampleFlags) {
|
|
142
|
+
const firstSampleFlags = Buffer.alloc(4);
|
|
143
|
+
firstSampleFlags.writeUInt32BE(sampleFlagsValue, 0);
|
|
144
|
+
parts.push(firstSampleFlags);
|
|
145
|
+
}
|
|
146
|
+
// Per-sample entry. When useFirstSampleFlags is true, the predicate returns early before consulting per-sample fields, so we stop here unless per-sample was
|
|
147
|
+
// explicitly requested.
|
|
148
|
+
if (usePerSampleFlags) {
|
|
149
|
+
if (includeDuration) {
|
|
150
|
+
parts.push(Buffer.alloc(4));
|
|
151
|
+
}
|
|
152
|
+
if (includeSize) {
|
|
153
|
+
parts.push(Buffer.alloc(4));
|
|
154
|
+
}
|
|
155
|
+
if (!truncate) {
|
|
156
|
+
const perSampleFlags = Buffer.alloc(4);
|
|
157
|
+
perSampleFlags.writeUInt32BE(sampleFlagsValue, 0);
|
|
158
|
+
parts.push(perSampleFlags);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return makeBox("trun", Buffer.concat(parts));
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=fmp4-builders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fmp4-builders.js","sourceRoot":"","sources":["../../src/ffmpeg/fmp4-builders.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,sBAAsB,EAC9H,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,UAAkB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAErE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,6CAA6C,CAAC,CAAC;IAE5E,uKAAuK;IACvK,MAAM,IAAI,GAAG,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAE7C,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAE,MAAM,EAAE,OAAO,CAAE,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAkB;IAE5D,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,QAAQ,GAAG,KAAK;IAE/D,IAAG,QAAQ,EAAE,CAAC;QAEZ,kKAAkK;QAClK,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,gIAAgI;IAChI,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEjC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEtC,OAAO,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CAAC,OAO3B;IAEC,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAE,gBAAgB,EAAE,QAAQ,GAAG,KAAK,EAAE,mBAAmB,GAAG,KAAK,EAAE,iBAAiB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAE7J,oKAAoK;IACpK,IAAI,KAAK,GAAG,qBAAqB,CAAC;IAElC,IAAG,mBAAmB,EAAE,CAAC;QAEvB,KAAK,IAAI,4BAA4B,CAAC;IACxC,CAAC;IAED,IAAG,iBAAiB,EAAE,CAAC;QAErB,KAAK,IAAI,sBAAsB,CAAC;IAClC,CAAC;IAED,IAAG,eAAe,EAAE,CAAC;QAEnB,KAAK,IAAI,yBAAyB,CAAC;IACrC,CAAC;IAED,IAAG,WAAW,EAAE,CAAC;QAEf,KAAK,IAAI,qBAAqB,CAAC;IACjC,CAAC;IAED,uJAAuJ;IACvJ,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE/B,uDAAuD;IACvD,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IAC5C,oBAAoB;IACpB,MAAM,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEnB,oEAAoE;IACpE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B,IAAG,mBAAmB,EAAE,CAAC;QAEvB,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzC,gBAAgB,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IAED,6JAA6J;IAC7J,wBAAwB;IACxB,IAAG,iBAAiB,EAAE,CAAC;QAErB,IAAG,eAAe,EAAE,CAAC;YAEnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,IAAG,WAAW,EAAE,CAAC;YAEf,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,IAAG,CAAC,QAAQ,EAAE,CAAC;YAEb,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEvC,cAAc,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|