@loadmill/executer 0.1.163 → 0.1.164
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/ai-assertion/index.js +53 -15
- package/dist/ai-assertion/index.js.map +1 -1
- package/dist/ai-assertion/prompts.js +2 -2
- package/dist/ai-assertion/prompts.js.map +1 -1
- package/dist/asserter.js +47 -9
- package/dist/asserter.js.map +1 -1
- package/dist/block-request.d.ts +1 -1
- package/dist/block-request.js +22 -12
- package/dist/block-request.js.map +1 -1
- package/dist/cookies.d.ts +1 -1
- package/dist/cookies.js +8 -6
- package/dist/cookies.js.map +1 -1
- package/dist/errors.js +16 -2
- package/dist/errors.js.map +1 -1
- package/dist/extraction-combiner.js +43 -5
- package/dist/extraction-combiner.js.map +1 -1
- package/dist/failures.js +13 -3
- package/dist/failures.js.map +1 -1
- package/dist/grpc.js +72 -15
- package/dist/grpc.js.map +1 -1
- package/dist/iteration-stats.js +7 -5
- package/dist/iteration-stats.js.map +1 -1
- package/dist/mill-version.js +1 -1
- package/dist/mill-version.js.map +1 -1
- package/dist/parameter-pools.js +44 -6
- package/dist/parameter-pools.js.map +1 -1
- package/dist/performance.js +4 -2
- package/dist/performance.js.map +1 -1
- package/dist/post-script/post-script-executor.js +25 -7
- package/dist/post-script/post-script-executor.js.map +1 -1
- package/dist/post-sequence.js +55 -17
- package/dist/post-sequence.js.map +1 -1
- package/dist/redact-data.js +11 -9
- package/dist/redact-data.js.map +1 -1
- package/dist/request-sequence-result.js +12 -2
- package/dist/request-sequence-result.js.map +1 -1
- package/dist/res-keeper.d.ts +1 -1
- package/dist/res-keeper.js +21 -3
- package/dist/res-keeper.js.map +1 -1
- package/dist/sampler.js +75 -13
- package/dist/sampler.js.map +1 -1
- package/dist/sequence.d.ts +1 -1
- package/dist/sequence.js +203 -130
- package/dist/sequence.js.map +1 -1
- package/dist/single-runner.js +81 -11
- package/dist/single-runner.js.map +1 -1
- package/dist/step-handlers/code-step-handler.js +41 -6
- package/dist/step-handlers/code-step-handler.js.map +1 -1
- package/dist/step-handlers/extract-step-handler.js +41 -6
- package/dist/step-handlers/extract-step-handler.js.map +1 -1
- package/dist/step-handlers/playwright/constants.js +5 -3
- package/dist/step-handlers/playwright/constants.js.map +1 -1
- package/dist/step-handlers/playwright/files-manager.js +34 -13
- package/dist/step-handlers/playwright/files-manager.js.map +1 -1
- package/dist/step-handlers/playwright/index.js +44 -9
- package/dist/step-handlers/playwright/index.js.map +1 -1
- package/dist/step-handlers/playwright/transformer.js +8 -8
- package/dist/step-handlers/playwright/transformer.js.map +1 -1
- package/dist/step-handlers/playwright-step-handler.js +49 -11
- package/dist/step-handlers/playwright-step-handler.js.map +1 -1
- package/dist/step-handlers/request-step-handler.js +41 -6
- package/dist/step-handlers/request-step-handler.js.map +1 -1
- package/dist/step-handlers/wait-step-handler.js +46 -11
- package/dist/step-handlers/wait-step-handler.js.map +1 -1
- package/dist/step-handlers/web-socket-step-handler.js +75 -18
- package/dist/step-handlers/web-socket-step-handler.js.map +1 -1
- package/dist/test-run-event-emitter.js +4 -2
- package/dist/test-run-event-emitter.js.map +1 -1
- package/dist/utils.js +20 -2
- package/dist/utils.js.map +1 -1
- package/dist/ws.js +58 -20
- package/dist/ws.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
2
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
25
|
exports.PlaywrightFilesManager = void 0;
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
|
|
26
|
+
var path = __importStar(require("path"));
|
|
27
|
+
var v4_1 = __importDefault(require("uuid/v4"));
|
|
28
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
8
29
|
var file_system_1 = require("@loadmill/core/dist/utils/file-system");
|
|
9
30
|
var constants_1 = require("./constants");
|
|
10
31
|
var PlaywrightFilesManager = /** @class */ (function () {
|
|
@@ -15,7 +36,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
|
|
|
15
36
|
writable: true,
|
|
16
37
|
value: void 0
|
|
17
38
|
});
|
|
18
|
-
this.rootDir = path.join(constants_1.PLAYWRIGHT_FILES_DIR_PATH,
|
|
39
|
+
this.rootDir = path.join(constants_1.PLAYWRIGHT_FILES_DIR_PATH, v4_1.default());
|
|
19
40
|
}
|
|
20
41
|
Object.defineProperty(PlaywrightFilesManager.prototype, "getRootDir", {
|
|
21
42
|
enumerable: false,
|
|
@@ -30,7 +51,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
|
|
|
30
51
|
configurable: true,
|
|
31
52
|
writable: true,
|
|
32
53
|
value: function () {
|
|
33
|
-
|
|
54
|
+
file_system_1.deleteFolderFromDisk(this.rootDir);
|
|
34
55
|
}
|
|
35
56
|
});
|
|
36
57
|
Object.defineProperty(PlaywrightFilesManager.prototype, "getResultFilePath", {
|
|
@@ -46,7 +67,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
|
|
|
46
67
|
configurable: true,
|
|
47
68
|
writable: true,
|
|
48
69
|
value: function () {
|
|
49
|
-
var content =
|
|
70
|
+
var content = file_system_1.readFileFromDisk(this.getResultFilePath());
|
|
50
71
|
return content && JSON.parse(content);
|
|
51
72
|
}
|
|
52
73
|
});
|
|
@@ -63,7 +84,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
|
|
|
63
84
|
configurable: true,
|
|
64
85
|
writable: true,
|
|
65
86
|
value: function () {
|
|
66
|
-
return
|
|
87
|
+
return file_system_1.readFileFromDisk(path.join(this.getResultHtmlDir(), constants_1.RESULT_HTML_FILE_NAME));
|
|
67
88
|
}
|
|
68
89
|
});
|
|
69
90
|
Object.defineProperty(PlaywrightFilesManager.prototype, "getExtractedExecDataFilePath", {
|
|
@@ -79,7 +100,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
|
|
|
79
100
|
configurable: true,
|
|
80
101
|
writable: true,
|
|
81
102
|
value: function () {
|
|
82
|
-
var content =
|
|
103
|
+
var content = file_system_1.readFileFromDisk(this.getExtractedExecDataFilePath());
|
|
83
104
|
if (!content) {
|
|
84
105
|
throw new Error('Failed reading extracted execution data');
|
|
85
106
|
}
|
|
@@ -91,7 +112,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
|
|
|
91
112
|
configurable: true,
|
|
92
113
|
writable: true,
|
|
93
114
|
value: function (step) {
|
|
94
|
-
var testFileName = "playwright-step."
|
|
115
|
+
var testFileName = "playwright-step." + step.id + ".spec.ts";
|
|
95
116
|
return path.join(this.rootDir, constants_1.PLAYWRIGHT_TESTS_DIR, testFileName);
|
|
96
117
|
}
|
|
97
118
|
});
|
|
@@ -100,7 +121,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
|
|
|
100
121
|
configurable: true,
|
|
101
122
|
writable: true,
|
|
102
123
|
value: function (step, content) {
|
|
103
|
-
|
|
124
|
+
file_system_1.writeFileToDisk(this.getTestFilePath(step), content);
|
|
104
125
|
}
|
|
105
126
|
});
|
|
106
127
|
Object.defineProperty(PlaywrightFilesManager.prototype, "getConfigFilePath", {
|
|
@@ -116,7 +137,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
|
|
|
116
137
|
configurable: true,
|
|
117
138
|
writable: true,
|
|
118
139
|
value: function (content) {
|
|
119
|
-
|
|
140
|
+
file_system_1.writeFileToDisk(this.getConfigFilePath(), content);
|
|
120
141
|
}
|
|
121
142
|
});
|
|
122
143
|
Object.defineProperty(PlaywrightFilesManager.prototype, "waitForReportsGeneration", {
|
|
@@ -131,7 +152,7 @@ var PlaywrightFilesManager = /** @class */ (function () {
|
|
|
131
152
|
if (_this.getTestResult() && _this.getHtmlReport()) {
|
|
132
153
|
log_1.default.debug('Playwright step reports generated');
|
|
133
154
|
clearInterval(interval);
|
|
134
|
-
resolve(
|
|
155
|
+
resolve();
|
|
135
156
|
}
|
|
136
157
|
}, constants_1.REPORTS_GENERATION_INTERVAL_MS);
|
|
137
158
|
setTimeout(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files-manager.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/files-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files-manager.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/files-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
39
|
exports.missingDepsErrMsg = exports.executePlaywrightStep = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
40
|
var child_process_1 = require("child_process");
|
|
6
41
|
var transformer_1 = require("./transformer");
|
|
7
|
-
var executePlaywrightStep = function (step, filesManager, params, cookies) { return
|
|
42
|
+
var executePlaywrightStep = function (step, filesManager, params, cookies) { return __awaiter(void 0, void 0, void 0, function () {
|
|
8
43
|
var output;
|
|
9
|
-
return
|
|
44
|
+
return __generator(this, function (_a) {
|
|
10
45
|
switch (_a.label) {
|
|
11
46
|
case 0:
|
|
12
47
|
_generateAndSaveTestFiles(step, filesManager, params, cookies);
|
|
@@ -29,16 +64,16 @@ var executePlaywrightStep = function (step, filesManager, params, cookies) { ret
|
|
|
29
64
|
}); };
|
|
30
65
|
exports.executePlaywrightStep = executePlaywrightStep;
|
|
31
66
|
var _generateAndSaveTestFiles = function (step, filesManager, params, cookies) {
|
|
32
|
-
var configFile =
|
|
67
|
+
var configFile = transformer_1.generateConfigFile(filesManager);
|
|
33
68
|
filesManager.writeConfigFile(configFile);
|
|
34
|
-
var testFile =
|
|
69
|
+
var testFile = transformer_1.generateTestFile(step, filesManager, params, cookies);
|
|
35
70
|
filesManager.writeTestFile(step, testFile);
|
|
36
71
|
};
|
|
37
|
-
var _runPlaywrightTest = function (configFilePath, executionDir) { return
|
|
38
|
-
return
|
|
72
|
+
var _runPlaywrightTest = function (configFilePath, executionDir) { return __awaiter(void 0, void 0, void 0, function () {
|
|
73
|
+
return __generator(this, function (_a) {
|
|
39
74
|
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
40
75
|
var output = [];
|
|
41
|
-
var process =
|
|
76
|
+
var process = child_process_1.spawn('npx', ['@playwright/test', 'test', '--config', configFilePath], {
|
|
42
77
|
stdio: ['ignore', 'pipe', 'pipe'],
|
|
43
78
|
cwd: executionDir,
|
|
44
79
|
});
|
|
@@ -79,7 +114,7 @@ var _isBrowsersNotInstalled = function (log) {
|
|
|
79
114
|
};
|
|
80
115
|
var browserNotInstalledErrMsg = 'Playwright couldn\'t find the required browser on this agent.';
|
|
81
116
|
var _throwMissingDepsError = function (message) {
|
|
82
|
-
throw new Error(
|
|
117
|
+
throw new Error(exports.missingDepsErrMsg + "- " + message);
|
|
83
118
|
};
|
|
84
119
|
exports.missingDepsErrMsg = 'Playwright missing dependencies';
|
|
85
120
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ var parameters_1 = require("@loadmill/core/dist/parameters");
|
|
|
6
6
|
var declared_parameters_in_code_1 = require("@loadmill/core/dist/parameters/declared-parameters/declared-parameters-in-code");
|
|
7
7
|
var generateTestFile = function (_a, filesManager, params, cookies) {
|
|
8
8
|
var description = _a.description, userCode = _a.postScript;
|
|
9
|
-
return "\n import fs from 'fs';\n import { test, expect } from '@playwright/test';\n\n "
|
|
9
|
+
return "\n import fs from 'fs';\n import { test, expect } from '@playwright/test';\n\n " + _declareParams(params) + "\n\n test('" + (description || 'Playwright Step') + "', async ({ page, context }) => {\n " + _injectCookies(cookies) + "\n\n " + userCode + "\n\n " + _generateResolvedParams(params, declared_parameters_in_code_1.getDeclaredParametersFromCode(userCode, constants_1.PLAYWRIGHT_PARSE_OPTIONS)) + "\n " + _saveExtractedExecDataToDisk(filesManager) + "\n });\n";
|
|
10
10
|
};
|
|
11
11
|
exports.generateTestFile = generateTestFile;
|
|
12
12
|
var _declareParams = function (params) {
|
|
@@ -17,14 +17,14 @@ var _declareParams = function (params) {
|
|
|
17
17
|
})
|
|
18
18
|
.map(function (_a) {
|
|
19
19
|
var key = _a[0], value = _a[1];
|
|
20
|
-
return
|
|
20
|
+
return (parameters_1.isBuiltInParamName(key) ? 'const' : 'let') + " " + key + " = " + JSON.stringify(value) + ";";
|
|
21
21
|
})
|
|
22
22
|
.join('\n');
|
|
23
23
|
};
|
|
24
24
|
var RESERVED_KEYWORDS = ['test', 'expect', 'page', 'context', 'return'];
|
|
25
25
|
var _isReservedParam = function (paramName) { return RESERVED_KEYWORDS.includes(paramName); };
|
|
26
26
|
var _injectCookies = function (cookies) {
|
|
27
|
-
return "await context.addCookies("
|
|
27
|
+
return "await context.addCookies(" + _formatCookies(cookies) + ");";
|
|
28
28
|
};
|
|
29
29
|
var _formatCookies = function (cookies) {
|
|
30
30
|
var existingCookies = [];
|
|
@@ -41,20 +41,20 @@ var _formatCookies = function (cookies) {
|
|
|
41
41
|
return JSON.stringify(existingCookies);
|
|
42
42
|
};
|
|
43
43
|
var paramsVariableName = '__loadmill_params_to_write';
|
|
44
|
-
var _generateResolvedParams = function (params, declaredVariables) { return "\n const "
|
|
44
|
+
var _generateResolvedParams = function (params, declaredVariables) { return "\n const " + paramsVariableName + " = {};\n " + _appendParams(params) + "\n " + _appendDeclaredVariables(declaredVariables) + "\n"; };
|
|
45
45
|
var _appendParams = function (params) {
|
|
46
|
-
return Object.keys(params).map(function (key) { return
|
|
46
|
+
return Object.keys(params).map(function (key) { return paramsVariableName + "." + key + " = " + key + ";"; }).join('\n');
|
|
47
47
|
};
|
|
48
48
|
var _appendDeclaredVariables = function (declaredVariables) {
|
|
49
49
|
return declaredVariables.map(function (_a) {
|
|
50
50
|
var name = _a.name;
|
|
51
|
-
return
|
|
51
|
+
return paramsVariableName + "." + name + " = " + name + ";";
|
|
52
52
|
}).join('\n');
|
|
53
53
|
};
|
|
54
54
|
var _saveExtractedExecDataToDisk = function (filesManager) {
|
|
55
|
-
return "fs.writeFileSync('"
|
|
55
|
+
return "fs.writeFileSync('" + filesManager.getExtractedExecDataFilePath() + "', JSON.stringify({ params: " + paramsVariableName + ", cookies: " + _getCookies() + " }));";
|
|
56
56
|
};
|
|
57
57
|
var _getCookies = function () { return 'await context.cookies()'; };
|
|
58
|
-
var generateConfigFile = function (filesManager) { return "\n import { defineConfig, devices } from '@playwright/test';\n\n export default defineConfig({\n reporter: [\n ['json', { outputFile: '"
|
|
58
|
+
var generateConfigFile = function (filesManager) { return "\n import { defineConfig, devices } from '@playwright/test';\n\n export default defineConfig({\n reporter: [\n ['json', { outputFile: '" + filesManager.getResultFilePath() + "' }],\n ['html', { outputFolder: '" + filesManager.getResultHtmlDir() + "', open: 'never' }],\n ],\n projects: [\n {\n name: 'chromium',\n use: { ...devices['Desktop Chrome'] },\n },\n ],\n });\n"; };
|
|
59
59
|
exports.generateConfigFile = generateConfigFile;
|
|
60
60
|
//# sourceMappingURL=transformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/transformer.ts"],"names":[],"mappings":";;;AAGA,2EAAyF;AAEzF,6DAAgG;AAChG,8HAA+H;AAKxH,IAAM,gBAAgB,GAAG,UAC9B,EAAqD,EACrD,YAAoC,EACpC,MAAkC,EAClC,OAAuB;QAHrB,WAAW,iBAAA,EAAc,QAAQ,gBAAA;IAIxB,OAAA,
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/step-handlers/playwright/transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
2
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
42
|
exports.PlaywrightStepHandler = void 0;
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var log_1 = tslib_1.__importDefault(require("@loadmill/universal/dist/log"));
|
|
43
|
+
var strip_ansi_1 = __importDefault(require("strip-ansi"));
|
|
44
|
+
var log_1 = __importDefault(require("@loadmill/universal/dist/log"));
|
|
7
45
|
var type_guards_1 = require("@loadmill/core/dist/step/type-guards");
|
|
8
46
|
var performance_1 = require("../performance");
|
|
9
47
|
var cookies_1 = require("../cookies");
|
|
@@ -31,7 +69,7 @@ var PlaywrightStepHandler = /** @class */ (function () {
|
|
|
31
69
|
configurable: true,
|
|
32
70
|
writable: true,
|
|
33
71
|
value: function (step) {
|
|
34
|
-
return
|
|
72
|
+
return type_guards_1.isPlaywrightStep(step);
|
|
35
73
|
}
|
|
36
74
|
});
|
|
37
75
|
Object.defineProperty(PlaywrightStepHandler.prototype, "execute", {
|
|
@@ -39,15 +77,15 @@ var PlaywrightStepHandler = /** @class */ (function () {
|
|
|
39
77
|
configurable: true,
|
|
40
78
|
writable: true,
|
|
41
79
|
value: function (playwrightStep, stepIndex) {
|
|
42
|
-
return
|
|
80
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
43
81
|
var requestStartTime, beforeTime, res, errMsg, _a, params, cookies, err_1;
|
|
44
|
-
return
|
|
82
|
+
return __generator(this, function (_b) {
|
|
45
83
|
switch (_b.label) {
|
|
46
84
|
case 0:
|
|
47
85
|
_b.trys.push([0, 2, 3, 4]);
|
|
48
86
|
requestStartTime = Date.now();
|
|
49
87
|
beforeTime = performance_1.isPerformance ? performance.now() : requestStartTime;
|
|
50
|
-
return [4 /*yield*/,
|
|
88
|
+
return [4 /*yield*/, playwright_1.executePlaywrightStep(playwrightStep, this.fileManager, this.context.parameters, this.context.getCurrentCookies())];
|
|
51
89
|
case 1:
|
|
52
90
|
res = _b.sent();
|
|
53
91
|
res.htmlReport && this.context.setHtmlReport(stepIndex, res.htmlReport);
|
|
@@ -83,8 +121,8 @@ var PlaywrightStepHandler = /** @class */ (function () {
|
|
|
83
121
|
configurable: true,
|
|
84
122
|
writable: true,
|
|
85
123
|
value: function (_step, index, _res) {
|
|
86
|
-
return
|
|
87
|
-
return
|
|
124
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
125
|
+
return __generator(this, function (_a) {
|
|
88
126
|
this.context.setPostParameters(index);
|
|
89
127
|
return [2 /*return*/, {}];
|
|
90
128
|
});
|
|
@@ -104,7 +142,7 @@ var _formatCookies = function (cookies) {
|
|
|
104
142
|
domain: domain,
|
|
105
143
|
path: path,
|
|
106
144
|
};
|
|
107
|
-
|
|
145
|
+
cookies_1.appendCookie(cookiesToSend, cookieDetails);
|
|
108
146
|
});
|
|
109
147
|
return cookiesToSend;
|
|
110
148
|
};
|
|
@@ -113,7 +151,7 @@ var _getErrMsg = function (res) {
|
|
|
113
151
|
var errMsg = ((_f = (_e = (_d = (_c = (_b = (_a = res.result) === null || _a === void 0 ? void 0 : _a.suites[0]) === null || _b === void 0 ? void 0 : _b.specs[0]) === null || _c === void 0 ? void 0 : _c.tests[0]) === null || _d === void 0 ? void 0 : _d.results[0]) === null || _e === void 0 ? void 0 : _e.error) === null || _f === void 0 ? void 0 : _f.message) ||
|
|
114
152
|
((_h = (_g = res.result) === null || _g === void 0 ? void 0 : _g.errors[0]) === null || _h === void 0 ? void 0 : _h.message);
|
|
115
153
|
if (errMsg) {
|
|
116
|
-
return
|
|
154
|
+
return strip_ansi_1.default(errMsg);
|
|
117
155
|
}
|
|
118
156
|
};
|
|
119
157
|
var _getLogs = function (res) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/playwright-step-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playwright-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/playwright-step-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
39
|
exports.RequestStepHandler = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
40
|
var type_guards_1 = require("@loadmill/core/dist/step/type-guards");
|
|
6
41
|
var RequestStepHandler = /** @class */ (function () {
|
|
7
42
|
function RequestStepHandler(context) {
|
|
@@ -17,7 +52,7 @@ var RequestStepHandler = /** @class */ (function () {
|
|
|
17
52
|
configurable: true,
|
|
18
53
|
writable: true,
|
|
19
54
|
value: function (step) {
|
|
20
|
-
return
|
|
55
|
+
return type_guards_1.isLoadmillRequest(step);
|
|
21
56
|
}
|
|
22
57
|
});
|
|
23
58
|
Object.defineProperty(RequestStepHandler.prototype, "execute", {
|
|
@@ -25,9 +60,9 @@ var RequestStepHandler = /** @class */ (function () {
|
|
|
25
60
|
configurable: true,
|
|
26
61
|
writable: true,
|
|
27
62
|
value: function (request, index) {
|
|
28
|
-
return
|
|
63
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
29
64
|
var preparedRequest, res;
|
|
30
|
-
return
|
|
65
|
+
return __generator(this, function (_a) {
|
|
31
66
|
switch (_a.label) {
|
|
32
67
|
case 0:
|
|
33
68
|
preparedRequest = this.context.prepareRequest(request, index);
|
|
@@ -45,8 +80,8 @@ var RequestStepHandler = /** @class */ (function () {
|
|
|
45
80
|
configurable: true,
|
|
46
81
|
writable: true,
|
|
47
82
|
value: function (request, index, res) {
|
|
48
|
-
return
|
|
49
|
-
return
|
|
83
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
84
|
+
return __generator(this, function (_a) {
|
|
50
85
|
return [2 /*return*/, this.context.processSuccessfulResponse(index, request, res)];
|
|
51
86
|
});
|
|
52
87
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/request-step-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/request-step-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,oEAAyE;AAQzE;IACE,4BAAoB,OAA6B;;;;;mBAA7B;;IAAgC,CAAC;;;;;eAErD,UAAU,IAAU;YAClB,OAAO,+BAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;;;;;;eAED,UAAc,OAAwB,EAAE,KAAa;;;;;;4BAC7C,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;4BACxD,qBAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,eAAe,EAAE,KAAK,CAAC,EAAA;;4BAA5D,GAAG,GAAG,SAAsD;4BAClE,sBAAO,GAAG,EAAC;;;;SACZ;;;;;;eAED,UAAgC,OAAwB,EAAE,KAAa,EAAE,GAAoB;;;oBAC3F,sBAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAC;;;SACpE;;IACH,yBAAC;AAAD,CAAC,AAhBD,IAgBC;AAhBY,gDAAkB"}
|
|
@@ -1,7 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
2
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
39
|
exports.WaitStepHandler = void 0;
|
|
4
|
-
var tslib_1 = require("tslib");
|
|
5
40
|
var type_guards_1 = require("@loadmill/core/dist/step/type-guards");
|
|
6
41
|
var wait_step_1 = require("@loadmill/core/dist/wait-step");
|
|
7
42
|
var conf_1 = require("@loadmill/core/dist/conf");
|
|
@@ -27,7 +62,7 @@ var WaitStepHandler = /** @class */ (function () {
|
|
|
27
62
|
configurable: true,
|
|
28
63
|
writable: true,
|
|
29
64
|
value: function (step) {
|
|
30
|
-
return
|
|
65
|
+
return type_guards_1.isWaitStep(step);
|
|
31
66
|
}
|
|
32
67
|
});
|
|
33
68
|
Object.defineProperty(WaitStepHandler.prototype, "execute", {
|
|
@@ -35,9 +70,9 @@ var WaitStepHandler = /** @class */ (function () {
|
|
|
35
70
|
configurable: true,
|
|
36
71
|
writable: true,
|
|
37
72
|
value: function (waitStep) {
|
|
38
|
-
return
|
|
73
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
39
74
|
var requestStartTime, beforeTime, waitInMilliseconds;
|
|
40
|
-
return
|
|
75
|
+
return __generator(this, function (_a) {
|
|
41
76
|
switch (_a.label) {
|
|
42
77
|
case 0:
|
|
43
78
|
requestStartTime = Date.now();
|
|
@@ -61,17 +96,17 @@ var WaitStepHandler = /** @class */ (function () {
|
|
|
61
96
|
if (!wait) {
|
|
62
97
|
return DEFAULT_WAIT_TIME_MILLISECONDS;
|
|
63
98
|
}
|
|
64
|
-
var resolvedWait =
|
|
99
|
+
var resolvedWait = conf_1.isParameterCandidate(wait) ?
|
|
65
100
|
parameters_1.parameterUtils.resolveParameter(wait, this.context.parameters, function (err) {
|
|
66
|
-
return
|
|
101
|
+
return failures_1.setParameterErrorHistogram(err, "Failed to compute " + WAIT_STEP_KEY.toLowerCase() + " - ");
|
|
67
102
|
}) :
|
|
68
103
|
wait;
|
|
69
|
-
var validation =
|
|
104
|
+
var validation = wait_step_1.validateWaitNumber(resolvedWait);
|
|
70
105
|
if (validation) {
|
|
71
106
|
var reason = validation.wait === 'not a number' ?
|
|
72
|
-
|
|
107
|
+
wait + " is not a number" :
|
|
73
108
|
validation.wait;
|
|
74
|
-
throw new errors_1.RequestFailuresError("Invalid "
|
|
109
|
+
throw new errors_1.RequestFailuresError("Invalid " + WAIT_STEP_KEY + ": " + reason);
|
|
75
110
|
}
|
|
76
111
|
var waitInSeconds = Number(resolvedWait);
|
|
77
112
|
return Math.round(waitInSeconds * MILLISECONDS_IN_SECOND);
|
|
@@ -82,8 +117,8 @@ var WaitStepHandler = /** @class */ (function () {
|
|
|
82
117
|
configurable: true,
|
|
83
118
|
writable: true,
|
|
84
119
|
value: function (_step, index, _res) {
|
|
85
|
-
return
|
|
86
|
-
return
|
|
120
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
121
|
+
return __generator(this, function (_a) {
|
|
87
122
|
this.context.setPostParameters(index);
|
|
88
123
|
return [2 /*return*/, {}];
|
|
89
124
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/wait-step-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wait-step-handler.js","sourceRoot":"","sources":["../../src/step-handlers/wait-step-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oEAAkE;AAClE,2DAGuC;AACvC,iDAAgE;AAChE,6DAAgE;AAChE,8DAA8E;AAE9E,wCAIqB;AACrB,8CAA+C;AAE/C,oCAAiD;AAIjD,IAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,IAAM,8BAA8B,GAAG,oCAAyB,GAAG,sBAAsB,CAAC;AAC1F,IAAM,aAAa,GAAG,WAAW,CAAC;AAElC;IACE,yBAAoB,OAA6B;;;;;mBAA7B;;IAAgC,CAAC;;;;;eAErD,UAAU,IAAU;YAClB,OAAO,wBAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;;;;;;eAED,UAAc,QAAkB;;;;;;4BACxB,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BAC9B,UAAU,GAAG,2BAAa,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;4BAElE,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACzE,qBAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAA;;4BAAhE,SAAgE,CAAC;4BAEjE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;4BACzD,sBAAO,EAAE,EAAC;;;;SACX;;;;;;eAED,UAAkC,IAAsB;YACtD,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,8BAA8B,CAAC;aACvC;YAED,IAAM,YAAY,GAAG,2BAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/C,2BAAc,CAAC,gBAAgB,CAC7B,IAAI,EACJ,IAAI,CAAC,OAAO,CAAC,UAAU,EACvB,UAAC,GAAsB;oBACrB,OAAA,qCAA0B,CACxB,GAAG,EACH,uBAAqB,aAAa,CAAC,WAAW,EAAE,QAAK,CACtD;gBAHD,CAGC,CACJ,CAAC,CAAC;gBACH,IAAI,CAAC;YAEP,IAAM,UAAU,GAAG,8BAAkB,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE;gBACd,IAAM,MAAM,GAAG,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;oBAC9C,IAAI,qBAAkB,CAAC,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC;gBAClB,MAAM,IAAI,6BAAoB,CAAC,aAAW,aAAa,UAAK,MAAQ,CAAC,CAAC;aACvE;YAED,IAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAE3C,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,sBAAsB,CAAC,CAAC;QAC5D,CAAC;;;;;;eAED,UAAgC,KAAW,EAAE,KAAa,EAAE,IAAgB;;;oBAC1E,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBACtC,sBAAO,EAAE,EAAC;;;SACX;;IACH,sBAAC;AAAD,CAAC,AApDD,IAoDC;AApDY,0CAAe"}
|