@fluid-experimental/tree 0.59.2001 → 0.59.3000

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 (258) hide show
  1. package/.eslintrc.js +2 -0
  2. package/.vscode/SharedTree.code-workspace +15 -0
  3. package/.vscode/settings.json +6 -0
  4. package/dist/ChangeCompression.js +9 -9
  5. package/dist/ChangeCompression.js.map +1 -1
  6. package/dist/ChangeTypes.d.ts +1 -6
  7. package/dist/ChangeTypes.d.ts.map +1 -1
  8. package/dist/ChangeTypes.js +5 -5
  9. package/dist/ChangeTypes.js.map +1 -1
  10. package/dist/Checkout.js +14 -14
  11. package/dist/Checkout.js.map +1 -1
  12. package/dist/Common.d.ts +21 -3
  13. package/dist/Common.d.ts.map +1 -1
  14. package/dist/Common.js +29 -4
  15. package/dist/Common.js.map +1 -1
  16. package/dist/EditLog.js +26 -25
  17. package/dist/EditLog.js.map +1 -1
  18. package/dist/EditUtilities.js +17 -17
  19. package/dist/EditUtilities.js.map +1 -1
  20. package/dist/Forest.js +31 -31
  21. package/dist/Forest.js.map +1 -1
  22. package/dist/HistoryEditFactory.js +9 -9
  23. package/dist/HistoryEditFactory.js.map +1 -1
  24. package/dist/IdConversion.js +9 -9
  25. package/dist/IdConversion.js.map +1 -1
  26. package/dist/Identifiers.d.ts +4 -0
  27. package/dist/Identifiers.d.ts.map +1 -1
  28. package/dist/Identifiers.js.map +1 -1
  29. package/dist/LogViewer.d.ts +1 -5
  30. package/dist/LogViewer.d.ts.map +1 -1
  31. package/dist/LogViewer.js +11 -19
  32. package/dist/LogViewer.js.map +1 -1
  33. package/dist/MergeHealth.js +2 -2
  34. package/dist/MergeHealth.js.map +1 -1
  35. package/dist/NodeIdUtilities.js +2 -2
  36. package/dist/NodeIdUtilities.js.map +1 -1
  37. package/dist/PayloadUtilities.js +1 -1
  38. package/dist/PayloadUtilities.js.map +1 -1
  39. package/dist/RevisionValueCache.d.ts +13 -10
  40. package/dist/RevisionValueCache.d.ts.map +1 -1
  41. package/dist/RevisionValueCache.js +14 -11
  42. package/dist/RevisionValueCache.js.map +1 -1
  43. package/dist/RevisionView.js +4 -4
  44. package/dist/RevisionView.js.map +1 -1
  45. package/dist/SerializationUtilities.js +4 -4
  46. package/dist/SerializationUtilities.js.map +1 -1
  47. package/dist/SharedTree.d.ts +93 -31
  48. package/dist/SharedTree.d.ts.map +1 -1
  49. package/dist/SharedTree.js +160 -131
  50. package/dist/SharedTree.js.map +1 -1
  51. package/dist/SharedTreeEncoder.d.ts +3 -3
  52. package/dist/SharedTreeEncoder.d.ts.map +1 -1
  53. package/dist/SharedTreeEncoder.js +36 -36
  54. package/dist/SharedTreeEncoder.js.map +1 -1
  55. package/dist/StringInterner.js +1 -1
  56. package/dist/StringInterner.js.map +1 -1
  57. package/dist/Summary.js +1 -1
  58. package/dist/Summary.js.map +1 -1
  59. package/dist/SummaryBackCompatibility.js +8 -8
  60. package/dist/SummaryBackCompatibility.js.map +1 -1
  61. package/dist/Transaction.js +1 -1
  62. package/dist/Transaction.js.map +1 -1
  63. package/dist/TransactionInternal.js +17 -17
  64. package/dist/TransactionInternal.js.map +1 -1
  65. package/dist/TreeCompressor.d.ts.map +1 -1
  66. package/dist/TreeCompressor.js +6 -8
  67. package/dist/TreeCompressor.js.map +1 -1
  68. package/dist/TreeNodeHandle.js +4 -4
  69. package/dist/TreeNodeHandle.js.map +1 -1
  70. package/dist/TreeView.js +7 -7
  71. package/dist/TreeView.js.map +1 -1
  72. package/dist/TreeViewUtilities.js +2 -2
  73. package/dist/TreeViewUtilities.js.map +1 -1
  74. package/dist/UndoRedoHandler.js +1 -1
  75. package/dist/UndoRedoHandler.js.map +1 -1
  76. package/dist/UuidUtilities.d.ts +30 -0
  77. package/dist/UuidUtilities.d.ts.map +1 -0
  78. package/dist/UuidUtilities.js +106 -0
  79. package/dist/UuidUtilities.js.map +1 -0
  80. package/dist/id-compressor/AppendOnlySortedMap.d.ts +52 -28
  81. package/dist/id-compressor/AppendOnlySortedMap.d.ts.map +1 -1
  82. package/dist/id-compressor/AppendOnlySortedMap.js +167 -90
  83. package/dist/id-compressor/AppendOnlySortedMap.js.map +1 -1
  84. package/dist/id-compressor/IdCompressor.d.ts +43 -42
  85. package/dist/id-compressor/IdCompressor.d.ts.map +1 -1
  86. package/dist/id-compressor/IdCompressor.js +179 -177
  87. package/dist/id-compressor/IdCompressor.js.map +1 -1
  88. package/dist/id-compressor/IdRange.js +1 -1
  89. package/dist/id-compressor/IdRange.js.map +1 -1
  90. package/dist/id-compressor/NumericUuid.d.ts +6 -14
  91. package/dist/id-compressor/NumericUuid.d.ts.map +1 -1
  92. package/dist/id-compressor/NumericUuid.js +15 -76
  93. package/dist/id-compressor/NumericUuid.js.map +1 -1
  94. package/dist/id-compressor/SessionIdNormalizer.d.ts +122 -0
  95. package/dist/id-compressor/SessionIdNormalizer.d.ts.map +1 -0
  96. package/dist/id-compressor/SessionIdNormalizer.js +418 -0
  97. package/dist/id-compressor/SessionIdNormalizer.js.map +1 -0
  98. package/dist/id-compressor/persisted-types/0.0.1.d.ts +6 -13
  99. package/dist/id-compressor/persisted-types/0.0.1.d.ts.map +1 -1
  100. package/dist/id-compressor/persisted-types/0.0.1.js.map +1 -1
  101. package/dist/index.d.ts +2 -2
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js.map +1 -1
  104. package/dist/persisted-types/0.1.1.d.ts +1 -6
  105. package/dist/persisted-types/0.1.1.d.ts.map +1 -1
  106. package/dist/persisted-types/0.1.1.js +3 -3
  107. package/dist/persisted-types/0.1.1.js.map +1 -1
  108. package/lib/ChangeTypes.d.ts +1 -6
  109. package/lib/ChangeTypes.d.ts.map +1 -1
  110. package/lib/Checkout.js.map +1 -1
  111. package/lib/Common.d.ts +21 -3
  112. package/lib/Common.d.ts.map +1 -1
  113. package/lib/Common.js +25 -3
  114. package/lib/Common.js.map +1 -1
  115. package/lib/EditLog.js +2 -1
  116. package/lib/EditLog.js.map +1 -1
  117. package/lib/EditUtilities.js.map +1 -1
  118. package/lib/Forest.js.map +1 -1
  119. package/lib/HistoryEditFactory.js.map +1 -1
  120. package/lib/Identifiers.d.ts +4 -0
  121. package/lib/Identifiers.d.ts.map +1 -1
  122. package/lib/Identifiers.js.map +1 -1
  123. package/lib/LogViewer.d.ts +1 -5
  124. package/lib/LogViewer.d.ts.map +1 -1
  125. package/lib/LogViewer.js +5 -13
  126. package/lib/LogViewer.js.map +1 -1
  127. package/lib/MergeHealth.js.map +1 -1
  128. package/lib/NodeIdUtilities.js.map +1 -1
  129. package/lib/RevisionValueCache.d.ts +13 -10
  130. package/lib/RevisionValueCache.d.ts.map +1 -1
  131. package/lib/RevisionValueCache.js +10 -7
  132. package/lib/RevisionValueCache.js.map +1 -1
  133. package/lib/RevisionView.js.map +1 -1
  134. package/lib/SharedTree.d.ts +93 -31
  135. package/lib/SharedTree.d.ts.map +1 -1
  136. package/lib/SharedTree.js +107 -78
  137. package/lib/SharedTree.js.map +1 -1
  138. package/lib/SharedTreeEncoder.d.ts +3 -3
  139. package/lib/SharedTreeEncoder.d.ts.map +1 -1
  140. package/lib/SharedTreeEncoder.js +4 -4
  141. package/lib/SharedTreeEncoder.js.map +1 -1
  142. package/lib/StringInterner.js.map +1 -1
  143. package/lib/Summary.js.map +1 -1
  144. package/lib/TreeCompressor.d.ts.map +1 -1
  145. package/lib/TreeCompressor.js +1 -3
  146. package/lib/TreeCompressor.js.map +1 -1
  147. package/lib/TreeNodeHandle.js.map +1 -1
  148. package/lib/TreeView.js.map +1 -1
  149. package/lib/TreeViewUtilities.js.map +1 -1
  150. package/lib/UuidUtilities.d.ts +30 -0
  151. package/lib/UuidUtilities.d.ts.map +1 -0
  152. package/lib/UuidUtilities.js +98 -0
  153. package/lib/UuidUtilities.js.map +1 -0
  154. package/lib/id-compressor/AppendOnlySortedMap.d.ts +52 -28
  155. package/lib/id-compressor/AppendOnlySortedMap.d.ts.map +1 -1
  156. package/lib/id-compressor/AppendOnlySortedMap.js +165 -88
  157. package/lib/id-compressor/AppendOnlySortedMap.js.map +1 -1
  158. package/lib/id-compressor/IdCompressor.d.ts +43 -42
  159. package/lib/id-compressor/IdCompressor.d.ts.map +1 -1
  160. package/lib/id-compressor/IdCompressor.js +97 -95
  161. package/lib/id-compressor/IdCompressor.js.map +1 -1
  162. package/lib/id-compressor/NumericUuid.d.ts +6 -14
  163. package/lib/id-compressor/NumericUuid.d.ts.map +1 -1
  164. package/lib/id-compressor/NumericUuid.js +11 -70
  165. package/lib/id-compressor/NumericUuid.js.map +1 -1
  166. package/lib/id-compressor/SessionIdNormalizer.d.ts +122 -0
  167. package/lib/id-compressor/SessionIdNormalizer.d.ts.map +1 -0
  168. package/lib/id-compressor/SessionIdNormalizer.js +414 -0
  169. package/lib/id-compressor/SessionIdNormalizer.js.map +1 -0
  170. package/lib/id-compressor/persisted-types/0.0.1.d.ts +6 -13
  171. package/lib/id-compressor/persisted-types/0.0.1.d.ts.map +1 -1
  172. package/lib/id-compressor/persisted-types/0.0.1.js.map +1 -1
  173. package/lib/index.d.ts +2 -2
  174. package/lib/index.d.ts.map +1 -1
  175. package/lib/index.js.map +1 -1
  176. package/lib/persisted-types/0.1.1.d.ts +1 -6
  177. package/lib/persisted-types/0.1.1.d.ts.map +1 -1
  178. package/lib/persisted-types/0.1.1.js.map +1 -1
  179. package/lib/test/AppendOnlySortedMap.perf.tests.d.ts +6 -0
  180. package/lib/test/AppendOnlySortedMap.perf.tests.d.ts.map +1 -0
  181. package/lib/test/AppendOnlySortedMap.perf.tests.js +49 -0
  182. package/lib/test/AppendOnlySortedMap.perf.tests.js.map +1 -0
  183. package/lib/test/AppendOnlySortedMap.tests.js +56 -14
  184. package/lib/test/AppendOnlySortedMap.tests.js.map +1 -1
  185. package/lib/test/Checkout.tests.js +2 -2
  186. package/lib/test/Checkout.tests.js.map +1 -1
  187. package/lib/test/Forest.tests.js.map +1 -1
  188. package/lib/test/IdCompressor.perf.tests.js +8 -2
  189. package/lib/test/IdCompressor.perf.tests.js.map +1 -1
  190. package/lib/test/IdCompressor.tests.js +75 -24
  191. package/lib/test/IdCompressor.tests.js.map +1 -1
  192. package/lib/test/LogViewer.tests.js +3 -5
  193. package/lib/test/LogViewer.tests.js.map +1 -1
  194. package/lib/test/NumericUuid.perf.tests.js +4 -4
  195. package/lib/test/NumericUuid.perf.tests.js.map +1 -1
  196. package/lib/test/NumericUuid.tests.js +5 -4
  197. package/lib/test/NumericUuid.tests.js.map +1 -1
  198. package/lib/test/RevisionValueCache.tests.js.map +1 -1
  199. package/lib/test/RevisionView.tests.js.map +1 -1
  200. package/lib/test/SessionIdNormalizer.tests.d.ts +6 -0
  201. package/lib/test/SessionIdNormalizer.tests.d.ts.map +1 -0
  202. package/lib/test/SessionIdNormalizer.tests.js +299 -0
  203. package/lib/test/SessionIdNormalizer.tests.js.map +1 -0
  204. package/lib/test/Summary.tests.js +1 -1
  205. package/lib/test/Summary.tests.js.map +1 -1
  206. package/lib/test/TreeCompression.tests.js +1 -1
  207. package/lib/test/TreeCompression.tests.js.map +1 -1
  208. package/lib/test/Virtualization.tests.js +1 -1
  209. package/lib/test/Virtualization.tests.js.map +1 -1
  210. package/lib/test/fuzz/Generators.d.ts +3 -14
  211. package/lib/test/fuzz/Generators.d.ts.map +1 -1
  212. package/lib/test/fuzz/Generators.js +60 -151
  213. package/lib/test/fuzz/Generators.js.map +1 -1
  214. package/lib/test/fuzz/SharedTreeFuzzTests.d.ts +10 -7
  215. package/lib/test/fuzz/SharedTreeFuzzTests.d.ts.map +1 -1
  216. package/lib/test/fuzz/SharedTreeFuzzTests.js +94 -104
  217. package/lib/test/fuzz/SharedTreeFuzzTests.js.map +1 -1
  218. package/lib/test/fuzz/Types.d.ts +2 -9
  219. package/lib/test/fuzz/Types.d.ts.map +1 -1
  220. package/lib/test/fuzz/Types.js +1 -1
  221. package/lib/test/fuzz/Types.js.map +1 -1
  222. package/lib/test/utilities/IdCompressorTestUtilities.d.ts +57 -11
  223. package/lib/test/utilities/IdCompressorTestUtilities.d.ts.map +1 -1
  224. package/lib/test/utilities/IdCompressorTestUtilities.js +112 -98
  225. package/lib/test/utilities/IdCompressorTestUtilities.js.map +1 -1
  226. package/lib/test/utilities/PendingLocalStateTests.d.ts.map +1 -1
  227. package/lib/test/utilities/PendingLocalStateTests.js +2 -1
  228. package/lib/test/utilities/PendingLocalStateTests.js.map +1 -1
  229. package/lib/test/utilities/SharedTreeTests.d.ts.map +1 -1
  230. package/lib/test/utilities/SharedTreeTests.js +30 -1
  231. package/lib/test/utilities/SharedTreeTests.js.map +1 -1
  232. package/lib/test/utilities/SharedTreeVersioningTests.d.ts.map +1 -1
  233. package/lib/test/utilities/SharedTreeVersioningTests.js +20 -0
  234. package/lib/test/utilities/SharedTreeVersioningTests.js.map +1 -1
  235. package/lib/test/utilities/SummaryLoadPerfTests.d.ts.map +1 -1
  236. package/lib/test/utilities/SummaryLoadPerfTests.js +6 -3
  237. package/lib/test/utilities/SummaryLoadPerfTests.js.map +1 -1
  238. package/lib/test/utilities/TestNode.js.map +1 -1
  239. package/lib/test/utilities/TestUtilities.d.ts +9 -1
  240. package/lib/test/utilities/TestUtilities.d.ts.map +1 -1
  241. package/lib/test/utilities/TestUtilities.js +27 -13
  242. package/lib/test/utilities/TestUtilities.js.map +1 -1
  243. package/package.json +19 -17
  244. package/src/Common.ts +42 -4
  245. package/src/EditLog.ts +1 -1
  246. package/src/Identifiers.ts +5 -0
  247. package/src/LogViewer.ts +4 -20
  248. package/src/RevisionValueCache.ts +11 -8
  249. package/src/SharedTree.ts +222 -75
  250. package/src/SharedTreeEncoder.ts +17 -11
  251. package/src/TreeCompressor.ts +2 -4
  252. package/src/UuidUtilities.ts +123 -0
  253. package/src/id-compressor/AppendOnlySortedMap.ts +183 -94
  254. package/src/id-compressor/IdCompressor.ts +144 -132
  255. package/src/id-compressor/NumericUuid.ts +11 -80
  256. package/src/id-compressor/SessionIdNormalizer.ts +497 -0
  257. package/src/id-compressor/persisted-types/0.0.1.ts +12 -15
  258. package/src/index.ts +5 -0
