@luzzle/core 0.0.44 → 0.0.46

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.
@@ -1,7 +1,7 @@
1
1
  import { createReadStream, existsSync } from 'fs';
2
2
  import { copyFile, stat } from 'fs/promises'; // Direct import matching source
3
3
  import { describe, expect, test, vi, afterEach, beforeAll } from 'vitest';
4
- import { createHash, randomBytes } from 'crypto';
4
+ import { createHash } from 'crypto';
5
5
  import { PassThrough, Readable } from 'stream';
6
6
  import got from 'got';
7
7
  import path from 'path';
@@ -19,7 +19,6 @@ const mocks = {
19
19
  existsSync: vi.mocked(existsSync),
20
20
  createReadStream: vi.mocked(createReadStream),
21
21
  createHash: vi.mocked(createHash),
22
- randomBytes: vi.mocked(randomBytes),
23
22
  gotStream: vi.mocked(got.stream),
24
23
  };
25
24
  const spies = {};
@@ -228,106 +227,87 @@ describe('pieces/utils/piece.ts', () => {
228
227
  const making = makePieceValue(field, 55);
229
228
  await expect(making).rejects.toThrowError();
230
229
  });
231
- test('makePieceAttachment should create an asset from a stream (PNG)', async () => {
232
- const field = {
233
- name: 'cover',
234
- type: 'string',
235
- format: 'asset',
236
- };
230
+ test('makePieceAttachment should create an asset from a stream (PNG via magic bytes)', async () => {
231
+ const field = { name: 'cover', type: 'string', format: 'asset' };
237
232
  const storage = makeStorage('root');
238
- const random = 'randomhex';
239
- const fieldName = 'cover';
240
- const fileName = 'samplePath';
241
- const markdown = makeMarkdownSample(fileName, 'books', '', { [fieldName]: 'cover.jpg' });
242
- const expectedFilename = `${fileName}-${random}.png`;
233
+ const markdown = makeMarkdownSample('samplePath', 'books', '', { cover: 'cover.jpg' });
243
234
  const mocksWriteStream = new PassThrough();
235
+ // URL stream: magic bytes say PNG, source URL says .jpg — magic bytes win for ext
244
236
  const mockStream = Readable.from([fullPngBuffer]);
245
- mockStream.requestUrl = { pathname: 'file.jpg' };
246
- mocks.randomBytes.mockImplementation(() => ({ toString: () => random }));
247
- spies.createWriteStream = vi
248
- .spyOn(storage, 'createWriteStream')
249
- .mockReturnValue(mocksWriteStream);
237
+ mockStream.requestUrl = { pathname: '/images/photo.jpg' };
238
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
250
239
  spies.exists = vi.spyOn(storage, 'exists').mockResolvedValue(false);
251
240
  spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
252
241
  const asset = await makePieceAttachment(markdown.filePath, field, mockStream, storage);
253
- expect(asset).toBe(path.join(ASSETS_DIRECTORY, path.dirname(markdown.filePath), fieldName, `${expectedFilename}`));
242
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
243
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'photo.png'));
254
244
  });
255
245
  test('makePieceAttachment should work with field arrays (PNG)', async () => {
256
246
  const field = {
257
247
  name: 'cover',
258
248
  type: 'array',
259
- items: {
260
- format: 'asset',
261
- },
249
+ items: { format: 'asset' },
262
250
  };
263
251
  const storage = makeStorage('root');
264
- const random = 'randomhex';
265
- const fieldName = 'cover';
266
- const fileName = 'samplePath';
267
- const markdown = makeMarkdownSample(fileName, 'books', '', { [fieldName]: 'cover.jpg' });
268
- const expectedFilename = `${fileName}-${random}.png`;
252
+ const markdown = makeMarkdownSample('samplePath', 'books', '', { cover: 'cover.jpg' });
269
253
  const mocksWriteStream = new PassThrough();
270
254
  const mockStream = Readable.from([fullPngBuffer]);
271
- mockStream.requestUrl = { pathname: 'file.jpg' };
272
- mocks.randomBytes.mockImplementation(() => ({ toString: () => random }));
273
- spies.createWriteStream = vi
274
- .spyOn(storage, 'createWriteStream')
275
- .mockReturnValue(mocksWriteStream);
255
+ mockStream.requestUrl = { pathname: '/images/photo.jpg' };
256
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
276
257
  spies.exists = vi.spyOn(storage, 'exists').mockResolvedValue(false);
277
258
  spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
278
259
  const asset = await makePieceAttachment(markdown.filePath, field, mockStream, storage);
279
- expect(asset).toBe(path.join(ASSETS_DIRECTORY, path.dirname(markdown.filePath), fieldName, `${expectedFilename}`));
260
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
261
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'photo.png'));
280
262
  });
