@sinoia/hubdoc-tools 1.3.3 → 1.3.5

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 (83) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/plugins/alfresco/index.d.ts +26 -0
  3. package/dist/plugins/alfresco/index.d.ts.map +1 -0
  4. package/dist/plugins/alfresco/index.js +405 -0
  5. package/dist/plugins/alfresco/index.js.map +1 -0
  6. package/dist/plugins/alfresco/plugin.json +12 -0
  7. package/dist/plugins/aws-s3/index.d.ts +23 -0
  8. package/dist/plugins/aws-s3/index.d.ts.map +1 -0
  9. package/dist/plugins/aws-s3/index.js +383 -0
  10. package/dist/plugins/aws-s3/index.js.map +1 -0
  11. package/dist/plugins/aws-s3/plugin.json +12 -0
  12. package/dist/plugins/azure-blob/index.d.ts +23 -0
  13. package/dist/plugins/azure-blob/index.d.ts.map +1 -0
  14. package/dist/plugins/azure-blob/index.js +340 -0
  15. package/dist/plugins/azure-blob/index.js.map +1 -0
  16. package/dist/plugins/azure-blob/plugin.json +12 -0
  17. package/dist/plugins/box/index.d.ts +26 -0
  18. package/dist/plugins/box/index.d.ts.map +1 -0
  19. package/dist/plugins/box/index.js +387 -0
  20. package/dist/plugins/box/index.js.map +1 -0
  21. package/dist/plugins/box/plugin.json +12 -0
  22. package/dist/plugins/core/index.d.ts +25 -0
  23. package/dist/plugins/core/index.d.ts.map +1 -0
  24. package/dist/plugins/core/index.js +400 -0
  25. package/dist/plugins/core/index.js.map +1 -0
  26. package/dist/plugins/core/plugin.json +26 -0
  27. package/dist/plugins/dropbox/index.d.ts +27 -0
  28. package/dist/plugins/dropbox/index.d.ts.map +1 -0
  29. package/dist/plugins/dropbox/index.js +375 -0
  30. package/dist/plugins/dropbox/index.js.map +1 -0
  31. package/dist/plugins/dropbox/plugin.json +12 -0
  32. package/dist/plugins/filesystem/index.d.ts +22 -0
  33. package/dist/plugins/filesystem/index.d.ts.map +1 -0
  34. package/dist/plugins/filesystem/index.js +306 -0
  35. package/dist/plugins/filesystem/index.js.map +1 -0
  36. package/dist/plugins/filesystem/plugin.json +12 -0
  37. package/dist/plugins/googledrive/index.d.ts +27 -0
  38. package/dist/plugins/googledrive/index.d.ts.map +1 -0
  39. package/dist/plugins/googledrive/index.js +383 -0
  40. package/dist/plugins/googledrive/index.js.map +1 -0
  41. package/dist/plugins/googledrive/plugin.json +12 -0
  42. package/dist/plugins/nuxeo/index.d.ts +24 -0
  43. package/dist/plugins/nuxeo/index.d.ts.map +1 -0
  44. package/dist/plugins/nuxeo/index.js +405 -0
  45. package/dist/plugins/nuxeo/index.js.map +1 -0
  46. package/dist/plugins/nuxeo/plugin.json +12 -0
  47. package/dist/plugins/onedrive/index.d.ts +25 -0
  48. package/dist/plugins/onedrive/index.d.ts.map +1 -0
  49. package/dist/plugins/onedrive/index.js +362 -0
  50. package/dist/plugins/onedrive/index.js.map +1 -0
  51. package/dist/plugins/onedrive/plugin.json +12 -0
  52. package/dist/plugins/opentext/index.d.ts +26 -0
  53. package/dist/plugins/opentext/index.d.ts.map +1 -0
  54. package/dist/plugins/opentext/index.js +440 -0
  55. package/dist/plugins/opentext/index.js.map +1 -0
  56. package/dist/plugins/opentext/plugin.json +12 -0
  57. package/dist/plugins/sharepoint/index.d.ts +27 -0
  58. package/dist/plugins/sharepoint/index.d.ts.map +1 -0
  59. package/dist/plugins/sharepoint/index.js +397 -0
  60. package/dist/plugins/sharepoint/index.js.map +1 -0
  61. package/dist/plugins/sharepoint/plugin.json +12 -0
  62. package/dist/services/hubdoc-api.d.ts +1 -1
  63. package/dist/services/hubdoc-api.js +1 -1
  64. package/dist/services/oauth-token-service.d.ts +1 -1
  65. package/dist/services/oauth-token-service.js +2 -2
  66. package/dist/services/permission-manager.d.ts +1 -1
  67. package/dist/services/permission-manager.js +1 -1
  68. package/dist/src/types/plugins.d.ts +111 -0
  69. package/dist/src/types/plugins.d.ts.map +1 -0
  70. package/dist/src/types/plugins.js +3 -0
  71. package/dist/src/types/plugins.js.map +1 -0
  72. package/dist/src/utils/concurrent-processor.d.ts +63 -0
  73. package/dist/src/utils/concurrent-processor.d.ts.map +1 -0
  74. package/dist/src/utils/concurrent-processor.js +240 -0
  75. package/dist/src/utils/concurrent-processor.js.map +1 -0
  76. package/dist/src/utils/xml-metadata.d.ts +47 -0
  77. package/dist/src/utils/xml-metadata.d.ts.map +1 -0
  78. package/dist/src/utils/xml-metadata.js +200 -0
  79. package/dist/src/utils/xml-metadata.js.map +1 -0
  80. package/dist/types/index.d.ts +1 -1
  81. package/package.json +10 -2
  82. package/plugins/aws-s3/index.ts +2 -2
  83. package/plugins/sharepoint/index.ts +1 -1
