@bcts/known-values 1.0.0-alpha.10
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/LICENSE +48 -0
- package/README.md +11 -0
- package/dist/index.cjs +1017 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +664 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.mts +664 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.iife.js +1019 -0
- package/dist/index.iife.js.map +1 -0
- package/dist/index.mjs +912 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +74 -0
- package/src/index.ts +116 -0
- package/src/known-value.ts +425 -0
- package/src/known-values-registry.ts +317 -0
- package/src/known-values-store.ts +327 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,664 @@
|
|
|
1
|
+
import * as _bcts_dcbor0 from "@bcts/dcbor";
|
|
2
|
+
import { Cbor, CborTaggedDecodable, CborTaggedEncodable, Tag } from "@bcts/dcbor";
|
|
3
|
+
|
|
4
|
+
//#region src/known-value.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The numeric value for the CBOR tag used for Known Values.
|
|
8
|
+
* This is Tag 40000 as defined in the Blockchain Commons registry.
|
|
9
|
+
*/
|
|
10
|
+
declare const TAG_KNOWN_VALUE: _bcts_dcbor0.CborNumber;
|
|
11
|
+
/**
|
|
12
|
+
* The CBOR tag used for Known Values.
|
|
13
|
+
* This is Tag 40000 as defined in the Blockchain Commons registry.
|
|
14
|
+
*/
|
|
15
|
+
declare const KNOWN_VALUE_TAG: Tag;
|
|
16
|
+
/**
|
|
17
|
+
* Type for values that can be used to create a KnownValue.
|
|
18
|
+
* Supports both number (for values up to 2^53-1) and bigint (for full 64-bit range).
|
|
19
|
+
*/
|
|
20
|
+
type KnownValueInput = number | bigint;
|
|
21
|
+
declare class KnownValue implements CborTaggedEncodable, CborTaggedDecodable<KnownValue> {
|
|
22
|
+
private readonly _value;
|
|
23
|
+
private readonly _assignedName;
|
|
24
|
+
/**
|
|
25
|
+
* Creates a new KnownValue with the given numeric value and optional name.
|
|
26
|
+
*
|
|
27
|
+
* @param value - The numeric value (number or bigint). Numbers are converted to bigint internally.
|
|
28
|
+
* @param assignedName - Optional human-readable name for the value
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const knownValue = new KnownValue(42);
|
|
33
|
+
* console.log(knownValue.value()); // 42
|
|
34
|
+
*
|
|
35
|
+
* const namedValue = new KnownValue(1, 'isA');
|
|
36
|
+
* console.log(namedValue.name()); // "isA"
|
|
37
|
+
*
|
|
38
|
+
* // Using bigint for large values
|
|
39
|
+
* const largeValue = new KnownValue(9007199254740993n);
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
constructor(value: KnownValueInput, assignedName?: string);
|
|
43
|
+
/**
|
|
44
|
+
* Returns the numeric value of the KnownValue.
|
|
45
|
+
*
|
|
46
|
+
* This is the raw unsigned integer that identifies the concept.
|
|
47
|
+
* Returns a number for backward compatibility. For values > MAX_SAFE_INTEGER,
|
|
48
|
+
* use `valueBigInt()`.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* import { IS_A, NOTE } from '@bcts/known-values';
|
|
53
|
+
* console.log(IS_A.value()); // 1
|
|
54
|
+
* console.log(NOTE.value()); // 4
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
value(): number;
|
|
58
|
+
/**
|
|
59
|
+
* Returns the numeric value of the KnownValue as a bigint.
|
|
60
|
+
*
|
|
61
|
+
* Use this for values that may exceed Number.MAX_SAFE_INTEGER (2^53-1).
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* const largeValue = new KnownValue(9007199254740993n);
|
|
66
|
+
* console.log(largeValue.valueBigInt()); // 9007199254740993n
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
valueBigInt(): bigint;
|
|
70
|
+
/**
|
|
71
|
+
* Returns the assigned name of the KnownValue, if one exists.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const namedValue = new KnownValue(1, 'isA');
|
|
76
|
+
* console.log(namedValue.assignedName()); // "isA"
|
|
77
|
+
*
|
|
78
|
+
* const unnamedValue = new KnownValue(42);
|
|
79
|
+
* console.log(unnamedValue.assignedName()); // undefined
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
assignedName(): string | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Returns a human-readable name for the KnownValue.
|
|
85
|
+
*
|
|
86
|
+
* If the KnownValue has an assigned name, that name is returned.
|
|
87
|
+
* Otherwise, the string representation of the numeric value is returned.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const namedValue = new KnownValue(1, 'isA');
|
|
92
|
+
* console.log(namedValue.name()); // "isA"
|
|
93
|
+
*
|
|
94
|
+
* const unnamedValue = new KnownValue(42);
|
|
95
|
+
* console.log(unnamedValue.name()); // "42"
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
name(): string;
|
|
99
|
+
/**
|
|
100
|
+
* Compares this KnownValue with another for equality.
|
|
101
|
+
* Equality is based solely on the numeric value, ignoring the name.
|
|
102
|
+
*
|
|
103
|
+
* @param other - The KnownValue to compare with
|
|
104
|
+
* @returns true if the values are equal
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* const kv1 = new KnownValue(1, 'isA');
|
|
109
|
+
* const kv2 = new KnownValue(1, 'different');
|
|
110
|
+
* console.log(kv1.equals(kv2)); // true (same value, different name)
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
equals(other: KnownValue): boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Hash code based on the numeric value.
|
|
116
|
+
* Useful for using KnownValue in hash-based collections.
|
|
117
|
+
*/
|
|
118
|
+
hashCode(): number;
|
|
119
|
+
/**
|
|
120
|
+
* String representation of the KnownValue.
|
|
121
|
+
*
|
|
122
|
+
* If a name is assigned, the name is displayed. Otherwise, the numeric value
|
|
123
|
+
* is displayed.
|
|
124
|
+
*/
|
|
125
|
+
toString(): string;
|
|
126
|
+
/**
|
|
127
|
+
* Returns the CBOR tags associated with KnownValue.
|
|
128
|
+
*
|
|
129
|
+
* The primary tag is TAG_KNOWN_VALUE (201).
|
|
130
|
+
*
|
|
131
|
+
* @returns Array containing the KnownValue tag
|
|
132
|
+
*/
|
|
133
|
+
cborTags(): Tag[];
|
|
134
|
+
/**
|
|
135
|
+
* Returns the untagged CBOR encoding of this KnownValue.
|
|
136
|
+
*
|
|
137
|
+
* The untagged representation is simply the unsigned integer value.
|
|
138
|
+
*
|
|
139
|
+
* @returns CBOR representation of the value (unsigned integer)
|
|
140
|
+
*/
|
|
141
|
+
untaggedCbor(): Cbor;
|
|
142
|
+
/**
|
|
143
|
+
* Returns the tagged CBOR encoding of this KnownValue.
|
|
144
|
+
*
|
|
145
|
+
* This wraps the unsigned integer value with tag 201.
|
|
146
|
+
*
|
|
147
|
+
* @returns Tagged CBOR representation
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* const kv = new KnownValue(1, 'isA');
|
|
152
|
+
* const tagged = kv.taggedCbor();
|
|
153
|
+
* console.log(tagged.toHex()); // "d8c901" (tag 201, value 1)
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
taggedCbor(): Cbor;
|
|
157
|
+
/**
|
|
158
|
+
* Returns the tagged CBOR encoding as binary data.
|
|
159
|
+
*
|
|
160
|
+
* @returns Binary CBOR representation
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* const kv = new KnownValue(1, 'isA');
|
|
165
|
+
* const bytes = kv.toCborData();
|
|
166
|
+
* // bytes is Uint8Array containing the CBOR encoding
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
toCborData(): Uint8Array;
|
|
170
|
+
/**
|
|
171
|
+
* Alias for `toCborData()` to match the dcbor interface.
|
|
172
|
+
*/
|
|
173
|
+
taggedCborData(): Uint8Array;
|
|
174
|
+
/**
|
|
175
|
+
* Creates a KnownValue from untagged CBOR (an unsigned integer).
|
|
176
|
+
* Instance method for interface compliance.
|
|
177
|
+
*
|
|
178
|
+
* @param cborValue - The CBOR value (must be an unsigned integer)
|
|
179
|
+
* @returns A new KnownValue
|
|
180
|
+
* @throws {Error} If the CBOR is not an unsigned integer
|
|
181
|
+
*/
|
|
182
|
+
fromUntaggedCbor(cborValue: Cbor): KnownValue;
|
|
183
|
+
/**
|
|
184
|
+
* Creates a KnownValue from tagged CBOR (tag 201).
|
|
185
|
+
* Instance method for interface compliance.
|
|
186
|
+
*
|
|
187
|
+
* @param cborValue - The tagged CBOR value
|
|
188
|
+
* @returns A new KnownValue
|
|
189
|
+
* @throws {Error} If the CBOR is not properly tagged or contains invalid data
|
|
190
|
+
*/
|
|
191
|
+
fromTaggedCbor(cborValue: Cbor): KnownValue;
|
|
192
|
+
/**
|
|
193
|
+
* Creates a KnownValue from untagged CBOR (an unsigned integer).
|
|
194
|
+
*
|
|
195
|
+
* @param cborValue - The CBOR value (must be an unsigned integer)
|
|
196
|
+
* @returns A new KnownValue
|
|
197
|
+
* @throws {Error} If the CBOR is not an unsigned integer
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* const cborValue = cbor(42);
|
|
202
|
+
* const kv = KnownValue.fromUntaggedCbor(cborValue);
|
|
203
|
+
* console.log(kv.value()); // 42
|
|
204
|
+
* ```
|
|
205
|
+
*/
|
|
206
|
+
static fromUntaggedCbor(cborValue: Cbor): KnownValue;
|
|
207
|
+
/**
|
|
208
|
+
* Creates a KnownValue from tagged CBOR (tag 201).
|
|
209
|
+
*
|
|
210
|
+
* @param cborValue - The tagged CBOR value
|
|
211
|
+
* @returns A new KnownValue
|
|
212
|
+
* @throws {Error} If the CBOR is not properly tagged or contains invalid data
|
|
213
|
+
*
|
|
214
|
+
* @example
|
|
215
|
+
* ```typescript
|
|
216
|
+
* const kv = KnownValue.fromTaggedCbor(taggedCborValue);
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
static fromTaggedCbor(cborValue: Cbor): KnownValue;
|
|
220
|
+
/**
|
|
221
|
+
* Creates a KnownValue from binary CBOR data.
|
|
222
|
+
*
|
|
223
|
+
* @param data - Binary CBOR data (must be a tagged KnownValue)
|
|
224
|
+
* @returns A new KnownValue
|
|
225
|
+
* @throws {Error} If the data cannot be decoded or is not a valid KnownValue
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* const bytes = new Uint8Array([0xd8, 0xc9, 0x01]); // tag 201, value 1
|
|
230
|
+
* const kv = KnownValue.fromCborData(bytes);
|
|
231
|
+
* console.log(kv.value()); // 1
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
static fromCborData(data: Uint8Array): KnownValue;
|
|
235
|
+
/**
|
|
236
|
+
* Creates a KnownValue from a CBOR value, automatically detecting
|
|
237
|
+
* whether it's tagged or untagged.
|
|
238
|
+
*
|
|
239
|
+
* @param cborValue - The CBOR value (tagged or untagged)
|
|
240
|
+
* @returns A new KnownValue
|
|
241
|
+
* @throws {Error} If the CBOR cannot be converted to a KnownValue
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```typescript
|
|
245
|
+
* // Works with both tagged and untagged
|
|
246
|
+
* const kv1 = KnownValue.fromCbor(cbor(42));
|
|
247
|
+
* const kv2 = KnownValue.fromCbor(taggedCborValue);
|
|
248
|
+
* ```
|
|
249
|
+
*/
|
|
250
|
+
static fromCbor(cborValue: Cbor): KnownValue;
|
|
251
|
+
}
|
|
252
|
+
//#endregion
|
|
253
|
+
//#region src/known-values-store.d.ts
|
|
254
|
+
/**
|
|
255
|
+
* A store that maps between Known Values and their assigned names.
|
|
256
|
+
*
|
|
257
|
+
* The `KnownValuesStore` provides a bidirectional mapping between:
|
|
258
|
+
* - Numeric values (bigint) and their corresponding KnownValue instances
|
|
259
|
+
* - String names and their corresponding KnownValue instances
|
|
260
|
+
*
|
|
261
|
+
* This enables efficient lookup in both directions, making it possible to:
|
|
262
|
+
* - Find the name for a given numeric value
|
|
263
|
+
* - Find the numeric value for a given name
|
|
264
|
+
* - Retrieve complete KnownValue instances by either name or value
|
|
265
|
+
*
|
|
266
|
+
* The store is typically populated with predefined Known Values from the
|
|
267
|
+
* registry, but can also be extended with custom values.
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* ```typescript
|
|
271
|
+
* import { KnownValuesStore, IS_A, NOTE, SIGNED } from '@bcts/known-values';
|
|
272
|
+
*
|
|
273
|
+
* // Create a store with predefined Known Values
|
|
274
|
+
* const store = new KnownValuesStore([IS_A, NOTE, SIGNED]);
|
|
275
|
+
*
|
|
276
|
+
* // Look up a Known Value by name
|
|
277
|
+
* const isA = store.knownValueNamed('isA');
|
|
278
|
+
* console.log(isA?.value()); // 1
|
|
279
|
+
*
|
|
280
|
+
* // Look up a name for a raw value
|
|
281
|
+
* const name = store.name(new KnownValue(3));
|
|
282
|
+
* console.log(name); // "signed"
|
|
283
|
+
*
|
|
284
|
+
* // Insert a custom Known Value
|
|
285
|
+
* const customStore = store.clone();
|
|
286
|
+
* customStore.insert(new KnownValue(100, 'customValue'));
|
|
287
|
+
* console.log(customStore.knownValueNamed('customValue')?.value()); // 100
|
|
288
|
+
* ```
|
|
289
|
+
*/
|
|
290
|
+
declare class KnownValuesStore {
|
|
291
|
+
private knownValuesByRawValue;
|
|
292
|
+
private knownValuesByAssignedName;
|
|
293
|
+
/**
|
|
294
|
+
* Creates a new KnownValuesStore with the provided Known Values.
|
|
295
|
+
*
|
|
296
|
+
* This constructor takes an iterable of KnownValue instances and
|
|
297
|
+
* populates the store with them, creating mappings from both raw
|
|
298
|
+
* values and names to the corresponding KnownValue instances.
|
|
299
|
+
*
|
|
300
|
+
* @param knownValues - Iterable of KnownValue instances to populate the store
|
|
301
|
+
*
|
|
302
|
+
* @example
|
|
303
|
+
* ```typescript
|
|
304
|
+
* import { KnownValuesStore, IS_A, NOTE, SIGNED } from '@bcts/known-values';
|
|
305
|
+
*
|
|
306
|
+
* // Create a store with predefined Known Values
|
|
307
|
+
* const store = new KnownValuesStore([IS_A, NOTE, SIGNED]);
|
|
308
|
+
*
|
|
309
|
+
* // Look up Known Values
|
|
310
|
+
* console.log(store.knownValueNamed('isA')?.value()); // 1
|
|
311
|
+
* console.log(store.knownValueNamed('note')?.value()); // 4
|
|
312
|
+
* ```
|
|
313
|
+
*/
|
|
314
|
+
constructor(knownValues?: Iterable<KnownValue>);
|
|
315
|
+
/**
|
|
316
|
+
* Inserts a KnownValue into the store.
|
|
317
|
+
*
|
|
318
|
+
* If the KnownValue has an assigned name, it will be indexed by both its
|
|
319
|
+
* raw value and its name. If a KnownValue with the same raw value or name
|
|
320
|
+
* already exists in the store, it will be replaced.
|
|
321
|
+
*
|
|
322
|
+
* @param knownValue - The KnownValue to insert
|
|
323
|
+
*
|
|
324
|
+
* @example
|
|
325
|
+
* ```typescript
|
|
326
|
+
* import { KnownValuesStore, KnownValue } from '@bcts/known-values';
|
|
327
|
+
*
|
|
328
|
+
* const store = new KnownValuesStore();
|
|
329
|
+
* store.insert(new KnownValue(100, 'customValue'));
|
|
330
|
+
* console.log(store.knownValueNamed('customValue')?.value()); // 100
|
|
331
|
+
* ```
|
|
332
|
+
*/
|
|
333
|
+
insert(knownValue: KnownValue): void;
|
|
334
|
+
/**
|
|
335
|
+
* Returns the assigned name for a KnownValue, if present in the store.
|
|
336
|
+
*
|
|
337
|
+
* @param knownValue - The KnownValue to look up
|
|
338
|
+
* @returns The assigned name, or undefined if not found
|
|
339
|
+
*
|
|
340
|
+
* @example
|
|
341
|
+
* ```typescript
|
|
342
|
+
* import { KnownValuesStore, IS_A } from '@bcts/known-values';
|
|
343
|
+
*
|
|
344
|
+
* const store = new KnownValuesStore([IS_A]);
|
|
345
|
+
* console.log(store.assignedName(IS_A)); // "isA"
|
|
346
|
+
* console.log(store.assignedName(new KnownValue(999))); // undefined
|
|
347
|
+
* ```
|
|
348
|
+
*/
|
|
349
|
+
assignedName(knownValue: KnownValue): string | undefined;
|
|
350
|
+
/**
|
|
351
|
+
* Returns a human-readable name for a KnownValue.
|
|
352
|
+
*
|
|
353
|
+
* If the KnownValue has an assigned name in the store, that name is
|
|
354
|
+
* returned. Otherwise, the KnownValue's default name (which may be its
|
|
355
|
+
* numeric value as a string) is returned.
|
|
356
|
+
*
|
|
357
|
+
* @param knownValue - The KnownValue to get the name for
|
|
358
|
+
* @returns The name (assigned or numeric)
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* ```typescript
|
|
362
|
+
* import { KnownValuesStore, IS_A } from '@bcts/known-values';
|
|
363
|
+
*
|
|
364
|
+
* const store = new KnownValuesStore([IS_A]);
|
|
365
|
+
* console.log(store.name(IS_A)); // "isA"
|
|
366
|
+
* console.log(store.name(new KnownValue(999))); // "999"
|
|
367
|
+
* ```
|
|
368
|
+
*/
|
|
369
|
+
name(knownValue: KnownValue): string;
|
|
370
|
+
/**
|
|
371
|
+
* Looks up a KnownValue by its assigned name.
|
|
372
|
+
*
|
|
373
|
+
* Returns the KnownValue if found, or undefined if no KnownValue
|
|
374
|
+
* with the given name exists in the store.
|
|
375
|
+
*
|
|
376
|
+
* @param assignedName - The name to look up
|
|
377
|
+
* @returns The KnownValue, or undefined if not found
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* ```typescript
|
|
381
|
+
* import { KnownValuesStore, IS_A } from '@bcts/known-values';
|
|
382
|
+
*
|
|
383
|
+
* const store = new KnownValuesStore([IS_A]);
|
|
384
|
+
*
|
|
385
|
+
* const isA = store.knownValueNamed('isA');
|
|
386
|
+
* console.log(isA?.value()); // 1
|
|
387
|
+
*
|
|
388
|
+
* console.log(store.knownValueNamed('nonexistent')); // undefined
|
|
389
|
+
* ```
|
|
390
|
+
*/
|
|
391
|
+
knownValueNamed(assignedName: string): KnownValue | undefined;
|
|
392
|
+
/**
|
|
393
|
+
* Looks up a KnownValue by its raw numeric value.
|
|
394
|
+
*
|
|
395
|
+
* @param rawValue - The numeric value to look up (number or bigint)
|
|
396
|
+
* @returns The KnownValue, or undefined if not found
|
|
397
|
+
*
|
|
398
|
+
* @example
|
|
399
|
+
* ```typescript
|
|
400
|
+
* import { KnownValuesStore, IS_A } from '@bcts/known-values';
|
|
401
|
+
*
|
|
402
|
+
* const store = new KnownValuesStore([IS_A]);
|
|
403
|
+
* const isA = store.knownValueForValue(1);
|
|
404
|
+
* console.log(isA?.name()); // "isA"
|
|
405
|
+
* ```
|
|
406
|
+
*/
|
|
407
|
+
knownValueForValue(rawValue: KnownValueInput): KnownValue | undefined;
|
|
408
|
+
/**
|
|
409
|
+
* Retrieves a KnownValue for a raw value, using a store if provided.
|
|
410
|
+
*
|
|
411
|
+
* This static method allows looking up a KnownValue by its raw numeric
|
|
412
|
+
* value:
|
|
413
|
+
* - If a store is provided and contains a mapping for the raw value, that
|
|
414
|
+
* KnownValue is returned
|
|
415
|
+
* - Otherwise, a new KnownValue with no assigned name is created and
|
|
416
|
+
* returned
|
|
417
|
+
*
|
|
418
|
+
* @param rawValue - The numeric value to look up (number or bigint)
|
|
419
|
+
* @param knownValues - Optional store to search in
|
|
420
|
+
* @returns The KnownValue from the store or a new unnamed KnownValue
|
|
421
|
+
*
|
|
422
|
+
* @example
|
|
423
|
+
* ```typescript
|
|
424
|
+
* import { KnownValuesStore, IS_A } from '@bcts/known-values';
|
|
425
|
+
*
|
|
426
|
+
* const store = new KnownValuesStore([IS_A]);
|
|
427
|
+
*
|
|
428
|
+
* // Known value from store
|
|
429
|
+
* const isA = KnownValuesStore.knownValueForRawValue(1, store);
|
|
430
|
+
* console.log(isA.name()); // "isA"
|
|
431
|
+
*
|
|
432
|
+
* // Unknown value creates a new KnownValue
|
|
433
|
+
* const unknown = KnownValuesStore.knownValueForRawValue(999, store);
|
|
434
|
+
* console.log(unknown.name()); // "999"
|
|
435
|
+
*
|
|
436
|
+
* // No store provided also creates a new KnownValue
|
|
437
|
+
* const unknown2 = KnownValuesStore.knownValueForRawValue(1, undefined);
|
|
438
|
+
* console.log(unknown2.name()); // "1"
|
|
439
|
+
* ```
|
|
440
|
+
*/
|
|
441
|
+
static knownValueForRawValue(rawValue: KnownValueInput, knownValues?: KnownValuesStore): KnownValue;
|
|
442
|
+
/**
|
|
443
|
+
* Attempts to find a KnownValue by its name, using a store if provided.
|
|
444
|
+
*
|
|
445
|
+
* This static method allows looking up a KnownValue by its name:
|
|
446
|
+
* - If a store is provided and contains a mapping for the name, that
|
|
447
|
+
* KnownValue is returned
|
|
448
|
+
* - Otherwise, undefined is returned
|
|
449
|
+
*
|
|
450
|
+
* @param name - The name to look up
|
|
451
|
+
* @param knownValues - Optional store to search in
|
|
452
|
+
* @returns The KnownValue if found, or undefined
|
|
453
|
+
*
|
|
454
|
+
* @example
|
|
455
|
+
* ```typescript
|
|
456
|
+
* import { KnownValuesStore, IS_A } from '@bcts/known-values';
|
|
457
|
+
*
|
|
458
|
+
* const store = new KnownValuesStore([IS_A]);
|
|
459
|
+
*
|
|
460
|
+
* // Known value from store
|
|
461
|
+
* const isA = KnownValuesStore.knownValueForName('isA', store);
|
|
462
|
+
* console.log(isA?.value()); // 1
|
|
463
|
+
*
|
|
464
|
+
* // Unknown name returns undefined
|
|
465
|
+
* console.log(KnownValuesStore.knownValueForName('unknown', store)); // undefined
|
|
466
|
+
*
|
|
467
|
+
* // No store provided also returns undefined
|
|
468
|
+
* console.log(KnownValuesStore.knownValueForName('isA', undefined)); // undefined
|
|
469
|
+
* ```
|
|
470
|
+
*/
|
|
471
|
+
static knownValueForName(name: string, knownValues?: KnownValuesStore): KnownValue | undefined;
|
|
472
|
+
/**
|
|
473
|
+
* Returns a human-readable name for a KnownValue, using a store if provided.
|
|
474
|
+
*
|
|
475
|
+
* This static method allows getting a name for a KnownValue:
|
|
476
|
+
* - If a store is provided and contains a mapping for the KnownValue, its
|
|
477
|
+
* assigned name is returned
|
|
478
|
+
* - Otherwise, the KnownValue's default name (which may be its numeric
|
|
479
|
+
* value as a string) is returned
|
|
480
|
+
*
|
|
481
|
+
* @param knownValue - The KnownValue to get the name for
|
|
482
|
+
* @param knownValues - Optional store to use for lookup
|
|
483
|
+
* @returns The name (assigned or numeric)
|
|
484
|
+
*
|
|
485
|
+
* @example
|
|
486
|
+
* ```typescript
|
|
487
|
+
* import { KnownValuesStore, IS_A } from '@bcts/known-values';
|
|
488
|
+
*
|
|
489
|
+
* const store = new KnownValuesStore([IS_A]);
|
|
490
|
+
*
|
|
491
|
+
* // Known value from store
|
|
492
|
+
* let name = KnownValuesStore.nameForKnownValue(IS_A, store);
|
|
493
|
+
* console.log(name); // "isA"
|
|
494
|
+
*
|
|
495
|
+
* // Unknown value in store uses KnownValue's name method
|
|
496
|
+
* name = KnownValuesStore.nameForKnownValue(new KnownValue(999), store);
|
|
497
|
+
* console.log(name); // "999"
|
|
498
|
+
*
|
|
499
|
+
* // No store provided also uses KnownValue's name method
|
|
500
|
+
* name = KnownValuesStore.nameForKnownValue(IS_A, undefined);
|
|
501
|
+
* console.log(name); // "isA"
|
|
502
|
+
* ```
|
|
503
|
+
*/
|
|
504
|
+
static nameForKnownValue(knownValue: KnownValue, knownValues?: KnownValuesStore): string;
|
|
505
|
+
/**
|
|
506
|
+
* Creates a shallow clone of this store.
|
|
507
|
+
*
|
|
508
|
+
* @returns A new KnownValuesStore with the same entries
|
|
509
|
+
*/
|
|
510
|
+
clone(): KnownValuesStore;
|
|
511
|
+
/**
|
|
512
|
+
* Internal helper method to insert a KnownValue into the store's maps.
|
|
513
|
+
*/
|
|
514
|
+
private _insert;
|
|
515
|
+
}
|
|
516
|
+
//#endregion
|
|
517
|
+
//#region src/known-values-registry.d.ts
|
|
518
|
+
declare const UNIT: KnownValue;
|
|
519
|
+
declare const IS_A: KnownValue;
|
|
520
|
+
declare const ID: KnownValue;
|
|
521
|
+
declare const SIGNED: KnownValue;
|
|
522
|
+
declare const NOTE: KnownValue;
|
|
523
|
+
declare const HAS_RECIPIENT: KnownValue;
|
|
524
|
+
declare const SSKR_SHARE: KnownValue;
|
|
525
|
+
declare const CONTROLLER: KnownValue;
|
|
526
|
+
declare const KEY: KnownValue;
|
|
527
|
+
declare const DEREFERENCE_VIA: KnownValue;
|
|
528
|
+
declare const ENTITY: KnownValue;
|
|
529
|
+
declare const NAME: KnownValue;
|
|
530
|
+
declare const LANGUAGE: KnownValue;
|
|
531
|
+
declare const ISSUER: KnownValue;
|
|
532
|
+
declare const HOLDER: KnownValue;
|
|
533
|
+
declare const SALT: KnownValue;
|
|
534
|
+
declare const DATE: KnownValue;
|
|
535
|
+
declare const UNKNOWN_VALUE: KnownValue;
|
|
536
|
+
declare const VERSION_VALUE: KnownValue;
|
|
537
|
+
declare const HAS_SECRET: KnownValue;
|
|
538
|
+
declare const DIFF_EDITS: KnownValue;
|
|
539
|
+
declare const VALID_FROM: KnownValue;
|
|
540
|
+
declare const VALID_UNTIL: KnownValue;
|
|
541
|
+
declare const POSITION: KnownValue;
|
|
542
|
+
declare const NICKNAME: KnownValue;
|
|
543
|
+
declare const ATTACHMENT: KnownValue;
|
|
544
|
+
declare const VENDOR: KnownValue;
|
|
545
|
+
declare const CONFORMS_TO: KnownValue;
|
|
546
|
+
declare const ALLOW: KnownValue;
|
|
547
|
+
declare const DENY: KnownValue;
|
|
548
|
+
declare const ENDPOINT: KnownValue;
|
|
549
|
+
declare const DELEGATE: KnownValue;
|
|
550
|
+
declare const PROVENANCE: KnownValue;
|
|
551
|
+
declare const PRIVATE_KEY: KnownValue;
|
|
552
|
+
declare const SERVICE: KnownValue;
|
|
553
|
+
declare const CAPABILITY: KnownValue;
|
|
554
|
+
declare const PROVENANCE_GENERATOR: KnownValue;
|
|
555
|
+
declare const PRIVILEGE_ALL: KnownValue;
|
|
556
|
+
declare const PRIVILEGE_AUTH: KnownValue;
|
|
557
|
+
declare const PRIVILEGE_SIGN: KnownValue;
|
|
558
|
+
declare const PRIVILEGE_ENCRYPT: KnownValue;
|
|
559
|
+
declare const PRIVILEGE_ELIDE: KnownValue;
|
|
560
|
+
declare const PRIVILEGE_ISSUE: KnownValue;
|
|
561
|
+
declare const PRIVILEGE_ACCESS: KnownValue;
|
|
562
|
+
declare const PRIVILEGE_DELEGATE: KnownValue;
|
|
563
|
+
declare const PRIVILEGE_VERIFY: KnownValue;
|
|
564
|
+
declare const PRIVILEGE_UPDATE: KnownValue;
|
|
565
|
+
declare const PRIVILEGE_TRANSFER: KnownValue;
|
|
566
|
+
declare const PRIVILEGE_ELECT: KnownValue;
|
|
567
|
+
declare const PRIVILEGE_BURN: KnownValue;
|
|
568
|
+
declare const PRIVILEGE_REVOKE: KnownValue;
|
|
569
|
+
declare const BODY: KnownValue;
|
|
570
|
+
declare const RESULT: KnownValue;
|
|
571
|
+
declare const ERROR: KnownValue;
|
|
572
|
+
declare const OK_VALUE: KnownValue;
|
|
573
|
+
declare const PROCESSING_VALUE: KnownValue;
|
|
574
|
+
declare const SENDER: KnownValue;
|
|
575
|
+
declare const SENDER_CONTINUATION: KnownValue;
|
|
576
|
+
declare const RECIPIENT_CONTINUATION: KnownValue;
|
|
577
|
+
declare const CONTENT: KnownValue;
|
|
578
|
+
declare const SEED_TYPE: KnownValue;
|
|
579
|
+
declare const PRIVATE_KEY_TYPE: KnownValue;
|
|
580
|
+
declare const PUBLIC_KEY_TYPE: KnownValue;
|
|
581
|
+
declare const MASTER_KEY_TYPE: KnownValue;
|
|
582
|
+
declare const ASSET: KnownValue;
|
|
583
|
+
declare const BITCOIN_VALUE: KnownValue;
|
|
584
|
+
declare const ETHEREUM_VALUE: KnownValue;
|
|
585
|
+
declare const TEZOS_VALUE: KnownValue;
|
|
586
|
+
declare const NETWORK: KnownValue;
|
|
587
|
+
declare const MAIN_NET_VALUE: KnownValue;
|
|
588
|
+
declare const TEST_NET_VALUE: KnownValue;
|
|
589
|
+
declare const BIP32_KEY_TYPE: KnownValue;
|
|
590
|
+
declare const CHAIN_CODE: KnownValue;
|
|
591
|
+
declare const DERIVATION_PATH_TYPE: KnownValue;
|
|
592
|
+
declare const PARENT_PATH: KnownValue;
|
|
593
|
+
declare const CHILDREN_PATH: KnownValue;
|
|
594
|
+
declare const PARENT_FINGERPRINT: KnownValue;
|
|
595
|
+
declare const PSBT_TYPE: KnownValue;
|
|
596
|
+
declare const OUTPUT_DESCRIPTOR_TYPE: KnownValue;
|
|
597
|
+
declare const OUTPUT_DESCRIPTOR: KnownValue;
|
|
598
|
+
declare const GRAPH: KnownValue;
|
|
599
|
+
declare const SOURCE_TARGET_GRAPH: KnownValue;
|
|
600
|
+
declare const PARENT_CHILD_GRAPH: KnownValue;
|
|
601
|
+
declare const DIGRAPH: KnownValue;
|
|
602
|
+
declare const ACYCLIC_GRAPH: KnownValue;
|
|
603
|
+
declare const MULTIGRAPH: KnownValue;
|
|
604
|
+
declare const PSEUDOGRAPH: KnownValue;
|
|
605
|
+
declare const GRAPH_FRAGMENT: KnownValue;
|
|
606
|
+
declare const DAG: KnownValue;
|
|
607
|
+
declare const TREE: KnownValue;
|
|
608
|
+
declare const FOREST: KnownValue;
|
|
609
|
+
declare const COMPOUND_GRAPH: KnownValue;
|
|
610
|
+
declare const HYPERGRAPH: KnownValue;
|
|
611
|
+
declare const DIHYPERGRAPH: KnownValue;
|
|
612
|
+
declare const NODE: KnownValue;
|
|
613
|
+
declare const EDGE: KnownValue;
|
|
614
|
+
declare const SOURCE: KnownValue;
|
|
615
|
+
declare const TARGET: KnownValue;
|
|
616
|
+
declare const PARENT: KnownValue;
|
|
617
|
+
declare const CHILD: KnownValue;
|
|
618
|
+
/**
|
|
619
|
+
* A lazily initialized singleton that holds the global registry of known
|
|
620
|
+
* values.
|
|
621
|
+
*
|
|
622
|
+
* This class provides thread-safe, lazy initialization of the global
|
|
623
|
+
* KnownValuesStore that contains all the predefined Known Values in the
|
|
624
|
+
* registry. The store is created only when first accessed, and subsequent
|
|
625
|
+
* accesses reuse the same instance.
|
|
626
|
+
*
|
|
627
|
+
* This is used internally by the crate and should not typically be needed by
|
|
628
|
+
* users of the API, who should access Known Values through the constants
|
|
629
|
+
* exposed in the `known_values` module.
|
|
630
|
+
*/
|
|
631
|
+
declare class LazyKnownValues {
|
|
632
|
+
private _data;
|
|
633
|
+
/**
|
|
634
|
+
* Gets the global KnownValuesStore, initializing it if necessary.
|
|
635
|
+
*
|
|
636
|
+
* This method guarantees that initialization occurs exactly once.
|
|
637
|
+
*/
|
|
638
|
+
get(): KnownValuesStore;
|
|
639
|
+
}
|
|
640
|
+
/**
|
|
641
|
+
* The global registry of Known Values.
|
|
642
|
+
*
|
|
643
|
+
* This static instance provides access to all standard Known Values defined in
|
|
644
|
+
* the registry specification. It is lazily initialized on first access.
|
|
645
|
+
*
|
|
646
|
+
* Most users should not need to interact with this directly, as the predefined
|
|
647
|
+
* Known Values are exposed as constants in the `known_values` module.
|
|
648
|
+
*
|
|
649
|
+
* @example
|
|
650
|
+
* ```typescript
|
|
651
|
+
* import { KNOWN_VALUES } from '@bcts/known-values';
|
|
652
|
+
*
|
|
653
|
+
* // Access the global store
|
|
654
|
+
* const knownValues = KNOWN_VALUES.get();
|
|
655
|
+
*
|
|
656
|
+
* // Look up a Known Value by name
|
|
657
|
+
* const isA = knownValues.knownValueNamed('isA');
|
|
658
|
+
* console.log(isA?.value()); // 1
|
|
659
|
+
* ```
|
|
660
|
+
*/
|
|
661
|
+
declare const KNOWN_VALUES: LazyKnownValues;
|
|
662
|
+
//#endregion
|
|
663
|
+
export { ACYCLIC_GRAPH, ALLOW, ASSET, ATTACHMENT, BIP32_KEY_TYPE, BITCOIN_VALUE, BODY, CAPABILITY, CHAIN_CODE, CHILD, CHILDREN_PATH, COMPOUND_GRAPH, CONFORMS_TO, CONTENT, CONTROLLER, DAG, DATE, DELEGATE, DENY, DEREFERENCE_VIA, DERIVATION_PATH_TYPE, DIFF_EDITS, DIGRAPH, DIHYPERGRAPH, EDGE, ENDPOINT, ENTITY, ERROR, ETHEREUM_VALUE, FOREST, GRAPH, GRAPH_FRAGMENT, HAS_RECIPIENT, HAS_SECRET, HOLDER, HYPERGRAPH, ID, ISSUER, IS_A, KEY, KNOWN_VALUES, KNOWN_VALUE_TAG, KnownValue, type KnownValueInput, KnownValuesStore, LANGUAGE, LazyKnownValues, MAIN_NET_VALUE, MASTER_KEY_TYPE, MULTIGRAPH, NAME, NETWORK, NICKNAME, NODE, NOTE, OK_VALUE, OUTPUT_DESCRIPTOR, OUTPUT_DESCRIPTOR_TYPE, PARENT, PARENT_CHILD_GRAPH, PARENT_FINGERPRINT, PARENT_PATH, POSITION, PRIVATE_KEY, PRIVATE_KEY_TYPE, PRIVILEGE_ACCESS, PRIVILEGE_ALL, PRIVILEGE_AUTH, PRIVILEGE_BURN, PRIVILEGE_DELEGATE, PRIVILEGE_ELECT, PRIVILEGE_ELIDE, PRIVILEGE_ENCRYPT, PRIVILEGE_ISSUE, PRIVILEGE_REVOKE, PRIVILEGE_SIGN, PRIVILEGE_TRANSFER, PRIVILEGE_UPDATE, PRIVILEGE_VERIFY, PROCESSING_VALUE, PROVENANCE, PROVENANCE_GENERATOR, PSBT_TYPE, PSEUDOGRAPH, PUBLIC_KEY_TYPE, RECIPIENT_CONTINUATION, RESULT, SALT, SEED_TYPE, SENDER, SENDER_CONTINUATION, SERVICE, SIGNED, SOURCE, SOURCE_TARGET_GRAPH, SSKR_SHARE, TAG_KNOWN_VALUE, TARGET, TEST_NET_VALUE, TEZOS_VALUE, TREE, UNIT, UNKNOWN_VALUE, VALID_FROM, VALID_UNTIL, VENDOR, VERSION_VALUE };
|
|
664
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/known-value.ts","../src/known-values-store.ts","../src/known-values-registry.ts"],"sourcesContent":[],"mappings":";;;;;AEcA;AACA;AACA;AACA;AACa,cF0DA,eE1De,EF0DoB,YAAA,CAApB,UE1DsC;AAClE;AACA;AACA;AACA;AACa,cF2DA,eE3DqC,EF2DpB,GE3DoB;AAClD;AACA;AACA;AACA;AACa,KF4DD,eAAA,GE5DW,MAAA,GAAA,MAAkC;AAC5C,cF6DA,UAAA,YAAsB,mBE7DkB,EF6DG,mBE7DH,CF6DuB,UE7DvB,CAAA,CAAA;EACxC,iBAA4C,MAAA;EAC5C,iBAA8C,aAAnC;EACX;AACb;AAOA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;EACa,WAAA,CAAA,KAAA,EF4CQ,eE5CO,EAAA,YAA8B,CAAA,EAAA,MAAA;EAC7C;AACb;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;EACa,KAAA,CAAA,CAAA,EAAsC,MAAA;EACtC;AACb;AACA;AAOA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;EAOa,WAAwC,CAAA,CAAA,EAAA,MAAA;EACxC;AACb;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;EACa,YAAA,CAAA,CAAA,EAAA,MAA8D,GAAA,SAA3C;EACnB;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;EACa,IAAA,CAAA,CAAA,EAAA,MAAsC;EACtC;AACb;AAgBA;AAwIA;;;;;;;;;;;gBFxGgB;;;;;;;;;;;;;;;;;;;;cAkCF;;;;;;;;kBAWI;;;;;;;;;;;;;;;gBAkBF;;;;;;;;;;;;;gBAmBA;;;;oBAOI;;;;;;;;;8BAgBU,OAAO;;;;;;;;;4BAYT,OAAO;;;;;;;;;;;;;;;qCAsBE,OAAO;;;;;;;;;;;;;mCAoBT,OAAO;;;;;;;;;;;;;;;4BA2Bd,aAAa;;;;;;;;;;;;;;;;6BAoBZ,OAAO;;;;;;;AAtVpC;AAMA;AAMA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;;;AAqDqB,cArDR,gBAAA,CAqDQ;EAmBM,QAAA,qBAAA;EAuBR,QAAA,yBAAA;EA0BsB;;;;;;;;;;;;;;;ACtJzC;AACA;AACA;AACA;AACA;AACA;EACa,WAAA,CAAA,WAA2C,CAAjC,EDiDI,QCjDJ,CDiDa,UCjDoB,CAAA;EAC3C;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAOa,MAAA,CAAA,UAA6C,EDmDrC,UCnDE,CAAA,EAAA,IAAmC;EAC7C;AACb;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;EACa,YAAA,CAAA,UAA6C,ED0C/B,UC1CC,CAAA,EAAA,MAA8B,GAAA,SAAA;EAC7C;AACb;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;EACa,IAAA,CAAA,UAAA,EDgCM,UChC8C,CAAA,EAAA,MAApC;EAChB;AACb;AAOA;AACA;AACA;AACA;AAOA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;EACa,eAAwC,CAAA,YAAjC,EAAA,MAAiC,CAAA,EDYZ,UCZY,GAAA,SAAA;EACxC;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;EACa,kBAAoC,CAAA,QAA/B,EDca,eCdkB,CAAA,EDcA,UCdA,GAAA,SAAA;EAgBpC;AAwIb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCDnGc,+BACI,mBACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAuCkD,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAoCnC,0BAA0B;;;;;;WAetD;;;;;;;;cC5SE,MAAI;cACJ,MAAI;AFkEJ,cEjEA,EFiEmC,EEjEjC,UFiEiC;AAMnC,cEtEA,MFsEkC,EEtE5B,UFsE4B;AAMnC,cE3EC,IF2Ec,EE3EV,UF2EU;AAEd,cE5EA,aF4EW,EE5EE,UF4EF;AAAoD,cE3E/D,UF2E+D,EE3ErD,UF2EqD;AAsBvD,cEhGR,UFgGQ,EEhGE,UFgGF;AAoGL,cEnMH,GFmMG,EEnMA,UFmMA;AAkCF,cEpOD,eFoOC,EEpOc,UFoOd;AAWI,cE9OL,MF8OK,EE9OC,UF8OD;AAkBF,cE/PH,IF+PG,EE/PC,UF+PD;AAmBA,cEjRH,QFiRG,EEjRK,UFiRL;AAOI,cEvRP,MFuRO,EEvRD,UFuRC;AAgBU,cEtSjB,MFsSiB,EEtSX,UFsSW;AAAO,cErSxB,IFqSwB,EErSpB,UFqSoB;AAYT,cEhTf,IFgTe,EEhTX,UFgTW;AAAO,cE/StB,aF+SsB,EE/ST,UF+SS;AAsBE,cEpUxB,aFoUwB,EEpUX,UFoUW;AAAO,cEnU/B,UFmU+B,EEnUrB,UFmUqB;AAoBT,cEtVtB,UFsVsB,EEtVZ,UFsVY;AAAO,cErV7B,UFqV6B,EErVnB,UFqVmB;AA2Bd,cE/Wf,WF+We,EE/WJ,UF+WI;AAAa,cE9W5B,QF8W4B,EE9WpB,UF8WoB;AAoBZ,cEjYhB,QFiYgB,EEjYR,UFiYQ;AAAO,cE1XvB,UF0XuB,EE1Xb,UF0Xa;AAxUD,cEjDtB,MFiDsB,EEjDhB,UFiDgB;AAAqB,cEhD3C,WFgD2C,EEhDhC,UFgDgC;AAAmB,cEzC9D,KFyC8D,EEzCzD,UFyCyD;cExC9D,MAAI;cACJ,UAAQ;cACR,UAAQ;ADdR,cCeA,UDfgB,ECeN,UDfM;AA0BO,cCVvB,WDUuB,ECVZ,UDUY;AAAT,cCTd,ODSc,ECTP,UDSO;AA2BN,cCnCR,UDmCQ,ECnCE,UDmCF;AAmBM,cCrDd,oBDqDc,ECrDM,UDqDN;AAuBR,cCrEN,aDqEM,ECrEO,UDqEP;AA0BsB,cC9F5B,cD8F4B,EC9Fd,UD8Fc;AAmBV,cChHlB,cDgHkB,EChHJ,UDgHI;AAAkB,cC/GpC,iBD+GoC,EC/GnB,UD+GmB;AAuCnC,cCrJD,eDqJC,ECrJc,UDqJd;AACI,cCrJL,eDqJK,ECrJU,UDqJV;AACb,cCrJQ,gBDqJR,ECrJwB,UDqJxB;AAuCkD,cC1L1C,kBD0L0C,EC1LxB,UD0LwB;AAAmB,cCzL7D,gBDyL6D,ECzL7C,UDyL6C;AAoCnC,cC5N1B,gBD4N0B,EC5NV,UD4NU;AAA0B,cC3NpD,kBD2NoD,EC3NlC,UD2NkC;AAetD,cCzOE,eDyOF,ECzOiB,UDyOjB;AAAgB,cCxOd,cDwOc,ECxOA,UDwOA;cCvOd,kBAAgB;cAOhB,MAAI;cACJ,QAAM;AA7EN,cA8EA,KA9EI,EA8EC,UA9EuB;AAC5B,cA8EA,QA9EI,EA8EI,UA9EuB;AAC/B,cA8EA,gBA9E4B,EA8EZ,UA9EY;AAC5B,cA8EA,MA9EM,EA8EA,UA9E8B;AACpC,cA8EA,mBA9EgC,EA8Eb,UA9Ea;AAChC,cA8EA,sBA9EiD,EA8E3B,UA9E2B;AACjD,cA8EA,OA9EU,EA8EH,UA9EoC;AAC3C,cAoFA,SApFU,EAoFD,UApFmC;AAC5C,cAoFA,gBApF8B,EAoFd,UApFc;AAC9B,cAoFA,eApFe,EAoFA,UApFsC;AACrD,cAoFA,eApFqC,EAoFtB,UApFsB;AACrC,cA0FA,KA1FI,EA0FC,UA1F4B;AACjC,cA0FA,aA1FQ,EA0FK,UA1F4B;AACzC,cA0FA,cA1FM,EA0FQ,UA1FuB;AACrC,cA0FA,WA1FM,EA0FK,UA1F0B;AACrC,cAgGA,OAhGI,EAgGG,UAhG0B;AACjC,cAgGA,cAhGiC,EAgGnB,UAhGmB;AACjC,cAgGA,cAhGa,EAgGC,UAhG+B;AAC7C,cAsGA,cAtGa,EAsGC,UAtG+B;AAC7C,cAsGA,UAtGU,EAsGA,UAtGkC;AAC5C,cAsGA,oBAtGwC,EAsGpB,UAtGoB;AACxC,cAsGA,WAtGU,EAsGC,UAtGiC;AAC5C,cAsGA,aAtGW,EAsGE,UAtGiC;AAC9C,cAsGA,kBAtGyC,EAsGvB,UAtGuB;AACzC,cAsGA,SAtGQ,EAsGC,UAtGgC;AAOzC,cAgGA,sBAhG6C,EAgGvB,UAhGuB;AAC7C,cAgGA,iBAhGqC,EAgGpB,UAhGoB;AACrC,cAsGA,KAtG8C,EAsGzC,UAtGM;AAOX,cAgGA,mBAhGmC,EAgGhB,UAhGgB;AACnC,cAgGA,kBAhGiC,EAgGf,UAhGe;AACjC,cAgGA,OAhGQ,EAgGD,UAhGkC;AACzC,cAgGA,aAhGQ,EAgGK,UAhG4B;AACzC,cAgGA,UAhGU,EAgGA,UAhGmC;AAC7C,cAgGA,WAhGW,EAgGA,UAhGmC;AAC9C,cAgGA,cAhGO,EAgGO,UAhGyB;AACvC,cAgGA,GAhG6C,EAgG1C,UAhGO;AACV,cAgGA,IAhGA,EAgGI,UAhG4D;AAOhE,cA0FA,MA1FyC,EA0FnC,UA1FO;AACb,cA0FA,cA1Fc,EA0FA,UA1F6B;AAC3C,cA0FA,UA1F2C,EA0FjC,UA1FI;AACd,cA0FA,YA1FiD,EA0FrC,UA1FK;AACjB,cA2FA,IA3F6C,EA2FzC,UA3FW;AACf,cA2FA,IA3F6C,EA2FzC,UA3FW;AACf,cA2FA,MA3F+C,EA2FzC,UA3FU;AAEhB,cA0FA,MA1FmD,EA0F7C,UA1FY;AAClB,cA0FA,MA1F+C,EA0FzC,UA1FU;AAChB,cA0FA,KA1F+C,EA0F1C,UA1FW;AAC7B;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOa,cAgFA,eAAA,CAhFS;EACT,QAAA,KAAA;EACA;AACb;AAOA;AACA;AACA;EACa,GAAA,CAAA,CAAA,EA2EJ,gBA3E4C;AAOrD;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACa,cAkKA,YAlKM,EAkKM,eAlK0B"}
|