jsii-pacmak 1.42.0 → 1.44.2
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/bin/jsii-pacmak.js +15 -2
- package/lib/builder.d.ts +11 -3
- package/lib/builder.js +19 -14
- package/lib/index.d.ts +9 -1
- package/lib/index.js +28 -20
- package/lib/logging.d.ts +3 -1
- package/lib/logging.js +4 -2
- package/lib/npm-modules.d.ts +2 -1
- package/lib/npm-modules.js +1 -1
- package/lib/packaging.js +1 -2
- package/lib/targets/_utils.d.ts +8 -0
- package/lib/targets/_utils.js +1 -1
- package/lib/targets/dotnet/dotnetdocgenerator.js +1 -4
- package/lib/targets/dotnet/dotnetgenerator.js +23 -19
- package/lib/targets/index.d.ts +3 -3
- package/lib/targets/index.js +9 -9
- package/lib/targets/java.js +22 -25
- package/lib/targets/python/requirements-dev.txt +2 -2
- package/lib/targets/python.d.ts +1 -0
- package/lib/targets/python.js +39 -22
- package/lib/targets/version-utils.js +2 -2
- package/lib/toposort.d.ts +23 -1
- package/lib/toposort.js +4 -2
- package/lib/util.d.ts +1 -0
- package/lib/util.js +8 -4
- package/lib/version.d.ts +2 -2
- package/lib/version.js +4 -4
- package/package.json +12 -12
package/bin/jsii-pacmak.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
require("@jsii/check-node/run");
|
|
5
|
+
const jsii_rosetta_1 = require("jsii-rosetta");
|
|
5
6
|
const yargs = require("yargs");
|
|
6
7
|
const lib_1 = require("../lib");
|
|
7
8
|
const logging_1 = require("../lib/logging");
|
|
@@ -87,8 +88,19 @@ const version_1 = require("../lib/version");
|
|
|
87
88
|
})
|
|
88
89
|
.option('rosetta-translate-live', {
|
|
89
90
|
type: 'boolean',
|
|
90
|
-
desc: "Translate code samples on-the-fly if they can't be found in the samples tablet",
|
|
91
|
+
desc: "Translate code samples on-the-fly if they can't be found in the samples tablet (deprecated)",
|
|
91
92
|
default: true,
|
|
93
|
+
})
|
|
94
|
+
.option('rosetta-unknown-snippets', {
|
|
95
|
+
type: 'string',
|
|
96
|
+
requiresArg: true,
|
|
97
|
+
optional: true,
|
|
98
|
+
choices: [
|
|
99
|
+
jsii_rosetta_1.UnknownSnippetMode.VERBATIM,
|
|
100
|
+
jsii_rosetta_1.UnknownSnippetMode.TRANSLATE,
|
|
101
|
+
jsii_rosetta_1.UnknownSnippetMode.FAIL,
|
|
102
|
+
],
|
|
103
|
+
desc: "What to do with code samples if they can't be found in the samples tablet",
|
|
92
104
|
})
|
|
93
105
|
.option('parallel', {
|
|
94
106
|
type: 'boolean',
|
|
@@ -127,6 +139,7 @@ const version_1 = require("../lib/version");
|
|
|
127
139
|
parallel: argv.parallel,
|
|
128
140
|
recurse: argv.recurse,
|
|
129
141
|
rosettaLiveConversion: argv['rosetta-translate-live'],
|
|
142
|
+
rosettaUnknownSnippets: argv['rosetta-unknown-snippets'],
|
|
130
143
|
rosettaTablet: argv['rosetta-tablet'],
|
|
131
144
|
targets: (_a = argv.targets) === null || _a === void 0 ? void 0 : _a.map((target) => target),
|
|
132
145
|
updateNpmIgnoreFiles: argv.npmignore,
|
|
@@ -136,4 +149,4 @@ const version_1 = require("../lib/version");
|
|
|
136
149
|
process.stderr.write(`${err.stack}\n`);
|
|
137
150
|
process.exit(1);
|
|
138
151
|
});
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1wYWNtYWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJqc2lpLXBhY21hay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxnQ0FBOEI7QUFFOUIsK0JBQStCO0FBRS9CLGdDQUE4RDtBQUM5RCw0Q0FBdUM7QUFDdkMsNENBQThDO0FBRTlDLENBQUMsS0FBSyxVQUFVLElBQUk7O0lBQ2xCLE1BQU0sSUFBSSxHQUFHLEtBQUs7U0FDZixHQUFHLENBQUMsYUFBYSxDQUFDO1NBQ2xCLE9BQU8sQ0FDTixDQUFDLG1CQUFtQixFQUFFLHdCQUF3QixDQUFDLEVBQy9DLHFEQUFxRCxFQUNyRCxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUU7UUFDMUIsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDO0tBQ2YsQ0FBQyxDQUNMO1NBQ0EsTUFBTSxDQUFDLFNBQVMsRUFBRTtRQUNqQixLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDO1FBQ3RCLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLGlEQUFpRDtRQUN2RCxrQkFBa0IsRUFDaEIseURBQXlEO1FBQzNELE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFVLENBQUM7UUFDbEMsUUFBUSxFQUFFLEtBQUs7S0FDaEIsQ0FBQztTQUNELE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDaEIsS0FBSyxFQUFFLEdBQUc7UUFDVixJQUFJLEVBQUUsUUFBUTtRQUNkLElBQUksRUFBRSw2Q0FBNkM7UUFDbkQsa0JBQWtCLEVBQUUsMENBQTBDO1FBQzlELFFBQVEsRUFBRSxLQUFLO0tBQ2hCLENBQUM7U0FDRCxNQUFNLENBQUMsV0FBVyxFQUFFO1FBQ25CLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLFNB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QyxXQUFXLENBQUM7UUFDM0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1FBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztRQUNqQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDN0MsV0FBVyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDakMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVE7UUFDL0IsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNO1FBQzVCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87UUFDckIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDO1FBQ3JELGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDckMsT0FBTyxRQUFFLElBQUksQ0FBQyxPQUFPLDBDQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBb0IsQ0FBQztRQUM1RCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsU0FBUztRQUNwQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUM7S0FDaEQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgJ0Bqc2lpL2NoZWNrLW5vZGUvcnVuJztcblxuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyBwYWNtYWssIGNvbmZpZ3VyZUxvZ2dpbmcsIFRhcmdldE5hbWUgfSBmcm9tICcuLi9saWInO1xuaW1wb3J0IHsgZGVidWcgfSBmcm9tICcuLi9saWIvbG9nZ2luZyc7XG5pbXBvcnQgeyBWRVJTSU9OX0RFU0MgfSBmcm9tICcuLi9saWIvdmVyc2lvbic7XG5cbihhc3luYyBmdW5jdGlvbiBtYWluKCkge1xuICBjb25zdCBhcmd2ID0geWFyZ3NcbiAgICAuZW52KCdKU0lJX1BBQ01BSycpXG4gICAgLmNvbW1hbmQoXG4gICAgICBbJyQwICBbUFJPSkVDVFMuLi5dJywgJ2dlbmVyYXRlIFtQUk9KRUNUUy4uLl0nXSxcbiAgICAgICdHZW5lcmF0ZXMganNpaSBiaW5kaW5ncyBmb3IgdGhlIHNlbGVjdGVkIHByb2plY3QocyknLFxuICAgICAgKGFyZ3YpID0+XG4gICAgICAgIGFyZ3YucG9zaXRpb25hbCgnUFJPSkVDVFMnLCB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgZGVzYzogJ1Byb2plY3QocykgdG8gZ2VuZXJhdGUnLFxuICAgICAgICAgIG5vcm1hbGl6ZTogdHJ1ZSxcbiAgICAgICAgICBkZWZhdWx0OiBbJy4nXSxcbiAgICAgICAgfSksXG4gICAgKVxuICAgIC5vcHRpb24oJ3RhcmdldHMnLCB7XG4gICAgICBhbGlhczogWyd0YXJnZXQnLCAndCddLFxuICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgIGRlc2M6ICd0YXJnZXQgbGFuZ3VhZ2VzIGZvciB3aGljaCB0byBnZW5lcmF0ZSBiaW5kaW5ncycsXG4gICAgICBkZWZhdWx0RGVzY3JpcHRpb246XG4gICAgICAgICdhbGwgdGFyZ2V0cyBkZWZpbmVkIGluIGBwYWNrYWdlLmpzb25gIHdpbGwgYmUgZ2VuZXJhdGVkJyxcbiAgICAgIGNob2ljZXM6IE9iamVjdC52YWx1ZXMoVGFyZ2V0TmFtZSksXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdvdXRkaXInLCB7XG4gICAgICBhbGlhczogJ28nLFxuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBkZXNjOiAnZGlyZWN0b3J5IHdoZXJlIGFydGlmYWN0cyB3aWxsIGJlIGdlbmVyYXRlZCcsXG4gICAgICBkZWZhdWx0RGVzY3JpcHRpb246ICdiYXNlZCBvbiBganNpaS5vdXRwdXRgIGluIGBwYWNrYWdlLmpzb25gJyxcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2NvZGUtb25seScsIHtcbiAgICAgIGFsaWFzOiAnYycsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZXNjOiAnZ2VuZXJhdGUgY29kZSBvbmx5IChpbnN0ZWFkIG9mIGJ1aWxkaW5nIGFuZCBwYWNrYWdpbmcpJyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbignZmluZ2VycHJpbnQnLCB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZXNjOiAnYXR0YWNoIGEgZmluZ2VycHJpbnQgdG8gdGhlIGdlbmVyYXRlZCBhcnRpZmFjdHMsIGFuZCBza2lwIGdlbmVyYXRpb24gaWYgb3V0ZGlyIGNvbnRhaW5zIGFydGlmYWN0cyB0aGF0IGhhdmUgYSBtYXRjaGluZyBmaW5nZXJwcmludCcsXG4gICAgICBkZWZhdWx0OiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbignZm9yY2UnLCB7XG4gICAgICBhbGlhczogJ2YnLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ2ZvcmNlIGdlbmVyYXRpb24gb2YgbmV3IGFydGlmYWN0cywgZXZlbiBpZiB0aGUgZmluZ2VycHJpbnRzIG1hdGNoJyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbignZm9yY2Utc3ViZGlyZWN0b3J5Jywge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ2ZvcmNlIGdlbmVyYXRpb24gaW50byBhIHRhcmdldC1uYW1lZCBzdWJkaXJlY3RvcnksIGV2ZW4gaW4gc2luZ2xlLXRhcmdldCBtb2RlJyxcbiAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgfSlcbiAgICAub3B0aW9uKCdmb3JjZS10YXJnZXQnLCB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZXNjOiAnZm9yY2UgZ2VuZXJhdGlvbiBvZiB0aGUgZ2l2ZW4gdGFyZ2V0cywgZXZlbiBpZiB0aGUgc291cmNlIHBhY2thZ2UuanNvbiBkb2VzbnQgZGVjbGFyZSBpdCcsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3JlY3Vyc2UnLCB7XG4gICAgICBhbGlhczogJ1InLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ3JlY3Vyc2l2ZWx5IGdlbmVyYXRlIGFuZCBidWlsZCBhbGwgZGVwZW5kZW5jaWVzIGludG8gYG91dGRpcmAnLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCd2ZXJib3NlJywge1xuICAgICAgYWxpYXM6ICd2JyxcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2M6ICdlbWl0IHZlcmJvc2UgYnVpbGQgb3V0cHV0JyxcbiAgICAgIGNvdW50OiB0cnVlLFxuICAgICAgZGVmYXVsdDogMCxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2NsZWFuJywge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ2NsZWFuIHVwIHRlbXBvcmFyeSBmaWxlcyB1cG9uIHN1Y2Nlc3MgKHVzZSAtLW5vLWNsZWFuIHRvIGRpc2FibGUpJyxcbiAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgfSlcbiAgICAub3B0aW9uKCducG1pZ25vcmUnLCB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZXNjOiAnQXV0by11cGRhdGUgLm5wbWlnbm9yZSB0byBleGNsdWRlIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGFuZCBpbmNsdWRlIHRoZSAuanNpaSBmaWxlJyxcbiAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgfSlcbiAgICAub3B0aW9uKCdyb3NldHRhLXRhYmxldCcsIHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGVzYzogXCJMb2NhdGlvbiBvZiBhIGpzaWktcm9zZXR0YSB0YWJsZXQgd2l0aCBzYW1wbGUgdHJhbnNsYXRpb25zIChjcmVhdGVkIHVzaW5nICdqc2lpLXJvc2V0dGEgZXh0cmFjdCcpXCIsXG4gICAgfSlcbiAgICAub3B0aW9uKCdyb3NldHRhLXRyYW5zbGF0ZS1saXZlJywge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogXCJUcmFuc2xhdGUgY29kZSBzYW1wbGVzIG9uLXRoZS1mbHkgaWYgdGhleSBjYW4ndCBiZSBmb3VuZCBpbiB0aGUgc2FtcGxlcyB0YWJsZXRcIixcbiAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgfSlcbiAgICAub3B0aW9uKCdwYXJhbGxlbCcsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2M6ICdHZW5lcmF0ZSBhbGwgY29uZmlndXJlZCB0YXJnZXRzIGluIHBhcmFsbGVsIChkaXNhYmxpbmcgdGhpcyBtaWdodCBoZWxwIGlmIHlvdSBlbmNvdW50ZXIgRU1GSUxFIGVycm9ycyknLFxuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2RvdG5ldC1udWdldC1nbG9iYWwtcGFja2FnZXMtZm9sZGVyJywge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBkZXNjOiAnQ29uZmlndXJlIGEgZGlmZmVyZW50IE51R2V0IHBhY2thZ2UgY2FjaGUgZm9yIE51R2V0JyxcbiAgICAgIGRlZmF1bHQ6IHVuZGVmaW5lZCxcbiAgICAgIC8vIFRoaXMgaXMgYSBoaWRkZW4gb3B0aW9uLCBmb2xrcyBuZWVkIG5vdCBib3RoZXIgaXQgdW5sZXNzIHRoZXkncmUgdmVyeSBhZHZhbmNlZFxuICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgLy8gVGhpcyBpcyBleHBlY3RlZCB0byBiZSBhIHBhdGgsIHdoaWNoIHNob3VsZCBiZSBub3JtYWxpemVkXG4gICAgICBub3JtYWxpemU6IHRydWUsXG4gICAgfSlcbiAgICAub3B0aW9uKCd2YWxpZGF0ZS1hc3NlbWJsaWVzJywge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ1doZXRoZXIganNpaSBhc3NlbWJsaWVzIHNob3VsZCBiZSB2YWxpZGF0ZWQuIFRoaXMgY2FuIGJlIGV4cGVuc2l2ZSBhbmQgaXMgc2tpcHBlZCBieSBkZWZhdWx0LicsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9KVxuICAgIC52ZXJzaW9uKFZFUlNJT05fREVTQylcbiAgICAuc3RyaWN0KCkuYXJndjtcblxuICBjb25maWd1cmVMb2dnaW5nKHsgbGV2ZWw6IGFyZ3YudmVyYm9zZSAhPT0gdW5kZWZpbmVkID8gYXJndi52ZXJib3NlIDogMCB9KTtcblxuICAvLyBEZWZhdWx0IHRvIDQgdGhyZWFkcyBpbiBjYXNlIG9mIGNvbmN1cnJlbmN5LCBnb29kIGVub3VnaCBmb3IgbW9zdCBzaXR1YXRpb25zXG4gIGRlYnVnKCdjb21tYW5kIGxpbmUgYXJndW1lbnRzOicsIGFyZ3YpO1xuXG4gIHJldHVybiBwYWNtYWsoe1xuICAgIGFyZ3YsXG4gICAgY2xlYW46IGFyZ3YuY2xlYW4sXG4gICAgY29kZU9ubHk6IGFyZ3ZbJ2NvZGUtb25seSddLFxuICAgIGZpbmdlcnByaW50OiBhcmd2LmZpbmdlcnByaW50LFxuICAgIGZvcmNlOiBhcmd2LmZvcmNlLFxuICAgIGZvcmNlU3ViZGlyZWN0b3J5OiBhcmd2Wydmb3JjZS1zdWJkaXJlY3RvcnknXSxcbiAgICBmb3JjZVRhcmdldDogYXJndlsnZm9yY2UtdGFyZ2V0J10sXG4gICAgaW5wdXREaXJlY3RvcmllczogYXJndi5QUk9KRUNUUyxcbiAgICBvdXRwdXREaXJlY3Rvcnk6IGFyZ3Yub3V0ZGlyLFxuICAgIHBhcmFsbGVsOiBhcmd2LnBhcmFsbGVsLFxuICAgIHJlY3Vyc2U6IGFyZ3YucmVjdXJzZSxcbiAgICByb3NldHRhTGl2ZUNvbnZlcnNpb246IGFyZ3ZbJ3Jvc2V0dGEtdHJhbnNsYXRlLWxpdmUnXSxcbiAgICByb3NldHRhVGFibGV0OiBhcmd2Wydyb3NldHRhLXRhYmxldCddLFxuICAgIHRhcmdldHM6IGFyZ3YudGFyZ2V0cz8ubWFwKCh0YXJnZXQpID0+IHRhcmdldCBhcyBUYXJnZXROYW1lKSxcbiAgICB1cGRhdGVOcG1JZ25vcmVGaWxlczogYXJndi5ucG1pZ25vcmUsXG4gICAgdmFsaWRhdGVBc3NlbWJsaWVzOiBhcmd2Wyd2YWxpZGF0ZS1hc3NlbWJsaWVzJ10sXG4gIH0pO1xufSkoKS5jYXRjaCgoZXJyKSA9PiB7XG4gIHByb2Nlc3Muc3RkZXJyLndyaXRlKGAke2Vyci5zdGFja31cXG5gKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufSk7XG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1wYWNtYWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJqc2lpLXBhY21hay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxnQ0FBOEI7QUFFOUIsK0NBQWtEO0FBQ2xELCtCQUErQjtBQUUvQixnQ0FBOEQ7QUFDOUQsNENBQXVDO0FBQ3ZDLDRDQUE4QztBQUU5QyxDQUFDLEtBQUssVUFBVSxJQUFJOztJQUNsQixNQUFNLElBQUksR0FBRyxLQUFLO1NBQ2YsR0FBRyxDQUFDLGFBQWEsQ0FBQztTQUNsQixPQUFPLENBQ04sQ0FBQyxtQkFBbUIsRUFBRSx3QkFBd0IsQ0FBQyxFQUMvQyxxREFBcUQsRUFDckQsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNQLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFO1FBQzFCLElBQUksRUFBRSxRQUFRO1FBQ2QsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixTQUFTLEVBQUUsSUFBSTtRQUNmLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQztLQUNmLENBQUMsQ0FDTDtTQUNBLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDakIsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztRQUN0QixJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxpREFBaUQ7UUFDdkQsa0JBQWtCLEVBQ2hCLHlEQUF5RDtRQUMzRCxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxnQkFBVSxDQUFDO1FBQ2xDLFFBQVEsRUFBRSxLQUFLO0tBQ2hCLENBQUM7U0FDRCxNQUFNLENBQUMsUUFBUSxFQUFFO1FBQ2hCLEtBQUssRUFBRSxHQUFHO1FBQ1YsSUFBSSxFQUFFLFFBQVE7UUFDZCxJQUFJLEVBQUUsNkNBQTZDO1FBQ25ELGtCQUFrQixFQUFFLDBDQUEwQztRQUM5RCxRQUFRLEVBQUUsS0FBSztLQUNoQixDQUFDO1NBQ0QsTUFBTSxDQUFDLFdBQVcsRUFBRTtRQUNuQixLQUFLLEVBQUUsR0FBRztRQUNW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LElBQUksQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgJ0Bqc2lpL2NoZWNrLW5vZGUvcnVuJztcblxuaW1wb3J0IHsgVW5rbm93blNuaXBwZXRNb2RlIH0gZnJvbSAnanNpaS1yb3NldHRhJztcbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcblxuaW1wb3J0IHsgcGFjbWFrLCBjb25maWd1cmVMb2dnaW5nLCBUYXJnZXROYW1lIH0gZnJvbSAnLi4vbGliJztcbmltcG9ydCB7IGRlYnVnIH0gZnJvbSAnLi4vbGliL2xvZ2dpbmcnO1xuaW1wb3J0IHsgVkVSU0lPTl9ERVNDIH0gZnJvbSAnLi4vbGliL3ZlcnNpb24nO1xuXG4oYXN5bmMgZnVuY3Rpb24gbWFpbigpIHtcbiAgY29uc3QgYXJndiA9IHlhcmdzXG4gICAgLmVudignSlNJSV9QQUNNQUsnKVxuICAgIC5jb21tYW5kKFxuICAgICAgWyckMCAgW1BST0pFQ1RTLi4uXScsICdnZW5lcmF0ZSBbUFJPSkVDVFMuLi5dJ10sXG4gICAgICAnR2VuZXJhdGVzIGpzaWkgYmluZGluZ3MgZm9yIHRoZSBzZWxlY3RlZCBwcm9qZWN0KHMpJyxcbiAgICAgIChhcmd2KSA9PlxuICAgICAgICBhcmd2LnBvc2l0aW9uYWwoJ1BST0pFQ1RTJywge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGRlc2M6ICdQcm9qZWN0KHMpIHRvIGdlbmVyYXRlJyxcbiAgICAgICAgICBub3JtYWxpemU6IHRydWUsXG4gICAgICAgICAgZGVmYXVsdDogWycuJ10sXG4gICAgICAgIH0pLFxuICAgIClcbiAgICAub3B0aW9uKCd0YXJnZXRzJywge1xuICAgICAgYWxpYXM6IFsndGFyZ2V0JywgJ3QnXSxcbiAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICBkZXNjOiAndGFyZ2V0IGxhbmd1YWdlcyBmb3Igd2hpY2ggdG8gZ2VuZXJhdGUgYmluZGluZ3MnLFxuICAgICAgZGVmYXVsdERlc2NyaXB0aW9uOlxuICAgICAgICAnYWxsIHRhcmdldHMgZGVmaW5lZCBpbiBgcGFja2FnZS5qc29uYCB3aWxsIGJlIGdlbmVyYXRlZCcsXG4gICAgICBjaG9pY2VzOiBPYmplY3QudmFsdWVzKFRhcmdldE5hbWUpLFxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbignb3V0ZGlyJywge1xuICAgICAgYWxpYXM6ICdvJyxcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGVzYzogJ2RpcmVjdG9yeSB3aGVyZSBhcnRpZmFjdHMgd2lsbCBiZSBnZW5lcmF0ZWQnLFxuICAgICAgZGVmYXVsdERlc2NyaXB0aW9uOiAnYmFzZWQgb24gYGpzaWkub3V0cHV0YCBpbiBgcGFja2FnZS5qc29uYCcsXG4gICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdjb2RlLW9ubHknLCB7XG4gICAgICBhbGlhczogJ2MnLFxuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ2dlbmVyYXRlIGNvZGUgb25seSAoaW5zdGVhZCBvZiBidWlsZGluZyBhbmQgcGFja2FnaW5nKScsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2ZpbmdlcnByaW50Jywge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ2F0dGFjaCBhIGZpbmdlcnByaW50IHRvIHRoZSBnZW5lcmF0ZWQgYXJ0aWZhY3RzLCBhbmQgc2tpcCBnZW5lcmF0aW9uIGlmIG91dGRpciBjb250YWlucyBhcnRpZmFjdHMgdGhhdCBoYXZlIGEgbWF0Y2hpbmcgZmluZ2VycHJpbnQnLFxuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2ZvcmNlJywge1xuICAgICAgYWxpYXM6ICdmJyxcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2M6ICdmb3JjZSBnZW5lcmF0aW9uIG9mIG5ldyBhcnRpZmFjdHMsIGV2ZW4gaWYgdGhlIGZpbmdlcnByaW50cyBtYXRjaCcsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ2ZvcmNlLXN1YmRpcmVjdG9yeScsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2M6ICdmb3JjZSBnZW5lcmF0aW9uIGludG8gYSB0YXJnZXQtbmFtZWQgc3ViZGlyZWN0b3J5LCBldmVuIGluIHNpbmdsZS10YXJnZXQgbW9kZScsXG4gICAgICBkZWZhdWx0OiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbignZm9yY2UtdGFyZ2V0Jywge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ2ZvcmNlIGdlbmVyYXRpb24gb2YgdGhlIGdpdmVuIHRhcmdldHMsIGV2ZW4gaWYgdGhlIHNvdXJjZSBwYWNrYWdlLmpzb24gZG9lc250IGRlY2xhcmUgaXQnLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSlcbiAgICAub3B0aW9uKCdyZWN1cnNlJywge1xuICAgICAgYWxpYXM6ICdSJyxcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2M6ICdyZWN1cnNpdmVseSBnZW5lcmF0ZSBhbmQgYnVpbGQgYWxsIGRlcGVuZGVuY2llcyBpbnRvIGBvdXRkaXJgJyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0pXG4gICAgLm9wdGlvbigndmVyYm9zZScsIHtcbiAgICAgIGFsaWFzOiAndicsXG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZXNjOiAnZW1pdCB2ZXJib3NlIGJ1aWxkIG91dHB1dCcsXG4gICAgICBjb3VudDogdHJ1ZSxcbiAgICAgIGRlZmF1bHQ6IDAsXG4gICAgfSlcbiAgICAub3B0aW9uKCdjbGVhbicsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2M6ICdjbGVhbiB1cCB0ZW1wb3JhcnkgZmlsZXMgdXBvbiBzdWNjZXNzICh1c2UgLS1uby1jbGVhbiB0byBkaXNhYmxlKScsXG4gICAgICBkZWZhdWx0OiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbignbnBtaWdub3JlJywge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ0F1dG8tdXBkYXRlIC5ucG1pZ25vcmUgdG8gZXhjbHVkZSB0aGUgb3V0cHV0IGRpcmVjdG9yeSBhbmQgaW5jbHVkZSB0aGUgLmpzaWkgZmlsZScsXG4gICAgICBkZWZhdWx0OiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbigncm9zZXR0YS10YWJsZXQnLCB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlc2M6IFwiTG9jYXRpb24gb2YgYSBqc2lpLXJvc2V0dGEgdGFibGV0IHdpdGggc2FtcGxlIHRyYW5zbGF0aW9ucyAoY3JlYXRlZCB1c2luZyAnanNpaS1yb3NldHRhIGV4dHJhY3QnKVwiLFxuICAgIH0pXG4gICAgLm9wdGlvbigncm9zZXR0YS10cmFuc2xhdGUtbGl2ZScsIHtcbiAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgIGRlc2M6IFwiVHJhbnNsYXRlIGNvZGUgc2FtcGxlcyBvbi10aGUtZmx5IGlmIHRoZXkgY2FuJ3QgYmUgZm91bmQgaW4gdGhlIHNhbXBsZXMgdGFibGV0IChkZXByZWNhdGVkKVwiLFxuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3Jvc2V0dGEtdW5rbm93bi1zbmlwcGV0cycsIHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgcmVxdWlyZXNBcmc6IHRydWUsXG4gICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgVW5rbm93blNuaXBwZXRNb2RlLlZFUkJBVElNLFxuICAgICAgICBVbmtub3duU25pcHBldE1vZGUuVFJBTlNMQVRFLFxuICAgICAgICBVbmtub3duU25pcHBldE1vZGUuRkFJTCxcbiAgICAgIF0sXG4gICAgICBkZXNjOiBcIldoYXQgdG8gZG8gd2l0aCBjb2RlIHNhbXBsZXMgaWYgdGhleSBjYW4ndCBiZSBmb3VuZCBpbiB0aGUgc2FtcGxlcyB0YWJsZXRcIixcbiAgICB9KVxuICAgIC5vcHRpb24oJ3BhcmFsbGVsJywge1xuICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgZGVzYzogJ0dlbmVyYXRlIGFsbCBjb25maWd1cmVkIHRhcmdldHMgaW4gcGFyYWxsZWwgKGRpc2FibGluZyB0aGlzIG1pZ2h0IGhlbHAgaWYgeW91IGVuY291bnRlciBFTUZJTEUgZXJyb3JzKScsXG4gICAgICBkZWZhdWx0OiB0cnVlLFxuICAgIH0pXG4gICAgLm9wdGlvbignZG90bmV0LW51Z2V0LWdsb2JhbC1wYWNrYWdlcy1mb2xkZXInLCB7XG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgIGRlc2M6ICdDb25maWd1cmUgYSBkaWZmZXJlbnQgTnVHZXQgcGFja2FnZSBjYWNoZSBmb3IgTnVHZXQnLFxuICAgICAgZGVmYXVsdDogdW5kZWZpbmVkLFxuICAgICAgLy8gVGhpcyBpcyBhIGhpZGRlbiBvcHRpb24sIGZvbGtzIG5lZWQgbm90IGJvdGhlciBpdCB1bmxlc3MgdGhleSdyZSB2ZXJ5IGFkdmFuY2VkXG4gICAgICBoaWRkZW46IHRydWUsXG4gICAgICAvLyBUaGlzIGlzIGV4cGVjdGVkIHRvIGJlIGEgcGF0aCwgd2hpY2ggc2hvdWxkIGJlIG5vcm1hbGl6ZWRcbiAgICAgIG5vcm1hbGl6ZTogdHJ1ZSxcbiAgICB9KVxuICAgIC5vcHRpb24oJ3ZhbGlkYXRlLWFzc2VtYmxpZXMnLCB7XG4gICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICBkZXNjOiAnV2hldGhlciBqc2lpIGFzc2VtYmxpZXMgc2hvdWxkIGJlIHZhbGlkYXRlZC4gVGhpcyBjYW4gYmUgZXhwZW5zaXZlIGFuZCBpcyBza2lwcGVkIGJ5IGRlZmF1bHQuJyxcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0pXG4gICAgLnZlcnNpb24oVkVSU0lPTl9ERVNDKVxuICAgIC5zdHJpY3QoKS5hcmd2O1xuXG4gIGNvbmZpZ3VyZUxvZ2dpbmcoeyBsZXZlbDogYXJndi52ZXJib3NlICE9PSB1bmRlZmluZWQgPyBhcmd2LnZlcmJvc2UgOiAwIH0pO1xuXG4gIC8vIERlZmF1bHQgdG8gNCB0aHJlYWRzIGluIGNhc2Ugb2YgY29uY3VycmVuY3ksIGdvb2QgZW5vdWdoIGZvciBtb3N0IHNpdHVhdGlvbnNcbiAgZGVidWcoJ2NvbW1hbmQgbGluZSBhcmd1bWVudHM6JywgYXJndik7XG5cbiAgcmV0dXJuIHBhY21hayh7XG4gICAgYXJndixcbiAgICBjbGVhbjogYXJndi5jbGVhbixcbiAgICBjb2RlT25seTogYXJndlsnY29kZS1vbmx5J10sXG4gICAgZmluZ2VycHJpbnQ6IGFyZ3YuZmluZ2VycHJpbnQsXG4gICAgZm9yY2U6IGFyZ3YuZm9yY2UsXG4gICAgZm9yY2VTdWJkaXJlY3Rvcnk6IGFyZ3ZbJ2ZvcmNlLXN1YmRpcmVjdG9yeSddLFxuICAgIGZvcmNlVGFyZ2V0OiBhcmd2Wydmb3JjZS10YXJnZXQnXSxcbiAgICBpbnB1dERpcmVjdG9yaWVzOiBhcmd2LlBST0pFQ1RTLFxuICAgIG91dHB1dERpcmVjdG9yeTogYXJndi5vdXRkaXIsXG4gICAgcGFyYWxsZWw6IGFyZ3YucGFyYWxsZWwsXG4gICAgcmVjdXJzZTogYXJndi5yZWN1cnNlLFxuICAgIHJvc2V0dGFMaXZlQ29udmVyc2lvbjogYXJndlsncm9zZXR0YS10cmFuc2xhdGUtbGl2ZSddLFxuICAgIHJvc2V0dGFVbmtub3duU25pcHBldHM6IGFyZ3ZbJ3Jvc2V0dGEtdW5rbm93bi1zbmlwcGV0cyddIGFzXG4gICAgICB8IFVua25vd25TbmlwcGV0TW9kZVxuICAgICAgfCB1bmRlZmluZWQsXG4gICAgcm9zZXR0YVRhYmxldDogYXJndlsncm9zZXR0YS10YWJsZXQnXSxcbiAgICB0YXJnZXRzOiBhcmd2LnRhcmdldHM/Lm1hcCgodGFyZ2V0KSA9PiB0YXJnZXQgYXMgVGFyZ2V0TmFtZSksXG4gICAgdXBkYXRlTnBtSWdub3JlRmlsZXM6IGFyZ3YubnBtaWdub3JlLFxuICAgIHZhbGlkYXRlQXNzZW1ibGllczogYXJndlsndmFsaWRhdGUtYXNzZW1ibGllcyddLFxuICB9KTtcbn0pKCkuY2F0Y2goKGVycikgPT4ge1xuICBwcm9jZXNzLnN0ZGVyci53cml0ZShgJHtlcnIuc3RhY2t9XFxuYCk7XG4gIHByb2Nlc3MuZXhpdCgxKTtcbn0pO1xuIl19
|
package/lib/builder.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Rosetta } from 'jsii-rosetta';
|
|
|
2
2
|
import { JsiiModule } from './packaging';
|
|
3
3
|
import { TargetConstructor } from './target';
|
|
4
4
|
import { TargetName } from './targets';
|
|
5
|
+
import { Toposorted } from './toposort';
|
|
5
6
|
export interface BuildOptions {
|
|
6
7
|
/**
|
|
7
8
|
* Whether to fingerprint the produced artifacts.
|
|
@@ -45,14 +46,21 @@ export interface TargetBuilder {
|
|
|
45
46
|
buildModules(): Promise<void>;
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
|
-
*
|
|
49
|
+
* Base implementation, building the package targets for the given language independently of each other
|
|
50
|
+
*
|
|
51
|
+
* Some languages can gain substantial speedup in preparing an "uber project" for all packages
|
|
52
|
+
* and compiling them all in one go (Those will be implementing a custom Builder).
|
|
53
|
+
*
|
|
54
|
+
* For languages where it doesn't matter--or where we haven't figured out how to
|
|
55
|
+
* do that yet--this class can serve as a base class: it will build each package
|
|
56
|
+
* independently, taking care to build them in the right order.
|
|
49
57
|
*/
|
|
50
|
-
export declare class
|
|
58
|
+
export declare class IndependentPackageBuilder implements TargetBuilder {
|
|
51
59
|
private readonly targetName;
|
|
52
60
|
private readonly targetConstructor;
|
|
53
61
|
private readonly modules;
|
|
54
62
|
private readonly options;
|
|
55
|
-
constructor(targetName: TargetName, targetConstructor: TargetConstructor, modules:
|
|
63
|
+
constructor(targetName: TargetName, targetConstructor: TargetConstructor, modules: Toposorted<JsiiModule>, options: BuildOptions);
|
|
56
64
|
buildModules(): Promise<void>;
|
|
57
65
|
private generateModuleCode;
|
|
58
66
|
private buildModule;
|
package/lib/builder.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.IndependentPackageBuilder = void 0;
|
|
4
4
|
const path = require("path");
|
|
5
5
|
const logging = require("./logging");
|
|
6
6
|
const util_1 = require("./util");
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Base implementation, building the package targets for the given language independently of each other
|
|
9
|
+
*
|
|
10
|
+
* Some languages can gain substantial speedup in preparing an "uber project" for all packages
|
|
11
|
+
* and compiling them all in one go (Those will be implementing a custom Builder).
|
|
12
|
+
*
|
|
13
|
+
* For languages where it doesn't matter--or where we haven't figured out how to
|
|
14
|
+
* do that yet--this class can serve as a base class: it will build each package
|
|
15
|
+
* independently, taking care to build them in the right order.
|
|
9
16
|
*/
|
|
10
|
-
class
|
|
17
|
+
class IndependentPackageBuilder {
|
|
11
18
|
constructor(targetName, targetConstructor, modules, options) {
|
|
12
19
|
this.targetName = targetName;
|
|
13
20
|
this.targetConstructor = targetConstructor;
|
|
@@ -15,15 +22,13 @@ class OneByOneBuilder {
|
|
|
15
22
|
this.options = options;
|
|
16
23
|
}
|
|
17
24
|
async buildModules() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
await this.buildModule(module, this.options);
|
|
26
|
-
}
|
|
25
|
+
if (this.options.codeOnly) {
|
|
26
|
+
await Promise.all(util_1.flatten(this.modules).map((module) => this.generateModuleCode(module, this.options)));
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
for (const modules of this.modules) {
|
|
30
|
+
// eslint-disable-next-line no-await-in-loop
|
|
31
|
+
await Promise.all(modules.map((module) => this.buildModule(module, this.options)));
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
34
|
async generateModuleCode(module, options) {
|
|
@@ -74,5 +79,5 @@ class OneByOneBuilder {
|
|
|
74
79
|
return module.outputDirectory;
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
|
-
exports.
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
exports.IndependentPackageBuilder = IndependentPackageBuilder;
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkJBQTZCO0FBRTdCLHFDQUFxQztBQUtyQyxpQ0FBMEM7QUFrRDFDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEseUJBQXlCO0lBQ3BDLFlBQ21CLFVBQXNCLEVBQ3RCLGlCQUFvQyxFQUNwQyxPQUErQixFQUMvQixPQUFxQjtRQUhyQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsWUFBTyxHQUFQLE9BQU8sQ0FBd0I7UUFDL0IsWUFBTyxHQUFQLE9BQU8sQ0FBYztJQUNyQyxDQUFDO0lBRUcsS0FBSyxDQUFDLFlBQVk7UUFDdkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN6QixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsY0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUNuQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDOUMsQ0FDRixDQUFDO1lBQ0YsT0FBTztTQUNSO1FBRUQsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2xDLDRDQUE0QztZQUM1QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ2hFLENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBa0IsRUFBRSxPQUFxQjtRQUN4RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2RCxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLFVBQVUsY0FBYyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUNqRCxTQUFTLEVBQ1QsTUFBTSxDQUFDLE9BQU8sQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBa0IsRUFBRSxPQUFxQjtRQUNqRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV2RCxNQUFNLEdBQUcsR0FBRyxNQUFNLGNBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN4QyxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLFVBQVUsY0FBYyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSTtZQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLENBQUMsU0FBUyxTQUFTLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDN0QsT0FBTyxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNyRDtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDbkQsT0FBTyxNQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEM7Z0JBQVM7WUFDUixJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDckI7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FDVixzQkFBc0IsSUFBSSxDQUFDLFVBQVUsZ0JBQWdCLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FDckUsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQWtCLEVBQUUsT0FBcUI7UUFDMUQsT0FBTyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztZQUNoQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsVUFBVSxFQUFFLE1BQU0sQ0FBQyxlQUFlO1lBQ2xDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFrQixFQUFFLE9BQXFCO1FBQzlELElBQUksT0FBTyxDQUFDLG9CQUFvQixFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUMzRDtRQUNELE9BQU8sTUFBTSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDO0NBQ0Y7QUFoRkQsOERBZ0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm9zZXR0YSB9IGZyb20gJ2pzaWktcm9zZXR0YSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgKiBhcyBsb2dnaW5nIGZyb20gJy4vbG9nZ2luZyc7XG5pbXBvcnQgeyBKc2lpTW9kdWxlIH0gZnJvbSAnLi9wYWNrYWdpbmcnO1xuaW1wb3J0IHsgVGFyZ2V0Q29uc3RydWN0b3IsIFRhcmdldCB9IGZyb20gJy4vdGFyZ2V0JztcbmltcG9ydCB7IFRhcmdldE5hbWUgfSBmcm9tICcuL3RhcmdldHMnO1xuaW1wb3J0IHsgVG9wb3NvcnRlZCB9IGZyb20gJy4vdG9wb3NvcnQnO1xuaW1wb3J0IHsgU2NyYXRjaCwgZmxhdHRlbiB9IGZyb20gJy4vdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZmluZ2VycHJpbnQgdGhlIHByb2R1Y2VkIGFydGlmYWN0cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgZmluZ2VycHJpbnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGFydGlmYWN0cyBzaG91bGQgYmUgcmUtYnVpbGQgZXZlbiBpZiB0aGVpciBmaW5nZXJwcmludHMgbG9vayB1cC10by1kYXRlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgZm9yY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBcmd1bWVudHMgcHJvdmlkZWQgYnkgdGhlIHVzZXIgKGhvdyB0aGV5IGFyZSB1c2VkIGlzIHRhcmdldC1kZXBlbmRlbnQpXG4gICAqL1xuICBhcmd1bWVudHM6IHsgcmVhZG9ubHkgW25hbWU6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBPbmx5IGdlbmVyYXRlIGNvZGUsIGRvbid0IGJ1aWxkXG4gICAqL1xuICBjb2RlT25seT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGNsZWFuXG4gICAqL1xuICBjbGVhbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWRkIGFuIGFkZGl0aW9uYWwgc3ViZGlyZWN0b3J5IGZvciB0aGUgdGFyZ2V0IGxhbmd1YWdlXG4gICAqL1xuICBsYW5ndWFnZVN1YmRpcmVjdG9yeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBSb3NldHRhIGluc3RhbmNlIHRvIGxvYWQgZXhhbXBsZXMgZnJvbVxuICAgKi9cbiAgcm9zZXR0YTogUm9zZXR0YTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNsYXNzZXMgdGhhdCBjYW4gYnVpbGQgbGFuZ3VhZ2UgdGFyZ2V0c1xuICpcbiAqIEJ1aWxkaW5nIGNhbiBoYXBwZW4gb25lIHRhcmdldCBhdCBhIHRpbWUsIG9yIG11bHRpcGxlIHRhcmdldHMgYXQgYSB0aW1lLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldEJ1aWxkZXIge1xuICBidWlsZE1vZHVsZXMoKTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLyoqXG4gKiBCYXNlIGltcGxlbWVudGF0aW9uLCBidWlsZGluZyB0aGUgcGFja2FnZSB0YXJnZXRzIGZvciB0aGUgZ2l2ZW4gbGFuZ3VhZ2UgaW5kZXBlbmRlbnRseSBvZiBlYWNoIG90aGVyXG4gKlxuICogU29tZSBsYW5ndWFnZXMgY2FuIGdhaW4gc3Vic3RhbnRpYWwgc3BlZWR1cCBpbiBwcmVwYXJpbmcgYW4gXCJ1YmVyIHByb2plY3RcIiBmb3IgYWxsIHBhY2thZ2VzXG4gKiBhbmQgY29tcGlsaW5nIHRoZW0gYWxsIGluIG9uZSBnbyAoVGhvc2Ugd2lsbCBiZSBpbXBsZW1lbnRpbmcgYSBjdXN0b20gQnVpbGRlcikuXG4gKlxuICogRm9yIGxhbmd1YWdlcyB3aGVyZSBpdCBkb2Vzbid0IG1hdHRlci0tb3Igd2hlcmUgd2UgaGF2ZW4ndCBmaWd1cmVkIG91dCBob3cgdG9cbiAqIGRvIHRoYXQgeWV0LS10aGlzIGNsYXNzIGNhbiBzZXJ2ZSBhcyBhIGJhc2UgY2xhc3M6IGl0IHdpbGwgYnVpbGQgZWFjaCBwYWNrYWdlXG4gKiBpbmRlcGVuZGVudGx5LCB0YWtpbmcgY2FyZSB0byBidWlsZCB0aGVtIGluIHRoZSByaWdodCBvcmRlci5cbiAqL1xuZXhwb3J0IGNsYXNzIEluZGVwZW5kZW50UGFja2FnZUJ1aWxkZXIgaW1wbGVtZW50cyBUYXJnZXRCdWlsZGVyIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGFyZ2V0TmFtZTogVGFyZ2V0TmFtZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRhcmdldENvbnN0cnVjdG9yOiBUYXJnZXRDb25zdHJ1Y3RvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vZHVsZXM6IFRvcG9zb3J0ZWQ8SnNpaU1vZHVsZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBCdWlsZE9wdGlvbnMsXG4gICkge31cblxuICBwdWJsaWMgYXN5bmMgYnVpbGRNb2R1bGVzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuY29kZU9ubHkpIHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBmbGF0dGVuKHRoaXMubW9kdWxlcykubWFwKChtb2R1bGUpID0+XG4gICAgICAgICAgdGhpcy5nZW5lcmF0ZU1vZHVsZUNvZGUobW9kdWxlLCB0aGlzLm9wdGlvbnMpLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1vZHVsZXMgb2YgdGhpcy5tb2R1bGVzKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYXdhaXQtaW4tbG9vcFxuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIG1vZHVsZXMubWFwKChtb2R1bGUpID0+IHRoaXMuYnVpbGRNb2R1bGUobW9kdWxlLCB0aGlzLm9wdGlvbnMpKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZW5lcmF0ZU1vZHVsZUNvZGUobW9kdWxlOiBKc2lpTW9kdWxlLCBvcHRpb25zOiBCdWlsZE9wdGlvbnMpIHtcbiAgICBjb25zdCBvdXRwdXREaXIgPSB0aGlzLmZpbmFsT3V0cHV0RGlyKG1vZHVsZSwgb3B0aW9ucyk7XG4gICAgbG9nZ2luZy5kZWJ1ZyhgR2VuZXJhdGluZyAke3RoaXMudGFyZ2V0TmFtZX0gY29kZSBpbnRvICR7b3V0cHV0RGlyfWApO1xuICAgIGF3YWl0IHRoaXMubWFrZVRhcmdldChtb2R1bGUsIG9wdGlvbnMpLmdlbmVyYXRlQ29kZShcbiAgICAgIG91dHB1dERpcixcbiAgICAgIG1vZHVsZS50YXJiYWxsLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGJ1aWxkTW9kdWxlKG1vZHVsZTogSnNpaU1vZHVsZSwgb3B0aW9uczogQnVpbGRPcHRpb25zKSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5tYWtlVGFyZ2V0KG1vZHVsZSwgb3B0aW9ucyk7XG4gICAgY29uc3Qgb3V0cHV0RGlyID0gdGhpcy5maW5hbE91dHB1dERpcihtb2R1bGUsIG9wdGlvbnMpO1xuXG4gICAgY29uc3Qgc3JjID0gYXdhaXQgU2NyYXRjaC5tYWtlKCh0bXBkaXIpID0+IHtcbiAgICAgIGxvZ2dpbmcuZGVidWcoYEdlbmVyYXRpbmcgJHt0aGlzLnRhcmdldE5hbWV9IGNvZGUgaW50byAke3RtcGRpcn1gKTtcbiAgICAgIHJldHVybiB0YXJnZXQuZ2VuZXJhdGVDb2RlKHRtcGRpciwgbW9kdWxlLnRhcmJhbGwpO1xuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGxvZ2dpbmcuZGVidWcoYEJ1aWxkaW5nICR7c3JjLmRpcmVjdG9yeX0gaW50byAke291dHB1dERpcn1gKTtcbiAgICAgIHJldHVybiBhd2FpdCB0YXJnZXQuYnVpbGQoc3JjLmRpcmVjdG9yeSwgb3V0cHV0RGlyKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZ2dpbmcud2FybihgRmFpbGVkIGJ1aWxkaW5nICR7dGhpcy50YXJnZXROYW1lfWApO1xuICAgICAgcmV0dXJuIGF3YWl0IFByb21pc2UucmVqZWN0KGVycik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChvcHRpb25zLmNsZWFuKSB7XG4gICAgICAgIGxvZ2dpbmcuZGVidWcoYENsZWFuaW5nICR7c3JjLmRpcmVjdG9yeX1gKTtcbiAgICAgICAgYXdhaXQgc3JjLmNsZWFudXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZ2dpbmcuaW5mbyhcbiAgICAgICAgICBgR2VuZXJhdGVkIGNvZGUgZm9yICR7dGhpcy50YXJnZXROYW1lfSByZXRhaW5lZCBhdCAke3NyYy5kaXJlY3Rvcnl9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1ha2VUYXJnZXQobW9kdWxlOiBKc2lpTW9kdWxlLCBvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBUYXJnZXQge1xuICAgIHJldHVybiBuZXcgdGhpcy50YXJnZXRDb25zdHJ1Y3Rvcih7XG4gICAgICB0YXJnZXROYW1lOiB0aGlzLnRhcmdldE5hbWUsXG4gICAgICBwYWNrYWdlRGlyOiBtb2R1bGUubW9kdWxlRGlyZWN0b3J5LFxuICAgICAgYXNzZW1ibHk6IG1vZHVsZS5hc3NlbWJseSxcbiAgICAgIGZpbmdlcnByaW50OiBvcHRpb25zLmZpbmdlcnByaW50LFxuICAgICAgZm9yY2U6IG9wdGlvbnMuZm9yY2UsXG4gICAgICBhcmd1bWVudHM6IG9wdGlvbnMuYXJndW1lbnRzLFxuICAgICAgcm9zZXR0YTogb3B0aW9ucy5yb3NldHRhLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5hbE91dHB1dERpcihtb2R1bGU6IEpzaWlNb2R1bGUsIG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgaWYgKG9wdGlvbnMubGFuZ3VhZ2VTdWJkaXJlY3RvcnkpIHtcbiAgICAgIHJldHVybiBwYXRoLmpvaW4obW9kdWxlLm91dHB1dERpcmVjdG9yeSwgdGhpcy50YXJnZXROYW1lKTtcbiAgICB9XG4gICAgcmV0dXJuIG1vZHVsZS5vdXRwdXREaXJlY3Rvcnk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { UnknownSnippetMode } from 'jsii-rosetta';
|
|
1
2
|
import { TargetName } from './targets';
|
|
2
3
|
import { Timers } from './timer';
|
|
3
4
|
export { TargetName };
|
|
@@ -5,7 +6,7 @@ export { configure as configureLogging } from './logging';
|
|
|
5
6
|
/**
|
|
6
7
|
* Generates code in the desired targets.
|
|
7
8
|
*/
|
|
8
|
-
export declare function pacmak({ argv, clean, codeOnly, fingerprint, force, forceSubdirectory, forceTarget, inputDirectories, outputDirectory, parallel, recurse, rosettaLiveConversion, rosettaTablet, targets, timers, updateNpmIgnoreFiles, validateAssemblies, }: PacmakOptions): Promise<void>;
|
|
9
|
+
export declare function pacmak({ argv, clean, codeOnly, fingerprint, force, forceSubdirectory, forceTarget, inputDirectories, outputDirectory, parallel, recurse, rosettaLiveConversion, rosettaTablet, targets, timers, rosettaUnknownSnippets, updateNpmIgnoreFiles, validateAssemblies, }: PacmakOptions): Promise<void>;
|
|
9
10
|
/**
|
|
10
11
|
* Options provided to the `pacmak` function.
|
|
11
12
|
*/
|
|
@@ -85,8 +86,15 @@ export interface PacmakOptions {
|
|
|
85
86
|
* already translated in the `rosettaTablet` file.
|
|
86
87
|
*
|
|
87
88
|
* @default false
|
|
89
|
+
* @deprecated Use `rosettaUnknownSnippets` instead.
|
|
88
90
|
*/
|
|
89
91
|
readonly rosettaLiveConversion?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* How rosetta should treat snippets that cannot be loaded from a translation tablet.
|
|
94
|
+
*
|
|
95
|
+
* @default - falls back to the default of `rosettaLiveConversion`.
|
|
96
|
+
*/
|
|
97
|
+
readonly rosettaUnknownSnippets?: UnknownSnippetMode;
|
|
90
98
|
/**
|
|
91
99
|
* A Rosetta tablet file where translations for code examples can be found.
|
|
92
100
|
*
|
package/lib/index.js
CHANGED
|
@@ -8,47 +8,52 @@ const npm_modules_1 = require("./npm-modules");
|
|
|
8
8
|
const targets_1 = require("./targets");
|
|
9
9
|
Object.defineProperty(exports, "TargetName", { enumerable: true, get: function () { return targets_1.TargetName; } });
|
|
10
10
|
const timer_1 = require("./timer");
|
|
11
|
+
const util_1 = require("./util");
|
|
11
12
|
var logging_1 = require("./logging");
|
|
12
13
|
Object.defineProperty(exports, "configureLogging", { enumerable: true, get: function () { return logging_1.configure; } });
|
|
13
14
|
/**
|
|
14
15
|
* Generates code in the desired targets.
|
|
15
16
|
*/
|
|
16
|
-
async function pacmak({ argv = {}, clean = true, codeOnly = false, fingerprint = true, force = false, forceSubdirectory = true, forceTarget = false, inputDirectories, outputDirectory, parallel = true, recurse = false, rosettaLiveConversion, rosettaTablet, targets = Object.values(targets_1.TargetName), timers = new timer_1.Timers(), updateNpmIgnoreFiles = false, validateAssemblies = false, }) {
|
|
17
|
-
const
|
|
17
|
+
async function pacmak({ argv = {}, clean = true, codeOnly = false, fingerprint = true, force = false, forceSubdirectory = true, forceTarget = false, inputDirectories, outputDirectory, parallel = true, recurse = false, rosettaLiveConversion, rosettaTablet, targets = Object.values(targets_1.TargetName), timers = new timer_1.Timers(), rosettaUnknownSnippets = undefined, updateNpmIgnoreFiles = false, validateAssemblies = false, }) {
|
|
18
|
+
const unknownSnippets = rosettaUnknownSnippets !== null && rosettaUnknownSnippets !== void 0 ? rosettaUnknownSnippets : (rosettaLiveConversion
|
|
19
|
+
? jsii_rosetta_1.UnknownSnippetMode.TRANSLATE
|
|
20
|
+
: jsii_rosetta_1.UnknownSnippetMode.VERBATIM);
|
|
21
|
+
const rosetta = new jsii_rosetta_1.Rosetta({ unknownSnippets });
|
|
18
22
|
if (rosettaTablet) {
|
|
19
23
|
await rosetta.loadTabletFromFile(rosettaTablet);
|
|
20
24
|
}
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
const modulesToPackageSorted = await npm_modules_1.findJsiiModules(inputDirectories, recurse);
|
|
26
|
+
const modulesToPackageFlat = util_1.flatten(modulesToPackageSorted);
|
|
27
|
+
logging.info(`Found ${modulesToPackageFlat.length} modules to package`);
|
|
28
|
+
if (modulesToPackageFlat.length === 0) {
|
|
24
29
|
logging.warn('Nothing to do');
|
|
25
30
|
return;
|
|
26
31
|
}
|
|
27
32
|
if (outputDirectory) {
|
|
28
|
-
for (const mod of
|
|
33
|
+
for (const mod of modulesToPackageFlat) {
|
|
29
34
|
mod.outputDirectory = outputDirectory;
|
|
30
35
|
}
|
|
31
36
|
}
|
|
32
37
|
else if (updateNpmIgnoreFiles) {
|
|
33
38
|
// if outdir is coming from package.json, verify it is excluded by .npmignore. if it is explicitly
|
|
34
39
|
// defined via --out, don't perform this verification.
|
|
35
|
-
await npm_modules_1.updateAllNpmIgnores(
|
|
40
|
+
await npm_modules_1.updateAllNpmIgnores(modulesToPackageFlat);
|
|
36
41
|
}
|
|
37
42
|
await timers.recordAsync('npm pack', () => {
|
|
38
43
|
logging.info('Packaging NPM bundles');
|
|
39
|
-
return Promise.all(
|
|
44
|
+
return Promise.all(modulesToPackageFlat.map((m) => m.npmPack()));
|
|
40
45
|
});
|
|
41
46
|
await timers.recordAsync('load jsii', () => {
|
|
42
47
|
logging.info('Loading jsii assemblies and translations');
|
|
43
48
|
const system = new jsii_reflect_1.TypeSystem();
|
|
44
|
-
return Promise.all(
|
|
49
|
+
return Promise.all(modulesToPackageFlat.map(async (m) => {
|
|
45
50
|
await m.load(system, validateAssemblies);
|
|
46
51
|
return rosetta.addAssembly(m.assembly.spec, m.moduleDirectory);
|
|
47
52
|
}));
|
|
48
53
|
});
|
|
49
54
|
try {
|
|
50
|
-
const targetSets = sliceTargets(
|
|
51
|
-
if (targetSets.every((s) => s.
|
|
55
|
+
const targetSets = sliceTargets(modulesToPackageSorted, targets, forceTarget);
|
|
56
|
+
if (targetSets.every((s) => s.modulesSorted.length === 0)) {
|
|
52
57
|
throw new Error(`None of the requested packages had any targets to build for '${targets.join(', ')}' (use --force-target to force)`);
|
|
53
58
|
}
|
|
54
59
|
const perLanguageDirectory = targetSets.length > 1 || forceSubdirectory;
|
|
@@ -56,7 +61,7 @@ async function pacmak({ argv = {}, clean = true, codeOnly = false, fingerprint =
|
|
|
56
61
|
await Promise.all(mapParallelOrSerial(targetSets, async (targetSet) => {
|
|
57
62
|
logging.info(`Packaging '${targetSet.targetType}' for ${describePackages(targetSet)}`);
|
|
58
63
|
return timers
|
|
59
|
-
.recordAsync(targetSet.targetType, () => buildTargetsForLanguage(targetSet.targetType, targetSet.
|
|
64
|
+
.recordAsync(targetSet.targetType, () => buildTargetsForLanguage(targetSet.targetType, targetSet.modulesSorted, {
|
|
60
65
|
argv,
|
|
61
66
|
clean,
|
|
62
67
|
codeOnly,
|
|
@@ -74,10 +79,10 @@ async function pacmak({ argv = {}, clean = true, codeOnly = false, fingerprint =
|
|
|
74
79
|
finally {
|
|
75
80
|
if (clean) {
|
|
76
81
|
logging.debug('Cleaning up');
|
|
77
|
-
await timers.recordAsync('cleanup', () => Promise.all(
|
|
82
|
+
await timers.recordAsync('cleanup', () => Promise.all(modulesToPackageFlat.map((m) => m.cleanup())));
|
|
78
83
|
}
|
|
79
84
|
else {
|
|
80
|
-
logging.
|
|
85
|
+
logging.info('Temporary directories retained (--no-clean)');
|
|
81
86
|
}
|
|
82
87
|
}
|
|
83
88
|
logging.info(`Packaged. ${timers.display()}`);
|
|
@@ -101,12 +106,14 @@ async function buildTargetsForLanguage(targetLanguage, modules, { argv, clean, c
|
|
|
101
106
|
languageSubdirectory: perLanguageDirectory,
|
|
102
107
|
}).buildModules();
|
|
103
108
|
}
|
|
104
|
-
function sliceTargets(
|
|
109
|
+
function sliceTargets(modulesSorted, requestedTargets, force) {
|
|
105
110
|
const ret = new Array();
|
|
106
111
|
for (const target of requestedTargets) {
|
|
107
112
|
ret.push({
|
|
108
113
|
targetType: target,
|
|
109
|
-
|
|
114
|
+
modulesSorted: modulesSorted
|
|
115
|
+
.map((modules) => modules.filter((m) => force || m.availableTargets.includes(target)))
|
|
116
|
+
.filter((ms) => ms.length > 0),
|
|
110
117
|
});
|
|
111
118
|
}
|
|
112
119
|
return ret;
|
|
@@ -127,10 +134,11 @@ function mapParallelOrSerial(collection, mapper, { parallel }) {
|
|
|
127
134
|
//#endregion
|
|
128
135
|
//#region Misc. Utilities
|
|
129
136
|
function describePackages(target) {
|
|
130
|
-
|
|
131
|
-
|
|
137
|
+
const modules = util_1.flatten(target.modulesSorted);
|
|
138
|
+
if (modules.length > 0 && modules.length < 5) {
|
|
139
|
+
return modules.map((m) => m.name).join(', ');
|
|
132
140
|
}
|
|
133
|
-
return `${
|
|
141
|
+
return `${modules.length} modules`;
|
|
134
142
|
}
|
|
135
143
|
//#endregion
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBMEM7QUFDMUMsK0NBQXVDO0FBRXZDLHFDQUFxQztBQUNyQywrQ0FBcUU7QUFFckUsdUNBQXFEO0FBSzVDLDJGQUxjLG9CQUFVLE9BS2Q7QUFKbkIsbUNBQWlDO0FBS2pDLHFDQUEwRDtBQUFqRCwyR0FBQSxTQUFTLE9BQW9CO0FBRXRDOztHQUVHO0FBQ0ksS0FBSyxVQUFVLE1BQU0sQ0FBQyxFQUMzQixJQUFJLEdBQUcsRUFBRSxFQUNULEtBQUssR0FBRyxJQUFJLEVBQ1osUUFBUSxHQUFHLEtBQUssRUFDaEIsV0FBVyxHQUFHLElBQUksRUFDbEIsS0FBSyxHQUFHLEtBQUssRUFDYixpQkFBaUIsR0FBRyxJQUFJLEVBQ3hCLFdBQVcsR0FBRyxLQUFLLEVBQ25CLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsUUFBUSxHQUFHLElBQUksRUFDZixPQUFPLEdBQUcsS0FBSyxFQUNmLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsb0JBQVUsQ0FBQyxFQUNuQyxNQUFNLEdBQUcsSUFBSSxjQUFNLEVBQUUsRUFDckIsb0JBQW9CLEdBQUcsS0FBSyxFQUM1QixrQkFBa0IsR0FBRyxLQUFLLEdBQ1o7SUFDZCxNQUFNLE9BQU8sR0FBRyxJQUFJLHNCQUFPLENBQUMsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLElBQUksYUFBYSxFQUFFO1FBQ2pCLE1BQU0sT0FBTyxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ2pEO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLDZCQUFlLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUUsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLGdCQUFnQixDQUFDLE1BQU0scUJBQXFCLENB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QUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUNqQyxDQUNOLENBQUM7S0FDSDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxZQUFZO0FBRVoseUJBQXlCO0FBRXpCLFNBQVMsZ0JBQWdCLENBQUMsTUFBaUI7SUFDekMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzFELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDckQ7SUFDRCxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLFVBQVUsQ0FBQztBQUM1QyxDQUFDO0FBRUQsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFR5cGVTeXN0ZW0gfSBmcm9tICdqc2lpLXJlZmxlY3QnO1xuaW1wb3J0IHsgUm9zZXR0YSB9IGZyb20gJ2pzaWktcm9zZXR0YSc7XG5cbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSAnLi9sb2dnaW5nJztcbmltcG9ydCB7IGZpbmRKc2lpTW9kdWxlcywgdXBkYXRlQWxsTnBtSWdub3JlcyB9IGZyb20gJy4vbnBtLW1vZHVsZXMnO1xuaW1wb3J0IHsgSnNpaU1vZHVsZSB9IGZyb20gJy4vcGFja2FnaW5nJztcbmltcG9ydCB7IEFMTF9CVUlMREVSUywgVGFyZ2V0TmFtZSB9IGZyb20gJy4vdGFyZ2V0cyc7XG5pbXBvcnQgeyBUaW1lcnMgfSBmcm9tICcuL3RpbWVyJztcblxuLy8jcmVnaW9uIEV4cG9ydGVkIEFQSXNcblxuZXhwb3J0IHsgVGFyZ2V0TmFtZSB9O1xuZXhwb3J0IHsgY29uZmlndXJlIGFzIGNvbmZpZ3VyZUxvZ2dpbmcgfSBmcm9tICcuL2xvZ2dpbmcnO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBjb2RlIGluIHRoZSBkZXNpcmVkIHRhcmdldHMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwYWNtYWsoe1xuICBhcmd2ID0ge30sXG4gIGNsZWFuID0gdHJ1ZSxcbiAgY29kZU9ubHkgPSBmYWxzZSxcbiAgZmluZ2VycHJpbnQgPSB0cnVlLFxuICBmb3JjZSA9IGZhbHNlLFxuICBmb3JjZVN1YmRpcmVjdG9yeSA9IHRydWUsXG4gIGZvcmNlVGFyZ2V0ID0gZmFsc2UsXG4gIGlucHV0RGlyZWN0b3JpZXMsXG4gIG91dHB1dERpcmVjdG9yeSxcbiAgcGFyYWxsZWwgPSB0cnVlLFxuICByZWN1cnNlID0gZmFsc2UsXG4gIHJvc2V0dGFMaXZlQ29udmVyc2lvbixcbiAgcm9zZXR0YVRhYmxldCxcbiAgdGFyZ2V0cyA9IE9iamVjdC52YWx1ZXMoVGFyZ2V0TmFtZSksXG4gIHRpbWVycyA9IG5ldyBUaW1lcnMoKSxcbiAgdXBkYXRlTnBtSWdub3JlRmlsZXMgPSBmYWxzZSxcbiAgdmFsaWRhdGVBc3NlbWJsaWVzID0gZmFsc2UsXG59OiBQYWNtYWtPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJvc2V0dGEgPSBuZXcgUm9zZXR0YSh7IGxpdmVDb252ZXJzaW9uOiByb3NldHRhTGl2ZUNvbnZlcnNpb24gfSk7XG4gIGlmIChyb3NldHRhVGFibGV0KSB7XG4gICAgYXdhaXQgcm9zZXR0YS5sb2FkVGFibGV0RnJvbUZpbGUocm9zZXR0YVRhYmxldCk7XG4gIH1cblxuICBjb25zdCBtb2R1bGVzVG9QYWNrYWdlID0gYXdhaXQgZmluZEpzaWlNb2R1bGVzKGlucHV0RGlyZWN0b3JpZXMsIHJlY3Vyc2UpO1xuICBsb2dnaW5nLmluZm8oYEZvdW5kICR7bW9kdWxlc1RvUGFja2FnZS5sZW5ndGh9IG1vZHVsZXMgdG8gcGFja2FnZWApO1xuICBpZiAobW9kdWxlc1RvUGFja2FnZS5sZW5ndGggPT09IDApIHtcbiAgICBsb2dnaW5nLndhcm4oJ05vdGhpbmcgdG8gZG8nKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAob3V0cHV0RGlyZWN0b3J5KSB7XG4gICAgZm9yIChjb25zdCBtb2Qgb2YgbW9kdWxlc1RvUGFja2FnZSkge1xuICAgICAgbW9kLm91dHB1dERpcmVjdG9yeSA9IG91dHB1dERpcmVjdG9yeTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodXBkYXRlTnBtSWdub3JlRmlsZXMpIHtcbiAgICAvLyBpZiBvdXRkaXIgaXMgY29taW5nIGZyb20gcGFja2FnZS5qc29uLCB2ZXJpZnkgaXQgaXMgZXhjbHVkZWQgYnkgLm5wbWlnbm9yZS4gaWYgaXQgaXMgZXhwbGljaXRseVxuICAgIC8vIGRlZmluZWQgdmlhIC0tb3V0LCBkb24ndCBwZXJmb3JtIHRoaXMgdmVyaWZpY2F0aW9uLlxuICAgIGF3YWl0IHVwZGF0ZUFsbE5wbUlnbm9yZXMobW9kdWxlc1RvUGFja2FnZSk7XG4gIH1cblxuICBhd2FpdCB0aW1lcnMucmVjb3JkQXN5bmMoJ25wbSBwYWNrJywgKCkgPT4ge1xuICAgIGxvZ2dpbmcuaW5mbygnUGFja2FnaW5nIE5QTSBidW5kbGVzJyk7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKG1vZHVsZXNUb1BhY2thZ2UubWFwKChtKSA9PiBtLm5wbVBhY2soKSkpO1xuICB9KTtcblxuICBhd2FpdCB0aW1lcnMucmVjb3JkQXN5bmMoJ2xvYWQganNpaScsICgpID0+IHtcbiAgICBsb2dnaW5nLmluZm8oJ0xvYWRpbmcganNpaSBhc3NlbWJsaWVzIGFuZCB0cmFuc2xhdGlvbnMnKTtcbiAgICBjb25zdCBzeXN0ZW0gPSBuZXcgVHlwZVN5c3RlbSgpO1xuICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgIG1vZHVsZXNUb1BhY2thZ2UubWFwKGFzeW5jIChtKSA9PiB7XG4gICAgICAgIGF3YWl0IG0ubG9hZChzeXN0ZW0sIHZhbGlkYXRlQXNzZW1ibGllcyk7XG4gICAgICAgIHJldHVybiByb3NldHRhLmFkZEFzc2VtYmx5KG0uYXNzZW1ibHkuc3BlYywgbS5tb2R1bGVEaXJlY3RvcnkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfSk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCB0YXJnZXRTZXRzID0gc2xpY2VUYXJnZXRzKG1vZHVsZXNUb1BhY2thZ2UsIHRhcmdldHMsIGZvcmNlVGFyZ2V0KTtcbiAgICBpZiAodGFyZ2V0U2V0cy5ldmVyeSgocykgPT4gcy5tb2R1bGVzLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYE5vbmUgb2YgdGhlIHJlcXVlc3RlZCBwYWNrYWdlcyBoYWQgYW55IHRhcmdldHMgdG8gYnVpbGQgZm9yICcke3RhcmdldHMuam9pbihcbiAgICAgICAgICAnLCAnLFxuICAgICAgICApfScgKHVzZSAtLWZvcmNlLXRhcmdldCB0byBmb3JjZSlgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwZXJMYW5ndWFnZURpcmVjdG9yeSA9IHRhcmdldFNldHMubGVuZ3RoID4gMSB8fCBmb3JjZVN1YmRpcmVjdG9yeTtcblxuICAgIC8vIFdlIHJ1biBhbGwgdGFyZ2V0IHNldHMgaW4gcGFyYWxsZWwgZm9yIG1pbmltYWwgd2FsbCBjbG9jayB0aW1lXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBtYXBQYXJhbGxlbE9yU2VyaWFsKFxuICAgICAgICB0YXJnZXRTZXRzLFxuICAgICAgICBhc3luYyAodGFyZ2V0U2V0KSA9PiB7XG4gICAgICAgICAgbG9nZ2luZy5pbmZvKFxuICAgICAgICAgICAgYFBhY2thZ2luZyAnJHt0YXJnZXRTZXQudGFyZ2V0VHlwZX0nIGZvciAke2Rlc2NyaWJlUGFja2FnZXMoXG4gICAgICAgICAgICAgIHRhcmdldFNldCxcbiAgICAgICAgICAgICl9YCxcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybiB0aW1lcnNcbiAgICAgICAgICAgIC5yZWNvcmRBc3luYyh0YXJnZXRTZXQudGFyZ2V0VHlwZSwgKCkgPT5cbiAgICAgICAgICAgICAgYnVpbGRUYXJnZXRzRm9yTGFuZ3VhZ2UodGFyZ2V0U2V0LnRhcmdldFR5cGUsIHRhcmdldFNldC5tb2R1bGVzLCB7XG4gICAgICAgICAgICAgICAgYXJndixcbiAgICAgICAgICAgICAgICBjbGVhbixcbiAgICAgICAgICAgICAgICBjb2RlT25seSxcbiAgICAgICAgICAgICAgICBmaW5nZXJwcmludCxcbiAgICAgICAgICAgICAgICBmb3JjZSxcbiAgICAgICAgICAgICAgICBwZXJMYW5ndWFnZURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICByb3NldHRhLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAoKSA9PiBsb2dnaW5nLmluZm8oYCR7dGFyZ2V0U2V0LnRhcmdldFR5cGV9IGZpbmlzaGVkYCksXG4gICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm4oYCR7dGFyZ2V0U2V0LnRhcmdldFR5cGV9IGZhaWxlZGApO1xuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnIpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBwYXJhbGxlbCB9LFxuICAgICAgKSxcbiAgICApO1xuICB9IGZpbmFsbHkge1xuICAgIGlmIChjbGVhbikge1xuICAgICAgbG9nZ2luZy5kZWJ1ZygnQ2xlYW5pbmcgdXAnKTtcbiAgICAgIGF3YWl0IHRpbWVycy5yZWNvcmRBc3luYygnY2xlYW51cCcsICgpID0+XG4gICAgICAgIFByb21pc2UuYWxsKG1vZHVsZXNUb1BhY2thZ2UubWFwKChtKSA9PiBtLmNsZWFudXAoKSkpLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nZ2luZy5kZWJ1ZygnVGVtcG9yYXJ5IGRpcmVjdG9yaWVzIHJldGFpbmVkICgtLW5vLWNsZWFuKScpO1xuICAgIH1cbiAgfVxuXG4gIGxvZ2dpbmcuaW5mbyhgUGFja2FnZWQuICR7dGltZXJzLmRpc3BsYXkoKX1gKTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIHByb3ZpZGVkIHRvIHRoZSBgcGFjbWFrYCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNtYWtPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFsbCBjb21tYW5kLWxpbmUgYXJndW1lbnRzIHRoYXQgd2VyZSBwcm92aWRlZC4gVGhpcyBpbmNsdWRlcyB0YXJnZXQtc3BlY2lmaWMgcGFyYW1ldGVycywgdGhlXG4gICAqIGhhbmRsaW5nIG9mIHdoaWNoIGlzIHVwIHRvIHRoZSBjb2RlIGdlbmVyYXRvcnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBhcmd2PzogeyByZWFkb25seSBbbmFtZTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2xlYW4gdXAgdGVtcG9yYXJ5IGRpcmVjdG9yaWVzIHVwb24gY29tcGxldGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xlYW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGdlbmVyYXRlIHNvdXJjZSBjb2RlIG9ubHkgKGFzIG9wcG9zZWQgdG8gYnVpbHQgcGFja2FnZXMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZU9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG9wcG9ydHVuaXN0aWNhbGx5IGluY2x1ZGUgYSBmaW5nZXJwcmludCBpbiBnZW5lcmF0ZWQgY29kZSwgdG8gYXZvaWQgcmUtZ2VuZXJhdGluZ1xuICAgKiBjb2RlIGlmIHRoZSBzb3VyY2UgYXNzZW1ibHkgaGFzIG5vdCBjaGFuZ2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmaW5nZXJwcmludD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWx3YXlzIHJlLWdlbmVyYXRlIGNvZGUsIGV2ZW4gaWYgdGhlIGZpbmdlcnByaW50IGhhcyBub3QgY2hhbmdlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWx3YXlzIGVtaXQgY29kZSBpbiBhIHBlci1sYW5ndWFnZSBzdWJkaXJlY3RvcnksIGV2ZW4gaWYgdGhlcmUgaXMgb25seSBvbmUgdGFyZ2V0IGxhbmd1YWdlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmb3JjZVN1YmRpcmVjdG9yeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFsd2F5cyB0cnkgdG8gZ2VuZXJhdGUgY29kZSBmb3IgdGhlIHNlbGVjdGVkIHRhcmdldHMsIGV2ZW4gaWYgdGhvc2UgYXJlIG5vdCBjb25maWd1cmVkLiBVc2UgdGhpcyBvcHRpb24gYXQgeW91ciBvd25cbiAgICogcmlzaywgYXMgdGhlcmUgYXJlIHNpZ25pZmljYW50IGNoYW5jZXMgY29kZSBnZW5lcmF0b3JzIGNhbm5vdCBvcGVyYXRlIHdpdGhvdXQgYW55IGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmb3JjZVRhcmdldD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJlIGNvbnNpZGVyZWQgZm9yIGlucHV0IGFzc2VtYmxpZXMuXG4gICAqL1xuICByZWFkb25seSBpbnB1dERpcmVjdG9yaWVzOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0byBvdXRwdXQgZ2VuZXJhdGVkIHBhY2thZ2VzIG9yIGNvZGUgKGlmICBgY29kZU9ubHlgIGlzIGB0cnVlYCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ29uZmlndXJlZCBpbiBgcGFja2FnZS5qc29uYFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0RGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBhcmFsbGVsaXplIGNvZGUgZ2VuZXJhdGlvbi4gVHVybmluZyB0aGlzIHRvIGBmYWxzZWAgY2FuIGJlIGJlbmVmaWNpYWwgaW4gY2VydGFpbiByZXNvdXJjZS1jb25zdHJhaW5lZFxuICAgKiBlbnZpcm9ubWVudHMsIHN1Y2ggYXMgZnJlZSBDSS9DRCBvZmZlcmluZ3MsIGFzIGl0IHJlZHVjZXMgdGhlIHByZXNzdXJlIG9uIElPLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwYXJhbGxlbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVjdXJzaXZlbHkgZ2VuZXJhdGUgZm9yIHRoZSBzZWxlY3RlZCBwYWNrYWdlcycgZGVwZW5kZW5jaWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVjdXJzZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYGpzaWktcm9zZXR0YWAgY29udmVyc2lvbiBzaG91bGQgYmUgcGVyZm9ybWVkIGluLWJhbmQgZm9yIGV4YW1wbGVzIGZvdW5kIGluIGRvY3VtZW50YXRpb24gd2hpY2ggYXJlIG5vdFxuICAgKiBhbHJlYWR5IHRyYW5zbGF0ZWQgaW4gdGhlIGByb3NldHRhVGFibGV0YCBmaWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcm9zZXR0YUxpdmVDb252ZXJzaW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBSb3NldHRhIHRhYmxldCBmaWxlIHdoZXJlIHRyYW5zbGF0aW9ucyBmb3IgY29kZSBleGFtcGxlcyBjYW4gYmUgZm91bmQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgcm9zZXR0YVRhYmxldD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgdGFyZ2V0cyBmb3Igd2hpY2ggY29kZSBzaG91bGQgYmUgZ2VuZXJhdGVkLiBVbmxlc3MgYGZvcmNlVGFyZ2V0YCBpcyBgdHJ1ZWAsIGEgZ2l2ZW4gdGFyZ2V0IHdpbGwgb25seVxuICAgKiBiZSBnZW5lcmF0ZWQgZm9yIGFzc2VtYmxpZXMgdGhhdCBoYXZlIGNvbmZpZ3VyZWQgaXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IE9iamVjdC52YWx1ZXMoVGFyZ2V0TmFtZSlcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldHM/OiByZWFkb25seSBUYXJnZXROYW1lW107XG5cbiAgLyoqXG4gICAqIEEgYFRpbWVyc2Agb2JqZWN0LCBpZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gaW5jbHVkaW5nIHRoZSByb3NldHRhIHJ1biBpbiBhIGxhcmdlciBzZXQgb2YgdGltZWQgb3BlcmF0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVycz86IFRpbWVycztcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cGRhdGUgLm5wbWlnbm9yZSBmaWxlcyBpZiBgb3V0cHV0RGlyZWN0b3J5YCBjb21lcyBmcm9tIHRoZSBgcGFja2FnZS5qc29uYCBmaWxlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZU5wbUlnbm9yZUZpbGVzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciBhc3NlbWJsaWVzIHNob3VsZCBiZSB2YWxpZGF0ZWQgb3Igbm90LiBWYWxpZGF0aW9uIGNhbiBiZSBleHBlbnNpdmUgYW5kIGNhbiBiZSBza2lwcGVkIGlmIHRoZSBhc3NlbWJsaWVzXG4gICAqIGNhbiBiZSBhc3N1bWVkIHRvIGJlIHZhbGlkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGVBc3NlbWJsaWVzPzogYm9vbGVhbjtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiBCdWlsZGluZ1xuXG5hc3luYyBmdW5jdGlvbiBidWlsZFRhcmdldHNGb3JMYW5ndWFnZShcbiAgdGFyZ2V0TGFuZ3VhZ2U6IHN0cmluZyxcbiAgbW9kdWxlczogcmVhZG9ubHkgSnNpaU1vZHVsZVtdLFxuICB7XG4gICAgYXJndixcbiAgICBjbGVhbixcbiAgICBjb2RlT25seSxcbiAgICBmaW5nZXJwcmludCxcbiAgICBmb3JjZSxcbiAgICBwZXJMYW5ndWFnZURpcmVjdG9yeSxcbiAgICByb3NldHRhLFxuICB9OiB7XG4gICAgYXJndjogeyByZWFkb25seSBbbmFtZTogc3RyaW5nXTogYW55IH07XG4gICAgY2xlYW46IGJvb2xlYW47XG4gICAgY29kZU9ubHk6IGJvb2xlYW47XG4gICAgZmluZ2VycHJpbnQ6IGJvb2xlYW47XG4gICAgZm9yY2U6IGJvb2xlYW47XG4gICAgcGVyTGFuZ3VhZ2VEaXJlY3Rvcnk6IGJvb2xlYW47XG4gICAgcm9zZXR0YTogUm9zZXR0YTtcbiAgfSxcbik6IFByb21pc2U8dm9pZD4ge1xuICAvLyBgYGFyZ3YudGFyZ2V0YGAgaXMgZ3VhcmFudGVlZCB2YWxpZCBieSBgYHlhcmdzYGAgdGhyb3VnaCB0aGUgYGBjaG9pY2VzYGAgZGlyZWN0aXZlLlxuICBjb25zdCBmYWN0b3J5ID0gQUxMX0JVSUxERVJTW3RhcmdldExhbmd1YWdlIGFzIFRhcmdldE5hbWVdO1xuICBpZiAoIWZhY3RvcnkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHRhcmdldDogJyR7dGFyZ2V0TGFuZ3VhZ2V9J2ApO1xuICB9XG5cbiAgcmV0dXJuIGZhY3RvcnkobW9kdWxlcywge1xuICAgIGNsZWFuOiBjbGVhbixcbiAgICBjb2RlT25seTogY29kZU9ubHksXG4gICAgcm9zZXR0YSxcbiAgICBmb3JjZTogZm9yY2UsXG4gICAgZmluZ2VycHJpbnQ6IGZpbmdlcnByaW50LFxuICAgIGFyZ3VtZW50czogYXJndixcbiAgICBsYW5ndWFnZVN1YmRpcmVjdG9yeTogcGVyTGFuZ3VhZ2VEaXJlY3RvcnksXG4gIH0pLmJ1aWxkTW9kdWxlcygpO1xufVxuXG4vLyNlbmRyZWdpb25cblxuLy8jcmVnaW9uIFRhcmdldCBTbGljaW5nXG5cbi8qKlxuICogQSBzZXQgb2YgcGFja2FnZXMgKHRhcmdldHMpIHRyYW5zbGF0ZWQgaW50byB0aGUgc2FtZSBsYW5ndWFnZVxuICovXG5pbnRlcmZhY2UgVGFyZ2V0U2V0IHtcbiAgdGFyZ2V0VHlwZTogc3RyaW5nO1xuICBtb2R1bGVzOiByZWFkb25seSBKc2lpTW9kdWxlW107XG59XG5cbmZ1bmN0aW9uIHNsaWNlVGFyZ2V0cyhcbiAgbW9kdWxlczogcmVhZG9ubHkgSnNpaU1vZHVsZVtdLFxuICByZXF1ZXN0ZWRUYXJnZXRzOiByZWFkb25seSBUYXJnZXROYW1lW10sXG4gIGZvcmNlOiBib29sZWFuLFxuKTogcmVhZG9ubHkgVGFyZ2V0U2V0W10ge1xuICBjb25zdCByZXQgPSBuZXcgQXJyYXk8VGFyZ2V0U2V0PigpO1xuICBmb3IgKGNvbnN0IHRhcmdldCBvZiByZXF1ZXN0ZWRUYXJnZXRzKSB7XG4gICAgcmV0LnB1c2goe1xuICAgICAgdGFyZ2V0VHlwZTogdGFyZ2V0LFxuICAgICAgbW9kdWxlczogbW9kdWxlcy5maWx0ZXIoXG4gICAgICAgIChtKSA9PiBmb3JjZSB8fCBtLmF2YWlsYWJsZVRhcmdldHMuaW5jbHVkZXModGFyZ2V0KSxcbiAgICAgICksXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiBQYXJhbGxlbGl6YXRpb25cblxuZnVuY3Rpb24gbWFwUGFyYWxsZWxPclNlcmlhbDxULCBSPihcbiAgY29sbGVjdGlvbjogcmVhZG9ubHkgVFtdLFxuICBtYXBwZXI6IChpdGVtOiBUKSA9PiBQcm9taXNlPFI+LFxuICB7IHBhcmFsbGVsIH06IHsgcGFyYWxsZWw6IGJvb2xlYW4gfSxcbik6IEFycmF5PFByb21pc2U8Uj4+IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PFByb21pc2U8Uj4+KCk7XG4gIGZvciAoY29uc3QgaXRlbSBvZiBjb2xsZWN0aW9uKSB7XG4gICAgcmVzdWx0LnB1c2goXG4gICAgICByZXN1bHQubGVuZ3RoID09PSAwIHx8IHBhcmFsbGVsXG4gICAgICAgID8gLy8gUnVubmluZyBwYXJhbGxlbCwgb3IgZmlyc3QgZWxlbWVudFxuICAgICAgICAgIG1hcHBlcihpdGVtKVxuICAgICAgICA6IC8vIFdhaXQgZm9yIHRoZSBwcmV2aW91cyBwcm9taXNlLCB0aGVuIG1ha2UgdGhlIG5leHQgb25lXG4gICAgICAgICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXS50aGVuKFxuICAgICAgICAgICAgKCkgPT4gbWFwcGVyKGl0ZW0pLFxuICAgICAgICAgICAgKGVycm9yKSA9PiBQcm9taXNlLnJlamVjdChlcnJvciksXG4gICAgICAgICAgKSxcbiAgICApO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gTWlzYy4gVXRpbGl0aWVzXG5cbmZ1bmN0aW9uIGRlc2NyaWJlUGFja2FnZXModGFyZ2V0OiBUYXJnZXRTZXQpIHtcbiAgaWYgKHRhcmdldC5tb2R1bGVzLmxlbmd0aCA+IDAgJiYgdGFyZ2V0Lm1vZHVsZXMubGVuZ3RoIDwgNSkge1xuICAgIHJldHVybiB0YXJnZXQubW9kdWxlcy5tYXAoKG0pID0+IG0ubmFtZSkuam9pbignLCAnKTtcbiAgfVxuICByZXR1cm4gYCR7dGFyZ2V0Lm1vZHVsZXMubGVuZ3RofSBtb2R1bGVzYDtcbn1cblxuLy8jZW5kcmVnaW9uXG4iXX0=
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBMEM7QUFDMUMsK0NBQTJEO0FBRTNELHFDQUFxQztBQUNyQywrQ0FBcUU7QUFFckUsdUNBQXFEO0FBTzVDLDJGQVBjLG9CQUFVLE9BT2Q7QUFObkIsbUNBQWlDO0FBRWpDLGlDQUFpQztBQUtqQyxxQ0FBMEQ7QUFBakQsMkdBQUEsU0FBUyxPQUFvQjtBQUV0Qzs7R0FFRztBQUNJLEtBQUssVUFBVSxNQUFNLENBQUMsRUFDM0IsSUFBSSxHQUFHLEVBQUUsRUFDVCxLQUFLLEdBQUcsSUFBSSxFQUNaLFFBQVEsR0FBRyxLQUFLLEVBQ2hCLFdBQVcsR0FBRyxJQUFJLEVBQ2xCLEtBQUssR0FBRyxLQUFLLEVBQ2IsaUJBQWlCLEdBQUcsSUFBSSxFQUN4QixXQUFXLEdBQUcsS0FBSyxFQUNuQixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNmLFFBQVEsR0FBRyxJQUFJLEVBQ2YsT0FBTyxHQUFHLEtBQUssRUFDZixxQkFBcUIsRUFDckIsYUFBYSxFQUNiLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLG9CQUFVLENBQUMsRUFDbkMsTUFBTSxHQUFHLElBQUksY0FBTSxFQUFFLEVBQ3JCLHNCQUFzQixHQUFHLFNBQVMsRUFDbEMsb0JBQW9CLEdBQUcsS0FBSyxFQUM1QixrQkFBa0IsR0FBRyxLQUFLLEdBQ1o7SUFDZCxNQUFNLGVBQWUsR0FDbkIsc0JBQXNCLGFBQXRCLHNCQUFzQixjQUF0QixzQkFBc0IsR0FDdEIsQ0FBQyxxQkFBcUI7UUFDcEIsQ0FBQyxDQUFDLGlDQUFrQixDQUFDLFNBQVM7UUFDOUIsQ0FBQyxDQUFDLGlDQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRW5DLE1BQU0sT0FBTyxHQUFHLElBQUksc0JBQU8sQ0FBQyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDakQsSUFBSSxhQUFhLEVBQUU7UUFD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Qy9CLEVBQUUsUUFBUSxFQUF5QjtJQUVuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO0lBQ3ZDLEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQ1QsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUTtZQUM3QixDQUFDLENBQUMscUNBQXFDO2dCQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ2QsQ0FBQyxDQUFDLHdEQUF3RDtnQkFDeEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM1QixHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQ2xCLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUNqQyxDQUNOLENBQUM7S0FDSDtJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxZQUFZO0FBRVoseUJBQXlCO0FBRXpCLFNBQVMsZ0JBQWdCLENBQUMsTUFBaUI7SUFDekMsTUFBTSxPQUFPLEdBQUcsY0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM5QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQzVDLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUM5QztJQUNELE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxVQUFVLENBQUM7QUFDckMsQ0FBQztBQUVELFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlU3lzdGVtIH0gZnJvbSAnanNpaS1yZWZsZWN0JztcbmltcG9ydCB7IFJvc2V0dGEsIFVua25vd25TbmlwcGV0TW9kZSB9IGZyb20gJ2pzaWktcm9zZXR0YSc7XG5cbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSAnLi9sb2dnaW5nJztcbmltcG9ydCB7IGZpbmRKc2lpTW9kdWxlcywgdXBkYXRlQWxsTnBtSWdub3JlcyB9IGZyb20gJy4vbnBtLW1vZHVsZXMnO1xuaW1wb3J0IHsgSnNpaU1vZHVsZSB9IGZyb20gJy4vcGFja2FnaW5nJztcbmltcG9ydCB7IEFMTF9CVUlMREVSUywgVGFyZ2V0TmFtZSB9IGZyb20gJy4vdGFyZ2V0cyc7XG5pbXBvcnQgeyBUaW1lcnMgfSBmcm9tICcuL3RpbWVyJztcbmltcG9ydCB7IFRvcG9zb3J0ZWQgfSBmcm9tICcuL3RvcG9zb3J0JztcbmltcG9ydCB7IGZsYXR0ZW4gfSBmcm9tICcuL3V0aWwnO1xuXG4vLyNyZWdpb24gRXhwb3J0ZWQgQVBJc1xuXG5leHBvcnQgeyBUYXJnZXROYW1lIH07XG5leHBvcnQgeyBjb25maWd1cmUgYXMgY29uZmlndXJlTG9nZ2luZyB9IGZyb20gJy4vbG9nZ2luZyc7XG5cbi8qKlxuICogR2VuZXJhdGVzIGNvZGUgaW4gdGhlIGRlc2lyZWQgdGFyZ2V0cy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHBhY21hayh7XG4gIGFyZ3YgPSB7fSxcbiAgY2xlYW4gPSB0cnVlLFxuICBjb2RlT25seSA9IGZhbHNlLFxuICBmaW5nZXJwcmludCA9IHRydWUsXG4gIGZvcmNlID0gZmFsc2UsXG4gIGZvcmNlU3ViZGlyZWN0b3J5ID0gdHJ1ZSxcbiAgZm9yY2VUYXJnZXQgPSBmYWxzZSxcbiAgaW5wdXREaXJlY3RvcmllcyxcbiAgb3V0cHV0RGlyZWN0b3J5LFxuICBwYXJhbGxlbCA9IHRydWUsXG4gIHJlY3Vyc2UgPSBmYWxzZSxcbiAgcm9zZXR0YUxpdmVDb252ZXJzaW9uLFxuICByb3NldHRhVGFibGV0LFxuICB0YXJnZXRzID0gT2JqZWN0LnZhbHVlcyhUYXJnZXROYW1lKSxcbiAgdGltZXJzID0gbmV3IFRpbWVycygpLFxuICByb3NldHRhVW5rbm93blNuaXBwZXRzID0gdW5kZWZpbmVkLFxuICB1cGRhdGVOcG1JZ25vcmVGaWxlcyA9IGZhbHNlLFxuICB2YWxpZGF0ZUFzc2VtYmxpZXMgPSBmYWxzZSxcbn06IFBhY21ha09wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgdW5rbm93blNuaXBwZXRzID1cbiAgICByb3NldHRhVW5rbm93blNuaXBwZXRzID8/XG4gICAgKHJvc2V0dGFMaXZlQ29udmVyc2lvblxuICAgICAgPyBVbmtub3duU25pcHBldE1vZGUuVFJBTlNMQVRFXG4gICAgICA6IFVua25vd25TbmlwcGV0TW9kZS5WRVJCQVRJTSk7XG5cbiAgY29uc3Qgcm9zZXR0YSA9IG5ldyBSb3NldHRhKHsgdW5rbm93blNuaXBwZXRzIH0pO1xuICBpZiAocm9zZXR0YVRhYmxldCkge1xuICAgIGF3YWl0IHJvc2V0dGEubG9hZFRhYmxldEZyb21GaWxlKHJvc2V0dGFUYWJsZXQpO1xuICB9XG5cbiAgY29uc3QgbW9kdWxlc1RvUGFja2FnZVNvcnRlZCA9IGF3YWl0IGZpbmRKc2lpTW9kdWxlcyhcbiAgICBpbnB1dERpcmVjdG9yaWVzLFxuICAgIHJlY3Vyc2UsXG4gICk7XG4gIGNvbnN0IG1vZHVsZXNUb1BhY2thZ2VGbGF0ID0gZmxhdHRlbihtb2R1bGVzVG9QYWNrYWdlU29ydGVkKTtcblxuICBsb2dnaW5nLmluZm8oYEZvdW5kICR7bW9kdWxlc1RvUGFja2FnZUZsYXQubGVuZ3RofSBtb2R1bGVzIHRvIHBhY2thZ2VgKTtcbiAgaWYgKG1vZHVsZXNUb1BhY2thZ2VGbGF0Lmxlbmd0aCA9PT0gMCkge1xuICAgIGxvZ2dpbmcud2FybignTm90aGluZyB0byBkbycpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChvdXRwdXREaXJlY3RvcnkpIHtcbiAgICBmb3IgKGNvbnN0IG1vZCBvZiBtb2R1bGVzVG9QYWNrYWdlRmxhdCkge1xuICAgICAgbW9kLm91dHB1dERpcmVjdG9yeSA9IG91dHB1dERpcmVjdG9yeTtcbiAgICB9XG4gIH0gZWxzZSBpZiAodXBkYXRlTnBtSWdub3JlRmlsZXMpIHtcbiAgICAvLyBpZiBvdXRkaXIgaXMgY29taW5nIGZyb20gcGFja2FnZS5qc29uLCB2ZXJpZnkgaXQgaXMgZXhjbHVkZWQgYnkgLm5wbWlnbm9yZS4gaWYgaXQgaXMgZXhwbGljaXRseVxuICAgIC8vIGRlZmluZWQgdmlhIC0tb3V0LCBkb24ndCBwZXJmb3JtIHRoaXMgdmVyaWZpY2F0aW9uLlxuICAgIGF3YWl0IHVwZGF0ZUFsbE5wbUlnbm9yZXMobW9kdWxlc1RvUGFja2FnZUZsYXQpO1xuICB9XG5cbiAgYXdhaXQgdGltZXJzLnJlY29yZEFzeW5jKCducG0gcGFjaycsICgpID0+IHtcbiAgICBsb2dnaW5nLmluZm8oJ1BhY2thZ2luZyBOUE0gYnVuZGxlcycpO1xuICAgIHJldHVybiBQcm9taXNlLmFsbChtb2R1bGVzVG9QYWNrYWdlRmxhdC5tYXAoKG0pID0+IG0ubnBtUGFjaygpKSk7XG4gIH0pO1xuXG4gIGF3YWl0IHRpbWVycy5yZWNvcmRBc3luYygnbG9hZCBqc2lpJywgKCkgPT4ge1xuICAgIGxvZ2dpbmcuaW5mbygnTG9hZGluZyBqc2lpIGFzc2VtYmxpZXMgYW5kIHRyYW5zbGF0aW9ucycpO1xuICAgIGNvbnN0IHN5c3RlbSA9IG5ldyBUeXBlU3lzdGVtKCk7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFxuICAgICAgbW9kdWxlc1RvUGFja2FnZUZsYXQubWFwKGFzeW5jIChtKSA9PiB7XG4gICAgICAgIGF3YWl0IG0ubG9hZChzeXN0ZW0sIHZhbGlkYXRlQXNzZW1ibGllcyk7XG4gICAgICAgIHJldHVybiByb3NldHRhLmFkZEFzc2VtYmx5KG0uYXNzZW1ibHkuc3BlYywgbS5tb2R1bGVEaXJlY3RvcnkpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfSk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCB0YXJnZXRTZXRzID0gc2xpY2VUYXJnZXRzKFxuICAgICAgbW9kdWxlc1RvUGFja2FnZVNvcnRlZCxcbiAgICAgIHRhcmdldHMsXG4gICAgICBmb3JjZVRhcmdldCxcbiAgICApO1xuICAgIGlmICh0YXJnZXRTZXRzLmV2ZXJ5KChzKSA9PiBzLm1vZHVsZXNTb3J0ZWQubGVuZ3RoID09PSAwKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTm9uZSBvZiB0aGUgcmVxdWVzdGVkIHBhY2thZ2VzIGhhZCBhbnkgdGFyZ2V0cyB0byBidWlsZCBmb3IgJyR7dGFyZ2V0cy5qb2luKFxuICAgICAgICAgICcsICcsXG4gICAgICAgICl9JyAodXNlIC0tZm9yY2UtdGFyZ2V0IHRvIGZvcmNlKWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBlckxhbmd1YWdlRGlyZWN0b3J5ID0gdGFyZ2V0U2V0cy5sZW5ndGggPiAxIHx8IGZvcmNlU3ViZGlyZWN0b3J5O1xuXG4gICAgLy8gV2UgcnVuIGFsbCB0YXJnZXQgc2V0cyBpbiBwYXJhbGxlbCBmb3IgbWluaW1hbCB3YWxsIGNsb2NrIHRpbWVcbiAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgIG1hcFBhcmFsbGVsT3JTZXJpYWwoXG4gICAgICAgIHRhcmdldFNldHMsXG4gICAgICAgIGFzeW5jICh0YXJnZXRTZXQpID0+IHtcbiAgICAgICAgICBsb2dnaW5nLmluZm8oXG4gICAgICAgICAgICBgUGFja2FnaW5nICcke3RhcmdldFNldC50YXJnZXRUeXBlfScgZm9yICR7ZGVzY3JpYmVQYWNrYWdlcyhcbiAgICAgICAgICAgICAgdGFyZ2V0U2V0LFxuICAgICAgICAgICAgKX1gLFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHRpbWVyc1xuICAgICAgICAgICAgLnJlY29yZEFzeW5jKHRhcmdldFNldC50YXJnZXRUeXBlLCAoKSA9PlxuICAgICAgICAgICAgICBidWlsZFRhcmdldHNGb3JMYW5ndWFnZShcbiAgICAgICAgICAgICAgICB0YXJnZXRTZXQudGFyZ2V0VHlwZSxcbiAgICAgICAgICAgICAgICB0YXJnZXRTZXQubW9kdWxlc1NvcnRlZCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhcmd2LFxuICAgICAgICAgICAgICAgICAgY2xlYW4sXG4gICAgICAgICAgICAgICAgICBjb2RlT25seSxcbiAgICAgICAgICAgICAgICAgIGZpbmdlcnByaW50LFxuICAgICAgICAgICAgICAgICAgZm9yY2UsXG4gICAgICAgICAgICAgICAgICBwZXJMYW5ndWFnZURpcmVjdG9yeSxcbiAgICAgICAgICAgICAgICAgIHJvc2V0dGEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC50aGVuKFxuICAgICAgICAgICAgICAoKSA9PiBsb2dnaW5nLmluZm8oYCR7dGFyZ2V0U2V0LnRhcmdldFR5cGV9IGZpbmlzaGVkYCksXG4gICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBsb2dnaW5nLndhcm4oYCR7dGFyZ2V0U2V0LnRhcmdldFR5cGV9IGZhaWxlZGApO1xuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnIpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBwYXJhbGxlbCB9LFxuICAgICAgKSxcbiAgICApO1xuICB9IGZpbmFsbHkge1xuICAgIGlmIChjbGVhbikge1xuICAgICAgbG9nZ2luZy5kZWJ1ZygnQ2xlYW5pbmcgdXAnKTtcbiAgICAgIGF3YWl0IHRpbWVycy5yZWNvcmRBc3luYygnY2xlYW51cCcsICgpID0+XG4gICAgICAgIFByb21pc2UuYWxsKG1vZHVsZXNUb1BhY2thZ2VGbGF0Lm1hcCgobSkgPT4gbS5jbGVhbnVwKCkpKSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxvZ2dpbmcuaW5mbygnVGVtcG9yYXJ5IGRpcmVjdG9yaWVzIHJldGFpbmVkICgtLW5vLWNsZWFuKScpO1xuICAgIH1cbiAgfVxuXG4gIGxvZ2dpbmcuaW5mbyhgUGFja2FnZWQuICR7dGltZXJzLmRpc3BsYXkoKX1gKTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIHByb3ZpZGVkIHRvIHRoZSBgcGFjbWFrYCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNtYWtPcHRpb25zIHtcbiAgLyoqXG4gICAqIEFsbCBjb21tYW5kLWxpbmUgYXJndW1lbnRzIHRoYXQgd2VyZSBwcm92aWRlZC4gVGhpcyBpbmNsdWRlcyB0YXJnZXQtc3BlY2lmaWMgcGFyYW1ldGVycywgdGhlXG4gICAqIGhhbmRsaW5nIG9mIHdoaWNoIGlzIHVwIHRvIHRoZSBjb2RlIGdlbmVyYXRvcnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBhcmd2PzogeyByZWFkb25seSBbbmFtZTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2xlYW4gdXAgdGVtcG9yYXJ5IGRpcmVjdG9yaWVzIHVwb24gY29tcGxldGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2xlYW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGdlbmVyYXRlIHNvdXJjZSBjb2RlIG9ubHkgKGFzIG9wcG9zZWQgdG8gYnVpbHQgcGFja2FnZXMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29kZU9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIG9wcG9ydHVuaXN0aWNhbGx5IGluY2x1ZGUgYSBmaW5nZXJwcmludCBpbiBnZW5lcmF0ZWQgY29kZSwgdG8gYXZvaWQgcmUtZ2VuZXJhdGluZ1xuICAgKiBjb2RlIGlmIHRoZSBzb3VyY2UgYXNzZW1ibHkgaGFzIG5vdCBjaGFuZ2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmaW5nZXJwcmludD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWx3YXlzIHJlLWdlbmVyYXRlIGNvZGUsIGV2ZW4gaWYgdGhlIGZpbmdlcnByaW50IGhhcyBub3QgY2hhbmdlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWx3YXlzIGVtaXQgY29kZSBpbiBhIHBlci1sYW5ndWFnZSBzdWJkaXJlY3RvcnksIGV2ZW4gaWYgdGhlcmUgaXMgb25seSBvbmUgdGFyZ2V0IGxhbmd1YWdlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBmb3JjZVN1YmRpcmVjdG9yeT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFsd2F5cyB0cnkgdG8gZ2VuZXJhdGUgY29kZSBmb3IgdGhlIHNlbGVjdGVkIHRhcmdldHMsIGV2ZW4gaWYgdGhvc2UgYXJlIG5vdCBjb25maWd1cmVkLiBVc2UgdGhpcyBvcHRpb24gYXQgeW91ciBvd25cbiAgICogcmlzaywgYXMgdGhlcmUgYXJlIHNpZ25pZmljYW50IGNoYW5jZXMgY29kZSBnZW5lcmF0b3JzIGNhbm5vdCBvcGVyYXRlIHdpdGhvdXQgYW55IGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBmb3JjZVRhcmdldD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIGJlIGNvbnNpZGVyZWQgZm9yIGlucHV0IGFzc2VtYmxpZXMuXG4gICAqL1xuICByZWFkb25seSBpbnB1dERpcmVjdG9yaWVzOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIGRpcmVjdG9yeSBpbiB3aGljaCB0byBvdXRwdXQgZ2VuZXJhdGVkIHBhY2thZ2VzIG9yIGNvZGUgKGlmICBgY29kZU9ubHlgIGlzIGB0cnVlYCkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ29uZmlndXJlZCBpbiBgcGFja2FnZS5qc29uYFxuICAgKi9cbiAgcmVhZG9ubHkgb3V0cHV0RGlyZWN0b3J5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBhcmFsbGVsaXplIGNvZGUgZ2VuZXJhdGlvbi4gVHVybmluZyB0aGlzIHRvIGBmYWxzZWAgY2FuIGJlIGJlbmVmaWNpYWwgaW4gY2VydGFpbiByZXNvdXJjZS1jb25zdHJhaW5lZFxuICAgKiBlbnZpcm9ubWVudHMsIHN1Y2ggYXMgZnJlZSBDSS9DRCBvZmZlcmluZ3MsIGFzIGl0IHJlZHVjZXMgdGhlIHByZXNzdXJlIG9uIElPLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwYXJhbGxlbD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVjdXJzaXZlbHkgZ2VuZXJhdGUgZm9yIHRoZSBzZWxlY3RlZCBwYWNrYWdlcycgZGVwZW5kZW5jaWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVjdXJzZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYGpzaWktcm9zZXR0YWAgY29udmVyc2lvbiBzaG91bGQgYmUgcGVyZm9ybWVkIGluLWJhbmQgZm9yIGV4YW1wbGVzIGZvdW5kIGluIGRvY3VtZW50YXRpb24gd2hpY2ggYXJlIG5vdFxuICAgKiBhbHJlYWR5IHRyYW5zbGF0ZWQgaW4gdGhlIGByb3NldHRhVGFibGV0YCBmaWxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYHJvc2V0dGFVbmtub3duU25pcHBldHNgIGluc3RlYWQuXG4gICAqL1xuICByZWFkb25seSByb3NldHRhTGl2ZUNvbnZlcnNpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBIb3cgcm9zZXR0YSBzaG91bGQgdHJlYXQgc25pcHBldHMgdGhhdCBjYW5ub3QgYmUgbG9hZGVkIGZyb20gYSB0cmFuc2xhdGlvbiB0YWJsZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsbHMgYmFjayB0byB0aGUgZGVmYXVsdCBvZiBgcm9zZXR0YUxpdmVDb252ZXJzaW9uYC5cbiAgICovXG4gIHJlYWRvbmx5IHJvc2V0dGFVbmtub3duU25pcHBldHM/OiBVbmtub3duU25pcHBldE1vZGU7XG5cbiAgLyoqXG4gICAqIEEgUm9zZXR0YSB0YWJsZXQgZmlsZSB3aGVyZSB0cmFuc2xhdGlvbnMgZm9yIGNvZGUgZXhhbXBsZXMgY2FuIGJlIGZvdW5kLlxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvc2V0dGFUYWJsZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHRhcmdldHMgZm9yIHdoaWNoIGNvZGUgc2hvdWxkIGJlIGdlbmVyYXRlZC4gVW5sZXNzIGBmb3JjZVRhcmdldGAgaXMgYHRydWVgLCBhIGdpdmVuIHRhcmdldCB3aWxsIG9ubHlcbiAgICogYmUgZ2VuZXJhdGVkIGZvciBhc3NlbWJsaWVzIHRoYXQgaGF2ZSBjb25maWd1cmVkIGl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBPYmplY3QudmFsdWVzKFRhcmdldE5hbWUpXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRzPzogcmVhZG9ubHkgVGFyZ2V0TmFtZVtdO1xuXG4gIC8qKlxuICAgKiBBIGBUaW1lcnNgIG9iamVjdCwgaWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIGluY2x1ZGluZyB0aGUgcm9zZXR0YSBydW4gaW4gYSBsYXJnZXIgc2V0IG9mIHRpbWVkIG9wZXJhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSB0aW1lcnM/OiBUaW1lcnM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXBkYXRlIC5ucG1pZ25vcmUgZmlsZXMgaWYgYG91dHB1dERpcmVjdG9yeWAgY29tZXMgZnJvbSB0aGUgYHBhY2thZ2UuanNvbmAgZmlsZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB1cGRhdGVOcG1JZ25vcmVGaWxlcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYXNzZW1ibGllcyBzaG91bGQgYmUgdmFsaWRhdGVkIG9yIG5vdC4gVmFsaWRhdGlvbiBjYW4gYmUgZXhwZW5zaXZlIGFuZCBjYW4gYmUgc2tpcHBlZCBpZiB0aGUgYXNzZW1ibGllc1xuICAgKiBjYW4gYmUgYXNzdW1lZCB0byBiZSB2YWxpZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRlQXNzZW1ibGllcz86IGJvb2xlYW47XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gQnVpbGRpbmdcblxuYXN5bmMgZnVuY3Rpb24gYnVpbGRUYXJnZXRzRm9yTGFuZ3VhZ2UoXG4gIHRhcmdldExhbmd1YWdlOiBzdHJpbmcsXG4gIG1vZHVsZXM6IFRvcG9zb3J0ZWQ8SnNpaU1vZHVsZT4sXG4gIHtcbiAgICBhcmd2LFxuICAgIGNsZWFuLFxuICAgIGNvZGVPbmx5LFxuICAgIGZpbmdlcnByaW50LFxuICAgIGZvcmNlLFxuICAgIHBlckxhbmd1YWdlRGlyZWN0b3J5LFxuICAgIHJvc2V0dGEsXG4gIH06IHtcbiAgICBhcmd2OiB7IHJlYWRvbmx5IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcbiAgICBjbGVhbjogYm9vbGVhbjtcbiAgICBjb2RlT25seTogYm9vbGVhbjtcbiAgICBmaW5nZXJwcmludDogYm9vbGVhbjtcbiAgICBmb3JjZTogYm9vbGVhbjtcbiAgICBwZXJMYW5ndWFnZURpcmVjdG9yeTogYm9vbGVhbjtcbiAgICByb3NldHRhOiBSb3NldHRhO1xuICB9LFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIC8vIGBgYXJndi50YXJnZXRgYCBpcyBndWFyYW50ZWVkIHZhbGlkIGJ5IGBgeWFyZ3NgYCB0aHJvdWdoIHRoZSBgYGNob2ljZXNgYCBkaXJlY3RpdmUuXG4gIGNvbnN0IGZhY3RvcnkgPSBBTExfQlVJTERFUlNbdGFyZ2V0TGFuZ3VhZ2UgYXMgVGFyZ2V0TmFtZV07XG4gIGlmICghZmFjdG9yeSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgdGFyZ2V0OiAnJHt0YXJnZXRMYW5ndWFnZX0nYCk7XG4gIH1cblxuICByZXR1cm4gZmFjdG9yeShtb2R1bGVzLCB7XG4gICAgY2xlYW46IGNsZWFuLFxuICAgIGNvZGVPbmx5OiBjb2RlT25seSxcbiAgICByb3NldHRhLFxuICAgIGZvcmNlOiBmb3JjZSxcbiAgICBmaW5nZXJwcmludDogZmluZ2VycHJpbnQsXG4gICAgYXJndW1lbnRzOiBhcmd2LFxuICAgIGxhbmd1YWdlU3ViZGlyZWN0b3J5OiBwZXJMYW5ndWFnZURpcmVjdG9yeSxcbiAgfSkuYnVpbGRNb2R1bGVzKCk7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gVGFyZ2V0IFNsaWNpbmdcblxuLyoqXG4gKiBBIHNldCBvZiBwYWNrYWdlcyAodGFyZ2V0cykgdHJhbnNsYXRlZCBpbnRvIHRoZSBzYW1lIGxhbmd1YWdlXG4gKi9cbmludGVyZmFjZSBUYXJnZXRTZXQge1xuICB0YXJnZXRUeXBlOiBzdHJpbmc7XG5cbiAgLy8gU29ydGVkIGludG8gdG9wb3NvcnRlZCB0cmFuY2hlc1xuICBtb2R1bGVzU29ydGVkOiBUb3Bvc29ydGVkPEpzaWlNb2R1bGU+O1xufVxuXG5mdW5jdGlvbiBzbGljZVRhcmdldHMoXG4gIG1vZHVsZXNTb3J0ZWQ6IFRvcG9zb3J0ZWQ8SnNpaU1vZHVsZT4sXG4gIHJlcXVlc3RlZFRhcmdldHM6IHJlYWRvbmx5IFRhcmdldE5hbWVbXSxcbiAgZm9yY2U6IGJvb2xlYW4sXG4pOiByZWFkb25seSBUYXJnZXRTZXRbXSB7XG4gIGNvbnN0IHJldCA9IG5ldyBBcnJheTxUYXJnZXRTZXQ+KCk7XG4gIGZvciAoY29uc3QgdGFyZ2V0IG9mIHJlcXVlc3RlZFRhcmdldHMpIHtcbiAgICByZXQucHVzaCh7XG4gICAgICB0YXJnZXRUeXBlOiB0YXJnZXQsXG4gICAgICBtb2R1bGVzU29ydGVkOiBtb2R1bGVzU29ydGVkXG4gICAgICAgIC5tYXAoKG1vZHVsZXMpID0+XG4gICAgICAgICAgbW9kdWxlcy5maWx0ZXIoKG0pID0+IGZvcmNlIHx8IG0uYXZhaWxhYmxlVGFyZ2V0cy5pbmNsdWRlcyh0YXJnZXQpKSxcbiAgICAgICAgKVxuICAgICAgICAuZmlsdGVyKChtcykgPT4gbXMubGVuZ3RoID4gMCksXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiBQYXJhbGxlbGl6YXRpb25cblxuZnVuY3Rpb24gbWFwUGFyYWxsZWxPclNlcmlhbDxULCBSPihcbiAgY29sbGVjdGlvbjogcmVhZG9ubHkgVFtdLFxuICBtYXBwZXI6IChpdGVtOiBUKSA9PiBQcm9taXNlPFI+LFxuICB7IHBhcmFsbGVsIH06IHsgcGFyYWxsZWw6IGJvb2xlYW4gfSxcbik6IEFycmF5PFByb21pc2U8Uj4+IHtcbiAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PFByb21pc2U8Uj4+KCk7XG4gIGZvciAoY29uc3QgaXRlbSBvZiBjb2xsZWN0aW9uKSB7XG4gICAgcmVzdWx0LnB1c2goXG4gICAgICByZXN1bHQubGVuZ3RoID09PSAwIHx8IHBhcmFsbGVsXG4gICAgICAgID8gLy8gUnVubmluZyBwYXJhbGxlbCwgb3IgZmlyc3QgZWxlbWVudFxuICAgICAgICAgIG1hcHBlcihpdGVtKVxuICAgICAgICA6IC8vIFdhaXQgZm9yIHRoZSBwcmV2aW91cyBwcm9taXNlLCB0aGVuIG1ha2UgdGhlIG5leHQgb25lXG4gICAgICAgICAgcmVzdWx0W3Jlc3VsdC5sZW5ndGggLSAxXS50aGVuKFxuICAgICAgICAgICAgKCkgPT4gbWFwcGVyKGl0ZW0pLFxuICAgICAgICAgICAgKGVycm9yKSA9PiBQcm9taXNlLnJlamVjdChlcnJvciksXG4gICAgICAgICAgKSxcbiAgICApO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gTWlzYy4gVXRpbGl0aWVzXG5cbmZ1bmN0aW9uIGRlc2NyaWJlUGFja2FnZXModGFyZ2V0OiBUYXJnZXRTZXQpIHtcbiAgY29uc3QgbW9kdWxlcyA9IGZsYXR0ZW4odGFyZ2V0Lm1vZHVsZXNTb3J0ZWQpO1xuICBpZiAobW9kdWxlcy5sZW5ndGggPiAwICYmIG1vZHVsZXMubGVuZ3RoIDwgNSkge1xuICAgIHJldHVybiBtb2R1bGVzLm1hcCgobSkgPT4gbS5uYW1lKS5qb2luKCcsICcpO1xuICB9XG4gIHJldHVybiBgJHttb2R1bGVzLmxlbmd0aH0gbW9kdWxlc2A7XG59XG5cbi8vI2VuZHJlZ2lvblxuIl19
|
package/lib/logging.d.ts
CHANGED
|
@@ -2,10 +2,12 @@ export declare enum Level {
|
|
|
2
2
|
WARN = -1,
|
|
3
3
|
QUIET = 0,
|
|
4
4
|
INFO = 1,
|
|
5
|
-
VERBOSE = 2
|
|
5
|
+
VERBOSE = 2,
|
|
6
|
+
SILLY = 3
|
|
6
7
|
}
|
|
7
8
|
export declare const LEVEL_INFO: number;
|
|
8
9
|
export declare const LEVEL_VERBOSE: number;
|
|
10
|
+
export declare const LEVEL_SILLY: number;
|
|
9
11
|
/** The minimal logging level for messages to be emitted. */
|
|
10
12
|
export declare let level: Level;
|
|
11
13
|
export declare function configure({ level: newLevel }: {
|
package/lib/logging.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.debug = exports.info = exports.warn = exports.configure = exports.level = exports.LEVEL_VERBOSE = exports.LEVEL_INFO = exports.Level = void 0;
|
|
3
|
+
exports.debug = exports.info = exports.warn = exports.configure = exports.level = exports.LEVEL_SILLY = exports.LEVEL_VERBOSE = exports.LEVEL_INFO = exports.Level = void 0;
|
|
4
4
|
var Level;
|
|
5
5
|
(function (Level) {
|
|
6
6
|
Level[Level["WARN"] = -1] = "WARN";
|
|
7
7
|
Level[Level["QUIET"] = 0] = "QUIET";
|
|
8
8
|
Level[Level["INFO"] = 1] = "INFO";
|
|
9
9
|
Level[Level["VERBOSE"] = 2] = "VERBOSE";
|
|
10
|
+
Level[Level["SILLY"] = 3] = "SILLY";
|
|
10
11
|
})(Level = exports.Level || (exports.Level = {}));
|
|
11
12
|
exports.LEVEL_INFO = Level.INFO;
|
|
12
13
|
exports.LEVEL_VERBOSE = Level.VERBOSE;
|
|
14
|
+
exports.LEVEL_SILLY = Level.SILLY;
|
|
13
15
|
/** The minimal logging level for messages to be emitted. */
|
|
14
16
|
exports.level = Level.QUIET;
|
|
15
17
|
function configure({ level: newLevel }) {
|
|
@@ -34,4 +36,4 @@ function log(messageLevel, fmt, ...args) {
|
|
|
34
36
|
console.error(`[jsii-pacmak] [${levelName}]`, fmt, ...args);
|
|
35
37
|
}
|
|
36
38
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxLQU1YO0FBTkQsV0FBWSxLQUFLO0lBQ2Ysa0NBQVMsQ0FBQTtJQUNULG1DQUFTLENBQUE7SUFDVCxpQ0FBUSxDQUFBO0lBQ1IsdUNBQVcsQ0FBQTtJQUNYLG1DQUFTLENBQUE7QUFDWCxDQUFDLEVBTlcsS0FBSyxHQUFMLGFBQUssS0FBTCxhQUFLLFFBTWhCO0FBRVksUUFBQSxVQUFVLEdBQVcsS0FBSyxDQUFDLElBQUksQ0FBQztBQUNoQyxRQUFBLGFBQWEsR0FBVyxLQUFLLENBQUMsT0FBTyxDQUFDO0FBQ3RDLFFBQUEsV0FBVyxHQUFXLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFFL0MsNERBQTREO0FBQ2pELFFBQUEsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFFL0IsU0FBZ0IsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBb0I7SUFDN0QsYUFBSyxHQUFHLFFBQVEsQ0FBQztBQUNuQixDQUFDO0FBRkQsOEJBRUM7QUFFRCxTQUFnQixJQUFJLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUM5QyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRkQsb0JBRUM7QUFFRCxTQUFnQixJQUFJLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUM5QyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRkQsb0JBRUM7QUFFRCxTQUFnQixLQUFLLENBQUMsR0FBVyxFQUFFLEdBQUcsSUFBVztJQUMvQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRkQsc0JBRUM7QUFFRCxTQUFTLEdBQUcsQ0FBQyxZQUFtQixFQUFFLEdBQVcsRUFBRSxHQUFHLElBQVc7SUFDM0QsSUFBSSxhQUFLLElBQUksWUFBWSxFQUFFO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0QyxPQUFPLENBQUMsS0FBSyxDQUFDLGtCQUFrQixTQUFTLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztLQUM3RDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBMZXZlbCB7XG4gIFdBUk4gPSAtMSxcbiAgUVVJRVQgPSAwLFxuICBJTkZPID0gMSxcbiAgVkVSQk9TRSA9IDIsXG4gIFNJTExZID0gMyxcbn1cblxuZXhwb3J0IGNvbnN0IExFVkVMX0lORk86IG51bWJlciA9IExldmVsLklORk87XG5leHBvcnQgY29uc3QgTEVWRUxfVkVSQk9TRTogbnVtYmVyID0gTGV2ZWwuVkVSQk9TRTtcbmV4cG9ydCBjb25zdCBMRVZFTF9TSUxMWTogbnVtYmVyID0gTGV2ZWwuU0lMTFk7XG5cbi8qKiBUaGUgbWluaW1hbCBsb2dnaW5nIGxldmVsIGZvciBtZXNzYWdlcyB0byBiZSBlbWl0dGVkLiAqL1xuZXhwb3J0IGxldCBsZXZlbCA9IExldmVsLlFVSUVUO1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlKHsgbGV2ZWw6IG5ld0xldmVsIH06IHsgbGV2ZWw6IExldmVsIH0pIHtcbiAgbGV2ZWwgPSBuZXdMZXZlbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdhcm4oZm10OiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIGxvZyhMZXZlbC5XQVJOLCBmbXQsIC4uLmFyZ3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5mbyhmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgbG9nKExldmVsLklORk8sIGZtdCwgLi4uYXJncyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWJ1ZyhmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgbG9nKExldmVsLlZFUkJPU0UsIGZtdCwgLi4uYXJncyk7XG59XG5cbmZ1bmN0aW9uIGxvZyhtZXNzYWdlTGV2ZWw6IExldmVsLCBmbXQ6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgaWYgKGxldmVsID49IG1lc3NhZ2VMZXZlbCkge1xuICAgIGNvbnN0IGxldmVsTmFtZSA9IExldmVsW21lc3NhZ2VMZXZlbF07XG4gICAgY29uc29sZS5lcnJvcihgW2pzaWktcGFjbWFrXSBbJHtsZXZlbE5hbWV9XWAsIGZtdCwgLi4uYXJncyk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/npm-modules.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JsiiModule } from './packaging';
|
|
2
|
+
import { Toposorted } from './toposort';
|
|
2
3
|
/**
|
|
3
4
|
* Find all modules that need to be packagerd
|
|
4
5
|
*
|
|
@@ -6,5 +7,5 @@ import { JsiiModule } from './packaging';
|
|
|
6
7
|
*
|
|
7
8
|
* The result is topologically sorted.
|
|
8
9
|
*/
|
|
9
|
-
export declare function findJsiiModules(directories: readonly string[], recurse: boolean): Promise<JsiiModule
|
|
10
|
+
export declare function findJsiiModules(directories: readonly string[], recurse: boolean): Promise<Toposorted<JsiiModule>>;
|
|
10
11
|
export declare function updateAllNpmIgnores(packages: JsiiModule[]): Promise<void>;
|
package/lib/npm-modules.js
CHANGED
|
@@ -108,4 +108,4 @@ async function updateNpmIgnore(packageDir, excludeOutdir) {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLW1vZHVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJucG0tbW9kdWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUU3QiwwQ0FBMEM7QUFDMUMsMkNBQXlDO0FBQ3pDLHlDQUE2QztBQUM3QyxpQ0FBb0Q7QUFFcEQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLGVBQWUsQ0FDbkMsV0FBOEIsRUFDOUIsT0FBZ0I7SUFFaEIsTUFBTSxHQUFHLEdBQWlCLEVBQUUsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBRWxDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpFLE9BQU8sMEJBQWUsQ0FDcEIsR0FBRyxFQUNILENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUNiLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUN6QixDQUFDO0lBRUYsS0FBSyxVQUFVLFlBQVksQ0FBQyxHQUFXLEVBQUUsTUFBZTs7UUFDdEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6QixPQUFPO1NBQ1IsQ0FBQyxrQkFBa0I7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztR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Z0JBQzNCLE9BQU8sQ0FBQyx3QkFBd0I7YUFDakM7WUFFRCxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBRWhCLElBQUksS0FBSyxFQUFFO2dCQUNULEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQzNCLEtBQUssR0FBRyxLQUFLLENBQUM7YUFDZjtZQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNwZWMgZnJvbSAnQGpzaWkvc3BlYyc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgKiBhcyBsb2dnaW5nIGZyb20gJy4uL2xpYi9sb2dnaW5nJztcbmltcG9ydCB7IEpzaWlNb2R1bGUgfSBmcm9tICcuL3BhY2thZ2luZyc7XG5pbXBvcnQgeyB0b3BvbG9naWNhbFNvcnQgfSBmcm9tICcuL3RvcG9zb3J0JztcbmltcG9ydCB7IHJlc29sdmVEZXBlbmRlbmN5RGlyZWN0b3J5IH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBGaW5kIGFsbCBtb2R1bGVzIHRoYXQgbmVlZCB0byBiZSBwYWNrYWdlcmRcbiAqXG4gKiBJZiB0aGUgaW5wdXQgbGlzdCBpcyBlbXB0eSwgaW5jbHVkZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4gKlxuICogVGhlIHJlc3VsdCBpcyB0b3BvbG9naWNhbGx5IHNvcnRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbmRKc2lpTW9kdWxlcyhcbiAgZGlyZWN0b3JpZXM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuICByZWN1cnNlOiBib29sZWFuLFxuKTogUHJvbWlzZTxKc2lpTW9kdWxlW10+IHtcbiAgY29uc3QgcmV0OiBKc2lpTW9kdWxlW10gPSBbXTtcbiAgY29uc3QgdmlzaXRlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGNvbnN0IHRvVmlzaXQgPSBkaXJlY3Rvcmllcy5sZW5ndGggPiAwID8gZGlyZWN0b3JpZXMgOiBbJy4nXTtcbiAgYXdhaXQgUHJvbWlzZS5hbGwodG9WaXNpdC5tYXAoKGRpcikgPT4gdmlzaXRQYWNrYWdlKGRpciwgdHJ1ZSkpKTtcblxuICByZXR1cm4gdG9wb2xvZ2ljYWxTb3J0KFxuICAgIHJldCxcbiAgICAobSkgPT4gbS5uYW1lLFxuICAgIChtKSA9PiBtLmRlcGVuZGVuY3lOYW1lcyxcbiAgKTtcblxuICBhc3luYyBmdW5jdGlvbiB2aXNpdFBhY2thZ2UoZGlyOiBzdHJpbmcsIGlzUm9vdDogYm9vbGVhbikge1xuICAgIGNvbnN0IHJlYWxQYXRoID0gYXdhaXQgZnMucmVhbHBhdGgoZGlyKTtcbiAgICBpZiAodmlzaXRlZC5oYXMocmVhbFBhdGgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfSAvLyBBbHJlYWR5IHZpc2l0ZWRcbiAgICB2aXNpdGVkLmFkZChyZWFsUGF0aCk7XG5cbiAgICBjb25zdCBwa2cgPSBhd2FpdCBmcy5yZWFkSnNvbihwYXRoLmpvaW4ocmVhbFBhdGgsICdwYWNrYWdlLmpzb24nKSk7XG4gICAgaWYgKCFwa2cuanNpaT8ub3V0ZGlyIHx8ICFwa2cuanNpaT8udGFyZ2V0cykge1xuICAgICAgaWYgKGlzUm9vdCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYEludmFsaWQgXCJqc2lpXCIgc2VjdGlvbiBpbiAke3JlYWxQYXRofS4gRXhwZWN0aW5nIFwib3V0ZGlyXCIgYW5kIFwidGFyZ2V0c1wiYCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybjsgLy8ganVzdCBtb3ZlIG9uLCB0aGlzIGlzIG5vdCBhIGpzaWkgcGFja2FnZVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghcGtnLm5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYHBhY2thZ2UuanNvbiBkb2VzIG5vdCBoYXZlIGEgJ25hbWUnIGZpZWxkOiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgIHBrZyxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgMixcbiAgICAgICAgKX1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBlbmRlbmN5TmFtZXMgPSBbXG4gICAgICAuLi5PYmplY3Qua2V5cyhwa2cuZGVwZW5kZW5jaWVzID8/IHt9KSxcbiAgICAgIC4uLk9iamVjdC5rZXlzKHBrZy5wZWVyRGVwZW5kZW5jaWVzID8/IHt9KSxcbiAgICAgIC4uLk9iamVjdC5rZXlzKHBrZy5kZXZEZXBlbmRlbmNpZXMgPz8ge30pLFxuICAgIF07XG5cbiAgICAvLyBpZiAtLXJlY3Vyc2UgaXMgc2V0LCBmaW5kIGRlcGVuZGVuY3kgZGlycyBhbmQgYnVpbGQgdGhlbS5cbiAgICBpZiAocmVjdXJzZSkge1xuICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lc1xuICAgICAgICAgIC5tYXAoKGRlcCkgPT4gcmVzb2x2ZURlcGVuZGVuY3lEaXJlY3RvcnkocmVhbFBhdGgsIGRlcCkpXG4gICAgICAgICAgLm1hcCgoZGVwRGlyKSA9PiB2aXNpdFBhY2thZ2UoZGVwRGlyLCBmYWxzZSkpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBvdXRkaXIgaXMgZWl0aGVyIGJ5IHBhY2thZ2UuanNvbi9qc2lpLm91dGRpciAocmVsYXRpdmUgdG8gcGFja2FnZSByb290KSBvciB2aWEgY29tbWFuZCBsaW5lIChyZWxhdGl2ZSB0byBjd2QpXG4gICAgY29uc3Qgb3V0cHV0RGlyZWN0b3J5ID1cbiAgICAgIHBrZy5qc2lpLm91dGRpciAmJiBwYXRoLnJlc29sdmUocmVhbFBhdGgsIHBrZy5qc2lpLm91dGRpcik7XG4gICAgY29uc3QgdGFyZ2V0cyA9IFsuLi5PYmplY3Qua2V5cyhwa2cuanNpaS50YXJnZXRzKSwgJ2pzJ107IC8vIFwianNcIiBpcyBhbiBpbXBsaWNpdCB0YXJnZXQuXG5cbiAgICByZXQucHVzaChcbiAgICAgIG5ldyBKc2lpTW9kdWxlKHtcbiAgICAgICAgbmFtZTogcGtnLm5hbWUsXG4gICAgICAgIG1vZHVsZURpcmVjdG9yeTogcmVhbFBhdGgsXG4gICAgICAgIGRlZmF1bHRPdXRwdXREaXJlY3Rvcnk6IG91dHB1dERpcmVjdG9yeSxcbiAgICAgICAgYXZhaWxhYmxlVGFyZ2V0czogdGFyZ2V0cyxcbiAgICAgICAgZGVwZW5kZW5jeU5hbWVzLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXBkYXRlQWxsTnBtSWdub3JlcyhcbiAgcGFja2FnZXM6IEpzaWlNb2R1bGVbXSxcbik6IFByb21pc2U8dm9pZD4ge1xuICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICBwYWNrYWdlcy5tYXAoKHBrZykgPT5cbiAgICAgIHVwZGF0ZU5wbUlnbm9yZShwa2cubW9kdWxlRGlyZWN0b3J5LCBwa2cub3V0cHV0RGlyZWN0b3J5KSxcbiAgICApLFxuICApO1xufVxuXG5hc3luYyBmdW5jdGlvbiB1cGRhdGVOcG1JZ25vcmUoXG4gIHBhY2thZ2VEaXI6IHN0cmluZyxcbiAgZXhjbHVkZU91dGRpcjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuKSB7XG4gIGNvbnN0IG5wbUlnbm9yZVBhdGggPSBwYXRoLmpvaW4ocGFja2FnZURpciwgJy5ucG1pZ25vcmUnKTtcbiAgbGV0IGxpbmVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgbGV0IG1vZGlmaWVkID0gZmFsc2U7XG4gIGlmIChhd2FpdCBmcy5wYXRoRXhpc3RzKG5wbUlnbm9yZVBhdGgpKSB7XG4gICAgbGluZXMgPSAoYXdhaXQgZnMucmVhZEZpbGUobnBtSWdub3JlUGF0aCkpLnRvU3RyaW5nKCkuc3BsaXQoJ1xcbicpO1xuICB9XG5cbiAgLy8gaWYgdGhpcyBpcyBhIGZyZXNoIC5ucG1pZ25vcmUsIHdlIGNhbiBiZSBhIGJpdCBtb3JlIG9waW5pb25hdGVkXG4gIC8vIG90aGVyd2lzZSwgd2UgYWRkIGp1c3QgYWRkIHN0dWZmIHRoYXQncyBjcml0aWNhbFxuICBpZiAobGluZXMubGVuZ3RoID09PSAwKSB7XG4gICAgZXhjbHVkZVBhdHRlcm4oXG4gICAgICAnRXhjbHVkZSB0eXBlc2NyaXB0IHNvdXJjZSBhbmQgY29uZmlnJyxcbiAgICAgICcqLnRzJyxcbiAgICAgICd0c2NvbmZpZy5qc29uJyxcbiAgICApO1xuICAgIGluY2x1ZGVQYXR0ZXJuKFxuICAgICAgJ0luY2x1ZGUgamF2YXNjcmlwdCBmaWxlcyBhbmQgdHlwZXNjcmlwdCBkZWNsYXJhdGlvbnMnLFxuICAgICAgJyouanMnLFxuICAgICAgJyouZC50cycsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChleGNsdWRlT3V0ZGlyKSB7XG4gICAgZXhjbHVkZVBhdHRlcm4oXG4gICAgICAnRXhjbHVkZSBqc2lpIG91dGRpcicsXG4gICAgICBwYXRoLnJlbGF0aXZlKHBhY2thZ2VEaXIsIGV4Y2x1ZGVPdXRkaXIpLFxuICAgICk7XG4gIH1cblxuICBpbmNsdWRlUGF0dGVybignSW5jbHVkZSAuanNpaScsIHNwZWMuU1BFQ19GSUxFX05BTUUpO1xuXG4gIGlmIChtb2RpZmllZCkge1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShucG1JZ25vcmVQYXRoLCBgJHtsaW5lcy5qb2luKCdcXG4nKX1cXG5gKTtcbiAgICBsb2dnaW5nLmluZm8oJ1VwZGF0ZWQgLm5wbWlnbm9yZScpO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5jbHVkZVBhdHRlcm4oY29tbWVudDogc3RyaW5nLCAuLi5wYXR0ZXJuczogc3RyaW5nW10pIHtcbiAgICBleGNsdWRlUGF0dGVybihjb21tZW50LCAuLi5wYXR0ZXJucy5tYXAoKHApID0+IGAhJHtwfWApKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGV4Y2x1ZGVQYXR0ZXJuKGNvbW1lbnQ6IHN0cmluZywgLi4ucGF0dGVybnM6IHN0cmluZ1tdKSB7XG4gICAgbGV0IGZpcnN0ID0gdHJ1ZTtcbiAgICBmb3IgKGNvbnN0IHBhdHRlcm4gb2YgcGF0dGVybnMpIHtcbiAgICAgIGlmIChsaW5lcy5pbmNsdWRlcyhwYXR0ZXJuKSkge1xuICAgICAgICByZXR1cm47IC8vIGFscmVhZHkgaW4gLm5wbWlnbm9yZVxuICAgICAgfVxuXG4gICAgICBtb2RpZmllZCA9IHRydWU7XG5cbiAgICAgIGlmIChmaXJzdCkge1xuICAgICAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICAgICAgbGluZXMucHVzaChgIyAke2NvbW1lbnR9YCk7XG4gICAgICAgIGZpcnN0ID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGxpbmVzLnB1c2gocGF0dGVybik7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLW1vZHVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJucG0tbW9kdWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUU3QiwwQ0FBMEM7QUFDMUMsMkNBQXlDO0FBQ3pDLHlDQUF5RDtBQUN6RCxpQ0FBb0Q7QUFFcEQ7Ozs7OztHQU1HO0FBQ0ksS0FBSyxVQUFVLGVBQWUsQ0FDbkMsV0FBOEIsRUFDOUIsT0FBZ0I7SUFFaEIsTUFBTSxHQUFHLEdBQWlCLEVBQUUsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBRWxDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWpFLE9BQU8sMEJBQWUsQ0FDcEIsR0FBRyxFQUNILENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUNiLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUN6QixDQUFDO0lBRUYsS0FBSyxVQUFVLFlBQVksQ0FBQyxHQUFXLEVBQUUsTUFBZTs7UUFDdEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUN6QixPQUFPO1NBQ1IsQ0FBQyxrQkFBa0I7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztR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Z0JBQzNCLE9BQU8sQ0FBQyx3QkFBd0I7YUFDakM7WUFFRCxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBRWhCLElBQUksS0FBSyxFQUFFO2dCQUNULEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2YsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQzNCLEtBQUssR0FBRyxLQUFLLENBQUM7YUFDZjtZQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDckI7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNwZWMgZnJvbSAnQGpzaWkvc3BlYyc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgKiBhcyBsb2dnaW5nIGZyb20gJy4uL2xpYi9sb2dnaW5nJztcbmltcG9ydCB7IEpzaWlNb2R1bGUgfSBmcm9tICcuL3BhY2thZ2luZyc7XG5pbXBvcnQgeyB0b3BvbG9naWNhbFNvcnQsIFRvcG9zb3J0ZWQgfSBmcm9tICcuL3RvcG9zb3J0JztcbmltcG9ydCB7IHJlc29sdmVEZXBlbmRlbmN5RGlyZWN0b3J5IH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBGaW5kIGFsbCBtb2R1bGVzIHRoYXQgbmVlZCB0byBiZSBwYWNrYWdlcmRcbiAqXG4gKiBJZiB0aGUgaW5wdXQgbGlzdCBpcyBlbXB0eSwgaW5jbHVkZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4gKlxuICogVGhlIHJlc3VsdCBpcyB0b3BvbG9naWNhbGx5IHNvcnRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbmRKc2lpTW9kdWxlcyhcbiAgZGlyZWN0b3JpZXM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuICByZWN1cnNlOiBib29sZWFuLFxuKTogUHJvbWlzZTxUb3Bvc29ydGVkPEpzaWlNb2R1bGU+PiB7XG4gIGNvbnN0IHJldDogSnNpaU1vZHVsZVtdID0gW107XG4gIGNvbnN0IHZpc2l0ZWQgPSBuZXcgU2V0PHN0cmluZz4oKTtcblxuICBjb25zdCB0b1Zpc2l0ID0gZGlyZWN0b3JpZXMubGVuZ3RoID4gMCA/IGRpcmVjdG9yaWVzIDogWycuJ107XG4gIGF3YWl0IFByb21pc2UuYWxsKHRvVmlzaXQubWFwKChkaXIpID0+IHZpc2l0UGFja2FnZShkaXIsIHRydWUpKSk7XG5cbiAgcmV0dXJuIHRvcG9sb2dpY2FsU29ydChcbiAgICByZXQsXG4gICAgKG0pID0+IG0ubmFtZSxcbiAgICAobSkgPT4gbS5kZXBlbmRlbmN5TmFtZXMsXG4gICk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gdmlzaXRQYWNrYWdlKGRpcjogc3RyaW5nLCBpc1Jvb3Q6IGJvb2xlYW4pIHtcbiAgICBjb25zdCByZWFsUGF0aCA9IGF3YWl0IGZzLnJlYWxwYXRoKGRpcik7XG4gICAgaWYgKHZpc2l0ZWQuaGFzKHJlYWxQYXRoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gQWxyZWFkeSB2aXNpdGVkXG4gICAgdmlzaXRlZC5hZGQocmVhbFBhdGgpO1xuXG4gICAgY29uc3QgcGtnID0gYXdhaXQgZnMucmVhZEpzb24ocGF0aC5qb2luKHJlYWxQYXRoLCAncGFja2FnZS5qc29uJykpO1xuICAgIGlmICghcGtnLmpzaWk/Lm91dGRpciB8fCAhcGtnLmpzaWk/LnRhcmdldHMpIHtcbiAgICAgIGlmIChpc1Jvb3QpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIFwianNpaVwiIHNlY3Rpb24gaW4gJHtyZWFsUGF0aH0uIEV4cGVjdGluZyBcIm91dGRpclwiIGFuZCBcInRhcmdldHNcImAsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm47IC8vIGp1c3QgbW92ZSBvbiwgdGhpcyBpcyBub3QgYSBqc2lpIHBhY2thZ2VcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIXBrZy5uYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBwYWNrYWdlLmpzb24gZG9lcyBub3QgaGF2ZSBhICduYW1lJyBmaWVsZDogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBwa2csXG4gICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgIDIsXG4gICAgICAgICl9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVwZW5kZW5jeU5hbWVzID0gW1xuICAgICAgLi4uT2JqZWN0LmtleXMocGtnLmRlcGVuZGVuY2llcyA/PyB7fSksXG4gICAgICAuLi5PYmplY3Qua2V5cyhwa2cucGVlckRlcGVuZGVuY2llcyA/PyB7fSksXG4gICAgICAuLi5PYmplY3Qua2V5cyhwa2cuZGV2RGVwZW5kZW5jaWVzID8/IHt9KSxcbiAgICBdO1xuXG4gICAgLy8gaWYgLS1yZWN1cnNlIGlzIHNldCwgZmluZCBkZXBlbmRlbmN5IGRpcnMgYW5kIGJ1aWxkIHRoZW0uXG4gICAgaWYgKHJlY3Vyc2UpIHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBkZXBlbmRlbmN5TmFtZXNcbiAgICAgICAgICAubWFwKChkZXApID0+IHJlc29sdmVEZXBlbmRlbmN5RGlyZWN0b3J5KHJlYWxQYXRoLCBkZXApKVxuICAgICAgICAgIC5tYXAoKGRlcERpcikgPT4gdmlzaXRQYWNrYWdlKGRlcERpciwgZmFsc2UpKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gb3V0ZGlyIGlzIGVpdGhlciBieSBwYWNrYWdlLmpzb24vanNpaS5vdXRkaXIgKHJlbGF0aXZlIHRvIHBhY2thZ2Ugcm9vdCkgb3IgdmlhIGNvbW1hbmQgbGluZSAocmVsYXRpdmUgdG8gY3dkKVxuICAgIGNvbnN0IG91dHB1dERpcmVjdG9yeSA9XG4gICAgICBwa2cuanNpaS5vdXRkaXIgJiYgcGF0aC5yZXNvbHZlKHJlYWxQYXRoLCBwa2cuanNpaS5vdXRkaXIpO1xuICAgIGNvbnN0IHRhcmdldHMgPSBbLi4uT2JqZWN0LmtleXMocGtnLmpzaWkudGFyZ2V0cyksICdqcyddOyAvLyBcImpzXCIgaXMgYW4gaW1wbGljaXQgdGFyZ2V0LlxuXG4gICAgcmV0LnB1c2goXG4gICAgICBuZXcgSnNpaU1vZHVsZSh7XG4gICAgICAgIG5hbWU6IHBrZy5uYW1lLFxuICAgICAgICBtb2R1bGVEaXJlY3Rvcnk6IHJlYWxQYXRoLFxuICAgICAgICBkZWZhdWx0T3V0cHV0RGlyZWN0b3J5OiBvdXRwdXREaXJlY3RvcnksXG4gICAgICAgIGF2YWlsYWJsZVRhcmdldHM6IHRhcmdldHMsXG4gICAgICAgIGRlcGVuZGVuY3lOYW1lcyxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUFsbE5wbUlnbm9yZXMoXG4gIHBhY2thZ2VzOiBKc2lpTW9kdWxlW10sXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgcGFja2FnZXMubWFwKChwa2cpID0+XG4gICAgICB1cGRhdGVOcG1JZ25vcmUocGtnLm1vZHVsZURpcmVjdG9yeSwgcGtnLm91dHB1dERpcmVjdG9yeSksXG4gICAgKSxcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gdXBkYXRlTnBtSWdub3JlKFxuICBwYWNrYWdlRGlyOiBzdHJpbmcsXG4gIGV4Y2x1ZGVPdXRkaXI6IHN0cmluZyB8IHVuZGVmaW5lZCxcbikge1xuICBjb25zdCBucG1JZ25vcmVQYXRoID0gcGF0aC5qb2luKHBhY2thZ2VEaXIsICcubnBtaWdub3JlJyk7XG4gIGxldCBsaW5lcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gIGxldCBtb2RpZmllZCA9IGZhbHNlO1xuICBpZiAoYXdhaXQgZnMucGF0aEV4aXN0cyhucG1JZ25vcmVQYXRoKSkge1xuICAgIGxpbmVzID0gKGF3YWl0IGZzLnJlYWRGaWxlKG5wbUlnbm9yZVBhdGgpKS50b1N0cmluZygpLnNwbGl0KCdcXG4nKTtcbiAgfVxuXG4gIC8vIGlmIHRoaXMgaXMgYSBmcmVzaCAubnBtaWdub3JlLCB3ZSBjYW4gYmUgYSBiaXQgbW9yZSBvcGluaW9uYXRlZFxuICAvLyBvdGhlcndpc2UsIHdlIGFkZCBqdXN0IGFkZCBzdHVmZiB0aGF0J3MgY3JpdGljYWxcbiAgaWYgKGxpbmVzLmxlbmd0aCA9PT0gMCkge1xuICAgIGV4Y2x1ZGVQYXR0ZXJuKFxuICAgICAgJ0V4Y2x1ZGUgdHlwZXNjcmlwdCBzb3VyY2UgYW5kIGNvbmZpZycsXG4gICAgICAnKi50cycsXG4gICAgICAndHNjb25maWcuanNvbicsXG4gICAgKTtcbiAgICBpbmNsdWRlUGF0dGVybihcbiAgICAgICdJbmNsdWRlIGphdmFzY3JpcHQgZmlsZXMgYW5kIHR5cGVzY3JpcHQgZGVjbGFyYXRpb25zJyxcbiAgICAgICcqLmpzJyxcbiAgICAgICcqLmQudHMnLFxuICAgICk7XG4gIH1cblxuICBpZiAoZXhjbHVkZU91dGRpcikge1xuICAgIGV4Y2x1ZGVQYXR0ZXJuKFxuICAgICAgJ0V4Y2x1ZGUganNpaSBvdXRkaXInLFxuICAgICAgcGF0aC5yZWxhdGl2ZShwYWNrYWdlRGlyLCBleGNsdWRlT3V0ZGlyKSxcbiAgICApO1xuICB9XG5cbiAgaW5jbHVkZVBhdHRlcm4oJ0luY2x1ZGUgLmpzaWknLCBzcGVjLlNQRUNfRklMRV9OQU1FKTtcblxuICBpZiAobW9kaWZpZWQpIHtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUobnBtSWdub3JlUGF0aCwgYCR7bGluZXMuam9pbignXFxuJyl9XFxuYCk7XG4gICAgbG9nZ2luZy5pbmZvKCdVcGRhdGVkIC5ucG1pZ25vcmUnKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluY2x1ZGVQYXR0ZXJuKGNvbW1lbnQ6IHN0cmluZywgLi4ucGF0dGVybnM6IHN0cmluZ1tdKSB7XG4gICAgZXhjbHVkZVBhdHRlcm4oY29tbWVudCwgLi4ucGF0dGVybnMubWFwKChwKSA9PiBgISR7cH1gKSk7XG4gIH1cblxuICBmdW5jdGlvbiBleGNsdWRlUGF0dGVybihjb21tZW50OiBzdHJpbmcsIC4uLnBhdHRlcm5zOiBzdHJpbmdbXSkge1xuICAgIGxldCBmaXJzdCA9IHRydWU7XG4gICAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIHBhdHRlcm5zKSB7XG4gICAgICBpZiAobGluZXMuaW5jbHVkZXMocGF0dGVybikpIHtcbiAgICAgICAgcmV0dXJuOyAvLyBhbHJlYWR5IGluIC5ucG1pZ25vcmVcbiAgICAgIH1cblxuICAgICAgbW9kaWZpZWQgPSB0cnVlO1xuXG4gICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgbGluZXMucHVzaCgnJyk7XG4gICAgICAgIGxpbmVzLnB1c2goYCMgJHtjb21tZW50fWApO1xuICAgICAgICBmaXJzdCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBsaW5lcy5wdXNoKHBhdHRlcm4pO1xuICAgIH1cbiAgfVxufVxuIl19
|