@protontech/drive-sdk 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/crypto/driveCrypto.d.ts +1 -0
  2. package/dist/crypto/driveCrypto.js +1 -0
  3. package/dist/crypto/driveCrypto.js.map +1 -1
  4. package/dist/interface/featureFlags.d.ts +2 -1
  5. package/dist/interface/featureFlags.js +1 -0
  6. package/dist/interface/featureFlags.js.map +1 -1
  7. package/dist/interface/httpClient.d.ts +1 -0
  8. package/dist/interface/nodes.d.ts +7 -0
  9. package/dist/interface/nodes.js.map +1 -1
  10. package/dist/internal/apiService/apiService.d.ts +1 -0
  11. package/dist/internal/apiService/apiService.js +16 -7
  12. package/dist/internal/apiService/apiService.js.map +1 -1
  13. package/dist/internal/apiService/apiService.test.js +24 -0
  14. package/dist/internal/apiService/apiService.test.js.map +1 -1
  15. package/dist/internal/apiService/driveTypes.d.ts +110 -101
  16. package/dist/internal/nodes/apiService.d.ts +4 -0
  17. package/dist/internal/nodes/apiService.js +4 -0
  18. package/dist/internal/nodes/apiService.js.map +1 -1
  19. package/dist/internal/nodes/apiService.test.js +8 -0
  20. package/dist/internal/nodes/apiService.test.js.map +1 -1
  21. package/dist/internal/nodes/cryptoService.js +3 -0
  22. package/dist/internal/nodes/cryptoService.js.map +1 -1
  23. package/dist/internal/nodes/extendedAttributes.d.ts +5 -5
  24. package/dist/internal/nodes/extendedAttributes.js +5 -14
  25. package/dist/internal/nodes/extendedAttributes.js.map +1 -1
  26. package/dist/internal/nodes/extendedAttributes.test.js +16 -22
  27. package/dist/internal/nodes/extendedAttributes.test.js.map +1 -1
  28. package/dist/internal/nodes/interface.d.ts +5 -0
  29. package/dist/internal/nodes/nodesManagement.d.ts +3 -3
  30. package/dist/internal/nodes/nodesManagement.js +7 -5
  31. package/dist/internal/nodes/nodesManagement.js.map +1 -1
  32. package/dist/internal/photos/albumsManager.js +1 -0
  33. package/dist/internal/photos/albumsManager.js.map +1 -1
  34. package/dist/internal/photos/nodes.d.ts +1 -1
  35. package/dist/internal/photos/nodes.js +2 -2
  36. package/dist/internal/photos/nodes.js.map +1 -1
  37. package/dist/internal/photos/upload.d.ts +5 -5
  38. package/dist/internal/photos/upload.js +8 -2
  39. package/dist/internal/photos/upload.js.map +1 -1
  40. package/dist/internal/sharingPublic/nodes.d.ts +1 -0
  41. package/dist/internal/upload/apiService.d.ts +45 -1
  42. package/dist/internal/upload/apiService.js +69 -1
  43. package/dist/internal/upload/apiService.js.map +1 -1
  44. package/dist/internal/upload/blockVerifier.d.ts +4 -1
  45. package/dist/internal/upload/blockVerifier.js +5 -0
  46. package/dist/internal/upload/blockVerifier.js.map +1 -1
  47. package/dist/internal/upload/cryptoService.d.ts +2 -2
  48. package/dist/internal/upload/cryptoService.js +1 -3
  49. package/dist/internal/upload/cryptoService.js.map +1 -1
  50. package/dist/internal/upload/fileUploader.d.ts +4 -3
  51. package/dist/internal/upload/fileUploader.js +17 -7
  52. package/dist/internal/upload/fileUploader.js.map +1 -1
  53. package/dist/internal/upload/index.d.ts +3 -3
  54. package/dist/internal/upload/index.js +17 -1
  55. package/dist/internal/upload/index.js.map +1 -1
  56. package/dist/internal/upload/index.test.d.ts +1 -0
  57. package/dist/internal/upload/index.test.js +71 -0
  58. package/dist/internal/upload/index.test.js.map +1 -0
  59. package/dist/internal/upload/interface.d.ts +2 -0
  60. package/dist/internal/upload/manager.d.ts +41 -2
  61. package/dist/internal/upload/manager.js +123 -42
  62. package/dist/internal/upload/manager.js.map +1 -1
  63. package/dist/internal/upload/manager.test.js +267 -0
  64. package/dist/internal/upload/manager.test.js.map +1 -1
  65. package/dist/internal/upload/smallFileUploader.d.ts +83 -0
  66. package/dist/internal/upload/smallFileUploader.js +197 -0
  67. package/dist/internal/upload/smallFileUploader.js.map +1 -0
  68. package/dist/internal/upload/smallFileUploader.test.d.ts +1 -0
  69. package/dist/internal/upload/smallFileUploader.test.js +358 -0
  70. package/dist/internal/upload/smallFileUploader.test.js.map +1 -0
  71. package/dist/internal/upload/streamReader.d.ts +4 -0
  72. package/dist/internal/upload/streamReader.js +37 -0
  73. package/dist/internal/upload/streamReader.js.map +1 -0
  74. package/dist/internal/upload/streamReader.test.d.ts +1 -0
  75. package/dist/internal/upload/streamReader.test.js +90 -0
  76. package/dist/internal/upload/streamReader.test.js.map +1 -0
  77. package/dist/internal/upload/streamUploader.d.ts +6 -0
  78. package/dist/internal/upload/streamUploader.js +3 -3
  79. package/dist/internal/upload/streamUploader.js.map +1 -1
  80. package/dist/internal/upload/telemetry.d.ts +3 -2
  81. package/dist/internal/upload/telemetry.js +3 -0
  82. package/dist/internal/upload/telemetry.js.map +1 -1
  83. package/dist/protonDrivePhotosClient.d.ts +1 -1
  84. package/dist/protonDrivePublicLinkClient.js +3 -1
  85. package/dist/protonDrivePublicLinkClient.js.map +1 -1
  86. package/dist/transformers.d.ts +1 -1
  87. package/dist/transformers.js +1 -0
  88. package/dist/transformers.js.map +1 -1
  89. package/package.json +1 -1
  90. package/src/crypto/driveCrypto.ts +2 -0
  91. package/src/interface/featureFlags.ts +1 -0
  92. package/src/interface/httpClient.ts +1 -0
  93. package/src/interface/nodes.ts +7 -0
  94. package/src/internal/apiService/apiService.test.ts +30 -0
  95. package/src/internal/apiService/apiService.ts +23 -7
  96. package/src/internal/apiService/driveTypes.ts +110 -101
  97. package/src/internal/nodes/apiService.test.ts +9 -0
  98. package/src/internal/nodes/apiService.ts +4 -0
  99. package/src/internal/nodes/cryptoService.ts +11 -1
  100. package/src/internal/nodes/extendedAttributes.test.ts +25 -25
  101. package/src/internal/nodes/extendedAttributes.ts +10 -19
  102. package/src/internal/nodes/interface.ts +5 -0
  103. package/src/internal/nodes/nodesManagement.ts +8 -6
  104. package/src/internal/photos/albumsManager.ts +1 -0
  105. package/src/internal/photos/nodes.ts +2 -2
  106. package/src/internal/photos/upload.ts +23 -10
  107. package/src/internal/upload/apiService.ts +167 -2
  108. package/src/internal/upload/blockVerifier.ts +12 -0
  109. package/src/internal/upload/cryptoService.ts +10 -10
  110. package/src/internal/upload/fileUploader.ts +20 -7
  111. package/src/internal/upload/index.test.ts +99 -0
  112. package/src/internal/upload/index.ts +45 -4
  113. package/src/internal/upload/interface.ts +2 -0
  114. package/src/internal/upload/manager.test.ts +367 -1
  115. package/src/internal/upload/manager.ts +226 -76
  116. package/src/internal/upload/smallFileUploader.test.ts +491 -0
  117. package/src/internal/upload/smallFileUploader.ts +353 -0
  118. package/src/internal/upload/streamReader.test.ts +109 -0
  119. package/src/internal/upload/streamReader.ts +38 -0
  120. package/src/internal/upload/streamUploader.ts +1 -1
  121. package/src/internal/upload/telemetry.ts +5 -1
  122. package/src/protonDrivePhotosClient.ts +1 -1
  123. package/src/protonDrivePublicLinkClient.ts +2 -0
  124. package/src/transformers.ts +2 -0