281
- test('makePieceAttachment should use path and path stream for file type (fallback)', async () => {
282
- const field = {
283
- name: 'cover',
284
- type: 'string',
285
- format: 'asset',
286
- };
263
+ test('makePieceAttachment should use ReadStream path for name and ext (text file fallback)', async () => {
264
+ const field = { name: 'script', type: 'string', format: 'asset' };
287
265
  const storage = makeStorage('root');
288
- const random = 'randomhex';
289
- const fieldName = 'cover';
290
- const fileName = 'samplePath';
291
- const markdown = makeMarkdownSample(fileName, 'books', '', { [fieldName]: 'cover.jpg' });
292
- const expectedFilename = `${fileName}-${random}.jpg`;
266
+ const markdown = makeMarkdownSample('samplePath', 'books', '', { script: 'deploy.bash' });
293
267
  const mocksWriteStream = new PassThrough();
294
- // Use Readable.from
295
- const mockStream = Readable.from([Buffer.from('some data')]);
296
- mockStream.path = Buffer.from('file.jpg');
297
- mocks.randomBytes.mockImplementation(() => ({ toString: () => random }));
298
- spies.createWriteStream = vi
299
- .spyOn(storage, 'createWriteStream')
300
- .mockReturnValue(mocksWriteStream);
268
+ // No magic bytes for a text file — falls back to source path extension
269
+ const mockStream = Readable.from([Buffer.from('#!/bin/bash\necho hi')]);
270
+ mockStream.path = Buffer.from('/local/path/deploy.bash');
271
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
301
272
  spies.exists = vi.spyOn(storage, 'exists').mockResolvedValue(false);
302
273
  spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
303
274
  const asset = await makePieceAttachment(markdown.filePath, field, mockStream, storage);
304
- expect(asset).toBe(path.join(ASSETS_DIRECTORY, path.dirname(markdown.filePath), fieldName, `${expectedFilename}`));
275
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
276
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'deploy.bash'));
305
277
  });
306
- test('makePieceAttachment should use a generic readable stream with no path or url info (fallback)', async () => {
307
- const field = {
308
- name: 'cover',
309
- type: 'string',
310
- format: 'asset',
311
- };
278
+ test('makePieceAttachment should fall back to field name with no ext for bare Readable', async () => {
279
+ const field = { name: 'cover', type: 'string', format: 'asset' };
312
280
  const storage = makeStorage('root');
313
- const random = 'randomhex';
314
- const fieldName = 'cover';
315
- const fileName = 'samplePath.md'; // Must have extension for fallback to work
316
- const markdown = makeMarkdownSample(fileName, 'books', '', { [fieldName]: 'cover.bin' });
317
- const expectedFilename = `${fileName.replace('.md', '')}-${random}.md`; // Fallback to markdown.filePath ext .md
281
+ const markdown = makeMarkdownSample('samplePath.md', 'books', '', { cover: 'cover.bin' });
318
282
  const mocksWriteStream = new PassThrough();
319
- // Use Readable.from
320
- const mockGenericReadable = Readable.from([
321
- Buffer.from('some binary data'),
322
- ]);
323
- mocks.randomBytes.mockImplementation(() => ({ toString: () => random }));
324
- spies.createWriteStream = vi
325
- .spyOn(storage, 'createWriteStream')
326
- .mockReturnValue(mocksWriteStream);
283
+ // Generic Readable: no path info, no magic bytes detectable
284
+ const mockGenericReadable = Readable.from([Buffer.from('some binary data')]);
285
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
327
286
  spies.exists = vi.spyOn(storage, 'exists').mockResolvedValue(false);
328
287
  spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
329
288
  const asset = await makePieceAttachment(markdown.filePath, field, mockGenericReadable, storage);
330
- expect(asset).toBe(path.join(ASSETS_DIRECTORY, path.dirname(markdown.filePath), fieldName, `${expectedFilename}`));
289
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
290
+ // Falls back to field name, no extension (not .md)
291
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'cover'));
292
+ });
293
+ test('makePieceAttachment should increment counter on filename collision', async () => {
294
+ const field = { name: 'cover', type: 'string', format: 'asset' };
295
+ const storage = makeStorage('root');
296
+ const markdown = makeMarkdownSample('samplePath', 'books', '', { cover: 'cover.jpg' });
297
+ const mocksWriteStream = new PassThrough();
298
+ const mockStream = Readable.from([fullPngBuffer]);
299
+ mockStream.requestUrl = { pathname: '/images/photo.jpg' };
300
+ spies.createWriteStream = vi.spyOn(storage, 'createWriteStream').mockReturnValue(mocksWriteStream);
301
+ spies.makeDir = vi.spyOn(storage, 'makeDirectory').mockResolvedValue(undefined);
302
+ // First call: attachDir doesn't exist, target file doesn't exist
303
+ spies.exists = vi
304
+ .spyOn(storage, 'exists')
305
+ .mockResolvedValueOnce(false) // attachDir check
306
+ .mockResolvedValueOnce(true) // photo.png exists → collision
307
+ .mockResolvedValueOnce(false); // photo-2.png free
308
+ const asset = await makePieceAttachment(markdown.filePath, field, mockStream, storage);
309
+ const pieceDir = markdown.filePath.replace(/\.[^.]+$/, '');
310
+ expect(asset).toBe(path.join(ASSETS_DIRECTORY, pieceDir, 'photo-2.png'));
331
311
  });
