@openmixer/plugin-qualify 0.17.4 → 0.18.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/README.md +53 -15
- package/bin/plugin-qualify-sync.mjs +1 -1
- package/dist/clap-qualify.d.ts +3 -1
- package/dist/clap-qualify.js +7 -1
- package/dist/clap-qualify.js.map +1 -1
- package/dist/direct-limit.d.ts +27 -0
- package/dist/direct-limit.js +52 -0
- package/dist/direct-limit.js.map +1 -0
- package/dist/host-admission.d.ts +10 -2
- package/dist/host-admission.js +13 -2
- package/dist/host-admission.js.map +1 -1
- package/dist/host-profiles.d.ts +8 -0
- package/dist/host-profiles.js +16 -1
- package/dist/host-profiles.js.map +1 -1
- package/dist/hosting-codes.generated.d.ts +10 -0
- package/dist/hosting-codes.generated.js +10 -0
- package/dist/hosting-codes.generated.js.map +1 -1
- package/dist/hosting-suitability.d.ts +34 -8
- package/dist/hosting-suitability.js +92 -7
- package/dist/hosting-suitability.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/measurement/format.d.ts +54 -8
- package/dist/measurement/format.js +54 -3
- package/dist/measurement/format.js.map +1 -1
- package/dist/measurement/plan.d.ts +3 -3
- package/dist/measurement/plan.js +1 -1
- package/dist/measurement-grid.d.ts +8 -0
- package/dist/measurement-grid.js +4 -0
- package/dist/measurement-grid.js.map +1 -1
- package/dist/memory-bound.d.ts +6 -0
- package/dist/memory-bound.js +8 -0
- package/dist/memory-bound.js.map +1 -1
- package/dist/memory-budget.d.ts +39 -0
- package/dist/memory-budget.js +32 -0
- package/dist/memory-budget.js.map +1 -0
- package/dist/probe-judge.js +22 -9
- package/dist/probe-judge.js.map +1 -1
- package/dist/probe-merge.js +6 -5
- package/dist/probe-merge.js.map +1 -1
- package/dist/probe-output-fixtures.d.ts +6 -0
- package/dist/probe-output-fixtures.js +8 -0
- package/dist/probe-output-fixtures.js.map +1 -1
- package/dist/probe-output.d.ts +4 -2
- package/dist/probe-output.js +2 -1
- package/dist/probe-output.js.map +1 -1
- package/dist/probe-runner.js +6 -3
- package/dist/probe-runner.js.map +1 -1
- package/dist/qualification-record.d.ts +26 -2
- package/dist/qualification-record.js +17 -18
- package/dist/qualification-record.js.map +1 -1
- package/dist/qualify-declarations.d.ts +30 -11
- package/dist/qualify-declarations.js +38 -2
- package/dist/qualify-declarations.js.map +1 -1
- package/dist/qualify-sync.d.ts +20 -0
- package/dist/qualify-sync.js +101 -10
- package/dist/qualify-sync.js.map +1 -1
- package/package.json +1 -1
- package/src/clap-qualify.ts +8 -1
- package/src/direct-limit.ts +68 -0
- package/src/host-admission.ts +15 -2
- package/src/host-profiles.ts +17 -1
- package/src/hosting-codes.generated.ts +10 -0
- package/src/hosting-suitability.ts +105 -11
- package/src/index.ts +1 -0
- package/src/measurement/format.ts +97 -3
- package/src/measurement/plan.ts +3 -3
- package/src/measurement-grid.ts +5 -0
- package/src/memory-bound.ts +10 -0
- package/src/memory-budget.ts +55 -0
- package/src/probe-judge.ts +21 -8
- package/src/probe-merge.ts +6 -5
- package/src/probe-output-fixtures.ts +10 -1
- package/src/probe-output.ts +5 -2
- package/src/probe-runner.ts +5 -3
- package/src/qualification-record.ts +22 -4
- package/src/qualify-declarations.ts +49 -3
- package/src/qualify-sync.ts +103 -9
- package/tools/_declarations.py +1 -0
- package/tools/benchmark.py +25 -2
- package/tools/gen-python-declarations.mjs +1 -0
- package/tools/lv2-measure.mjs +7 -4
- package/tools/lv2_presets.py +1 -1
- package/tools/mod-host-admit.mjs +2 -1
package/README.md
CHANGED
|
@@ -119,6 +119,28 @@ judged as usual. A plugin whose every run ended `probe.oom` is `unknown` under e
|
|
|
119
119
|
A host whose own cell ended `probe.oom` is `unknown` there as well (`memory`, `probe.oom`): the plugin did not
|
|
120
120
|
run within the bound at that host's rate and quantum.
|
|
121
121
|
|
|
122
|
+
Where the machine delegates the memory controller, the runner sets the bound as `memory.max` of a cgroup instead: a run the
|
|
123
|
+
kernel kills at it is `probe.memory-limit`, read the same way, and the document's `limits` says which it was. A process
|
|
124
|
+
plugin-qualify spawns itself, with no runner (`tools/lv2-measure.mjs`, `tools/benchmark.py`), runs under `RLIMIT_AS` at the
|
|
125
|
+
machine's RAM, off for a sanitizer build; hitting it is `memory-limit-exceeded`, with the limit.
|
|
126
|
+
|
|
127
|
+
### Memory
|
|
128
|
+
|
|
129
|
+
Each cell carries a footprint: how far the resident set of a process of its own grew, in KB, after instantiate, after
|
|
130
|
+
activate, at rest after processing, with notes held for an instrument, and what a second instance added. A record adds what
|
|
131
|
+
they come to: `firstInstanceKb`, the most one instance held with everything its instances share, and `perInstanceKb`, what
|
|
132
|
+
one more costs.
|
|
133
|
+
|
|
134
|
+
A host with a memory budget reads them, at every cell it runs, and the verdict follows:
|
|
135
|
+
`hosting.memory.within-ceiling`, `hosting.memory.above-ceiling` (`unsuitable`), or `hosting.memory.unmeasured` (`unknown`,
|
|
136
|
+
since a missing figure never reads as fitting). `openmixer-console` has one, sized for the desk, and the Raspberry Pi hosts
|
|
137
|
+
`openmixer-pi-4gb` and `openmixer-pi-8gb`, at 48000/128 and 48000/256, have one each. The Pi budgets are not measured on a Pi
|
|
138
|
+
yet, so a plugin under them is `conditional`, `hosting.memory.within-provisional-ceiling`: that gives the figure and the
|
|
139
|
+
ceiling and does not say the plugin fits. The other hosts have no budget, and read nothing.
|
|
140
|
+
|
|
141
|
+
A soak (LV2; the CLAP prober has no continuous render yet) also reads the growth: past 10 MB per minute of audio over its
|
|
142
|
+
second half, provisional, the rate fails as `leaks`.
|
|
143
|
+
|
|
122
144
|
### How long a run takes
|
|
123
145
|
|
|
124
146
|
The default grid is the full one, so the expected time of a run with no grid option is the `full` row: about 65 hours on a Raspberry Pi 5 for the vangelis set (1823 records). `--grid-hosts` is the fast option, about 30 hours there.
|
|
@@ -180,13 +202,13 @@ be read (permissions, a symlink loop) also refuses with exit 2, naming it.
|
|
|
180
202
|
The prober runs each plugin headless at every cell of the grid (see "The measurement grid"), under an interposer that counts the
|
|
181
203
|
allocations, locks and syscalls its `process()` makes while every parameter is swept, and prints
|
|
182
204
|
the file's SHA-256 beside what it measured. The verdict is the real-time-safety one: **suitable**
|
|
183
|
-
only on a clean count, **
|
|
184
|
-
`process()
|
|
205
|
+
only on a clean count, **conditional** (isolated in the pin: it runs in a worker of its own, never refused) on any
|
|
206
|
+
allocation, lock, syscall or main-thread host call from `process()`, **unsuitable** on `CLAP_PROCESS_ERROR`, **unknown** when it could not be counted. An instrument is
|
|
185
207
|
quiet until it is played, so a plugin with a note input is also played, at every rate and under a
|
|
186
208
|
count of its own: a chord, the pitch bent and a controller moved, pressure, the chord let go, a
|
|
187
209
|
burst of 32 note ons in one block and their offs, all notes off, in the dialect its note input
|
|
188
|
-
reads (CLAP's, else MIDI's). An allocation, lock or syscall while it plays is **
|
|
189
|
-
(`hosting.rt-safety.violations-under-notes`); an instrument that could not be played under the
|
|
210
|
+
reads (CLAP's, else MIDI's). An allocation, lock or syscall while it plays is **conditional**, isolated in the pin like the same
|
|
211
|
+
violation in the run (`hosting.rt-safety.violations-under-notes`); an instrument that could not be played under the
|
|
190
212
|
interposer is **unknown** (`hosting.rt-safety.notes-unmeasured`). `--out` writes the qualification records and the probe outputs they judged (see
|
|
191
213
|
"Judging a probe output" below), one pair per plugin binary and offered host extensions. Each plugin's pin is
|
|
192
214
|
an `integrity` block in the probe output: the `.clap`'s SHA-256 by its file name and the parameter-layout
|
|
@@ -218,7 +240,7 @@ class, so a reference figure and a local one are told apart. The record holds, f
|
|
|
218
240
|
quantum, and the figures as measured. Exit `0` every plugin qualified, `1` some did not, `2` something could not
|
|
219
241
|
be read or judged.
|
|
220
242
|
|
|
221
|
-
The verdict is the same one `plugin-qualify` gives CLAP plugins
|
|
243
|
+
The verdict is the same one `plugin-qualify` gives CLAP plugins, the real-time-safety one, now for LV2 as
|
|
222
244
|
well; cost is reported beside it, not folded into it. Cost is read at the profile's rate AND quantum: a pair the
|
|
223
245
|
document does not hold reads `hosting.cost.unmeasured-at-rate-and-quantum`, and two quanta of one plugin that cost
|
|
224
246
|
differently give two different cost reasons. Only a measurement of the old format, which keeps one figure per
|
|
@@ -246,7 +268,7 @@ Every cell of a record carries `latency`: the two figures when the run took them
|
|
|
246
268
|
step that did not end well gives the child's reason (`silent-output`, say); a cell whose run failed, its outcome's
|
|
247
269
|
word (`probe-crashed`, or `probe-error` for `probe.oom`); a run that took no latency at all (a runner or a child
|
|
248
270
|
older than the latency arm), `not-attempted`. The declared figure alone, for a plugin whose response could not be
|
|
249
|
-
measured, is not in the probe output
|
|
271
|
+
measured, is not in the probe output: plugin-hostd's runner writes a cell's latency only with both figures.
|
|
250
272
|
|
|
251
273
|
|
|
252
274
|
The prober also scans: `OMX_CLAP_SCAN=native/build/clap-qualify` makes it the scanner, and its scan
|
|
@@ -360,12 +382,12 @@ writer needs Python's `jsonschema` (`python3-jsonschema`).
|
|
|
360
382
|
|
|
361
383
|
- **suitable**: every dimension was measured and passed. Safe to run inside the engine's own
|
|
362
384
|
process. This is the only verdict that counts as qualified.
|
|
363
|
-
- **conditional**: it works, with a caution (for example a high cost at small quanta
|
|
364
|
-
run isolated, and the deciding reason names the caution.
|
|
385
|
+
- **conditional**: it works, with a caution (for example a high cost at small quanta, or an
|
|
386
|
+
allocation, lock or syscall in `run()`). It is run isolated, and the deciding reason names the caution.
|
|
365
387
|
- **unknown**: something was not measured. An unmeasured plugin is never a pass.
|
|
366
|
-
- **unsuitable**: a measured failure: a crash, a memory error in the plugin's own binary, a
|
|
367
|
-
|
|
368
|
-
|
|
388
|
+
- **unsuitable**: a measured failure: a crash, a memory error in the plugin's own binary, or a
|
|
389
|
+
required feature the host does not provide. An allocation, lock or syscall in `run()` is not
|
|
390
|
+
one: that plugin is **conditional**, and runs isolated.
|
|
369
391
|
|
|
370
392
|
The worst dimension decides. The text output prints the plugin, its verdict and the reason that
|
|
371
393
|
decided it.
|
|
@@ -417,9 +439,11 @@ death on mod-host the next admission starts a fresh host. `plugin-qualify judge`
|
|
|
417
439
|
that holds no run, so its `jalv` and `mod-host` entries stay `arm: "declaration"`.
|
|
418
440
|
|
|
419
441
|
**The console's two tiers.** Every record carries `tiers`: the *in-process* verdict (`openmixer-console`) and the
|
|
420
|
-
*isolated* verdict (`
|
|
421
|
-
and, when neither did, `dimmed` with the reason.
|
|
422
|
-
|
|
442
|
+
*isolated* verdict (`omx-clap-host`, an LV2 plugin through plugin-hostd's LV2 adapter), `offeredOn` (the tiers whose
|
|
443
|
+
verdict qualified) and, when neither did, `dimmed` with the reason. An LV2 plugin is run once under the adapter, and
|
|
444
|
+
that run decides its `omx-clap-host` verdict as a mod-host run decides mod-host's. A plugin that kills the isolated
|
|
445
|
+
host and qualifies in-process is offered in-process only. The tiers are judged for every plugin whether or not
|
|
446
|
+
`--host-profile` names them; mod-host and jalv are run only when `--host-profile` asks for them.
|
|
423
447
|
|
|
424
448
|
`omx-clap-host` offers a CLAP plugin the console's six host extensions and three more,
|
|
425
449
|
`clap.preset-load/2`, `clap.track-info/1` and `clap.remote-controls/2`. A CLAP plugin judged
|
|
@@ -460,7 +484,7 @@ With several profiles, the exit code is `0` only if every plugin qualifies under
|
|
|
460
484
|
|
|
461
485
|
### The JSON document
|
|
462
486
|
|
|
463
|
-
`--out <dir>` writes one interchange document per run (`lv2-plugin-measurements`, format 1.
|
|
487
|
+
`--out <dir>` writes one interchange document per run (`lv2-plugin-measurements`, format 1.6,
|
|
464
488
|
the same format the OpenMixer console reads). The
|
|
465
489
|
`plugins` array holds the raw, host-free measurements. Beside it, `hostProfiles` holds each
|
|
466
490
|
profile the run judged against, in full, and `verdicts` holds one entry per plugin per profile:
|
|
@@ -523,6 +547,8 @@ qualified 2, skipped 0, refused 0, crashed 1, hung 1, unmeasured 0, distributed
|
|
|
523
547
|
A plugin that is no longer found, or whose bytes changed, leaves nothing behind: its pin, its qualification
|
|
524
548
|
record (with the probe output copied beside it) and its descriptor are removed. Records the sync did not write
|
|
525
549
|
stay, and nothing is removed in a run that could not read a bundle, so a half-written install is no uninstall.
|
|
550
|
+
A run looks only where its settings point: a plugin outside every directory of its format that the run scans is
|
|
551
|
+
kept as it is (a run scoped to LV2 keeps every CLAP pin), and only one missing from a directory it scans is gone.
|
|
526
552
|
A running plugin-hostd is told with `pin_clear`.
|
|
527
553
|
|
|
528
554
|
When plugin-hostd answers on `hostd_port`, the changed pins are also sent to it with `pin_set` and apply at
|
|
@@ -553,11 +579,23 @@ Those are the service's (`--system`); run by a user, the files go under `$XDG_ST
|
|
|
553
579
|
directory added here belongs in plugin-hostd's `lv2_path` too, or the daemon cannot find the bundle it
|
|
554
580
|
pinned. `--force` qualifies everything again, and `--no-distributed` reads no distributed record. A second `plugin-qualify-sync` waits for the run in progress (a lock on `<state_file>.lock`); `--no-wait` exits 0 at once and leaves a marker, and the holder runs once more at its end over what changed meanwhile.
|
|
555
581
|
|
|
582
|
+
Every run starts by bringing each pin's files up to the ones `plugin-hostd --pin-files` names, measuring nothing: a pin
|
|
583
|
+
written before 0.17.3 lacks the preset files an LV2's manifest names, which plugin-hostd 0.15.0 also checks, and its add
|
|
584
|
+
answers -509 until then. The new list replaces the old one when no file both lists hold changed its hash, so the verdict
|
|
585
|
+
stands; a changed file is measured again by the run. `--refresh-pins` does only that, writes the pin file and sends the
|
|
586
|
+
changed pins to a running plugin-hostd; the package's upgrade runs it (plugin-qualify#239).
|
|
587
|
+
|
|
556
588
|
The path unit names the standard folders (`/usr/lib/lv2`, `/usr/lib64/lv2`, `/usr/local/lib/lv2`,
|
|
557
589
|
`/usr/lib/clap`, `/usr/lib64/clap`). The folders the settings file adds (`lv2_path`, `lv2_extra`, `clap_path`,
|
|
558
590
|
`clap_extra`) are written into a drop-in of the unit by a systemd generator at boot and at every
|
|
559
591
|
`systemctl daemon-reload`, so the file is the one place a machine's extra folders are written.
|
|
560
592
|
|
|
593
|
+
The path unit watches a folder, not the bundles inside it: a new bundle appearing in a watched folder is
|
|
594
|
+
seen at once, but a package's own files being replaced in place (an upgrade) is not a change of the folder
|
|
595
|
+
itself. A packaged plugin is still caught at once, by the distribution's install triggers over the standard
|
|
596
|
+
folders. An unpackaged bundle replaced in place in an extra folder is caught at the next run of
|
|
597
|
+
plugin-qualify-sync.timer, at most about 15 minutes after the change.
|
|
598
|
+
|
|
561
599
|
### Distributed records
|
|
562
600
|
|
|
563
601
|
A device that ships with a known plugin set need not measure it again at first start. The qualification records
|
|
@@ -51,7 +51,7 @@ log(
|
|
|
51
51
|
`memory ${s.memory === undefined ? "unbounded" : `${String(s.memory.bytes)} bytes`}`,
|
|
52
52
|
);
|
|
53
53
|
try {
|
|
54
|
-
const summary = await runSync(s, { force: parsed.args.force, wait: !parsed.args.noWait, log });
|
|
54
|
+
const summary = await runSync(s, { force: parsed.args.force, wait: !parsed.args.noWait, refreshOnly: parsed.args.refreshPins, log });
|
|
55
55
|
if (summary !== undefined) {
|
|
56
56
|
process.stdout.write(`${summaryLine(summary)}\n`);
|
|
57
57
|
log(`pins in ${s.pinFile}${summary.sent ? `, ${String(summary.sent)} sent to plugin-hostd` : ""}`);
|
package/dist/clap-qualify.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type HostingReason, type PluginClapMeasurement, type PluginNoteSweepMea
|
|
|
2
2
|
import { type HostProfile } from "./host-profiles.js";
|
|
3
3
|
import type { QualifyVerdict } from "./qualify-cli.js";
|
|
4
4
|
import { type SuitabilityRating } from "./rating.js";
|
|
5
|
-
import { type IntegrityMeasurement, type VoicesHeld } from "./measurement/format.js";
|
|
5
|
+
import { type IntegrityMeasurement, type MemoryFootprint, type VoicesHeld } from "./measurement/format.js";
|
|
6
6
|
export declare class ClapQualifyError extends Error {
|
|
7
7
|
constructor(message: string);
|
|
8
8
|
}
|
|
@@ -53,6 +53,8 @@ export interface ClapCostReading {
|
|
|
53
53
|
/** The percentile `nsPerSampleP95` is taken at. */
|
|
54
54
|
readonly percentile: number;
|
|
55
55
|
readonly perRate: Readonly<Record<string, ClapCostAtRate>>;
|
|
56
|
+
/** What one instance held at each rate (`memory` on the prober's per-rate object), read apart from the timing. */
|
|
57
|
+
readonly memory?: Readonly<Record<string, MemoryFootprint>>;
|
|
56
58
|
}
|
|
57
59
|
/** One plugin's line from `clap-qualify`. */
|
|
58
60
|
export interface ClapQualifyLine {
|
package/dist/clap-qualify.js
CHANGED
|
@@ -16,7 +16,7 @@ import { HOSTING_CODE, clapRtReasons, contributedHostingRating, noteSweepReasons
|
|
|
16
16
|
import { OMX_CLAP_HOST_CONFIGURED_EXTENSIONS, OMX_CLAP_HOST_EXTENSIONS, OPENMIXER_CONSOLE_PROFILE, } from "./host-profiles.js";
|
|
17
17
|
import { RATING_SEVERITY, worstRating } from "./rating.js";
|
|
18
18
|
import { halfPopulatedRefusal, locateNativeTools } from "./tool-paths.js";
|
|
19
|
-
import { readIntegrity } from "./measurement/format.js";
|
|
19
|
+
import { readIntegrity, readMemoryFootprint } from "./measurement/format.js";
|
|
20
20
|
import { isVoiceBasis } from "./measurement/vocabulary.js";
|
|
21
21
|
import { coreFraction } from "./cost-fields.js";
|
|
22
22
|
export class ClapQualifyError extends Error {
|
|
@@ -198,10 +198,14 @@ function readCost(v) {
|
|
|
198
198
|
if (!isRecord(perRateIn))
|
|
199
199
|
return bad("cost has no perRate map");
|
|
200
200
|
const perRate = {};
|
|
201
|
+
const memory = {};
|
|
201
202
|
for (const [rate, at] of Object.entries(perRateIn)) {
|
|
202
203
|
if (!/^[1-9]\d*$/.test(rate))
|
|
203
204
|
return bad(`cost rate ${rate}`);
|
|
204
205
|
perRate[rate] = readCostAtRate(at, `cost at ${rate}`, stimulus === "notes-held");
|
|
206
|
+
const footprint = isRecord(at) ? readMemoryFootprint(at["memory"]) : undefined;
|
|
207
|
+
if (footprint !== undefined)
|
|
208
|
+
memory[rate] = footprint;
|
|
205
209
|
}
|
|
206
210
|
return {
|
|
207
211
|
stimulus,
|
|
@@ -209,6 +213,7 @@ function readCost(v) {
|
|
|
209
213
|
warmupBlocks: count(v, "warmupBlocks", "cost"),
|
|
210
214
|
percentile: figure(v, "percentile", "cost"),
|
|
211
215
|
perRate,
|
|
216
|
+
...(Object.keys(memory).length === 0 ? {} : { memory }),
|
|
212
217
|
};
|
|
213
218
|
}
|
|
214
219
|
/**
|
|
@@ -250,6 +255,7 @@ export function qualifiedPluginOfClapLine(line, stability) {
|
|
|
250
255
|
clap,
|
|
251
256
|
rtSafety: { ...rtSafety, noteSweep },
|
|
252
257
|
cpuCost: { perRate: clapCostPerRate(line.cost) },
|
|
258
|
+
...(line.cost?.memory === undefined ? {} : { memory: { perRate: line.cost.memory } }),
|
|
253
259
|
...(stability === undefined ? {} : { stability }),
|
|
254
260
|
};
|
|
255
261
|
}
|
package/dist/clap-qualify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clap-qualify.js","sourceRoot":"","sources":["../src/clap-qualify.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"clap-qualify.js","sourceRoot":"","sources":["../src/clap-qualify.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** The outcome of a direct spawn that hit its limit. */
|
|
2
|
+
export declare const MEMORY_LIMIT_EXCEEDED = "memory-limit-exceeded";
|
|
3
|
+
export declare const ADDRESS_SPACE_MECHANISM = "rlimit-as";
|
|
4
|
+
/** Whether the program is built with a sanitizer that reserves address space: its own init symbol is in the binary. */
|
|
5
|
+
export declare function isSanitizerBuild(tool: string, read?: (path: string) => Buffer): boolean;
|
|
6
|
+
export interface DirectSpawn {
|
|
7
|
+
readonly command: string;
|
|
8
|
+
readonly args: readonly string[];
|
|
9
|
+
readonly env: Readonly<Record<string, string>>;
|
|
10
|
+
/** The limit it runs under, in bytes; absent for a sanitizer build. */
|
|
11
|
+
readonly limitBytes?: number;
|
|
12
|
+
}
|
|
13
|
+
/** The limit a direct spawn takes by default: `ADDRESS_SPACE_LIMIT_RAM_FRACTION` of the machine's RAM. */
|
|
14
|
+
export declare const defaultAddressSpaceLimit: (ramBytes?: number) => number;
|
|
15
|
+
/**
|
|
16
|
+
* How to spawn `tool` under the limit: the shell sets it and execs the program, since node has no way to set a child's
|
|
17
|
+
* rlimit. The program's own process stays the one spawned, so a signal or a timeout reaches it as before.
|
|
18
|
+
*/
|
|
19
|
+
export declare function addressSpaceLimited(tool: string, args: readonly string[], limitBytes?: number, sanitizer?: boolean): DirectSpawn;
|
|
20
|
+
/** What the end of a direct spawn under a limit comes to: the outcome and the limit when it hit it, else nothing. */
|
|
21
|
+
export declare function directOutcome(status: number | null, spawn: DirectSpawn): {
|
|
22
|
+
readonly outcome: string;
|
|
23
|
+
readonly memoryLimit: {
|
|
24
|
+
readonly bytes: number;
|
|
25
|
+
readonly mechanism: string;
|
|
26
|
+
};
|
|
27
|
+
} | undefined;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
2
|
+
// Copyright (C) 2026 Pau Aliagas <linuxnow@gmail.com>
|
|
3
|
+
/**
|
|
4
|
+
* The hard limit of a process plugin-qualify spawns directly. Through plugin-hostd's runner a measured child has `memory.max`;
|
|
5
|
+
* a direct spawn has no runner, so it gets `RLIMIT_AS`, which needs no privilege. It is off for a sanitizer build, which
|
|
6
|
+
* reserves far more address space than it uses and would fail at start under any limit worth having.
|
|
7
|
+
*
|
|
8
|
+
* Hitting the limit is an outcome: the interposer ends the child with `MEMORY_BOUND_EXIT_STATUS` on the first refused
|
|
9
|
+
* allocation when `MEMORY_BOUND_EXIT_ENV` is set ({@link addressSpaceLimited} sets it), and {@link directOutcome} names it.
|
|
10
|
+
*/
|
|
11
|
+
import { readFileSync } from "node:fs";
|
|
12
|
+
import { totalmem } from "node:os";
|
|
13
|
+
import { ADDRESS_SPACE_LIMIT_RAM_FRACTION, MEMORY_BOUND_EXIT_ENV, MEMORY_BOUND_EXIT_STATUS } from "./qualify-declarations.js";
|
|
14
|
+
/** The outcome of a direct spawn that hit its limit. */
|
|
15
|
+
export const MEMORY_LIMIT_EXCEEDED = "memory-limit-exceeded";
|
|
16
|
+
export const ADDRESS_SPACE_MECHANISM = "rlimit-as";
|
|
17
|
+
const SANITIZER_ENTRY = ["__asan_init", "__tsan_init", "__msan_init"];
|
|
18
|
+
/** Whether the program is built with a sanitizer that reserves address space: its own init symbol is in the binary. */
|
|
19
|
+
export function isSanitizerBuild(tool, read = (p) => readFileSync(p)) {
|
|
20
|
+
let bytes;
|
|
21
|
+
try {
|
|
22
|
+
bytes = read(tool);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
return SANITIZER_ENTRY.some((s) => bytes.includes(s));
|
|
28
|
+
}
|
|
29
|
+
/** The limit a direct spawn takes by default: `ADDRESS_SPACE_LIMIT_RAM_FRACTION` of the machine's RAM. */
|
|
30
|
+
export const defaultAddressSpaceLimit = (ramBytes = totalmem()) => Math.floor(ramBytes * ADDRESS_SPACE_LIMIT_RAM_FRACTION);
|
|
31
|
+
/**
|
|
32
|
+
* How to spawn `tool` under the limit: the shell sets it and execs the program, since node has no way to set a child's
|
|
33
|
+
* rlimit. The program's own process stays the one spawned, so a signal or a timeout reaches it as before.
|
|
34
|
+
*/
|
|
35
|
+
export function addressSpaceLimited(tool, args, limitBytes = defaultAddressSpaceLimit(), sanitizer = isSanitizerBuild(tool)) {
|
|
36
|
+
if (sanitizer)
|
|
37
|
+
return { command: tool, args, env: {} };
|
|
38
|
+
const kb = Math.ceil(limitBytes / 2 ** 10);
|
|
39
|
+
return {
|
|
40
|
+
command: "/bin/sh",
|
|
41
|
+
args: ["-c", `ulimit -v ${String(kb)} && exec "$@"`, "sh", tool, ...args],
|
|
42
|
+
env: { [MEMORY_BOUND_EXIT_ENV]: "1" },
|
|
43
|
+
limitBytes,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/** What the end of a direct spawn under a limit comes to: the outcome and the limit when it hit it, else nothing. */
|
|
47
|
+
export function directOutcome(status, spawn) {
|
|
48
|
+
if (spawn.limitBytes === undefined || status !== MEMORY_BOUND_EXIT_STATUS)
|
|
49
|
+
return undefined;
|
|
50
|
+
return { outcome: MEMORY_LIMIT_EXCEEDED, memoryLimit: { bytes: spawn.limitBytes, mechanism: ADDRESS_SPACE_MECHANISM } };
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=direct-limit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"direct-limit.js","sourceRoot":"","sources":["../src/direct-limit.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;GAOG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,EAAE,gCAAgC,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAE9H,wDAAwD;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC;AAC7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;AAEnD,MAAM,eAAe,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;AAEtE,uHAAuH;AACvH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,OAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACpG,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAUD,0GAA0G;AAC1G,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,WAAmB,QAAQ,EAAE,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,gCAAgC,CAAC,CAAC;AAE3I;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,IAAuB,EACvB,aAAqB,wBAAwB,EAAE,EAC/C,YAAqB,gBAAgB,CAAC,IAAI,CAAC;IAE3C,IAAI,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO;QACL,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACzE,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE;QACrC,UAAU;KACX,CAAC;AACJ,CAAC;AAED,qHAAqH;AACrH,MAAM,UAAU,aAAa,CAAC,MAAqB,EAAE,KAAkB;IACrE,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,KAAK,wBAAwB;QAAE,OAAO,SAAS,CAAC;IAC5F,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,uBAAuB,EAAE,EAAE,CAAC;AAC1H,CAAC"}
|
package/dist/host-admission.d.ts
CHANGED
|
@@ -6,10 +6,16 @@ export type AdmittedHost = (typeof ADMITTED_HOSTS)[number];
|
|
|
6
6
|
export declare function admittedHostOf(profile: HostProfile): AdmittedHost | undefined;
|
|
7
7
|
/**
|
|
8
8
|
* plugin-hostd's LV2 adapter, omx-clap-host: an LV2 plugin is run under it once, as under mod-host, and the record
|
|
9
|
-
* carries the outcome as its own step
|
|
10
|
-
*
|
|
9
|
+
* carries the outcome as its own step (plugin-qualify#223). The run decides the omx-clap-host verdict of an LV2
|
|
10
|
+
* plugin, the isolated tier, as a mod-host run decides mod-host's; a CLAP plugin's stays the measurement.
|
|
11
11
|
*/
|
|
12
12
|
export declare const ADAPTER_HOST = "omx-clap-host";
|
|
13
|
+
/**
|
|
14
|
+
* Whether this run decides the profile's verdict for a plugin of this format. A mod-host or jalv run always does, an
|
|
15
|
+
* unmeasured one making the verdict unknown; the adapter's only when it measured, since the omx-clap-host verdict
|
|
16
|
+
* otherwise stands on the measurement.
|
|
17
|
+
*/
|
|
18
|
+
export declare function runDecides(profile: HostProfile, format: string, admission: HostAdmission): boolean;
|
|
13
19
|
/** What running the plugin under one host came to. */
|
|
14
20
|
export interface HostAdmission {
|
|
15
21
|
readonly host: AdmittedHost | typeof ADAPTER_HOST;
|
|
@@ -31,6 +37,8 @@ export interface ModHostStep {
|
|
|
31
37
|
/** What `tools/mod-host-admit.mjs` printed. */
|
|
32
38
|
export interface ModHostRun {
|
|
33
39
|
readonly installed: boolean;
|
|
40
|
+
/** False when the host never took a connection (omx-clap-host with no JACK server): no plugin was loaded. */
|
|
41
|
+
readonly started?: boolean;
|
|
34
42
|
readonly steps: readonly ModHostStep[];
|
|
35
43
|
}
|
|
36
44
|
/** The verdict of a run of a host that speaks mod-host's protocol: the first step that did not answer `resp 0` decides. */
|
package/dist/host-admission.js
CHANGED
|
@@ -18,10 +18,18 @@ export function admittedHostOf(profile) {
|
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* plugin-hostd's LV2 adapter, omx-clap-host: an LV2 plugin is run under it once, as under mod-host, and the record
|
|
21
|
-
* carries the outcome as its own step
|
|
22
|
-
*
|
|
21
|
+
* carries the outcome as its own step (plugin-qualify#223). The run decides the omx-clap-host verdict of an LV2
|
|
22
|
+
* plugin, the isolated tier, as a mod-host run decides mod-host's; a CLAP plugin's stays the measurement.
|
|
23
23
|
*/
|
|
24
24
|
export const ADAPTER_HOST = "omx-clap-host";
|
|
25
|
+
/**
|
|
26
|
+
* Whether this run decides the profile's verdict for a plugin of this format. A mod-host or jalv run always does, an
|
|
27
|
+
* unmeasured one making the verdict unknown; the adapter's only when it measured, since the omx-clap-host verdict
|
|
28
|
+
* otherwise stands on the measurement.
|
|
29
|
+
*/
|
|
30
|
+
export function runDecides(profile, format, admission) {
|
|
31
|
+
return admittedHostOf(profile) !== undefined || (profile.id === ADAPTER_HOST && format === "lv2" && admission.measured);
|
|
32
|
+
}
|
|
25
33
|
const admitted = (host) => ({ host, measured: true, admitted: true, params: {} });
|
|
26
34
|
const refused = (host, code, params = {}) => ({
|
|
27
35
|
host,
|
|
@@ -35,6 +43,9 @@ const notInstalled = (host) => ({ host, measured: false, admitted: false, code:
|
|
|
35
43
|
export function classifyProtocolRun(host, run) {
|
|
36
44
|
if (!run.installed)
|
|
37
45
|
return notInstalled(host);
|
|
46
|
+
// the host never listened, so the plugin was never loaded: nothing was learned about it
|
|
47
|
+
if (run.started === false)
|
|
48
|
+
return { host, measured: false, admitted: false, code: `${host}.not-started`, params: {} };
|
|
38
49
|
for (const s of run.steps) {
|
|
39
50
|
if (s.died !== undefined) {
|
|
40
51
|
if (s.died.startsWith("SIG"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-admission.js","sourceRoot":"","sources":["../src/host-admission.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;GAOG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,MAAM,CAAU,CAAC;AAG5D,qGAAqG;AACrG,MAAM,UAAU,cAAc,CAAC,OAAoB;IACjD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"host-admission.js","sourceRoot":"","sources":["../src/host-admission.ts"],"names":[],"mappings":"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"}
|
package/dist/host-profiles.d.ts
CHANGED
|
@@ -54,6 +54,14 @@ export declare const MOD_HOST_PROFILE: HostProfile;
|
|
|
54
54
|
* console's in-process stage.
|
|
55
55
|
*/
|
|
56
56
|
export declare const OMX_CLAP_HOST_PROFILE: HostProfile;
|
|
57
|
+
/**
|
|
58
|
+
* A Raspberry Pi with 4 GB, and with 8 GB: what runs a plugin there is omx-clap-host under plugin-hostd, so the same
|
|
59
|
+
* extensions, instruments and isolation, on the rates, quanta and memory of the board. Its memory budget is provisional
|
|
60
|
+
* ({@link HOST_BUDGETS}), so a plugin under it is `conditional` until the numbers are measured on a Pi, and the reason says
|
|
61
|
+
* so. Judged at every cell the board runs.
|
|
62
|
+
*/
|
|
63
|
+
export declare const PI_4GB_PROFILE: HostProfile;
|
|
64
|
+
export declare const PI_8GB_PROFILE: HostProfile;
|
|
57
65
|
/** Every profile the tool ships, by id. */
|
|
58
66
|
export declare const HOST_PROFILES: readonly HostProfile[];
|
|
59
67
|
/** A shipped profile by id, or `undefined`. */
|
package/dist/host-profiles.js
CHANGED
|
@@ -146,8 +146,23 @@ export const OMX_CLAP_HOST_PROFILE = {
|
|
|
146
146
|
latency: "uncompensated",
|
|
147
147
|
isolation: "shared-process",
|
|
148
148
|
};
|
|
149
|
+
/**
|
|
150
|
+
* A Raspberry Pi with 4 GB, and with 8 GB: what runs a plugin there is omx-clap-host under plugin-hostd, so the same
|
|
151
|
+
* extensions, instruments and isolation, on the rates, quanta and memory of the board. Its memory budget is provisional
|
|
152
|
+
* ({@link HOST_BUDGETS}), so a plugin under it is `conditional` until the numbers are measured on a Pi, and the reason says
|
|
153
|
+
* so. Judged at every cell the board runs.
|
|
154
|
+
*/
|
|
155
|
+
export const PI_4GB_PROFILE = { ...OMX_CLAP_HOST_PROFILE, id: "openmixer-pi-4gb", cost: HOST_BUDGETS["openmixer-pi-4gb"] };
|
|
156
|
+
export const PI_8GB_PROFILE = { ...OMX_CLAP_HOST_PROFILE, id: "openmixer-pi-8gb", cost: HOST_BUDGETS["openmixer-pi-8gb"] };
|
|
149
157
|
/** Every profile the tool ships, by id. */
|
|
150
|
-
export const HOST_PROFILES = [
|
|
158
|
+
export const HOST_PROFILES = [
|
|
159
|
+
OPENMIXER_CONSOLE_PROFILE,
|
|
160
|
+
JALV_PROFILE,
|
|
161
|
+
MOD_HOST_PROFILE,
|
|
162
|
+
OMX_CLAP_HOST_PROFILE,
|
|
163
|
+
PI_4GB_PROFILE,
|
|
164
|
+
PI_8GB_PROFILE,
|
|
165
|
+
];
|
|
151
166
|
/** A shipped profile by id, or `undefined`. */
|
|
152
167
|
export function shippedHostProfile(id) {
|
|
153
168
|
return HOST_PROFILES.find((p) => p.id === id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-profiles.js","sourceRoot":"","sources":["../src/host-profiles.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"host-profiles.js","sourceRoot":"","sources":["../src/host-profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,10 @@ export declare const HOSTING_CODE: Readonly<{
|
|
|
24
24
|
readonly latencyParameterDependent: "hosting.latency.parameter-dependent";
|
|
25
25
|
readonly latencyResolved: "hosting.latency.resolved";
|
|
26
26
|
readonly latencyUnmeasured: "hosting.latency.unmeasured";
|
|
27
|
+
readonly memoryAboveCeiling: "hosting.memory.above-ceiling";
|
|
28
|
+
readonly memoryUnmeasured: "hosting.memory.unmeasured";
|
|
29
|
+
readonly memoryWithinCeiling: "hosting.memory.within-ceiling";
|
|
30
|
+
readonly memoryWithinProvisionalCeiling: "hosting.memory.within-provisional-ceiling";
|
|
27
31
|
readonly outputNonFinite: "hosting.output.non-finite";
|
|
28
32
|
readonly overrideIsolated: "hosting.override.curator-isolated";
|
|
29
33
|
readonly patchBusy: "hosting.patch.busy";
|
|
@@ -37,6 +41,9 @@ export declare const HOSTING_CODE: Readonly<{
|
|
|
37
41
|
readonly noRealisation: "hosting.no-realisation";
|
|
38
42
|
readonly realisedInProcess: "hosting.realised.in-process";
|
|
39
43
|
readonly unjudged: "hosting.unjudged";
|
|
44
|
+
readonly resourceHintsOutOfRange: "hosting.resource-hints.out-of-range";
|
|
45
|
+
readonly resourceHintsUnknownHint: "hosting.resource-hints.unknown-hint";
|
|
46
|
+
readonly resourceHintsWrongUnit: "hosting.resource-hints.wrong-unit";
|
|
40
47
|
readonly rtSafetyClean: "hosting.rt-safety.clean-under-sweep";
|
|
41
48
|
readonly rtSafetyNotReproducible: "hosting.rt-safety.not-reproducible";
|
|
42
49
|
readonly rtSafetyNotesClean: "hosting.rt-safety.clean-under-notes";
|
|
@@ -73,4 +80,7 @@ export declare const HOSTING_CODE: Readonly<{
|
|
|
73
80
|
readonly topologyWiderThanStrip: "hosting.topology.wider-than-strip";
|
|
74
81
|
readonly workerNonconforming: "hosting.worker.nonconforming";
|
|
75
82
|
readonly idleHoldRefused: "hosting.idle.hold-refused";
|
|
83
|
+
readonly windowNoDisplay: "hosting.window.no-display";
|
|
84
|
+
readonly windowUnsupported: "hosting.window.unsupported";
|
|
85
|
+
readonly windowRefused: "hosting.window.refused";
|
|
76
86
|
}>;
|
|
@@ -31,6 +31,10 @@ export const HOSTING_CODE = Object.freeze({
|
|
|
31
31
|
"latencyParameterDependent": "hosting.latency.parameter-dependent",
|
|
32
32
|
"latencyResolved": "hosting.latency.resolved",
|
|
33
33
|
"latencyUnmeasured": "hosting.latency.unmeasured",
|
|
34
|
+
"memoryAboveCeiling": "hosting.memory.above-ceiling",
|
|
35
|
+
"memoryUnmeasured": "hosting.memory.unmeasured",
|
|
36
|
+
"memoryWithinCeiling": "hosting.memory.within-ceiling",
|
|
37
|
+
"memoryWithinProvisionalCeiling": "hosting.memory.within-provisional-ceiling",
|
|
34
38
|
"outputNonFinite": "hosting.output.non-finite",
|
|
35
39
|
"overrideIsolated": "hosting.override.curator-isolated",
|
|
36
40
|
"patchBusy": "hosting.patch.busy",
|
|
@@ -44,6 +48,9 @@ export const HOSTING_CODE = Object.freeze({
|
|
|
44
48
|
"noRealisation": "hosting.no-realisation",
|
|
45
49
|
"realisedInProcess": "hosting.realised.in-process",
|
|
46
50
|
"unjudged": "hosting.unjudged",
|
|
51
|
+
"resourceHintsOutOfRange": "hosting.resource-hints.out-of-range",
|
|
52
|
+
"resourceHintsUnknownHint": "hosting.resource-hints.unknown-hint",
|
|
53
|
+
"resourceHintsWrongUnit": "hosting.resource-hints.wrong-unit",
|
|
47
54
|
"rtSafetyClean": "hosting.rt-safety.clean-under-sweep",
|
|
48
55
|
"rtSafetyNotReproducible": "hosting.rt-safety.not-reproducible",
|
|
49
56
|
"rtSafetyNotesClean": "hosting.rt-safety.clean-under-notes",
|
|
@@ -80,5 +87,8 @@ export const HOSTING_CODE = Object.freeze({
|
|
|
80
87
|
"topologyWiderThanStrip": "hosting.topology.wider-than-strip",
|
|
81
88
|
"workerNonconforming": "hosting.worker.nonconforming",
|
|
82
89
|
"idleHoldRefused": "hosting.idle.hold-refused",
|
|
90
|
+
"windowNoDisplay": "hosting.window.no-display",
|
|
91
|
+
"windowUnsupported": "hosting.window.unsupported",
|
|
92
|
+
"windowRefused": "hosting.window.refused",
|
|
83
93
|
});
|
|
84
94
|
//# sourceMappingURL=hosting-codes.generated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosting-codes.generated.js","sourceRoot":"","sources":["../src/hosting-codes.generated.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD,EAAE;AACF,mGAAmG;AACnG,EAAE;AACF,uDAAuD;AACvD,uDAAuD;AAEvD,iGAAiG;AACjG,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,0BAA0B,EAAE,qCAAqC;IACjE,qBAAqB,EAAE,gCAAgC;IACvD,oBAAoB,EAAE,8BAA8B;IACpD,qBAAqB,EAAE,+BAA+B;IACtD,eAAe,EAAE,yBAAyB;IAC1C,kBAAkB,EAAE,4BAA4B;IAChD,qBAAqB,EAAE,+BAA+B;IACtD,iBAAiB,EAAE,0BAA0B;IAC7C,kBAAkB,EAAE,4BAA4B;IAChD,mBAAmB,EAAE,6BAA6B;IAClD,WAAW,EAAE,yBAAyB;IACtC,gBAAgB,EAAE,6CAA6C;IAC/D,mBAAmB,EAAE,6BAA6B;IAClD,qBAAqB,EAAE,gCAAgC;IACvD,uBAAuB,EAAE,oCAAoC;IAC7D,gBAAgB,EAAE,oCAAoC;IACtD,iBAAiB,EAAE,0BAA0B;IAC7C,yBAAyB,EAAE,mCAAmC;IAC9D,kBAAkB,EAAE,+BAA+B;IACnD,mBAAmB,EAAE,sCAAsC;IAC3D,sBAAsB,EAAE,+BAA+B;IACvD,2BAA2B,EAAE,qCAAqC;IAClE,iBAAiB,EAAE,0BAA0B;IAC7C,mBAAmB,EAAE,4BAA4B;IACjD,iBAAiB,EAAE,2BAA2B;IAC9C,kBAAkB,EAAE,mCAAmC;IACvD,WAAW,EAAE,oBAAoB;IACjC,kBAAkB,EAAE,4BAA4B;IAChD,eAAe,EAAE,yBAAyB;IAC1C,gBAAgB,EAAE,0BAA0B;IAC5C,uBAAuB,EAAE,iCAAiC;IAC1D,wBAAwB,EAAE,+CAA+C;IACzE,UAAU,EAAE,kBAAkB;IAC9B,QAAQ,EAAE,gBAAgB;IAC1B,eAAe,EAAE,wBAAwB;IACzC,mBAAmB,EAAE,6BAA6B;IAClD,UAAU,EAAE,kBAAkB;IAC9B,eAAe,EAAE,qCAAqC;IACtD,yBAAyB,EAAE,oCAAoC;IAC/D,oBAAoB,EAAE,qCAAqC;IAC3D,yBAAyB,EAAE,oCAAoC;IAC/D,yBAAyB,EAAE,0CAA0C;IACrE,oBAAoB,EAAE,8BAA8B;IACpD,oBAAoB,EAAE,qCAAqC;IAC3D,qBAAqB,EAAE,sCAAsC;IAC7D,4BAA4B,EAAE,sCAAsC;IACpE,4BAA4B,EAAE,6CAA6C;IAC3E,sBAAsB,EAAE,4CAA4C;IACpE,0BAA0B,EAAE,qCAAqC;IACjE,2BAA2B,EAAE,uCAAuC;IACpE,iBAAiB,EAAE,0BAA0B;IAC7C,wBAAwB,EAAE,kCAAkC;IAC5D,qBAAqB,EAAE,8BAA8B;IACrD,mBAAmB,EAAE,4BAA4B;IACjD,eAAe,EAAE,0BAA0B;IAC3C,kBAAkB,EAAE,6BAA6B;IACjD,kBAAkB,EAAE,4BAA4B;IAChD,kBAAkB,EAAE,4BAA4B;IAChD,kBAAkB,EAAE,6BAA6B;IACjD,qBAAqB,EAAE,+BAA+B;IACtD,iBAAiB,EAAE,0BAA0B;IAC7C,yBAAyB,EAAE,mCAAmC;IAC9D,2BAA2B,EAAE,sCAAsC;IACnE,oBAAoB,EAAE,6BAA6B;IACnD,iBAAiB,EAAE,0BAA0B;IAC7C,sBAAsB,EAAE,iCAAiC;IACzD,uBAAuB,EAAE,kCAAkC;IAC3D,qBAAqB,EAAE,gCAAgC;IACvD,6BAA6B,EAAE,wCAAwC;IACvE,sBAAsB,EAAE,iCAAiC;IACzD,wBAAwB,EAAE,mCAAmC;IAC7D,qBAAqB,EAAE,8BAA8B;IACrD,iBAAiB,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"hosting-codes.generated.js","sourceRoot":"","sources":["../src/hosting-codes.generated.ts"],"names":[],"mappings":"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"}
|