necessary 11.2.1 → 11.2.3
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/lib/characters.js +14 -2
- package/lib/utilities/logging.js +6 -5
- package/lib/utilities/shell.js +35 -28
- package/license.txt +1 -1
- package/package.json +1 -1
- package/src/characters.js +8 -0
- package/src/utilities/logging.js +6 -5
- package/src/utilities/shell.js +50 -39
package/lib/characters.js
CHANGED
|
@@ -2,13 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
exports.default = exports.EXCLAMATION_MARK_CHARACTER = exports.CARRIAGE_RETURN_CHARACTER = exports.FORWARD_SLASH_CHARACTER = exports.GREATER_THAN_CHARACTER = exports.LESS_THAN_CHARACTER = exports.AMPERSAND_CHARACTER = exports.BACKSPACE_CHARACTER = exports.NEW_LINE_CHARACTER = exports.BACKTICK_DELIMITER = exports.WILDCARD_CHARACTER = exports.CTRL_C_CHARACTER = exports.PERIOD_CHARACTER = exports.COLON_CHARACTER = exports.COMMA_CHARACTER = exports.SPACE_CHARACTER = exports.DASH_CHARACTER = exports.BAR_CHARACTER = exports.ETX_CHARACTER = void 0;
|
|
5
|
+
exports.default = exports.EXCLAMATION_MARK_CHARACTER = exports.CARRIAGE_RETURN_CHARACTER = exports.FORWARD_SLASH_CHARACTER = exports.GREATER_THAN_CHARACTER = exports.LESS_THAN_CHARACTER = exports.AMPERSAND_CHARACTER = exports.BACKSPACE_CHARACTER = exports.NEW_LINE_CHARACTER = exports.BACKTICK_DELIMITER = exports.WILDCARD_CHARACTER = exports.CTRL_C_CHARACTER = exports.PERIOD_CHARACTER = exports.COLON_CHARACTER = exports.COMMA_CHARACTER = exports.SPACE_CHARACTER = exports.RIGHT_CHARACTER = exports.LEFT_CHARACTER = exports.DOWN_CHARACTER = exports.DASH_CHARACTER = exports.BAR_CHARACTER = exports.ETX_CHARACTER = exports.UP_CHARACTER = void 0;
|
|
6
|
+
var UP_CHARACTER = "\x1b[A";
|
|
7
|
+
exports.UP_CHARACTER = UP_CHARACTER;
|
|
6
8
|
var ETX_CHARACTER = "\x03";
|
|
7
9
|
exports.ETX_CHARACTER = ETX_CHARACTER;
|
|
8
10
|
var BAR_CHARACTER = "|";
|
|
9
11
|
exports.BAR_CHARACTER = BAR_CHARACTER;
|
|
10
12
|
var DASH_CHARACTER = "-";
|
|
11
13
|
exports.DASH_CHARACTER = DASH_CHARACTER;
|
|
14
|
+
var DOWN_CHARACTER = "\x1b[B";
|
|
15
|
+
exports.DOWN_CHARACTER = DOWN_CHARACTER;
|
|
16
|
+
var LEFT_CHARACTER = "\x1b[D";
|
|
17
|
+
exports.LEFT_CHARACTER = LEFT_CHARACTER;
|
|
18
|
+
var RIGHT_CHARACTER = "\x1b[C";
|
|
19
|
+
exports.RIGHT_CHARACTER = RIGHT_CHARACTER;
|
|
12
20
|
var SPACE_CHARACTER = " ";
|
|
13
21
|
exports.SPACE_CHARACTER = SPACE_CHARACTER;
|
|
14
22
|
var COMMA_CHARACTER = ",";
|
|
@@ -40,9 +48,13 @@ exports.CARRIAGE_RETURN_CHARACTER = CARRIAGE_RETURN_CHARACTER;
|
|
|
40
48
|
var EXCLAMATION_MARK_CHARACTER = "!";
|
|
41
49
|
exports.EXCLAMATION_MARK_CHARACTER = EXCLAMATION_MARK_CHARACTER;
|
|
42
50
|
var _default = {
|
|
51
|
+
UP_CHARACTER: UP_CHARACTER,
|
|
43
52
|
ETX_CHARACTER: ETX_CHARACTER,
|
|
44
53
|
BAR_CHARACTER: BAR_CHARACTER,
|
|
45
54
|
DASH_CHARACTER: DASH_CHARACTER,
|
|
55
|
+
DOWN_CHARACTER: DOWN_CHARACTER,
|
|
56
|
+
LEFT_CHARACTER: LEFT_CHARACTER,
|
|
57
|
+
RIGHT_CHARACTER: RIGHT_CHARACTER,
|
|
46
58
|
SPACE_CHARACTER: SPACE_CHARACTER,
|
|
47
59
|
COMMA_CHARACTER: COMMA_CHARACTER,
|
|
48
60
|
COLON_CHARACTER: COLON_CHARACTER,
|
|
@@ -61,4 +73,4 @@ var _default = {
|
|
|
61
73
|
};
|
|
62
74
|
exports.default = _default;
|
|
63
75
|
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFyYWN0ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgVVBfQ0hBUkFDVEVSID0gXCJcdTAwMWJbQVwiO1xuZXhwb3J0IGNvbnN0IEVUWF9DSEFSQUNURVIgPSBcIlxcdTAwMDNcIjtcbmV4cG9ydCBjb25zdCBCQVJfQ0hBUkFDVEVSID0gXCJ8XCI7XG5leHBvcnQgY29uc3QgREFTSF9DSEFSQUNURVIgPSBcIi1cIjtcbmV4cG9ydCBjb25zdCBET1dOX0NIQVJBQ1RFUiA9IFwiXHUwMDFiW0JcIjtcbmV4cG9ydCBjb25zdCBMRUZUX0NIQVJBQ1RFUiA9IFwiXHUwMDFiW0RcIjtcbmV4cG9ydCBjb25zdCBSSUdIVF9DSEFSQUNURVIgPSBcIlx1MDAxYltDXCI7XG5leHBvcnQgY29uc3QgU1BBQ0VfQ0hBUkFDVEVSID0gXCIgXCI7XG5leHBvcnQgY29uc3QgQ09NTUFfQ0hBUkFDVEVSID0gXCIsXCI7XG5leHBvcnQgY29uc3QgQ09MT05fQ0hBUkFDVEVSID0gXCI6XCI7XG5leHBvcnQgY29uc3QgUEVSSU9EX0NIQVJBQ1RFUiA9IFwiLlwiO1xuZXhwb3J0IGNvbnN0IENUUkxfQ19DSEFSQUNURVIgPSBcIl5DXCI7XG5leHBvcnQgY29uc3QgV0lMRENBUkRfQ0hBUkFDVEVSID0gXCIqXCI7XG5leHBvcnQgY29uc3QgQkFDS1RJQ0tfREVMSU1JVEVSID0gXCJgXCI7XG5leHBvcnQgY29uc3QgTkVXX0xJTkVfQ0hBUkFDVEVSID0gXCJcXG5cIjtcbmV4cG9ydCBjb25zdCBCQUNLU1BBQ0VfQ0hBUkFDVEVSID0gU3RyaW5nLmZyb21DaGFyQ29kZSgxMjcpO1xuZXhwb3J0IGNvbnN0IEFNUEVSU0FORF9DSEFSQUNURVIgPSBcIiZcIjtcbmV4cG9ydCBjb25zdCBMRVNTX1RIQU5fQ0hBUkFDVEVSID0gXCImbHQ7XCI7XG5leHBvcnQgY29uc3QgR1JFQVRFUl9USEFOX0NIQVJBQ1RFUiA9IFwiJmd0O1wiO1xuZXhwb3J0IGNvbnN0IEZPUldBUkRfU0xBU0hfQ0hBUkFDVEVSID0gXCIvXCI7XG5leHBvcnQgY29uc3QgQ0FSUklBR0VfUkVUVVJOX0NIQVJBQ1RFUiA9IFwiXFxyXCI7XG5leHBvcnQgY29uc3QgRVhDTEFNQVRJT05fTUFSS19DSEFSQUNURVIgPSBcIiFcIjtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBVUF9DSEFSQUNURVIsXG4gIEVUWF9DSEFSQUNURVIsXG4gIEJBUl9DSEFSQUNURVIsXG4gIERBU0hfQ0hBUkFDVEVSLFxuICBET1dOX0NIQVJBQ1RFUixcbiAgTEVGVF9DSEFSQUNURVIsXG4gIFJJR0hUX0NIQVJBQ1RFUixcbiAgU1BBQ0VfQ0hBUkFDVEVSLFxuICBDT01NQV9DSEFSQUNURVIsXG4gIENPTE9OX0NIQVJBQ1RFUixcbiAgUEVSSU9EX0NIQVJBQ1RFUixcbiAgQ1RSTF9DX0NIQVJBQ1RFUixcbiAgV0lMRENBUkRfQ0hBUkFDVEVSLFxuICBCQUNLVElDS19ERUxJTUlURVIsXG4gIE5FV19MSU5FX0NIQVJBQ1RFUixcbiAgQU1QRVJTQU5EX0NIQVJBQ1RFUixcbiAgQkFDS1NQQUNFX0NIQVJBQ1RFUixcbiAgTEVTU19USEFOX0NIQVJBQ1RFUixcbiAgR1JFQVRFUl9USEFOX0NIQVJBQ1RFUixcbiAgRk9SV0FSRF9TTEFTSF9DSEFSQUNURVIsXG4gIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIsXG4gIEVYQ0xBTUFUSU9OX01BUktfQ0hBUkFDVEVSXG59O1xuIl0sIm5hbWVzIjpbIlVQX0NIQVJBQ1RFUiIsIkVUWF9DSEFSQUNURVIiLCJCQVJfQ0hBUkFDVEVSIiwiREFTSF9DSEFSQUNURVIiLCJET1dOX0NIQVJBQ1RFUiIsIkxFRlRfQ0hBUkFDVEVSIiwiUklHSFRfQ0hBUkFDVEVSIiwiU1BBQ0VfQ0hBUkFDVEVSIiwiQ09NTUFfQ0hBUkFDVEVSIiwiQ09MT05fQ0hBUkFDVEVSIiwiUEVSSU9EX0NIQVJBQ1RFUiIsIkNUUkxfQ19DSEFSQUNURVIiLCJXSUxEQ0FSRF9DSEFSQUNURVIiLCJCQUNLVElDS19ERUxJTUlURVIiLCJORVdfTElORV9DSEFSQUNURVIiLCJCQUNLU1BBQ0VfQ0hBUkFDVEVSIiwiU3RyaW5nIiwiZnJvbUNoYXJDb2RlIiwiQU1QRVJTQU5EX0NIQVJBQ1RFUiIsIkxFU1NfVEhBTl9DSEFSQUNURVIiLCJHUkVBVEVSX1RIQU5fQ0hBUkFDVEVSIiwiRk9SV0FSRF9TTEFTSF9DSEFSQUNURVIiLCJDQVJSSUFHRV9SRVRVUk5fQ0hBUkFDVEVSIiwiRVhDTEFNQVRJT05fTUFSS19DSEFSQUNURVIiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7O0FBRUwsR0FBSyxDQUFDQSxZQUFZLEdBQUcsQ0FBSztRQUFwQkEsWUFBWSxHQUFaQSxZQUFZO0FBQ2xCLEdBQUssQ0FBQ0MsYUFBYSxHQUFHLENBQVE7UUFBeEJBLGFBQWEsR0FBYkEsYUFBYTtBQUNuQixHQUFLLENBQUNDLGFBQWEsR0FBRyxDQUFHO1FBQW5CQSxhQUFhLEdBQWJBLGFBQWE7QUFDbkIsR0FBSyxDQUFDQyxjQUFjLEdBQUcsQ0FBRztRQUFwQkEsY0FBYyxHQUFkQSxjQUFjO0FBQ3BCLEdBQUssQ0FBQ0MsY0FBYyxHQUFHLENBQUs7UUFBdEJBLGNBQWMsR0FBZEEsY0FBYztBQUNwQixHQUFLLENBQUNDLGNBQWMsR0FBRyxDQUFLO1FBQXRCQSxjQUFjLEdBQWRBLGNBQWM7QUFDcEIsR0FBSyxDQUFDQyxlQUFlLEdBQUcsQ0FBSztRQUF2QkEsZUFBZSxHQUFmQSxlQUFlO0FBQ3JCLEdBQUssQ0FBQ0MsZUFBZSxHQUFHLENBQUc7UUFBckJBLGVBQWUsR0FBZkEsZUFBZTtBQUNyQixHQUFLLENBQUNDLGVBQWUsR0FBRyxDQUFHO1FBQXJCQSxlQUFlLEdBQWZBLGVBQWU7QUFDckIsR0FBSyxDQUFDQyxlQUFlLEdBQUcsQ0FBRztRQUFyQkEsZUFBZSxHQUFmQSxlQUFlO0FBQ3JCLEdBQUssQ0FBQ0MsZ0JBQWdCLEdBQUcsQ0FBRztRQUF0QkEsZ0JBQWdCLEdBQWhCQSxnQkFBZ0I7QUFDdEIsR0FBSyxDQUFDQyxnQkFBZ0IsR0FBRyxDQUFJO1FBQXZCQSxnQkFBZ0IsR0FBaEJBLGdCQUFnQjtBQUN0QixHQUFLLENBQUNDLGtCQUFrQixHQUFHLENBQUc7UUFBeEJBLGtCQUFrQixHQUFsQkEsa0JBQWtCO0FBQ3hCLEdBQUssQ0FBQ0Msa0JBQWtCLEdBQUcsQ0FBRztRQUF4QkEsa0JBQWtCLEdBQWxCQSxrQkFBa0I7QUFDeEIsR0FBSyxDQUFDQyxrQkFBa0IsR0FBRyxDQUFJO1FBQXpCQSxrQkFBa0IsR0FBbEJBLGtCQUFrQjtBQUN4QixHQUFLLENBQUNDLG1CQUFtQixHQUFHQyxNQUFNLENBQUNDLFlBQVksQ0FBQyxHQUFHO1FBQTdDRixtQkFBbUIsR0FBbkJBLG1CQUFtQjtBQUN6QixHQUFLLENBQUNHLG1CQUFtQixHQUFHLENBQUc7UUFBekJBLG1CQUFtQixHQUFuQkEsbUJBQW1CO0FBQ3pCLEdBQUssQ0FBQ0MsbUJBQW1CLEdBQUcsQ0FBTTtRQUE1QkEsbUJBQW1CLEdBQW5CQSxtQkFBbUI7QUFDekIsR0FBSyxDQUFDQyxzQkFBc0IsR0FBRyxDQUFNO1FBQS9CQSxzQkFBc0IsR0FBdEJBLHNCQUFzQjtBQUM1QixHQUFLLENBQUNDLHVCQUF1QixHQUFHLENBQUc7UUFBN0JBLHVCQUF1QixHQUF2QkEsdUJBQXVCO0FBQzdCLEdBQUssQ0FBQ0MseUJBQXlCLEdBQUcsQ0FBSTtRQUFoQ0EseUJBQXlCLEdBQXpCQSx5QkFBeUI7QUFDL0IsR0FBSyxDQUFDQywwQkFBMEIsR0FBRyxDQUFHO1FBQWhDQSwwQkFBMEIsR0FBMUJBLDBCQUEwQjtlQUV4QixDQUFDO0lBQ2R2QixZQUFZLEVBQVpBLFlBQVk7SUFDWkMsYUFBYSxFQUFiQSxhQUFhO0lBQ2JDLGFBQWEsRUFBYkEsYUFBYTtJQUNiQyxjQUFjLEVBQWRBLGNBQWM7SUFDZEMsY0FBYyxFQUFkQSxjQUFjO0lBQ2RDLGNBQWMsRUFBZEEsY0FBYztJQUNkQyxlQUFlLEVBQWZBLGVBQWU7SUFDZkMsZUFBZSxFQUFmQSxlQUFlO0lBQ2ZDLGVBQWUsRUFBZkEsZUFBZTtJQUNmQyxlQUFlLEVBQWZBLGVBQWU7SUFDZkMsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7SUFDaEJDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCQyxrQkFBa0IsRUFBbEJBLGtCQUFrQjtJQUNsQkMsa0JBQWtCLEVBQWxCQSxrQkFBa0I7SUFDbEJDLGtCQUFrQixFQUFsQkEsa0JBQWtCO0lBQ2xCSSxtQkFBbUIsRUFBbkJBLG1CQUFtQjtJQUNuQkgsbUJBQW1CLEVBQW5CQSxtQkFBbUI7SUFDbkJJLG1CQUFtQixFQUFuQkEsbUJBQW1CO0lBQ25CQyxzQkFBc0IsRUFBdEJBLHNCQUFzQjtJQUN0QkMsdUJBQXVCLEVBQXZCQSx1QkFBdUI7SUFDdkJDLHlCQUF5QixFQUF6QkEseUJBQXlCO0lBQ3pCQywwQkFBMEIsRUFBMUJBLDBCQUEwQjtBQUM1QixDQUFDIn0=
|
package/lib/utilities/logging.js
CHANGED
|
@@ -51,14 +51,15 @@ function log(messageOrError) {
|
|
|
51
51
|
message = messageOrError; ///
|
|
52
52
|
error1 = new Error(message);
|
|
53
53
|
}
|
|
54
|
-
var stack = error1.stack, stackMessages = stackMessagesFromStack(stack), salientStackMessage = stackMessages[salientStackMessageIndex], stackMessage = salientStackMessage, upperCaseLevel = level.toUpperCase(), currentDateAndTimeString = getCurrentDateAndTimeString(), filePath = filePathFromStackMessage(stackMessage), lineNumber = lineNumberFromStackMessage(stackMessage)
|
|
55
|
-
|
|
54
|
+
var stack = error1.stack, stackMessages = stackMessagesFromStack(stack), salientStackMessage = stackMessages[salientStackMessageIndex], stackMessage = salientStackMessage, upperCaseLevel = level.toUpperCase(), currentDateAndTimeString = getCurrentDateAndTimeString(), filePath = filePathFromStackMessage(stackMessage), lineNumber = lineNumberFromStackMessage(stackMessage);
|
|
55
|
+
message = "".concat(upperCaseLevel, " ").concat(currentDateAndTimeString, " ").concat(filePath, "(").concat(lineNumber, ") ").concat(message);
|
|
56
|
+
console.log(message);
|
|
56
57
|
if (logDirectoryPath !== null) {
|
|
57
58
|
rollOverLogFile();
|
|
58
|
-
var logFilePath = getLogFilePath(), logFileContent = "".concat(
|
|
59
|
+
var logFilePath = getLogFilePath(), logFileContent = "".concat(message, "\n");
|
|
59
60
|
(0, _fileSystem).appendToFile(logFilePath, logFileContent);
|
|
60
61
|
}
|
|
61
|
-
return
|
|
62
|
+
return message;
|
|
62
63
|
}
|
|
63
64
|
var _default = {
|
|
64
65
|
log: log
|
|
@@ -183,4 +184,4 @@ function padStart(string, targetLength, padString) {
|
|
|
183
184
|
return paddedString;
|
|
184
185
|
}
|
|
185
186
|
|
|
186
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2luZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgY29uY2F0ZW5hdGVQYXRocyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGF0aFwiO1xuaW1wb3J0IHsgWkVSTywgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY2hlY2tGaWxlRXhpc3RzLCByZWFkRmlsZSwgYXBwZW5kVG9GaWxlLCByZW5hbWVGaWxlLCBnZXRTdGF0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MT0dfTEVWRUwsIERFRkFVTFRfTE9HX0ZJTEVfQkFTRV9OQU1FLCBERUZBVUxUX0xPR19ESVJFQ1RPUllfUEFUSCB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgVFJBQ0VfTEVWRUwsIERFQlVHX0xFVkVMLCBJTkZPX0xFVkVMLCBXQVJOSU5HX0xFVkVMLCBFUlJPUl9MRVZFTCwgRkFUQUxfTEVWRUwgfSBmcm9tIFwiLi4vbGV2ZWxzXCI7XG5cbmNvbnN0IGxldmVscyA9IFtcbiAgVFJBQ0VfTEVWRUwsXG4gIERFQlVHX0xFVkVMLFxuICBJTkZPX0xFVkVMLFxuICBXQVJOSU5HX0xFVkVMLFxuICBFUlJPUl9MRVZFTCxcbiAgRkFUQUxfTEVWRUwsXG5dO1xuXG5sZXQgbG9nTGV2ZWwgPSBERUZBVUxUX0xPR19MRVZFTCxcbiAgICBsb2dGaWxlQmFzZU5hbWUgPSBERUZBVUxUX0xPR19GSUxFX0JBU0VfTkFNRSxcbiAgICBsb2dEaXJlY3RvcnlQYXRoID0gREVGQVVMVF9MT0dfRElSRUNUT1JZX1BBVEg7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2cobWVzc2FnZU9yRXJyb3IsIGxldmVsID0gRU1QVFlfU1RSSU5HKSB7XG4gIGxldCBzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXggPSAxO1xuXG4gIGlmIChsZXZlbCAhPT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgY29uc3QgbGV2ZWxJbmRleCA9IGxldmVscy5pbmRleE9mKGxldmVsKSxcbiAgICAgICAgICBsb2dMZXZlbEluZGV4ID0gbGV2ZWxzLmluZGV4T2YobG9nTGV2ZWwpO1xuXG4gICAgaWYgKGxldmVsSW5kZXggPCBsb2dMZXZlbEluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2FsaWVudFN0YWNrTWVzc2FnZUluZGV4ICs9IDI7XG5cbiAgICBsZXZlbCA9IGAke2xldmVsfWA7ICAvLy9cbiAgfVxuXG4gIGxldCBlcnJvcixcbiAgICAgIG1lc3NhZ2U7XG5cbiAgaWYgKG1lc3NhZ2VPckVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICBlcnJvciA9IG1lc3NhZ2VPckVycm9yOyAvLy9cblxuICAgICh7IG1lc3NhZ2UgfSA9IGVycm9yKTtcbiAgfSBlbHNlIHtcbiAgICBtZXNzYWdlID0gbWVzc2FnZU9yRXJyb3I7IC8vL1xuXG4gICAgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cblxuICBjb25zdCB7IHN0YWNrIH0gPSBlcnJvcixcbiAgICAgICAgc3RhY2tNZXNzYWdlcyA9IHN0YWNrTWVzc2FnZXNGcm9tU3RhY2soc3RhY2spLFxuICAgICAgICBzYWxpZW50U3RhY2tNZXNzYWdlID0gc3RhY2tNZXNzYWdlc1tzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXhdLFxuICAgICAgICBzdGFja01lc3NhZ2UgPSBzYWxpZW50U3RhY2tNZXNzYWdlLCAvLy9cbiAgICAgICAgdXBwZXJDYXNlTGV2ZWwgPSBsZXZlbC50b1VwcGVyQ2FzZSgpLFxuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBnZXRDdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcoKSxcbiAgICAgICAgZmlsZVBhdGggPSBmaWxlUGF0aEZyb21TdGFja01lc3NhZ2Uoc3RhY2tNZXNzYWdlKSxcbiAgICAgICAgbGluZU51bWJlciA9IGxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSksXG4gICAgICAgIGxvZ01lc3NhZ2UgPSBgJHt1cHBlckNhc2VMZXZlbH0gJHtjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmd9ICR7ZmlsZVBhdGh9KCR7bGluZU51bWJlcn0pICR7bWVzc2FnZX1gO1xuXG4gIGNvbnNvbGUubG9nKGxvZ01lc3NhZ2UpO1xuXG4gIGlmIChsb2dEaXJlY3RvcnlQYXRoICE9PSBudWxsKSB7XG4gICAgcm9sbE92ZXJMb2dGaWxlKCk7XG5cbiAgICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgICAgbG9nRmlsZUNvbnRlbnQgPSBgJHtsb2dNZXNzYWdlfVxcbmA7XG5cbiAgICBhcHBlbmRUb0ZpbGUobG9nRmlsZVBhdGgsIGxvZ0ZpbGVDb250ZW50KTtcbiAgfVxuXG4gIHJldHVybiBsb2dNZXNzYWdlO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGxvZ1xufVxuXG5mdW5jdGlvbiB0cmFjZShtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgVFJBQ0VfTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIGRlYnVnKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBERUJVR19MRVZFTCk7IH1cblxuZnVuY3Rpb24gaW5mbyhtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgSU5GT19MRVZFTCk7IH1cblxuZnVuY3Rpb24gd2FybmluZyhtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgV0FSTklOR19MRVZFTCk7IH1cblxuZnVuY3Rpb24gZXJyb3IobWVzc2FnZSkgeyByZXR1cm4gbG9nKG1lc3NhZ2UsIEVSUk9SX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBmYXRhbChtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgRkFUQUxfTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIHNldExvZ0xldmVsKGxldmVsKSB7IGxvZ0xldmVsID0gbGV2ZWw7IH1cblxuZnVuY3Rpb24gc2V0TG9nT3B0aW9ucyhsb2dPcHRpb25zKSB7XG4gIGNvbnN0IHsgbGV2ZWwsIGZpbGVCYXNlTmFtZSwgZGlyZWN0b3J5UGF0aCB9ID0gbG9nT3B0aW9ucztcblxuICBzZXRMb2dMZXZlbChsZXZlbCk7XG5cbiAgc2V0TG9nRmlsZUJhc2VOYW1lKGZpbGVCYXNlTmFtZSk7XG5cbiAgc2V0TG9nRGlyZWN0b3J5UGF0aChkaXJlY3RvcnlQYXRoKTtcbn1cblxuZnVuY3Rpb24gZ2V0TG9nRmlsZUNvbnRlbnQoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVQYXRoID0gZ2V0TG9nRmlsZVBhdGgoKSxcbiAgICAgICAgbG9nRmlsZUNvbnRlbnQgPSByZWFkRmlsZShsb2dGaWxlUGF0aCk7XG5cbiAgcmV0dXJuIGxvZ0ZpbGVDb250ZW50O1xufVxuXG5mdW5jdGlvbiBzZXRMb2dGaWxlQmFzZU5hbWUoZmlsZUJhc2VOYW1lKSB7IGxvZ0ZpbGVCYXNlTmFtZSA9IGZpbGVCYXNlTmFtZTsgfVxuXG5mdW5jdGlvbiBzZXRMb2dEaXJlY3RvcnlQYXRoKGRpcmVjdG9yeVBhdGgpIHsgbG9nRGlyZWN0b3J5UGF0aCA9IGRpcmVjdG9yeVBhdGg7IH1cblxuT2JqZWN0LmFzc2lnbihsb2csIHtcbiAgdHJhY2UsXG4gIGRlYnVnLFxuICBpbmZvLFxuICB3YXJuaW5nLFxuICBlcnJvcixcbiAgZmF0YWwsXG4gIHNldExvZ0xldmVsLFxuICBzZXRMb2dPcHRpb25zLFxuICBnZXRMb2dGaWxlQ29udGVudCxcbiAgc2V0TG9nRmlsZUJhc2VOYW1lLFxuICBzZXRMb2dEaXJlY3RvcnlQYXRoXG59KTtcblxuZnVuY3Rpb24gZ2V0TG9nRmlsZVBhdGgoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVOYW1lID0gYCR7bG9nRmlsZUJhc2VOYW1lfS5sb2dgLFxuICAgICAgICBsb2dGaWxlUGF0aCA9IGNvbmNhdGVuYXRlUGF0aHMobG9nRGlyZWN0b3J5UGF0aCwgbG9nRmlsZU5hbWUpO1xuXG4gIHJldHVybiBsb2dGaWxlUGF0aDtcbn1cblxuZnVuY3Rpb24gZ2V0Um9sbGVkT3ZlckxvZ0ZpbGVQYXRoKCkge1xuICBjb25zdCBjdXJyZW50RGF0ZVN0cmluZyA9IGdldEN1cnJlbnREYXRlU3RyaW5nKCksXG4gICAgICAgIHJvbGxlZE92ZXJMb2dGaWxlTmFtZSA9IGAke2xvZ0ZpbGVCYXNlTmFtZX0uJHtjdXJyZW50RGF0ZVN0cmluZ30ubG9nYCxcbiAgICAgICAgcm9sbGVkT3ZlckxvZ0ZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhsb2dEaXJlY3RvcnlQYXRoLCByb2xsZWRPdmVyTG9nRmlsZU5hbWUpO1xuXG4gIHJldHVybiByb2xsZWRPdmVyTG9nRmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGdldExvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlKCkge1xuICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgIGxvZ0ZpbGVTdGF0cyA9IGdldFN0YXRzKGxvZ0ZpbGVQYXRoKSxcbiAgICAgICAgeyBtdGltZSB9ID0gbG9nRmlsZVN0YXRzLFxuICAgICAgICBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKG10aW1lKTsgIC8vL1xuXG4gIHJldHVybiBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZTtcbn1cblxuZnVuY3Rpb24gcm9sbE92ZXJMb2dGaWxlKCkge1xuICBjb25zdCBsb2dGaWxlUGF0aCA9IGdldExvZ0ZpbGVQYXRoKCksXG4gICAgICAgIGxvZ0ZpbGVFeGlzdHMgPSBjaGVja0ZpbGVFeGlzdHMobG9nRmlsZVBhdGgpO1xuXG4gIGlmICghbG9nRmlsZUV4aXN0cykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlID0gZ2V0TG9nRmlsZUxhc3RNb2RpZmllZERhdGUoKSxcbiAgICAgICAgbG9nRmlsZUxhc3RNb2RpZmllZERhdGVDdXJyZW50RGF0ZSA9IGlzRGF0ZUN1cnJlbnREYXRlKGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlKTtcblxuICBpZiAoIWxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlQ3VycmVudERhdGUpIHtcbiAgICBjb25zdCByb2xsZWRPdmVyTG9nRmlsZVBhdGggPSBnZXRSb2xsZWRPdmVyTG9nRmlsZVBhdGgoKTtcblxuICAgIHJlbmFtZUZpbGUobG9nRmlsZVBhdGgsIHJvbGxlZE92ZXJMb2dGaWxlUGF0aCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNEYXRlQ3VycmVudERhdGUoZGF0ZSkge1xuICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCksXG4gICAgICAgIGRhdGVTdHJpbmcgPSBkYXRlLnRvRGF0ZVN0cmluZygpLFxuICAgICAgICBjdXJyZW50RGF0ZVN0cmluZyA9IGN1cnJlbnREYXRlLnRvRGF0ZVN0cmluZygpLFxuICAgICAgICBkYXRlQ3VycmVudERhdGUgPSAoZGF0ZVN0cmluZyA9PT0gY3VycmVudERhdGVTdHJpbmcpO1xuXG4gIHJldHVybiBkYXRlQ3VycmVudERhdGU7XG59XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnREYXRlU3RyaW5nKCkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKSxcbiAgICAgICAgZGF5ID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0RGF0ZSgpLCAyKSwgIC8vL1xuICAgICAgICBtb250aCA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1vbnRoKCkgKyAxLCAyKSwgLy8vXG4gICAgICAgIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZyA9IGAke2RheX0tJHttb250aH0tJHt5ZWFyfWA7XG5cbiAgcmV0dXJuIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudERhdGVBbmRUaW1lU3RyaW5nKCkge1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKSxcbiAgICAgICAgZGF5ID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0RGF0ZSgpLCAyKSwgIC8vL1xuICAgICAgICBtb250aCA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1vbnRoKCkgKyAxLCAyKSwgLy8vXG4gICAgICAgIHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIGhvdXJzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0SG91cnMoKSwgMiksXG4gICAgICAgIG1pbnV0ZXMgPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXRNaW51dGVzKCksIDIpLFxuICAgICAgICBzZWNvbmRzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0U2Vjb25kcygpLCAyKSxcbiAgICAgICAgbWlsbGlzZWNvbmRzID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksIDMpLFxuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBgJHtkYXl9LSR7bW9udGh9LSR7eWVhcn0gJHtob3Vyc306JHttaW51dGVzfToke3NlY29uZHN9LiR7bWlsbGlzZWNvbmRzfWA7XG5cbiAgcmV0dXJuIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZztcbn1cblxuZnVuY3Rpb24gc3RhY2tNZXNzYWdlc0Zyb21TdGFjayhzdGFjaykge1xuICBjb25zdCBzdGFja01lc3NhZ2VzID0gW10sXG4gICAgICAgIHN0YWNrTGluZXMgPSBzdGFjay5zcGxpdCgvXFxyXFxufFxcbi8pO1xuXG4gIGxldCBzdGFja01lc3NhZ2UgPSBFTVBUWV9TVFJJTkc7XG5cbiAgc3RhY2tMaW5lcy5mb3JFYWNoKChzdGFja0xpbmUpID0+IHtcbiAgICBjb25zdCBtYXRjaGVzID0gL15cXHMqYXQuKi8udGVzdChzdGFja0xpbmUpO1xuXG4gICAgc3RhY2tNZXNzYWdlID0gKHN0YWNrTWVzc2FnZSA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgICAgICAgICAgICAgICAgICAgc3RhY2tMaW5lIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke3N0YWNrTWVzc2FnZX1cXG4ke3N0YWNrTGluZX1gO1xuXG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIHN0YWNrTWVzc2FnZXMucHVzaChzdGFja01lc3NhZ2UpO1xuXG4gICAgICBzdGFja01lc3NhZ2UgPSBFTVBUWV9TVFJJTkc7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gc3RhY2tNZXNzYWdlcztcbn1cblxuZnVuY3Rpb24gZmlsZVBhdGhGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSkge1xuICBjb25zdCBtYXRjaGVzID0gc3RhY2tNZXNzYWdlLm1hdGNoKC8oXFwvLispOlxcZCs6XFxkKy9tKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyksXG4gICAgICAgIGFic29sdXRlRmlsZVBhdGggPSBzZWNvbmRNYXRjaCwgIC8vL1xuICAgICAgICBjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGggPSBwYXRoLnJlc29sdmUoXCIuXCIpLCAgLy8vXG4gICAgICAgIGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aExlbmd0aCA9IGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aC5sZW5ndGgsXG4gICAgICAgIHN0YXJ0ID0gY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoICsgMSwgIC8vL1xuICAgICAgICBmaWxlUGF0aCA9IGFic29sdXRlRmlsZVBhdGguc3Vic3RyKHN0YXJ0KTtcblxuICByZXR1cm4gZmlsZVBhdGg7XG59XG5cbmZ1bmN0aW9uIGxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSkge1xuICBjb25zdCBtYXRjaGVzID0gc3RhY2tNZXNzYWdlLm1hdGNoKC86KFxcZCspL20pLFxuICAgICAgICBzZWNvbmRNYXRjaCA9IHNlY29uZChtYXRjaGVzKSxcbiAgICAgICAgbGluZU51bWJlciA9IHNlY29uZE1hdGNoOyAvLy9cblxuICByZXR1cm4gbGluZU51bWJlcjtcbn1cblxuZnVuY3Rpb24gcGFkU3RhcnRXaXRoWmVyb2VzKHN0cmluZywgdGFyZ2V0TGVuZ3RoKSB7XG4gIGNvbnN0IHBhZFN0cmluZyA9IFpFUk8sIC8vL1xuICAgICAgICBwYWRkZWRTdHJpbmcgPSBwYWRTdGFydChzdHJpbmcsIHRhcmdldExlbmd0aCwgcGFkU3RyaW5nKTtcblxuICByZXR1cm4gcGFkZGVkU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBwYWRTdGFydChzdHJpbmcsIHRhcmdldExlbmd0aCwgcGFkU3RyaW5nKSB7XG4gIGxldCBwYWRkaW5nID0gRU1QVFlfU1RSSU5HO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0YXJnZXRMZW5ndGg7IGluZGV4KyspIHtcbiAgICBwYWRkaW5nICs9IHBhZFN0cmluZztcbiAgfVxuXG4gIGNvbnN0IHBhZGRlZFN0cmluZyA9IGAke3BhZGRpbmd9JHtzdHJpbmd9YC5zdWJzdHIoLXRhcmdldExlbmd0aCk7XG5cbiAgcmV0dXJuIHBhZGRlZFN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJsb2ciLCJsZXZlbHMiLCJsb2dMZXZlbCIsImxvZ0ZpbGVCYXNlTmFtZSIsImxvZ0RpcmVjdG9yeVBhdGgiLCJtZXNzYWdlT3JFcnJvciIsImxldmVsIiwic2FsaWVudFN0YWNrTWVzc2FnZUluZGV4IiwibGV2ZWxJbmRleCIsImluZGV4T2YiLCJsb2dMZXZlbEluZGV4IiwiZXJyb3IiLCJtZXNzYWdlIiwiRXJyb3IiLCJzdGFjayIsInN0YWNrTWVzc2FnZXMiLCJzdGFja01lc3NhZ2VzRnJvbVN0YWNrIiwic2FsaWVudFN0YWNrTWVzc2FnZSIsInN0YWNrTWVzc2FnZSIsInVwcGVyQ2FzZUxldmVsIiwidG9VcHBlckNhc2UiLCJjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmciLCJnZXRDdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmciLCJmaWxlUGF0aCIsImZpbGVQYXRoRnJvbVN0YWNrTWVzc2FnZSIsImxpbmVOdW1iZXIiLCJsaW5lTnVtYmVyRnJvbVN0YWNrTWVzc2FnZSIsImxvZ01lc3NhZ2UiLCJjb25zb2xlIiwicm9sbE92ZXJMb2dGaWxlIiwibG9nRmlsZVBhdGgiLCJnZXRMb2dGaWxlUGF0aCIsImxvZ0ZpbGVDb250ZW50IiwidHJhY2UiLCJkZWJ1ZyIsImluZm8iLCJ3YXJuaW5nIiwiZmF0YWwiLCJzZXRMb2dMZXZlbCIsInNldExvZ09wdGlvbnMiLCJsb2dPcHRpb25zIiwiZmlsZUJhc2VOYW1lIiwiZGlyZWN0b3J5UGF0aCIsInNldExvZ0ZpbGVCYXNlTmFtZSIsInNldExvZ0RpcmVjdG9yeVBhdGgiLCJnZXRMb2dGaWxlQ29udGVudCIsIk9iamVjdCIsImFzc2lnbiIsImxvZ0ZpbGVOYW1lIiwiZ2V0Um9sbGVkT3ZlckxvZ0ZpbGVQYXRoIiwiY3VycmVudERhdGVTdHJpbmciLCJnZXRDdXJyZW50RGF0ZVN0cmluZyIsInJvbGxlZE92ZXJMb2dGaWxlTmFtZSIsInJvbGxlZE92ZXJMb2dGaWxlUGF0aCIsImdldExvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlIiwibG9nRmlsZVN0YXRzIiwibXRpbWUiLCJsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSIsIkRhdGUiLCJsb2dGaWxlRXhpc3RzIiwibG9nRmlsZUxhc3RNb2RpZmllZERhdGVDdXJyZW50RGF0ZSIsImlzRGF0ZUN1cnJlbnREYXRlIiwiZGF0ZSIsImN1cnJlbnREYXRlIiwiZGF0ZVN0cmluZyIsInRvRGF0ZVN0cmluZyIsImRhdGVDdXJyZW50RGF0ZSIsImRheSIsInBhZFN0YXJ0V2l0aFplcm9lcyIsImdldERhdGUiLCJtb250aCIsImdldE1vbnRoIiwieWVhciIsImdldEZ1bGxZZWFyIiwiaG91cnMiLCJnZXRIb3VycyIsIm1pbnV0ZXMiLCJnZXRNaW51dGVzIiwic2Vjb25kcyIsImdldFNlY29uZHMiLCJtaWxsaXNlY29uZHMiLCJnZXRNaWxsaXNlY29uZHMiLCJzdGFja0xpbmVzIiwic3BsaXQiLCJmb3JFYWNoIiwic3RhY2tMaW5lIiwibWF0Y2hlcyIsInRlc3QiLCJwdXNoIiwibWF0Y2giLCJzZWNvbmRNYXRjaCIsImFic29sdXRlRmlsZVBhdGgiLCJjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGgiLCJyZXNvbHZlIiwiY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoIiwibGVuZ3RoIiwic3RhcnQiLCJzdWJzdHIiLCJzdHJpbmciLCJ0YXJnZXRMZW5ndGgiLCJwYWRTdHJpbmciLCJwYWRkZWRTdHJpbmciLCJwYWRTdGFydCIsInBhZGRpbmciLCJpbmRleCJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQXdCSUEsR0FBRyxHQUFIQSxHQUFHOztBQXRCRixHQUFNLENBQU4sS0FBTTtBQUVBLEdBQW9CLENBQXBCLE1BQW9CO0FBQ1YsR0FBbUIsQ0FBbkIsTUFBbUI7QUFDakIsR0FBYyxDQUFkLFVBQWM7QUFDNkIsR0FBeUIsQ0FBekIsV0FBeUI7QUFDYixHQUFhLENBQWIsU0FBYTtBQUNULEdBQVcsQ0FBWCxPQUFXOzs7Ozs7Ozs7Ozs7O0FBRXpHLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQUM7SUFGOEUsT0FBVztJQUFYLE9BQVc7SUFBWCxPQUFXO0lBQVgsT0FBVztJQUFYLE9BQVc7SUFBWCxPQUFXO0FBU3pHLENBQUM7QUFFRCxHQUFHLENBQUNDLFFBQVEsR0FaOEUsU0FBYSxvQkFhbkdDLGVBQWUsR0FidUUsU0FBYSw2QkFjbkdDLGdCQUFnQixHQWRzRSxTQUFhO1NBZ0J2RkosR0FBRyxDQUFDSyxjQUFjLEVBQXdCLENBQUM7UUFBdkJDLEtBQUssb0VBbEJOLFVBQWM7SUFtQi9DLEdBQUcsQ0FBQ0Msd0JBQXdCLEdBQUcsQ0FBQztJQUVoQyxFQUFFLEVBQUVELEtBQUssS0FyQndCLFVBQWMsZUFxQm5CLENBQUM7UUFDM0IsR0FBSyxDQUFDRSxVQUFVLEdBQUdQLE1BQU0sQ0FBQ1EsT0FBTyxDQUFDSCxLQUFLLEdBQ2pDSSxhQUFhLEdBQUdULE1BQU0sQ0FBQ1EsT0FBTyxDQUFDUCxRQUFRO1FBRTdDLEVBQUUsRUFBRU0sVUFBVSxHQUFHRSxhQUFhLEVB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
|
|
187
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbG9nZ2luZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIjtcblxuaW1wb3J0IHsgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgY29uY2F0ZW5hdGVQYXRocyB9IGZyb20gXCIuLi91dGlsaXRpZXMvcGF0aFwiO1xuaW1wb3J0IHsgWkVSTywgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY2hlY2tGaWxlRXhpc3RzLCByZWFkRmlsZSwgYXBwZW5kVG9GaWxlLCByZW5hbWVGaWxlLCBnZXRTdGF0cyB9IGZyb20gXCIuLi91dGlsaXRpZXMvZmlsZVN5c3RlbVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MT0dfTEVWRUwsIERFRkFVTFRfTE9HX0ZJTEVfQkFTRV9OQU1FLCBERUZBVUxUX0xPR19ESVJFQ1RPUllfUEFUSCB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgVFJBQ0VfTEVWRUwsIERFQlVHX0xFVkVMLCBJTkZPX0xFVkVMLCBXQVJOSU5HX0xFVkVMLCBFUlJPUl9MRVZFTCwgRkFUQUxfTEVWRUwgfSBmcm9tIFwiLi4vbGV2ZWxzXCI7XG5cbmNvbnN0IGxldmVscyA9IFtcbiAgVFJBQ0VfTEVWRUwsXG4gIERFQlVHX0xFVkVMLFxuICBJTkZPX0xFVkVMLFxuICBXQVJOSU5HX0xFVkVMLFxuICBFUlJPUl9MRVZFTCxcbiAgRkFUQUxfTEVWRUwsXG5dO1xuXG5sZXQgbG9nTGV2ZWwgPSBERUZBVUxUX0xPR19MRVZFTCxcbiAgICBsb2dGaWxlQmFzZU5hbWUgPSBERUZBVUxUX0xPR19GSUxFX0JBU0VfTkFNRSxcbiAgICBsb2dEaXJlY3RvcnlQYXRoID0gREVGQVVMVF9MT0dfRElSRUNUT1JZX1BBVEg7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2cobWVzc2FnZU9yRXJyb3IsIGxldmVsID0gRU1QVFlfU1RSSU5HKSB7XG4gIGxldCBzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXggPSAxO1xuXG4gIGlmIChsZXZlbCAhPT0gRU1QVFlfU1RSSU5HKSB7XG4gICAgY29uc3QgbGV2ZWxJbmRleCA9IGxldmVscy5pbmRleE9mKGxldmVsKSxcbiAgICAgICAgICBsb2dMZXZlbEluZGV4ID0gbGV2ZWxzLmluZGV4T2YobG9nTGV2ZWwpO1xuXG4gICAgaWYgKGxldmVsSW5kZXggPCBsb2dMZXZlbEluZGV4KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2FsaWVudFN0YWNrTWVzc2FnZUluZGV4ICs9IDI7XG5cbiAgICBsZXZlbCA9IGAke2xldmVsfWA7ICAvLy9cbiAgfVxuXG4gIGxldCBlcnJvcixcbiAgICAgIG1lc3NhZ2U7XG5cbiAgaWYgKG1lc3NhZ2VPckVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICBlcnJvciA9IG1lc3NhZ2VPckVycm9yOyAvLy9cblxuICAgICh7IG1lc3NhZ2UgfSA9IGVycm9yKTtcbiAgfSBlbHNlIHtcbiAgICBtZXNzYWdlID0gbWVzc2FnZU9yRXJyb3I7IC8vL1xuXG4gICAgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cblxuICBjb25zdCB7IHN0YWNrIH0gPSBlcnJvcixcbiAgICAgICAgc3RhY2tNZXNzYWdlcyA9IHN0YWNrTWVzc2FnZXNGcm9tU3RhY2soc3RhY2spLFxuICAgICAgICBzYWxpZW50U3RhY2tNZXNzYWdlID0gc3RhY2tNZXNzYWdlc1tzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXhdLFxuICAgICAgICBzdGFja01lc3NhZ2UgPSBzYWxpZW50U3RhY2tNZXNzYWdlLCAvLy9cbiAgICAgICAgdXBwZXJDYXNlTGV2ZWwgPSBsZXZlbC50b1VwcGVyQ2FzZSgpLFxuICAgICAgICBjdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcgPSBnZXRDdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcoKSxcbiAgICAgICAgZmlsZVBhdGggPSBmaWxlUGF0aEZyb21TdGFja01lc3NhZ2Uoc3RhY2tNZXNzYWdlKSxcbiAgICAgICAgbGluZU51bWJlciA9IGxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlKHN0YWNrTWVzc2FnZSk7XG5cbiAgbWVzc2FnZSA9IGAke3VwcGVyQ2FzZUxldmVsfSAke2N1cnJlbnREYXRlQW5kVGltZVN0cmluZ30gJHtmaWxlUGF0aH0oJHtsaW5lTnVtYmVyfSkgJHttZXNzYWdlfWA7XG5cbiAgY29uc29sZS5sb2cobWVzc2FnZSk7XG5cbiAgaWYgKGxvZ0RpcmVjdG9yeVBhdGggIT09IG51bGwpIHtcbiAgICByb2xsT3ZlckxvZ0ZpbGUoKTtcblxuICAgIGNvbnN0IGxvZ0ZpbGVQYXRoID0gZ2V0TG9nRmlsZVBhdGgoKSxcbiAgICAgICAgICBsb2dGaWxlQ29udGVudCA9IGAke21lc3NhZ2V9XFxuYDtcblxuICAgIGFwcGVuZFRvRmlsZShsb2dGaWxlUGF0aCwgbG9nRmlsZUNvbnRlbnQpO1xuICB9XG5cbiAgcmV0dXJuIG1lc3NhZ2U7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgbG9nXG59XG5cbmZ1bmN0aW9uIHRyYWNlKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBUUkFDRV9MRVZFTCk7IH1cblxuZnVuY3Rpb24gZGVidWcobWVzc2FnZSkgeyByZXR1cm4gbG9nKG1lc3NhZ2UsIERFQlVHX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBpbmZvKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBJTkZPX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiB3YXJuaW5nKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBXQVJOSU5HX0xFVkVMKTsgfVxuXG5mdW5jdGlvbiBlcnJvcihtZXNzYWdlKSB7IHJldHVybiBsb2cobWVzc2FnZSwgRVJST1JfTEVWRUwpOyB9XG5cbmZ1bmN0aW9uIGZhdGFsKG1lc3NhZ2UpIHsgcmV0dXJuIGxvZyhtZXNzYWdlLCBGQVRBTF9MRVZFTCk7IH1cblxuZnVuY3Rpb24gc2V0TG9nTGV2ZWwobGV2ZWwpIHsgbG9nTGV2ZWwgPSBsZXZlbDsgfVxuXG5mdW5jdGlvbiBzZXRMb2dPcHRpb25zKGxvZ09wdGlvbnMpIHtcbiAgY29uc3QgeyBsZXZlbCwgZmlsZUJhc2VOYW1lLCBkaXJlY3RvcnlQYXRoIH0gPSBsb2dPcHRpb25zO1xuXG4gIHNldExvZ0xldmVsKGxldmVsKTtcblxuICBzZXRMb2dGaWxlQmFzZU5hbWUoZmlsZUJhc2VOYW1lKTtcblxuICBzZXRMb2dEaXJlY3RvcnlQYXRoKGRpcmVjdG9yeVBhdGgpO1xufVxuXG5mdW5jdGlvbiBnZXRMb2dGaWxlQ29udGVudCgpIHtcbiAgY29uc3QgbG9nRmlsZVBhdGggPSBnZXRMb2dGaWxlUGF0aCgpLFxuICAgICAgICBsb2dGaWxlQ29udGVudCA9IHJlYWRGaWxlKGxvZ0ZpbGVQYXRoKTtcblxuICByZXR1cm4gbG9nRmlsZUNvbnRlbnQ7XG59XG5cbmZ1bmN0aW9uIHNldExvZ0ZpbGVCYXNlTmFtZShmaWxlQmFzZU5hbWUpIHsgbG9nRmlsZUJhc2VOYW1lID0gZmlsZUJhc2VOYW1lOyB9XG5cbmZ1bmN0aW9uIHNldExvZ0RpcmVjdG9yeVBhdGgoZGlyZWN0b3J5UGF0aCkgeyBsb2dEaXJlY3RvcnlQYXRoID0gZGlyZWN0b3J5UGF0aDsgfVxuXG5PYmplY3QuYXNzaWduKGxvZywge1xuICB0cmFjZSxcbiAgZGVidWcsXG4gIGluZm8sXG4gIHdhcm5pbmcsXG4gIGVycm9yLFxuICBmYXRhbCxcbiAgc2V0TG9nTGV2ZWwsXG4gIHNldExvZ09wdGlvbnMsXG4gIGdldExvZ0ZpbGVDb250ZW50LFxuICBzZXRMb2dGaWxlQmFzZU5hbWUsXG4gIHNldExvZ0RpcmVjdG9yeVBhdGhcbn0pO1xuXG5mdW5jdGlvbiBnZXRMb2dGaWxlUGF0aCgpIHtcbiAgY29uc3QgbG9nRmlsZU5hbWUgPSBgJHtsb2dGaWxlQmFzZU5hbWV9LmxvZ2AsXG4gICAgICAgIGxvZ0ZpbGVQYXRoID0gY29uY2F0ZW5hdGVQYXRocyhsb2dEaXJlY3RvcnlQYXRoLCBsb2dGaWxlTmFtZSk7XG5cbiAgcmV0dXJuIGxvZ0ZpbGVQYXRoO1xufVxuXG5mdW5jdGlvbiBnZXRSb2xsZWRPdmVyTG9nRmlsZVBhdGgoKSB7XG4gIGNvbnN0IGN1cnJlbnREYXRlU3RyaW5nID0gZ2V0Q3VycmVudERhdGVTdHJpbmcoKSxcbiAgICAgICAgcm9sbGVkT3ZlckxvZ0ZpbGVOYW1lID0gYCR7bG9nRmlsZUJhc2VOYW1lfS4ke2N1cnJlbnREYXRlU3RyaW5nfS5sb2dgLFxuICAgICAgICByb2xsZWRPdmVyTG9nRmlsZVBhdGggPSBjb25jYXRlbmF0ZVBhdGhzKGxvZ0RpcmVjdG9yeVBhdGgsIHJvbGxlZE92ZXJMb2dGaWxlTmFtZSk7XG5cbiAgcmV0dXJuIHJvbGxlZE92ZXJMb2dGaWxlUGF0aDtcbn1cblxuZnVuY3Rpb24gZ2V0TG9nRmlsZUxhc3RNb2RpZmllZERhdGUoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVQYXRoID0gZ2V0TG9nRmlsZVBhdGgoKSxcbiAgICAgICAgbG9nRmlsZVN0YXRzID0gZ2V0U3RhdHMobG9nRmlsZVBhdGgpLFxuICAgICAgICB7IG10aW1lIH0gPSBsb2dGaWxlU3RhdHMsXG4gICAgICAgIGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlID0gbmV3IERhdGUobXRpbWUpOyAgLy8vXG5cbiAgcmV0dXJuIGxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlO1xufVxuXG5mdW5jdGlvbiByb2xsT3ZlckxvZ0ZpbGUoKSB7XG4gIGNvbnN0IGxvZ0ZpbGVQYXRoID0gZ2V0TG9nRmlsZVBhdGgoKSxcbiAgICAgICAgbG9nRmlsZUV4aXN0cyA9IGNoZWNrRmlsZUV4aXN0cyhsb2dGaWxlUGF0aCk7XG5cbiAgaWYgKCFsb2dGaWxlRXhpc3RzKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgbG9nRmlsZUxhc3RNb2RpZmllZERhdGUgPSBnZXRMb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSgpLFxuICAgICAgICBsb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZUN1cnJlbnREYXRlID0gaXNEYXRlQ3VycmVudERhdGUobG9nRmlsZUxhc3RNb2RpZmllZERhdGUpO1xuXG4gIGlmICghbG9nRmlsZUxhc3RNb2RpZmllZERhdGVDdXJyZW50RGF0ZSkge1xuICAgIGNvbnN0IHJvbGxlZE92ZXJMb2dGaWxlUGF0aCA9IGdldFJvbGxlZE92ZXJMb2dGaWxlUGF0aCgpO1xuXG4gICAgcmVuYW1lRmlsZShsb2dGaWxlUGF0aCwgcm9sbGVkT3ZlckxvZ0ZpbGVQYXRoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0RhdGVDdXJyZW50RGF0ZShkYXRlKSB7XG4gIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKSxcbiAgICAgICAgZGF0ZVN0cmluZyA9IGRhdGUudG9EYXRlU3RyaW5nKCksXG4gICAgICAgIGN1cnJlbnREYXRlU3RyaW5nID0gY3VycmVudERhdGUudG9EYXRlU3RyaW5nKCksXG4gICAgICAgIGRhdGVDdXJyZW50RGF0ZSA9IChkYXRlU3RyaW5nID09PSBjdXJyZW50RGF0ZVN0cmluZyk7XG5cbiAgcmV0dXJuIGRhdGVDdXJyZW50RGF0ZTtcbn1cblxuZnVuY3Rpb24gZ2V0Q3VycmVudERhdGVTdHJpbmcoKSB7XG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpLFxuICAgICAgICBkYXkgPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXREYXRlKCksIDIpLCAgLy8vXG4gICAgICAgIG1vbnRoID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0TW9udGgoKSArIDEsIDIpLCAvLy9cbiAgICAgICAgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgY3VycmVudERhdGVBbmRUaW1lU3RyaW5nID0gYCR7ZGF5fS0ke21vbnRofS0ke3llYXJ9YDtcblxuICByZXR1cm4gY3VycmVudERhdGVBbmRUaW1lU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRDdXJyZW50RGF0ZUFuZFRpbWVTdHJpbmcoKSB7XG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpLFxuICAgICAgICBkYXkgPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXREYXRlKCksIDIpLCAgLy8vXG4gICAgICAgIG1vbnRoID0gcGFkU3RhcnRXaXRoWmVyb2VzKGRhdGUuZ2V0TW9udGgoKSArIDEsIDIpLCAvLy9cbiAgICAgICAgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgaG91cnMgPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXRIb3VycygpLCAyKSxcbiAgICAgICAgbWludXRlcyA9IHBhZFN0YXJ0V2l0aFplcm9lcyhkYXRlLmdldE1pbnV0ZXMoKSwgMiksXG4gICAgICAgIHNlY29uZHMgPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXRTZWNvbmRzKCksIDIpLFxuICAgICAgICBtaWxsaXNlY29uZHMgPSBwYWRTdGFydFdpdGhaZXJvZXMoZGF0ZS5nZXRNaWxsaXNlY29uZHMoKSwgMyksXG4gICAgICAgIGN1cnJlbnREYXRlQW5kVGltZVN0cmluZyA9IGAke2RheX0tJHttb250aH0tJHt5ZWFyfSAke2hvdXJzfToke21pbnV0ZXN9OiR7c2Vjb25kc30uJHttaWxsaXNlY29uZHN9YDtcblxuICByZXR1cm4gY3VycmVudERhdGVBbmRUaW1lU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBzdGFja01lc3NhZ2VzRnJvbVN0YWNrKHN0YWNrKSB7XG4gIGNvbnN0IHN0YWNrTWVzc2FnZXMgPSBbXSxcbiAgICAgICAgc3RhY2tMaW5lcyA9IHN0YWNrLnNwbGl0KC9cXHJcXG58XFxuLyk7XG5cbiAgbGV0IHN0YWNrTWVzc2FnZSA9IEVNUFRZX1NUUklORztcblxuICBzdGFja0xpbmVzLmZvckVhY2goKHN0YWNrTGluZSkgPT4ge1xuICAgIGNvbnN0IG1hdGNoZXMgPSAvXlxccyphdC4qLy50ZXN0KHN0YWNrTGluZSk7XG5cbiAgICBzdGFja01lc3NhZ2UgPSAoc3RhY2tNZXNzYWdlID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgICAgICAgICAgICAgICAgICBzdGFja0xpbmUgOlxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7c3RhY2tNZXNzYWdlfVxcbiR7c3RhY2tMaW5lfWA7XG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgc3RhY2tNZXNzYWdlcy5wdXNoKHN0YWNrTWVzc2FnZSk7XG5cbiAgICAgIHN0YWNrTWVzc2FnZSA9IEVNUFRZX1NUUklORztcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBzdGFja01lc3NhZ2VzO1xufVxuXG5mdW5jdGlvbiBmaWxlUGF0aEZyb21TdGFja01lc3NhZ2Uoc3RhY2tNZXNzYWdlKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBzdGFja01lc3NhZ2UubWF0Y2goLyhcXC8uKyk6XFxkKzpcXGQrL20pLFxuICAgICAgICBzZWNvbmRNYXRjaCA9IHNlY29uZChtYXRjaGVzKSxcbiAgICAgICAgYWJzb2x1dGVGaWxlUGF0aCA9IHNlY29uZE1hdGNoLCAgLy8vXG4gICAgICAgIGN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aCA9IHBhdGgucmVzb2x2ZShcIi5cIiksICAvLy9cbiAgICAgICAgY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoTGVuZ3RoID0gY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoLmxlbmd0aCxcbiAgICAgICAgc3RhcnQgPSBjdXJyZW50V29ya2luZ0RpcmVjdG9yeVBhdGhMZW5ndGggKyAxLCAgLy8vXG4gICAgICAgIGZpbGVQYXRoID0gYWJzb2x1dGVGaWxlUGF0aC5zdWJzdHIoc3RhcnQpO1xuXG4gIHJldHVybiBmaWxlUGF0aDtcbn1cblxuZnVuY3Rpb24gbGluZU51bWJlckZyb21TdGFja01lc3NhZ2Uoc3RhY2tNZXNzYWdlKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBzdGFja01lc3NhZ2UubWF0Y2goLzooXFxkKykvbSksXG4gICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpLFxuICAgICAgICBsaW5lTnVtYmVyID0gc2Vjb25kTWF0Y2g7IC8vL1xuXG4gIHJldHVybiBsaW5lTnVtYmVyO1xufVxuXG5mdW5jdGlvbiBwYWRTdGFydFdpdGhaZXJvZXMoc3RyaW5nLCB0YXJnZXRMZW5ndGgpIHtcbiAgY29uc3QgcGFkU3RyaW5nID0gWkVSTywgLy8vXG4gICAgICAgIHBhZGRlZFN0cmluZyA9IHBhZFN0YXJ0KHN0cmluZywgdGFyZ2V0TGVuZ3RoLCBwYWRTdHJpbmcpO1xuXG4gIHJldHVybiBwYWRkZWRTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHBhZFN0YXJ0KHN0cmluZywgdGFyZ2V0TGVuZ3RoLCBwYWRTdHJpbmcpIHtcbiAgbGV0IHBhZGRpbmcgPSBFTVBUWV9TVFJJTkc7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRhcmdldExlbmd0aDsgaW5kZXgrKykge1xuICAgIHBhZGRpbmcgKz0gcGFkU3RyaW5nO1xuICB9XG5cbiAgY29uc3QgcGFkZGVkU3RyaW5nID0gYCR7cGFkZGluZ30ke3N0cmluZ31gLnN1YnN0cigtdGFyZ2V0TGVuZ3RoKTtcblxuICByZXR1cm4gcGFkZGVkU3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbImxvZyIsImxldmVscyIsImxvZ0xldmVsIiwibG9nRmlsZUJhc2VOYW1lIiwibG9nRGlyZWN0b3J5UGF0aCIsIm1lc3NhZ2VPckVycm9yIiwibGV2ZWwiLCJzYWxpZW50U3RhY2tNZXNzYWdlSW5kZXgiLCJsZXZlbEluZGV4IiwiaW5kZXhPZiIsImxvZ0xldmVsSW5kZXgiLCJlcnJvciIsIm1lc3NhZ2UiLCJFcnJvciIsInN0YWNrIiwic3RhY2tNZXNzYWdlcyIsInN0YWNrTWVzc2FnZXNGcm9tU3RhY2siLCJzYWxpZW50U3RhY2tNZXNzYWdlIiwic3RhY2tNZXNzYWdlIiwidXBwZXJDYXNlTGV2ZWwiLCJ0b1VwcGVyQ2FzZSIsImN1cnJlbnREYXRlQW5kVGltZVN0cmluZyIsImdldEN1cnJlbnREYXRlQW5kVGltZVN0cmluZyIsImZpbGVQYXRoIiwiZmlsZVBhdGhGcm9tU3RhY2tNZXNzYWdlIiwibGluZU51bWJlciIsImxpbmVOdW1iZXJGcm9tU3RhY2tNZXNzYWdlIiwiY29uc29sZSIsInJvbGxPdmVyTG9nRmlsZSIsImxvZ0ZpbGVQYXRoIiwiZ2V0TG9nRmlsZVBhdGgiLCJsb2dGaWxlQ29udGVudCIsInRyYWNlIiwiZGVidWciLCJpbmZvIiwid2FybmluZyIsImZhdGFsIiwic2V0TG9nTGV2ZWwiLCJzZXRMb2dPcHRpb25zIiwibG9nT3B0aW9ucyIsImZpbGVCYXNlTmFtZSIsImRpcmVjdG9yeVBhdGgiLCJzZXRMb2dGaWxlQmFzZU5hbWUiLCJzZXRMb2dEaXJlY3RvcnlQYXRoIiwiZ2V0TG9nRmlsZUNvbnRlbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJsb2dGaWxlTmFtZSIsImdldFJvbGxlZE92ZXJMb2dGaWxlUGF0aCIsImN1cnJlbnREYXRlU3RyaW5nIiwiZ2V0Q3VycmVudERhdGVTdHJpbmciLCJyb2xsZWRPdmVyTG9nRmlsZU5hbWUiLCJyb2xsZWRPdmVyTG9nRmlsZVBhdGgiLCJnZXRMb2dGaWxlTGFzdE1vZGlmaWVkRGF0ZSIsImxvZ0ZpbGVTdGF0cyIsIm10aW1lIiwibG9nRmlsZUxhc3RNb2RpZmllZERhdGUiLCJEYXRlIiwibG9nRmlsZUV4aXN0cyIsImxvZ0ZpbGVMYXN0TW9kaWZpZWREYXRlQ3VycmVudERhdGUiLCJpc0RhdGVDdXJyZW50RGF0ZSIsImRhdGUiLCJjdXJyZW50RGF0ZSIsImRhdGVTdHJpbmciLCJ0b0RhdGVTdHJpbmciLCJkYXRlQ3VycmVudERhdGUiLCJkYXkiLCJwYWRTdGFydFdpdGhaZXJvZXMiLCJnZXREYXRlIiwibW9udGgiLCJnZXRNb250aCIsInllYXIiLCJnZXRGdWxsWWVhciIsImhvdXJzIiwiZ2V0SG91cnMiLCJtaW51dGVzIiwiZ2V0TWludXRlcyIsInNlY29uZHMiLCJnZXRTZWNvbmRzIiwibWlsbGlzZWNvbmRzIiwiZ2V0TWlsbGlzZWNvbmRzIiwic3RhY2tMaW5lcyIsInNwbGl0IiwiZm9yRWFjaCIsInN0YWNrTGluZSIsIm1hdGNoZXMiLCJ0ZXN0IiwicHVzaCIsIm1hdGNoIiwic2Vjb25kTWF0Y2giLCJhYnNvbHV0ZUZpbGVQYXRoIiwiY3VycmVudFdvcmtpbmdEaXJlY3RvcnlQYXRoIiwicmVzb2x2ZSIsImN1cnJlbnRXb3JraW5nRGlyZWN0b3J5UGF0aExlbmd0aCIsImxlbmd0aCIsInN0YXJ0Iiwic3Vic3RyIiwic3RyaW5nIiwidGFyZ2V0TGVuZ3RoIiwicGFkU3RyaW5nIiwicGFkZGVkU3RyaW5nIiwicGFkU3RhcnQiLCJwYWRkaW5nIiwiaW5kZXgiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUF3QklBLEdBQUcsR0FBSEEsR0FBRzs7QUF0QkYsR0FBTSxDQUFOLEtBQU07QUFFQSxHQUFvQixDQUFwQixNQUFvQjtBQUNWLEdBQW1CLENBQW5CLE1BQW1CO0FBQ2pCLEdBQWMsQ0FBZCxVQUFjO0FBQzZCLEdBQXlCLENBQXpCLFdBQXlCO0FBQ2IsR0FBYSxDQUFiLFNBQWE7QUFDVCxHQUFXLENBQVgsT0FBVzs7Ozs7Ozs7Ozs7OztBQUV6RyxHQUFLLENBQUNDLE1BQU0sR0FBRyxDQUFDO0lBRjhFLE9BQVc7SUFBWCxPQUFXO0lBQVgsT0FBVztJQUFYLE9BQVc7SUFBWCxPQUFXO0lBQVgsT0FBVztBQVN6RyxDQUFDO0FBRUQsR0FBRyxDQUFDQyxRQUFRLEdBWjhFLFNBQWEsb0JBYW5HQyxlQUFlLEdBYnVFLFNBQWEsNkJBY25HQyxnQkFBZ0IsR0Fkc0UsU0FBYTtTQWdCdkZKLEdBQUcsQ0FBQ0ssY0FBYyxFQUF3QixDQUFDO1FBQXZCQyxLQUFLLG9FQWxCTixVQUFjO0lBbUIvQyxHQUFHLENBQUNDLHdCQUF3QixHQUFHLENBQUM7SUFFaEMsRUFBRSxFQUFFRCxLQUFLLEtBckJ3QixVQUFjLGVBcUJuQixDQUFDO1FBQzNCLEdBQUssQ0FBQ0UsVUFBVSxHQUFHUCxNQUFNLENBQUNRLE9BQU8sQ0FBQ0gsS0FBSyxHQUNqQ0ksYUFBYSxHQUFHVCxNQUFNLENBQUNRLE9BQU8sQ0FBQ1AsUUFBUTtRQUU3QyxFQUFFLEVBQUVNLFVBQVUsR0FBR0UsYUFBYSxFQUFFLENBQUM7WUFDL0IsTUFBTTtRQUNSLENBQUM7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
|
package/lib/utilities/shell.js
CHANGED
|
@@ -6,8 +6,8 @@ exports.onETX = onETX;
|
|
|
6
6
|
exports.prompt = prompt;
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _asynchronous = require("../utilities/asynchronous");
|
|
9
|
-
var _encodings = require("../encodings");
|
|
10
9
|
var _constants = require("../constants");
|
|
10
|
+
var _encodings = require("../encodings");
|
|
11
11
|
var _defaults = require("../defaults");
|
|
12
12
|
var _characters = require("../characters");
|
|
13
13
|
function onETX(handler) {
|
|
@@ -76,30 +76,51 @@ function attempt(next, done, context) {
|
|
|
76
76
|
}
|
|
77
77
|
function input(initialAnswer, hidden, description, encoding, callback) {
|
|
78
78
|
var answer = initialAnswer; ///
|
|
79
|
-
hidden ? hiddenInput(answer, description, encoding, callback) : visibleInput(answer, description, encoding, callback);
|
|
80
|
-
}
|
|
81
|
-
function hiddenInput(answer, description, encoding, callback) {
|
|
82
79
|
var rawMode = true;
|
|
83
80
|
process.stdout.write(description);
|
|
84
|
-
|
|
81
|
+
if (!hidden) {
|
|
82
|
+
process.stdout.write(initialAnswer);
|
|
83
|
+
}
|
|
85
84
|
process.stdin.setRawMode(rawMode);
|
|
86
|
-
process.stdin.
|
|
85
|
+
process.stdin.setEncoding(encoding);
|
|
86
|
+
process.stdin.addListener(_constants.DATA, listener);
|
|
87
87
|
process.stdin.resume();
|
|
88
88
|
function listener(data) {
|
|
89
89
|
var character = data.toString(encoding);
|
|
90
90
|
switch(character){
|
|
91
91
|
case _characters.NEW_LINE_CHARACTER:
|
|
92
92
|
case _characters.CARRIAGE_RETURN_CHARACTER:
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
{
|
|
94
|
+
process.stdout.write(_characters.NEW_LINE_CHARACTER);
|
|
95
|
+
process.stdin.removeListener(_constants.DATA, listener);
|
|
96
|
+
process.stdin.pause();
|
|
97
|
+
callback(answer);
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
case _characters.UP_CHARACTER:
|
|
101
|
+
case _characters.DOWN_CHARACTER:
|
|
102
|
+
case _characters.LEFT_CHARACTER:
|
|
103
|
+
case _characters.RIGHT_CHARACTER:
|
|
104
|
+
{
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
98
107
|
case _characters.BACKSPACE_CHARACTER:
|
|
99
|
-
|
|
100
|
-
|
|
108
|
+
{
|
|
109
|
+
var answerLength = answer.length, start = 0, end = answerLength - 1;
|
|
110
|
+
answer = answer.slice(start, end);
|
|
111
|
+
if (!hidden) {
|
|
112
|
+
process.stdout.clearLine();
|
|
113
|
+
process.stdout.cursorTo(0);
|
|
114
|
+
process.stdout.write(description);
|
|
115
|
+
process.stdout.write(answer);
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
101
119
|
default:
|
|
102
120
|
answer += character;
|
|
121
|
+
if (!hidden) {
|
|
122
|
+
process.stdout.write(character);
|
|
123
|
+
}
|
|
103
124
|
break;
|
|
104
125
|
case _characters.ETX_CHARACTER:
|
|
105
126
|
console.log(_characters.CTRL_C_CHARACTER);
|
|
@@ -107,19 +128,5 @@ function hiddenInput(answer, description, encoding, callback) {
|
|
|
107
128
|
}
|
|
108
129
|
}
|
|
109
130
|
}
|
|
110
|
-
function visibleInput(answer2, description, encoding, callback) {
|
|
111
|
-
var listener = function listener(data) {
|
|
112
|
-
var answer = data.replace(/\n$/, _constants.EMPTY_STRING);
|
|
113
|
-
process.stdin.pause();
|
|
114
|
-
callback(answer);
|
|
115
|
-
};
|
|
116
|
-
var rawMode = false;
|
|
117
|
-
process.stdout.write(description);
|
|
118
|
-
process.stdout.write(answer2);
|
|
119
|
-
process.stdin.setEncoding(encoding);
|
|
120
|
-
process.stdin.setRawMode(rawMode);
|
|
121
|
-
process.stdin.once(_constants.DATA, listener);
|
|
122
|
-
process.stdin.resume();
|
|
123
|
-
}
|
|
124
131
|
|
|
125
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2hlbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHdoaWxzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5cbmltcG9ydCB7IFVURjhfRU5DT0RJTkcgfSBmcm9tIFwiLi4vZW5jb2RpbmdzXCI7XG5pbXBvcnQgeyBEQVRBLCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VOQ09ESU5HLCBERUZBVUxUX0FUVEVNUFRTLCBERUZBVUxUX0lOSVRJQUxfQU5TV0VSIH0gZnJvbSBcIi4uL2RlZmF1bHRzXCI7XG5pbXBvcnQgeyBFVFhfQ0hBUkFDVEVSLCBDVFJMX0NfQ0hBUkFDVEVSLCBCQUNLU1BBQ0VfQ0hBUkFDVEVSLCBORVdfTElORV9DSEFSQUNURVIsIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgfSBmcm9tIFwiLi4vY2hhcmFjdGVyc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gb25FVFgoaGFuZGxlcikge1xuICBpZiAocHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKSB7XG4gICAgY29uc3QgcmF3TW9kZSA9IHRydWUsXG4gICAgICAgICAgZW5jb2RpbmcgPSBVVEY4X0VOQ09ESU5HO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgICBwcm9jZXNzLnN0ZGluLmFkZExpc3RlbmVyKERBVEEsIGxpc3RlbmVyKTtcblxuICAgIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgICByZXR1cm4gb2ZmRXh0O1xuICB9XG5cbiAgZnVuY3Rpb24gb2ZmRXh0KCkge1xuICAgIHByb2Nlc3Muc3RkaW4ucmVtb3ZlTGlzdGVuZXIoREFUQSwgbGlzdGVuZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoY2hhcmFjdGVyKSB7XG4gICAgaWYgKGNoYXJhY3RlciA9PT0gRVRYX0NIQVJBQ1RFUikge1xuICAgICAgaGFuZGxlcigpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvbXB0KG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gIGxldCB7IGFuc3dlciA9IG51bGwgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGFuc3dlciAhPT0gbnVsbCkge1xuICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IGF0dGVtcHRzID0gREVGQVVMVF9BVFRFTVBUUyB9ID0gb3B0aW9ucyxcbiAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICBhbnN3ZXIsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBhdHRlbXB0c1xuICAgICAgICB9O1xuXG4gIHdoaWxzdChhdHRlbXB0LCAoKSA9PiB7XG4gICAgY29uc3QgeyBhbnN3ZXIgfSA9IGNvbnRleHQ7XG4gICAgXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfSwgY29udGV4dCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25FVFgsXG4gIHByb21wdFxufVxuXG5mdW5jdGlvbiBhdHRlbXB0KG5leHQsIGRvbmUsIGNvbnRleHQpIHtcbiAgbGV0IHsgYXR0ZW1wdHMgfSA9IGNvbnRleHQ7XG5cbiAgY29uc3QgdGVybWluYXRlID0gKGF0dGVtcHRzLS0gPT09IDApO1xuICBcbiAgaWYgKHRlcm1pbmF0ZSkge1xuICAgIGRvbmUoKTtcbiAgICBcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IG9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaGlkZGVuID0gZmFsc2UsXG4gICAgICAgICAgZW5jb2RpbmcgPSBERUZBVUxUX0VOQ09ESU5HLFxuICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgICBpbml0aWFsQW5zd2VyID0gREVGQVVMVF9JTklUSUFMX0FOU1dFUixcbiAgICAgICAgICB2YWxpZGF0aW9uUGF0dGVybiA9IG51bGwsXG4gICAgICAgICAgdmFsaWRhdGlvbkZ1bmN0aW9uID0gbnVsbCB9ID0gb3B0aW9ucztcblxuICBpbnB1dChpbml0aWFsQW5zd2VyLCBoaWRkZW4sIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spO1xuXG4gIGZ1bmN0aW9uIGNhbGxiYWNrKGFuc3dlcikge1xuICAgIGNvbnN0IHZhbGlkID0gdmFsaWRhdGlvbkZ1bmN0aW9uID8gIC8vL1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uRnVuY3Rpb24oYW5zd2VyKSA6XG4gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvblBhdHRlcm4udGVzdChhbnN3ZXIpO1xuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYW5zd2VyXG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvck1lc3NhZ2UpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYXR0ZW1wdHNcbiAgICAgIH0pO1xuXG4gICAgICBuZXh0KCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlucHV0KGluaXRpYWxBbnN3ZXIsIGhpZGRlbiwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBjb25zdCBhbnN3ZXIgPSBpbml0aWFsQW5zd2VyOyAvLy9cblxuICBoaWRkZW4gP1xuICAgIGhpZGRlbklucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykgOlxuICAgICAgdmlzaWJsZUlucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIGhpZGRlbklucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBjb25zdCByYXdNb2RlID0gdHJ1ZTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZShkZXNjcmlwdGlvbik7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gIHByb2Nlc3Muc3RkaW4ub24oREFUQSwgbGlzdGVuZXIpO1xuXG4gIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoZGF0YSkge1xuICAgIGNvbnN0IGNoYXJhY3RlciA9IGRhdGEudG9TdHJpbmcoZW5jb2RpbmcpO1xuXG4gICAgc3dpdGNoIChjaGFyYWN0ZXIpIHtcbiAgICAgIGNhc2UgTkVXX0xJTkVfQ0hBUkFDVEVSIDpcbiAgICAgIGNhc2UgQ0FSUklBR0VfUkVUVVJOX0NIQVJBQ1RFUiA6XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKE5FV19MSU5FX0NIQVJBQ1RFUik7XG5cbiAgICAgICAgcHJvY2Vzcy5zdGRpbi5yZW1vdmVMaXN0ZW5lcihEQVRBLCBsaXN0ZW5lcik7XG5cbiAgICAgICAgcHJvY2Vzcy5zdGRpbi5wYXVzZSgpO1xuXG4gICAgICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgQkFDS1NQQUNFX0NIQVJBQ1RFUiA6XG4gICAgICAgIGFuc3dlciA9IGFuc3dlci5zbGljZSgwLCBhbnN3ZXIubGVuZ3RoIC0gMSk7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFuc3dlciArPSBjaGFyYWN0ZXI7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgRVRYX0NIQVJBQ1RFUiA6XG4gICAgICAgIGNvbnNvbGUubG9nKENUUkxfQ19DSEFSQUNURVIpO1xuXG4gICAgICAgIHByb2Nlc3MuZXhpdCgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2aXNpYmxlSW5wdXQoYW5zd2VyLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHJhd01vZGUgPSBmYWxzZTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZShkZXNjcmlwdGlvbik7XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYW5zd2VyKTtcblxuICBwcm9jZXNzLnN0ZGluLnNldEVuY29kaW5nKGVuY29kaW5nKTtcblxuICBwcm9jZXNzLnN0ZGluLnNldFJhd01vZGUocmF3TW9kZSk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5vbmNlKERBVEEsIGxpc3RlbmVyKTtcblxuICBwcm9jZXNzLnN0ZGluLnJlc3VtZSgpO1xuXG4gIGZ1bmN0aW9uIGxpc3RlbmVyKGRhdGEpIHtcbiAgICBjb25zdCBhbnN3ZXIgPSBkYXRhLnJlcGxhY2UoL1xcbiQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5wYXVzZSgpO1xuXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIm9uRVRYIiwicHJvbXB0IiwiaGFuZGxlciIsIm9mZkV4dCIsInByb2Nlc3MiLCJzdGRpbiIsInJlbW92ZUxpc3RlbmVyIiwibGlzdGVuZXIiLCJjaGFyYWN0ZXIiLCJzZXRSYXdNb2RlIiwicmF3TW9kZSIsImVuY29kaW5nIiwic2V0RW5jb2RpbmciLCJhZGRMaXN0ZW5lciIsInJlc3VtZSIsIm9wdGlvbnMiLCJjYWxsYmFjayIsImFuc3dlciIsImF0dGVtcHRzIiwiY29udGV4dCIsImF0dGVtcHQiLCJuZXh0IiwiZG9uZSIsInZhbGlkIiwidmFsaWRhdGlvbkZ1bmN0aW9uIiwidmFsaWRhdGlvblBhdHRlcm4iLCJ0ZXN0IiwiT2JqZWN0IiwiYXNzaWduIiwiY29uc29sZSIsImxvZyIsImVycm9yTWVzc2FnZSIsInRlcm1pbmF0ZSIsImhpZGRlbiIsImRlc2NyaXB0aW9uIiwiaW5pdGlhbEFuc3dlciIsImlucHV0IiwiaGlkZGVuSW5wdXQiLCJ2aXNpYmxlSW5wdXQiLCJzdGRvdXQiLCJ3cml0ZSIsIm9uIiwiZGF0YSIsInRvU3RyaW5nIiwicGF1c2UiLCJzbGljZSIsImxlbmd0aCIsImV4aXQiLCJyZXBsYWNlIiwib25jZSJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQVNJQSxLQUFLLEdBQUxBLEtBQUs7UUEyQkxDLE1BQU0sR0FBTkEsTUFBTTs7QUFsQ0MsR0FBMkIsQ0FBM0IsYUFBMkI7QUFFcEIsR0FBYyxDQUFkLFVBQWM7QUFDVCxHQUFjLENBQWQsVUFBYztBQUMwQixHQUFhLENBQWIsU0FBYTtBQUM0QixHQUFlLENBQWYsV0FBZTtTQUVuSEQsS0FBSyxDQUFDRSxPQUFPLEVBQUUsQ0FBQztRQWdCckJDLE1BQU0sR0FBZixRQUFRLENBQUNBLE1BQU0sR0FBRyxDQUFDO1FBQ2pCQyxPQUFPLENBQUNDLEtBQUssQ0FBQ0MsY0FBYyxDQXJCRyxVQUFjLE9BcUJWQyxRQUFRO0lBQzdDLENBQUM7UUFFUUEsUUFBUSxHQUFqQixRQUFRLENBQUNBLFFBQVEsQ0FBQ0MsU0FBUyxFQUFFLENBQUM7UUFDNUIsRUFBRSxFQUFFQSxTQUFTLEtBdkJtRyxXQUFlLGdCQXVCOUYsQ0FBQztZQUNoQ04sT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0lBdkJELEVBQUUsRUFBRUUsT0FBTyxDQUFDQyxLQUFLLENBQUNJLFVBQVUsRUFBRSxDQUFDO1FBQzdCLEdBQUssQ0FBQ0MsT0FBTyxHQUFHLElBQUksRUFDZEMsUUFBUSxHQVJZLFVBQWM7UUFVeENQLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDSSxVQUFVLENBQUNDLE9BQU87UUFFaENOLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDTyxXQUFXLENBQUNELFFBQVE7UUFFbENQLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDUSxXQUFXLENBYk0sVUFBYyxPQWFiTixRQUFRO1FBRXhDSCxPQUFPLENBQUNDLEtBQUssQ0FBQ1MsTUFBTTtRQUVwQixNQUFNLENBQUNYLE1BQU07SUFDZixDQUFDO0FBV0gsQ0FBQztTQUVlRixNQUFN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
|
|
132
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2hlbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHdoaWxzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5cbmltcG9ydCB7IERBVEEgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBVVEY4X0VOQ09ESU5HIH0gZnJvbSBcIi4uL2VuY29kaW5nc1wiO1xuaW1wb3J0IHsgREVGQVVMVF9FTkNPRElORywgREVGQVVMVF9BVFRFTVBUUywgREVGQVVMVF9JTklUSUFMX0FOU1dFUiB9IGZyb20gXCIuLi9kZWZhdWx0c1wiO1xuaW1wb3J0IHsgVVBfQ0hBUkFDVEVSLFxuICAgICAgICAgRVRYX0NIQVJBQ1RFUixcbiAgICAgICAgIERPV05fQ0hBUkFDVEVSLFxuICAgICAgICAgTEVGVF9DSEFSQUNURVIsXG4gICAgICAgICBSSUdIVF9DSEFSQUNURVIsXG4gICAgICAgICBDVFJMX0NfQ0hBUkFDVEVSLFxuICAgICAgICAgTkVXX0xJTkVfQ0hBUkFDVEVSLFxuICAgICAgICAgQkFDS1NQQUNFX0NIQVJBQ1RFUixcbiAgICAgICAgIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgfSBmcm9tIFwiLi4vY2hhcmFjdGVyc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gb25FVFgoaGFuZGxlcikge1xuICBpZiAocHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKSB7XG4gICAgY29uc3QgcmF3TW9kZSA9IHRydWUsXG4gICAgICAgICAgZW5jb2RpbmcgPSBVVEY4X0VOQ09ESU5HO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgICBwcm9jZXNzLnN0ZGluLmFkZExpc3RlbmVyKERBVEEsIGxpc3RlbmVyKTtcblxuICAgIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgICByZXR1cm4gb2ZmRXh0O1xuICB9XG5cbiAgZnVuY3Rpb24gb2ZmRXh0KCkge1xuICAgIHByb2Nlc3Muc3RkaW4ucmVtb3ZlTGlzdGVuZXIoREFUQSwgbGlzdGVuZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoY2hhcmFjdGVyKSB7XG4gICAgaWYgKGNoYXJhY3RlciA9PT0gRVRYX0NIQVJBQ1RFUikge1xuICAgICAgaGFuZGxlcigpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvbXB0KG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gIGxldCB7IGFuc3dlciA9IG51bGwgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGFuc3dlciAhPT0gbnVsbCkge1xuICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IGF0dGVtcHRzID0gREVGQVVMVF9BVFRFTVBUUyB9ID0gb3B0aW9ucyxcbiAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICBhbnN3ZXIsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBhdHRlbXB0c1xuICAgICAgICB9O1xuXG4gIHdoaWxzdChhdHRlbXB0LCAoKSA9PiB7XG4gICAgY29uc3QgeyBhbnN3ZXIgfSA9IGNvbnRleHQ7XG4gICAgXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfSwgY29udGV4dCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25FVFgsXG4gIHByb21wdFxufVxuXG5mdW5jdGlvbiBhdHRlbXB0KG5leHQsIGRvbmUsIGNvbnRleHQpIHtcbiAgbGV0IHsgYXR0ZW1wdHMgfSA9IGNvbnRleHQ7XG5cbiAgY29uc3QgdGVybWluYXRlID0gKGF0dGVtcHRzLS0gPT09IDApO1xuICBcbiAgaWYgKHRlcm1pbmF0ZSkge1xuICAgIGRvbmUoKTtcbiAgICBcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IG9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaGlkZGVuID0gZmFsc2UsXG4gICAgICAgICAgZW5jb2RpbmcgPSBERUZBVUxUX0VOQ09ESU5HLFxuICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgICBpbml0aWFsQW5zd2VyID0gREVGQVVMVF9JTklUSUFMX0FOU1dFUixcbiAgICAgICAgICB2YWxpZGF0aW9uUGF0dGVybiA9IG51bGwsXG4gICAgICAgICAgdmFsaWRhdGlvbkZ1bmN0aW9uID0gbnVsbCB9ID0gb3B0aW9ucztcblxuICBpbnB1dChpbml0aWFsQW5zd2VyLCBoaWRkZW4sIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spO1xuXG4gIGZ1bmN0aW9uIGNhbGxiYWNrKGFuc3dlcikge1xuICAgIGNvbnN0IHZhbGlkID0gdmFsaWRhdGlvbkZ1bmN0aW9uID8gIC8vL1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uRnVuY3Rpb24oYW5zd2VyKSA6XG4gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvblBhdHRlcm4udGVzdChhbnN3ZXIpO1xuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYW5zd2VyXG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvck1lc3NhZ2UpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYXR0ZW1wdHNcbiAgICAgIH0pO1xuXG4gICAgICBuZXh0KCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlucHV0KGluaXRpYWxBbnN3ZXIsIGhpZGRlbiwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBsZXQgYW5zd2VyID0gaW5pdGlhbEFuc3dlcjsgLy8vXG5cbiAgY29uc3QgcmF3TW9kZSA9IHRydWU7XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoZGVzY3JpcHRpb24pO1xuXG4gIGlmICghaGlkZGVuKSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoaW5pdGlhbEFuc3dlcik7XG4gIH1cblxuICBwcm9jZXNzLnN0ZGluLnNldFJhd01vZGUocmF3TW9kZSk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5hZGRMaXN0ZW5lcihEQVRBLCBsaXN0ZW5lcik7XG5cbiAgcHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTtcblxuICBmdW5jdGlvbiBsaXN0ZW5lcihkYXRhKSB7XG4gICAgY29uc3QgY2hhcmFjdGVyID0gZGF0YS50b1N0cmluZyhlbmNvZGluZyk7XG5cbiAgICBzd2l0Y2ggKGNoYXJhY3Rlcikge1xuICAgICAgY2FzZSBORVdfTElORV9DSEFSQUNURVI6XG4gICAgICBjYXNlIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVI6IHtcbiAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoTkVXX0xJTkVfQ0hBUkFDVEVSKTtcblxuICAgICAgICBwcm9jZXNzLnN0ZGluLnJlbW92ZUxpc3RlbmVyKERBVEEsIGxpc3RlbmVyKTtcblxuICAgICAgICBwcm9jZXNzLnN0ZGluLnBhdXNlKCk7XG5cbiAgICAgICAgY2FsbGJhY2soYW5zd2VyKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBVUF9DSEFSQUNURVI6XG4gICAgICBjYXNlIERPV05fQ0hBUkFDVEVSOlxuICAgICAgY2FzZSBMRUZUX0NIQVJBQ1RFUjpcbiAgICAgIGNhc2UgUklHSFRfQ0hBUkFDVEVSOiB7XG4gICAgICAgIC8vL1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIEJBQ0tTUEFDRV9DSEFSQUNURVI6IHtcbiAgICAgICAgY29uc3QgYW5zd2VyTGVuZ3RoID0gYW5zd2VyLmxlbmd0aCxcbiAgICAgICAgICBzdGFydCA9IDAsXG4gICAgICAgICAgZW5kID0gYW5zd2VyTGVuZ3RoIC0gMTtcblxuICAgICAgICBhbnN3ZXIgPSBhbnN3ZXIuc2xpY2Uoc3RhcnQsIGVuZCk7XG5cbiAgICAgICAgaWYgKCFoaWRkZW4pIHtcbiAgICAgICAgICBwcm9jZXNzLnN0ZG91dC5jbGVhckxpbmUoKTtcblxuICAgICAgICAgIHByb2Nlc3Muc3Rkb3V0LmN1cnNvclRvKDApO1xuXG4gICAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoZGVzY3JpcHRpb24pO1xuXG4gICAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYW5zd2VyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBhbnN3ZXIgKz0gY2hhcmFjdGVyO1xuXG4gICAgICAgIGlmICghaGlkZGVuKSB7XG4gICAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoY2hhcmFjdGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEVUWF9DSEFSQUNURVI6XG4gICAgICAgIGNvbnNvbGUubG9nKENUUkxfQ19DSEFSQUNURVIpO1xuXG4gICAgICAgIHByb2Nlc3MuZXhpdCgpO1xuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6WyJvbkVUWCIsInByb21wdCIsImhhbmRsZXIiLCJvZmZFeHQiLCJwcm9jZXNzIiwic3RkaW4iLCJyZW1vdmVMaXN0ZW5lciIsImxpc3RlbmVyIiwiY2hhcmFjdGVyIiwic2V0UmF3TW9kZSIsInJhd01vZGUiLCJlbmNvZGluZyIsInNldEVuY29kaW5nIiwiYWRkTGlzdGVuZXIiLCJyZXN1bWUiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJhbnN3ZXIiLCJhdHRlbXB0cyIsImNvbnRleHQiLCJhdHRlbXB0IiwibmV4dCIsImRvbmUiLCJ2YWxpZCIsInZhbGlkYXRpb25GdW5jdGlvbiIsInZhbGlkYXRpb25QYXR0ZXJuIiwidGVzdCIsIk9iamVjdCIsImFzc2lnbiIsImNvbnNvbGUiLCJsb2ciLCJlcnJvck1lc3NhZ2UiLCJ0ZXJtaW5hdGUiLCJoaWRkZW4iLCJkZXNjcmlwdGlvbiIsImluaXRpYWxBbnN3ZXIiLCJpbnB1dCIsInN0ZG91dCIsIndyaXRlIiwiZGF0YSIsInRvU3RyaW5nIiwicGF1c2UiLCJhbnN3ZXJMZW5ndGgiLCJsZW5ndGgiLCJzdGFydCIsImVuZCIsInNsaWNlIiwiY2xlYXJMaW5lIiwiY3Vyc29yVG8iLCJleGl0Il0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7O1FBaUJJQSxLQUFLLEdBQUxBLEtBQUs7UUEyQkxDLE1BQU0sR0FBTkEsTUFBTTs7QUExQ0MsR0FBMkIsQ0FBM0IsYUFBMkI7QUFFN0IsR0FBYyxDQUFkLFVBQWM7QUFDTCxHQUFjLENBQWQsVUFBYztBQUMrQixHQUFhLENBQWIsU0FBYTtBQVM5QyxHQUFlLENBQWYsV0FBZTtTQUV6Q0QsS0FBSyxDQUFDRSxPQUFPLEVBQUUsQ0FBQztRQWdCckJDLE1BQU0sR0FBZixRQUFRLENBQUNBLE1BQU0sR0FBRyxDQUFDO1FBQ2pCQyxPQUFPLENBQUNDLEtBQUssQ0FBQ0MsY0FBYyxDQTlCWCxVQUFjLE9BOEJJQyxRQUFRO0lBQzdDLENBQUM7UUFFUUEsUUFBUSxHQUFqQixRQUFRLENBQUNBLFFBQVEsQ0FBQ0MsU0FBUyxFQUFFLENBQUM7UUFDNUIsRUFBRSxFQUFFQSxTQUFTLEtBdkJ5QixXQUFlLGdCQXVCcEIsQ0FBQztZQUNoQ04sT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0lBdkJELEVBQUUsRUFBRUUsT0FBTyxDQUFDQyxLQUFLLENBQUNJLFVBQVUsRUFBRSxDQUFDO1FBQzdCLEdBQUssQ0FBQ0MsT0FBTyxHQUFHLElBQUksRUFDZEMsUUFBUSxHQWZZLFVBQWM7UUFpQnhDUCxPQUFPLENBQUNDLEtBQUssQ0FBQ0ksVUFBVSxDQUFDQyxPQUFPO1FBRWhDTixPQUFPLENBQUNDLEtBQUssQ0FBQ08sV0FBVyxDQUFDRCxRQUFRO1FBRWxDUCxPQUFPLENBQUNDLEtBQUssQ0FBQ1EsV0FBVyxDQXRCUixVQUFjLE9Bc0JDTixRQUFRO1FBRXhDSCxPQUFPLENBQUNDLEtBQUssQ0FBQ1MsTUFBTTtRQUVwQixNQUFNLENBQUNYLE1BQU07SUFDZixDQUFDO0FBV0gsQ0FBQztTQUVlRixNQUFNLENBQUNjLE9BQU8sRUFBRUMsUUFBUSxFQUFFLENBQUM7SUFDekMsR0FBRyxXQUFxQkQsT0FBTyxDQUF6QkUsTUFBTSxFQUFOQSxPQUFNLHdCQUFHLElBQUk7SUFFbkIsRUFBRSxFQUFFQSxPQUFNLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDcEJELFFBQVEsQ0FBQ0MsT0FBTTtRQUVmLE1BQU07SUFDUixDQUFDO0lBRUQsR0FBSyxhQUFtQ0YsT0FBTyxDQUF2Q0csUUFBUSxFQUFSQSxRQUFRLDBCQS9DeUQsU0FBYSwrQkFnRGhGQyxPQUFPLEdBQUcsQ0FBQztRQUNURixNQUFNLEVBQU5BLE9BQU07UUFDTkYsT0FBTyxFQUFQQSxPQUFPO1FBQ1BHLFFBQVEsRUFBUkEsUUFBUTtJQUNWLENBQUM7UUF4RGMsYUFBMkIsU0EwRHpDRSxPQUFPLEVBQUUsUUFDbEIsR0FEd0IsQ0FBQztRQUNyQixHQUFLLENBQUdILE1BQU0sR0FBS0UsT0FBTyxDQUFsQkYsTUFBTTtRQUVkRCxRQUFRLENBQUNDLE1BQU07SUFDakIsQ0FBQyxFQUFFRSxPQUFPO0FBQ1osQ0FBQztlQUVjLENBQUM7SUFDZG5CLEtBQUssRUFBTEEsS0FBSztJQUNMQyxNQUFNLEVBQU5BLE1BQU07QUFDUixDQUFDOztTQUVRbUIsT0FBTyxDQUFDQyxJQUFJLEVBQUVDLElBQUksRUFBRUgsT0FBTyxFQUFFLENBQUM7UUFzQjVCSCxRQUFRLEdBQWpCLFFBQVEsQ0FBQ0EsUUFBUSxDQUFDQyxNQUFNLEVBQUUsQ0FBQztRQUN6QixHQUFLLENBQUNNLEtBQUssR0FBR0Msa0JBQWtCLEdBQ2hCQSxrQkFBa0IsQ0FBQ1AsTUFBTSxJQUN2QlEsaUJBQWlCLENBQUNDLElBQUksQ0FBQ1QsTUFBTTtRQUUvQyxFQUFFLEVBQUVNLEtBQUssRUFBRSxDQUFDO1lBQ1ZJLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDVCxPQUFPLEVBQUUsQ0FBQztnQkFDdEJGLE1BQU0sRUFBTkEsTUFBTTtZQUNSLENBQUM7WUFFREssSUFBSTtRQUNOLENBQUMsTUFBTSxDQUFDO1lBQ05PLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxZQUFZO1lBRXhCSixNQUFNLENBQUNDLE1BQU0sQ0FBQ1QsT0FBTyxFQUFFLENBQUM7Z0JBQ3RCRCxRQUFRLEVBQVJBLFFBQVE7WUFDVixDQUFDO1lBRURHLElBQUk7UUFDTixDQUFDO0lBQ0gsQ0FBQztJQXpDRCxHQUFHLENBQUdILFFBQVEsR0FBS0MsT0FBTyxDQUFwQkQsUUFBUTtJQUVkLEdBQUssQ0FBQ2MsU0FBUyxJQUFJZCxRQUFRLFFBQU8sQ0FBQztJQUVuQyxFQUFFLEVBQUVjLFNBQVMsRUFBRSxDQUFDO1FBQ2RWLElBQUk7UUFFSixNQUFNO0lBQ1IsQ0FBQztJQUVELEdBQUssQ0FBR1AsT0FBTyxHQUFLSSxPQUFPLENBQW5CSixPQUFPLFlBT3VCQSxPQUFPLENBTnJDa0IsTUFBTSxFQUFOQSxNQUFNLHdCQUFHLEtBQUssd0JBTWdCbEIsT0FBTyxDQUxyQ0osUUFBUSxFQUFSQSxRQUFRLDBCQS9FeUQsU0FBYSwrQkFnRjlFdUIsV0FBVyxHQUltQm5CLE9BQU8sQ0FKckNtQixXQUFXLEVBQ1hILFlBQVksR0FHa0JoQixPQUFPLENBSHJDZ0IsWUFBWSxtQkFHa0JoQixPQUFPLENBRnJDb0IsYUFBYSxFQUFiQSxhQUFhLCtCQWxGb0QsU0FBYSwrREFvRmhEcEIsT0FBTyxDQURyQ1UsaUJBQWlCLEVBQWpCQSxpQkFBaUIsbUNBQUcsSUFBSSw2Q0FDTVYsT0FBTyxDQUFyQ1Msa0JBQWtCLEVBQWxCQSxrQkFBa0Isb0NBQUcsSUFBSTtJQUVqQ1ksS0FBSyxDQUFDRCxhQUFhLEVBQUVGLE1BQU0sRUFBRUMsV0FBVyxFQUFFdkIsUUFBUSxFQUFFSyxRQUFRO0FBdUI5RCxDQUFDO1NBRVFvQixLQUFLLENBQUNELGFBQWEsRUFBRUYsTUFBTSxFQUFFQyxXQUFXLEVBQUV2QixRQUFRLEVBQUVLLFFBQVEsRUFBRSxDQUFDO0lBQ3RFLEdBQUcsQ0FBQ0MsTUFBTSxHQUFHa0IsYUFBYSxDQUFFLENBQUcsQUFBSCxFQUFHLEFBQUgsQ0FBRztJQUUvQixHQUFLLENBQUN6QixPQUFPLEdBQUcsSUFBSTtJQUVwQk4sT0FBTyxDQUFDaUMsTUFBTSxDQUFDQyxLQUFLLENBQUNKLFdBQVc7SUFFaEMsRUFBRSxHQUFHRCxNQUFNLEVBQUUsQ0FBQztRQUNaN0IsT0FBTyxDQUFDaUMsTUFBTSxDQUFDQyxLQUFLLENBQUNILGFBQWE7SUFDcEMsQ0FBQztJQUVEL0IsT0FBTyxDQUFDQyxLQUFLLENBQUNJLFVBQVUsQ0FBQ0MsT0FBTztJQUVoQ04sT0FBTyxDQUFDQyxLQUFLLENBQUNPLFdBQVcsQ0FBQ0QsUUFBUTtJQUVsQ1AsT0FBTyxDQUFDQyxLQUFLLENBQUNRLFdBQVcsQ0FoSU4sVUFBYyxPQWdJRE4sUUFBUTtJQUV4Q0gsT0FBTyxDQUFDQyxLQUFLLENBQUNTLE1BQU07YUFFWFAsUUFBUSxDQUFDZ0MsSUFBSSxFQUFFLENBQUM7UUFDdkIsR0FBSyxDQUFDL0IsU0FBUyxHQUFHK0IsSUFBSSxDQUFDQyxRQUFRLENBQUM3QixRQUFRO1FBRXhDLE1BQU0sQ0FBRUgsU0FBUztZQUNmLElBQUksQ0E3SGdDLFdBQWU7WUE4SG5ELElBQUksQ0E5SGdDLFdBQWU7Z0JBOEhuQixDQUFDO29CQUMvQkosT0FBTyxDQUFDaUMsTUFBTSxDQUFDQyxLQUFLLENBL0hjLFdBQWU7b0JBaUlqRGxDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDQyxjQUFjLENBNUlmLFVBQWMsT0E0SVFDLFFBQVE7b0JBRTNDSCxPQUFPLENBQUNDLEtBQUssQ0FBQ29DLEtBQUs7b0JBRW5CekIsUUFBUSxDQUFDQyxNQUFNO29CQUVmLEtBQUs7Z0JBQ1AsQ0FBQztZQUVELElBQUksQ0ExSWdDLFdBQWU7WUEySW5ELElBQUksQ0EzSWdDLFdBQWU7WUE0SW5ELElBQUksQ0E1SWdDLFdBQWU7WUE2SW5ELElBQUksQ0E3SWdDLFdBQWU7Z0JBNkk3QixDQUFDO29CQUdyQixLQUFLO2dCQUNQLENBQUM7WUFFRCxJQUFJLENBbkpnQyxXQUFlO2dCQW1KekIsQ0FBQztvQkFDekIsR0FBSyxDQUFDeUIsWUFBWSxHQUFHekIsTUFBTSxDQUFDMEIsTUFBTSxFQUNoQ0MsS0FBSyxHQUFHLENBQUMsRUFDVEMsR0FBRyxHQUFHSCxZQUFZLEdBQUcsQ0FBQztvQkFFeEJ6QixNQUFNLEdBQUdBLE1BQU0sQ0FBQzZCLEtBQUssQ0FBQ0YsS0FBSyxFQUFFQyxHQUFHO29CQUVoQyxFQUFFLEdBQUdaLE1BQU0sRUFBRSxDQUFDO3dCQUNaN0IsT0FBTyxDQUFDaUMsTUFBTSxDQUFDVSxTQUFTO3dCQUV4QjNDLE9BQU8sQ0FBQ2lDLE1BQU0sQ0FBQ1csUUFBUSxDQUFDLENBQUM7d0JBRXpCNUMsT0FBTyxDQUFDaUMsTUFBTSxDQUFDQyxLQUFLLENBQUNKLFdBQVc7d0JBRWhDOUIsT0FBTyxDQUFDaUMsTUFBTSxDQUFDQyxLQUFLLENBQUNyQixNQUFNO29CQUM3QixDQUFDO29CQUVELEtBQUs7Z0JBQ1AsQ0FBQzs7Z0JBR0NBLE1BQU0sSUFBSVQsU0FBUztnQkFFbkIsRUFBRSxHQUFHeUIsTUFBTSxFQUFFLENBQUM7b0JBQ1o3QixPQUFPLENBQUNpQyxNQUFNLENBQUNDLEtBQUssQ0FBQzlCLFNBQVM7Z0JBQ2hDLENBQUM7Z0JBRUQsS0FBSztZQUVQLElBQUksQ0FoTGdDLFdBQWU7Z0JBaUxqRHFCLE9BQU8sQ0FBQ0MsR0FBRyxDQWpMdUIsV0FBZTtnQkFtTGpEMUIsT0FBTyxDQUFDNkMsSUFBSTs7SUFFbEIsQ0FBQztBQUNILENBQUMifQ==
|
package/license.txt
CHANGED
package/package.json
CHANGED
package/src/characters.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
export const UP_CHARACTER = "[A";
|
|
3
4
|
export const ETX_CHARACTER = "\u0003";
|
|
4
5
|
export const BAR_CHARACTER = "|";
|
|
5
6
|
export const DASH_CHARACTER = "-";
|
|
7
|
+
export const DOWN_CHARACTER = "[B";
|
|
8
|
+
export const LEFT_CHARACTER = "[D";
|
|
9
|
+
export const RIGHT_CHARACTER = "[C";
|
|
6
10
|
export const SPACE_CHARACTER = " ";
|
|
7
11
|
export const COMMA_CHARACTER = ",";
|
|
8
12
|
export const COLON_CHARACTER = ":";
|
|
@@ -20,9 +24,13 @@ export const CARRIAGE_RETURN_CHARACTER = "\r";
|
|
|
20
24
|
export const EXCLAMATION_MARK_CHARACTER = "!";
|
|
21
25
|
|
|
22
26
|
export default {
|
|
27
|
+
UP_CHARACTER,
|
|
23
28
|
ETX_CHARACTER,
|
|
24
29
|
BAR_CHARACTER,
|
|
25
30
|
DASH_CHARACTER,
|
|
31
|
+
DOWN_CHARACTER,
|
|
32
|
+
LEFT_CHARACTER,
|
|
33
|
+
RIGHT_CHARACTER,
|
|
26
34
|
SPACE_CHARACTER,
|
|
27
35
|
COMMA_CHARACTER,
|
|
28
36
|
COLON_CHARACTER,
|
package/src/utilities/logging.js
CHANGED
|
@@ -58,21 +58,22 @@ export function log(messageOrError, level = EMPTY_STRING) {
|
|
|
58
58
|
upperCaseLevel = level.toUpperCase(),
|
|
59
59
|
currentDateAndTimeString = getCurrentDateAndTimeString(),
|
|
60
60
|
filePath = filePathFromStackMessage(stackMessage),
|
|
61
|
-
lineNumber = lineNumberFromStackMessage(stackMessage)
|
|
62
|
-
logMessage = `${upperCaseLevel} ${currentDateAndTimeString} ${filePath}(${lineNumber}) ${message}`;
|
|
61
|
+
lineNumber = lineNumberFromStackMessage(stackMessage);
|
|
63
62
|
|
|
64
|
-
|
|
63
|
+
message = `${upperCaseLevel} ${currentDateAndTimeString} ${filePath}(${lineNumber}) ${message}`;
|
|
64
|
+
|
|
65
|
+
console.log(message);
|
|
65
66
|
|
|
66
67
|
if (logDirectoryPath !== null) {
|
|
67
68
|
rollOverLogFile();
|
|
68
69
|
|
|
69
70
|
const logFilePath = getLogFilePath(),
|
|
70
|
-
logFileContent = `${
|
|
71
|
+
logFileContent = `${message}\n`;
|
|
71
72
|
|
|
72
73
|
appendToFile(logFilePath, logFileContent);
|
|
73
74
|
}
|
|
74
75
|
|
|
75
|
-
return
|
|
76
|
+
return message;
|
|
76
77
|
}
|
|
77
78
|
|
|
78
79
|
export default {
|
package/src/utilities/shell.js
CHANGED
|
@@ -2,10 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import { whilst } from "../utilities/asynchronous";
|
|
4
4
|
|
|
5
|
+
import { DATA } from "../constants";
|
|
5
6
|
import { UTF8_ENCODING } from "../encodings";
|
|
6
|
-
import { DATA, EMPTY_STRING } from "../constants";
|
|
7
7
|
import { DEFAULT_ENCODING, DEFAULT_ATTEMPTS, DEFAULT_INITIAL_ANSWER } from "../defaults";
|
|
8
|
-
import {
|
|
8
|
+
import { UP_CHARACTER,
|
|
9
|
+
ETX_CHARACTER,
|
|
10
|
+
DOWN_CHARACTER,
|
|
11
|
+
LEFT_CHARACTER,
|
|
12
|
+
RIGHT_CHARACTER,
|
|
13
|
+
CTRL_C_CHARACTER,
|
|
14
|
+
NEW_LINE_CHARACTER,
|
|
15
|
+
BACKSPACE_CHARACTER,
|
|
16
|
+
CARRIAGE_RETURN_CHARACTER } from "../characters";
|
|
9
17
|
|
|
10
18
|
export function onETX(handler) {
|
|
11
19
|
if (process.stdin.setRawMode) {
|
|
@@ -108,23 +116,21 @@ function attempt(next, done, context) {
|
|
|
108
116
|
}
|
|
109
117
|
|
|
110
118
|
function input(initialAnswer, hidden, description, encoding, callback) {
|
|
111
|
-
|
|
119
|
+
let answer = initialAnswer; ///
|
|
112
120
|
|
|
113
|
-
hidden ?
|
|
114
|
-
hiddenInput(answer, description, encoding, callback) :
|
|
115
|
-
visibleInput(answer, description, encoding, callback);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
function hiddenInput(answer, description, encoding, callback) {
|
|
119
121
|
const rawMode = true;
|
|
120
122
|
|
|
121
123
|
process.stdout.write(description);
|
|
122
124
|
|
|
123
|
-
|
|
125
|
+
if (!hidden) {
|
|
126
|
+
process.stdout.write(initialAnswer);
|
|
127
|
+
}
|
|
124
128
|
|
|
125
129
|
process.stdin.setRawMode(rawMode);
|
|
126
130
|
|
|
127
|
-
process.stdin.
|
|
131
|
+
process.stdin.setEncoding(encoding);
|
|
132
|
+
|
|
133
|
+
process.stdin.addListener(DATA, listener);
|
|
128
134
|
|
|
129
135
|
process.stdin.resume();
|
|
130
136
|
|
|
@@ -132,8 +138,8 @@ function hiddenInput(answer, description, encoding, callback) {
|
|
|
132
138
|
const character = data.toString(encoding);
|
|
133
139
|
|
|
134
140
|
switch (character) {
|
|
135
|
-
case NEW_LINE_CHARACTER
|
|
136
|
-
case CARRIAGE_RETURN_CHARACTER
|
|
141
|
+
case NEW_LINE_CHARACTER:
|
|
142
|
+
case CARRIAGE_RETURN_CHARACTER: {
|
|
137
143
|
process.stdout.write(NEW_LINE_CHARACTER);
|
|
138
144
|
|
|
139
145
|
process.stdin.removeListener(DATA, listener);
|
|
@@ -143,45 +149,50 @@ function hiddenInput(answer, description, encoding, callback) {
|
|
|
143
149
|
callback(answer);
|
|
144
150
|
|
|
145
151
|
break;
|
|
152
|
+
}
|
|
146
153
|
|
|
147
|
-
case
|
|
148
|
-
|
|
154
|
+
case UP_CHARACTER:
|
|
155
|
+
case DOWN_CHARACTER:
|
|
156
|
+
case LEFT_CHARACTER:
|
|
157
|
+
case RIGHT_CHARACTER: {
|
|
158
|
+
///
|
|
149
159
|
|
|
150
160
|
break;
|
|
161
|
+
}
|
|
151
162
|
|
|
152
|
-
|
|
153
|
-
|
|
163
|
+
case BACKSPACE_CHARACTER: {
|
|
164
|
+
const answerLength = answer.length,
|
|
165
|
+
start = 0,
|
|
166
|
+
end = answerLength - 1;
|
|
154
167
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
case ETX_CHARACTER :
|
|
158
|
-
console.log(CTRL_C_CHARACTER);
|
|
159
|
-
|
|
160
|
-
process.exit();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
168
|
+
answer = answer.slice(start, end);
|
|
164
169
|
|
|
165
|
-
|
|
166
|
-
|
|
170
|
+
if (!hidden) {
|
|
171
|
+
process.stdout.clearLine();
|
|
167
172
|
|
|
168
|
-
|
|
173
|
+
process.stdout.cursorTo(0);
|
|
169
174
|
|
|
170
|
-
|
|
175
|
+
process.stdout.write(description);
|
|
171
176
|
|
|
172
|
-
|
|
177
|
+
process.stdout.write(answer);
|
|
178
|
+
}
|
|
173
179
|
|
|
174
|
-
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
175
182
|
|
|
176
|
-
|
|
183
|
+
default:
|
|
184
|
+
answer += character;
|
|
177
185
|
|
|
178
|
-
|
|
186
|
+
if (!hidden) {
|
|
187
|
+
process.stdout.write(character);
|
|
188
|
+
}
|
|
179
189
|
|
|
180
|
-
|
|
181
|
-
const answer = data.replace(/\n$/, EMPTY_STRING);
|
|
190
|
+
break;
|
|
182
191
|
|
|
183
|
-
|
|
192
|
+
case ETX_CHARACTER:
|
|
193
|
+
console.log(CTRL_C_CHARACTER);
|
|
184
194
|
|
|
185
|
-
|
|
195
|
+
process.exit();
|
|
196
|
+
}
|
|
186
197
|
}
|
|
187
|
-
}
|
|
198
|
+
}
|