@powersync/service-module-postgres-storage 0.0.0-dev-20260203155513 → 0.0.0-dev-20260223080959
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 +55 -9
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/migrations/scripts/1771232439485-storage-version.d.ts +3 -0
- package/dist/@types/storage/PostgresBucketStorageFactory.d.ts +2 -10
- package/dist/@types/storage/PostgresReportStorage.d.ts +1 -5
- package/dist/@types/storage/sync-rules/PostgresPersistedSyncRulesContent.d.ts +1 -10
- package/dist/@types/types/models/SyncRules.d.ts +3 -2
- package/dist/@types/utils/db.d.ts +9 -0
- package/dist/migrations/scripts/1771232439485-storage-version.js +111 -0
- package/dist/migrations/scripts/1771232439485-storage-version.js.map +1 -0
- package/dist/storage/PostgresBucketStorageFactory.js +8 -55
- package/dist/storage/PostgresBucketStorageFactory.js.map +1 -1
- package/dist/storage/PostgresReportStorage.js +0 -12
- package/dist/storage/PostgresReportStorage.js.map +1 -1
- package/dist/storage/batch/PostgresBucketBatch.js +4 -3
- package/dist/storage/batch/PostgresBucketBatch.js.map +1 -1
- package/dist/storage/sync-rules/PostgresPersistedSyncRulesContent.js +13 -30
- package/dist/storage/sync-rules/PostgresPersistedSyncRulesContent.js.map +1 -1
- package/dist/types/models/SyncRules.js +1 -0
- package/dist/types/models/SyncRules.js.map +1 -1
- package/dist/utils/db.js +32 -0
- package/dist/utils/db.js.map +1 -1
- package/dist/utils/test-utils.js +39 -10
- package/dist/utils/test-utils.js.map +1 -1
- package/package.json +8 -8
- package/src/migrations/scripts/1771232439485-storage-version.ts +44 -0
- package/src/storage/PostgresBucketStorageFactory.ts +9 -63
- package/src/storage/PostgresReportStorage.ts +3 -16
- package/src/storage/batch/PostgresBucketBatch.ts +10 -3
- package/src/storage/sync-rules/PostgresPersistedSyncRulesContent.ts +19 -33
- package/src/types/models/SyncRules.ts +1 -0
- package/src/utils/db.ts +37 -0
- package/src/utils/test-utils.ts +30 -10
- package/test/src/__snapshots__/storage_sync.test.ts.snap +1116 -21
- package/test/src/migrations.test.ts +8 -1
- package/test/src/storage.test.ts +11 -11
- package/test/src/storage_sync.test.ts +146 -4
- package/test/src/util.ts +3 -0
- package/test/tsconfig.json +2 -6
- package/test/src/__snapshots__/storage.test.ts.snap +0 -9
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { GetIntanceOptions, storage, SyncRulesBucketStorage, UpdateSyncRulesOptions } from '@powersync/service-core';
|
|
1
|
+
import { GetIntanceOptions, storage, SyncRulesBucketStorage } from '@powersync/service-core';
|
|
3
2
|
import * as pg_wire from '@powersync/service-jpgwire';
|
|
4
3
|
import * as lib_postgres from '@powersync/lib-service-postgres';
|
|
5
4
|
import { NormalizedPostgresStorageConfig } from '../types/types.js';
|
|
@@ -8,7 +7,7 @@ export type PostgresBucketStorageOptions = {
|
|
|
8
7
|
config: NormalizedPostgresStorageConfig;
|
|
9
8
|
slot_name_prefix: string;
|
|
10
9
|
};
|
|
11
|
-
export declare class PostgresBucketStorageFactory extends
|
|
10
|
+
export declare class PostgresBucketStorageFactory extends storage.BucketStorageFactory {
|
|
12
11
|
protected options: PostgresBucketStorageOptions;
|
|
13
12
|
readonly db: lib_postgres.DatabaseClient;
|
|
14
13
|
readonly slot_name_prefix: string;
|
|
@@ -20,16 +19,9 @@ export declare class PostgresBucketStorageFactory extends framework.BaseObserver
|
|
|
20
19
|
getStorageMetrics(): Promise<storage.StorageMetrics>;
|
|
21
20
|
getPowerSyncInstanceId(): Promise<string>;
|
|
22
21
|
getSystemIdentifier(): Promise<storage.BucketStorageSystemIdentifier>;
|
|
23
|
-
configureSyncRules(options: UpdateSyncRulesOptions): Promise<{
|
|
24
|
-
updated: boolean;
|
|
25
|
-
persisted_sync_rules?: storage.PersistedSyncRulesContent;
|
|
26
|
-
lock?: storage.ReplicationLock;
|
|
27
|
-
}>;
|
|
28
22
|
updateSyncRules(options: storage.UpdateSyncRulesOptions): Promise<PostgresPersistedSyncRulesContent>;
|
|
29
23
|
restartReplication(sync_rules_group_id: number): Promise<void>;
|
|
30
|
-
getActiveSyncRules(options: storage.ParseSyncRulesOptions): Promise<storage.PersistedSyncRules | null>;
|
|
31
24
|
getActiveSyncRulesContent(): Promise<storage.PersistedSyncRulesContent | null>;
|
|
32
|
-
getNextSyncRules(options: storage.ParseSyncRulesOptions): Promise<storage.PersistedSyncRules | null>;
|
|
33
25
|
getNextSyncRulesContent(): Promise<storage.PersistedSyncRulesContent | null>;
|
|
34
26
|
getReplicatingSyncRules(): Promise<storage.PersistedSyncRulesContent[]>;
|
|
35
27
|
getStoppedSyncRules(): Promise<storage.PersistedSyncRulesContent[]>;
|
|
@@ -10,19 +10,15 @@ export declare class PostgresReportStorage implements storage.ReportStorage {
|
|
|
10
10
|
protected options: PostgresReportStorageOptions;
|
|
11
11
|
readonly db: lib_postgres.DatabaseClient;
|
|
12
12
|
constructor(options: PostgresReportStorageOptions);
|
|
13
|
-
getLastSyncReport(data: event_types.LastSyncRequest): Promise<any>;
|
|
14
|
-
getSyncBucketStats(data: event_types.SyncBucketStatsRequest): Promise<any>;
|
|
15
13
|
private parseJsDate;
|
|
16
14
|
private mapListCurrentConnectionsResponse;
|
|
17
15
|
private listConnectionsQuery;
|
|
18
16
|
private updateTableFilter;
|
|
19
17
|
private clientsConnectionPagination;
|
|
20
|
-
getSyncCheckpoint(data: event_types.SyncCheckpointRequest): Promise<event_types.PaginatedResponse<any>>;
|
|
21
|
-
reportSyncAnalyticsEvent(data: event_types.SyncAnalyticsEventData): Promise<void>;
|
|
22
18
|
reportClientConnection(data: event_types.ClientConnectionBucketData): Promise<void>;
|
|
23
19
|
reportClientDisconnection(data: event_types.ClientDisconnectionEventData): Promise<void>;
|
|
24
20
|
getConnectedClients(): Promise<event_types.ClientConnectionReportResponse>;
|
|
25
|
-
getClientConnectionReports(data: event_types.
|
|
21
|
+
getClientConnectionReports(data: event_types.ClientConnectionReportRequest): Promise<event_types.ClientConnectionReportResponse>;
|
|
26
22
|
getGeneralClientConnectionAnalytics(data: event_types.ClientConnectionAnalyticsRequest): Promise<event_types.PaginatedResponse<event_types.ClientConnection>>;
|
|
27
23
|
deleteOldConnectionData(data: event_types.DeleteOldConnectionData): Promise<void>;
|
|
28
24
|
[Symbol.asyncDispose](): Promise<void>;
|
|
@@ -1,18 +1,9 @@
|
|
|
1
1
|
import * as lib_postgres from '@powersync/lib-service-postgres';
|
|
2
2
|
import { storage } from '@powersync/service-core';
|
|
3
3
|
import { models } from '../../types/types.js';
|
|
4
|
-
export declare class PostgresPersistedSyncRulesContent
|
|
4
|
+
export declare class PostgresPersistedSyncRulesContent extends storage.PersistedSyncRulesContent {
|
|
5
5
|
private db;
|
|
6
|
-
readonly slot_name: string;
|
|
7
|
-
readonly id: number;
|
|
8
|
-
readonly sync_rules_content: string;
|
|
9
|
-
readonly last_checkpoint_lsn: string | null;
|
|
10
|
-
readonly last_fatal_error: string | null;
|
|
11
|
-
readonly last_keepalive_ts: Date | null;
|
|
12
|
-
readonly last_checkpoint_ts: Date | null;
|
|
13
|
-
readonly active: boolean;
|
|
14
6
|
current_lock: storage.ReplicationLock | null;
|
|
15
7
|
constructor(db: lib_postgres.DatabaseClient, row: models.SyncRulesDecoded);
|
|
16
|
-
parsed(options: storage.ParseSyncRulesOptions): storage.PersistedSyncRules;
|
|
17
8
|
lock(): Promise<storage.ReplicationLock>;
|
|
18
9
|
}
|
|
@@ -33,18 +33,19 @@ export declare const SyncRules: t.ObjectCodec<{
|
|
|
33
33
|
*
|
|
34
34
|
* This may be old if no data is incoming.
|
|
35
35
|
*/
|
|
36
|
-
last_checkpoint_ts: t.Union<t.Codec<null, null, string, t.CodecProps>, t.Codec<Date, string | import("@powersync/service-sync-rules
|
|
36
|
+
last_checkpoint_ts: t.Union<t.Codec<null, null, string, t.CodecProps>, t.Codec<Date, string | import("@powersync/service-sync-rules").DateTimeValue, string, t.CodecProps>>;
|
|
37
37
|
/**
|
|
38
38
|
* Last time we persisted a checkpoint or keepalive.
|
|
39
39
|
*
|
|
40
40
|
* This should stay fairly current while replicating.
|
|
41
41
|
*/
|
|
42
|
-
last_keepalive_ts: t.Union<t.Codec<null, null, string, t.CodecProps>, t.Codec<Date, string | import("@powersync/service-sync-rules
|
|
42
|
+
last_keepalive_ts: t.Union<t.Codec<null, null, string, t.CodecProps>, t.Codec<Date, string | import("@powersync/service-sync-rules").DateTimeValue, string, t.CodecProps>>;
|
|
43
43
|
/**
|
|
44
44
|
* If an error is stopping replication, it will be stored here.
|
|
45
45
|
*/
|
|
46
46
|
last_fatal_error: t.Union<t.Codec<null, null, string, t.CodecProps>, t.IdentityCodec<t.CodecType.String>>;
|
|
47
47
|
keepalive_op: t.Union<t.Codec<null, null, string, t.CodecProps>, t.Codec<bigint, string | number, string, t.CodecProps>>;
|
|
48
|
+
storage_version: t.OptionalCodec<t.Codec<number | null, number | null, string, t.CodecProps>>;
|
|
48
49
|
content: t.IdentityCodec<t.CodecType.String>;
|
|
49
50
|
}>;
|
|
50
51
|
export type SyncRules = t.Encoded<typeof SyncRules>;
|
|
@@ -5,4 +5,13 @@ export declare const NOTIFICATION_CHANNEL = "powersynccheckpoints";
|
|
|
5
5
|
* Re export for prettier to detect the tag better
|
|
6
6
|
*/
|
|
7
7
|
export declare const sql: (strings: TemplateStringsArray, ...params: import("@powersync/service-jpgwire").StatementParam[]) => import("@powersync/service-jpgwire").Statement;
|
|
8
|
+
/**
|
|
9
|
+
* Drop all Postgres storage tables used by the service, including migrations.
|
|
10
|
+
*/
|
|
8
11
|
export declare const dropTables: (client: lib_postgres.DatabaseClient) => Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Clear all Postgres storage tables and reset sequences.
|
|
14
|
+
*
|
|
15
|
+
* Does not clear migration state.
|
|
16
|
+
*/
|
|
17
|
+
export declare const truncateTables: (db: lib_postgres.DatabaseClient) => Promise<void>;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
|
|
2
|
+
if (value !== null && value !== void 0) {
|
|
3
|
+
if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
|
|
4
|
+
var dispose, inner;
|
|
5
|
+
if (async) {
|
|
6
|
+
if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
|
|
7
|
+
dispose = value[Symbol.asyncDispose];
|
|
8
|
+
}
|
|
9
|
+
if (dispose === void 0) {
|
|
10
|
+
if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
|
|
11
|
+
dispose = value[Symbol.dispose];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
|
|
15
|
+
if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
|
|
16
|
+
env.stack.push({ value: value, dispose: dispose, async: async });
|
|
17
|
+
}
|
|
18
|
+
else if (async) {
|
|
19
|
+
env.stack.push({ async: true });
|
|
20
|
+
}
|
|
21
|
+
return value;
|
|
22
|
+
};
|
|
23
|
+
var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
|
|
24
|
+
return function (env) {
|
|
25
|
+
function fail(e) {
|
|
26
|
+
env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
|
|
27
|
+
env.hasError = true;
|
|
28
|
+
}
|
|
29
|
+
var r, s = 0;
|
|
30
|
+
function next() {
|
|
31
|
+
while (r = env.stack.pop()) {
|
|
32
|
+
try {
|
|
33
|
+
if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
|
|
34
|
+
if (r.dispose) {
|
|
35
|
+
var result = r.dispose.call(r.value);
|
|
36
|
+
if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
|
|
37
|
+
}
|
|
38
|
+
else s |= 1;
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
fail(e);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
|
|
45
|
+
if (env.hasError) throw env.error;
|
|
46
|
+
}
|
|
47
|
+
return next();
|
|
48
|
+
};
|
|
49
|
+
})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
50
|
+
var e = new Error(message);
|
|
51
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
52
|
+
});
|
|
53
|
+
import { storage } from '@powersync/service-core';
|
|
54
|
+
import { openMigrationDB } from '../migration-utils.js';
|
|
55
|
+
export const up = async (context) => {
|
|
56
|
+
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
57
|
+
try {
|
|
58
|
+
const { service_context: { configuration } } = context;
|
|
59
|
+
const client = __addDisposableResource(env_1, openMigrationDB(configuration.storage), true);
|
|
60
|
+
await client.transaction(async (db) => {
|
|
61
|
+
await db.sql `
|
|
62
|
+
ALTER TABLE sync_rules
|
|
63
|
+
ADD COLUMN storage_version integer NOT NULL DEFAULT 1
|
|
64
|
+
`.execute();
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (e_1) {
|
|
68
|
+
env_1.error = e_1;
|
|
69
|
+
env_1.hasError = true;
|
|
70
|
+
}
|
|
71
|
+
finally {
|
|
72
|
+
const result_1 = __disposeResources(env_1);
|
|
73
|
+
if (result_1)
|
|
74
|
+
await result_1;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
export const down = async (context) => {
|
|
78
|
+
const env_2 = { stack: [], error: void 0, hasError: false };
|
|
79
|
+
try {
|
|
80
|
+
const { service_context: { configuration } } = context;
|
|
81
|
+
const client = __addDisposableResource(env_2, openMigrationDB(configuration.storage), true);
|
|
82
|
+
await client.transaction(async (db) => {
|
|
83
|
+
const newRules = await db.sql `
|
|
84
|
+
SELECT
|
|
85
|
+
id,
|
|
86
|
+
storage_version
|
|
87
|
+
FROM
|
|
88
|
+
sync_rules
|
|
89
|
+
WHERE
|
|
90
|
+
storage_version > ${{ type: 'int4', value: storage.LEGACY_STORAGE_VERSION }}
|
|
91
|
+
`.rows();
|
|
92
|
+
if (newRules.length > 0) {
|
|
93
|
+
throw new Error(`Cannot revert migration due to newer storage versions in use: ${newRules.map((r) => `${r.id}: v${r.storage_version}`).join(', ')}`);
|
|
94
|
+
}
|
|
95
|
+
await db.sql `
|
|
96
|
+
ALTER TABLE sync_rules
|
|
97
|
+
DROP COLUMN storage_version
|
|
98
|
+
`.execute();
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
catch (e_2) {
|
|
102
|
+
env_2.error = e_2;
|
|
103
|
+
env_2.hasError = true;
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
const result_2 = __disposeResources(env_2);
|
|
107
|
+
if (result_2)
|
|
108
|
+
await result_2;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=1771232439485-storage-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1771232439485-storage-version.js","sourceRoot":"","sources":["../../../src/migrations/scripts/1771232439485-storage-version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAc,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,MAAM,EAAE,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QACzE,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAC5D,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACpC,MAAM,EAAE,CAAC,GAAG,CAAA;;;KAGX,CAAC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;;;;;;;;;;;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAA0C,KAAK,EAAE,OAAO,EAAE,EAAE;;;QAC3E,MAAM,EACJ,eAAe,EAAE,EAAE,aAAa,EAAE,EACnC,GAAG,OAAO,CAAC;QACZ,MAAY,MAAM,kCAAG,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,OAAA,CAAC;QAC5D,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;4BAOL,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,sBAAsB,EAAE;KAC9E,CAAC,IAAI,EAA6D,CAAC;YAEpE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,iEAAiE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpI,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,CAAC,GAAG,CAAA;;;KAGX,CAAC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;;;;;;;;;;;CACJ,CAAC"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import * as framework from '@powersync/lib-services-framework';
|
|
2
1
|
import { storage } from '@powersync/service-core';
|
|
3
|
-
import * as sync_rules from '@powersync/service-sync-rules';
|
|
4
2
|
import crypto from 'crypto';
|
|
5
3
|
import * as uuid from 'uuid';
|
|
6
4
|
import * as lib_postgres from '@powersync/lib-service-postgres';
|
|
@@ -10,7 +8,7 @@ import { notifySyncRulesUpdate } from './batch/PostgresBucketBatch.js';
|
|
|
10
8
|
import { PostgresSyncRulesStorage } from './PostgresSyncRulesStorage.js';
|
|
11
9
|
import { PostgresPersistedSyncRulesContent } from './sync-rules/PostgresPersistedSyncRulesContent.js';
|
|
12
10
|
import { getStorageApplicationName } from '../utils/application-name.js';
|
|
13
|
-
export class PostgresBucketStorageFactory extends
|
|
11
|
+
export class PostgresBucketStorageFactory extends storage.BucketStorageFactory {
|
|
14
12
|
options;
|
|
15
13
|
db;
|
|
16
14
|
slot_name_prefix;
|
|
@@ -117,38 +115,8 @@ export class PostgresBucketStorageFactory extends framework.BaseObserver {
|
|
|
117
115
|
type: lib_postgres.POSTGRES_CONNECTION_TYPE
|
|
118
116
|
};
|
|
119
117
|
}
|
|
120
|
-
// TODO possibly share implementation in abstract class
|
|
121
|
-
async configureSyncRules(options) {
|
|
122
|
-
const next = await this.getNextSyncRulesContent();
|
|
123
|
-
const active = await this.getActiveSyncRulesContent();
|
|
124
|
-
if (next?.sync_rules_content == options.content) {
|
|
125
|
-
framework.logger.info('Sync rules from configuration unchanged');
|
|
126
|
-
return { updated: false };
|
|
127
|
-
}
|
|
128
|
-
else if (next == null && active?.sync_rules_content == options.content) {
|
|
129
|
-
framework.logger.info('Sync rules from configuration unchanged');
|
|
130
|
-
return { updated: false };
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
framework.logger.info('Sync rules updated from configuration');
|
|
134
|
-
const persisted_sync_rules = await this.updateSyncRules(options);
|
|
135
|
-
return { updated: true, persisted_sync_rules, lock: persisted_sync_rules.current_lock ?? undefined };
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
118
|
async updateSyncRules(options) {
|
|
139
|
-
|
|
140
|
-
if (options.validate) {
|
|
141
|
-
// Parse and validate before applying any changes
|
|
142
|
-
sync_rules.SqlSyncRules.fromYaml(options.content, {
|
|
143
|
-
// No schema-based validation at this point
|
|
144
|
-
schema: undefined,
|
|
145
|
-
defaultSchema: 'not_applicable', // Not needed for validation
|
|
146
|
-
throwOnError: true
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
// Apply unconditionally. Any errors will be reported via the diagnostics API.
|
|
151
|
-
}
|
|
119
|
+
const storageVersion = options.storageVersion ?? storage.CURRENT_STORAGE_VERSION;
|
|
152
120
|
return this.db.transaction(async (db) => {
|
|
153
121
|
await db.sql `
|
|
154
122
|
UPDATE sync_rules
|
|
@@ -164,7 +132,7 @@ export class PostgresBucketStorageFactory extends framework.BaseObserver {
|
|
|
164
132
|
nextval('sync_rules_id_sequence') AS id
|
|
165
133
|
)
|
|
166
134
|
INSERT INTO
|
|
167
|
-
sync_rules (id, content, state, slot_name)
|
|
135
|
+
sync_rules (id, content, state, slot_name, storage_version)
|
|
168
136
|
VALUES
|
|
169
137
|
(
|
|
170
138
|
(
|
|
@@ -173,7 +141,7 @@ export class PostgresBucketStorageFactory extends framework.BaseObserver {
|
|
|
173
141
|
FROM
|
|
174
142
|
next_id
|
|
175
143
|
),
|
|
176
|
-
${{ type: 'varchar', value: options.
|
|
144
|
+
${{ type: 'varchar', value: options.config.yaml }},
|
|
177
145
|
${{ type: 'varchar', value: storage.SyncRuleState.PROCESSING }},
|
|
178
146
|
CONCAT(
|
|
179
147
|
${{ type: 'varchar', value: this.slot_name_prefix }},
|
|
@@ -185,7 +153,8 @@ export class PostgresBucketStorageFactory extends framework.BaseObserver {
|
|
|
185
153
|
),
|
|
186
154
|
'_',
|
|
187
155
|
${{ type: 'varchar', value: crypto.randomBytes(2).toString('hex') }}
|
|
188
|
-
)
|
|
156
|
+
),
|
|
157
|
+
${{ type: 'int4', value: storageVersion }}
|
|
189
158
|
)
|
|
190
159
|
RETURNING
|
|
191
160
|
*
|
|
@@ -203,10 +172,7 @@ export class PostgresBucketStorageFactory extends framework.BaseObserver {
|
|
|
203
172
|
// The current one will continue serving sync requests until the next one has finished processing.
|
|
204
173
|
if (next != null && next.id == sync_rules_group_id) {
|
|
205
174
|
// We need to redo the "next" sync rules
|
|
206
|
-
await this.updateSyncRules(
|
|
207
|
-
content: next.sync_rules_content,
|
|
208
|
-
validate: false
|
|
209
|
-
});
|
|
175
|
+
await this.updateSyncRules(next.asUpdateOptions());
|
|
210
176
|
// Pro-actively stop replicating
|
|
211
177
|
await this.db.sql `
|
|
212
178
|
UPDATE sync_rules
|
|
@@ -219,10 +185,7 @@ export class PostgresBucketStorageFactory extends framework.BaseObserver {
|
|
|
219
185
|
}
|
|
220
186
|
else if (next == null && active?.id == sync_rules_group_id) {
|
|
221
187
|
// Slot removed for "active" sync rules, while there is no "next" one.
|
|
222
|
-
await this.updateSyncRules(
|
|
223
|
-
content: active.sync_rules_content,
|
|
224
|
-
validate: false
|
|
225
|
-
});
|
|
188
|
+
await this.updateSyncRules(active.asUpdateOptions());
|
|
226
189
|
// Pro-actively stop replicating, but still serve clients with existing data
|
|
227
190
|
await this.db.sql `
|
|
228
191
|
UPDATE sync_rules
|
|
@@ -246,11 +209,6 @@ export class PostgresBucketStorageFactory extends framework.BaseObserver {
|
|
|
246
209
|
`.execute();
|
|
247
210
|
}
|
|
248
211
|
}
|
|
249
|
-
// TODO possibly share via abstract class
|
|
250
|
-
async getActiveSyncRules(options) {
|
|
251
|
-
const content = await this.getActiveSyncRulesContent();
|
|
252
|
-
return content?.parsed(options) ?? null;
|
|
253
|
-
}
|
|
254
212
|
async getActiveSyncRulesContent() {
|
|
255
213
|
const activeRow = await this.db.sql `
|
|
256
214
|
SELECT
|
|
@@ -272,11 +230,6 @@ export class PostgresBucketStorageFactory extends framework.BaseObserver {
|
|
|
272
230
|
}
|
|
273
231
|
return new PostgresPersistedSyncRulesContent(this.db, activeRow);
|
|
274
232
|
}
|
|
275
|
-
// TODO possibly share via abstract class
|
|
276
|
-
async getNextSyncRules(options) {
|
|
277
|
-
const content = await this.getNextSyncRulesContent();
|
|
278
|
-
return content?.parsed(options) ?? null;
|
|
279
|
-
}
|
|
280
233
|
async getNextSyncRulesContent() {
|
|
281
234
|
const nextRow = await this.db.sql `
|
|
282
235
|
SELECT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresBucketStorageFactory.js","sourceRoot":"","sources":["../../src/storage/PostgresBucketStorageFactory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PostgresBucketStorageFactory.js","sourceRoot":"","sources":["../../src/storage/PostgresBucketStorageFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,12 +19,6 @@ export class PostgresReportStorage {
|
|
|
19
19
|
connectionCreated: async (connection) => this.prepareStatements(connection)
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
async getLastSyncReport(data) {
|
|
23
|
-
throw new Error('Method not implemented.');
|
|
24
|
-
}
|
|
25
|
-
async getSyncBucketStats(data) {
|
|
26
|
-
throw new Error('Method not implemented.');
|
|
27
|
-
}
|
|
28
22
|
parseJsDate(date) {
|
|
29
23
|
const year = date.getUTCFullYear();
|
|
30
24
|
const month = date.getUTCMonth();
|
|
@@ -158,12 +152,6 @@ export class PostgresReportStorage {
|
|
|
158
152
|
}
|
|
159
153
|
};
|
|
160
154
|
}
|
|
161
|
-
getSyncCheckpoint(data) {
|
|
162
|
-
throw new Error('Method not implemented.');
|
|
163
|
-
}
|
|
164
|
-
async reportSyncAnalyticsEvent(data) {
|
|
165
|
-
console.log(data);
|
|
166
|
-
}
|
|
167
155
|
async reportClientConnection(data) {
|
|
168
156
|
const { sdk, connected_at, user_id, user_agent, jwt_exp, client_id } = data;
|
|
169
157
|
const connectIsoString = connected_at.toISOString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresReportStorage.js","sourceRoot":"","sources":["../../src/storage/PostgresReportStorage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAuB,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAOrD,MAAM,OAAO,qBAAqB;IAEV;IADb,EAAE,CAA8B;IACzC,YAAsB,OAAqC;QAArC,YAAO,GAAP,OAAO,CAA8B;QACzD,IAAI,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC;YACxC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,mBAAmB;YAC3B,eAAe,EAAE,yBAAyB,EAAE;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC;YACvB,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;SAC5E,CAAC,CAAC;IACL,CAAC;
|
|
1
|
+
{"version":3,"file":"PostgresReportStorage.js","sourceRoot":"","sources":["../../src/storage/PostgresReportStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as lib_postgres from '@powersync/lib-service-postgres';
|
|
2
2
|
import { BaseObserver, container, ErrorCode, errors, ReplicationAssertionError, ServiceAssertionError, ServiceError } from '@powersync/lib-services-framework';
|
|
3
|
-
import { storage, utils } from '@powersync/service-core';
|
|
3
|
+
import { deserializeReplicaId, storage, utils } from '@powersync/service-core';
|
|
4
4
|
import * as timers from 'timers/promises';
|
|
5
5
|
import * as t from 'ts-codec';
|
|
6
6
|
import { CurrentData } from '../../types/models/CurrentData.js';
|
|
@@ -143,17 +143,18 @@ export class PostgresBucketBatch extends BaseObserver {
|
|
|
143
143
|
processedCount += rows.length;
|
|
144
144
|
const decodedRows = rows.map((row) => codec.decode(row));
|
|
145
145
|
for (const value of decodedRows) {
|
|
146
|
+
const source_key = deserializeReplicaId(value.source_key);
|
|
146
147
|
persistedBatch.saveBucketData({
|
|
147
148
|
before_buckets: value.buckets,
|
|
148
149
|
evaluated: [],
|
|
149
150
|
table: sourceTable,
|
|
150
|
-
source_key
|
|
151
|
+
source_key
|
|
151
152
|
});
|
|
152
153
|
persistedBatch.saveParameterData({
|
|
153
154
|
existing_lookups: value.lookups,
|
|
154
155
|
evaluated: [],
|
|
155
156
|
table: sourceTable,
|
|
156
|
-
source_key
|
|
157
|
+
source_key
|
|
157
158
|
});
|
|
158
159
|
persistedBatch.deleteCurrentData({
|
|
159
160
|
// This is serialized since we got it from a DB query
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresBucketBatch.js","sourceRoot":"","sources":["../../../src/storage/batch/PostgresBucketBatch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostgresBucketBatch.js","sourceRoot":"","sources":["../../../src/storage/batch/PostgresBucketBatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,SAAS,EACT,SAAS,EACT,MAAM,EAEN,yBAAyB,EACzB,qBAAqB,EACrB,YAAY,EACb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEL,oBAAoB,EAEpB,OAAO,EACP,KAAK,EACN,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAC9B,OAAO,EAAiB,WAAW,EAAsB,MAAM,mCAAmC,CAAC;AACnG,OAAO,EAAE,MAAM,EAAgC,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAsBrE;;;GAGG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AAG3G;;;GAGG;AACH,MAAM,YAAY,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtC,MAAM,OAAO,mBACX,SAAQ,YAAgD;IAwBlC;IArBd,MAAM,CAAS;IAEhB,eAAe,GAAwB,IAAI,CAAC;IAE5C,aAAa,CAAgB;IAE1B,EAAE,CAA8B;IAChC,QAAQ,CAAS;IACjB,mBAAmB,CAAgB;IACnC,wBAAwB,CAAS;IAEjC,YAAY,CAAsB;IAElC,sBAAsB,CAAyC;IACtD,UAAU,CAA+B;IAClD,KAAK,CAAwB;IAC/B,uBAAuB,GAAG,CAAC,CAAC;IAC5B,qBAAqB,CAAiD;IACtE,eAAe,GAAG,IAAI,CAAC;IACvB,YAAY,GAAG,KAAK,CAAC;IAE7B,YAAsB,OAAmC;QACvD,KAAK,EAAE,CAAC;QADY,YAAO,GAAP,OAAO,CAA4B;QAEvD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,KAAK,CAAC,cAAc,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAA2B;QACpC,uCAAuC;QACvC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,CAC3B,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACpB,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE;oBACJ,EAAE,EAAE,GAAG;oBACP,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;oBAC/F,MAAM,EAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;iBACpG;gBACD,KAAK;aACN,CAAC,CACH,CAAC;QACJ,CAAC;QACD;;WAEG;QACH,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAEnF,IAAI,CAAC,KAAK,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,mDAAmD;YACnD,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAmC;QAChD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,OAAO,GAAwB,IAAI,CAAC;QACxC,KAAK,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YAC/B,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,OAAO;gBACL,UAAU,EAAE,OAAO;aACpB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,WAAgC;QAC7D,0FAA0F;QAC1F,yFAAyF;QACzF,MAAM,WAAW,GAAG,IAAI,CAAC;QACzB,IAAI,cAAc,GAAG,WAAW,CAAC;QACjC,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QAE7E,OAAO,cAAc,IAAI,WAAW,EAAE,CAAC;YACrC,cAAc,GAAG,CAAC,CAAC;YACnB,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBACjD,MAAM,cAAc,GAAG,IAAI,sBAAsB,CAAC;oBAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;iBAC7B,CAAC,CAAC;gBAEH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,UAAU,CAA0B,GAAG,CAAA;;;;;;;;yBAQlD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;iCAC9B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE;;cAE7D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;SACzC,CAAC,EAAE,CAAC;oBACH,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;oBAC9B,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC;oBAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;wBAChC,MAAM,UAAU,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;wBAC1D,cAAc,CAAC,cAAc,CAAC;4BAC5B,cAAc,EAAE,KAAK,CAAC,OAAO;4BAC7B,SAAS,EAAE,EAAE;4BACb,KAAK,EAAE,WAAW;4BAClB,UAAU;yBACX,CAAC,CAAC;wBACH,cAAc,CAAC,iBAAiB,CAAC;4BAC/B,gBAAgB,EAAE,KAAK,CAAC,OAAO;4BAC/B,SAAS,EAAE,EAAE;4BACb,KAAK,EAAE,WAAW;4BAClB,UAAU;yBACX,CAAC,CAAC;wBACH,cAAc,CAAC,iBAAiB,CAAC;4BAC/B,qDAAqD;4BACrD,qBAAqB,EAAE,KAAK,CAAC,UAAU;4BACvC,eAAe,EAAE,WAAW,CAAC,EAAE;yBAChC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACtD,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,6CAA6C;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,YAAmC;QAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,MAAM,EAAE,CAAC,GAAG,CAAA;;;mBAGD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;SAC9C,CAAC,OAAO,EAAE,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,MAAM,GAAiC,IAAI,CAAC;QAChD,qDAAqD;QACrD,wCAAwC;QACxC,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,EAAE,CAAC;gBACN,MAAM,GAAG,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QACD,MAAM,iCAAiC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC9E,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,4BAA4B;QAC5B,qEAAqE;QACrE,0CAA0C;QAC1C,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,WAAW,GAA0B,IAAI,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAChE,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAEnD,OAAO,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,6CAA6C;QAC7C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;QAEzB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,qBAAqB,CAAC,4BAA4B,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,OAA0C;QAClE,MAAM,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,mCAAmC,EAAE,GAAG,OAAO,EAAE,CAAC;QAElG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvE,qEAAqE;YACrE,oCAAoC;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,wBAAwB,CAAC,CAAC;YACxE,gDAAgD;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,uBAAuB,GAAG,KAAK,EAAE,CAAC;gBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iBAAiB,IAAI,CAAC,wBAAwB,6CAA6C,GAAG,mBAAmB,IAAI,CAAC,YAAY,EAAE,CACrI,CAAC;gBACF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5C,CAAC;YAED,iFAAiF;YACjF,0CAA0C;YAC1C,kEAAkE;YAClE,gEAAgE;YAChE,mCAAmC;YAEnC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAA;;;2BAGI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;;iBAEpD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;OAChD,CAAC,OAAO,EAAE,CAAC;YAEZ,gDAAgD;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YACzD,kCAAkC;YAClC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAA8B;YACxC,mBAAmB,EAAE,GAAG;YACxB,kBAAkB,EAAE,GAAG;YACvB,iBAAiB,EAAE,GAAG;YACtB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAA;;;yBAGR,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE;6BACxC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;0BACtD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;;8BAEzC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,iBAAiB,EAAE;;YAEjE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE;;;+BAG5B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,kBAAkB,EAAE;gCAC/C,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,mBAAmB,EAAE;;eAEvE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;;;;;;KAMhD;aACE,OAAO,CAAC,kBAAkB,CAAC;aAC3B,KAAK,EAAE,CAAC;QAEX,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,GAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACvE,QAAQ;YACR,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;YAC9B,sEAAsE;YACtE,2BAA2B;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAC7E,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAA;;;0BAGX,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;;gCAEvB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;6BAClC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;8BAC/B,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;;eAE9D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;;;;;;KAMhD;aACE,OAAO,CAAC,kBAAkB,CAAC;aAC3B,KAAK,EAAE,CAAC;QAEX,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAQ,CAAC,CAAC;QAE/C,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAA;;;yBAGI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;;eAEzC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;KAChD,CAAC,OAAO,EAAE,CAAC;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAA6B,EAC7B,wBAAgC;QAEhC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvD,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,MAAM,EAAE,CAAC,GAAG,CAAA;;;4BAGU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;;;;;;;;;qCASpB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE;;OAE3D,CAAC,OAAO,EAAE,CAAC;YAEZ,IAAI,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC7D,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;gBAEzD,MAAM,EAAE,CAAC,GAAG,CAAA;;;qCAGiB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,EAAE;kCACvD,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;;mBAE9D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;SAChD,CAAC,OAAO,EAAE,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC;gBACnC,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAA0B,EAC1B,QAA8C;QAE9C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG;YACrB,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB,IAAI,IAAI,CAAC,cAAc,EAAE,mBAAmB,IAAI,CAAC;YAClG,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE,eAAe,IAAI,CAAC;YACtF,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,IAAI;SAClE,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAA;;;2CAGsB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,mBAAmB,EAAE;sCAChE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE;8BAC/D,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE;;eAE/D,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;KAC9C,CAAC,OAAO,EAAE,CAAC;QAEZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB,CAAC,UAAuD;QAC9E,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAC/B,GAAG,UAAU;YACb,aAAa,EAAE,IAAI,CAAC,QAAQ;SAC7B,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,EAAkC,EAAE,KAAqB;QACtF,IAAI,KAAK,GAAoC,SAAS,CAAC;QACvD,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACxE,yEAAyE;YACzE,gCAAgC;YAEhC,uEAAuE;YACvE,4CAA4C;YAE5C,kFAAkF;YAClF,2BAA2B;YAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxC,OAAO;oBACL,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE;oBAChD;;uBAEG;oBACH,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACnE,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;YAElC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,UAAU,CAInC,YAAY,CAAC,GAAG,CAAA;;;;;;;qCAOY,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;;;;;;;;;;;yBAWjD,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;OACxD,CAAC,EAAE,CAAC;gBACH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;oBACvD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,IAAI,WAAW,GAA0B,IAAI,CAAC;QAC9C,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,mCAAmC;QACnC,sDAAsD;QACtD,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,WAAW,EAAE,CAAC;gBAChB,8DAA8D;gBAC9D,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;oBACjB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,OAAO;oBACL,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;oBACrC,UAAU,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACnE,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA8B,CAAC;YAClE,IAAI,KAAK,EAAE,MAAM,eAAe,IAAI,EAAE,CAAC,UAAU,CAAc;gBAC7D,SAAS,EAAE,SAAS,CAAC;;cAEf,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,KAAK;;;;;;;;;;;;;SAa7E;gBACD,MAAM,EAAE;oBACN;wBACE,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,OAAO;qBACf;oBACD;wBACE,IAAI,EAAE,MAAM;wBACZ,KAAK,EAAE,IAAI,CAAC,QAAQ;qBACrB;iBACF;aACF,CAAC,EAAE,CAAC;gBACH,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB;wBAC7C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;wBAC/D,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC5B,mBAAmB,CAAC,GAAG,CACrB,eAAe,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,EACzD,OAA6B,CAC9B,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,cAAc,GAAkC,IAAI,sBAAsB,CAAC;gBAC7E,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY;aAC7B,CAAC,CAAC;YAEH,KAAK,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBACnB,6DAA6D;gBAC7D,IAAI,WAAW,EAAE,CAAC;oBAChB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrB,SAAS;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC;gBAC1E,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,4EAA4E;oBAC5E,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC;gBACnD,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAe,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;gBAC5E,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBACrB,yCAAyC;oBACzC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAiB,EAAE,QAAQ,CAAC,CAAC;oBACxD,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,gBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7D,CAAC;gBAED,IAAI,cAAe,CAAC,sBAAsB,EAAE,EAAE,CAAC;oBAC7C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,cAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACvD,QAAQ,KAAK,UAAU,CAAC;oBACxB,6EAA6E;oBAC7E,cAAc,GAAG,IAAI,CAAC;oBACtB,+DAA+D;oBAC/D,WAAW,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB;;;mBAGG;gBACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACtD,QAAQ,KAAK,UAAU,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;QAED,6BAA6B;QAC7B,IAAI,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,KAAK,CAAC,aAAa,CAC3B,cAAsC,EACtC,SAA0B,EAC1B,WAAuC;QAEvC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QAChC,wCAAwC;QACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACpC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;QAClC,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QAEvC,IAAI,eAAe,GAAoB,EAAE,CAAC;QAC1C,IAAI,UAAU,GAAoB,EAAE,CAAC;QACrC,IAAI,eAAe,GAA0B,EAAE,CAAC;QAChD,IAAI,UAAU,GAA0B,EAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;gBAClD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,uDAAuD;oBACvD,2EAA2E;oBAC3E,0BAA0B;oBAC1B,wBAAwB;oBACxB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,yBAAyB,CAAC,GAAG,MAAM,CAAC,GAAG,4CAA4C,CAAC,CAAC;YACjG,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,WAAW,CAAC;YAC3B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,4CAA4C;gBAC5C,eAAe,GAAG,EAAE,CAAC;gBACrB,eAAe,GAAG,EAAE,CAAC;gBACrB,8DAA8D;gBAE9D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;oBACpC,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,EAAE,CAAC;wBACvC,kDAAkD;wBAClD,kFAAkF;wBAClF,sCAAsC;wBACtC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,8DAA8D;wBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6CAA6C,MAAM,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CACpH,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;gBACjC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;gBACjC,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;oBACpC,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAyB,CAAC;oBAC1E,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,KAAM,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,WAAW,CAAC;YAC3B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBACnB,4CAA4C;gBAC5C,eAAe,GAAG,EAAE,CAAC;gBACrB,eAAe,GAAG,EAAE,CAAC;gBACrB,8DAA8D;gBAC9D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,EAAE,CAAC;oBAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6CAA6C,MAAM,CAAC,WAAW,CAAC,aAAa,KAAK,QAAQ,MAAM,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CACpH,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;gBACjC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;YACnC,CAAC;QACH,CAAC;QAED,IAAI,SAA0C,CAAC;QAC/C,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACxD,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACzC,IAAI,SAAU,CAAC,UAAU,GAAG,YAAY,EAAE,CAAC;oBACzC,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,kBAAkB,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;gBAC3F,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,wDAAwD;gBACxD,KAAK,GAAG,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBAC1C,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAC1B,CAAC,CAAC,CACH,CAAC;gBACF,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAEzC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,mBAAmB,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,EACvF;oBACE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;oBACnC,QAAQ,EAAE;wBACR,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;wBACxC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa;qBACxC;iBACF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,QAAQ,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACzF,oBAAoB;YACpB,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,oBAAoB;gBACpB,cAAc,CAAC,cAAc,CAAC;oBAC5B,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,WAAW;oBAClB,cAAc,EAAE,eAAe;oBAC/B,SAAS,EAAE,EAAE;iBACd,CAAC,CAAC;gBACH,4DAA4D;gBAC5D,eAAe,GAAG,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC/B,wBAAwB;gBACxB,cAAc,CAAC,iBAAiB,CAAC;oBAC/B,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,WAAW;oBAClB,SAAS,EAAE,EAAE;oBACb,gBAAgB,EAAE,eAAe;iBAClC,CAAC,CAAC;gBACH,eAAe,GAAG,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,EAAE;QACF,gFAAgF;QAChF,2DAA2D;QAC3D,EAAE;QACF,uEAAuE;QACvE,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC;YACpF,mBAAmB;YACnB,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC;oBACvF,MAAM,EAAE,KAAK;oBACb,WAAW;iBACZ,CAAC,CAAC;gBAEH,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;oBAC/B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,oCAAoC,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,EAC1G;wBACE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;wBACnC,QAAQ,EAAE;4BACR,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;4BACxC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa;yBACxC;qBACF,CACF,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oCAAoC,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CAC3G,CAAC;gBACJ,CAAC;gBAED,eAAe;gBACf,cAAc,CAAC,cAAc,CAAC;oBAC5B,UAAU,EAAE,OAAO;oBACnB,SAAS;oBACT,KAAK,EAAE,WAAW;oBAClB,cAAc,EAAE,eAAe;iBAChC,CAAC,CAAC;gBAEH,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC/B,OAAO;wBACL,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,EAAE,EAAE,CAAC,CAAC,EAAE;qBACT,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;gBAC/B,aAAa;gBACb,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,8BAA8B,CACrG,WAAW,EACX,KAAK,CACN,CAAC;gBAEF,KAAK,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;oBAC9B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAC/B,yCAAyC,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,EAC/G;wBACE,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO;wBACnC,QAAQ,EAAE;4BACR,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;4BACxC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa;yBACxC;qBACF,CACF,CAAC;oBACF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yCAAyC,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,CACxG,CAAC;gBACJ,CAAC;gBAED,cAAc,CAAC,iBAAiB,CAAC;oBAC/B,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,WAAW;oBAClB,SAAS,EAAE,cAAc;oBACzB,gBAAgB,EAAE,eAAe;iBAClC,CAAC,CAAC;gBAEH,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACpC,OAAO,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAA8B,IAAI,CAAC;QAE7C,iDAAiD;QACjD,IAAI,OAAO,EAAE,CAAC;YACZ,mBAAmB;YACnB,MAAM,GAAG;gBACP,UAAU,EAAE,OAAO;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,SAAU;gBAChB,YAAY,EAAE,WAAW,CAAC,EAAE;gBAC5B,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,UAAU;aACpB,CAAC;YACF,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YACnE,wEAAwE;YACxE,cAAc,CAAC,iBAAiB,CAAC;gBAC/B,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE;gBACtC,UAAU,EAAE,QAAS;aACtB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,YAAY,CAAC,GAAW;QACpC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,oBAAoB;YACpB,OAAO;QACT,CAAC;QAED,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;iBAMtB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;OAChD;iBACE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC1C,KAAK,EAAE,CAAC;YAEX,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC3E,MAAM,EAAE,CAAC,GAAG,CAAA;;;sBAGE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE;;mBAE3D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;SAChD,CAAC,OAAO,EAAE,CAAC;gBACZ,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAED,MAAM,EAAE,CAAC,GAAG,CAAA;;;oBAGE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE;;;sBAGpD,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;yBACrD,EAAE,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;;sBAE5D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;OACrD,CAAC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACO,cAAc,CAAC,KAA0B;QACjD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACrD,CAAC,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC7E,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,0BAA0B,CACxC,QAA4D;QAE5D,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBAC5C,OAAO,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAA;;;gCAGS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;;iBAE9D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;OAChD,CAAC,OAAO,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,KAA4E,IAAI,CAAC,EAAE;QAEnF,kHAAkH;QAClH,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,CAAC,GAAG,CAAA;;;6BAGa,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;;eAE9C,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;KAChD,CAAC,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,EAA2C;QAC3E,4EAA4E;QAC5E,+FAA+F;QAC/F,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,GAAG,CAAA;;;;;;;;;;KAU5B,CAAC,KAAK,EAAqB,CAAC;QAC7B,OAAO,QAAS,CAAC,KAAK,CAAC;IACzB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,EAA+B,EAAE,MAAiC,EAAE,EAAE;IAChH,IAAI,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO;IACT,CAAC;IAED,MAAM,EAAE,CAAC,KAAK,CAAC;QACb,SAAS,EAAE,UAAU,oBAAoB,MAAM,MAAM,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,GAAG;KAC5H,CAAC,CAAC;AACL,CAAC,CAAC"}
|