@harperfast/harper 5.0.28 → 5.0.29
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/config-root.schema.json +4 -0
- package/dist/resources/RecordEncoder.d.ts +11 -0
- package/dist/resources/RecordEncoder.js +57 -4
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/Table.js +22 -0
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/auditStore.js +5 -1
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/databases.js +9 -9
- package/dist/resources/databases.js.map +1 -1
- package/dist/utility/hdbTerms.d.ts +1 -0
- package/dist/utility/hdbTerms.js +1 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/package.json +2 -2
- package/resources/RecordEncoder.ts +56 -3
- package/resources/Table.ts +23 -0
- package/resources/auditStore.ts +4 -1
- package/resources/databases.ts +10 -10
- package/static/defaultConfig.yaml +1 -0
- package/studio/web/assets/{index-BJjklK4V.js → index-BFZovM68.js} +5 -5
- package/studio/web/assets/{index-BJjklK4V.js.map → index-BFZovM68.js.map} +1 -1
- package/studio/web/assets/{index.lazy-DPTCQseJ.js → index.lazy-CTCt7C_C.js} +2 -2
- package/studio/web/assets/{index.lazy-DPTCQseJ.js.map → index.lazy-CTCt7C_C.js.map} +1 -1
- package/studio/web/assets/{profile-D77bwywc.js → profile-Dy4qT0vm.js} +2 -2
- package/studio/web/assets/{profile-D77bwywc.js.map → profile-Dy4qT0vm.js.map} +1 -1
- package/studio/web/assets/{status-ChxVrrli.js → status-DQBR5qBd.js} +2 -2
- package/studio/web/assets/{status-ChxVrrli.js.map → status-DQBR5qBd.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/utility/hdbTerms.ts +1 -0
package/config-root.schema.json
CHANGED
|
@@ -412,6 +412,10 @@
|
|
|
412
412
|
"description": "Disable fsync for faster writes (risk of data loss on crash). Default: false"
|
|
413
413
|
},
|
|
414
414
|
"caching": { "type": "boolean", "description": "Enable in-memory caching of records. Default: true" },
|
|
415
|
+
"randomAccessFields": {
|
|
416
|
+
"type": "boolean",
|
|
417
|
+
"description": "Encode records as typed random-access structures, optimizing for fast field access and smaller records. Best for tables with stable, homogeneous field types; wide or variably-typed schemas can set this to false to fall back to classic shared-structure encoding. Applies to each primary table on open: existing records still decode either way, only new writes change. Default: true"
|
|
418
|
+
},
|
|
415
419
|
"compression": {
|
|
416
420
|
"oneOf": [
|
|
417
421
|
{ "type": "boolean" },
|
|
@@ -50,6 +50,17 @@ export declare class RecordEncoder extends Encoder {
|
|
|
50
50
|
constructor(options: any);
|
|
51
51
|
decode(buffer: any, options: any): any;
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Encoder for custom-index object stores (e.g. HNSW vector graphs). These hold fixed-shape internal
|
|
55
|
+
* nodes — numeric-keyed per-level connection arrays and quantized bins — that depend on random-access
|
|
56
|
+
* struct encoding and are mutated in place during graph maintenance. Keep them writing typed structs
|
|
57
|
+
* even when storage.randomAccessFields disables structs for user tables: their node shapes are
|
|
58
|
+
* controlled, so the wide/heterogeneous OOM risk that motivates opt-out doesn't apply, and classic
|
|
59
|
+
* (frozen) decoding would break the in-place graph mutation.
|
|
60
|
+
*/
|
|
61
|
+
export declare class IndexRecordEncoder extends RecordEncoder {
|
|
62
|
+
constructor(options: any);
|
|
63
|
+
}
|
|
53
64
|
export declare function handleLocalTimeForGets(store: any, rootStore: any): any;
|
|
54
65
|
export declare function setNextEncoding(timestamp: number, metadata: number, expiresAt?: number, nodeId?: number, residencyId?: number): void;
|
|
55
66
|
export declare function recordUpdater(store: any, tableId: any, auditStore: any): (id: any, record: any, existingEntry: any, newVersion: any, assignMetadata?: number, // when positive, this has a set of metadata flags for the record
|
|
@@ -39,13 +39,15 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
39
39
|
};
|
|
40
40
|
})();
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.RecordEncoder = exports.lastMetadata = exports.lastValueEncoding = exports.entryMap = exports.HAS_ADDITIONAL_AUDIT_REFS = exports.HAS_STRUCTURE_UPDATE = exports.PENDING_LOCAL_TIME = exports.HAS_NODE_ID = exports.HAS_RESIDENCY_ID = exports.HAS_EXPIRATION = exports.TIMESTAMP_RECORD_PREVIOUS = exports.TIMESTAMP_ASSIGN_PREVIOUS = exports.TIMESTAMP_ASSIGN_LAST = exports.TIMESTAMP_ASSIGN_NEW = exports.NO_TIMESTAMP = exports.ENTRY = exports.METADATA = exports.LOCAL_TIMESTAMP = exports.NEW_TIMESTAMP_PLACEHOLDER = exports.PREVIOUS_TIMESTAMP_PLACEHOLDER = exports.LAST_TIMESTAMP_PLACEHOLDER = exports.TIMESTAMP_PLACEHOLDER = void 0;
|
|
42
|
+
exports.IndexRecordEncoder = exports.RecordEncoder = exports.lastMetadata = exports.lastValueEncoding = exports.entryMap = exports.HAS_ADDITIONAL_AUDIT_REFS = exports.HAS_STRUCTURE_UPDATE = exports.PENDING_LOCAL_TIME = exports.HAS_NODE_ID = exports.HAS_RESIDENCY_ID = exports.HAS_EXPIRATION = exports.TIMESTAMP_RECORD_PREVIOUS = exports.TIMESTAMP_ASSIGN_PREVIOUS = exports.TIMESTAMP_ASSIGN_LAST = exports.TIMESTAMP_ASSIGN_NEW = exports.NO_TIMESTAMP = exports.ENTRY = exports.METADATA = exports.LOCAL_TIMESTAMP = exports.NEW_TIMESTAMP_PLACEHOLDER = exports.PREVIOUS_TIMESTAMP_PLACEHOLDER = exports.LAST_TIMESTAMP_PLACEHOLDER = exports.TIMESTAMP_PLACEHOLDER = void 0;
|
|
43
43
|
exports.handleLocalTimeForGets = handleLocalTimeForGets;
|
|
44
44
|
exports.setNextEncoding = setNextEncoding;
|
|
45
45
|
exports.recordUpdater = recordUpdater;
|
|
46
46
|
exports.setAdditionalAuditRefs = setAdditionalAuditRefs;
|
|
47
47
|
exports.removeEntry = removeEntry;
|
|
48
48
|
const msgpackr_1 = require("msgpackr");
|
|
49
|
+
const environmentManager_js_1 = require("../utility/environment/environmentManager.js");
|
|
50
|
+
const hdbTerms_ts_1 = require("../utility/hdbTerms.js");
|
|
49
51
|
const auditStore_ts_1 = require("./auditStore.js");
|
|
50
52
|
const harperLogger = __importStar(require("../utility/logging/harper_logger.js"));
|
|
51
53
|
require("./blob.js");
|
|
@@ -94,6 +96,16 @@ class RecordEncoder extends msgpackr_1.Encoder {
|
|
|
94
96
|
// long-lived primary store, so a wide/sparse schema (whose records vary by per-field value
|
|
95
97
|
// width) can grow it unbounded and exhaust memory. Caller-overridable; default caps it.
|
|
96
98
|
options.maxOwnStructures ??= 256;
|
|
99
|
+
// When random-access fields are disabled (storage.randomAccessFields=false), write records as
|
|
100
|
+
// classic shared structures instead of typed random-access structures. randomAccessStructure stays
|
|
101
|
+
// on so reads still decode either form — existing typed-struct data remains readable; only new
|
|
102
|
+
// writes change. lmdb-js does not forward non-whitelisted encoder options, so the flag is derived
|
|
103
|
+
// from the global config here rather than passed through the store options. Read at construction
|
|
104
|
+
// (DBI open, a cold path) so env/CLI config overrides are applied; an explicit option still wins
|
|
105
|
+
// (e.g. rocksdb-js's option spread, or tests).
|
|
106
|
+
if (options.readOnlyStructures === undefined && (0, environmentManager_js_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.STORAGE_RANDOMACCESSFIELDS) === false) {
|
|
107
|
+
options.readOnlyStructures = true;
|
|
108
|
+
}
|
|
97
109
|
/**
|
|
98
110
|
* The base class for records that provides the read-only methods for accessing
|
|
99
111
|
* metadata and will be assigned computed property getters. On its own, these instances
|
|
@@ -212,7 +224,18 @@ class RecordEncoder extends msgpackr_1.Encoder {
|
|
|
212
224
|
const superGetStructures = this.getStructures;
|
|
213
225
|
this.saveStructures = function (structures, isCompatible) {
|
|
214
226
|
if (this.isRocksDB) {
|
|
215
|
-
|
|
227
|
+
// transactionSync returns the callback's value on commit, but returns `undefined`
|
|
228
|
+
// when the txn was aborted (it swallows ERR_ALREADY_ABORTED). The success path here
|
|
229
|
+
// returns an explicit `true`; anything else means the shared structures were NOT
|
|
230
|
+
// durably committed (a CAS conflict → `false`, or a swallowed abort → `undefined`).
|
|
231
|
+
//
|
|
232
|
+
// We must report a non-commit as `false` (not the buggy `undefined`, which msgpackr
|
|
233
|
+
// reads as success and then writes a record referencing a structure that was never
|
|
234
|
+
// saved → later "Record id is not defined" on decode). Returning `false` makes msgpackr
|
|
235
|
+
// re-pack; paired with msgpackr 1.11.14's structures-rebuild-on-save-failure fix, the
|
|
236
|
+
// re-pack reloads the durable structures, rebuilds the transition trie, re-mints, and
|
|
237
|
+
// re-saves — so the record always references a persisted structure.
|
|
238
|
+
const committed = this.rootStore.transactionSync((txn) => {
|
|
216
239
|
const sharedStructuresKey = [Symbol.for('structures'), this.name];
|
|
217
240
|
const existingStructuresBuffer = txn.getBinarySync(sharedStructuresKey);
|
|
218
241
|
const existingStructures = existingStructuresBuffer ? this.decode(existingStructuresBuffer) : undefined;
|
|
@@ -225,8 +248,16 @@ class RecordEncoder extends msgpackr_1.Encoder {
|
|
|
225
248
|
return false;
|
|
226
249
|
}
|
|
227
250
|
txn.putSync(sharedStructuresKey, structures);
|
|
228
|
-
|
|
251
|
+
return true;
|
|
229
252
|
}, { retryOnBusy: true });
|
|
253
|
+
// Only record the structure update once the txn has actually committed. Setting it
|
|
254
|
+
// inside the callback would leave it dangling on an aborted txn and could flag a
|
|
255
|
+
// HAS_STRUCTURE_UPDATE in the audit log for a structure that was never persisted.
|
|
256
|
+
if (committed === true) {
|
|
257
|
+
this.structureUpdate = structures;
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
return false;
|
|
230
261
|
}
|
|
231
262
|
else {
|
|
232
263
|
const result = superSaveStructures.call(this, structures, isCompatible);
|
|
@@ -252,7 +283,14 @@ class RecordEncoder extends msgpackr_1.Encoder {
|
|
|
252
283
|
let nextByte = buffer[start];
|
|
253
284
|
let metadataFlags = 0;
|
|
254
285
|
try {
|
|
255
|
-
|
|
286
|
+
// The metadata/timestamp prefix is detected heuristically by the first byte. For rocksdb a
|
|
287
|
+
// local-timestamp prefix starts with 66 — but 66 (0x42) is also classic shared-structure
|
|
288
|
+
// record-id #2, so a timestamp-less classic record beginning with that id is misread as a
|
|
289
|
+
// timestamped record (8 bytes stripped → corrupt). Callers that pass a value known to have no
|
|
290
|
+
// prefix (e.g. the audit store's getValue) set options.noMetadata to skip the heuristic. Typed
|
|
291
|
+
// structs start at 0x20-0x3f and never hit this, which is why it only surfaces with classic
|
|
292
|
+
// structures (random-access fields off).
|
|
293
|
+
if (!options?.noMetadata && ((this.isRocksDB && nextByte === 66) || (nextByte < 32 && end > 2))) {
|
|
256
294
|
// record with metadata
|
|
257
295
|
// this means that the record starts with a local timestamp (that was assigned by lmdb-js).
|
|
258
296
|
// we copy it so we can decode it as float-64; we need to do it first because if structural data
|
|
@@ -346,6 +384,21 @@ class RecordEncoder extends msgpackr_1.Encoder {
|
|
|
346
384
|
}
|
|
347
385
|
}
|
|
348
386
|
exports.RecordEncoder = RecordEncoder;
|
|
387
|
+
/**
|
|
388
|
+
* Encoder for custom-index object stores (e.g. HNSW vector graphs). These hold fixed-shape internal
|
|
389
|
+
* nodes — numeric-keyed per-level connection arrays and quantized bins — that depend on random-access
|
|
390
|
+
* struct encoding and are mutated in place during graph maintenance. Keep them writing typed structs
|
|
391
|
+
* even when storage.randomAccessFields disables structs for user tables: their node shapes are
|
|
392
|
+
* controlled, so the wide/heterogeneous OOM risk that motivates opt-out doesn't apply, and classic
|
|
393
|
+
* (frozen) decoding would break the in-place graph mutation.
|
|
394
|
+
*/
|
|
395
|
+
class IndexRecordEncoder extends RecordEncoder {
|
|
396
|
+
constructor(options) {
|
|
397
|
+
options.readOnlyStructures = false;
|
|
398
|
+
super(options);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
exports.IndexRecordEncoder = IndexRecordEncoder;
|
|
349
402
|
function getTimestamp() {
|
|
350
403
|
TIMESTAMP_HOLDER[0] = TIMESTAMP_HOLDER[0] ^ 0x40; // restore the first byte, we xor to differentiate the first byte from structures
|
|
351
404
|
return TIMESTAMP_VIEW.getFloat64(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordEncoder.js","sourceRoot":"","sources":["../../resources/RecordEncoder.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyVH,wDAuJC;AAiCD,0CAMC;AACD,sCA0LC;AACD,wDAEC;AACD,kCAOC;AA3tBD,uCAAmC;AACnC,mDAQyB;AACzB,kFAAoE;AACpE,qBAAmB;AACnB,uCAOmB;AACnB,yDAAmD;AACnD,mDAAoD;AACpD,uDAAuD;AACvD,gDAA0C;AAe1C,mOAAmO;AACtN,QAAA,qBAAqB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjF,+DAA+D;AAClD,QAAA,0BAA0B,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtE,QAAA,8BAA8B,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7E,QAAA,yBAAyB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxE,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC5C,QAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9B,QAAA,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACrC,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAC3C,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACtD,QAAA,YAAY,GAAG,CAAC,CAAC;AACjB,QAAA,oBAAoB,GAAG,CAAC,CAAC;AACzB,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAC1B,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAC9B,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAC9B,QAAA,cAAc,GAAG,EAAE,CAAC;AACpB,QAAA,gBAAgB,GAAG,EAAE,CAAC;AACtB,QAAA,WAAW,GAAG,EAAE,CAAC;AACjB,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,oBAAoB,GAAG,KAAK,CAAC;AAC7B,QAAA,yBAAyB,GAAG,IAAI,CAAC;AAE9C,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AACtF,wFAAwF;AACxF,4FAA4F;AAC5F,0DAA0D;AAC7C,QAAA,QAAQ,GAAG,IAAI,OAAO,EAAc,CAAC;AAElD,IAAI,qBAAqB,GAAG,CAAC,EAC5B,sBAAsB,GAAG,CAAC,CAAC,EAC3B,qBAAqB,GAAG,CAAC,CAAC,EAC1B,yBAAyB,GAAG,CAAC,EAC7B,oBAAoB,GAAG,CAAC,CAAC,EACzB,+BAAuF,CAAC;AACzF,4IAA4I;AACjI,QAAA,YAAY,GAAiB,IAAI,CAAC;AAC7C,MAAa,aAAc,SAAQ,kBAAO;IACzC,eAAe,CAAO;IACtB,SAAS,CAAU;IACnB,IAAI,CAAS;IACb,YAAY,OAAO;QAClB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAClC,wFAAwF;QACxF,2FAA2F;QAC3F,wFAAwF;QACxF,OAAO,CAAC,gBAAgB,KAAK,GAAG,CAAC;QACjC;;;;;WAKG;QACH,MAAM,YAAY;YACjB,cAAc;gBACb,OAAO,gBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;YACpC,CAAC;YACD,YAAY;gBACX,OAAO,gBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;YACtC,CAAC;SACD;QAED,OAAO,CAAC,eAAe,GAAG,YAAY,CAAC,SAAS,CAAC;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,UAAU,MAAM,EAAE,OAAQ;YACvC,qGAAqG;YACrG,iFAAiF;YACjF,IAAI,qBAAqB,IAAI,sBAAsB,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,MAAM,SAAS,GAAG,qBAAqB,CAAC;gBACxC,IAAI,SAAS,EAAE,CAAC;oBACf,UAAU,IAAI,CAAC,CAAC,CAAC,gCAAgC;oBACjD,qBAAqB,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,QAAQ,GAAG,sBAAsB,CAAC;gBACtC,MAAM,SAAS,GAAG,qBAAqB,CAAC;gBACxC,MAAM,WAAW,GAAG,yBAAyB,CAAC;gBAC9C,MAAM,MAAM,GAAG,oBAAoB,CAAC;gBACpC,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;gBAC5D,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;oBACnB,UAAU,IAAI,CAAC,CAAC,CAAC,+BAA+B;oBAChD,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC,sCAAsC;oBACnE,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;wBACpB,UAAU,IAAI,CAAC,CAAC,CAAC,qCAAqC;wBACtD,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC,wCAAwC;wBACpE,IAAI,CAAC,CAAC,QAAQ,GAAG,sBAAc,CAAC,EAAE,CAAC;4BAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;wBACnE,CAAC;oBACF,CAAC;oBACD,IAAI,WAAW,EAAE,CAAC;wBACjB,UAAU,IAAI,CAAC,CAAC,CAAC,6BAA6B;wBAC9C,yBAAyB,GAAG,CAAC,CAAC,CAAC,0CAA0C;wBACzE,IAAI,CAAC,CAAC,QAAQ,GAAG,wBAAgB,CAAC,EAAE,CAAC;4BACpC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;wBACrE,CAAC;oBACF,CAAC;oBACD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;wBACjB,UAAU,IAAI,CAAC,CAAC,CAAC,wBAAwB;wBACzC,oBAAoB,GAAG,CAAC,CAAC,CAAC,CAAC,qCAAqC;wBAChE,IAAI,CAAC,CAAC,QAAQ,GAAG,mBAAW,CAAC,EAAE,CAAC;4BAC/B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;wBAChE,CAAC;oBACF,CAAC;oBACD,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3D,UAAU,IAAI,CAAC,GAAG,mBAAmB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,8DAA8D;wBACjH,+BAA+B,GAAG,SAAS,CAAC;oBAC7C,CAAC;gBACF,CAAC;gBACD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,+CAA+C;gBAC5H,yBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBACrF,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;gBAClC,MAAM,QAAQ,GACb,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC/G,IAAI,SAAS,EAAE,CAAC;oBACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;wBACpB,4DAA4D;wBAC5D,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACP,uFAAuF;wBACvF,6BAAqB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;wBACrC,6BAAqB,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,CAAC,CAAC;wBAC1C,OAAO,CAAC,GAAG,CAAC,6BAAqB,EAAE,QAAQ,CAAC,CAAC;oBAC9C,CAAC;oBACD,QAAQ,IAAI,CAAC,CAAC;gBACf,CAAC;gBACD,IAAI,0BAAgB;oBAAE,QAAQ,IAAI,yBAAS,CAAC;gBAC5C,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC;oBAAE,QAAQ,IAAI,iCAAyB,CAAC;gBACjG,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;oBACnB,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,CAAC,6BAAa,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,+BAA+B;oBAC/F,QAAQ,IAAI,CAAC,CAAC;oBACd,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;wBACpB,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;wBACzC,QAAQ,IAAI,CAAC,CAAC;oBACf,CAAC;oBACD,IAAI,WAAW,EAAE,CAAC;wBACjB,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAC1C,QAAQ,IAAI,CAAC,CAAC;oBACf,CAAC;oBACD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;wBACjB,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;wBACrC,QAAQ,IAAI,CAAC,CAAC;oBACf,CAAC;oBACD,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3D,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC;wBACjD,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;4BACvC,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;4BAC3C,QAAQ,IAAI,CAAC,CAAC;4BACd,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;4BACzC,QAAQ,IAAI,CAAC,CAAC;wBACf,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,OAAO,OAAO,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACP,yBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC5D,OAAO,yBAAiB,CAAC;YAC1B,CAAC;QACF,CAAC,CAAC;QACF,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC;QAChD,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,UAAU,UAAU,EAAE,YAAY;YACvD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CACpC,CAAC,GAAG,EAAE,EAAE;oBACP,MAAM,mBAAmB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClE,MAAM,wBAAwB,GAAG,GAAG,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;oBACxE,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxG,IAAI,OAAO,YAAY,IAAI,UAAU,EAAE,CAAC;wBACvC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC;4BACvC,OAAO,KAAK,CAAC;wBACd,CAAC;oBACF,CAAC;yBAAM,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;wBAC7E,OAAO,KAAK,CAAC;oBACd,CAAC;oBACD,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;oBAC7C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;gBACnC,CAAC,EACD,EAAE,WAAW,EAAE,IAAI,EAAE,CACrB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;gBACxE,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;gBAClC,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC,CAAC;QACF,IAAI,CAAC,aAAa,GAAG;YACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,mBAAmB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;gBACjE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACP,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACF,CAAC,CAAC;IACH,CAAC;IACD,MAAM,CAAC,MAAM,EAAE,OAAO;QACrB,oBAAY,GAAG,IAAI,CAAC;QACpB,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC;QACnE,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvE,uBAAuB;gBACvB,2FAA2F;gBAC3F,gGAAgG;gBAChG,2DAA2D;gBAC3D,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,IAAI,SAAS,CAAC;gBACd,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;oBAC3C,QAAQ,IAAI,CAAC,CAAC;oBACd,SAAS,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACzC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;qBAAM,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBACjB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;wBAC3C,QAAQ,IAAI,CAAC,CAAC;oBACf,CAAC;yBAAM,CAAC;wBACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;4BAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,SAAS,GAAG,YAAY,EAAE,CAAC;oBAC3B,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC7B,CAAC;gBACD,IAAI,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC;gBACxD,IAAI,QAAQ,GAAG,EAAE,EAAE,CAAC;oBACnB,IAAI,QAAQ,KAAK,6BAAa,EAAE,CAAC;wBAChC,MAAM,QAAQ,GACb,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;wBAC1G,aAAa,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAC7C,QAAQ,IAAI,CAAC,CAAC;oBACf,CAAC;yBAAM,CAAC;wBACP,aAAa,GAAG,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;wBACvD,QAAQ,IAAI,CAAC,CAAC;oBACf,CAAC;oBACD,IAAI,aAAa,GAAG,sBAAc,EAAE,CAAC;wBACpC,MAAM,QAAQ,GACb,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;wBAC1G,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBAC1C,QAAQ,IAAI,CAAC,CAAC;oBACf,CAAC;oBACD,IAAI,aAAa,GAAG,wBAAgB,EAAE,CAAC;wBACtC,mCAAmC;wBACnC,MAAM,QAAQ,GACb,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;wBAC1G,WAAW,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBAC3C,QAAQ,IAAI,CAAC,CAAC;oBACf,CAAC;oBACD,IAAI,aAAa,GAAG,mBAAW,EAAE,CAAC;wBACjC,8BAA8B;wBAC9B,MAAM,QAAQ,GACb,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;wBAC1G,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBACtC,QAAQ,IAAI,CAAC,CAAC;oBACf,CAAC;oBACD,IAAI,aAAa,GAAG,iCAAyB,EAAE,CAAC;wBAC/C,4CAA4C;wBAC5C,MAAM,QAAQ,GACb,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;wBAC1G,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACjC,mBAAmB,GAAG,EAAE,CAAC;wBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;4BAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;4BAC9C,QAAQ,IAAI,CAAC,CAAC;4BACd,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;4BAC/C,QAAQ,IAAI,CAAC,CAAC;4BACd,mBAAmB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC1D,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,MAAM,KAAK,GAAG,IAAA,4BAAkB,EAC/B,GAAG,EAAE,CACJ,OAAO,EAAE,aAAa;oBACrB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC;oBAChC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,EAChE,IAAI,CAAC,SAAS,CACd,CAAC;gBACF,oBAAY,GAAG;oBACd,SAAS;oBACT,OAAO,EAAE,SAAS;oBAClB,CAAC,gBAAQ,CAAC,EAAE,aAAa;oBACzB,SAAS;oBACT,WAAW;oBACX,MAAM;oBACN,mBAAmB;oBACnB,IAAI,EAAE,GAAG,GAAG,KAAK;oBACjB,KAAK;iBACL,CAAC;gBACF,IAAI,IAAI,CAAC,SAAS;oBAAE,OAAO,oBAAY,CAAC;gBACxC,OAAO,KAAK,CAAC;YACd,CAAC,CAAC,sBAAsB;YACxB,OAAO,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,4BAAkB,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,YAAY,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACnG,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;CACD;AAtQD,sCAsQC;AACD,SAAS,YAAY;IACpB,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,iFAAiF;IACnI,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS;IACtD,MAAM,SAAS,GAAG,KAAK,YAAY,0BAAa,CAAC;IACjD,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IACpB,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC9B,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;IACrC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;IACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;IAE3B,KAAK,CAAC,QAAQ,GAAG,UAAU,EAAE,EAAE,OAAO;QACrC,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,oBAAY,GAAG,IAAI,CAAC;QACpB,IAAI,SAAS,EAAE,CAAC;YACf,OAAO,IAAA,cAAI,EACV,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC,EAC1F,CAAC,KAAK,EAAE,EAAE;gBACT,IAAI,KAAK,EAAE,CAAC;oBACX,IAAI,KAAK,CAAC,gBAAQ,CAAC,EAAE,CAAC;wBACrB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,gBAAQ,CAAC,CAAC;wBACtC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;;wBAAM,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBAChC,CAAC;;oBAAM,OAAO,KAAK,CAAC;YACrB,CAAC,CACD,CAAC;QACH,CAAC;aAAM,CAAC;YACP,IAAI,KAAK,GAAU,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,oBAAY,EAAE,CAAC;gBAClB,KAAK,CAAC,aAAa,GAAG,oBAAY,CAAC,gBAAQ,CAAC,CAAC;gBAC7C,KAAK,CAAC,SAAS,GAAG,oBAAY,CAAC,SAAS,CAAC;gBACzC,KAAK,CAAC,WAAW,GAAG,oBAAY,CAAC,WAAW,CAAC;gBAC7C,KAAK,CAAC,MAAM,GAAG,oBAAY,CAAC,MAAM,CAAC;gBACnC,KAAK,CAAC,mBAAmB,GAAG,oBAAY,CAAC,mBAAmB,CAAC;gBAC7D,KAAK,CAAC,IAAI,GAAG,oBAAY,CAAC,IAAI,CAAC;gBAC/B,IAAI,oBAAY,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;oBACjC,KAAK,CAAC,SAAS,GAAG,oBAAY,CAAC,SAAS,CAAC;gBAC1C,CAAC;gBACD,IAAI,SAAS;oBAAE,KAAK,CAAC,OAAO,GAAG,oBAAY,CAAC,SAAS,CAAC;gBACtD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACjB,gBAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,uCAAuC;gBAC1E,CAAC;gBACD,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,oFAAoF;QACpF,SAAS,SAAS,CAAC,KAAK;YACvB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;oBACxC,wHAAwH;oBACxH,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;oBAClC,KAAK,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;oBAC9D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC3C,CAAC;gBACD,gBAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,uCAAuC;YAC1E,CAAC;YACD,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC,CAAC;IAEF,KAAK,CAAC,OAAO,GAAG,UAAU,EAAE,EAAE,OAAO;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;QAC3B,IAAI,KAAK,EAAE,CAAC;YACX,gBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IACF,KAAK,CAAC,GAAG,GAAG,UAAU,EAAE,EAAE,OAAO;QAChC,OAAO,IAAA,cAAI,EAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;YACtE,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC;YAC3B,IAAI,KAAK,EAAE,CAAC;gBACX,gBAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,4CAA4C;IAC5C,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;IACrC,KAAK,CAAC,QAAQ,GAAG,UAAU,OAAO;QACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,SAAS;YAAE,OAAO,QAAQ,CAAC;QACnE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,sDAAsD;YACtD,IAAI,SAAS,EAAE,CAAC;gBACf,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,gBAAQ,CAAC,EAAE,CAAC;oBAC7B,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAQ,CAAC,CAAC;oBAC5C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;YACF,CAAC;iBAAM,IAAI,oBAAY,EAAE,CAAC;gBACzB,KAAK,CAAC,aAAa,GAAG,oBAAY,CAAC,gBAAQ,CAAC,CAAC;gBAC7C,KAAK,CAAC,SAAS,GAAG,oBAAY,CAAC,SAAS,CAAC;gBACzC,IAAI,SAAS;oBAAE,KAAK,CAAC,OAAO,GAAG,oBAAY,CAAC,SAAS,CAAC;gBACtD,KAAK,CAAC,WAAW,GAAG,oBAAY,CAAC,WAAW,CAAC;gBAC7C,KAAK,CAAC,MAAM,GAAG,oBAAY,CAAC,MAAM,CAAC;gBACnC,KAAK,CAAC,mBAAmB,GAAG,oBAAY,CAAC,mBAAmB,CAAC;gBAC7D,KAAK,CAAC,IAAI,GAAG,oBAAY,CAAC,IAAI,CAAC;gBAC/B,IAAI,oBAAY,CAAC,SAAS,IAAI,CAAC;oBAAE,KAAK,CAAC,SAAS,GAAG,oBAAY,CAAC,SAAS,CAAC;gBAC1E,oBAAY,GAAG,IAAI,CAAC;YACrB,CAAC;YACD,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;oBACxC,wHAAwH;oBACxH,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;oBAClC,KAAK,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;oBAC9D,KAAK,MAAM,GAAG,IAAI,aAAa;wBAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBACxE,CAAC;YACF,CAAC;YACD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,gCAAgC;QAChC,MAAM,GAAG,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;YAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YACpB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACtB,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG;gBACnB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBACzB,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrC,CAAC;gBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG;gBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,6EAA6E;gBACjG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC7C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;wBACnC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;4BAC3C,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;wBAC5B,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC,CAAC;YACF,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACrC,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AACD,MAAM,WAAW,GAAmB,EAAE,CAAC;AACvC,WAAW,CAAC,GAAG,EAAE;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW;YAAE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aACjE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAI,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC;wBACxB,YAAY,CAAC,KAAK,CACjB,6FAA6F,EAC7F,GAAG,CACH,CAAC;wBACF,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;wBAC3B,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;wBACzB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;wBAClB,IAAI,CAAC;4BACJ,GAAG,CAAC,IAAI,EAAE,CAAC;wBACZ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BAChB,YAAY,CAAC,IAAI,CAAC,4DAA4D,EAAE,KAAK,CAAC,CAAC;wBACxF,CAAC;oBACF,CAAC;;wBACA,YAAY,CAAC,KAAK,CACjB,yHAAyH,EACzH,GAAG,CACH,CAAC;gBACJ,CAAC;gBACD,GAAG,CAAC,SAAS,EAAE,CAAC;YACjB,CAAC;;gBAAM,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAC1B,CAAC;IACF,CAAC;AACF,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;AAClB,SAAgB,eAAe,CAAC,SAAiB,EAAE,QAAgB,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC;IAChH,qBAAqB,GAAG,SAAS,CAAC;IAClC,sBAAsB,GAAG,QAAQ,CAAC;IAClC,qBAAqB,GAAG,SAAS,CAAC;IAClC,oBAAoB,GAAG,MAAM,CAAC;IAC9B,yBAAyB,GAAG,WAAW,CAAC;AACzC,CAAC;AACD,SAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU;IACvD,OAAO,UACN,EAAE,EACF,MAAM,EACN,aAAa,EACb,UAAU,EACV,cAAc,GAAG,CAAC,CAAC,EAAE,iEAAiE;IACtF,KAAe,EAAE,iFAAiF;IAClG,OAAQ,EACR,IAAI,GAAG,KAAK,EACZ,aAAuB,EAAE,uFAAuF;IAChH,WAAiB;QAEjB,MAAM,SAAS,GAAG,KAAK,YAAY,0BAAa,CAAC;QACjD,oDAAoD;QACpD,IAAI,SAAS,EAAE,CAAC;YACf,2EAA2E;YAC3E,qBAAqB,GAAG,UAAU,CAAC;QACpC,CAAC;aAAM,IAAI,KAAK,IAAI,IAAI;YACvB,4DAA4D;YAC5D,qBAAqB,GAAG,oBAAY,CAAC;aACjC,IAAI,aAAa;YACrB,2CAA2C;YAC3C,qBAAqB,GAAG,aAAa,EAAE,SAAS;gBAC/C,CAAC,CAAC,iCAAyB,GAAG,iCAAyB;gBACvD,CAAC,CAAC,oBAAY,CAAC;;YAEhB,qBAAqB,GAAG,KAAK,CAAC,wBAAwB;gBACrD,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,mFAAmF;oBAC7G,CAAC,CAAC,iCAAyB,GAAG,MAAM;oBACpC,CAAC,CAAC,4BAAoB,GAAG,MAAM,CAAC,2BAA2B;gBAC5D,CAAC,CAAC,oBAAY,CAAC;QACjB,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,IAAI,SAAS,IAAI,CAAC;YAAE,cAAc,IAAI,sBAAc,CAAC;QACrD,sBAAsB,GAAG,cAAc,CAAC;QACxC,qBAAqB,GAAG,SAAS,CAAC;QAClC,MAAM,UAAU,GAIZ;YACH,OAAO,EAAE,UAAU;YACnB,eAAe,EAAE,qBAAqB,GAAG,CAAC;YAC1C,WAAW,EAAE,OAAO,EAAE,WAAW;SACjC,CAAC;QACF,IAAI,SAAS,CAAC;QACd,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC;YACJ,IAAI,mBAAmB,GAAG,aAAa,EAAE,WAAW,CAAC;YACrD,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,CAAC,CAAC,4CAA4C;YACtF,IAAI,WAAW,EAAE,CAAC;gBACjB,yBAAyB,GAAG,WAAW,CAAC;gBACxC,sBAAsB,IAAI,wBAAgB,CAAC;gBAC3C,YAAY,IAAI,wCAAwB,CAAC;YAC1C,CAAC;;gBAAM,yBAAyB,GAAG,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;YAC/B,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;gBACjB,oBAAoB,GAAG,MAAM,CAAC;gBAC9B,sBAAsB,IAAI,mBAAW,CAAC;YACvC,CAAC;;gBAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC;YACjC,MAAM,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,CAAC;YACzD,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,+BAA+B,GAAG,mBAAmB,CAAC;gBACtD,sBAAsB,IAAI,iCAAyB,CAAC;YACrD,CAAC;;gBAAM,+BAA+B,GAAG,SAAS,CAAC;YACnD,MAAM,2BAA2B,GAAG,aAAa,EAAE,mBAAmB,CAAC;YACvE,IAAI,2BAA2B,IAAI,2BAA2B,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3E,YAAY,IAAI,yCAA+B,CAAC;YACjD,CAAC;YACD,IAAI,mBAAmB,KAAK,WAAW,EAAE,CAAC;gBACzC,YAAY,IAAI,yCAAyB,CAAC;gBAC1C,IAAI,CAAC,mBAAmB;oBAAE,mBAAmB,GAAG,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,cAAc,GAAG,sBAAc;gBAAE,YAAY,IAAI,4CAA4B,CAAC,CAAC,oDAAoD;YACvI,IAAI,OAAO,EAAE,oBAAoB;gBAAE,YAAY,IAAI,yCAAyB,CAAC;YAC7E,sFAAsF;YACtF,IAAI,aAAa;gBAAE,UAAU,CAAC,SAAS,GAAG,SAAS,GAAG,aAAa,EAAE,OAAO,IAAI,IAAI,CAAC;YACrF,IAAI,aAAa,IAAI,aAAa,CAAC,KAAK,IAAI,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,aAAa,GAAG,yBAAS,EAAE,CAAC;gBAC3G,kFAAkF;gBAClF,6EAA6E;gBAC7E,+EAA+E;gBAC/E,sFAAsF;gBACtF,kDAAkD;gBAClD,IAAI,eAAwC,CAAC;gBAC7C,IAAI,MAAM,EAAE,CAAC;oBACZ,IAAA,2BAAiB,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;wBAClC,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAC;wBAC/B,IAAI,MAAM;4BAAE,CAAC,eAAe,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACzD,CAAC,CAAC,CAAC;gBACJ,CAAC;gBACD,IAAA,6BAAmB,EAAC,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,MAAqB,CAAC;YAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,GAAG,IAAA,iCAAuB,EAC/B,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAC7F,EAAE,EACF,KAAK,CAAC,SAAS,CACf,CAAC;gBACF,IAAI,0BAAgB,EAAE,CAAC;oBACtB,YAAY,IAAI,yBAAS,CAAC;gBAC3B,CAAC;YACF,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC;gBAC5F,IAAI,WAAW,EAAE,CAAC;oBACjB,IAAA,iCAAuB,EAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBACtF,IAAI,0BAAgB,EAAE,CAAC;wBACtB,YAAY,IAAI,yBAAS,CAAC;oBAC3B,CAAC;gBACF,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC;oBACpC,YAAY,IAAI,4BAAoB,CAAC;oBACrC,KAAK,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;gBACtC,CAAC;gBACD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;gBACrG,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,IAAA,gCAAa,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC;gBAC/C,IAAI,aAAa,IAAI,aAAa,EAAE,SAAS,EAAE,CAAC;oBAC/C,MAAM,WAAW,GAAG,aAAa,EAAE,SAAS,CAAC;oBAC7C,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;oBAChE,IAAI,cAAc,EAAE,CAAC;wBACpB,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC;wBACvD,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CACjD,WAAW,EACX;4BACC,OAAO,EAAE,UAAU;4BACnB,OAAO;4BACP,QAAQ,EAAE,EAAE;4BACZ,eAAe;4BACf,MAAM;4BACN,IAAI,EAAE,QAAQ;4BACd,IAAI;4BACJ,aAAa,EAAE,yBAAiB;4BAChC,YAAY;4BACZ,WAAW;4BACX,mBAAmB;4BACnB,SAAS;4BACT,gBAAgB;4BAChB,2BAA2B;yBAC3B,EACD,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAC7E,CAAC;wBACF,OAAO,MAAM,CAAC;oBACf,CAAC;gBACF,CAAC;gBACD,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CACjD,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,iCAAyB,CAAC,CAAC,CAAC,kCAA0B,EAC7E;oBACC,OAAO,EAAE,UAAU;oBACnB,OAAO;oBACP,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,KAAK,YAAY,0BAAa,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3G,MAAM;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI;oBACJ,aAAa,EAAE,yBAAiB;oBAChC,YAAY;oBACZ,WAAW;oBACX,mBAAmB;oBACnB,SAAS;oBACT,gBAAgB;oBAChB,oBAAoB,EAAE,OAAO,EAAE,oBAAoB;oBACnD,2BAA2B;iBAC3B,EACD;oBACC,wFAAwF;oBACxF,iLAAiL;oBACjL,eAAe,EAAE,IAAI;oBACrB,SAAS;oBACT,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM;oBACN,SAAS;iBACT,CACD,CAAC;YACH,CAAC;YACD,IAAI,OAAO,EAAE,YAAY,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5D,IAAA,uBAAY,EAAC,yBAAiB,EAAE,MAAM,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACtF,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,OAAO,IAAI,OAAO,GAAG,EAAE,GAAG,YAAY,GAAG,UAAU,CAAC;YAC1D,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC,CAAC;AACH,CAAC;AACD,SAAgB,sBAAsB,CAAC,IAA4D;IAClG,+BAA+B,GAAG,IAAI,CAAC;AACxC,CAAC;AACD,SAAgB,WAAW,CAAC,KAAU,EAAE,KAAU,EAAE,OAAa;IAChE,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,aAAa,GAAG,yBAAS,EAAE,CAAC;QACpD,4DAA4D;QAC5D,IAAA,6BAAmB,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC"}
|
|
1
|
+
{"version":3,"file":"RecordEncoder.js","sourceRoot":"","sources":["../../resources/RecordEncoder.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/Table.js
CHANGED
|
@@ -88,6 +88,16 @@ const RECORD_PRUNING_INTERVAL = 60000; // one minute
|
|
|
88
88
|
envMngr.initSync();
|
|
89
89
|
const LMDB_PREFETCH_WRITES = envMngr.get(hdbTerms_ts_1.CONFIG_PARAMS.STORAGE_PREFETCHWRITES);
|
|
90
90
|
const LOCK_TIMEOUT = 10000;
|
|
91
|
+
// True only for frozen plain/record objects (the immutable decoded records). Excludes Buffers,
|
|
92
|
+
// TypedArrays, ArrayBuffers and primitives/null, which must not be shallow-copied via spread (that
|
|
93
|
+
// would corrupt binary values). Used to decide when to copy-on-mutate before stamping a record.
|
|
94
|
+
function isFrozenRecordObject(value) {
|
|
95
|
+
return (value !== null &&
|
|
96
|
+
typeof value === 'object' &&
|
|
97
|
+
!ArrayBuffer.isView(value) &&
|
|
98
|
+
!(value instanceof ArrayBuffer) &&
|
|
99
|
+
Object.isFrozen(value));
|
|
100
|
+
}
|
|
91
101
|
exports.INVALIDATED = 1;
|
|
92
102
|
exports.EVICTED = 8; // note that 2 is reserved for timestamps
|
|
93
103
|
const TEST_WRITE_KEY_BUFFER = Buffer.allocUnsafeSlow(8192);
|
|
@@ -1530,6 +1540,13 @@ function makeTable(options) {
|
|
|
1530
1540
|
if (fullUpdate || (recordUpdate && (0, tracked_ts_1.hasChanges)(this.#changes === recordUpdate ? this : recordUpdate))) {
|
|
1531
1541
|
if (!context?.source) {
|
|
1532
1542
|
transaction.checkOverloaded();
|
|
1543
|
+
// Records are intentionally immutable: decoded records are frozen (and 5.2 record
|
|
1544
|
+
// caching relies on it), so mutating in place would corrupt cached/shared state.
|
|
1545
|
+
// validate() coerces values and we stamp created/updated times + the primary key
|
|
1546
|
+
// below, so copy-on-mutate when recordUpdate is frozen (e.g. a record decoded during
|
|
1547
|
+
// log replay) instead of writing through the frozen object.
|
|
1548
|
+
if (isFrozenRecordObject(recordUpdate))
|
|
1549
|
+
recordUpdate = { ...recordUpdate };
|
|
1533
1550
|
this.validate(recordUpdate, !fullUpdate);
|
|
1534
1551
|
if (updatedTimeProperty) {
|
|
1535
1552
|
recordUpdate[updatedTimeProperty.name] =
|
|
@@ -4071,6 +4088,11 @@ function makeTable(options) {
|
|
|
4071
4088
|
}
|
|
4072
4089
|
if (typeof updatedRecord.toJSON === 'function')
|
|
4073
4090
|
updatedRecord = updatedRecord.toJSON();
|
|
4091
|
+
// updatedRecord may still be a frozen record (e.g. a reused existingRecord); copy-on-mutate
|
|
4092
|
+
// before stamping the primary key below (records are immutable — 5.2 record caching relies
|
|
4093
|
+
// on it — so we must not write through the frozen object).
|
|
4094
|
+
if (isFrozenRecordObject(updatedRecord))
|
|
4095
|
+
updatedRecord = { ...updatedRecord };
|
|
4074
4096
|
if (primaryKey && updatedRecord[primaryKey] !== id)
|
|
4075
4097
|
updatedRecord[primaryKey] = id;
|
|
4076
4098
|
}
|