@@ -2,8 +2,8 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import { LocalCompressedId, FinalCompressedId, SessionSpaceCompressedId, StableId, OpSpaceCompressedId, SessionId, CompressedId } from '../Identifiers';
6
- import type { AttributionInfo, IdCreationRange, SerializedIdCompressorWithNoSession, SerializedIdCompressorWithOngoingSession, VersionedSerializedIdCompressor } from './persisted-types';
5
+ import { LocalCompressedId, FinalCompressedId, SessionSpaceCompressedId, StableId, OpSpaceCompressedId, SessionId, CompressedId, AttributionId } from '../Identifiers';
6
+ import type { IdCreationRange, SerializedIdCompressorWithNoSession, SerializedIdCompressorWithOngoingSession, VersionedSerializedIdCompressor } from './persisted-types';
7
7
  /**
8
8
  * Roughly equates to a minimum of 1M sessions before we start allocating 64 bit IDs.
9
9
  * This value must *NOT* change without careful consideration to compatibility.
@@ -125,7 +125,11 @@ export declare class IdCompressor {
125
125
  */
126
126
  set clusterCapacity(value: number);
127
127
  /**
128
- * Session ID -> data about the session's current cluster.
128
+ * The UUID used for attribution of identities created by this compressor
129
+ */
130
+ get attributionId(): AttributionId;
131
+ /**
132
+ * Session ID -\> data about the session's current cluster.
129
133
  * Sessions are mutable, and thus should only be created via `createSession`.
130
134
  */
