@powersync/service-module-mongodb-storage 0.18.2 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/dist/migrations/db/migrations/1782950400000-checkpoint-requested-at-index.d.ts +3 -0
- package/dist/migrations/db/migrations/1782950400000-checkpoint-requested-at-index.js +41 -0
- package/dist/migrations/db/migrations/1782950400000-checkpoint-requested-at-index.js.map +1 -0
- package/dist/storage/MongoBucketStorage.d.ts +5 -1
- package/dist/storage/MongoBucketStorage.js +5 -1
- package/dist/storage/MongoBucketStorage.js.map +1 -1
- package/dist/storage/implementation/MongoBucketBatch.d.ts +3 -0
- package/dist/storage/implementation/MongoBucketBatch.js.map +1 -1
- package/dist/storage/implementation/MongoChecksums.d.ts +2 -0
- package/dist/storage/implementation/MongoChecksums.js +3 -2
- package/dist/storage/implementation/MongoChecksums.js.map +1 -1
- package/dist/storage/implementation/MongoCompactor.d.ts +15 -19
- package/dist/storage/implementation/MongoCompactor.js +68 -260
- package/dist/storage/implementation/MongoCompactor.js.map +1 -1
- package/dist/storage/implementation/MongoStorageProvider.js +26 -3
- package/dist/storage/implementation/MongoStorageProvider.js.map +1 -1
- package/dist/storage/implementation/MongoSyncBucketStorage.d.ts +12 -5
- package/dist/storage/implementation/MongoSyncBucketStorage.js +25 -14
- package/dist/storage/implementation/MongoSyncBucketStorage.js.map +1 -1
- package/dist/storage/implementation/MongoWriteCheckpointAPI.d.ts +2 -1
- package/dist/storage/implementation/MongoWriteCheckpointAPI.js +146 -34
- package/dist/storage/implementation/MongoWriteCheckpointAPI.js.map +1 -1
- package/dist/storage/implementation/common/MongoSyncBucketStorageCheckpoint.d.ts +2 -0
- package/dist/storage/implementation/common/PersistedBatch.d.ts +6 -0
- package/dist/storage/implementation/common/PersistedBatch.js +15 -8
- package/dist/storage/implementation/common/PersistedBatch.js.map +1 -1
- package/dist/storage/implementation/models.d.ts +16 -0
- package/dist/storage/implementation/models.js.map +1 -1
- package/dist/storage/implementation/v1/MongoCompactorV1.d.ts +11 -2
- package/dist/storage/implementation/v1/MongoCompactorV1.js +250 -1
- package/dist/storage/implementation/v1/MongoCompactorV1.js.map +1 -1
- package/dist/storage/implementation/v1/MongoSyncBucketStorageV1.js +20 -11
- package/dist/storage/implementation/v1/MongoSyncBucketStorageV1.js.map +1 -1
- package/dist/storage/implementation/v1/SingleBucketStoreV1.d.ts +9 -10
- package/dist/storage/implementation/v1/SingleBucketStoreV1.js +2 -8
- package/dist/storage/implementation/v1/SingleBucketStoreV1.js.map +1 -1
- package/dist/storage/implementation/v3/BucketDataContextV3.d.ts +13 -0
- package/dist/storage/implementation/v3/BucketDataContextV3.js +23 -0
- package/dist/storage/implementation/v3/BucketDataContextV3.js.map +1 -0
- package/dist/storage/implementation/v3/MongoBucketBatchV3.js +3 -1
- package/dist/storage/implementation/v3/MongoBucketBatchV3.js.map +1 -1
- package/dist/storage/implementation/v3/MongoChecksumsV3.d.ts +1 -0
- package/dist/storage/implementation/v3/MongoChecksumsV3.js +59 -103
- package/dist/storage/implementation/v3/MongoChecksumsV3.js.map +1 -1
- package/dist/storage/implementation/v3/MongoCompactorV3.d.ts +23 -2
- package/dist/storage/implementation/v3/MongoCompactorV3.js +354 -219
- package/dist/storage/implementation/v3/MongoCompactorV3.js.map +1 -1
- package/dist/storage/implementation/v3/MongoStoppedSyncConfigCleanup.d.ts +5 -0
- package/dist/storage/implementation/v3/MongoStoppedSyncConfigCleanup.js +12 -11
- package/dist/storage/implementation/v3/MongoStoppedSyncConfigCleanup.js.map +1 -1
- package/dist/storage/implementation/v3/MongoSyncBucketStorageV3.d.ts +5 -3
- package/dist/storage/implementation/v3/MongoSyncBucketStorageV3.js +109 -106
- package/dist/storage/implementation/v3/MongoSyncBucketStorageV3.js.map +1 -1
- package/dist/storage/implementation/v3/PersistedBatchV3.d.ts +5 -2
- package/dist/storage/implementation/v3/PersistedBatchV3.js +53 -15
- package/dist/storage/implementation/v3/PersistedBatchV3.js.map +1 -1
- package/dist/storage/implementation/v3/VersionedPowerSyncMongoV3.d.ts +2 -1
- package/dist/storage/implementation/v3/VersionedPowerSyncMongoV3.js +3 -0
- package/dist/storage/implementation/v3/VersionedPowerSyncMongoV3.js.map +1 -1
- package/dist/storage/implementation/v3/bucket-format.d.ts +10 -1
- package/dist/storage/implementation/v3/bucket-format.js +28 -9
- package/dist/storage/implementation/v3/bucket-format.js.map +1 -1
- package/dist/storage/implementation/v3/chunking.js +3 -1
- package/dist/storage/implementation/v3/chunking.js.map +1 -1
- package/dist/storage/implementation/v3/models.d.ts +38 -1
- package/dist/storage/implementation/v3/models.js.map +1 -1
- package/dist/storage/implementation/v3/object-storage/BucketDataObjectStorage.d.ts +21 -0
- package/dist/storage/implementation/v3/object-storage/BucketDataObjectStorage.js +44 -0
- package/dist/storage/implementation/v3/object-storage/BucketDataObjectStorage.js.map +1 -0
- package/dist/storage/implementation/v3/object-storage/ObjectStorage.d.ts +30 -0
- package/dist/storage/implementation/v3/object-storage/ObjectStorage.js +12 -0
- package/dist/storage/implementation/v3/object-storage/ObjectStorage.js.map +1 -0
- package/dist/storage/implementation/v3/object-storage/ObjectStorageLifecycle.d.ts +70 -0
- package/dist/storage/implementation/v3/object-storage/ObjectStorageLifecycle.js +146 -0
- package/dist/storage/implementation/v3/object-storage/ObjectStorageLifecycle.js.map +1 -0
- package/dist/storage/implementation/v3/object-storage/S3ObjectStorage.d.ts +42 -0
- package/dist/storage/implementation/v3/object-storage/S3ObjectStorage.js +285 -0
- package/dist/storage/implementation/v3/object-storage/S3ObjectStorage.js.map +1 -0
- package/dist/types/types.d.ts +35 -0
- package/dist/types/types.js +35 -1
- package/dist/types/types.js.map +1 -1
- package/dist/utils/test-utils.js +3 -1
- package/dist/utils/test-utils.js.map +1 -1
- package/dist/utils/util.d.ts +8 -1
- package/dist/utils/util.js +125 -2
- package/dist/utils/util.js.map +1 -1
- package/package.json +10 -7
- package/src/migrations/db/migrations/1782950400000-checkpoint-requested-at-index.ts +55 -0
- package/src/storage/MongoBucketStorage.ts +10 -2
- package/src/storage/implementation/MongoBucketBatch.ts +4 -0
- package/src/storage/implementation/MongoChecksums.ts +5 -2
- package/src/storage/implementation/MongoCompactor.ts +90 -314
- package/src/storage/implementation/MongoStorageProvider.ts +32 -3
- package/src/storage/implementation/MongoSyncBucketStorage.ts +34 -24
- package/src/storage/implementation/MongoWriteCheckpointAPI.ts +164 -37
- package/src/storage/implementation/common/MongoSyncBucketStorageCheckpoint.ts +2 -0
- package/src/storage/implementation/common/PersistedBatch.ts +22 -10
- package/src/storage/implementation/models.ts +16 -0
- package/src/storage/implementation/v1/MongoCompactorV1.ts +292 -8
- package/src/storage/implementation/v1/MongoSyncBucketStorageV1.ts +54 -40
- package/src/storage/implementation/v1/SingleBucketStoreV1.ts +18 -27
- package/src/storage/implementation/v3/BucketDataContextV3.ts +32 -0
- package/src/storage/implementation/v3/MongoBucketBatchV3.ts +3 -1
- package/src/storage/implementation/v3/MongoChecksumsV3.ts +75 -105
- package/src/storage/implementation/v3/MongoCompactorV3.ts +456 -258
- package/src/storage/implementation/v3/MongoStoppedSyncConfigCleanup.ts +21 -19
- package/src/storage/implementation/v3/MongoSyncBucketStorageV3.ts +123 -126
- package/src/storage/implementation/v3/PersistedBatchV3.ts +69 -16
- package/src/storage/implementation/v3/VersionedPowerSyncMongoV3.ts +5 -0
- package/src/storage/implementation/v3/bucket-format.ts +36 -9
- package/src/storage/implementation/v3/chunking.ts +3 -1
- package/src/storage/implementation/v3/models.ts +40 -1
- package/src/storage/implementation/v3/object-storage/BucketDataObjectStorage.ts +54 -0
- package/src/storage/implementation/v3/object-storage/ObjectStorage.ts +29 -0
- package/src/storage/implementation/v3/object-storage/ObjectStorageLifecycle.ts +171 -0
- package/src/storage/implementation/v3/object-storage/S3ObjectStorage.ts +343 -0
- package/src/types/types.ts +42 -1
- package/src/utils/test-utils.ts +3 -1
- package/src/utils/util.ts +182 -4
- package/test/src/__snapshots__/storage_sync.test.ts.snap +1 -583
- package/test/src/cleanup-stopped-sync-configs.test.ts +24 -1
- package/test/src/helpers/MemoryObjectStorage.ts +53 -0
- package/test/src/helpers/s3TestFactory.ts +69 -0
- package/test/src/object_storage_lifecycle.test.ts +59 -0
- package/test/src/setup.ts +6 -1
- package/test/src/storage.test.ts +216 -2
- package/test/src/storage_compacting.test.ts +176 -187
- package/test/src/storage_object_storage_inline_threshold.test.ts +116 -0
- package/test/src/storage_s3_checksums.test.ts +191 -0
- package/test/src/storage_s3_compaction_lifecycle.test.ts +417 -0
- package/test/src/storage_s3_reading.test.ts +526 -0
- package/test/src/storage_s3_writing.test.ts +135 -0
- package/test/src/storage_sync.test.ts +95 -5
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/storage/implementation/common/SingleBucketStore.d.ts +0 -54
- package/dist/storage/implementation/common/SingleBucketStore.js +0 -3
- package/dist/storage/implementation/common/SingleBucketStore.js.map +0 -1
- package/dist/storage/implementation/v3/SingleBucketStoreV3.d.ts +0 -18
- package/dist/storage/implementation/v3/SingleBucketStoreV3.js +0 -84
- package/dist/storage/implementation/v3/SingleBucketStoreV3.js.map +0 -1
- package/src/storage/implementation/common/SingleBucketStore.ts +0 -63
- package/src/storage/implementation/v3/SingleBucketStoreV3.ts +0 -108
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MongoCompactorV3.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoCompactorV3.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MongoCompactorV3.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoCompactorV3.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import { Logger } from '@powersync/lib-services-framework';
|
|
2
2
|
import { storage } from '@powersync/service-core';
|
|
3
3
|
import { VersionedPowerSyncMongoV3 } from './VersionedPowerSyncMongoV3.js';
|
|
4
|
+
import { ObjectStorage } from './object-storage/ObjectStorage.js';
|
|
4
5
|
export interface MongoStoppedSyncConfigCleanupOptions extends storage.CleanupStoppedSyncConfigsOptions {
|
|
5
6
|
replicationStreamId: number;
|
|
6
7
|
db: VersionedPowerSyncMongoV3;
|
|
7
8
|
logger: Logger;
|
|
9
|
+
clearBatchThrottleRate: number;
|
|
10
|
+
objectStorage?: ObjectStorage;
|
|
8
11
|
}
|
|
9
12
|
export declare class MongoStoppedSyncConfigCleanup {
|
|
10
13
|
private readonly db;
|
|
11
14
|
private readonly replicationStreamId;
|
|
12
15
|
private readonly signal;
|
|
13
16
|
private readonly logger;
|
|
17
|
+
private readonly objectStorage;
|
|
14
18
|
private readonly defaultSchema;
|
|
15
19
|
private readonly sourceConnectionTag;
|
|
20
|
+
private readonly clearBatchThrottleRate;
|
|
16
21
|
constructor(options: MongoStoppedSyncConfigCleanupOptions);
|
|
17
22
|
run(): Promise<storage.CleanupStoppedSyncConfigsResult>;
|
|
18
23
|
private loadSyncConfigDefinitions;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as lib_mongo from '@powersync/lib-service-mongodb';
|
|
2
2
|
import { ReplicationAbortedError } from '@powersync/lib-services-framework';
|
|
3
3
|
import { SingleSyncConfigBucketDefinitionMapping, storage } from '@powersync/service-core';
|
|
4
|
-
import {
|
|
4
|
+
import { clearCollectionInIdRanges, idPrefixFilter } from '../../../utils/util.js';
|
|
5
|
+
import { ObjectStorageLifecycle } from './object-storage/ObjectStorageLifecycle.js';
|
|
5
6
|
const LIVE_STATES = new Set([
|
|
6
7
|
storage.SyncRuleState.ACTIVE,
|
|
7
8
|
storage.SyncRuleState.PROCESSING,
|
|
@@ -21,15 +22,19 @@ export class MongoStoppedSyncConfigCleanup {
|
|
|
21
22
|
replicationStreamId;
|
|
22
23
|
signal;
|
|
23
24
|
logger;
|
|
25
|
+
objectStorage;
|
|
24
26
|
defaultSchema;
|
|
25
27
|
sourceConnectionTag;
|
|
28
|
+
clearBatchThrottleRate;
|
|
26
29
|
constructor(options) {
|
|
27
30
|
this.db = options.db;
|
|
28
31
|
this.replicationStreamId = options.replicationStreamId;
|
|
29
32
|
this.signal = options.signal;
|
|
30
33
|
this.logger = options.logger;
|
|
34
|
+
this.objectStorage = options.objectStorage;
|
|
31
35
|
this.defaultSchema = options.defaultSchema;
|
|
32
36
|
this.sourceConnectionTag = options.sourceConnectionTag;
|
|
37
|
+
this.clearBatchThrottleRate = options.clearBatchThrottleRate;
|
|
33
38
|
}
|
|
34
39
|
async run() {
|
|
35
40
|
this.throwIfAborted();
|
|
@@ -260,9 +265,13 @@ export class MongoStoppedSyncConfigCleanup {
|
|
|
260
265
|
return { $or: clauses };
|
|
261
266
|
}
|
|
262
267
|
async dropBucketDataCollections(definitionIds) {
|
|
268
|
+
const lifecycle = this.objectStorage
|
|
269
|
+
? new ObjectStorageLifecycle(this.db, this.replicationStreamId, this.objectStorage)
|
|
270
|
+
: null;
|
|
263
271
|
for (const definitionId of definitionIds) {
|
|
264
272
|
this.throwIfAborted();
|
|
265
273
|
await this.dropCollection(this.db.bucketData(this.replicationStreamId, definitionId));
|
|
274
|
+
await lifecycle?.deletePrefix(lifecycle.definitionPrefix(definitionId), { signal: this.signal });
|
|
266
275
|
}
|
|
267
276
|
return definitionIds.length;
|
|
268
277
|
}
|
|
@@ -281,17 +290,9 @@ export class MongoStoppedSyncConfigCleanup {
|
|
|
281
290
|
let deletedCount = 0;
|
|
282
291
|
for (const definitionId of definitionIds) {
|
|
283
292
|
this.throwIfAborted();
|
|
284
|
-
|
|
293
|
+
deletedCount += await clearCollectionInIdRanges(this.logger, 'bucket state', collection, {
|
|
285
294
|
_id: idPrefixFilter({ d: definitionId }, ['b'])
|
|
286
|
-
},
|
|
287
|
-
signal: this.signal,
|
|
288
|
-
abortMessage: 'Aborted stopped sync config cleanup',
|
|
289
|
-
retryDelayMs: lib_mongo.db.MONGO_CLEAR_OPERATION_TIMEOUT_MS / 5,
|
|
290
|
-
onRetry: () => {
|
|
291
|
-
this.logger.info(`Cleared batch of bucket state in ${lib_mongo.db.MONGO_CLEAR_OPERATION_TIMEOUT_MS}ms, continuing...`);
|
|
292
|
-
}
|
|
293
|
-
});
|
|
294
|
-
deletedCount += result.deletedCount;
|
|
295
|
+
}, this.signal, this.clearBatchThrottleRate);
|
|
295
296
|
}
|
|
296
297
|
return deletedCount;
|
|
297
298
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MongoStoppedSyncConfigCleanup.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoStoppedSyncConfigCleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAU,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,uCAAuC,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG3F,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAWtF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAwB;IACjD,OAAO,CAAC,aAAa,CAAC,MAAM;IAC5B,OAAO,CAAC,aAAa,CAAC,UAAU;IAChC,OAAO,CAAC,aAAa,CAAC,OAAO;CAC9B,CAAC,CAAC;AAEH,MAAM,YAAY,GAA4C;IAC5D,yBAAyB,EAAE,CAAC;IAC5B,4BAA4B,EAAE,CAAC;IAC/B,gCAAgC,EAAE,CAAC;IACnC,2BAA2B,EAAE,CAAC;IAC9B,8BAA8B,EAAE,CAAC;IACjC,mBAAmB,EAAE,CAAC;IACtB,mBAAmB,EAAE,CAAC;CACvB,CAAC;AAQF,MAAM,OAAO,6BAA6B;IACvB,EAAE,CAA4B;IAC9B,mBAAmB,CAAS;IAC5B,MAAM,CAA0B;IAChC,MAAM,CAAS;IACf,aAAa,CAAS;IACtB,mBAAmB,CAAS;IAE7C,YAAY,OAA6C;QACvD,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAC1C,EAAE,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE,EACjC,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CACpC,CAAC;QACF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtG,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAClG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,yBAAyB,GAAG,UAAU,CAC1C,iBAAiB,CAAC,mBAAmB,EACrC,cAAc,CAAC,mBAAmB,CACnC,CAAC;QACF,MAAM,uBAAuB,GAAG,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAElH,MAAM,MAAM,GAA4C;YACtD,GAAG,YAAY;SAChB,CAAC;QAEF,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,CAAC,6BAA6B,CACtC,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,MAAM,CACP,CAAC;YACF,MAAM,CAAC,4BAA4B,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,CAAC;YACtG,MAAM,CAAC,2BAA2B,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,yBAAyB,CAAC,CAAC;YACtG,MAAM,CAAC,gCAAgC,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,uBAAuB,CAAC,CAAC;QAC9G,CAAC;QAED,4FAA4F;QAC5F,yFAAyF;QACzF,6FAA6F;QAC7F,MAAM,IAAI,CAAC,4BAA4B,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAEhE,MAAM,CAAC,yBAAyB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;QAE1F,IAAI,MAAM,CAAC,yBAAyB,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,cAAc,MAAM,CAAC,yBAAyB,uBAAuB,MAAM,CAAC,yBAAyB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EACvH,MAAM,CACP,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,MAAyB;QAC/D,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/F,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7E,CAAC;IAEO,aAAa,CAAC,OAAqD;QACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACtC,uCAAuC,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAClF,CAAC;QACF,OAAO;YACL,mBAAmB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAClG,iBAAiB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;SAC/F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,yBAA+C,EAC/C,uBAA2C,EAC3C,cAAsC,EACtC,MAA+C;QAE/C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,sBAAsB,GAAG,EAAE,GAAG,EAAE,yBAAyB,EAAE,CAAC;QACrE,CAAC;QACD,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,2BAA2B,GAAG,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC;QACxE,CAAC;QAED,wFAAwF;QACxF,yFAAyF;QACzF,wFAAwF;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC;QACpG,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,EAAE;aACxC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACtC,IAAI,CAAC,MAAM,EAAE;YACZ,UAAU,EAAE;gBACV,GAAG,EAAE,CAAC;gBACN,sBAAsB,EAAE,CAAC;gBACzB,2BAA2B,EAAE,CAAC;gBAC9B,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,CAAC;aACd;SACF,CAAC;aACD,OAAO,EAAE,CAAC;QACb,IAAI,qBAAqB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAE9D,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CACxD,CAAC,WAAW,EAAE,EAAE,CACd,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,yBAAyB,EAAE,uBAAuB,CAAC;YAC5F,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CACxD,CAAC;QACF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,CACvD,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CACnG,CAAC;QACF,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE1F,MAAM,IAAI,CAAC,kBAAkB,CAC3B,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,yBAAyB,EAAE,uBAAuB,CAAC,EACjG,MAAM,CACP,CAAC;QAEF,4FAA4F;QAC5F,8FAA8F;QAC9F,8FAA8F;QAC9F,8FAA8F;QAC9F,6FAA6F;QAC7F,yDAAyD;QACzD,MAAM,+BAA+B,GAAG,oBAAoB;aACzD,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CACtB,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,yBAAyB,EAAE,uBAAuB,CAAC,CAC7F;aACA,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,KAAK,MAAM,aAAa,IAAI,+BAA+B,EAAE,CAAC;YAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;YAC1F,MAAM,CAAC,8BAA8B,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAClF,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,EAAE,EACxC;gBACE,KAAK,EAAE,MAAM;aACd,EACD,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC,EAAE,CAC7D,CAAC;YACF,MAAM,CAAC,mBAAmB,IAAI,YAAY,CAAC,aAAa,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,4BAA4B,CACxC,cAAsC,EACtC,MAA+C;QAE/C,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,EAAE;aACxC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACtC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YACvC,UAAU,EAAE;gBACV,GAAG,EAAE,CAAC;gBACN,sBAAsB,EAAE,CAAC;gBACzB,2BAA2B,EAAE,CAAC;gBAC9B,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,CAAC;aACd;SACF,CAAC;aACD,OAAO,EAAE,CAAC;QACb,IAAI,qBAAqB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC9D,MAAM,uBAAuB,GAAG,qBAAqB;aAClD,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;aAC9E,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9G,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,kBAAkB,CAC9B,uBAAwC,EACxC,aAAgE,EAChE,MAA+C;QAE/C,IAAI,uBAAuB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,EAAE;aACvC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACtC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;aACxE,OAAO,EAAE,CAAC;QAEb,KAAK,MAAM,WAAW,IAAI,oBAAoB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,MAAM,CAAC,8BAA8B,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE;iBAC/B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;iBACtC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC;aACzD,CAAC,CAAC;YACL,MAAM,CAAC,mBAAmB,IAAI,YAAY,CAAC,YAAY,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,WAAkG,EAClG,yBAA+C,EAC/C,uBAA2C;QAE3C,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvE,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACnE,OAAO,CACL,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrF,WAAW,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CACzF,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,GAAoB,EACpB,yBAA+C,EAC/C,uBAA2C;QAE3C,OAAO;YACL,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;YACjB,sBAAsB,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE;YACrF,2BAA2B,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE;SACzF,CAAC;IACJ,CAAC;IAEO,0BAA0B;QAChC,OAAO;YACL,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YACpC,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SAC1C,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,GAAoB;QACnD,OAAO;YACL,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;YACjB,GAAG,IAAI,CAAC,0BAA0B,EAAE;SACrC,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,UAAkC;QACzD,iEAAiE;QACjE,sCAAsC;QACtC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,OAAO,OAAO,CAAC,+BAA+B,CAAC;gBAC7C,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;gBAC5C,cAAc,EAAE,MAAM,CAAC,eAAe;gBACtC,YAAY,EAAE;oBACZ,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC;aACF,CAAC,CAAC,MAAM,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,WAAkC,EAAE,eAA6B;QACzF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACzC,UAAU,CAAC,kBAAkB,CAAC;YAC5B,aAAa,EAAE,IAAI,CAAC,mBAAmB;YACvC,MAAM,EAAE,WAAW,CAAC,WAAW;YAC/B,IAAI,EAAE,WAAW,CAAC,UAAU;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,2BAA2B,CACjC,mBAAyC,EACzC,iBAAqC;QAErC,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,EAAE,2BAA2B,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,aAAmC;QACzE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,0BAA0B,CAAC,aAAmC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjE,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,GAAG,EAAE,CACH,UAAU,CAAC,UAAU,CACnB;gBACE,GAAG,EAAE,cAAc,CAA+B,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;aAC9E,EACD,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC,EAAE,CAC7D,EACH;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,qCAAqC;gBACnD,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC,GAAG,CAAC;gBAC/D,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oCAAoC,SAAS,CAAC,EAAE,CAAC,gCAAgC,mBAAmB,CACrG,CAAC;gBACJ,CAAC;aACF,CACF,CAAC;YACF,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;QACtC,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,QAA4B;QACtE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,UAAyC;QAEzC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAClG,IAAI,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;gBAClF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,aAAgC;QACzE,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAC/C;YACE,GAAG,EAAE,IAAI,CAAC,mBAAmB;YAC7B,YAAY,EAAE;gBACZ,IAAI,EAAE;oBACJ,UAAU,EAAE;wBACV,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;wBACxB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE;qBAC3C;iBACF;aACF;SACF,EACD;YACE,KAAK,EAAE;gBACL,YAAY,EAAE;oBACZ,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;oBACxB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI;iBAClC;aACF;SACe,CACnB,CAAC;QACF,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,uBAAuB,CAAC,qCAAqC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;CACF;AAED,SAAS,UAAU,CAAI,IAAS,EAAE,KAAU;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC"}
|
|
1
|
+
{"version":3,"file":"MongoStoppedSyncConfigCleanup.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoStoppedSyncConfigCleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,11 +9,13 @@ import { MongoParameterCompactor } from '../MongoParameterCompactor.js';
|
|
|
9
9
|
import { MongoPersistedReplicationStream } from '../MongoPersistedReplicationStream.js';
|
|
10
10
|
import { MongoSyncBucketStorage, MongoSyncBucketStorageOptions } from '../MongoSyncBucketStorage.js';
|
|
11
11
|
import { MongoChecksumsV3 } from './MongoChecksumsV3.js';
|
|
12
|
+
import { ObjectStorage } from './object-storage/ObjectStorage.js';
|
|
12
13
|
import { VersionedPowerSyncMongoV3 } from './VersionedPowerSyncMongoV3.js';
|
|
13
14
|
export interface MongoSyncBucketStorageContextV3 {
|
|
14
15
|
db: VersionedPowerSyncMongoV3;
|
|
15
16
|
replicationStreamId: number;
|
|
16
17
|
readPreference?: mongo.ReadPreference;
|
|
18
|
+
objectStorage: ObjectStorage | undefined;
|
|
17
19
|
/**
|
|
18
20
|
* Persisted mapping of the single sync config that read operations are served from.
|
|
19
21
|
*
|
|
@@ -60,8 +62,8 @@ export declare class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
|
|
|
60
62
|
private singleSyncConfigMapping;
|
|
61
63
|
protected get versionContext(): MongoSyncBucketStorageContextV3;
|
|
62
64
|
protected getParameterSetsImpl(checkpoint: MongoSyncBucketStorageCheckpoint, lookups: ScopedParameterLookup[], limit: number): Promise<ParameterLookupRows[]>;
|
|
63
|
-
protected getBucketDataBatchImpl(checkpoint: MongoSyncBucketStorageCheckpoint, dataBuckets: storage.BucketDataRequest[], options?: storage.BucketDataBatchOptions): AsyncIterable<storage.SyncBucketDataChunk>;
|
|
64
|
-
protected clearBucketData(
|
|
65
|
+
protected getBucketDataBatchImpl(checkpoint: MongoSyncBucketStorageCheckpoint, dataBuckets: storage.BucketDataRequest[], options?: storage.BucketDataBatchOptions): AsyncIterable<storage.SyncBucketDataChunk | storage.SyncBucketDataBatchEnd>;
|
|
66
|
+
protected clearBucketData(signal?: AbortSignal): Promise<void>;
|
|
65
67
|
protected clearParameterIndexes(_signal?: AbortSignal): Promise<void>;
|
|
66
68
|
protected clearSourceRecords(_signal?: AbortSignal): Promise<void>;
|
|
67
69
|
protected clearBucketState(_signal?: AbortSignal): Promise<void>;
|
|
@@ -71,6 +73,6 @@ export declare class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
|
|
|
71
73
|
protected getParameterBucketChangesImpl(options: GetCheckpointChangesOptions): Promise<Pick<CheckpointChanges, 'updatedParameterLookups' | 'invalidateParameterBuckets'>>;
|
|
72
74
|
}
|
|
73
75
|
export declare function getParameterSetsV3(ctx: MongoSyncBucketStorageContextV3, checkpoint: MongoSyncBucketStorageCheckpoint, lookups: ScopedParameterLookup[], limit: number): Promise<ParameterLookupRows[]>;
|
|
74
|
-
export declare function getBucketDataBatchV3(ctx: MongoSyncBucketStorageContextV3, checkpoint: MongoSyncBucketStorageCheckpoint, dataBuckets: storage.BucketDataRequest[], options?: storage.BucketDataBatchOptions): AsyncIterable<storage.SyncBucketDataChunk>;
|
|
76
|
+
export declare function getBucketDataBatchV3(ctx: MongoSyncBucketStorageContextV3, checkpoint: MongoSyncBucketStorageCheckpoint, dataBuckets: storage.BucketDataRequest[], options?: storage.BucketDataBatchOptions): AsyncIterable<storage.SyncBucketDataChunk | storage.SyncBucketDataBatchEnd>;
|
|
75
77
|
export declare function getDataBucketChangesV3(ctx: MongoSyncBucketStorageContextV3, options: GetCheckpointChangesOptions): Promise<Pick<CheckpointChanges, 'updatedDataBuckets' | 'invalidateDataBuckets'>>;
|
|
76
78
|
export declare function getParameterBucketChangesV3(ctx: MongoSyncBucketStorageContextV3, options: GetCheckpointChangesOptions): Promise<Pick<CheckpointChanges, 'updatedParameterLookups' | 'invalidateParameterBuckets'>>;
|
|
@@ -6,41 +6,50 @@ import * as bson from 'bson';
|
|
|
6
6
|
import { mapOpEntry, readSingleBatch, setSessionSnapshotTime } from '../../../utils/util.js';
|
|
7
7
|
import { MongoParameterCompactor } from '../MongoParameterCompactor.js';
|
|
8
8
|
import { MongoSyncBucketStorage } from '../MongoSyncBucketStorage.js';
|
|
9
|
-
import { loadBucketDataDocument } from './bucket-format.js';
|
|
9
|
+
import { loadBucketDataDocument, maxOpId } from './bucket-format.js';
|
|
10
10
|
import { deserializeParameterLookup, serializeParameterLookup } from './models.js';
|
|
11
11
|
import { MongoBucketBatchV3 } from './MongoBucketBatchV3.js';
|
|
12
12
|
import { MongoChecksumsV3 } from './MongoChecksumsV3.js';
|
|
13
13
|
import { MongoCompactorV3 } from './MongoCompactorV3.js';
|
|
14
14
|
import { MongoStoppedSyncConfigCleanup } from './MongoStoppedSyncConfigCleanup.js';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
import { hydrateBucketDataDocuments } from './object-storage/BucketDataObjectStorage.js';
|
|
16
|
+
import { ObjectStorageLifecycle } from './object-storage/ObjectStorageLifecycle.js';
|
|
17
|
+
const BUCKET_DATA_FETCH_BATCH_LIMIT_BYTES = 16 * 1024 * 1024;
|
|
18
|
+
/**
|
|
19
|
+
* Keep the documents hydrated for one sync response within a bounded payload or slightly higher.
|
|
20
|
+
*
|
|
21
|
+
* This deserializes on-demand, so no deserialization is performed for discarded data.
|
|
22
|
+
*/
|
|
23
|
+
function cutBucketDataBatch(rawDocuments) {
|
|
24
|
+
let cumulativeBytes = 0;
|
|
25
|
+
let documents = [];
|
|
26
|
+
for (const raw of rawDocuments) {
|
|
27
|
+
const doc = bson.deserialize(raw, storage.BSON_DESERIALIZE_INTERNAL_OPTIONS);
|
|
28
|
+
documents.push(doc);
|
|
29
|
+
cumulativeBytes += doc.size;
|
|
30
|
+
if (cumulativeBytes > BUCKET_DATA_FETCH_BATCH_LIMIT_BYTES) {
|
|
31
|
+
return {
|
|
32
|
+
documents,
|
|
33
|
+
wasCut: documents.length < rawDocuments.length
|
|
34
|
+
};
|
|
20
35
|
}
|
|
21
36
|
}
|
|
37
|
+
return { documents, wasCut: false };
|
|
22
38
|
}
|
|
23
|
-
function extractRowsFromDocument(doc, context,
|
|
39
|
+
function extractRowsFromDocument(doc, context, bucketStart, endOpId) {
|
|
24
40
|
const rows = [];
|
|
25
41
|
for (const row of loadBucketDataDocument(context, doc)) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if (bucketStart == null) {
|
|
29
|
-
throw new Error(`data for unexpected bucket: ${bucket}`);
|
|
30
|
-
}
|
|
42
|
+
// In theory a binary search could be faster than a linear scan to find the start.
|
|
43
|
+
// In practice, most cases should not filter out anything here.
|
|
31
44
|
if (row.o <= bucketStart) {
|
|
32
45
|
continue;
|
|
33
46
|
}
|
|
34
47
|
if (row.o > endOpId) {
|
|
35
|
-
|
|
48
|
+
break;
|
|
36
49
|
}
|
|
37
50
|
rows.push(row);
|
|
38
|
-
remainingLimit--;
|
|
39
|
-
if (remainingLimit <= 0) {
|
|
40
|
-
return { rows, remainingLimit, limitReached: true };
|
|
41
|
-
}
|
|
42
51
|
}
|
|
43
|
-
return
|
|
52
|
+
return rows;
|
|
44
53
|
}
|
|
45
54
|
export class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
|
|
46
55
|
constructor(factory, replicationStreamId, replicationStream, replicationStreamName, writeCheckpointMode, options) {
|
|
@@ -220,6 +229,7 @@ export class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
|
|
|
220
229
|
const self = this;
|
|
221
230
|
return {
|
|
222
231
|
db: this.db,
|
|
232
|
+
objectStorage: this.objectStorage,
|
|
223
233
|
replicationStreamId: this.replicationStreamId,
|
|
224
234
|
readPreference: this.readPreference,
|
|
225
235
|
get mapping() {
|
|
@@ -233,10 +243,23 @@ export class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
|
|
|
233
243
|
getBucketDataBatchImpl(checkpoint, dataBuckets, options) {
|
|
234
244
|
return getBucketDataBatchV3(this.versionContext, checkpoint, dataBuckets, options);
|
|
235
245
|
}
|
|
236
|
-
async clearBucketData(
|
|
246
|
+
async clearBucketData(signal) {
|
|
237
247
|
for (const collection of await this.db.listBucketDataCollections(this.replicationStreamId)) {
|
|
238
248
|
await collection.drop();
|
|
239
249
|
}
|
|
250
|
+
if (this.objectStorage) {
|
|
251
|
+
const lifecycle = new ObjectStorageLifecycle(this.db, this.replicationStreamId, this.objectStorage);
|
|
252
|
+
await lifecycle.deletePrefix(lifecycle.streamPrefix(), { signal });
|
|
253
|
+
}
|
|
254
|
+
await this.db
|
|
255
|
+
.pendingObjectStorageDeletes(this.replicationStreamId)
|
|
256
|
+
.drop({ maxTimeMS: lib_mongo.db.MONGO_CLEAR_OPERATION_TIMEOUT_MS })
|
|
257
|
+
.catch((error) => {
|
|
258
|
+
if (lib_mongo.isMongoServerError(error) && error.codeName === 'NamespaceNotFound') {
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
throw error;
|
|
262
|
+
});
|
|
240
263
|
}
|
|
241
264
|
async clearParameterIndexes(_signal) {
|
|
242
265
|
for (const collection of await this.db.listParameterIndexCollections(this.replicationStreamId)) {
|
|
@@ -277,7 +300,9 @@ export class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
|
|
|
277
300
|
signal: options.signal,
|
|
278
301
|
logger: options.logger ?? this.logger,
|
|
279
302
|
defaultSchema: options.defaultSchema,
|
|
280
|
-
sourceConnectionTag: options.sourceConnectionTag
|
|
303
|
+
sourceConnectionTag: options.sourceConnectionTag,
|
|
304
|
+
objectStorage: this.objectStorage,
|
|
305
|
+
clearBatchThrottleRate: this.clearBatchThrottleRate
|
|
281
306
|
}).run();
|
|
282
307
|
}
|
|
283
308
|
getDataBucketChangesImpl(options) {
|
|
@@ -382,11 +407,13 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
|
|
|
382
407
|
await using _ = { [Symbol.asyncDispose]: async () => session?.endSession() };
|
|
383
408
|
if (session != null) {
|
|
384
409
|
session.advanceOperationTime(checkpoint.snapshotTime);
|
|
410
|
+
session.advanceClusterTime(checkpoint.clusterTime);
|
|
385
411
|
}
|
|
386
412
|
const batchLimit = options?.limit ?? storage.DEFAULT_DOCUMENT_BATCH_LIMIT;
|
|
387
413
|
const chunkSizeLimitBytes = options?.chunkLimitBytes ?? storage.DEFAULT_DOCUMENT_CHUNK_LIMIT_BYTES;
|
|
388
414
|
const end = checkpoint.checkpoint;
|
|
389
|
-
|
|
415
|
+
// Group requests by definition, so that we can query each definition's bucket data in a single query.
|
|
416
|
+
// We only return the results of a single query per batch.
|
|
390
417
|
const requestsByDefinition = new Map();
|
|
391
418
|
for (const request of dataBuckets) {
|
|
392
419
|
const definitionId = ctx.mapping.bucketSourceId(request.source);
|
|
@@ -396,9 +423,6 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
|
|
|
396
423
|
}
|
|
397
424
|
const definitionGroups = Array.from(requestsByDefinition.entries());
|
|
398
425
|
for (const [groupIndex, [definitionId, requests]] of definitionGroups.entries()) {
|
|
399
|
-
if (remainingLimit <= 0) {
|
|
400
|
-
break;
|
|
401
|
-
}
|
|
402
426
|
const hasLaterDefinitionGroups = groupIndex < definitionGroups.length - 1;
|
|
403
427
|
const bucketMap = new Map(requests.map((request) => [request.bucket, request.start]));
|
|
404
428
|
const filters = Array.from(bucketMap.entries()).map(([bucket, start]) => ({
|
|
@@ -413,8 +437,7 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
|
|
|
413
437
|
// MongoDB Filter<T> doesn't accept the $or operator in its type.
|
|
414
438
|
const filter = { $or: filters };
|
|
415
439
|
const context = { replicationStreamId: ctx.replicationStreamId, definitionId };
|
|
416
|
-
const
|
|
417
|
-
const cursorOptions = { limit: remainingLimit, batchSize: remainingLimit + 1 };
|
|
440
|
+
const cursorOptions = { limit: batchLimit, batchSize: batchLimit + 1 };
|
|
418
441
|
// raw: true returns Buffers, but the driver typing doesn't reflect that
|
|
419
442
|
// without an explicit cast to FindCursor<Buffer>.
|
|
420
443
|
const cursor = collection.find(filter, {
|
|
@@ -429,75 +452,37 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
|
|
|
429
452
|
let { data: rawData, hasMore } = await readSingleBatch(cursor).catch((e) => {
|
|
430
453
|
throw lib_mongo.mapQueryError(e, 'while reading bucket data');
|
|
431
454
|
});
|
|
432
|
-
if (
|
|
455
|
+
if (rawData.length >= cursorOptions.limit) {
|
|
433
456
|
hasMore = true;
|
|
434
457
|
}
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
const
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
const completeEmptyBuckets = new Set();
|
|
442
|
-
for (const raw of rawData) {
|
|
443
|
-
const doc = bson.deserialize(raw, storage.BSON_DESERIALIZE_INTERNAL_OPTIONS);
|
|
444
|
-
const { rows, remainingLimit, limitReached: docLimitReached } = extractRowsFromDocument(doc, context, bucketMap, end, sharedRemainingLimit);
|
|
445
|
-
if (rows.length == 0) {
|
|
446
|
-
// The document straddles the requested (start, end] window: it matched the
|
|
447
|
-
// query, but none of its ops are in range. Since its _id.o (max op) must be
|
|
448
|
-
// > end (any op <= end would have been > start, and thus in range), and
|
|
449
|
-
// document ranges per bucket are disjoint, no later document for this bucket
|
|
450
|
-
// can match either. The bucket is complete through the checkpoint.
|
|
451
|
-
completeEmptyBuckets.add(doc._id.b);
|
|
452
|
-
}
|
|
453
|
-
data.push(...rows);
|
|
454
|
-
documentOpCounts.push(rows.length);
|
|
455
|
-
documentSizes.push(raw.byteLength);
|
|
456
|
-
sharedRemainingLimit = remainingLimit;
|
|
457
|
-
if (docLimitReached) {
|
|
458
|
-
limitReached = true;
|
|
459
|
-
break;
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
const batchHasMore = hasMore || limitReached;
|
|
463
|
-
// Empty chunks are not forwarded to clients, but report progress to the caller:
|
|
464
|
-
// the bucket's position advances to the checkpoint, so it is not re-requested.
|
|
465
|
-
// If the batch produced no data at all, the last empty chunk also carries the
|
|
466
|
-
// has_more signal, so the caller re-requests the remaining buckets instead of
|
|
467
|
-
// treating an all-filtered batch as the end of the stream.
|
|
468
|
-
const emptyBuckets = Array.from(completeEmptyBuckets);
|
|
469
|
-
for (const [index, bucket] of emptyBuckets.entries()) {
|
|
470
|
-
const startOpId = bucketMap.get(bucket);
|
|
471
|
-
if (startOpId == null) {
|
|
472
|
-
throw new ServiceAssertionError(`data for unexpected bucket: ${bucket}`);
|
|
473
|
-
}
|
|
474
|
-
const isLastChunkOfBatch = data.length == 0 && index == emptyBuckets.length - 1;
|
|
475
|
-
yield {
|
|
476
|
-
chunkData: {
|
|
477
|
-
bucket,
|
|
478
|
-
after: internalToExternalOpId(startOpId),
|
|
479
|
-
has_more: isLastChunkOfBatch && batchHasMore,
|
|
480
|
-
data: [],
|
|
481
|
-
next_after: internalToExternalOpId(end)
|
|
482
|
-
},
|
|
483
|
-
targetOp: null
|
|
484
|
-
};
|
|
485
|
-
}
|
|
486
|
-
if (data.length == 0) {
|
|
487
|
-
if (batchHasMore) {
|
|
488
|
-
// The remaining documents are read in the next round, after the caller has
|
|
489
|
-
// advanced the positions of the empty buckets above.
|
|
490
|
-
return;
|
|
491
|
-
}
|
|
492
|
-
continue;
|
|
458
|
+
// Deserialize the raw documents and cut the batch to a bounded size. Any data not
|
|
459
|
+
// making the cut will be read in the next round, using a fresh query.
|
|
460
|
+
const cutBatch = cutBucketDataBatch(rawData);
|
|
461
|
+
const docs = cutBatch.documents;
|
|
462
|
+
if (cutBatch.wasCut) {
|
|
463
|
+
hasMore = true;
|
|
493
464
|
}
|
|
494
|
-
|
|
465
|
+
// Hydrate any operations from object storage.
|
|
466
|
+
// In the future we can do this in a more pipelined fashion, but for now we hydrate
|
|
467
|
+
// the entire batch at once.
|
|
468
|
+
await hydrateBucketDataDocuments(docs, ctx.objectStorage, { signal: options?.signal });
|
|
495
469
|
let currentChunkSizeBytes = 0;
|
|
496
470
|
let currentChunk = null;
|
|
497
471
|
let targetOp = null;
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
472
|
+
let seenBuckets = new Set();
|
|
473
|
+
const batchHasMore = hasMore;
|
|
474
|
+
for (const doc of docs) {
|
|
475
|
+
const bucket = doc._id.b;
|
|
476
|
+
seenBuckets.add(bucket);
|
|
477
|
+
const bucketStart = bucketMap.get(bucket);
|
|
478
|
+
if (bucketStart == null) {
|
|
479
|
+
throw new ServiceAssertionError(`data for unexpected bucket: ${bucket}`);
|
|
480
|
+
}
|
|
481
|
+
// Reached a new bucket or size limit: yield the current chunk and start a new one.
|
|
482
|
+
if (currentChunk == null ||
|
|
483
|
+
currentChunk.bucket != bucket ||
|
|
484
|
+
currentChunkSizeBytes >= chunkSizeLimitBytes ||
|
|
485
|
+
currentChunk.data.length >= batchLimit) {
|
|
501
486
|
let start = undefined;
|
|
502
487
|
if (currentChunk != null) {
|
|
503
488
|
if (currentChunk.bucket == bucket) {
|
|
@@ -511,11 +496,7 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
|
|
|
511
496
|
targetOp = null;
|
|
512
497
|
}
|
|
513
498
|
if (start == null) {
|
|
514
|
-
|
|
515
|
-
if (startOpId == null) {
|
|
516
|
-
throw new Error(`data for unexpected bucket: ${bucket}`);
|
|
517
|
-
}
|
|
518
|
-
start = internalToExternalOpId(startOpId);
|
|
499
|
+
start = internalToExternalOpId(bucketStart);
|
|
519
500
|
}
|
|
520
501
|
currentChunk = {
|
|
521
502
|
bucket,
|
|
@@ -525,23 +506,45 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
|
|
|
525
506
|
next_after: start
|
|
526
507
|
};
|
|
527
508
|
}
|
|
528
|
-
const
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
currentChunk.next_after = entry.op_id;
|
|
534
|
-
if (isLastOpInDocument) {
|
|
535
|
-
currentChunkSizeBytes += documentSizes[docIndex];
|
|
536
|
-
}
|
|
509
|
+
const rows = extractRowsFromDocument(doc, context, bucketStart, end);
|
|
510
|
+
currentChunk.data.push(...rows.map(mapOpEntry));
|
|
511
|
+
currentChunk.next_after = currentChunk.data.at(-1)?.op_id ?? internalToExternalOpId(end);
|
|
512
|
+
targetOp = maxOpId(targetOp, doc.target_op);
|
|
513
|
+
currentChunkSizeBytes += doc.size;
|
|
537
514
|
}
|
|
538
515
|
if (currentChunk != null) {
|
|
539
516
|
const yieldChunk = currentChunk;
|
|
540
|
-
|
|
517
|
+
// The last chunk may contain more data that was cut in this batch.
|
|
518
|
+
yieldChunk.has_more = batchHasMore;
|
|
541
519
|
yield { chunkData: yieldChunk, targetOp };
|
|
542
520
|
}
|
|
543
|
-
if (batchHasMore
|
|
544
|
-
|
|
521
|
+
if (!batchHasMore) {
|
|
522
|
+
for (const bucket of bucketMap.keys()) {
|
|
523
|
+
if (!seenBuckets.has(bucket)) {
|
|
524
|
+
// We processed everything for this definition group, but this bucket had no data in the batch.
|
|
525
|
+
// Yield an empty chunk to indicate that it is complete.
|
|
526
|
+
// This prevents re-querying the same bucket in the next batch.
|
|
527
|
+
yield {
|
|
528
|
+
chunkData: {
|
|
529
|
+
bucket,
|
|
530
|
+
after: internalToExternalOpId(bucketMap.get(bucket)),
|
|
531
|
+
has_more: false,
|
|
532
|
+
data: [],
|
|
533
|
+
next_after: internalToExternalOpId(end)
|
|
534
|
+
},
|
|
535
|
+
targetOp
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
if (currentChunk != null) {
|
|
541
|
+
// We yielded data in this group (aside from empty buckets).
|
|
542
|
+
// Return to the caller to allow them to process it before continuing to the next group.
|
|
543
|
+
yield { hasMore: batchHasMore || hasLaterDefinitionGroups };
|
|
544
|
+
break;
|
|
545
|
+
}
|
|
546
|
+
else {
|
|
547
|
+
// No data in this definition group - continue in the next group.
|
|
545
548
|
}
|
|
546
549
|
}
|
|
547
550
|
}
|