@simplysm/sd-cli 12.5.50 → 12.5.51
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/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/pkg-builders/server/SdServerBundler.js +15 -0
- package/dist/pkg-builders/server/SdServerBundler.js.map +1 -1
- package/dist/ts-builder/SdTsCompiler.js +43 -27
- package/dist/ts-builder/SdTsCompiler.js.map +1 -1
- package/package.json +8 -8
- package/src/index.ts +4 -0
- package/src/pkg-builders/server/SdServerBundler.ts +24 -2
- package/src/ts-builder/SdTsCompiler.ts +88 -62
- package/tsconfig.json +2 -10
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./pkg-builders/SdMultiBuildRunner";
|
|
|
15
15
|
export * from "./pkg-builders/server/createSdServerPlugin";
|
|
16
16
|
export * from "./pkg-builders/server/SdServerBuildRunner";
|
|
17
17
|
export * from "./pkg-builders/server/SdServerBundler";
|
|
18
|
+
import "./sd-cli";
|
|
18
19
|
export * from "./ts-builder/SdTsCompiler";
|
|
19
20
|
export * from "./types/build-plugin.type";
|
|
20
21
|
export * from "./types/build-runner.type";
|
|
@@ -25,3 +26,6 @@ export * from "./types/ts-compiler.type";
|
|
|
25
26
|
export * from "./types/workers.type";
|
|
26
27
|
export * from "./utils/SdCliConvertMessageUtil";
|
|
27
28
|
export * from "./utils/SdCliPerformanceTime";
|
|
29
|
+
import "./workers/build-runner-worker";
|
|
30
|
+
import "./workers/lint-worker";
|
|
31
|
+
import "./workers/server-worker";
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./pkg-builders/SdMultiBuildRunner";
|
|
|
15
15
|
export * from "./pkg-builders/server/createSdServerPlugin";
|
|
16
16
|
export * from "./pkg-builders/server/SdServerBuildRunner";
|
|
17
17
|
export * from "./pkg-builders/server/SdServerBundler";
|
|
18
|
+
import "./sd-cli";
|
|
18
19
|
export * from "./ts-builder/SdTsCompiler";
|
|
19
20
|
export * from "./types/build-plugin.type";
|
|
20
21
|
export * from "./types/build-runner.type";
|
|
@@ -25,4 +26,7 @@ export * from "./types/ts-compiler.type";
|
|
|
25
26
|
export * from "./types/workers.type";
|
|
26
27
|
export * from "./utils/SdCliConvertMessageUtil";
|
|
27
28
|
export * from "./utils/SdCliPerformanceTime";
|
|
29
|
+
import "./workers/build-runner-worker";
|
|
30
|
+
import "./workers/lint-worker";
|
|
31
|
+
import "./workers/server-worker";
|
|
28
32
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uCAAuC,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wCAAwC,CAAC;AACvD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,kDAAkD,CAAC;AACjE,cAAc,mCAAmC,CAAC;AAClD,cAAc,0CAA0C,CAAC;AACzD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uCAAuC,CAAC;AACtD,OAAO,UAAU,CAAC;AAClB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,8BAA8B,CAAC;AAC7C,OAAO,+BAA+B,CAAC;AACvC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,yBAAyB,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { SdCliConvertMessageUtil } from "../../utils/SdCliConvertMessageUtil";
|
|
|
5
5
|
import { createSdServerPlugin } from "./createSdServerPlugin";
|
|
6
6
|
import { BuildOutputFileType } from "@angular/build/src/tools/esbuild/bundler-context";
|
|
7
7
|
import { convertOutputFile } from "@angular/build/src/tools/esbuild/utils";
|
|
8
|
+
import { resolveAssets } from "@angular/build/src/utils/resolve-assets";
|
|
8
9
|
export class SdServerBundler {
|
|
9
10
|
#logger = Logger.get(["simplysm", "sd-cli", "SdServerBundler"]);
|
|
10
11
|
#context;
|
|
@@ -100,6 +101,20 @@ const __dirname = __path__.dirname(__filename);`.trim(),
|
|
|
100
101
|
emitFileSet.add(distFilePath);
|
|
101
102
|
}
|
|
102
103
|
}
|
|
104
|
+
//-- copy assets
|
|
105
|
+
const assetFiles = await resolveAssets([
|
|
106
|
+
{ input: "public", glob: "**/*", output: "." },
|
|
107
|
+
...(this._opt.dev ? [{ input: "public-dev", glob: "**/*", output: "." }] : []),
|
|
108
|
+
], this._opt.pkgPath);
|
|
109
|
+
for (const assetFile of assetFiles) {
|
|
110
|
+
const prev = this.#outputCache.get(PathUtil.norm(assetFile.source));
|
|
111
|
+
const curr = FsUtil.lstat(assetFile.source).mtime.getTime();
|
|
112
|
+
if (prev !== curr) {
|
|
113
|
+
FsUtil.copy(assetFile.source, path.resolve(this._opt.pkgPath, "dist", assetFile.destination));
|
|
114
|
+
this.#outputCache.set(PathUtil.norm(assetFile.source), curr);
|
|
115
|
+
emitFileSet.add(PathUtil.norm(assetFile.destination));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
103
118
|
}
|
|
104
119
|
catch (err) {
|
|
105
120
|
result = err;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdServerBundler.js","sourceRoot":"","sources":["../../../src/pkg-builders/server/SdServerBundler.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAa,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAG9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAmB,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"SdServerBundler.js","sourceRoot":"","sources":["../../../src/pkg-builders/server/SdServerBundler.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ export class SdTsCompiler {
|
|
|
48
48
|
this.#isForAngular = Boolean(tsconfig.angularCompilerOptions);
|
|
49
49
|
this.#parsedTsconfig = ts.parseJsonConfigFileContent(tsconfig, ts.sys, opt.pkgPath, {
|
|
50
50
|
...tsconfig.angularCompilerOptions,
|
|
51
|
-
...opt.additionalOptions
|
|
51
|
+
...opt.additionalOptions
|
|
52
52
|
});
|
|
53
53
|
this.#distPath = PathUtil.norm(this.#parsedTsconfig.options.outDir ?? path.resolve(opt.pkgPath, "dist"));
|
|
54
54
|
//-- compilerHost
|
|
@@ -79,20 +79,20 @@ export class SdTsCompiler {
|
|
|
79
79
|
optimization: !opt.isDevMode,
|
|
80
80
|
inlineFonts: true,
|
|
81
81
|
preserveSymlinks: false,
|
|
82
|
-
sourcemap: opt.isDevMode ?
|
|
82
|
+
sourcemap: opt.isDevMode ? "inline" : false,
|
|
83
83
|
outputNames: { bundles: "[name]", media: "media/[name]" },
|
|
84
84
|
includePaths: [],
|
|
85
85
|
externalDependencies: [],
|
|
86
86
|
target: transformSupportedBrowsersToTargets(browserslist(["Chrome > 78"])),
|
|
87
87
|
postcssConfiguration: {
|
|
88
|
-
plugins: [["css-has-pseudo"]]
|
|
88
|
+
plugins: [["css-has-pseudo"]]
|
|
89
89
|
},
|
|
90
90
|
tailwindConfiguration: undefined,
|
|
91
91
|
cacheOptions: {
|
|
92
92
|
enabled: true,
|
|
93
93
|
path: ".cache/angular",
|
|
94
|
-
basePath: ".cache"
|
|
95
|
-
}
|
|
94
|
+
basePath: ".cache"
|
|
95
|
+
}
|
|
96
96
|
}, opt.isDevMode);
|
|
97
97
|
//-- compilerHost
|
|
98
98
|
this.#compilerHost.readResource = (fileName) => {
|
|
@@ -130,7 +130,7 @@ export class SdTsCompiler {
|
|
|
130
130
|
outputFiles: stylesheetResult.outputFiles,
|
|
131
131
|
metafile: stylesheetResult.metafile,
|
|
132
132
|
errors: stylesheetResult.errors,
|
|
133
|
-
warnings: stylesheetResult.warnings
|
|
133
|
+
warnings: stylesheetResult.warnings
|
|
134
134
|
});
|
|
135
135
|
return stylesheetResult.contents;
|
|
136
136
|
});
|
|
@@ -154,13 +154,13 @@ export class SdTsCompiler {
|
|
|
154
154
|
messages: [
|
|
155
155
|
...prepareResult.messages,
|
|
156
156
|
...SdCliConvertMessageUtil.convertToBuildMessagesFromTsDiag(buildResult.diagnostics),
|
|
157
|
-
...SdCliConvertMessageUtil.convertToBuildMessagesFromEslint(lintResults)
|
|
157
|
+
...SdCliConvertMessageUtil.convertToBuildMessagesFromEslint(lintResults)
|
|
158
158
|
],
|
|
159
159
|
watchFileSet: this.#watchFileSet,
|
|
160
160
|
affectedFileSet: this.#affectedFileSet,
|
|
161
161
|
stylesheetBundlingResultMap: this.#stylesheetBundlingResultMap,
|
|
162
162
|
emittedFilesCacheMap: this.#emittedFilesCacheMap,
|
|
163
|
-
emitFileSet: buildResult.emitFileSet
|
|
163
|
+
emitFileSet: buildResult.emitFileSet
|
|
164
164
|
};
|
|
165
165
|
}
|
|
166
166
|
async #prepareAsync() {
|
|
@@ -288,7 +288,7 @@ export class SdTsCompiler {
|
|
|
288
288
|
this.#affectedFileSet.adds(...Array.from(this.#revDependencyCacheMap.get(dep)).mapMany((item) => [
|
|
289
289
|
item,
|
|
290
290
|
// .d.ts면 .js파일도 affected에 추가
|
|
291
|
-
item.endsWith(".d.ts") ? PathUtil.norm(item.replace(/\.d\.ts$/, ".js")) : undefined
|
|
291
|
+
item.endsWith(".d.ts") ? PathUtil.norm(item.replace(/\.d\.ts$/, ".js")) : undefined
|
|
292
292
|
].filterExists()));
|
|
293
293
|
}
|
|
294
294
|
// dep이 emit된적이 없으면 affected에 추가해야함.
|
|
@@ -310,15 +310,15 @@ export class SdTsCompiler {
|
|
|
310
310
|
}
|
|
311
311
|
}
|
|
312
312
|
return {
|
|
313
|
-
messages
|
|
313
|
+
messages
|
|
314
314
|
};
|
|
315
315
|
}
|
|
316
316
|
async #lintAsync() {
|
|
317
317
|
return await this.#lintWorker.run("lint", [
|
|
318
318
|
{
|
|
319
319
|
cwd: this.#pkgPath,
|
|
320
|
-
fileSet: this.#affectedFileSet
|
|
321
|
-
}
|
|
320
|
+
fileSet: this.#affectedFileSet
|
|
321
|
+
}
|
|
322
322
|
]);
|
|
323
323
|
}
|
|
324
324
|
async #buildAsync() {
|
|
@@ -360,7 +360,7 @@ export class SdTsCompiler {
|
|
|
360
360
|
if (this.#ngProgram) {
|
|
361
361
|
transformers = {
|
|
362
362
|
...transformers,
|
|
363
|
-
...this.#ngProgram.compiler.prepareEmit().transformers
|
|
363
|
+
...this.#ngProgram.compiler.prepareEmit().transformers
|
|
364
364
|
};
|
|
365
365
|
(transformers.before ??= []).push(replaceBootstrap(() => this.#program.getTypeChecker()));
|
|
366
366
|
(transformers.before ??= []).push(createWorkerTransformer((file, importer) => {
|
|
@@ -424,7 +424,7 @@ export class SdTsCompiler {
|
|
|
424
424
|
}
|
|
425
425
|
emitFileInfoCaches.push({
|
|
426
426
|
outAbsPath: realFilePath,
|
|
427
|
-
text: realText
|
|
427
|
+
text: realText
|
|
428
428
|
});
|
|
429
429
|
}
|
|
430
430
|
else {
|
|
@@ -445,14 +445,14 @@ export class SdTsCompiler {
|
|
|
445
445
|
const emitFileInfos = this.#emittedFilesCacheMap.getOrCreate(this.#globalStyleFilePath, []);
|
|
446
446
|
emitFileInfos.push({
|
|
447
447
|
outAbsPath: PathUtil.norm(this.#pkgPath, path.relative(path.resolve(this.#pkgPath, "src"), this.#globalStyleFilePath).replace(/\.scss$/, ".css")),
|
|
448
|
-
text: contents
|
|
448
|
+
text: contents
|
|
449
449
|
});
|
|
450
450
|
emitFileSet.add(this.#globalStyleFilePath);
|
|
451
451
|
});
|
|
452
452
|
}
|
|
453
453
|
return {
|
|
454
454
|
emitFileSet,
|
|
455
|
-
diagnostics
|
|
455
|
+
diagnostics
|
|
456
456
|
};
|
|
457
457
|
}
|
|
458
458
|
#debug(...msg) {
|
|
@@ -461,7 +461,7 @@ export class SdTsCompiler {
|
|
|
461
461
|
#findDeps(sf) {
|
|
462
462
|
const deps = [];
|
|
463
463
|
const tc = this.#program.getTypeChecker();
|
|
464
|
-
|
|
464
|
+
const visit = (node) => {
|
|
465
465
|
if (ts.isExportDeclaration(node)) {
|
|
466
466
|
if (node.moduleSpecifier) {
|
|
467
467
|
const moduleSymbol = tc.getSymbolAtLocation(node.moduleSpecifier);
|
|
@@ -474,7 +474,7 @@ export class SdTsCompiler {
|
|
|
474
474
|
code: undefined,
|
|
475
475
|
severity: "error",
|
|
476
476
|
message: "export moduleSymbol not found",
|
|
477
|
-
type: "deps"
|
|
477
|
+
type: "deps"
|
|
478
478
|
});
|
|
479
479
|
return;
|
|
480
480
|
}
|
|
@@ -488,7 +488,7 @@ export class SdTsCompiler {
|
|
|
488
488
|
code: undefined,
|
|
489
489
|
severity: "error",
|
|
490
490
|
message: "export decls not found",
|
|
491
|
-
type: "deps"
|
|
491
|
+
type: "deps"
|
|
492
492
|
});
|
|
493
493
|
return;
|
|
494
494
|
}
|
|
@@ -499,10 +499,11 @@ export class SdTsCompiler {
|
|
|
499
499
|
deps.push({
|
|
500
500
|
fileName: PathUtil.norm(decl.getSourceFile().fileName),
|
|
501
501
|
importName: el.name.text,
|
|
502
|
-
exportName: el.propertyName?.text ?? el.name.text
|
|
502
|
+
exportName: el.propertyName?.text ?? el.name.text
|
|
503
503
|
});
|
|
504
504
|
}
|
|
505
505
|
}
|
|
506
|
+
return;
|
|
506
507
|
}
|
|
507
508
|
else {
|
|
508
509
|
if (!moduleSymbol.exports) {
|
|
@@ -514,7 +515,7 @@ export class SdTsCompiler {
|
|
|
514
515
|
code: undefined,
|
|
515
516
|
severity: "error",
|
|
516
517
|
message: "moduleSymbol exports not found",
|
|
517
|
-
type: "deps"
|
|
518
|
+
type: "deps"
|
|
518
519
|
});
|
|
519
520
|
return;
|
|
520
521
|
}
|
|
@@ -523,10 +524,11 @@ export class SdTsCompiler {
|
|
|
523
524
|
deps.push({
|
|
524
525
|
fileName: PathUtil.norm(decl.getSourceFile().fileName),
|
|
525
526
|
importName: key.toString(),
|
|
526
|
-
exportName: key.toString()
|
|
527
|
+
exportName: key.toString()
|
|
527
528
|
});
|
|
528
529
|
}
|
|
529
530
|
}
|
|
531
|
+
return;
|
|
530
532
|
}
|
|
531
533
|
}
|
|
532
534
|
}
|
|
@@ -536,12 +538,13 @@ export class SdTsCompiler {
|
|
|
536
538
|
if (ts.isStringLiteral(node.moduleSpecifier) && node.moduleSpecifier.text.startsWith("./")) {
|
|
537
539
|
deps.push({
|
|
538
540
|
fileName: PathUtil.norm(path.resolve(path.dirname(sf.fileName), node.moduleSpecifier.text)),
|
|
539
|
-
importName: "*"
|
|
541
|
+
importName: "*"
|
|
540
542
|
});
|
|
541
543
|
}
|
|
542
544
|
/*else {
|
|
543
545
|
throw new NeverEntryError(`import moduleSymbol: ${sf.fileName} ${node.moduleSpecifier["text"]}`);
|
|
544
546
|
}*/
|
|
547
|
+
return;
|
|
545
548
|
}
|
|
546
549
|
else {
|
|
547
550
|
const decls = moduleSymbol.getDeclarations();
|
|
@@ -554,7 +557,7 @@ export class SdTsCompiler {
|
|
|
554
557
|
code: undefined,
|
|
555
558
|
severity: "error",
|
|
556
559
|
message: "import decls not found",
|
|
557
|
-
type: "deps"
|
|
560
|
+
type: "deps"
|
|
558
561
|
});
|
|
559
562
|
return;
|
|
560
563
|
}
|
|
@@ -564,22 +567,35 @@ export class SdTsCompiler {
|
|
|
564
567
|
for (const decl of decls) {
|
|
565
568
|
deps.push({
|
|
566
569
|
fileName: PathUtil.norm(decl.getSourceFile().fileName),
|
|
567
|
-
importName: el.name.text
|
|
570
|
+
importName: el.name.text
|
|
568
571
|
});
|
|
569
572
|
}
|
|
570
573
|
}
|
|
574
|
+
return;
|
|
571
575
|
}
|
|
572
576
|
else {
|
|
573
577
|
for (const decl of decls) {
|
|
574
578
|
deps.push({
|
|
575
579
|
fileName: PathUtil.norm(decl.getSourceFile().fileName),
|
|
576
|
-
importName: "*"
|
|
580
|
+
importName: "*"
|
|
577
581
|
});
|
|
578
582
|
}
|
|
583
|
+
return;
|
|
579
584
|
}
|
|
580
585
|
}
|
|
581
586
|
}
|
|
582
|
-
|
|
587
|
+
if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {
|
|
588
|
+
if (ts.isStringLiteral(node.arguments[0]) && node.arguments[0].text.startsWith("./")) {
|
|
589
|
+
deps.push({
|
|
590
|
+
fileName: PathUtil.norm(path.resolve(path.dirname(sf.fileName), node.arguments[0].text)),
|
|
591
|
+
importName: "*"
|
|
592
|
+
});
|
|
593
|
+
return;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
node.forEachChild(visit);
|
|
597
|
+
};
|
|
598
|
+
sf.forEachChild(visit);
|
|
583
599
|
return deps;
|
|
584
600
|
}
|
|
585
601
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdTsCompiler.js","sourceRoot":"","sources":["../../src/ts-builder/SdTsCompiler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SdTsCompiler.js","sourceRoot":"","sources":["../../src/ts-builder/SdTsCompiler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAa,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAC;AAE5G,OAAO,EAAE,mCAAmC,EAAE,MAAM,wCAAwC,CAAC;AAC7F,OAAO,YAAY,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yEAAyE,CAAC;AAC3G,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAI3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAE/G,MAAM,OAAO,YAAY;IACd,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAE7D,eAAe,CAAuB;IACtC,aAAa,CAAU;IAEhC,gFAAgF;IACvE,sBAAsB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC9D,2BAA2B,GAAG,IAAI,GAAG,EAA6B,CAAC;IACnE,mBAAmB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,qBAAqB,GAAG,IAAI,GAAG,EAMrC,CAAC;IAEK,kBAAkB,CAAyC;IAC3D,aAAa,CAAwC;IAE9D,UAAU,CAA2B;IACrC,QAAQ,CAAyB;IAEjC,gBAAgB,GAAG,IAAI,GAAG,EAAa,CAAC;IACxC,gBAAgB,GAAG,IAAI,GAAG,EAAa,CAAC;IAE/B,aAAa,GAAG,IAAI,GAAG,EAAa,CAAC;IACrC,4BAA4B,GAAG,IAAI,GAAG,EAAwC,CAAC;IAE/E,QAAQ,CAAY;IACpB,SAAS,CAAY;IACrB,oBAAoB,CAAa;IACjC,gBAAgB,CAAc;IAE9B,YAAY,CAAU;IAEtB,WAAW,GAAG,IAAI,QAAQ,CAAoB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAEtG,KAAK,CAAyB;IAE9B,8EAA8E;IAE9E,YAAY,GAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,eAAe,CAAC;QAC5C,iDAAiD;QAEjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEtB,kCAAkC;QAElC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE;YAClF,GAAG,QAAQ,CAAC,sBAAsB;YAClC,GAAG,GAAG,CAAC,iBAAiB;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAEzG,iBAAiB;QAEjB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEzE,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CACjC,QAAQ,EACR,wBAAwB,EACxB,OAAO,EACP,yBAAyB,EACzB,GAAG,IAAI,EACP,EAAE;YACF,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACxF,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,CAAC;YAED,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,wBAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAElH,IAAI,EAAE,EAAE,CAAC;gBACP,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC;iBACI,CAAC;gBACJ,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QACjD,IAAI,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChD,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,sBAAsB;YACtB,IAAI,CAAC,kBAAkB,GAAG,IAAI,0BAA0B,CACtD;gBACE,aAAa,EAAE,GAAG,CAAC,OAAO;gBAC1B,YAAY,EAAE,CAAC,GAAG,CAAC,SAAS;gBAC5B,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,KAAK;gBACvB,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;gBAC3C,WAAW,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE;gBACzD,YAAY,EAAE,EAAE;gBAChB,oBAAoB,EAAE,EAAE;gBACxB,MAAM,EAAE,mCAAmC,CAAC,YAAY,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC1E,oBAAoB,EAAE;oBACpB,OAAO,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC;iBAC9B;gBACD,qBAAqB,EAAE,SAAS;gBAChC,YAAY,EAAE;oBACZ,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,QAAQ;iBACnB;aACF,EACD,GAAG,CAAC,SAAS,CACd,CAAC;YAEF,iBAAiB;YAEhB,IAAI,CAAC,aAAqC,CAAC,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE;gBAC9E,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrD,CAAC,CAAC;YAED,IAAI,CAAC,aAAqC,CAAC,iBAAiB,GAAG,KAAK,EACnE,IAAY,EACZ,OAIC,EACD,EAAE;gBACF,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAChD,IAAI,EACJ,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EACrC,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAC/E,CAAC;gBAEF,OAAO,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;YAC3E,CAAC,CAAC;YAED,IAAI,CAAC,aAAqC,CAAC,wBAAwB,GAAG,GAAG,EAAE;gBAC1E,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY,EAAE,cAAyB,EAAE,eAAiC,IAAI;QACzG,+BAA+B;QAC/B,sEAAsE;QACtE,uDAAuD;QAEvD,2EAA2E;QAE3E,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,gBAAgB,GACpB,YAAY,IAAI,IAAI;gBAClB,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAmB,CAAC,UAAU,CAAC,YAAY,CAAC;gBACzD,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAmB,CAAC,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAEhF,IAAI,gBAAgB,CAAC,eAAe,EAAE,CAAC;gBACrC,KAAK,MAAM,cAAc,IAAI,gBAAgB,CAAC,eAAe,EAAE,CAAC;oBAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAC9D,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,EAC7B,IAAI,GAAG,EAAa,CACrB,CAAC;oBACF,WAAW,CAAC,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,CAAC;gBAClD,CAAC;gBAED,IAAI,CAAC,aAAa,CAAC,IAAI,CACrB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC5F,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC,EAAE;gBACnF,WAAW,EAAE,gBAAgB,CAAC,WAAW;gBACzC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;gBACnC,MAAM,EAAE,gBAAgB,CAAC,MAAM;gBAC/B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;aACpC,CAAC,CAAC;YAEH,OAAO,gBAAgB,CAAC,QAAQ,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,eAA+B;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAa,CAAC;QAE7C;;;;;;;WAOG;QAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAEjD,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE9F,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEtD,OAAO;YACL,QAAQ,EAAE;gBACR,GAAG,aAAa,CAAC,QAAQ;gBACzB,GAAG,uBAAuB,CAAC,gCAAgC,CAAC,WAAW,CAAC,WAAW,CAAC;gBACpF,GAAG,uBAAuB,CAAC,gCAAgC,CAAC,WAAW,CAAC;aACzE;YACD,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,2BAA2B,EAAE,IAAI,CAAC,4BAA4B;YAC9D,oBAAoB,EAAE,IAAI,CAAC,qBAAqB;YAChD,WAAW,EAAE,WAAW,CAAC,WAAW;SACrC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC;YAEzD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE;gBAClC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACjD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBACrF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAE1F,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;YAE3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,EAAE,GAAG,EAAE;gBAC9C,IAAI,CAAC,kBAAkB,EAAE,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAE3D,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACjD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC9C,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACvD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC1C,CAAC;gBAED,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,EAAE;YACpC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,CAChC,IAAI,CAAC,eAAe,CAAC,SAAS,EAC9B,IAAI,CAAC,eAAe,CAAC,OAAO,EAC5B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,UAAU,CAChB,CAAC;gBACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACjD,CAAC;iBACI,CAAC;gBACJ,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,aAAa,CAC9B,IAAI,CAAC,eAAe,CAAC,SAAS,EAC9B,IAAI,CAAC,eAAe,CAAC,OAAO,EAC5B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,QAAQ,CACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;gBAC5C,MAAM,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,EAAiB,EAAE,EAAE;YAC7C,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;gBACtD,OAAO,IAAI,CAAC,QAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,IAAI,CAAC,QAAS,CAAC,cAAc,EAAE;aAC5B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;aACjC,YAAY,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAE/B,MAAM,QAAQ,GAAsB,EAAE,CAAC;QAEvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAOnB,CAAC;YACJ,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtD,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC5D,MAAM,CAAC,GAAG,CACR,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAC1B,IAAI;qBACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC;qBACpC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAC1F,CACJ,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAA6B,CAAC;YACvD,MAAM,UAAU,GAAG,CAAC,QAAmB,EAAE,OAAwB,EAAE,EAAE;gBACnE,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5B,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;gBAClC,CAAC;gBAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;gBAEpC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAElD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACvB,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAElD,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;wBAC3B,KAAK,MAAM,aAAa,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE,CAAC;4BACjF,IAAI,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC;gCAAE,SAAS;4BAEnD,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;4BACnC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAY,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBAClG,CAAC;oBACH,CAAC;yBACI,CAAC;wBACJ,KAAK,MAAM,aAAa,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC5F,IAAI,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC;gCAAE,SAAS;4BAEnD,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;4BACnC,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAY,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;wBAClG,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC;YAEF,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;gBAEhD,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;oBACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,GAAG,EAAa,CAAC,CAAC;oBACpF,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACnD,SAAS;oBACX,CAAC;oBAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC,EAAE,CAAC;wBACvE,MAAM,GAAG,GAAG,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,EAAa,CAAC,CAAC;wBACnG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAEtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,EAAE;gBACzC,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;oBAC/B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;wBAC7F,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACxB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACpE;oBACE,IAAI;oBACJ,6BAA6B;oBAC7B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;iBACpF,CAAC,YAAY,EAAE,CACjB,CACF,CAAC;YACJ,CAAC;YAED,oCAAoC;YACpC,8DAA8D;YAC9D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1D,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,CAAC;gBAC5E,CAAC;gBAED,oCAAoC;gBACpC,8DAA8D;gBAC9D,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE;YACxC;gBACE,GAAG,EAAE,IAAI,CAAC,QAAQ;gBAClB,OAAO,EAAE,IAAI,CAAC,gBAAgB;aAC/B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,WAAW,GAAG,IAAI,GAAG,EAAa,CAAC;QACzC,MAAM,WAAW,GAAoB,EAAE,CAAC;QAExC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,EAAE;YAC7C,WAAW,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,QAAS,CAAC,+BAA+B,EAAE,EACnD,GAAG,IAAI,CAAC,QAAS,CAAC,qBAAqB,EAAE,EACzC,GAAG,IAAI,CAAC,QAAS,CAAC,oBAAoB,EAAE,CACzC,CAAC;YAEF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;QAE3C,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YAEtE,IACE,CAAC,kBAAkB;gBACnB,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAC1F,CAAC;gBACD,SAAS;YACX,CAAC;YAED,6DAA6D;YAE7D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,EAAE;gBAC1C,WAAW,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,QAAS,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,EAC7D,GAAG,IAAI,CAAC,QAAS,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAC7D,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,EAAE,GAAG,EAAE;oBAC9C,IAAI,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;wBACzC,OAAO;oBACT,CAAC;oBAED,WAAW,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,UAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,WAAW,CAAC,YAAY,CAAC,CACjG,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YAE/B,IAAI,YAAY,GAA0B,EAAE,CAAC;YAE7C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,YAAY,GAAG;oBACb,GAAG,YAAY;oBACf,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,YAAY;iBACvD,CAAC;gBACF,CAAC,YAAY,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;gBAC3F,CAAC,YAAY,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,IAAI,CAC/B,uBAAuB,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;oBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;oBAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;oBAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpE,CAAC,CAAC,CACH,CAAC;YACJ,CAAC;YACD,mEAAmE;YAEnE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAEjC,yDAAyD;YACzD,4CAA4C;YAC5C,qCAAqC;YACrC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACjD,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACjD,SAAS;gBACX,CAAC;gBAED,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,SAAS;gBACX,CAAC;gBAED,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;oBACzB,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBACpD,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;oBACxE,SAAS;gBACX,CAAC;gBAED,kDAAkD;gBAClD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACtD,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,QAAS,CAAC,IAAI,CACjB,EAAE,EACF,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;oBACjE,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC7C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;wBAC7F,OAAO;oBACT,CAAC;oBAED,MAAM,UAAU,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;oBACvE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACpB,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;4BAC3D,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;oBACnF,CAAC;oBAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;oBAE1G,IAAI,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7D,IAAI,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC;wBACpB,IACE,QAAQ,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,EACrG,CAAC;4BACD,YAAY,GAAG,QAAQ,CAAC,IAAI,CAC1B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,CAC/F,CAAC;4BAEF,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gCACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gCAC/C,kBAAkB;gCAClB,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gCACrE,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;4BAC/C,CAAC;wBACH,CAAC;wBAED,kBAAkB,CAAC,IAAI,CAAC;4BACtB,UAAU,EAAE,YAAY;4BACxB,IAAI,EAAE,QAAQ;yBACf,CAAC,CAAC;oBACL,CAAC;yBACI,CAAC;wBACJ,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpC,CAAC;oBAED,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACtD,CAAC,EACD,SAAS,EACT,SAAS,EACT,YAAY,CACb,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IACE,IAAI,CAAC,oBAAoB,IAAI,IAAI;YACjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC;YACxC,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAC1D,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAEtC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;gBACrD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAqB,CAAC,CAAC;gBACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAqB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAChH,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAqB,EAAE,EAAE,CAAC,CAAC;gBAC7F,aAAa,CAAC,IAAI,CAAC;oBACjB,UAAU,EAAE,QAAQ,CAAC,IAAI,CACvB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,oBAAqB,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CACzG;oBACD,IAAI,EAAE,QAAQ;iBACf,CAAC,CAAC;gBACH,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAqB,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,WAAW;YACX,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,GAAU;QAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IAClE,CAAC;IAED,SAAS,CAAC,EAAiB;QACzB,MAAM,IAAI,GAMF,EAAE,CAAC;QAEX,MAAM,EAAE,GAAG,IAAI,CAAC,QAAS,CAAC,cAAc,EAAE,CAAC;QAE3C,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE;YAC9B,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,MAAM,YAAY,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAClE,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,MAAM,GAAG,GAAG,EAAE,CAAC,6BAA6B,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAClE,IAAI,CAAC,IAAI,CAAC;4BACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;4BACpC,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,IAAI,EAAE,GAAG,CAAC,SAAS;4BACnB,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,OAAO;4BACjB,OAAO,EAAE,+BAA+B;4BACxC,IAAI,EAAE,MAAM;yBACb,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;oBAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,GAAG,GAAG,EAAE,CAAC,6BAA6B,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAClE,IAAI,CAAC,IAAI,CAAC;4BACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;4BACpC,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,IAAI,EAAE,GAAG,CAAC,SAAS;4BACnB,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,OAAO;4BACjB,OAAO,EAAE,wBAAwB;4BACjC,IAAI,EAAE,MAAM;yBACb,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;oBACxC,IAAI,aAAa,IAAI,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;wBACtD,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;4BACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gCACzB,IAAI,CAAC,IAAI,CAAC;oCACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;oCACtD,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI;oCACxB,UAAU,EAAE,EAAE,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI;iCAClD,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBAED,OAAO;oBACT,CAAC;yBACI,CAAC;wBACJ,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;4BAC1B,MAAM,GAAG,GAAG,EAAE,CAAC,6BAA6B,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;4BAClE,IAAI,CAAC,IAAI,CAAC;gCACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;gCACpC,IAAI,EAAE,GAAG,CAAC,IAAI;gCACd,IAAI,EAAE,GAAG,CAAC,SAAS;gCACnB,IAAI,EAAE,SAAS;gCACf,QAAQ,EAAE,OAAO;gCACjB,OAAO,EAAE,gCAAgC;gCACzC,IAAI,EAAE,MAAM;6BACb,CAAC,CAAC;4BACH,OAAO;wBACT,CAAC;wBAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gCAC9C,IAAI,CAAC,IAAI,CAAC;oCACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;oCACtD,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE;oCAC1B,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE;iCAC3B,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBACD,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;iBACI,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAClE,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3F,IAAI,CAAC,IAAI,CAAC;4BACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;4BAC3F,UAAU,EAAE,GAAG;yBAChB,CAAC,CAAC;oBACL,CAAC;oBACD;;uBAEG;oBACH,OAAO;gBACT,CAAC;qBACI,CAAC;oBACJ,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;oBAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM,GAAG,GAAG,EAAE,CAAC,6BAA6B,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAClE,IAAI,CAAC,IAAI,CAAC;4BACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;4BACpC,IAAI,EAAE,GAAG,CAAC,IAAI;4BACd,IAAI,EAAE,GAAG,CAAC,SAAS;4BACnB,IAAI,EAAE,SAAS;4BACf,QAAQ,EAAE,OAAO;4BACjB,OAAO,EAAE,wBAAwB;4BACjC,IAAI,EAAE,MAAM;yBACb,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBAED,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC;oBACvD,IAAI,aAAa,IAAI,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;wBACtD,KAAK,MAAM,EAAE,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;4BACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gCACzB,IAAI,CAAC,IAAI,CAAC;oCACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;oCACtD,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI;iCACzB,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBACD,OAAO;oBACT,CAAC;yBACI,CAAC;wBACJ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;4BACzB,IAAI,CAAC,IAAI,CAAC;gCACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC;gCACtD,UAAU,EAAE,GAAG;6BAChB,CAAC,CAAC;wBACL,CAAC;wBACD,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;gBACtF,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrF,IAAI,CAAC,IAAI,CAAC;wBACR,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACxF,UAAU,EAAE,GAAG;qBAChB,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;YACH,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;QAEF,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEvB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/sd-cli",
|
|
3
|
-
"version": "12.5.
|
|
3
|
+
"version": "12.5.51",
|
|
4
4
|
"description": "심플리즘 패키지 - CLI",
|
|
5
5
|
"author": "김석래",
|
|
6
6
|
"repository": {
|
|
@@ -18,17 +18,17 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@angular/build": "^18.2.11",
|
|
21
|
-
"@angular/compiler": "^18.2.
|
|
22
|
-
"@angular/compiler-cli": "^18.2.
|
|
21
|
+
"@angular/compiler": "^18.2.11",
|
|
22
|
+
"@angular/compiler-cli": "^18.2.11",
|
|
23
23
|
"@electron/rebuild": "^3.7.0",
|
|
24
|
-
"@simplysm/sd-core-common": "12.5.
|
|
25
|
-
"@simplysm/sd-core-node": "12.5.
|
|
26
|
-
"@simplysm/sd-service-server": "12.5.
|
|
27
|
-
"@simplysm/sd-storage": "12.5.
|
|
24
|
+
"@simplysm/sd-core-common": "12.5.51",
|
|
25
|
+
"@simplysm/sd-core-node": "12.5.51",
|
|
26
|
+
"@simplysm/sd-service-server": "12.5.51",
|
|
27
|
+
"@simplysm/sd-storage": "12.5.51",
|
|
28
28
|
"browserslist": "^4.24.2",
|
|
29
29
|
"cordova": "^12.0.0",
|
|
30
30
|
"css-has-pseudo": "^7.0.1",
|
|
31
|
-
"electron": "^33.0
|
|
31
|
+
"electron": "^33.1.0",
|
|
32
32
|
"electron-builder": "^25.1.8",
|
|
33
33
|
"esbuild": "^0.24.0",
|
|
34
34
|
"eslint": "^9.14.0",
|
package/src/index.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./pkg-builders/SdMultiBuildRunner";
|
|
|
15
15
|
export * from "./pkg-builders/server/createSdServerPlugin";
|
|
16
16
|
export * from "./pkg-builders/server/SdServerBuildRunner";
|
|
17
17
|
export * from "./pkg-builders/server/SdServerBundler";
|
|
18
|
+
import "./sd-cli";
|
|
18
19
|
export * from "./ts-builder/SdTsCompiler";
|
|
19
20
|
export * from "./types/build-plugin.type";
|
|
20
21
|
export * from "./types/build-runner.type";
|
|
@@ -25,3 +26,6 @@ export * from "./types/ts-compiler.type";
|
|
|
25
26
|
export * from "./types/workers.type";
|
|
26
27
|
export * from "./utils/SdCliConvertMessageUtil";
|
|
27
28
|
export * from "./utils/SdCliPerformanceTime";
|
|
29
|
+
import "./workers/build-runner-worker";
|
|
30
|
+
import "./workers/lint-worker";
|
|
31
|
+
import "./workers/server-worker";
|
|
@@ -7,6 +7,7 @@ import { ISdBuildMessage } from "../../types/build.type";
|
|
|
7
7
|
import { createSdServerPlugin } from "./createSdServerPlugin";
|
|
8
8
|
import { BuildOutputFile, BuildOutputFileType } from "@angular/build/src/tools/esbuild/bundler-context";
|
|
9
9
|
import { convertOutputFile } from "@angular/build/src/tools/esbuild/utils";
|
|
10
|
+
import { resolveAssets } from "@angular/build/src/utils/resolve-assets";
|
|
10
11
|
|
|
11
12
|
export class SdServerBundler {
|
|
12
13
|
readonly #logger = Logger.get(["simplysm", "sd-cli", "SdServerBundler"]);
|
|
@@ -26,7 +27,8 @@ export class SdServerBundler {
|
|
|
26
27
|
external?: string[];
|
|
27
28
|
watchScopePaths: TNormPath[];
|
|
28
29
|
},
|
|
29
|
-
) {
|
|
30
|
+
) {
|
|
31
|
+
}
|
|
30
32
|
|
|
31
33
|
async bundleAsync(modifiedFileSet?: Set<TNormPath>): Promise<{
|
|
32
34
|
watchFileSet: Set<TNormPath>;
|
|
@@ -124,7 +126,27 @@ const __dirname = __path__.dirname(__filename);`.trim(),
|
|
|
124
126
|
emitFileSet.add(distFilePath);
|
|
125
127
|
}
|
|
126
128
|
}
|
|
127
|
-
|
|
129
|
+
|
|
130
|
+
//-- copy assets
|
|
131
|
+
const assetFiles = await resolveAssets(
|
|
132
|
+
[
|
|
133
|
+
{ input: "public", glob: "**/*", output: "." },
|
|
134
|
+
...(this._opt.dev ? [{ input: "public-dev", glob: "**/*", output: "." }] : []),
|
|
135
|
+
],
|
|
136
|
+
this._opt.pkgPath,
|
|
137
|
+
);
|
|
138
|
+
|
|
139
|
+
for (const assetFile of assetFiles) {
|
|
140
|
+
const prev = this.#outputCache.get(PathUtil.norm(assetFile.source));
|
|
141
|
+
const curr = FsUtil.lstat(assetFile.source).mtime.getTime();
|
|
142
|
+
if (prev !== curr) {
|
|
143
|
+
FsUtil.copy(assetFile.source, path.resolve(this._opt.pkgPath, "dist", assetFile.destination));
|
|
144
|
+
this.#outputCache.set(PathUtil.norm(assetFile.source), curr);
|
|
145
|
+
emitFileSet.add(PathUtil.norm(assetFile.destination));
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
128
150
|
result = err;
|
|
129
151
|
for (const e of err.errors) {
|
|
130
152
|
if (e.detail != null) {
|
|
@@ -74,7 +74,7 @@ export class SdTsCompiler {
|
|
|
74
74
|
this.#isForAngular = Boolean(tsconfig.angularCompilerOptions);
|
|
75
75
|
this.#parsedTsconfig = ts.parseJsonConfigFileContent(tsconfig, ts.sys, opt.pkgPath, {
|
|
76
76
|
...tsconfig.angularCompilerOptions,
|
|
77
|
-
...opt.additionalOptions
|
|
77
|
+
...opt.additionalOptions
|
|
78
78
|
});
|
|
79
79
|
|
|
80
80
|
this.#distPath = PathUtil.norm(this.#parsedTsconfig.options.outDir ?? path.resolve(opt.pkgPath, "dist"));
|
|
@@ -99,7 +99,8 @@ export class SdTsCompiler {
|
|
|
99
99
|
|
|
100
100
|
if (sf) {
|
|
101
101
|
this.#sourceFileCacheMap.set(PathUtil.norm(fileName), sf);
|
|
102
|
-
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
103
104
|
this.#sourceFileCacheMap.delete(PathUtil.norm(fileName));
|
|
104
105
|
}
|
|
105
106
|
|
|
@@ -120,22 +121,22 @@ export class SdTsCompiler {
|
|
|
120
121
|
optimization: !opt.isDevMode,
|
|
121
122
|
inlineFonts: true,
|
|
122
123
|
preserveSymlinks: false,
|
|
123
|
-
sourcemap: opt.isDevMode ?
|
|
124
|
+
sourcemap: opt.isDevMode ? "inline" : false,
|
|
124
125
|
outputNames: { bundles: "[name]", media: "media/[name]" },
|
|
125
126
|
includePaths: [],
|
|
126
127
|
externalDependencies: [],
|
|
127
128
|
target: transformSupportedBrowsersToTargets(browserslist(["Chrome > 78"])),
|
|
128
129
|
postcssConfiguration: {
|
|
129
|
-
plugins: [["css-has-pseudo"]]
|
|
130
|
+
plugins: [["css-has-pseudo"]]
|
|
130
131
|
},
|
|
131
132
|
tailwindConfiguration: undefined,
|
|
132
133
|
cacheOptions: {
|
|
133
134
|
enabled: true,
|
|
134
135
|
path: ".cache/angular",
|
|
135
|
-
basePath: ".cache"
|
|
136
|
-
}
|
|
136
|
+
basePath: ".cache"
|
|
137
|
+
}
|
|
137
138
|
},
|
|
138
|
-
opt.isDevMode
|
|
139
|
+
opt.isDevMode
|
|
139
140
|
);
|
|
140
141
|
|
|
141
142
|
//-- compilerHost
|
|
@@ -150,7 +151,7 @@ export class SdTsCompiler {
|
|
|
150
151
|
type: string;
|
|
151
152
|
containingFile: string;
|
|
152
153
|
resourceFile: string | null;
|
|
153
|
-
}
|
|
154
|
+
}
|
|
154
155
|
) => {
|
|
155
156
|
if (context.type !== "style") {
|
|
156
157
|
return null;
|
|
@@ -159,7 +160,7 @@ export class SdTsCompiler {
|
|
|
159
160
|
const contents = await this.#bundleStylesheetAsync(
|
|
160
161
|
data,
|
|
161
162
|
PathUtil.norm(context.containingFile),
|
|
162
|
-
context.resourceFile != null ? PathUtil.norm(context.resourceFile) : undefined
|
|
163
|
+
context.resourceFile != null ? PathUtil.norm(context.resourceFile) : undefined
|
|
163
164
|
);
|
|
164
165
|
|
|
165
166
|
return StringUtil.isNullOrEmpty(contents) ? null : { content: contents };
|
|
@@ -188,13 +189,13 @@ export class SdTsCompiler {
|
|
|
188
189
|
for (const referencedFile of stylesheetResult.referencedFiles) {
|
|
189
190
|
const depCacheSet = this.#resourceDependencyCacheMap.getOrCreate(
|
|
190
191
|
PathUtil.norm(referencedFile),
|
|
191
|
-
new Set<TNormPath>()
|
|
192
|
+
new Set<TNormPath>()
|
|
192
193
|
);
|
|
193
194
|
depCacheSet.add(resourceFile ?? containingFile);
|
|
194
195
|
}
|
|
195
196
|
|
|
196
197
|
this.#watchFileSet.adds(
|
|
197
|
-
...Array.from(stylesheetResult.referencedFiles.values()).map((item) => PathUtil.norm(item))
|
|
198
|
+
...Array.from(stylesheetResult.referencedFiles.values()).map((item) => PathUtil.norm(item))
|
|
198
199
|
);
|
|
199
200
|
}
|
|
200
201
|
|
|
@@ -202,7 +203,7 @@ export class SdTsCompiler {
|
|
|
202
203
|
outputFiles: stylesheetResult.outputFiles,
|
|
203
204
|
metafile: stylesheetResult.metafile,
|
|
204
205
|
errors: stylesheetResult.errors,
|
|
205
|
-
warnings: stylesheetResult.warnings
|
|
206
|
+
warnings: stylesheetResult.warnings
|
|
206
207
|
});
|
|
207
208
|
|
|
208
209
|
return stylesheetResult.contents;
|
|
@@ -234,13 +235,13 @@ export class SdTsCompiler {
|
|
|
234
235
|
messages: [
|
|
235
236
|
...prepareResult.messages,
|
|
236
237
|
...SdCliConvertMessageUtil.convertToBuildMessagesFromTsDiag(buildResult.diagnostics),
|
|
237
|
-
...SdCliConvertMessageUtil.convertToBuildMessagesFromEslint(lintResults)
|
|
238
|
+
...SdCliConvertMessageUtil.convertToBuildMessagesFromEslint(lintResults)
|
|
238
239
|
],
|
|
239
240
|
watchFileSet: this.#watchFileSet,
|
|
240
241
|
affectedFileSet: this.#affectedFileSet,
|
|
241
242
|
stylesheetBundlingResultMap: this.#stylesheetBundlingResultMap,
|
|
242
243
|
emittedFilesCacheMap: this.#emittedFilesCacheMap,
|
|
243
|
-
emitFileSet: buildResult.emitFileSet
|
|
244
|
+
emitFileSet: buildResult.emitFileSet
|
|
244
245
|
};
|
|
245
246
|
}
|
|
246
247
|
|
|
@@ -282,15 +283,16 @@ export class SdTsCompiler {
|
|
|
282
283
|
this.#parsedTsconfig.fileNames,
|
|
283
284
|
this.#parsedTsconfig.options,
|
|
284
285
|
this.#compilerHost,
|
|
285
|
-
this.#ngProgram
|
|
286
|
+
this.#ngProgram
|
|
286
287
|
);
|
|
287
288
|
this.#program = this.#ngProgram.getTsProgram();
|
|
288
|
-
}
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
289
291
|
this.#program = ts.createProgram(
|
|
290
292
|
this.#parsedTsconfig.fileNames,
|
|
291
293
|
this.#parsedTsconfig.options,
|
|
292
294
|
this.#compilerHost,
|
|
293
|
-
this.#program
|
|
295
|
+
this.#program
|
|
294
296
|
);
|
|
295
297
|
}
|
|
296
298
|
});
|
|
@@ -313,7 +315,7 @@ export class SdTsCompiler {
|
|
|
313
315
|
const sourceFileSet = new Set(
|
|
314
316
|
this.#program!.getSourceFiles()
|
|
315
317
|
.map((sf) => getOrgSourceFile(sf))
|
|
316
|
-
.filterExists()
|
|
318
|
+
.filterExists()
|
|
317
319
|
);
|
|
318
320
|
|
|
319
321
|
this.#debug(`get new deps...`);
|
|
@@ -341,8 +343,8 @@ export class SdTsCompiler {
|
|
|
341
343
|
refs
|
|
342
344
|
.filter((item) => "fileName" in item)
|
|
343
345
|
.filter((item) =>
|
|
344
|
-
this.#watchScopePaths.some((scopePath) => PathUtil.isChildPath(item.fileName, scopePath))
|
|
345
|
-
)
|
|
346
|
+
this.#watchScopePaths.some((scopePath) => PathUtil.isChildPath(item.fileName, scopePath))
|
|
347
|
+
)
|
|
346
348
|
);
|
|
347
349
|
}
|
|
348
350
|
|
|
@@ -367,7 +369,8 @@ export class SdTsCompiler {
|
|
|
367
369
|
result.add(targetRefItem.fileName);
|
|
368
370
|
result.adds(...getAllDeps(targetRefItem.fileName, new Set<TNormPath>(prevSet).adds(...result)));
|
|
369
371
|
}
|
|
370
|
-
}
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
371
374
|
for (const targetRefItem of targetDeps.filter((item) => item.exportName === dep.importName)) {
|
|
372
375
|
if (prevSet?.has(targetRefItem.fileName)) continue;
|
|
373
376
|
|
|
@@ -423,9 +426,9 @@ export class SdTsCompiler {
|
|
|
423
426
|
[
|
|
424
427
|
item,
|
|
425
428
|
// .d.ts면 .js파일도 affected에 추가
|
|
426
|
-
item.endsWith(".d.ts") ? PathUtil.norm(item.replace(/\.d\.ts$/, ".js")) : undefined
|
|
427
|
-
].filterExists()
|
|
428
|
-
)
|
|
429
|
+
item.endsWith(".d.ts") ? PathUtil.norm(item.replace(/\.d\.ts$/, ".js")) : undefined
|
|
430
|
+
].filterExists()
|
|
431
|
+
)
|
|
429
432
|
);
|
|
430
433
|
}
|
|
431
434
|
|
|
@@ -451,7 +454,7 @@ export class SdTsCompiler {
|
|
|
451
454
|
}
|
|
452
455
|
|
|
453
456
|
return {
|
|
454
|
-
messages
|
|
457
|
+
messages
|
|
455
458
|
};
|
|
456
459
|
}
|
|
457
460
|
|
|
@@ -459,8 +462,8 @@ export class SdTsCompiler {
|
|
|
459
462
|
return await this.#lintWorker.run("lint", [
|
|
460
463
|
{
|
|
461
464
|
cwd: this.#pkgPath,
|
|
462
|
-
fileSet: this.#affectedFileSet
|
|
463
|
-
}
|
|
465
|
+
fileSet: this.#affectedFileSet
|
|
466
|
+
}
|
|
464
467
|
]);
|
|
465
468
|
}
|
|
466
469
|
|
|
@@ -474,7 +477,7 @@ export class SdTsCompiler {
|
|
|
474
477
|
diagnostics.push(
|
|
475
478
|
...this.#program!.getConfigFileParsingDiagnostics(),
|
|
476
479
|
...this.#program!.getOptionsDiagnostics(),
|
|
477
|
-
...this.#program!.getGlobalDiagnostics()
|
|
480
|
+
...this.#program!.getGlobalDiagnostics()
|
|
478
481
|
);
|
|
479
482
|
|
|
480
483
|
if (this.#ngProgram) {
|
|
@@ -503,7 +506,7 @@ export class SdTsCompiler {
|
|
|
503
506
|
this.#perf.run("get file diagnostics", () => {
|
|
504
507
|
diagnostics.push(
|
|
505
508
|
...this.#program!.getSyntacticDiagnostics(affectedSourceFile),
|
|
506
|
-
...this.#program!.getSemanticDiagnostics(affectedSourceFile)
|
|
509
|
+
...this.#program!.getSemanticDiagnostics(affectedSourceFile)
|
|
507
510
|
);
|
|
508
511
|
});
|
|
509
512
|
|
|
@@ -514,7 +517,7 @@ export class SdTsCompiler {
|
|
|
514
517
|
}
|
|
515
518
|
|
|
516
519
|
diagnostics.push(
|
|
517
|
-
...this.#ngProgram!.compiler.getDiagnosticsForFile(affectedSourceFile, OptimizeFor.WholeProgram)
|
|
520
|
+
...this.#ngProgram!.compiler.getDiagnosticsForFile(affectedSourceFile, OptimizeFor.WholeProgram)
|
|
518
521
|
);
|
|
519
522
|
});
|
|
520
523
|
}
|
|
@@ -528,7 +531,7 @@ export class SdTsCompiler {
|
|
|
528
531
|
if (this.#ngProgram) {
|
|
529
532
|
transformers = {
|
|
530
533
|
...transformers,
|
|
531
|
-
...this.#ngProgram.compiler.prepareEmit().transformers
|
|
534
|
+
...this.#ngProgram.compiler.prepareEmit().transformers
|
|
532
535
|
};
|
|
533
536
|
(transformers.before ??= []).push(replaceBootstrap(() => this.#program!.getTypeChecker()));
|
|
534
537
|
(transformers.before ??= []).push(
|
|
@@ -536,7 +539,7 @@ export class SdTsCompiler {
|
|
|
536
539
|
const fullPath = path.resolve(path.dirname(importer), file);
|
|
537
540
|
const relPath = path.relative(path.resolve(this.#pkgPath, "src"), fullPath);
|
|
538
541
|
return relPath.replace(/\.ts$/, "").replaceAll("\\", "/") + ".js";
|
|
539
|
-
})
|
|
542
|
+
})
|
|
540
543
|
);
|
|
541
544
|
}
|
|
542
545
|
// (transformers.before ??= []).push(transformKeys(this.#program));
|
|
@@ -601,7 +604,7 @@ export class SdTsCompiler {
|
|
|
601
604
|
) {
|
|
602
605
|
realFilePath = PathUtil.norm(
|
|
603
606
|
this.#distPath,
|
|
604
|
-
path.relative(path.resolve(this.#distPath, path.basename(this.#pkgPath), "src"), realFilePath)
|
|
607
|
+
path.relative(path.resolve(this.#distPath, path.basename(this.#pkgPath), "src"), realFilePath)
|
|
605
608
|
);
|
|
606
609
|
|
|
607
610
|
if (fileName.endsWith(".js.map")) {
|
|
@@ -614,9 +617,10 @@ export class SdTsCompiler {
|
|
|
614
617
|
|
|
615
618
|
emitFileInfoCaches.push({
|
|
616
619
|
outAbsPath: realFilePath,
|
|
617
|
-
text: realText
|
|
620
|
+
text: realText
|
|
618
621
|
});
|
|
619
|
-
}
|
|
622
|
+
}
|
|
623
|
+
else {
|
|
620
624
|
emitFileInfoCaches.push({ text });
|
|
621
625
|
}
|
|
622
626
|
|
|
@@ -624,7 +628,7 @@ export class SdTsCompiler {
|
|
|
624
628
|
},
|
|
625
629
|
undefined,
|
|
626
630
|
undefined,
|
|
627
|
-
transformers
|
|
631
|
+
transformers
|
|
628
632
|
);
|
|
629
633
|
}
|
|
630
634
|
});
|
|
@@ -644,9 +648,9 @@ export class SdTsCompiler {
|
|
|
644
648
|
emitFileInfos.push({
|
|
645
649
|
outAbsPath: PathUtil.norm(
|
|
646
650
|
this.#pkgPath,
|
|
647
|
-
path.relative(path.resolve(this.#pkgPath, "src"), this.#globalStyleFilePath!).replace(/\.scss$/, ".css")
|
|
651
|
+
path.relative(path.resolve(this.#pkgPath, "src"), this.#globalStyleFilePath!).replace(/\.scss$/, ".css")
|
|
648
652
|
),
|
|
649
|
-
text: contents
|
|
653
|
+
text: contents
|
|
650
654
|
});
|
|
651
655
|
emitFileSet.add(this.#globalStyleFilePath!);
|
|
652
656
|
});
|
|
@@ -654,7 +658,7 @@ export class SdTsCompiler {
|
|
|
654
658
|
|
|
655
659
|
return {
|
|
656
660
|
emitFileSet,
|
|
657
|
-
diagnostics
|
|
661
|
+
diagnostics
|
|
658
662
|
};
|
|
659
663
|
}
|
|
660
664
|
|
|
@@ -664,18 +668,16 @@ export class SdTsCompiler {
|
|
|
664
668
|
|
|
665
669
|
#findDeps(sf: ts.SourceFile) {
|
|
666
670
|
const deps: (
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
| ISdBuildMessage
|
|
674
|
-
)[] = [];
|
|
671
|
+
{
|
|
672
|
+
fileName: TNormPath;
|
|
673
|
+
importName: string;
|
|
674
|
+
exportName?: string;
|
|
675
|
+
} | ISdBuildMessage
|
|
676
|
+
)[] = [];
|
|
675
677
|
|
|
676
678
|
const tc = this.#program!.getTypeChecker();
|
|
677
679
|
|
|
678
|
-
|
|
680
|
+
const visit = (node: ts.Node) => {
|
|
679
681
|
if (ts.isExportDeclaration(node)) {
|
|
680
682
|
if (node.moduleSpecifier) {
|
|
681
683
|
const moduleSymbol = tc.getSymbolAtLocation(node.moduleSpecifier);
|
|
@@ -688,7 +690,7 @@ export class SdTsCompiler {
|
|
|
688
690
|
code: undefined,
|
|
689
691
|
severity: "error",
|
|
690
692
|
message: "export moduleSymbol not found",
|
|
691
|
-
type: "deps"
|
|
693
|
+
type: "deps"
|
|
692
694
|
});
|
|
693
695
|
return;
|
|
694
696
|
}
|
|
@@ -703,7 +705,7 @@ export class SdTsCompiler {
|
|
|
703
705
|
code: undefined,
|
|
704
706
|
severity: "error",
|
|
705
707
|
message: "export decls not found",
|
|
706
|
-
type: "deps"
|
|
708
|
+
type: "deps"
|
|
707
709
|
});
|
|
708
710
|
return;
|
|
709
711
|
}
|
|
@@ -715,11 +717,14 @@ export class SdTsCompiler {
|
|
|
715
717
|
deps.push({
|
|
716
718
|
fileName: PathUtil.norm(decl.getSourceFile().fileName),
|
|
717
719
|
importName: el.name.text,
|
|
718
|
-
exportName: el.propertyName?.text ?? el.name.text
|
|
720
|
+
exportName: el.propertyName?.text ?? el.name.text
|
|
719
721
|
});
|
|
720
722
|
}
|
|
721
723
|
}
|
|
722
|
-
|
|
724
|
+
|
|
725
|
+
return;
|
|
726
|
+
}
|
|
727
|
+
else {
|
|
723
728
|
if (!moduleSymbol.exports) {
|
|
724
729
|
const pos = ts.getLineAndCharacterOfPosition(sf, node.getStart());
|
|
725
730
|
deps.push({
|
|
@@ -729,7 +734,7 @@ export class SdTsCompiler {
|
|
|
729
734
|
code: undefined,
|
|
730
735
|
severity: "error",
|
|
731
736
|
message: "moduleSymbol exports not found",
|
|
732
|
-
type: "deps"
|
|
737
|
+
type: "deps"
|
|
733
738
|
});
|
|
734
739
|
return;
|
|
735
740
|
}
|
|
@@ -739,25 +744,29 @@ export class SdTsCompiler {
|
|
|
739
744
|
deps.push({
|
|
740
745
|
fileName: PathUtil.norm(decl.getSourceFile().fileName),
|
|
741
746
|
importName: key.toString(),
|
|
742
|
-
exportName: key.toString()
|
|
747
|
+
exportName: key.toString()
|
|
743
748
|
});
|
|
744
749
|
}
|
|
745
750
|
}
|
|
751
|
+
return;
|
|
746
752
|
}
|
|
747
753
|
}
|
|
748
|
-
}
|
|
754
|
+
}
|
|
755
|
+
else if (ts.isImportDeclaration(node)) {
|
|
749
756
|
const moduleSymbol = tc.getSymbolAtLocation(node.moduleSpecifier);
|
|
750
757
|
if (!moduleSymbol) {
|
|
751
758
|
if (ts.isStringLiteral(node.moduleSpecifier) && node.moduleSpecifier.text.startsWith("./")) {
|
|
752
759
|
deps.push({
|
|
753
760
|
fileName: PathUtil.norm(path.resolve(path.dirname(sf.fileName), node.moduleSpecifier.text)),
|
|
754
|
-
importName: "*"
|
|
761
|
+
importName: "*"
|
|
755
762
|
});
|
|
756
763
|
}
|
|
757
764
|
/*else {
|
|
758
765
|
throw new NeverEntryError(`import moduleSymbol: ${sf.fileName} ${node.moduleSpecifier["text"]}`);
|
|
759
766
|
}*/
|
|
760
|
-
|
|
767
|
+
return;
|
|
768
|
+
}
|
|
769
|
+
else {
|
|
761
770
|
const decls = moduleSymbol.getDeclarations();
|
|
762
771
|
if (!decls) {
|
|
763
772
|
const pos = ts.getLineAndCharacterOfPosition(sf, node.getStart());
|
|
@@ -768,7 +777,7 @@ export class SdTsCompiler {
|
|
|
768
777
|
code: undefined,
|
|
769
778
|
severity: "error",
|
|
770
779
|
message: "import decls not found",
|
|
771
|
-
type: "deps"
|
|
780
|
+
type: "deps"
|
|
772
781
|
});
|
|
773
782
|
return;
|
|
774
783
|
}
|
|
@@ -779,21 +788,38 @@ export class SdTsCompiler {
|
|
|
779
788
|
for (const decl of decls) {
|
|
780
789
|
deps.push({
|
|
781
790
|
fileName: PathUtil.norm(decl.getSourceFile().fileName),
|
|
782
|
-
importName: el.name.text
|
|
791
|
+
importName: el.name.text
|
|
783
792
|
});
|
|
784
793
|
}
|
|
785
794
|
}
|
|
786
|
-
|
|
795
|
+
return;
|
|
796
|
+
}
|
|
797
|
+
else {
|
|
787
798
|
for (const decl of decls) {
|
|
788
799
|
deps.push({
|
|
789
800
|
fileName: PathUtil.norm(decl.getSourceFile().fileName),
|
|
790
|
-
importName: "*"
|
|
801
|
+
importName: "*"
|
|
791
802
|
});
|
|
792
803
|
}
|
|
804
|
+
return;
|
|
793
805
|
}
|
|
794
806
|
}
|
|
795
807
|
}
|
|
796
|
-
|
|
808
|
+
|
|
809
|
+
if (ts.isCallExpression(node) && node.expression.kind === ts.SyntaxKind.ImportKeyword) {
|
|
810
|
+
if (ts.isStringLiteral(node.arguments[0]) && node.arguments[0].text.startsWith("./")) {
|
|
811
|
+
deps.push({
|
|
812
|
+
fileName: PathUtil.norm(path.resolve(path.dirname(sf.fileName), node.arguments[0].text)),
|
|
813
|
+
importName: "*"
|
|
814
|
+
});
|
|
815
|
+
return;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
node.forEachChild(visit);
|
|
820
|
+
};
|
|
821
|
+
|
|
822
|
+
sf.forEachChild(visit);
|
|
797
823
|
|
|
798
824
|
return deps;
|
|
799
825
|
}
|
package/tsconfig.json
CHANGED
|
@@ -2,14 +2,6 @@
|
|
|
2
2
|
"extends": "../../tsconfig.base.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
4
|
"lib": ["ES2021"],
|
|
5
|
-
"outDir": "./dist"
|
|
6
|
-
|
|
7
|
-
},
|
|
8
|
-
"files": [
|
|
9
|
-
"./src/index.ts",
|
|
10
|
-
"./src/sd-cli.ts",
|
|
11
|
-
"./src/workers/build-runner-worker.ts",
|
|
12
|
-
"./src/workers/lint-worker.ts",
|
|
13
|
-
"./src/workers/server-worker.ts"
|
|
14
|
-
]
|
|
5
|
+
"outDir": "./dist"
|
|
6
|
+
}
|
|
15
7
|
}
|