@metricinsights/pp-dev 0.4.0 → 0.5.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.
- package/README.md +42 -0
- package/dist/cjs/cli.js +592 -38
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/{index-0adc09ce.js → index-44d9499e.js} +39 -30
- package/dist/cjs/index-44d9499e.js.map +1 -0
- package/dist/cjs/index.js +8 -9
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/package.json +12 -1
- package/dist/cjs/{plugin-ab0651c4.js → plugin-34b9bc89.js} +231 -26
- package/dist/cjs/plugin-34b9bc89.js.map +1 -0
- package/dist/cjs/plugin.js +7 -2
- package/dist/cjs/plugin.js.map +1 -1
- package/dist/esm/cli.js +578 -27
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/{index-1a1d27e5.js → index-4361a6ba.js} +38 -28
- package/dist/esm/index-4361a6ba.js.map +1 -0
- package/dist/esm/index.js +8 -8
- package/dist/esm/package.json +12 -1
- package/dist/esm/{plugin-7db34718.js → plugin-78cbd0b1.js} +228 -26
- package/dist/esm/plugin-78cbd0b1.js.map +1 -0
- package/dist/esm/plugin.js +3 -1
- package/dist/esm/plugin.js.map +1 -1
- package/dist/types/index.d.ts +9 -3
- package/dist/types/plugin.d.ts +67 -2
- package/package.json +12 -1
- package/dist/cjs/index-0adc09ce.js.map +0 -1
- package/dist/cjs/plugin-ab0651c4.js.map +0 -1
- package/dist/esm/index-1a1d27e5.js.map +0 -1
- package/dist/esm/plugin-7db34718.js.map +0 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { createProxyMiddleware, responseInterceptor } from 'http-proxy-middleware';
|
|
2
2
|
import { fileURLToPath, URL as URL$1 } from 'url';
|
|
3
|
+
import { createLogger as createLogger$1 } from 'vite';
|
|
4
|
+
import { createColors } from 'picocolors';
|
|
3
5
|
import axios from 'axios';
|
|
4
6
|
import { JSDOM } from 'jsdom';
|
|
5
7
|
import { Agent } from 'https';
|
|
@@ -35,6 +37,26 @@ function cutUrlParams(url) {
|
|
|
35
37
|
return urlParts[0];
|
|
36
38
|
}
|
|
37
39
|
|
|
40
|
+
// import pino from 'pino';
|
|
41
|
+
// import { PrettyOptions } from 'pino-pretty';
|
|
42
|
+
const storage = new Map();
|
|
43
|
+
const DEFAULT_LOGGER_KEY = 'default';
|
|
44
|
+
const createLogger = (level = 'info', name = DEFAULT_LOGGER_KEY) => {
|
|
45
|
+
if (storage.has(name)) {
|
|
46
|
+
return storage.get(name);
|
|
47
|
+
}
|
|
48
|
+
if (name === DEFAULT_LOGGER_KEY) {
|
|
49
|
+
const logger = createLogger$1(level);
|
|
50
|
+
storage.set(name, logger);
|
|
51
|
+
return logger;
|
|
52
|
+
}
|
|
53
|
+
const logger = createLogger$1(level);
|
|
54
|
+
storage.set(name, logger);
|
|
55
|
+
return logger;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const colors = createColors();
|
|
59
|
+
|
|
38
60
|
const hostOriginRegExp = /^(https?:\/\/)([^/]+)(\/.*)?$/i;
|
|
39
61
|
const PROXY_HEADER = 'X-PP-Proxy';
|
|
40
62
|
function initProxy(opts) {
|
|
@@ -45,6 +67,7 @@ function initProxy(opts) {
|
|
|
45
67
|
const host = baseURL.replace(hostOriginRegExp, '$2');
|
|
46
68
|
const origin = baseURL.replace(hostOriginRegExp, '$1$2');
|
|
47
69
|
const fileType = import('file-type');
|
|
70
|
+
const logger = createLogger();
|
|
48
71
|
return createProxyMiddleware((pathname) => {
|
|
49
72
|
if ((opts.proxyIgnore || []).some((value) => {
|
|
50
73
|
if (typeof value === 'string') {
|
|
@@ -84,7 +107,7 @@ function initProxy(opts) {
|
|
|
84
107
|
onProxyReq(proxyReq, req, res) {
|
|
85
108
|
const host = req.headers.host;
|
|
86
109
|
const referer = proxyReq.getHeader('referer');
|
|
87
|
-
|
|
110
|
+
logger.info(`${colors.blue('Proxies request:')} ${colors.green(req.method)} ${req.url} -> ${colors.green(proxyReq.method)} ${proxyReq.protocol}//${proxyReq.host}${proxyReq.path}`);
|
|
88
111
|
if (host && referer && typeof referer === 'string') {
|
|
89
112
|
proxyReq.setHeader('referer', referer.replace(new RegExp(`https?://${host}`), baseURL));
|
|
90
113
|
}
|
|
@@ -127,7 +150,7 @@ function initProxy(opts) {
|
|
|
127
150
|
}),
|
|
128
151
|
onError(err, req, res) {
|
|
129
152
|
const errorMessage = `Proxy error: "${err.message}" when trying to "${req.method} ${req.url}"\n\n${err.stack}`;
|
|
130
|
-
|
|
153
|
+
logger.error(errorMessage);
|
|
131
154
|
res.writeHead(500, {
|
|
132
155
|
'Content-Type': 'text/plain',
|
|
133
156
|
});
|
|
@@ -141,6 +164,15 @@ class BaseAPI {
|
|
|
141
164
|
constructor(axios) {
|
|
142
165
|
this.axios = axios;
|
|
143
166
|
}
|
|
167
|
+
async checkAuth(headers) {
|
|
168
|
+
return this.axios
|
|
169
|
+
.get('/data/page/index/auth/info', {
|
|
170
|
+
headers: Object.assign({}, headers, { accept: 'text/html' }),
|
|
171
|
+
maxRedirects: 0,
|
|
172
|
+
})
|
|
173
|
+
.then(() => true)
|
|
174
|
+
.catch(() => false);
|
|
175
|
+
}
|
|
144
176
|
}
|
|
145
177
|
|
|
146
178
|
class AssetsAPI extends BaseAPI {
|
|
@@ -257,6 +289,7 @@ class PageAPI extends BaseAPI {
|
|
|
257
289
|
}
|
|
258
290
|
}
|
|
259
291
|
|
|
292
|
+
const TEMPLATE_PAGE_NAME = '[DEV PAGE. DO NOT DELETE]';
|
|
260
293
|
class MiAPI {
|
|
261
294
|
#headers;
|
|
262
295
|
#axios;
|
|
@@ -269,14 +302,13 @@ class MiAPI {
|
|
|
269
302
|
templateLess;
|
|
270
303
|
assetsApi;
|
|
271
304
|
pageApi;
|
|
305
|
+
logger;
|
|
272
306
|
constructor(baseURL, opts) {
|
|
273
307
|
const { headers = {}, portalPageId, templateLess = true, disableSSLValidation = false } = opts || {};
|
|
274
308
|
this.#headers = headers;
|
|
275
309
|
this.#pageVars = [];
|
|
276
310
|
this.#pageTitle = '';
|
|
277
|
-
this.#templateLoaded =
|
|
278
|
-
this.#templateLoadedResolve = resolve;
|
|
279
|
-
});
|
|
311
|
+
this.#templateLoaded = Promise.resolve(false);
|
|
280
312
|
if (disableSSLValidation) {
|
|
281
313
|
axios.defaults.httpsAgent = new Agent({ rejectUnauthorized: false });
|
|
282
314
|
}
|
|
@@ -288,12 +320,13 @@ class MiAPI {
|
|
|
288
320
|
this.templateLess = templateLess;
|
|
289
321
|
this.assetsApi = new AssetsAPI(this.#axios);
|
|
290
322
|
this.pageApi = new PageAPI(this.#axios);
|
|
323
|
+
this.logger = createLogger();
|
|
291
324
|
}
|
|
292
325
|
async isTemplateLoaded() {
|
|
293
326
|
return this.#templateLoaded;
|
|
294
327
|
}
|
|
295
328
|
#clearHeaders(headers) {
|
|
296
|
-
const obj = Object.assign({}, headers, { host: undefined });
|
|
329
|
+
const obj = Object.assign({}, headers, { host: undefined, referer: undefined });
|
|
297
330
|
Object.keys(obj).forEach((key) => obj[key] === undefined && delete obj[key]);
|
|
298
331
|
this.#headers = obj;
|
|
299
332
|
return obj;
|
|
@@ -306,27 +339,65 @@ class MiAPI {
|
|
|
306
339
|
* @param headers
|
|
307
340
|
*/
|
|
308
341
|
async getPageTemplate(headers) {
|
|
342
|
+
if (!(await this.#templateLoaded)) {
|
|
343
|
+
this.#templateLoaded = new Promise((resolve) => {
|
|
344
|
+
this.#templateLoadedResolve = resolve;
|
|
345
|
+
});
|
|
346
|
+
}
|
|
309
347
|
if (this.#pageTemplate) {
|
|
310
348
|
return Promise.resolve(this.#pageTemplate);
|
|
311
349
|
}
|
|
312
350
|
if (typeof this.templateLess === 'undefined') {
|
|
313
351
|
this.templateLess = false;
|
|
314
352
|
}
|
|
315
|
-
const pageList = await this.pageApi
|
|
316
|
-
|
|
353
|
+
const pageList = await this.pageApi
|
|
354
|
+
.getAll(this.#clearHeaders(headers))
|
|
355
|
+
.then((response) => {
|
|
356
|
+
this.logger.info(colors.green('Page list fetched'));
|
|
357
|
+
return response;
|
|
358
|
+
})
|
|
359
|
+
.catch(async (e) => {
|
|
360
|
+
if (await this.pageApi.checkAuth(this.#clearHeaders(headers))) {
|
|
361
|
+
this.logger.error(colors.red(`Error fetching page list: ${e.message}\n${e.stack}`));
|
|
362
|
+
throw new Error('Current user does not have access to page list');
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
throw e;
|
|
366
|
+
}
|
|
367
|
+
});
|
|
368
|
+
let page = pageList.find((p) => p.name === TEMPLATE_PAGE_NAME);
|
|
317
369
|
if (!page) {
|
|
318
|
-
|
|
370
|
+
this.logger.warn(colors.yellow('Creating dev page template...'));
|
|
371
|
+
page = await this.pageApi
|
|
372
|
+
.create({
|
|
319
373
|
enabled: 'Y',
|
|
320
|
-
name:
|
|
374
|
+
name: TEMPLATE_PAGE_NAME,
|
|
321
375
|
internal_name: 'dev-page-template',
|
|
322
376
|
visible_in_homepage: 'Y',
|
|
323
|
-
}, this.#clearHeaders(headers))
|
|
377
|
+
}, this.#clearHeaders(headers))
|
|
378
|
+
.then((response) => {
|
|
379
|
+
this.logger.info(colors.green('Dev page created'));
|
|
380
|
+
return response;
|
|
381
|
+
})
|
|
382
|
+
.catch((e) => {
|
|
383
|
+
this.logger.error(colors.red(`Error creating dev page: ${e.message}`));
|
|
384
|
+
throw new Error(`Error when creating dev page.
|
|
385
|
+
That can be caused by missing permissions or page with name "${TEMPLATE_PAGE_NAME}" already exists`);
|
|
386
|
+
});
|
|
324
387
|
}
|
|
325
388
|
return await this.pageApi
|
|
326
389
|
.getPageContent(page.internal_name, this.#clearHeaders(headers))
|
|
327
390
|
.then((response) => {
|
|
328
391
|
this.#pageTemplate = response;
|
|
329
392
|
return response;
|
|
393
|
+
})
|
|
394
|
+
.then((response) => {
|
|
395
|
+
this.logger.info(colors.green('Page template fetched'));
|
|
396
|
+
return response;
|
|
397
|
+
})
|
|
398
|
+
.catch((e) => {
|
|
399
|
+
this.logger.error(colors.red(`Error fetching page template: ${e.message}`));
|
|
400
|
+
throw new Error('Error fetching page template');
|
|
330
401
|
})
|
|
331
402
|
.finally(() => {
|
|
332
403
|
this.#templateLoadedResolve(true);
|
|
@@ -359,9 +430,13 @@ class MiAPI {
|
|
|
359
430
|
return [];
|
|
360
431
|
})
|
|
361
432
|
.catch((reason) => {
|
|
433
|
+
this.logger.error(colors.red(`Error fetching page variables: ${reason.message}`));
|
|
362
434
|
if (reason.response?.status === 404) {
|
|
363
435
|
throw new Error(`Portal Page with id "${pageId}" not found on instance ${this.#axios.getUri()}`);
|
|
364
436
|
}
|
|
437
|
+
if (reason.response?.status === 401) {
|
|
438
|
+
throw new Error(`Current user does not have access to page with id "${pageId}" on instance ${this.#axios.getUri()}`);
|
|
439
|
+
}
|
|
365
440
|
throw reason;
|
|
366
441
|
});
|
|
367
442
|
}
|
|
@@ -435,12 +510,14 @@ class ClientService {
|
|
|
435
510
|
server;
|
|
436
511
|
opts;
|
|
437
512
|
eventMap;
|
|
513
|
+
logger;
|
|
438
514
|
constructor(server, opts) {
|
|
439
515
|
this.server = server;
|
|
440
516
|
this.opts = opts || {};
|
|
441
517
|
this.eventMap = new Map();
|
|
442
518
|
this.eventMap.set('info-data:request', this.onInfoDataRequest.bind(this));
|
|
443
519
|
this.eventMap.set('template:sync', this.onTemplateSync.bind(this));
|
|
520
|
+
this.logger = createLogger();
|
|
444
521
|
this.init();
|
|
445
522
|
}
|
|
446
523
|
init() {
|
|
@@ -473,18 +550,22 @@ class ClientService {
|
|
|
473
550
|
currentHash,
|
|
474
551
|
backupFilename,
|
|
475
552
|
});
|
|
553
|
+
this.logger.info(colors.green('Template synced'));
|
|
476
554
|
}
|
|
477
555
|
else {
|
|
478
556
|
this.server.ws.send('template:sync:response', { error: 'Failed to update assets' });
|
|
557
|
+
this.logger.error(colors.red('Failed to update assets'));
|
|
479
558
|
}
|
|
480
559
|
}
|
|
481
560
|
else {
|
|
482
561
|
this.server.ws.send('template:sync:response', { error: 'Failed to build new assets' });
|
|
562
|
+
this.logger.error(colors.red('Failed to build new assets'));
|
|
483
563
|
return;
|
|
484
564
|
}
|
|
485
565
|
}
|
|
486
566
|
else {
|
|
487
567
|
this.server.ws.send('template:sync:response', { error: 'Dist service or MiAPI is not defined' });
|
|
568
|
+
this.logger.error(colors.red('Dist service or MiAPI is not defined'));
|
|
488
569
|
return;
|
|
489
570
|
}
|
|
490
571
|
}
|
|
@@ -494,13 +575,14 @@ const cache = new memoryCache.Cache();
|
|
|
494
575
|
const testCacheUrlRegExp = /\.[a-z0-9]+$/i;
|
|
495
576
|
function initProxyCache(opts) {
|
|
496
577
|
const { devServer, ttl = 10 * 60 * 1000 } = opts;
|
|
578
|
+
const logger = createLogger();
|
|
497
579
|
devServer.cache = cache;
|
|
498
580
|
return (req, res, next) => {
|
|
499
581
|
const url = req.originalUrl || req.url || '';
|
|
500
582
|
if (testCacheUrlRegExp.test(url.split('?')[0] || '')) {
|
|
501
583
|
const cacheItem = cache.get(url);
|
|
502
|
-
if (cacheItem
|
|
503
|
-
|
|
584
|
+
if (cacheItem) {
|
|
585
|
+
logger.info(`${colors.blue('Proxies request:')} ${colors.green(req.method)} ${url} -> ${colors.blue('Cache')} ${url}`);
|
|
504
586
|
for (const [header, value] of Object.entries(cacheItem.headers)) {
|
|
505
587
|
res.setHeader(header, value);
|
|
506
588
|
}
|
|
@@ -532,7 +614,7 @@ function initProxyCache(opts) {
|
|
|
532
614
|
buffer = Buffer.concat([buffer, chunk]);
|
|
533
615
|
}
|
|
534
616
|
if (res.hasHeader(PROXY_HEADER)) {
|
|
535
|
-
|
|
617
|
+
logger.info(`${colors.blue('[Cached]')} ${url}`);
|
|
536
618
|
cache.put(url, { headers: res.getHeaders(), content: buffer }, ttl);
|
|
537
619
|
}
|
|
538
620
|
end.call(this, buffer, encoding, cb);
|
|
@@ -556,13 +638,19 @@ class DistService {
|
|
|
556
638
|
dateFormat;
|
|
557
639
|
pageName;
|
|
558
640
|
currentMeta = null;
|
|
641
|
+
distZipFolder;
|
|
642
|
+
distZipFilename;
|
|
643
|
+
logger;
|
|
559
644
|
constructor(pageName, syncOptions) {
|
|
560
|
-
|
|
645
|
+
this.pageName = pageName;
|
|
646
|
+
const { backupFolder = path.resolve(process.cwd(), 'backups'), distZipFolder = path.resolve(process.cwd(), 'dist-zip'), distZipFilename = `${this.pageName}.zip`, backupNameTemplate = `{${TEMPLATE_PART_PAGE_NAME}}-{${TEMPLATE_PART_DATE}}.zip`, dateFormat = (date) => date.toISOString().replace(/:/g, '-').replace(/\..*$/, ''), } = syncOptions || {};
|
|
561
647
|
this.backupFolder = backupFolder;
|
|
562
648
|
this.backupNameTemplate = backupNameTemplate;
|
|
563
649
|
this.dateFormat = dateFormat;
|
|
564
|
-
this.
|
|
650
|
+
this.distZipFolder = distZipFolder;
|
|
651
|
+
this.distZipFilename = distZipFilename;
|
|
565
652
|
this.syncMeta();
|
|
653
|
+
this.logger = createLogger();
|
|
566
654
|
}
|
|
567
655
|
async checkMeta() {
|
|
568
656
|
try {
|
|
@@ -637,13 +725,15 @@ class DistService {
|
|
|
637
725
|
this.currentMeta.lastBackupHash = backupFileHash;
|
|
638
726
|
this.currentMeta.lastBackupDate = backupDate.toISOString();
|
|
639
727
|
await this.syncMeta();
|
|
640
|
-
return await promises.writeFile(path.resolve(this.backupFolder, filename), backupFile)
|
|
728
|
+
return await promises.writeFile(path.resolve(this.backupFolder, filename), backupFile).finally(() => {
|
|
729
|
+
this.logger.info(`Backup saved to ${filename}`);
|
|
730
|
+
});
|
|
641
731
|
}
|
|
642
732
|
async buildNewAssets() {
|
|
643
|
-
const buildCommand = new Promise(
|
|
733
|
+
const buildCommand = new Promise((resolve, reject) => {
|
|
644
734
|
let data = '';
|
|
645
735
|
// Colorized log output with message about build start
|
|
646
|
-
|
|
736
|
+
this.logger.info(colors.cyan('[DistService] Build started'));
|
|
647
737
|
const proc = child_process.spawn('node', [path.resolve(pluginPath, './bin/pp-dev.js'), 'build'], {
|
|
648
738
|
cwd: process.cwd(),
|
|
649
739
|
env: process.env,
|
|
@@ -666,9 +756,9 @@ class DistService {
|
|
|
666
756
|
try {
|
|
667
757
|
await buildCommand.finally(() => {
|
|
668
758
|
// Colorized log output with message about build end
|
|
669
|
-
|
|
759
|
+
this.logger.info(colors.cyan('[DistService] Build finished'));
|
|
670
760
|
});
|
|
671
|
-
const assetFile = path.resolve(process.cwd(),
|
|
761
|
+
const assetFile = path.resolve(process.cwd(), this.distZipFolder, this.distZipFilename);
|
|
672
762
|
if (!(await promises.stat(assetFile))) {
|
|
673
763
|
throw new Error(`File ${assetFile} not found`);
|
|
674
764
|
}
|
|
@@ -744,6 +834,7 @@ function initPPRedirect(base, templateName) {
|
|
|
744
834
|
base = base.startsWith('/') ? base : `/${base}`;
|
|
745
835
|
base = base.endsWith('/') ? base : `${base}/`;
|
|
746
836
|
const baseWithoutTrailingSlash = base.endsWith('/') ? base.slice(0, -1) : base;
|
|
837
|
+
const logger = createLogger();
|
|
747
838
|
return (req, res, next) => {
|
|
748
839
|
const parsedUrl = new URL$1(req.url ?? '', 'http://localhost');
|
|
749
840
|
const { pathname, search } = parsedUrl;
|
|
@@ -754,6 +845,7 @@ function initPPRedirect(base, templateName) {
|
|
|
754
845
|
// Redirect from `/` and `/pt/${templateName}` and `${base}` (without a training slash) to portal page address
|
|
755
846
|
if (findPaths.includes(pathname)) {
|
|
756
847
|
const redirectUrl = `${base}${search}`;
|
|
848
|
+
logger.info(colors.yellow(`Redirecting to: ${redirectUrl}`));
|
|
757
849
|
return redirect(res, redirectUrl, 302);
|
|
758
850
|
}
|
|
759
851
|
next();
|
|
@@ -762,6 +854,7 @@ function initPPRedirect(base, templateName) {
|
|
|
762
854
|
|
|
763
855
|
function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
764
856
|
const { templateLess = false, miHudLess = false, portalPageId } = opts;
|
|
857
|
+
const logger = createLogger();
|
|
765
858
|
return (req, res, next) => {
|
|
766
859
|
const isNeedTemplateLoad = !(templateLess && miHudLess);
|
|
767
860
|
const isApplyRequest = applyUrlRegExp.test(cutUrlParams(req.url ?? ''));
|
|
@@ -776,7 +869,9 @@ function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
|
776
869
|
})
|
|
777
870
|
.catch((reason) => {
|
|
778
871
|
if (reason.response) {
|
|
779
|
-
|
|
872
|
+
const redirectUrl = `/home?proxyRedirect=${encodeURIComponent('/')}`;
|
|
873
|
+
logger.info(colors.yellow(`Redirecting to: ${redirectUrl}`));
|
|
874
|
+
return redirect(res, redirectUrl, 302);
|
|
780
875
|
}
|
|
781
876
|
next(reason);
|
|
782
877
|
});
|
|
@@ -787,8 +882,111 @@ function initLoadPPData(applyUrlRegExp, mi, opts) {
|
|
|
787
882
|
};
|
|
788
883
|
}
|
|
789
884
|
|
|
885
|
+
function isVitePPDevOptions(options) {
|
|
886
|
+
return (typeof options === 'object' &&
|
|
887
|
+
typeof options.templateName === 'string' &&
|
|
888
|
+
(typeof options.backendBaseURL === 'string' || options.backendBaseURL === undefined) &&
|
|
889
|
+
(typeof options.portalPageId === 'number' || options.portalPageId === undefined) &&
|
|
890
|
+
(typeof options.templateLess === 'boolean' || options.templateLess === undefined) &&
|
|
891
|
+
(typeof options.miHudLess === 'boolean' || options.miHudLess === undefined) &&
|
|
892
|
+
(typeof options.enableProxyCache === 'boolean' || options.enableProxyCache === undefined) &&
|
|
893
|
+
(typeof options.proxyCacheTTL === 'number' || options.proxyCacheTTL === undefined) &&
|
|
894
|
+
(typeof options.disableSSLValidation === 'boolean' || options.disableSSLValidation === undefined) &&
|
|
895
|
+
(typeof options.imageOptimizer === 'boolean' ||
|
|
896
|
+
typeof options.imageOptimizer === 'object' ||
|
|
897
|
+
options.imageOptimizer === undefined) &&
|
|
898
|
+
(typeof options.outDir === 'string' || options.outDir === undefined) &&
|
|
899
|
+
(typeof options.distZip === 'boolean' || typeof options.distZip === 'object' || options.distZip === undefined) &&
|
|
900
|
+
(typeof options.syncBackupsDir === 'string' || options.syncBackupsDir === undefined));
|
|
901
|
+
}
|
|
902
|
+
function throwConfigError(config) {
|
|
903
|
+
if (typeof config !== 'object') {
|
|
904
|
+
throw new Error('VitePPDevOptions must be an object');
|
|
905
|
+
}
|
|
906
|
+
if (typeof config.templateName !== 'string') {
|
|
907
|
+
throw new Error('VitePPDevOptions.templateName must be a string');
|
|
908
|
+
}
|
|
909
|
+
if (config.backendBaseURL !== undefined && typeof config.backendBaseURL !== 'string') {
|
|
910
|
+
throw new Error('VitePPDevOptions.backendBaseURL must be a string');
|
|
911
|
+
}
|
|
912
|
+
if (config.portalPageId !== undefined && typeof config.portalPageId !== 'number') {
|
|
913
|
+
throw new Error('VitePPDevOptions.portalPageId must be a number');
|
|
914
|
+
}
|
|
915
|
+
if (config.templateLess !== undefined && typeof config.templateLess !== 'boolean') {
|
|
916
|
+
throw new Error('VitePPDevOptions.templateLess must be a boolean');
|
|
917
|
+
}
|
|
918
|
+
if (config.miHudLess !== undefined && typeof config.miHudLess !== 'boolean') {
|
|
919
|
+
throw new Error('VitePPDevOptions.miHudLess must be a boolean');
|
|
920
|
+
}
|
|
921
|
+
if (config.enableProxyCache !== undefined && typeof config.enableProxyCache !== 'boolean') {
|
|
922
|
+
throw new Error('VitePPDevOptions.enableProxyCache must be a boolean');
|
|
923
|
+
}
|
|
924
|
+
if (config.proxyCacheTTL !== undefined && typeof config.proxyCacheTTL !== 'number') {
|
|
925
|
+
throw new Error('VitePPDevOptions.proxyCacheTTL must be a number');
|
|
926
|
+
}
|
|
927
|
+
if (config.disableSSLValidation !== undefined && typeof config.disableSSLValidation !== 'boolean') {
|
|
928
|
+
throw new Error('VitePPDevOptions.disableSSLValidation must be a boolean');
|
|
929
|
+
}
|
|
930
|
+
if (config.imageOptimizer !== undefined &&
|
|
931
|
+
typeof config.imageOptimizer !== 'boolean' &&
|
|
932
|
+
typeof config.imageOptimizer !== 'object') {
|
|
933
|
+
throw new Error('VitePPDevOptions.imageOptimizer must be a boolean or an object');
|
|
934
|
+
}
|
|
935
|
+
if (config.outDir !== undefined && typeof config.outDir !== 'string') {
|
|
936
|
+
throw new Error('VitePPDevOptions.outDir must be a string');
|
|
937
|
+
}
|
|
938
|
+
if (config.distZip !== undefined && typeof config.distZip !== 'boolean' && typeof config.distZip !== 'object') {
|
|
939
|
+
throw new Error('VitePPDevOptions.distZip must be a boolean or an object');
|
|
940
|
+
}
|
|
941
|
+
if (config.syncBackupsDir !== undefined && typeof config.syncBackupsDir !== 'string') {
|
|
942
|
+
throw new Error('VitePPDevOptions.syncBackupsDir must be a string');
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
function normalizeVitePPDevConfig(config) {
|
|
946
|
+
!isVitePPDevOptions(config) && throwConfigError(config);
|
|
947
|
+
const { enableProxyCache = true, proxyCacheTTL = 10 * 60 * 1000, disableSSLValidation = false, imageOptimizer = true, miHudLess = false, templateLess = false, outDir = 'dist', distZip = true, syncBackupsDir = 'backups', } = config || {};
|
|
948
|
+
let distZipConfig = distZip;
|
|
949
|
+
if (distZipConfig === true) {
|
|
950
|
+
distZipConfig = {
|
|
951
|
+
outFileName: `${config.templateName}.zip`,
|
|
952
|
+
outDir: 'dist-zip',
|
|
953
|
+
};
|
|
954
|
+
}
|
|
955
|
+
else if (typeof distZip === 'object') {
|
|
956
|
+
distZipConfig = {
|
|
957
|
+
outFileName: typeof distZip.outFileName === 'string'
|
|
958
|
+
? distZip.outFileName.replace('[templateName]', config.templateName)
|
|
959
|
+
: `${config.templateName}.zip`,
|
|
960
|
+
outDir: distZip.outDir ?? 'dist-zip',
|
|
961
|
+
};
|
|
962
|
+
}
|
|
963
|
+
else {
|
|
964
|
+
distZipConfig = false;
|
|
965
|
+
}
|
|
966
|
+
let imageOptimizerConfig = imageOptimizer;
|
|
967
|
+
if (typeof imageOptimizer === 'boolean') {
|
|
968
|
+
if (imageOptimizerConfig === true) {
|
|
969
|
+
imageOptimizerConfig = {};
|
|
970
|
+
}
|
|
971
|
+
}
|
|
972
|
+
else if (typeof imageOptimizer !== 'object') {
|
|
973
|
+
imageOptimizerConfig = false;
|
|
974
|
+
}
|
|
975
|
+
return {
|
|
976
|
+
enableProxyCache,
|
|
977
|
+
proxyCacheTTL,
|
|
978
|
+
disableSSLValidation,
|
|
979
|
+
imageOptimizer: imageOptimizerConfig,
|
|
980
|
+
templateLess,
|
|
981
|
+
miHudLess,
|
|
982
|
+
outDir,
|
|
983
|
+
distZip: distZipConfig,
|
|
984
|
+
syncBackupsDir,
|
|
985
|
+
...config,
|
|
986
|
+
};
|
|
987
|
+
}
|
|
790
988
|
function vitePPDev(options) {
|
|
791
|
-
const { templateName, templateLess
|
|
989
|
+
const { templateName, templateLess, backendBaseURL, miHudLess, portalPageId, enableProxyCache, proxyCacheTTL, disableSSLValidation, distZip, syncBackupsDir, } = options || {};
|
|
792
990
|
// Avoid server caching for index.html file when first loading
|
|
793
991
|
let isFirstRequest = true;
|
|
794
992
|
return {
|
|
@@ -850,12 +1048,16 @@ function vitePPDev(options) {
|
|
|
850
1048
|
}, (response, req) => {
|
|
851
1049
|
return Buffer.from(urlReplacer(baseUrlHost, req.headers.host ?? '', mi.buildPage(response, miHudLess)));
|
|
852
1050
|
}));
|
|
853
|
-
const distService =
|
|
1051
|
+
const distService = distZip !== false
|
|
1052
|
+
? new DistService(templateName, Object.assign({ backupDir: syncBackupsDir }, typeof distZip === 'object'
|
|
1053
|
+
? { distZipFolder: distZip.outDir, distZipFilename: distZip.outFileName }
|
|
1054
|
+
: undefined))
|
|
1055
|
+
: undefined;
|
|
854
1056
|
new ClientService(server, { distService, miAPI: mi });
|
|
855
1057
|
}
|
|
856
1058
|
},
|
|
857
1059
|
};
|
|
858
1060
|
}
|
|
859
1061
|
|
|
860
|
-
export { MiAPI as M,
|
|
861
|
-
//# sourceMappingURL=plugin-
|
|
1062
|
+
export { MiAPI as M, colors as a, initProxyCache as b, createLogger as c, initProxy as d, initLoadPPData as e, initRewriteResponse as f, cutUrlParams as g, initPPRedirect as i, normalizeVitePPDevConfig as n, urlReplacer as u, vitePPDev as v };
|
|
1063
|
+
//# sourceMappingURL=plugin-78cbd0b1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-78cbd0b1.js","sources":["url.helper.ts","logger.ts","color.helper.ts","proxy-pass.middleware.ts","base.ts","assets.ts","page.ts","pp.middleware.ts","client.service.ts","proxy-cache.middleware.ts","dist.service.ts","content-encoding.helper.ts","rewrite-response.middleware.ts","pp-redirect.middleware.ts","load-pp-data.middleware.ts","plugin.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["cL","fs","URL","proxyPassMiddleware"],"mappings":";;;;;;;;;;;;;;;;AAiBa,MAAA,WAAW,GAAG,CAAC,YAAoB,EAAE,eAAuB,EAAE,OAAe,KAAI;IAC5F,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,CAAkC,+BAAA,EAAA,YAAY,CAAG,CAAA,CAAA,EAAE,IAAI,CAAC,CAAC;AAE7F,IAAA,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,GAAG,IAAI,KAAI;AAC9D,QAAA,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC9B,YAAA,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;AAChB,SAAA;QAED,OAAO,CAAA,IAAA,EAAO,IAAI,CAAC,CAAC,CAAC,CAAG,EAAA,eAAe,EAAE,CAAC;AAC5C,KAAC,CAAC,CAAC;AACL,EAAE;AAEK,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,eAAuB,EAAE,OAAe,KAAI;AAC3F,IAAA,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,CAAA,EAAG,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAEpF,OAAO,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,CAAC,GAAmB,EAAE,GAAW,EAAE,UAAmB,KAAI;AAChF,IAAA,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC/B,IAAA,GAAG,CAAC,UAAU,GAAG,UAAU,IAAI,GAAG,CAAC;IAEnC,GAAG,CAAC,GAAG,EAAE,CAAC;AACZ,CAAC,CAAC;AAEI,SAAU,YAAY,CAAC,GAAW,EAAA;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAEhC,IAAA,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;AACrB;;AC9CA;AACA;AAGA,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEnC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAErC,MAAM,YAAY,GAAG,CAAC,KAAA,GAAkB,MAAM,EAAE,IAAI,GAAG,kBAAkB,KAAY;AAC1F,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACrB,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAsB,CAAC;AAC/C,KAAA;IAED,IAAI,IAAI,KAAK,kBAAkB,EAAE;AAC/B,QAAA,MAAM,MAAM,GAAGA,cAAE,CAAC,KAAK,CAAC,CAAC;AAEzB,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAE1B,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;AAED,IAAA,MAAM,MAAM,GAAGA,cAAE,CAAC,KAAK,CAAC,CAAC;AAEzB,IAAA,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAE1B,IAAA,OAAO,MAAM,CAAC;AAChB;;ACxBa,MAAA,MAAM,GAAG,YAAY;;ACiBlC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AACnD,MAAM,YAAY,GAAG,YAAY,CAAC;AAEnC,SAAU,SAAS,CAAC,IAAe,EAAA;AACvC,IAAA,MAAM,EAAE,WAAW,GAAG,cAAc,EAAE,OAAO,GAAG,EAAE,EAAE,SAAS,EAAE,oBAAoB,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAErG,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;AACzC,KAAA;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAEzD,IAAA,MAAM,QAAQ,GAAG,OAAO,WAAW,CAAC,CAAC;AAErC,IAAA,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;AAE9B,IAAA,OAAO,qBAAqB,CAC1B,CAAC,QAAQ,KAAI;AACX,QAAA,IACE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,KAAI;AACtC,YAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,gBAAA,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACnC,aAAA;AAAM,iBAAA,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AAC3C,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7B,aAAA;AAED,YAAA,OAAO,IAAI,CAAC;AACd,SAAC,CAAC,EACF;AACA,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;AAED,QAAA,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;AACnC,YAAA,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AACzC,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;AACrC,YAAA,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,SAAA;AAAM,aAAA,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE;AACjD,YAAA,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnC,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;AACf,KAAC,EACD;AACE;;AAEI;AACJ,QAAA,kBAAkB,EAAE,IAAI;AAExB,QAAA,MAAM,EAAE,OAAO;AACf,QAAA,YAAY,EAAE,IAAI;AAClB,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,CAAC,oBAAoB;AAC7B,QAAA,OAAO,EAAE;YACP,IAAI;YACJ,MAAM;AACP,SAAA;AACD,QAAA,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAA;AAC3B,YAAA,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE9C,MAAM,CAAC,IAAI,CACT,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAI,CAAA,EAAA,GAAG,CAAC,GAAG,OAAO,MAAM,CAAC,KAAK,CAC1F,QAAQ,CAAC,MAAM,CAChB,IAAI,QAAQ,CAAC,QAAQ,CAAK,EAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,EAAG,QAAQ,CAAC,IAAI,CAAE,CAAA,CAC3D,CAAC;YAEF,IAAI,IAAI,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;gBAClD,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,SAAA,EAAY,IAAI,CAAE,CAAA,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACzF,aAAA;YAED,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAK;gBAC1B,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;wBACvB,QAAQ,CAAC,OAAO,EAAE,CAAC;AACpB,qBAAA;iBACF,EAAE,GAAG,CAAC,CAAC;AACV,aAAC,CAAC,CAAC;AAEH,YAAA,OAAO,QAAQ,CAAC;SACjB;AACD,QAAA,UAAU,EAAE,mBAAmB,CAAC,OAAO,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAI;AAC3E,YAAA,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;AAE/B,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,QAAQ,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC;AAEvE,YAAA,IAAI,IAAI,EAAE;AACR,gBAAA,OAAO,cAAc,CAAC;AACvB,aAAA;AAAM,iBAAA;gBACL,IAAI,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAE/C,IAAI;AACF,oBAAA,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAA,OAAA,EAAU,IAAI,CAAA,CAAE,CAAC,CAAC;AAExD,oBAAA,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;wBACnE,QAAQ;4BACN,UAAU;gCACV,6DAA6D;gCAC7D,oCAAoC;gCACpC,4EAA4E;gCAC5E,GAAG;AACH,gCAAA,WAAW,CAAC;AACf,qBAAA;AACF,iBAAA;gBAAC,MAAM;;AAEP,iBAAA;gBAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;;AAGvC,gBAAA,OAAO,eAAe,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC5F,aAAA;AACH,SAAC,CAAC;AACF,QAAA,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAA;AACnB,YAAA,MAAM,YAAY,GAAG,CAAA,cAAA,EAAiB,GAAG,CAAC,OAAO,qBAAqB,GAAG,CAAC,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,GAAG,CAAA,KAAA,EAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;AAE/G,YAAA,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAE3B,YAAA,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;AACjB,gBAAA,cAAc,EAAE,YAAY;AAC7B,aAAA,CAAC,CAAC;AAEH,YAAA,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;SACvB;AACF,KAAA,CACF,CAAC;AACJ;;MC/Ia,OAAO,CAAA;AACR,IAAA,KAAK,CAAQ;AAEvB,IAAA,WAAA,CAAY,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACpB;IAED,MAAM,SAAS,CAAC,OAAiB,EAAA;QAC/B,OAAO,IAAI,CAAC,KAAK;aACd,GAAG,CAAC,4BAA4B,EAAE;AACjC,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAC5D,YAAA,YAAY,EAAE,CAAC;SAChB,CAAC;AACD,aAAA,IAAI,CAAC,MAAM,IAAI,CAAC;AAChB,aAAA,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;KACvB;AACF;;ACfK,MAAO,SAAU,SAAQ,OAAO,CAAA;;AAE5B,IAAA,qBAAqB,GAAG,OAAO,eAAe,CAAC,CAAC;AAExD,IAAA,WAAA,CAAY,KAAY,EAAA;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;KACd;AAED,IAAA,MAAM,kBAAkB,CAAC,YAA6B,EAAE,OAAiB,EAAA;QACvE,OAAO,IAAI,CAAC,KAAK;AACd,aAAA,GAAG,CAAS,CAAA,8BAAA,EAAiC,YAAY,CAAA,CAAE,EAAE;AAC5D,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACtD,YAAA,YAAY,EAAE,aAAa;SAC5B,CAAC;aACD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;KAC5B;AAED;;;;;AAKG;AACH,IAAA,MAAM,gBAAgB,CAAC,YAA6B,EAAE,IAAY,EAAE,OAAiB,EAAA;AACnF,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,QAAQ,EAAE,CAAC;AAEnE,QAAA,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAEnF,QAAA,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEnC,QAAA,MAAM,GAAG,GAAG,CAA+B,4BAAA,EAAA,YAAY,EAAE,CAAC;QAE1D,OAAO,IAAI,CAAC,KAAK;AACd,aAAA,IAAI,CAAoB,CAA+B,4BAAA,EAAA,YAAY,CAAE,CAAA,EAAE,QAAQ,EAAE;AAChF,YAAA,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AAClC,gBAAA,MAAM,EAAE,kBAAkB;AAC1B,gBAAA,cAAc,EAAE,qBAAqB;gBACrC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;aACpC,CAAC;SACH,CAAC;aACD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;KAC5B;AAED,IAAA,MAAM,sBAAsB,CAAC,UAA2B,EAAE,OAAiB,EAAA;QACzE,OAAO,IAAI,CAAC,KAAK;AACd,aAAA,GAAG,CAAS,CAAA,sCAAA,EAAyC,UAAU,CAAA,CAAE,EAAE;AAClE,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACtD,YAAA,YAAY,EAAE,aAAa;SAC5B,CAAC;aACD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;KAC5B;AAED;;;;;AAKG;AACH,IAAA,MAAM,oBAAoB,CAAC,UAA2B,EAAE,IAAY,EAAE,OAAiB,EAAA;AACrF,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,QAAQ,EAAE,CAAC;AAEnE,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE;AACvF,YAAA,IAAI,EAAE,iBAAiB;AACxB,SAAA,CAAC,CAAC;QAEH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAE/C,QAAA,MAAM,GAAG,GAAG,CAAuC,oCAAA,EAAA,UAAU,EAAE,CAAC;QAEhE,OAAO,IAAI,CAAC,KAAK;AACd,aAAA,IAAI,CAAoB,GAAG,EAAE,QAAQ,EAAE;AACtC,YAAA,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AAClC,gBAAA,MAAM,EAAE,kBAAkB;AAC1B,gBAAA,cAAc,EAAE,qBAAqB;gBACrC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;aACpC,CAAC;SACH,CAAC;aACD,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;KAC5B;AACF;;AC3EK,MAAO,OAAQ,SAAQ,OAAO,CAAA;IAClC,MAAM,MAAM,CAAC,OAAiB,EAAA;QAC5B,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAoB,WAAW,EAAE;AACnD,YAAA,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AAClC,gBAAA,MAAM,EAAE,kBAAkB;AAC1B,gBAAA,cAAc,EAAE,kBAAkB;AAClC,gBAAA,eAAe,EAAE,UAAU;AAC3B,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,OAAO,EAAE,GAAG;aACb,CAAC;AACH,SAAA,CAAC,EACF,IAAI,CAAC,KAAK,CAAC;KACd;AAED,IAAA,MAAM,GAAG,CAAC,EAAmB,EAAE,OAAiB,EAAA;QAC9C,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAA,aAAA,EAAgB,EAAE,CAAA,CAAE,EAAE;AACzD,YAAA,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AAClC,gBAAA,MAAM,EAAE,kBAAkB;AAC1B,gBAAA,cAAc,EAAE,kBAAkB;aACnC,CAAC;AACH,SAAA,CAAC,EACF,IAAI,CAAC,IAAI,CAAC;KACb;AAED,IAAA,MAAM,cAAc,CAAC,gBAAwB,EAAE,OAAiB,EAAA;QAC9D,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAS,CAAA,GAAA,EAAM,gBAAgB,CAAA,CAAE,EAAE;AACrD,YAAA,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AAClC,gBAAA,MAAM,EAAE,WAAW;AACnB,gBAAA,cAAc,EAAE,kBAAkB;aACnC,CAAC;SACH,CAAC,EACF,IAAI,CAAC;KACR;AAED,IAAA,MAAM,MAAM,CAAC,IAAU,EAAE,OAAiB,EAAA;QACxC,OAAO,CACL,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAiB,WAAW,EAAE,IAAI,EAAE;AACvD,YAAA,eAAe,EAAE,IAAI;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE;AAClC,gBAAA,MAAM,EAAE,kBAAkB;AAC1B,gBAAA,cAAc,EAAE,kBAAkB;aACnC,CAAC;AACH,SAAA,CAAC,EACF,IAAI,CAAC,IAAI,CAAC;KACb;AACF;;AC9CM,MAAM,kBAAkB,GAAG,2BAA2B,CAAC;MAEjD,KAAK,CAAA;AAChB,IAAA,QAAQ,CAAU;AAElB,IAAA,MAAM,CAAQ;IAEd,aAAa,GAAkB,IAAI,CAAC;AAEpC,IAAA,UAAU,CAAU;AAEpB,IAAA,SAAS,CAAoC;AAE7C,IAAA,eAAe,CAAmB;AAClC,IAAA,sBAAsB,CAA4B;AAE1C,IAAA,YAAY,CAAU;AACtB,IAAA,YAAY,CAAW;AAEvB,IAAA,SAAS,CAAY;AACrB,IAAA,OAAO,CAAU;AAEjB,IAAA,MAAM,CAAS;IAEvB,WAAY,CAAA,OAAe,EAAE,IAAmB,EAAA;AAC9C,QAAA,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,EAAE,oBAAoB,GAAG,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;AAErG,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AAExB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAE9C,QAAA,IAAI,oBAAoB,EAAE;AACxB,YAAA,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,KAAK,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;AACtE,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO;YACP,OAAO;AACR,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACjC,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAExC,QAAA,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;KAC9B;AAED,IAAA,MAAM,gBAAgB,GAAA;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC;KAC7B;AAED,IAAA,aAAa,CAAC,OAAgB,EAAA;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAEhF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAE7E,QAAA,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;AAEpB,QAAA,OAAO,GAAG,CAAC;KACZ;AAED,IAAA,aAAa,CAAC,OAAgB,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC7B;AAED;;;AAGG;IACH,MAAM,eAAe,CAAC,OAAgB,EAAA;AACpC,QAAA,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE;YACjC,IAAI,CAAC,eAAe,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;AAC7C,gBAAA,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;AACxC,aAAC,CAAC,CAAC;AACJ,SAAA;QAED,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5C,SAAA;AAED,QAAA,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE;AAC5C,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO;AAChC,aAAA,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACnC,aAAA,IAAI,CAAC,CAAC,QAAQ,KAAI;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAEpD,YAAA,OAAO,QAAQ,CAAC;AAClB,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,OAAO,CAAC,KAAI;AACjB,YAAA,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,0BAAA,EAA6B,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAE,CAAA,CAAC,CAAC,CAAC;AAEpF,gBAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACnE,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,CAAC,CAAC;AACT,aAAA;AACH,SAAC,CAAC,CAAC;AAEL,QAAA,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;AAEjE,YAAA,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO;AACtB,iBAAA,MAAM,CACL;AACE,gBAAA,OAAO,EAAE,GAAG;AACZ,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,aAAa,EAAE,mBAAmB;AAClC,gBAAA,mBAAmB,EAAE,GAAG;AACzB,aAAA,EACD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAC5B;AACA,iBAAA,IAAI,CAAC,CAAC,QAAQ,KAAI;AACjB,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAEnD,gBAAA,OAAO,QAAQ,CAAC;AAClB,aAAC,CAAC;AACD,iBAAA,KAAK,CAAC,CAAC,CAAC,KAAI;AACX,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,yBAAA,EAA4B,CAAC,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC,CAAC;gBAEvE,MAAM,IAAI,KAAK,CACb,CAAA;2EAC+D,kBAAkB,CAAA,gBAAA,CAAkB,CACpG,CAAC;AACJ,aAAC,CAAC,CAAC;AACN,SAAA;QAED,OAAO,MAAM,IAAI,CAAC,OAAO;aACtB,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/D,aAAA,IAAI,CAAC,CAAC,QAAQ,KAAI;AACjB,YAAA,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;AAE9B,YAAA,OAAO,QAAQ,CAAC;AAClB,SAAC,CAAC;AACD,aAAA,IAAI,CAAC,CAAC,QAAQ,KAAI;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAExD,YAAA,OAAO,QAAQ,CAAC;AAClB,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,CAAC,CAAC,KAAI;AACX,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,8BAAA,EAAiC,CAAC,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC,CAAC;AAE5E,YAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,SAAC,CAAC;aACD,OAAO,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;KACN;AAED;;;;;AAKG;AACH,IAAA,MAAM,gBAAgB,CAAC,MAAc,EAAE,OAAgB,EAAA;QACrD,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAEzD,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;AAC3B,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC3B,SAAA;QAED,OAAO,MAAM,IAAI,CAAC,OAAO;aACtB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AACxC,aAAA,IAAI,CAAC,CAAC,QAAQ,KAAI;YACjB,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;YAEjD,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAsC,CAAC;AAErE,gBAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;AACxB,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAEvB,gBAAA,OAAO,MAAM,CAAC;AACf,aAAA;AAED,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAEvB,YAAA,OAAO,EAAE,CAAC;AACZ,SAAC,CAAC;AACD,aAAA,KAAK,CAAC,CAAC,MAAM,KAAI;AAChB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA,+BAAA,EAAkC,MAAM,CAAC,OAAO,CAAE,CAAA,CAAC,CAAC,CAAC;AAElF,YAAA,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE;AACnC,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,qBAAA,EAAwB,MAAM,CAA2B,wBAAA,EAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA,CAAE,CAAC,CAAC;AAClG,aAAA;AAED,YAAA,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE;AACnC,gBAAA,MAAM,IAAI,KAAK,CACb,CAAA,mDAAA,EAAsD,MAAM,CAAiB,cAAA,EAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA,CAAE,CACpG,CAAC;AACH,aAAA;AAED,YAAA,MAAM,MAAM,CAAC;AACf,SAAC,CAAC,CAAC;KACN;AAED;;;;;AAKG;AACH,IAAA,SAAS,CAAC,OAAwB,EAAE,SAAS,GAAG,KAAK,EAAA;AACnD,QAAA,IAAI,MAAM,GAAG,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAE/E,QAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;YAC9B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAM,GAAA,EAAA,CAAC,CAAC,IAAI,CAAA,GAAA,CAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AACtE,SAAA;AAED,QAAA,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,SAAS,GAAG,MAAM,GAAG,IAAI,CAAC,aAAc,CAAC,CAAC;QAEhE,MAAM,eAAe,GAAG,iBAAiB,CAAC;QAE1C,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC7D,YAAA,WAAW,CAAC,SAAS,GAAG,eAAe,CAAC;AAExC,YAAA,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;AAElE,YAAA,IAAI,SAAS,EAAE;gBACb,MAAM,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAErD,IAAI,OAAO,CAAC,MAAM,EAAE;AAClB,oBAAA,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AACvE,iBAAA;AAAM,qBAAA;AACL,oBAAA,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC/B,iBAAA;AAED,gBAAA,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAE,CAAC;gBACxD,MAAM,KAAK,GAAG,IAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAE3C,gBAAA,IAAI,KAAK,EAAE;AACT,oBAAA,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;AAC9B,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,SAAS,IAAI,CAAA,OAAA,EAAU,IAAI,CAAC,UAAU,UAAU,CAAC;AACvD,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,MAAM,aAAa,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC;AAEtC,QAAA,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,SAAA,EAAY,eAAe,CAAA,YAAA,CAAc,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;KAClG;AAED,IAAA,MAAM,SAAS,GAAA;QACb,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,gBAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAClF,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE1E,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACrB,oBAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtF,iBAAA;AACF,aAAA;AACF,SAAA;KACF;IAED,MAAM,YAAY,CAAC,MAAc,EAAA;QAC/B,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,gBAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxF,aAAA;AAAM,iBAAA;AACL,gBAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAE1E,IAAI,QAAQ,CAAC,QAAQ,EAAE;AACrB,oBAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5F,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AACF;;MCjSY,aAAa,CAAA;AACP,IAAA,MAAM,CAAgB;AACtB,IAAA,IAAI,CAAuB;AAC3B,IAAA,QAAQ,CAA8D;AAE/E,IAAA,MAAM,CAAS;IAEvB,WAAY,CAAA,MAAqB,EAAE,IAA2B,EAAA;AAC5D,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AAEvB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAA0D,CAAC;AAElF,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnE,QAAA,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QAE7B,IAAI,CAAC,IAAI,EAAE,CAAC;KACb;IAED,IAAI,GAAA;AACF,QAAA,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC5C,YAAA,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACvB,SAAA;KACF;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,oBAAoB;AAC3B,YAAA,IAAI,EAAE,EAAE;AACT,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,cAAc,GAAA;QAClB,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC5C,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AAEzC,YAAA,MAAM,aAAa,GAAG,MAAM,KAAK,EAAE,SAAS,EAAE,CAAC;YAE/C,MAAM,SAAS,GAAG,aAAa;AAC7B,kBAAE,MAAM,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC;AACtD,kBAAE,MAAM,WAAW,EAAE,cAAc,EAAE,CAAC;AAExC,YAAA,IAAI,SAAS,EAAE;gBACb,MAAM,YAAY,GAAG,MAAM,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;AAE1D,gBAAA,IAAI,YAAY,EAAE,MAAM,KAAK,IAAI,EAAE;AACjC,oBAAA,MAAM,UAAU,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC;AAEhD,oBAAA,MAAM,EACJ,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,WAAW,EAC3B,cAAc,EAAE,UAAU,GAC3B,GAAG,UAAU,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;oBAEvG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE;AAC5C,wBAAA,QAAQ,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC;wBAC9B,WAAW;wBACX,cAAc;AACf,qBAAA,CAAC,CAAC;AAEH,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACnD,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAEpF,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAC1D,iBAAA;AACF,aAAA;AAAM,iBAAA;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC;AAEvF,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBAE5D,OAAO;AACR,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;AAEjG,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAEtE,OAAO;AACR,SAAA;KACF;AACF;;ACzED,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,KAAK,EAAqB,CAAC;AAEzD,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAErC,SAAU,cAAc,CAAC,IAAoB,EAAA;AACjD,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AAEjD,IAAA,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;AAE9B,IAAA,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC;AAExB,IAAA,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;QACxB,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC;AAE7C,QAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE;YACpD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjC,YAAA,IAAI,SAAS,EAAE;AACb,gBAAA,MAAM,CAAC,IAAI,CACT,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA,CAAA,EAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA,CAAA,EAAI,GAAG,CAAA,IAAA,EAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAC1G,CAAC;AAEF,gBAAA,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;AAC/D,oBAAA,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC9B,iBAAA;AAED,gBAAA,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7B,GAAG,CAAC,GAAG,EAAE,CAAC;gBAEV,OAAO;AACR,aAAA;AAED,YAAA,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;AACpB,YAAA,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;;YAGrC,GAAG,CAAC,KAAK,GAAG,UAAU,IAAI,EAAE,QAAS,EAAE,QAAS,EAAA;AAC9C,gBAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;AAChC,oBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAA0B,EAAE,QAAe,CAAC,CAAC;AAC5E,iBAAA;gBAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvC,gBAAA,OAAO,IAAI,CAAC;AACd,aAAC,CAAC;;;YAIF,GAAG,CAAC,GAAG,GAAG,UAAU,KAAsB,EAAE,QAAwB,EAAE,EAAe,EAAA;AACnF,gBAAA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;AAChC,oBAAA,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC5C,iBAAA;AAED,gBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,oBAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAChE,iBAAA;AAED,gBAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC1B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACzC,iBAAA;AAED,gBAAA,IAAI,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE;AAC/B,oBAAA,MAAM,CAAC,IAAI,CAAC,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,CAAC,CAAC;oBAEjD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;AACrE,iBAAA;gBAED,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AACvC,aAAC,CAAC;AACH,SAAA;AAED,QAAA,IAAI,EAAE,CAAC;AACT,KAAC,CAAC;AACJ;;ACvFO,MAAM,uBAAuB,GAAG,UAAU,CAAC;AAC3C,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAEzC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAElH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAgB/D,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AACjE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;MAE5D,WAAW,CAAA;AACL,IAAA,YAAY,CAAS;AAC9B,IAAA,kBAAkB,CAAS;AAClB,IAAA,UAAU,CAAyB;AACnC,IAAA,QAAQ,CAAS;IAC1B,WAAW,GAAoB,IAAI,CAAC;AAC3B,IAAA,aAAa,CAAS;AACtB,IAAA,eAAe,CAAS;AAEjC,IAAA,MAAM,CAAS;IAEvB,WAAY,CAAA,QAAgB,EAAE,WAAyB,EAAA;AACrD,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAEzB,QAAA,MAAM,EACJ,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EACrD,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,EACvD,eAAe,GAAG,CAAA,EAAG,IAAI,CAAC,QAAQ,CAAM,IAAA,CAAA,EACxC,kBAAkB,GAAG,IAAI,uBAAuB,CAAA,GAAA,EAAM,kBAAkB,CAAA,KAAA,CAAO,EAC/E,UAAU,GAAG,CAAC,IAAU,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GACxF,GAAG,WAAW,IAAI,EAAE,CAAC;AAEtB,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACjC,QAAA,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AAC7C,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAE7B,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;AACnC,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAEhB,QAAA,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;KAC9B;AAED,IAAA,MAAM,SAAS,GAAA;QACb,IAAI;AACF,YAAA,MAAMC,QAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5B,SAAA;QAAC,MAAM;AACN,YAAA,MAAMA,QAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAC7B,SAAA;QAED,IAAI;YACF,MAAMA,QAAE,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClC,SAAA;QAAC,MAAM;YACN,MAAMA,QAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACnC,SAAA;KACF;AAED,IAAA,MAAM,YAAY,GAAA;AAChB,QAAA,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;AAEvB,QAAA,OAAO,MAAMA,QAAE;aACZ,QAAQ,CAAC,YAAY,EAAE;AACtB,YAAA,QAAQ,EAAE,OAAO;SAClB,CAAC;AACD,aAAA,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;KACtB;IAED,MAAM,aAAa,CAAC,IAAc,EAAA;AAChC,QAAA,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;AAEvB,QAAA,OAAO,MAAMA,QAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;AACrE,YAAA,QAAQ,EAAE,OAAO;AAClB,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AAC1D,SAAA;AAAM,aAAA;YACL,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5C,SAAA;KACF;AAED,IAAA,MAAM,oBAAoB,GAAA;AACxB,QAAA,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,WAAY,CAAC;QAE7C,IAAI,CAAC,cAAc,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAED,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;QAEnE,IAAI;AACF,YAAA,MAAMA,QAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAE1B,YAAA,OAAO,UAAU,CAAC;AACnB,SAAA;QAAC,MAAM;AACN,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;KACF;AAED,IAAA,UAAU,CAAC,QAAgB,EAAE,IAAa,GAAA,IAAI,IAAI,EAAE,EAAA;QAClD,OAAO,IAAI,CAAC,kBAAkB;AAC3B,aAAA,OAAO,CAAC,CAAI,CAAA,EAAA,uBAAuB,CAAG,CAAA,CAAA,EAAE,QAAQ,CAAC;AACjD,aAAA,OAAO,CAAC,CAAA,CAAA,EAAI,kBAAkB,CAAA,CAAA,CAAG,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9D;IAED,aAAa,GAAA;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;IAED,MAAM,UAAU,CAAC,UAAkB,EAAA;AACjC,QAAA,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjF,QAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAE1D,QAAA,IAAI,eAAe,EAAE;AACnB,YAAA,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,WAAY,CAAC;YAE7C,IAAI,cAAc,KAAK,cAAc,EAAE;gBACrC,OAAO;AACR,aAAA;AACF,SAAA;AAED,QAAA,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;AAE9B,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE5D,QAAA,IAAI,CAAC,WAAY,CAAC,cAAc,GAAG,QAAQ,CAAC;AAC5C,QAAA,IAAI,CAAC,WAAY,CAAC,cAAc,GAAG,cAAc,CAAC;QAClD,IAAI,CAAC,WAAY,CAAC,cAAc,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;AAE5D,QAAA,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEtB,OAAO,MAAMA,QAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,MAAK;YAC5F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAmB,gBAAA,EAAA,QAAQ,CAAE,CAAA,CAAC,CAAC;AAClD,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,MAAM,cAAc,GAAA;QAClB,MAAM,YAAY,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,KAAI;YAC3D,IAAI,IAAI,GAAG,EAAE,CAAC;;AAGd,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAE7D,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAAE;AAC/F,gBAAA,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;AAChB,gBAAA,KAAK,EAAE,SAAS;AACjB,aAAA,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,KAAI;gBACzB,IAAI,IAAI,GAAG,CAAC;AACd,aAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,KAAI;gBACxB,IAAI,IAAI,KAAK,CAAC,EAAE;oBACd,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAA,CAAE,CAAC,CAAC,CAAC;oBAE5D,OAAO;AACR,iBAAA;gBAED,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,aAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,KAAI;gBACvB,MAAM,CAAC,GAAG,CAAC,CAAC;AACd,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;QAEH,IAAI;AACF,YAAA,MAAM,YAAY,CAAC,OAAO,CAAC,MAAK;;AAE9B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;AAChE,aAAC,CAAC,CAAC;AAEH,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAExF,IAAI,EAAE,MAAMA,QAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE;AAC/B,gBAAA,MAAM,IAAI,KAAK,CAAC,QAAQ,SAAS,CAAA,UAAA,CAAY,CAAC,CAAC;AAChD,aAAA;AAED,YAAA,OAAO,MAAMA,QAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACrC,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;AACV,YAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEf,YAAA,MAAM,CAAC,CAAC;AACT,SAAA;KACF;IAED,MAAM,kBAAkB,CAAC,UAAkB,EAAA;AACzC,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAElC,QAAA,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;KACpC;AACF;;AC7Ne,SAAA,aAAa,CAAC,OAAe,EAAE,eAAwB,EAAA;AACrE,IAAA,QAAQ,eAAe;AACrB,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAE5B,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAEvC,QAAA,KAAK,SAAS;AACZ,YAAA,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAE9B,QAAA;AACE,YAAA,OAAO,OAAO,CAAC;AAClB,KAAA;AACH,CAAC;AAEe,SAAA,aAAa,CAAC,OAAe,EAAE,eAAwB,EAAA;AACrE,IAAA,QAAQ,eAAe;AACrB,QAAA,KAAK,MAAM;AACT,YAAA,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC;AAE3B,QAAA,KAAK,IAAI;AACP,YAAA,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAErC,QAAA,KAAK,SAAS;AACZ,YAAA,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;AAE9B,QAAA;AACE,YAAA,OAAO,OAAO,CAAC;AAClB,KAAA;AACH;;AC3BA;;;;;AAKG;AACa,SAAA,mBAAmB,CACjC,SAA+G,EAC/G,OAAiH,EAAA;AAEjH,IAAA,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;AACxB,QAAA,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;AACtC,YAAA,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAEpB,MAAM,OAAO,GAAa,EAAE,CAAC;AAE7B,YAAA,GAAG,CAAC,KAAK,GAAG,UAAU,IAAI,EAAA;AACxB,gBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEnB,gBAAA,OAAO,IAAI,CAAC;AACd,aAAC,CAAC;;;YAIF,GAAG,CAAC,GAAG,GAAG,UAAU,KAAU,EAAE,QAAwB,EAAE,EAAe,EAAA;AACvE,gBAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;oBAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClC,iBAAA;gBAED,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAW,CAAC;AACpE,gBAAA,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;gBAEpF,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3F,aAAC,CAAC;AACH,SAAA;AAED,QAAA,IAAI,EAAE,CAAC;AACT,KAAC,CAAC;AACJ;;ACpCgB,SAAA,cAAc,CAAC,IAAY,EAAE,YAAqB,EAAA;AAChE,IAAA,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAI,CAAA,EAAA,IAAI,EAAE,CAAC;AAChD,IAAA,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAG,EAAA,IAAI,GAAG,CAAC;IAE9C,MAAM,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAE/E,IAAA,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;AAE9B,IAAA,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;AACxB,QAAA,MAAM,SAAS,GAAG,IAAIC,KAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC7D,QAAA,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;AACvC,QAAA,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;AAElD,QAAA,IAAI,YAAY,EAAE;AAChB,YAAA,SAAS,CAAC,IAAI,CAAC,OAAO,YAAY,CAAA,CAAE,CAAC,CAAC;AACvC,SAAA;;AAGD,QAAA,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;AAChC,YAAA,MAAM,WAAW,GAAG,CAAA,EAAG,IAAI,CAAG,EAAA,MAAM,EAAE,CAAC;AAEvC,YAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA,gBAAA,EAAmB,WAAW,CAAA,CAAE,CAAC,CAAC,CAAC;YAE7D,OAAO,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;AACxC,SAAA;AAED,QAAA,IAAI,EAAE,CAAC;AACT,KAAC,CAAC;AACJ;;SC3BgB,cAAc,CAAC,cAAsB,EAAE,EAAS,EAAE,IAAiB,EAAA;AACjF,IAAA,MAAM,EAAE,YAAY,GAAG,KAAK,EAAE,SAAS,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;AAEvE,IAAA,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;AAE9B,IAAA,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,KAAI;QACxB,MAAM,kBAAkB,GAAG,EAAE,YAAY,IAAI,SAAS,CAAC,CAAC;AACxD,QAAA,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAExE,IAAI,kBAAkB,IAAI,cAAc,EAAE;YACxC,MAAM,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,CAAY,CAAC;YAE/C,MAAM,YAAY,GAChB,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,WAAW;kBAChD,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC;AAC5C,kBAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAElC,YAAY;iBACT,IAAI,CAAC,MAAK;AACT,gBAAA,IAAI,EAAE,CAAC;AACT,aAAC,CAAC;AACD,iBAAA,KAAK,CAAC,CAAC,MAAM,KAAI;gBAChB,IAAI,MAAM,CAAC,QAAQ,EAAE;oBACnB,MAAM,WAAW,GAAG,CAAuB,oBAAA,EAAA,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;AAErE,oBAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA,gBAAA,EAAmB,WAAW,CAAA,CAAE,CAAC,CAAC,CAAC;oBAE7D,OAAO,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;AACxC,iBAAA;gBAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACf,aAAC,CAAC,CAAC;AACN,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,EAAE,CAAC;AACR,SAAA;AACH,KAAC,CAAC;AACJ;;ACqEA,SAAS,kBAAkB,CAAC,OAAY,EAAA;AACtC,IAAA,QACE,OAAO,OAAO,KAAK,QAAQ;AAC3B,QAAA,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ;AACxC,SAAC,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC;AACpF,SAAC,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC;AAChF,SAAC,OAAO,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC;AACjF,SAAC,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;AAC3E,SAAC,OAAO,OAAO,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC;AACzF,SAAC,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC;AAClF,SAAC,OAAO,OAAO,CAAC,oBAAoB,KAAK,SAAS,IAAI,OAAO,CAAC,oBAAoB,KAAK,SAAS,CAAC;AACjG,SAAC,OAAO,OAAO,CAAC,cAAc,KAAK,SAAS;AAC1C,YAAA,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ;AAC1C,YAAA,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC;AACvC,SAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;AACpE,SAAC,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;AAC9G,SAAC,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,EACpF;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAwB,EAAA;AAChD,IAAA,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AAC9B,QAAA,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;AACvD,KAAA;AAED,IAAA,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE;AAC3C,QAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACnE,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE;AACpF,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACrE,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ,EAAE;AAChF,QAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACnE,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE;AACjF,QAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACpE,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;AAC3E,QAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AACjE,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE;AACzF,QAAA,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;AACxE,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,EAAE;AAClF,QAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;AACpE,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,SAAS,EAAE;AACjG,QAAA,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAC5E,KAAA;AAED,IAAA,IACE,MAAM,CAAC,cAAc,KAAK,SAAS;AACnC,QAAA,OAAO,MAAM,CAAC,cAAc,KAAK,SAAS;AAC1C,QAAA,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EACzC;AACA,QAAA,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;AACnF,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE;AACpE,QAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC7D,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;AAC7G,QAAA,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;AAC5E,KAAA;AAED,IAAA,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,QAAQ,EAAE;AACpF,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACrE,KAAA;AACH,CAAC;AAEK,SAAU,wBAAwB,CAAC,MAAwB,EAAA;IAC/D,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAExD,MAAM,EACJ,gBAAgB,GAAG,IAAI,EACvB,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAC9B,oBAAoB,GAAG,KAAK,EAC5B,cAAc,GAAG,IAAI,EACrB,SAAS,GAAG,KAAK,EACjB,YAAY,GAAG,KAAK,EACpB,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,IAAI,EACd,cAAc,GAAG,SAAS,GAC3B,GAAG,MAAM,IAAI,EAAE,CAAC;IAEjB,IAAI,aAAa,GAAG,OAAO,CAAC;IAE5B,IAAI,aAAa,KAAK,IAAI,EAAE;AAC1B,QAAA,aAAa,GAAG;AACd,YAAA,WAAW,EAAE,CAAA,EAAG,MAAM,CAAC,YAAY,CAAM,IAAA,CAAA;AACzC,YAAA,MAAM,EAAE,UAAU;SACnB,CAAC;AACH,KAAA;AAAM,SAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACtC,QAAA,aAAa,GAAG;AACd,YAAA,WAAW,EACT,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ;AACrC,kBAAE,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC;AACpE,kBAAE,CAAA,EAAG,MAAM,CAAC,YAAY,CAAM,IAAA,CAAA;AAClC,YAAA,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,UAAU;SACrC,CAAC;AACH,KAAA;AAAM,SAAA;QACL,aAAa,GAAG,KAAK,CAAC;AACvB,KAAA;IAED,IAAI,oBAAoB,GAAG,cAAc,CAAC;AAE1C,IAAA,IAAI,OAAO,cAAc,KAAK,SAAS,EAAE;QACvC,IAAI,oBAAoB,KAAK,IAAI,EAAE;YACjC,oBAAoB,GAAG,EAAE,CAAC;AAC3B,SAAA;AACF,KAAA;AAAM,SAAA,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE;QAC7C,oBAAoB,GAAG,KAAK,CAAC;AAC9B,KAAA;IAED,OAAO;QACL,gBAAgB;QAChB,aAAa;QACb,oBAAoB;AACpB,QAAA,cAAc,EAAE,oBAAoB;QACpC,YAAY;QACZ,SAAS;QACT,MAAM;AACN,QAAA,OAAO,EAAE,aAAa;QACtB,cAAc;AACd,QAAA,GAAG,MAAM;KACoB,CAAC;AAClC,CAAC;AAED,SAAS,SAAS,CAAC,OAAmC,EAAA;IACpD,MAAM,EACJ,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,OAAO,EACP,cAAc,GACf,GAAG,OAAO,IAAI,EAAE,CAAC;;IAGlB,IAAI,cAAc,GAAG,IAAI,CAAC;IAE1B,OAAO;AACL,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,MAAM,EAAE,CAAC,MAAM,KAAI;YACjB,MAAM,CAAC,qBAAqB,GAAG,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAE9E,YAAA,OAAO,MAAM,CAAC;SACf;AACD,QAAA,kBAAkB,EAAE,OAAO,IAAI,EAAE,GAAG,KAAI;YACtC,MAAM,MAAM,GAA6B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAE5D,YAAA,IAAI,cAAc,EAAE;gBAClB,cAAc,GAAG,KAAK,CAAC;AAEvB,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACf,oBAAA,GAAG,EAAE,QAAQ;AACb,oBAAA,QAAQ,EAAE,MAAM;AAChB,oBAAA,QAAQ,EAAE,CAAG,EAAA,IAAI,CAAC,MAAM,EAAE,CAAE,CAAA;AAC7B,iBAAA,CAAC,CAAC;AACJ,aAAA;AAED,YAAA,OAAO,MAAM,CAAC;SACf;AACD,QAAA,eAAe,EAAE,CAAC,MAAM,KAAI;AAC1B,YAAA,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAE9B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACvB,IAAI,IAAI,GAAG,CAAC;AACb,aAAA;AAED,YAAA,MAAM,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1E,YAAA,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AAE3D,YAAA,IAAI,cAAc,EAAE;gBAClB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;AAEjD,gBAAA,MAAM,EAAE,GAAG,IAAI,KAAK,CAAC,cAAc,EAAE;AACnC,oBAAA,OAAO,EAAE;AACP,wBAAA,IAAI,EAAE,WAAW;AACjB,wBAAA,OAAO,EAAE,cAAc;wBACvB,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,gCAAgC,EAAE,MAAM,CAAC;AACzE,qBAAA;oBACD,YAAY;oBACZ,YAAY;oBACZ,oBAAoB;AACrB,iBAAA,CAAC,CAAC;AAEH,gBAAA,IAAI,gBAAgB,EAAE;AACpB,oBAAA,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC;AAEzB,oBAAA,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE;wBACxC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACtB,qBAAA;AAED,oBAAA,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACpE,iBAAA;AAED,gBAAA,MAAM,CAAC,WAAW,CAAC,GAAG,CACpBC,SAAmB,CAAC;AAClB,oBAAA,SAAS,EAAE,MAAM;AACjB,oBAAA,OAAO,EAAE,cAAc;oBACvB,WAAW,EAAE,CAAC,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,wBAAwB,CAAC;oBAC3E,oBAAoB;AACrB,iBAAA,CAAQ,CACV,CAAC;gBAEF,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,CAAM,GAAA,EAAA,IAAI,CAAO,KAAA,CAAA,CAAC,CAAC;;AAGpD,gBAAA,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;gBAEnE,MAAM,CAAC,WAAW,CAAC,GAAG,CACpB,mBAAmB,CACjB,CAAC,GAAG,KAAI;oBACN,OAAO,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,iBAAC,EACD,CAAC,QAAQ,EAAE,GAAG,KAAI;oBAChB,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;iBACzG,CACF,CACF,CAAC;AAEF,gBAAA,MAAM,WAAW,GACf,OAAO,KAAK,KAAK;AACf,sBAAE,IAAI,WAAW,CACb,YAAY,EACZ,MAAM,CAAC,MAAM,CACX,EAAE,SAAS,EAAE,cAAc,EAAE,EAC7B,OAAO,OAAO,KAAK,QAAQ;AACzB,0BAAE,EAAE,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,WAAW,EAAE;0BACvE,SAAS,CACd,CACF;sBACD,SAAS,CAAC;AAChB,gBAAqB,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;AAC5E,aAAA;SACF;KACF,CAAC;AACJ;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}
|
package/dist/esm/plugin.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
export { v as default } from './plugin-
|
|
1
|
+
export { v as default, n as normalizeVitePPDevConfig } from './plugin-78cbd0b1.js';
|
|
2
2
|
import 'http-proxy-middleware';
|
|
3
3
|
import 'url';
|
|
4
|
+
import 'vite';
|
|
5
|
+
import 'picocolors';
|
|
4
6
|
import 'axios';
|
|
5
7
|
import 'jsdom';
|
|
6
8
|
import 'https';
|
package/dist/esm/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { InlineConfig } from 'vite';
|
|
2
|
-
import { VitePPDevOptions } from './plugin.js';
|
|
2
|
+
import { VitePPDevOptions, NormalizedVitePPDevOptions } from './plugin.js';
|
|
3
3
|
import { NextConfig } from 'next';
|
|
4
|
+
import 'vite-plugin-image-optimizer';
|
|
4
5
|
|
|
5
6
|
type PPDevConfig = Omit<VitePPDevOptions, 'templateName'>;
|
|
6
7
|
type PPWatchConfig = {
|
|
7
8
|
baseURL: string;
|
|
8
9
|
portalPageId: number;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
declare module 'vite' {
|
|
13
|
+
interface UserConfig {
|
|
14
|
+
ppDevConfig?: NormalizedVitePPDevOptions;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
11
17
|
declare function getViteConfig(): Promise<InlineConfig>;
|
|
12
18
|
declare function withPPDev(nextjsConfig: NextConfig | ((phase: string, nextConfig?: {
|
|
13
19
|
defaultConfig?: any;
|
|
@@ -15,4 +21,4 @@ declare function withPPDev(nextjsConfig: NextConfig | ((phase: string, nextConfi
|
|
|
15
21
|
defaultConfig?: any;
|
|
16
22
|
}) => Promise<NextConfig>;
|
|
17
23
|
|
|
18
|
-
export { type PPDevConfig, type PPWatchConfig,
|
|
24
|
+
export { type PPDevConfig, type PPWatchConfig, getViteConfig, withPPDev };
|