velocious 1.0.504 → 1.0.506

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.
Files changed (44) hide show
  1. package/build/configuration-types.js +2 -0
  2. package/build/configuration.js +11 -3
  3. package/build/database/drivers/sqlite/table-rebuilder.js +35 -0
  4. package/build/src/configuration-types.d.ts +10 -0
  5. package/build/src/configuration-types.d.ts.map +1 -1
  6. package/build/src/configuration-types.js +3 -1
  7. package/build/src/configuration.d.ts.map +1 -1
  8. package/build/src/configuration.js +12 -4
  9. package/build/src/database/drivers/sqlite/table-rebuilder.d.ts.map +1 -1
  10. package/build/src/database/drivers/sqlite/table-rebuilder.js +31 -1
  11. package/build/src/sync/query-scope.d.ts +6 -1
  12. package/build/src/sync/query-scope.d.ts.map +1 -1
  13. package/build/src/sync/query-scope.js +9 -3
  14. package/build/src/sync/sync-client-types.d.ts +18 -0
  15. package/build/src/sync/sync-client-types.d.ts.map +1 -1
  16. package/build/src/sync/sync-client-types.js +1 -1
  17. package/build/src/sync/sync-client.d.ts +61 -0
  18. package/build/src/sync/sync-client.d.ts.map +1 -1
  19. package/build/src/sync/sync-client.js +112 -2
  20. package/build/src/sync/sync-realtime-bridge.d.ts +20 -6
  21. package/build/src/sync/sync-realtime-bridge.d.ts.map +1 -1
  22. package/build/src/sync/sync-realtime-bridge.js +52 -18
  23. package/build/src/sync/sync-resource-base.d.ts +20 -0
  24. package/build/src/sync/sync-resource-base.d.ts.map +1 -1
  25. package/build/src/sync/sync-resource-base.js +19 -1
  26. package/build/src/sync/sync-websocket-channel.d.ts +32 -0
  27. package/build/src/sync/sync-websocket-channel.d.ts.map +1 -1
  28. package/build/src/sync/sync-websocket-channel.js +73 -2
  29. package/build/sync/query-scope.js +9 -2
  30. package/build/sync/sync-client-types.js +10 -0
  31. package/build/sync/sync-client.js +125 -1
  32. package/build/sync/sync-realtime-bridge.js +52 -17
  33. package/build/sync/sync-resource-base.js +21 -0
  34. package/build/sync/sync-websocket-channel.js +80 -1
  35. package/package.json +1 -1
  36. package/src/configuration-types.js +2 -0
  37. package/src/configuration.js +11 -3
  38. package/src/database/drivers/sqlite/table-rebuilder.js +35 -0
  39. package/src/sync/query-scope.js +9 -2
  40. package/src/sync/sync-client-types.js +10 -0
  41. package/src/sync/sync-client.js +125 -1
  42. package/src/sync/sync-realtime-bridge.js +52 -17
  43. package/src/sync/sync-resource-base.js +21 -0
  44. package/src/sync/sync-websocket-channel.js +80 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table-rebuilder.d.ts","sourceRoot":"","sources":["../../../../../src/database/drivers/sqlite/table-rebuilder.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH;IACE;;;;;;;OAOG;IACH,sFALG;QAA2C,MAAM,EAAzC,OAAO,YAAY,EAAE,OAAO;QACf,iBAAiB,EAA9B,MAAM;QACU,eAAe,EAA/B,SAAS;QACqB,WAAW,EAAzC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,EAUA;IAJC,qCAAoB;IACpB,0BAA0C;IAC1C,2BAAsC;IACtC,gCAA8B;IAGhC;;;OAGG;IACH,UAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CAkD7B;CACF;sBA3FqB,2BAA2B"}