@@ -28,12 +28,8 @@ class UploadManager {
28
28
  this.clientUid = clientUid;
29
29
  }
30
30
  async createDraftNode(parentFolderUid, name, metadata) {
31
- const parentKeys = await this.nodesService.getNodeKeys(parentFolderUid);
32
- if (!parentKeys.hashKey) {
33
- throw new errors_1.ValidationError((0, ttag_1.c)('Error').t `Creating files in non-folders is not allowed`);
34
- }
35
- const generatedNodeCrypto = await this.cryptoService.generateFileCrypto(parentFolderUid, { key: parentKeys.key, hashKey: parentKeys.hashKey }, name);
36
- const { nodeUid, nodeRevisionUid } = await this.createDraftOnAPI(parentFolderUid, parentKeys.hashKey, name, metadata, generatedNodeCrypto);
31
+ const { parentHashKey, ...generatedNodeCrypto } = await this.generateNewFileCrypto(parentFolderUid, name);
32
+ const { nodeUid, nodeRevisionUid } = await this.createDraftOnAPI(parentFolderUid, parentHashKey, name, metadata, generatedNodeCrypto);
37
33
  return {
38
34
  nodeUid,
39
35
  nodeRevisionUid,
@@ -43,7 +39,7 @@ class UploadManager {
43
39
  signingKeys: generatedNodeCrypto.signingKeys,
44
40
  },
45
41
  parentNodeKeys: {
46
- hashKey: parentKeys.hashKey,
42
+ hashKey: parentHashKey,
47
43
  },
48
44
  newNodeInfo: {
49
45
  parentUid: parentFolderUid,
@@ -53,6 +49,37 @@ class UploadManager {
53
49
  },
54
50
  };
55
51
  }
52
+ async generateNewFileCrypto(parentFolderUid, name) {
53
+ const parentKeys = await this.nodesService.getNodeKeys(parentFolderUid);
54
+ if (!parentKeys.hashKey) {
55
+ throw new errors_1.ValidationError((0, ttag_1.c)('Error').t `Creating files in non-folders is not allowed`);
56
+ }
57
+ const generatedNodeCrypto = await this.cryptoService.generateFileCrypto(parentFolderUid, { key: parentKeys.key, hashKey: parentKeys.hashKey }, name);
58
+ return {
59
+ ...generatedNodeCrypto,
60
+ parentHashKey: parentKeys.hashKey,
61
+ };
62
+ }
63
+ async getExistingFileNodeCrypto(nodeUid) {
64
+ const node = await this.nodesService.getNode(nodeUid);
65
+ const nodeKeys = await this.nodesService.getNodeKeys(nodeUid);
66
+ if (!node.activeRevision?.ok || !nodeKeys.contentKeyPacketSessionKey) {
67
+ throw new errors_1.ValidationError((0, ttag_1.c)('Error').t `Creating revisions in non-files is not allowed`);
68
+ }
69
+ if (!nodeKeys.contentKeyPacket) {
70
+ throw new errors_1.ValidationError((0, ttag_1.c)('Error').t `Content key packet is required for small revision upload`);
71
+ }
72
+ const signingKeys = await this.cryptoService.getSigningKeysForExistingNode({
73
+ nodeUid,
74
+ parentNodeUid: node.parentUid,
75
+ });
76
+ return {
77
+ key: nodeKeys.key,
78
+ contentKeyPacket: nodeKeys.contentKeyPacket,
79
+ contentKeyPacketSessionKey: nodeKeys.contentKeyPacketSessionKey,
80
+ signingKeys,
81
+ };
82
+ }
56
83
  async createDraftOnAPI(parentFolderUid, parentHashKey, name, metadata, generatedNodeCrypto) {
57
84
  try {
58
85
  const result = await this.apiService.createDraft(parentFolderUid, {
@@ -70,46 +97,100 @@ class UploadManager {
70
97
  return result;
71
98
  }
72
99
  catch (error) {
73
- if (error instanceof errors_1.ValidationError) {
74
- if (error.code === 2500 /* ErrorCode.ALREADY_EXISTS */) {
75
- this.logger.info(`Node with given name already exists`);
76
- const typedDetails = error.details;
77
- // If the client doesn't specify the client UID, it should
78
- // never be considered own draft.
79
- const isOwnDraftConflict = typedDetails?.ConflictDraftRevisionID &&
80
- this.clientUid &&
81
- typedDetails?.ConflictDraftClientUID === this.clientUid;
82
- // If there is existing draft created by this client,
83
- // automatically delete it and try to create a new one
84
- // with the same name again.
85
- if (typedDetails?.ConflictDraftRevisionID &&
86
- (isOwnDraftConflict || metadata.overrideExistingDraftByOtherClient)) {
87
- const existingDraftNodeUid = (0, uids_1.makeNodeUid)((0, uids_1.splitNodeUid)(parentFolderUid).volumeId, typedDetails.ConflictLinkID);
88
- let deleteFailed = false;
89
- try {
90
- this.logger.warn(`Deleting existing draft node ${existingDraftNodeUid} by ${typedDetails.ConflictDraftClientUID}`);
91
- await this.apiService.deleteDraft(existingDraftNodeUid);
92
- }
93
- catch (deleteDraftError) {
94
- // Do not throw, let throw the conflict error.
95
- deleteFailed = true;
96
- this.logger.error('Failed to delete existing draft node', deleteDraftError);
97
- }
98
- if (!deleteFailed) {
99
- return this.createDraftOnAPI(parentFolderUid, parentHashKey, name, metadata, generatedNodeCrypto);
100
- }
100
+ return this.handleConflictError(parentFolderUid, metadata, error, async () => {
101
+ return this.createDraftOnAPI(parentFolderUid, parentHashKey, name, metadata, generatedNodeCrypto);
102
+ });
103
+ }
104
+ }
105
+ async uploadFile(parentFolderUid, nodeCrypto, metadata, commitPayload, encryptedBlock, encryptedThumbnails, signal) {
106
+ try {
107
+ const result = await this.apiService.uploadSmallFile(parentFolderUid, {
108
+ armoredEncryptedName: nodeCrypto.encryptedNode.encryptedName,
109
+ hash: nodeCrypto.encryptedNode.hash,
110
+ mediaType: metadata.mediaType ?? 'application/octet-stream',
111
+ armoredNodeKey: nodeCrypto.nodeKeys.encrypted.armoredKey,
112
+ armoredNodePassphrase: nodeCrypto.nodeKeys.encrypted.armoredPassphrase,
113
+ armoredNodePassphraseSignature: nodeCrypto.nodeKeys.encrypted.armoredPassphraseSignature,
114
+ base64ContentKeyPacket: nodeCrypto.contentKey.encrypted.base64ContentKeyPacket,
115
+ armoredContentKeyPacketSignature: nodeCrypto.contentKey.encrypted.armoredContentKeyPacketSignature,
116
+ armoredExtendedAttributes: commitPayload.armoredExtendedAttributes,
117
+ signatureEmail: nodeCrypto.signingKeys.email ?? null,
118
+ }, {
119
+ armoredManifestSignature: commitPayload.armoredManifestSignature,
120
+ block: encryptedBlock
121
+ ? {
122
+ encryptedData: encryptedBlock.encryptedData,
123
+ armoredSignature: encryptedBlock.armoredSignature,
124
+ verificationToken: encryptedBlock.verificationToken,
101
125
  }
102
- if (isOwnDraftConflict) {
103
- this.logger.warn(`Existing draft conflict by another client ${typedDetails.ConflictDraftClientUID}`);
126
+ : undefined,
127
+ thumbnails: encryptedThumbnails,
128
+ }, signal);
129
+ await this.nodesService.notifyChildCreated(parentFolderUid);
130
+ return result;
131
+ }
132
+ catch (error) {
133
+ return this.handleConflictError(parentFolderUid, metadata, error, async () => {
134
+ return this.uploadFile(parentFolderUid, nodeCrypto, metadata, commitPayload, encryptedBlock, encryptedThumbnails, signal);
135
+ });
136
+ }
137
+ }
138
+ async uploadSmallRevision(nodeUid, nodeCrypto, commitPayload, encryptedBlock, encryptedThumbnails, signal) {
139
+ const node = await this.nodesService.getNode(nodeUid);
140
+ if (!node.activeRevision?.ok) {
141
+ throw new errors_1.ValidationError((0, ttag_1.c)('Error').t `File has no revision`);
142
+ }
143
+ const result = await this.apiService.uploadSmallRevision(nodeUid, node.activeRevision.value.uid, {
144
+ signatureEmail: nodeCrypto.signingKeys.email ?? null,
145
+ armoredExtendedAttributes: commitPayload.armoredExtendedAttributes,
146
+ }, {
147
+ armoredManifestSignature: commitPayload.armoredManifestSignature,
148
+ block: encryptedBlock,
149
+ thumbnails: encryptedThumbnails,
150
+ }, signal);
151
+ await this.nodesService.notifyNodeChanged(nodeUid);
152
+ return result;
153
+ }
154
+ async handleConflictError(parentFolderUid, metadata, error, onRetryAfterDraftDeleted) {
155
+ if (error instanceof errors_1.ValidationError) {
156
+ if (error.code === 2500 /* ErrorCode.ALREADY_EXISTS */) {
157
+ this.logger.info(`Node with given name already exists`);
158
+ const typedDetails = error.details;
159
+ // If the client doesn't specify the client UID, it should
160
+ // never be considered own draft.
161
+ const isOwnDraftConflict = typedDetails?.ConflictDraftRevisionID &&
162
+ this.clientUid &&
163
+ typedDetails?.ConflictDraftClientUID === this.clientUid;
164
+ // If there is existing draft created by this client,
165
+ // automatically delete it and try to create a new one
166
+ // with the same name again.
167
+ if (typedDetails?.ConflictDraftRevisionID &&
168
+ (isOwnDraftConflict || metadata.overrideExistingDraftByOtherClient)) {
169
+ const existingDraftNodeUid = (0, uids_1.makeNodeUid)((0, uids_1.splitNodeUid)(parentFolderUid).volumeId, typedDetails.ConflictLinkID);
170
+ let deleteFailed = false;
171
+ try {
172
+ this.logger.warn(`Deleting existing draft node ${existingDraftNodeUid} by ${typedDetails.ConflictDraftClientUID}`);
173
+ await this.apiService.deleteDraft(existingDraftNodeUid);
174
+ }
175
+ catch (deleteDraftError) {
176
+ // Do not throw, let throw the conflict error.
177
+ deleteFailed = true;
178
+ this.logger.error('Failed to delete existing draft node', deleteDraftError);
104
179
  }
105
- const existingNodeUid = typedDetails
106
- ? (0, uids_1.makeNodeUid)((0, uids_1.splitNodeUid)(parentFolderUid).volumeId, typedDetails.ConflictLinkID)
107
- : undefined;
108
- throw new errors_1.NodeWithSameNameExistsValidationError(error.message, error.code, existingNodeUid, !!typedDetails?.ConflictDraftRevisionID);
180
+ if (!deleteFailed) {
181
+ return onRetryAfterDraftDeleted();
182
+ }
183
+ }
184
+ if (isOwnDraftConflict) {
185
+ this.logger.warn(`Existing draft conflict by another client ${typedDetails.ConflictDraftClientUID}`);
109
186
  }
187
+ const existingNodeUid = typedDetails
188
+ ? (0, uids_1.makeNodeUid)((0, uids_1.splitNodeUid)(parentFolderUid).volumeId, typedDetails.ConflictLinkID)
189
+ : undefined;
190
+ throw new errors_1.NodeWithSameNameExistsValidationError(error.message, error.code, existingNodeUid, !!typedDetails?.ConflictDraftRevisionID);
110
191
  }
111
- throw error;
112
192
  }
193
+ throw error;
113
194
  }
114
195
  async deleteDraftNode(nodeUid) {
115
196
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/internal/upload/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/internal/upload/manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const errors_1 = require("../../errors");
4
+ const interface_1 = require("../../interface");
4
5
  const telemetry_1 = require("../../tests/telemetry");
5
6
  const manager_1 = require("./manager");
6
7
  describe('UploadManager', () => {
@@ -20,6 +21,14 @@ describe('UploadManager', () => {
20
21
  }),
21
22
  deleteDraft: jest.fn(),
22
23
  commitDraftRevision: jest.fn(),
24
+ uploadSmallFile: jest.fn().mockResolvedValue({
25
+ nodeUid: 'uploaded:nodeUid',
26
+ nodeRevisionUid: 'uploaded:nodeRevisionUid',
27
+ }),
28
+ uploadSmallRevision: jest.fn().mockResolvedValue({
29
+ nodeUid: 'revised:nodeUid',
30
+ nodeRevisionUid: 'revised:nodeRevisionUid',
31
+ }),
23
32
  };
24
33
  // @ts-expect-error No need to implement all methods for mocking
25
34
  cryptoService = {
@@ -52,6 +61,12 @@ describe('UploadManager', () => {
52
61
  signatureEmail: 'signatureEmail',
53
62
  armoredExtendedAttributes: 'newNode:armoredExtendedAttributes',
54
63
  }),
64
+ getSigningKeysForExistingNode: jest.fn().mockResolvedValue({
65
+ email: 'signatureEmail',
66
+ addressId: 'addressId',
67
+ nameAndPassphraseSigningKey: {},
68
+ contentSigningKey: {},
69
+ }),
55
70
  };
56
71
  nodesService = {
57
72
  getNode: jest.fn(async (nodeUid) => ({
@@ -240,6 +255,258 @@ describe('UploadManager', () => {
240
255
  expect(apiService.deleteDraft).toHaveBeenCalledTimes(1);
241
256
  });
242
257
  });
258
+ describe('generateNewFileCrypto', () => {
259
+ it('should throw when parent is not a folder (no hashKey)', async () => {
260
+ nodesService.getNodeKeys = jest.fn().mockResolvedValue({ hashKey: undefined });
261
+ const result = manager.generateNewFileCrypto('parentUid', 'fileName');
262
+ await expect(result).rejects.toThrow('Creating files in non-folders is not allowed');
263
+ expect(nodesService.getNodeKeys).toHaveBeenCalledWith('parentUid');
264
+ expect(cryptoService.generateFileCrypto).not.toHaveBeenCalled();
265
+ });
266
+ it('should return generated crypto with parentHashKey when parent is folder', async () => {
267
+ const result = await manager.generateNewFileCrypto('parentUid', 'fileName');
268
+ expect(nodesService.getNodeKeys).toHaveBeenCalledWith('parentUid');
269
+ expect(cryptoService.generateFileCrypto).toHaveBeenCalledWith('parentUid', { key: 'parentNode:nodekey', hashKey: 'parentNode:hashKey' }, 'fileName');
270
+ expect(result).toMatchObject({
271
+ parentHashKey: 'parentNode:hashKey',
272
+ encryptedNode: { encryptedName: 'newNode:encryptedName', hash: 'newNode:hash' },
273
+ nodeKeys: expect.anything(),
274
+ contentKey: expect.anything(),
275
+ signingKeys: { email: 'signatureEmail' },
276
+ });
277
+ });
278
+ });
279
+ describe('getExistingFileNodeCrypto', () => {
280
+ it('should throw when node has no active revision', async () => {
281
+ nodesService.getNode = jest.fn().mockResolvedValue({
282
+ uid: 'fileNodeUid',
283
+ parentUid: 'parentUid',
284
+ activeRevision: { ok: false, error: new Error('No revision') },
285
+ });
286
+ const result = manager.getExistingFileNodeCrypto('fileNodeUid');
287
+ await expect(result).rejects.toThrow('Creating revisions in non-files is not allowed');
288
+ });
289
+ it('should throw when nodeKeys has no contentKeyPacketSessionKey', async () => {
290
+ nodesService.getNode = jest.fn().mockResolvedValue({
291
+ uid: 'fileNodeUid',
292
+ parentUid: 'parentUid',
293
+ activeRevision: { ok: true, value: { uid: 'revisionUid' } },
294
+ });
295
+ nodesService.getNodeKeys = jest.fn().mockResolvedValue({
296
+ key: 'nodeKey',
297
+ contentKeyPacket: new Uint8Array([1, 2, 3]),
298
+ hashKey: 'hashKey',
299
+ });
300
+ const result = manager.getExistingFileNodeCrypto('fileNodeUid');
301
+ await expect(result).rejects.toThrow('Creating revisions in non-files is not allowed');
302
+ });
303
+ it('should throw when nodeKeys has no contentKeyPacket', async () => {
304
+ nodesService.getNode = jest.fn().mockResolvedValue({
305
+ uid: 'fileNodeUid',
306
+ parentUid: 'parentUid',
307
+ activeRevision: { ok: true, value: { uid: 'revisionUid' } },
308
+ });
309
+ nodesService.getNodeKeys = jest.fn().mockResolvedValue({
310
+ key: 'nodeKey',
311
+ contentKeyPacketSessionKey: 'sessionKey',
312
+ hashKey: 'hashKey',
313
+ });
314
+ const result = manager.getExistingFileNodeCrypto('fileNodeUid');
315
+ await expect(result).rejects.toThrow('Content key packet is required for small revision upload');
316
+ });
317
+ it('should return key, contentKeyPacket, contentKeyPacketSessionKey and signingKeys', async () => {
318
+ const contentKeyPacket = new Uint8Array([1, 2, 3]);
319
+ nodesService.getNode = jest.fn().mockResolvedValue({
320
+ uid: 'fileNodeUid',
321
+ parentUid: 'parentUid',
322
+ activeRevision: { ok: true, value: { uid: 'revisionUid' } },
323
+ });
324
+ nodesService.getNodeKeys = jest.fn().mockResolvedValue({
325
+ key: 'nodeKey',
326
+ contentKeyPacket,
327
+ contentKeyPacketSessionKey: 'sessionKey',
328
+ hashKey: 'hashKey',
329
+ });
330
+ const result = await manager.getExistingFileNodeCrypto('fileNodeUid');
331
+ expect(cryptoService.getSigningKeysForExistingNode).toHaveBeenCalledWith({
332
+ nodeUid: 'fileNodeUid',
333
+ parentNodeUid: 'parentUid',
334
+ });
335
+ expect(result).toEqual({
336
+ key: 'nodeKey',
337
+ contentKeyPacket,
338
+ contentKeyPacketSessionKey: 'sessionKey',
339
+ signingKeys: {
340
+ email: 'signatureEmail',
341
+ addressId: 'addressId',
342
+ nameAndPassphraseSigningKey: {},
343
+ contentSigningKey: {},
344
+ },
345
+ });
346
+ });
347
+ });
348
+ describe('uploadFile', () => {
349
+ const nodeCrypto = {
350
+ encryptedNode: { encryptedName: 'encName', hash: 'hash' },
351
+ nodeKeys: {
352
+ encrypted: {
353
+ armoredKey: 'armoredKey',
354
+ armoredPassphrase: 'armoredPassphrase',
355
+ armoredPassphraseSignature: 'armoredPassphraseSignature',
356
+ },
357
+ },
358
+ contentKey: {
359
+ encrypted: {
360
+ base64ContentKeyPacket: 'base64ContentKeyPacket',
361
+ armoredContentKeyPacketSignature: 'armoredContentKeyPacketSignature',
362
+ },
363
+ },
364
+ signingKeys: { email: 'signatureEmail' },
365
+ };
366
+ const metadata = { mediaType: 'application/octet-stream', expectedSize: 100 };
367
+ const commitPayload = {
368
+ armoredManifestSignature: 'manifestSignature',
369
+ armoredExtendedAttributes: 'extAttr',
370
+ };
371
+ const encryptedBlock = {
372
+ encryptedData: new Uint8Array([1, 2, 3]),
373
+ armoredSignature: 'blockSig',
374
+ verificationToken: new Uint8Array([4, 5, 6]),
375
+ };
376
+ const encryptedThumbnails = [{ type: interface_1.ThumbnailType.Type1, encryptedData: new Uint8Array([7, 8, 9]) }];
377
+ it('should call uploadSmallFile and notifyChildCreated on success', async () => {
378
+ const result = await manager.uploadFile('parentUid', nodeCrypto, metadata, commitPayload, encryptedBlock, encryptedThumbnails);
379
+ expect(result).toEqual({
380
+ nodeUid: 'uploaded:nodeUid',
381
+ nodeRevisionUid: 'uploaded:nodeRevisionUid',
382
+ });
383
+ expect(apiService.uploadSmallFile).toHaveBeenCalledWith('parentUid', {
384
+ armoredEncryptedName: 'encName',
385
+ hash: 'hash',
386
+ mediaType: 'application/octet-stream',
387
+ armoredNodeKey: 'armoredKey',
388
+ armoredNodePassphrase: 'armoredPassphrase',
389
+ armoredNodePassphraseSignature: 'armoredPassphraseSignature',
390
+ base64ContentKeyPacket: 'base64ContentKeyPacket',
391
+ armoredContentKeyPacketSignature: 'armoredContentKeyPacketSignature',
392
+ armoredExtendedAttributes: 'extAttr',
393
+ signatureEmail: 'signatureEmail',
394
+ }, {
395
+ armoredManifestSignature: 'manifestSignature',
396
+ block: encryptedBlock,
397
+ thumbnails: encryptedThumbnails,
398
+ }, undefined);
399
+ expect(nodesService.notifyChildCreated).toHaveBeenCalledWith('parentUid');
400
+ });
401
+ it('should delete existing draft and retry on ALREADY_EXISTS when own draft', async () => {
402
+ let firstCall = true;
403
+ apiService.uploadSmallFile = jest.fn().mockImplementation(() => {
404
+ if (firstCall) {
405
+ firstCall = false;
406
+ throw new errors_1.ValidationError('Already exists', 2500 /* ErrorCode.ALREADY_EXISTS */, {
407
+ ConflictLinkID: 'existingLinkId',
408
+ ConflictDraftRevisionID: 'existingDraftRevisionId',
409
+ ConflictDraftClientUID: clientUid,
410
+ });
411
+ }
412
+ return {
413
+ nodeUid: 'uploaded:nodeUid',
414
+ nodeRevisionUid: 'uploaded:nodeRevisionUid',
415
+ };
416
+ });
417
+ const result = await manager.uploadFile('volumeId~parentUid', nodeCrypto, { ...metadata, overrideExistingDraftByOtherClient: false }, commitPayload, encryptedBlock, encryptedThumbnails);
418
+ expect(result).toEqual({
419
+ nodeUid: 'uploaded:nodeUid',
420
+ nodeRevisionUid: 'uploaded:nodeRevisionUid',
421
+ });
422
+ expect(apiService.deleteDraft).toHaveBeenCalledWith('volumeId~existingLinkId');
423
+ expect(apiService.uploadSmallFile).toHaveBeenCalledTimes(2);
424
+ });
425
+ it('should call uploadSmallFile with block undefined for zero-byte file', async () => {
426
+ const result = await manager.uploadFile('parentUid', nodeCrypto, { ...metadata, expectedSize: 0 }, commitPayload, undefined, []);
427
+ expect(result).toEqual({
428
+ nodeUid: 'uploaded:nodeUid',
429
+ nodeRevisionUid: 'uploaded:nodeRevisionUid',
430
+ });
431
+ expect(apiService.uploadSmallFile).toHaveBeenCalledWith('parentUid', expect.objectContaining({
432
+ armoredEncryptedName: 'encName',
433
+ hash: 'hash',
434
+ mediaType: 'application/octet-stream',
435
+ armoredExtendedAttributes: 'extAttr',
436
+ signatureEmail: 'signatureEmail',
437
+ }), {
438
+ armoredManifestSignature: 'manifestSignature',
439
+ block: undefined,
440
+ thumbnails: [],
441
+ }, undefined);
442
+ expect(nodesService.notifyChildCreated).toHaveBeenCalledWith('parentUid');
443
+ });
444
+ });
445
+ describe('uploadSmallRevision', () => {
446
+ const nodeCrypto = { signingKeys: { email: 'signatureEmail' } };
447
+ const commitPayload = {
448
+ armoredManifestSignature: 'manifestSig',
449
+ armoredExtendedAttributes: 'extAttr',
450
+ };
451
+ const encryptedBlock = {
452
+ encryptedData: new Uint8Array([1, 2, 3]),
453
+ armoredSignature: 'blockSig',
454
+ verificationToken: new Uint8Array([4, 5, 6]),
455
+ };
456
+ const encryptedThumbnails = [{ type: interface_1.ThumbnailType.Type1, encryptedData: new Uint8Array([7, 8, 9]) }];
457
+ it('should throw when file has no revision', async () => {
458
+ nodesService.getNode = jest.fn().mockResolvedValue({
459
+ uid: 'fileNodeUid',
460
+ parentUid: 'parentUid',
461
+ activeRevision: { ok: false, error: new Error('No revision') },
462
+ });
463
+ const result = manager.uploadSmallRevision('fileNodeUid', nodeCrypto, commitPayload, encryptedBlock, encryptedThumbnails);
464
+ await expect(result).rejects.toThrow('File has no revision');
465
+ expect(apiService.uploadSmallRevision).not.toHaveBeenCalled();
466
+ });
467
+ it('should call uploadSmallRevision and notifyNodeChanged on success', async () => {
468
+ nodesService.getNode = jest.fn().mockResolvedValue({
469
+ uid: 'fileNodeUid',
470
+ parentUid: 'parentUid',
471
+ activeRevision: { ok: true, value: { uid: 'currentRevisionUid' } },
472
+ });
473
+ const result = await manager.uploadSmallRevision('fileNodeUid', nodeCrypto, commitPayload, encryptedBlock, encryptedThumbnails);
474
+ expect(result).toEqual({
475
+ nodeUid: 'revised:nodeUid',
476
+ nodeRevisionUid: 'revised:nodeRevisionUid',
477
+ });
478
+ expect(apiService.uploadSmallRevision).toHaveBeenCalledWith('fileNodeUid', 'currentRevisionUid', {
479
+ signatureEmail: 'signatureEmail',
480
+ armoredExtendedAttributes: 'extAttr',
481
+ }, {
482
+ armoredManifestSignature: 'manifestSig',
483
+ block: encryptedBlock,
484
+ thumbnails: encryptedThumbnails,
485
+ }, undefined);
486
+ expect(nodesService.notifyNodeChanged).toHaveBeenCalledWith('fileNodeUid');
487
+ });
488
+ it('should call uploadSmallRevision with block undefined for zero-byte revision', async () => {
489
+ nodesService.getNode = jest.fn().mockResolvedValue({
490
+ uid: 'fileNodeUid',
491
+ parentUid: 'parentUid',
492
+ activeRevision: { ok: true, value: { uid: 'currentRevisionUid' } },
493
+ });
494
+ const result = await manager.uploadSmallRevision('fileNodeUid', nodeCrypto, commitPayload, undefined, []);
495
+ expect(result).toEqual({
496
+ nodeUid: 'revised:nodeUid',
497
+ nodeRevisionUid: 'revised:nodeRevisionUid',
498
+ });
499
+ expect(apiService.uploadSmallRevision).toHaveBeenCalledWith('fileNodeUid', 'currentRevisionUid', {
500
+ signatureEmail: 'signatureEmail',
501
+ armoredExtendedAttributes: 'extAttr',
502
+ }, {
503
+ armoredManifestSignature: 'manifestSig',
504
+ block: undefined,
505
+ thumbnails: [],
506
+ }, undefined);
507
+ expect(nodesService.notifyNodeChanged).toHaveBeenCalledWith('fileNodeUid');
508
+ });
509
+ });
243
510
  describe('commit draft', () => {
244
511
  const nodeRevisionDraft = {
245
512
  nodeUid: 'newNode:nodeUid',
@@ -1 +1 @@
1
- {"version":3,"file":"manager.test.js","sourceRoot":"","sources":["../../../src/internal/upload/manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.test.js","sourceRoot":"","sources":["../../../src/internal/upload/manager.test.ts"],"names":[],"mappings":";;AAAA,yCAA+C;AAC/C,+CAAsF;AACtF,qDAAyD;AAKzD,uCAA0C;AAE1C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAI,SAA+B,CAAC;IACpC,IAAI,UAA4B,CAAC;IACjC,IAAI,aAAkC,CAAC;IACvC,IAAI,YAA0B,CAAC;IAE/B,IAAI,OAAsB,CAAC;IAE3B,MAAM,SAAS,GAAG,WAAW,CAAC;IAE9B,UAAU,CAAC,GAAG,EAAE;QACZ,SAAS,GAAG,IAAA,4BAAgB,GAAE,CAAC;QAC/B,gEAAgE;QAChE,UAAU,GAAG;YACT,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACrC,OAAO,EAAE,iBAAiB;gBAC1B,eAAe,EAAE,yBAAyB;aAC7C,CAAC;YACF,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC9B,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACzC,OAAO,EAAE,kBAAkB;gBAC3B,eAAe,EAAE,0BAA0B;aAC9C,CAAC;YACF,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC7C,OAAO,EAAE,iBAAiB;gBAC1B,eAAe,EAAE,yBAAyB;aAC7C,CAAC;SACL,CAAC;QACF,gEAAgE;QAChE,aAAa,GAAG;YACZ,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC5C,QAAQ,EAAE;oBACN,SAAS,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE;oBACjC,SAAS,EAAE;wBACP,UAAU,EAAE,oBAAoB;wBAChC,iBAAiB,EAAE,2BAA2B;wBAC9C,0BAA0B,EAAE,oCAAoC;qBACnE;iBACJ;gBACD,UAAU,EAAE;oBACR,SAAS,EAAE,EAAE,0BAA0B,EAAE,oCAAoC,EAAE;oBAC/E,SAAS,EAAE;wBACP,sBAAsB,EAAE,gCAAgC;wBACxD,gCAAgC,EAAE,0CAA0C;qBAC/E;iBACJ;gBACD,aAAa,EAAE;oBACX,aAAa,EAAE,uBAAuB;oBACtC,IAAI,EAAE,cAAc;iBACvB;gBACD,WAAW,EAAE;oBACT,KAAK,EAAE,gBAAgB;iBAC1B;aACJ,CAAC;YACF,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACpC,wBAAwB,EAAE,kCAAkC;gBAC5D,cAAc,EAAE,gBAAgB;gBAChC,yBAAyB,EAAE,mCAAmC;aACjE,CAAC;YACF,6BAA6B,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACvD,KAAK,EAAE,gBAAgB;gBACvB,SAAS,EAAE,WAAW;gBACtB,2BAA2B,EAAE,EAAS;gBACtC,iBAAiB,EAAE,EAAS;aAC/B,CAAC;SACL,CAAC;QACF,YAAY,GAAG;YACX,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE,CAAC,CAAC;gBACzC,GAAG,EAAE,OAAO;gBACZ,SAAS,EAAE,WAAW;aACzB,CAAC,CAAC;YACH,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACrC,OAAO,EAAE,oBAAoB;gBAC7B,GAAG,EAAE,oBAAoB;aAC5B,CAAC;YACF,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC5C,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,gBAAgB;gBACvB,SAAS,EAAE,WAAW;aACzB,CAAC;YACF,kBAAkB,EAAE,IAAI,CAAC,EAAE,EAAE;YAC7B,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE;SAC/B,CAAC;QAEF,OAAO,GAAG,IAAI,uBAAa,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC7D,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAE/E,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,EAAoB,CAAC,CAAC;YAClF,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE;gBAC9D,SAAS,EAAE,YAAY;gBACvB,YAAY,EAAE,MAAM;aACL,CAAC,CAAC;YAErB,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,OAAO,EAAE,iBAAiB;gBAC1B,eAAe,EAAE,yBAAyB;gBAC1C,QAAQ,EAAE;oBACN,GAAG,EAAE,aAAa;oBAClB,0BAA0B,EAAE,oCAAoC;oBAChE,WAAW,EAAE;wBACT,KAAK,EAAE,gBAAgB;qBAC1B;iBACJ;gBACD,cAAc,EAAE;oBACZ,OAAO,EAAE,oBAAoB;iBAChC;gBACD,WAAW,EAAE;oBACT,SAAS,EAAE,WAAW;oBACtB,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE,uBAAuB;oBACtC,IAAI,EAAE,cAAc;iBACvB;aACJ,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE;gBAC7D,oBAAoB,EAAE,uBAAuB;gBAC7C,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,YAAY;gBACvB,kBAAkB,EAAE,MAAM;gBAC1B,cAAc,EAAE,oBAAoB;gBACpC,qBAAqB,EAAE,2BAA2B;gBAClD,8BAA8B,EAAE,oCAAoC;gBACpE,sBAAsB,EAAE,gCAAgC;gBACxD,gCAAgC,EAAE,0CAA0C;gBAC5E,cAAc,EAAE,gBAAgB;aACnC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC3D,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACZ,SAAS,GAAG,KAAK,CAAC;oBAClB,MAAM,IAAI,wBAAe,CAAC,sBAAsB,uCAA4B;wBACxE,cAAc,EAAE,gBAAgB;wBAChC,uBAAuB,EAAE,yBAAyB;wBAClD,sBAAsB,EAAE,SAAS;qBACpC,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO;oBACH,OAAO,EAAE,iBAAiB;oBAC1B,eAAe,EAAE,yBAAyB;iBAC7C,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAoB,CAAC,CAAC;YAEjG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,OAAO,EAAE,iBAAiB;gBAC1B,eAAe,EAAE,yBAAyB;gBAC1C,QAAQ,EAAE;oBACN,GAAG,EAAE,aAAa;oBAClB,0BAA0B,EAAE,oCAAoC;oBAChE,WAAW,EAAE;wBACT,KAAK,EAAE,gBAAgB;qBAC1B;iBACJ;gBACD,cAAc,EAAE;oBACZ,OAAO,EAAE,oBAAoB;iBAChC;gBACD,WAAW,EAAE;oBACT,SAAS,EAAE,oBAAoB;oBAC/B,IAAI,EAAE,MAAM;oBACZ,aAAa,EAAE,uBAAuB;oBACtC,IAAI,EAAE,cAAc;iBACvB;aACJ,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;QACnF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC3E,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACZ,SAAS,GAAG,KAAK,CAAC;oBAClB,MAAM,IAAI,wBAAe,CAAC,sBAAsB,uCAA4B;wBACxE,cAAc,EAAE,gBAAgB;wBAChC,uBAAuB,EAAE,yBAAyB;wBAClD,sBAAsB,EAAE,kBAAkB;qBAC7C,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO;oBACH,OAAO,EAAE,iBAAiB;oBAC1B,eAAe,EAAE,yBAAyB;iBAC7C,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAoB,CAAC,CAAC;YAE5F,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC;YAClB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,SAAS,GAAG,SAAS,CAAC;YAC5B,OAAO,GAAG,IAAI,uBAAa,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;YAE3F,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACZ,SAAS,GAAG,KAAK,CAAC;oBAClB,MAAM,IAAI,wBAAe,CAAC,sBAAsB,uCAA4B;wBACxE,cAAc,EAAE,gBAAgB;wBAChC,uBAAuB,EAAE,yBAAyB;wBAClD,sBAAsB,EAAE,SAAS;qBACpC,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO;oBACH,OAAO,EAAE,iBAAiB;oBAC1B,eAAe,EAAE,yBAAyB;iBAC7C,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAoB,CAAC,CAAC;YAE5F,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC;YAClB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAC9D,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACvD,IAAI,SAAS,EAAE,CAAC;oBACZ,SAAS,GAAG,KAAK,CAAC;oBAClB,MAAM,IAAI,wBAAe,CAAC,sBAAsB,uCAA4B;wBACxE,cAAc,EAAE,gBAAgB;wBAChC,uBAAuB,EAAE,yBAAyB;wBAClD,sBAAsB,EAAE,SAAS;qBACpC,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO;oBACH,OAAO,EAAE,iBAAiB;oBAC1B,eAAe,EAAE,yBAAyB;iBAC7C,CAAC;YACN,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBACvD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,oBAAoB,EAAE,MAAM,EAAE,EAAoB,CAAC,CAAC;YAE3F,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC;YACjB,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBACnD,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACnE,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YAE/E,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAEtE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;YACrF,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAE5E,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CACzD,WAAW,EACX,EAAE,GAAG,EAAE,oBAAoB,EAAE,OAAO,EAAE,oBAAoB,EAAE,EAC5D,UAAU,CACb,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBACzB,aAAa,EAAE,oBAAoB;gBACnC,aAAa,EAAE,EAAE,aAAa,EAAE,uBAAuB,EAAE,IAAI,EAAE,cAAc,EAAE;gBAC/E,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;gBAC3B,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE;gBAC7B,WAAW,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE;aAC3C,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC3D,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC/C,GAAG,EAAE,aAAa;gBAClB,SAAS,EAAE,WAAW;gBACtB,cAAc,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;aACjE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAEhE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC1E,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC/C,GAAG,EAAE,aAAa;gBAClB,SAAS,EAAE,WAAW;gBACtB,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;aAC9D,CAAC,CAAC;YACH,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACnD,GAAG,EAAE,SAAS;gBACd,gBAAgB,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3C,OAAO,EAAE,SAAS;aACrB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAEhE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;QAC3F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAChE,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC/C,GAAG,EAAE,aAAa;gBAClB,SAAS,EAAE,WAAW;gBACtB,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;aAC9D,CAAC,CAAC;YACH,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACnD,GAAG,EAAE,SAAS;gBACd,0BAA0B,EAAE,YAAY;gBACxC,OAAO,EAAE,SAAS;aACrB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAEhE,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC;QACrG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC/C,GAAG,EAAE,aAAa;gBAClB,SAAS,EAAE,WAAW;gBACtB,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE;aAC9D,CAAC,CAAC;YACH,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBACnD,GAAG,EAAE,SAAS;gBACd,gBAAgB;gBAChB,0BAA0B,EAAE,YAAY;gBACxC,OAAO,EAAE,SAAS;aACrB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAC;YAEtE,MAAM,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC,oBAAoB,CAAC;gBACrE,OAAO,EAAE,aAAa;gBACtB,aAAa,EAAE,WAAW;aAC7B,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,GAAG,EAAE,SAAS;gBACd,gBAAgB;gBAChB,0BAA0B,EAAE,YAAY;gBACxC,WAAW,EAAE;oBACT,KAAK,EAAE,gBAAgB;oBACvB,SAAS,EAAE,WAAW;oBACtB,2BAA2B,EAAE,EAAE;oBAC/B,iBAAiB,EAAE,EAAE;iBACxB;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QACxB,MAAM,UAAU,GAAG;YACf,aAAa,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;YACzD,QAAQ,EAAE;gBACN,SAAS,EAAE;oBACP,UAAU,EAAE,YAAY;oBACxB,iBAAiB,EAAE,mBAAmB;oBACtC,0BAA0B,EAAE,4BAA4B;iBAC3D;aACJ;YACD,UAAU,EAAE;gBACR,SAAS,EAAE;oBACP,sBAAsB,EAAE,wBAAwB;oBAChD,gCAAgC,EAAE,kCAAkC;iBACvE;aACJ;YACD,WAAW,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE;SACpC,CAAC;QACT,MAAM,QAAQ,GAAG,EAAE,SAAS,EAAE,0BAA0B,EAAE,YAAY,EAAE,GAAG,EAAoB,CAAC;QAChG,MAAM,aAAa,GAAG;YAClB,wBAAwB,EAAE,mBAAmB;YAC7C,yBAAyB,EAAE,SAAS;SACvC,CAAC;QACF,MAAM,cAAc,GAAG;YACnB,aAAa,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,gBAAgB,EAAE,UAAU;YAC5B,iBAAiB,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/C,CAAC;QACF,MAAM,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,yBAAa,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEtG,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CACnC,WAAW,EACX,UAAU,EACV,QAAQ,EACR,aAAa,EACb,cAAc,EACd,mBAAmB,CACtB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,OAAO,EAAE,kBAAkB;gBAC3B,eAAe,EAAE,0BAA0B;aAC9C,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACnD,WAAW,EACX;gBACI,oBAAoB,EAAE,SAAS;gBAC/B,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,0BAA0B;gBACrC,cAAc,EAAE,YAAY;gBAC5B,qBAAqB,EAAE,mBAAmB;gBAC1C,8BAA8B,EAAE,4BAA4B;gBAC5D,sBAAsB,EAAE,wBAAwB;gBAChD,gCAAgC,EAAE,kCAAkC;gBACpE,yBAAyB,EAAE,SAAS;gBACpC,cAAc,EAAE,gBAAgB;aACnC,EACD;gBACI,wBAAwB,EAAE,mBAAmB;gBAC7C,KAAK,EAAE,cAAc;gBACrB,UAAU,EAAE,mBAAmB;aAClC,EACD,SAAS,CACZ,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACrF,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAC3D,IAAI,SAAS,EAAE,CAAC;oBACZ,SAAS,GAAG,KAAK,CAAC;oBAClB,MAAM,IAAI,wBAAe,CAAC,gBAAgB,uCAA4B;wBAClE,cAAc,EAAE,gBAAgB;wBAChC,uBAAuB,EAAE,yBAAyB;wBAClD,sBAAsB,EAAE,SAAS;qBACpC,CAAC,CAAC;gBACP,CAAC;gBACD,OAAO;oBACH,OAAO,EAAE,kBAAkB;oBAC3B,eAAe,EAAE,0BAA0B;iBAC9C,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CACnC,oBAAoB,EACpB,UAAU,EACV,EAAE,GAAG,QAAQ,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAC1D,aAAa,EACb,cAAc,EACd,mBAAmB,CACtB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,OAAO,EAAE,kBAAkB;gBAC3B,eAAe,EAAE,0BAA0B;aAC9C,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;YAC/E,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACjF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CACnC,WAAW,EACX,UAAU,EACV,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,EAChC,aAAa,EACb,SAAS,EACT,EAAE,CACL,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,OAAO,EAAE,kBAAkB;gBAC3B,eAAe,EAAE,0BAA0B;aAC9C,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,oBAAoB,CACnD,WAAW,EACX,MAAM,CAAC,gBAAgB,CAAC;gBACpB,oBAAoB,EAAE,SAAS;gBAC/B,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,0BAA0B;gBACrC,yBAAyB,EAAE,SAAS;gBACpC,cAAc,EAAE,gBAAgB;aACnC,CAAC,EACF;gBACI,wBAAwB,EAAE,mBAAmB;gBAC7C,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,EAAE;aACjB,EACD,SAAS,CACZ,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,MAAM,UAAU,GAAG,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAS,CAAC;QACvE,MAAM,aAAa,GAAG;YAClB,wBAAwB,EAAE,aAAa;YACvC,yBAAyB,EAAE,SAAS;SACvC,CAAC;QACF,MAAM,cAAc,GAAG;YACnB,aAAa,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,gBAAgB,EAAE,UAAU;YAC5B,iBAAiB,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC/C,CAAC;QACF,MAAM,mBAAmB,GAAG,CAAC,EAAE,IAAI,EAAE,yBAAa,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEtG,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACpD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC/C,GAAG,EAAE,aAAa;gBAClB,SAAS,EAAE,WAAW;gBACtB,cAAc,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;aACjE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CACtC,aAAa,EACb,UAAU,EACV,aAAa,EACb,cAAc,EACd,mBAAmB,CACtB,CAAC;YAEF,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAC7D,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAC9E,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC/C,GAAG,EAAE,aAAa;gBAClB,SAAS,EAAE,WAAW;gBACtB,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,EAAE;aACrE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAC5C,aAAa,EACb,UAAU,EACV,aAAa,EACb,cAAc,EACd,mBAAmB,CACtB,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,OAAO,EAAE,iBAAiB;gBAC1B,eAAe,EAAE,yBAAyB;aAC7C,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CACvD,aAAa,EACb,oBAAoB,EACpB;gBACI,cAAc,EAAE,gBAAgB;gBAChC,yBAAyB,EAAE,SAAS;aACvC,EACD;gBACI,wBAAwB,EAAE,aAAa;gBACvC,KAAK,EAAE,cAAc;gBACrB,UAAU,EAAE,mBAAmB;aAClC,EACD,SAAS,CACZ,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;YACzF,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;gBAC/C,GAAG,EAAE,aAAa;gBAClB,SAAS,EAAE,WAAW;gBACtB,cAAc,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,oBAAoB,EAAE,EAAE;aACrE,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAC5C,aAAa,EACb,UAAU,EACV,aAAa,EACb,SAAS,EACT,EAAE,CACL,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,OAAO,EAAE,iBAAiB;gBAC1B,eAAe,EAAE,yBAAyB;aAC7C,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CACvD,aAAa,EACb,oBAAoB,EACpB;gBACI,cAAc,EAAE,gBAAgB;gBAChC,yBAAyB,EAAE,SAAS;aACvC,EACD;gBACI,wBAAwB,EAAE,aAAa;gBACvC,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,EAAE;aACjB,EACD,SAAS,CACZ,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,MAAM,iBAAiB,GAAG;YACtB,OAAO,EAAE,iBAAiB;YAC1B,eAAe,EAAE,yBAAyB;YAC1C,QAAQ,EAAE;gBACN,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;gBACpB,0BAA0B,EAAE,oCAAoC;gBAChE,gBAAgB,EAAE;oBACd,KAAK,EAAE,gBAAgB;oBACvB,SAAS,EAAE,WAAW;oBACtB,UAAU,EAAE,YAAY;iBACpB;aACX;SACJ,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,kBAAkB,GAAG;YACvB,gBAAgB,EAAE,IAAI,IAAI,EAAE;YAC5B,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;YACxB,OAAO,EAAE;gBACL,IAAI,EAAE,MAAM;aACf;SACJ,CAAC;QAEF,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC1C,MAAM,OAAO,CAAC,WAAW,CAAC,iBAAwB,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAElF,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACjD,iBAAiB,CAAC,QAAQ,EAC1B,QAAQ,EACR,MAAM,CAAC,QAAQ,EAAE,CACpB,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CACvD,iBAAiB,CAAC,eAAe,EACjC,MAAM,CAAC,QAAQ,EAAE,CACpB,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;YAC/E,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,gCAAgC,GAAG;gBACrC,GAAG,iBAAiB;gBACpB,WAAW,EAAE;oBACT,SAAS,EAAE,WAAW;oBACtB,IAAI,EAAE,cAAc;oBACpB,aAAa,EAAE,uBAAuB;oBACtC,IAAI,EAAE,cAAc;iBACvB;aACJ,CAAC;YACF,MAAM,OAAO,CAAC,WAAW,CAAC,gCAAuC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAEjG,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,oBAAoB,CACjD,iBAAiB,CAAC,QAAQ,EAC1B,QAAQ,EACR,MAAM,CAAC,QAAQ,EAAE,CACpB,CAAC;YACF,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CACvD,iBAAiB,CAAC,eAAe,EACjC,MAAM,CAAC,QAAQ,EAAE,CACpB,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC1E,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YACxE,UAAU,CAAC,mBAAmB,GAAG,IAAI;iBAChC,EAAE,EAAE;iBACJ,iBAAiB,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;YACxE,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAElE,MAAM,OAAO,CAAC,WAAW,CAAC,iBAAwB,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YAElF,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CACvD,iBAAiB,CAAC,eAAe,EACjC,MAAM,CAAC,QAAQ,EAAE,CACpB,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC3E,UAAU,CAAC,mBAAmB,GAAG,IAAI;iBAChC,EAAE,EAAE;iBACJ,iBAAiB,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;YACxE,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAEnE,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAwB,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACrG,oCAAoC,CACvC,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YACxE,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACrG,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAEpG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAwB,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACrG,2BAA2B,CAC9B,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}