@kontur.candy/tools 2.137.0 → 2.139.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/CHANGELOG.md +16 -0
- package/README.md +8 -0
- package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +3 -3
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +2 -2
- package/distr/Tools/src/CLICommands/BuildServer/BuildServerServerOptions.js +25 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesController.js +99 -54
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +9 -9
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +18 -13
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerFormInfoController.js +13 -8
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +52 -11
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/Directories/FarmDirectory.js +8 -2
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +46 -11
- package/distr/Tools/src/CandyCLI.js +84 -29
- package/distr/Tools/src/Commons/Logging/Logger.js +2 -2
- package/package.json +1 -1
|
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.runBuildServer = runBuildServer;
|
|
7
7
|
exports.runDevBuildServer = runDevBuildServer;
|
|
8
8
|
|
|
9
|
+
var _TypingUtils = require("../../../../Common/TypingUtils");
|
|
10
|
+
|
|
9
11
|
var _ExpressServerWrapper = require("../../Commons/HttpServer/ExpressWrapper/ExpressServerWrapper");
|
|
10
12
|
|
|
11
13
|
var _FormsHelperController = require("../FormsHelper/FormsHelperController");
|
|
@@ -30,7 +32,22 @@ var _BuildServerPrebuiltResourcesController = require("./ResourcesControllers/Bu
|
|
|
30
32
|
|
|
31
33
|
var _BuildServerPublishedEngineController = require("./ResourcesControllers/BuildServerPublishedEngineController");
|
|
32
34
|
|
|
33
|
-
async function runBuildServer(context, options,
|
|
35
|
+
async function runBuildServer(context, options, allFarmConfig) {
|
|
36
|
+
(0, _TypingUtils.ensureArrayIsNotEmpty)(allFarmConfig);
|
|
37
|
+
let engineDirectory = "";
|
|
38
|
+
|
|
39
|
+
for (const conf of allFarmConfig) {
|
|
40
|
+
if (conf.engineDirectory != undefined) {
|
|
41
|
+
engineDirectory = conf.engineDirectory;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (engineDirectory === "") {
|
|
47
|
+
throw Error("All Engine directory is empty");
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;
|
|
34
51
|
const formTestingHelpersWebServer = new _ExpressServerWrapper.ExpressServerWrapper(9010, undefined, context.logger, "Forms helpers");
|
|
35
52
|
formTestingHelpersWebServer.registerSigletonController(new _FormsHelperController.FormsHelperController({
|
|
36
53
|
frontEndDevMode: options.developmentMode
|
|
@@ -41,16 +58,16 @@ async function runBuildServer(context, options, engineDirectory, farmDirectory,
|
|
|
41
58
|
webServer.registerSigletonController(new _BuildLogsWebsocketController.BuildLogsWebsocketController());
|
|
42
59
|
}
|
|
43
60
|
|
|
44
|
-
const buildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(
|
|
61
|
+
const buildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(allFarmConfig, candyModulesDirectory, false, engineDirectory, options.buildDebugOnly, options.nightly);
|
|
45
62
|
webServer.registerSigletonController(buildFormsController);
|
|
46
|
-
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(
|
|
47
|
-
webServer.registerSigletonController(new _BuildServerFormInfoController.BuildServerFormInfoController(
|
|
63
|
+
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(allFarmConfig, buildFormsController));
|
|
64
|
+
webServer.registerSigletonController(new _BuildServerFormInfoController.BuildServerFormInfoController(allFarmConfig, false, options.nightly));
|
|
48
65
|
webServer.registerSigletonController(new _BuildServerPrebuiltResourcesController.BuildServerPrebuiltResourcesController());
|
|
49
66
|
webServer.registerSigletonController(new _BuildServerPublishedEngineController.BuildServerPublishedEngineController(candyModulesDirectory));
|
|
50
67
|
webServer.registerSigletonController(new _BuildServerClientJsFromResourcesController.BuildServerClientJsFromResourcesController(options.disableClientOverride, {
|
|
51
68
|
frontEndDevMode: options.developmentMode
|
|
52
69
|
}));
|
|
53
|
-
webServer.registerSigletonController(new _BuildServerBackendResourcesUpdatesController.BuildServerBackendResourcesUpdatesController(
|
|
70
|
+
webServer.registerSigletonController(new _BuildServerBackendResourcesUpdatesController.BuildServerBackendResourcesUpdatesController(allFarmConfig));
|
|
54
71
|
await formTestingHelpersWebServer.start();
|
|
55
72
|
await webServer.start();
|
|
56
73
|
await context.waitForExit();
|
|
@@ -58,7 +75,25 @@ async function runBuildServer(context, options, engineDirectory, farmDirectory,
|
|
|
58
75
|
await formTestingHelpersWebServer.stop();
|
|
59
76
|
}
|
|
60
77
|
|
|
61
|
-
async function runDevBuildServer(context, options,
|
|
78
|
+
async function runDevBuildServer(context, options, allFarmConfig) {
|
|
79
|
+
if (allFarmConfig[0] == undefined) {
|
|
80
|
+
throw Error("Config can't be length 0");
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
let engineDirectory = "";
|
|
84
|
+
|
|
85
|
+
for (const conf of allFarmConfig) {
|
|
86
|
+
if (conf.engineDirectory != undefined) {
|
|
87
|
+
engineDirectory = conf.engineDirectory;
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (engineDirectory === "") {
|
|
93
|
+
throw Error("All Engine directory is empty");
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
const candyModulesDirectory = allFarmConfig[0].candyModulesDirectory;
|
|
62
97
|
const formTestingHelpersWebServer = new _ExpressServerWrapper.ExpressServerWrapper(9010, undefined, context.logger, "Forms helpers");
|
|
63
98
|
formTestingHelpersWebServer.registerSigletonController(new _FormsHelperController.FormsHelperController({
|
|
64
99
|
frontEndDevMode: options.developmentMode
|
|
@@ -69,21 +104,21 @@ async function runDevBuildServer(context, options, engineDirectory, farmDirector
|
|
|
69
104
|
webServer.registerSigletonController(new _BuildLogsWebsocketController.BuildLogsWebsocketController());
|
|
70
105
|
}
|
|
71
106
|
|
|
72
|
-
const buildServerBuildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(
|
|
107
|
+
const buildServerBuildFormsController = new _BuildServerBuildFormsController.BuildServerBuildFormsController(allFarmConfig, candyModulesDirectory, true, engineDirectory, options.buildDebugOnly);
|
|
73
108
|
webServer.registerSigletonController(buildServerBuildFormsController);
|
|
74
|
-
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(
|
|
75
|
-
webServer.registerSigletonController(new _BuildServerFormInfoController.BuildServerFormInfoController(
|
|
109
|
+
webServer.registerSigletonController(new _BuildServerBackendResourcesController.BuildServerBackendResourcesController(allFarmConfig, buildServerBuildFormsController));
|
|
110
|
+
webServer.registerSigletonController(new _BuildServerFormInfoController.BuildServerFormInfoController(allFarmConfig, true, false));
|
|
76
111
|
webServer.registerSigletonController(new _BuildServerPrebuiltResourcesController.BuildServerPrebuiltResourcesController());
|
|
77
112
|
webServer.registerSigletonController(new _BuildServerPublishedEngineController.BuildServerPublishedEngineController(candyModulesDirectory));
|
|
78
113
|
webServer.registerSigletonController(new _BuildServerLocalSourcesEngineController.BuildServerLocalSourcesEngineController(engineDirectory, options.buildDebugOnly));
|
|
79
114
|
webServer.registerSigletonController(new _BuildServerClientJsController.BuildServerClientJsController(engineDirectory, options.buildDebugOnly, options.disableClientOverride, {
|
|
80
115
|
frontEndDevMode: options.developmentMode
|
|
81
116
|
}));
|
|
82
|
-
webServer.registerSigletonController(new _BuildServerBackendResourcesUpdatesController.BuildServerBackendResourcesUpdatesController(
|
|
117
|
+
webServer.registerSigletonController(new _BuildServerBackendResourcesUpdatesController.BuildServerBackendResourcesUpdatesController(allFarmConfig));
|
|
83
118
|
await formTestingHelpersWebServer.start();
|
|
84
119
|
await webServer.start();
|
|
85
120
|
await context.waitForExit();
|
|
86
121
|
await webServer.stop();
|
|
87
122
|
await formTestingHelpersWebServer.stop();
|
|
88
123
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SdW5CdWlsZFNlcnZlci50cyJdLCJuYW1lcyI6WyJydW5CdWlsZFNlcnZlciIsImNvbnRleHQiLCJvcHRpb25zIiwiZW5naW5lRGlyZWN0b3J5IiwiZmFybURpcmVjdG9yeSIsInJlc291cmNlc0RpcmVjdG9yeSIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImhsRmFybURpcmVjdG9yeVBhdGgiLCJmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIiLCJFeHByZXNzU2VydmVyV3JhcHBlciIsInVuZGVmaW5lZCIsImxvZ2dlciIsInJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyIiwiRm9ybXNIZWxwZXJDb250cm9sbGVyIiwiZnJvbnRFbmREZXZNb2RlIiwiZGV2ZWxvcG1lbnRNb2RlIiwid2ViU2VydmVyIiwiZGlzYWJsZUNsaWVudE92ZXJyaWRlIiwiQnVpbGRMb2dzV2Vic29ja2V0Q29udHJvbGxlciIsImJ1aWxkRm9ybXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlciIsImJ1aWxkRGVidWdPbmx5IiwibmlnaHRseSIsIkJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXIiLCJzdGFydCIsIndhaXRGb3JFeGl0Iiwic3RvcCIsInJ1bkRldkJ1aWxkU2VydmVyIiwiYnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyTG9jYWxTb3VyY2Vz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Q3RHSCxJQUFBQSxlQUFlLEVBQUVaLE9BQU8sQ0FBQ2E7QUFENkUsR0FBMUcsQ0FESjtBQUtBQyxFQUFBQSxTQUFTLENBQUNKLDBCQUFWLENBQXFDLElBQUlnQiwwRkFBSixDQUFpRHhCLGFBQWpELENBQXJDO0FBQ0EsUUFBTUksMkJBQTJCLENBQUNxQixLQUE1QixFQUFOO0FBQ0EsUUFBTWIsU0FBUyxDQUFDYSxLQUFWLEVBQU47QUFDQSxRQUFNNUIsT0FBTyxDQUFDNkIsV0FBUixFQUFOO0FBQ0EsUUFBTWQsU0FBUyxDQUFDZSxJQUFWLEVBQU47QUFDQSxRQUFNdkIsMkJBQTJCLENBQUN1QixJQUE1QixFQUFOO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcbmltcG9ydCB7IEV4cHJlc3NTZXJ2ZXJXcmFwcGVyIH0gZnJvbSBcIi4uLy4uL0NvbW1vbnMvSHR0cFNlcnZlci9FeHByZXNzV3JhcHBlci9FeHByZXNzU2VydmVyV3JhcHBlclwiO1xuaW1wb3J0IHsgRm9ybXNIZWxwZXJDb250cm9sbGVyIH0gZnJvbSBcIi4uL0Zvcm1zSGVscGVyL0Zvcm1zSGVscGVyQ29udHJvbGxlclwiO1xuXG5pbXBvcnQgeyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyIH0gZnJvbSBcIi4vQnVpbGRMb2dzV2Vic29ja2V0Q29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJPcHRpb25zLCBEZXZCdWlsZFNlcnZlck9wdGlvbnMgfSBmcm9tIFwiLi9CdWlsZFNlcnZlclNlcnZlck9wdGlvbnNcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc1VwZGF0ZXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlclwiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuQnVpbGRTZXJ2ZXIoXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCxcbiAgICBvcHRpb25zOiBCdWlsZFNlcnZlck9wdGlvbnMsXG4gICAgZW5naW5lRGlyZWN0b3J5OiBzdHJpbmcsXG4gICAgZmFybURpcmVjdG9yeTogc3RyaW5nLFxuICAgIHJlc291cmNlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogc3RyaW5nLFxuICAgIGhsRmFybURpcmVjdG9yeVBhdGg6IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyID0gbmV3IEV4cHJlc3NTZXJ2ZXJXcmFwcGVyKDkwMTAsIHVuZGVmaW5lZCwgY29udGV4dC5sb2dnZXIsIFwiRm9ybXMgaGVscGVyc1wiKTtcbiAgICBmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBGb3Jtc0hlbHBlckNvbnRyb2xsZXIoeyBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHdlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDAwLCA5MDQzLCBjb250ZXh0LmxvZ2dlcik7XG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSkge1xuICAgICAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIoKSk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkRm9ybXNDb250cm9sbGVyID0gbmV3IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIoXG4gICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgb3B0aW9ucy5idWlsZERlYnVnT25seSxcbiAgICAgICAgb3B0aW9ucy5uaWdodGx5XG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoYnVpbGRGb3Jtc0NvbnRyb2xsZXIpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXIoZmFybURpcmVjdG9yeSwgYnVpbGRGb3Jtc0NvbnRyb2xsZXIpXG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyKGZhcm1EaXJlY3RvcnksIGZhbHNlLCBvcHRpb25zLm5pZ2h0bHkpKTtcblxuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIoKSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIoY2FuZHlNb2R1bGVzRGlyZWN0b3J5KSk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJDbGllbnRKc0Zyb21SZXNvdXJjZXNDb250cm9sbGVyKG9wdGlvbnMuZGlzYWJsZUNsaWVudE92ZXJyaWRlLCB7XG4gICAgICAgICAgICBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlLFxuICAgICAgICB9KVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlcihmYXJtRGlyZWN0b3J5KSk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgd2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgY29udGV4dC53YWl0Rm9yRXhpdCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdG9wKCk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0b3AoKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bkRldkJ1aWxkU2VydmVyKFxuICAgIGNvbnRleHQ6IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQsXG4gICAgb3B0aW9uczogRGV2QnVpbGRTZXJ2ZXJPcHRpb25zLFxuICAgIGVuZ2luZURpcmVjdG9yeTogc3RyaW5nLFxuICAgIGZhcm1EaXJlY3Rvcnk6IHN0cmluZyxcbiAgICByZXNvdXJjZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZyxcbiAgICBobEZhcm1EaXJlY3RvcnlQYXRoOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDEwLCB1bmRlZmluZWQsIGNvbnRleHQubG9nZ2VyLCBcIkZvcm1zIGhlbHBlcnNcIik7XG4gICAgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgRm9ybXNIZWxwZXJDb250cm9sbGVyKHsgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSB9KVxuICAgICk7XG5cbiAgICBjb25zdCB3ZWJTZXJ2ZXIgPSBuZXcgRXhwcmVzc1NlcnZlcldyYXBwZXIoOTAwMCwgOTA0MywgY29udGV4dC5sb2dnZXIpO1xuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlQ2xpZW50T3ZlcnJpZGUpIHtcbiAgICAgICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyKCkpO1xuICAgIH1cbiAgICBjb25zdCBidWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyID0gbmV3IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIoXG4gICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgaGxGYXJtRGlyZWN0b3J5UGF0aCxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICBvcHRpb25zLmJ1aWxkRGVidWdPbmx5XG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoYnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlcik7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlcihmYXJtRGlyZWN0b3J5LCBidWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyKVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlcihmYXJtRGlyZWN0b3J5LCB0cnVlLCBmYWxzZSkpO1xuXG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlclByZWJ1aWx0UmVzb3VyY2VzQ29udHJvbGxlcigpKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyUHVibGlzaGVkRW5naW5lQ29udHJvbGxlcihjYW5keU1vZHVsZXNEaXJlY3RvcnkpKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBCdWlsZFNlcnZlckxvY2FsU291cmNlc0VuZ2luZUNvbnRyb2xsZXIoZW5naW5lRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkRGVidWdPbmx5KVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJDbGllbnRKc0NvbnRyb2xsZXIoZW5naW5lRGlyZWN0b3J5LCBvcHRpb25zLmJ1aWxkRGVidWdPbmx5LCBvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSwge1xuICAgICAgICAgICAgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSxcbiAgICAgICAgfSlcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXIoZmFybURpcmVjdG9yeSkpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcbiAgICBhd2FpdCB3ZWJTZXJ2ZXIuc3RvcCgpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdG9wKCk7XG59XG4iXX0=
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9DTElDb21tYW5kcy9CdWlsZFNlcnZlci9SdW5CdWlsZFNlcnZlci50cyJdLCJuYW1lcyI6WyJydW5CdWlsZFNlcnZlciIsImNvbnRleHQiLCJvcHRpb25zIiwiYWxsRmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsImNvbmYiLCJ1bmRlZmluZWQiLCJFcnJvciIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsImZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlciIsIkV4cHJlc3NTZXJ2ZXJXcmFwcGVyIiwibG9nZ2VyIiwicmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIiLCJGb3Jtc0hlbHBlckNvbnRyb2xsZXIiLCJmcm9udEVuZERldk1vZGUiLCJkZXZlbG9wbWVudE1vZGUiLCJ3ZWJTZXJ2ZXIiLCJkaXNhYmxlQ2xpZW50T3ZlcnJpZGUiLCJCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyIiwiYnVpbGRGb3Jtc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIiwiYnVpbGREZWJ1Z09ubHkiLCJuaWdodGx5IiwiQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciIsIkJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlclB1Ymxpc2hlZEVuZ2luZUNvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIiLCJCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlciIsInN0YXJ0Iiwid2FpdEZvckV4aXQiLCJzdG9wIiwicnVuRGV2QnVpbGRTZXJ2ZXIiLCJidWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyIiwiQnVpbGRTZXJ2ZXJMb2NhbFNvdXJjZXNFbmdpbmVDb250cm9sbGVyIiwiQnVpbGRTZXJ2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aWcgfSBmcm9tIFwiVG9vbHMvc3JjL0NhbmR5Q0xJXCI7XG5cbmltcG9ydCB7IGVuc3VyZUFycmF5SXNOb3RFbXB0eSB9IGZyb20gXCIuLi8uLi8uLi8uLi9Db21tb24vVHlwaW5nVXRpbHNcIjtcbmltcG9ydCB7IENvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHQgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9Db25zb2xlQXBwbGljYXRpb24vQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFwiO1xuaW1wb3J0IHsgRXhwcmVzc1NlcnZlcldyYXBwZXIgfSBmcm9tIFwiLi4vLi4vQ29tbW9ucy9IdHRwU2VydmVyL0V4cHJlc3NXcmFwcGVyL0V4cHJlc3NTZXJ2ZXJXcmFwcGVyXCI7XG5pbXBvcnQgeyBGb3Jtc0hlbHBlckNvbnRyb2xsZXIgfSBmcm9tIFwiLi4vRm9ybXNIZWxwZXIvRm9ybXNIZWxwZXJDb250cm9sbGVyXCI7XG5cbmltcG9ydCB7IEJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIgfSBmcm9tIFwiLi9CdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlck9wdGlvbnMsIERldkJ1aWxkU2VydmVyT3B0aW9ucyB9IGZyb20gXCIuL0J1aWxkU2VydmVyU2VydmVyT3B0aW9uc1wiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyQmFja2VuZFJlc291cmNlc1VwZGF0ZXNDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyQ2xpZW50SnNDb250cm9sbGVyXCI7XG5pbXBvcnQgeyBCdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlckNsaWVudEpzRnJvbVJlc291cmNlc0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJGb3JtSW5mb0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IEJ1aWxkU2VydmVyTG9jYWxTb3VyY2VzRW5naW5lQ29udHJvbGxlciB9IGZyb20gXCIuL1Jlc291cmNlc0NvbnRyb2xsZXJzL0J1aWxkU2VydmVyTG9jYWxTb3VyY2VzRW5naW5lQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJQcmVidWlsdFJlc291cmNlc0NvbnRyb2xsZXIgfSBmcm9tIFwiLi9SZXNvdXJjZXNDb250cm9sbGVycy9CdWlsZFNlcnZlclByZWJ1aWx0UmVzb3VyY2VzQ29udHJvbGxlclwiO1xuaW1wb3J0IHsgQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyIH0gZnJvbSBcIi4vUmVzb3VyY2VzQ29udHJvbGxlcnMvQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyXCI7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5CdWlsZFNlcnZlcihcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IEJ1aWxkU2VydmVyT3B0aW9ucyxcbiAgICBhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW11cbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGVuc3VyZUFycmF5SXNOb3RFbXB0eShhbGxGYXJtQ29uZmlnKTtcblxuICAgIGxldCBlbmdpbmVEaXJlY3RvcnkgPSBcIlwiO1xuICAgIGZvciAoY29uc3QgY29uZiBvZiBhbGxGYXJtQ29uZmlnKSB7XG4gICAgICAgIGlmIChjb25mLmVuZ2luZURpcmVjdG9yeSAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSA9IGNvbmYuZW5naW5lRGlyZWN0b3J5O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVuZ2luZURpcmVjdG9yeSA9PT0gXCJcIikge1xuICAgICAgICB0aHJvdyBFcnJvcihcIkFsbCBFbmdpbmUgZGlyZWN0b3J5IGlzIGVtcHR5XCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IGFsbEZhcm1Db25maWdbMF0uY2FuZHlNb2R1bGVzRGlyZWN0b3J5O1xuXG4gICAgY29uc3QgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyID0gbmV3IEV4cHJlc3NTZXJ2ZXJXcmFwcGVyKDkwMTAsIHVuZGVmaW5lZCwgY29udGV4dC5sb2dnZXIsIFwiRm9ybXMgaGVscGVyc1wiKTtcbiAgICBmb3JtVGVzdGluZ0hlbHBlcnNXZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBGb3Jtc0hlbHBlckNvbnRyb2xsZXIoeyBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlIH0pXG4gICAgKTtcblxuICAgIGNvbnN0IHdlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDAwLCA5MDQzLCBjb250ZXh0LmxvZ2dlcik7XG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSkge1xuICAgICAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkTG9nc1dlYnNvY2tldENvbnRyb2xsZXIoKSk7XG4gICAgfVxuICAgIGNvbnN0IGJ1aWxkRm9ybXNDb250cm9sbGVyID0gbmV3IEJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIoXG4gICAgICAgIGFsbEZhcm1Db25maWcsXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgb3B0aW9ucy5idWlsZERlYnVnT25seSxcbiAgICAgICAgb3B0aW9ucy5uaWdodGx5XG4gICAgKTtcblxuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihidWlsZEZvcm1zQ29udHJvbGxlcik7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnLCBidWlsZEZvcm1zQ29udHJvbGxlcilcbiAgICApO1xuXG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckZvcm1JbmZvQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnLCBmYWxzZSwgb3B0aW9ucy5uaWdodGx5KSk7XG5cbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyKCkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyKGNhbmR5TW9kdWxlc0RpcmVjdG9yeSkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyQ2xpZW50SnNGcm9tUmVzb3VyY2VzQ29udHJvbGxlcihvcHRpb25zLmRpc2FibGVDbGllbnRPdmVycmlkZSwge1xuICAgICAgICAgICAgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSxcbiAgICAgICAgfSlcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJCYWNrZW5kUmVzb3VyY2VzVXBkYXRlc0NvbnRyb2xsZXIoYWxsRmFybUNvbmZpZykpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdGFydCgpO1xuICAgIGF3YWl0IGNvbnRleHQud2FpdEZvckV4aXQoKTtcbiAgICBhd2FpdCB3ZWJTZXJ2ZXIuc3RvcCgpO1xuICAgIGF3YWl0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlci5zdG9wKCk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBydW5EZXZCdWlsZFNlcnZlcihcbiAgICBjb250ZXh0OiBDb25zb2xlQXBwbGljYXRpb25Db250ZXh0LFxuICAgIG9wdGlvbnM6IERldkJ1aWxkU2VydmVyT3B0aW9ucyxcbiAgICBhbGxGYXJtQ29uZmlnOiBGYXJtQ29uZmlnW11cbik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChhbGxGYXJtQ29uZmlnWzBdID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBFcnJvcihcIkNvbmZpZyBjYW4ndCBiZSBsZW5ndGggMFwiKTtcbiAgICB9XG5cbiAgICBsZXQgZW5naW5lRGlyZWN0b3J5ID0gXCJcIjtcbiAgICBmb3IgKGNvbnN0IGNvbmYgb2YgYWxsRmFybUNvbmZpZykge1xuICAgICAgICBpZiAoY29uZi5lbmdpbmVEaXJlY3RvcnkgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBlbmdpbmVEaXJlY3RvcnkgPSBjb25mLmVuZ2luZURpcmVjdG9yeTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChlbmdpbmVEaXJlY3RvcnkgPT09IFwiXCIpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoXCJBbGwgRW5naW5lIGRpcmVjdG9yeSBpcyBlbXB0eVwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBhbGxGYXJtQ29uZmlnWzBdLmNhbmR5TW9kdWxlc0RpcmVjdG9yeTtcblxuICAgIGNvbnN0IGZvcm1UZXN0aW5nSGVscGVyc1dlYlNlcnZlciA9IG5ldyBFeHByZXNzU2VydmVyV3JhcHBlcig5MDEwLCB1bmRlZmluZWQsIGNvbnRleHQubG9nZ2VyLCBcIkZvcm1zIGhlbHBlcnNcIik7XG4gICAgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKFxuICAgICAgICBuZXcgRm9ybXNIZWxwZXJDb250cm9sbGVyKHsgZnJvbnRFbmREZXZNb2RlOiBvcHRpb25zLmRldmVsb3BtZW50TW9kZSB9KVxuICAgICk7XG5cbiAgICBjb25zdCB3ZWJTZXJ2ZXIgPSBuZXcgRXhwcmVzc1NlcnZlcldyYXBwZXIoOTAwMCwgOTA0MywgY29udGV4dC5sb2dnZXIpO1xuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlQ2xpZW50T3ZlcnJpZGUpIHtcbiAgICAgICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZExvZ3NXZWJzb2NrZXRDb250cm9sbGVyKCkpO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIgPSBuZXcgQnVpbGRTZXJ2ZXJCdWlsZEZvcm1zQ29udHJvbGxlcihcbiAgICAgICAgYWxsRmFybUNvbmZpZyxcbiAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgICAgICB0cnVlLFxuICAgICAgICBlbmdpbmVEaXJlY3RvcnksXG4gICAgICAgIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHlcbiAgICApO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihidWlsZFNlcnZlckJ1aWxkRm9ybXNDb250cm9sbGVyKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNDb250cm9sbGVyKGFsbEZhcm1Db25maWcsIGJ1aWxkU2VydmVyQnVpbGRGb3Jtc0NvbnRyb2xsZXIpXG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyRm9ybUluZm9Db250cm9sbGVyKGFsbEZhcm1Db25maWcsIHRydWUsIGZhbHNlKSk7XG5cbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIobmV3IEJ1aWxkU2VydmVyUHJlYnVpbHRSZXNvdXJjZXNDb250cm9sbGVyKCkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihuZXcgQnVpbGRTZXJ2ZXJQdWJsaXNoZWRFbmdpbmVDb250cm9sbGVyKGNhbmR5TW9kdWxlc0RpcmVjdG9yeSkpO1xuICAgIHdlYlNlcnZlci5yZWdpc3RlclNpZ2xldG9uQ29udHJvbGxlcihcbiAgICAgICAgbmV3IEJ1aWxkU2VydmVyTG9jYWxTb3VyY2VzRW5naW5lQ29udHJvbGxlcihlbmdpbmVEaXJlY3RvcnksIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHkpXG4gICAgKTtcbiAgICB3ZWJTZXJ2ZXIucmVnaXN0ZXJTaWdsZXRvbkNvbnRyb2xsZXIoXG4gICAgICAgIG5ldyBCdWlsZFNlcnZlckNsaWVudEpzQ29udHJvbGxlcihlbmdpbmVEaXJlY3RvcnksIG9wdGlvbnMuYnVpbGREZWJ1Z09ubHksIG9wdGlvbnMuZGlzYWJsZUNsaWVudE92ZXJyaWRlLCB7XG4gICAgICAgICAgICBmcm9udEVuZERldk1vZGU6IG9wdGlvbnMuZGV2ZWxvcG1lbnRNb2RlLFxuICAgICAgICB9KVxuICAgICk7XG4gICAgd2ViU2VydmVyLnJlZ2lzdGVyU2lnbGV0b25Db250cm9sbGVyKG5ldyBCdWlsZFNlcnZlckJhY2tlbmRSZXNvdXJjZXNVcGRhdGVzQ29udHJvbGxlcihhbGxGYXJtQ29uZmlnKSk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgd2ViU2VydmVyLnN0YXJ0KCk7XG4gICAgYXdhaXQgY29udGV4dC53YWl0Rm9yRXhpdCgpO1xuICAgIGF3YWl0IHdlYlNlcnZlci5zdG9wKCk7XG4gICAgYXdhaXQgZm9ybVRlc3RpbmdIZWxwZXJzV2ViU2VydmVyLnN0b3AoKTtcbn1cbiJdfQ==
|
|
@@ -2,25 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
require("core-js/stable");
|
|
6
|
-
|
|
7
|
-
require("regenerator-runtime/runtime");
|
|
8
|
-
|
|
9
5
|
require("core-js/features/array/flat");
|
|
10
6
|
|
|
11
7
|
require("core-js/proposals/iterator-helpers");
|
|
12
8
|
|
|
13
|
-
require("
|
|
9
|
+
require("core-js/stable");
|
|
14
10
|
|
|
15
11
|
var _path = _interopRequireDefault(require("path"));
|
|
16
12
|
|
|
17
13
|
var _fsExtra = require("fs-extra");
|
|
18
14
|
|
|
19
|
-
|
|
15
|
+
require("reflect-metadata");
|
|
20
16
|
|
|
21
|
-
|
|
17
|
+
require("regenerator-runtime/runtime");
|
|
22
18
|
|
|
23
|
-
var
|
|
19
|
+
var _shelljs = require("shelljs");
|
|
24
20
|
|
|
25
21
|
var _RunBuildForms = require("./CLICommands/BuildForms/RunBuildForms");
|
|
26
22
|
|
|
@@ -36,6 +32,10 @@ var _RunLocalization = require("./CLICommands/Localization/RunLocalization");
|
|
|
36
32
|
|
|
37
33
|
var _RunUpgradeForm = require("./CLICommands/UpgradeForm/RunUpgradeForm");
|
|
38
34
|
|
|
35
|
+
var _ConsoleApplication = require("./Commons/ConsoleApplication/ConsoleApplication");
|
|
36
|
+
|
|
37
|
+
var _StaticLogger = require("./Commons/Logging/StaticLogger");
|
|
38
|
+
|
|
39
39
|
var _CandyToolOptions = require("./Options/CandyToolOptions");
|
|
40
40
|
|
|
41
41
|
var _ReadFarmConfig = require("./ReadFarmConfig");
|
|
@@ -73,13 +73,57 @@ async function removeTemporaryWebpackConfigFiles(farmDirectory, logger) {
|
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
+
function validateFarmConfig(farmDirectory) {
|
|
77
|
+
const farmConfig = (0, _ReadFarmConfig.readFarmConfig)(farmDirectory);
|
|
78
|
+
|
|
79
|
+
if (farmConfig.engineDirectory == undefined) {
|
|
80
|
+
throw new Error("EngineDirectory is not specified");
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (farmConfig.resourcesDirectory == undefined) {
|
|
84
|
+
throw new Error("ResourcesDirectory is not specified");
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const candyModulesDirectory = _path.default.resolve(farmDirectory, "..", ".candy_modules");
|
|
88
|
+
|
|
89
|
+
return { ...farmConfig,
|
|
90
|
+
farmDirectory: farmDirectory,
|
|
91
|
+
candyModulesDirectory: candyModulesDirectory
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const validateAndPrepareFarmDirectoriesPath = async (allFarmDirectories, currentDir, context) => {
|
|
96
|
+
const result = [];
|
|
97
|
+
|
|
98
|
+
for (const pth of allFarmDirectories) {
|
|
99
|
+
if (await (0, _fsExtra.pathExists)(_path.default.join(pth, "config.js"))) {
|
|
100
|
+
await removeTemporaryWebpackConfigFiles(pth, context.logger);
|
|
101
|
+
result.push(validateFarmConfig(pth));
|
|
102
|
+
} else {
|
|
103
|
+
// Все дело в том, что связка service-runner-2 + tools корректно работает только в папке с формой
|
|
104
|
+
// из за чего, внутри раннера напилен хитрый механизм поиска путей формы. Перепиливать все механики
|
|
105
|
+
// совсем не хочется, поэтому для нас, считаю поднятие до уровня engine вполне приемлемым решением
|
|
106
|
+
const pathToFarm = _path.default.join(currentDir, "..", "..", "..", pth);
|
|
107
|
+
|
|
108
|
+
if (!(await (0, _fsExtra.pathExists)(pathToFarm))) {
|
|
109
|
+
throw Error(`allFarmDirectories path = ${pathToFarm} not exist`);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
await removeTemporaryWebpackConfigFiles(pathToFarm, context.logger);
|
|
113
|
+
result.push(validateFarmConfig(pathToFarm));
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return result;
|
|
118
|
+
};
|
|
119
|
+
|
|
76
120
|
(0, _ConsoleApplication.runConsoleApplication)(async (argv, context) => {
|
|
77
121
|
remoteInspectFlagToDisableDebuggerInChildProcess();
|
|
78
122
|
context.logger.log("@kontur.candy/tools: " + (await (0, _SelfUpdate.getCurrentVersion)()));
|
|
79
|
-
const
|
|
80
|
-
context.setConsoleLoggingVerbosity(
|
|
123
|
+
const parsedArgs = (0, _CandyToolOptions.parseOptions)(argv);
|
|
124
|
+
context.setConsoleLoggingVerbosity(parsedArgs.options.logVerbosity);
|
|
81
125
|
(0, _StaticLogger.setLogger)(context.logger);
|
|
82
|
-
context.logger.verbose(`Verbose level: ${
|
|
126
|
+
context.logger.verbose(`Verbose level: ${parsedArgs.options.logVerbosity}`);
|
|
83
127
|
const farmDirectory = process.cwd();
|
|
84
128
|
await removeTemporaryWebpackConfigFiles(farmDirectory, context.logger);
|
|
85
129
|
const farmConfig = (0, _ReadFarmConfig.readFarmConfig)(farmDirectory);
|
|
@@ -98,36 +142,47 @@ async function removeTemporaryWebpackConfigFiles(farmDirectory, logger) {
|
|
|
98
142
|
|
|
99
143
|
const candyModulesDirectory = _path.default.resolve(farmDirectory, "..", ".candy_modules");
|
|
100
144
|
|
|
101
|
-
if (
|
|
102
|
-
|
|
103
|
-
|
|
145
|
+
if (parsedArgs.type === "build-server" || parsedArgs.type === "dev-build-server") {
|
|
146
|
+
const allFarmDirectories = parsedArgs.options.allFarmsDir;
|
|
147
|
+
context.logger.warning(`allFarmDirectories = ${parsedArgs.options.allFarmsDir}`);
|
|
148
|
+
let allFarmConfig;
|
|
149
|
+
|
|
150
|
+
if (Array.isArray(allFarmDirectories) && allFarmDirectories.length > 0) {
|
|
151
|
+
allFarmConfig = await validateAndPrepareFarmDirectoriesPath(allFarmDirectories, farmDirectory, context);
|
|
152
|
+
} else {
|
|
153
|
+
context.logger.warning(`Use default candyFarm path dir = ${farmDirectory}`);
|
|
154
|
+
allFarmConfig = await validateAndPrepareFarmDirectoriesPath([farmDirectory], farmDirectory, context);
|
|
155
|
+
}
|
|
104
156
|
|
|
105
|
-
|
|
106
|
-
|
|
157
|
+
if (parsedArgs.type === "dev-build-server") {
|
|
158
|
+
await (0, _RunBuildServer.runDevBuildServer)(context, parsedArgs.options, allFarmConfig);
|
|
159
|
+
} else {
|
|
160
|
+
await (0, _RunBuildServer.runBuildServer)(context, parsedArgs.options, allFarmConfig);
|
|
161
|
+
}
|
|
107
162
|
}
|
|
108
163
|
|
|
109
|
-
if (
|
|
110
|
-
await (0, _RunBuildForms.runBuildForms)(context,
|
|
164
|
+
if (parsedArgs.type === "build") {
|
|
165
|
+
await (0, _RunBuildForms.runBuildForms)(context, parsedArgs.options, farmDirectory, resourcesDirectory, engineDirectory, candyModulesDirectory, farmConfig.hlFarmDirectoryPath);
|
|
111
166
|
}
|
|
112
167
|
|
|
113
|
-
if (
|
|
114
|
-
await (0, _RunDevBuild.runDevBuild)(context,
|
|
168
|
+
if (parsedArgs.type === "dev-build") {
|
|
169
|
+
await (0, _RunDevBuild.runDevBuild)(context, parsedArgs.options, engineDirectory, resourcesDirectory, farmDirectory, candyModulesDirectory, farmConfig.hlFarmDirectoryPath);
|
|
115
170
|
}
|
|
116
171
|
|
|
117
|
-
if (
|
|
118
|
-
await (0, _RunFormStats.runFormStats)(context,
|
|
172
|
+
if (parsedArgs.type === "form-stats") {
|
|
173
|
+
await (0, _RunFormStats.runFormStats)(context, parsedArgs.options, farmDirectory);
|
|
119
174
|
}
|
|
120
175
|
|
|
121
|
-
if (
|
|
122
|
-
await (0, _RunUpgradeForm.runUpgradeForm)(context,
|
|
176
|
+
if (parsedArgs.type === "upgrade") {
|
|
177
|
+
await (0, _RunUpgradeForm.runUpgradeForm)(context, parsedArgs.options, resourcesDirectory, farmDirectory);
|
|
123
178
|
}
|
|
124
179
|
|
|
125
|
-
if (
|
|
126
|
-
await (0, _RunLocalization.runLocalization)(context,
|
|
180
|
+
if (parsedArgs.type === "localize") {
|
|
181
|
+
await (0, _RunLocalization.runLocalization)(context, parsedArgs.options, farmDirectory, engineDirectory, candyModulesDirectory, farmConfig.hlFarmDirectoryPath);
|
|
127
182
|
}
|
|
128
183
|
|
|
129
|
-
if (
|
|
130
|
-
await (0, _RunInitForm.runInitForm)(context,
|
|
184
|
+
if (parsedArgs.type === "init-form") {
|
|
185
|
+
await (0, _RunInitForm.runInitForm)(context, parsedArgs.options, farmDirectory);
|
|
131
186
|
}
|
|
132
187
|
});
|
|
133
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DYW5keUNMSS50cyJdLCJuYW1lcyI6WyJjb25maWciLCJmYXRhbCIsInJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcyIsImRlYnVnQXJnSWR4IiwicHJvY2VzcyIsImV4ZWNBcmd2IiwiaW5kZXhPZiIsInNwbGljZSIsImRlYnVnQXJnMklkeCIsInJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyIsImZhcm1EaXJlY3RvcnkiLCJsb2dnZXIiLCJmaWxlcyIsIm9sZFRlbXBGaWxlTmFtZXMiLCJmaWx0ZXIiLCJ4IiwiZW5kc1dpdGgiLCJsZW5ndGgiLCJsb2ciLCJmaWxlTmFtZSIsInBhdGgiLCJqb2luIiwiYXJndiIsImNvbnRleHQiLCJvcHRpb25zIiwic2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkiLCJsb2dWZXJib3NpdHkiLCJ2ZXJib3NlIiwiY3dkIiwiZmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsInVuZGVmaW5lZCIsIkVycm9yIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwicmVzb2x2ZSIsImNhbmR5TW9kdWxlc0RpcmVjdG9yeSIsInR5cGUiLCJobEZhcm1EaXJlY3RvcnlQYXRoIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUFBLGdCQUFPQyxLQUFQLEdBQWUsSUFBZjs7QUFFQSxTQUFTQyxnREFBVCxHQUFrRTtBQUM5RCxRQUFNQyxXQUFXLEdBQUdDLE9BQU8sQ0FBQ0MsUUFBUixDQUFpQkMsT0FBakIsQ0FBeUIsZUFBekIsQ0FBcEI7O0FBQ0EsTUFBSUgsV0FBVyxLQUFLLENBQUMsQ0FBckIsRUFBd0I7QUFDcEJDLElBQUFBLE9BQU8sQ0FBQ0MsUUFBUixD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QUFDOUIsVUFBTSw4QkFBWWIsT0FBWixFQUFxQkMsT0FBTyxDQUFDQSxPQUE3QixFQUFzQ2QsYUFBdEMsQ0FBTjtBQUNIO0FBQ0osQ0EzRkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJjb3JlLWpzL3N0YWJsZVwiO1xuaW1wb3J0IFwicmVnZW5lcmF0b3ItcnVudGltZS9ydW50aW1lXCI7XG5pbXBvcnQgXCJjb3JlLWpzL2ZlYXR1cmVzL2FycmF5L2ZsYXRcIjtcbmltcG9ydCBcImNvcmUtanMvcHJvcG9zYWxzL2l0ZXJhdG9yLWhlbHBlcnNcIjtcbmltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgcmVhZGRpciwgdW5saW5rIH0gZnJvbSBcImZzLWV4dHJhXCI7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tIFwic2hlbGxqc1wiO1xuXG5pbXBvcnQgeyBydW5Db25zb2xlQXBwbGljYXRpb24gfSBmcm9tIFwiLi9Db21tb25zL0NvbnNvbGVBcHBsaWNhdGlvbi9Db25zb2xlQXBwbGljYXRpb25cIjtcbmltcG9ydCB7IElMb2dnZXIgfSBmcm9tIFwiLi9Db21tb25zL0xvZ2dpbmcvSUxvZ2dlclwiO1xuaW1wb3J0IHsgc2V0TG9nZ2VyIH0gZnJvbSBcIi4vQ29tbW9ucy9Mb2dnaW5nL1N0YXRpY0xvZ2dlclwiO1xuaW1wb3J0IHsgcnVuQnVpbGRGb3JtcyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvUnVuQnVpbGRGb3Jtc1wiO1xuaW1wb3J0IHsgcnVuQnVpbGRTZXJ2ZXIsIHJ1bkRldkJ1aWxkU2VydmVyIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUnVuQnVpbGRTZXJ2ZXJcIjtcbmltcG9ydCB7IHJ1bkRldkJ1aWxkIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvRGV2QnVpbGQvUnVuRGV2QnVpbGRcIjtcbmltcG9ydCB7IHJ1bkZvcm1TdGF0cyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0Zvcm1TdGF0cy9SdW5Gb3JtU3RhdHNcIjtcbmltcG9ydCB7IHJ1bkluaXRGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvSW5pdEZvcm0vUnVuSW5pdEZvcm1cIjtcbmltcG9ydCB7IHJ1bkxvY2FsaXphdGlvbiB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0xvY2FsaXphdGlvbi9SdW5Mb2NhbGl6YXRpb25cIjtcbmltcG9ydCB7IHJ1blVwZ3JhZGVGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvVXBncmFkZUZvcm0vUnVuVXBncmFkZUZvcm1cIjtcbmltcG9ydCB7IHBhcnNlT3B0aW9ucyB9IGZyb20gXCIuL09wdGlvbnMvQ2FuZHlUb29sT3B0aW9uc1wiO1xuaW1wb3J0IHsgcmVhZEZhcm1Db25maWcgfSBmcm9tIFwiLi9SZWFkRmFybUNvbmZpZ1wiO1xuaW1wb3J0IHsgZ2V0Q3VycmVudFZlcnNpb24gfSBmcm9tIFwiLi9TZWxmVXBkYXRlXCI7XG5cbmNvbmZpZy5mYXRhbCA9IHRydWU7XG5cbmZ1bmN0aW9uIHJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcygpOiB2b2lkIHtcbiAgICBjb25zdCBkZWJ1Z0FyZ0lkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdC1icmtcIik7XG4gICAgaWYgKGRlYnVnQXJnSWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZ0lkeCwgMSk7XG4gICAgfVxuICAgIGNvbnN0IGRlYnVnQXJnMklkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdFwiKTtcbiAgICBpZiAoZGVidWdBcmcySWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZzJJZHgsIDEpO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKGZhcm1EaXJlY3Rvcnk6IHN0cmluZywgbG9nZ2VyOiBJTG9nZ2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCByZWFkZGlyKGZhcm1EaXJlY3RvcnkpO1xuICAgIGNvbnN0IG9sZFRlbXBGaWxlTmFtZXMgPSBmaWxlcy5maWx0ZXIoeCA9PiB4LmVuZHNXaXRoKFwiLmNhbmR5LXRtcC53ZWJwYWNrLmNvbmZpZy5qc1wiKSk7XG4gICAgaWYgKG9sZFRlbXBGaWxlTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3Zpbmcgb2xkIHdlYnBhY2suY29uZmlnLmpzIGZpbGVzXCIpO1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIG9sZFRlbXBGaWxlTmFtZXMpIHtcbiAgICAgICAgICAgIGF3YWl0IHVubGluayhwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgZmlsZU5hbWUpKTtcbiAgICAgICAgfVxuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3ZlZCBvbGQgd2VicGFjay5jb25maWcuanMgZmlsZXNcIik7XG4gICAgfVxufVxuXG5ydW5Db25zb2xlQXBwbGljYXRpb24oYXN5bmMgKGFyZ3YsIGNvbnRleHQpID0+IHtcbiAgICByZW1vdGVJbnNwZWN0RmxhZ1RvRGlzYWJsZURlYnVnZ2VySW5DaGlsZFByb2Nlc3MoKTtcblxuICAgIGNvbnRleHQubG9nZ2VyLmxvZyhcIkBrb250dXIuY2FuZHkvdG9vbHM6IFwiICsgKGF3YWl0IGdldEN1cnJlbnRWZXJzaW9uKCkpKTtcbiAgICBjb25zdCBvcHRpb25zID0gcGFyc2VPcHRpb25zKGFyZ3YpO1xuICAgIGNvbnRleHQuc2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkob3B0aW9ucy5vcHRpb25zLmxvZ1ZlcmJvc2l0eSk7XG4gICAgc2V0TG9nZ2VyKGNvbnRleHQubG9nZ2VyKTtcbiAgICBjb250ZXh0LmxvZ2dlci52ZXJib3NlKGBWZXJib3NlIGxldmVsOiAke29wdGlvbnMub3B0aW9ucy5sb2dWZXJib3NpdHl9YCk7XG5cbiAgICBjb25zdCBmYXJtRGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBhd2FpdCByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMoZmFybURpcmVjdG9yeSwgY29udGV4dC5sb2dnZXIpO1xuICAgIGNvbnN0IGZhcm1Db25maWcgPSByZWFkRmFybUNvbmZpZyhmYXJtRGlyZWN0b3J5KTtcblxuICAgIGlmIChmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5naW5lRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuICAgIGlmIChmYXJtQ29uZmlnLnJlc291cmNlc0RpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzb3VyY2VzRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZW5naW5lRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1Db25maWcuZW5naW5lRGlyZWN0b3J5KTtcbiAgICBjb25zdCByZXNvdXJjZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybUNvbmZpZy5yZXNvdXJjZXNEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShmYXJtRGlyZWN0b3J5LCBcIi4uXCIsIFwiLmNhbmR5X21vZHVsZXNcIik7XG5cbiAgICBpZiAob3B0aW9ucy50eXBlID09PSBcImJ1aWxkLXNlcnZlclwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkU2VydmVyKFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIG9wdGlvbnMub3B0aW9ucyxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1EaXJlY3RvcnksXG4gICAgICAgICAgICByZXNvdXJjZXNEaXJlY3RvcnksXG4gICAgICAgICAgICBjYW5keU1vZHVsZXNEaXJlY3RvcnksXG4gICAgICAgICAgICBmYXJtQ29uZmlnLmhsRmFybURpcmVjdG9yeVBhdGhcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy50eXBlID09PSBcImRldi1idWlsZC1zZXJ2ZXJcIikge1xuICAgICAgICBhd2FpdCBydW5EZXZCdWlsZFNlcnZlcihcbiAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICBvcHRpb25zLm9wdGlvbnMsXG4gICAgICAgICAgICBlbmdpbmVEaXJlY3RvcnksXG4gICAgICAgICAgICBmYXJtRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybUNvbmZpZy5obEZhcm1EaXJlY3RvcnlQYXRoXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudHlwZSA9PT0gXCJidWlsZFwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkRm9ybXMoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgb3B0aW9ucy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnR5cGUgPT09IFwiZGV2LWJ1aWxkXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuRGV2QnVpbGQoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgb3B0aW9ucy5vcHRpb25zLFxuICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnR5cGUgPT09IFwiZm9ybS1zdGF0c1wiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkZvcm1TdGF0cyhjb250ZXh0LCBvcHRpb25zLm9wdGlvbnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy50eXBlID09PSBcInVwZ3JhZGVcIikge1xuICAgICAgICBhd2FpdCBydW5VcGdyYWRlRm9ybShjb250ZXh0LCBvcHRpb25zLm9wdGlvbnMsIHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSk7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnR5cGUgPT09IFwibG9jYWxpemVcIikge1xuICAgICAgICBhd2FpdCBydW5Mb2NhbGl6YXRpb24oXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgb3B0aW9ucy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy50eXBlID09PSBcImluaXQtZm9ybVwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkluaXRGb3JtKGNvbnRleHQsIG9wdGlvbnMub3B0aW9ucywgZmFybURpcmVjdG9yeSk7XG4gICAgfVxufSk7XG4iXX0=
|
|
188
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9DYW5keUNMSS50cyJdLCJuYW1lcyI6WyJjb25maWciLCJmYXRhbCIsInJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcyIsImRlYnVnQXJnSWR4IiwicHJvY2VzcyIsImV4ZWNBcmd2IiwiaW5kZXhPZiIsInNwbGljZSIsImRlYnVnQXJnMklkeCIsInJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyIsImZhcm1EaXJlY3RvcnkiLCJsb2dnZXIiLCJmaWxlcyIsIm9sZFRlbXBGaWxlTmFtZXMiLCJmaWx0ZXIiLCJ4IiwiZW5kc1dpdGgiLCJsZW5ndGgiLCJsb2ciLCJmaWxlTmFtZSIsInBhdGgiLCJqb2luIiwidmFsaWRhdGVGYXJtQ29uZmlnIiwiZmFybUNvbmZpZyIsImVuZ2luZURpcmVjdG9yeSIsInVuZGVmaW5lZCIsIkVycm9yIiwicmVzb3VyY2VzRGlyZWN0b3J5IiwiY2FuZHlNb2R1bGVzRGlyZWN0b3J5IiwicmVzb2x2ZSIsInZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGgiLCJhbGxGYXJtRGlyZWN0b3JpZXMiLCJjdXJyZW50RGlyIiwiY29udGV4dCIsInJlc3VsdCIsInB0aCIsInB1c2giLCJwYXRoVG9GYXJtIiwiYXJndiIsInBhcnNlZEFyZ3MiLCJzZXRDb25zb2xlTG9nZ2luZ1ZlcmJvc2l0eSIsIm9wdGlvbnMiLCJsb2dWZXJib3NpdHkiLCJ2ZXJib3NlIiwiY3dkIiwidHlwZSIsImFsbEZhcm1zRGlyIiwid2FybmluZyIsImFsbEZhcm1Db25maWciLCJBcnJheSIsImlzQXJyYXkiLCJobEZhcm1EaXJlY3RvcnlQYXRoIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FB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QUFvQixXQUF4QixFQUFxQztBQUNqQyxVQUFNLDhCQUFZWixPQUFaLEVBQXFCTSxVQUFVLENBQUNFLE9BQWhDLEVBQXlDL0IsYUFBekMsQ0FBTjtBQUNIO0FBQ0osQ0F0RkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXCJjb3JlLWpzL2ZlYXR1cmVzL2FycmF5L2ZsYXRcIjtcbmltcG9ydCBcImNvcmUtanMvcHJvcG9zYWxzL2l0ZXJhdG9yLWhlbHBlcnNcIjtcbmltcG9ydCBcImNvcmUtanMvc3RhYmxlXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBwYXRoRXhpc3RzLCByZWFkZGlyLCB1bmxpbmsgfSBmcm9tIFwiZnMtZXh0cmFcIjtcbmltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCBcInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZVwiO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcInNoZWxsanNcIjtcblxuaW1wb3J0IHsgcnVuQnVpbGRGb3JtcyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0J1aWxkRm9ybXMvUnVuQnVpbGRGb3Jtc1wiO1xuaW1wb3J0IHsgcnVuQnVpbGRTZXJ2ZXIsIHJ1bkRldkJ1aWxkU2VydmVyIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvQnVpbGRTZXJ2ZXIvUnVuQnVpbGRTZXJ2ZXJcIjtcbmltcG9ydCB7IHJ1bkRldkJ1aWxkIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvRGV2QnVpbGQvUnVuRGV2QnVpbGRcIjtcbmltcG9ydCB7IHJ1bkZvcm1TdGF0cyB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0Zvcm1TdGF0cy9SdW5Gb3JtU3RhdHNcIjtcbmltcG9ydCB7IHJ1bkluaXRGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvSW5pdEZvcm0vUnVuSW5pdEZvcm1cIjtcbmltcG9ydCB7IHJ1bkxvY2FsaXphdGlvbiB9IGZyb20gXCIuL0NMSUNvbW1hbmRzL0xvY2FsaXphdGlvbi9SdW5Mb2NhbGl6YXRpb25cIjtcbmltcG9ydCB7IHJ1blVwZ3JhZGVGb3JtIH0gZnJvbSBcIi4vQ0xJQ29tbWFuZHMvVXBncmFkZUZvcm0vUnVuVXBncmFkZUZvcm1cIjtcbmltcG9ydCB7IHJ1bkNvbnNvbGVBcHBsaWNhdGlvbiB9IGZyb20gXCIuL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvblwiO1xuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gXCIuL0NvbW1vbnMvTG9nZ2luZy9JTG9nZ2VyXCI7XG5pbXBvcnQgeyBzZXRMb2dnZXIgfSBmcm9tIFwiLi9Db21tb25zL0xvZ2dpbmcvU3RhdGljTG9nZ2VyXCI7XG5pbXBvcnQgeyBwYXJzZU9wdGlvbnMgfSBmcm9tIFwiLi9PcHRpb25zL0NhbmR5VG9vbE9wdGlvbnNcIjtcbmltcG9ydCB7IHJlYWRGYXJtQ29uZmlnIH0gZnJvbSBcIi4vUmVhZEZhcm1Db25maWdcIjtcbmltcG9ydCB7IGdldEN1cnJlbnRWZXJzaW9uIH0gZnJvbSBcIi4vU2VsZlVwZGF0ZVwiO1xuaW1wb3J0IHsgQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dCB9IGZyb20gXCIuL0NvbW1vbnMvQ29uc29sZUFwcGxpY2F0aW9uL0NvbnNvbGVBcHBsaWNhdGlvbkNvbnRleHRcIjtcblxuY29uZmlnLmZhdGFsID0gdHJ1ZTtcblxuZXhwb3J0IGludGVyZmFjZSBGYXJtQ29uZmlnIHtcbiAgICBjYW5keU1vZHVsZXNEaXJlY3Rvcnk6IHN0cmluZztcbiAgICBmYXJtRGlyZWN0b3J5OiBzdHJpbmc7XG4gICAgZW5naW5lRGlyZWN0b3J5Pzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIHJlc291cmNlc0RpcmVjdG9yeT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBobEZhcm1EaXJlY3RvcnlQYXRoOiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHJlbW90ZUluc3BlY3RGbGFnVG9EaXNhYmxlRGVidWdnZXJJbkNoaWxkUHJvY2VzcygpOiB2b2lkIHtcbiAgICBjb25zdCBkZWJ1Z0FyZ0lkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdC1icmtcIik7XG4gICAgaWYgKGRlYnVnQXJnSWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZ0lkeCwgMSk7XG4gICAgfVxuICAgIGNvbnN0IGRlYnVnQXJnMklkeCA9IHByb2Nlc3MuZXhlY0FyZ3YuaW5kZXhPZihcIi0taW5zcGVjdFwiKTtcbiAgICBpZiAoZGVidWdBcmcySWR4ICE9PSAtMSkge1xuICAgICAgICBwcm9jZXNzLmV4ZWNBcmd2LnNwbGljZShkZWJ1Z0FyZzJJZHgsIDEpO1xuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVtb3ZlVGVtcG9yYXJ5V2VicGFja0NvbmZpZ0ZpbGVzKGZhcm1EaXJlY3Rvcnk6IHN0cmluZywgbG9nZ2VyOiBJTG9nZ2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZmlsZXMgPSBhd2FpdCByZWFkZGlyKGZhcm1EaXJlY3RvcnkpO1xuICAgIGNvbnN0IG9sZFRlbXBGaWxlTmFtZXMgPSBmaWxlcy5maWx0ZXIoeCA9PiB4LmVuZHNXaXRoKFwiLmNhbmR5LXRtcC53ZWJwYWNrLmNvbmZpZy5qc1wiKSk7XG4gICAgaWYgKG9sZFRlbXBGaWxlTmFtZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3Zpbmcgb2xkIHdlYnBhY2suY29uZmlnLmpzIGZpbGVzXCIpO1xuICAgICAgICBmb3IgKGNvbnN0IGZpbGVOYW1lIG9mIG9sZFRlbXBGaWxlTmFtZXMpIHtcbiAgICAgICAgICAgIGF3YWl0IHVubGluayhwYXRoLmpvaW4oZmFybURpcmVjdG9yeSwgZmlsZU5hbWUpKTtcbiAgICAgICAgfVxuICAgICAgICBsb2dnZXIubG9nKFwiUmVtb3ZlZCBvbGQgd2VicGFjay5jb25maWcuanMgZmlsZXNcIik7XG4gICAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZhcm1Db25maWcoZmFybURpcmVjdG9yeTogc3RyaW5nKTogRmFybUNvbmZpZyB7XG4gICAgY29uc3QgZmFybUNvbmZpZyA9IHJlYWRGYXJtQ29uZmlnKGZhcm1EaXJlY3RvcnkpO1xuXG4gICAgaWYgKGZhcm1Db25maWcuZW5naW5lRGlyZWN0b3J5ID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbmdpbmVEaXJlY3RvcnkgaXMgbm90IHNwZWNpZmllZFwiKTtcbiAgICB9XG4gICAgaWYgKGZhcm1Db25maWcucmVzb3VyY2VzRGlyZWN0b3J5ID09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXNvdXJjZXNEaXJlY3RvcnkgaXMgbm90IHNwZWNpZmllZFwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBjYW5keU1vZHVsZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybURpcmVjdG9yeSwgXCIuLlwiLCBcIi5jYW5keV9tb2R1bGVzXCIpO1xuICAgIHJldHVybiB7XG4gICAgICAgIC4uLmZhcm1Db25maWcsXG4gICAgICAgIGZhcm1EaXJlY3Rvcnk6IGZhcm1EaXJlY3RvcnksXG4gICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeTogY2FuZHlNb2R1bGVzRGlyZWN0b3J5LFxuICAgIH07XG59XG5cbmNvbnN0IHZhbGlkYXRlQW5kUHJlcGFyZUZhcm1EaXJlY3Rvcmllc1BhdGggPSBhc3luYyAoXG4gICAgYWxsRmFybURpcmVjdG9yaWVzOiBzdHJpbmdbXSxcbiAgICBjdXJyZW50RGlyOiBzdHJpbmcsXG4gICAgY29udGV4dDogQ29uc29sZUFwcGxpY2F0aW9uQ29udGV4dFxuKTogUHJvbWlzZTxGYXJtQ29uZmlnW10+ID0+IHtcbiAgICBjb25zdCByZXN1bHQ6IEZhcm1Db25maWdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcHRoIG9mIGFsbEZhcm1EaXJlY3Rvcmllcykge1xuICAgICAgICBpZiAoYXdhaXQgcGF0aEV4aXN0cyhwYXRoLmpvaW4ocHRoLCBcImNvbmZpZy5qc1wiKSkpIHtcbiAgICAgICAgICAgIGF3YWl0IHJlbW92ZVRlbXBvcmFyeVdlYnBhY2tDb25maWdGaWxlcyhwdGgsIGNvbnRleHQubG9nZ2VyKTtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbGlkYXRlRmFybUNvbmZpZyhwdGgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vINCS0YHQtSDQtNC10LvQviDQsiDRgtC+0LwsINGH0YLQviDRgdCy0Y/Qt9C60LAgc2VydmljZS1ydW5uZXItMiArIHRvb2xzINC60L7RgNGA0LXQutGC0L3QviDRgNCw0LHQvtGC0LDQtdGCINGC0L7Qu9GM0LrQviDQsiDQv9Cw0L/QutC1INGBINGE0L7RgNC80L7QuVxuICAgICAgICAgICAgLy8g0LjQtyDQt9CwINGH0LXQs9C+LCDQstC90YPRgtGA0Lgg0YDQsNC90L3QtdGA0LAg0L3QsNC/0LjQu9C10L0g0YXQuNGC0YDRi9C5INC80LXRhdCw0L3QuNC30Lwg0L/QvtC40YHQutCwINC/0YPRgtC10Lkg0YTQvtGA0LzRiy4g0J/QtdGA0LXQv9C40LvQuNCy0LDRgtGMINCy0YHQtSDQvNC10YXQsNC90LjQutC4XG4gICAgICAgICAgICAvLyDRgdC+0LLRgdC10Lwg0L3QtSDRhdC+0YfQtdGC0YHRjywg0L/QvtGN0YLQvtC80YMg0LTQu9GPINC90LDRgSwg0YHRh9C40YLQsNGOINC/0L7QtNC90Y/RgtC40LUg0LTQviDRg9GA0L7QstC90Y8gZW5naW5lINCy0L/QvtC70L3QtSDQv9GA0LjQtdC80LvQtdC80YvQvCDRgNC10YjQtdC90LjQtdC8XG4gICAgICAgICAgICBjb25zdCBwYXRoVG9GYXJtID0gcGF0aC5qb2luKGN1cnJlbnREaXIsIFwiLi5cIiwgXCIuLlwiLCBcIi4uXCIsIHB0aCk7XG4gICAgICAgICAgICBpZiAoIShhd2FpdCBwYXRoRXhpc3RzKHBhdGhUb0Zhcm0pKSkge1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKGBhbGxGYXJtRGlyZWN0b3JpZXMgcGF0aCA9ICR7cGF0aFRvRmFybX0gbm90IGV4aXN0YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhd2FpdCByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMocGF0aFRvRmFybSwgY29udGV4dC5sb2dnZXIpO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2godmFsaWRhdGVGYXJtQ29uZmlnKHBhdGhUb0Zhcm0pKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufTtcblxucnVuQ29uc29sZUFwcGxpY2F0aW9uKGFzeW5jIChhcmd2LCBjb250ZXh0KSA9PiB7XG4gICAgcmVtb3RlSW5zcGVjdEZsYWdUb0Rpc2FibGVEZWJ1Z2dlckluQ2hpbGRQcm9jZXNzKCk7XG5cbiAgICBjb250ZXh0LmxvZ2dlci5sb2coXCJAa29udHVyLmNhbmR5L3Rvb2xzOiBcIiArIChhd2FpdCBnZXRDdXJyZW50VmVyc2lvbigpKSk7XG4gICAgY29uc3QgcGFyc2VkQXJncyA9IHBhcnNlT3B0aW9ucyhhcmd2KTtcblxuICAgIGNvbnRleHQuc2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkocGFyc2VkQXJncy5vcHRpb25zLmxvZ1ZlcmJvc2l0eSk7XG4gICAgc2V0TG9nZ2VyKGNvbnRleHQubG9nZ2VyKTtcbiAgICBjb250ZXh0LmxvZ2dlci52ZXJib3NlKGBWZXJib3NlIGxldmVsOiAke3BhcnNlZEFyZ3Mub3B0aW9ucy5sb2dWZXJib3NpdHl9YCk7XG5cbiAgICBjb25zdCBmYXJtRGlyZWN0b3J5ID0gcHJvY2Vzcy5jd2QoKTtcbiAgICBhd2FpdCByZW1vdmVUZW1wb3JhcnlXZWJwYWNrQ29uZmlnRmlsZXMoZmFybURpcmVjdG9yeSwgY29udGV4dC5sb2dnZXIpO1xuICAgIGNvbnN0IGZhcm1Db25maWcgPSByZWFkRmFybUNvbmZpZyhmYXJtRGlyZWN0b3J5KTtcblxuICAgIGlmIChmYXJtQ29uZmlnLmVuZ2luZURpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5naW5lRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuICAgIGlmIChmYXJtQ29uZmlnLnJlc291cmNlc0RpcmVjdG9yeSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzb3VyY2VzRGlyZWN0b3J5IGlzIG5vdCBzcGVjaWZpZWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZW5naW5lRGlyZWN0b3J5ID0gcGF0aC5yZXNvbHZlKGZhcm1Db25maWcuZW5naW5lRGlyZWN0b3J5KTtcbiAgICBjb25zdCByZXNvdXJjZXNEaXJlY3RvcnkgPSBwYXRoLnJlc29sdmUoZmFybUNvbmZpZy5yZXNvdXJjZXNEaXJlY3RvcnkpO1xuICAgIGNvbnN0IGNhbmR5TW9kdWxlc0RpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShmYXJtRGlyZWN0b3J5LCBcIi4uXCIsIFwiLmNhbmR5X21vZHVsZXNcIik7XG5cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImJ1aWxkLXNlcnZlclwiIHx8IHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgY29uc3QgYWxsRmFybURpcmVjdG9yaWVzID0gcGFyc2VkQXJncy5vcHRpb25zLmFsbEZhcm1zRGlyO1xuICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBhbGxGYXJtRGlyZWN0b3JpZXMgPSAke3BhcnNlZEFyZ3Mub3B0aW9ucy5hbGxGYXJtc0Rpcn1gKTtcbiAgICAgICAgbGV0IGFsbEZhcm1Db25maWc7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbEZhcm1EaXJlY3RvcmllcykgJiYgYWxsRmFybURpcmVjdG9yaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGFsbEZhcm1Db25maWcgPSBhd2FpdCB2YWxpZGF0ZUFuZFByZXBhcmVGYXJtRGlyZWN0b3JpZXNQYXRoKGFsbEZhcm1EaXJlY3RvcmllcywgZmFybURpcmVjdG9yeSwgY29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb250ZXh0LmxvZ2dlci53YXJuaW5nKGBVc2UgZGVmYXVsdCBjYW5keUZhcm0gcGF0aCBkaXIgPSAke2Zhcm1EaXJlY3Rvcnl9YCk7XG4gICAgICAgICAgICBhbGxGYXJtQ29uZmlnID0gYXdhaXQgdmFsaWRhdGVBbmRQcmVwYXJlRmFybURpcmVjdG9yaWVzUGF0aChbZmFybURpcmVjdG9yeV0sIGZhcm1EaXJlY3RvcnksIGNvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJkZXYtYnVpbGQtc2VydmVyXCIpIHtcbiAgICAgICAgICAgIGF3YWl0IHJ1bkRldkJ1aWxkU2VydmVyKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgYWxsRmFybUNvbmZpZyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhd2FpdCBydW5CdWlsZFNlcnZlcihjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGFsbEZhcm1Db25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcnNlZEFyZ3MudHlwZSA9PT0gXCJidWlsZFwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkJ1aWxkRm9ybXMoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIHJlc291cmNlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZGV2LWJ1aWxkXCIpIHtcbiAgICAgICAgYXdhaXQgcnVuRGV2QnVpbGQoXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZW5naW5lRGlyZWN0b3J5LFxuICAgICAgICAgICAgcmVzb3VyY2VzRGlyZWN0b3J5LFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwiZm9ybS1zdGF0c1wiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkZvcm1TdGF0cyhjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIGZhcm1EaXJlY3RvcnkpO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcInVwZ3JhZGVcIikge1xuICAgICAgICBhd2FpdCBydW5VcGdyYWRlRm9ybShjb250ZXh0LCBwYXJzZWRBcmdzLm9wdGlvbnMsIHJlc291cmNlc0RpcmVjdG9yeSwgZmFybURpcmVjdG9yeSk7XG4gICAgfVxuICAgIGlmIChwYXJzZWRBcmdzLnR5cGUgPT09IFwibG9jYWxpemVcIikge1xuICAgICAgICBhd2FpdCBydW5Mb2NhbGl6YXRpb24oXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcGFyc2VkQXJncy5vcHRpb25zLFxuICAgICAgICAgICAgZmFybURpcmVjdG9yeSxcbiAgICAgICAgICAgIGVuZ2luZURpcmVjdG9yeSxcbiAgICAgICAgICAgIGNhbmR5TW9kdWxlc0RpcmVjdG9yeSxcbiAgICAgICAgICAgIGZhcm1Db25maWcuaGxGYXJtRGlyZWN0b3J5UGF0aFxuICAgICAgICApO1xuICAgIH1cbiAgICBpZiAocGFyc2VkQXJncy50eXBlID09PSBcImluaXQtZm9ybVwiKSB7XG4gICAgICAgIGF3YWl0IHJ1bkluaXRGb3JtKGNvbnRleHQsIHBhcnNlZEFyZ3Mub3B0aW9ucywgZmFybURpcmVjdG9yeSk7XG4gICAgfVxufSk7XG4iXX0=
|
|
@@ -51,7 +51,7 @@ class Logger {
|
|
|
51
51
|
error(message) {
|
|
52
52
|
this.logLines.push(`${message}`); // eslint-disable-next-line no-console,@typescript-eslint/no-unsafe-argument
|
|
53
53
|
|
|
54
|
-
console.log(this.getPrefixedMessage(message));
|
|
54
|
+
console.log(this.getPrefixedMessage(_chalk.default.redBright(message)));
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
withPrefix(prefix) {
|
|
@@ -86,4 +86,4 @@ class Logger {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
exports.Logger = Logger;
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9Db21tb25zL0xvZ2dpbmcvTG9nZ2VyLnRzIl0sIm5hbWVzIjpbIkxvZ2dlciIsImNvbnN0cnVjdG9yIiwicHJlZml4IiwibG9nTGluZXMiLCJ2ZXJib3NlTGV2ZWwiLCJsb2ciLCJtZXNzYWdlIiwicHVzaCIsImNvbnNvbGUiLCJnZXRQcmVmaXhlZE1lc3NhZ2UiLCJ3YXJuaW5nIiwiY2hhbGsiLCJ5ZWxsb3dCcmlnaHQiLCJ2ZXJib3NlIiwibWVzc2FnZVRvT3V0cHV0IiwiZmx1c2hGdWxsTG9nSW50b0ZpbGUiLCJmaWxlTmFtZSIsImpvaW4iLCJlcnJvciIsInJlZEJyaWdodCIsIndpdGhQcmVmaXgiLCJyZXN1bHQiLCJ1bmRlZmluZWQiLCJzZXRDb25zb2xlTG9nZ2luZ1ZlcmJvc2l0eSIsIm1lc3NhZ2VTdHJpbmciLCJwcmVmaXhUZXh0IiwiZ3JheSIsInNwbGl0IiwibWFwIiwibGluZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBSU8sTUFBTUEsTUFBTixDQUFnQztBQUs1QkMsRUFBQUEsV0FBVyxDQUFDQyxNQUFELEVBQWtCQyxRQUFsQixFQUF1QztBQUFBLFNBSnhDQSxRQUl3QztBQUFBLFNBSHhDRCxNQUd3QztBQUFBLFNBRmpERSxZQUVpRCxHQUZsQyxDQUVrQztBQUNyRCxTQUFLRixNQUFMLEdBQWNBLE1BQWQ7QUFDQSxTQUFLQyxRQUFMLEdBQWdCQSxRQUFRLElBQUksRUFBNUI7QUFDSDs7QUFFTUUsRUFBQUEsR0FBRyxDQUFDQyxPQUFELEVBQXdCO0FBQzlCLFNBQUtILFFBQUwsQ0FBY0ksSUFBZCxDQUFtQkQsT0FBbkIsRUFEOEIsQ0FFOUI7O0FBQ0FFLElBQUFBLE9BQU8sQ0FBQ0gsR0FBUixDQUFZLEtBQUtJLGtCQUFMLENBQXdCSCxPQUF4QixDQUFaO0FBQ0g7O0FBRU1JLEVBQUFBLE9BQU8sQ0FBQ0osT0FBRCxFQUF3QjtBQUNsQyxTQUFLSCxRQUFMLENBQWNJLElBQWQsQ0FBbUJELE9BQW5CLEVBRGtDLENBRWxDOztBQUNBRSxJQUFBQSxPQUFPLENBQUNILEdBQVIsQ0FBWSxLQUFLSSxrQkFBTCxDQUF3QkUsZUFBTUMsWUFBTixDQUFtQk4sT0FBbkIsQ0FBeEIsQ0FBWjtBQUNIOztBQUVNTyxFQUFBQSxPQUFPLENBQUNQLE9BQUQsRUFBd0I7QUFDbEMsVUFBTVEsZUFBZSxHQUFHLEtBQUtMLGtCQUFMLENBQXdCSCxPQUF4QixDQUF4Qjs7QUFDQSxRQUFJLEtBQUtGLFlBQUwsSUFBcUIsQ0FBekIsRUFBNEI7QUFDeEI7QUFDQUksTUFBQUEsT0FBTyxDQUFDSCxHQUFSLENBQVlTLGVBQVo7QUFDSDs7QUFDRCxTQUFLWCxRQUFMLENBQWNJLElBQWQsQ0FBbUJPLGVBQW5CO0FBQ0g7O0FBRWdDLFFBQXBCQyxvQkFBb0IsQ0FBQ0MsUUFBRCxFQUFrQztBQUMvRCxVQUFNLDZCQUFlQSxRQUFmLEVBQXlCLEtBQUtiLFFBQUwsQ0FBY2MsSUFBZCxDQUFtQixJQUFuQixDQUF6QixFQUFtRCxNQUFuRCxDQUFOO0FBQ0gsR0FqQ2tDLENBbUNuQzs7O0FBQ09DLEVBQUFBLEtBQUssQ0FBQ1osT0FBRCxFQUFzQztBQUM5QyxTQUFLSCxRQUFMLENBQWNJLElBQWQsQ0FBb0IsR0FBRUQsT0FBUSxFQUE5QixFQUQ4QyxDQUU5Qzs7QUFDQUUsSUFBQUEsT0FBTyxDQUFDSCxHQUFSLENBQVksS0FBS0ksa0JBQUwsQ0FBd0JFLGVBQU1RLFNBQU4sQ0FBZ0JiLE9BQWhCLENBQXhCLENBQVo7QUFDSDs7QUFFTWMsRUFBQUEsVUFBVSxDQUFDbEIsTUFBRCxFQUEwQjtBQUN2QyxRQUFJbUIsTUFBSjs7QUFDQSxRQUFJLEtBQUtuQixNQUFMLElBQWVvQixTQUFuQixFQUE4QjtBQUMxQkQsTUFBQUEsTUFBTSxHQUFHLElBQUlyQixNQUFKLENBQVdFLE1BQVgsRUFBbUIsS0FBS0MsUUFBeEIsQ0FBVDtBQUNILEtBRkQsTUFFTztBQUNIa0IsTUFBQUEsTUFBTSxHQUFHLElBQUlyQixNQUFKLENBQVcsS0FBS0UsTUFBTCxHQUFjLEdBQWQsR0FBb0JBLE1BQS9CLEVBQXVDLEtBQUtDLFFBQTVDLENBQVQ7QUFDSDs7QUFDRGtCLElBQUFBLE1BQU0sQ0FBQ0UsMEJBQVAsQ0FBa0MsS0FBS25CLFlBQXZDO0FBQ0EsV0FBT2lCLE1BQVA7QUFDSDs7QUFFTUUsRUFBQUEsMEJBQTBCLENBQUNuQixZQUFELEVBQTZCO0FBQzFELFNBQUtBLFlBQUwsR0FBb0JBLFlBQXBCO0FBQ0g7O0FBRU9LLEVBQUFBLGtCQUFrQixDQUFDSCxPQUFELEVBQWtDO0FBQ3hELFVBQU1rQixhQUFhLEdBQUksR0FBRWxCLE9BQVEsRUFBakM7O0FBQ0EsUUFBSSxLQUFLSixNQUFMLElBQWVvQixTQUFuQixFQUE4QjtBQUMxQixhQUFPRSxhQUFQO0FBQ0g7O0FBQ0QsVUFBTUMsVUFBVSxHQUFHZCxlQUFNZSxJQUFOLENBQVksSUFBRyxLQUFLeEIsTUFBTyxHQUEzQixDQUFuQjs7QUFFQSxXQUFPc0IsYUFBYSxDQUNmRyxLQURFLENBQ0ksSUFESixFQUVGQyxHQUZFLENBRUVDLElBQUksSUFBSyxHQUFFSixVQUFXLElBQUdJLElBQUssRUFGaEMsRUFHRlosSUFIRSxDQUdHLElBSEgsQ0FBUDtBQUlIOztBQXBFa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2hhbGsgZnJvbSBcImNoYWxrXCI7XG5cbmltcG9ydCB7IHdyaXRlRmlsZUFzeW5jIH0gZnJvbSBcIi4uL0ZzVXRpbHNcIjtcblxuaW1wb3J0IHsgSUxvZ2dlciB9IGZyb20gXCIuL0lMb2dnZXJcIjtcblxuZXhwb3J0IGNsYXNzIExvZ2dlciBpbXBsZW1lbnRzIElMb2dnZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nTGluZXM6IHN0cmluZ1tdO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuICAgIHByaXZhdGUgdmVyYm9zZUxldmVsID0gMDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihwcmVmaXg/OiBzdHJpbmcsIGxvZ0xpbmVzPzogc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy5wcmVmaXggPSBwcmVmaXg7XG4gICAgICAgIHRoaXMubG9nTGluZXMgPSBsb2dMaW5lcyB8fCBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvZ0xpbmVzLnB1c2gobWVzc2FnZSk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuZ2V0UHJlZml4ZWRNZXNzYWdlKG1lc3NhZ2UpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgd2FybmluZyhtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2dMaW5lcy5wdXNoKG1lc3NhZ2UpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmdldFByZWZpeGVkTWVzc2FnZShjaGFsay55ZWxsb3dCcmlnaHQobWVzc2FnZSkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmVyYm9zZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZVRvT3V0cHV0ID0gdGhpcy5nZXRQcmVmaXhlZE1lc3NhZ2UobWVzc2FnZSk7XG4gICAgICAgIGlmICh0aGlzLnZlcmJvc2VMZXZlbCA+PSAxKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZVRvT3V0cHV0KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvZ0xpbmVzLnB1c2gobWVzc2FnZVRvT3V0cHV0KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgZmx1c2hGdWxsTG9nSW50b0ZpbGUoZmlsZU5hbWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB3cml0ZUZpbGVBc3luYyhmaWxlTmFtZSwgdGhpcy5sb2dMaW5lcy5qb2luKFwiXFxuXCIpLCBcInV0ZjhcIik7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogYW55IHwgc3RyaW5nIHwgRXJyb3IpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2dMaW5lcy5wdXNoKGAke21lc3NhZ2V9YCk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlLEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXJndW1lbnRcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5nZXRQcmVmaXhlZE1lc3NhZ2UoY2hhbGsucmVkQnJpZ2h0KG1lc3NhZ2UpKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhQcmVmaXgocHJlZml4OiBzdHJpbmcpOiBJTG9nZ2VyIHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgaWYgKHRoaXMucHJlZml4ID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gbmV3IExvZ2dlcihwcmVmaXgsIHRoaXMubG9nTGluZXMpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzdWx0ID0gbmV3IExvZ2dlcih0aGlzLnByZWZpeCArIFwiOlwiICsgcHJlZml4LCB0aGlzLmxvZ0xpbmVzKTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQuc2V0Q29uc29sZUxvZ2dpbmdWZXJib3NpdHkodGhpcy52ZXJib3NlTGV2ZWwpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRDb25zb2xlTG9nZ2luZ1ZlcmJvc2l0eSh2ZXJib3NlTGV2ZWw6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnZlcmJvc2VMZXZlbCA9IHZlcmJvc2VMZXZlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByZWZpeGVkTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcgfCBFcnJvcik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VTdHJpbmcgPSBgJHttZXNzYWdlfWA7XG4gICAgICAgIGlmICh0aGlzLnByZWZpeCA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBtZXNzYWdlU3RyaW5nO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByZWZpeFRleHQgPSBjaGFsay5ncmF5KGBbJHt0aGlzLnByZWZpeH1dYCk7XG5cbiAgICAgICAgcmV0dXJuIG1lc3NhZ2VTdHJpbmdcbiAgICAgICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgLm1hcChsaW5lID0+IGAke3ByZWZpeFRleHR9ICR7bGluZX1gKVxuICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgfVxufVxuIl19
|