@@ -0,0 +1,405 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const axios_1 = __importDefault(require("axios"));
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const path_1 = __importDefault(require("path"));
9
+ class NuxeoPlugin {
10
+ constructor() {
11
+ this.name = 'nuxeo';
12
+ this.version = '1.0.0';
13
+ this.description = 'Nuxeo ECM document source';
14
+ this.supportedOperations = ['import', 'export', 'both'];
15
+ }
16
+ async testConnection(config) {
17
+ try {
18
+ const client = this.createApiClient(config);
19
+ const response = await client.get('/user/Administrator');
20
+ return response.status === 200;
21
+ }
22
+ catch (error) {
23
+ console.error(`Nuxeo connection test failed: ${error.message}`);
24
+ return false;
25
+ }
26
+ }
27
+ async scan(config, options) {
28
+ this.config = config;
29
+ this.apiClient = this.createApiClient(this.config);
30
+ const sources = [];
31
+ const errors = [];
32
+ let totalSize = 0;
33
+ try {
34
+ const limit = this.config.limit || options?.limit;
35
+ console.log(`🔍 Scanning Nuxeo repository${limit ? ` (limit: ${limit})` : ''}...`);
36
+ const rootPath = this.config.rootPath || '/default-domain/workspaces';
37
+ const documents = await this.scanPath(rootPath);
38
+ let processedCount = 0;
39
+ for (const doc of documents) {
40
+ if (!doc.isFolder && doc.properties['file:content']) {
41
+ const fileContent = doc.properties['file:content'];
42
+ const source = {
43
+ id: doc.uid,
44
+ name: fileContent.name || doc.name,
45
+ path: this.getDocumentPath(doc),
46
+ size: fileContent.length || 0,
47
+ mimeType: fileContent['mime-type'] || 'application/octet-stream',
48
+ lastModified: new Date(doc.properties['dc:modified']),
49
+ metadata: {
50
+ nuxeoUid: doc.uid,
51
+ nuxeoPath: doc.path,
52
+ docType: doc.type,
53
+ title: doc.properties['dc:title'],
54
+ description: doc.properties['dc:description'],
55
+ creator: doc.properties['dc:creator'],
56
+ lastContributor: doc.properties['dc:lastContributor'],
57
+ createdAt: doc.properties['dc:created'],
58
+ state: doc.state,
59
+ facets: doc.facets,
60
+ changeToken: doc.changeToken,
61
+ digest: fileContent.digest
62
+ }
63
+ };
64
+ // Apply filters
65
+ if (this.shouldIncludeSource(source, options)) {
66
+ sources.push(source);
67
+ totalSize += source.size;
68
+ processedCount++;
69
+ // Check limit
70
+ if (limit && processedCount >= limit) {
71
+ console.log(`📏 Reached limit of ${limit} files`);
72
+ break;
73
+ }
74
+ }
75
+ }
76
+ }
77
+ return {
78
+ sources,
79
+ totalCount: sources.length,
80
+ totalSize,
81
+ errors
82
+ };
83
+ }
84
+ catch (error) {
85
+ return {
86
+ sources: [],
87
+ totalCount: 0,
88
+ totalSize: 0,
89
+ errors: [`Nuxeo scan failed: ${error.message}`]
90
+ };
91
+ }
92
+ }
93
+ async scanPath(docPath) {
94
+ if (!this.apiClient)
95
+ throw new Error('API client not initialized');
96
+ const allDocuments = [];
97
+ let currentPageIndex = 0;
98
+ const pageSize = 100;
99
+ try {
100
+ while (true) {
101
+ // Use NXQL query to get all documents under the specified path
102
+ const query = `SELECT * FROM Document WHERE ecm:path STARTSWITH '${docPath}' AND ecm:isVersion = 0 AND ecm:isTrashed = 0`;
103
+ const response = await this.apiClient.get('/search/lang/NXQL/execute', {
104
+ params: {
105
+ query: query,
106
+ currentPageIndex: currentPageIndex,
107
+ pageSize: pageSize,
108
+ sortBy: 'dc:title',
109
+ sortOrder: 'ASC'
110
+ }
111
+ });
112
+ const documents = response.data.entries || [];
113
+ if (documents.length === 0) {
114
+ break;
115
+ }
116
+ // Process both files and folders
117
+ for (const doc of documents) {
118
+ allDocuments.push(doc);
119
+ // If it's a folder and has children, we could recursively scan
120
+ // but the STARTSWITH query should already include all descendants
121
+ }
122
+ // Check if there are more pages
123
+ if (documents.length < pageSize) {
124
+ break;
125
+ }
126
+ currentPageIndex++;
127
+ }
128
+ return allDocuments;
129
+ }
130
+ catch (error) {
131
+ if (error.response?.status === 404) {
132
+ console.warn(`Warning: Path not found: ${docPath}`);
133
+ return [];
134
+ }
135
+ throw error;
136
+ }
137
+ }
138
+ async import(config, sources, targetDir, options) {
139
+ this.config = config;
140
+ this.apiClient = this.createApiClient(this.config);
141
+ const results = [];
142
+ const batchSize = options?.batchSize || 5;
143
+ // Process in batches to respect API limits
144
+ for (let i = 0; i < sources.length; i += batchSize) {
145
+ const batch = sources.slice(i, i + batchSize);
146
+ for (const source of batch) {
147
+ const result = await this.importSingle(source, targetDir);
148
+ results.push(result);
149
+ // Small delay to respect rate limits
150
+ await this.sleep(200);
151
+ }
152
+ }
153
+ return results;
154
+ }
155
+ async importSingle(source, targetDir) {
156
+ try {
157
+ if (!this.apiClient)
158
+ throw new Error('API client not initialized');
159
+ const targetPath = path_1.default.join(targetDir, source.path);
160
+ const targetDirectory = path_1.default.dirname(targetPath);
161
+ await fs_extra_1.default.ensureDir(targetDirectory);
162
+ // Download file content from Nuxeo using the blob download endpoint
163
+ const response = await this.apiClient.get(`/id/${source.id}/@blob/file:content`, {
164
+ responseType: 'stream'
165
+ });
166
+ const writer = fs_extra_1.default.createWriteStream(targetPath);
167
+ response.data.pipe(writer);
168
+ return new Promise((resolve) => {
169
+ writer.on('finish', () => {
170
+ resolve({
171
+ success: true,
172
+ source,
173
+ localPath: targetPath,
174
+ bytesTransferred: source.size
175
+ });
176
+ });
177
+ writer.on('error', (error) => {
178
+ resolve({
179
+ success: false,
180
+ source,
181
+ error: error.message
182
+ });
183
+ });
184
+ });
185
+ }
186
+ catch (error) {
187
+ return {
188
+ success: false,
189
+ source,
190
+ error: error.message
191
+ };
192
+ }
193
+ }
194
+ async export(config, localSources, options) {
195
+ this.config = config;
196
+ this.apiClient = this.createApiClient(this.config);
197
+ const results = [];
198
+ const rootPath = this.config.rootPath || '/default-domain/workspaces';
199
+ for (const source of localSources) {
200
+ try {
201
+ // Determine target path in Nuxeo
202
+ let targetPath = rootPath;
203
+ if (options?.preserveStructure && source.path.includes('/')) {
204
+ const folderPath = path_1.default.dirname(source.path);
205
+ const targetFolderId = await this.createFolderStructure(folderPath, rootPath);
206
+ targetPath = targetFolderId;
207
+ }
208
+ // Read local file
209
+ const fileContent = await fs_extra_1.default.readFile(source.id);
210
+ // Normalize filename to NFC to handle accented characters consistently across platforms
211
+ const fileName = (options?.preserveStructure ? path_1.default.basename(source.path) : source.name).normalize('NFC');
212
+ // Create document in Nuxeo using multipart form data
213
+ const FormData = require('form-data');
214
+ const form = new FormData();
215
+ // Document metadata
216
+ const docData = {
217
+ 'entity-type': 'document',
218
+ type: 'File',
219
+ name: fileName,
220
+ properties: {
221
+ 'dc:title': fileName,
222
+ 'dc:description': `Uploaded via hubdoc-tools`
223
+ }
224
+ };
225
+ form.append('entity-type', 'document');
226
+ form.append('type', 'File');
227
+ form.append('name', fileName);
228
+ form.append('properties', JSON.stringify({
229
+ 'dc:title': fileName,
230
+ 'dc:description': 'Uploaded via hubdoc-tools'
231
+ }));
232
+ // Attach file
233
+ form.append('file', fileContent, {
234
+ filename: fileName,
235
+ contentType: source.mimeType || 'application/octet-stream'
236
+ });
237
+ const uploadResponse = await this.apiClient.post(`/path${targetPath}`, form, {
238
+ headers: {
239
+ ...form.getHeaders()
240
+ }
241
+ });
242
+ const resultTargetPath = options?.preserveStructure ? source.path : source.name;
243
+ results.push({
244
+ success: true,
245
+ targetPath: resultTargetPath,
246
+ source,
247
+ bytesTransferred: source.size
248
+ });
249
+ }
250
+ catch (error) {
251
+ results.push({
252
+ success: false,
253
+ targetPath: options?.targetPath || '',
254
+ source,
255
+ error: error.message
256
+ });
257
+ }
258
+ }
259
+ return results;
260
+ }
261
+ async createFolderStructure(folderPath, parentPath) {
262
+ if (!this.apiClient)
263
+ throw new Error('API client not initialized');
264
+ const parts = folderPath.split('/').filter(part => part.length > 0);
265
+ let currentPath = parentPath;
266
+ for (const folderName of parts) {
267
+ const expectedPath = `${currentPath}/${folderName}`;
268
+ try {
269
+ // Check if folder already exists
270
+ const response = await this.apiClient.get(`/path${expectedPath}`);
271
+ if (response.data && response.data.type === 'Folder') {
272
+ currentPath = expectedPath;
273
+ continue;
274
+ }
275
+ }
276
+ catch (error) {
277
+ // Folder doesn't exist, create it
278
+ if (error.response?.status === 404) {
279
+ try {
280
+ const createResponse = await this.apiClient.post(`/path${currentPath}`, {
281
+ 'entity-type': 'document',
282
+ type: 'Folder',
283
+ name: folderName,
284
+ properties: {
285
+ 'dc:title': folderName
286
+ }
287
+ }, {
288
+ headers: {
289
+ 'Content-Type': 'application/json'
290
+ }
291
+ });
292
+ currentPath = expectedPath;
293
+ }
294
+ catch (createError) {
295
+ throw new Error(`Failed to create folder ${folderName}: ${createError.message}`);
296
+ }
297
+ }
298
+ else {
299
+ throw error;
300
+ }
301
+ }
302
+ }
303
+ return currentPath;
304
+ }
305
+ getConfigSchema() {
306
+ return {
307
+ type: 'object',
308
+ properties: {
309
+ baseUrl: {
310
+ type: 'string',
311
+ description: 'Nuxeo base URL (e.g., http://localhost:8080/nuxeo)',
312
+ required: true
313
+ },
314
+ username: {
315
+ type: 'string',
316
+ description: 'Nuxeo username',
317
+ required: true
318
+ },
319
+ password: {
320
+ type: 'string',
321
+ description: 'Nuxeo password',
322
+ required: true
323
+ },
324
+ repository: {
325
+ type: 'string',
326
+ description: 'Nuxeo repository name (default: default)',
327
+ default: 'default'
328
+ },
329
+ rootPath: {
330
+ type: 'string',
331
+ description: 'Starting path in Nuxeo (default: /default-domain/workspaces)',
332
+ default: '/default-domain/workspaces'
333
+ },
334
+ limit: {
335
+ type: 'number',
336
+ description: 'Maximum number of documents to scan (useful for testing)',
337
+ required: false
338
+ }
339
+ },
340
+ required: ['baseUrl', 'username', 'password']
341
+ };
342
+ }
343
+ async initialize(config) {
344
+ this.config = config;
345
+ if (!this.config.baseUrl || !this.config.username || !this.config.password) {
346
+ throw new Error('Nuxeo base URL, username, and password are required');
347
+ }
348
+ this.apiClient = this.createApiClient(this.config);
349
+ }
350
+ async destroy() {
351
+ this.config = undefined;
352
+ this.apiClient = undefined;
353
+ }
354
+ createApiClient(config) {
355
+ const repository = config.repository || 'default';
356
+ const baseURL = `${config.baseUrl.replace(/\/$/, '')}/api/v1/repo/${repository}`;
357
+ return axios_1.default.create({
358
+ baseURL,
359
+ auth: {
360
+ username: config.username,
361
+ password: config.password
362
+ },
363
+ headers: {
364
+ 'Content-Type': 'application/json',
365
+ 'Accept': 'application/json'
366
+ },
367
+ timeout: 30000
368
+ });
369
+ }
370
+ getDocumentPath(doc) {
371
+ // Remove the repository-specific prefix from the path
372
+ let cleanPath = doc.path.replace(/^\/default-domain\/workspaces\//, '');
373
+ // If the document has a file content, use the file name
374
+ if (doc.properties['file:content']?.name) {
375
+ const pathParts = cleanPath.split('/');
376
+ pathParts[pathParts.length - 1] = doc.properties['file:content'].name;
377
+ cleanPath = pathParts.join('/');
378
+ }
379
+ return cleanPath || doc.name;
380
+ }
381
+ shouldIncludeSource(source, options) {
382
+ // Apply size filter
383
+ if (options?.filters?.maxSize && source.size > options.filters.maxSize) {
384
+ return false;
385
+ }
386
+ // Apply date range filter
387
+ if (options?.filters?.dateRange) {
388
+ const { from, to } = options.filters.dateRange;
389
+ if (from && source.lastModified < from)
390
+ return false;
391
+ if (to && source.lastModified > to)
392
+ return false;
393
+ }
394
+ // Apply MIME type filter
395
+ if (options?.filters?.mimeTypes && !options.filters.mimeTypes.includes(source.mimeType)) {
396
+ return false;
397
+ }
398
+ return true;
399
+ }
400
+ sleep(ms) {
401
+ return new Promise(resolve => setTimeout(resolve, ms));
402
+ }
403
+ }
404
+ exports.default = NuxeoPlugin;
405
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../plugins/nuxeo/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ {
2
+ "name": "nuxeo",
3
+ "version": "1.0.0",
4
+ "description": "Nuxeo document source plugin",
5
+ "author": "HubDoc Tools",
6
+ "main": "index.ts",
7
+ "hubdocToolVersion": "^1.0.0",
8
+ "dependencies": {
9
+ "axios": "^1.5.0",
10
+ "fs-extra": "^11.1.0"
11
+ }
12
+ }
@@ -0,0 +1,25 @@
1
+ import { DocumentSourcePlugin, DocumentSource, PluginConfig, ScanResult, PluginImportOptions, PluginExportOptions, ImportResult, ExportResult } from '../../src/types/plugins';
2
+ export default class OneDrivePlugin implements DocumentSourcePlugin {
3
+ readonly name = "onedrive";
4
+ readonly version = "1.0.0";
5
+ readonly description = "Microsoft OneDrive/SharePoint document source";
6
+ readonly supportedOperations: readonly ["import", "export", "both"];
7
+ private config?;
8
+ private apiClient?;
9
+ private baseUrl;
10
+ testConnection(config: PluginConfig): Promise<boolean>;
11
+ scan(config: PluginConfig, options?: PluginImportOptions): Promise<ScanResult>;
12
+ private scanFolder;
13
+ import(config: PluginConfig, sources: DocumentSource[], targetDir: string, options?: PluginImportOptions): Promise<ImportResult[]>;
14
+ private importSingle;
15
+ export?(config: PluginConfig, localSources: DocumentSource[], options?: PluginExportOptions): Promise<ExportResult[]>;
16
+ private createFolderStructure;
17
+ getConfigSchema(): Record<string, any>;
18
+ initialize(config: PluginConfig): Promise<void>;
19
+ destroy(): Promise<void>;
20
+ private createApiClient;
21
+ private getRelativePath;
22
+ private shouldIncludeSource;
23
+ private sleep;
24
+ }
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../plugins/onedrive/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACb,MAAM,yBAAyB,CAAC;AA6BjC,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,oBAAoB;IACjE,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,OAAO,WAAW;IAC3B,QAAQ,CAAC,WAAW,mDAAmD;IACvE,QAAQ,CAAC,mBAAmB,wCAAyC;IAErE,OAAO,CAAC,MAAM,CAAC,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAC,CAAgB;IAClC,OAAO,CAAC,OAAO,CAAsC;IAE/C,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAetD,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;YA+DtE,UAAU;IA0ClB,MAAM,CACV,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,cAAc,EAAE,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,YAAY,EAAE,CAAC;YAuBZ,YAAY;IAwDpB,MAAM,CAAC,CACX,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,cAAc,EAAE,EAC9B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,YAAY,EAAE,CAAC;YA+CZ,qBAAqB;IAyBnC,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA4ChC,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,KAAK;CAGd"}