jsii-release 0.2.349 → 0.2.352
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/bin/publib-golang.js +7 -3
- package/lib/help/git.js +14 -6
- package/lib/help/os.js +7 -3
- package/lib/help/shell.js +7 -3
- package/lib/index.js +7 -3
- package/lib/targets/go.js +7 -3
- package/package.json +3 -3
- package/package.json.bak +3 -3
package/lib/bin/publib-golang.js
CHANGED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
4
|
if (k2 === undefined) k2 = k;
|
|
5
|
-
Object.
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
6
10
|
}) : (function(o, m, k, k2) {
|
|
7
11
|
if (k2 === undefined) k2 = k;
|
|
8
12
|
o[k2] = m[k];
|
|
@@ -15,7 +19,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
19
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
16
20
|
if (mod && mod.__esModule) return mod;
|
|
17
21
|
var result = {};
|
|
18
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
19
23
|
__setModuleDefault(result, mod);
|
|
20
24
|
return result;
|
|
21
25
|
};
|
|
@@ -31,4 +35,4 @@ const releaser = new go.GoReleaser({
|
|
|
31
35
|
version: process.env.VERSION,
|
|
32
36
|
});
|
|
33
37
|
releaser.release();
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGliLWdvbGFuZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9iaW4vcHVibGliLWdvbGFuZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxrREFBb0M7QUFFcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2pDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwQixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVO0lBQzlCLE1BQU0sRUFBRSxDQUFDLE1BQUEsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLG1DQUFJLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU07SUFDaEUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYztJQUNqQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhO0lBQ25DLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU87Q0FDN0IsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuaW1wb3J0ICogYXMgZ28gZnJvbSAnLi4vdGFyZ2V0cy9nbyc7XG5cbmNvbnN0IHJlbGVhc2VyID0gbmV3IGdvLkdvUmVsZWFzZXIoe1xuICBkaXI6IHByb2Nlc3MuYXJndlsyXSxcbiAgYnJhbmNoOiBwcm9jZXNzLmVudi5HSVRfQlJBTkNILFxuICBkcnlSdW46IChwcm9jZXNzLmVudi5EUllSVU4gPz8gJ2ZhbHNlJykudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnLFxuICBlbWFpbDogcHJvY2Vzcy5lbnYuR0lUX1VTRVJfRU1BSUwsXG4gIHVzZXJuYW1lOiBwcm9jZXNzLmVudi5HSVRfVVNFUl9OQU1FLFxuICB2ZXJzaW9uOiBwcm9jZXNzLmVudi5WRVJTSU9OLFxufSk7XG5cbnJlbGVhc2VyLnJlbGVhc2UoKTsiXX0=
|
package/lib/help/git.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,7 +18,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
18
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
19
|
if (mod && mod.__esModule) return mod;
|
|
16
20
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
22
|
__setModuleDefault(result, mod);
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
@@ -87,7 +91,7 @@ function tag(name) {
|
|
|
87
91
|
return true;
|
|
88
92
|
}
|
|
89
93
|
catch (e) {
|
|
90
|
-
if (e.message.includes('already exists')) {
|
|
94
|
+
if (e instanceof Error && e.message.includes('already exists')) {
|
|
91
95
|
return false;
|
|
92
96
|
}
|
|
93
97
|
throw e;
|
|
@@ -134,7 +138,9 @@ function username() {
|
|
|
134
138
|
return shell.run('git config user.name', { capture: true });
|
|
135
139
|
}
|
|
136
140
|
catch (err) {
|
|
137
|
-
|
|
141
|
+
if (err instanceof Error) {
|
|
142
|
+
console.warn(err.message);
|
|
143
|
+
}
|
|
138
144
|
return undefined;
|
|
139
145
|
}
|
|
140
146
|
}
|
|
@@ -148,7 +154,9 @@ function email() {
|
|
|
148
154
|
return shell.run('git config user.email', { capture: true });
|
|
149
155
|
}
|
|
150
156
|
catch (err) {
|
|
151
|
-
|
|
157
|
+
if (err instanceof Error) {
|
|
158
|
+
console.warn(err.message);
|
|
159
|
+
}
|
|
152
160
|
return undefined;
|
|
153
161
|
}
|
|
154
162
|
}
|
|
@@ -164,4 +172,4 @@ function identify(user, address) {
|
|
|
164
172
|
shell.run(`git config user.email "${address}"`);
|
|
165
173
|
}
|
|
166
174
|
exports.identify = identify;
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHAvZ2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWlDO0FBRWpDOzs7OztHQUtHO0FBQ0gsU0FBZ0IsS0FBSyxDQUFDLGFBQXFCLEVBQUUsU0FBaUI7SUFDNUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUM7SUFDN0MsSUFBSSxDQUFDLFdBQVcsRUFBRTtRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7S0FDMUQ7SUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLHFCQUFxQixXQUFXLElBQUksYUFBYSxRQUFRLFNBQVMsRUFBRSxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQU5ELHNCQU1DO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLFNBQVM7SUFDdkIsSUFBSTtRQUNGLEtBQUssQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQUMsT0FBTyxHQUFHLEVBQUU7UUFDWixPQUFPLElBQUksQ0FBQztLQUNiO0FBQ0gsQ0FBQztBQVBELDhCQU9DO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLEdBQUcsQ0FBQyxDQUFTO0lBQzNCLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFGRCxrQkFFQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixNQUFNLENBQUMsT0FBZTtJQUNwQyxLQUFLLENBQUMsR0FBRyxDQUFDLGtCQUFrQixPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFGRCx3QkFFQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsSUFBSTtJQUNsQixLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFGRCxvQkFFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsR0FBRyxDQUFDLElBQVk7SUFDOUIsSUFBSTtRQUNGLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxJQUFJLE9BQU8sSUFBSSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUM5RCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsTUFBTSxDQUFDLENBQUM7S0FDVDtBQUNILENBQUM7QUFWRCxrQkFVQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixJQUFJLENBQUMsR0FBVztJQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFGRCxvQkFFQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsUUFBUSxDQUFDLE1BQWMsRUFBRSxPQUFzQztJQUM3RSxJQUFJLE9BQU8sQ0FBQyxlQUFlLEVBQUU7UUFDM0IsSUFBSTtZQUNGLEtBQUssQ0FBQyxHQUFHLENBQUMsMEJBQTBCLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDL0M7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO2dCQUN6RSxPQUFPLENBQUMsR0FBRyxDQUFDLCtDQUErQyxDQUFDLENBQUM7Z0JBQzdELEtBQUssQ0FBQyxHQUFHLENBQUMsbUJBQW1CLE1BQU0sRUFBRSxDQUFDLENBQUM7Z0JBQ3ZDLE9BQU87YUFDUjtTQUNGO0tBQ0Y7SUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLGdCQUFnQixNQUFNLEVBQUUsQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFiRCw0QkFhQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFFBQVE7SUFDdEIsSUFBSTtRQUNGLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQzdEO0lBQUMsT0FBTyxHQUFHLEVBQUU7UUFDWixJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUU7WUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtBQUNILENBQUM7QUFURCw0QkFTQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLEtBQUs7SUFDbkIsSUFBSTtRQUNGLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBQzlEO0lBQUMsT0FBTyxHQUFHLEVBQUU7UUFDWixJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUU7WUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtBQUNILENBQUM7QUFURCxzQkFTQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsUUFBUSxDQUFDLElBQVksRUFBRSxPQUFlO0lBQ3BELEtBQUssQ0FBQyxHQUFHLENBQUMseUJBQXlCLElBQUksR0FBRyxDQUFDLENBQUM7SUFDNUMsS0FBSyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsT0FBTyxHQUFHLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBSEQsNEJBR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzaGVsbCBmcm9tICcuL3NoZWxsJztcblxuLyoqXG4gKiBDbG9uZXMgYSByZXBvc2l0b3J5IGZyb20gR2l0SHViLiBSZXF1aXJlcyBhIGBHSVRIVUJfVE9LRU5gIGVudiB2YXJpYWJsZS5cbiAqXG4gKiBAcGFyYW0gcmVwb3NpdG9yeVVybCB0aGUgcmVwb3NpdG9yeSB0byBjbG9uZS5cbiAqIEBwYXJhbSB0YXJnZXREaXIgdGhlIGNsb25lIGRpcmVjdG9yeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsb25lKHJlcG9zaXRvcnlVcmw6IHN0cmluZywgdGFyZ2V0RGlyOiBzdHJpbmcpIHtcbiAgY29uc3QgZ2l0SHViVG9rZW4gPSBwcm9jZXNzLmVudi5HSVRIVUJfVE9LRU47XG4gIGlmICghZ2l0SHViVG9rZW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0dJVEhVQl9UT0tFTiBlbnYgdmFyaWFibGUgaXMgcmVxdWlyZWQnKTtcbiAgfVxuICBzaGVsbC5ydW4oYGdpdCBjbG9uZSBodHRwczovLyR7Z2l0SHViVG9rZW59QCR7cmVwb3NpdG9yeVVybH0uZ2l0ICR7dGFyZ2V0RGlyfWApO1xufVxuXG4vKipcbiAqIFF1ZXJ5IHRoZSBnaXQgaW5kZXggZm9yIGNoYW5nZXMuXG4gKlxuICogQHJldHVybiBUcnVlIGlmIGNoYW5nZXMgZXhpc3QsIEZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpZmZJbmRleCgpOiBib29sZWFuIHtcbiAgdHJ5IHtcbiAgICBzaGVsbC5ydW4oJ2dpdCBkaWZmLWluZGV4IC0tZXhpdC1jb2RlIEhFQUQgLS0nKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbi8qKlxuICogQWRkIGZpbGVzIHRvIHRoZSBpbmRleC5cbiAqXG4gKiBAcGFyYW0gcCB0aGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZChwOiBzdHJpbmcpIHtcbiAgc2hlbGwucnVuKGBnaXQgYWRkICR7cH1gKTtcbn1cblxuLyoqXG4gKiBDb21taXQuXG4gKlxuICogQHBhcmFtIG1lc3NhZ2UgdGhlIGNvbW1pdCBtZXNzYWdlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tbWl0KG1lc3NhZ2U6IHN0cmluZykge1xuICBzaGVsbC5ydW4oYGdpdCBjb21taXQgLW0gXCIke21lc3NhZ2V9XCJgKTtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplIGEgcmVwb3NpdG9yeS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXQoKSB7XG4gIHNoZWxsLnJ1bignZ2l0IGluaXQnKTtcbn1cblxuLyoqXG4gKiBDZXJhdGUgYSB0YWcuXG4gKlxuICogQHBhcmFtIG5hbWUgdGFnIG5hbWUuXG4gKiBAcmV0dXJucyB0cnVlIGlmIHRoZSB0YWcgd2FzIGNyZWF0ZWQsIGZhbHNlIGlmIGl0IGFscmVhZHkgZXhpc3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGFnKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHNoZWxsLnJ1bihgZ2l0IHRhZyAtYSAke25hbWV9IC1tICR7bmFtZX1gLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUubWVzc2FnZS5pbmNsdWRlcygnYWxyZWFkeSBleGlzdHMnKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG5cbi8qKlxuICogUHVzaCBhIHJlZiB0byBvcmlnaW4uXG4gKlxuICogQHBhcmFtIHJlZiB0aGUgcmVmXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwdXNoKHJlZjogc3RyaW5nKSB7XG4gIHNoZWxsLnJ1bihgZ2l0IHB1c2ggb3JpZ2luICR7cmVmfWApO1xufVxuXG4vKipcbiAqIENoZWNrb3V0IHRvIGEgbmV3IGJyYW5jaC4gQ3JlYXRlcyBhIG5ldyBvbmUgaWYgYG9wdGlvbnMuY3JlYXRlSWZNaXNzaW5nYCBpcyBUcnVlIGFuZCB0aGUgYnJhbmNoIGRvZXNuJ3QgZXhpc3QuXG4gKlxuICogQHBhcmFtIGJyYW5jaCB0aGUgYnJhbmNoLlxuICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrb3V0KGJyYW5jaDogc3RyaW5nLCBvcHRpb25zOiB7IGNyZWF0ZUlmTWlzc2luZz86IGJvb2xlYW4gfSApIHtcbiAgaWYgKG9wdGlvbnMuY3JlYXRlSWZNaXNzaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIHNoZWxsLnJ1bihgZ2l0IHNob3ctYnJhbmNoIG9yaWdpbi8ke2JyYW5jaH1gKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUubWVzc2FnZS5pbmNsdWRlcygnZmF0YWw6IGJhZCBzaGExIHJlZmVyZW5jZScpKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdSZW1vdGUgYnJhbmNoIG5vdCBmb3VuZCwgY3JlYXRpbmcgbmV3IGJyYW5jaC4nKTtcbiAgICAgICAgc2hlbGwucnVuKGBnaXQgY2hlY2tvdXQgLUIgJHticmFuY2h9YCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgc2hlbGwucnVuKGBnaXQgY2hlY2tvdXQgJHticmFuY2h9YCk7XG59XG5cbi8qKlxuICogRmV0Y2ggdGhlIGNvbmZpZ3VyZWQgZ2l0IHVzZXIgbmFtZSBmb3IgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuICogUmV0dXJucyB1bmRlZmluZWQgaWYgbm90IGNvbmZpZ3VyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VybmFtZSgpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gc2hlbGwucnVuKCdnaXQgY29uZmlnIHVzZXIubmFtZScsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBjb25zb2xlLndhcm4oZXJyLm1lc3NhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogRmV0Y2ggdGhlIGNvbmZpZ3VyZWQgZ2l0IHVzZXIgZW1haWwgZm9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiAqIFJldHVybnMgdW5kZWZpbmVkIGlmIG5vdCBjb25maWd1cmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1haWwoKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHNoZWxsLnJ1bignZ2l0IGNvbmZpZyB1c2VyLmVtYWlsJywgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIGNvbnNvbGUud2FybihlcnIubWVzc2FnZSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBJZGVudGlmeSB0aGUgY29tbWl0dGVyIHdpdGggYSB1c2VybmFtZSBhbmQgZW1haWwuXG4gKlxuICogQHBhcmFtIHVzZXIgdGhlIHVzZXJuYW1lLlxuICogQHBhcmFtIGVtYWlsIHRoZSBlbWFpbCBhZGRyZXNzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaWRlbnRpZnkodXNlcjogc3RyaW5nLCBhZGRyZXNzOiBzdHJpbmcpIHtcbiAgc2hlbGwucnVuKGBnaXQgY29uZmlnIHVzZXIubmFtZSBcIiR7dXNlcn1cImApO1xuICBzaGVsbC5ydW4oYGdpdCBjb25maWcgdXNlci5lbWFpbCBcIiR7YWRkcmVzc31cImApO1xufSJdfQ==
|
package/lib/help/os.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,7 +18,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
18
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
19
|
if (mod && mod.__esModule) return mod;
|
|
16
20
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
22
|
__setModuleDefault(result, mod);
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
@@ -32,4 +36,4 @@ function mkdtempSync() {
|
|
|
32
36
|
return fs.mkdtempSync(`${os.tmpdir()}${path.sep}`);
|
|
33
37
|
}
|
|
34
38
|
exports.mkdtempSync = mkdtempSync;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscC9vcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHVDQUF5QjtBQUN6Qix1Q0FBeUI7QUFDekIsMkNBQTZCO0FBRTdCOztHQUVHO0FBQ0gsU0FBZ0IsV0FBVztJQUN6Qix5RUFBeUU7SUFDekUsYUFBYTtJQUNiLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBSkQsa0NBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGluc2lkZSB0aGUgZ2xvYmFsIHRlbXAgZGlyIG9mIHRoZSBPUy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1rZHRlbXBTeW5jKCkge1xuICAvLyBta2R0ZW1wU3luYyBvbmx5IGFwcGVuZHMgYSBzaXggY2hhciBzdWZmaXgsIGl0IGRvZXNuJ3QgY3JlYXRlIGEgbmVzdGVkXG4gIC8vIGRpcmVjdG9yeS5cbiAgcmV0dXJuIGZzLm1rZHRlbXBTeW5jKGAke29zLnRtcGRpcigpfSR7cGF0aC5zZXB9YCk7XG59XG4iXX0=
|
package/lib/help/shell.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,7 +18,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
18
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
19
|
if (mod && mod.__esModule) return mod;
|
|
16
20
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
22
|
__setModuleDefault(result, mod);
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
@@ -67,4 +71,4 @@ function which(program) {
|
|
|
67
71
|
}
|
|
68
72
|
}
|
|
69
73
|
exports.which = which;
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscC9zaGVsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUF1QztBQUN2Qyw2Q0FBK0I7QUE2Qi9COzs7OztHQUtHO0FBQ0gsU0FBZ0IsR0FBRyxDQUFDLE9BQWUsRUFBRSxVQUFzQixFQUFFOztJQUMzRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBQSxPQUFPLENBQUMsT0FBTyxtQ0FBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDckUsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUMzRCxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQztRQUMvQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7UUFDaEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0tBQ3JCLENBQUMsQ0FBQztJQUNILElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtRQUNoQixNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDcEI7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFBLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLFFBQVEsRUFBRSxDQUFDO0lBQ3pDLE1BQU0sTUFBTSxHQUFHLE1BQUEsTUFBTSxDQUFDLE1BQU0sMENBQUUsUUFBUSxFQUFFLENBQUM7SUFFekMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN2QixNQUFNLE9BQU8sR0FBRztzQkFDRSxPQUFPO2dCQUNiLE1BQU07Y0FDUixNQUFNLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQzFCO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQXZCRCxrQkF1QkM7QUFFRDs7Ozs7R0FLRztBQUNILFNBQWdCLEtBQUssQ0FBQyxPQUFlO0lBQ25DLElBQUk7UUFDRixPQUFPLEdBQUcsQ0FBQyxTQUFTLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FDbkQ7SUFBQyxPQUFPLEdBQUcsRUFBRTtRQUNaLE9BQU8sRUFBRSxDQUFDO0tBQ1g7QUFDSCxDQUFDO0FBTkQsc0JBTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjaGlsZCBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIHNobGV4IGZyb20gJ3NobGV4JztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB0aGUgYHJ1bmAgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVuT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFdva3JpbmcgZGlyZWN0b3J5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBwcm9jZXNzLmN3ZCgpXG4gICAqL1xuICByZWFkb25seSBjd2Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENhcHR1cmUgdGhlIG91dHB1dCBvZiB0aGUgY29tbWFuZCBhbmQgcmV0dXJuIHRvIGNhbGxlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBjYXB0dXJlLCBvdXRwdXQgaXMgcHJpbnRlZCB0byBzdGRvdXQuXG4gICAqL1xuICByZWFkb25seSBjYXB0dXJlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUnVuIHRoZSBjb21tYW5kIGluc2lkZSBhIHNoZWxsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2hlbGw/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJ1biBhIHNoZWxsIGNvbW1hbmQgYW5kIHJldHVybiB0aGUgb3V0cHV0LlxuICogVGhyb3dzIGlmIHRoZSBjb21tYW5kIGZhaWxzLlxuICpcbiAqIEBwYXJhbSBjb21tYW5kIGNvbW1hbmQgKGUuZyAnZ2l0IGNvbW1pdCAtbScpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBydW4oY29tbWFuZDogc3RyaW5nLCBvcHRpb25zOiBSdW5PcHRpb25zID0ge30pOiBzdHJpbmcge1xuICBjb25zdCBzaHNwbGl0ID0gc2hsZXguc3BsaXQoY29tbWFuZCk7XG4gIGNvbnN0IHBpcGVPckluaGVyaXQgPSAob3B0aW9ucy5jYXB0dXJlID8/IGZhbHNlKSA/ICdwaXBlJzogJ2luaGVyaXQnO1xuICBjb25zdCByZXN1bHQgPSBjaGlsZC5zcGF3blN5bmMoc2hzcGxpdFswXSwgc2hzcGxpdC5zbGljZSgxKSwge1xuICAgIHN0ZGlvOiBbJ2lnbm9yZScsIHBpcGVPckluaGVyaXQsIHBpcGVPckluaGVyaXRdLFxuICAgIGN3ZDogb3B0aW9ucy5jd2QsXG4gICAgc2hlbGw6IG9wdGlvbnMuc2hlbGwsXG4gIH0pO1xuICBpZiAocmVzdWx0LmVycm9yKSB7XG4gICAgdGhyb3cgcmVzdWx0LmVycm9yO1xuICB9XG5cbiAgY29uc3Qgc3Rkb3V0ID0gcmVzdWx0LnN0ZG91dD8udG9TdHJpbmcoKTtcbiAgY29uc3Qgc3RkZXJyID0gcmVzdWx0LnN0ZGVycj8udG9TdHJpbmcoKTtcblxuICBpZiAocmVzdWx0LnN0YXR1cyAhPT0gMCkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBgXG4gICAgQ29tbWFuZCBmYWlsZWQ6ICR7Y29tbWFuZH0uXG4gICAgICBPdXRwdXQ6ICR7c3Rkb3V0fVxuICAgICAgRXJyb3I6JHtzdGRlcnJ9YDtcbiAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIH1cbiAgcmV0dXJuIHN0ZG91dDtcbn1cblxuLyoqXG4gKiBSZXR1cm4gdGhlIHBhdGggdW5kZXIgd2hpY2ggYSBwcm9ncmFtIGlzIGF2YWlsYWJsZS5cbiAqIEVtcHR5IHN0cmluZyBpZiB0aGUgcHJvZ3JhbSBpcyBub3QgaW5zdGFsbGVkLlxuICpcbiAqIEBwYXJhbSBwcm9ncmFtIHByb2dyYW0gdG8gY2hlY2sgKGUuZyAnZ2l0JylcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdoaWNoKHByb2dyYW06IHN0cmluZyk6IHN0cmluZyB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHJ1bihgd2hpY2ggJHtwcm9ncmFtfWAsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbiJdfQ==
|
package/lib/index.js
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
8
12
|
}));
|
|
9
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./targets/go"), exports);
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGFyZ2V0cy9nbyc7Il19
|
package/lib/targets/go.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -14,7 +18,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
18
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
19
|
if (mod && mod.__esModule) return mod;
|
|
16
20
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
22
|
__setModuleDefault(result, mod);
|
|
19
23
|
return result;
|
|
20
24
|
};
|
|
@@ -222,4 +226,4 @@ class GoReleaser {
|
|
|
222
226
|
}
|
|
223
227
|
}
|
|
224
228
|
exports.GoReleaser = GoReleaser;
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFyZ2V0cy9nby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBQzdCLDZDQUErQjtBQUMvQixpREFBbUM7QUFDbkMsK0NBQWlDO0FBQ2pDLHFEQUF1QztBQTRHdkM7O0dBRUc7QUFDSCxNQUFhLFVBQVU7SUFXckIsWUFBWSxLQUFzQjs7UUFFaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RUFBd0UsQ0FBQyxDQUFDO1NBQzNGO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sT0FBQyxLQUFLLENBQUMsR0FBRyxtQ0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsU0FBUyxTQUFHLEtBQUssQ0FBQyxNQUFNLG1DQUFJLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTSxTQUFHLEtBQUssQ0FBQyxNQUFNLG1DQUFJLEtBQUssQ0FBQztRQUVwQyxNQUFNLFdBQVcsU0FBRyxLQUFLLENBQUMsUUFBUSxtQ0FBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckQsTUFBTSxZQUFZLFNBQUcsS0FBSyxDQUFDLEtBQUssbUNBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWhELElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnR0FBZ0csQ0FBQyxDQUFDO1NBQ25IO1FBRUQs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RUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRXZHLElBQUksV0FBVyxJQUFJLGFBQWEsSUFBSSxXQUFXLEtBQUssYUFBYSxFQUFFO1lBQ2pFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLFdBQVcsb0NBQW9DLGFBQWEsbUJBQW1CLGVBQWUsRUFBRSxDQUFDLENBQUM7U0FDcEk7UUFFRCxzRUFBc0U7UUFDdEUsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUU1RCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsZUFBZSxJQUFJO2tCQUN4RSxzR0FBc0csQ0FBQyxDQUFDO1NBQzdHO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFFakIsQ0FBQztDQUVGO0FBalBELGdDQWlQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBnaXQgZnJvbSAnLi4vaGVscC9naXQnO1xuaW1wb3J0ICogYXMgb3MgZnJvbSAnLi4vaGVscC9vcyc7XG5pbXBvcnQgKiBhcyBzaGVsbCBmcm9tICcuLi9oZWxwL3NoZWxsJztcblxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgc29tZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcmVsZWFzZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHb1JlbGVhc2Uge1xuXG4gIC8qKlxuICAgKiBUaGUgdGFncyB0aGUgcmVsZWFzZSBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY29tbWl0IG1lc3NhZ2Ugb2YgdGhlIHJlbGVhc2UuXG4gICAqL1xuICByZWFkb25seSBjb21taXRNZXNzYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0b3J5IHdoZXJlIHRoZSByZXBvc2l0b3J5IHdhcyByZWxlYXNlZCBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb0Rpcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBgR29SZWxlYXNlcmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR29SZWxlYXNlclByb3BzIHtcblxuICAvKipcbiAgICogVGhlIHNvdXJjZSBjb2RlIGRpcmVjdG9yeS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2Rpc3QvZ28nXG4gICAqL1xuICByZWFkb25seSBkaXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSBkcnkgcnVuIG9ubHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkcnlSdW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgYnJhbmNoIHRvIHB1c2ggdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0ICdtYWluJ1xuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdXNlcm5hbWUgdG8gdXNlIGZvciB0aGUgY29tbWl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRha2VuIGZyb20gZ2l0IGNvbmZpZy4gdGhyb3dzIGlmIG5vdCBjb25maWd1cmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlcm5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlbWFpbCB0byB1c2UgZm9yIHRoZSBjb21taXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGFrZW4gZnJvbSBnaXQgY29uZmlnLiB0aHJvd3MgaWYgbm90IGNvbmZpZ3VyZWQuXG4gICAqL1xuICByZWFkb25seSBlbWFpbD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGFrZW4gZnJvbSB0aGUgJ3ZlcnNpb24nLiB0aHJvd3MgaWYgZG9lc24ndCBleGlzdC5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHVzZSBmb3IgdGhlIGNvbW1pdCBtYXJraW5nIHRoZSByZWxlYXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIG1vZHVsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHb01vZHVsZSB7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIG1vZCBmaWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbW9kRmlsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgbW9kdWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY2Fubm9uaWNhbCBuYW1lIG9mIHRoZSBtb2R1bGUuIChlLmcgJ2dpdGh1Yi5jb20vYXdzL2NvbnN0cnVjdHMtZ28vY29uc3RydWN0cy92M2ApXG4gICAqL1xuICByZWFkb25seSBjYW5ub25pY2FsTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBpbnNpZGUgdGhlIHJlcG9zaXRvcnkgdGhlIG1vZHVsZSBpcyBsb2NhdGVkIGluLiAoZS5nICdjb25zdHJ1Y3RzJylcbiAgICovXG4gIHJlYWRvbmx5IHJlcG9QYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXBvc2l0b3J5IFVSTC4gKGUuZyAnZ2l0aHViLmNvbS9hd3MvY29uc3RydWN0cycpXG4gICAqL1xuICByZWFkb25seSByZXBvVVJMOiBzdHJpbmc7XG5cbn1cblxuLyoqXG4gKiBSZWxlYXNlIGEgc2V0IG9mIEdvbGFuZyBtb2R1bGVzLlxuICovXG5leHBvcnQgY2xhc3MgR29SZWxlYXNlciB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGdpdENvbW1pdE1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkaXI6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBkcnlSdW46IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgZ2l0QnJhbmNoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ2l0VXNlcm5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBnaXRVc2VyZW1haWw6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm9wczogR29SZWxlYXNlclByb3BzKSB7XG5cbiAgICBpZiAoIXNoZWxsLndoaWNoKCdnaXQnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdnaXQgbXVzdCBiZSBhdmFpbGFibGUgdG8gaW4gb3JkZXIgdG8gYmUgYWJsZSB0byBwdXNoIEdvIGNvZGUgdG8gR2l0SHViJyk7XG4gICAgfVxuXG4gICAgdGhpcy52ZXJzaW9uID0gcHJvcHMudmVyc2lvbjtcbiAgICB0aGlzLmdpdENvbW1pdE1lc3NhZ2UgPSBwcm9wcy5tZXNzYWdlO1xuICAgIHRoaXMuZGlyID0gcGF0aC5yZXNvbHZlKHByb3BzLmRpciA/PyBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ2Rpc3QnLCAnZ28nKSk7XG4gICAgdGhpcy5naXRCcmFuY2ggPSBwcm9wcy5icmFuY2ggPz8gJ21haW4nO1xuICAgIHRoaXMuZHJ5UnVuID0gcHJvcHMuZHJ5UnVuID8/IGZhbHNlO1xuXG4gICAgY29uc3QgZ2l0VXNlcm5hbWUgPSBwcm9wcy51c2VybmFtZSA/PyBnaXQudXNlcm5hbWUoKTtcbiAgICBjb25zdCBnaXRVc2VyZW1haWwgPSBwcm9wcy5lbWFpbCA/PyBnaXQuZW1haWwoKTtcblxuICAgIGlmICghZ2l0VXNlcm5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRldGVjdCB1c2VybmFtZS4gZWl0aGVyIGNvbmZpZ3VyZSBhIGdpdCB1c2VyLm5hbWUgb3IgcGFzcyBHSVRfVVNFUl9OQU1FIGVudiB2YXJpYWJsZScpO1xuICAgIH1cblxuICAgIGlmICghZ2l0VXNlcmVtYWlsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXRlY3QgdXNlciBlbWFpbC4gZWl0aGVyIGNvbmZpZ3VyZSBhIGdpdCB1c2VyLmVtYWlsIG9yIHBhc3MgR0lUX1VTRVJfRU1BSUwgZW52IHZhcmlhYmxlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5naXRVc2VyZW1haWwgPSBnaXRVc2VyZW1haWw7XG4gICAgdGhpcy5naXRVc2VybmFtZSA9IGdpdFVzZXJuYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1biB0aGUgcmVsZWFzZSBwcm9jZXNzLlxuICAgKlxuICAgKiBAcmV0dXJucyBtZXRhZGF0YSBhYm91dCB0aGUgcmVsZWFzZS5cbiAgICovXG4gIHB1YmxpYyByZWxlYXNlKCk6IEdvUmVsZWFzZSB7XG4gICAgY29uc3QgbW9kdWxlcyA9IHRoaXMuY29sbGVjdE1vZHVsZXModGhpcy5kaXIpO1xuICAgIGlmIChtb2R1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS5sb2coJ05vIG1vZHVsZXMgZGV0ZWN0ZWQuIFNraXBwaW5nJyk7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coJ0RldGVjdGVkIG1vZHVsZXM6Jyk7XG4gICAgbW9kdWxlcy5mb3JFYWNoKG0gPT4gY29uc29sZS5sb2coYCAtICR7bS5tb2RGaWxlfWApKTtcblxuICAgIGNvbnN0IHJlcG9VUkwgPSB0aGlzLmV4dHJhY3RSZXBvVVJMKG1vZHVsZXMpO1xuICAgIGNvbnN0IHJlcG9EaXIgPSBwYXRoLmpvaW4ob3MubWtkdGVtcFN5bmMoKSwgJ3JlcG8nKTtcbiAgICBnaXQuY2xvbmUocmVwb1VSTCwgcmVwb0Rpcik7XG5cbiAgICBjb25zdCBjd2QgPSBwcm9jZXNzLmN3ZCgpO1xuICAgIHRyeSB7XG4gICAgICBwcm9jZXNzLmNoZGlyKHJlcG9EaXIpO1xuICAgICAgcmV0dXJuIHRoaXMuZG9SZWxlYXNlKG1vZHVsZXMsIHJlcG9EaXIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBwcm9jZXNzLmNoZGlyKGN3ZCk7XG4gICAgfVxuXG4gIH1cblxuICBwcml2YXRlIGRvUmVsZWFzZShtb2R1bGVzOiBHb01vZHVsZVtdLCByZXBvRGlyOiBzdHJpbmcpOiBHb1JlbGVhc2Uge1xuXG4gICAgZ2l0LmlkZW50aWZ5KHRoaXMuZ2l0VXNlcm5hbWUsIHRoaXMuZ2l0VXNlcmVtYWlsKTtcbiAgICBnaXQuY2hlY2tvdXQodGhpcy5naXRCcmFuY2gsIHsgY3JlYXRlSWZNaXNzaW5nOiB0cnVlIH0pO1xuICAgIHRoaXMuc3luY1JlcG8ocmVwb0Rpcik7XG5cbiAgICBnaXQuYWRkKCcuJyk7XG4gICAgaWYgKCFnaXQuZGlmZkluZGV4KCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdObyBjaGFuZ2VzLiBTa2lwcGluZyByZWxlYXNlJyk7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgY29uc3QgY29tbWl0TWVzc2FnZSA9IHRoaXMuZ2l0Q29tbWl0TWVzc2FnZSA/PyB0aGlzLmJ1aWxkUmVsZWFzZU1lc3NhZ2UobW9kdWxlcyk7XG4gICAgZ2l0LmNvbW1pdChjb21taXRNZXNzYWdlKTtcblxuICAgIGNvbnN0IHRhZ3MgPSBbXTtcbiAgICBmb3IgKGNvbnN0IG1vZHVsZSBvZiBtb2R1bGVzKSB7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5idWlsZFRhZ05hbWUobW9kdWxlKTtcbiAgICAgIGNvbnN0IGNyZWF0ZWQgPSBnaXQudGFnKG5hbWUpO1xuICAgICAgaWYgKGNyZWF0ZWQpIHsgdGFncy5wdXNoKG5hbWUpOyB9XG4gICAgfVxuXG4gICAgaWYgKHRhZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb25zb2xlLmxvZygnQWxsIHRhZ3MgYWxyZWFkeSBleGlzdC4gU2tpcHBpbmcgcmVsZWFzZScpO1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnN0IHJlZnMgPSBbLi4udGFncywgdGhpcy5naXRCcmFuY2hdO1xuXG4gICAgaWYgKHRoaXMuZHJ5UnVuKSB7XG4gICAgICBjb25zb2xlLmxvZygnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScpO1xuICAgICAgY29uc29sZS5sb2coJyAgICAgICAgICAgIPCfj5zvuI8gRFJZLVJVTiBNT0RFIPCfj5zvuI8nKTtcbiAgICAgIGNvbnNvbGUubG9nKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Jyk7XG4gICAgICByZWZzLmZvckVhY2godCA9PiBjb25zb2xlLmxvZyhgUmVtb3RlIHJlZiB3aWxsIGJlIHVwZGF0ZWQ6ICR7dH1gKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZnMuZm9yRWFjaCh0ID0+IGdpdC5wdXNoKHQpKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgdGFncywgY29tbWl0TWVzc2FnZSwgcmVwb0RpciB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb2xsZWN0TW9kdWxlcyhkaXI6IHN0cmluZyk6IEdvTW9kdWxlW10ge1xuICAgIGNvbnN0IG1vZHVsZXM6IEdvTW9kdWxlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHAgb2YgWy4uLmZzLnJlYWRkaXJTeW5jKGRpciksICcuJ10pIHtcbiAgICAgIGNvbnN0IG1vZEZpbGUgPSBwYXRoLmpvaW4oZGlyLCBwLCAnZ28ubW9kJyk7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhtb2RGaWxlKSkge1xuICAgICAgICBtb2R1bGVzLnB1c2godGhpcy5wYXJzZU1vZHVsZShtb2RGaWxlKSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtb2R1bGVzO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZU1vZHVsZShtb2RGaWxlOiBzdHJpbmcpOiBHb01vZHVsZSB7XG5cbiAgICBjb25zdCB2ZXJzaW9uID0gdGhpcy5leHRyYWN0VmVyc2lvbihwYXRoLmRpcm5hbWUobW9kRmlsZSkpO1xuICAgIGNvbnN0IG1ham9yVmVyc2lvbiA9IE51bWJlcih2ZXJzaW9uLnNwbGl0KCcuJylbMF0pO1xuXG4gICAgLy8gZXh0cmFjdCB0aGUgbW9kdWxlIGRlY2xlcmF0aW9uIChlLmcgJ21vZHVsZSBnaXRodWIuY29tL2F3cy9jb25zdHJ1Y3RzLWdvL2NvbnN0cnVjdHMvdjMnKVxuICAgIGNvbnN0IG1hdGNoID0gZnMucmVhZEZpbGVTeW5jKG1vZEZpbGUpLnRvU3RyaW5nKCkubWF0Y2goL21vZHVsZSAoLiopLyk7XG4gICAgaWYgKCFtYXRjaCB8fCAhbWF0Y2hbMV0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGRldGVjdGVkIG1vZHVsZSBkZWNsYXJhdGlvbiBpbiAke21vZEZpbGV9YCk7XG4gICAgfVxuXG4gICAgLy8gZS5nICdnaXRodWIuY29tL2F3cy9jb25zdHJ1Y3RzLWdvL2NvbnN0cnVjdHMvdjMnXG4gICAgY29uc3QgY2Fubm9uaWNhbE5hbWUgPSBtYXRjaFsxXTtcblxuICAgIC8vIGUuZyBbJ2dpdGh1Yi5jb20nLCAnYXdzJywgJ2NvbnN0cnVjdHMtZ28nLCAnY29uc3RydWN0cycsICd2MyddXG4gICAgY29uc3QgY2Fubm9uaWNhbE5hbWVQYXJ0cyA9IGNhbm5vbmljYWxOYW1lLnNwbGl0KCcvJyk7XG5cbiAgICAvLyBlLmcgJ2dpdGh1Yi5jb20vYXdzL2NvbnN0cnVjdHMtZ28nXG4gICAgY29uc3QgcmVwb1VSTCA9IGNhbm5vbmljYWxOYW1lUGFydHMuc2xpY2UoMCwgMykuam9pbignLycpO1xuXG4gICAgLy8gZS5nICd2MydcbiAgICBjb25zdCBtYWpvclZlcnNpb25TdWZmaXggPSBtYWpvclZlcnNpb24gPiAxID8gYC92JHttYWpvclZlcnNpb259YCA6ICcnO1xuXG4gICAgaWYgKCFjYW5ub25pY2FsTmFtZS5lbmRzV2l0aChtYWpvclZlcnNpb25TdWZmaXgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZHVsZSBkZWNsYXJhdGlvbiBpbiAnJHttb2RGaWxlfScgZXhwZWN0ZWQgdG8gZW5kIHdpdGggJyR7bWFqb3JWZXJzaW9uU3VmZml4fScgc2luY2UgaXRzIG1ham9yIHZlcnNpb24gaXMgbGFyZ2VyIHRoYW4gMWApO1xuICAgIH1cblxuICAgIGlmICghcmVwb1VSTC5zdGFydHNXaXRoKCdnaXRodWIuY29tJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUmVwb3NpdG9yeSBtdXN0IGJlIGhvc3RlZCBvbiBnaXRodWIuY29tLiBGb3VuZDogJyR7cmVwb1VSTH0nIGluICR7bW9kRmlsZX1gKTtcbiAgICB9XG5cbiAgICBsZXQgcmVwb1BhdGggPSBjYW5ub25pY2FsTmFtZVBhcnRzXG4gICAgICAuc2xpY2UoMykgLy8gZS5nIFsnY29uc3RydWN0cycsICd2MyddXG4gICAgICAuam9pbignLycpOyAvLyBlLmcgJ2NvbnN0cnVjdHMvdjMnXG5cbiAgICAvLyB3ZSBjb3VsZCBoYXZlIHNvbWV0aGluZyBsaWtlXG4gICAgLy8gY29uc3RydWN0cy92M1xuICAgIC8vIG9yIHNvbWV0aGluZyBsaWtlXG4gICAgLy8gY29uc3RydWN0c3YzL3YzXG4gICAgLy8gd2Ugb25seSB3YW50IHRvIHN0cmlwIHRoZSBsYXN0ICd2MydcbiAgICBjb25zdCBzcGxpdCA9IHJlcG9QYXRoLnNwbGl0KCcvJyk7XG4gICAgaWYgKHNwbGl0W3NwbGl0Lmxlbmd0aCAtIDFdID09PSBgdiR7bWFqb3JWZXJzaW9ufWApIHtcbiAgICAgIHNwbGl0LnBvcCgpO1xuICAgICAgcmVwb1BhdGggPSBzcGxpdC5qb2luKCcvJyk7XG4gICAgfVxuXG4gICAgLy8gc3RyaXAgJy8nIGlmIGV4aXN0cyAod29udCBleGlzdCBmb3IgdG9wIGxldmVsIG1vZHVsZXMpXG4gICAgcmVwb1BhdGggPSByZXBvUGF0aC5lbmRzV2l0aCgnLycpID8gcmVwb1BhdGguc3Vic3RyKDAsIHJlcG9QYXRoLmxlbmd0aCAtIDEpIDogcmVwb1BhdGg7XG5cbiAgICByZXR1cm4geyBtb2RGaWxlLCB2ZXJzaW9uLCBjYW5ub25pY2FsTmFtZSwgcmVwb1BhdGgsIHJlcG9VUkwgfTtcblxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFRhZ05hbWUobTogR29Nb2R1bGUpIHtcbiAgICByZXR1cm4gbS5yZXBvUGF0aCA9PT0gJycgPyBgdiR7bS52ZXJzaW9ufWAgOiBgJHttLnJlcG9QYXRofS92JHttLnZlcnNpb259YDtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRSZWxlYXNlTWVzc2FnZShtb2R1bGVzOiBHb01vZHVsZVtdKSB7XG4gICAgY29uc3Qgc2VtYW50aWMgPSAnY2hvcmUocmVsZWFzZSknO1xuICAgIGNvbnN0IHZlcnNpb25zID0gbmV3IFNldChtb2R1bGVzLm1hcChtID0+IG0udmVyc2lvbikpO1xuICAgIGlmICh2ZXJzaW9ucy5zaXplID09PSAxKSB7XG4gICAgICAvLyBzaW5nbGUgdmVyc2lvbiAoZS5nIGNob3JlKHJlbGVhc2UpOiB2MS4yLjMpXG4gICAgICByZXR1cm4gYCR7c2VtYW50aWN9OiB2JHt2ZXJzaW9ucy52YWx1ZXMoKS5uZXh0KCkudmFsdWV9YDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gbXVsdGlwbGUgdmVyc2lvbnMgKGUuZyBjaG9yZShyZWxlYXNlKTogY2hvcmUocmVsZWFzZSk6IG1vZHVsZTFAdjEuMi4zICBtb2R1bGUyQHYxLjIuMylcbiAgICAgIHJldHVybiBgJHtzZW1hbnRpY306ICR7bW9kdWxlcy5tYXAobSA9PiBgJHttLnJlcG9QYXRoID8gYCR7bS5yZXBvUGF0aH1AYCA6ICcnfXYke20udmVyc2lvbn1gKS5qb2luKCcgJyl9YDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN5bmNSZXBvKHJlcG9EaXI6IHN0cmluZykge1xuICAgIGNvbnN0IHRvcExldmVsID0gcGF0aC5qb2luKHJlcG9EaXIsICdnby5tb2QnKTtcbiAgICBpZiAoZnMuZXhpc3RzU3luYyh0b3BMZXZlbCkpIHtcbiAgICAgIC8vIHdpdGggdG9wIGxldmVsIG1vZHVsZXMgd2Ugc3luYyB0aGUgZW50aXJlIHJlcG9zaXRvcnlcbiAgICAgIC8vIHNvIHdlIGp1c3QgZW1wdHkgaXQgb3V0XG4gICAgICBmcy5yZWFkZGlyU3luYyhyZXBvRGlyKVxuICAgICAgICAuZmlsdGVyKGYgPT4gZiAhPT0gJy5naXQnKVxuICAgICAgICAuZm9yRWFjaChmID0+IGZzLnJlbW92ZVN5bmMocGF0aC5qb2luKHJlcG9EaXIsIGYpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG90aGVyd2lzZSwgd2Ugc2VsZWN0aXZlbHkgcmVtb3ZlIHRoZSBzdWJtb2R1bGVzIG9ubHkuXG4gICAgICBmb3IgKGNvbnN0IHAgb2YgZnMucmVhZGRpclN5bmMocmVwb0RpcikpIHtcbiAgICAgICAgY29uc3Qgc3VibW9kdWxlID0gcGF0aC5qb2luKHJlcG9EaXIsIHAsICdnby5tb2QnKTtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoc3VibW9kdWxlKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmMocGF0aC5qb2luKHJlcG9EaXIsIHApKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBmcy5jb3B5U3luYyh0aGlzLmRpciwgcmVwb0RpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RSZXBvVVJMKG1vZHVsZXM6IEdvTW9kdWxlW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlcG9zID0gbmV3IFNldDxzdHJpbmc+KG1vZHVsZXMubWFwKG0gPT4gbS5yZXBvVVJMKSk7XG4gICAgaWYgKHJlcG9zLnNpemUgPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRldGVjdCByZXBvc2l0b3J5IGZyb20gbW9kdWxlIGZpbGVzLicpO1xuICAgIH1cbiAgICBpZiAocmVwb3Muc2l6ZSA+IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTXVsdGlwbGUgcmVwb3NpdG9yaWVzIGZvdW5kIGluIG1vZHVsZSBmaWxlcycpO1xuICAgIH1cbiAgICByZXR1cm4gcmVwb3MudmFsdWVzKCkubmV4dCgpLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0VmVyc2lvbihtb2R1bGVEaXJlY3Rvcnk6IHN0cmluZyk6IHN0cmluZyB7XG5cbiAgICBjb25zdCB2ZXJzaW9uRmlsZSA9IHBhdGguam9pbihtb2R1bGVEaXJlY3RvcnksICd2ZXJzaW9uJyk7XG5cbiAgICBjb25zdCByZXBvVmVyc2lvbiA9IHRoaXMudmVyc2lvbjtcbiAgICBjb25zdCBtb2R1bGVWZXJzaW9uID0gZnMuZXhpc3RzU3luYyh2ZXJzaW9uRmlsZSkgPyBmcy5yZWFkRmlsZVN5bmModmVyc2lvbkZpbGUpLnRvU3RyaW5nKCkgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAocmVwb1ZlcnNpb24gJiYgbW9kdWxlVmVyc2lvbiAmJiByZXBvVmVyc2lvbiAhPT0gbW9kdWxlVmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXBvIHZlcnNpb24gKCR7cmVwb1ZlcnNpb259KSBjb25mbGljdHMgd2l0aCBtb2R1bGUgdmVyc2lvbiAoJHttb2R1bGVWZXJzaW9ufSkgZm9yIG1vZHVsZSBpbiAke21vZHVsZURpcmVjdG9yeX1gKTtcbiAgICB9XG5cbiAgICAvLyBqdXN0IHRha2UgdGhlIG9uZSB0aGF0cyBkZWZpbmVkLCB0aGV5IGhhdmUgdG8gdGhlIHNhbWUgaWYgYm90aCBhcmUuXG4gICAgY29uc3QgdmVyc2lvbiA9IG1vZHVsZVZlcnNpb24gPyBtb2R1bGVWZXJzaW9uIDogcmVwb1ZlcnNpb247XG5cbiAgICBpZiAoIXZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGRldGVybWluZSB2ZXJzaW9uIG9mIG1vZHVsZSAke21vZHVsZURpcmVjdG9yeX0uIGBcbiAgICAgICAgKyBcIkVpdGhlciBpbmNsdWRlIGEgJ3ZlcnNpb24nIGZpbGUsIG9yIHNwZWNpZnkgYSBnbG9iYWwgdmVyc2lvbiB1c2luZyB0aGUgVkVSU0lPTiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZlcnNpb247XG5cbiAgfVxuXG59XG4iXX0=
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFyZ2V0cy9nby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qiw2Q0FBK0I7QUFDL0IsaURBQW1DO0FBQ25DLCtDQUFpQztBQUNqQyxxREFBdUM7QUE0R3ZDOztHQUVHO0FBQ0gsTUFBYSxVQUFVO0lBV3JCLFlBQVksS0FBc0I7O1FBRWhDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0VBQXdFLENBQUMsQ0FBQztTQUMzRjtRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUN0QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBQSxLQUFLLENBQUMsR0FBRyxtQ0FBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQUEsS0FBSyxDQUFDLE1BQU0sbUNBQUksTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBQSxLQUFLLENBQUMsTUFBTSxtQ0FBSSxLQUFLLENBQUM7UUFFcEMsTUFBTSxXQUFXLEdBQUcsTUFBQSxLQUFLLENBQUMsUUFBUSxtQ0FBSSxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDckQsTUFBTSxZQUFZLEdBQUcsTUFBQSxLQUFLLENBQUMsS0FBSyxtQ0FBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFaEQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFD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QUFVLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUV2RyxJQUFJLFdBQVcsSUFBSSxhQUFhLElBQUksV0FBVyxLQUFLLGFBQWEsRUFBRTtZQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixXQUFXLG9DQUFvQyxhQUFhLG1CQUFtQixlQUFlLEVBQUUsQ0FBQyxDQUFDO1NBQ3BJO1FBRUQsc0VBQXNFO1FBQ3RFLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFFNUQsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMseUNBQXlDLGVBQWUsSUFBSTtrQkFDeEUsc0dBQXNHLENBQUMsQ0FBQztTQUM3RztRQUVELE9BQU8sT0FBTyxDQUFDO0lBRWpCLENBQUM7Q0FFRjtBQWpQRCxnQ0FpUEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMtZXh0cmEnO1xuaW1wb3J0ICogYXMgZ2l0IGZyb20gJy4uL2hlbHAvZ2l0JztcbmltcG9ydCAqIGFzIG9zIGZyb20gJy4uL2hlbHAvb3MnO1xuaW1wb3J0ICogYXMgc2hlbGwgZnJvbSAnLi4vaGVscC9zaGVsbCc7XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIHNvbWUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJlbGVhc2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR29SZWxlYXNlIHtcblxuICAvKipcbiAgICogVGhlIHRhZ3MgdGhlIHJlbGVhc2UgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGNvbW1pdCBtZXNzYWdlIG9mIHRoZSByZWxlYXNlLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWl0TWVzc2FnZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgcmVwb3NpdG9yeSB3YXMgcmVsZWFzZWQgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9EaXI/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYEdvUmVsZWFzZXJgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdvUmVsZWFzZXJQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgY29kZSBkaXJlY3RvcnkuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdkaXN0L2dvJ1xuICAgKi9cbiAgcmVhZG9ubHkgZGlyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgZHJ5IHJ1biBvbmx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZHJ5UnVuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGJyYW5jaCB0byBwdXNoIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJyYW5jaD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVzZXJuYW1lIHRvIHVzZSBmb3IgdGhlIGNvbW1pdC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0YWtlbiBmcm9tIGdpdCBjb25maWcuIHRocm93cyBpZiBub3QgY29uZmlndXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW1haWwgdG8gdXNlIGZvciB0aGUgY29tbWl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRha2VuIGZyb20gZ2l0IGNvbmZpZy4gdGhyb3dzIGlmIG5vdCBjb25maWd1cmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZW1haWw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRha2VuIGZyb20gdGhlICd2ZXJzaW9uJy4gdGhyb3dzIGlmIGRvZXNuJ3QgZXhpc3QuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byB1c2UgZm9yIHRoZSBjb21taXQgbWFya2luZyB0aGUgcmVsZWFzZS5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogSW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBtb2R1bGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR29Nb2R1bGUge1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBtb2QgZmlsZS5cbiAgICovXG4gIHJlYWRvbmx5IG1vZEZpbGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHZlcnNpb24gb2YgdGhlIG1vZHVsZS5cbiAgICovXG4gIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhbm5vbmljYWwgbmFtZSBvZiB0aGUgbW9kdWxlLiAoZS5nICdnaXRodWIuY29tL2F3cy9jb25zdHJ1Y3RzLWdvL2NvbnN0cnVjdHMvdjNgKVxuICAgKi9cbiAgcmVhZG9ubHkgY2Fubm9uaWNhbE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBhdGggaW5zaWRlIHRoZSByZXBvc2l0b3J5IHRoZSBtb2R1bGUgaXMgbG9jYXRlZCBpbi4gKGUuZyAnY29uc3RydWN0cycpXG4gICAqL1xuICByZWFkb25seSByZXBvUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVwb3NpdG9yeSBVUkwuIChlLmcgJ2dpdGh1Yi5jb20vYXdzL2NvbnN0cnVjdHMnKVxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb1VSTDogc3RyaW5nO1xuXG59XG5cbi8qKlxuICogUmVsZWFzZSBhIHNldCBvZiBHb2xhbmcgbW9kdWxlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdvUmVsZWFzZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBnaXRDb21taXRNZXNzYWdlPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGlyOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZHJ5UnVuOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IGdpdEJyYW5jaDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGdpdFVzZXJuYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ2l0VXNlcmVtYWlsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJvcHM6IEdvUmVsZWFzZXJQcm9wcykge1xuXG4gICAgaWYgKCFzaGVsbC53aGljaCgnZ2l0JykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZ2l0IG11c3QgYmUgYXZhaWxhYmxlIHRvIGluIG9yZGVyIHRvIGJlIGFibGUgdG8gcHVzaCBHbyBjb2RlIHRvIEdpdEh1YicpO1xuICAgIH1cblxuICAgIHRoaXMudmVyc2lvbiA9IHByb3BzLnZlcnNpb247XG4gICAgdGhpcy5naXRDb21taXRNZXNzYWdlID0gcHJvcHMubWVzc2FnZTtcbiAgICB0aGlzLmRpciA9IHBhdGgucmVzb2x2ZShwcm9wcy5kaXIgPz8gcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdkaXN0JywgJ2dvJykpO1xuICAgIHRoaXMuZ2l0QnJhbmNoID0gcHJvcHMuYnJhbmNoID8/ICdtYWluJztcbiAgICB0aGlzLmRyeVJ1biA9IHByb3BzLmRyeVJ1biA/PyBmYWxzZTtcblxuICAgIGNvbnN0IGdpdFVzZXJuYW1lID0gcHJvcHMudXNlcm5hbWUgPz8gZ2l0LnVzZXJuYW1lKCk7XG4gICAgY29uc3QgZ2l0VXNlcmVtYWlsID0gcHJvcHMuZW1haWwgPz8gZ2l0LmVtYWlsKCk7XG5cbiAgICBpZiAoIWdpdFVzZXJuYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXRlY3QgdXNlcm5hbWUuIGVpdGhlciBjb25maWd1cmUgYSBnaXQgdXNlci5uYW1lIG9yIHBhc3MgR0lUX1VTRVJfTkFNRSBlbnYgdmFyaWFibGUnKTtcbiAgICB9XG5cbiAgICBpZiAoIWdpdFVzZXJlbWFpbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZGV0ZWN0IHVzZXIgZW1haWwuIGVpdGhlciBjb25maWd1cmUgYSBnaXQgdXNlci5lbWFpbCBvciBwYXNzIEdJVF9VU0VSX0VNQUlMIGVudiB2YXJpYWJsZScpO1xuICAgIH1cblxuICAgIHRoaXMuZ2l0VXNlcmVtYWlsID0gZ2l0VXNlcmVtYWlsO1xuICAgIHRoaXMuZ2l0VXNlcm5hbWUgPSBnaXRVc2VybmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW4gdGhlIHJlbGVhc2UgcHJvY2Vzcy5cbiAgICpcbiAgICogQHJldHVybnMgbWV0YWRhdGEgYWJvdXQgdGhlIHJlbGVhc2UuXG4gICAqL1xuICBwdWJsaWMgcmVsZWFzZSgpOiBHb1JlbGVhc2Uge1xuICAgIGNvbnN0IG1vZHVsZXMgPSB0aGlzLmNvbGxlY3RNb2R1bGVzKHRoaXMuZGlyKTtcbiAgICBpZiAobW9kdWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnNvbGUubG9nKCdObyBtb2R1bGVzIGRldGVjdGVkLiBTa2lwcGluZycpO1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCdEZXRlY3RlZCBtb2R1bGVzOicpO1xuICAgIG1vZHVsZXMuZm9yRWFjaChtID0+IGNvbnNvbGUubG9nKGAgLSAke20ubW9kRmlsZX1gKSk7XG5cbiAgICBjb25zdCByZXBvVVJMID0gdGhpcy5leHRyYWN0UmVwb1VSTChtb2R1bGVzKTtcbiAgICBjb25zdCByZXBvRGlyID0gcGF0aC5qb2luKG9zLm1rZHRlbXBTeW5jKCksICdyZXBvJyk7XG4gICAgZ2l0LmNsb25lKHJlcG9VUkwsIHJlcG9EaXIpO1xuXG4gICAgY29uc3QgY3dkID0gcHJvY2Vzcy5jd2QoKTtcbiAgICB0cnkge1xuICAgICAgcHJvY2Vzcy5jaGRpcihyZXBvRGlyKTtcbiAgICAgIHJldHVybiB0aGlzLmRvUmVsZWFzZShtb2R1bGVzLCByZXBvRGlyKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgcHJvY2Vzcy5jaGRpcihjd2QpO1xuICAgIH1cblxuICB9XG5cbiAgcHJpdmF0ZSBkb1JlbGVhc2UobW9kdWxlczogR29Nb2R1bGVbXSwgcmVwb0Rpcjogc3RyaW5nKTogR29SZWxlYXNlIHtcblxuICAgIGdpdC5pZGVudGlmeSh0aGlzLmdpdFVzZXJuYW1lLCB0aGlzLmdpdFVzZXJlbWFpbCk7XG4gICAgZ2l0LmNoZWNrb3V0KHRoaXMuZ2l0QnJhbmNoLCB7IGNyZWF0ZUlmTWlzc2luZzogdHJ1ZSB9KTtcbiAgICB0aGlzLnN5bmNSZXBvKHJlcG9EaXIpO1xuXG4gICAgZ2l0LmFkZCgnLicpO1xuICAgIGlmICghZ2l0LmRpZmZJbmRleCgpKSB7XG4gICAgICBjb25zb2xlLmxvZygnTm8gY2hhbmdlcy4gU2tpcHBpbmcgcmVsZWFzZScpO1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1pdE1lc3NhZ2UgPSB0aGlzLmdpdENvbW1pdE1lc3NhZ2UgPz8gdGhpcy5idWlsZFJlbGVhc2VNZXNzYWdlKG1vZHVsZXMpO1xuICAgIGdpdC5jb21taXQoY29tbWl0TWVzc2FnZSk7XG5cbiAgICBjb25zdCB0YWdzID0gW107XG4gICAgZm9yIChjb25zdCBtb2R1bGUgb2YgbW9kdWxlcykge1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMuYnVpbGRUYWdOYW1lKG1vZHVsZSk7XG4gICAgICBjb25zdCBjcmVhdGVkID0gZ2l0LnRhZyhuYW1lKTtcbiAgICAgIGlmIChjcmVhdGVkKSB7IHRhZ3MucHVzaChuYW1lKTsgfVxuICAgIH1cblxuICAgIGlmICh0YWdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc29sZS5sb2coJ0FsbCB0YWdzIGFscmVhZHkgZXhpc3QuIFNraXBwaW5nIHJlbGVhc2UnKTtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICBjb25zdCByZWZzID0gWy4uLnRhZ3MsIHRoaXMuZ2l0QnJhbmNoXTtcblxuICAgIGlmICh0aGlzLmRyeVJ1bikge1xuICAgICAgY29uc29sZS5sb2coJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nKTtcbiAgICAgIGNvbnNvbGUubG9nKCcgICAgICAgICAgICDwn4+c77iPIERSWS1SVU4gTU9ERSDwn4+c77iPJyk7XG4gICAgICBjb25zb2xlLmxvZygnPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PScpO1xuICAgICAgcmVmcy5mb3JFYWNoKHQgPT4gY29uc29sZS5sb2coYFJlbW90ZSByZWYgd2lsbCBiZSB1cGRhdGVkOiAke3R9YCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZWZzLmZvckVhY2godCA9PiBnaXQucHVzaCh0KSk7XG4gICAgfVxuICAgIHJldHVybiB7IHRhZ3MsIGNvbW1pdE1lc3NhZ2UsIHJlcG9EaXIgfTtcbiAgfVxuXG4gIHByaXZhdGUgY29sbGVjdE1vZHVsZXMoZGlyOiBzdHJpbmcpOiBHb01vZHVsZVtdIHtcbiAgICBjb25zdCBtb2R1bGVzOiBHb01vZHVsZVtdID0gW107XG4gICAgZm9yIChjb25zdCBwIG9mIFsuLi5mcy5yZWFkZGlyU3luYyhkaXIpLCAnLiddKSB7XG4gICAgICBjb25zdCBtb2RGaWxlID0gcGF0aC5qb2luKGRpciwgcCwgJ2dvLm1vZCcpO1xuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMobW9kRmlsZSkpIHtcbiAgICAgICAgbW9kdWxlcy5wdXNoKHRoaXMucGFyc2VNb2R1bGUobW9kRmlsZSkpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbW9kdWxlcztcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VNb2R1bGUobW9kRmlsZTogc3RyaW5nKTogR29Nb2R1bGUge1xuXG4gICAgY29uc3QgdmVyc2lvbiA9IHRoaXMuZXh0cmFjdFZlcnNpb24ocGF0aC5kaXJuYW1lKG1vZEZpbGUpKTtcbiAgICBjb25zdCBtYWpvclZlcnNpb24gPSBOdW1iZXIodmVyc2lvbi5zcGxpdCgnLicpWzBdKTtcblxuICAgIC8vIGV4dHJhY3QgdGhlIG1vZHVsZSBkZWNsZXJhdGlvbiAoZS5nICdtb2R1bGUgZ2l0aHViLmNvbS9hd3MvY29uc3RydWN0cy1nby9jb25zdHJ1Y3RzL3YzJylcbiAgICBjb25zdCBtYXRjaCA9IGZzLnJlYWRGaWxlU3luYyhtb2RGaWxlKS50b1N0cmluZygpLm1hdGNoKC9tb2R1bGUgKC4qKS8pO1xuICAgIGlmICghbWF0Y2ggfHwgIW1hdGNoWzFdKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBkZXRlY3RlZCBtb2R1bGUgZGVjbGFyYXRpb24gaW4gJHttb2RGaWxlfWApO1xuICAgIH1cblxuICAgIC8vIGUuZyAnZ2l0aHViLmNvbS9hd3MvY29uc3RydWN0cy1nby9jb25zdHJ1Y3RzL3YzJ1xuICAgIGNvbnN0IGNhbm5vbmljYWxOYW1lID0gbWF0Y2hbMV07XG5cbiAgICAvLyBlLmcgWydnaXRodWIuY29tJywgJ2F3cycsICdjb25zdHJ1Y3RzLWdvJywgJ2NvbnN0cnVjdHMnLCAndjMnXVxuICAgIGNvbnN0IGNhbm5vbmljYWxOYW1lUGFydHMgPSBjYW5ub25pY2FsTmFtZS5zcGxpdCgnLycpO1xuXG4gICAgLy8gZS5nICdnaXRodWIuY29tL2F3cy9jb25zdHJ1Y3RzLWdvJ1xuICAgIGNvbnN0IHJlcG9VUkwgPSBjYW5ub25pY2FsTmFtZVBhcnRzLnNsaWNlKDAsIDMpLmpvaW4oJy8nKTtcblxuICAgIC8vIGUuZyAndjMnXG4gICAgY29uc3QgbWFqb3JWZXJzaW9uU3VmZml4ID0gbWFqb3JWZXJzaW9uID4gMSA/IGAvdiR7bWFqb3JWZXJzaW9ufWAgOiAnJztcblxuICAgIGlmICghY2Fubm9uaWNhbE5hbWUuZW5kc1dpdGgobWFqb3JWZXJzaW9uU3VmZml4KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNb2R1bGUgZGVjbGFyYXRpb24gaW4gJyR7bW9kRmlsZX0nIGV4cGVjdGVkIHRvIGVuZCB3aXRoICcke21ham9yVmVyc2lvblN1ZmZpeH0nIHNpbmNlIGl0cyBtYWpvciB2ZXJzaW9uIGlzIGxhcmdlciB0aGFuIDFgKTtcbiAgICB9XG5cbiAgICBpZiAoIXJlcG9VUkwuc3RhcnRzV2l0aCgnZ2l0aHViLmNvbScpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcG9zaXRvcnkgbXVzdCBiZSBob3N0ZWQgb24gZ2l0aHViLmNvbS4gRm91bmQ6ICcke3JlcG9VUkx9JyBpbiAke21vZEZpbGV9YCk7XG4gICAgfVxuXG4gICAgbGV0IHJlcG9QYXRoID0gY2Fubm9uaWNhbE5hbWVQYXJ0c1xuICAgICAgLnNsaWNlKDMpIC8vIGUuZyBbJ2NvbnN0cnVjdHMnLCAndjMnXVxuICAgICAgLmpvaW4oJy8nKTsgLy8gZS5nICdjb25zdHJ1Y3RzL3YzJ1xuXG4gICAgLy8gd2UgY291bGQgaGF2ZSBzb21ldGhpbmcgbGlrZVxuICAgIC8vIGNvbnN0cnVjdHMvdjNcbiAgICAvLyBvciBzb21ldGhpbmcgbGlrZVxuICAgIC8vIGNvbnN0cnVjdHN2My92M1xuICAgIC8vIHdlIG9ubHkgd2FudCB0byBzdHJpcCB0aGUgbGFzdCAndjMnXG4gICAgY29uc3Qgc3BsaXQgPSByZXBvUGF0aC5zcGxpdCgnLycpO1xuICAgIGlmIChzcGxpdFtzcGxpdC5sZW5ndGggLSAxXSA9PT0gYHYke21ham9yVmVyc2lvbn1gKSB7XG4gICAgICBzcGxpdC5wb3AoKTtcbiAgICAgIHJlcG9QYXRoID0gc3BsaXQuam9pbignLycpO1xuICAgIH1cblxuICAgIC8vIHN0cmlwICcvJyBpZiBleGlzdHMgKHdvbnQgZXhpc3QgZm9yIHRvcCBsZXZlbCBtb2R1bGVzKVxuICAgIHJlcG9QYXRoID0gcmVwb1BhdGguZW5kc1dpdGgoJy8nKSA/IHJlcG9QYXRoLnN1YnN0cigwLCByZXBvUGF0aC5sZW5ndGggLSAxKSA6IHJlcG9QYXRoO1xuXG4gICAgcmV0dXJuIHsgbW9kRmlsZSwgdmVyc2lvbiwgY2Fubm9uaWNhbE5hbWUsIHJlcG9QYXRoLCByZXBvVVJMIH07XG5cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUYWdOYW1lKG06IEdvTW9kdWxlKSB7XG4gICAgcmV0dXJuIG0ucmVwb1BhdGggPT09ICcnID8gYHYke20udmVyc2lvbn1gIDogYCR7bS5yZXBvUGF0aH0vdiR7bS52ZXJzaW9ufWA7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUmVsZWFzZU1lc3NhZ2UobW9kdWxlczogR29Nb2R1bGVbXSkge1xuICAgIGNvbnN0IHNlbWFudGljID0gJ2Nob3JlKHJlbGVhc2UpJztcbiAgICBjb25zdCB2ZXJzaW9ucyA9IG5ldyBTZXQobW9kdWxlcy5tYXAobSA9PiBtLnZlcnNpb24pKTtcbiAgICBpZiAodmVyc2lvbnMuc2l6ZSA9PT0gMSkge1xuICAgICAgLy8gc2luZ2xlIHZlcnNpb24gKGUuZyBjaG9yZShyZWxlYXNlKTogdjEuMi4zKVxuICAgICAgcmV0dXJuIGAke3NlbWFudGljfTogdiR7dmVyc2lvbnMudmFsdWVzKCkubmV4dCgpLnZhbHVlfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIG11bHRpcGxlIHZlcnNpb25zIChlLmcgY2hvcmUocmVsZWFzZSk6IGNob3JlKHJlbGVhc2UpOiBtb2R1bGUxQHYxLjIuMyAgbW9kdWxlMkB2MS4yLjMpXG4gICAgICByZXR1cm4gYCR7c2VtYW50aWN9OiAke21vZHVsZXMubWFwKG0gPT4gYCR7bS5yZXBvUGF0aCA/IGAke20ucmVwb1BhdGh9QGAgOiAnJ312JHttLnZlcnNpb259YCkuam9pbignICcpfWA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzeW5jUmVwbyhyZXBvRGlyOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0b3BMZXZlbCA9IHBhdGguam9pbihyZXBvRGlyLCAnZ28ubW9kJyk7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmModG9wTGV2ZWwpKSB7XG4gICAgICAvLyB3aXRoIHRvcCBsZXZlbCBtb2R1bGVzIHdlIHN5bmMgdGhlIGVudGlyZSByZXBvc2l0b3J5XG4gICAgICAvLyBzbyB3ZSBqdXN0IGVtcHR5IGl0IG91dFxuICAgICAgZnMucmVhZGRpclN5bmMocmVwb0RpcilcbiAgICAgICAgLmZpbHRlcihmID0+IGYgIT09ICcuZ2l0JylcbiAgICAgICAgLmZvckVhY2goZiA9PiBmcy5yZW1vdmVTeW5jKHBhdGguam9pbihyZXBvRGlyLCBmKSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBvdGhlcndpc2UsIHdlIHNlbGVjdGl2ZWx5IHJlbW92ZSB0aGUgc3VibW9kdWxlcyBvbmx5LlxuICAgICAgZm9yIChjb25zdCBwIG9mIGZzLnJlYWRkaXJTeW5jKHJlcG9EaXIpKSB7XG4gICAgICAgIGNvbnN0IHN1Ym1vZHVsZSA9IHBhdGguam9pbihyZXBvRGlyLCBwLCAnZ28ubW9kJyk7XG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHN1Ym1vZHVsZSkpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHBhdGguam9pbihyZXBvRGlyLCBwKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZnMuY29weVN5bmModGhpcy5kaXIsIHJlcG9EaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0UmVwb1VSTChtb2R1bGVzOiBHb01vZHVsZVtdKTogc3RyaW5nIHtcbiAgICBjb25zdCByZXBvcyA9IG5ldyBTZXQ8c3RyaW5nPihtb2R1bGVzLm1hcChtID0+IG0ucmVwb1VSTCkpO1xuICAgIGlmIChyZXBvcy5zaXplID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBkZXRlY3QgcmVwb3NpdG9yeSBmcm9tIG1vZHVsZSBmaWxlcy4nKTtcbiAgICB9XG4gICAgaWYgKHJlcG9zLnNpemUgPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ011bHRpcGxlIHJlcG9zaXRvcmllcyBmb3VuZCBpbiBtb2R1bGUgZmlsZXMnKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcG9zLnZhbHVlcygpLm5leHQoKS52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdFZlcnNpb24obW9kdWxlRGlyZWN0b3J5OiBzdHJpbmcpOiBzdHJpbmcge1xuXG4gICAgY29uc3QgdmVyc2lvbkZpbGUgPSBwYXRoLmpvaW4obW9kdWxlRGlyZWN0b3J5LCAndmVyc2lvbicpO1xuXG4gICAgY29uc3QgcmVwb1ZlcnNpb24gPSB0aGlzLnZlcnNpb247XG4gICAgY29uc3QgbW9kdWxlVmVyc2lvbiA9IGZzLmV4aXN0c1N5bmModmVyc2lvbkZpbGUpID8gZnMucmVhZEZpbGVTeW5jKHZlcnNpb25GaWxlKS50b1N0cmluZygpIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKHJlcG9WZXJzaW9uICYmIG1vZHVsZVZlcnNpb24gJiYgcmVwb1ZlcnNpb24gIT09IG1vZHVsZVZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUmVwbyB2ZXJzaW9uICgke3JlcG9WZXJzaW9ufSkgY29uZmxpY3RzIHdpdGggbW9kdWxlIHZlcnNpb24gKCR7bW9kdWxlVmVyc2lvbn0pIGZvciBtb2R1bGUgaW4gJHttb2R1bGVEaXJlY3Rvcnl9YCk7XG4gICAgfVxuXG4gICAgLy8ganVzdCB0YWtlIHRoZSBvbmUgdGhhdHMgZGVmaW5lZCwgdGhleSBoYXZlIHRvIHRoZSBzYW1lIGlmIGJvdGggYXJlLlxuICAgIGNvbnN0IHZlcnNpb24gPSBtb2R1bGVWZXJzaW9uID8gbW9kdWxlVmVyc2lvbiA6IHJlcG9WZXJzaW9uO1xuXG4gICAgaWYgKCF2ZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBkZXRlcm1pbmUgdmVyc2lvbiBvZiBtb2R1bGUgJHttb2R1bGVEaXJlY3Rvcnl9LiBgXG4gICAgICAgICsgXCJFaXRoZXIgaW5jbHVkZSBhICd2ZXJzaW9uJyBmaWxlLCBvciBzcGVjaWZ5IGEgZ2xvYmFsIHZlcnNpb24gdXNpbmcgdGhlIFZFUlNJT04gZW52aXJvbm1lbnQgdmFyaWFibGUuXCIpO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJzaW9uO1xuXG4gIH1cblxufVxuIl19
|
package/package.json
CHANGED
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"organization": true
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@types/jest": "^27.5.
|
|
52
|
+
"@types/jest": "^27.5.1",
|
|
53
53
|
"@types/node": "^12",
|
|
54
54
|
"@typescript-eslint/eslint-plugin": "^5",
|
|
55
55
|
"@typescript-eslint/parser": "^5",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"projen": "^0.52.23",
|
|
65
65
|
"standard-version": "^9",
|
|
66
66
|
"ts-jest": "^27.1.4",
|
|
67
|
-
"typescript": "
|
|
67
|
+
"typescript": "~4.6.4"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"@types/fs-extra": "^8.0.0",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"main": "lib/index.js",
|
|
75
75
|
"license": "Apache-2.0",
|
|
76
76
|
"homepage": "https://github.com/cdklabs/publib",
|
|
77
|
-
"version": "0.2.
|
|
77
|
+
"version": "0.2.352",
|
|
78
78
|
"jest": {
|
|
79
79
|
"testMatch": [
|
|
80
80
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|
package/package.json.bak
CHANGED
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"organization": true
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@types/jest": "^27.5.
|
|
52
|
+
"@types/jest": "^27.5.1",
|
|
53
53
|
"@types/node": "^12",
|
|
54
54
|
"@typescript-eslint/eslint-plugin": "^5",
|
|
55
55
|
"@typescript-eslint/parser": "^5",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"projen": "^0.52.23",
|
|
65
65
|
"standard-version": "^9",
|
|
66
66
|
"ts-jest": "^27.1.4",
|
|
67
|
-
"typescript": "
|
|
67
|
+
"typescript": "~4.6.4"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"@types/fs-extra": "^8.0.0",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"main": "lib/index.js",
|
|
75
75
|
"license": "Apache-2.0",
|
|
76
76
|
"homepage": "https://github.com/cdklabs/publib",
|
|
77
|
-
"version": "0.2.
|
|
77
|
+
"version": "0.2.352",
|
|
78
78
|
"jest": {
|
|
79
79
|
"testMatch": [
|
|
80
80
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|