131
135
  private readonly sessions;
@@ -133,10 +137,6 @@ export declare class IdCompressor {
133
137
  * The `IdCompressor`'s current local session.
134
138
  */
135
139
  private readonly localSession;
136
- /**
137
- * Boolean to track whether attribution has been sent with an ID range yet. Prevents unnecessary bloat of ranges.
138
- */
139
- private sentAttributionInfo;
140
140
  /**
141
141
  * The base final ID of the next cluster to be created.
142
142
  */
@@ -157,7 +157,7 @@ export declare class IdCompressor {
157
157
  private readonly localOverrides;
158
158
  /**
159
159
  * Maps local IDs to the cluster they belong to (if any). This can be used to efficiently convert a local ID to a
160
- * final ID by finding an entry <= a given local ID (to find the cluster it is associated with) and checking
160
+ * final ID by finding an entry \<= a given local ID (to find the cluster it is associated with) and checking
161
161
  * it against `numFinalizedLocalIds`.
162
162
  */
163
163
  private readonly localIdToCluster;
@@ -180,25 +180,27 @@ export declare class IdCompressor {
180
180
  */
181
181
  private static overrideComparator;
182
182
  /**
183
- * @param localSessionId the `IdCompressor`'s current local session ID.
184
- * @param reservedIdCount the number of IDs that will be known by this compressor without relying on consensus. The reserved ID count
185
- * for a given session must be constant for any compressor that contains IDs from that session (i.e. any DDS that uses the ID
186
- * compressor must have the same reservedIdCount forever). Compressors with different reserved ID counts will fail to synchronize their
187
- * IDs.
188
- * @param attributionInfo information used by other clients to attribute IDs made by this client
183
+ * @param localSessionId - the `IdCompressor`'s current local session ID.
184
+ * @param reservedIdCount - the number of IDs that will be known by this compressor without relying on consensus.
185
+ * The reserved ID count for a given session must be constant for any compressor that contains IDs from that session
186
+ * (i.e. any DDS that uses the ID compressor must have the same reservedIdCount forever). Compressors with different
187
+ * reserved ID counts will fail to synchronize their IDs.
188
+ * @param attributionId - a UUID that identifies the user of this instance of the compressor. IDs created by this
189
+ * compressor will be associated with this UUID and can be queried later via `attributeID`. If no UUID is provided,
190
+ * this compressor will generate its own. An `AttributionId` is an `UuidString` which may be validated via
191
+ * {@link isUuidString} or generated via {@link generateStableId}.
189
192
  */
190
- constructor(localSessionId: SessionId, reservedIdCount: number, attributionInfo?: AttributionInfo);
193
+ constructor(localSessionId: SessionId, reservedIdCount: number, attributionId?: AttributionId);
191
194
  /**
192
195
  * Creates a session object for the supplied ID.
193
196
  * Must only be called once per ID.
194
- * @param sessionId the ID for the session
197
+ * @param sessionId - the ID for the session
195
198
  * @returns the session object for the supplied ID
196
199
  */
197
200
  private createSession;
198
- private tryGetSession;
199
201
  /**
200
202
  * Return the nth reserved ID.
201
- * @param index the index of the ID to return
203
+ * @param index - the index of the ID to return
202
204
  */
203
205
  getReservedId(index: number): SessionSpaceCompressedId & FinalCompressedId;
204
206
  /**
@@ -206,9 +208,9 @@ export declare class IdCompressor {
206
208
  */
207
209
  getAllIdsFromLocalSession(): IterableIterator<SessionSpaceCompressedId>;
208
210
  /**
209
- * Returns the attribution info associated with the compressor that created the ID, if it exists.
211
+ * Returns the attribution ID associated with the compressor that created the ID
210
212
  */
211
- attributeId(id: SessionSpaceCompressedId): AttributionInfo | undefined;
213
+ attributeId(id: SessionSpaceCompressedId): AttributionId;
212
214
  /**
213
215
  * Provides the session-space IDs corresponding to a range of IDs.
214
216
  * See `IdRange` for more details.
@@ -223,7 +225,7 @@ export declare class IdCompressor {
223
225
  takeNextCreationRange(): IdCreationRange;
224
226
  /**
225
227
  * Finalizes the supplied range of IDs (which may be from either a remote or local session).
226
- * @param range the range of session-local IDs to finalize.
228
+ * @param range - the range of session-local IDs to finalize.
227
229
  */
228
230
  finalizeCreationRange(range: IdCreationRange): void;
229
231
  private checkClusterForCollision;
@@ -238,7 +240,7 @@ export declare class IdCompressor {
238
240
  private getExistingIdsForNewOverride;
239
241
  /**
240
242
  * Check if `a` might be within `range` of `b`, where both are treated as hex numbers.
241
- * @param range an integer
243
+ * @param range - an integer
242
244
  */
243
245
  private static uuidsMightCollide;
244
246
  /**
@@ -248,7 +250,7 @@ export declare class IdCompressor {
248
250
  /**
249
251
  * Generates a new compressed ID or returns an existing one.
250
252
  * This should ONLY be called to generate IDs for local operations.
251
- * @param override Specifies a specific string to be associated with the returned compressed ID.
253
+ * @param override - Specifies a specific string to be associated with the returned compressed ID.
252
254
  * Performance note: assigning override strings incurs a performance overhead.
253
255
  * @returns an existing ID if one already exists for `override`, and a new local ID otherwise. The returned ID is in session space.
254
256
  */
@@ -256,32 +258,32 @@ export declare class IdCompressor {
256
258
  /**
257
259
  * Generates a range of compressed IDs.
258
260
  * This should ONLY be called to generate IDs for local operations.
259
- * @param count the number of IDs to generate, must be > 0.
261
+ * @param count - the number of IDs to generate, must be \> 0.
260
262
  * @returns a persistable descriptor of the ID range.
261
263
  */
262
264
  generateCompressedIdRange(count: number): IdRangeDescriptor<LocalCompressedId>;
263
265
  private generateNextLocalId;
264
266
  /**
265
267
  * Decompresses a previously compressed ID into a UUID or override string.
266
- * @param id the compressed ID to be decompressed.
268
+ * @param id - the compressed ID to be decompressed.
267
269
  * @returns the UUID or override string associated with the compressed ID. Fails if the ID was not generated by this compressor.
268
270
  */
269
271
  decompress(id: SessionSpaceCompressedId | FinalCompressedId): StableId | string;
270
272
  /**
271
273
  * Attempts to decompress a previously compressed ID into a UUID or override string.
272
- * @param id the compressed ID to be decompressed.
274
+ * @param id - the compressed ID to be decompressed.
273
275
  * @returns the UUID or override string associated with the compressed ID, or undefined if the ID was not generated by this compressor.
274
276
  */
275
277
  tryDecompress(id: SessionSpaceCompressedId | FinalCompressedId): StableId | string | undefined;
276
278
  /**
277
279
  * Recompresses a decompressed ID, which could be a UUID or an override string.
278
- * @param uncompressed the UUID or override string to recompress.
280
+ * @param uncompressed - the UUID or override string to recompress.
279
281
  * @returns the `CompressedId` associated with `uncompressed`. Fails if it has not been previously compressed by this compressor.
280
282
  */
281
283
  recompress(uncompressed: string): SessionSpaceCompressedId;
282
284
  /**
283
285
  * Attempts to recompresses a decompressed ID, which could be a UUID or an override string.
284
- * @param uncompressed the UUID or override string to recompress,
286
+ * @param uncompressed - the UUID or override string to recompress,
285
287
  * @returns the `CompressedId` associated with `uncompressed` or undefined if it has not been previously compressed by this compressor.
286
288
  */
287
289
  tryRecompress(uncompressed: string): SessionSpaceCompressedId | undefined;
@@ -292,15 +294,15 @@ export declare class IdCompressor {
292
294
  private recompressInternal;
293
295
  /**
294
296
  * Normalizes a session space ID into op space.
295
- * @param id the local ID to normalize.
297
+ * @param id - the local ID to normalize.
296
298
  * @returns the ID in op space.
297
299
  */
298
300
  normalizeToOpSpace(id: SessionSpaceCompressedId): OpSpaceCompressedId;
299
301
  /**
300
302
  * Normalizes an ID into session space.
301
- * @param id the ID to normalize. If it is a local ID, it is assumed to have been created by the session corresponding
303
+ * @param id - the ID to normalize. If it is a local ID, it is assumed to have been created by the session corresponding
302
304
  * to `sessionId`.
303
- * @param originSessionId the session from which `id` originated
305
+ * @param originSessionId - the session from which `id` originated
304
306
  * @returns the session-space ID corresponding to `id`, which might not have been a final ID if the client that created it had not yet
305
307
  * finalized it. This can occur when a client references an ID during the window of time in which it is waiting to receive the ordered
306
308
  * range that contained it from the server.
@@ -308,7 +310,7 @@ export declare class IdCompressor {
308
310
  normalizeToSessionSpace(id: OpSpaceCompressedId, originSessionId: SessionId): SessionSpaceCompressedId;
309
311
  /**
310
312
  * Normalizes a final ID into session space.
311
- * @param id the final ID to normalize.
313
+ * @param id - the final ID to normalize.
312
314
  * @returns the session-space ID corresponding to `id`.
313
315
  */
314
316
  normalizeToSessionSpace(id: FinalCompressedId): SessionSpaceCompressedId;
@@ -336,8 +338,8 @@ export declare class IdCompressor {
336
338
  private getLocalIdForStableId;
337
339
  private getClusterForFinalId;
338
340
  /**
339
- * @returns if `other` is equal to this `IdCompressor`. The equality check includes local session state.
340
- * @testOnly
341
+ * @returns if `other` is equal to this `IdCompressor`. The equality check includes local session state only if specified.
342
+ * \@testOnly
341
343
  */
342
344
  equals(other: IdCompressor, compareLocalState: boolean): boolean;
343
345
  private static sessionDataEqual;
@@ -362,22 +364,21 @@ export declare class IdCompressor {
362
364
  */
363
365
  static deserialize(serialized: SerializedIdCompressorWithOngoingSession): IdCompressor;
364
366
  /**
365
- * Deserialize an serialized IdCompressor with a new session. The provided serialized compressor
366
- * must have an ongoing session.
367
- * @param serialized the serialized compressor state
368
- * @param newSessionId the session ID for the new compressor.
369
- * @param attributionInfo information used by other clients to attribute IDs made by this client
367
+ * Deserialize a serialized IdCompressor with a new session.
368
+ * @param serialized - the serialized compressor state
369
+ * @param newSessionId - the session ID for the new compressor.
370
+ * @param attributionId - information used by other clients to attribute IDs made by this client
370
371
  */
371
- static deserialize(serialized: SerializedIdCompressorWithNoSession, newSessionId: SessionId, attributionInfo?: AttributionInfo): IdCompressor;
372
+ static deserialize(serialized: SerializedIdCompressorWithNoSession, newSessionId: SessionId, attributionId?: AttributionId): IdCompressor;
372
373
  /**
373
374
  * Converts the given serialized compressor to the current version.
374
- * @param serializedCompressor the serialized compressor to convert. Must not have been serialized with an ongoing session.
375
+ * @param serializedCompressor - the serialized compressor to convert. Must not have been serialized with an ongoing session.
375
376
  * @returns a serialized compressor with no ongoing session.
376
377
  */
377
378
  static convertToCurrentVersion(serializedCompressor: VersionedSerializedIdCompressor, hasSession: false): SerializedIdCompressorWithNoSession;
378
379
  /**
379
380
  * Converts the given serialized compressor to the current version.
380
- * @param serializedCompressor the serialized compressor to convert. Must have been serialized with an ongoing session.
381
+ * @param serializedCompressor - the serialized compressor to convert. Must have been serialized with an ongoing session.
381
382
  * @returns a serialized compressor with the same ongoing session.
382
383
  */
383
384
  static convertToCurrentVersion(serializedCompressor: VersionedSerializedIdCompressor, hasSession: true): SerializedIdCompressorWithOngoingSession;
@@ -1 +1 @@
1
- {"version":3,"file":"IdCompressor.d.ts","sourceRoot":"","sources":["../../src/id-compressor/IdCompressor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,MAAM,gBAAgB,CAAC;AAcxB,OAAO,KAAK,EACX,eAAe,EACf,eAAe,EAIf,mCAAmC,EACnC,wCAAwC,EAIxC,+BAA+B,EAC/B,MAAM,mBAAmB,CAAC;AAqE3B;;;GAGG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAQ1C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,0CAA0C,CAAC;AAErF;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,EAAE,IAAI,iBAAiB,CAEnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,EAAE,IAAI,iBAAiB,CAEnE;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACvB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,GAAG,SAAS,iBAAiB,GAAG,mBAAmB;IACrF,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AA8CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBAAa,YAAY;aAuHP,cAAc,EAAE,SAAS;aACzB,eAAe,EAAE,MAAM;IAvHxC;;OAEG;IACH,OAAc,cAAc,SAAW;IAEvC;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAA0B;IAEpD;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;;OAGG;IACH,IAAW,eAAe,CAAC,KAAK,EAAE,MAAM,EAIvC;IAED;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAS;IAEpC;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAA6C;IAE3E;;OAEG;IACH,OAAO,CAAC,YAAY,CAAK;IAEzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAgC;IAExD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoF;IAEnH;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAQ/B;IAEF;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAG5C;IAEF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;IAEF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC;;;;;;;OAOG;gBAEc,cAAc,EAAE,SAAS,EACzB,eAAe,EAAE,MAAM,EACvC,eAAe,CAAC,EAAE,eAAe;IAoBlC;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,iBAAiB;IAUjF;;OAEG;IACK,yBAAyB,IAAI,gBAAgB,CAAC,wBAAwB,CAAC;IAO/E;;OAEG;IACI,WAAW,CAAC,EAAE,EAAE,wBAAwB,GAAG,eAAe,GAAG,SAAS;IAW7E;;;OAGG;IACI,eAAe,CACrB,eAAe,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,EAC5D,SAAS,EAAE,SAAS,GAClB,OAAO;IAyDV;;;;;OAKG;IACI,qBAAqB,IAAI,eAAe;IAsD/C;;;OAGG;IACI,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IA+N1D,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAIxC,OAAO,CAAC,MAAM,CAAC,aAAa;IAI5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAIpC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAKjC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAyDpC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAahC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAW7B;;;;;;OAMG;IACI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,wBAAwB;IAoBxE;;;;;OAKG;IACI,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;IAWrF,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACI,UAAU,CAAC,EAAE,EAAE,wBAAwB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,MAAM;IAItF;;;;OAIG;IACI,aAAa,CAAC,EAAE,EAAE,wBAAwB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;IAkCrG;;;;OAIG;IACI,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,wBAAwB;IAIjE;;;;OAIG;IACI,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAIhF;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA8D1B;;;;OAIG;IACI,kBAAkB,CAAC,EAAE,EAAE,wBAAwB,GAAG,mBAAmB;IAwC5E;;;;;;;;OAQG;IACI,uBAAuB,CAAC,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,GAAG,wBAAwB;IAE7G;;;;OAIG;IACI,uBAAuB,CAAC,EAAE,EAAE,iBAAiB,GAAG,wBAAwB;IA0C/E;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,oBAAoB;IAc5B;;;OAGG;IACI,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,GAAG,OAAO;IA4GvE,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA4B/B,OAAO,CAAC,MAAM,CAAC,eAAe;IAuC9B;;;OAGG;IACI,SAAS,CACf,WAAW,EAAE,OAAO,GAClB,wCAAwC,GAAG,mCAAmC;IAEjF;;;OAGG;IACI,SAAS,CAAC,WAAW,EAAE,IAAI,GAAG,wCAAwC;IAE7E;;;OAGG;IACI,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,mCAAmC;IA0FzE;;OAEG;WACW,WAAW,CAAC,UAAU,EAAE,wCAAwC,GAAG,YAAY;IAE7F;;;;;;OAMG;WACW,WAAW,CACxB,UAAU,EAAE,mCAAmC,EAC/C,YAAY,EAAE,SAAS,EACvB,eAAe,CAAC,EAAE,eAAe,GAC/B,YAAY;IAyJf;;;;OAIG;WACW,uBAAuB,CACpC,oBAAoB,EAAE,+BAA+B,EACrD,UAAU,EAAE,KAAK,GACf,mCAAmC;IAEtC;;;;OAIG;WACW,uBAAuB,CACpC,oBAAoB,EAAE,+BAA+B,EACrD,UAAU,EAAE,IAAI,GACd,wCAAwC;CAe3C;AAOD;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,mCAAmC,GAAG,wCAAwC,GACxF,UAAU,IAAI,wCAAwC,CAExD"}
1
+ {"version":3,"file":"IdCompressor.d.ts","sourceRoot":"","sources":["../../src/id-compressor/IdCompressor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACT,YAAY,EAEZ,aAAa,EACb,MAAM,gBAAgB,CAAC;AAaxB,OAAO,KAAK,EACX,eAAe,EAIf,mCAAmC,EACnC,wCAAwC,EAIxC,+BAA+B,EAC/B,MAAM,mBAAmB,CAAC;AAqE3B;;;GAGG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAQ1C;;;GAGG;AACH,eAAO,MAAM,6BAA6B,0CAA0C,CAAC;AAErF;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,EAAE,IAAI,iBAAiB,CAEnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,YAAY,GAAG,EAAE,IAAI,iBAAiB,CAEnE;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACvB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB,CAAC,GAAG,SAAS,iBAAiB,GAAG,mBAAmB;IACrF,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AA8CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBAAa,YAAY;aAwHP,cAAc,EAAE,SAAS;aACzB,eAAe,EAAE,MAAM;IAxHxC;;OAEG;IACH,OAAc,cAAc,SAAW;IAEvC;;;OAGG;IACH,OAAO,CAAC,kBAAkB,CAA0B;IAEpD;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;;OAGG;IACH,IAAW,eAAe,CAAC,KAAK,EAAE,MAAM,EAIvC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,aAAa,CAExC;IAED;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IAEvC;;OAEG;IACH,OAAO,CAAC,sBAAsB,CAA6C;IAE3E;;OAEG;IACH,OAAO,CAAC,YAAY,CAAK;IAEzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAAgC;IAExD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoF;IAEnH;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAI0E;IAE3G;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAG5C;IAEF;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAE/B;IAEF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC;;;;;;;;;;OAUG;gBAEc,cAAc,EAAE,SAAS,EACzB,eAAe,EAAE,MAAM,EACvC,aAAa,CAAC,EAAE,aAAa;IAuB9B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAiBrB;;;OAGG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,iBAAiB;IAUjF;;OAEG;IACK,yBAAyB,IAAI,gBAAgB,CAAC,wBAAwB,CAAC;IAO/E;;OAEG;IACI,WAAW,CAAC,EAAE,EAAE,wBAAwB,GAAG,aAAa;IAW/D;;;OAGG;IACI,eAAe,CACrB,eAAe,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,EAC5D,SAAS,EAAE,SAAS,GAClB,OAAO;IAyDV;;;;;OAKG;IACI,qBAAqB,IAAI,eAAe;IAsD/C;;;OAGG;IACI,qBAAqB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IA0N1D,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAIxC,OAAO,CAAC,MAAM,CAAC,aAAa;IAI5B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAIpC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAyDpC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAahC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAW7B;;;;;;OAMG;IACI,oBAAoB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,wBAAwB;IAoBxE;;;;;OAKG;IACI,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAAC,iBAAiB,CAAC;IAWrF,OAAO,CAAC,mBAAmB;IAI3B;;;;OAIG;IACI,UAAU,CAAC,EAAE,EAAE,wBAAwB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,MAAM;IAItF;;;;OAIG;IACI,aAAa,CAAC,EAAE,EAAE,wBAAwB,GAAG,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS;IAkCrG;;;;OAIG;IACI,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,wBAAwB;IAIjE;;;;OAIG;IACI,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,wBAAwB,GAAG,SAAS;IAIhF;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA4D1B;;;;OAIG;IACI,kBAAkB,CAAC,EAAE,EAAE,wBAAwB,GAAG,mBAAmB;IAwC5E;;;;;;;;OAQG;IACI,uBAAuB,CAAC,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,GAAG,wBAAwB;IAE7G;;;;OAIG;IACI,uBAAuB,CAAC,EAAE,EAAE,iBAAiB,GAAG,wBAAwB;IA0C/E;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,oBAAoB;IAc5B;;;OAGG;IACI,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,GAAG,OAAO;IA4GvE,OAAO,CAAC,MAAM,CAAC,gBAAgB;IA4B/B,OAAO,CAAC,MAAM,CAAC,eAAe;IAuC9B;;;OAGG;IACI,SAAS,CACf,WAAW,EAAE,OAAO,GAClB,wCAAwC,GAAG,mCAAmC;IAEjF;;;OAGG;IACI,SAAS,CAAC,WAAW,EAAE,IAAI,GAAG,wCAAwC;IAE7E;;;OAGG;IACI,SAAS,CAAC,WAAW,EAAE,KAAK,GAAG,mCAAmC;IAoGzE;;OAEG;WACW,WAAW,CAAC,UAAU,EAAE,wCAAwC,GAAG,YAAY;IAE7F;;;;;OAKG;WACW,WAAW,CACxB,UAAU,EAAE,mCAAmC,EAC/C,YAAY,EAAE,SAAS,EACvB,aAAa,CAAC,EAAE,aAAa,GAC3B,YAAY;IA6Kf;;;;OAIG;WACW,uBAAuB,CACpC,oBAAoB,EAAE,+BAA+B,EACrD,UAAU,EAAE,KAAK,GACf,mCAAmC;IAEtC;;;;OAIG;WACW,uBAAuB,CACpC,oBAAoB,EAAE,+BAA+B,EACrD,UAAU,EAAE,IAAI,GACd,wCAAwC;CAe3C;AAOD;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,mCAAmC,GAAG,wCAAwC,GACxF,UAAU,IAAI,wCAAwC,CAExD"}