+2
-0
@@ -0,1 +1,3 @@ | ||
| ## [6.0.0](https://github.com/rvagg/cborg/compare/v5.1.11...v6.0.0) (2026-07-29) | ||
| ## [5.1.11](https://github.com/rvagg/cborg/compare/v5.1.10...v5.1.11) (2026-07-29) | ||
@@ -2,0 +4,0 @@ |
+2
-2
@@ -21,3 +21,3 @@ import { Token } from './lib/token.js' | ||
| (writer: ByteWriter, token: Token, options?: EncodeOptions): void; | ||
| compareTokens(t1: Token, t2: Token): number; | ||
| compareTokens(t1: Token, t2: Token, options?: EncodeOptions): number; | ||
| // TODO: make this non-optional as a breaking change and remove the throw in length.js | ||
@@ -27,3 +27,3 @@ encodedSize?(token: Token, options?: EncodeOptions): number; | ||
| export type MapSorter = (e1: (Token | Token[])[], e2: (Token | Token[])[]) => number | ||
| export type MapSorter = (e1: (Token | Token[])[], e2: (Token | Token[])[], options?: EncodeOptions) => number | ||
@@ -30,0 +30,0 @@ export type QuickEncodeToken = (token: Token) => AllocatedByteView | undefined |
+88
-9
@@ -6,3 +6,3 @@ // TODO: shift some of the bytes logic to bytes-utils so we can use Buffer | ||
| import { decodeErrPrefix } from './common.js' | ||
| import { encodeUint } from './0uint.js' | ||
| import { compare } from './byte-utils.js' | ||
@@ -297,12 +297,91 @@ /** | ||
| /** | ||
| * @param {Token} _tok1 | ||
| * @param {Token} _tok2 | ||
| * @typedef {Token & { | ||
| * _keyBytes?: Uint8Array, | ||
| * _keyBytesFloat64?: Uint8Array | ||
| * }} TokenEx | ||
| */ | ||
| /** | ||
| * The canonical CBOR bytes for a major 7 map key. The four simple values encode | ||
| * to a single byte and every float to its 3, 5 or 9 byte form, exactly as | ||
| * {@link encodeFloat} writes them. This mirrors the width selection in | ||
| * `encodeFloat` because the sorter needs the bytes in hand to compare. | ||
| * @param {Token} token | ||
| * @param {boolean} float64 | ||
| * @returns {Uint8Array} | ||
| */ | ||
| function encodeMajorSevenBytes (token, float64) { | ||
| const float = token.value | ||
| if (float === false) { | ||
| return Uint8Array.of(Type.float.majorEncoded | MINOR_FALSE) | ||
| } | ||
| if (float === true) { | ||
| return Uint8Array.of(Type.float.majorEncoded | MINOR_TRUE) | ||
| } | ||
| if (float === null) { | ||
| return Uint8Array.of(Type.float.majorEncoded | MINOR_NULL) | ||
| } | ||
| if (float === undefined) { | ||
| return Uint8Array.of(Type.float.majorEncoded | MINOR_UNDEFINED) | ||
| } | ||
| if (!float64) { | ||
| encodeFloat16(float) | ||
| if (float === readFloat16(ui8a, 1) || Number.isNaN(float)) { | ||
| ui8a[0] = 0xf9 | ||
| return ui8a.slice(0, 3) | ||
| } | ||
| encodeFloat32(float) | ||
| if (float === readFloat32(ui8a, 1)) { | ||
| ui8a[0] = 0xfa | ||
| return ui8a.slice(0, 5) | ||
| } | ||
| } | ||
| encodeFloat64(float) | ||
| ui8a[0] = 0xfb | ||
| return ui8a.slice(0, 9) | ||
| } | ||
| /** | ||
| * Get the canonical CBOR bytes for a major 7 map key, honouring | ||
| * `options.float64`. Bytes are cached because Array.sort compares each key | ||
| * multiple times. | ||
| * @param {Token} token | ||
| * @param {EncodeOptions} [options] | ||
| * @returns {Uint8Array} | ||
| */ | ||
| function majorSevenBytes (token, options) { | ||
| const tokenEx = /** @type {TokenEx} */ (token) | ||
| const float64 = options?.float64 === true | ||
| const cached = float64 ? tokenEx._keyBytesFloat64 : tokenEx._keyBytes | ||
| if (cached !== undefined) { | ||
| return cached | ||
| } | ||
| const bytes = encodeMajorSevenBytes(token, float64) | ||
| if (float64) { | ||
| tokenEx._keyBytesFloat64 = bytes | ||
| } else { | ||
| tokenEx._keyBytes = bytes | ||
| } | ||
| return bytes | ||
| } | ||
| /** | ||
| * Order two major 7 map keys by RFC 7049 §3.9 canonical order: shorter encoding | ||
| * first, then bytewise. Because the four simple values encode to one byte they | ||
| * sort ahead of every float, and comparing the `float64`-honouring encoded bytes | ||
| * (rather than the numeric value) makes negative floats, mixed encoding widths | ||
| * and `NaN` deterministic regardless of insertion order. | ||
| * @param {Token} tok1 | ||
| * @param {Token} tok2 | ||
| * @param {EncodeOptions} [options] | ||
| * @returns {number} | ||
| */ | ||
| encodeFloat.compareTokens = encodeUint.compareTokens | ||
| /* | ||
| encodeFloat.compareTokens = function compareTokens (_tok1, _tok2) { | ||
| return _tok1 | ||
| throw new Error(`${encodeErrPrefix} cannot use floats as map keys`) | ||
| encodeFloat.compareTokens = function compareTokens (tok1, tok2, options) { | ||
| const b1 = majorSevenBytes(tok1, options) | ||
| const b2 = majorSevenBytes(tok2, options) | ||
| if (b1.length !== b2.length) { | ||
| return b1.length < b2.length ? -1 : 1 | ||
| } | ||
| return compare(b1, b2) | ||
| } | ||
| */ |
+14
-6
@@ -406,4 +406,11 @@ import { is } from './is.js' | ||
| function sortMapEntries (entries, options) { | ||
| if (options.mapSorter) { | ||
| entries.sort(options.mapSorter) | ||
| // cast because entries carry the wider TokenOrNestedTokens element type while | ||
| // MapSorter narrows to (Token | Token[])[]; the original direct sort relied on | ||
| // sort's bivariant parameter check, the wrapper below re-states it | ||
| const mapSorter = /** @type {(e1: TokenOrNestedTokens, e2: TokenOrNestedTokens, options?: EncodeOptions) => number} */ (options.mapSorter) | ||
| if (mapSorter) { | ||
| // pass options so a sorter can honour encode options (e.g. major 7 keys | ||
| // order by their float64-honouring encoding); custom sorters that take | ||
| // only (e1, e2) simply ignore the extra argument | ||
| entries.sort((e1, e2) => mapSorter(e1, e2, options)) | ||
| } | ||
@@ -415,5 +422,6 @@ } | ||
| * @param {(Token|Token[])[]} e2 | ||
| * @param {EncodeOptions} [options] | ||
| * @returns {number} | ||
| */ | ||
| function mapSorter (e1, e2) { | ||
| function mapSorter (e1, e2, options) { | ||
| // the key position ([0]) could have a single token or an array | ||
@@ -424,4 +432,4 @@ // almost always it'll be a single token but complex key might get involved | ||
| // different key types | ||
| if (keyToken1.type !== keyToken2.type) { | ||
| // different key type majors | ||
| if (keyToken1.type.major !== keyToken2.type.major) { | ||
| return keyToken1.type.compare(keyToken2.type) | ||
@@ -432,3 +440,3 @@ } | ||
| // TODO: handle case where cmp === 0 but there are more keyToken e. complex type) | ||
| const tcmp = cborEncoders[major].compareTokens(keyToken1, keyToken2) | ||
| const tcmp = cborEncoders[major].compareTokens(keyToken1, keyToken2, options) | ||
| if (tcmp === 0) { | ||
@@ -435,0 +443,0 @@ // duplicate key or complex type where the first token matched, |
+1
-1
| { | ||
| "name": "cborg", | ||
| "version": "5.1.11", | ||
| "version": "6.0.0", | ||
| "description": "Fast CBOR with a focus on strictness", | ||
@@ -5,0 +5,0 @@ "main": "cborg.js", |
+45
-0
@@ -290,4 +290,49 @@ /* eslint-env mocha */ | ||
| it('sorts simple value map keys', () => { | ||
| // false (0xf4), true (0xf5), null (0xf6), undefined (0xf7) | ||
| assert.strictEqual(toHex(encode(new Map([[true, 1], [false, 2]]))), 'a2f402f501') | ||
| assert.strictEqual(toHex(encode(new Map([[false, 2], [true, 1]]))), 'a2f402f501') | ||
| assert.strictEqual(toHex(encode(new Map([[undefined, 1], [null, 2], [true, 3], [false, 4]]))), 'a4f404f503f602f701') | ||
| assert.strictEqual(toHex(encode(new Map([[false, 4], [true, 3], [null, 2], [undefined, 1]]))), 'a4f404f503f602f701') | ||
| }) | ||
| it('sorts float and simple value map keys', () => { | ||
| // simple values sort before floats | ||
| assert.strictEqual(toHex(encode(new Map([[1.5, 'a'], [true, 'b']]))), 'a2f56162f93e006161') | ||
| assert.strictEqual(toHex(encode(new Map([[true, 'b'], [1.5, 'a']]))), 'a2f56162f93e006161') | ||
| }) | ||
| it('sorts float map keys by encoded bytes, not numeric value', () => { | ||
| // +1.5 (f93e00) sorts before -1.5 (f9be00) even though -1.5 is the smaller | ||
| // number: RFC 7049 3.9 orders by the encoded bytes, not the value | ||
| assert.strictEqual(toHex(encode(new Map([[-1.5, 'a'], [1.5, 'b']]))), 'a2f93e006162f9be006161') | ||
| assert.strictEqual(toHex(encode(new Map([[1.5, 'b'], [-1.5, 'a']]))), 'a2f93e006162f9be006161') | ||
| }) | ||
| it('sorts float map keys of different widths shortest-first', () => { | ||
| // Infinity is a 3-byte float16 (f97c00), 1.1 a 9-byte float64 | ||
| // (fb3ff199999999999a): shorter encoding sorts first regardless of value | ||
| assert.strictEqual(toHex(encode(new Map([[1.1, 'a'], [Infinity, 'b']]))), 'a2f97c006162fb3ff199999999999a6161') | ||
| assert.strictEqual(toHex(encode(new Map([[Infinity, 'b'], [1.1, 'a']]))), 'a2f97c006162fb3ff199999999999a6161') | ||
| }) | ||
| it('sorts NaN float map keys deterministically', () => { | ||
| // NaN compares false against every number, so ordering must not fall back | ||
| // to insertion order; 1.5 (f93e00) sorts before NaN (f97e00) by bytes | ||
| assert.strictEqual(toHex(encode(new Map([[NaN, 'a'], [1.5, 'b']]))), 'a2f93e006162f97e006161') | ||
| assert.strictEqual(toHex(encode(new Map([[1.5, 'b'], [NaN, 'a']]))), 'a2f93e006162f97e006161') | ||
| }) | ||
| it('sorts float map keys honouring the float64 option', () => { | ||
| // default: 1.5 is a 3-byte float16, sorts before the 9-byte 1.1 | ||
| assert.strictEqual(toHex(encode(new Map([[1.5, 'b'], [1.1, 'a']]))), 'a2f93e006162fb3ff199999999999a6161') | ||
| // float64: both encode to 9 bytes, so bytewise order applies and 1.1 | ||
| // (fb3ff1…) now sorts before 1.5 (fb3ff8…) — the sort follows the bytes | ||
| // that are actually written | ||
| assert.strictEqual(toHex(encode(new Map([[1.5, 'b'], [1.1, 'a']]), { float64: true })), 'a2fb3ff199999999999a6161fb3ff80000000000006162') | ||
| assert.strictEqual(toHex(encode(new Map([[1.1, 'a'], [1.5, 'b']]), { float64: true })), 'a2fb3ff199999999999a6161fb3ff80000000000006162') | ||
| }) | ||
| // TODO: tag keys .. but why would you do this!? | ||
| }) | ||
| }) |
@@ -14,6 +14,6 @@ import { Token } from './lib/token.js'; | ||
| (writer: ByteWriter, token: Token, options?: EncodeOptions): void; | ||
| compareTokens(t1: Token, t2: Token): number; | ||
| compareTokens(t1: Token, t2: Token, options?: EncodeOptions): number; | ||
| encodedSize?(token: Token, options?: EncodeOptions): number; | ||
| }; | ||
| export type MapSorter = (e1: (Token | Token[])[], e2: (Token | Token[])[]) => number; | ||
| export type MapSorter = (e1: (Token | Token[])[], e2: (Token | Token[])[], options?: EncodeOptions) => number; | ||
| export type QuickEncodeToken = (token: Token) => AllocatedByteView | undefined; | ||
@@ -20,0 +20,0 @@ export interface DecodeTokenizer { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../interface.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../interface.ts"],"names":[],"mappings":"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"} |
@@ -62,4 +62,8 @@ import { Token } from './token.js'; | ||
| var encodedSize: (token: Token, options: EncodeOptions) => number; | ||
| var compareTokens: (tok1: Token, tok2: Token) => number; | ||
| var compareTokens: (tok1: Token, tok2: Token, options?: EncodeOptions) => number; | ||
| } | ||
| export type TokenEx = Token & { | ||
| _keyBytes?: Uint8Array; | ||
| _keyBytesFloat64?: Uint8Array; | ||
| }; | ||
| //# sourceMappingURL=7float.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"7float.d.ts","sourceRoot":"","sources":["../../lib/7float.js"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAQ,MAAM,YAAY,CAAA;AAKrC,YAAgD,UAAU,GAAhD,OAAO,iBAAiB,EAAE,UAAU,CAAY;AAC1D,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAChE,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAHnE;;;;GAIG;AAEH,eAAO,MAAM,WAAW,KAAK,CAAA;AAC7B,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,eAAe,KAAK,CAAA;AAEjC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAE,KAAK,EAN3B,UAM2B,EAAE,IAAI,EALjC,MAKiC,EAAE,MAAM,EAJzC,MAIyC,EAAE,OAAO,EAHlD,aAGkD,GAFhD,KAAK,CASjB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAE,KAAK,EANvB,UAMuB,EAAE,IAAI,EAL7B,MAK6B,EAAE,MAAM,EAJrC,MAIqC,EAAE,OAAO,EAH9C,aAG8C,GAF5C,KAAK,CAOjB;AAoBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAE,IAAI,EANxB,UAMwB,EAAE,GAAG,EAL7B,MAK6B,EAAE,MAAM,EAJrC,MAIqC,EAAE,OAAO,EAH9C,aAG8C,GAF5C,KAAK,CAIjB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAE,IAAI,EANxB,UAMwB,EAAE,GAAG,EAL7B,MAK6B,EAAE,MAAM,EAJrC,MAIqC,EAAE,OAAO,EAH9C,aAG8C,GAF5C,KAAK,CAIjB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAE,IAAI,EANxB,UAMwB,EAAE,GAAG,EAL7B,MAK6B,EAAE,MAAM,EAJrC,MAIqC,EAAE,OAAO,EAH9C,aAG8C,GAF5C,KAAK,CAIjB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAE,MAAM,EAJxB,UAIwB,EAAE,KAAK,EAH/B,KAG+B,EAAE,OAAO,EAFxC,aAEwC,QAsClD;yBAtCe,WAAW;6BAyChB,KAAK,WACL,aAAa,KACX,MAAM"} | ||
| {"version":3,"file":"7float.d.ts","sourceRoot":"","sources":["../../lib/7float.js"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAQ,MAAM,YAAY,CAAA;AAKrC,YAAgD,UAAU,GAAhD,OAAO,iBAAiB,EAAE,UAAU,CAAY;AAC1D,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAChE,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAHnE;;;;GAIG;AAEH,eAAO,MAAM,WAAW,KAAK,CAAA;AAC7B,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,UAAU,KAAK,CAAA;AAC5B,eAAO,MAAM,eAAe,KAAK,CAAA;AAEjC;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAE,KAAK,EAN3B,UAM2B,EAAE,IAAI,EALjC,MAKiC,EAAE,MAAM,EAJzC,MAIyC,EAAE,OAAO,EAHlD,aAGkD,GAFhD,KAAK,CASjB;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAE,KAAK,EANvB,UAMuB,EAAE,IAAI,EAL7B,MAK6B,EAAE,MAAM,EAJrC,MAIqC,EAAE,OAAO,EAH9C,aAG8C,GAF5C,KAAK,CAOjB;AAoBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAE,IAAI,EANxB,UAMwB,EAAE,GAAG,EAL7B,MAK6B,EAAE,MAAM,EAJrC,MAIqC,EAAE,OAAO,EAH9C,aAG8C,GAF5C,KAAK,CAIjB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAE,IAAI,EANxB,UAMwB,EAAE,GAAG,EAL7B,MAK6B,EAAE,MAAM,EAJrC,MAIqC,EAAE,OAAO,EAH9C,aAG8C,GAF5C,KAAK,CAIjB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAE,IAAI,EANxB,UAMwB,EAAE,GAAG,EAL7B,MAK6B,EAAE,MAAM,EAJrC,MAIqC,EAAE,OAAO,EAH9C,aAG8C,GAF5C,KAAK,CAIjB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAE,MAAM,EAJxB,UAIwB,EAAE,KAAK,EAH/B,KAG+B,EAAE,OAAO,EAFxC,aAEwC,QAsClD;yBAtCe,WAAW;6BAyChB,KAAK,WACL,aAAa,KACX,MAAM;8BAiOR,KAAK,QACL,KAAK,YACL,aAAa,KACX,MAAM;;AAhFhB,YAGG,OAAO,GAHA,KAAK,GAAG;IAChB,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,gBAAgB,CAAC,EAAE,UAAU,CAAA;CAC9B,CAAS"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../lib/encode.js"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAQ,MAAM,YAAY,CAAA;AAgBrC,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAChE,YAAyD,mBAAmB,GAAlE,OAAO,iBAAiB,EAAE,mBAAmB,CAAqB;AAC5E,YAA+C,SAAS,GAA9C,OAAO,iBAAiB,EAAE,SAAS,CAAW;AACxD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AACxE,YAAsD,gBAAgB,GAA5D,OAAO,iBAAiB,EAAE,gBAAgB,CAAkB;AACtE,YAAyD,mBAAmB,GAAlE,OAAO,iBAAiB,EAAE,mBAAmB,CAAqB;AAC5E,YAAgD,UAAU,GAAhD,OAAO,iBAAiB,EAAE,UAAU,CAAY;AAC1D,YAA8C,QAAQ,GAA5C,OAAO,iBAAiB,EAAE,QAAQ,CAAU;AACtD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AAU3E,4BAA4B;AAC5B,eAAO,MAAM,oBAAoB,EADtB,aAIT,CAAA;AAEF,oCAAoC;AACpC,wBAAgB,gBAAgB,IADlB,gBAAgB,EAAE,CAY/B;AAMD,8BAA8B;AAC9B,cAAM,GAAG,AADQ,YAAA,SAAS;IAOjB,GAAG;IACH,MAAM;IANb;;;OAGG;IACH,YAAa,GAAG,EAHL,MAAM,GAAC,GAAG,EAGL,EAAE,MAAM,EAFb,SAAS,GAAC,SAEG,EAGvB;IAED;;;OAGG;IACH,QAAQ,CAAE,GAAG,EAHF,MAAM,GAAC,GAAG,EAGR,GAFA,OAAO,CAWnB;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAE,KAAK,EAJd,SAAS,GAAC,SAII,EAAE,GAAG,EAHnB,MAAM,GAAC,GAAG,EAGS,GAFjB,SAAS,CAOrB;CACF;AAoOD;;;;;GAKG;AACH,iBAAS,cAAc,CAAE,GAAG,EALjB,GAKiB,EAAE,OAAO,AAJlC,CACA,EADQ,aAI+B,EAAE,QAAQ,AAHjD,CACA,EADQ,SAGyC,GAFvC,mBAAmB,CAgB/B;AA8FE,YAAqD,OAAO,GAAlD,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAAS;AAwL3D,iBAqBK,YAAY,CAtBU,CAAC,SAAlB,eAAkB,EAEhB,IAAI,EAAT,GACR,EAA4B,QAAQ,EAA5B,gBAAgB,EACxB,EAAuB,OAAO,EAAtB,aACR,EAAuB,WAAW,EAA1B,UAAU,CAAC,CAAC,CACpB,GAAU,UAAU,CAAC,CAAC,CAAC,CALd;AAQR,iBAaK,YAAY,CAZL,IAAI,EAAT,GACR,EAA4B,QAAQ,EAA5B,gBAAgB,EACxB,EAAuB,OAAO,EAAtB,aACR,GAAU,iBAAiB,CAJlB;AAgDZ;;;;GAIG;AACH,iBAAS,MAAM,CAAE,IAAI,EAJV,GAIU,EAAE,OAAO,AAH3B,CACA,EADQ,aAGmB,GAFjB,iBAAiB,CAa7B;AAED;;;;;;GAMG;AACH,iBAAS,UAAU,CANY,CAAC,SAAlB,eAAkB,EAMX,IAAI,EALd,GAKc,EAAE,WAAW,EAJ3B,UAAU,CAAC,CAAC,CAIe,EAAE,OAAO,AAH5C,CACA,EADQ,aAGoC,GAFlC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAc/B;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA"} | ||
| {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../lib/encode.js"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAQ,MAAM,YAAY,CAAA;AAgBrC,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAChE,YAAyD,mBAAmB,GAAlE,OAAO,iBAAiB,EAAE,mBAAmB,CAAqB;AAC5E,YAA+C,SAAS,GAA9C,OAAO,iBAAiB,EAAE,SAAS,CAAW;AACxD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AACxE,YAAsD,gBAAgB,GAA5D,OAAO,iBAAiB,EAAE,gBAAgB,CAAkB;AACtE,YAAyD,mBAAmB,GAAlE,OAAO,iBAAiB,EAAE,mBAAmB,CAAqB;AAC5E,YAAgD,UAAU,GAAhD,OAAO,iBAAiB,EAAE,UAAU,CAAY;AAC1D,YAA8C,QAAQ,GAA5C,OAAO,iBAAiB,EAAE,QAAQ,CAAU;AACtD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AAU3E,4BAA4B;AAC5B,eAAO,MAAM,oBAAoB,EADtB,aAIT,CAAA;AAEF,oCAAoC;AACpC,wBAAgB,gBAAgB,IADlB,gBAAgB,EAAE,CAY/B;AAMD,8BAA8B;AAC9B,cAAM,GAAG,AADQ,YAAA,SAAS;IAOjB,GAAG;IACH,MAAM;IANb;;;OAGG;IACH,YAAa,GAAG,EAHL,MAAM,GAAC,GAAG,EAGL,EAAE,MAAM,EAFb,SAAS,GAAC,SAEG,EAGvB;IAED;;;OAGG;IACH,QAAQ,CAAE,GAAG,EAHF,MAAM,GAAC,GAAG,EAGR,GAFA,OAAO,CAWnB;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAE,KAAK,EAJd,SAAS,GAAC,SAII,EAAE,GAAG,EAHnB,MAAM,GAAC,GAAG,EAGS,GAFjB,SAAS,CAOrB;CACF;AAoOD;;;;;GAKG;AACH,iBAAS,cAAc,CAAE,GAAG,EALjB,GAKiB,EAAE,OAAO,AAJlC,CACA,EADQ,aAI+B,EAAE,QAAQ,AAHjD,CACA,EADQ,SAGyC,GAFvC,mBAAmB,CAgB/B;AAsGE,YAAqD,OAAO,GAAlD,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAAS;AAwL3D,iBAqBK,YAAY,CAtBU,CAAC,SAAlB,eAAkB,EAEhB,IAAI,EAAT,GACR,EAA4B,QAAQ,EAA5B,gBAAgB,EACxB,EAAuB,OAAO,EAAtB,aACR,EAAuB,WAAW,EAA1B,UAAU,CAAC,CAAC,CACpB,GAAU,UAAU,CAAC,CAAC,CAAC,CALd;AAQR,iBAaK,YAAY,CAZL,IAAI,EAAT,GACR,EAA4B,QAAQ,EAA5B,gBAAgB,EACxB,EAAuB,OAAO,EAAtB,aACR,GAAU,iBAAiB,CAJlB;AAgDZ;;;;GAIG;AACH,iBAAS,MAAM,CAAE,IAAI,EAJV,GAIU,EAAE,OAAO,AAH3B,CACA,EADQ,aAGmB,GAFjB,iBAAiB,CAa7B;AAED;;;;;;GAMG;AACH,iBAAS,UAAU,CANY,CAAC,SAAlB,eAAkB,EAMX,IAAI,EALd,GAKc,EAAE,WAAW,EAJ3B,UAAU,CAAC,CAAC,CAIe,EAAE,OAAO,AAH5C,CACA,EADQ,aAGoC,GAFlC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAc/B;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA"} |
578028
1.15%12367
1.03%