1
+ {"version":3,"file":"table-rebuilder.d.ts","sourceRoot":"","sources":["../../../../../src/database/drivers/sqlite/table-rebuilder.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;GAeG;AACH;IACE;;;;;;;OAOG;IACH,sFALG;QAA2C,MAAM,EAAzC,OAAO,YAAY,EAAE,OAAO;QACf,iBAAiB,EAA9B,MAAM;QACU,eAAe,EAA/B,SAAS;QACqB,WAAW,EAAzC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,EAUA;IAJC,qCAAoB;IACpB,0BAA0C;IAC1C,2BAAsC;IACtC,gCAA8B;IAGhC;;;OAGG;IACH,UAFa,OAAO,CAAC,MAAM,EAAE,CAAC,CAqF7B;CACF;sBA9HqB,2BAA2B"}
@@ -47,6 +47,21 @@ export default class VelociousDatabaseDriversSqliteTableRebuilder {
47
47
  const tempTableName = `${originalTableName}_velocious_rebuild`;
48
48
  const targetTableData = this.targetTableData;
49
49
  const previousTargetName = targetTableData.getName();
50
+ // Column-level `index: true` indexes are named after the table they are created with, and
51
+ // ALTER TABLE ... RENAME does not rename indexes - creating them inside the temp table's
52
+ // CREATE would leak the temp rebuild name permanently. Strip the flags for the temp CREATE
53
+ // and create those indexes explicitly on the temp table with their FINAL names BEFORE the
54
+ // copy: index names are database-global and survive the rename, and a violation (e.g. a new
55
+ // unique index over rows that all receive the same default) fails during INSERT...SELECT,
56
+ // while the original table still exists - never after the swap.
57
+ /** @type {Array<{column: import("../../table-data/table-column.js").default, index: ?, indexArgs: ?}>} */
58
+ const strippedColumnIndexes = [];
59
+ for (const column of targetTableData.getColumns()) {
60
+ if (!column.getIndex())
61
+ continue;
62
+ strippedColumnIndexes.push({ column, index: column.getIndex(), indexArgs: column.getIndexArgs() });
63
+ column.setIndex(false);
64
+ }
50
65
  targetTableData.setName(tempTableName);
51
66
  let createTableSQLs;
52
67
  try {
@@ -54,12 +69,27 @@ export default class VelociousDatabaseDriversSqliteTableRebuilder {
54
69
  }
55
70
  finally {
56
71
  targetTableData.setName(previousTargetName);
72
+ for (const { column, index } of strippedColumnIndexes)
73
+ column.setIndex(index);
57
74
  }
58
75
  const newColumnsSQL = this.columnPairs.map(([, newName]) => options.quoteColumnName(newName)).join(", ");
59
76
  const oldColumnsSQL = this.columnPairs.map(([oldName]) => options.quoteColumnName(oldName)).join(", ");
60
77
  const sqls = [];
61
78
  for (const sql of createTableSQLs)
62
79
  sqls.push(sql);
80
+ for (const { column, indexArgs } of strippedColumnIndexes) {
81
+ const { unique, ...restIndexArgs } = indexArgs || {};
82
+ restArgsError(restIndexArgs);
83
+ const createIndexSQLs = await new CreateIndexBase({
84
+ columns: [column.getName()],
85
+ driver,
86
+ name: `index_on_${originalTableName}_${column.getName()}`,
87
+ tableName: tempTableName,
88
+ unique
89
+ }).toSQLs();
90
+ for (const sql of createIndexSQLs)
91
+ sqls.push(sql);
92
+ }
63
93
  if (this.columnPairs.length > 0) {
64
94
  sqls.push(`INSERT INTO ${options.quoteTableName(tempTableName)} (${newColumnsSQL}) ` +
65
95
  `SELECT ${oldColumnsSQL} FROM ${options.quoteTableName(originalTableName)}`);
@@ -80,4 +110,4 @@ export default class VelociousDatabaseDriversSqliteTableRebuilder {
80
110
  return sqls;
81
111
  }
82
112
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVidWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL2RyaXZlcnMvc3FsaXRlL3RhYmxlLXJlYnVpbGRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxlQUFlLE1BQU0sa0NBQWtDLENBQUE7QUFDOUQsT0FBTyxhQUFhLE1BQU0sbUNBQW1DLENBQUE7QUFDN0QsT0FBTyxTQUFTLE1BQU0sMkJBQTJCLENBQUE7QUFFakQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sT0FBTyw0Q0FBNEM7SUFDL0Q7Ozs7Ozs7T0FPRztJQUNILFlBQVksRUFBQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxHQUFHLFFBQVEsRUFBQztRQUNoRixhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLENBQUMsZUFBZSxZQUFZLFNBQVMsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtRQUVuRyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUE7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUE7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxNQUFNO1FBQ1YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUE7UUFDaEQsTUFBTSxhQUFhLEdBQUcsR0FBRyxpQkFBaUIsb0JBQW9CLENBQUE7UUFDOUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQTtRQUM1QyxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUVwRCxlQUFlLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBRXRDLElBQUksZUFBZSxDQUFBO1FBRW5CLElBQUksQ0FBQztZQUNILGVBQWUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDaEUsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsZUFBZSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO1FBQzdDLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4RyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFdEcsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFBO1FBRWYsS0FBSyxNQUFNLEdBQUcsSUFBSSxlQUFlO1lBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVqRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQ1AsZUFBZSxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxLQUFLLGFBQWEsSUFBSTtnQkFDMUUsVUFBVSxhQUFhLFNBQVMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQzVFLENBQUE7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLE9BQU8sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLE9BQU8sQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLGNBQWMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUV4SCxLQUFLLE1BQU0sY0FBYyxJQUFJLGVBQWUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQzFELE1BQU0sZUFBZSxHQUFHLE1BQU0sSUFBSSxlQUFlLENBQUM7Z0JBQ2hELE9BQU8sRUFBRSxjQUFjLENBQUMsVUFBVSxFQUFFO2dCQUNwQyxNQUFNO2dCQUNOLElBQUksRUFBRSxjQUFjLENBQUMsT0FBTyxFQUFFO2dCQUM5QixTQUFTLEVBQUUsaUJBQWlCO2dCQUM1QixNQUFNLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRTthQUNuQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7WUFFWCxLQUFLLE1BQU0sR0FBRyxJQUFJLGVBQWU7Z0JBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNuRCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IENyZWF0ZUluZGV4QmFzZSBmcm9tIFwiLi4vLi4vcXVlcnkvY3JlYXRlLWluZGV4LWJhc2UuanNcIlxuaW1wb3J0IHJlc3RBcmdzRXJyb3IgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3Jlc3QtYXJncy1lcnJvci5qc1wiXG5pbXBvcnQgVGFibGVEYXRhIGZyb20gXCIuLi8uLi90YWJsZS1kYXRhL2luZGV4LmpzXCJcblxuLyoqXG4gKiBFbWl0cyB0aGUgU1FMIHNlcXVlbmNlIGZvciBTUUxpdGUncyBcInJlYnVpbGRcIiBhcHByb2FjaCB0byBzY2hlbWEgY2hhbmdlcy5cbiAqXG4gKiBTUUxpdGUgY2Fubm90IGFkZC9kcm9wIGZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzLCBkcm9wIGNvbHVtbnMgb24gb2xkZXJcbiAqIHZlcnNpb25zLCBjaGFuZ2UgY29sdW1uIHR5cGVzLCBvciBhZGQgQ0hFQ0sgY29uc3RyYWludHMgdmlhIEFMVEVSIFRBQkxFLlxuICogVGhlIHN0YW5kYXJkIHdvcmthcm91bmQgKGh0dHBzOi8vc3FsaXRlLm9yZy9sYW5nX2FsdGVydGFibGUuaHRtbCkgaXMgdG9cbiAqIGNyZWF0ZSBhIG5ldyB0YWJsZSB3aXRoIHRoZSBkZXNpcmVkIHNjaGVtYSwgY29weSByb3dzIG92ZXIsIGRyb3AgdGhlXG4gKiBvcmlnaW5hbCwgYW5kIHJlbmFtZSB0aGUgcmVwbGFjZW1lbnQuXG4gKlxuICogQ2FsbGVyIHBhc3NlcyB0aGUgZGVzaXJlZCBmaW5hbCBzY2hlbWE7IHRoaXMgY2xhc3MgaGFuZGxlcyB0aGUgbWVjaGFuaWNhbFxuICogc2VxdWVuY2UgKENSRUFURSB0ZW1wIC8gSU5TRVJULi4uU0VMRUNUIC8gRFJPUCAvIFJFTkFNRSAvIHJlY3JlYXRlXG4gKiBpbmRleGVzKS4gQ2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBhbnkgRksgdG9nZ2xpbmcgb3IgdHJhbnNhY3Rpb24gc2V0dXBcbiAqIGFyb3VuZCB0aGUgcmV0dXJuZWQgU1FMIOKAlCBgUFJBR01BIGZvcmVpZ25fa2V5c2AgaXMgY29ubmVjdGlvbi1zY29wZWQgYW5kXG4gKiBjYW5ub3QgYmUgZmxpcHBlZCBpbnNpZGUgYSB0cmFuc2FjdGlvbiwgc28gd3JhcHBpbmcgcG9saWN5IGlzIGxlZnQgdG8gdGhlXG4gKiBjYWxsZXIgKHNlZSBgc3FsL2FsdGVyLXRhYmxlLmpzYCkuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlRHJpdmVyc1NxbGl0ZVRhYmxlUmVidWlsZGVyIHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vYmFzZS5qc1wiKS5kZWZhdWx0fSBhcmdzLmRyaXZlciAtIERhdGFiYXNlIGRyaXZlciBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3Mub3JpZ2luYWxUYWJsZU5hbWUgLSBOYW1lIG9mIHRoZSBleGlzdGluZyB0YWJsZSB0byByZWJ1aWxkLlxuICAgKiBAcGFyYW0ge1RhYmxlRGF0YX0gYXJncy50YXJnZXRUYWJsZURhdGEgLSBEZXNpcmVkIGZpbmFsIHNjaGVtYSAoY29sdW1ucyArIGZvcmVpZ24ga2V5cyArIGluZGV4ZXMpLiBUaGUgaW5zdGFuY2UncyBuYW1lIGlzIG92ZXJ3cml0dGVuIGludGVybmFsbHkgZHVyaW5nIGVtaXNzaW9uLlxuICAgKiBAcGFyYW0ge0FycmF5PFtzdHJpbmcsIHN0cmluZ10+fSBhcmdzLmNvbHVtblBhaXJzIC0gUGFpcnMgb2YgW29sZENvbHVtbk5hbWUsIG5ld0NvbHVtbk5hbWVdIGRlc2NyaWJpbmcgaG93IHJvd3MgZnJvbSB0aGUgb3JpZ2luYWwgdGFibGUgc2hvdWxkIHBvcHVsYXRlIHRoZSByZWJ1aWx0IHRhYmxlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2RyaXZlciwgb3JpZ2luYWxUYWJsZU5hbWUsIHRhcmdldFRhYmxlRGF0YSwgY29sdW1uUGFpcnMsIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoISh0YXJnZXRUYWJsZURhdGEgaW5zdGFuY2VvZiBUYWJsZURhdGEpKSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHRhcmdldCB0YWJsZSBkYXRhIHdhcyBnaXZlblwiKVxuXG4gICAgdGhpcy5kcml2ZXIgPSBkcml2ZXJcbiAgICB0aGlzLm9yaWdpbmFsVGFibGVOYW1lID0gb3JpZ2luYWxUYWJsZU5hbWVcbiAgICB0aGlzLnRhcmdldFRhYmxlRGF0YSA9IHRhcmdldFRhYmxlRGF0YVxuICAgIHRoaXMuY29sdW1uUGFpcnMgPSBjb2x1bW5QYWlyc1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgdG8gc3Fscy5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nW10+fSAtIFJlc29sdmVzIHdpdGggU1FMIHN0YXRlbWVudHMgdG8gZXhlY3V0ZSBpbiBvcmRlci5cbiAgICovXG4gIGFzeW5jIHRvU1FMcygpIHtcbiAgICBjb25zdCBkcml2ZXIgPSB0aGlzLmRyaXZlclxuICAgIGNvbnN0IG9wdGlvbnMgPSBkcml2ZXIub3B0aW9ucygpXG4gICAgY29uc3Qgb3JpZ2luYWxUYWJsZU5hbWUgPSB0aGlzLm9yaWdpbmFsVGFibGVOYW1lXG4gICAgY29uc3QgdGVtcFRhYmxlTmFtZSA9IGAke29yaWdpbmFsVGFibGVOYW1lfV92ZWxvY2lvdXNfcmVidWlsZGBcbiAgICBjb25zdCB0YXJnZXRUYWJsZURhdGEgPSB0aGlzLnRhcmdldFRhYmxlRGF0YVxuICAgIGNvbnN0IHByZXZpb3VzVGFyZ2V0TmFtZSA9IHRhcmdldFRhYmxlRGF0YS5nZXROYW1lKClcblxuICAgIHRhcmdldFRhYmxlRGF0YS5zZXROYW1lKHRlbXBUYWJsZU5hbWUpXG5cbiAgICBsZXQgY3JlYXRlVGFibGVTUUxzXG5cbiAgICB0cnkge1xuICAgICAgY3JlYXRlVGFibGVTUUxzID0gYXdhaXQgZHJpdmVyLmNyZWF0ZVRhYmxlU3FsKHRhcmdldFRhYmxlRGF0YSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGFyZ2V0VGFibGVEYXRhLnNldE5hbWUocHJldmlvdXNUYXJnZXROYW1lKVxuICAgIH1cblxuICAgIGNvbnN0IG5ld0NvbHVtbnNTUUwgPSB0aGlzLmNvbHVtblBhaXJzLm1hcCgoWywgbmV3TmFtZV0pID0+IG9wdGlvbnMucXVvdGVDb2x1bW5OYW1lKG5ld05hbWUpKS5qb2luKFwiLCBcIilcbiAgICBjb25zdCBvbGRDb2x1bW5zU1FMID0gdGhpcy5jb2x1bW5QYWlycy5tYXAoKFtvbGROYW1lXSkgPT4gb3B0aW9ucy5xdW90ZUNvbHVtbk5hbWUob2xkTmFtZSkpLmpvaW4oXCIsIFwiKVxuXG4gICAgY29uc3Qgc3FscyA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IHNxbCBvZiBjcmVhdGVUYWJsZVNRTHMpIHNxbHMucHVzaChzcWwpXG5cbiAgICBpZiAodGhpcy5jb2x1bW5QYWlycy5sZW5ndGggPiAwKSB7XG4gICAgICBzcWxzLnB1c2goXG4gICAgICAgIGBJTlNFUlQgSU5UTyAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGVtcFRhYmxlTmFtZSl9ICgke25ld0NvbHVtbnNTUUx9KSBgICtcbiAgICAgICAgYFNFTEVDVCAke29sZENvbHVtbnNTUUx9IEZST00gJHtvcHRpb25zLnF1b3RlVGFibGVOYW1lKG9yaWdpbmFsVGFibGVOYW1lKX1gXG4gICAgICApXG4gICAgfVxuXG4gICAgc3Fscy5wdXNoKGBEUk9QIFRBQkxFICR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZShvcmlnaW5hbFRhYmxlTmFtZSl9YClcbiAgICBzcWxzLnB1c2goYEFMVEVSIFRBQkxFICR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZSh0ZW1wVGFibGVOYW1lKX0gUkVOQU1FIFRPICR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZShvcmlnaW5hbFRhYmxlTmFtZSl9YClcblxuICAgIGZvciAoY29uc3QgdGFibGVEYXRhSW5kZXggb2YgdGFyZ2V0VGFibGVEYXRhLmdldEluZGV4ZXMoKSkge1xuICAgICAgY29uc3QgY3JlYXRlSW5kZXhTUUxzID0gYXdhaXQgbmV3IENyZWF0ZUluZGV4QmFzZSh7XG4gICAgICAgIGNvbHVtbnM6IHRhYmxlRGF0YUluZGV4LmdldENvbHVtbnMoKSxcbiAgICAgICAgZHJpdmVyLFxuICAgICAgICBuYW1lOiB0YWJsZURhdGFJbmRleC5nZXROYW1lKCksXG4gICAgICAgIHRhYmxlTmFtZTogb3JpZ2luYWxUYWJsZU5hbWUsXG4gICAgICAgIHVuaXF1ZTogdGFibGVEYXRhSW5kZXguZ2V0VW5pcXVlKClcbiAgICAgIH0pLnRvU1FMcygpXG5cbiAgICAgIGZvciAoY29uc3Qgc3FsIG9mIGNyZWF0ZUluZGV4U1FMcykgc3Fscy5wdXNoKHNxbClcbiAgICB9XG5cbiAgICByZXR1cm4gc3Fsc1xuICB9XG59XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVidWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGFiYXNlL2RyaXZlcnMvc3FsaXRlL3RhYmxlLXJlYnVpbGRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxlQUFlLE1BQU0sa0NBQWtDLENBQUE7QUFDOUQsT0FBTyxhQUFhLE1BQU0sbUNBQW1DLENBQUE7QUFDN0QsT0FBTyxTQUFTLE1BQU0sMkJBQTJCLENBQUE7QUFFakQ7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sT0FBTyw0Q0FBNEM7SUFDL0Q7Ozs7Ozs7T0FPRztJQUNILFlBQVksRUFBQyxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxHQUFHLFFBQVEsRUFBQztRQUNoRixhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLENBQUMsZUFBZSxZQUFZLFNBQVMsQ0FBQztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtRQUVuRyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUE7UUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUE7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxNQUFNO1FBQ1YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQTtRQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUE7UUFDaEQsTUFBTSxhQUFhLEdBQUcsR0FBRyxpQkFBaUIsb0JBQW9CLENBQUE7UUFDOUQsTUFB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QUMxRSxVQUFVLGFBQWEsU0FBUyxPQUFPLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FDNUUsQ0FBQTtRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNwRSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsY0FBYyxPQUFPLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBRXhILEtBQUssTUFBTSxjQUFjLElBQUksZUFBZSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDMUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxJQUFJLGVBQWUsQ0FBQztnQkFDaEQsT0FBTyxFQUFFLGNBQWMsQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BDLE1BQU07Z0JBQ04sSUFBSSxFQUFFLGNBQWMsQ0FBQyxPQUFPLEVBQUU7Z0JBQzlCLFNBQVMsRUFBRSxpQkFBaUI7Z0JBQzVCLE1BQU0sRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFO2FBQ25DLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtZQUVYLEtBQUssTUFBTSxHQUFHLElBQUksZUFBZTtnQkFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ25ELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgQ3JlYXRlSW5kZXhCYXNlIGZyb20gXCIuLi8uLi9xdWVyeS9jcmVhdGUtaW5kZXgtYmFzZS5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCBUYWJsZURhdGEgZnJvbSBcIi4uLy4uL3RhYmxlLWRhdGEvaW5kZXguanNcIlxuXG4vKipcbiAqIEVtaXRzIHRoZSBTUUwgc2VxdWVuY2UgZm9yIFNRTGl0ZSdzIFwicmVidWlsZFwiIGFwcHJvYWNoIHRvIHNjaGVtYSBjaGFuZ2VzLlxuICpcbiAqIFNRTGl0ZSBjYW5ub3QgYWRkL2Ryb3AgZm9yZWlnbi1rZXkgY29uc3RyYWludHMsIGRyb3AgY29sdW1ucyBvbiBvbGRlclxuICogdmVyc2lvbnMsIGNoYW5nZSBjb2x1bW4gdHlwZXMsIG9yIGFkZCBDSEVDSyBjb25zdHJhaW50cyB2aWEgQUxURVIgVEFCTEUuXG4gKiBUaGUgc3RhbmRhcmQgd29ya2Fyb3VuZCAoaHR0cHM6Ly9zcWxpdGUub3JnL2xhbmdfYWx0ZXJ0YWJsZS5odG1sKSBpcyB0b1xuICogY3JlYXRlIGEgbmV3IHRhYmxlIHdpdGggdGhlIGRlc2lyZWQgc2NoZW1hLCBjb3B5IHJvd3Mgb3ZlciwgZHJvcCB0aGVcbiAqIG9yaWdpbmFsLCBhbmQgcmVuYW1lIHRoZSByZXBsYWNlbWVudC5cbiAqXG4gKiBDYWxsZXIgcGFzc2VzIHRoZSBkZXNpcmVkIGZpbmFsIHNjaGVtYTsgdGhpcyBjbGFzcyBoYW5kbGVzIHRoZSBtZWNoYW5pY2FsXG4gKiBzZXF1ZW5jZSAoQ1JFQVRFIHRlbXAgLyBJTlNFUlQuLi5TRUxFQ1QgLyBEUk9QIC8gUkVOQU1FIC8gcmVjcmVhdGVcbiAqIGluZGV4ZXMpLiBDYWxsZXIgaXMgcmVzcG9uc2libGUgZm9yIGFueSBGSyB0b2dnbGluZyBvciB0cmFuc2FjdGlvbiBzZXR1cFxuICogYXJvdW5kIHRoZSByZXR1cm5lZCBTUUwg4oCUIGBQUkFHTUEgZm9yZWlnbl9rZXlzYCBpcyBjb25uZWN0aW9uLXNjb3BlZCBhbmRcbiAqIGNhbm5vdCBiZSBmbGlwcGVkIGluc2lkZSBhIHRyYW5zYWN0aW9uLCBzbyB3cmFwcGluZyBwb2xpY3kgaXMgbGVmdCB0byB0aGVcbiAqIGNhbGxlciAoc2VlIGBzcWwvYWx0ZXItdGFibGUuanNgKS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzRGF0YWJhc2VEcml2ZXJzU3FsaXRlVGFibGVSZWJ1aWxkZXIge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9iYXNlLmpzXCIpLmRlZmF1bHR9IGFyZ3MuZHJpdmVyIC0gRGF0YWJhc2UgZHJpdmVyIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5vcmlnaW5hbFRhYmxlTmFtZSAtIE5hbWUgb2YgdGhlIGV4aXN0aW5nIHRhYmxlIHRvIHJlYnVpbGQuXG4gICAqIEBwYXJhbSB7VGFibGVEYXRhfSBhcmdzLnRhcmdldFRhYmxlRGF0YSAtIERlc2lyZWQgZmluYWwgc2NoZW1hIChjb2x1bW5zICsgZm9yZWlnbiBrZXlzICsgaW5kZXhlcykuIFRoZSBpbnN0YW5jZSdzIG5hbWUgaXMgb3ZlcndyaXR0ZW4gaW50ZXJuYWxseSBkdXJpbmcgZW1pc3Npb24uXG4gICAqIEBwYXJhbSB7QXJyYXk8W3N0cmluZywgc3RyaW5nXT59IGFyZ3MuY29sdW1uUGFpcnMgLSBQYWlycyBvZiBbb2xkQ29sdW1uTmFtZSwgbmV3Q29sdW1uTmFtZV0gZGVzY3JpYmluZyBob3cgcm93cyBmcm9tIHRoZSBvcmlnaW5hbCB0YWJsZSBzaG91bGQgcG9wdWxhdGUgdGhlIHJlYnVpbHQgdGFibGUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7ZHJpdmVyLCBvcmlnaW5hbFRhYmxlTmFtZSwgdGFyZ2V0VGFibGVEYXRhLCBjb2x1bW5QYWlycywgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIGlmICghKHRhcmdldFRhYmxlRGF0YSBpbnN0YW5jZW9mIFRhYmxlRGF0YSkpIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgdGFyZ2V0IHRhYmxlIGRhdGEgd2FzIGdpdmVuXCIpXG5cbiAgICB0aGlzLmRyaXZlciA9IGRyaXZlclxuICAgIHRoaXMub3JpZ2luYWxUYWJsZU5hbWUgPSBvcmlnaW5hbFRhYmxlTmFtZVxuICAgIHRoaXMudGFyZ2V0VGFibGVEYXRhID0gdGFyZ2V0VGFibGVEYXRhXG4gICAgdGhpcy5jb2x1bW5QYWlycyA9IGNvbHVtblBhaXJzXG4gIH1cblxuICAvKipcbiAgICogUnVucyB0byBzcWxzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmdbXT59IC0gUmVzb2x2ZXMgd2l0aCBTUUwgc3RhdGVtZW50cyB0byBleGVjdXRlIGluIG9yZGVyLlxuICAgKi9cbiAgYXN5bmMgdG9TUUxzKCkge1xuICAgIGNvbnN0IGRyaXZlciA9IHRoaXMuZHJpdmVyXG4gICAgY29uc3Qgb3B0aW9ucyA9IGRyaXZlci5vcHRpb25zKClcbiAgICBjb25zdCBvcmlnaW5hbFRhYmxlTmFtZSA9IHRoaXMub3JpZ2luYWxUYWJsZU5hbWVcbiAgICBjb25zdCB0ZW1wVGFibGVOYW1lID0gYCR7b3JpZ2luYWxUYWJsZU5hbWV9X3ZlbG9jaW91c19yZWJ1aWxkYFxuICAgIGNvbnN0IHRhcmdldFRhYmxlRGF0YSA9IHRoaXMudGFyZ2V0VGFibGVEYXRhXG4gICAgY29uc3QgcHJldmlvdXNUYXJnZXROYW1lID0gdGFyZ2V0VGFibGVEYXRhLmdldE5hbWUoKVxuXG4gICAgLy8gQ29sdW1uLWxldmVsIGBpbmRleDogdHJ1ZWAgaW5kZXhlcyBhcmUgbmFtZWQgYWZ0ZXIgdGhlIHRhYmxlIHRoZXkgYXJlIGNyZWF0ZWQgd2l0aCwgYW5kXG4gICAgLy8gQUxURVIgVEFCTEUgLi4uIFJFTkFNRSBkb2VzIG5vdCByZW5hbWUgaW5kZXhlcyAtIGNyZWF0aW5nIHRoZW0gaW5zaWRlIHRoZSB0ZW1wIHRhYmxlJ3NcbiAgICAvLyBDUkVBVEUgd291bGQgbGVhayB0aGUgdGVtcCByZWJ1aWxkIG5hbWUgcGVybWFuZW50bHkuIFN0cmlwIHRoZSBmbGFncyBmb3IgdGhlIHRlbXAgQ1JFQVRFXG4gICAgLy8gYW5kIGNyZWF0ZSB0aG9zZSBpbmRleGVzIGV4cGxpY2l0bHkgb24gdGhlIHRlbXAgdGFibGUgd2l0aCB0aGVpciBGSU5BTCBuYW1lcyBCRUZPUkUgdGhlXG4gICAgLy8gY29weTogaW5kZXggbmFtZXMgYXJlIGRhdGFiYXNlLWdsb2JhbCBhbmQgc3Vydml2ZSB0aGUgcmVuYW1lLCBhbmQgYSB2aW9sYXRpb24gKGUuZy4gYSBuZXdcbiAgICAvLyB1bmlxdWUgaW5kZXggb3ZlciByb3dzIHRoYXQgYWxsIHJlY2VpdmUgdGhlIHNhbWUgZGVmYXVsdCkgZmFpbHMgZHVyaW5nIElOU0VSVC4uLlNFTEVDVCxcbiAgICAvLyB3aGlsZSB0aGUgb3JpZ2luYWwgdGFibGUgc3RpbGwgZXhpc3RzIC0gbmV2ZXIgYWZ0ZXIgdGhlIHN3YXAuXG4gICAgLyoqIEB0eXBlIHtBcnJheTx7Y29sdW1uOiBpbXBvcnQoXCIuLi8uLi90YWJsZS1kYXRhL3RhYmxlLWNvbHVtbi5qc1wiKS5kZWZhdWx0LCBpbmRleDogPywgaW5kZXhBcmdzOiA/fT59ICovXG4gICAgY29uc3Qgc3RyaXBwZWRDb2x1bW5JbmRleGVzID0gW11cblxuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIHRhcmdldFRhYmxlRGF0YS5nZXRDb2x1bW5zKCkpIHtcbiAgICAgIGlmICghY29sdW1uLmdldEluZGV4KCkpIGNvbnRpbnVlXG5cbiAgICAgIHN0cmlwcGVkQ29sdW1uSW5kZXhlcy5wdXNoKHtjb2x1bW4sIGluZGV4OiBjb2x1bW4uZ2V0SW5kZXgoKSwgaW5kZXhBcmdzOiBjb2x1bW4uZ2V0SW5kZXhBcmdzKCl9KVxuICAgICAgY29sdW1uLnNldEluZGV4KGZhbHNlKVxuICAgIH1cblxuICAgIHRhcmdldFRhYmxlRGF0YS5zZXROYW1lKHRlbXBUYWJsZU5hbWUpXG5cbiAgICBsZXQgY3JlYXRlVGFibGVTUUxzXG5cbiAgICB0cnkge1xuICAgICAgY3JlYXRlVGFibGVTUUxzID0gYXdhaXQgZHJpdmVyLmNyZWF0ZVRhYmxlU3FsKHRhcmdldFRhYmxlRGF0YSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGFyZ2V0VGFibGVEYXRhLnNldE5hbWUocHJldmlvdXNUYXJnZXROYW1lKVxuXG4gICAgICBmb3IgKGNvbnN0IHtjb2x1bW4sIGluZGV4fSBvZiBzdHJpcHBlZENvbHVtbkluZGV4ZXMpIGNvbHVtbi5zZXRJbmRleChpbmRleClcbiAgICB9XG5cbiAgICBjb25zdCBuZXdDb2x1bW5zU1FMID0gdGhpcy5jb2x1bW5QYWlycy5tYXAoKFssIG5ld05hbWVdKSA9PiBvcHRpb25zLnF1b3RlQ29sdW1uTmFtZShuZXdOYW1lKSkuam9pbihcIiwgXCIpXG4gICAgY29uc3Qgb2xkQ29sdW1uc1NRTCA9IHRoaXMuY29sdW1uUGFpcnMubWFwKChbb2xkTmFtZV0pID0+IG9wdGlvbnMucXVvdGVDb2x1bW5OYW1lKG9sZE5hbWUpKS5qb2luKFwiLCBcIilcblxuICAgIGNvbnN0IHNxbHMgPSBbXVxuXG4gICAgZm9yIChjb25zdCBzcWwgb2YgY3JlYXRlVGFibGVTUUxzKSBzcWxzLnB1c2goc3FsKVxuXG4gICAgZm9yIChjb25zdCB7Y29sdW1uLCBpbmRleEFyZ3N9IG9mIHN0cmlwcGVkQ29sdW1uSW5kZXhlcykge1xuICAgICAgY29uc3Qge3VuaXF1ZSwgLi4ucmVzdEluZGV4QXJnc30gPSBpbmRleEFyZ3MgfHwge31cblxuICAgICAgcmVzdEFyZ3NFcnJvcihyZXN0SW5kZXhBcmdzKVxuXG4gICAgICBjb25zdCBjcmVhdGVJbmRleFNRTHMgPSBhd2FpdCBuZXcgQ3JlYXRlSW5kZXhCYXNlKHtcbiAgICAgICAgY29sdW1uczogW2NvbHVtbi5nZXROYW1lKCldLFxuICAgICAgICBkcml2ZXIsXG4gICAgICAgIG5hbWU6IGBpbmRleF9vbl8ke29yaWdpbmFsVGFibGVOYW1lfV8ke2NvbHVtbi5nZXROYW1lKCl9YCxcbiAgICAgICAgdGFibGVOYW1lOiB0ZW1wVGFibGVOYW1lLFxuICAgICAgICB1bmlxdWVcbiAgICAgIH0pLnRvU1FMcygpXG5cbiAgICAgIGZvciAoY29uc3Qgc3FsIG9mIGNyZWF0ZUluZGV4U1FMcykgc3Fscy5wdXNoKHNxbClcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb2x1bW5QYWlycy5sZW5ndGggPiAwKSB7XG4gICAgICBzcWxzLnB1c2goXG4gICAgICAgIGBJTlNFUlQgSU5UTyAke29wdGlvbnMucXVvdGVUYWJsZU5hbWUodGVtcFRhYmxlTmFtZSl9ICgke25ld0NvbHVtbnNTUUx9KSBgICtcbiAgICAgICAgYFNFTEVDVCAke29sZENvbHVtbnNTUUx9IEZST00gJHtvcHRpb25zLnF1b3RlVGFibGVOYW1lKG9yaWdpbmFsVGFibGVOYW1lKX1gXG4gICAgICApXG4gICAgfVxuXG4gICAgc3Fscy5wdXNoKGBEUk9QIFRBQkxFICR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZShvcmlnaW5hbFRhYmxlTmFtZSl9YClcbiAgICBzcWxzLnB1c2goYEFMVEVSIFRBQkxFICR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZSh0ZW1wVGFibGVOYW1lKX0gUkVOQU1FIFRPICR7b3B0aW9ucy5xdW90ZVRhYmxlTmFtZShvcmlnaW5hbFRhYmxlTmFtZSl9YClcblxuICAgIGZvciAoY29uc3QgdGFibGVEYXRhSW5kZXggb2YgdGFyZ2V0VGFibGVEYXRhLmdldEluZGV4ZXMoKSkge1xuICAgICAgY29uc3QgY3JlYXRlSW5kZXhTUUxzID0gYXdhaXQgbmV3IENyZWF0ZUluZGV4QmFzZSh7XG4gICAgICAgIGNvbHVtbnM6IHRhYmxlRGF0YUluZGV4LmdldENvbHVtbnMoKSxcbiAgICAgICAgZHJpdmVyLFxuICAgICAgICBuYW1lOiB0YWJsZURhdGFJbmRleC5nZXROYW1lKCksXG4gICAgICAgIHRhYmxlTmFtZTogb3JpZ2luYWxUYWJsZU5hbWUsXG4gICAgICAgIHVuaXF1ZTogdGFibGVEYXRhSW5kZXguZ2V0VW5pcXVlKClcbiAgICAgIH0pLnRvU1FMcygpXG5cbiAgICAgIGZvciAoY29uc3Qgc3FsIG9mIGNyZWF0ZUluZGV4U1FMcykgc3Fscy5wdXNoKHNxbClcbiAgICB9XG5cbiAgICByZXR1cm4gc3Fsc1xuICB9XG59XG4iXX0=
@@ -10,7 +10,12 @@
10
10
  */
11
11
  export function serializedScopeFromQuery(query: import("../database/query/model-class-query.js").default<unknown>): import("./sync-client-types.js").SerializedSyncScope;
12
12
  /**
13
- * Returns a stable canonical key identifying a sync scope.
13
+ * Returns a stable canonical key identifying a sync scope. When an `owner` is
14
+ * present (the authenticated identity that declared the scope locally), it
15
+ * participates in the key so the same wire scope owned by a different user gets
16
+ * its own local identity and cursor — a user scope's empty-conditions cursor
17
+ * never leaks across accounts on a shared device, while the same user
18
+ * reconnecting keeps continuity. Owner-less scopes keep their pre-owner key.
14
19
  * @param {import("./sync-client-types.js").SerializedSyncScope} scope - Serialized sync scope.
15
20
  * @returns {string} Stable scope key.
16
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query-scope.d.ts","sourceRoot":"","sources":["../../../src/sync/query-scope.js"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,gDAHW,OAAO,wCAAwC,EAAE,OAAO,CAAC,OAAC,CAAC,GACzD,OAAO,wBAAwB,EAAE,mBAAmB,CA+BhE;AAED;;;;GAIG;AACH,gCAHW,OAAO,wBAAwB,EAAE,mBAAmB,GAClD,MAAM,CAIlB"}
1
+ {"version":3,"file":"query-scope.d.ts","sourceRoot":"","sources":["../../../src/sync/query-scope.js"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,gDAHW,OAAO,wCAAwC,EAAE,OAAO,CAAC,OAAC,CAAC,GACzD,OAAO,wBAAwB,EAAE,mBAAmB,CA+BhE;AAED;;;;;;;;;GASG;AACH,gCAHW,OAAO,wBAAwB,EAAE,mBAAmB,GAClD,MAAM,CAMlB"}
@@ -39,12 +39,18 @@ export function serializedScopeFromQuery(query) {
39
39
  return { conditions, resourceType: modelClass.getModelName() };
40
40
  }
41
41
  /**
42
- * Returns a stable canonical key identifying a sync scope.
42
+ * Returns a stable canonical key identifying a sync scope. When an `owner` is
43
+ * present (the authenticated identity that declared the scope locally), it
44
+ * participates in the key so the same wire scope owned by a different user gets
45
+ * its own local identity and cursor — a user scope's empty-conditions cursor
46
+ * never leaks across accounts on a shared device, while the same user
47
+ * reconnecting keeps continuity. Owner-less scopes keep their pre-owner key.
43
48
  * @param {import("./sync-client-types.js").SerializedSyncScope} scope - Serialized sync scope.
44
49
  * @returns {string} Stable scope key.
45
50
  */
46
51
  export function scopeKey(scope) {
47
- return `${scope.resourceType}:${stableJsonStringify(scope.conditions)}`;
52
+ const ownerPrefix = scope.owner === undefined || scope.owner === null ? "" : `owner=${stableJsonStringify(scope.owner)}|`;
53
+ return `${ownerPrefix}${scope.resourceType}:${stableJsonStringify(scope.conditions)}`;
48
54
  }
49
55
  /**
50
56
  * Validates one scope condition value as a scalar or array of scalars.
@@ -74,4 +80,4 @@ function validateScalar(attributeName, value) {
74
80
  return;
75
81
  throw new Error(`sync(query) condition values must be scalar, got ${typeof value} for: ${attributeName}`);
76
82
  }
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc2NvcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3luYy9xdWVyeS1zY29wZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQTtBQUVsRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBSztJQUM1QyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtJQUN0RixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtJQUN4RixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLFNBQVM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7SUFDdEgsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxTQUFTO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO0lBQ3pILElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO0lBRXhGLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN4QyxNQUFNLFVBQVUsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXhELEtBQUssTUFBTSxLQUFLLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFDdEMsTUFBTSxTQUFTLEdBQUcseUNBQXlDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUE7UUFFeEUsSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hILE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUN6RyxDQUFDO1FBRUQsS0FBSyxNQUFNLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFFakUsSUFBSSxhQUFhLElBQUksVUFBVSxJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFILE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLGFBQWEsRUFBRSxDQUFDLENBQUE7WUFDakYsQ0FBQztZQUVELFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxjQUFjLENBQUE7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLEVBQUMsQ0FBQTtBQUM5RCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBSztJQUM1QixPQUFPLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQTtBQUN6RSxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxLQUFLO0lBQ2hELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSztZQUFFLGNBQWMsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFFN0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsY0FBYyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUVwQyxPQUFPLEtBQUssQ0FBQTtBQUNkLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsY0FBYyxDQUFDLGFBQWEsRUFBRSxLQUFLO0lBQzFDLElBQUksS0FBSyxLQUFLLElBQUk7UUFBRSxPQUFNO0lBQzFCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLEtBQUssS0FBSyxTQUFTO1FBQUUsT0FBTTtJQUVoRyxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxPQUFPLEtBQUssU0FBUyxhQUFhLEVBQUUsQ0FBQyxDQUFBO0FBQzNHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHN0YWJsZUpzb25TdHJpbmdpZnkgZnJvbSBcIi4vc3RhYmxlLWpzb24uanNcIlxuXG4vKipcbiAqIFNlcmlhbGl6ZXMgYSBtb2RlbCBxdWVyeSBpbnRvIGEgdHJhbnNwb3J0YWJsZSBzeW5jIHNjb3BlLlxuICpcbiAqIE9ubHkgcGxhaW4gYXR0cmlidXRlIGVxdWFsaXR5IGNvbmRpdGlvbnMgYXJlIHN1cHBvcnRlZDogdGhlIHNjb3BlIG11c3QgYmVcbiAqIGV4cHJlc3NpYmxlIGFzIGB7cmVzb3VyY2VUeXBlLCBjb25kaXRpb25zfWAgc28gc2VydmVycyBjYW4gbWF0Y2ggaXQgYWdhaW5zdFxuICogdGhlaXIgY2hhbmdlIGZlZWRzLiBBbnl0aGluZyBlbHNlIChyYXcgU1FMLCBuZWdhdGlvbnMsIGpvaW5zLCBvcmRlcnMsXG4gKiBsaW1pdHMsIG9mZnNldHMsIGdyb3VwcykgZmFpbHMgbG91ZGx5LlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kYXRhYmFzZS9xdWVyeS9tb2RlbC1jbGFzcy1xdWVyeS5qc1wiKS5kZWZhdWx0PD8+fSBxdWVyeSAtIE1vZGVsIHF1ZXJ5IGRlY2xhcmluZyB0aGUgc3luYyBzY29wZS5cbiAqIEByZXR1cm5zIHtpbXBvcnQoXCIuL3N5bmMtY2xpZW50LXR5cGVzLmpzXCIpLlNlcmlhbGl6ZWRTeW5jU2NvcGV9IFNlcmlhbGl6ZWQgc3luYyBzY29wZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlcmlhbGl6ZWRTY29wZUZyb21RdWVyeShxdWVyeSkge1xuICBpZiAocXVlcnkuZ2V0Sm9pbnMoKS5sZW5ndGggPiAwKSB0aHJvdyBuZXcgRXJyb3IoXCJzeW5jKHF1ZXJ5KSBkb2VzIG5vdCBzdXBwb3J0IGpvaW5zXCIpXG4gIGlmIChxdWVyeS5nZXRPcmRlcnMoKS5sZW5ndGggPiAwKSB0aHJvdyBuZXcgRXJyb3IoXCJzeW5jKHF1ZXJ5KSBkb2VzIG5vdCBzdXBwb3J0IG9yZGVyc1wiKVxuICBpZiAocXVlcnkuZ2V0TGltaXQoKSAhPT0gbnVsbCAmJiBxdWVyeS5nZXRMaW1pdCgpICE9PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcihcInN5bmMocXVlcnkpIGRvZXMgbm90IHN1cHBvcnQgbGltaXRcIilcbiAgaWYgKHF1ZXJ5LmdldE9mZnNldCgpICE9PSBudWxsICYmIHF1ZXJ5LmdldE9mZnNldCgpICE9PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcihcInN5bmMocXVlcnkpIGRvZXMgbm90IHN1cHBvcnQgb2Zmc2V0XCIpXG4gIGlmIChxdWVyeS5nZXRHcm91cHMoKS5sZW5ndGggPiAwKSB0aHJvdyBuZXcgRXJyb3IoXCJzeW5jKHF1ZXJ5KSBkb2VzIG5vdCBzdXBwb3J0IGdyb3Vwc1wiKVxuXG4gIGNvbnN0IG1vZGVsQ2xhc3MgPSBxdWVyeS5nZXRNb2RlbENsYXNzKClcbiAgY29uc3QgY29uZGl0aW9ucyA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovICh7fSlcblxuICBmb3IgKGNvbnN0IHdoZXJlIG9mIHF1ZXJ5LmdldFdoZXJlcygpKSB7XG4gICAgY29uc3Qgd2hlcmVIYXNoID0gLyoqIEB0eXBlIHt7aGFzaD86IFJlY29yZDxzdHJpbmcsID8+fX0gKi8gKHdoZXJlKS5oYXNoXG5cbiAgICBpZiAoIXdoZXJlSGFzaCB8fCB0eXBlb2Ygd2hlcmVIYXNoICE9PSBcIm9iamVjdFwiIHx8IEFycmF5LmlzQXJyYXkod2hlcmVIYXNoKSB8fCAvKiogQHR5cGUge3t3aGVyZT86ID99fSAqLyAod2hlcmUpLndoZXJlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHN5bmMocXVlcnkpIG9ubHkgc3VwcG9ydHMgcGxhaW4gYXR0cmlidXRlIGNvbmRpdGlvbnMsIGdvdDogJHt3aGVyZS5jb25zdHJ1Y3Rvci5uYW1lfWApXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbYXR0cmlidXRlTmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHdoZXJlSGFzaCkpIHtcbiAgICAgIGNvbnN0IGNvbmRpdGlvblZhbHVlID0gc2NhbGFyQ29uZGl0aW9uVmFsdWUoYXR0cmlidXRlTmFtZSwgdmFsdWUpXG5cbiAgICAgIGlmIChhdHRyaWJ1dGVOYW1lIGluIGNvbmRpdGlvbnMgJiYgc3RhYmxlSnNvblN0cmluZ2lmeShjb25kaXRpb25zW2F0dHJpYnV0ZU5hbWVdKSAhPT0gc3RhYmxlSnNvblN0cmluZ2lmeShjb25kaXRpb25WYWx1ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBzeW5jKHF1ZXJ5KSBnb3QgY29uZmxpY3RpbmcgY29uZGl0aW9ucyBmb3I6ICR7YXR0cmlidXRlTmFtZX1gKVxuICAgICAgfVxuXG4gICAgICBjb25kaXRpb25zW2F0dHJpYnV0ZU5hbWVdID0gY29uZGl0aW9uVmFsdWVcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge2NvbmRpdGlvbnMsIHJlc291cmNlVHlwZTogbW9kZWxDbGFzcy5nZXRNb2RlbE5hbWUoKX1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgc3RhYmxlIGNhbm9uaWNhbCBrZXkgaWRlbnRpZnlpbmcgYSBzeW5jIHNjb3BlLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3N5bmMtY2xpZW50LXR5cGVzLmpzXCIpLlNlcmlhbGl6ZWRTeW5jU2NvcGV9IHNjb3BlIC0gU2VyaWFsaXplZCBzeW5jIHNjb3BlLlxuICogQHJldHVybnMge3N0cmluZ30gU3RhYmxlIHNjb3BlIGtleS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjb3BlS2V5KHNjb3BlKSB7XG4gIHJldHVybiBgJHtzY29wZS5yZXNvdXJjZVR5cGV9OiR7c3RhYmxlSnNvblN0cmluZ2lmeShzY29wZS5jb25kaXRpb25zKX1gXG59XG5cbi8qKlxuICogVmFsaWRhdGVzIG9uZSBzY29wZSBjb25kaXRpb24gdmFsdWUgYXMgYSBzY2FsYXIgb3IgYXJyYXkgb2Ygc2NhbGFycy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gQ29uZGl0aW9uIGF0dHJpYnV0ZSBuYW1lIGZvciBlcnJvciBtZXNzYWdlcy5cbiAqIEBwYXJhbSB7P30gdmFsdWUgLSBDb25kaXRpb24gdmFsdWUuXG4gKiBAcmV0dXJucyB7P30gVmFsaWRhdGVkIGNvbmRpdGlvbiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gc2NhbGFyQ29uZGl0aW9uVmFsdWUoYXR0cmlidXRlTmFtZSwgdmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHZhbHVlKSB2YWxpZGF0ZVNjYWxhcihhdHRyaWJ1dGVOYW1lLCBpdGVtKVxuXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICB2YWxpZGF0ZVNjYWxhcihhdHRyaWJ1dGVOYW1lLCB2YWx1ZSlcblxuICByZXR1cm4gdmFsdWVcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgb25lIHNjYWxhciBjb25kaXRpb24gdmFsdWUuXG4gKiBAcGFyYW0ge3N0cmluZ30gYXR0cmlidXRlTmFtZSAtIENvbmRpdGlvbiBhdHRyaWJ1dGUgbmFtZSBmb3IgZXJyb3IgbWVzc2FnZXMuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gQ29uZGl0aW9uIHZhbHVlLlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlU2NhbGFyKGF0dHJpYnV0ZU5hbWUsIHZhbHVlKSB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHJldHVyblxuXG4gIHRocm93IG5ldyBFcnJvcihgc3luYyhxdWVyeSkgY29uZGl0aW9uIHZhbHVlcyBtdXN0IGJlIHNjYWxhciwgZ290ICR7dHlwZW9mIHZhbHVlfSBmb3I6ICR7YXR0cmlidXRlTmFtZX1gKVxufVxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktc2NvcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3luYy9xdWVyeS1zY29wZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxtQkFBbUIsTUFBTSxrQkFBa0IsQ0FBQTtBQUVsRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBSztJQUM1QyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtJQUN0RixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQTtJQUN4RixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxJQUFJLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLFNBQVM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7SUFDdEgsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssSUFBSSxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxTQUFTO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO0lBQ3pILElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFBO0lBRXhGLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUN4QyxNQUFNLFVBQVUsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXhELEtBQUssTUFBTSxLQUFLLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFDdEMsTUFBTSxTQUFTLEdBQUcseUNBQXlDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUE7UUFFeEUsSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3hILE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUN6RyxDQUFDO1FBRUQsS0FBSyxNQUFNLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFFakUsSUFBSSxhQUFhLElBQUksVUFBVSxJQUFJLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFILE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLGFBQWEsRUFBRSxDQUFDLENBQUE7WUFDakYsQ0FBQztZQUVELFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxjQUFjLENBQUE7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLENBQUMsWUFBWSxFQUFFLEVBQUMsQ0FBQTtBQUM5RCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFLO0lBQzVCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUE7SUFFekgsT0FBTyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFBO0FBQ3ZGLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQVMsb0JBQW9CLENBQUMsYUFBYSxFQUFFLEtBQUs7SUFDaEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLO1lBQUUsY0FBYyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUU3RCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFFRCxjQUFjLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBRXBDLE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxjQUFjLENBQUMsYUFBYSxFQUFFLEtBQUs7SUFDMUMsSUFBSSxLQUFLLEtBQUssSUFBSTtRQUFFLE9BQU07SUFDMUIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVM7UUFBRSxPQUFNO0lBRWhHLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELE9BQU8sS0FBSyxTQUFTLGFBQWEsRUFBRSxDQUFDLENBQUE7QUFDM0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgc3RhYmxlSnNvblN0cmluZ2lmeSBmcm9tIFwiLi9zdGFibGUtanNvbi5qc1wiXG5cbi8qKlxuICogU2VyaWFsaXplcyBhIG1vZGVsIHF1ZXJ5IGludG8gYSB0cmFuc3BvcnRhYmxlIHN5bmMgc2NvcGUuXG4gKlxuICogT25seSBwbGFpbiBhdHRyaWJ1dGUgZXF1YWxpdHkgY29uZGl0aW9ucyBhcmUgc3VwcG9ydGVkOiB0aGUgc2NvcGUgbXVzdCBiZVxuICogZXhwcmVzc2libGUgYXMgYHtyZXNvdXJjZVR5cGUsIGNvbmRpdGlvbnN9YCBzbyBzZXJ2ZXJzIGNhbiBtYXRjaCBpdCBhZ2FpbnN0XG4gKiB0aGVpciBjaGFuZ2UgZmVlZHMuIEFueXRoaW5nIGVsc2UgKHJhdyBTUUwsIG5lZ2F0aW9ucywgam9pbnMsIG9yZGVycyxcbiAqIGxpbWl0cywgb2Zmc2V0cywgZ3JvdXBzKSBmYWlscyBsb3VkbHkuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L21vZGVsLWNsYXNzLXF1ZXJ5LmpzXCIpLmRlZmF1bHQ8Pz59IHF1ZXJ5IC0gTW9kZWwgcXVlcnkgZGVjbGFyaW5nIHRoZSBzeW5jIHNjb3BlLlxuICogQHJldHVybnMge2ltcG9ydChcIi4vc3luYy1jbGllbnQtdHlwZXMuanNcIikuU2VyaWFsaXplZFN5bmNTY29wZX0gU2VyaWFsaXplZCBzeW5jIHNjb3BlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplZFNjb3BlRnJvbVF1ZXJ5KHF1ZXJ5KSB7XG4gIGlmIChxdWVyeS5nZXRKb2lucygpLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcihcInN5bmMocXVlcnkpIGRvZXMgbm90IHN1cHBvcnQgam9pbnNcIilcbiAgaWYgKHF1ZXJ5LmdldE9yZGVycygpLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcihcInN5bmMocXVlcnkpIGRvZXMgbm90IHN1cHBvcnQgb3JkZXJzXCIpXG4gIGlmIChxdWVyeS5nZXRMaW1pdCgpICE9PSBudWxsICYmIHF1ZXJ5LmdldExpbWl0KCkgIT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKFwic3luYyhxdWVyeSkgZG9lcyBub3Qgc3VwcG9ydCBsaW1pdFwiKVxuICBpZiAocXVlcnkuZ2V0T2Zmc2V0KCkgIT09IG51bGwgJiYgcXVlcnkuZ2V0T2Zmc2V0KCkgIT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKFwic3luYyhxdWVyeSkgZG9lcyBub3Qgc3VwcG9ydCBvZmZzZXRcIilcbiAgaWYgKHF1ZXJ5LmdldEdyb3VwcygpLmxlbmd0aCA+IDApIHRocm93IG5ldyBFcnJvcihcInN5bmMocXVlcnkpIGRvZXMgbm90IHN1cHBvcnQgZ3JvdXBzXCIpXG5cbiAgY29uc3QgbW9kZWxDbGFzcyA9IHF1ZXJ5LmdldE1vZGVsQ2xhc3MoKVxuICBjb25zdCBjb25kaXRpb25zID0gLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gKi8gKHt9KVxuXG4gIGZvciAoY29uc3Qgd2hlcmUgb2YgcXVlcnkuZ2V0V2hlcmVzKCkpIHtcbiAgICBjb25zdCB3aGVyZUhhc2ggPSAvKiogQHR5cGUge3toYXNoPzogUmVjb3JkPHN0cmluZywgPz59fSAqLyAod2hlcmUpLmhhc2hcblxuICAgIGlmICghd2hlcmVIYXNoIHx8IHR5cGVvZiB3aGVyZUhhc2ggIT09IFwib2JqZWN0XCIgfHwgQXJyYXkuaXNBcnJheSh3aGVyZUhhc2gpIHx8IC8qKiBAdHlwZSB7e3doZXJlPzogP319ICovICh3aGVyZSkud2hlcmUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgc3luYyhxdWVyeSkgb25seSBzdXBwb3J0cyBwbGFpbiBhdHRyaWJ1dGUgY29uZGl0aW9ucywgZ290OiAke3doZXJlLmNvbnN0cnVjdG9yLm5hbWV9YClcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFthdHRyaWJ1dGVOYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMod2hlcmVIYXNoKSkge1xuICAgICAgY29uc3QgY29uZGl0aW9uVmFsdWUgPSBzY2FsYXJDb25kaXRpb25WYWx1ZShhdHRyaWJ1dGVOYW1lLCB2YWx1ZSlcblxuICAgICAgaWYgKGF0dHJpYnV0ZU5hbWUgaW4gY29uZGl0aW9ucyAmJiBzdGFibGVKc29uU3RyaW5naWZ5KGNvbmRpdGlvbnNbYXR0cmlidXRlTmFtZV0pICE9PSBzdGFibGVKc29uU3RyaW5naWZ5KGNvbmRpdGlvblZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHN5bmMocXVlcnkpIGdvdCBjb25mbGljdGluZyBjb25kaXRpb25zIGZvcjogJHthdHRyaWJ1dGVOYW1lfWApXG4gICAgICB9XG5cbiAgICAgIGNvbmRpdGlvbnNbYXR0cmlidXRlTmFtZV0gPSBjb25kaXRpb25WYWx1ZVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7Y29uZGl0aW9ucywgcmVzb3VyY2VUeXBlOiBtb2RlbENsYXNzLmdldE1vZGVsTmFtZSgpfVxufVxuXG4vKipcbiAqIFJldHVybnMgYSBzdGFibGUgY2Fub25pY2FsIGtleSBpZGVudGlmeWluZyBhIHN5bmMgc2NvcGUuIFdoZW4gYW4gYG93bmVyYCBpc1xuICogcHJlc2VudCAodGhlIGF1dGhlbnRpY2F0ZWQgaWRlbnRpdHkgdGhhdCBkZWNsYXJlZCB0aGUgc2NvcGUgbG9jYWxseSksIGl0XG4gKiBwYXJ0aWNpcGF0ZXMgaW4gdGhlIGtleSBzbyB0aGUgc2FtZSB3aXJlIHNjb3BlIG93bmVkIGJ5IGEgZGlmZmVyZW50IHVzZXIgZ2V0c1xuICogaXRzIG93biBsb2NhbCBpZGVudGl0eSBhbmQgY3Vyc29yIOKAlCBhIHVzZXIgc2NvcGUncyBlbXB0eS1jb25kaXRpb25zIGN1cnNvclxuICogbmV2ZXIgbGVha3MgYWNyb3NzIGFjY291bnRzIG9uIGEgc2hhcmVkIGRldmljZSwgd2hpbGUgdGhlIHNhbWUgdXNlclxuICogcmVjb25uZWN0aW5nIGtlZXBzIGNvbnRpbnVpdHkuIE93bmVyLWxlc3Mgc2NvcGVzIGtlZXAgdGhlaXIgcHJlLW93bmVyIGtleS5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi9zeW5jLWNsaWVudC10eXBlcy5qc1wiKS5TZXJpYWxpemVkU3luY1Njb3BlfSBzY29wZSAtIFNlcmlhbGl6ZWQgc3luYyBzY29wZS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFN0YWJsZSBzY29wZSBrZXkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY29wZUtleShzY29wZSkge1xuICBjb25zdCBvd25lclByZWZpeCA9IHNjb3BlLm93bmVyID09PSB1bmRlZmluZWQgfHwgc2NvcGUub3duZXIgPT09IG51bGwgPyBcIlwiIDogYG93bmVyPSR7c3RhYmxlSnNvblN0cmluZ2lmeShzY29wZS5vd25lcil9fGBcblxuICByZXR1cm4gYCR7b3duZXJQcmVmaXh9JHtzY29wZS5yZXNvdXJjZVR5cGV9OiR7c3RhYmxlSnNvblN0cmluZ2lmeShzY29wZS5jb25kaXRpb25zKX1gXG59XG5cbi8qKlxuICogVmFsaWRhdGVzIG9uZSBzY29wZSBjb25kaXRpb24gdmFsdWUgYXMgYSBzY2FsYXIgb3IgYXJyYXkgb2Ygc2NhbGFycy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyaWJ1dGVOYW1lIC0gQ29uZGl0aW9uIGF0dHJpYnV0ZSBuYW1lIGZvciBlcnJvciBtZXNzYWdlcy5cbiAqIEBwYXJhbSB7P30gdmFsdWUgLSBDb25kaXRpb24gdmFsdWUuXG4gKiBAcmV0dXJucyB7P30gVmFsaWRhdGVkIGNvbmRpdGlvbiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gc2NhbGFyQ29uZGl0aW9uVmFsdWUoYXR0cmlidXRlTmFtZSwgdmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIHZhbHVlKSB2YWxpZGF0ZVNjYWxhcihhdHRyaWJ1dGVOYW1lLCBpdGVtKVxuXG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICB2YWxpZGF0ZVNjYWxhcihhdHRyaWJ1dGVOYW1lLCB2YWx1ZSlcblxuICByZXR1cm4gdmFsdWVcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgb25lIHNjYWxhciBjb25kaXRpb24gdmFsdWUuXG4gKiBAcGFyYW0ge3N0cmluZ30gYXR0cmlidXRlTmFtZSAtIENvbmRpdGlvbiBhdHRyaWJ1dGUgbmFtZSBmb3IgZXJyb3IgbWVzc2FnZXMuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gQ29uZGl0aW9uIHZhbHVlLlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHZhbGlkYXRlU2NhbGFyKGF0dHJpYnV0ZU5hbWUsIHZhbHVlKSB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHJldHVyblxuXG4gIHRocm93IG5ldyBFcnJvcihgc3luYyhxdWVyeSkgY29uZGl0aW9uIHZhbHVlcyBtdXN0IGJlIHNjYWxhciwgZ290ICR7dHlwZW9mIHZhbHVlfSBmb3I6ICR7YXR0cmlidXRlTmFtZX1gKVxufVxuIl19
@@ -10,6 +10,10 @@ export type SerializedSyncScope = {
10
10
  * - Resource/model name the scope was declared for.
11
11
  */
12
12
  resourceType: string;
13
+ /**
14
+ * - Local partition key: the authenticated identity that declared the scope. Used only to partition the local scope/cursor store (never sent to the server as scope conditions), so a user scope's empty-conditions cursor does not leak across accounts on a shared device.
15
+ */
16
+ owner?: string | undefined;
13
17
  };
14
18
  /**
15
19
  * Static realtime channel declaration on a model's `static sync`, for channels
@@ -154,6 +158,12 @@ export type ModelSyncDeclarationConfig<TModel = any> = {
154
158
  * object customizes the derived resource config.
155
159
  */
156
160
  export type ModelSyncDeclaration<TModel = any> = boolean | ModelSyncDeclarationConfig<TModel>;
161
+ /**
162
+ * Shared app-lifetime websocket connection all sync traffic rides. Matches the
163
+ * realtime websocket client contract; the sync client rides it without owning
164
+ * its connect/disconnect lifecycle.
165
+ */
166
+ export type SyncClientSharedConnection = import("../configuration-types.js").VelociousSyncRealtimeWebsocketClient;
157
167
  /**
158
168
  * Options for building a sync client. Everything else — resources, transport
159
169
  * POSTers, auth, connectivity, batch size — is derived from the configuration's
@@ -235,5 +245,13 @@ export type SyncClientConfig = {
235
245
  * - Local pending-sync model class.
236
246
  */
237
247
  syncModel: unknown;
248
+ /**
249
+ * - Shared app-lifetime websocket client instance (the low-level shared-connection form).
250
+ */
251
+ websocketClient?: import("../configuration-types.js").VelociousSyncRealtimeWebsocketClient | undefined;
252
+ /**
253
+ * - Shared app-lifetime websocket URL the framework builds a client from.
254
+ */
255
+ websocketUrl?: string | (() => string | null | undefined) | undefined;
238
256
  };
239
257
  //# sourceMappingURL=sync-client-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-client-types.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-client-types.js"],"names":[],"mappings":";;;;;;;gBAKc,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;;;;kBACjB,MAAM;;;;;;;;;;aAQN,MAAM;;;;;;;;;;;;;gBAON,OAAC;;;;;;;;;;;;iBAED,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,YAAY,CAAC;;;;0BACrE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,qBAAqB,CAAC;;;;iBAC9E,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;kCAGlD;QAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,OAAC,CAAA;KAAC,KAAK,MAAM;;;;0BAC9E;QAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,OAAC,CAAA;KAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;;;;;oBAC7D,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;;;;;;;;;;;;uCAQ7D,MAAM;;;;iBAEN,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;iBAGrE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,YAAY,CAAC;;;;0BACrE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,qBAAqB,CAAC;;;;;;;;;;;;kCAG3D;QAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,OAAC,CAAA;KAAC,KAAK,MAAM;;;;;oBACrB,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;;;;;0BAC/F;QAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,OAAC,CAAA;KAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;;;;;;;;;;iCAOpF,MAAM,UACP,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC;;;;;;;;;;;;;;2BASpC;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAC,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;;;;;;;;gBAE9E,OAAC;;;;;;;;;;yBAOD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;;;;;;;;mBAE9B,OAAO,qBAAqB,EAAE,OAAO;;;;sBAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;;;;2BACzB;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAC,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;;;;uBACtE,KAAK,KAAK,IAAI;;;;iBACtB,CAAC,OAAO,EAAE,OAAO,4BAA4B,EAAE,kBAAkB,GAAG;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAC,KAAK,OAAO,CAAC,OAAO,4BAA4B,EAAE,mBAAmB,CAAC;;;;gBACtK,CAAC,OAAO,EAAE;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAAC,CAAA;KAAC,KAAK,OAAO,CAAC,OAAO,4BAA4B,EAAE,kBAAkB,CAAC;;;;;;;;eAE7I,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC;;;;eACxC,OAAC"}
1
+ {"version":3,"file":"sync-client-types.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-client-types.js"],"names":[],"mappings":";;;;;;;gBAKc,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;;;;kBACjB,MAAM;;;;;;;;;;;;;;aASN,MAAM;;;;;;;;;;;;;gBAON,OAAC;;;;;;;;;;;;iBAED,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,YAAY,CAAC;;;;0BACrE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,qBAAqB,CAAC;;;;iBAC9E,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;kCAGlD;QAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,OAAC,CAAA;KAAC,KAAK,MAAM;;;;0BAC9E;QAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,OAAC,CAAA;KAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;;;;;oBAC7D,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;;;;;;;;;;;;uCAQ7D,MAAM;;;;iBAEN,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;iBAGrE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,YAAY,CAAC;;;;0BACrE,OAAO,4BAA4B,EAAE,kBAAkB,CAAC,qBAAqB,CAAC;;;;;;;;;;;;kCAG3D;QAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,OAAC,CAAA;KAAC,KAAK,MAAM;;;;;oBACrB,KAAK,CAAC,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;;;;;0BAC/F;QAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;QAAC,MAAM,EAAE,OAAC,CAAA;KAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;;;;;;;;;;iCAOpF,MAAM,UACP,OAAO,GAAG,0BAA0B,CAAC,MAAM,CAAC;;;;;;yCAO5C,OAAO,2BAA2B,EAAE,oCAAoC;;;;;;;;;;;;;;2BAShE;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAC,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;;;;;;;;gBAE9E,OAAC;;;;;;;;;;yBAOD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;;;;;;;;mBAE9B,OAAO,qBAAqB,EAAE,OAAO;;;;sBAC/B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;;;;2BACzB;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAC,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;;;;uBACtE,KAAK,KAAK,IAAI;;;;iBACtB,CAAC,OAAO,EAAE,OAAO,4BAA4B,EAAE,kBAAkB,GAAG;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAC,KAAK,OAAO,CAAC,OAAO,4BAA4B,EAAE,mBAAmB,CAAC;;;;gBACtK,CAAC,OAAO,EAAE;QAAC,mBAAmB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC,CAAC,CAAA;KAAC,KAAK,OAAO,CAAC,OAAO,4BAA4B,EAAE,kBAAkB,CAAC;;;;;;;;eAE7I,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC;;;;eACxC,OAAC;;;;;;;;mCAEe,MAAM,GAAG,IAAI,GAAG,SAAS"}
@@ -1,3 +1,3 @@
1
1
  // @ts-check
2
2
  export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jbGllbnQtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3luYy9zeW5jLWNsaWVudC10eXBlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQ2xpZW50LWRlY2xhcmVkIHN5bmMgc2NvcGUgc2VyaWFsaXplZCBmcm9tIGEgbW9kZWwgcXVlcnkuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTZXJpYWxpemVkU3luY1Njb3BlXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsID8+fSBjb25kaXRpb25zIC0gUGxhaW4gYXR0cmlidXRlIGNvbmRpdGlvbnMgZnJvbSB0aGUgcXVlcnkuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcmVzb3VyY2VUeXBlIC0gUmVzb3VyY2UvbW9kZWwgbmFtZSB0aGUgc2NvcGUgd2FzIGRlY2xhcmVkIGZvci5cbiAqL1xuXG4vKipcbiAqIFN0YXRpYyByZWFsdGltZSBjaGFubmVsIGRlY2xhcmF0aW9uIG9uIGEgbW9kZWwncyBgc3RhdGljIHN5bmNgLCBmb3IgY2hhbm5lbHNcbiAqIHdob3NlIG5hbWUgYW5kIHBhcmFtcyBhcmUgc3RhdGljLlxuICogQGRlcHJlY2F0ZWQgRGVjbGFyZWQgcHVsbCBzY29wZXMgc3Vic2NyaWJlIHRoZSBmcmFtZXdvcmsgc3luYyBjaGFubmVsIGF1dG9tYXRpY2FsbHk7IGtlZXAgdGhpcyBvbmx5IGZvciBsZWdhY3kgYXBwIGNoYW5uZWxzLlxuICogQHR5cGVkZWYge29iamVjdH0gTW9kZWxTeW5jUmVhbHRpbWVEZWNsYXJhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IGNoYW5uZWwgLSBTZXJ2ZXIgY2hhbm5lbCBuYW1lIHRvIHN1YnNjcmliZS5cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgPz59IFtwYXJhbXNdIC0gU3RhdGljIHN1YnNjcmliZSBwYXJhbXMuIFRoZSBmcmFtZXdvcmsgaW5qZWN0cyBgYXV0aGVudGljYXRpb25Ub2tlbmAgYXV0b21hdGljYWxseS5cbiAqL1xuXG4vKipcbiAqIERlY2xhcmF0aXZlIHBlci1yZXNvdXJjZSBzeW5jIHBvbGljeS5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN5bmNDbGllbnRSZXNvdXJjZUNvbmZpZ1xuICogQHByb3BlcnR5IHs/fSBtb2RlbENsYXNzIC0gTG9jYWwgbW9kZWwgY2xhc3MgZm9yIHRoaXMgcmVzb3VyY2UuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vc3luYy1hcGktY2xpZW50LXR5cGVzLmpzXCIpLlN5bmNSZXNvdXJjZUNvbmZpZ1tcImF0dHJpYnV0ZXNcIl19IFthdHRyaWJ1dGVzXSAtIFB1bGwtYXBwbHkgYXR0cmlidXRlIG1hcHBlci4gUmVxdWlyZWQgZm9yIHJlc291cmNlcyB0aGF0IHJlY2VpdmUgcHVsbGVkIGNoYW5nZXMuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vc3luYy1hcGktY2xpZW50LXR5cGVzLmpzXCIpLlN5bmNSZXNvdXJjZUNvbmZpZ1tcImZpbmRSZWNvcmRcIl19IFtmaW5kUmVjb3JkXSAtIEN1c3RvbSBwdWxsLWFwcGx5IHJlY29yZCByZXNvbHZlci5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9zeW5jLWFwaS1jbGllbnQtdHlwZXMuanNcIikuU3luY1Jlc291cmNlQ29uZmlnW1wiZmluZFJlY29yZEZvckRlbGV0ZVwiXX0gW2ZpbmRSZWNvcmRGb3JEZWxldGVdIC0gQ3VzdG9tIHB1bGwtYXBwbHkgZGVsZXRlIHJlc29sdmVyLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3N5bmMtYXBpLWNsaWVudC10eXBlcy5qc1wiKS5TeW5jUmVzb3VyY2VDb25maWdbXCJhZnRlckFwcGx5XCJdfSBbYWZ0ZXJBcHBseV0gLSBQb3N0LWFwcGx5IGhvb2suXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbYm9vbGVhbkF0dHJpYnV0ZXNdIC0gQXR0cmlidXRlcyBjb2VyY2VkIHRocm91Z2ggc3luYyBib29sZWFuIHBhcnNpbmcgd2hlbiBxdWV1ZWluZy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtsb2NhbE9ubHlBdHRyaWJ1dGVzXSAtIEF0dHJpYnV0ZXMgc3RyaXBwZWQgZnJvbSBxdWV1ZWQgcGF5bG9hZHMuXG4gKiBAcHJvcGVydHkge1widXBzZXJ0XCIgfCAoKGFyZ3M6IHtvcGVyYXRpb246IFwiY3JlYXRlXCIgfCBcInVwZGF0ZVwiIHwgXCJkZXN0cm95XCIsIHJlY29yZDogP30pID0+IHN0cmluZyl9IFtzeW5jVHlwZV0gLSBNYXBzIGEgbXV0YXRpb24gb3BlcmF0aW9uIHRvIGEgc3luYyB0eXBlLiBUaGUgXCJ1cHNlcnRcIiBmbGFnIHF1ZXVlcyBjcmVhdGVzIGFuZCB1cGRhdGVzIGFzIFwidXBkYXRlXCIgcm93cyAodGhlIHNlcnZlciB1cHNlcnRzIGJ5IHJlc291cmNlIGlkKSBhbmQgZGVzdHJveXMgYXMgXCJkZWxldGVcIi4gRGVmYXVsdHMgdG8gdGhlIG9wZXJhdGlvbiBuYW1lIHdpdGggZGVzdHJveSBtYXBwZWQgdG8gXCJkZWxldGVcIi5cbiAqIEBwcm9wZXJ0eSB7KGFyZ3M6IHtvcGVyYXRpb246IFwiY3JlYXRlXCIgfCBcInVwZGF0ZVwiIHwgXCJkZXN0cm95XCIsIHJlY29yZDogP30pID0+IFJlY29yZDxzdHJpbmcsID8+fSBbdHJhY2tlZERhdGFdIC0gQ3VzdG9tIHF1ZXVlZC1wYXlsb2FkIGJ1aWxkZXIgZm9yIHRyYWNrZWQgbXV0YXRpb25zLlxuICogQHByb3BlcnR5IHtib29sZWFuIHwge29wZXJhdGlvbnM6IEFycmF5PFwiY3JlYXRlXCIgfCBcInVwZGF0ZVwiIHwgXCJkZXN0cm95XCI+fX0gW3RyYWNrXSAtIEF1dG9tYXRpYyBtdXRhdGlvbiB0cmFja2luZyBwb2xpY3kuIE9uIGJ5IGRlZmF1bHQgKGNyZWF0ZXMgYW5kIHVwZGF0ZXMgcXVldWUgYXV0b21hdGljYWxseSk7IGBmYWxzZWAgb3B0cyB0aGUgcmVzb3VyY2Ugb3V0LCBgdHJ1ZWAgYWRkcyBkZXN0cm95cywgYHtvcGVyYXRpb25zfWAgbmFycm93cyB0aGUgdHJhY2tlZCBvcGVyYXRpb25zLlxuICogQHByb3BlcnR5IHtNb2RlbFN5bmNSZWFsdGltZURlY2xhcmF0aW9ufSBbcmVhbHRpbWVdIC0gRGVwcmVjYXRlZDogc3RhdGljIGxlZ2FjeSByZWFsdGltZSBjaGFubmVsIHRoaXMgcmVzb3VyY2Ugc3Vic2NyaWJlcyB0aHJvdWdoIGBzdWJzY3JpYmVSZWFsdGltZSguLi4pYC4gRGVjbGFyZWQgcHVsbCBzY29wZXMgc3Vic2NyaWJlIHRoZSBmcmFtZXdvcmsgc3luYyBjaGFubmVsIGF1dG9tYXRpY2FsbHkuXG4gKi9cblxuLyoqXG4gKiBNb2RlbC1sZXZlbCBjbGllbnQgc3luYyBkZWNsYXJhdGlvbiByZWFkIGZyb20gYHN0YXRpYyBzeW5jYCBieVxuICogYFN5bmNDbGllbnQuZnJvbUNvbmZpZ3VyYXRpb24oLi4uKWAuIGB0cnVlYCBvcHRzIHRoZSBtb2RlbCBpbiB3aXRoIGFsbFxuICogZGVmYXVsdHM7IGFuIG9iamVjdCBjdXN0b21pemVzIHRoZSBkZXJpdmVkIHJlc291cmNlIGNvbmZpZy5cbiAqIEB0ZW1wbGF0ZSBbVE1vZGVsPWFueV1cbiAqIEB0eXBlZGVmIHtvYmplY3R9IE1vZGVsU3luY0RlY2xhcmF0aW9uQ29uZmlnXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vc3luYy1hcGktY2xpZW50LXR5cGVzLmpzXCIpLlN5bmNSZXNvdXJjZUNvbmZpZ1tcImFmdGVyQXBwbHlcIl19IFthZnRlckFwcGx5XSAtIFBvc3QtYXBwbHkgaG9vay5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9zeW5jLWFwaS1jbGllbnQtdHlwZXMuanNcIikuU3luY1Jlc291cmNlQ29uZmlnW1wiYXR0cmlidXRlc1wiXX0gW2F0dHJpYnV0ZXNdIC0gUHVsbC1hcHBseSBhdHRyaWJ1dGUgbWFwcGVyLiBSZXF1aXJlZCBmb3IgcmVzb3VyY2VzIHRoYXQgcmVjZWl2ZSBwdWxsZWQgY2hhbmdlcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtib29sZWFuQXR0cmlidXRlc10gLSBFeHRyYSBib29sZWFuIGF0dHJpYnV0ZXMgbWVyZ2VkIHdpdGggdGhlIGJvb2xlYW4gY29sdW1ucyBkZXJpdmVkIGZyb20gY29sdW1uIHR5cGVzLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3N5bmMtYXBpLWNsaWVudC10eXBlcy5qc1wiKS5TeW5jUmVzb3VyY2VDb25maWdbXCJmaW5kUmVjb3JkXCJdfSBbZmluZFJlY29yZF0gLSBDdXN0b20gcHVsbC1hcHBseSByZWNvcmQgcmVzb2x2ZXIuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vc3luYy1hcGktY2xpZW50LXR5cGVzLmpzXCIpLlN5bmNSZXNvdXJjZUNvbmZpZ1tcImZpbmRSZWNvcmRGb3JEZWxldGVcIl19IFtmaW5kUmVjb3JkRm9yRGVsZXRlXSAtIEN1c3RvbSBwdWxsLWFwcGx5IGRlbGV0ZSByZXNvbHZlci5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IFtsb2NhbE9ubHlBdHRyaWJ1dGVzXSAtIEV4dHJhIGxvY2FsLW9ubHkgYXR0cmlidXRlcyBtZXJnZWQgd2l0aCB0aGUgZGVyaXZlZCBwcmltYXJ5IGtleSwgY3JlYXRlZEF0L3VwZGF0ZWRBdCwgYW5kIHN5bmMgYm9va2tlZXBpbmcgYXR0cmlidXRlcy5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9zeW5jLXB1Ymxpc2hlci10eXBlcy5qc1wiKS5TeW5jUHVibGlzaERlY2xhcmF0aW9uPFRNb2RlbD59IFtwdWJsaXNoXSAtIFNlcnZlci1zaWRlIHB1Ymxpc2ggZGVjbGFyYXRpb24gY29uc3VtZWQgYnkgYFN5bmNQdWJsaXNoZXIuZnJvbUNvbmZpZ3VyYXRpb24oLi4uKWAgb24gdGhlIGJhY2tlbmQ7IGlnbm9yZWQgYnkgdGhlIGNsaWVudC5cbiAqIEBwcm9wZXJ0eSB7XCJ1cHNlcnRcIiB8ICgoYXJnczoge29wZXJhdGlvbjogXCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlc3Ryb3lcIiwgcmVjb3JkOiA/fSkgPT4gc3RyaW5nKX0gW3N5bmNUeXBlXSAtIFN5bmMgdHlwZSBmbGFnIG9yIG1hcHBlciAoc2VlIFN5bmNDbGllbnRSZXNvdXJjZUNvbmZpZykuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW4gfCBBcnJheTxcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiPiB8IHtvcGVyYXRpb25zOiBBcnJheTxcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiPn19IFt0cmFja10gLSBBdXRvbWF0aWMgbXV0YXRpb24gdHJhY2tpbmcgcG9saWN5OyBhbiBhcnJheSBpcyBzaG9ydGhhbmQgZm9yIHtvcGVyYXRpb25zfS4gT24gYnkgZGVmYXVsdCAoY3JlYXRlcyBhbmQgdXBkYXRlcyBxdWV1ZSBhdXRvbWF0aWNhbGx5KTsgYGZhbHNlYCBvcHRzIHRoZSBtb2RlbCBvdXQgKGZvciBtb2RlbHMgd3JpdHRlbiBieSBub24tdXNlciBmbG93cyksIGB0cnVlYCBhZGRzIGRlc3Ryb3lzLlxuICogQHByb3BlcnR5IHsoYXJnczoge29wZXJhdGlvbjogXCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlc3Ryb3lcIiwgcmVjb3JkOiA/fSkgPT4gUmVjb3JkPHN0cmluZywgPz59IFt0cmFja2VkRGF0YV0gLSBDdXN0b20gcXVldWVkLXBheWxvYWQgYnVpbGRlciBmb3IgdHJhY2tlZCBtdXRhdGlvbnMuXG4gKiBAcHJvcGVydHkge01vZGVsU3luY1JlYWx0aW1lRGVjbGFyYXRpb259IFtyZWFsdGltZV0gLSBEZXByZWNhdGVkOiBzdGF0aWMgbGVnYWN5IHJlYWx0aW1lIGNoYW5uZWwgdGhpcyByZXNvdXJjZSBzdWJzY3JpYmVzIHRocm91Z2ggYHN1YnNjcmliZVJlYWx0aW1lKC4uLilgLiBEZWNsYXJlZCBwdWxsIHNjb3BlcyBzdWJzY3JpYmUgdGhlIGZyYW1ld29yayBzeW5jIGNoYW5uZWwgYXV0b21hdGljYWxseS5cbiAqL1xuXG4vKipcbiAqIE1vZGVsLWxldmVsIHN5bmMgZGVjbGFyYXRpb24gdmFsdWU6IGB0cnVlYCBvcHRzIGluIHdpdGggYWxsIGRlZmF1bHRzLCBhblxuICogb2JqZWN0IGN1c3RvbWl6ZXMgdGhlIGRlcml2ZWQgcmVzb3VyY2UgY29uZmlnLlxuICogQHRlbXBsYXRlIFtUTW9kZWw9YW55XVxuICogQHR5cGVkZWYge2Jvb2xlYW4gfCBNb2RlbFN5bmNEZWNsYXJhdGlvbkNvbmZpZzxUTW9kZWw+fSBNb2RlbFN5bmNEZWNsYXJhdGlvblxuICovXG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYnVpbGRpbmcgYSBzeW5jIGNsaWVudC4gRXZlcnl0aGluZyBlbHNlIOKAlCByZXNvdXJjZXMsIHRyYW5zcG9ydFxuICogUE9TVGVycywgYXV0aCwgY29ubmVjdGl2aXR5LCBiYXRjaCBzaXplIOKAlCBpcyBkZXJpdmVkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24nc1xuICogcmVnaXN0ZXJlZCBtb2RlbHMgKGBzdGF0aWMgc3luY2ApIGFuZCBpdHMgYHN5bmMuY2xpZW50YCBibG9jay5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IFN5bmNDbGllbnRPcHRpb25zXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gW2NvbmZpZ3VyYXRpb25dIC0gQ29uZmlndXJhdGlvbiBvd25pbmcgdGhlIHJlZ2lzdGVyZWQgbW9kZWxzLCB0aGUgYHN5bmMuY2xpZW50YCBibG9jaywgYW5kIHRoZSBzY29wZS1zdG9yZSBkYXRhYmFzZS4gRGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7KGFyZ3M6IHtzY29wZTogU2VyaWFsaXplZFN5bmNTY29wZX0pID0+IHN0cmluZyB8IG51bGwgfCBQcm9taXNlPHN0cmluZyB8IG51bGw+fSBbbGVnYWN5Q3Vyc29yXSAtIFNlZWRzIGEgbmV3bHkgZGVjbGFyZWQgc2NvcGUncyBjdXJzb3IgKGUuZy4gZnJvbSBhIHByZS1zY29wZSBjdXJzb3Igc3RvcmUpIHNvIGRldmljZXMgZG9uJ3QgcmUtcHVsbCBldmVyeXRoaW5nLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3N5bmMtc2NvcGUtc3RvcmUuanNcIikuZGVmYXVsdH0gW3Njb3BlU3RvcmVdIC0gU2NvcGUgc3RvcmUgb3ZlcnJpZGUgKHRlc3RzKS5cbiAqIEBwcm9wZXJ0eSB7P30gW3N5bmNNb2RlbF0gLSBQZW5kaW5nLXN5bmMgbW9kZWwgb3ZlcnJpZGUuIERlZmF1bHRzIHRvIHRoZSByZWdpc3RlcmVkIFwiU3luY1wiIG1vZGVsLlxuICovXG5cbi8qKlxuICogSW50ZXJuYWwgZGVyaXZlZCBzeW5jIGNsaWVudCBjb25maWd1cmF0aW9uIGJ1aWx0IGJ5IHRoZSBTeW5jQ2xpZW50XG4gKiBjb25zdHJ1Y3RvciDigJQgbm90IGFuIGFwcC1mYWNpbmcgQVBJLlxuICogQHR5cGVkZWYge29iamVjdH0gU3luY0NsaWVudENvbmZpZ1xuICogQHByb3BlcnR5IHsoKSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz59IGF1dGhlbnRpY2F0aW9uVG9rZW4gLSBSZXNvbHZlcyB0aGUgYXV0aCB0b2tlbiBzZW50IHdpdGggc3luYyByZXF1ZXN0cy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBbYmF0Y2hTaXplXSAtIE1heCBzeW5jcyBwZXIgcmVxdWVzdC5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBjb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbiBvd25pbmcgdGhlIHNjb3BlLXN0b3JlIGRhdGFiYXNlLlxuICogQHByb3BlcnR5IHsoKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPn0gW2lzT25saW5lXSAtIENvbm5lY3Rpdml0eSBnYXRlIGZvciBwdWxscyBhbmQgcmVwbGF5cy4gRGVmYXVsdHMgdG8gYWx3YXlzIG9ubGluZS5cbiAqIEBwcm9wZXJ0eSB7KGFyZ3M6IHtzY29wZTogU2VyaWFsaXplZFN5bmNTY29wZX0pID0+IHN0cmluZyB8IG51bGwgfCBQcm9taXNlPHN0cmluZyB8IG51bGw+fSBbbGVnYWN5Q3Vyc29yXSAtIFNlZWRzIGEgbmV3bHkgZGVjbGFyZWQgc2NvcGUncyBjdXJzb3IgKGUuZy4gZnJvbSBhIHByZS1zY29wZSBjdXJzb3Igc3RvcmUpIHNvIGRldmljZXMgZG9uJ3QgcmUtcHVsbCBldmVyeXRoaW5nLlxuICogQHByb3BlcnR5IHsoZXJyb3I6IEVycm9yKSA9PiB2b2lkfSBbb25FcnJvcl0gLSBSZXBvcnRzIGJhY2tncm91bmQgcmVwbGF5L3B1bGwgZmFpbHVyZXMuIERlZmF1bHRzIHRvIHJldGhyb3dpbmcuXG4gKiBAcHJvcGVydHkgeyhwYXlsb2FkOiBpbXBvcnQoXCIuL3N5bmMtYXBpLWNsaWVudC10eXBlcy5qc1wiKS5TeW5jQ2hhbmdlc1JlcXVlc3QgJiB7c2NvcGU6IFNlcmlhbGl6ZWRTeW5jU2NvcGV9KSA9PiBQcm9taXNlPGltcG9ydChcIi4vc3luYy1hcGktY2xpZW50LXR5cGVzLmpzXCIpLlN5bmNDaGFuZ2VzUmVzcG9uc2U+fSBwb3N0Q2hhbmdlcyAtIFBvc3RzIG9uZSBjaGFuZ2VzIHJlcXVlc3QuXG4gKiBAcHJvcGVydHkgeyhwYXlsb2FkOiB7YXV0aGVudGljYXRpb25Ub2tlbjogc3RyaW5nLCBzeW5jczogQXJyYXk8UmVjb3JkPHN0cmluZywgPz4+fSkgPT4gUHJvbWlzZTxpbXBvcnQoXCIuL3N5bmMtYXBpLWNsaWVudC10eXBlcy5qc1wiKS5TeW5jUmVwbGF5UmVzcG9uc2U+fSBwb3N0UmVwbGF5IC0gUG9zdHMgb25lIHJlcGxheSByZXF1ZXN0LlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLlZlbG9jaW91c1N5bmNDbGllbnRSZWFsdGltZUNvbmZpZ3VyYXRpb259IFtyZWFsdGltZV0gLSBSZWFsdGltZSBwdXNoIGNvbmZpZ3VyYXRpb24gY29uc3VtZWQgYnkgYHN1YnNjcmliZVJlYWx0aW1lKC4uLilgLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBTeW5jQ2xpZW50UmVzb3VyY2VDb25maWc+fSByZXNvdXJjZXMgLSBEZXJpdmVkIHJlc291cmNlIHBvbGljaWVzIGtleWVkIGJ5IHJlc291cmNlL21vZGVsIG5hbWUuXG4gKiBAcHJvcGVydHkgez99IHN5bmNNb2RlbCAtIExvY2FsIHBlbmRpbmctc3luYyBtb2RlbCBjbGFzcy5cbiAqL1xuXG5leHBvcnQge31cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1jbGllbnQtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3luYy9zeW5jLWNsaWVudC10eXBlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogQ2xpZW50LWRlY2xhcmVkIHN5bmMgc2NvcGUgc2VyaWFsaXplZCBmcm9tIGEgbW9kZWwgcXVlcnkuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTZXJpYWxpemVkU3luY1Njb3BlXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsID8+fSBjb25kaXRpb25zIC0gUGxhaW4gYXR0cmlidXRlIGNvbmRpdGlvbnMgZnJvbSB0aGUgcXVlcnkuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcmVzb3VyY2VUeXBlIC0gUmVzb3VyY2UvbW9kZWwgbmFtZSB0aGUgc2NvcGUgd2FzIGRlY2xhcmVkIGZvci5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbb3duZXJdIC0gTG9jYWwgcGFydGl0aW9uIGtleTogdGhlIGF1dGhlbnRpY2F0ZWQgaWRlbnRpdHkgdGhhdCBkZWNsYXJlZCB0aGUgc2NvcGUuIFVzZWQgb25seSB0byBwYXJ0aXRpb24gdGhlIGxvY2FsIHNjb3BlL2N1cnNvciBzdG9yZSAobmV2ZXIgc2VudCB0byB0aGUgc2VydmVyIGFzIHNjb3BlIGNvbmRpdGlvbnMpLCBzbyBhIHVzZXIgc2NvcGUncyBlbXB0eS1jb25kaXRpb25zIGN1cnNvciBkb2VzIG5vdCBsZWFrIGFjcm9zcyBhY2NvdW50cyBvbiBhIHNoYXJlZCBkZXZpY2UuXG4gKi9cblxuLyoqXG4gKiBTdGF0aWMgcmVhbHRpbWUgY2hhbm5lbCBkZWNsYXJhdGlvbiBvbiBhIG1vZGVsJ3MgYHN0YXRpYyBzeW5jYCwgZm9yIGNoYW5uZWxzXG4gKiB3aG9zZSBuYW1lIGFuZCBwYXJhbXMgYXJlIHN0YXRpYy5cbiAqIEBkZXByZWNhdGVkIERlY2xhcmVkIHB1bGwgc2NvcGVzIHN1YnNjcmliZSB0aGUgZnJhbWV3b3JrIHN5bmMgY2hhbm5lbCBhdXRvbWF0aWNhbGx5OyBrZWVwIHRoaXMgb25seSBmb3IgbGVnYWN5IGFwcCBjaGFubmVscy5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IE1vZGVsU3luY1JlYWx0aW1lRGVjbGFyYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBjaGFubmVsIC0gU2VydmVyIGNoYW5uZWwgbmFtZSB0byBzdWJzY3JpYmUuXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsID8+fSBbcGFyYW1zXSAtIFN0YXRpYyBzdWJzY3JpYmUgcGFyYW1zLiBUaGUgZnJhbWV3b3JrIGluamVjdHMgYGF1dGhlbnRpY2F0aW9uVG9rZW5gIGF1dG9tYXRpY2FsbHkuXG4gKi9cblxuLyoqXG4gKiBEZWNsYXJhdGl2ZSBwZXItcmVzb3VyY2Ugc3luYyBwb2xpY3kuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTeW5jQ2xpZW50UmVzb3VyY2VDb25maWdcbiAqIEBwcm9wZXJ0eSB7P30gbW9kZWxDbGFzcyAtIExvY2FsIG1vZGVsIGNsYXNzIGZvciB0aGlzIHJlc291cmNlLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3N5bmMtYXBpLWNsaWVudC10eXBlcy5qc1wiKS5TeW5jUmVzb3VyY2VDb25maWdbXCJhdHRyaWJ1dGVzXCJdfSBbYXR0cmlidXRlc10gLSBQdWxsLWFwcGx5IGF0dHJpYnV0ZSBtYXBwZXIuIFJlcXVpcmVkIGZvciByZXNvdXJjZXMgdGhhdCByZWNlaXZlIHB1bGxlZCBjaGFuZ2VzLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3N5bmMtYXBpLWNsaWVudC10eXBlcy5qc1wiKS5TeW5jUmVzb3VyY2VDb25maWdbXCJmaW5kUmVjb3JkXCJdfSBbZmluZFJlY29yZF0gLSBDdXN0b20gcHVsbC1hcHBseSByZWNvcmQgcmVzb2x2ZXIuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vc3luYy1hcGktY2xpZW50LXR5cGVzLmpzXCIpLlN5bmNSZXNvdXJjZUNvbmZpZ1tcImZpbmRSZWNvcmRGb3JEZWxldGVcIl19IFtmaW5kUmVjb3JkRm9yRGVsZXRlXSAtIEN1c3RvbSBwdWxsLWFwcGx5IGRlbGV0ZSByZXNvbHZlci5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9zeW5jLWFwaS1jbGllbnQtdHlwZXMuanNcIikuU3luY1Jlc291cmNlQ29uZmlnW1wiYWZ0ZXJBcHBseVwiXX0gW2FmdGVyQXBwbHldIC0gUG9zdC1hcHBseSBob29rLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gW2Jvb2xlYW5BdHRyaWJ1dGVzXSAtIEF0dHJpYnV0ZXMgY29lcmNlZCB0aHJvdWdoIHN5bmMgYm9vbGVhbiBwYXJzaW5nIHdoZW4gcXVldWVpbmcuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbbG9jYWxPbmx5QXR0cmlidXRlc10gLSBBdHRyaWJ1dGVzIHN0cmlwcGVkIGZyb20gcXVldWVkIHBheWxvYWRzLlxuICogQHByb3BlcnR5IHtcInVwc2VydFwiIHwgKChhcmdzOiB7b3BlcmF0aW9uOiBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiLCByZWNvcmQ6ID99KSA9PiBzdHJpbmcpfSBbc3luY1R5cGVdIC0gTWFwcyBhIG11dGF0aW9uIG9wZXJhdGlvbiB0byBhIHN5bmMgdHlwZS4gVGhlIFwidXBzZXJ0XCIgZmxhZyBxdWV1ZXMgY3JlYXRlcyBhbmQgdXBkYXRlcyBhcyBcInVwZGF0ZVwiIHJvd3MgKHRoZSBzZXJ2ZXIgdXBzZXJ0cyBieSByZXNvdXJjZSBpZCkgYW5kIGRlc3Ryb3lzIGFzIFwiZGVsZXRlXCIuIERlZmF1bHRzIHRvIHRoZSBvcGVyYXRpb24gbmFtZSB3aXRoIGRlc3Ryb3kgbWFwcGVkIHRvIFwiZGVsZXRlXCIuXG4gKiBAcHJvcGVydHkgeyhhcmdzOiB7b3BlcmF0aW9uOiBcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiLCByZWNvcmQ6ID99KSA9PiBSZWNvcmQ8c3RyaW5nLCA/Pn0gW3RyYWNrZWREYXRhXSAtIEN1c3RvbSBxdWV1ZWQtcGF5bG9hZCBidWlsZGVyIGZvciB0cmFja2VkIG11dGF0aW9ucy5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbiB8IHtvcGVyYXRpb25zOiBBcnJheTxcImNyZWF0ZVwiIHwgXCJ1cGRhdGVcIiB8IFwiZGVzdHJveVwiPn19IFt0cmFja10gLSBBdXRvbWF0aWMgbXV0YXRpb24gdHJhY2tpbmcgcG9saWN5LiBPbiBieSBkZWZhdWx0IChjcmVhdGVzIGFuZCB1cGRhdGVzIHF1ZXVlIGF1dG9tYXRpY2FsbHkpOyBgZmFsc2VgIG9wdHMgdGhlIHJlc291cmNlIG91dCwgYHRydWVgIGFkZHMgZGVzdHJveXMsIGB7b3BlcmF0aW9uc31gIG5hcnJvd3MgdGhlIHRyYWNrZWQgb3BlcmF0aW9ucy5cbiAqIEBwcm9wZXJ0eSB7TW9kZWxTeW5jUmVhbHRpbWVEZWNsYXJhdGlvbn0gW3JlYWx0aW1lXSAtIERlcHJlY2F0ZWQ6IHN0YXRpYyBsZWdhY3kgcmVhbHRpbWUgY2hhbm5lbCB0aGlzIHJlc291cmNlIHN1YnNjcmliZXMgdGhyb3VnaCBgc3Vic2NyaWJlUmVhbHRpbWUoLi4uKWAuIERlY2xhcmVkIHB1bGwgc2NvcGVzIHN1YnNjcmliZSB0aGUgZnJhbWV3b3JrIHN5bmMgY2hhbm5lbCBhdXRvbWF0aWNhbGx5LlxuICovXG5cbi8qKlxuICogTW9kZWwtbGV2ZWwgY2xpZW50IHN5bmMgZGVjbGFyYXRpb24gcmVhZCBmcm9tIGBzdGF0aWMgc3luY2AgYnlcbiAqIGBTeW5jQ2xpZW50LmZyb21Db25maWd1cmF0aW9uKC4uLilgLiBgdHJ1ZWAgb3B0cyB0aGUgbW9kZWwgaW4gd2l0aCBhbGxcbiAqIGRlZmF1bHRzOyBhbiBvYmplY3QgY3VzdG9taXplcyB0aGUgZGVyaXZlZCByZXNvdXJjZSBjb25maWcuXG4gKiBAdGVtcGxhdGUgW1RNb2RlbD1hbnldXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBNb2RlbFN5bmNEZWNsYXJhdGlvbkNvbmZpZ1xuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3N5bmMtYXBpLWNsaWVudC10eXBlcy5qc1wiKS5TeW5jUmVzb3VyY2VDb25maWdbXCJhZnRlckFwcGx5XCJdfSBbYWZ0ZXJBcHBseV0gLSBQb3N0LWFwcGx5IGhvb2suXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vc3luYy1hcGktY2xpZW50LXR5cGVzLmpzXCIpLlN5bmNSZXNvdXJjZUNvbmZpZ1tcImF0dHJpYnV0ZXNcIl19IFthdHRyaWJ1dGVzXSAtIFB1bGwtYXBwbHkgYXR0cmlidXRlIG1hcHBlci4gUmVxdWlyZWQgZm9yIHJlc291cmNlcyB0aGF0IHJlY2VpdmUgcHVsbGVkIGNoYW5nZXMuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbYm9vbGVhbkF0dHJpYnV0ZXNdIC0gRXh0cmEgYm9vbGVhbiBhdHRyaWJ1dGVzIG1lcmdlZCB3aXRoIHRoZSBib29sZWFuIGNvbHVtbnMgZGVyaXZlZCBmcm9tIGNvbHVtbiB0eXBlcy5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi9zeW5jLWFwaS1jbGllbnQtdHlwZXMuanNcIikuU3luY1Jlc291cmNlQ29uZmlnW1wiZmluZFJlY29yZFwiXX0gW2ZpbmRSZWNvcmRdIC0gQ3VzdG9tIHB1bGwtYXBwbHkgcmVjb3JkIHJlc29sdmVyLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuL3N5bmMtYXBpLWNsaWVudC10eXBlcy5qc1wiKS5TeW5jUmVzb3VyY2VDb25maWdbXCJmaW5kUmVjb3JkRm9yRGVsZXRlXCJdfSBbZmluZFJlY29yZEZvckRlbGV0ZV0gLSBDdXN0b20gcHVsbC1hcHBseSBkZWxldGUgcmVzb2x2ZXIuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBbbG9jYWxPbmx5QXR0cmlidXRlc10gLSBFeHRyYSBsb2NhbC1vbmx5IGF0dHJpYnV0ZXMgbWVyZ2VkIHdpdGggdGhlIGRlcml2ZWQgcHJpbWFyeSBrZXksIGNyZWF0ZWRBdC91cGRhdGVkQXQsIGFuZCBzeW5jIGJvb2trZWVwaW5nIGF0dHJpYnV0ZXMuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vc3luYy1wdWJsaXNoZXItdHlwZXMuanNcIikuU3luY1B1Ymxpc2hEZWNsYXJhdGlvbjxUTW9kZWw+fSBbcHVibGlzaF0gLSBTZXJ2ZXItc2lkZSBwdWJsaXNoIGRlY2xhcmF0aW9uIGNvbnN1bWVkIGJ5IGBTeW5jUHVibGlzaGVyLmZyb21Db25maWd1cmF0aW9uKC4uLilgIG9uIHRoZSBiYWNrZW5kOyBpZ25vcmVkIGJ5IHRoZSBjbGllbnQuXG4gKiBAcHJvcGVydHkge1widXBzZXJ0XCIgfCAoKGFyZ3M6IHtvcGVyYXRpb246IFwiY3JlYXRlXCIgfCBcInVwZGF0ZVwiIHwgXCJkZXN0cm95XCIsIHJlY29yZDogP30pID0+IHN0cmluZyl9IFtzeW5jVHlwZV0gLSBTeW5jIHR5cGUgZmxhZyBvciBtYXBwZXIgKHNlZSBTeW5jQ2xpZW50UmVzb3VyY2VDb25maWcpLlxuICogQHByb3BlcnR5IHtib29sZWFuIHwgQXJyYXk8XCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlc3Ryb3lcIj4gfCB7b3BlcmF0aW9uczogQXJyYXk8XCJjcmVhdGVcIiB8IFwidXBkYXRlXCIgfCBcImRlc3Ryb3lcIj59fSBbdHJhY2tdIC0gQXV0b21hdGljIG11dGF0aW9uIHRyYWNraW5nIHBvbGljeTsgYW4gYXJyYXkgaXMgc2hvcnRoYW5kIGZvciB7b3BlcmF0aW9uc30uIE9uIGJ5IGRlZmF1bHQgKGNyZWF0ZXMgYW5kIHVwZGF0ZXMgcXVldWUgYXV0b21hdGljYWxseSk7IGBmYWxzZWAgb3B0cyB0aGUgbW9kZWwgb3V0IChmb3IgbW9kZWxzIHdyaXR0ZW4gYnkgbm9uLXVzZXIgZmxvd3MpLCBgdHJ1ZWAgYWRkcyBkZXN0cm95cy5cbiAqIEBwcm9wZXJ0eSB7KGFyZ3M6IHtvcGVyYXRpb246IFwiY3JlYXRlXCIgfCBcInVwZGF0ZVwiIHwgXCJkZXN0cm95XCIsIHJlY29yZDogP30pID0+IFJlY29yZDxzdHJpbmcsID8+fSBbdHJhY2tlZERhdGFdIC0gQ3VzdG9tIHF1ZXVlZC1wYXlsb2FkIGJ1aWxkZXIgZm9yIHRyYWNrZWQgbXV0YXRpb25zLlxuICogQHByb3BlcnR5IHtNb2RlbFN5bmNSZWFsdGltZURlY2xhcmF0aW9ufSBbcmVhbHRpbWVdIC0gRGVwcmVjYXRlZDogc3RhdGljIGxlZ2FjeSByZWFsdGltZSBjaGFubmVsIHRoaXMgcmVzb3VyY2Ugc3Vic2NyaWJlcyB0aHJvdWdoIGBzdWJzY3JpYmVSZWFsdGltZSguLi4pYC4gRGVjbGFyZWQgcHVsbCBzY29wZXMgc3Vic2NyaWJlIHRoZSBmcmFtZXdvcmsgc3luYyBjaGFubmVsIGF1dG9tYXRpY2FsbHkuXG4gKi9cblxuLyoqXG4gKiBNb2RlbC1sZXZlbCBzeW5jIGRlY2xhcmF0aW9uIHZhbHVlOiBgdHJ1ZWAgb3B0cyBpbiB3aXRoIGFsbCBkZWZhdWx0cywgYW5cbiAqIG9iamVjdCBjdXN0b21pemVzIHRoZSBkZXJpdmVkIHJlc291cmNlIGNvbmZpZy5cbiAqIEB0ZW1wbGF0ZSBbVE1vZGVsPWFueV1cbiAqIEB0eXBlZGVmIHtib29sZWFuIHwgTW9kZWxTeW5jRGVjbGFyYXRpb25Db25maWc8VE1vZGVsPn0gTW9kZWxTeW5jRGVjbGFyYXRpb25cbiAqL1xuXG4vKipcbiAqIFNoYXJlZCBhcHAtbGlmZXRpbWUgd2Vic29ja2V0IGNvbm5lY3Rpb24gYWxsIHN5bmMgdHJhZmZpYyByaWRlcy4gTWF0Y2hlcyB0aGVcbiAqIHJlYWx0aW1lIHdlYnNvY2tldCBjbGllbnQgY29udHJhY3Q7IHRoZSBzeW5jIGNsaWVudCByaWRlcyBpdCB3aXRob3V0IG93bmluZ1xuICogaXRzIGNvbm5lY3QvZGlzY29ubmVjdCBsaWZlY3ljbGUuXG4gKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5WZWxvY2lvdXNTeW5jUmVhbHRpbWVXZWJzb2NrZXRDbGllbnR9IFN5bmNDbGllbnRTaGFyZWRDb25uZWN0aW9uXG4gKi9cblxuLyoqXG4gKiBPcHRpb25zIGZvciBidWlsZGluZyBhIHN5bmMgY2xpZW50LiBFdmVyeXRoaW5nIGVsc2Ug4oCUIHJlc291cmNlcywgdHJhbnNwb3J0XG4gKiBQT1NUZXJzLCBhdXRoLCBjb25uZWN0aXZpdHksIGJhdGNoIHNpemUg4oCUIGlzIGRlcml2ZWQgZnJvbSB0aGUgY29uZmlndXJhdGlvbidzXG4gKiByZWdpc3RlcmVkIG1vZGVscyAoYHN0YXRpYyBzeW5jYCkgYW5kIGl0cyBgc3luYy5jbGllbnRgIGJsb2NrLlxuICogQHR5cGVkZWYge29iamVjdH0gU3luY0NsaWVudE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBbY29uZmlndXJhdGlvbl0gLSBDb25maWd1cmF0aW9uIG93bmluZyB0aGUgcmVnaXN0ZXJlZCBtb2RlbHMsIHRoZSBgc3luYy5jbGllbnRgIGJsb2NrLCBhbmQgdGhlIHNjb3BlLXN0b3JlIGRhdGFiYXNlLiBEZWZhdWx0cyB0byB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uLlxuICogQHByb3BlcnR5IHsoYXJnczoge3Njb3BlOiBTZXJpYWxpemVkU3luY1Njb3BlfSkgPT4gc3RyaW5nIHwgbnVsbCB8IFByb21pc2U8c3RyaW5nIHwgbnVsbD59IFtsZWdhY3lDdXJzb3JdIC0gU2VlZHMgYSBuZXdseSBkZWNsYXJlZCBzY29wZSdzIGN1cnNvciAoZS5nLiBmcm9tIGEgcHJlLXNjb3BlIGN1cnNvciBzdG9yZSkgc28gZGV2aWNlcyBkb24ndCByZS1wdWxsIGV2ZXJ5dGhpbmcuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4vc3luYy1zY29wZS1zdG9yZS5qc1wiKS5kZWZhdWx0fSBbc2NvcGVTdG9yZV0gLSBTY29wZSBzdG9yZSBvdmVycmlkZSAodGVzdHMpLlxuICogQHByb3BlcnR5IHs/fSBbc3luY01vZGVsXSAtIFBlbmRpbmctc3luYyBtb2RlbCBvdmVycmlkZS4gRGVmYXVsdHMgdG8gdGhlIHJlZ2lzdGVyZWQgXCJTeW5jXCIgbW9kZWwuXG4gKi9cblxuLyoqXG4gKiBJbnRlcm5hbCBkZXJpdmVkIHN5bmMgY2xpZW50IGNvbmZpZ3VyYXRpb24gYnVpbHQgYnkgdGhlIFN5bmNDbGllbnRcbiAqIGNvbnN0cnVjdG9yIOKAlCBub3QgYW4gYXBwLWZhY2luZyBBUEkuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBTeW5jQ2xpZW50Q29uZmlnXG4gKiBAcHJvcGVydHkgeygpID0+IHN0cmluZyB8IFByb21pc2U8c3RyaW5nPn0gYXV0aGVudGljYXRpb25Ub2tlbiAtIFJlc29sdmVzIHRoZSBhdXRoIHRva2VuIHNlbnQgd2l0aCBzeW5jIHJlcXVlc3RzLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtiYXRjaFNpemVdIC0gTWF4IHN5bmNzIHBlciByZXF1ZXN0LlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIG93bmluZyB0aGUgc2NvcGUtc3RvcmUgZGF0YWJhc2UuXG4gKiBAcHJvcGVydHkgeygpID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+fSBbaXNPbmxpbmVdIC0gQ29ubmVjdGl2aXR5IGdhdGUgZm9yIHB1bGxzIGFuZCByZXBsYXlzLiBEZWZhdWx0cyB0byBhbHdheXMgb25saW5lLlxuICogQHByb3BlcnR5IHsoYXJnczoge3Njb3BlOiBTZXJpYWxpemVkU3luY1Njb3BlfSkgPT4gc3RyaW5nIHwgbnVsbCB8IFByb21pc2U8c3RyaW5nIHwgbnVsbD59IFtsZWdhY3lDdXJzb3JdIC0gU2VlZHMgYSBuZXdseSBkZWNsYXJlZCBzY29wZSdzIGN1cnNvciAoZS5nLiBmcm9tIGEgcHJlLXNjb3BlIGN1cnNvciBzdG9yZSkgc28gZGV2aWNlcyBkb24ndCByZS1wdWxsIGV2ZXJ5dGhpbmcuXG4gKiBAcHJvcGVydHkgeyhlcnJvcjogRXJyb3IpID0+IHZvaWR9IFtvbkVycm9yXSAtIFJlcG9ydHMgYmFja2dyb3VuZCByZXBsYXkvcHVsbCBmYWlsdXJlcy4gRGVmYXVsdHMgdG8gcmV0aHJvd2luZy5cbiAqIEBwcm9wZXJ0eSB7KHBheWxvYWQ6IGltcG9ydChcIi4vc3luYy1hcGktY2xpZW50LXR5cGVzLmpzXCIpLlN5bmNDaGFuZ2VzUmVxdWVzdCAmIHtzY29wZTogU2VyaWFsaXplZFN5bmNTY29wZX0pID0+IFByb21pc2U8aW1wb3J0KFwiLi9zeW5jLWFwaS1jbGllbnQtdHlwZXMuanNcIikuU3luY0NoYW5nZXNSZXNwb25zZT59IHBvc3RDaGFuZ2VzIC0gUG9zdHMgb25lIGNoYW5nZXMgcmVxdWVzdC5cbiAqIEBwcm9wZXJ0eSB7KHBheWxvYWQ6IHthdXRoZW50aWNhdGlvblRva2VuOiBzdHJpbmcsIHN5bmNzOiBBcnJheTxSZWNvcmQ8c3RyaW5nLCA/Pj59KSA9PiBQcm9taXNlPGltcG9ydChcIi4vc3luYy1hcGktY2xpZW50LXR5cGVzLmpzXCIpLlN5bmNSZXBsYXlSZXNwb25zZT59IHBvc3RSZXBsYXkgLSBQb3N0cyBvbmUgcmVwbGF5IHJlcXVlc3QuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4uL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuVmVsb2Npb3VzU3luY0NsaWVudFJlYWx0aW1lQ29uZmlndXJhdGlvbn0gW3JlYWx0aW1lXSAtIFJlYWx0aW1lIHB1c2ggY29uZmlndXJhdGlvbiBjb25zdW1lZCBieSBgc3Vic2NyaWJlUmVhbHRpbWUoLi4uKWAuXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIFN5bmNDbGllbnRSZXNvdXJjZUNvbmZpZz59IHJlc291cmNlcyAtIERlcml2ZWQgcmVzb3VyY2UgcG9saWNpZXMga2V5ZWQgYnkgcmVzb3VyY2UvbW9kZWwgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7P30gc3luY01vZGVsIC0gTG9jYWwgcGVuZGluZy1zeW5jIG1vZGVsIGNsYXNzLlxuICogQHByb3BlcnR5IHtTeW5jQ2xpZW50U2hhcmVkQ29ubmVjdGlvbn0gW3dlYnNvY2tldENsaWVudF0gLSBTaGFyZWQgYXBwLWxpZmV0aW1lIHdlYnNvY2tldCBjbGllbnQgaW5zdGFuY2UgKHRoZSBsb3ctbGV2ZWwgc2hhcmVkLWNvbm5lY3Rpb24gZm9ybSkuXG4gKiBAcHJvcGVydHkge3N0cmluZyB8ICgoKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKX0gW3dlYnNvY2tldFVybF0gLSBTaGFyZWQgYXBwLWxpZmV0aW1lIHdlYnNvY2tldCBVUkwgdGhlIGZyYW1ld29yayBidWlsZHMgYSBjbGllbnQgZnJvbS5cbiAqL1xuXG5leHBvcnQge31cbiJdfQ==
@@ -57,6 +57,12 @@ export default class SyncClient {
57
57
  _clientNumber: number;
58
58
  /** @type {SyncRealtimeBridge | null} */
59
59
  _realtimeBridge: SyncRealtimeBridge | null;
60
+ /** @type {import("./sync-client-types.js").SyncClientSharedConnection | null | undefined} Shared app-lifetime websocket connection (undefined until first resolved, null when none is configured). */
61
+ _syncConnection: import("./sync-client-types.js").SyncClientSharedConnection | null | undefined;
62
+ /** @type {Promise<void> | null} */
63
+ _subscribeUserScopePromise: Promise<void> | null;
64
+ /** @type {"subscribed" | "subscribing" | "unsubscribed"} */
65
+ _userScopeState: "subscribed" | "subscribing" | "unsubscribed";
60
66
  /** @type {import("./sync-scope-store.js").default | null} */
61
67
  _scopeStore: import("./sync-scope-store.js").default | null;
62
68
  /** @type {Promise<void> | null} */
@@ -210,6 +216,18 @@ export default class SyncClient {
210
216
  remoteApplySync({ source }?: {
211
217
  source?: string;
212
218
  }): (sync: import("./sync-api-client-types.js").SyncChangeEnvelope) => Promise<import("./sync-api-client-types.js").SyncChangeApplyResult>;
219
+ /**
220
+ * Resolves the shared app-lifetime websocket connection all sync traffic
221
+ * rides, or null when none is configured. Built once and memoized (per
222
+ * client): an app-provided `sync.client.websocketClient` instance wins (the
223
+ * frontend-model transport can pass its own client so one socket carries
224
+ * everything), else a framework-owned reconnecting {@link VelociousWebsocketClient}
225
+ * built from `sync.client.websocketUrl`. The realtime bridge rides this
226
+ * connection without owning its lifecycle; when neither is configured the
227
+ * bridge falls back to the deprecated per-cycle `realtime.createClient`.
228
+ * @returns {import("./sync-client-types.js").SyncClientSharedConnection | null} Shared websocket connection, or null.
229
+ */
230
+ syncConnection(): import("./sync-client-types.js").SyncClientSharedConnection | null;
213
231
  /**
214
232
  * Subscribes the derived realtime channels so pushed websocket changes apply
215
233
  * through the same derived applier as pulls (idempotent, single-flighted).
@@ -217,6 +235,49 @@ export default class SyncClient {
217
235
  * @returns {Promise<void>}
218
236
  */
219
237
  subscribeRealtime(context?: unknown): Promise<void>;
238
+ /**
239
+ * Subscribes the server-enumerated user scope: "everything my ability can
240
+ * see". Declares a user scope (empty conditions) for every pullable synced
241
+ * resource type, subscribes realtime so their framework sync channel
242
+ * subscriptions go live, and pulls so the device catches up. The server
243
+ * authorizes each empty-conditions scope through the app sync resource's
244
+ * `authorizeChanges` and re-checks record access per delivery, so the client
245
+ * subscribes with just its token and the server decides membership.
246
+ * Idempotent and single-flighted like {@link SyncClient#subscribeRealtime}.
247
+ * @returns {Promise<void>}
248
+ */
249
+ subscribeUserScope(): Promise<void>;
250
+ /**
251
+ * Declares and activates the user scope for every pullable resource, then
252
+ * subscribes realtime and pulls.
253
+ * @returns {Promise<void>}
254
+ */
255
+ _subscribeUserScope(): Promise<void>;
256
+ /**
257
+ * Unsubscribes the user scope: deactivates the per-resource user scopes and
258
+ * closes the realtime channel subscriptions. The shared websocket connection
259
+ * stays open when one is configured (sign-out drops subscriptions without
260
+ * disconnecting), so a subsequent sign-in resubscribes over the same socket.
261
+ * @returns {Promise<void>}
262
+ */
263
+ unsubscribeUserScope(): Promise<void>;
264
+ /**
265
+ * The resource types a user scope covers: every declared resource that
266
+ * receives pulled changes (has pull `attributes`).
267
+ * @returns {string[]} Pullable resource type names.
268
+ */
269
+ userScopeResourceTypes(): string[];
270
+ /**
271
+ * Resolves the local partition key for the user scope: the currently
272
+ * configured authenticated identity (the sync auth token). Partitioning the
273
+ * user scope's local scope/cursor rows by this owner keeps the
274
+ * empty-conditions cursor from leaking across accounts on a shared device
275
+ * (account B signing in after account A gets a fresh cursor) while the same
276
+ * account reconnecting keeps its cursor continuity. The owner is a local
277
+ * partition key only — pulls still post empty conditions to the server.
278
+ * @returns {Promise<string>} User-scope owner partition key.
279
+ */
280
+ userScopeOwner(): Promise<string>;
220
281
  /**
221
282
  * Unsubscribes the realtime channels and disconnects the websocket client (idempotent).
222
283
  * @returns {Promise<void>}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-client.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-client.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-client.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-client.js"],"names":[],"mappings":"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"}