@cbortech/cbor 0.27.0 → 0.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +73 -0
- package/README.md +75 -0
- package/dist/ast/CborAppSeqResult.d.ts +37 -4
- package/dist/ast/CborArray.d.ts +2 -2
- package/dist/ast/CborByteString.d.ts +2 -2
- package/dist/ast/CborEmbeddedCBOR.d.ts +1 -1
- package/dist/ast/CborFloat.d.ts +1 -1
- package/dist/ast/CborIndefiniteByteString.d.ts +1 -1
- package/dist/ast/CborIndefiniteTextString.d.ts +1 -1
- package/dist/ast/CborItem.d.ts +297 -7
- package/dist/ast/CborMap.d.ts +2 -2
- package/dist/ast/CborNint.d.ts +1 -1
- package/dist/ast/CborTag.d.ts +4 -4
- package/dist/ast/CborTextString.d.ts +2 -2
- package/dist/ast/CborUint.d.ts +1 -1
- package/dist/ast/index.cjs +1 -1
- package/dist/ast/index.js +1 -1
- package/dist/cddl/index.cjs +1 -1
- package/dist/cddl/index.js +1 -1
- package/dist/cdn/index.cjs +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/serialize-utils.d.ts +30 -2
- package/dist/extensions/cri.d.ts +2 -2
- package/dist/extensions/dt.d.ts +4 -4
- package/dist/extensions/ip.d.ts +3 -3
- package/dist/extensions/types.d.ts +40 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3 -3
- package/dist/{mapEntries-CvLdiN0h.js → mapEntries-CCLaJSaJ.js} +1114 -933
- package/dist/mapEntries-CCLaJSaJ.js.map +1 -0
- package/dist/mapEntries-CZZJScaj.cjs +13 -0
- package/dist/mapEntries-CZZJScaj.cjs.map +1 -0
- package/dist/{schema-CNfrVRYp.js → schema-DN9inJny.js} +3 -3
- package/dist/{schema-CNfrVRYp.js.map → schema-DN9inJny.js.map} +1 -1
- package/dist/{schema-iXpYtKQl.cjs → schema-zsg5yCPK.cjs} +2 -2
- package/dist/{schema-iXpYtKQl.cjs.map → schema-zsg5yCPK.cjs.map} +1 -1
- package/dist/{serialize-utils-CjTqQivB.cjs → serialize-utils-DhlW61ZX.cjs} +6 -6
- package/dist/serialize-utils-DhlW61ZX.cjs.map +1 -0
- package/dist/{serialize-utils-BuIZPaUc.js → serialize-utils-h-CVB9rg.js} +57 -47
- package/dist/{serialize-utils-BuIZPaUc.js.map → serialize-utils-h-CVB9rg.js.map} +1 -1
- package/dist/types.d.ts +273 -0
- package/dist/utils/hexfloat.d.ts +10 -2
- package/package.json +7 -8
- package/dist/mapEntries-C1f7G0AM.cjs +0 -13
- package/dist/mapEntries-C1f7G0AM.cjs.map +0 -1
- package/dist/mapEntries-CvLdiN0h.js.map +0 -1
- package/dist/serialize-utils-CjTqQivB.cjs.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CborExtension } from './extensions/types';
|
|
2
|
+
import { CborItem } from './ast/CborItem';
|
|
2
3
|
import { CddlSchema } from './cddl/schema';
|
|
3
4
|
import { ValidateOptions as CddlValidateOptions } from './cddl/validator';
|
|
4
5
|
import { CddlValidationError, CddlValidationWarning } from './cddl/errors';
|
|
@@ -14,6 +15,114 @@ import { CddlValidationError, CddlValidationWarning } from './cddl/errors';
|
|
|
14
15
|
*/
|
|
15
16
|
export declare const CBOR_OMIT: unique symbol;
|
|
16
17
|
export type { CborExtension } from './extensions/types';
|
|
18
|
+
/**
|
|
19
|
+
* Context passed to an `itemOptions` callback (see `ToJSOptions.itemOptions`)
|
|
20
|
+
* describing where the node being visited sits in the tree.
|
|
21
|
+
*/
|
|
22
|
+
export interface ItemContext {
|
|
23
|
+
/**
|
|
24
|
+
* The direct parent AST node. `undefined` for the root value being
|
|
25
|
+
* converted. A tag or app-sequence wrapper is its content's `parent` —
|
|
26
|
+
* see `path` for how wrappers affect addressing.
|
|
27
|
+
*/
|
|
28
|
+
parent?: CborItem;
|
|
29
|
+
/**
|
|
30
|
+
* The path segment identifying this node: an array index (`number`), or a
|
|
31
|
+
* map key's JS value (any type — CBOR keys are not limited to strings).
|
|
32
|
+
* Always equal to the last element of `path`, except `undefined` for the
|
|
33
|
+
* root value and while converting a map key itself (`isMapKey: true`),
|
|
34
|
+
* since a key has no path of its own — it names its sibling value's
|
|
35
|
+
* segment instead. A tag or app-sequence wrapper's content inherits the
|
|
36
|
+
* wrapper's own `key` (and `path`) unchanged, since the wrapper adds no
|
|
37
|
+
* segment of its own — see `path`.
|
|
38
|
+
*/
|
|
39
|
+
key?: unknown;
|
|
40
|
+
/**
|
|
41
|
+
* The map key's own AST node, present when this node is a map entry's key
|
|
42
|
+
* or value — but *not* inherited into a tag/app-sequence wrapper's
|
|
43
|
+
* content the way `key`/`path` are, so it is only reliable at the map
|
|
44
|
+
* entry itself. Lets a callback inspect a non-scalar key structurally
|
|
45
|
+
* (e.g. via `keyNode._toCDN()`) instead of relying only on `key`'s
|
|
46
|
+
* computed JS value.
|
|
47
|
+
*/
|
|
48
|
+
keyNode?: CborItem;
|
|
49
|
+
/**
|
|
50
|
+
* `true` when this invocation is for converting a map key itself, rather
|
|
51
|
+
* than one of that key's sibling value's descendants.
|
|
52
|
+
*/
|
|
53
|
+
isMapKey?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Path from the root to this node, as a sequence of array indices and map
|
|
56
|
+
* key JS values. Empty for the root value. A tag or app-sequence wrapper
|
|
57
|
+
* does not add a segment of its own — its content shares the wrapper's own
|
|
58
|
+
* path.
|
|
59
|
+
*/
|
|
60
|
+
readonly path: readonly unknown[];
|
|
61
|
+
/**
|
|
62
|
+
* The options in effect for this node going into this call — i.e. the
|
|
63
|
+
* root options merged with whatever overrides its ancestors already
|
|
64
|
+
* returned, *before* this callback's own return value is merged on top.
|
|
65
|
+
* Read from this to build on the current value of an option (e.g. add an
|
|
66
|
+
* extension to whatever list is already in effect) instead of overriding
|
|
67
|
+
* it outright, or to make a decision based on an option's current value.
|
|
68
|
+
*
|
|
69
|
+
* A mutable-looking field here (currently just `extensions`) is a fresh
|
|
70
|
+
* copy, not the live array in effect elsewhere — mutating it in place
|
|
71
|
+
* (e.g. `ctx.options.extensions.push(ext)`) has no effect on this node,
|
|
72
|
+
* its siblings, or the caller's own options; return an override instead.
|
|
73
|
+
*
|
|
74
|
+
* Has no `reviver` — its type is `ReadonlyToJSNodeOptions`, not
|
|
75
|
+
* `ToJSOptions` — for the same reason this callback's own return value
|
|
76
|
+
* can't set one:
|
|
77
|
+
* since this callback may run more than once for the same node (see
|
|
78
|
+
* `ToJSOptions.itemOptions`), always reflecting only the reviver-
|
|
79
|
+
* independent options keeps what it reads consistent with what it can
|
|
80
|
+
* write, and keeps a callback that only inspects `options` pure across
|
|
81
|
+
* every one of those calls.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* // Add `dt_as_Date` to whatever extensions are already configured,
|
|
85
|
+
* // rather than replacing them.
|
|
86
|
+
* itemOptions: (_node, ctx) => ({
|
|
87
|
+
* extensions: [...(ctx.options.extensions ?? []), dt_as_Date],
|
|
88
|
+
* })
|
|
89
|
+
*/
|
|
90
|
+
readonly options: ReadonlyToJSNodeOptions;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* `ToJSOptions` with `reviver` removed. Used wherever an API only ever
|
|
94
|
+
* needs to see the reviver-*independent* part of the options in effect for
|
|
95
|
+
* a node — an `itemOptions` callback's return value, and the `options`
|
|
96
|
+
* parameter of `CborExtension.toJS()` — because reviving the value a node
|
|
97
|
+
* converts to always happens afterwards, exactly once per visit, in the
|
|
98
|
+
* container holding it (see `CborArray`/`CborMap`); it is never something
|
|
99
|
+
* the conversion of the node itself should (or, for `CborExtension.toJS()`,
|
|
100
|
+
* even can) branch on. Keeping `reviver` out of both signatures — rather
|
|
101
|
+
* than merely documenting that it should be ignored — means neither can
|
|
102
|
+
* observe whether one is present, which is what makes it safe for a
|
|
103
|
+
* `reviver`-driven `CborArray`/`CborMap` to convert a child more than once
|
|
104
|
+
* (see `ToJSOptions.itemOptions`) without either one's result depending on
|
|
105
|
+
* *which* of those conversions it was called for.
|
|
106
|
+
*/
|
|
107
|
+
export type ToJSNodeOptions = Omit<ToJSOptions, 'reviver'>;
|
|
108
|
+
/**
|
|
109
|
+
* `ToJSNodeOptions`, as handed to code that must not mutate it in place:
|
|
110
|
+
* `ItemContext.options` and the `options` parameter of
|
|
111
|
+
* `CborExtension.toJS()`. Both describe options actually in effect
|
|
112
|
+
* elsewhere in the tree, so mutating what's handed out here must not be
|
|
113
|
+
* able to reach that: reassigning a top-level property is a type error
|
|
114
|
+
* (`Readonly<...>`), and `extensions`, the one field on `ToJSOptions`
|
|
115
|
+
* that's an ordinary mutable array, is narrowed to a readonly array so an
|
|
116
|
+
* in-place mutation like `.push()` is one too. This only guards against
|
|
117
|
+
* *accidental* mutation via the type system — the implementation
|
|
118
|
+
* additionally hands out a fresh snapshot, with its own copy of
|
|
119
|
+
* `extensions`, on every call, so even a deliberate cast past this type
|
|
120
|
+
* can't corrupt what another node, sibling, hook, or pass sees (see
|
|
121
|
+
* `_toJSChild`'s `toReadonlyNodeOptions`).
|
|
122
|
+
*/
|
|
123
|
+
export type ReadonlyToJSNodeOptions = Readonly<Omit<ToJSNodeOptions, 'extensions'>> & {
|
|
124
|
+
readonly extensions?: readonly CborExtension[];
|
|
125
|
+
};
|
|
17
126
|
export interface ToHexDumpOptions {
|
|
18
127
|
/**
|
|
19
128
|
* Indentation per nesting level.
|
|
@@ -80,6 +189,66 @@ export interface ToJSOptions {
|
|
|
80
189
|
* @default false
|
|
81
190
|
*/
|
|
82
191
|
undefinedOmits?: boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Extension plugins consulted during `toJS()`, tried in order for every
|
|
194
|
+
* node before its own default conversion. An extension takes part by
|
|
195
|
+
* implementing `CborExtension.toJS()`; the first one to return a result
|
|
196
|
+
* for a given node wins and that node's own `_toJS()` is not called.
|
|
197
|
+
*
|
|
198
|
+
* Unlike the `extensions` option on `FromCDNOptions`/`FromCBOROptions`,
|
|
199
|
+
* this does not affect parsing — it only lets `toJS()` reinterpret nodes
|
|
200
|
+
* that a *different* extension configuration already produced. For
|
|
201
|
+
* example, a tree parsed with the plain `dt` extension (`DT'...'` →
|
|
202
|
+
* `number`) can still be converted with `dt_as_Date` selected here
|
|
203
|
+
* (`DT'...'` → `Date`), and vice versa — see `itemOptions` below to apply
|
|
204
|
+
* this to only part of a tree.
|
|
205
|
+
*
|
|
206
|
+
* There is no `builtinExtensions` equivalent for `toJS()`: leaving this
|
|
207
|
+
* unset (the default) keeps every node's own built-in conversion
|
|
208
|
+
* behavior, so no bundled extension needs to be "re-added" here just to
|
|
209
|
+
* get default output.
|
|
210
|
+
*/
|
|
211
|
+
extensions?: CborExtension[];
|
|
212
|
+
/**
|
|
213
|
+
* Called for every node during `toJS()`, before that node is converted,
|
|
214
|
+
* to override the options used for its subtree. Return a partial options
|
|
215
|
+
* object to merge over the options in effect for this node (they apply to
|
|
216
|
+
* this node and are inherited by its descendants, who may override them
|
|
217
|
+
* again); return `undefined` to make no change.
|
|
218
|
+
*
|
|
219
|
+
* This is the mechanism for applying an option — including `extensions`,
|
|
220
|
+
* to select a different conversion for one node without affecting its
|
|
221
|
+
* siblings — to only part of a document, keyed off `ctx.path` or the
|
|
222
|
+
* node's own shape (`item instanceof ...`).
|
|
223
|
+
*
|
|
224
|
+
* **May be called more than once for the same AST node.** With a
|
|
225
|
+
* `reviver` present, `CborArray`/`CborMap` convert each child at least
|
|
226
|
+
* twice: once (with `reviver` itself withheld from the options this
|
|
227
|
+
* callback sees, though its own return value is honoured as normal) to
|
|
228
|
+
* build a holder a `reviver` call can inspect via `this[j]` for a
|
|
229
|
+
* not-yet-processed sibling `j`, and once more, for real, to compute the
|
|
230
|
+
* value the container actually keeps — and a node several levels down
|
|
231
|
+
* can in principle be offered to this callback more than twice, if a
|
|
232
|
+
* container at some intermediate level runs a pre-population pass of its
|
|
233
|
+
* own while itself sitting inside an *outer* container's. Each call is
|
|
234
|
+
* independent and reflects only the state relevant to *that* particular
|
|
235
|
+
* conversion (e.g. `ctx.path` for a value under a composite map key
|
|
236
|
+
* shows whatever that key currently converts to, which can differ
|
|
237
|
+
* between an earlier, not-yet-revived call and a later one after the
|
|
238
|
+
* key's own `reviver` has run). Write this callback as a pure function of
|
|
239
|
+
* `item`/`ctx` — it must not assume, or count, how many times it runs.
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* // Convert only `date1` with `dt_as_Date`, leaving other DT values as
|
|
243
|
+
* // the epoch numbers the tree was originally parsed with.
|
|
244
|
+
* item.toJS({
|
|
245
|
+
* itemOptions: (node, ctx) =>
|
|
246
|
+
* ctx.path.length === 1 && ctx.path[0] === 'date1'
|
|
247
|
+
* ? { extensions: [dt_as_Date] }
|
|
248
|
+
* : undefined,
|
|
249
|
+
* });
|
|
250
|
+
*/
|
|
251
|
+
itemOptions?: (item: CborItem, ctx: ItemContext) => Partial<ToJSNodeOptions> | undefined;
|
|
83
252
|
}
|
|
84
253
|
export interface ToCBOROptions {
|
|
85
254
|
}
|
|
@@ -526,6 +695,77 @@ export interface FromJSOptions {
|
|
|
526
695
|
*/
|
|
527
696
|
cddlValidationOptions?: CddlValidateOptions;
|
|
528
697
|
}
|
|
698
|
+
/**
|
|
699
|
+
* Context passed to a `toCDN()` `itemOptions` callback (see
|
|
700
|
+
* `ToCDNOptions.itemOptions`) describing where the node being visited sits
|
|
701
|
+
* in the tree. Structurally the same shape as `ItemContext` (`toJS()`'s
|
|
702
|
+
* own per-item context — see there for the full rationale behind each
|
|
703
|
+
* field), but `path`'s map-key segments are derived the CDN way: a
|
|
704
|
+
* text-string key contributes its string value, any other key contributes
|
|
705
|
+
* its own `toCDN()` rendering — there is no "JS value" for a CDN key to
|
|
706
|
+
* contribute instead, since converting to JS is not what this call is
|
|
707
|
+
* doing.
|
|
708
|
+
*
|
|
709
|
+
* Unlike `ItemContext`, a node's `toCDN()` `itemOptions` callback can run
|
|
710
|
+
* more than once for reasons `toJS()`'s never does: `inlineLeafContainers`
|
|
711
|
+
* (and a tag/app-sequence value's own multi-word check) render an entry a
|
|
712
|
+
* second time, at the *same* depth and options, purely to answer a layout
|
|
713
|
+
* question (does it fit on one line? is it multi-word?) before the real
|
|
714
|
+
* render — an existing, deliberate characteristic of `toCDN()` itself (see
|
|
715
|
+
* `serializeContainer` in `cdn/serialize-utils.ts`), not something
|
|
716
|
+
* `itemOptions` introduces. Write this callback as a pure function of
|
|
717
|
+
* `item`/`ctx`, the same guidance as `ItemContext`'s own, for the same
|
|
718
|
+
* reason: it must not assume, or count, how many times it runs.
|
|
719
|
+
*/
|
|
720
|
+
export interface CdnItemContext {
|
|
721
|
+
/** The direct parent AST node. `undefined` for the root value being converted. */
|
|
722
|
+
parent?: CborItem;
|
|
723
|
+
/**
|
|
724
|
+
* The path segment identifying this node: an array index (`number`), or
|
|
725
|
+
* a map key's string value/`toCDN()` rendering (see `CdnItemContext`'s
|
|
726
|
+
* own note). Always equal to the last element of `path`, except
|
|
727
|
+
* `undefined` for the root value and while converting a map key itself
|
|
728
|
+
* (`isMapKey: true`). A tag or app-sequence wrapper's content inherits
|
|
729
|
+
* the wrapper's own `key` (and `path`) unchanged, since the wrapper adds
|
|
730
|
+
* no segment of its own.
|
|
731
|
+
*/
|
|
732
|
+
key?: unknown;
|
|
733
|
+
/** The map key's own AST node, present when this node is a map entry's key or value. */
|
|
734
|
+
keyNode?: CborItem;
|
|
735
|
+
/**
|
|
736
|
+
* `true` when this invocation is for converting a map key itself, rather
|
|
737
|
+
* than one of that key's sibling value's descendants.
|
|
738
|
+
*/
|
|
739
|
+
isMapKey?: boolean;
|
|
740
|
+
/**
|
|
741
|
+
* Path from the root to this node, as a sequence of array indices and
|
|
742
|
+
* map key identifiers (see `CdnItemContext`'s own note). Empty for the
|
|
743
|
+
* root value. A tag or app-sequence wrapper does not add a segment of
|
|
744
|
+
* its own — its content shares the wrapper's own path.
|
|
745
|
+
*/
|
|
746
|
+
readonly path: readonly unknown[];
|
|
747
|
+
/**
|
|
748
|
+
* The options in effect for this node going into this call — the root
|
|
749
|
+
* options merged with whatever overrides its ancestors already
|
|
750
|
+
* returned, *before* this callback's own return value is merged on top.
|
|
751
|
+
* A mutable-looking field here (currently just the deprecated
|
|
752
|
+
* `textStringFormat`) is a fresh copy, not the live array in effect
|
|
753
|
+
* elsewhere — mutating it in place has no effect on this node, its
|
|
754
|
+
* siblings, or the caller's own options; return an override instead.
|
|
755
|
+
*/
|
|
756
|
+
readonly options: ReadonlyToCDNOptions;
|
|
757
|
+
}
|
|
758
|
+
/**
|
|
759
|
+
* `ToCDNOptions`, as handed to code that must not mutate it in place —
|
|
760
|
+
* `CdnItemContext.options` — the `toCDN()` counterpart of
|
|
761
|
+
* `ReadonlyToJSNodeOptions`. `textStringFormat` (the one field on
|
|
762
|
+
* `ToCDNOptions` that's an ordinary mutable array, and already deprecated)
|
|
763
|
+
* is narrowed to a readonly array for the same reason `extensions` is
|
|
764
|
+
* there; see `ReadonlyToJSNodeOptions`'s own doc for the full rationale.
|
|
765
|
+
*/
|
|
766
|
+
export type ReadonlyToCDNOptions = Readonly<Omit<ToCDNOptions, 'textStringFormat'>> & {
|
|
767
|
+
readonly textStringFormat?: readonly TextStringFormat[];
|
|
768
|
+
};
|
|
529
769
|
export interface ToCDNOptions {
|
|
530
770
|
/**
|
|
531
771
|
* Indentation for pretty-printing.
|
|
@@ -1049,6 +1289,39 @@ export interface ToCDNOptions {
|
|
|
1049
1289
|
* @default 'auto'
|
|
1050
1290
|
*/
|
|
1051
1291
|
encodingIndicators?: 'always' | 'auto' | 'never';
|
|
1292
|
+
/**
|
|
1293
|
+
* Called for every node during `toCDN()`, before that node is rendered,
|
|
1294
|
+
* to override the options used for its subtree. Return a partial options
|
|
1295
|
+
* object to merge over the options in effect for this node (they apply to
|
|
1296
|
+
* this node and are inherited by its descendants, who may override them
|
|
1297
|
+
* again); return `undefined` to make no change.
|
|
1298
|
+
*
|
|
1299
|
+
* This is the mechanism for applying an option to only part of a
|
|
1300
|
+
* document — e.g. rendering one array element in hex while the rest stay
|
|
1301
|
+
* decimal — keyed off `ctx.path` or the node's own shape
|
|
1302
|
+
* (`item instanceof ...`).
|
|
1303
|
+
*
|
|
1304
|
+
* **May be called more than once for the same AST node** — see
|
|
1305
|
+
* `CdnItemContext`'s own note on why, and why this callback should be a
|
|
1306
|
+
* pure function of `item`/`ctx` rather than relying on how many times it
|
|
1307
|
+
* runs.
|
|
1308
|
+
*
|
|
1309
|
+
* Not called for keys of an indefinite-length string's chunks or a
|
|
1310
|
+
* `<<...>>` sequence's items, which have no key of their own to convert
|
|
1311
|
+
* (only array elements and map entries/keys have a `path` segment).
|
|
1312
|
+
*
|
|
1313
|
+
* @example
|
|
1314
|
+
* // Render only the value at key "raw" using hex integers, leaving the
|
|
1315
|
+
* // rest of the document in the default decimal format.
|
|
1316
|
+
* item.toCDN({
|
|
1317
|
+
* indent: 2,
|
|
1318
|
+
* itemOptions: (_node, ctx) =>
|
|
1319
|
+
* ctx.path.length === 1 && ctx.path[0] === 'raw'
|
|
1320
|
+
* ? { intFormat: 'hex' }
|
|
1321
|
+
* : undefined,
|
|
1322
|
+
* });
|
|
1323
|
+
*/
|
|
1324
|
+
itemOptions?: (item: CborItem, ctx: CdnItemContext) => Partial<ToCDNOptions> | undefined;
|
|
1052
1325
|
}
|
|
1053
1326
|
export type TextStringFormat = 'newline' | 'cdn' | DeprecatedTextStringFormat;
|
|
1054
1327
|
/** @deprecated Use `'cdn'` instead. */
|
package/dist/utils/hexfloat.d.ts
CHANGED
|
@@ -19,8 +19,16 @@ export declare function parseHexFloat(s: string): number;
|
|
|
19
19
|
* Convert a JS number to a normalized hex float string compatible with
|
|
20
20
|
* CDN diagnostic notation.
|
|
21
21
|
*
|
|
22
|
-
* -
|
|
23
|
-
*
|
|
22
|
+
* - Every nonzero finite value: `0x1.[hex fraction]p[+-][exp]` (e.g.
|
|
23
|
+
* `0x1.8p+0` for 1.5) — including a *subnormal* double, renormalized
|
|
24
|
+
* into this same leading-`1` form rather than spelled out anchored to
|
|
25
|
+
* its own stored field layout (`0x0.[hex fraction]p-1022`, still a
|
|
26
|
+
* correct spelling of the same value, but needlessly longer: e.g.
|
|
27
|
+
* `Number.MIN_VALUE` used to read `0x0.0000000000001p-1022`, equal to
|
|
28
|
+
* but far longer than the normalized `0x1p-1074`. A hex-float literal
|
|
29
|
+
* is just `significand * 2^exponent` — there's no reason its spelling
|
|
30
|
+
* should vary by whether the *double* happened to run out of exponent
|
|
31
|
+
* range, once it's just text.)
|
|
24
32
|
* - Zero: `0x0p+0` / `-0x0p+0`
|
|
25
33
|
* - Non-finite values (NaN, ±Infinity) are returned unchanged as EDN tokens.
|
|
26
34
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cbortech/cbor",
|
|
3
|
-
"version": "0.27.
|
|
3
|
+
"version": "0.27.1",
|
|
4
4
|
"description": "Convert between CBOR, CDN (CBOR-EDN), and JavaScript values with CDDL validation",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cbor",
|
|
@@ -118,19 +118,18 @@
|
|
|
118
118
|
"site:test": "npm run build && npm run --workspace site test"
|
|
119
119
|
},
|
|
120
120
|
"devDependencies": {
|
|
121
|
-
"@cbortech/hash-extension": "^0.2.3",
|
|
122
121
|
"@types/node": "^24.13.3",
|
|
123
122
|
"@typescript/typescript6": "^6.0.2",
|
|
124
|
-
"@vitest/browser": "^4.1.
|
|
125
|
-
"@vitest/browser-playwright": "^4.1.
|
|
126
|
-
"@vitest/coverage-v8": "^4.1.
|
|
127
|
-
"@vitest/ui": "^4.1.
|
|
123
|
+
"@vitest/browser": "^4.1.11",
|
|
124
|
+
"@vitest/browser-playwright": "^4.1.11",
|
|
125
|
+
"@vitest/coverage-v8": "^4.1.11",
|
|
126
|
+
"@vitest/ui": "^4.1.11",
|
|
128
127
|
"cross-env": "^10.1.0",
|
|
129
128
|
"playwright": "^1.62.1",
|
|
130
129
|
"prettier": "^3.9.6",
|
|
131
130
|
"typescript": "^7.0.2",
|
|
132
|
-
"vite": "^8.2.
|
|
131
|
+
"vite": "^8.2.2",
|
|
133
132
|
"vite-plugin-dts": "^5.0.3",
|
|
134
|
-
"vitest": "^4.1.
|
|
133
|
+
"vitest": "^4.1.11"
|
|
135
134
|
}
|
|
136
135
|
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
const e=require("./serialize-utils-CjTqQivB.cjs");var t=Symbol.for(`cbor.tag`),n=class{valueOf(){return null}toJSON(){return null}},r=class{valueOf(){}toJSON(){}};function i(e){if(!c(e))return;let n=e[t];return typeof n==`bigint`?n:void 0}function a(e,i){let a;switch(typeof e){case`number`:a=new Number(e);break;case`string`:a=new String(e);break;case`boolean`:a=new Boolean(e);break;case`bigint`:a=Object(e);break;case`undefined`:a=new r;break;case`object`:if(e===null){a=new n;break}a=e;break;default:throw TypeError(`setCborTag: cannot tag value of type ${typeof e}`)}return a[t]=i,a}function o(e){if(e instanceof Number||e instanceof String||e instanceof Boolean||Object.prototype.toString.call(e)===`[object BigInt]`)return e.valueOf();if(e instanceof n)return null;if(!(e instanceof r))return typeof e==`object`&&e&&delete e[t],e}function s(e){if(e instanceof Number||e instanceof String||e instanceof Boolean||Object.prototype.toString.call(e)===`[object BigInt]`)return e.valueOf();if(e instanceof n)return null;if(!(e instanceof r))return e}function c(e){return typeof e==`object`&&!!e}var l=class{constructor(){}static symbol=t;static Null=n;static Undefined=r;static get(e){return i(e)}static set(e,t){return a(e,t)}static remove(e){return o(e)}static getValue(e){return s(e)}},u=Symbol(`cbor.omit`),d=class e{value;constructor(e){if(!Number.isInteger(e)||e<0||e>255)throw RangeError(`Simple value must be an integer in 0–255`);this.value=e}valueOf(){return this.value}toJSON(){throw TypeError(`simple(${this.value}) cannot be serialized to JSON`)}static is(t){return t instanceof e}static get(t){return t instanceof e?t.value:void 0}},f=`getFloat16`in DataView.prototype&&`setFloat16`in DataView.prototype,p=new DataView(new ArrayBuffer(8));function m(e){p.setFloat64(0,e,!1);let t=p.getUint32(0,!1),n=p.getUint32(4,!1),r=t>>>31&1,i=t>>>20&2047,a=t&1048575;if(i===2047){if(a===0&&n===0)return r<<15|31744;let e=a>>10|(n===0?0:1)||1;return r<<15|31744|e&1023}let o=i-1023+15;if(o>=31)return r<<15|31744;let s,c,l;if(o<=0){if(o<-10)return r<<15;let e=1<<20|a,t=11-o;t<=20?(s=e>>t&1023,c=e>>t-1&1,l=!!(e&(1<<t-1)-1)||n!==0):(s=0,c=1,l=a!==0||n!==0)}else s=a>>10,c=a>>9&1,l=!!(a&511)||n!==0;if(c!==0&&(l||s&1)&&s++,s>=1024){let e=o<=0?1:o+1;return e>=31?r<<15|31744:r<<15|e<<10}let u=o<=0?0:o;return r<<15|u<<10|s}function h(e){let t=e>>>15&1,n=e>>>10&31,r=e&1023;return n===31?r===0?t?-1/0:1/0:NaN:n===0?r===0?t?-0:0:(t?-1:1)*2**-14*(r/1024):(t?-1:1)*2**(n-15)*(1+r/1024)}var g=f?(e,t,n,r)=>{e.setFloat16(t,n,r)}:(e,t,n,r)=>{e.setUint16(t,m(n),r)},_=new DataView(new ArrayBuffer(8)),v=new Uint8Array(_.buffer),y=new TextEncoder,b=typeof y.encodeInto==`function`;function x(e){return e<=23?1:e<=255?2:e<=65535?3:e<=4294967295?5:9}function S(e){return e===`i`?1:[2,3,5,9][e]}var C=class{buf;len=0;constructor(e=256){this.buf=new Uint8Array(e)}_ensure(e){let t=this.len+e;if(t<=this.buf.length)return;let n=this.buf.length*2;for(;n<t;)n*=2;let r=new Uint8Array(n);r.set(this.buf),this.buf=r}writeByte(e){this._ensure(1),this.buf[this.len++]=e}writeBytes(e){this._ensure(e.length),this.buf.set(e,this.len),this.len+=e.length}writeUint16(e){this._ensure(2);let t=this.buf;t[this.len++]=e>>>8&255,t[this.len++]=e&255}writeUint32(e){this._ensure(4);let t=this.buf;t[this.len++]=e>>>24&255,t[this.len++]=e>>>16&255,t[this.len++]=e>>>8&255,t[this.len++]=e&255}writeBigUint64(e){_.setBigUint64(0,e,!1),this._ensure(8),this.buf.set(v,this.len),this.len+=8}writeFloat16(e){g(_,0,e,!1),this._ensure(2);let t=this.buf;t[this.len++]=v[0],t[this.len++]=v[1]}writeFloat32(e){_.setFloat32(0,e,!1),this._ensure(4);let t=this.buf;t[this.len++]=v[0],t[this.len++]=v[1],t[this.len++]=v[2],t[this.len++]=v[3]}writeFloat64(e){_.setFloat64(0,e,!1),this._ensure(8),this.buf.set(v,this.len),this.len+=8}writeTextString(e,t,n){if(!b){let r=y.encode(t);w(this,e,r.length,n),this.writeBytes(r);return}let r=n===void 0?x(t.length):S(n);this._ensure(9+3*t.length);let{written:i}=y.encodeInto(t,this.buf.subarray(this.len+r)),a=n===void 0?x(i):r;a!==r&&this.buf.copyWithin(this.len+a,this.len+r,this.len+r+i),w(this,e,i,n),this.len+=i}finish(){return this.buf.slice(0,this.len)}},ee=[255n,65535n,4294967295n,18446744073709551615n];function te(e){return e===`i`?23n:ee[e]}function w(e,t,n,r){if(r===void 0&&typeof n==`number`&&n<4294967296){n<=23?e.writeByte(t<<5|n):n<=255?(e.writeByte(t<<5|24),e.writeByte(n)):n<=65535?(e.writeByte(t<<5|25),e.writeUint16(n)):(e.writeByte(t<<5|26),e.writeUint32(n));return}let i=typeof n==`number`?BigInt(n):n;if(r!==void 0){if(r===`i`){if(i>23n)throw RangeError(`value ${i} does not fit in immediate encoding _i (max 23)`);e.writeByte(t<<5|Number(i));return}if(i>ee[r])throw RangeError(`value ${i} does not fit in encodingWidth _${r} (max ${ee[r]})`);let n=24+r;e.writeByte(t<<5|n),n===24?e.writeByte(Number(i)):n===25?e.writeUint16(Number(i)):n===26?e.writeUint32(Number(i)):e.writeBigUint64(i);return}i<=23n?e.writeByte(t<<5|Number(i)):i<=255n?(e.writeByte(t<<5|24),e.writeByte(Number(i))):i<=65535n?(e.writeByte(t<<5|25),e.writeUint16(Number(i))):i<=4294967295n?(e.writeByte(t<<5|26),e.writeUint32(Number(i))):(e.writeByte(t<<5|27),e.writeBigUint64(i))}function T(e,t,n){let r=new C(9);return w(r,e,t,n),r.finish()}var E=new DataView(new ArrayBuffer(4));function ne(e){return Object.is(h(m(e)),e)}function re(e){return E.setFloat32(0,e,!1),Object.is(E.getFloat32(0,!1),e)}function D(e){return ne(e)?`half`:re(e)?`single`:`double`}function ie(e){return{...e,preserveComments:e.comments===void 0?e.preserveComments??!0:e.preserveComments,preserveByteString:e.preserveByteString??!0,preserveRawString:e.preserveRawString??!0,preserveConcatenation:e.preserveConcatenation??!0,preserveNumberFormat:e.preserveNumberFormat??!0,preserveAppPrefix:e.preserveAppPrefix??!0,preserveBlankLines:e.preserveBlankLines??!0}}function ae(e){return e.preserveAppSequence===void 0&&e.appStrings===void 0?e:{...e,preserveAppPrefix:e.preserveAppPrefix??e.preserveAppSequence,appPrefix:e.appPrefix??e.appStrings}}var O=class t{start;end;comments;blankLineBefore;appSeqSource;appSeqComments;appSeqEncodingEdits;appSeqEncodingEditsComplete;appSeqInnerEnd;appSeqSourceFeatures;warnings;_defaults;get _containsCdnContainer(){return!1}_isMultiWordText(e,t=!0){return!1}toCBOR(e){let t=this._defaults?{...this._defaults,...e}:e,n=new C;return this._encode(n,t),n.finish()}toCDN(t){let n=this._defaults?{...this._defaults,...t}:t;n&&=ae(n),n?.preserveAll&&(n=ie(n));let r=this._toCDN(n,0);if(!e.D(n)||e.w(n)===null)return r;let i=e.S(n),{ownLines:a,inlinePrefix:o}=e.O(this,``,i),s=this.comments?.trailing??[],c=s.length===0?r:`${r} ${s.map(t=>e.i(t,i).trimEnd()).join(` `)}`;return[...a,`${o}${c}`].join(`
|
|
2
|
-
`)}toEDN(e){return this.toCDN(e)}toJS(e){let t=this._defaults?{...this._defaults,...e}:e,n=this._toJS(t);if(!t?.reviver)return n;let r=t.reviver.call({"":n},``,n);return r===u?void 0:r}toHexDump(e){let t=this._defaults?{...this._defaults,...e}:e;t&&=ae(t);let n=t?.indent??3,r=typeof n==`string`?n:` `.repeat(n),i=(t?.commentStyle??`--`)+` `,a=this._toHexDump(0,t),o=0;for(let e of a){let t=e.depth*r.length+e.hex.length;t>o&&(o=t)}let s=o+2;return a.map(e=>(r.repeat(e.depth)+e.hex).padEnd(s)+i+e.comment).join(`
|
|
3
|
-
`)}_encode(e,n){if(this._toCBOR!==t.prototype._toCBOR){e.writeBytes(this._toCBOR(n));return}this._encodeTo(e,n)}_encodeTo(e,n){if(this._toCBOR===t.prototype._toCBOR)throw TypeError(`CborItem subclass must implement _encodeTo() or _toCBOR()`);e.writeBytes(this._toCBOR(n))}_toCBOR(e){let t=new C;return this._encodeTo(t,e),t.finish()}_toHexDump(t,n){return[{depth:t,hex:e.P(this._toCBOR()),comment:this._toCDN(n,0)}]}},k=class extends O{value;encodingWidth;ednSource;constructor(e,t){if(super(),this.value=BigInt(e),this.value<0n)throw RangeError(`CborUint value must be non-negative`);if(this.value>18446744073709551615n)throw RangeError(`CborUint value exceeds maximum uint64`);this.encodingWidth=t?.encodingWidth,this.ednSource=t?.ednSource}_encodeTo(e,t){w(e,0,this.value,this.encodingWidth)}_toCDN(t,n){let r=e.C(t,this.encodingWidth,()=>e.r(this.value));if(t?.preserveNumberFormat&&this.ednSource!==void 0)return this.ednSource+r;let i=this.value;switch(t?.intFormat){case`hex`:return`0x${i.toString(16)}${r}`;case`octal`:return`0o${i.toString(8)}${r}`;case`binary`:return`0b${i.toString(2)}${r}`;default:return i.toString()+r}}_toJS(e){let t=e?.integerAs??`auto`;return t===`bigint`?this.value:t===`number`||this.value<=BigInt(2**53-1)?Number(this.value):this.value}},A=class extends O{argument;encodingWidth;ednSource;constructor(e,t){super();let n=BigInt(e);if(n>=0n)throw RangeError(`CborNint value must be negative`);if(n<-18446744073709551616n)throw RangeError(`CborNint value exceeds minimum int64`);this.argument=-1n-n,this.encodingWidth=t?.encodingWidth,this.ednSource=t?.ednSource}get value(){return-1n-this.argument}_encodeTo(e,t){w(e,1,this.argument,this.encodingWidth)}_toCDN(t,n){let r=e.C(t,this.encodingWidth,()=>e.r(this.argument));if(t?.preserveNumberFormat&&this.ednSource!==void 0)return this.ednSource+r;let i=this.argument+1n;switch(t?.intFormat){case`hex`:return`-0x${i.toString(16)}${r}`;case`octal`:return`-0o${i.toString(8)}${r}`;case`binary`:return`-0b${i.toString(2)}${r}`;default:return this.value.toString()+r}}_toJS(e){let t=this.value,n=e?.integerAs??`auto`;return n===`bigint`?t:n===`number`||t>=BigInt(-(2**53-1))?Number(t):t}},oe=new DataView(new ArrayBuffer(8));function se(e){let t=e.startsWith(`-`),n=e.slice(t?3:2),r=n.search(/[pP]/);if(r===-1)throw SyntaxError(`EDN parse error: hex float missing 'p' exponent: ${e}`);let i=n.slice(0,r),a=n.slice(r+1);if(!/^[+-]?\d+$/.test(a))throw SyntaxError(`EDN parse error: hex float has invalid or missing exponent: ${e}`);let o=parseInt(a,10),s=i.indexOf(`.`),c;if(s===-1){if(!/^[0-9a-fA-F]+$/.test(i))throw SyntaxError(`EDN parse error: hex float has no mantissa digits: ${e}`);c=parseInt(i,16)}else{let t=i.slice(0,s),n=i.slice(s+1);if(t===``&&n===``)throw SyntaxError(`EDN parse error: hex float has no mantissa digits: ${e}`);if(t!==``&&!/^[0-9a-fA-F]+$/.test(t)||n!==``&&!/^[0-9a-fA-F]+$/.test(n))throw SyntaxError(`EDN parse error: hex float has invalid mantissa: ${e}`);c=(t===``?0:parseInt(t,16))+(n===``?0:parseInt(n,16)/16**n.length)}let l=c*2**o;return t?-l:l}function ce(e){if(isNaN(e))return`NaN`;if(!isFinite(e))return e>0?`Infinity`:`-Infinity`;let t=Object.is(e,-0)||e<0,n=Math.abs(e);if(n===0)return t?`-0x0p+0`:`0x0p+0`;oe.setFloat64(0,n,!1);let r=oe.getUint32(0,!1),i=oe.getUint32(4,!1),a=r>>>20&2047,o=r&1048575,s=i,c=(o.toString(16).padStart(5,`0`)+s.toString(16).padStart(8,`0`)).replace(/0+$/,``),l=c===``?``:`.${c}`,u,d;a===0?(u=`0`,d=-1022):(u=`1`,d=a-1023);let f=d>=0?`+${d}`:`${d}`,p=`0x${u}${l}p${f}`;return t?`-${p}`:p}var j=class extends O{value;precision;ednSource;literalSource;rawBits;constructor(e,t){super(),this.value=e,this.precision=t?.precision,this.rawBits=t?.rawBits,this.literalSource=t?.literalSource}_encodeTo(e,t){let n=this.precision??D(this.value),r=Number.isNaN(this.value)?this.rawBits:void 0;n===`half`?(e.writeByte(249),r?.length===2?e.writeBytes(r):e.writeFloat16(this.value)):n===`single`?(e.writeByte(250),r?.length===4?e.writeBytes(r):e.writeFloat32(this.value)):(e.writeByte(251),r?.length===8?e.writeBytes(r):e.writeFloat64(this.value))}_toCDN(t,n){let r=t?.encodingIndicators??`auto`;if(t?.appPrefix!==!1&&(t?.floatFormat===void 0||t?.floatFormat===`app-extension`)&&this.ednSource!==void 0&&(e.w(t)!==null||!/[\r\n]/.test(this.ednSource))){let e=this.ednSource;if(r===`never`)return e.replace(/_[0-3i]$/,``);if(r===`always`){if(/_[0-3i]$/.test(e))return e;let t=this.precision??D(this.value);return e+(t===`half`?`_1`:t===`single`?`_2`:`_3`)}return e}if(t?.preserveNumberFormat&&this.literalSource!==void 0){let t=this.literalSource;if(r===`never`)return t.replace(/_[0-7i]$/,``);if(r===`always`){if(/_[0-7i]$/.test(t))return t;let n=D(this.value);return t+e.l(this.value,this.precision,n,`always`)}return t}let i=D(this.value);if(t?.floatFormat===`app-extension`&&t?.appPrefix!==!1){let t=this.toCBOR();return`float'${e.N(t.subarray(1))}'`+e.l(this.value,this.precision,i,r)}return(t?.floatFormat===`hex`?ce(this.value):e.u(this.value))+e.l(this.value,this.precision,i,r)}_toJS(e){return this.value}},M=class extends O{tag;content;encodingWidth;ednSource;constructor(e,t,n){if(super(),this.tag=BigInt(e),this.tag<0n)throw RangeError(`CborTag tag number must be non-negative`);this.content=t,this.encodingWidth=n?.encodingWidth,this.ednSource=n?.ednSource}get _containsCdnContainer(){return this.content._containsCdnContainer}_isMultiWordText(t,n=!0){return e.h(this._toCDN(t,0),n)}_encodeTo(e,t){w(e,6,this.tag,this.encodingWidth),this.content._encode(e,t)}_toCDN(t,n){let r=e.C(t,this.encodingWidth,()=>e.r(this.tag));return`${t?.preserveNumberFormat&&this.ednSource!==void 0?this.ednSource:this.tag.toString()}${r}${e.x(this.content,this,t,n,e=>this.content._toCDN(t,e),`(`,`)`)}`}_toHexDump(t,n){let r=[{depth:t,hex:e.P(T(6,this.tag,this.encodingWidth)),comment:`Tag ${this.tag}`}];return e.b(r,this.content._toHexDump(t+1,{...n,appPrefix:!1})),r}_toJS(e){let t=this.content._toJS(e);return e?.stripTags?t:l.set(t,this.tag)}};function le(t,n,r){if(t!==void 0)return e.D(n)||r===void 0?t:e.k(t,r)}var N=class extends O{indefiniteLength=!1;value;ednEncoding;encodingWidth;ednSource;ednCommentSyntax;ednParts;constructor(e,t){super(),this.value=e,this.ednEncoding=t?.ednEncoding??`hex`,this.encodingWidth=t?.encodingWidth,this.ednSource=t?.ednSource,this.ednCommentSyntax=t?.ednCommentSyntax,this.ednParts=t?.ednParts}_isMultiWordText(t,n=!0){return e.m(this.value,t?.sqstr)}_encodeTo(e,t){w(e,2,this.value.length,this.encodingWidth),e.writeBytes(this.value)}_toCDN(t,n){let r=e.w(t);if(t?.preserveConcatenation&&r!==null&&this.ednParts!==void 0&&this.ednParts.length>1){let i=e.C(t,this.encodingWidth,()=>e.r(BigInt(this.value.length))),a=t?.bstrEncoding??this.ednEncoding;t?.appPrefix===!1&&a!==`hex`&&(a=`hex`);let o=this.ednParts.map(n=>{let r=t?.preserveByteString?le(n.source,t,n.commentSyntax):void 0;return r===void 0?e.T(n.bytes,a,t?.sqstr):r}),s=e.D(t)?e.a(this.comments?.dangling,this.ednParts,e.S(t)):void 0;return t?.modernConcat&&t?.appPrefix!==!1?e.v(`b1`,o,i,r,n,s):(o[o.length-1]+=i,e.y(o,r,n,s))}let i=t?.preserveByteString?le(this.ednSource,t,this.ednCommentSyntax):void 0;if(i!==void 0&&(r!==null||!/[\r\n]/.test(i)))return/_[0-3i]$/.test(i)?(t?.encodingIndicators??`auto`)===`never`?i.replace(/_[0-3i]$/,``):i:i+e.C(t,this.encodingWidth,()=>e.r(BigInt(this.value.length)));let a=e.C(t,this.encodingWidth,()=>e.r(BigInt(this.value.length))),o=t?.bstrEncoding??this.ednEncoding;return t?.appPrefix===!1&&o!==`hex`&&(o=`hex`),e.T(this.value,o,t?.sqstr)+a}_toJS(e){return this.value}},P=class extends O{indefiniteLength=!0;chunks;constructor(e){super(),this.chunks=e}_encodeTo(e,t){e.writeByte(95);for(let n of this.chunks)n._encode(e,t);e.writeByte(255)}_isMultiWordText(e,t=!0){return this.chunks.some(t=>t._isMultiWordText(e))}_toCDN(t,n){if((t?.encodingIndicators??`auto`)===`never`){let e=this.chunks.reduce((e,t)=>e+t.value.length,0),r=new Uint8Array(e),i=0;for(let e of this.chunks)r.set(e.value,i),i+=e.value.length;return new N(r)._toCDN(t,n)}let r=!!t?.modernStreamSyntax&&t?.appPrefix!==!1;return!r&&this.chunks.length===0?`''_`:e.E({node:this,options:t,depth:n,openChar:r?`ilbs<<`:`(`,closeChar:r?`>>`:`)`,count:this.chunks.length,indefiniteLength:!0,indefiniteMarker:!r,encodingWidth:void 0,hasEntryComments:()=>this.chunks.some(e.f),renderEntry:e=>this.chunks[e]._toCDN(t,n+1),entryIsLeaf:r?void 0:()=>!0,alwaysInlineLeaf:r,entryIsMultiWordText:e=>this.chunks[e]._isMultiWordText(t,!r),entryLeadingNode:e=>this.chunks[e],entryTrailing:(t,n)=>e.d(this.chunks[t],n)})}_toHexDump(t,n){let r=[{depth:t,hex:e.M(95),comment:`Start indefinite-length byte string`}];for(let i of this.chunks)e.b(r,i._toHexDump(t+1,n));return r.push({depth:t,hex:e.M(255),comment:`"break"`}),r}_toJS(e){let t=this.chunks.reduce((e,t)=>e+t.value.length,0),n=new Uint8Array(t),r=0;for(let e of this.chunks)n.set(e.value,r),r+=e.value.length;return n}},F=class extends O{indefiniteLength=!0;chunks;constructor(e){super(),this.chunks=e}_encodeTo(e,t){e.writeByte(127);for(let n of this.chunks)n._encode(e,t);e.writeByte(255)}_isMultiWordText(e,t=!0){return this.chunks.some(t=>t._isMultiWordText(e))}_toCDN(t,n){if((t?.encodingIndicators??`auto`)===`never`)return new K(this.chunks.map(e=>e.value).join(``))._toCDN(t,n);let r=!!t?.modernStreamSyntax&&t?.appPrefix!==!1;return!r&&this.chunks.length===0?`""_`:e.E({node:this,options:t,depth:n,openChar:r?`ilts<<`:`(`,closeChar:r?`>>`:`)`,count:this.chunks.length,indefiniteLength:!0,indefiniteMarker:!r,encodingWidth:void 0,hasEntryComments:()=>this.chunks.some(e.f),renderEntry:e=>this.chunks[e]._toCDN(t,n+1),entryIsLeaf:r?void 0:()=>!0,alwaysInlineLeaf:r,entryIsMultiWordText:e=>this.chunks[e]._isMultiWordText(t,!r),entryLeadingNode:e=>this.chunks[e],entryTrailing:(t,n)=>e.d(this.chunks[t],n)})}_toHexDump(t,n){let r=[{depth:t,hex:e.M(127),comment:`Start indefinite-length text string`}];for(let i of this.chunks)e.b(r,i._toHexDump(t+1,n));return r.push({depth:t,hex:e.M(255),comment:`"break"`}),r}_toJS(e){return this.chunks.map(e=>e.value).join(``)}},I=class extends O{items;indefiniteLength;encodingWidth;constructor(e,t){super(),this.items=e,this.indefiniteLength=t?.indefiniteLength??!1,this.encodingWidth=t?.encodingWidth}get _containsCdnContainer(){return!0}_encodeTo(e,t){if(this.indefiniteLength){e.writeByte(159);for(let n of this.items)n._encode(e,t);e.writeByte(255);return}w(e,4,this.items.length,this.encodingWidth);for(let n of this.items)n._encode(e,t)}_toCDN(t,n){return e.E({node:this,options:t,depth:n,openChar:`[`,closeChar:`]`,count:this.items.length,indefiniteLength:this.indefiniteLength,encodingWidth:this.encodingWidth,hasEntryComments:()=>this.items.some(e.f),renderEntry:e=>this.items[e]._toCDN(t,n+1),entryIsLeaf:e=>!this.items[e]._containsCdnContainer,entryIsMultiWordText:e=>this.items[e]._isMultiWordText(t),entryLeadingNode:e=>this.items[e],entryTrailing:(t,n)=>e.d(this.items[t],n)})}_toHexDump(t,n){if(this.indefiniteLength){let r=[{depth:t,hex:e.M(159),comment:`Start indefinite-length array`}];for(let i of this.items)e.b(r,i._toHexDump(t+1,n));return r.push({depth:t,hex:e.M(255),comment:`"break"`}),r}let r=[{depth:t,hex:e.P(T(4,BigInt(this.items.length),this.encodingWidth)),comment:`Array of length ${this.items.length}`}];for(let i of this.items)e.b(r,i._toHexDump(t+1,n));return r}_toJS(e){let t=e?.reviver;if(!t)return this.items.map(t=>t._toJS(e));let n=e?{...e,reviver:void 0}:void 0,r=this.items.map(e=>e._toJS(n)),i=0;for(let n=0;n<this.items.length;n++){let a=n-i,o=this.items[n]._toJS(e),s=t.call(r,String(n),o);s===u||e?.undefinedOmits&&s===void 0?(r.splice(a,1),i++):r[a]=s}return r}},L=class extends O{entries;indefiniteLength;encodingWidth;constructor(e,t){super(),this.entries=e,this.indefiniteLength=t?.indefiniteLength??!1,this.encodingWidth=t?.encodingWidth}get _containsCdnContainer(){return!0}_encodeTo(e,t){if(this.indefiniteLength){e.writeByte(191);for(let[n,r]of this.entries)n._encode(e,t),r._encode(e,t);e.writeByte(255);return}w(e,5,this.entries.length,this.encodingWidth);for(let[n,r]of this.entries)n._encode(e,t),r._encode(e,t)}_toCDN(t,n){let r=[],i=e=>{let i=r[e];if(!i){let[a,o]=this.entries[e];i=[a._toCDN(t,n+1),o._toCDN(t,n+1)],r[e]=i}return i};return e.E({node:this,options:t,depth:n,openChar:`{`,closeChar:`}`,count:this.entries.length,indefiniteLength:this.indefiniteLength,encodingWidth:this.encodingWidth,hasEntryComments:()=>this.entries.some(([t,n])=>e.f(t)||e.f(n)),renderEntry:(e,t)=>{let[n,r]=i(e);return`${n}${t}${r}`},entryIsLeaf:e=>{let[t,n]=this.entries[e];return!t._containsCdnContainer&&!n._containsCdnContainer},entryIsMultiWordText:n=>{let[r,a]=this.entries[n];if(r._isMultiWordText(t)||a._isMultiWordText(t))return!0;let[o,s]=i(n);return e._(o)||e._(s)},entryLeadingNode:e=>this.entries[e][0],entryTrailing:(e,t)=>{let[n,r]=this.entries[e];return ue([...n.comments?.trailing??[],...r.comments?.leading??[],...r.comments?.trailing??[]],t)}})}_toHexDump(t,n){if(this.indefiniteLength){let r=[{depth:t,hex:e.M(191),comment:`Start indefinite-length map`}];for(let[i,a]of this.entries)e.b(r,i._toHexDump(t+1,n)),e.b(r,a._toHexDump(t+1,n));return r.push({depth:t,hex:e.M(255),comment:`"break"`}),r}let r=[{depth:t,hex:e.P(T(5,BigInt(this.entries.length),this.encodingWidth)),comment:`Map of length ${this.entries.length}`}];for(let[i,a]of this.entries)e.b(r,i._toHexDump(t+1,n)),e.b(r,a._toHexDump(t+1,n));return r}_toJS(e){let t=e?.reviver,n=()=>{let n=$.from(this.entries,([t,n])=>[t._toJS(e),n._toJS(e)]);if(!t)return n;let r=e?.undefinedOmits;for(let e=0;e<n.length;e++){let[i,a]=n[e],o=t.call(n,i,a);o===u||r&&o===void 0?n.splice(e--,1):n[e]=[i,o]}return n};return e?.mapAs===`entries`?n():e?.mapAs===`object`||this.entries.every(([e])=>e instanceof K)?(()=>{let n=e?{...e,reviver:void 0}:void 0,r={};for(let[e,t]of this.entries){let i=e instanceof K?e.value:e.toCDN(),a=t._toJS(n);i===`__proto__`?Object.defineProperty(r,i,{value:a,writable:!0,enumerable:!0,configurable:!0}):r[i]=a}if(!t)return r;let i=new Map;for(let e=0;e<this.entries.length;e++){let[t]=this.entries[e];i.set(t instanceof K?t.value:t.toCDN(),e)}for(let n=0;n<this.entries.length;n++){let[a,o]=this.entries[n],s=a instanceof K?a.value:a.toCDN();if(i.get(s)!==n)continue;let c=o._toJS(e),l=t.call(r,s,c);l===u||e?.undefinedOmits&&l===void 0?delete r[s]:s===`__proto__`?Object.defineProperty(r,s,{value:l,writable:!0,enumerable:!0,configurable:!0}):r[s]=l}return r})():n()}};function ue(t,n){return t.length===0?``:` `+t.map(t=>e.i(t,n).trimEnd()).join(` `)}var R=class e extends O{value;ednSource;constructor(e,t){if(super(),!Number.isInteger(e)||e<0||e>255)throw RangeError(`CborSimple value must be an integer in 0–255`);this.value=e,this.ednSource=t?.ednSource}static FALSE=new e(20);static TRUE=new e(21);static NULL=new e(22);static UNDEFINED=new e(23);_encodeTo(e,t){if(this.value<=23){e.writeByte(224|this.value);return}e.writeByte(248),e.writeByte(this.value)}_toCDN(e,t){if(e?.preserveNumberFormat&&this.ednSource!==void 0)return`simple(${this.ednSource})`;switch(this.value){case 20:return`false`;case 21:return`true`;case 22:return`null`;case 23:return`undefined`;default:return`simple(${this.value})`}}_toJS(e){switch(this.value){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:return new d(this.value)}}},z=class extends O{items;encodingWidth;constructor(e,t){super(),this.items=e,this.encodingWidth=t?.encodingWidth}get _containsCdnContainer(){return this.items.some(e=>e._containsCdnContainer)}_content(e){let t=new C;for(let n of this.items)n._encode(t,e);return t.finish()}_encodeTo(e,t){let n=this._content(t);w(e,2,n.length,this.encodingWidth),e.writeBytes(n)}_toCDN(t,n){return e.E({node:this,options:t,depth:n,openChar:`<<`,closeChar:`>>`,count:this.items.length,indefiniteLength:!1,encodingWidth:this.encodingWidth,eiPosition:`close`,canonicalCount:()=>BigInt(this._content(t).length),hasEntryComments:()=>this.items.some(e.f),renderEntry:e=>this.items[e]._toCDN(t,n+1),alwaysInlineLeaf:!0,entryIsMultiWordText:e=>this.items[e]._isMultiWordText(t,!1),entryLeadingNode:e=>this.items[e],entryTrailing:(t,n)=>e.d(this.items[t],n)})}_toHexDump(t,n){let r=this._content().length,i=[{depth:t,hex:e.P(T(2,BigInt(r),this.encodingWidth)),comment:`Embedded CBOR sequence, ${r} byte${r===1?``:`s`}`}];for(let r of this.items)e.b(i,r._toHexDump(t+1,n));return i}_toJS(e){return this._content()}};function de(e){let t=``,n=0;for(;n<e.length;){let r=e[n];if(r===` `||r===`
|
|
4
|
-
`||r===`\r`){n++;continue}if(r===`#`){for(;n<e.length&&e[n]!==`
|
|
5
|
-
`;)n++;continue}if(r===`/`){let t=e[n+1]??``;if(t===`/`){for(;n<e.length&&e[n]!==`
|
|
6
|
-
`;)n++;continue}if(t===`*`){for(n+=2;n<e.length&&(e[n]!==`*`||(e[n+1]??``)!==`/`);)n++;if(n>=e.length)throw SyntaxError(`unterminated block comment`);n+=2;continue}for(n++;n<e.length&&e[n]!==`/`;)n++;if(n>=e.length)throw SyntaxError(`unterminated block comment`);n++;continue}t+=r,n++}return t}var fe=`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`,pe=`0123456789ABCDEFGHIJKLMNOPQRSTUV`;function me(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===61;)t--;return e.slice(0,t)}function he(e,t,n){let r=me(e).toUpperCase(),i=r.length%8;if(i===1||i===3||i===6)throw SyntaxError(`invalid base32 length: ${r.length} characters`);let a=new Uint8Array(128).fill(255);for(let e=0;e<t.length;e++)a[t.charCodeAt(e)]=e;let o=new Uint8Array(Math.floor(r.length*5/8)),s=0,c=0,l=0;for(let e of r){let t=e.charCodeAt(0),n=t<128?a[t]:255;if(n===255)throw SyntaxError(`invalid character in byte string: ${JSON.stringify(e)}`);s=s<<5|n,c+=5,c>=8&&(c-=8,o[l++]=s>>c&255)}if(c>0&&s&(1<<c)-1){let e=`non-zero trailing bits in base32 input`;if(n)n(e);else throw SyntaxError(e)}return o}var ge={appStringPrefixes:[`b32`],parseAppString(e,t,n){return new N(he(de(t),fe,n),{ednEncoding:`base32`})}},_e={appStringPrefixes:[`h32`],parseAppString(e,t,n){return new N(he(de(t),pe,n),{ednEncoding:`base32hex`})}},ve=999n,ye=class extends M{constructor(e,t){let n=t.length===1&&t[0]instanceof K?t[0]:new I(t);super(ve,new I([new K(e),n]))}_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);let r=this.content,i=r.items[0].value,a=r.items[1];return a instanceof K?`${i}${e.s(a.value)}`:`${i}<<${a.items.map(e=>e._toCDN(t,n)).join(`, `)}>>`}},B=class extends O{inner;ednSource;constructor(e,t){super(),this.inner=e,this.ednSource=t}get _containsCdnContainer(){return this.inner._containsCdnContainer}_isMultiWordText(t,n=!0){return e.h(this._toCDN(t,0),n)}_encodeTo(e,t){this.inner._encode(e,t)}_toCDN(t,n){let r=t?.encodingIndicators??`auto`;return t?.appPrefix!==!1&&r===`auto`&&(e.w(t)!==null||!/[\r\n]/.test(this.ednSource))?this.ednSource:this.inner._toCDN(t,n)}_toJS(e){return this.inner._toJS(e)}},be=888n;function xe(t,n,r,i){return r?[...(t.comments?.trailing??[]).map(t=>e.i(t,i)),...(n.comments?.leading??[]).map(t=>e.i(t,i))]:[]}function Se(t,n,r,i){return r===null||!n.some(e=>e.length>0)?t.join(` + `):e.y(t,r,i,n)}function Ce(t,n,r,i){if(t===void 0)return;let a=e.D(n)||i===void 0?t:e.k(t,i);return Te(a,r)?a:void 0}function we(e,t){return e!==void 0&&Te(e,t)}function Te(e,t){return t!==null||!/[\r\n]/.test(e)}var V=class t extends M{realBoundary;fromByteLiteral;literalSource;constructor(e,t){Array.isArray(e)?(super(be,new I(e)),this.fromByteLiteral=!1,this.literalSource=void 0,this.realBoundary=t):(super(be,R.NULL),this.fromByteLiteral=e??!1,this.literalSource=t,this.realBoundary=void 0)}_toCDN(n,r){if(n?.appPrefix===!1)return super._toCDN(n,r);if(this.content instanceof R)return`...`;if(this.content instanceof I){let i=!!n?.preserveConcatenation;if(i||n?.preserveByteString&&!this._hasRealConcatenation()){let e=this._renderPreservedBytesElision(n,r);if(e!==void 0)return e}if(!i||this.realBoundary===void 0){let e=this._compactHexElided();if(e!==void 0)return e}let a=this.content.items,o=a.map(e=>i?this._renderFragment(e,n,r):e._toCDN(n,r)),s=e.D(n),c=e.S(n),l=a.slice(1).map((e,t)=>xe(a[t],e,s,c));if(n?.modernConcat){let i=a.every(e=>e instanceof N||e instanceof t&&e.content instanceof R);return e.v(i?`b1`:`t1`,o,``,e.w(n),r,l)}return Se(o,l,e.w(n),r)}return super._toCDN(n,r)}_hasRealConcatenation(){return this.realBoundary?.some((e,t)=>t>0&&e)?!0:this.content.items.some(e=>e instanceof N&&e.ednParts!==void 0&&e.ednParts.length>1)}_renderFragment(t,n,r){let i=e.w(n),a=e.D(n),o=e.S(n),s=!!n?.modernConcat;if(t instanceof N&&t.ednParts!==void 0&&t.ednParts.length>1){let c=n?.appPrefix===!1?`hex`:n?.bstrEncoding??t.ednEncoding,l=t.ednParts.map(t=>{let r=n?.preserveByteString?Ce(t.source,n,i,t.commentSyntax):void 0;return r===void 0?e.T(t.bytes,c,n?.sqstr):r}),u=a?e.a(t.comments?.dangling,t.ednParts,o)??[]:[];return s?e.v(`b1`,l,``,i,r,u):Se(l,u,i,r)}if(t instanceof K&&t.ednParts!==void 0&&t.ednParts.length>1){let c=n?.preserveRawString?t.ednPartSources:void 0,l=t.ednParts.map((t,n)=>{let r=c?.[n];return we(r,i)?r:e.c(t)}),u=a?e.a(t.comments?.dangling,t.ednPartSpans,o)??[]:[];return s?e.v(`t1`,l,``,i,r,u):Se(l,u,i,r)}return t._toCDN(n,r)}_compactHexElided(){let n=this.content.items,r=``,i=!1;for(let a of n)if(a instanceof N)r+=e.N(a.value),i=!0;else if(a instanceof t&&a.content instanceof R)r+=`...`;else return;if(i)return`h'${r}'`}_renderPreservedBytesElision(n,r){if(this.realBoundary===void 0)return;let i=this.realBoundary,a=this.content.items,o=[],s=[],c=[],l=e=>{c.length>0&&(o.push(c),s.push(e??[]),c=[])},u=e.D(n),d=e.S(n);for(let n=0;n<a.length;n++){let r=a[n];if(n>0&&i[n]&&l(xe(a[n-1],r,u,d)),r instanceof t&&r.content instanceof R)c.push({ellipsis:!0,fromByteLiteral:r.fromByteLiteral,literalSource:r.literalSource});else if(r instanceof N){if(r.ednParts!==void 0&&r.ednParts.length>1){let[t,...n]=r.ednParts;c.push({bytes:t.bytes,source:t.source,commentSyntax:t.commentSyntax});let i=u?e.a(r.comments?.dangling,r.ednParts,d):void 0;n.forEach((e,t)=>{l(i?.[t]),c.push({bytes:e.bytes,source:e.source,commentSyntax:e.commentSyntax})})}else c.push({bytes:r.value,source:r.ednSource,commentSyntax:r.ednCommentSyntax})}else return}if(c.length>0&&o.push(c),o.length===0)return;let f=n?.appPrefix===!1?`hex`:n?.bstrEncoding??`hex`,p=e.w(n),m=o.map(t=>{if(n?.preserveByteString)for(let e of t){if(!(`ellipsis`in e))continue;let t=Ce(e.literalSource,n,p,`full`);if(t!==void 0)return t}let r=t.filter(e=>!(`ellipsis`in e));if(r.length===0)return t.some(e=>`ellipsis`in e&&e.fromByteLiteral)?`h'...'`:`...`;if(t.length===1){let t=r[0],i=n?.preserveByteString?Ce(t.source,n,p,t.commentSyntax):void 0;return i===void 0?e.T(t.bytes,f,n?.sqstr):i}return`h'${t.map(t=>`ellipsis`in t?`...`:e.N(t.bytes)).join(``)}'`});return n?.preserveConcatenation&&n?.modernConcat&&m.length>1?e.v(`b1`,m,``,p,r,s):Se(m,s,p,r)}},Ee=2n,De=3n,Oe=18446744073709551615n,ke=-18446744073709551616n;function Ae(e){if(e<0n)throw RangeError(`bigintToBytes requires a non-negative value`);if(e===0n)return new Uint8Array;let t=e.toString(16);t.length%2!=0&&(t=`0`+t);let n=new Uint8Array(t.length/2);for(let e=0;e<n.length;e++)n[e]=parseInt(t.slice(e*2,e*2+2),16);return n}function je(e){let t=0n;for(let n of e)t=t<<8n|BigInt(n);return t}var Me=class extends M{bigValue;constructor(e){if(e<=Oe)throw RangeError(`CborBigUint value ${e} fits in CborUint; use CborUint instead`);super(Ee,new N(Ae(e))),this.bigValue=e}_toCDN(e,t){return this.bigValue.toString()}_toJS(e){return this.bigValue}},Ne=class extends M{bigValue;constructor(e){if(e>=ke)throw RangeError(`CborBigNint value ${e} fits in CborNint; use CborNint instead`);super(De,new N(Ae(-1n-e))),this.bigValue=e}_toCDN(e,t){return this.bigValue.toString()}_toJS(e){return this.bigValue}},H=new TextEncoder,Pe=new TextDecoder(`utf-8`,{fatal:!0}),Fe=new TextDecoder(`utf-8`,{fatal:!1});function Ie(t,n){let r=new e.A(t,{offset:n?.offset,skipRS:n?._skipRS}),i=new et(r,n??{}).parse();return(e.D(n)||n?.preserveAll)&&(qe(i,r.comments,t),W(i)),i}function Le(e){let t=e,n;return/[_][0-7i]$/.test(e)&&(n=e[e.length-1],t=e.slice(0,-2)),{numStr:t,rawSuffix:n}}function Re(e){return e.startsWith(`-`)?-BigInt(e.slice(1)):BigInt(e)}function U(e){if(e!==void 0)return Be([e.appSeqSourceFeatures,ze(e)])}function ze(e){if(e instanceof N)return{byteString:!0,concatenation:e.ednParts!==void 0&&e.ednParts.length>1};if(e instanceof K){let t=e.ednParts!==void 0,n=e.ednPartSources?.filter(e=>e!==void 0).length??0,r=t?e.ednParts.reduce((t,n,r)=>{let i=e.ednPartSources?.[r]!==void 0,a=e.ednPartIsByteString?.[r]??!1;return i||!a?t:t+1},0):0,i=(t?e.ednParts.length:0)-n-r;return{byteString:r>0,textString:e.quotedEdnSource!==void 0||i>0,rawString:e.ednSource!==void 0||n>0,concatenation:t&&e.ednParts.length>1}}if(e instanceof I)return Be(e.items.map(U));if(e instanceof L)return Be(e.entries.flatMap(([e,t])=>[U(e),U(t)]));if(e instanceof M)return U(e.content);if(e instanceof P||e instanceof F||e instanceof z)return Be((e instanceof z?e.items:e.chunks).map(U))}function Be(e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return{byteString:t.some(e=>e.byteString),textString:t.some(e=>e.textString),rawString:t.some(e=>e.rawString),concatenation:t.some(e=>e.concatenation)}}function Ve(e,t){if(e.endsWith(`_i`)||e.endsWith(`_0`)){let n=`_0 and _i encoding indicators are not valid for floating-point values`;if(t)t(n),e=e.slice(0,-2);else throw SyntaxError(`EDN parse error: ${n}`)}else if(/[_][4567]$/.test(e)){let n=e[e.length-1],r=n===`7`?`indefinite-length encoding (_7) is not valid for floating-point values`:`encoding indicator _${n} (AI ${Number(n)+24}) is reserved and not valid`;if(t)t(r),e=e.slice(0,-2);else throw SyntaxError(`EDN parse error: ${r}`)}if(e===`NaN`)return{value:NaN,precision:void 0};if(e===`Infinity`)return{value:1/0,precision:void 0};if(e===`-Infinity`)return{value:-1/0,precision:void 0};let n=e,r;return e.endsWith(`_1`)?(r=`half`,n=e.slice(0,-2)):e.endsWith(`_2`)?(r=`single`,n=e.slice(0,-2)):e.endsWith(`_3`)&&(r=`double`,n=e.slice(0,-2)),/^-?0[xX]/.test(n)?{value:se(n),precision:r}:{value:parseFloat(n),precision:r}}var He=/\r?\n[ \t]*\r?\n/;function Ue(e,t,n){return He.test(e.slice(t,n))}function We(e,t,n,r){let i=[];for(let a=t;a<e.length;a++){let t=e[a];if(t.start>=r)break;t.start>=n&&t.end<=r&&i.push({...t,start:t.start-n,end:t.end-n})}return i}function Ge(e,t,n,r){if(n.end!==void 0)return{start:(/_[0-7i]$/.test(e.slice(Math.max(0,n.end-2),n.end))?n.end-2:n.end)-t,end:n.end-t,always:r,never:``}}function Ke(t,n,r){if(r instanceof k){let i=Ge(t,n,r,`_${r.encodingWidth??e.r(r.value)}`);return i?[i]:[]}if(r instanceof A){let i=Ge(t,n,r,`_${r.encodingWidth??e.r(r.argument)}`);return i?[i]:[]}if(r instanceof j){let e=r.precision??D(r.value),i=Ge(t,n,r,e===`half`?`_1`:e===`single`?`_2`:`_3`);return i?[i]:[]}if(r instanceof N){let i=Ge(t,n,r,`_${r.encodingWidth??e.r(BigInt(r.value.length))}`);return i?[i]:[]}if(r instanceof K){let i=Ge(t,n,r,`_${r.encodingWidth??e.r(BigInt(H.encode(r.value).length))}`);return i?[i]:[]}if(r instanceof I){let i=[];if(r.indefiniteLength)return;if(r.start!==void 0){let a=new e.A(t,{offset:r.start}),o=a.consume(),s=a.peek(),c=s.type===`ENCODING_INDICATOR`,l=`_${r.encodingWidth??e.r(BigInt(r.items.length))}`,u=t[o.endOffset]??``,d=!c&&/[+\-.0-9A-Z_a-z]/.test(u)?` `:``;i.push({start:(c?s.offset:o.endOffset)-n,end:(c?s.endOffset:o.endOffset)-n,always:l+d,never:``})}for(let a of r.items){let r=Ke(t,n,a);if(r===void 0)return;e.b(i,r)}return i}}function qe(e,t,n){if(t.length===0)return;let r=Je(e),i=Xe(n),a=[...r].sort((e,t)=>e.start-t.start||t.end-e.end),o=[...r].sort((e,t)=>e.end-t.end||e.start-t.start),s=[...t].sort((e,t)=>e.start-t.start),c=[],l=0;for(let e of s){let t={...e},r=0,s=o.length;for(;r<s;){let t=r+s>>1;o[t].end<=e.start?r=t+1:s=t}let u=r>0?o[r-1]:void 0,d=u?n.slice(u.end,e.start):``;if(u&&i(u.end)===e.line&&!d.includes(`:`)){Ye(u.node,`trailing`,t);continue}for(;l<a.length&&a[l].start<e.start;){let e=a[l++];for(;c.length>0&&c[c.length-1].end<=e.start;)c.pop();c.push(e)}for(;c.length>0&&c[c.length-1].end<=e.start;)c.pop();let f=c.length>0?c[c.length-1]:void 0;for(r=0,s=a.length;r<s;){let t=r+s>>1;a[t].start<e.end?r=t+1:s=t}let p=r<a.length?a[r]:void 0;if((!f||p&&p.end<=f.end)&&p){t.sameLine=i(e.end)===i(p.start),Ye(p.node,`leading`,t);continue}f&&Ye(f.node,`dangling`,t)}}function Je(e){let t=[],n=e=>{if(e.start!==void 0&&e.end!==void 0&&t.push({node:e,start:e.start,end:e.end}),e instanceof I||e instanceof z){for(let t of e.items)n(t);return}if(e instanceof L){for(let[t,r]of e.entries)n(t),n(r);return}if(e instanceof P||e instanceof F){for(let t of e.chunks)n(t);return}e instanceof M&&n(e.content)};return n(e),t}function Ye(e,t,n){e.comments??={},e.comments[t]??=[],e.comments[t].push(n)}function W(e){if(e instanceof V){if(e.content instanceof I){let t=e.content.items;for(let e of t)W(e);let n=t[t.length-1],r=n?.comments?.trailing;r!==void 0&&r.length>0&&!e.comments?.trailing?.length&&(e.comments??={},e.comments.trailing=r,n.comments.trailing=void 0)}return}if(e instanceof I||e instanceof z){for(let t of e.items)W(t);return}if(e instanceof L){for(let[t,n]of e.entries)W(t),W(n);return}if(e instanceof P||e instanceof F){for(let t of e.chunks)W(t);return}e instanceof M&&W(e.content)}function Xe(e){let t=[0];for(let n=0;n<e.length;n++)e[n]===`
|
|
7
|
-
`&&t.push(n+1);return n=>{let r=Math.max(0,Math.min(e.length,n));r>0&&r===e.length&&r--;let i=0,a=t.length-1;for(;i<=a;){let e=i+a>>1;t[e]<=r?i=e+1:a=e-1}return a+1}}var Ze=e=>`import { ${e} } from '@cbortech/cbor' and pass it via the 'extensions' option (extensions: [${e}])`,Qe=(e,t)=>`install ${t}, import { ${e} } from '${t}', and pass it via the 'extensions' option (extensions: [${e}])`,G=e=>`'${e}' is a default built-in extension that was excluded via the 'builtinExtensions' option; add it back to that array (or omit 'builtinExtensions' to use the default set)`,$e=new Map([[`b32`,Ze(`b32`)],[`h32`,Ze(`h32`)],[`same`,Ze(`same`)],[`hash`,Qe(`hash`,`@cbortech/hash-extension`)],[`uuid`,Qe(`uuid`,`@cbortech/uuid-extension`)],[`UUID`,Qe(`uuid`,`@cbortech/uuid-extension`)],[`dt`,G(`dt`)],[`DT`,G(`dt`)],[`ip`,G(`ip`)],[`IP`,G(`ip`)],[`cri`,G(`cri`)],[`CRI`,G(`cri`)],[`t1`,G(`t1`)],[`b1`,G(`b1`)],[`ilbs`,G(`ilbs`)],[`ilts`,G(`ilts`)],[`float`,G(`float`)]]),et=class{t;_options;extByPrefix;extByTag;unresolvedExtension;_pendingWarnings=[];_hintedPrefixes=new Set;constructor(t,n){this.t=t,this._options=n,this.extByPrefix=new Map,this.extByTag=new Map,this.unresolvedExtension=n.unresolvedExtension??`cpa999`;let r=Z(n.builtinExtensions);for(let e of[...r,...n.extensions??[]]){for(let t of e.appStringPrefixes??[])this.extByPrefix.set(t,e);for(let t of e.tagNumbers??[])this.extByTag.set(t,e)}this.t.onEscapeWarning=(t,n,r,i,a)=>{let o={message:t,offset:n,line:r,column:i,endOffset:a};if(this._pendingWarnings.push(o),this._options.onWarning?this._options.onWarning(o):this._options.silent||console.warn(`CDN strict violation at line ${r}, column ${i}: ${t}`),this._options.strict!==!1)throw new e.I(t,{offset:n,line:r,column:i,endOffset:a})}}parse(){let e=this.parseValue();if(this._options.allowTrailing)return e;let t=this.t.peek();if(t.type!==`EOF`)for(this._warnOrFail(`unexpected token after value: ${JSON.stringify(t.value)}`,t),this._pendingWarnings.length>0&&(e.warnings??=[],e.warnings.push(...this._pendingWarnings),this._pendingWarnings=[]);this.t.peek().type!==`EOF`;)this.t.consume();return e}parseValue(){let e=this.t.peek().offset,t=this._parseValueNode();if(this.t.peek().type===`UNDERSCORE`){let e=this.t.consume();this._warnOrFail(`bare _ is not a valid encoding indicator; use _0, _1, _2, _3, or _i`,e)}if(this._pendingWarnings.length>0){t.warnings??=[];for(let e of this._pendingWarnings)t.warnings.push(e);this._pendingWarnings=[]}return t.start=e,t.end=this.t.lastEndOffset,t}_parseValueNode(){let e=this.t.peek();switch(e.type){case`INTEGER`:return this.parseIntegerOrTag();case`FLOAT`:return this.parseFloat();case`TSTR`:case`RAWSTRING`:return this.parseString();case`BYTES_HEX`:case`SQSTR`:case`BYTES_B64`:return this.t.consume(),this._parseBytesConcat(this._decodeBytesToken(e),e.type,e.raw,e.offset,e.endOffset);case`EMPTY_INDEF_BYTES`:return this.t.consume(),new P([]);case`EMPTY_INDEF_TEXT`:return this.t.consume(),new F([]);case`TRUE`:return this.t.consume(),new R(21);case`FALSE`:return this.t.consume(),new R(20);case`NULL`:return this.t.consume(),new R(22);case`UNDEFINED`:return this.t.consume(),new R(23);case`SIMPLE`:return this.parseSimple();case`LBRACKET`:return this.parseArray();case`LBRACE`:return this.parseMap();case`LPAREN`:return this.parseIndefGroup();case`LT_LT`:return this.parseEmbeddedCBOR();case`APP_STRING`:{this.t.consume();let t,n=``;if(this.t.peek().type===`ENCODING_INDICATOR`){let e=this.t.consume();t=this._resolveEncodingWidth(e.value,e),n=e.raw}let r=this.extByPrefix.get(e.appPrefix);if(!r?.parseAppString){if(r||this._hintMissingExtension(e.appPrefix,e),this.unresolvedExtension===`cpa999`)return new ye(e.appPrefix,[new K(e.value)]);this._fail(`unknown app-string extension: ${JSON.stringify(e.appPrefix)}`,e)}{let i=this._pendingWarnings.length;try{let i=r.parseAppString(e.appPrefix,e.value,this._extOnError(e),t===void 0?void 0:{encodingWidth:t});return t!==void 0&&this._applyEiToResult(i,t,e),r.preserveAppSeqSource===`optional`?(i.appSeqSource=e.raw+n,i):i instanceof N&&Object.getPrototypeOf(i)===N.prototype&&i.ednSource===void 0?new N(i.value,{ednEncoding:i.ednEncoding,encodingWidth:i.encodingWidth,ednSource:e.raw+n,ednCommentSyntax:r===ge||r===_e?`full`:void 0}):(i instanceof j&&i.ednSource===void 0&&(i.ednSource=e.raw+n),i)}catch(t){if(this._options.strict!==!1)throw t;return this._pendingWarnings.length===i&&this._warn(t instanceof Error?t.message:String(t),e),new ye(e.appPrefix,[new K(e.value)])}}}case`APP_SEQUENCE`:{let t=this.t.comments.length;this.t.consume();let n=[];for(;this.t.peek().type!==`GT_GT`;){if(this.t.peek().type===`EOF`&&this._fail(`unterminated ${e.appPrefix}<<...>>`,e),n.length>0){if(this.t.peek().type===`COMMA`){if(this.t.consume(),this.t.peek().type===`GT_GT`)break}else this.t.peek().offset===this.t.lastEndOffset&&this._warnOrFail(`<<...>> items must be separated by "," or whitespace`,this.t.peek())}n.push(this.parseValue())}this.expect(`GT_GT`);let r,i;this.t.peek().type===`ENCODING_INDICATOR`&&(i=this.t.consume(),r=this._resolveEncodingWidth(i.value,i));let a=this.extByPrefix.get(e.appPrefix);if(!a){if(this._hintMissingExtension(e.appPrefix,e),this.unresolvedExtension===`cpa999`)return new ye(e.appPrefix,n);this._fail(`unknown app-string extension: ${JSON.stringify(e.appPrefix)}`,e)}a.parseAppSequence||this._fail(`app-string extension ${JSON.stringify(e.appPrefix)} does not support <<...>> form`,e);{let o=this._pendingWarnings.length;try{let o=a.parseAppSequence(e.appPrefix,n,this._extOnError(e));r!==void 0&&this._applyEiToResult(o,r,i??e);let s=this.t.source.slice(e.offset,this.t.lastEndOffset);if(a.preserveAppSeqSource===`optional`)o.appSeqSource=s,o.appSeqComments=We(this.t.comments,t,e.offset,this.t.lastEndOffset),n.length===1&&(n[0].end!==void 0&&(o.appSeqInnerEnd=n[0].end-e.offset),o.appSeqSourceFeatures=U(n[0]));else if(o instanceof j)o.ednSource===void 0&&(o.ednSource=s);else if(a.preserveAppSeqSource)return new B(o,s);return o}catch(t){if(this._options.strict!==!1)throw t;return this._pendingWarnings.length===o&&this._warn(t instanceof Error?t.message:String(t),e),new ye(e.appPrefix,n)}}}case`ELLIPSIS`:{if(this.t.consume(),this.t.peek().type!==`PLUS`)return new V;let e=[new V];for(;this.t.peek().type===`PLUS`;)this.t.consume(),e.push(this.parseValue());return new V(e,e.map(()=>!0))}case`BYTES_HEX_ELIDED`:return this.t.consume(),this._parseHexElidedConcat(e);default:this._fail(`unexpected token: ${JSON.stringify(e.value)}`,e)}}parseIntegerOrTag(){let t=this.t.comments.length,n=this.t.consume(),{numStr:r,rawSuffix:i}=Le(n.value),a=i===void 0?n.endOffset:n.endOffset-2,o=n.endOffset,s=i===void 0?this.consumeEncodingIndicator(void 0,e=>{a=e.offset,o=e.endOffset}):this._resolveEncodingWidth(i,n),c=Re(r),l=i===void 0?n.raw:n.raw.slice(0,-2);if(c>18446744073709551615n)return this.t.peek().type===`LPAREN`&&this._fail(`tag number exceeds maximum uint64`,n),new Me(c);if(c<-18446744073709551616n)return new Ne(c);if(s!==void 0){let e=c>=0n?c:-(c+1n);s=this._validateEncodingFit(e,s,n)}let u=c>=0n?new k(c,{encodingWidth:s,ednSource:l}):new A(c,{encodingWidth:s,ednSource:l});if(this.t.peek().type===`LPAREN`){u instanceof k||this._fail(`tag number must be non-negative`,n),this.t.consume();let r=this._pendingWarnings.splice(0),i=this.parseValue();this.expect(`RPAREN`);let c=u.value,d=this.extByTag.get(c);if(d?.parseTag){let u=d.parseTag(c,i);if(u!==void 0){if(u instanceof M&&(s!==void 0&&u.encodingWidth===void 0&&(u.encodingWidth=s),u.ednSource===void 0&&(u.ednSource=l),d.preserveAppSeqSource===`optional`&&u.appSeqSource===void 0)){u.appSeqSource=this.t.source.slice(n.offset,this.t.lastEndOffset),u.appSeqComments=We(this.t.comments,t,n.offset,this.t.lastEndOffset);let r=u.encodingWidth??e.r(u.tag),s=Ke(this.t.source,n.offset,u.content);u.appSeqEncodingEdits=[{start:a-n.offset,end:o-n.offset,always:`_${r}`,never:``},...s??[]],s===void 0&&(u.appSeqEncodingEditsComplete=!1),u.appSeqSourceFeatures=U(i)}return r.length>0&&(u.warnings??=[],u.warnings.push(...r)),u}}let f=new M(c,i,{encodingWidth:s,ednSource:l});return r.length>0&&(f.warnings??=[],f.warnings.push(...r)),f}return u}parseFloat(){let e=this.t.consume(),t=t=>this._warnOrFail(t,e),{value:n,precision:r}=Ve(e.value,t);if(r===`half`||r===`single`){let e=r===`half`?h(m(n)):Math.fround(n);Object.is(n,e)||isNaN(n)&&isNaN(e)||t(`${n} cannot be exactly represented as ${r===`half`?`f16 (_1)`:`f32 (_2)`}; use _3 or remove the indicator`)}return new j(n,{precision:r,literalSource:e.raw})}parseString(){let e=this.t.consume();if(this.t.peek().type!==`PLUS`){let t=this.consumeEncodingIndicator(()=>BigInt(H.encode(e.value).length));return e.type===`RAWSTRING`?new K(e.value,{ednSource:e.raw,...t===void 0?{}:{encodingWidth:t}}):new K(e.value,{quotedEdnSource:e.raw,...t===void 0?{}:{encodingWidth:t}})}let t=!1,n=[e.type===`RAWSTRING`?{text:e.value,source:e.raw,start:e.offset,end:e.endOffset}:{text:e.value,start:e.offset,end:e.endOffset}];for(;this.t.peek().type===`PLUS`;){this.t.consume();let e=this.t.peek();e.type===`ELLIPSIS`?(this.t.consume(),n.push({ellipsis:!0,start:e.offset,end:e.endOffset}),t=!0):e.type===`TSTR`||e.type===`RAWSTRING`?(this.t.consume(),n.push(e.type===`RAWSTRING`?{text:e.value,source:e.raw,start:e.offset,end:e.endOffset}:{text:e.value,start:e.offset,end:e.endOffset})):this._isBytesToken(e.type)?(this.t.consume(),n.push({text:this._decodeUtf8(this._decodeBytesToken(e),e),isByteString:!0,start:e.offset,end:e.endOffset})):this._fail(`expected string or byte string after +, got ${JSON.stringify(e.value)}`,e)}if(!t){let e=n.map(e=>`text`in e?e.text:``),t=n.map(e=>`text`in e?e.source:void 0),r=n.map(e=>`text`in e?e.isByteString??!1:!1),i=n.map(e=>({start:e.start,end:e.end})),a=e.join(``),o=this.consumeEncodingIndicator(()=>BigInt(H.encode(a).length));return new K(a,{ednParts:e,ednPartSpans:i,...t.some(e=>e!==void 0)?{ednPartSources:t}:{},...r.some(e=>e)?{ednPartIsByteString:r}:{},...o===void 0?{}:{encodingWidth:o}})}let r=[],i=[],a=()=>{let e=i.map(e=>e.text),t=e.join(``);if(t!==``){let n=i.map(e=>e.source),a=i.map(e=>e.isByteString??!1),o=new K(t,{ednParts:e,ednPartSpans:i.map(e=>({start:e.start,end:e.end})),...n.some(e=>e!==void 0)?{ednPartSources:n}:{},...a.some(e=>e)?{ednPartIsByteString:a}:{}});o.start=i[0].start,o.end=i[i.length-1].end,r.push(o)}i.length=0};for(let e of n)if(`ellipsis`in e){a();let t=new V;t.start=e.start,t.end=e.end,r.push(t)}else i.push(e);return a(),new V(r)}_isBytesToken(e){return e===`BYTES_HEX`||e===`SQSTR`||e===`BYTES_B64`}_hexToBytes(t,n){try{return e.F(t)}catch(t){if(t instanceof e.I||!(t instanceof SyntaxError))throw t;this._fail(t.message,n)}}_decodeBytesToken(t){let n=e=>this._warnOrFail(e,t);switch(t.type){case`SQSTR`:{let e=t._sqstrBytes;return e===void 0?this._hexToBytes(t.value,t):e}case`BYTES_HEX`:return this._hexToBytes(t.value,t);case`BYTES_B64`:try{return e.j(t.value,n)}catch(n){if(n instanceof e.I||!(n instanceof SyntaxError))throw n;this._fail(n.message,t)}default:this._fail(`expected byte string token`,t)}}_decodeUtf8(e,t){if(this._options.allowInvalidUtf8)return Fe.decode(e);try{return Pe.decode(e)}catch{return this._warnOrFail(`byte string in text concatenation is not valid UTF-8`,t),Fe.decode(e)}}_tokenTypeToCdnEncoding(e){return e===`BYTES_B64`?`base64`:`hex`}_tokenTypeToCommentSyntax(e){if(e===`BYTES_HEX`)return`full`;if(e===`BYTES_B64`)return`hash-only`}_parseBytesConcat(e,t,n,r,i){if(this.t.peek().type!==`PLUS`){let r=this.consumeEncodingIndicator(()=>BigInt(e.length));return new N(e,{ednEncoding:this._tokenTypeToCdnEncoding(t),ednSource:n,ednCommentSyntax:this._tokenTypeToCommentSyntax(t),...r===void 0?{}:{encodingWidth:r}})}let a=[{bytes:e,source:n,commentSyntax:this._tokenTypeToCommentSyntax(t),real:!1,start:r,end:i}],o=this._consumeByteEllipsisChain(a);return this._buildFromByteAtoms(o,this._tokenTypeToCdnEncoding(t))}_parseHexElidedConcat(e){let t=this._consumeByteEllipsisChain(this._elidedHexAtoms(e.value,e));return this._buildFromByteAtoms(t,`hex`)}_consumeByteEllipsisChain(t){let n=t;for(;this.t.peek().type===`PLUS`;){this.t.consume();let t=this.t.peek();if(t.type===`ELLIPSIS`)this.t.consume(),n.push({ellipsis:!0,real:!0,fromByteLiteral:!1,start:t.offset,end:t.endOffset});else if(t.type===`BYTES_HEX_ELIDED`){this.t.consume();let r=this._elidedHexAtoms(t.value,t);r.length>0&&(r[0].real=!0),e.b(n,r)}else this._isBytesToken(t.type)?(this.t.consume(),n.push({bytes:this._decodeBytesToken(t),source:t.raw,commentSyntax:this._tokenTypeToCommentSyntax(t.type),real:!0,start:t.offset,end:t.endOffset})):t.type===`TSTR`||t.type===`RAWSTRING`?(this.t.consume(),this._warnOrFail(`text string in a byte-string concatenation is not allowed; use a byte string literal (h'...', b64'...', or '...') instead`,t),n.push({bytes:H.encode(t.value),real:!0,start:t.offset,end:t.endOffset})):this._fail(`expected byte string after +, got ${JSON.stringify(t.value)}`,t)}return n}_elidedHexAtoms(e,t){let n=e.split(`...`),r=[];for(let e=0;e<n.length;e++)e>0&&r.push({ellipsis:!0,real:!1,fromByteLiteral:!0,literalSource:t.raw,start:t.offset,end:t.endOffset}),n[e].length>0&&r.push({bytes:this._hexToBytes(n[e],t),commentSyntax:`full`,real:!1,start:t.offset,end:t.endOffset});return r}_buildFromByteAtoms(e,t){if(!e.some(e=>`ellipsis`in e)){let n=e,r=this._concatBytes(n.map(e=>e.bytes)),i=this.consumeEncodingIndicator(()=>BigInt(r.length));return new N(r,{ednEncoding:t,ednParts:n,...i===void 0?{}:{encodingWidth:i}})}let n=[],r=[],i=[],a=()=>{if(i.length>0){let e=new N(this._concatBytes(i.map(e=>e.bytes)),{...i.length>1?{ednParts:i.map(({bytes:e,source:t,commentSyntax:n,start:r,end:i})=>({bytes:e,source:t,commentSyntax:n,start:r,end:i}))}:{ednSource:i[0].source,ednCommentSyntax:i[0].commentSyntax}});e.start=i[0].start,e.end=i[i.length-1].end,n.push(e),r.push(i[0].real),i.length=0}};for(let t of e)if(`ellipsis`in t){a();let e=new V(t.fromByteLiteral,t.literalSource);e.start=t.start,e.end=t.end,n.push(e),r.push(t.real)}else i.push(t);return a(),new V(n,r)}_concatBytes(e){let t=e.reduce((e,t)=>e+t.byteLength,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.byteLength;return n}parseSimple(){this.t.consume(),this.expect(`LPAREN`);let e=this.t.peek();e.type!==`INTEGER`&&this._fail(`expected integer inside simple(), got ${JSON.stringify(e.value)}`,e),this.t.consume();let{numStr:t}=Le(e.value),n=Number(Re(t));return this.expect(`RPAREN`),new R(n,{ednSource:e.raw})}parseEmbeddedCBOR(){this.t.consume();let e=[];for(;this.t.peek().type!==`GT_GT`;){if(e.length>0){if(this.t.peek().type===`COMMA`){if(this.t.consume(),this.t.peek().type===`GT_GT`)break}else this.t.peek().offset===this.t.lastEndOffset&&this._warnOrFail(`<<...>> items must be separated by "," or whitespace`,this.t.peek())}e.push(this.parseValue())}this.expect(`GT_GT`);let t;if(this.t.peek().type===`ENCODING_INDICATOR`){let e=this.t.consume();t=this._resolveEncodingWidth(e.value,e)}return new z(e,{encodingWidth:t})}parseArray(){this.t.consume();let e=!1,t,n;this.t.peek().type===`UNDERSCORE`?(this.t.consume(),e=!0):this.t.peek().type===`ENCODING_INDICATOR`&&(n=this.t.consume(),n.value===`7`?(e=!0,this._warnOrFail(`encoding indicator _7 is non-standard; use _ to indicate indefinite length`,n),n=void 0):t=this._resolveEncodingWidth(n.value,n));let r=this._pendingWarnings.splice(0),i=[],a=this.t.lastEndOffset;for(;this.t.peek().type!==`RBRACKET`;){if(i.length>0){if(this.t.peek().type===`COMMA`){if(this.t.consume(),this.t.peek().type===`RBRACKET`)break}else this.t.peek().offset===this.t.lastEndOffset&&this._warnOrFail(`array items must be separated by "," or whitespace`,this.t.peek())}let e=this.parseValue();Ue(this.t.source,a,e.start)&&(e.blankLineBefore=!0),a=e.end,i.push(e)}this.expect(`RBRACKET`),t!==void 0&&n!==void 0&&(t=this._validateEncodingFit(BigInt(i.length),t,n));let o=new I(i,{indefiniteLength:e,encodingWidth:t});return r.length>0&&(o.warnings??=[],o.warnings.push(...r)),o}parseMap(){this.t.consume();let e=!1,t,n;this.t.peek().type===`UNDERSCORE`?(this.t.consume(),e=!0):this.t.peek().type===`ENCODING_INDICATOR`&&(n=this.t.consume(),n.value===`7`?(e=!0,this._warnOrFail(`encoding indicator _7 is non-standard; use _ to indicate indefinite length`,n),n=void 0):t=this._resolveEncodingWidth(n.value,n));let r=this._pendingWarnings.splice(0),i=[],a=this.t.lastEndOffset;for(;this.t.peek().type!==`RBRACE`;){if(i.length>0){if(this.t.peek().type===`COMMA`){if(this.t.consume(),this.t.peek().type===`RBRACE`)break}else this.t.peek().offset===this.t.lastEndOffset&&this._warnOrFail(`map entries must be separated by "," or whitespace`,this.t.peek())}let e=this.parseValue();Ue(this.t.source,a,e.start)&&(e.blankLineBefore=!0),this.expect(`COLON`);let t=this.parseValue();a=t.end,i.push([e,t])}this.expect(`RBRACE`),t!==void 0&&n!==void 0&&(t=this._validateEncodingFit(BigInt(i.length),t,n));let o=new L(i,{indefiniteLength:e,encodingWidth:t});return r.length>0&&(o.warnings??=[],o.warnings.push(...r)),o}parseIndefGroup(){this.t.consume();let e=this.t.peek();if(e.type===`UNDERSCORE`)this.t.consume();else if(e.type===`ENCODING_INDICATOR`&&e.value===`7`)this.t.consume(),this._warnOrFail(`encoding indicator _7 is non-standard; use _ to indicate indefinite length`,e);else if(e.type===`ENCODING_INDICATOR`){let e=this.t.consume(),t=`encoding indicator _${e.value} is not valid in an indefinite string group; use _`;this._warnOrFail(t,e)}else e.type!==`RPAREN`&&this._warnOrFail(`indefinite string group is missing _ after (; interpreting as (_ ...)`,e);let t=this._pendingWarnings.splice(0),n=[],r=this.t.lastEndOffset;for(;this.t.peek().type!==`RPAREN`;){if(n.length>0){if(this.t.peek().type===`COMMA`){if(this.t.consume(),this.t.peek().type===`RPAREN`)break}else this.t.peek().offset===this.t.lastEndOffset&&this._warnOrFail(`indefinite string chunks must be separated by "," or whitespace`,this.t.peek())}let e=this.parseValue();Ue(this.t.source,r,e.start)&&(e.blankLineBefore=!0),r=e.end,n.push(e)}this.expect(`RPAREN`),n.length===0&&this._fail(`empty indefinite group (_ ) is ambiguous; use ''_ for bytes or ""_ for text`);let i=n[0];if(i instanceof N){let e=new P(n.map((e,t)=>{if(e instanceof N)return e;this._fail(`indefinite byte string chunk ${t} must be a byte string, not a text string`)}));return t.length>0&&(e.warnings=t),e}if(i instanceof K){let e=new F(n.map((e,t)=>{if(e instanceof K)return e;this._fail(`indefinite text string chunk ${t} must be a text string, not a byte string`)}));return t.length>0&&(e.warnings=t),e}this._fail(`indefinite group chunks must be byte strings or text strings`)}consumeEncodingIndicator(e,t){if(this.t.peek().type===`ENCODING_INDICATOR`){let n=this.t.consume();t?.(n);let r=this._resolveEncodingWidth(n.value,n);return r!==void 0&&e!==void 0&&(r=this._validateEncodingFit(e(),r,n)),r}}expect(e){let t=this.t.consume();return t.type!==e&&this._fail(`expected ${e}, got ${t.type} (${JSON.stringify(t.value)})`,t),t}_applyEiToResult(e,t,n){if(e instanceof j){let r=t===1?`half`:t===2?`single`:t===3?`double`:void 0;if(r===void 0)this._warnOrFail(`encoding indicator _${t} is not valid for a float; use _1, _2, or _3`,n);else if(e.precision!==r){if(r!==`double`){let t=r===`half`?h(m(e.value)):Math.fround(e.value);!Object.is(t,e.value)&&!isNaN(e.value)&&this._warnOrFail(`${e.value} cannot be exactly represented as ${r===`half`?`float16 (_1)`:`float32 (_2)`}`,n)}e.precision=r}}else if(e instanceof k){if(e.encodingWidth===void 0){let r=this._validateEncodingFit(e.value,t,n);r!==void 0&&(e.encodingWidth=r)}}else if(e instanceof A){if(e.encodingWidth===void 0){let r=this._validateEncodingFit(e.argument,t,n);r!==void 0&&(e.encodingWidth=r)}}else if(e instanceof N){if(e.encodingWidth===void 0){let r=this._validateEncodingFit(BigInt(e.value.length),t,n);r!==void 0&&(e.encodingWidth=r)}}else if(e instanceof K){if(e.encodingWidth===void 0){let r=this._validateEncodingFit(BigInt(H.encode(e.value).length),t,n);r!==void 0&&(e.encodingWidth=r)}}else if(e instanceof I){if(e.encodingWidth===void 0){let r=this._validateEncodingFit(BigInt(e.items.length),t,n);r!==void 0&&(e.encodingWidth=r)}}else if(e instanceof L){if(e.encodingWidth===void 0){let r=this._validateEncodingFit(BigInt(e.entries.length),t,n);r!==void 0&&(e.encodingWidth=r)}}else if(e instanceof M){if(e.encodingWidth===void 0){let r=this._validateEncodingFit(e.tag,t,n);r!==void 0&&(e.encodingWidth=r)}}else this._warnOrFail(`encoding indicator _${t} is not applicable to this app-string result type`,n)}_validateEncodingFit(e,t,n){let r=te(t);if(e<=r)return t;let i=`value ${e} does not fit in encoding indicator ${t===`i`?`_i (max 23)`:`_${t} (max ${r})`}`;this._warnOrFail(i,n)}_resolveEncodingWidth(e,t){if(e===`4`||e===`5`||e===`6`){let n=`encoding indicator _${e} (AI ${Number(e)+24}) is reserved and not valid`;this._warnOrFail(n,t);return}if(e===`7`){this._warnOrFail(`indefinite-length encoding (_7) is not valid here; use [_ ...] or {_ ...} for indefinite collections`,t);return}return e===`i`?`i`:Number(e)}_extOnError(e){return t=>this._warnOrFail(t,e)}_warnOrFail(e,t){this._warn(e,t),this._options.strict!==!1&&this._fail(e,t)}_hintMissingExtension(e,t){let n=$e.get(e);if(n===void 0||this._hintedPrefixes.has(e))return;this._hintedPrefixes.add(e);let r=`app-string prefix '${e}' requires an extension that is not enabled; ${n}`;this._options.onWarning?this._options.onWarning({message:r,...tt(t),hint:!0}):this._options.silent||console.warn(`CDN: ${r}`)}_warn(e,t){let n={message:e};if(t!==void 0&&Object.assign(n,tt(t)),this._pendingWarnings.push(n),this._options.onWarning)this._options.onWarning(n);else if(!this._options.silent){let n=t?` at line ${t.line}, column ${t.col}`:``;console.warn(`CDN strict violation${n}: ${e}`)}}_fail(t,n){throw new e.I(t,n?tt(n):void 0)}};function tt(e){return{offset:e.offset,line:e.line,column:e.col,endOffset:e.endOffset}}var nt=new TextEncoder,rt=new TextDecoder,it=!1,K=class extends O{indefiniteLength=!1;value;encodingWidth;ednParts;ednSource;quotedEdnSource;ednPartSources;ednPartIsByteString;ednPartSpans;constructor(e,t){super(),this.value=e,this.encodingWidth=t?.encodingWidth,this.ednParts=t?.ednParts,this.ednSource=t?.ednSource,this.quotedEdnSource=t?.quotedEdnSource,this.ednPartSources=t?.ednPartSources,this.ednPartIsByteString=t?.ednPartIsByteString,this.ednPartSpans=t?.ednPartSpans}_isMultiWordText(t,n=!0){return e.g(this.value)}_encodeTo(e,t){e.writeTextString(3,this.value,this.encodingWidth)}_toCDN(t,n){let r=e.C(t,this.encodingWidth,()=>e.r(BigInt(nt.encode(this.value).length)));return at(this.value,r,t,n,this.ednParts,this.ednSource,this.quotedEdnSource,this.ednPartSources,this.ednPartSpans,this.comments?.dangling)}_toJS(e){return this.value}};function at(t,n,r,i,a,o,s,c,l,u){let d=e.w(r);if(r?.preserveRawString&&o!==void 0&&(d!==null||!/[\r\n]/.test(o)))return o+n;if(r?.preserveTextString&&s!==void 0&&(d!==null||!/[\r\n]/.test(s)))return s+n;if(d===null)return e.c(t)+n;let f=r?.preserveRawString?c:void 0,p=f?.some(e=>e!==void 0)??!1,{cdn:m,newline:h}=st(r),g=r?.preserveConcatenation&&a!==void 0&&(a.length>1||p)?a:void 0;if(!m&&!h&&g===void 0)return e.c(t)+n;let _=m?ut(t,!!r?.inlineLeafContainers,h):null;if(g!==void 0&&(_===null||p)){let t=e.D(r)?e.a(u,l,e.S(r)):void 0,a=[];for(let[n,r]of g.entries()){let i=f?.[n];if(i!==void 0)a.push({text:r,contentDepth:0,source:i});else if(h){let t=new Map;for(let{point:e,contentDepth:n}of lt(r,0))t.set(e,n);e.b(a,yt(r,t))}else a.push({text:r,contentDepth:0});let o=t?.[n];o&&o.length>0&&(a[a.length-1].commentsAfter=o)}if(r?.modernConcat&&r?.appPrefix!==!1){let t=a.map(({text:t,source:n})=>n??e.c(t)),r=a.map(e=>e.commentsAfter??[]);return e.v(`t1`,t,n,d,i,r)}return ot(a,n,d,i)}let v=new Map;if(_!==null)for(let{point:e,contentDepth:t}of _)v.set(e,t);if(h){let e=_===null?lt(t,0):dt(t);for(let{point:t,contentDepth:n}of e)v.has(t)||v.set(t,n)}let y=yt(t,v);return y.length<=1?e.c(t)+n:ot(y,n,d,i)}function ot(t,n,r,i){let a=t.map(({text:r,source:i},a)=>{let o=i??e.c(r);return a===t.length-1?o+n:o}),o=a[0];for(let n=1;n<a.length;n++){let s=e.p(r,i+1+t[n].contentDepth);o+=` +
|
|
8
|
-
`;for(let e of t[n-1].commentsAfter??[])o+=`${s}${e}\n`;o+=`${s}${a[n]}`}return o}function st(e){let t=e?.splitCdn===void 0||e?.splitNewline===void 0?ct(e?.textStringFormat??[]):[];return{cdn:e?.splitCdn??t.includes(`cdn`),newline:e?.splitNewline??t.includes(`newline`)}}function ct(e){return e.map(e=>e===`cboredn`?(it||(it=!0,console.warn("`textStringFormat: ['cboredn']` is deprecated; use `textStringFormat: ['cdn']` instead.")),`cdn`):e)}function lt(e,t){let n=[];for(let r=0;r<e.length;r++){let i=e[r];i===`\r`?e[r+1]===`
|
|
9
|
-
`?(n.push({point:r+2,contentDepth:t}),r++):n.push({point:r+1,contentDepth:t}):i===`
|
|
10
|
-
`&&n.push({point:r+1,contentDepth:t})}return n}function ut(t,n,r){try{Ie(t)}catch{return null}let i=[],a=new e.A(t),o=0,s=null,c=!1,l=0,u=null,d=[],f=(e,t)=>{let n=d[d.length-1];n?n.ownCandidates.push({point:e,contentDepth:t}):i.push({point:e,contentDepth:t})},p=e=>e.kind===`LT_LT`||e.kind===`APP_SEQUENCE`,m=()=>{for(let e=d.length-1;e>=0;e--){let t=d[e];if(!(t.kind===`LPAREN`&&t.isTagParen))return t}},h=e=>{let t=(p(e)||!e.entryHasContainer)&&!e.entryForcedBreak;e.allOk=e.allOk&&t,e.anyForcedBreak=e.anyForcedBreak||e.entryForcedBreak,e.anyForcedBreakStructural=e.anyForcedBreakStructural||e.entryForcedBreakStructural,e.entryHasContainer=!1,e.entryForcedBreak=!1,e.entryForcedBreakStructural=!1},g=`none`,_=[],v=!1,y=!1,b=!1,x=!1,S=[],C=!1,ee=e=>{S.push({depth:e,kind:g,texts:_,broken:v,hasEllipsis:y,sawPlus:b,awaitingTagCheck:x}),g=`none`,_=[],v=!1,y=!1,b=!1,x=!1,C=!0},te=()=>{let e=S[S.length-1];e!==void 0&&o===e.depth&&(S.pop(),g=e.kind,_=e.texts,v=e.broken,y=e.hasEllipsis,b=e.sawPlus,x=e.awaitingTagCheck)},w=()=>{if(y&&b)for(let e of d)e.entryHasContainer=!0;if(g===`text`&&!v&&_.length>0&&e.g(_.join(``))){let e=d[d.length-1];e&&(e.entryForcedBreak=!0)}g=`none`,_=[],v=!1,y=!1,b=!1,x=!1};for(;;){let S=a.consume();if(S.type===`EOF`){w();break}let T=!1,E=!1;if(x&&(S.type===`ENCODING_INDICATOR`?E=!0:S.type===`LPAREN`?(x=!1,ee(o),E=!0):x=!1),!E){let e=S.type===`PLUS`||S.type===`ENCODING_INDICATOR`||u===`PLUS`&&(gt.has(S.type)||S.type===`ELLIPSIS`);g!==`none`&&!e&&(u===`PLUS`&&y?mt.has(S.type)?ee(o):S.type===`INTEGER`&&(x=!0):w()),S.type===`PLUS`&&g!==`none`&&(b=!0)}if(c||(c=!0,S.offset>0&&_t(a.comments,0,S.offset)&&f(S.offset,o)),s!==null){if(s.kind===`opener`&&pt.has(S.type)){s.point=S.endOffset,u=S.type,l=S.endOffset;continue}s.kind===`opener`&&ht.has(S.type)&&vt(t,s.point,S.offset)?T=!0:f(S.offset,s.contentDepth),s=null}if(mt.has(S.type)){if(S.type===`LBRACKET`||S.type===`LBRACE`)for(let e of d)e.entryHasContainer=!0;o++,s={point:S.endOffset,contentDepth:o,kind:`opener`},d.push({kind:S.type,isTagParen:S.type===`LPAREN`&&u===`INTEGER`,isChainContinuationRoot:C,openOffset:S.offset,ownCandidates:[],childCandidates:[],entryHasContainer:!1,entryForcedBreak:!1,anyForcedBreak:!1,entryForcedBreakStructural:!1,anyForcedBreakStructural:!1,allOk:!0}),C=!1}else if(ht.has(S.type)){o=Math.max(0,o-1),te(),T||f(S.offset,o);let e=d.pop();if(e){h(e);let t=e.kind===`LPAREN`&&e.isTagParen,r=(p(e)||n&&(e.kind===`LBRACKET`||e.kind===`LBRACE`||e.kind===`LPAREN`))&&e.ownCandidates.length>0&&(t||e.allOk)&&!_t(a.comments,e.openOffset,S.endOffset)?e.childCandidates:[...e.ownCandidates,...e.childCandidates],o=d[d.length-1];if(o){for(let e of r)o.childCandidates.push(e);let t=r.length>0||e.anyForcedBreakStructural;(e.isChainContinuationRoot&&e.isTagParen?t:r.length>0||e.anyForcedBreak)&&(o.entryForcedBreak=!0),t&&(o.entryForcedBreakStructural=!0)}else for(let e of r)i.push(e)}}else if(S.type===`COMMA`){let e=d[d.length-1];e&&h(e),s={point:S.endOffset,contentDepth:o,kind:`comma`}}else if(S.type===`TSTR`||S.type===`RAWSTRING`){let e=t.slice(S.offset,S.endOffset);if(r&&(S.type===`TSTR`?ft(e).length>0:lt(e,0).length>0)){let e=d[d.length-1];e&&(e.entryForcedBreak=!0,e.entryForcedBreakStructural=!0)}u===`PLUS`&&g===`text`?_.push(S.value):(g=`text`,_=[S.value],v=!1)}else if(S.type===`SQSTR`){if(u!==`PLUS`||g!==`byte`){let e=S._sqstrBytes,t=e?rt.decode(e):null;u===`PLUS`&&g===`text`?t===null?v=!0:_.push(t):(g=`text`,_=t===null?[]:[t],v=t===null)}}else if(S.type===`BYTES_HEX`||S.type===`BYTES_HEX_ELIDED`||S.type===`BYTES_B64`||S.type===`APP_STRING`){if(u===`PLUS`&&g===`text`){let t=null;try{S.type===`BYTES_HEX`?t=rt.decode(e.F(S.value)):S.type===`BYTES_B64`&&(t=rt.decode(e.j(S.value)))}catch{t=null}t===null?v=!0:_.push(t)}else{let e=d[d.length-1],t=m();e&&(!t||!p(t))&&(e.entryForcedBreak=!0),(u!==`PLUS`||g===`none`)&&(g=`byte`)}}else S.type===`ELLIPSIS`&&(y=!0,u===`PLUS`&&g===`text`?v=!0:(u!==`PLUS`||g===`none`)&&(g=`text`,_=[],v=!0));u=S.type,l=S.endOffset}let T=a.comments.find(e=>e.start>=l);return T!==void 0&&i.push({point:T.start,contentDepth:o}),i}function dt(t){let n=[],r=new e.A(t),i=0;for(;;){let e=r.consume();if(e.type===`EOF`)break;if(mt.has(e.type))i++;else if(ht.has(e.type))i=Math.max(0,i-1);else if(e.type!==`COMMA`){if(e.type===`TSTR`){let r=t.slice(e.offset,e.endOffset);for(let t of ft(r))n.push({point:e.offset+t,contentDepth:i+1})}else if(e.type===`RAWSTRING`){let r=t.slice(e.offset,e.endOffset);for(let{point:t}of lt(r,0))n.push({point:e.offset+t,contentDepth:i+1})}}}return n}function ft(e){let t=[],n=1,r=e.length-1;for(;n<r;){let r=e[n];if(r===`\\`){let r=e[n+1];if(r===`n`||r===`r`)t.push(n+2),n+=2;else if(r===`u`){if(e[n+2]===`{`){let t=e.indexOf(`}`,n+3);n=t>=0?t+1:n+2}else n+=6}else n+=2}else r===`\r`?e[n+1]===`
|
|
11
|
-
`?(t.push(n+2),n+=2):(t.push(n+1),n++):(r===`
|
|
12
|
-
`&&t.push(n+1),n++)}return t}var pt=new Set([`ENCODING_INDICATOR`,`UNDERSCORE`]),mt=new Set([`LBRACKET`,`LBRACE`,`LPAREN`,`LT_LT`,`APP_SEQUENCE`]),ht=new Set([`RBRACKET`,`RBRACE`,`RPAREN`,`GT_GT`]),gt=new Set([`TSTR`,`RAWSTRING`,`SQSTR`,`BYTES_HEX`,`BYTES_HEX_ELIDED`,`BYTES_B64`]);function _t(e,t,n){return e.some(e=>e.start>=t&&e.end<=n)}function vt(e,t,n){return/^[\t\n\r ]*$/.test(e.slice(t,n))}function yt(e,t){let n=[...t].filter(([t])=>t>0&&t<e.length).sort(([e],[t])=>e-t);if(n.length===0)return[{text:e,contentDepth:0}];let r=[],i=0,a=0;for(let[t,o]of n)t!==i&&(r.push({text:e.slice(i,t),contentDepth:a}),i=t,a=o);return i<e.length&&r.push({text:e.slice(i),contentDepth:a}),r}function bt(e){if(Number.isInteger(e))return new Date(e*1e3).toISOString().replace(/\.000Z$/,`Z`);let t=Math.round(e*1e3);if(t/1e3===e)return new Date(t).toISOString().replace(/\.000Z$/,`Z`);let n=Math.floor(e),r=e-n,i=new Date(n*1e3).toISOString().replace(/\.\d+Z$/,``),a=r.toString(),o=a.indexOf(`.`),s=o>=0?a.slice(o+1):`0`;for(;s.length<3;)s+=`0`;return`${i}.${s}Z`}var xt=new TextDecoder(`utf-8`,{fatal:!0});function St(e){if(e.length!==1)throw SyntaxError(`dt<<...>>: expected exactly one item`);let t=e[0];if(t instanceof K)return t.value;if(t instanceof N)return xt.decode(t.value);throw SyntaxError(`dt<<...>>: expected a text string or byte string`)}var Ct=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/i;function wt(e,t){if(!Ct.test(e)){let n=`dt: invalid RFC 3339 date-time: ${JSON.stringify(e)}`;if(t)t(n);else throw SyntaxError(n)}let n=e.match(/^(.+T\d{2}:\d{2}:\d{2})(\.\d+)(Z|[+-]\d{2}:\d{2})$/i),r,i;n?(r=n[1]+n[3],i=parseFloat(`0`+n[2])):(r=e,i=void 0);let a=Date.parse(r);if(isNaN(a))throw SyntaxError(`dt: invalid RFC 3339 date-time: ${JSON.stringify(e)}`);if(i===void 0){let e=a/1e3;return e>=0?new Et(BigInt(e)):new Dt(BigInt(e))}return new Ot(a/1e3+i)}var Tt=1n,Et=class extends k{constructor(e,t){super(e,t)}_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);let r=e.C(t,this.encodingWidth,()=>e.r(this.value));return e.o(t,this.appSeqSource,void 0,this.appSeqSourceFeatures)===`adjusted`?e.t(this.appSeqSource,r,t,this.appSeqInnerEnd,this.appSeqComments):`dt'${bt(Number(this.value))}'${r}`}},Dt=class extends A{constructor(e,t){super(e,t)}_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);let r=e.C(t,this.encodingWidth,()=>e.r(this.argument));return e.o(t,this.appSeqSource,void 0,this.appSeqSourceFeatures)===`adjusted`?e.t(this.appSeqSource,r,t,this.appSeqInnerEnd,this.appSeqComments):`dt'${bt(Number(this.value))}'${r}`}},Ot=class extends j{constructor(e,t){super(e,t)}_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);let r=D(this.value),i=e.l(this.value,this.precision,r,t?.encodingIndicators??`auto`);return e.o(t,this.appSeqSource,void 0,this.appSeqSourceFeatures)===`adjusted`?e.t(this.appSeqSource,i,t,this.appSeqInnerEnd,this.appSeqComments):`dt'${bt(this.value)}'${i}`}},kt=class extends M{constructor(e,t){super(Tt,typeof e==`string`?wt(e):e,t)}_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);let r=e.o(t,this.appSeqSource,this.ednSource,this.appSeqSourceFeatures,this.appSeqEncodingEditsComplete);if(r===`verbatim`)return this.appSeqSource;if(r===`source`)return e.n(this.appSeqSource,t,this.appSeqComments,this.appSeqEncodingEdits);if(r===`structural`)return super._toCDN({...t,appPrefix:!1},n);let i=e.C(t,this.encodingWidth,()=>e.r(Tt));if(r===`adjusted`)return e.t(this.appSeqSource,i,t,this.appSeqInnerEnd,this.appSeqComments);let a=this.content;return(a instanceof j?a.precision!==void 0&&a.precision!==D(a.value):a.encodingWidth!==void 0)?super._toCDN({...t,appPrefix:!1},n):`DT'${bt(a instanceof j?a.value:Number(a.value))}'${i}`}},At=class extends kt{constructor(e,t){super(e,t)}_toJS(e){let t=this.content,n=t instanceof j?t.value*1e3:Number(t.value)*1e3;return new Date(n)}};function jt(e){let t=e?.jsDate??!1;function n(e){return t?new At(e):new kt(e)}let r={appStringPrefixes:[`dt`,`DT`],tagNumbers:[Tt],preserveAppSeqSource:`optional`,parseAppString(e,t,r){return e===`DT`?n(t):wt(t,r)},parseAppSequence(e,t,r){let i=St(t);return e===`DT`?n(i):wt(i,r)},parseTag(e,n){if(e!==1n)return;let r;if(n instanceof k)r=new Et(n.value,{encodingWidth:n.encodingWidth,ednSource:n.ednSource});else if(n instanceof A)r=new Dt(n.value,{encodingWidth:n.encodingWidth,ednSource:n.ednSource});else if(n instanceof j)r=new Ot(n.value,{precision:n.precision,literalSource:n.literalSource});else return;return r.start=n.start,r.end=n.end,t?new At(r):new kt(r)}};return t&&(r.fromJS=(e,t)=>{if(e instanceof Date)return new At(bt(e.getTime()/1e3))},r.isJSType=e=>e instanceof Date),r}var Mt=jt(),Nt=jt({jsDate:!0});function Pt(e){let t=e.split(`.`);if(t.length!==4)throw SyntaxError(`ip: invalid IPv4 address: ${JSON.stringify(e)}`);let n=new Uint8Array(4);for(let e=0;e<4;e++){let r=t[e];if(!/^\d+$/.test(r)||r.length>1&&r[0]===`0`)throw SyntaxError(`ip: invalid IPv4 octet: ${JSON.stringify(r)}`);let i=parseInt(r,10);if(i>255)throw SyntaxError(`ip: IPv4 octet out of range: ${i}`);n[e]=i}return n}function Ft(e){let t=new Uint8Array(16);if(e===`::`)return t;let n=e,r=null,i=e.match(/^(.*):(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})$/);i&&(n=i[1],n.endsWith(`:`)&&(n+=`:`),r=Pt(i[2]));let a=n.split(`::`);if(a.length>2)throw SyntaxError(`ip: invalid IPv6 address: ${JSON.stringify(e)}`);let o=a.length===2,s=a[0]?a[0].split(`:`):[],c=o&&a[1]?a[1].split(`:`):[],l=r?6:8;if(!o&&s.length!==l||o&&s.length+c.length>=l)throw SyntaxError(`ip: invalid IPv6 address: ${JSON.stringify(e)}`);let u=l-s.length-c.length,d=[...s,...Array(u).fill(`0`),...c],f=0;for(let e of d){if(!/^[0-9a-fA-F]{1,4}$/.test(e))throw SyntaxError(`ip: invalid IPv6 group: ${JSON.stringify(e)}`);let n=parseInt(e,16);t[f++]=n>>8&255,t[f++]=n&255}return r&&t.set(r,12),t}function It(e){return Array.from(e).join(`.`)}function Lt(e){let t=e.slice(0,10).every(e=>e===0)&&e[10]===255&&e[11]===255?It(e.slice(12)):null,n=t?6:8,r=[];for(let t=0;t<n*2;t+=2)r.push(e[t]<<8|e[t+1]);let i=-1,a=0,o=0;for(;o<n;)if(r[o]===0){let e=o+1;for(;e<n&&r[e]===0;)e++;e-o>a&&(i=o,a=e-o),o=e}else o++;a<2&&(i=-1);let s=e=>e.toString(16),c;return c=i===-1?r.map(s).join(`:`):`${r.slice(0,i).map(s).join(`:`)}::${r.slice(i+a).map(s).join(`:`)}`,t?`${c}:${t}`:c}var Rt=`ip`,zt=`IP`,Bt=52n,Vt=54n,Ht=new TextDecoder(`utf-8`,{fatal:!0});function Ut(e){if(e.length!==1)throw SyntaxError(`ip<<...>>: expected exactly one item`);let t=e[0];if(t instanceof K)return t.value;if(t instanceof N)return Ht.decode(t.value);throw SyntaxError(`ip<<...>>: expected a text string or byte string`)}function Wt(e){return/^\d/.test(e)&&e.includes(`.`)&&!e.includes(`:`)?{bytes:Pt(e),isV4:!0}:{bytes:Ft(e),isV4:!1}}function Gt(e){if(e.length===4)return It(e);if(e.length===16)return Lt(e);throw SyntaxError(`ip: unexpected byte length: ${e.length}`)}function Kt(e,t){let n=new Uint8Array(e.length);n.set(e);let r=Math.floor(t/8),i=t%8;i>0&&r<e.length&&(n[r]&=255<<8-i&255);for(let t=r+ +(i>0);t<e.length;t++)n[t]=0;let a=Math.ceil(t/8);for(;a>0&&n[a-1]===0;)a--;return n.slice(0,a)}function qt(e,t){let n=new Uint8Array(t);return n.set(e),n}var Jt=class extends N{_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);let r=e.C(t,this.encodingWidth,()=>e.r(BigInt(this.value.length)));return e.o(t,this.appSeqSource,void 0,this.appSeqSourceFeatures)===`adjusted`?e.t(this.appSeqSource,r,t,this.appSeqInnerEnd,this.appSeqComments):`${Rt}'${Gt(this.value)}'${r}`}},Yt=class extends I{_isV4;constructor(e,t,n){super([new k(BigInt(e)),new N(t)]),this._isV4=n}_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);if(e.o(t,this.appSeqSource,void 0,this.appSeqSourceFeatures)===`adjusted`)return e.t(this.appSeqSource,``,t,this.appSeqInnerEnd,this.appSeqComments);let r=Number(this.items[0].value),i=this.items[1].value;return`${Rt}'${Gt(qt(i,this._isV4?4:16))}/${r}'`}},Xt=class extends M{constructor(e,t){super(e,t)}_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);let r=e.o(t,this.appSeqSource,this.ednSource,this.appSeqSourceFeatures,this.appSeqEncodingEditsComplete);if(r===`verbatim`)return this.appSeqSource;if(r===`source`)return e.n(this.appSeqSource,t,this.appSeqComments,this.appSeqEncodingEdits);if(r===`structural`)return super._toCDN(t,n);if(r===`adjusted`){let n=e.C(t,this.encodingWidth,()=>e.r(this.tag));return e.t(this.appSeqSource,n,t,this.appSeqInnerEnd,this.appSeqComments)}let i=this.tag===Bt?4:16,a=this.content;if(a instanceof N){if(a.encodingWidth!==void 0)return super._toCDN(t,n);let r=e.C(t,this.encodingWidth,()=>e.r(this.tag));return`${zt}'${Gt(a.value)}'${r}`}if(a instanceof I&&a.items.length===2&&a.items[0]instanceof k&&a.items[1]instanceof N){if(a.encodingWidth!==void 0||a.items[0].encodingWidth!==void 0||a.items[1].encodingWidth!==void 0)return super._toCDN(t,n);let r=Number(a.items[0].value),o=qt(a.items[1].value,i),s=e.C(t,this.encodingWidth,()=>e.r(this.tag));return`${zt}'${Gt(o)}/${r}'${s}`}return super._toCDN(t,n)}};function Zt(e,t){let n=t.indexOf(`/`);if(n===-1){let{bytes:n,isV4:r}=Wt(t);return e===zt?new Xt(r?Bt:Vt,new N(n)):new Jt(n)}let r=t.slice(0,n),i=t.slice(n+1);if(!/^\d+$/.test(i))throw SyntaxError(`ip: invalid prefix length: ${JSON.stringify(i)}`);let a=parseInt(i,10),{bytes:o,isV4:s}=Wt(r),c=s?32:128;if(a>c)throw SyntaxError(`ip: prefix length ${a} exceeds maximum ${c} for ${s?`IPv4`:`IPv6`}`);let l=Kt(o,a);return e===zt?new Xt(s?Bt:Vt,new I([new k(BigInt(a)),new N(l)])):new Yt(a,l,s)}var Qt={appStringPrefixes:[Rt,zt],tagNumbers:[Bt,Vt],preserveAppSeqSource:`optional`,parseAppString(e,t){return Zt(e,t)},parseAppSequence(e,t){return Zt(e,Ut(t))},parseTag(e,t){if((e===Bt||e===Vt)&&(t instanceof N||t instanceof I))return new Xt(e,t)}},$t=`cri`,en=`CRI`,tn=99n,nn=new Map([[`coap`,-1n],[`coaps`,-2n],[`http`,-3n],[`https`,-4n],[`urn`,-5n],[`did`,-6n],[`coap+tcp`,-7n],[`coaps+tcp`,-8n],[`coap+ws`,-25n],[`coaps+ws`,-26n]]),rn=new Map([...nn.entries()].map(([e,t])=>[t,e]));function q(e){try{return decodeURIComponent(e)}catch{return e}}var an=new TextEncoder,on=new TextDecoder(`utf-8`,{fatal:!0});function sn(e){return Array.from(an.encode(e),e=>`%${e.toString(16).toUpperCase().padStart(2,`0`)}`).join(``)}function J(e,t){let n=``;for(let r of e)n+=t(r)?r:sn(r);return n}function cn(e){return/[A-Za-z0-9\-._~]/.test(e)}function ln(e){return/[!$&'()*+,;=]/.test(e)}function un(e){return cn(e)||ln(e)||e===`:`||e===`@`}function dn(e){return(un(e)||e===`/`||e===`?`)&&e!==`&`}function fn(e){return un(e)||e===`/`||e===`?`}function pn(e){return cn(e)||ln(e)||e===`:`}function mn(e){return cn(e)||ln(e)}function hn(e){let t=[],n=e,r=n.indexOf(`@`);r>=0&&(t.push(R.FALSE),t.push(new K(q(n.slice(0,r)))),n=n.slice(r+1));let i,a=null;if(n.startsWith(`[`)){let e=n.indexOf(`]`);if(e<0)throw SyntaxError(`cri: unterminated IPv6 bracket in authority`);i=n.slice(1,e);let r=n.slice(e+1);if(r.startsWith(`:`))a=r.slice(1);else if(r.length>0)throw SyntaxError(`cri: unexpected characters after ']' in authority`);t.push(new N(Ft(i)))}else{let e=n.lastIndexOf(`:`);if(e>=0?(i=n.slice(0,e),a=n.slice(e+1)):i=n,i!==``){if(/^\d{1,3}(\.\d{1,3}){3}$/.test(i))t.push(new N(Pt(i)));else for(let e of i.toLowerCase().split(`.`))t.push(new K(e))}}if(a!==null&&a!==``){if(!/^\d+$/.test(a))throw SyntaxError(`cri: invalid port: ${JSON.stringify(a)}`);let e=parseInt(a,10);if(e>65535)throw SyntaxError(`cri: port ${e} out of range`);t.push(new k(BigInt(e)))}return new I(t)}function gn(e){let t=e.items,n=0,r=``;if(n<t.length&&t[n]instanceof R&&t[n].value===20){n++;let e=t[n++];r+=J(e.value,pn)+`@`}if(n>=t.length)return r;let i=t[n];if(i instanceof N){n++;let{length:e}=i.value;if(e===4)r+=It(i.value);else if(e===16)r+=`[`+Lt(i.value)+`]`;else throw Error(`cri: unexpected host-ip byte length: ${e}`);n<t.length&&t[n]instanceof K&&(r+=`%25${J(t[n++].value,mn)}`)}else{let e=[];for(;n<t.length&&t[n]instanceof K;)e.push(J(t[n++].value,mn));r+=e.join(`.`)}return n<t.length&&t[n]instanceof k&&(r+=`:`+t[n].value.toString()),r}function _n(e){let t=e.slice(2),n=t.indexOf(`/`),r,i;return n>=0?(r=t.slice(0,n),i=t.slice(n+1).split(`/`).map(e=>new K(q(e)))):(r=t,i=[]),{authority:hn(r),pathSegments:i}}function vn(e){let t=e,n=null,r=t.indexOf(`#`);r>=0&&(n=q(t.slice(r+1)),t=t.slice(0,r));let i=null,a=t.indexOf(`?`);if(a>=0){let e=t.slice(a+1);t=t.slice(0,a),i=e.split(`&`).map(e=>new K(q(e)))}let o=[],s=/^([a-zA-Z][a-zA-Z0-9+.\-]*):([\s\S]*)$/.exec(t);if(s){let e=s[1].toLowerCase(),t=s[2],n=nn.get(e);if(o.push(n===void 0?new K(e):new A(n)),t.startsWith(`//`)){let{authority:e,pathSegments:n}=_n(t);o.push(e,new I(n))}else if(t.startsWith(`/`)){let e=t.slice(1).split(`/`).map(e=>new K(q(e)));o.push(R.NULL,new I(e))}else{let e=t.split(`/`).map(e=>new K(q(e)));o.push(R.TRUE,new I(e))}}else if(t.startsWith(`//`)){let{authority:e,pathSegments:n}=_n(t);o.push(R.FALSE,e,new I(n))}else if(t.startsWith(`/`)){let e=t.slice(1).split(`/`).map(e=>new K(q(e)));o.push(R.TRUE,new I(e))}else if(t===``)o.push(new k(0n));else{let n=1n,r=t,i=!1;for(r.startsWith(`./`)&&(i=!0,r=r.slice(2));r.startsWith(`../`);)n++,r=r.slice(3);if(r===`..`?(n++,r=``):r===`.`&&(r=``),n===1n&&!i&&r!==``&&r.split(`/`)[0].includes(`:`))throw SyntaxError(`cri: invalid relative-path reference — first segment must not contain ':' without a './' prefix (RFC 3986 §3.3): ${JSON.stringify(e)}`);let a=r===``?[]:r.split(`/`).map(e=>new K(q(e)));o.push(new k(n),new I(a))}if(i!==null&&o.push(new I(i)),n!==null&&(i===null&&o.push(R.NULL),o.push(new K(n))),n!==null&&i===null&&o.splice(o.length-2,1),i===null&&n===null){let e=o[o.length-1];e instanceof I&&e.items.length===0&&o.pop()}return o.length===1&&o[0]instanceof k&&o[0].value===0n?[]:o}function yn(e,t){let n=t,r=``;if(n<e.length){let t=e[n];if(t instanceof I){if(n++,t.items.length>0){let e=t.items.map(e=>{if(!(e instanceof K))throw Error(`cri: query item must be a text string`);return J(e.value,dn)});r+=`?`+e.join(`&`)}}else t instanceof R&&t.value===22&&n++}return n<e.length&&e[n]instanceof K&&(r+=`#`+J(e[n].value,fn)),r}function bn(e){return e.items.map(e=>{if(!(e instanceof K))throw Error(`cri: path segment must be a text string`);return J(e.value,un)})}function xn(e){if(e.length===0)return``;let t=0,n=e[t++];if(n instanceof A||n instanceof K){let r;if(n instanceof A){let e=rn.get(n.value);if(e===void 0)throw Error(`cri: unrecognised scheme-id ${n.value}`);r=e+`:`}else r=n.value+`:`;if(t>=e.length)return r;let i=e[t++],a=``,o=!1;if(i instanceof I)a=`//`+gn(i),o=!0;else if(i instanceof R){if(i.value===22)o=!0;else if(i.value===21)o=!1;else throw Error(`cri: unexpected no-authority value: simple(${i.value})`)}else throw Error(`cri: unexpected type for authority element`);let s=``;if(t<e.length&&e[t]instanceof I){let n=e[t++];n.items.length>0&&(s=(o?`/`:``)+bn(n).join(`/`))}return r+a+s+yn(e,t)}if(n instanceof R&&n.value===20){if(t>=e.length||!(e[t]instanceof I))throw Error(`cri: network-path reference requires an authority array`);let n=gn(e[t++]),r=``;if(t<e.length&&e[t]instanceof I){let n=e[t++];n.items.length>0&&(r=`/`+bn(n).join(`/`))}return`//`+n+r+yn(e,t)}if(n instanceof R&&n.value===21){let n=`/`;if(t<e.length&&e[t]instanceof I){let r=e[t++];n=`/`+bn(r).join(`/`)}return n+yn(e,t)}if(n instanceof k){let r=n.value;if(r===0n)return yn(e,t);let i=r===1n?``:`../`.repeat(Number(r)-1),a;if(t<e.length&&e[t]instanceof I){let n=e[t++];if(n.items.length>0){let e=bn(n);a=(r===1n&&e[0].includes(`:`)?`./`:i)+e.join(`/`)}else a=i===``?`./`:i}else a=i===``?`./`:i;return a+yn(e,t)}throw Error(`cri: unrecognised first element type in CRI array`)}var Sn=class extends I{_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);let r=e.C(t,this.encodingWidth,()=>e.r(BigInt(this.items.length)));if(e.o(t,this.appSeqSource,void 0,this.appSeqSourceFeatures)===`adjusted`)return e.t(this.appSeqSource,r,t,this.appSeqInnerEnd,this.appSeqComments);try{return`${$t}'${xn(this.items)}'${r}`}catch{return super._toCDN(t,n)}}},Cn=class extends M{constructor(e){super(tn,e)}_toCDN(t,n){if(t?.appPrefix===!1)return super._toCDN(t,n);let r=e.o(t,this.appSeqSource,this.ednSource,this.appSeqSourceFeatures,this.appSeqEncodingEditsComplete);if(r===`verbatim`)return this.appSeqSource;if(r===`source`)return e.n(this.appSeqSource,t,this.appSeqComments,this.appSeqEncodingEdits);if(r===`structural`)return super._toCDN({...t,appPrefix:!1},n);try{let i=this.content;if(i.encodingWidth!==void 0)return super._toCDN(t,n);let a=e.C(t,this.encodingWidth,()=>e.r(tn));return r===`adjusted`?e.t(this.appSeqSource,a,t,this.appSeqInnerEnd,this.appSeqComments):`${en}'${xn(i.items)}'${a}`}catch{return super._toCDN(t,n)}}};function wn(e){if(e.length!==1)throw SyntaxError(`cri<<...>>: expected exactly one item`);let t=e[0];if(t instanceof K)return t.value;if(t instanceof N)return on.decode(t.value);throw SyntaxError(`cri<<...>>: expected a text string or byte string`)}function Tn(e,t){let n=new Sn(vn(t));return e===en?new Cn(n):n}var En={appStringPrefixes:[$t,en],tagNumbers:[tn],preserveAppSeqSource:`optional`,parseAppString(e,t){return Tn(e,t)},parseAppSequence(e,t){return Tn(e,wn(t))},parseTag(e,t){if(e!==99n||!(t instanceof I))return;let n=new Sn(t.items,{indefiniteLength:t.indefiniteLength,encodingWidth:t.encodingWidth});return n.start=t.start,n.end=t.end,new Cn(n)}},Dn=18446744073709551615n,On=-18446744073709551616n,kn={tagNumbers:[Ee,De],parseTag(e,t){if(t instanceof N){if(e===2n){let e=je(t.value);return e>Dn?new Me(e):void 0}if(e===3n){let e=-1n-je(t.value);return e<On?new Ne(e):void 0}}}};function An(e,t){if(e===24&&t<=23n)return 0;if(e===25&&t<=255n)return 1;if(e===26&&t<=65535n)return 2;if(e===27&&t<=4294967295n)return 3}function jn(e,t){if(e===24&&t<=23)return 0;if(e===25&&t<=255)return 1;if(e===26&&t<=65535)return 2;if(e===27&&t<=4294967295)return 3}var Mn=new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0}),Nn=new TextDecoder(`utf-8`,{fatal:!1,ignoreBOM:!0});function Y(e){throw Error(`CBOR decode error: ${e}`)}function Pn(e,t,n){let r={message:e,offset:t};if(n?.onWarning?n.onWarning(r):n?.silent||console.warn(`CBOR strict violation at offset ${t}: ${e}`),n?.strict!==!1)throw Error(`CBOR decode error: ${e}`);return r}function Fn(e,t){e.warnings??=[],e.warnings.push(t)}function In(t){if(t instanceof k)return[`u`,String(t.value)];if(t instanceof A)return[`n`,String(t.value)];if(t instanceof K)return[`t`,t.value];if(t instanceof F)return[`t`,t.chunks.map(e=>e.value).join(``)];if(t instanceof N)return[`b`,e.N(t.value)];if(t instanceof P){let n=``;for(let r of t.chunks)n+=e.N(r.value);return[`b`,n]}if(t instanceof j)return isNaN(t.value)?[`f`,`NaN`]:Object.is(t.value,-0)?[`f`,`-0`]:[`f`,String(t.value)];if(t instanceof R)return[`s`,t.value];if(t instanceof I)return[`A`,t.items.map(In)];if(t instanceof L){let e=t.entries.map(([e,t])=>[In(e),In(t)]);if(e.length<=1)return[`M`,e];let n=e.map(e=>[JSON.stringify(e[0]),e]);return n.sort((e,t)=>e[0]<t[0]?-1:+(e[0]>t[0])),[`M`,n.map(e=>e[1])]}return t instanceof M?[`G`,String(t.tag),In(t.content)]:[`c`,e.N(t.toCBOR())]}function Ln(t){if(t instanceof k)return`u`+t.value;if(t instanceof A)return`n`+t.value;if(t instanceof K)return`t`+t.value;if(t instanceof F){let e=`t`;for(let n of t.chunks)e+=n.value;return e}if(t instanceof N)return`b`+e.N(t.value);if(t instanceof P){let n=`b`;for(let r of t.chunks)n+=e.N(r.value);return n}return t instanceof j?isNaN(t.value)?`fNaN`:Object.is(t.value,-0)?`f-0`:`f`+t.value:t instanceof R?`s`+t.value:JSON.stringify(In(t))}var Rn=Array.from({length:24},(e,t)=>BigInt(t)),zn;function Bn(e){return e===void 0?zn??=Z(void 0).filter(e=>e.parseTag!==void 0):Z(e).filter(e=>e.parseTag!==void 0)}function Vn(e,t){for(let n=0;n<t;n++)if(e[n]>=128)return;return String.fromCharCode.apply(null,e)}function Hn(e,t,n){if(n<=23)return{value:Rn[n],nextOffset:t};switch(n){case 24:return t+1>e.byteLength&&Y(`unexpected end of input`),{value:BigInt(e.getUint8(t)),nextOffset:t+1};case 25:return t+2>e.byteLength&&Y(`unexpected end of input`),{value:BigInt(e.getUint16(t,!1)),nextOffset:t+2};case 26:return t+4>e.byteLength&&Y(`unexpected end of input`),{value:BigInt(e.getUint32(t,!1)),nextOffset:t+4};case 27:return t+8>e.byteLength&&Y(`unexpected end of input`),{value:e.getBigUint64(t,!1),nextOffset:t+8};default:Y(`reserved additional info value: ${n}`)}}function Un(e,t,n){if(n<=23)return{value:n,nextOffset:t};switch(n){case 24:return t+1>e.byteLength&&Y(`unexpected end of input`),{value:e.getUint8(t),nextOffset:t+1};case 25:return t+2>e.byteLength&&Y(`unexpected end of input`),{value:e.getUint16(t,!1),nextOffset:t+2};case 26:return t+4>e.byteLength&&Y(`unexpected end of input`),{value:e.getUint32(t,!1),nextOffset:t+4};case 27:{t+8>e.byteLength&&Y(`unexpected end of input`);let n=e.getUint32(t,!1),r=e.getUint32(t+4,!1);return{value:n*4294967296+r,nextOffset:t+8}}default:Y(`reserved additional info value: ${n}`)}}function Wn(e,t,n,r,i,a){let o=[],s=t;for(;;){if(s>=e.byteLength&&Y(`unexpected end of indefinite ${i}`),e.getUint8(s)===255){s++;break}let t=X(e,s,n,r);a(t.value)||Y(`indefinite-length ${i} chunk must be a definite ${i}`),o.push(t.value),s=t.nextOffset}return{chunks:o,nextOffset:s}}function Gn(e,t,n,r){let i=Ln(e);t.has(i)&&n.push(Pn(`duplicate map key at offset ${e.start}`,e.start,r)),t.add(i)}function X(e,t,n,r){let i=t,a=qn(e,t,n,r);return a.value.start=i,a.value.end=a.nextOffset,a}function Kn(e,t,n){return new Uint8Array(e.buffer,e.byteOffset+t,n).slice()}function qn(e,t,n,r){t>=e.byteLength&&Y(`unexpected end of input`);let i=e.getUint8(t++),a=i>>5,o=i&31;switch(a){case 0:{let{value:n,nextOffset:r}=Hn(e,t,o);return{value:new k(n,{encodingWidth:An(o,n)}),nextOffset:r}}case 1:{let{value:n,nextOffset:r}=Hn(e,t,o),i=An(o,n);return{value:new A(-1n-n,{encodingWidth:i}),nextOffset:r}}case 2:{if(o===31){let{chunks:i,nextOffset:a}=Wn(e,t,n,r,`byte string`,e=>e instanceof N);return{value:new P(i),nextOffset:a}}let{value:i,nextOffset:a}=Un(e,t,o),s=jn(o,i);return a+i>e.byteLength&&Y(`byte string extends beyond input`),{value:new N(new Uint8Array(e.buffer,e.byteOffset+a,i).slice(),{encodingWidth:s}),nextOffset:a+i}}case 3:{if(o===31){let{chunks:i,nextOffset:a}=Wn(e,t,n,r,`text string`,e=>e instanceof K);return{value:new F(i),nextOffset:a}}let{value:i,nextOffset:a}=Un(e,t,o),s=jn(o,i);a+i>e.byteLength&&Y(`text string extends beyond input`);let c=new Uint8Array(e.buffer,e.byteOffset+a,i),l,u,d=i<64?Vn(c,i):void 0;if(d!==void 0)l=d;else try{l=Mn.decode(c)}catch{u=Pn(`invalid UTF-8 sequence in text string`,a,n),l=Nn.decode(c)}let f=new K(l,{encodingWidth:s});return u&&Fn(f,u),{value:f,nextOffset:a+i}}case 4:{if(o===31){let i=[],a=t;for(;;){if(a>=e.byteLength&&Y(`unexpected end of indefinite array`),e.getUint8(a)===255){a++;break}let t=X(e,a,n,r);i.push(t.value),a=t.nextOffset}return{value:new I(i,{indefiniteLength:!0}),nextOffset:a}}let{value:i,nextOffset:a}=Un(e,t,o),s=jn(o,i),c=[],l=a;for(let t=0;t<i;t++){let t=X(e,l,n,r);c.push(t.value),l=t.nextOffset}return{value:new I(c,{encodingWidth:s}),nextOffset:l}}case 5:{if(o===31){let i=[],a=new Set,o=[],s=t;for(;;){if(s>=e.byteLength&&Y(`unexpected end of indefinite map`),e.getUint8(s)===255){s++;break}let t=X(e,s,n,r);Gn(t.value,a,o,n),s=t.nextOffset;let c=X(e,s,n,r);s=c.nextOffset,i.push([t.value,c.value])}let c=new L(i,{indefiniteLength:!0});for(let e of o)Fn(c,e);return{value:c,nextOffset:s}}let{value:i,nextOffset:a}=Un(e,t,o),s=jn(o,i),c=[],l=new Set,u=[],d=a;for(let t=0;t<i;t++){let t=X(e,d,n,r);Gn(t.value,l,u,n),d=t.nextOffset;let i=X(e,d,n,r);d=i.nextOffset,c.push([t.value,i.value])}let f=new L(c,{encodingWidth:s});for(let e of u)Fn(f,e);return{value:f,nextOffset:d}}case 6:{o===31&&Y(`tags cannot use indefinite-length encoding`);let{value:i,nextOffset:a}=Hn(e,t,o),s=An(o,i),c=X(e,a,n,r);for(let e of r){let t=e.parseTag(i,c.value,n);if(t!==void 0)return t instanceof M&&s!==void 0&&(t.encodingWidth=s),{value:t,nextOffset:c.nextOffset}}return{value:new M(i,c.value,{encodingWidth:s}),nextOffset:c.nextOffset}}case 7:if(o<=19)return{value:new R(o),nextOffset:t};if(o===20)return{value:new R(20),nextOffset:t};if(o===21)return{value:new R(21),nextOffset:t};if(o===22)return{value:new R(22),nextOffset:t};if(o===23)return{value:new R(23),nextOffset:t};if(o===24){t+1>e.byteLength&&Y(`unexpected end of input`);let r=e.getUint8(t);if(r<32){let e=Pn(`simple value ${r} must be encoded in initial byte (0–31 reserved for extended encoding)`,t-1,n),i=new R(r);return Fn(i,e),{value:i,nextOffset:t+1}}return{value:new R(r),nextOffset:t+1}}if(o===25){t+2>e.byteLength&&Y(`unexpected end of input`);let n=h(e.getUint16(t,!1));return{value:new j(n,{precision:`half`,rawBits:Number.isNaN(n)?Kn(e,t,2):void 0}),nextOffset:t+2}}if(o===26){t+4>e.byteLength&&Y(`unexpected end of input`);let n=e.getFloat32(t,!1);return{value:new j(n,{precision:`single`,rawBits:Number.isNaN(n)?Kn(e,t,4):void 0}),nextOffset:t+4}}if(o===27){t+8>e.byteLength&&Y(`unexpected end of input`);let n=e.getFloat64(t,!1);return{value:new j(n,{precision:`double`,rawBits:Number.isNaN(n)?Kn(e,t,8):void 0}),nextOffset:t+8}}return o<31&&Y(`reserved additional info value in major type 7: ${o}`),Y(`unexpected break code outside indefinite-length item`)}return Y(`unknown major type: ${a}`)}function Jn(e){if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError(`expected ArrayBufferView or ArrayBufferLike`)}function Yn(e,t){let n=Jn(e),r=new DataView(n.buffer,n.byteOffset,n.byteLength),i=t?.offset??0;if(!Number.isInteger(i)||i<0||i>r.byteLength)throw RangeError(`CBOR decode offset must be an integer between 0 and ${r.byteLength}`);let a=Bn(t?.builtinExtensions),o=t?.extensions?.length?[...t.extensions.filter(e=>e.parseTag!==void 0),...a]:a,{value:s,nextOffset:c}=X(r,i,t,o);if(!t?.allowTrailing&&c!==r.byteLength){Fn(s,Pn(`${r.byteLength-c} trailing byte(s) after end of CBOR item`,c,t));let e={strict:!1,silent:!0},n=c;for(;n<r.byteLength;)({nextOffset:n}=X(r,n,e,o))}return s}var Xn=24n,Zn={tagNumbers:[Xn],parseTag(e,t,n){if(e!==24n||!(t instanceof N))return;let r=(t.end??t.value.length)-t.value.length,i=n?{extensions:n.extensions,builtinExtensions:n.builtinExtensions,strict:n.strict,onWarning:n.onWarning?e=>n.onWarning({...e,offset:e.offset+r}):void 0,silent:n.silent}:void 0;try{return new M(Xn,new z([Yn(t.value,i)],{encodingWidth:t.encodingWidth}))}catch(e){if(i?.strict!==!1)throw e;let t=`tag 24 content is not valid CBOR: ${e instanceof Error?e.message:String(e)}`,a={message:t,offset:r};n?.onWarning?n.onWarning(a):n?.silent||console.warn(`CBOR strict violation at offset ${a.offset}: ${t}`);return}}};function Qn(e){return e instanceof V&&!(e.content instanceof I)}function $n(e){let t=!1,n=!1,r=!1,i;for(let a of e){let e;if(Qn(a))e=!0,r=!0;else if(a instanceof K)e=!1,t=!0;else if(a instanceof N)e=!1,n=!0;else return!1;if(e===i)return!1;i=e}return r&&!(t&&n)}var er={tagNumbers:[be],parseTag(e,t){if(e===888n){if(t instanceof R&&t.value===22)return new V;if(t instanceof I&&$n(t.items))return new V(t.items)}}},tr=new TextEncoder,nr=new TextDecoder(`utf-8`,{fatal:!0}),rr=new TextDecoder(`utf-8`,{fatal:!1}),ir=Symbol(`ellipsis`);function ar(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function or(e,t,n){if(t instanceof B){or(e,t.inner,n);return}if(t instanceof V){if(t.content instanceof I)for(let r of t.content.items)or(e,r,n);else n.push(ir);return}if(t instanceof K){n.push(tr.encode(t.value));return}if(t instanceof N){n.push(t.value);return}if(t instanceof F){n.push(tr.encode(t.chunks.map(e=>e.value).join(``)));return}if(t instanceof P){n.push(ar(t.chunks.map(e=>e.value)));return}throw SyntaxError(`${e}<<...>> arguments must be (text or byte) strings or ellipses`)}function sr(e,t){try{return nr.decode(e)}catch{let n=`t1 concatenation result is not valid UTF-8`;if(t)t(n);else throw SyntaxError(n);return rr.decode(e)}}function cr(e,t,n){let r=[];for(let n of t)or(e,n,r);let i=e===`t1`,a=[],o=!1,s=[],c=()=>{if(s.length===0)return;let e=ar(s);s.length=0,e.length!==0&&a.push(i?new K(sr(e,n)):new N(e))};for(let e of r)e===ir?(c(),a[a.length-1]instanceof V||(a.push(new V),o=!0)):s.push(e);if(!o){let e=ar(s);return i?new K(sr(e,n)):new N(e)}return c(),a.length===1?new V:new V(a)}function lr(e){return{appStringPrefixes:[e],preserveAppSeqSource:!0,parseAppString(t,n,r){return cr(e,[new K(n)],r)},parseAppSequence(t,n,r){return cr(e,n,r)}}}var ur=lr(`t1`),dr=lr(`b1`),fr=new TextEncoder,pr=new TextDecoder(`utf-8`,{fatal:!0}),mr=new TextDecoder(`utf-8`,{fatal:!1});function hr(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function gr(e,t,n){let r=e===`ilts`,i=[],a=[];for(let o of t){if(o instanceof B&&(o=o.inner),o instanceof V)throw SyntaxError(`${e}<<...>> cannot contain ellipses; there is no way to include an elision in an indefinite-length string`);let t,s,c;if(o instanceof K)t=o.value,c=o.encodingWidth;else if(o instanceof N)s=o.value,c=o.encodingWidth;else if(o instanceof F)t=o.chunks.map(e=>e.value).join(``);else if(o instanceof P)s=hr(o.chunks.map(e=>e.value));else throw SyntaxError(`${e}<<...>> arguments must be (text or byte) strings`);if(r){let e;if(t!==void 0)e=t;else try{e=pr.decode(s)}catch{let t=`ilts chunk is not valid UTF-8`;if(n)n(t);else throw SyntaxError(t);e=mr.decode(s)}a.push(new K(e,c===void 0?void 0:{encodingWidth:c}))}else{let e=s??fr.encode(t);i.push(new N(e,c===void 0?void 0:{encodingWidth:c}))}}return r?new F(a):new P(i)}function _r(t){return{appStringPrefixes:[t],preserveAppSeqSource:!0,parseAppString(n,r,i){return new B(gr(t,[new K(r)],i),`${t}${e.s(r)}`)},parseAppSequence(e,n,r){return gr(t,n,r)}}}var vr=_r(`ilbs`),yr=_r(`ilts`),br=class extends j{_bits;constructor(e){super(h(e),{precision:`half`}),this._bits=e&65535}_toCBOR(){return new Uint8Array([249,this._bits>>8&255,this._bits&255])}},xr=class extends j{_raw;constructor(e){super(new DataView(e.buffer,e.byteOffset).getFloat32(0,!1),{precision:`single`}),this._raw=e.slice()}_toCBOR(){let e=new Uint8Array(5);return e[0]=250,e.set(this._raw,1),e}},Sr=class extends j{_raw;constructor(e){super(new DataView(e.buffer,e.byteOffset).getFloat64(0,!1),{precision:`double`}),this._raw=e.slice()}_toCBOR(){let e=new Uint8Array(9);return e[0]=251,e.set(this._raw,1),e}};function Cr(e){if(e.length===2)return new br(e[0]<<8|e[1]);if(e.length===4)return new xr(e);if(e.length===8)return new Sr(e);throw SyntaxError(`float'...' requires 4, 8, or 16 hex digits (2, 4, or 8 bytes); got ${e.length} bytes`)}function wr(e){let t=e>>>15&1,n=e>>>10&31,r=e&1023,i;if(n===31)i=t<<31|2139095040|r<<13;else if(n===0&&r===0)i=t<<31;else if(n===0){let e=r,n=0;for(;!(e&512);)e<<=1,n++;i=t<<31|112-n<<23|(e&511)<<14}else i=t<<31|n+112<<23|r<<13;let a=new Uint8Array(4);return new DataView(a.buffer).setUint32(0,i>>>0,!1),a}function Tr(e){let t=e>>>15&1,n=e>>>10&31,r=e&1023,i=new Uint8Array(8),a=new DataView(i.buffer);if(n===31)a.setUint32(0,(t<<31|2146435072|r<<10)>>>0,!1),a.setUint32(4,0,!1);else if(n===0&&r===0)a.setUint32(0,t<<31>>>0,!1),a.setUint32(4,0,!1);else if(n===0){let e=r,n=0;for(;!(e&512);)e<<=1,n++;a.setUint32(0,(t<<31|1008-n<<20|(e&511)<<11)>>>0,!1),a.setUint32(4,0,!1)}else a.setUint32(0,(t<<31|n+1008<<20|r<<10)>>>0,!1),a.setUint32(4,0,!1);return i}function Er(e){let t=new DataView(e.buffer,e.byteOffset).getUint32(0,!1),n=t>>>31&1,r=t>>>23&255,i=t&8388607,a=new Uint8Array(8),o=new DataView(a.buffer);if(r===255)o.setUint32(0,(n<<31|2146435072|i>>>3)>>>0,!1),o.setUint32(4,(i&7)<<29,!1);else if(r===0&&i===0)o.setUint32(0,n<<31>>>0,!1),o.setUint32(4,0,!1);else{let t=new DataView(e.buffer,e.byteOffset).getFloat32(0,!1);o.setFloat64(0,t,!1)}return a}function Dr(e,t,n){let r=e.length===2?1:e.length===4?2:3;if(r===1){let n=e[0]<<8|e[1];if(t===2)return new xr(wr(n));if(t===3)return new Sr(Tr(n))}if(r===2){if(t===3)return new Sr(Er(e));if(t===1){let t=new DataView(e.buffer,e.byteOffset).getFloat32(0,!1),r=m(t);return!Object.is(h(r),t)&&!isNaN(t)&&n(`float'...' value cannot be exactly represented as float16 (_1)`),new br(r)}}if(r===3){let r=new DataView(e.buffer,e.byteOffset).getFloat64(0,!1);if(t===1){let e=m(r);return!Object.is(h(e),r)&&!isNaN(r)&&n(`float'...' value cannot be exactly represented as float16 (_1)`),new br(e)}if(t===2){let e=Math.fround(r);!Object.is(e,r)&&!isNaN(r)&&n(`float'...' value cannot be exactly represented as float32 (_2)`);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!1),new xr(t)}}return Cr(e)}var Or={appStringPrefixes:[`float`],parseAppString(t,n,r,i){let a=de(n);if(!/^[0-9a-fA-F]*$/.test(a))throw SyntaxError(`float'...' contains non-hex characters`);if(a.length%2!=0)throw SyntaxError(`float'...' hex content has odd length (${a.length} digits)`);let o=e.F(a),s=i?.encodingWidth;if(s===void 0)return Cr(o);if(s!==1&&s!==2&&s!==3){let e=`float'...' encoding indicator _${s} is not valid; use _1, _2, or _3`;if(r)return r(e),Cr(o);throw SyntaxError(e)}return s===(o.length===2?1:o.length===4?2:3)?Cr(o):Dr(o,s,r??(e=>{throw SyntaxError(e)}))},parseAppSequence(e,t,n){if(t.length===0)throw SyntaxError(`float<<...>> requires exactly one byte-string item`);if(t.length>1){let e=`float<<...>> expects 1 item; got ${t.length} — using first`;if(n)n(e);else throw SyntaxError(e)}if(!(t[0]instanceof N))throw SyntaxError(`float<<...>> item must be a byte string`);return Cr(t[0].value)}},kr=[kn,Zn,er],Ar=[Mt,Qt,En,ur,dr,vr,yr,Or],jr;function Z(e){return e===void 0?jr??=[...kr,...Ar]:e===!1?kr:[...kr,...e]}var Mr;function Nr(e){if(e===void 0){if(Mr)return Mr;let e=Z(void 0);return Mr={fromJS:e.filter(e=>e.fromJS!==void 0),parseTag:e.filter(e=>e.parseTag!==void 0)}}let t=Z(e);return{fromJS:t.filter(e=>e.fromJS!==void 0),parseTag:t.filter(e=>e.parseTag!==void 0)}}function Pr(e){let t=e?.extensions,n=Nr(e?.builtinExtensions);return t?.length?{fromJS:[...t.filter(e=>e.fromJS!==void 0),...n.fromJS],parseTag:[...t.filter(e=>e.parseTag!==void 0),...n.parseTag]}:n}function Fr(e,t){if(t?.replacer){let{replacer:n,...r}=t,i=Lr(e,n,r.extensions,r.undefinedOmits,r.builtinExtensions);return i===u?R.UNDEFINED:Fr(i,Object.keys(r).length>0?r:void 0)}return Q(e,t,!0,Pr(t))}function Q(e,t,n,r){for(let n of r.fromJS){let r=n.fromJS(e,t??{});if(r!==void 0)return r}if(n&&typeof e==`object`&&e&&l.symbol in e){let n=e[l.symbol],i=Q(e,t,!1,r);for(let e of r.parseTag){let t=e.parseTag(n,i);if(t!==void 0)return t}return new M(n,i)}if(e instanceof l.Null)return R.NULL;if(e instanceof l.Undefined)return R.UNDEFINED;if(e instanceof d)return new R(e.value);if(e===null)return R.NULL;if(e===void 0)return R.UNDEFINED;if(e===!0)return R.TRUE;if(e===!1)return R.FALSE;if(typeof e==`bigint`)return e>18446744073709551615n?new Me(e):e<-18446744073709551616n?new Ne(e):e>=0n?new k(e):new A(e);if(typeof e==`number`)return(t?.encodeIntegerAs??`int`)===`int`&&Number.isInteger(e)&&!Object.is(e,-0)?e>=0?new k(BigInt(e)):new A(BigInt(e)):new j(e);if(typeof e==`string`)return new K(e);if(e instanceof Number||e instanceof Boolean||e instanceof String||Object.prototype.toString.call(e)===`[object BigInt]`)return Q(e.valueOf(),t,!1,r);if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return new N(new Uint8Array(e));if(ArrayBuffer.isView(e))return e instanceof Uint8Array&&t?.uint8ArrayAs===`array`?new I(Array.from(e,e=>new k(BigInt(e)))):new N(new Uint8Array(e.buffer,e.byteOffset,e.byteLength));if(e instanceof $)return new L([...e].map(([e,n])=>[Q(e,t,!0,r),Q(n,t,!0,r)]));if(Array.isArray(e))return new I(e.map(e=>Q(e,t,!0,r)));if(typeof e==`object`){let n=[];for(let[i,a]of Object.entries(e))n.push([new K(i),Q(a,t,!0,r)]);return new L(n)}throw TypeError(`fromJS: unsupported value type: ${typeof e}`)}function Ir(e){return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||e instanceof Number||e instanceof Boolean||e instanceof String||Object.prototype.toString.call(e)===`[object BigInt]`||e instanceof l.Null||e instanceof l.Undefined||e instanceof d}function Lr(e,t,n,r,i){let a=[...n??[],...Z(i)].filter(e=>e.isJSType!==void 0);function o(e){return e===u||r===!0&&e===void 0}if(Array.isArray(t)){let n=t.map(String);function s(e){if(typeof e!=`object`||!e)return e;if(e instanceof $)return $.from(e,([e,t])=>[e,s(t)]);if(Array.isArray(e))return e.map(s);if(l.symbol in e||Ir(e)||a.some(t=>t.isJSType(e)))return e;let t=Object.getPrototypeOf(e);if(t===Object.prototype||t===null){let t=e.toJSON;if(typeof t==`function`)return s(t.call(e))}let r={};for(let t of n)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=s(e[t]));return r}return s(e)}let c=t;function d(e,t,n){if(typeof e==`object`&&e&&!(e instanceof $)){let n=Object.getPrototypeOf(e);if(n===Object.prototype||n===null){let n=e.toJSON;typeof n==`function`&&(e=n.call(e,t))}}if(e=c.call(n,t,e),typeof e==`object`&&e){if(l.symbol in e)return e;if(e instanceof $){let t=new $;for(let[n,r]of e){let i=d(r,n,e);o(i)||t.push([n,i])}return t}if(Array.isArray(e))return e.map((t,n)=>{let r=d(t,String(n),e);return o(r)?null:r});if(Ir(e)||a.some(t=>t.isJSType(e)))return e;let t={};for(let n of Object.keys(e)){let r=d(e[n],n,e);o(r)||(t[n]=r)}return t}return e}return d(e,``,{"":e})}var $=class extends Array{toJSON(){let e={};for(let[t,n]of this){let r=typeof t==`string`?t:Fr(t).toCDN();r===`__proto__`?Object.defineProperty(e,r,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[r]=n}return e}};Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return Or}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return dr}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return En}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return Ar}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return ur}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return vr}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return yr}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Yn}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return t}});
|
|
13
|
-
//# sourceMappingURL=mapEntries-C1f7G0AM.cjs.map
|