332
312
  test('makePieceAttachment throws for non-asset field', async () => {
333
313
  const field = { name: 'title', type: 'string' };
@@ -1 +1 @@
1
- {"version":3,"file":"piece.test.js","sourceRoot":"","sources":["../../../../src/pieces/utils/piece.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAkC,MAAM,IAAI,CAAA;AACjF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA,CAAC,gCAAgC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAgB,MAAM,QAAQ,CAAA;AACvF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,GAAgB,MAAM,KAAK,CAAA;AAClC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACN,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,oBAAoB,GACpB,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AACtB,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AACjB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACb,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEd,MAAM,KAAK,GAAG;IACb,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC7B,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;IACrB,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;IACjC,gBAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAC7C,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;IACjC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC;IACnC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;CAChC,CAAA;AAED,MAAM,KAAK,GAAoC,EAAE,CAAA;AAEjD,IAAI,aAAqB,CAAA;AAEzB,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACtC,SAAS,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,CAAC,YAAY,CAA+B,aAAa,CAAC,CAAA;QACvF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;QACzD,aAAa,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,EAAE,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;QACF,EAAE,CAAC,eAAe,EAAE,CAAA;IACrB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,IAAI,GAAG,MAAM,CAAA;QAEnB,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,cAAc,GAAG,IAAI,WAAW,EAA2B,CAAA;QAEjE,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;QAC1D,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC;YACpC,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;SAC0B,CAAC,CAAA;QAE9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAA;QAEzD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACjC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE1B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAA;QAE9B,MAAM,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAA;QAEnB,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QAC1B,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,cAAc,GAAG,IAAI,WAAW,EAA2B,CAAA;QAEjE,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAA;QAC1D,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC;YACpC,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,UAAU;SAC0B,CAAC,CAAA;QAC9C,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE/C,MAAM,WAAW,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAA;QAEzD,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QAEhD,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;QAChD,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAEjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAA;QAE9D,MAAM,YAAY,GAAG,EAAE,CAAA;QACvB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAE/C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;QAEjD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAEjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;QAEnC,MAAM,YAAY,GAAG,EAAE,CAAA;QACvB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAA;QAE1D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAEtD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAEpD,MAAM,YAAY,GAAG,EAAE,CAAA;QACvB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACzC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAA;QAE1D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAiC,CAAA;QAC9E,MAAM,KAAK,GAAG,WAAW,CAAA;QAEzB,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,KAAK,GAAG;YACb,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACM,CAAA;QAChC,MAAM,KAAK,GAAG,WAAW,CAAA;QAEzB,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAiC,CAAA;QAE/E,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACvD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAExD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAiC,CAAA;QAE/E,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAiC,CAAA;QAE7E,MAAM,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;QAE/B,MAAM,CAAC,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAiC,CAAA;QAC/F,MAAM,KAAK,GAAG,gBAAgB,CAAA;QAC9B,MAAM,QAAQ,GAAG,IAAI,WAAW,EAA2B,CAAA;QAE3D,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAW,CAAC,CAAA,CAAC,+BAA+B;QAEjG,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAEtD,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;YACrB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAA;QAE1C,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAiC,CAAA;QAC/F,MAAM,KAAK,GAAG,uBAAuB,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAwB,CAAA;QAExD,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAE7C,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAEtD,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;QAE9C,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAA;QAE1C,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAiC,CAAA;QAC/F,MAAM,KAAK,GAAG,uBAAuB,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAwB,CAAA;QAExD,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAE7C,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAEtD,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAA;QAE9C,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAiC,CAAA;QAC/F,MAAM,KAAK,GAAG,uBAAuB,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAwB,CAAA;QAExD,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAE7C,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAEtD,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;QAE/C,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAiC,CAAA;QAC/F,MAAM,KAAK,GAAG,uBAAuB,CAAA;QACrC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAA2B,CAAA;QAE3D,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAW,CAAC,CAAA;QACjE,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE/C,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAEtD,kEAAkE;QAClE,UAAU,CAAC,GAAG,EAAE;YACf,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACrD,CAAC,EAAE,CAAC,CAAC,CAAA;QAEL,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAClE,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAiC,CAAA;QAC/F,MAAM,KAAK,GAAG,GAAG,gBAAgB,gBAAgB,CAAA;QACjD,MAAM,QAAQ,GAAG,IAAI,WAAW,EAA2B,CAAA;QAE3D,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAW,CAAC,CAAA;QAEjE,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAErD,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAiC,CAAA;QAC/F,MAAM,KAAK,GAAG,eAAe,CAAA;QAC7B,MAAM,QAAQ,GAAG,IAAI,WAAW,EAA2B,CAAA;QAE3D,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAwB,CAAC,CAAA;QAE1D,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAE5C,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAiC,CAAA;QAC/F,MAAM,QAAQ,GAAG,IAAI,WAAW,EAA2B,CAAA;QAC3D,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAExD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;QACzC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAiC,CAAA;QAC/F,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QAExC,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,KAAK,GAAG;YACb,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;SACgB,CAAA;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,WAAW,CAAA;QAC1B,MAAM,SAAS,GAAG,OAAO,CAAA;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAA;QAC7B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;QACxF,MAAM,gBAAgB,GAAG,GAAG,QAAQ,IAAI,MAAM,MAAM,CAAA;QACpD,MAAM,gBAAgB,GAAG,IAAI,WAAW,EAA4B,CAAA;QAEpE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAuB,CAAA;QACvE,UAAU,CAAC,UAAU,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAS,CAAA;QAEvD,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAW,CAAC,CAAA;QAElF,KAAK,CAAC,iBAAiB,GAAG,EAAE;aAC1B,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC;aACnC,eAAe,CAAC,gBAAgB,CAAC,CAAA;QACnC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACnE,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;QAE/E,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QACtF,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAC9F,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,KAAK,GAAG;YACb,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACN,MAAM,EAAE,OAAO;aACf;SAC8B,CAAA;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,WAAW,CAAA;QAC1B,MAAM,SAAS,GAAG,OAAO,CAAA;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAA;QAC7B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;QACxF,MAAM,gBAAgB,GAAG,GAAG,QAAQ,IAAI,MAAM,MAAM,CAAA;QACpD,MAAM,gBAAgB,GAAG,IAAI,WAAW,EAA4B,CAAA;QACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAuB,CAAA;QAEvE,UAAU,CAAC,UAAU,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAS,CAAA;QAEvD,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAW,CAAC,CAAA;QAElF,KAAK,CAAC,iBAAiB,GAAG,EAAE;aAC1B,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC;aACnC,eAAe,CAAC,gBAAgB,CAAC,CAAA;QACnC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACnE,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;QAE/E,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QACtF,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAC9F,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,KAAK,GAAG;YACb,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;SACgB,CAAA;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,WAAW,CAAA;QAC1B,MAAM,SAAS,GAAG,OAAO,CAAA;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAA;QAC7B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;QACxF,MAAM,gBAAgB,GAAG,GAAG,QAAQ,IAAI,MAAM,MAAM,CAAA;QACpD,MAAM,gBAAgB,GAAG,IAAI,WAAW,EAA4B,CAAA;QAEpE,oBAAoB;QACpB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAA0B,CAAA;QACrF,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAEzC,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAW,CAAC,CAAA;QAElF,KAAK,CAAC,iBAAiB,GAAG,EAAE;aAC1B,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC;aACnC,eAAe,CAAC,gBAAgB,CAAC,CAAA;QACnC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACnE,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;QAE/E,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;QACtF,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAC9F,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;QAC/G,MAAM,KAAK,GAAG;YACb,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,OAAO;SACgB,CAAA;QAChC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,WAAW,CAAA;QAC1B,MAAM,SAAS,GAAG,OAAO,CAAA;QACzB,MAAM,QAAQ,GAAG,eAAe,CAAA,CAAC,2CAA2C;QAC5E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC,CAAA;QACxF,MAAM,gBAAgB,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,MAAM,KAAK,CAAA,CAAC,wCAAwC;QAC/G,MAAM,gBAAgB,GAAG,IAAI,WAAW,EAA4B,CAAA;QAEpE,oBAAoB;QACpB,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC;SAC/B,CAAwB,CAAA;QAEzB,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAW,CAAC,CAAA;QAElF,KAAK,CAAC,iBAAiB,GAAG,EAAE;aAC1B,KAAK,CAAC,OAAO,EAAE,mBAAmB,CAAC;aACnC,eAAe,CAAC,gBAAgB,CAAC,CAAA;QACnC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;QACnE,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;QAE/E,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAA;QAC/F,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAC9F,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAiC,CAAA;QAC9E,MAAM,MAAM,GAAG,IAAI,WAAW,EAAwB,CAAA;QACtD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAEjE,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;IAC3C,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"piece.test.js","sourceRoot":"","sources":["../../../../src/pieces/utils/piece.test.ts"],"names":[],"mappings":"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"}