@aerokit/sdk 14.76.0 → 14.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core/configurations.js +19 -1
- package/dist/cjs/etcd/client.js +1 -1
- package/dist/cjs/http/client-async.js +2 -2
- package/dist/cjs/qldb/qldb.js +1 -1
- package/dist/dts/core/configurations.d.ts +56 -0
- package/dist/dts/etcd/client.d.ts +5 -0
- package/dist/dts/qldb/qldb.d.ts +4 -0
- package/dist/esm/core/configurations.mjs +19 -1
- package/dist/esm/etcd/client.mjs +1 -1
- package/dist/esm/http/client-async.mjs +2 -2
- package/dist/esm/qldb/qldb.mjs +1 -1
- package/package.json +1 -1
- package/test/flows/list.js +35 -2
- package/test/form.js +36 -2
- package/dist/cjs/kafka/consumer.js +0 -71
- package/dist/cjs/kafka/index.js +0 -29
- package/dist/cjs/kafka/producer.js +0 -72
- package/dist/dts/kafka/consumer.d.ts +0 -79
- package/dist/dts/kafka/index.d.ts +0 -15
- package/dist/dts/kafka/producer.d.ts +0 -81
- package/dist/esm/kafka/consumer.mjs +0 -52
- package/dist/esm/kafka/index.mjs +0 -9
- package/dist/esm/kafka/producer.mjs +0 -53
|
@@ -21,6 +21,7 @@ __export(configurations_exports, {
|
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(configurations_exports);
|
|
23
23
|
const Configuration = Java.type("org.eclipse.dirigible.commons.config.Configuration");
|
|
24
|
+
const ConfigurationsFacade = Java.type("org.eclipse.dirigible.components.api.core.ConfigurationsFacade");
|
|
24
25
|
class Configurations {
|
|
25
26
|
/**
|
|
26
27
|
* Retrieves the configuration value associated with the given key.
|
|
@@ -55,6 +56,23 @@ class Configurations {
|
|
|
55
56
|
static getKeys() {
|
|
56
57
|
return Configuration.getKeys();
|
|
57
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Retrieves the configuration groups, in display order, with the number of keys and of set keys in each.
|
|
61
|
+
* @returns The groups.
|
|
62
|
+
*/
|
|
63
|
+
static getGroups() {
|
|
64
|
+
return JSON.parse(ConfigurationsFacade.getGroups());
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Retrieves the described configuration keys, grouped: default, effective value, its source and the value
|
|
68
|
+
* of each source. Sensitive values are masked.
|
|
69
|
+
* @param group A group id (e.g. "database") or several; all groups when omitted.
|
|
70
|
+
* @returns The groups that have keys.
|
|
71
|
+
*/
|
|
72
|
+
static getDescriptors(group) {
|
|
73
|
+
const groups = group === void 0 ? null : Array.isArray(group) ? group.join(",") : group;
|
|
74
|
+
return JSON.parse(ConfigurationsFacade.getDescriptors(groups));
|
|
75
|
+
}
|
|
58
76
|
/**
|
|
59
77
|
* Loads configuration properties from a file at the specified path, overriding existing ones.
|
|
60
78
|
* @param path The file path to load configurations from.
|
|
@@ -107,4 +125,4 @@ class Configurations {
|
|
|
107
125
|
if (typeof module !== "undefined") {
|
|
108
126
|
module.exports = Configurations;
|
|
109
127
|
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvY29uZmlndXJhdGlvbnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBjb3JlL2NvbmZpZ3VyYXRpb25zXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvY29yZVxuICogQG5hbWUgQ29uZmlndXJhdGlvbnNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQ29uZmlndXJhdGlvbnMgQVBJIHByb3ZpZGVzIGEgY2VudHJhbGl6ZWQsIHR5cGUtc2FmZSBpbnRlcmZhY2UgZm9yIG1hbmFnaW5nIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBhbmQgZGV0ZWN0aW5nIHRoZSBydW50aW1lIG9wZXJhdGluZyBzeXN0ZW0uIEl0IHNlcnZlcyBhcyB0aGUgZm91bmRhdGlvbiBmb3IgZW52aXJvbm1lbnQtc3BlY2lmaWMgc2V0dGluZ3MgYW5kIHN5c3RlbS1hd2FyZSBiZWhhdmlvciBpbiBBZXJva2l0IGFwcGxpY2F0aW9ucy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogXG4gKiAtICoqU3RhdGljIEludGVyZmFjZSoqOiBUaHJlYWQtc2FmZSwgc2luZ2xldG9uLWxpa2UgYWNjZXNzIHRvIGNvbmZpZ3VyYXRpb24gZGF0YVxuICogLSAqKlR5cGUgU2FmZXR5Kio6IEZ1bGwgVHlwZVNjcmlwdCBzdXBwb3J0IHdpdGggcHJvcGVyIHR5cGUgZGVmaW5pdGlvbnNcbiAqIC0gKipGaWxlIExvYWRpbmcqKjogU3VwcG9ydCBmb3IgbG9hZGluZyBjb25maWd1cmF0aW9ucyBmcm9tIGV4dGVybmFsIGZpbGVzXG4gKiAtICoqT1MgRGV0ZWN0aW9uKio6IENvbXByZWhlbnNpdmUgb3BlcmF0aW5nIHN5c3RlbSBpZGVudGlmaWNhdGlvblxuICogLSAqKk1lbW9yeSBFZmZpY2llbnQqKjogSW4tbWVtb3J5IHN0b3JhZ2Ugd2l0aCBvcHRpb25hbCBwZXJzaXN0ZW5jZVxuICogXG4gKiAjIyMgVXNlIENhc2VzXG4gKiAtIEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudFxuICogLSBFbnZpcm9ubWVudCB2YXJpYWJsZSBtYW5hZ2VtZW50XG4gKiAtIEZlYXR1cmUgZmxhZyBjb25maWd1cmF0aW9uXG4gKiAtIERhdGFiYXNlIGNvbm5lY3Rpb24gc2V0dGluZ3NcbiAqIC0gQVBJIGVuZHBvaW50IGNvbmZpZ3VyYXRpb25cbiAqIC0gUGxhdGZvcm0tc3BlY2lmaWMgYmVoYXZpb3IgYWRhcHRhdGlvblxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9jb3JlXCI7XG4gKiBcbiAqIC8vIFNldCBhIGNvbmZpZ3VyYXRpb24gcHJvcGVydHlcbiAqIENvbmZpZ3VyYXRpb25zLnNldChcImFwaUVuZHBvaW50XCIsIFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIik7XG4gKiAvLyBHZXQgYSBjb25maWd1cmF0aW9uIHByb3BlcnR5XG4gKiBjb25zdCBhcGlFbmRwb2ludCA9IENvbmZpZ3VyYXRpb25zLmdldChcImFwaUVuZHBvaW50XCIpO1xuICogY29uc29sZS5sb2coYXBpRW5kcG9pbnQpOyAvLyBPdXRwdXQ6IFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIlxuICogXG4gKiAvLyBDaGVjayB0aGUgb3BlcmF0aW5nIHN5c3RlbVxuICogaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NXaW5kb3dzKCkpIHtcbiAqICAgY29uc29sZS5sb2coXCJSdW5uaW5nIG9uIFdpbmRvd3NcIik7XG4gKiB9IGVsc2UgaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NNYWMoKSkge1xuICogICBjb25zb2xlLmxvZyhcIlJ1bm5pbmcgb24gTWFjXCIpO1xuICogfSBlbHNlIGlmIChDb25maWd1cmF0aW9ucy5pc09TVU5JWCgpKSB7XG4gKiAgIGNvbnNvbGUubG9nKFwiUnVubmluZyBvbiBVTklYXCIpO1xuICogfVxuICogYGBgXG4qL1xuXG5jb25zdCBDb25maWd1cmF0aW9uID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbW1vbnMuY29uZmlnLkNvbmZpZ3VyYXRpb25cIik7XG5cbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9ucyB7XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY29uZmlndXJhdGlvbiB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGtleS5cblx0ICogQHBhcmFtIGtleSBUaGUgY29uZmlndXJhdGlvbiBrZXkuXG5cdCAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVGhlIG9wdGlvbmFsIGRlZmF1bHQgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBrZXkgaXMgbm90IGZvdW5kLlxuXHQgKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiB2YWx1ZSBhcyBhIHN0cmluZywgb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGtleSBpcyBub3QgZm91bmQgYW5kIG5vIGRlZmF1bHQgaXMgcHJvdmlkZWQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCB2YWx1ZSA9IENvbmZpZ3VyYXRpb24uZ2V0KGtleSwgZGVmYXVsdFZhbHVlKTtcblx0XHRyZXR1cm4gdmFsdWUgPz8gdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgZm9yIHRoZSBnaXZlbiBrZXkuXG5cdCAqIElmIHRoZSBrZXkgYWxyZWFkeSBleGlzdHMsIGl0cyB2YWx1ZSBpcyBvdmVyd3JpdHRlbi5cblx0ICogQHBhcmFtIGtleSBUaGUgY29uZmlndXJhdGlvbiBrZXkuXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgY29uZmlndXJhdGlvbiB2YWx1ZSB0byBzZXQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdENvbmZpZ3VyYXRpb24uc2V0KGtleSwgdmFsdWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZXMgdGhlIGNvbmZpZ3VyYXRpb24gcHJvcGVydHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkuXG5cdCAqIEBwYXJhbSBrZXkgVGhlIGNvbmZpZ3VyYXRpb24ga2V5IHRvIHJlbW92ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcmVtb3ZlKGtleTogc3RyaW5nKTogdm9pZCB7XG5cdFx0Q29uZmlndXJhdGlvbi5yZW1vdmUoa2V5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGFsbCBjdXJyZW50IGNvbmZpZ3VyYXRpb24ga2V5cy5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBrZXlzIChzdHJpbmdzKS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0S2V5cygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uZ2V0S2V5cygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvYWRzIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmcm9tIGEgZmlsZSBhdCB0aGUgc3BlY2lmaWVkIHBhdGgsIG92ZXJyaWRpbmcgZXhpc3Rpbmcgb25lcy5cblx0ICogQHBhcmFtIHBhdGggVGhlIGZpbGUgcGF0aCB0byBsb2FkIGNvbmZpZ3VyYXRpb25zIGZyb20uXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGxvYWQocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Q29uZmlndXJhdGlvbi5sb2FkKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbG9hZHMgb3IgdXBkYXRlcyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZyb20gdGhlaXIgc291cmNlIChlLmcuLCBwZXJzaXN0ZW5jZSBsYXllcikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHVwZGF0ZSgpOiB2b2lkIHtcblx0XHRDb25maWd1cmF0aW9uLnVwZGF0ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtLlxuXHQgKiBAcmV0dXJucyBUaGUgT1MgbmFtZSBhcyBhIHN0cmluZyAoZS5nLiwgXCJXaW5kb3dzXCIsIFwiTGludXhcIiwgXCJNYWMgT1MgWFwiKS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0T1MoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvbi5nZXRPUygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtIGlzIFdpbmRvd3MuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIE9TIGlzIFdpbmRvd3MsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPU1dpbmRvd3MoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU1dpbmRvd3MoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBNYWMgT1MgKG9yIE1hYyBPUyBYKS5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgT1MgaXMgTWFjLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT1NNYWMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU01hYygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtIGlzIGEgVU5JWC1saWtlIHN5c3RlbSAoZS5nLiwgTGludXgsIG1hY09TLCBvciBvdGhlcnMpLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBPUyBpcyBhIFVOSVggdmFyaWFudCwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc09TVU5JWCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvbi5pc09TVU5JWCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtIGlzIFNvbGFyaXMuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIE9TIGlzIFNvbGFyaXMsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPU1NvbGFyaXMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU1NvbGFyaXMoKTtcblx0fVxuXG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ29uZmlndXJhdGlvbnM7XG59Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkNBLE1BQU0sZ0JBQWdCLEtBQUssS0FBSyxvREFBb0Q7QUFFN0UsTUFBTSxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRM0IsT0FBYyxJQUFJLEtBQWEsY0FBMkM7QUFDekUsVUFBTSxRQUFRLGNBQWMsSUFBSSxLQUFLLFlBQVk7QUFDakQsV0FBTyxTQUFTO0FBQUEsRUFDakI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsSUFBSSxLQUFhLE9BQXFCO0FBQ25ELGtCQUFjLElBQUksS0FBSyxLQUFLO0FBQUEsRUFDN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxPQUFPLEtBQW1CO0FBQ3ZDLGtCQUFjLE9BQU8sR0FBRztBQUFBLEVBQ3pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBb0I7QUFDakMsV0FBTyxjQUFjLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLEtBQUssTUFBb0I7QUFDdEMsa0JBQWMsS0FBSyxJQUFJO0FBQUEsRUFDeEI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE9BQWMsU0FBZTtBQUM1QixrQkFBYyxPQUFPO0FBQUEsRUFDdEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxRQUFnQjtBQUM3QixXQUFPLGNBQWMsTUFBTTtBQUFBLEVBQzVCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsY0FBdUI7QUFDcEMsV0FBTyxjQUFjLFlBQVk7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFVBQW1CO0FBQ2hDLFdBQU8sY0FBYyxRQUFRO0FBQUEsRUFDOUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxXQUFvQjtBQUNqQyxXQUFPLGNBQWMsU0FBUztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsY0FBdUI7QUFDcEMsV0FBTyxjQUFjLFlBQVk7QUFBQSxFQUNsQztBQUVEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvY29uZmlndXJhdGlvbnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBjb3JlL2NvbmZpZ3VyYXRpb25zXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvY29yZVxuICogQG5hbWUgQ29uZmlndXJhdGlvbnNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQ29uZmlndXJhdGlvbnMgQVBJIHByb3ZpZGVzIGEgY2VudHJhbGl6ZWQsIHR5cGUtc2FmZSBpbnRlcmZhY2UgZm9yIG1hbmFnaW5nIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBhbmQgZGV0ZWN0aW5nIHRoZSBydW50aW1lIG9wZXJhdGluZyBzeXN0ZW0uIEl0IHNlcnZlcyBhcyB0aGUgZm91bmRhdGlvbiBmb3IgZW52aXJvbm1lbnQtc3BlY2lmaWMgc2V0dGluZ3MgYW5kIHN5c3RlbS1hd2FyZSBiZWhhdmlvciBpbiBBZXJva2l0IGFwcGxpY2F0aW9ucy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogXG4gKiAtICoqU3RhdGljIEludGVyZmFjZSoqOiBUaHJlYWQtc2FmZSwgc2luZ2xldG9uLWxpa2UgYWNjZXNzIHRvIGNvbmZpZ3VyYXRpb24gZGF0YVxuICogLSAqKlR5cGUgU2FmZXR5Kio6IEZ1bGwgVHlwZVNjcmlwdCBzdXBwb3J0IHdpdGggcHJvcGVyIHR5cGUgZGVmaW5pdGlvbnNcbiAqIC0gKipGaWxlIExvYWRpbmcqKjogU3VwcG9ydCBmb3IgbG9hZGluZyBjb25maWd1cmF0aW9ucyBmcm9tIGV4dGVybmFsIGZpbGVzXG4gKiAtICoqT1MgRGV0ZWN0aW9uKio6IENvbXByZWhlbnNpdmUgb3BlcmF0aW5nIHN5c3RlbSBpZGVudGlmaWNhdGlvblxuICogLSAqKk1lbW9yeSBFZmZpY2llbnQqKjogSW4tbWVtb3J5IHN0b3JhZ2Ugd2l0aCBvcHRpb25hbCBwZXJzaXN0ZW5jZVxuICogXG4gKiAjIyMgVXNlIENhc2VzXG4gKiAtIEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudFxuICogLSBFbnZpcm9ubWVudCB2YXJpYWJsZSBtYW5hZ2VtZW50XG4gKiAtIEZlYXR1cmUgZmxhZyBjb25maWd1cmF0aW9uXG4gKiAtIERhdGFiYXNlIGNvbm5lY3Rpb24gc2V0dGluZ3NcbiAqIC0gQVBJIGVuZHBvaW50IGNvbmZpZ3VyYXRpb25cbiAqIC0gUGxhdGZvcm0tc3BlY2lmaWMgYmVoYXZpb3IgYWRhcHRhdGlvblxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9jb3JlXCI7XG4gKiBcbiAqIC8vIFNldCBhIGNvbmZpZ3VyYXRpb24gcHJvcGVydHlcbiAqIENvbmZpZ3VyYXRpb25zLnNldChcImFwaUVuZHBvaW50XCIsIFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIik7XG4gKiAvLyBHZXQgYSBjb25maWd1cmF0aW9uIHByb3BlcnR5XG4gKiBjb25zdCBhcGlFbmRwb2ludCA9IENvbmZpZ3VyYXRpb25zLmdldChcImFwaUVuZHBvaW50XCIpO1xuICogY29uc29sZS5sb2coYXBpRW5kcG9pbnQpOyAvLyBPdXRwdXQ6IFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIlxuICogXG4gKiAvLyBDaGVjayB0aGUgb3BlcmF0aW5nIHN5c3RlbVxuICogaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NXaW5kb3dzKCkpIHtcbiAqICAgY29uc29sZS5sb2coXCJSdW5uaW5nIG9uIFdpbmRvd3NcIik7XG4gKiB9IGVsc2UgaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NNYWMoKSkge1xuICogICBjb25zb2xlLmxvZyhcIlJ1bm5pbmcgb24gTWFjXCIpO1xuICogfSBlbHNlIGlmIChDb25maWd1cmF0aW9ucy5pc09TVU5JWCgpKSB7XG4gKiAgIGNvbnNvbGUubG9nKFwiUnVubmluZyBvbiBVTklYXCIpO1xuICogfVxuICogYGBgXG4qL1xuXG5jb25zdCBDb25maWd1cmF0aW9uID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbW1vbnMuY29uZmlnLkNvbmZpZ3VyYXRpb25cIik7XG5jb25zdCBDb25maWd1cmF0aW9uc0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5jb3JlLkNvbmZpZ3VyYXRpb25zRmFjYWRlXCIpO1xuXG4vKipcbiAqIEEgY29uZmlndXJhdGlvbiBncm91cCB3aXRoIHRoZSBudW1iZXIgb2YgaXRzIGtleXMgYW5kIG9mIHRoZSBrZXlzIGFueSBzb3VyY2Ugc2V0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uR3JvdXAge1xuXHRpZDogc3RyaW5nO1xuXHRzZWN0aW9uOiBzdHJpbmc7XG5cdGxhYmVsOiBzdHJpbmc7XG5cdG9yZGVyOiBudW1iZXI7XG5cdHRvdGFsOiBudW1iZXI7XG5cdHNldDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEEgZGVzY3JpYmVkIGNvbmZpZ3VyYXRpb24ga2V5LiBFdmVyeSB2YWx1ZSBpcyBtYXNrZWQgYXMgXCIqKioqKioqKlwiIHdoZW4gdGhlIGtleSBpcyBzZW5zaXRpdmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbkRlc2NyaXB0b3Ige1xuXHRrZXk6IHN0cmluZztcblx0c3ViZ3JvdXA/OiBzdHJpbmc7XG5cdHR5cGU/OiBzdHJpbmc7XG5cdGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblx0LyoqIFRoZSBlZmZlY3RpdmUgdmFsdWUuICovXG5cdHZhbHVlPzogc3RyaW5nO1xuXHQvKiogV2hlcmUgdGhlIGVmZmVjdGl2ZSB2YWx1ZSBjb21lcyBmcm9tLiAqL1xuXHRzb3VyY2U6IFwicnVudGltZVwiIHwgXCJlbnZpcm9ubWVudFwiIHwgXCJkZXBsb3ltZW50XCIgfCBcIm1vZHVsZVwiIHwgXCJkZWZhdWx0XCIgfCBcInVuc2V0XCI7XG5cdC8qKiBUaGUgdmFsdWUgZWFjaCBzb3VyY2UgZ2l2ZXMgdGhlIGtleS4gKi9cblx0dmFsdWVzOiB7IHJ1bnRpbWU/OiBzdHJpbmc7IGVudmlyb25tZW50Pzogc3RyaW5nOyBkZXBsb3ltZW50Pzogc3RyaW5nOyBtb2R1bGU/OiBzdHJpbmcgfTtcblx0c2Vuc2l0aXZlOiBib29sZWFuO1xuXHRyZXN0YXJ0UmVxdWlyZWQ/OiBib29sZWFuO1xuXHR0ZW5hbnRPdmVycmlkYWJsZTogYm9vbGVhbjtcblx0ZGVwcmVjYXRlZEJ5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgY29uZmlndXJhdGlvbiBncm91cCB3aXRoIGl0cyBkZXNjcmliZWQga2V5cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uRGVzY3JpcHRvckdyb3VwIHtcblx0Z3JvdXA6IHN0cmluZztcblx0c2VjdGlvbjogc3RyaW5nO1xuXHRsYWJlbDogc3RyaW5nO1xuXHRlbnRyaWVzOiBDb25maWd1cmF0aW9uRGVzY3JpcHRvcltdO1xufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbnMge1xuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkuXG5cdCAqIEBwYXJhbSBrZXkgVGhlIGNvbmZpZ3VyYXRpb24ga2V5LlxuXHQgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFRoZSBvcHRpb25hbCBkZWZhdWx0IHZhbHVlIHRvIHJldHVybiBpZiB0aGUga2V5IGlzIG5vdCBmb3VuZC5cblx0ICogQHJldHVybnMgVGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgYXMgYSBzdHJpbmcsIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBrZXkgaXMgbm90IGZvdW5kIGFuZCBubyBkZWZhdWx0IGlzIHByb3ZpZGVkLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXQoa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdmFsdWUgPSBDb25maWd1cmF0aW9uLmdldChrZXksIGRlZmF1bHRWYWx1ZSk7XG5cdFx0cmV0dXJuIHZhbHVlID8/IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBjb25maWd1cmF0aW9uIHZhbHVlIGZvciB0aGUgZ2l2ZW4ga2V5LlxuXHQgKiBJZiB0aGUga2V5IGFscmVhZHkgZXhpc3RzLCBpdHMgdmFsdWUgaXMgb3ZlcndyaXR0ZW4uXG5cdCAqIEBwYXJhbSBrZXkgVGhlIGNvbmZpZ3VyYXRpb24ga2V5LlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgdG8gc2V0LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRDb25maWd1cmF0aW9uLnNldChrZXksIHZhbHVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIHRoZSBjb25maWd1cmF0aW9uIHByb3BlcnR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuXHQgKiBAcGFyYW0ga2V5IFRoZSBjb25maWd1cmF0aW9uIGtleSB0byByZW1vdmUuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHJlbW92ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuXHRcdENvbmZpZ3VyYXRpb24ucmVtb3ZlKGtleSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgY3VycmVudCBjb25maWd1cmF0aW9uIGtleXMuXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24ga2V5cyAoc3RyaW5ncykuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldEtleXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmdldEtleXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbmZpZ3VyYXRpb24gZ3JvdXBzLCBpbiBkaXNwbGF5IG9yZGVyLCB3aXRoIHRoZSBudW1iZXIgb2Yga2V5cyBhbmQgb2Ygc2V0IGtleXMgaW4gZWFjaC5cblx0ICogQHJldHVybnMgVGhlIGdyb3Vwcy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0R3JvdXBzKCk6IENvbmZpZ3VyYXRpb25Hcm91cFtdIHtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShDb25maWd1cmF0aW9uc0ZhY2FkZS5nZXRHcm91cHMoKSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBkZXNjcmliZWQgY29uZmlndXJhdGlvbiBrZXlzLCBncm91cGVkOiBkZWZhdWx0LCBlZmZlY3RpdmUgdmFsdWUsIGl0cyBzb3VyY2UgYW5kIHRoZSB2YWx1ZVxuXHQgKiBvZiBlYWNoIHNvdXJjZS4gU2Vuc2l0aXZlIHZhbHVlcyBhcmUgbWFza2VkLlxuXHQgKiBAcGFyYW0gZ3JvdXAgQSBncm91cCBpZCAoZS5nLiBcImRhdGFiYXNlXCIpIG9yIHNldmVyYWw7IGFsbCBncm91cHMgd2hlbiBvbWl0dGVkLlxuXHQgKiBAcmV0dXJucyBUaGUgZ3JvdXBzIHRoYXQgaGF2ZSBrZXlzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXREZXNjcmlwdG9ycyhncm91cD86IHN0cmluZyB8IHN0cmluZ1tdKTogQ29uZmlndXJhdGlvbkRlc2NyaXB0b3JHcm91cFtdIHtcblx0XHRjb25zdCBncm91cHMgPSBncm91cCA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IEFycmF5LmlzQXJyYXkoZ3JvdXApID8gZ3JvdXAuam9pbihcIixcIikgOiBncm91cDtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShDb25maWd1cmF0aW9uc0ZhY2FkZS5nZXREZXNjcmlwdG9ycyhncm91cHMpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2FkcyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZnJvbSBhIGZpbGUgYXQgdGhlIHNwZWNpZmllZCBwYXRoLCBvdmVycmlkaW5nIGV4aXN0aW5nIG9uZXMuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBmaWxlIHBhdGggdG8gbG9hZCBjb25maWd1cmF0aW9ucyBmcm9tLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBsb2FkKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdENvbmZpZ3VyYXRpb24ubG9hZChwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWxvYWRzIG9yIHVwZGF0ZXMgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmcm9tIHRoZWlyIHNvdXJjZSAoZS5nLiwgcGVyc2lzdGVuY2UgbGF5ZXIpLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyB1cGRhdGUoKTogdm9pZCB7XG5cdFx0Q29uZmlndXJhdGlvbi51cGRhdGUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbS5cblx0ICogQHJldHVybnMgVGhlIE9TIG5hbWUgYXMgYSBzdHJpbmcgKGUuZy4sIFwiV2luZG93c1wiLCBcIkxpbnV4XCIsIFwiTWFjIE9TIFhcIikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldE9TKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uZ2V0T1MoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBXaW5kb3dzLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBPUyBpcyBXaW5kb3dzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT1NXaW5kb3dzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmlzT1NXaW5kb3dzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IE9wZXJhdGluZyBTeXN0ZW0gaXMgTWFjIE9TIChvciBNYWMgT1MgWCkuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIE9TIGlzIE1hYywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc09TTWFjKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmlzT1NNYWMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBhIFVOSVgtbGlrZSBzeXN0ZW0gKGUuZy4sIExpbnV4LCBtYWNPUywgb3Igb3RoZXJzKS5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgT1MgaXMgYSBVTklYIHZhcmlhbnQsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPU1VOSVgoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU1VOSVgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBTb2xhcmlzLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBPUyBpcyBTb2xhcmlzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT1NTb2xhcmlzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmlzT1NTb2xhcmlzKCk7XG5cdH1cblxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IENvbmZpZ3VyYXRpb25zO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZDQSxNQUFNLGdCQUFnQixLQUFLLEtBQUssb0RBQW9EO0FBQ3BGLE1BQU0sdUJBQXVCLEtBQUssS0FBSyxnRUFBZ0U7QUE0Q2hHLE1BQU0sZUFBZTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUTNCLE9BQWMsSUFBSSxLQUFhLGNBQTJDO0FBQ3pFLFVBQU0sUUFBUSxjQUFjLElBQUksS0FBSyxZQUFZO0FBQ2pELFdBQU8sU0FBUztBQUFBLEVBQ2pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLElBQUksS0FBYSxPQUFxQjtBQUNuRCxrQkFBYyxJQUFJLEtBQUssS0FBSztBQUFBLEVBQzdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsT0FBTyxLQUFtQjtBQUN2QyxrQkFBYyxPQUFPLEdBQUc7QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFVBQW9CO0FBQ2pDLFdBQU8sY0FBYyxRQUFRO0FBQUEsRUFDOUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxZQUFrQztBQUMvQyxXQUFPLEtBQUssTUFBTSxxQkFBcUIsVUFBVSxDQUFDO0FBQUEsRUFDbkQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsZUFBZSxPQUEyRDtBQUN2RixVQUFNLFNBQVMsVUFBVSxTQUFZLE9BQU8sTUFBTSxRQUFRLEtBQUssSUFBSSxNQUFNLEtBQUssR0FBRyxJQUFJO0FBQ3JGLFdBQU8sS0FBSyxNQUFNLHFCQUFxQixlQUFlLE1BQU0sQ0FBQztBQUFBLEVBQzlEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsS0FBSyxNQUFvQjtBQUN0QyxrQkFBYyxLQUFLLElBQUk7QUFBQSxFQUN4QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsT0FBYyxTQUFlO0FBQzVCLGtCQUFjLE9BQU87QUFBQSxFQUN0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFFBQWdCO0FBQzdCLFdBQU8sY0FBYyxNQUFNO0FBQUEsRUFDNUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxjQUF1QjtBQUNwQyxXQUFPLGNBQWMsWUFBWTtBQUFBLEVBQ2xDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBbUI7QUFDaEMsV0FBTyxjQUFjLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFdBQW9CO0FBQ2pDLFdBQU8sY0FBYyxTQUFTO0FBQUEsRUFDL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxjQUF1QjtBQUNwQyxXQUFPLGNBQWMsWUFBWTtBQUFBLEVBQ2xDO0FBRUQ7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
|
package/dist/cjs/etcd/client.js
CHANGED
|
@@ -174,4 +174,4 @@ class Client {
|
|
|
174
174
|
if (typeof module !== "undefined") {
|
|
175
175
|
module.exports = Client;
|
|
176
176
|
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZXRjZC9jbGllbnRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9ldGNkXG4gKiBAbmFtZSBDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBDbGllbnRgIGNsYXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZSB3aXRoaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBDbGllbnRgIGNsYXNzIGFsbG93cyBkZXZlbG9wZXJzIHRvIHBlcmZvcm0gYmFzaWMgb3BlcmF0aW9ucyBzdWNoIGFzIHB1dHRpbmcgKHdyaXRpbmcpIHZhbHVlcywgZ2V0dGluZyB2YWx1ZXMsIGFuZCBkZWxldGluZyBrZXlzIGluIEV0Y2QuIEl0IGFsc28gaW5jbHVkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHR5cGVzIGFuZCB0aGUgbmF0aXZlIEphdmEvRXRjZCB0eXBlcyB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nIEV0Y2QgY2xpZW50IGxpYnJhcnkuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gUHV0IHN0cmluZyBvciBieXRlIGFycmF5IHZhbHVlcyB0byBFdGNkIGtleXMuXG4gKiAtIEdldCB2YWx1ZXMgZnJvbSBFdGNkIGtleXMgd2l0aCBvcHRpb25zIGZvciBzdHJpbmcgb3IgYnl0ZSBhcnJheSBmb3JtYXRzLlxuICogLSBSZXRyaWV2ZSBtZXRhZGF0YSBhYm91dCB0aGUgRXRjZCBjbHVzdGVyIGFuZCBrZXktdmFsdWUgc3RvcmUgdGhyb3VnaCByZXNwb25zZSBoZWFkZXJzLlxuICogLSBEZWxldGUga2V5cyBmcm9tIEV0Y2QuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXNcbiAqIC0gU3RvcmluZyBjb25maWd1cmF0aW9uIGRhdGEgb3IgYXBwbGljYXRpb24gc3RhdGUgaW4gRXRjZCBmb3IgZGlzdHJpYnV0ZWQgYXBwbGljYXRpb25zLlxuICogLSBSZXRyaWV2aW5nIGFuZCBtYW5hZ2luZyBrZXktdmFsdWUgcGFpcnMgaW4gRXRjZCBmb3Igc2VydmljZSBkaXNjb3ZlcnksIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudCwgb3IgY29vcmRpbmF0aW9uIHRhc2tzLlxuICogLSBJbnRlZ3JhdGluZyB3aXRoIG90aGVyIG1vZHVsZXMgdGhhdCByZXF1aXJlIGEgY29uc2lzdGVudCBpbnRlcmZhY2UgZm9yIGludGVyYWN0aW5nIHdpdGggRXRjZCBhcyBhIGJhY2tlbmQgc3RvcmUuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9ldGNkXCI7XG4gKiBcbiAqIGNvbnN0IGV0Y2RDbGllbnQgPSBuZXcgQ2xpZW50KCk7XG4gKiBcbiAqIC8vIFB1dCBhIHN0cmluZyB2YWx1ZSB0byBhIGtleVxuICogZXRjZENsaWVudC5wdXRTdHJpbmdWYWx1ZShcImNvbmZpZy9hcHBOYW1lXCIsIFwiTXlBcHBcIik7XG4gKiBcbiAqIC8vIEdldCB0aGUgc3RyaW5nIHZhbHVlIG9mIGEga2V5XG4gKiBjb25zdCBhcHBOYW1lID0gZXRjZENsaWVudC5nZXRLdnNTdHJpbmdWYWx1ZShcImNvbmZpZy9hcHBOYW1lXCIpO1xuICogY29uc29sZS5sb2coYXBwTmFtZSk7IC8vIE91dHB1dDogeyBcImNvbmZpZy9hcHBOYW1lXCI6IFwiTXlBcHBcIiB9XG4gKiBcbiAqIC8vIERlbGV0ZSBhIGtleVxuICogZXRjZENsaWVudC5kZWxldGUoXCJjb25maWcvYXBwTmFtZVwiKTtcbiAqIGBgYFxuICovXG5cbmNvbnN0IEV0Y2RGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuZXRjZC5FdGNkRmFjYWRlXCIpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVRJTElUWSBGVU5DVElPTlNcbi8vIFRoZXNlIGZ1bmN0aW9ucyBoYW5kbGUgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKYXZhU2NyaXB0L1R5cGVTY3JpcHQgdHlwZXMgKHN0cmluZywgSW50OEFycmF5KVxuLy8gYW5kIHRoZSBuYXRpdmUgSmF2YS9FdGNkIHR5cGVzIChCeXRlU2VxdWVuY2UsIG5hdGl2ZSBieXRlIGFycmF5cykuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgbmF0aXZlIEV0Y2QgQnl0ZVNlcXVlbmNlIG9iamVjdC5cbiAqIEBwYXJhbSBzdHIgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IChKYXZhIHR5cGUpLlxuICovXG5mdW5jdGlvbiBTdHJpbmdUb0J5dGVTZXF1ZW5jZShzdHI6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIEV0Y2RGYWNhZGUuc3RyaW5nVG9CeXRlU2VxdWVuY2Uoc3RyKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIEphdmFTY3JpcHQgSW50OEFycmF5IChieXRlIGFycmF5KSB0byBhIG5hdGl2ZSBFdGNkIEJ5dGVTZXF1ZW5jZSBvYmplY3QuXG4gKiBAcGFyYW0gYXJyIFRoZSBJbnQ4QXJyYXkgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBuYXRpdmUgQnl0ZVNlcXVlbmNlIG9iamVjdCAoSmF2YSB0eXBlKS5cbiAqL1xuZnVuY3Rpb24gQnl0ZUFycmF5VG9CeXRlU2VxdWVuY2UoYXJyOiBJbnQ4QXJyYXkpOiBhbnkge1xuICAgIHJldHVybiBFdGNkRmFjYWRlLmJ5dGVBcnJheVRvQnl0ZVNlcXVlbmNlKGFycik7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuYXRpdmUgRXRjZCBCeXRlU2VxdWVuY2Ugb2JqZWN0IGJhY2sgdG8gYSBzdHJpbmcuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0LlxuICogQHJldHVybnMgVGhlIGRlY29kZWQgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBCeXRlU2VxdWVuY2VUb1N0cmluZyh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gRXRjZEZhY2FkZS5ieXRlU2VxdWVuY2VUb1N0cmluZyh2YWx1ZSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuYXRpdmUgSmF2YSBhcnJheSBvZiBieXRlcyBpbnRvIGEgSmF2YVNjcmlwdCBJbnQ4QXJyYXkuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGJ5dGVzLlxuICogQHJldHVybnMgQSBKYXZhU2NyaXB0IEludDhBcnJheS5cbiAqL1xuZnVuY3Rpb24gQnl0ZXNUb0FycmF5KHZhbHVlOiBhbnkpOiBJbnQ4QXJyYXkge1xuICAgIGNvbnN0IGFycmF5ID0gdmFsdWUuZ2V0Qnl0ZXMoKTsgLy8gR2V0IHRoZSBuYXRpdmUgYnl0ZSBhcnJheVxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnQ4QXJyYXkoYXJyYXkubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIC8vIENvbnZlcnNpb24gZnJvbSBKYXZhIGJ5dGUgdG8gSmF2YVNjcmlwdCBJbnQ4IHZhbHVlXG4gICAgICAgIHJlc3VsdFtpXSA9IHBhcnNlSW50KGFycmF5W2ldLCAxMCk7IFxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEhlbHBlciB0byBwcm9jZXNzIGEgbGlzdCBvZiBLZXktVmFsdWUgKEtWKSBvYmplY3RzIGludG8gYSBzdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdC5cbiAqIEBwYXJhbSBrdnNMaXN0IFRoZSBuYXRpdmUgbGlzdCBvZiBLViBvYmplY3RzLlxuICogQHBhcmFtIGZ1bmMgVGhlIGNvbnZlcnNpb24gZnVuY3Rpb24gZm9yIHRoZSB2YWx1ZSAoZS5nLiwgQnl0ZVNlcXVlbmNlVG9TdHJpbmcgb3IgQnl0ZXNUb0FycmF5KS5cbiAqIEByZXR1cm5zIEEgc3RhbmRhcmQgSmF2YVNjcmlwdCBvYmplY3QgbWFwcGluZyBzdHJpbmcga2V5cyB0byBzcGVjaWZpZWQgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdDxUPihrdnNMaXN0OiBhbnlbXSwgZnVuYzogKHZhbHVlOiBhbnkpID0+IFQpOiB7IFtrZXk6IHN0cmluZ106IFQgfSB7XG4gICAgY29uc3Qga3ZPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogVCB9ID0ge307XG4gICAga3ZzTGlzdC5mb3JFYWNoKChrdnM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKGt2cy5nZXRLZXkoKSk7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBUID0gZnVuYyhrdnMuZ2V0VmFsdWUoKSk7XG4gICAgICAgIGt2T2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBrdk9iamVjdDtcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgbmF0aXZlIEtWUyBsaXN0IHRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBzdHJpbmcgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdFN0cmluZyhrdnNMaXN0OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdChrdnNMaXN0LCBCeXRlU2VxdWVuY2VUb1N0cmluZyk7XG59XG5cbi8qKlxuICogUHJvY2Vzc2VzIG5hdGl2ZSBLVlMgbGlzdCB0byBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggSW50OEFycmF5IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gS2V5VmFsdWVPYmplY3RCeXRlQXJyYXkoa3ZzTGlzdDogYW55W10pOiB7IFtrZXk6IHN0cmluZ106IEludDhBcnJheSB9IHtcbiAgICByZXR1cm4gS2V5VmFsdWVPYmplY3Qoa3ZzTGlzdCwgQnl0ZXNUb0FycmF5KTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVUQ0QgUkVTUE9OU0UgQ0xBU1NFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBoZWFkZXIgbWV0YWRhdGEgb2YgYW4gRXRjZCByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEhlYWRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gbmF0aXZlO1xuICAgIH1cblxuICAgIC8qKiBUaGUgcmV2aXNpb24gb2YgdGhlIGtleS12YWx1ZSBzdG9yZSB3aGVuIHRoZSByZXF1ZXN0IHdhcyBwcm9jZXNzZWQuICovXG4gICAgcHVibGljIGdldFJldmlzaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRSZXZpc2lvbigpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgSUQgb2YgdGhlIGNsdXN0ZXIgd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIHNlbnQgdG8uICovXG4gICAgcHVibGljIGdldENsdXN0ZXJJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q2x1c3RlcklkKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBJRCBvZiB0aGUgbWVtYmVyIHdoaWNoIHRoZSByZXF1ZXN0IHdhcyBoYW5kbGVkIGJ5LiAqL1xuICAgIHB1YmxpYyBnZXRNZW1iZXJJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TWVtYmVySWQoKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIFJhZnQgdGVybS4gKi9cbiAgICBwdWJsaWMgZ2V0UmFmdFRlcm0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldFJhZnRUZXJtKCk7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHJlc3BvbnNlIG9iamVjdCBmb3IgYSBHZXQgb3BlcmF0aW9uIGZyb20gRXRjZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdldFJlc3BvbnNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgcmVzcG9uc2UgaGVhZGVyIGNvbnRhaW5pbmcgY2x1c3RlciBtZXRhZGF0YS4gKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGVyKCk6IEhlYWRlciB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUhlYWRlciA9IHRoaXMubmF0aXZlLmdldEhlYWRlcigpO1xuICAgICAgICByZXR1cm4gbmV3IEhlYWRlcihuYXRpdmVIZWFkZXIpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyB3aXRoIHZhbHVlcyBjb252ZXJ0ZWQgdG8gc3RyaW5ncy4gKi9cbiAgICBwdWJsaWMgZ2V0S3ZzU3RyaW5nKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICByZXR1cm4gS2V5VmFsdWVPYmplY3RTdHJpbmcodGhpcy5uYXRpdmUuZ2V0S3ZzKCkpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyB3aXRoIHZhbHVlcyBjb252ZXJ0ZWQgdG8gSW50OEFycmF5IChieXRlIGFycmF5cykuICovXG4gICAgcHVibGljIGdldEt2c0J5dGVBcnJheSgpOiB7IFtrZXk6IHN0cmluZ106IEludDhBcnJheSB9IHtcbiAgICAgICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0Qnl0ZUFycmF5KHRoaXMubmF0aXZlLmdldEt2cygpKTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSBudW1iZXIgb2YgS2V5LVZhbHVlIHBhaXJzIHJldHVybmVkLiAqL1xuICAgIHB1YmxpYyBnZXRDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q291bnQoKTtcbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVUQ0QgQ0xJRU5UIEZBQ0FERVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDbGllbnQgZmFjYWRlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZS5cbiAqL1xuZXhwb3J0IGNsYXNzIENsaWVudCB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gRXRjZEZhY2FkZS5nZXRDbGllbnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhIGJsb2NraW5nIEdFVCByZXF1ZXN0IG9uIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byByZXRyaWV2ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgcHJvY2Vzc2VkIEdldFJlc3BvbnNlIG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldChrZXk6IHN0cmluZyk6IEdldFJlc3BvbnNlIHtcbiAgICAgICAgLy8gRXRjZCBjbGllbnQgcmV0dXJucyBhIENvbXBsZXRhYmxlRnV0dXJlIHdoaWNoIGlzIGJsb2NrZWQgaGVyZSB1c2luZyAuZ2V0KClcbiAgICAgICAgY29uc3QgZXRjZENvbXBsZXRhYmxlRnV0dXJlID0gdGhpcy5uYXRpdmUuZ2V0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSkpO1xuICAgICAgICBjb25zdCBuYXRpdmVSZXNwb25zZSA9IGV0Y2RDb21wbGV0YWJsZUZ1dHVyZS5nZXQoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBHZXRSZXNwb25zZShuYXRpdmVSZXNwb25zZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHV0cyAod3JpdGVzKSBhIHN0cmluZyB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gd3JpdGUgdG8uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHB1dFN0cmluZ1ZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlLnB1dChTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpLCBTdHJpbmdUb0J5dGVTZXF1ZW5jZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1dHMgKHdyaXRlcykgYSBieXRlIGFycmF5IHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB3cml0ZSB0by5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIEludDhBcnJheSAoYnl0ZSBhcnJheSkgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHB1dEJ5dGVBcnJheVZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogSW50OEFycmF5KTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlLnB1dChTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpLCBCeXRlQXJyYXlUb0J5dGVTZXF1ZW5jZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcmVzcG9uc2UgaGVhZGVyIG1ldGFkYXRhIGZvciBhIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgVGhlIHtAbGluayBIZWFkZXJ9IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGVyKGtleTogc3RyaW5nKTogSGVhZGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0SGVhZGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgYXMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IChvciBrZXkgcHJlZml4KSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3QgbWFwcGluZyBrZXlzIHRvIHN0cmluZyB2YWx1ZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldEt2c1N0cmluZ1ZhbHVlKGtleTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldEt2c1N0cmluZygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIGFzIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBJbnQ4QXJyYXkgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSAob3Iga2V5IHByZWZpeCkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IG1hcHBpbmcga2V5cyB0byBJbnQ4QXJyYXkgdmFsdWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRLdnNCeXRlQXJyYXlWYWx1ZShrZXk6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRLdnNCeXRlQXJyYXkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGNvdW50IG9mIEtleS1WYWx1ZSBwYWlycyBtYXRjaGluZyB0aGUga2V5IChvciBrZXkgcHJlZml4KS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgKG9yIGtleSBwcmVmaXgpIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBtYXRjaGluZyBlbnRyaWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb3VudChrZXk6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldENvdW50KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gZGVsZXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUuZGVsZXRlKFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSkpO1xuICAgIH1cbn1cblxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IENsaWVudDtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUNBLE1BQU0sYUFBYSxLQUFLLEtBQUssc0RBQXNEO0FBYW5GLFNB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
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZXRjZC9jbGllbnRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9ldGNkXG4gKiBAbmFtZSBDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBDbGllbnRgIGNsYXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZSB3aXRoaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBDbGllbnRgIGNsYXNzIGFsbG93cyBkZXZlbG9wZXJzIHRvIHBlcmZvcm0gYmFzaWMgb3BlcmF0aW9ucyBzdWNoIGFzIHB1dHRpbmcgKHdyaXRpbmcpIHZhbHVlcywgZ2V0dGluZyB2YWx1ZXMsIGFuZCBkZWxldGluZyBrZXlzIGluIEV0Y2QuIEl0IGFsc28gaW5jbHVkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHR5cGVzIGFuZCB0aGUgbmF0aXZlIEphdmEvRXRjZCB0eXBlcyB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nIEV0Y2QgY2xpZW50IGxpYnJhcnkuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gUHV0IHN0cmluZyBvciBieXRlIGFycmF5IHZhbHVlcyB0byBFdGNkIGtleXMuXG4gKiAtIEdldCB2YWx1ZXMgZnJvbSBFdGNkIGtleXMgd2l0aCBvcHRpb25zIGZvciBzdHJpbmcgb3IgYnl0ZSBhcnJheSBmb3JtYXRzLlxuICogLSBSZXRyaWV2ZSBtZXRhZGF0YSBhYm91dCB0aGUgRXRjZCBjbHVzdGVyIGFuZCBrZXktdmFsdWUgc3RvcmUgdGhyb3VnaCByZXNwb25zZSBoZWFkZXJzLlxuICogLSBEZWxldGUga2V5cyBmcm9tIEV0Y2QuXG4gKlxuICogIyMjIEF2YWlsYWJpbGl0eVxuICogVGhlIGV0Y2QgY2xpZW50IGxpYnJhcnkgKGpldGNkKSBpcyBhbiBhZGQtb24gdGhhdCB0aGUgZGVmYXVsdCBidW5kbGUgZG9lcyBub3Qgc2hpcDogdGhlIGFwcGxpY2F0aW9uIGFkZHNcbiAqIGBvcmcuZWNsaXBzZS5kaXJpZ2libGU6ZGlyaWdpYmxlLWNvbXBvbmVudHMtYXBpLWV0Y2QtY2xpZW50YCAoYDx0eXBlPnBvbTwvdHlwZT5gKS4gV2l0aG91dCBpdCwgZXZlcnkgY2FsbFxuICogdGhyb3dzIGBFdGNkTm90QXZhaWxhYmxlRXhjZXB0aW9uYCBuYW1pbmcgdGhhdCBhcnRpZmFjdC5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBTdG9yaW5nIGNvbmZpZ3VyYXRpb24gZGF0YSBvciBhcHBsaWNhdGlvbiBzdGF0ZSBpbiBFdGNkIGZvciBkaXN0cmlidXRlZCBhcHBsaWNhdGlvbnMuXG4gKiAtIFJldHJpZXZpbmcgYW5kIG1hbmFnaW5nIGtleS12YWx1ZSBwYWlycyBpbiBFdGNkIGZvciBzZXJ2aWNlIGRpc2NvdmVyeSwgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50LCBvciBjb29yZGluYXRpb24gdGFza3MuXG4gKiAtIEludGVncmF0aW5nIHdpdGggb3RoZXIgbW9kdWxlcyB0aGF0IHJlcXVpcmUgYSBjb25zaXN0ZW50IGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBFdGNkIGFzIGEgYmFja2VuZCBzdG9yZS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2V0Y2RcIjtcbiAqIFxuICogY29uc3QgZXRjZENsaWVudCA9IG5ldyBDbGllbnQoKTtcbiAqIFxuICogLy8gUHV0IGEgc3RyaW5nIHZhbHVlIHRvIGEga2V5XG4gKiBldGNkQ2xpZW50LnB1dFN0cmluZ1ZhbHVlKFwiY29uZmlnL2FwcE5hbWVcIiwgXCJNeUFwcFwiKTtcbiAqIFxuICogLy8gR2V0IHRoZSBzdHJpbmcgdmFsdWUgb2YgYSBrZXlcbiAqIGNvbnN0IGFwcE5hbWUgPSBldGNkQ2xpZW50LmdldEt2c1N0cmluZ1ZhbHVlKFwiY29uZmlnL2FwcE5hbWVcIik7XG4gKiBjb25zb2xlLmxvZyhhcHBOYW1lKTsgLy8gT3V0cHV0OiB7IFwiY29uZmlnL2FwcE5hbWVcIjogXCJNeUFwcFwiIH1cbiAqIFxuICogLy8gRGVsZXRlIGEga2V5XG4gKiBldGNkQ2xpZW50LmRlbGV0ZShcImNvbmZpZy9hcHBOYW1lXCIpO1xuICogYGBgXG4gKi9cblxuY29uc3QgRXRjZEZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5ldGNkLkV0Y2RGYWNhZGVcIik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVVElMSVRZIEZVTkNUSU9OU1xuLy8gVGhlc2UgZnVuY3Rpb25zIGhhbmRsZSB0aGUgY29udmVyc2lvbiBiZXR3ZWVuIEphdmFTY3JpcHQvVHlwZVNjcmlwdCB0eXBlcyAoc3RyaW5nLCBJbnQ4QXJyYXkpXG4vLyBhbmQgdGhlIG5hdGl2ZSBKYXZhL0V0Y2QgdHlwZXMgKEJ5dGVTZXF1ZW5jZSwgbmF0aXZlIGJ5dGUgYXJyYXlzKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBuYXRpdmUgRXRjZCBCeXRlU2VxdWVuY2Ugb2JqZWN0LlxuICogQHBhcmFtIHN0ciBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QgKEphdmEgdHlwZSkuXG4gKi9cbmZ1bmN0aW9uIFN0cmluZ1RvQnl0ZVNlcXVlbmNlKHN0cjogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gRXRjZEZhY2FkZS5zdHJpbmdUb0J5dGVTZXF1ZW5jZShzdHIpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgSmF2YVNjcmlwdCBJbnQ4QXJyYXkgKGJ5dGUgYXJyYXkpIHRvIGEgbmF0aXZlIEV0Y2QgQnl0ZVNlcXVlbmNlIG9iamVjdC5cbiAqIEBwYXJhbSBhcnIgVGhlIEludDhBcnJheSB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IChKYXZhIHR5cGUpLlxuICovXG5mdW5jdGlvbiBCeXRlQXJyYXlUb0J5dGVTZXF1ZW5jZShhcnI6IEludDhBcnJheSk6IGFueSB7XG4gICAgcmV0dXJuIEV0Y2RGYWNhZGUuYnl0ZUFycmF5VG9CeXRlU2VxdWVuY2UoYXJyKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIG5hdGl2ZSBFdGNkIEJ5dGVTZXF1ZW5jZSBvYmplY3QgYmFjayB0byBhIHN0cmluZy5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBFdGNkRmFjYWRlLmJ5dGVTZXF1ZW5jZVRvU3RyaW5nKHZhbHVlKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIG5hdGl2ZSBKYXZhIGFycmF5IG9mIGJ5dGVzIGludG8gYSBKYXZhU2NyaXB0IEludDhBcnJheS5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QgY29udGFpbmluZyB0aGUgYnl0ZXMuXG4gKiBAcmV0dXJucyBBIEphdmFTY3JpcHQgSW50OEFycmF5LlxuICovXG5mdW5jdGlvbiBCeXRlc1RvQXJyYXkodmFsdWU6IGFueSk6IEludDhBcnJheSB7XG4gICAgY29uc3QgYXJyYXkgPSB2YWx1ZS5nZXRCeXRlcygpOyAvLyBHZXQgdGhlIG5hdGl2ZSBieXRlIGFycmF5XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEludDhBcnJheShhcnJheS5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gQ29udmVyc2lvbiBmcm9tIEphdmEgYnl0ZSB0byBKYXZhU2NyaXB0IEludDggdmFsdWVcbiAgICAgICAgcmVzdWx0W2ldID0gcGFyc2VJbnQoYXJyYXlbaV0sIDEwKTsgXG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogSGVscGVyIHRvIHByb2Nlc3MgYSBsaXN0IG9mIEtleS1WYWx1ZSAoS1YpIG9iamVjdHMgaW50byBhIHN0YW5kYXJkIEphdmFTY3JpcHQgb2JqZWN0LlxuICogQHBhcmFtIGt2c0xpc3QgVGhlIG5hdGl2ZSBsaXN0IG9mIEtWIG9iamVjdHMuXG4gKiBAcGFyYW0gZnVuYyBUaGUgY29udmVyc2lvbiBmdW5jdGlvbiBmb3IgdGhlIHZhbHVlIChlLmcuLCBCeXRlU2VxdWVuY2VUb1N0cmluZyBvciBCeXRlc1RvQXJyYXkpLlxuICogQHJldHVybnMgQSBzdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdCBtYXBwaW5nIHN0cmluZyBrZXlzIHRvIHNwZWNpZmllZCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIEtleVZhbHVlT2JqZWN0PFQ+KGt2c0xpc3Q6IGFueVtdLCBmdW5jOiAodmFsdWU6IGFueSkgPT4gVCk6IHsgW2tleTogc3RyaW5nXTogVCB9IHtcbiAgICBjb25zdCBrdk9iamVjdDogeyBba2V5OiBzdHJpbmddOiBUIH0gPSB7fTtcbiAgICBrdnNMaXN0LmZvckVhY2goKGt2czogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleTogc3RyaW5nID0gQnl0ZVNlcXVlbmNlVG9TdHJpbmcoa3ZzLmdldEtleSgpKTtcbiAgICAgICAgY29uc3QgdmFsdWU6IFQgPSBmdW5jKGt2cy5nZXRWYWx1ZSgpKTtcbiAgICAgICAga3ZPYmplY3Rba2V5XSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGt2T2JqZWN0O1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyBuYXRpdmUgS1ZTIGxpc3QgdG8gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIEtleVZhbHVlT2JqZWN0U3RyaW5nKGt2c0xpc3Q6IGFueVtdKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0KGt2c0xpc3QsIEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKTtcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgbmF0aXZlIEtWUyBsaXN0IHRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBJbnQ4QXJyYXkgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdEJ5dGVBcnJheShrdnNMaXN0OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdChrdnNMaXN0LCBCeXRlc1RvQXJyYXkpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVRDRCBSRVNQT05TRSBDTEFTU0VTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGhlYWRlciBtZXRhZGF0YSBvZiBhbiBFdGNkIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY2xhc3MgSGVhZGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqIFRoZSByZXZpc2lvbiBvZiB0aGUga2V5LXZhbHVlIHN0b3JlIHdoZW4gdGhlIHJlcXVlc3Qgd2FzIHByb2Nlc3NlZC4gKi9cbiAgICBwdWJsaWMgZ2V0UmV2aXNpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldFJldmlzaW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBJRCBvZiB0aGUgY2x1c3RlciB3aGljaCB0aGUgcmVxdWVzdCB3YXMgc2VudCB0by4gKi9cbiAgICBwdWJsaWMgZ2V0Q2x1c3RlcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDbHVzdGVySWQoKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIElEIG9mIHRoZSBtZW1iZXIgd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIGhhbmRsZWQgYnkuICovXG4gICAgcHVibGljIGdldE1lbWJlcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRNZW1iZXJJZCgpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgUmFmdCB0ZXJtLiAqL1xuICAgIHB1YmxpYyBnZXRSYWZ0VGVybSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UmFmdFRlcm0oKTtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcmVzcG9uc2Ugb2JqZWN0IGZvciBhIEdldCBvcGVyYXRpb24gZnJvbSBFdGNkLlxuICovXG5leHBvcnQgY2xhc3MgR2V0UmVzcG9uc2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSByZXNwb25zZSBoZWFkZXIgY29udGFpbmluZyBjbHVzdGVyIG1ldGFkYXRhLiAqL1xuICAgIHB1YmxpYyBnZXRIZWFkZXIoKTogSGVhZGVyIHtcbiAgICAgICAgY29uc3QgbmF0aXZlSGVhZGVyID0gdGhpcy5uYXRpdmUuZ2V0SGVhZGVyKCk7XG4gICAgICAgIHJldHVybiBuZXcgSGVhZGVyKG5hdGl2ZUhlYWRlcik7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIHdpdGggdmFsdWVzIGNvbnZlcnRlZCB0byBzdHJpbmdzLiAqL1xuICAgIHB1YmxpYyBnZXRLdnNTdHJpbmcoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdFN0cmluZyh0aGlzLm5hdGl2ZS5nZXRLdnMoKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIHdpdGggdmFsdWVzIGNvbnZlcnRlZCB0byBJbnQ4QXJyYXkgKGJ5dGUgYXJyYXlzKS4gKi9cbiAgICBwdWJsaWMgZ2V0S3ZzQnl0ZUFycmF5KCk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgICAgICByZXR1cm4gS2V5VmFsdWVPYmplY3RCeXRlQXJyYXkodGhpcy5uYXRpdmUuZ2V0S3ZzKCkpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIG51bWJlciBvZiBLZXktVmFsdWUgcGFpcnMgcmV0dXJuZWQuICovXG4gICAgcHVibGljIGdldENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDb3VudCgpO1xuICAgIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVRDRCBDTElFTlQgRkFDQURFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENsaWVudCBmYWNhZGUgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIEV0Y2Qga2V5LXZhbHVlIHN0b3JlLlxuICovXG5leHBvcnQgY2xhc3MgQ2xpZW50IHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBFdGNkRmFjYWRlLmdldENsaWVudCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgYmxvY2tpbmcgR0VUIHJlcXVlc3Qgb24gdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHJldHJpZXZlLlxuICAgICAqIEByZXR1cm5zIFRoZSBwcm9jZXNzZWQgR2V0UmVzcG9uc2Ugb2JqZWN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0KGtleTogc3RyaW5nKTogR2V0UmVzcG9uc2Uge1xuICAgICAgICAvLyBFdGNkIGNsaWVudCByZXR1cm5zIGEgQ29tcGxldGFibGVGdXR1cmUgd2hpY2ggaXMgYmxvY2tlZCBoZXJlIHVzaW5nIC5nZXQoKVxuICAgICAgICBjb25zdCBldGNkQ29tcGxldGFibGVGdXR1cmUgPSB0aGlzLm5hdGl2ZS5nZXQoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSk7XG4gICAgICAgIGNvbnN0IG5hdGl2ZVJlc3BvbnNlID0gZXRjZENvbXBsZXRhYmxlRnV0dXJlLmdldCgpO1xuICAgICAgICByZXR1cm4gbmV3IEdldFJlc3BvbnNlKG5hdGl2ZVJlc3BvbnNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQdXRzICh3cml0ZXMpIGEgc3RyaW5nIHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB3cml0ZSB0by5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0U3RyaW5nVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUucHV0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSksIFN0cmluZ1RvQnl0ZVNlcXVlbmNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHV0cyAod3JpdGVzKSBhIGJ5dGUgYXJyYXkgdmFsdWUgdG8gdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHdyaXRlIHRvLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgSW50OEFycmF5IChieXRlIGFycmF5KSB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0Qnl0ZUFycmF5VmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBJbnQ4QXJyYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUucHV0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSksIEJ5dGVBcnJheVRvQnl0ZVNlcXVlbmNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSByZXNwb25zZSBoZWFkZXIgbWV0YWRhdGEgZm9yIGEga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBUaGUge0BsaW5rIEhlYWRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRIZWFkZXIoa2V5OiBzdHJpbmcpOiBIZWFkZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRIZWFkZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyBhcyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggc3RyaW5nIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgKG9yIGtleSBwcmVmaXgpIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCBtYXBwaW5nIGtleXMgdG8gc3RyaW5nIHZhbHVlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0S3ZzU3RyaW5nVmFsdWUoa2V5OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0S3ZzU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgYXMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIEludDhBcnJheSB2YWx1ZXMuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IChvciBrZXkgcHJlZml4KSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3QgbWFwcGluZyBrZXlzIHRvIEludDhBcnJheSB2YWx1ZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldEt2c0J5dGVBcnJheVZhbHVlKGtleTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBJbnQ4QXJyYXkgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldEt2c0J5dGVBcnJheSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY291bnQgb2YgS2V5LVZhbHVlIHBhaXJzIG1hdGNoaW5nIHRoZSBrZXkgKG9yIGtleSBwcmVmaXgpLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSAob3Iga2V5IHByZWZpeCkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgVGhlIGNvdW50IG9mIG1hdGNoaW5nIGVudHJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldENvdW50KGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0Q291bnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBkZWxldGUuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZS5kZWxldGUoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSk7XG4gICAgfVxufVxuXG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ2xpZW50O1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEwQ0EsTUFBTSxhQUFhLEtBQUssS0FBSyxzREFBc0Q7QUFhbkYsU0FBUyxxQkFBcUIsS0FBa0I7QUFDNUMsU0FBTyxXQUFXLHFCQUFxQixHQUFHO0FBQzlDO0FBT0EsU0FBUyx3QkFBd0IsS0FBcUI7QUFDbEQsU0FBTyxXQUFXLHdCQUF3QixHQUFHO0FBQ2pEO0FBT0EsU0FBUyxxQkFBcUIsT0FBb0I7QUFDOUMsU0FBTyxXQUFXLHFCQUFxQixLQUFLO0FBQ2hEO0FBT0EsU0FBUyxhQUFhLE9BQXVCO0FBQ3pDLFFBQU0sUUFBUSxNQUFNLFNBQVM7QUFDN0IsUUFBTSxTQUFTLElBQUksVUFBVSxNQUFNLE1BQU07QUFDekMsV0FBUyxJQUFJLEdBQUcsSUFBSSxNQUFNLFFBQVEsS0FBSztBQUVuQyxXQUFPLENBQUMsSUFBSSxTQUFTLE1BQU0sQ0FBQyxHQUFHLEVBQUU7QUFBQSxFQUNyQztBQUNBLFNBQU87QUFDWDtBQVFBLFNBQVMsZUFBa0IsU0FBZ0IsTUFBK0M7QUFDdEYsUUFBTSxXQUFpQyxDQUFDO0FBQ3hDLFVBQVEsUUFBUSxDQUFDLFFBQWE7QUFDMUIsVUFBTSxNQUFjLHFCQUFxQixJQUFJLE9BQU8sQ0FBQztBQUNyRCxVQUFNLFFBQVcsS0FBSyxJQUFJLFNBQVMsQ0FBQztBQUNwQyxhQUFTLEdBQUcsSUFBSTtBQUFBLEVBQ3BCLENBQUM7QUFFRCxTQUFPO0FBQ1g7QUFLQSxTQUFTLHFCQUFxQixTQUEyQztBQUNyRSxTQUFPLGVBQWUsU0FBUyxvQkFBb0I7QUFDdkQ7QUFLQSxTQUFTLHdCQUF3QixTQUE4QztBQUMzRSxTQUFPLGVBQWUsU0FBUyxZQUFZO0FBQy9DO0FBU08sTUFBTSxPQUFPO0FBQUEsRUFDQztBQUFBLEVBRWpCLFlBQVksUUFBYTtBQUNyQixTQUFLLFNBQVM7QUFBQSxFQUNsQjtBQUFBO0FBQUEsRUFHTyxjQUFzQjtBQUN6QixXQUFPLEtBQUssT0FBTyxZQUFZO0FBQUEsRUFDbkM7QUFBQTtBQUFBLEVBR08sZUFBdUI7QUFDMUIsV0FBTyxLQUFLLE9BQU8sYUFBYTtBQUFBLEVBQ3BDO0FBQUE7QUFBQSxFQUdPLGNBQXNCO0FBQ3pCLFdBQU8sS0FBSyxPQUFPLFlBQVk7QUFBQSxFQUNuQztBQUFBO0FBQUEsRUFHTyxjQUFzQjtBQUN6QixXQUFPLEtBQUssT0FBTyxZQUFZO0FBQUEsRUFDbkM7QUFDSjtBQUtPLE1BQU0sWUFBWTtBQUFBLEVBQ0o7QUFBQSxFQUVqQixZQUFZLFFBQWE7QUFDckIsU0FBSyxTQUFTO0FBQUEsRUFDbEI7QUFBQTtBQUFBLEVBR08sWUFBb0I7QUFDdkIsVUFBTSxlQUFlLEtBQUssT0FBTyxVQUFVO0FBQzNDLFdBQU8sSUFBSSxPQUFPLFlBQVk7QUFBQSxFQUNsQztBQUFBO0FBQUEsRUFHTyxlQUEwQztBQUM3QyxXQUFPLHFCQUFxQixLQUFLLE9BQU8sT0FBTyxDQUFDO0FBQUEsRUFDcEQ7QUFBQTtBQUFBLEVBR08sa0JBQWdEO0FBQ25ELFdBQU8sd0JBQXdCLEtBQUssT0FBTyxPQUFPLENBQUM7QUFBQSxFQUN2RDtBQUFBO0FBQUEsRUFHTyxXQUFtQjtBQUN0QixXQUFPLEtBQUssT0FBTyxTQUFTO0FBQUEsRUFDaEM7QUFDSjtBQVVPLE1BQU0sT0FBTztBQUFBLEVBRUM7QUFBQSxFQUVqQixjQUFjO0FBQ1YsU0FBSyxTQUFTLFdBQVcsVUFBVTtBQUFBLEVBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1EsSUFBSSxLQUEwQjtBQUVsQyxVQUFNLHdCQUF3QixLQUFLLE9BQU8sSUFBSSxxQkFBcUIsR0FBRyxDQUFDO0FBQ3ZFLFVBQU0saUJBQWlCLHNCQUFzQixJQUFJO0FBQ2pELFdBQU8sSUFBSSxZQUFZLGNBQWM7QUFBQSxFQUN6QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLGVBQWUsS0FBYSxPQUFxQjtBQUNwRCxTQUFLLE9BQU8sSUFBSSxxQkFBcUIsR0FBRyxHQUFHLHFCQUFxQixLQUFLLENBQUM7QUFBQSxFQUMxRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLGtCQUFrQixLQUFhLE9BQXdCO0FBQzFELFNBQUssT0FBTyxJQUFJLHFCQUFxQixHQUFHLEdBQUcsd0JBQXdCLEtBQUssQ0FBQztBQUFBLEVBQzdFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sVUFBVSxLQUFxQjtBQUNsQyxXQUFPLEtBQUssSUFBSSxHQUFHLEVBQUUsVUFBVTtBQUFBLEVBQ25DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sa0JBQWtCLEtBQXdDO0FBQzdELFdBQU8sS0FBSyxJQUFJLEdBQUcsRUFBRSxhQUFhO0FBQUEsRUFDdEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxxQkFBcUIsS0FBMkM7QUFDbkUsV0FBTyxLQUFLLElBQUksR0FBRyxFQUFFLGdCQUFnQjtBQUFBLEVBQ3pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sU0FBUyxLQUFxQjtBQUNqQyxXQUFPLEtBQUssSUFBSSxHQUFHLEVBQUUsU0FBUztBQUFBLEVBQ2xDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1PLE9BQU8sS0FBbUI7QUFDN0IsU0FBSyxPQUFPLE9BQU8scUJBQXFCLEdBQUcsQ0FBQztBQUFBLEVBQ2hEO0FBQ0o7QUFJQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -184,7 +184,7 @@ function createHttpResponseCallback(httpClient2, successCallback, errorCallback,
|
|
|
184
184
|
);
|
|
185
185
|
}
|
|
186
186
|
function createSuccessCallback(callback) {
|
|
187
|
-
return "(function(httpResponse, isBinary, context) {\nvar response = {};\nresponse.statusCode = httpResponse.
|
|
187
|
+
return "(function(httpResponse, isBinary, context) {\nvar response = {};\nresponse.statusCode = httpResponse.getCode();\nresponse.statusMessage = httpResponse.getReasonPhrase();\nresponse.protocol = httpResponse.getVersion();\nresponse.binary = isBinary;\nvar headers = httpResponse.getHeaders();\nresponse.headers = [];\nfor (var i = 0; i < headers.length; i ++) {\n response.headers.push({\n name: headers[i].getName(),\n value: headers[i].getValue()\n });\n}\nif (isBinary) {\n response.data = httpResponse.getBodyBytes();\n} else {\n response.text = httpResponse.getBodyText();\n}\n(" + callback + ")(response, JSON.parse(context));\n})(__context.get('response'), __context.get('httpClientRequestOptions').isBinary(), __context.get('httpClientRequestOptions').getContext());\n";
|
|
188
188
|
}
|
|
189
189
|
function createErrorCallback(callback) {
|
|
190
190
|
if (callback) {
|
|
@@ -221,4 +221,4 @@ function buildUrl(url, options) {
|
|
|
221
221
|
if (typeof module !== "undefined") {
|
|
222
222
|
module.exports = { HttpAsyncClient, getInstance };
|
|
223
223
|
}
|
|
224
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2h0dHAvY2xpZW50LWFzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgaHR0cC9jbGllbnQtYXN5bmNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9odHRwXG4gKiBAbmFtZSBIdHRwQXN5bmNDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgSHR0cEFzeW5jQ2xpZW50IGNsYXNzIHByb3ZpZGVzIGEgSmF2YVNjcmlwdC9UeXBlU2NyaXB0IHdyYXBwZXIgKEZhY2FkZSkgZm9yIG1ha2luZyBhc3luY2hyb25vdXMgSFRUUCByZXF1ZXN0cyB1c2luZyB0aGUgdW5kZXJseWluZyBKYXZhIEhUVFAgY2xpZW50LiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBwZXJmb3JtIG5vbi1ibG9ja2luZyBIVFRQIG9wZXJhdGlvbnMgYnkgZGVmaW5pbmcgc3VjY2VzcywgZXJyb3IsIGFuZCBjYW5jZWwgY2FsbGJhY2tzIGFzIHN0cmluZ3Mgb2YgZXhlY3V0YWJsZSBKYXZhU2NyaXB0IGNvZGUuIFRoZSBjbGFzcyBzdXBwb3J0cyBhbGwgc3RhbmRhcmQgSFRUUCBtZXRob2RzIChHRVQsIFBPU1QsIFBVVCwgUEFUQ0gsIERFTEVURSwgSEVBRCwgVFJBQ0UpIGFuZCBhY2NlcHRzIGEgY29tcHJlaGVuc2l2ZSBzZXQgb2YgcmVxdWVzdCBvcHRpb25zIHRoYXQgbWlycm9yIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIEphdmEgY2xpZW50LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKkFzeW5jaHJvbm91cyBFeGVjdXRpb24qKjogQWxsIEhUVFAgbWV0aG9kcyByZXR1cm4gaW1tZWRpYXRlbHksIHdpdGggY2FsbGJhY2tzIGV4ZWN1dGVkIHVwb24gY29tcGxldGlvbi5cbiAqIC0gKipDb21wcmVoZW5zaXZlIFJlcXVlc3QgT3B0aW9ucyoqOiBTdXBwb3J0cyBhIHdpZGUgcmFuZ2Ugb2YgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBmaW5lLXR1bmluZyBIVFRQIHJlcXVlc3RzLlxuICogLSAqKkNhbGxiYWNrIEZsZXhpYmlsaXR5Kio6IENhbGxiYWNrcyBhcmUgZGVmaW5lZCBhcyBzdHJpbmdzIG9mIEphdmFTY3JpcHQgY29kZSwgYWxsb3dpbmcgZm9yIGR5bmFtaWMgZXhlY3V0aW9uIGluIHRoZSBKVk0gZW52aXJvbm1lbnQuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqTm9uLWJsb2NraW5nIEFQSSBDYWxscyoqOiBJZGVhbCBmb3Igc2NlbmFyaW9zIHdoZXJlIHlvdSB3YW50IHRvIHBlcmZvcm0gSFRUUCByZXF1ZXN0cyB3aXRob3V0IGJsb2NraW5nIHRoZSBtYWluIGV4ZWN1dGlvbiB0aHJlYWQuXG4gKiAtICoqQ29tcGxleCBSZXF1ZXN0IENvbmZpZ3VyYXRpb25zKio6IFN1aXRhYmxlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMgdGhhdCByZXF1aXJlIGRldGFpbGVkIHJlcXVlc3QgY29uZmlndXJhdGlvbnMgYW5kIGhhbmRsaW5nLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBIdHRwQXN5bmNDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2h0dHBcIjtcbiAqIFxuICogY29uc3QgY2xpZW50ID0gSHR0cEFzeW5jQ2xpZW50LmdldEluc3RhbmNlKCk7XG4gKiBcbiAqIGNsaWVudC5nZXRBc3luYyhcImh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2RhdGFcIiwge1xuICogICBzdWNjZXNzOiBcImZ1bmN0aW9uKHJlc3BvbnNlKSB7IGNvbnNvbGUubG9nKCdTdWNjZXNzOicsIHJlc3BvbnNlKTsgfVwiLFxuICogICBlcnJvcjogXCJmdW5jdGlvbihlcnJvcikgeyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7IH1cIlxuICogfSwge1xuICogICBoZWFkZXJzOiBbeyBuYW1lOiAnQXV0aG9yaXphdGlvbicsIHZhbHVlOiAnQmVhcmVyIHRva2VuJyB9XSxcbiAqICAgcGFyYW1zOiBbeyBuYW1lOiAncXVlcnknLCB2YWx1ZTogJ3NlYXJjaCB0ZXJtJyB9XVxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG4vLyAtLS0gU2hhcmVkIEludGVyZmFjZXMgKGZvciBkb2N1bWVudGF0aW9uIGNsYXJpdHkpIC0tLVxuXG4vKiogRGVmaW5lcyBhIHNpbmdsZSBIVFRQIGhlYWRlciwgdXNlZCBmb3IgYm90aCByZXF1ZXN0IGFuZCByZXNwb25zZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudEhlYWRlciB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBoZWFkZXIgKGUuZy4sICdDb250ZW50LVR5cGUnLCAnQXV0aG9yaXphdGlvbicpLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIHZhbHVlIG9mIHRoZSBoZWFkZXIuICovXG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqIERlZmluZXMgYSBxdWVyeSBwYXJhbWV0ZXIgdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZSBVUkwuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRQYXJhbSB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVyIChlLmcuLCAnaWQnKS4gKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgVVJMIHF1ZXJ5IHBhcmFtZXRlci4gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKiogRGVmaW5lcyBhIGZpbGUgdG8gYmUgaW5jbHVkZWQgaW4gYSBtdWx0aS1wYXJ0IGZvcm0gZGF0YSByZXF1ZXN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2xpZW50RmlsZSB7XG4gICAgLyoqIFRoZSBmb3JtIGZpZWxkIG5hbWUgZm9yIHRoZSBmaWxlLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIGZpbGUgcGF0aCBvciBjb250ZW50LiAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGFuIEhUVFAgcmVxdWVzdCwgbWlycm9yaW5nIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIHVuZGVybHlpbmcgSmF2YSBjbGllbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyB7XG4gICAgZXhwZWN0Q29udGludWVFbmFibGVkPzogYm9vbGVhbjtcbiAgICBwcm94eUhvc3Q/OiBzdHJpbmc7XG4gICAgcHJveHlQb3J0PzogbnVtYmVyO1xuICAgIGNvb2tpZVNwZWM/OiBzdHJpbmc7XG4gICAgcmVkaXJlY3RzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVsYXRpdmVSZWRpcmVjdHNBbGxvd2VkPzogYm9vbGVhbjtcbiAgICBjaXJjdWxhclJlZGlyZWN0c0FsbG93ZWQ/OiBib29sZWFuO1xuICAgIG1heFJlZGlyZWN0cz86IG51bWJlcjtcbiAgICBhdXRoZW50aWNhdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHRhcmdldFByZWZlcnJlZEF1dGhTY2hlbWVzPzogc3RyaW5nW107XG4gICAgcHJveHlQcmVmZXJyZWRBdXRoU2NoZW1lcz86IHN0cmluZ1tdO1xuICAgIGNvbm5lY3Rpb25SZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbiAgICBjb25uZWN0VGltZW91dD86IG51bWJlcjtcbiAgICBzb2NrZXRUaW1lb3V0PzogbnVtYmVyO1xuICAgIGNvbnRlbnRDb21wcmVzc2lvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHNzbFRydXN0QWxsRW5hYmxlZD86IGJvb2xlYW47XG4gICAgZGF0YT86IGFueVtdO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgZmlsZXM/OiBIdHRwQ2xpZW50RmlsZVtdO1xuICAgIGNoYXJhY3RlckVuY29kaW5nPzogc3RyaW5nO1xuICAgIGNoYXJhY3RlckVuY29kaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgaGVhZGVycz86IEh0dHBDbGllbnRIZWFkZXJbXTtcbiAgICBwYXJhbXM/OiBIdHRwQ2xpZW50UGFyYW1bXTtcbiAgICBiaW5hcnk/OiBib29sZWFuO1xuICAgIGNvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKiogVGhlIHN0cnVjdHVyZSBvZiB0aGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgdGhlIEh0dHBDbGllbnQgbWV0aG9kcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudFJlc3BvbnNlIHtcbiAgICAvKiogVGhlIEhUVFAgc3RhdHVzIGNvZGUgKGUuZy4sIDIwMCwgNDA0LCA1MDApLiAqL1xuICAgIHN0YXR1c0NvZGU6IG51bWJlcjtcbiAgICAvKiogVGhlIHN0YXR1cyBtZXNzYWdlIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIgKGUuZy4sICdPSycsICdOb3QgRm91bmQnKS4gKi9cbiAgICBzdGF0dXNNZXNzYWdlOiBzdHJpbmc7XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhbiBhcnJheSBvZiBieXRlcyAoaWYgcmVxdWVzdGVkIGFzIGJpbmFyeSkuICovXG4gICAgZGF0YTogYW55W107XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhIGRlY29kZWQgc3RyaW5nLiAqL1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKiogVGhlIHByb3RvY29sIHVzZWQgKGUuZy4sICdIVFRQLzEuMScpLiAqL1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgcmVzcG9uc2Ugd2FzIHByb2Nlc3NlZCBhcyBiaW5hcnkgZGF0YS4gKi9cbiAgICBiaW5hcnk6IGJvb2xlYW47XG4gICAgLyoqIEFycmF5IG9mIGFsbCBoZWFkZXJzIHJlY2VpdmVkIGluIHRoZSByZXNwb25zZS4gKi9cbiAgICBoZWFkZXJzOiBIdHRwQ2xpZW50SGVhZGVyW11cbn1cblxuLy8gLS0tIEFzeW5jaHJvbm91cyBDbGllbnQgSW50ZXJmYWNlcyAtLS1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBjYWxsYmFjayBzdHJ1Y3R1cmUgZm9yIGFzeW5jaHJvbm91cyByZXF1ZXN0cy5cbiAqIE5vdGU6IENhbGxiYWNrcyBhcmUgcHJvdmlkZWQgYXMgc3RyaW5ncyBjb250YWluaW5nIGV4ZWN1dGFibGUgSmF2YVNjcmlwdCBjb2RlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRBc3luY0NvbmZpZyB7XG4gICAgLyoqXG4gICAgICogTWFuZGF0b3J5IHN1Y2Nlc3MgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKHJlc3BvbnNlOiBIdHRwQ2xpZW50UmVzcG9uc2UsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+IHZvaWRgXG4gICAgICovXG4gICAgc3VjY2Vzczogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIGVycm9yIGNhbGxiYWNrIGFzIGEgKipzdHJpbmcgb2YgSmF2YVNjcmlwdCBjb2RlKiouXG4gICAgICogSXQgd2lsbCBiZSBleGVjdXRlZCB3aXRoIHNpZ25hdHVyZTogYChleGNlcHRpb246IGFueSkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBlcnJvcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBjYW5jZWwgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKCkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBjYW5jZWw/OiBzdHJpbmc7XG59XG5cblxuLy8gLS0tIEphdmEgVHlwZSBJbXBvcnRzIChDcnVjaWFsIGZvciBKVk0gaW50ZWdyYXRpb24pIC0tLVxuXG4vKiogSW1wb3J0cyB0aGUgbmF0aXZlIEphdmEgY2xhc3MgcmVzcG9uc2libGUgZm9yIGFzeW5jaHJvbm91cyBIVFRQIGV4ZWN1dGlvbi4gKi9cbmNvbnN0IEh0dHBDbGllbnRBc3luY0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5odHRwLkh0dHBDbGllbnRBc3luY0ZhY2FkZVwiKTtcblxuLyoqIEltcG9ydHMgdGhlIG5hdGl2ZSBKYXZhIGNsYXNzIGZvciByZXRyaWV2aW5nIFNwcmluZy1tYW5hZ2VkIGJlYW5zLiAqL1xuY29uc3QgU3ByaW5nQmVhblByb3ZpZGVyID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuc3ByaW5nLlNwcmluZ0JlYW5Qcm92aWRlclwiKTtcblxuLyoqIFJldHJpZXZlcyB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgZnJvbSB0aGUgU3ByaW5nIGNvbnRleHQuICovXG5jb25zdCBodHRwQ2xpZW50ID0gU3ByaW5nQmVhblByb3ZpZGVyLmdldEJlYW4oSHR0cENsaWVudEFzeW5jRmFjYWRlLmNsYXNzKTtcblxuXG4vKipcbiAqIFRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgY2xhc3MuIEFsbCByZXF1ZXN0IG1ldGhvZHMgcmV0dXJuIGltbWVkaWF0ZWx5XG4gKiBhbmQgZXhlY3V0ZSBjYWxsYmFja3MgdXBvbiBjb21wbGV0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgSHR0cEFzeW5jQ2xpZW50IHtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEdFVCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgKGUuZy4sIGhlYWRlcnMsIGJvZHksIHBhcmFtcykuXG4gICAgICovXG5cdGdldEFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmdldEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5nZXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIFBPU1QgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwb3N0QXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucG9zdEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5wb3N0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQVVQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwdXRBc3luYyh1cmw6IHN0cmluZywgY29uZmlnOiBIdHRwQ2xpZW50QXN5bmNDb25maWcsIG9wdGlvbnM/OiBIdHRwQ2xpZW50UmVxdWVzdE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBuZXdVcmwgPSBidWlsZFVybCh1cmwsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IGNhbGxiYWNrID0gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soXG5cdFx0XHRodHRwQ2xpZW50LFxuXHRcdFx0Y29uZmlnLnN1Y2Nlc3MsXG5cdFx0XHRjb25maWcuZXJyb3IsXG5cdFx0XHRjb25maWcuY2FuY2VsXG5cdFx0KTtcblx0XHRpZiAob3B0aW9ucykge1xuXHRcdFx0aHR0cENsaWVudC5wdXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucHV0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQQVRDSCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHBhdGNoQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIERFTEVURSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdGRlbGV0ZUFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmRlbGV0ZUFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5kZWxldGVBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEhFQUQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRoZWFkQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQuaGVhZEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5oZWFkQXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBUUkFDRSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHRyYWNlQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYXRlcyB0aGUgZXhlY3V0aW9uIG9mIHF1ZXVlZCBhc3luY2hyb25vdXMgcmVxdWVzdHMgKGRlcGVuZGluZyBvbiB0aGUgdW5kZXJseWluZyBKYXZhIGNsaWVudCdzIHRocmVhZGluZyBtb2RlbCkuXG4gICAgICovXG5cdGV4ZWN1dGUoKTogdm9pZCB7XG5cdFx0aHR0cENsaWVudC5leGVjdXRlKCk7XG5cdH07XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byByZXRyaWV2ZSBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgYXN5bmNocm9ub3VzIGNsaWVudC5cbiAqIEByZXR1cm5zIEEgbmV3IGluc3RhbmNlIG9mIEh0dHBBc3luY0NsaWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluc3RhbmNlKCk6IEh0dHBBc3luY0NsaWVudCB7XG5cdHJldHVybiBuZXcgSHR0cEFzeW5jQ2xpZW50KCk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuYXRpdmUgSmF2YSBjYWxsYmFjayBvYmplY3QgdGhhdCB3cmFwcyB0aGUgSmF2YVNjcmlwdCBzdWNjZXNzLCBlcnJvciwgYW5kIGNhbmNlbCBjYWxsYmFja3MuXG4gKiBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIHVuZGVybHlpbmcgSmF2YSBIVFRQIGNsaWVudCBpbnN0YW5jZSB0byBnZW5lcmF0ZSB0aGUgZmluYWwgY2FsbGJhY2sgb2JqZWN0LlxuICogQHBhcmFtIGh0dHBDbGllbnQgVGhlIEphdmEgSHR0cENsaWVudEFzeW5jRmFjYWRlIGluc3RhbmNlLlxuICogQHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3Igc3VjY2Vzcy5cbiAqIEBwYXJhbSBlcnJvckNhbGxiYWNrIEpTIGNvZGUgc3RyaW5nIGZvciBlcnJvci5cbiAqIEBwYXJhbSBjYW5jZWxDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3IgY2FuY2VsLlxuICogQHJldHVybnMgQSBKYXZhIGNhbGxiYWNrIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soaHR0cENsaWVudDogYW55LCBzdWNjZXNzQ2FsbGJhY2s6IHN0cmluZywgZXJyb3JDYWxsYmFjaz86IHN0cmluZywgY2FuY2VsQ2FsbGJhY2s/OiBzdHJpbmcpOiBhbnkge1xuXHRyZXR1cm4gaHR0cENsaWVudC5jcmVhdGVDYWxsYmFjayhcblx0XHRjcmVhdGVTdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKSxcblx0XHRjcmVhdGVFcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spLFxuXHRcdGNyZWF0ZUNhbmNlbENhbGxiYWNrKGNhbmNlbENhbGxiYWNrKVxuXHQpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgcmF3IEphdmFTY3JpcHQgc3RyaW5nIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgSlZNIGVudmlyb25tZW50IHVwb24gc3VjY2Vzc2Z1bCByZXF1ZXN0IGNvbXBsZXRpb24uXG4gKiBUaGlzIHN0cmluZyBoYW5kbGVzIHBhcnNpbmcgdGhlIEphdmEgSFRUUCByZXNwb25zZSBvYmplY3QgYW5kIGV4ZWN1dGluZyB0aGUgdXNlcidzIGRlZmluZWQgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcGFyYW0gY2FsbGJhY2sgVGhlIHVzZXItcHJvdmlkZWQgc3VjY2VzcyBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBjb21wbGV4IEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgc3VjY2VzcyBoYW5kbGVyLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTdWNjZXNzQ2FsbGJhY2soY2FsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG5cdC8vIE5vdGU6IFRoaXMgc3RyaW5nIHVzZXMgSmF2YSB1dGlsaXR5IGNsYXNzZXMgKG9yZy5hcGFjaGUuY29tbW9ucy5pby5JT1V0aWxzKSBhbmQgY29udGV4dCB2YXJpYWJsZXMgXG4gICAgLy8gKF9fY29udGV4dCkgdGhhdCBhcmUgYXZhaWxhYmxlIGluIHRoZSBzcGVjaWZpYyBKVk0gZW52aXJvbm1lbnQuXG4gICAgXG4gICAgLy8gVGhlIHN0cnVjdHVyZSBtYXBzIHRoZSBKYXZhIEhUVFAgUmVzcG9uc2Ugb2JqZWN0IGludG8gdGhlIHN0YW5kYXJkIEh0dHBDbGllbnRSZXNwb25zZSBpbnRlcmZhY2UuXG5cdHJldHVybiBcIihmdW5jdGlvbihodHRwUmVzcG9uc2UsIGlzQmluYXJ5LCBjb250ZXh0KSB7XFxuXCJcblx0XHQrIFwidmFyIHJlc3BvbnNlID0ge307XFxuXCJcblx0XHQrIFwicmVzcG9uc2Uuc3RhdHVzQ29kZSA9IGh0dHBSZXNwb25zZS5nZXRTdGF0dXNMaW5lKCkuZ2V0U3RhdHVzQ29kZSgpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLnN0YXR1c01lc3NhZ2UgPSBodHRwUmVzcG9uc2UuZ2V0U3RhdHVzTGluZSgpLmdldFJlYXNvblBocmFzZSgpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLnByb3RvY29sID0gaHR0cFJlc3BvbnNlLmdldFByb3RvY29sVmVyc2lvbigpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLmJpbmFyeSA9IGlzQmluYXJ5O1xcblwiXG5cblx0XHQrIFwidmFyIGhlYWRlcnMgPSBodHRwUmVzcG9uc2UuZ2V0QWxsSGVhZGVycygpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLmhlYWRlcnMgPSBbXTtcXG5cIlxuXHRcdCsgXCJmb3IgKHZhciBpID0gMDsgaSA8IGhlYWRlcnMubGVuZ3RoOyBpICsrKSB7XFxuXCJcblx0XHQrIFwiICAgIHJlc3BvbnNlLmhlYWRlcnMucHVzaCh7XFxuXCJcblx0XHQrIFwiICAgICAgICBuYW1lOiBoZWFkZXJzW2ldLmdldE5hbWUoKSxcXG5cIlxuXHRcdCsgXCIgICAgICAgIHZhbHVlOiBoZWFkZXJzW2ldLmdldFZhbHVlKClcXG5cIlxuXHRcdCsgXCIgICAgfSk7XFxuXCJcblx0XHQrIFwifVxcblwiXG5cblx0XHQrIFwidmFyIGVudGl0eSA9IGh0dHBSZXNwb25zZS5nZXRFbnRpdHkoKTtcXG5cIlxuXHRcdCsgXCJpZiAoZW50aXR5KSB7XFxuXCJcblx0XHQrIFwiICAgIHZhciBpbnB1dFN0cmVhbSA9IGVudGl0eS5nZXRDb250ZW50KCk7XFxuXCJcblx0XHQrIFwiICAgIGlmIChpc0JpbmFyeSkge1xcblwiXG5cdFx0KyBcIiAgICAgICAgLy8gVXNlcyBKYXZhIElPVXRpbHMgdG8gcmVhZCBiaW5hcnkgZGF0YVxcblwiXG5cdFx0KyBcIiAgICAgICAgcmVzcG9uc2UuZGF0YSA9IG9yZy5hcGFjaGUuY29tbW9ucy5pby5JT1V0aWxzLnRvQnl0ZUFycmF5KGlucHV0U3RyZWFtKTtcXG5cIlxuXHRcdCsgXCIgICAgfSBlbHNlIHtcXG5cIlxuXHRcdCsgXCIgICAgICAgIC8vIFVzZXMgSmF2YSBJT1V0aWxzIHRvIHJlYWQgdGV4dCBkYXRhXFxuXCJcblx0XHQrIFwiICAgICAgICByZXNwb25zZS50ZXh0ID0gb3JnLmFwYWNoZS5jb21tb25zLmlvLklPVXRpbHMudG9TdHJpbmcoaW5wdXRTdHJlYW0pO1xcblwiXG5cdFx0KyBcIiAgICB9XFxuXCJcblx0XHQrIFwifVxcblwiXG5cblx0XHQrIFwiKFwiICsgY2FsbGJhY2sgKyBcIikocmVzcG9uc2UsIEpTT04ucGFyc2UoY29udGV4dCkpO1xcblwiXG5cdFx0KyBcIn0pKF9fY29udGV4dC5nZXQoJ3Jlc3BvbnNlJyksIF9fY29udGV4dC5nZXQoJ2h0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucycpLmlzQmluYXJ5KCksIF9fY29udGV4dC5nZXQoJ2h0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucycpLmdldENvbnRleHQoKSk7XFxuXCI7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSByYXcgSmF2YVNjcmlwdCBzdHJpbmcgZm9yIHRoZSBlcnJvciBjYWxsYmFjay5cbiAqIEBwYXJhbSBjYWxsYmFjayBUaGUgdXNlci1wcm92aWRlZCBlcnJvciBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGVycm9yIGhhbmRsZXIsIG9yIHVuZGVmaW5lZC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlRXJyb3JDYWxsYmFjayhjYWxsYmFjaz86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGlmIChjYWxsYmFjaykge1xuXHRcdHJldHVybiBcIihcIiArIGNhbGxiYWNrICsgXCIpKF9fY29udGV4dC5nZXQoJ2V4Y2VwdGlvbicpKVwiO1xuXHR9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIHJhdyBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGNhbmNlbCBjYWxsYmFjay5cbiAqIEBwYXJhbSBjYWxsYmFjayBUaGUgdXNlci1wcm92aWRlZCBjYW5jZWwgY2FsbGJhY2sgZnVuY3Rpb24gY29kZSBzdHJpbmcuXG4gKiBAcmV0dXJucyBUaGUgSmF2YVNjcmlwdCBzdHJpbmcgZm9yIHRoZSBjYW5jZWwgaGFuZGxlciwgb3IgdW5kZWZpbmVkLlxuICovXG5mdW5jdGlvbiBjcmVhdGVDYW5jZWxDYWxsYmFjayhjYWxsYmFjaz86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdGlmIChjYWxsYmFjaykge1xuXHRcdHJldHVybiBcIihcIiArIGNhbGxiYWNrICsgXCIpKClcIjtcblx0fVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBmaW5hbCBVUkwgYnkgYXBwZW5kaW5nIGFsbCBxdWVyeSBwYXJhbWV0ZXJzIGRlZmluZWQgaW4gb3B0aW9ucy5wYXJhbXMuXG4gKiBUaGUgcGFyYW1ldGVycyBhcmUgbm90IHJlbW92ZWQgZnJvbSB0aGUgb3B0aW9ucyBvYmplY3QgYXMgdGhleSBhcmUgZm9yIHRoZSBzeW5jaHJvbm91cyBjbGllbnQsXG4gKiBzaW5jZSB0aGUgb3B0aW9ucyBhcmUgcGFzc2VkIGFzIEpTT04gc3RyaW5nIHRvIHRoZSBmYWNhZGUgYW55d2F5LlxuICogQHBhcmFtIHVybCBUaGUgYmFzZSBVUkwuXG4gKiBAcGFyYW0gb3B0aW9ucyBUaGUgcmVxdWVzdCBvcHRpb25zIHdoaWNoIG1heSBjb250YWluIGBwYXJhbXNgLlxuICogQHJldHVybnMgVGhlIFVSTCB3aXRoIGFwcGVuZGVkIHF1ZXJ5IHBhcmFtZXRlcnMuXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkVXJsKHVybDogc3RyaW5nLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogc3RyaW5nIHtcblx0aWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zID09PSBudWxsIHx8IG9wdGlvbnMucGFyYW1zID09PSB1bmRlZmluZWQgfHwgb3B0aW9ucy5wYXJhbXMgPT09IG51bGwgfHwgb3B0aW9ucy5wYXJhbXMubGVuZ3RoID09PSAwKSB7XG5cdFx0cmV0dXJuIHVybDtcblx0fVxuXHRsZXQgbmV3VXJsID0gdXJsO1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMucGFyYW1zLmxlbmd0aDsgaSArKykge1xuICAgICAgICBjb25zdCBwYXJhbSA9IG9wdGlvbnMucGFyYW1zW2ldO1xuXHRcdGlmIChpID09PSAwKSB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiBVUkwgYWxyZWFkeSBjb250YWlucyAnPycgYW5kIHVzZSAnJicgaWYgc28gKGltcHJvdmVzIHJvYnVzdG5lc3MpXG4gICAgICAgICAgICBpZiAobmV3VXJsLmluY2x1ZGVzKCc/JykpIHtcbiAgICAgICAgICAgICAgICBuZXdVcmwgKz0gJyYnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdVcmwgKz0gJz8nO1xuICAgICAgICAgICAgfVxuXHRcdFx0bmV3VXJsICs9IHBhcmFtLm5hbWUgKyAnPScgKyBwYXJhbS52YWx1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bmV3VXJsICs9ICcmJyArIHBhcmFtLm5hbWUgKyAnPScgKyBwYXJhbS52YWx1ZTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIG5ld1VybDtcbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSB7IEh0dHBBc3luY0NsaWVudCwgZ2V0SW5zdGFuY2UgfTtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVJQSxNQUFNLHdCQUF3QixLQUFLLEtBQUssaUVBQWlFO0FBR3pHLE1BQU0scUJBQXFCLEtBQUssS0FBSyw0REFBNEQ7QUFHakcsTUFBTSxhQUFhLG1CQUFtQixRQUFRLHNCQUFzQixLQUFLO0FBT2xFLE1BQU0sZ0JBQWdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRNUIsU0FBUyxLQUFhLFFBQStCLFNBQTBDO0FBQzlGLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxTQUFTLFFBQVEsS0FBSyxVQUFVLE9BQU8sR0FBRyxRQUFRO0FBQUEsSUFDOUQsT0FBTztBQUNOLGlCQUFXLFNBQVMsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQ3pEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsVUFBVSxLQUFhLFFBQStCLFNBQTBDO0FBQy9GLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxVQUFVLFFBQVEsS0FBSyxVQUFVLE9BQU8sR0FBRyxRQUFRO0FBQUEsSUFDL0QsT0FBTztBQUNOLGlCQUFXLFVBQVUsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQzFEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsU0FBUyxLQUFhLFFBQStCLFNBQTBDO0FBQzlGLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxTQUFTLFFBQVEsS0FBSyxVQUFVLE9BQU8sR0FBRyxRQUFRO0FBQUEsSUFDOUQsT0FBTztBQUNOLGlCQUFXLFNBQVMsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQ3pEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsV0FBVyxLQUFhLFFBQStCLFNBQTBDO0FBQ2hHLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxXQUFXLFFBQVEsS0FBSyxVQUFVLE9BQU8sR0FBRyxRQUFRO0FBQUEsSUFDaEUsT0FBTztBQUNOLGlCQUFXLFdBQVcsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQzNEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsWUFBWSxLQUFhLFFBQStCLFNBQTBDO0FBQ2pHLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxZQUFZLFFBQVEsS0FBSyxVQUFVLE9BQU8sR0FBRyxRQUFRO0FBQUEsSUFDakUsT0FBTztBQUNOLGlCQUFXLFlBQVksUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQzVEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsVUFBVSxLQUFhLFFBQStCLFNBQTBDO0FBQy9GLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxVQUFVLFFBQVEsS0FBSyxVQUFVLE9BQU8sR0FBRyxRQUFRO0FBQUEsSUFDL0QsT0FBTztBQUNOLGlCQUFXLFVBQVUsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQzFEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsV0FBVyxLQUFhLFFBQStCLFNBQTBDO0FBQ2hHLFVBQU0sU0FBUyxTQUFTLEtBQUssT0FBTztBQUNwQyxVQUFNLFdBQVc7QUFBQSxNQUNoQjtBQUFBLE1BQ0EsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLE1BQ1AsT0FBTztBQUFBLElBQ1I7QUFDQSxRQUFJLFNBQVM7QUFDWixpQkFBVyxXQUFXLFFBQVEsS0FBSyxVQUFVLE9BQU8sR0FBRyxRQUFRO0FBQUEsSUFDaEUsT0FBTztBQUNOLGlCQUFXLFdBQVcsUUFBUSxLQUFLLFVBQVUsQ0FBQyxDQUFDLEdBQUcsUUFBUTtBQUFBLElBQzNEO0FBQUEsRUFDRDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsVUFBZ0I7QUFDZixlQUFXLFFBQVE7QUFBQSxFQUNwQjtBQUNEO0FBTU8sU0FBUyxjQUErQjtBQUM5QyxTQUFPLElBQUksZ0JBQWdCO0FBQzVCO0FBQUM7QUFXRCxTQUFTLDJCQUEyQkEsYUFBaUIsaUJBQXlCLGVBQXdCLGdCQUE4QjtBQUNuSSxTQUFPQSxZQUFXO0FBQUEsSUFDakIsc0JBQXNCLGVBQWU7QUFBQSxJQUNyQyxvQkFBb0IsYUFBYTtBQUFBLElBQ2pDLHFCQUFxQixjQUFjO0FBQUEsRUFDcEM7QUFDRDtBQVFBLFNBQVMsc0JBQXNCLFVBQTBCO0FBS3hELFNBQU8sbTZCQTRCRSxXQUFXO0FBRXJCO0FBT0EsU0FBUyxvQkFBb0IsVUFBdUM7QUFDbkUsTUFBSSxVQUFVO0FBQ2IsV0FBTyxNQUFNLFdBQVc7QUFBQSxFQUN6QjtBQUNHLFNBQU87QUFDWDtBQU9BLFNBQVMscUJBQXFCLFVBQXVDO0FBQ3BFLE1BQUksVUFBVTtBQUNiLFdBQU8sTUFBTSxXQUFXO0FBQUEsRUFDekI7QUFDRyxTQUFPO0FBQ1g7QUFVQSxTQUFTLFNBQVMsS0FBYSxTQUE0QztBQUMxRSxNQUFJLFlBQVksVUFBYSxZQUFZLFFBQVEsUUFBUSxXQUFXLFVBQWEsUUFBUSxXQUFXLFFBQVEsUUFBUSxPQUFPLFdBQVcsR0FBRztBQUN4SSxXQUFPO0FBQUEsRUFDUjtBQUNBLE1BQUksU0FBUztBQUNiLFdBQVMsSUFBSSxHQUFHLElBQUksUUFBUSxPQUFPLFFBQVEsS0FBTTtBQUMxQyxVQUFNLFFBQVEsUUFBUSxPQUFPLENBQUM7QUFDcEMsUUFBSSxNQUFNLEdBQUc7QUFFSCxVQUFJLE9BQU8sU0FBUyxHQUFHLEdBQUc7QUFDdEIsa0JBQVU7QUFBQSxNQUNkLE9BQU87QUFDSCxrQkFBVTtBQUFBLE1BQ2Q7QUFDVCxnQkFBVSxNQUFNLE9BQU8sTUFBTSxNQUFNO0FBQUEsSUFDcEMsT0FBTztBQUNOLGdCQUFVLE1BQU0sTUFBTSxPQUFPLE1BQU0sTUFBTTtBQUFBLElBQzFDO0FBQUEsRUFDRDtBQUNBLFNBQU87QUFDUjtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVLEVBQUUsaUJBQWlCLFlBQVk7QUFDakQ7IiwKICAibmFtZXMiOiBbImh0dHBDbGllbnQiXQp9Cg==
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2h0dHAvY2xpZW50LWFzeW5jLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgaHR0cC9jbGllbnQtYXN5bmNcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9odHRwXG4gKiBAbmFtZSBIdHRwQXN5bmNDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgSHR0cEFzeW5jQ2xpZW50IGNsYXNzIHByb3ZpZGVzIGEgSmF2YVNjcmlwdC9UeXBlU2NyaXB0IHdyYXBwZXIgKEZhY2FkZSkgZm9yIG1ha2luZyBhc3luY2hyb25vdXMgSFRUUCByZXF1ZXN0cyB1c2luZyB0aGUgdW5kZXJseWluZyBKYXZhIEhUVFAgY2xpZW50LiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBwZXJmb3JtIG5vbi1ibG9ja2luZyBIVFRQIG9wZXJhdGlvbnMgYnkgZGVmaW5pbmcgc3VjY2VzcywgZXJyb3IsIGFuZCBjYW5jZWwgY2FsbGJhY2tzIGFzIHN0cmluZ3Mgb2YgZXhlY3V0YWJsZSBKYXZhU2NyaXB0IGNvZGUuIFRoZSBjbGFzcyBzdXBwb3J0cyBhbGwgc3RhbmRhcmQgSFRUUCBtZXRob2RzIChHRVQsIFBPU1QsIFBVVCwgUEFUQ0gsIERFTEVURSwgSEVBRCwgVFJBQ0UpIGFuZCBhY2NlcHRzIGEgY29tcHJlaGVuc2l2ZSBzZXQgb2YgcmVxdWVzdCBvcHRpb25zIHRoYXQgbWlycm9yIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIEphdmEgY2xpZW50LlxuICogXG4gKiAjIyMgS2V5IEZlYXR1cmVzOlxuICogLSAqKkFzeW5jaHJvbm91cyBFeGVjdXRpb24qKjogQWxsIEhUVFAgbWV0aG9kcyByZXR1cm4gaW1tZWRpYXRlbHksIHdpdGggY2FsbGJhY2tzIGV4ZWN1dGVkIHVwb24gY29tcGxldGlvbi5cbiAqIC0gKipDb21wcmVoZW5zaXZlIFJlcXVlc3QgT3B0aW9ucyoqOiBTdXBwb3J0cyBhIHdpZGUgcmFuZ2Ugb2YgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBmaW5lLXR1bmluZyBIVFRQIHJlcXVlc3RzLlxuICogLSAqKkNhbGxiYWNrIEZsZXhpYmlsaXR5Kio6IENhbGxiYWNrcyBhcmUgZGVmaW5lZCBhcyBzdHJpbmdzIG9mIEphdmFTY3JpcHQgY29kZSwgYWxsb3dpbmcgZm9yIGR5bmFtaWMgZXhlY3V0aW9uIGluIHRoZSBKVk0gZW52aXJvbm1lbnQuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXM6XG4gKiAtICoqTm9uLWJsb2NraW5nIEFQSSBDYWxscyoqOiBJZGVhbCBmb3Igc2NlbmFyaW9zIHdoZXJlIHlvdSB3YW50IHRvIHBlcmZvcm0gSFRUUCByZXF1ZXN0cyB3aXRob3V0IGJsb2NraW5nIHRoZSBtYWluIGV4ZWN1dGlvbiB0aHJlYWQuXG4gKiAtICoqQ29tcGxleCBSZXF1ZXN0IENvbmZpZ3VyYXRpb25zKio6IFN1aXRhYmxlIGZvciBhZHZhbmNlZCB1c2UgY2FzZXMgdGhhdCByZXF1aXJlIGRldGFpbGVkIHJlcXVlc3QgY29uZmlndXJhdGlvbnMgYW5kIGhhbmRsaW5nLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBIdHRwQXN5bmNDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2h0dHBcIjtcbiAqIFxuICogY29uc3QgY2xpZW50ID0gSHR0cEFzeW5jQ2xpZW50LmdldEluc3RhbmNlKCk7XG4gKiBcbiAqIGNsaWVudC5nZXRBc3luYyhcImh0dHBzOi8vYXBpLmV4YW1wbGUuY29tL2RhdGFcIiwge1xuICogICBzdWNjZXNzOiBcImZ1bmN0aW9uKHJlc3BvbnNlKSB7IGNvbnNvbGUubG9nKCdTdWNjZXNzOicsIHJlc3BvbnNlKTsgfVwiLFxuICogICBlcnJvcjogXCJmdW5jdGlvbihlcnJvcikgeyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7IH1cIlxuICogfSwge1xuICogICBoZWFkZXJzOiBbeyBuYW1lOiAnQXV0aG9yaXphdGlvbicsIHZhbHVlOiAnQmVhcmVyIHRva2VuJyB9XSxcbiAqICAgcGFyYW1zOiBbeyBuYW1lOiAncXVlcnknLCB2YWx1ZTogJ3NlYXJjaCB0ZXJtJyB9XVxuICogfSk7XG4gKiBgYGBcbiAqL1xuXG4vLyAtLS0gU2hhcmVkIEludGVyZmFjZXMgKGZvciBkb2N1bWVudGF0aW9uIGNsYXJpdHkpIC0tLVxuXG4vKiogRGVmaW5lcyBhIHNpbmdsZSBIVFRQIGhlYWRlciwgdXNlZCBmb3IgYm90aCByZXF1ZXN0IGFuZCByZXNwb25zZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudEhlYWRlciB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBoZWFkZXIgKGUuZy4sICdDb250ZW50LVR5cGUnLCAnQXV0aG9yaXphdGlvbicpLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIHZhbHVlIG9mIHRoZSBoZWFkZXIuICovXG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuLyoqIERlZmluZXMgYSBxdWVyeSBwYXJhbWV0ZXIgdGhhdCB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZSBVUkwuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRQYXJhbSB7XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVyIChlLmcuLCAnaWQnKS4gKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgLyoqIFRoZSB2YWx1ZSBvZiB0aGUgVVJMIHF1ZXJ5IHBhcmFtZXRlci4gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKiogRGVmaW5lcyBhIGZpbGUgdG8gYmUgaW5jbHVkZWQgaW4gYSBtdWx0aS1wYXJ0IGZvcm0gZGF0YSByZXF1ZXN0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBIdHRwQ2xpZW50RmlsZSB7XG4gICAgLyoqIFRoZSBmb3JtIGZpZWxkIG5hbWUgZm9yIHRoZSBmaWxlLiAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKiogVGhlIGZpbGUgcGF0aCBvciBjb250ZW50LiAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGFuIEhUVFAgcmVxdWVzdCwgbWlycm9yaW5nIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhlIHVuZGVybHlpbmcgSmF2YSBjbGllbnQuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyB7XG4gICAgZXhwZWN0Q29udGludWVFbmFibGVkPzogYm9vbGVhbjtcbiAgICBwcm94eUhvc3Q/OiBzdHJpbmc7XG4gICAgcHJveHlQb3J0PzogbnVtYmVyO1xuICAgIGNvb2tpZVNwZWM/OiBzdHJpbmc7XG4gICAgcmVkaXJlY3RzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgcmVsYXRpdmVSZWRpcmVjdHNBbGxvd2VkPzogYm9vbGVhbjtcbiAgICBjaXJjdWxhclJlZGlyZWN0c0FsbG93ZWQ/OiBib29sZWFuO1xuICAgIG1heFJlZGlyZWN0cz86IG51bWJlcjtcbiAgICBhdXRoZW50aWNhdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHRhcmdldFByZWZlcnJlZEF1dGhTY2hlbWVzPzogc3RyaW5nW107XG4gICAgcHJveHlQcmVmZXJyZWRBdXRoU2NoZW1lcz86IHN0cmluZ1tdO1xuICAgIGNvbm5lY3Rpb25SZXF1ZXN0VGltZW91dD86IG51bWJlcjtcbiAgICBjb25uZWN0VGltZW91dD86IG51bWJlcjtcbiAgICBzb2NrZXRUaW1lb3V0PzogbnVtYmVyO1xuICAgIGNvbnRlbnRDb21wcmVzc2lvbkVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHNzbFRydXN0QWxsRW5hYmxlZD86IGJvb2xlYW47XG4gICAgZGF0YT86IGFueVtdO1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgZmlsZXM/OiBIdHRwQ2xpZW50RmlsZVtdO1xuICAgIGNoYXJhY3RlckVuY29kaW5nPzogc3RyaW5nO1xuICAgIGNoYXJhY3RlckVuY29kaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gICAgY29udGVudFR5cGU/OiBzdHJpbmc7XG4gICAgaGVhZGVycz86IEh0dHBDbGllbnRIZWFkZXJbXTtcbiAgICBwYXJhbXM/OiBIdHRwQ2xpZW50UGFyYW1bXTtcbiAgICBiaW5hcnk/OiBib29sZWFuO1xuICAgIGNvbnRleHQ/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vKiogVGhlIHN0cnVjdHVyZSBvZiB0aGUgcmVzcG9uc2UgcmV0dXJuZWQgYnkgdGhlIEh0dHBDbGllbnQgbWV0aG9kcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cENsaWVudFJlc3BvbnNlIHtcbiAgICAvKiogVGhlIEhUVFAgc3RhdHVzIGNvZGUgKGUuZy4sIDIwMCwgNDA0LCA1MDApLiAqL1xuICAgIHN0YXR1c0NvZGU6IG51bWJlcjtcbiAgICAvKiogVGhlIHN0YXR1cyBtZXNzYWdlIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIgKGUuZy4sICdPSycsICdOb3QgRm91bmQnKS4gKi9cbiAgICBzdGF0dXNNZXNzYWdlOiBzdHJpbmc7XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhbiBhcnJheSBvZiBieXRlcyAoaWYgcmVxdWVzdGVkIGFzIGJpbmFyeSkuICovXG4gICAgZGF0YTogYW55W107XG4gICAgLyoqIFJlc3BvbnNlIGJvZHkgY29udGVudCBhcyBhIGRlY29kZWQgc3RyaW5nLiAqL1xuICAgIHRleHQ6IHN0cmluZztcbiAgICAvKiogVGhlIHByb3RvY29sIHVzZWQgKGUuZy4sICdIVFRQLzEuMScpLiAqL1xuICAgIHByb3RvY29sOiBzdHJpbmc7XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgcmVzcG9uc2Ugd2FzIHByb2Nlc3NlZCBhcyBiaW5hcnkgZGF0YS4gKi9cbiAgICBiaW5hcnk6IGJvb2xlYW47XG4gICAgLyoqIEFycmF5IG9mIGFsbCBoZWFkZXJzIHJlY2VpdmVkIGluIHRoZSByZXNwb25zZS4gKi9cbiAgICBoZWFkZXJzOiBIdHRwQ2xpZW50SGVhZGVyW11cbn1cblxuLy8gLS0tIEFzeW5jaHJvbm91cyBDbGllbnQgSW50ZXJmYWNlcyAtLS1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBjYWxsYmFjayBzdHJ1Y3R1cmUgZm9yIGFzeW5jaHJvbm91cyByZXF1ZXN0cy5cbiAqIE5vdGU6IENhbGxiYWNrcyBhcmUgcHJvdmlkZWQgYXMgc3RyaW5ncyBjb250YWluaW5nIGV4ZWN1dGFibGUgSmF2YVNjcmlwdCBjb2RlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBDbGllbnRBc3luY0NvbmZpZyB7XG4gICAgLyoqXG4gICAgICogTWFuZGF0b3J5IHN1Y2Nlc3MgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKHJlc3BvbnNlOiBIdHRwQ2xpZW50UmVzcG9uc2UsIGNvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0pID0+IHZvaWRgXG4gICAgICovXG4gICAgc3VjY2Vzczogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsIGVycm9yIGNhbGxiYWNrIGFzIGEgKipzdHJpbmcgb2YgSmF2YVNjcmlwdCBjb2RlKiouXG4gICAgICogSXQgd2lsbCBiZSBleGVjdXRlZCB3aXRoIHNpZ25hdHVyZTogYChleGNlcHRpb246IGFueSkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBlcnJvcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbCBjYW5jZWwgY2FsbGJhY2sgYXMgYSAqKnN0cmluZyBvZiBKYXZhU2NyaXB0IGNvZGUqKi5cbiAgICAgKiBJdCB3aWxsIGJlIGV4ZWN1dGVkIHdpdGggc2lnbmF0dXJlOiBgKCkgPT4gdm9pZGBcbiAgICAgKi9cbiAgICBjYW5jZWw/OiBzdHJpbmc7XG59XG5cblxuLy8gLS0tIEphdmEgVHlwZSBJbXBvcnRzIChDcnVjaWFsIGZvciBKVk0gaW50ZWdyYXRpb24pIC0tLVxuXG4vKiogSW1wb3J0cyB0aGUgbmF0aXZlIEphdmEgY2xhc3MgcmVzcG9uc2libGUgZm9yIGFzeW5jaHJvbm91cyBIVFRQIGV4ZWN1dGlvbi4gKi9cbmNvbnN0IEh0dHBDbGllbnRBc3luY0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5odHRwLkh0dHBDbGllbnRBc3luY0ZhY2FkZVwiKTtcblxuLyoqIEltcG9ydHMgdGhlIG5hdGl2ZSBKYXZhIGNsYXNzIGZvciByZXRyaWV2aW5nIFNwcmluZy1tYW5hZ2VkIGJlYW5zLiAqL1xuY29uc3QgU3ByaW5nQmVhblByb3ZpZGVyID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuc3ByaW5nLlNwcmluZ0JlYW5Qcm92aWRlclwiKTtcblxuLyoqIFJldHJpZXZlcyB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgZnJvbSB0aGUgU3ByaW5nIGNvbnRleHQuICovXG5jb25zdCBodHRwQ2xpZW50ID0gU3ByaW5nQmVhblByb3ZpZGVyLmdldEJlYW4oSHR0cENsaWVudEFzeW5jRmFjYWRlLmNsYXNzKTtcblxuXG4vKipcbiAqIFRoZSBhc3luY2hyb25vdXMgSFRUUCBjbGllbnQgY2xhc3MuIEFsbCByZXF1ZXN0IG1ldGhvZHMgcmV0dXJuIGltbWVkaWF0ZWx5XG4gKiBhbmQgZXhlY3V0ZSBjYWxsYmFja3MgdXBvbiBjb21wbGV0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgSHR0cEFzeW5jQ2xpZW50IHtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEdFVCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMgKGUuZy4sIGhlYWRlcnMsIGJvZHksIHBhcmFtcykuXG4gICAgICovXG5cdGdldEFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmdldEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5nZXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIFBPU1QgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwb3N0QXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucG9zdEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5wb3N0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQVVQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRwdXRBc3luYyh1cmw6IHN0cmluZywgY29uZmlnOiBIdHRwQ2xpZW50QXN5bmNDb25maWcsIG9wdGlvbnM/OiBIdHRwQ2xpZW50UmVxdWVzdE9wdGlvbnMpOiB2b2lkIHtcblx0XHRjb25zdCBuZXdVcmwgPSBidWlsZFVybCh1cmwsIG9wdGlvbnMpO1xuXHRcdGNvbnN0IGNhbGxiYWNrID0gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soXG5cdFx0XHRodHRwQ2xpZW50LFxuXHRcdFx0Y29uZmlnLnN1Y2Nlc3MsXG5cdFx0XHRjb25maWcuZXJyb3IsXG5cdFx0XHRjb25maWcuY2FuY2VsXG5cdFx0KTtcblx0XHRpZiAob3B0aW9ucykge1xuXHRcdFx0aHR0cENsaWVudC5wdXRBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucHV0QXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBQQVRDSCByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHBhdGNoQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQucGF0Y2hBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIERFTEVURSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdGRlbGV0ZUFzeW5jKHVybDogc3RyaW5nLCBjb25maWc6IEh0dHBDbGllbnRBc3luY0NvbmZpZywgb3B0aW9ucz86IEh0dHBDbGllbnRSZXF1ZXN0T3B0aW9ucyk6IHZvaWQge1xuXHRcdGNvbnN0IG5ld1VybCA9IGJ1aWxkVXJsKHVybCwgb3B0aW9ucyk7XG5cdFx0Y29uc3QgY2FsbGJhY2sgPSBjcmVhdGVIdHRwUmVzcG9uc2VDYWxsYmFjayhcblx0XHRcdGh0dHBDbGllbnQsXG5cdFx0XHRjb25maWcuc3VjY2Vzcyxcblx0XHRcdGNvbmZpZy5lcnJvcixcblx0XHRcdGNvbmZpZy5jYW5jZWxcblx0XHQpO1xuXHRcdGlmIChvcHRpb25zKSB7XG5cdFx0XHRodHRwQ2xpZW50LmRlbGV0ZUFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5kZWxldGVBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGFuIGFzeW5jaHJvbm91cyBIVFRQIEhFQUQgcmVxdWVzdC5cbiAgICAgKiBAcGFyYW0gdXJsIFRoZSB0YXJnZXQgVVJMLlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNhbGxiYWNrIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSBvcHRpb25zIFJlcXVlc3QgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqL1xuXHRoZWFkQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQuaGVhZEFzeW5jKG5ld1VybCwgSlNPTi5zdHJpbmdpZnkob3B0aW9ucyksIGNhbGxiYWNrKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aHR0cENsaWVudC5oZWFkQXN5bmMobmV3VXJsLCBKU09OLnN0cmluZ2lmeSh7fSksIGNhbGxiYWNrKTtcblx0XHR9XG5cdH07XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhbiBhc3luY2hyb25vdXMgSFRUUCBUUkFDRSByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB1cmwgVGhlIHRhcmdldCBVUkwuXG4gICAgICogQHBhcmFtIGNvbmZpZyBUaGUgY2FsbGJhY2sgY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIG9wdGlvbnMgUmVxdWVzdCBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICovXG5cdHRyYWNlQXN5bmModXJsOiBzdHJpbmcsIGNvbmZpZzogSHR0cENsaWVudEFzeW5jQ29uZmlnLCBvcHRpb25zPzogSHR0cENsaWVudFJlcXVlc3RPcHRpb25zKTogdm9pZCB7XG5cdFx0Y29uc3QgbmV3VXJsID0gYnVpbGRVcmwodXJsLCBvcHRpb25zKTtcblx0XHRjb25zdCBjYWxsYmFjayA9IGNyZWF0ZUh0dHBSZXNwb25zZUNhbGxiYWNrKFxuXHRcdFx0aHR0cENsaWVudCxcblx0XHRcdGNvbmZpZy5zdWNjZXNzLFxuXHRcdFx0Y29uZmlnLmVycm9yLFxuXHRcdFx0Y29uZmlnLmNhbmNlbFxuXHRcdCk7XG5cdFx0aWYgKG9wdGlvbnMpIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpLCBjYWxsYmFjayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGh0dHBDbGllbnQudHJhY2VBc3luYyhuZXdVcmwsIEpTT04uc3RyaW5naWZ5KHt9KSwgY2FsbGJhY2spO1xuXHRcdH1cblx0fTtcblxuICAgIC8qKlxuICAgICAqIEluaXRpYXRlcyB0aGUgZXhlY3V0aW9uIG9mIHF1ZXVlZCBhc3luY2hyb25vdXMgcmVxdWVzdHMgKGRlcGVuZGluZyBvbiB0aGUgdW5kZXJseWluZyBKYXZhIGNsaWVudCdzIHRocmVhZGluZyBtb2RlbCkuXG4gICAgICovXG5cdGV4ZWN1dGUoKTogdm9pZCB7XG5cdFx0aHR0cENsaWVudC5leGVjdXRlKCk7XG5cdH07XG59XG5cbi8qKlxuICogRmFjdG9yeSBmdW5jdGlvbiB0byByZXRyaWV2ZSBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgYXN5bmNocm9ub3VzIGNsaWVudC5cbiAqIEByZXR1cm5zIEEgbmV3IGluc3RhbmNlIG9mIEh0dHBBc3luY0NsaWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluc3RhbmNlKCk6IEh0dHBBc3luY0NsaWVudCB7XG5cdHJldHVybiBuZXcgSHR0cEFzeW5jQ2xpZW50KCk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuYXRpdmUgSmF2YSBjYWxsYmFjayBvYmplY3QgdGhhdCB3cmFwcyB0aGUgSmF2YVNjcmlwdCBzdWNjZXNzLCBlcnJvciwgYW5kIGNhbmNlbCBjYWxsYmFja3MuXG4gKiBUaGlzIGZ1bmN0aW9uIHVzZXMgdGhlIHVuZGVybHlpbmcgSmF2YSBIVFRQIGNsaWVudCBpbnN0YW5jZSB0byBnZW5lcmF0ZSB0aGUgZmluYWwgY2FsbGJhY2sgb2JqZWN0LlxuICogQHBhcmFtIGh0dHBDbGllbnQgVGhlIEphdmEgSHR0cENsaWVudEFzeW5jRmFjYWRlIGluc3RhbmNlLlxuICogQHBhcmFtIHN1Y2Nlc3NDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3Igc3VjY2Vzcy5cbiAqIEBwYXJhbSBlcnJvckNhbGxiYWNrIEpTIGNvZGUgc3RyaW5nIGZvciBlcnJvci5cbiAqIEBwYXJhbSBjYW5jZWxDYWxsYmFjayBKUyBjb2RlIHN0cmluZyBmb3IgY2FuY2VsLlxuICogQHJldHVybnMgQSBKYXZhIGNhbGxiYWNrIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlSHR0cFJlc3BvbnNlQ2FsbGJhY2soaHR0cENsaWVudDogYW55LCBzdWNjZXNzQ2FsbGJhY2s6IHN0cmluZywgZXJyb3JDYWxsYmFjaz86IHN0cmluZywgY2FuY2VsQ2FsbGJhY2s/OiBzdHJpbmcpOiBhbnkge1xuXHRyZXR1cm4gaHR0cENsaWVudC5jcmVhdGVDYWxsYmFjayhcblx0XHRjcmVhdGVTdWNjZXNzQ2FsbGJhY2soc3VjY2Vzc0NhbGxiYWNrKSxcblx0XHRjcmVhdGVFcnJvckNhbGxiYWNrKGVycm9yQ2FsbGJhY2spLFxuXHRcdGNyZWF0ZUNhbmNlbENhbGxiYWNrKGNhbmNlbENhbGxiYWNrKVxuXHQpO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgcmF3IEphdmFTY3JpcHQgc3RyaW5nIHRoYXQgd2lsbCBiZSBleGVjdXRlZCBpbiB0aGUgSlZNIGVudmlyb25tZW50IHVwb24gc3VjY2Vzc2Z1bCByZXF1ZXN0IGNvbXBsZXRpb24uXG4gKiBUaGlzIHN0cmluZyBoYW5kbGVzIHBhcnNpbmcgdGhlIEphdmEgSFRUUCByZXNwb25zZSBvYmplY3QgYW5kIGV4ZWN1dGluZyB0aGUgdXNlcidzIGRlZmluZWQgY2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcGFyYW0gY2FsbGJhY2sgVGhlIHVzZXItcHJvdmlkZWQgc3VjY2VzcyBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBjb21wbGV4IEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgc3VjY2VzcyBoYW5kbGVyLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTdWNjZXNzQ2FsbGJhY2soY2FsbGJhY2s6IHN0cmluZyk6IHN0cmluZyB7XG5cdC8vIE5vdGU6IFRoaXMgc3RyaW5nIHJlYWRzIHRoZSBKYXZhIHJlc3BvbnNlIG9iamVjdCBhbmQgdGhlIGNvbnRleHQgdmFyaWFibGVzIChfX2NvbnRleHQpIGF2YWlsYWJsZVxuICAgIC8vIGluIHRoZSBzcGVjaWZpYyBKVk0gZW52aXJvbm1lbnQuIFNpbmNlIHRoZSBIdHRwQ2xpZW50IDUgcG9ydCAoZGlyaWdpYmxlICM3NzkyKSB0aGF0IG9iamVjdCBpcyBhXG4gICAgLy8gU2ltcGxlSHR0cFJlc3BvbnNlOiB0aGUgc3RhdHVzIGlzIGdldENvZGUoKS9nZXRSZWFzb25QaHJhc2UoKSByYXRoZXIgdGhhbiBnZXRTdGF0dXNMaW5lKCksIHRoZVxuICAgIC8vIGhlYWRlcnMgYXJlIGdldEhlYWRlcnMoKSwgYW5kIHRoZSBib2R5IGlzIGFscmVhZHkgaW4gbWVtb3J5IC0gZ2V0Qm9keUJ5dGVzKCkvZ2V0Qm9keVRleHQoKSAtXG4gICAgLy8gc28gdGhlcmUgaXMgbm8gZW50aXR5IHN0cmVhbSB0byByZWFkIHRocm91Z2ggSU9VdGlscyBhbnkgbW9yZS5cbiAgICBcbiAgICAvLyBUaGUgc3RydWN0dXJlIG1hcHMgdGhlIEphdmEgSFRUUCBSZXNwb25zZSBvYmplY3QgaW50byB0aGUgc3RhbmRhcmQgSHR0cENsaWVudFJlc3BvbnNlIGludGVyZmFjZS5cblx0cmV0dXJuIFwiKGZ1bmN0aW9uKGh0dHBSZXNwb25zZSwgaXNCaW5hcnksIGNvbnRleHQpIHtcXG5cIlxuXHRcdCsgXCJ2YXIgcmVzcG9uc2UgPSB7fTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5zdGF0dXNDb2RlID0gaHR0cFJlc3BvbnNlLmdldENvZGUoKTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5zdGF0dXNNZXNzYWdlID0gaHR0cFJlc3BvbnNlLmdldFJlYXNvblBocmFzZSgpO1xcblwiXG5cdFx0KyBcInJlc3BvbnNlLnByb3RvY29sID0gaHR0cFJlc3BvbnNlLmdldFZlcnNpb24oKTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5iaW5hcnkgPSBpc0JpbmFyeTtcXG5cIlxuXG5cdFx0KyBcInZhciBoZWFkZXJzID0gaHR0cFJlc3BvbnNlLmdldEhlYWRlcnMoKTtcXG5cIlxuXHRcdCsgXCJyZXNwb25zZS5oZWFkZXJzID0gW107XFxuXCJcblx0XHQrIFwiZm9yICh2YXIgaSA9IDA7IGkgPCBoZWFkZXJzLmxlbmd0aDsgaSArKykge1xcblwiXG5cdFx0KyBcIiAgICByZXNwb25zZS5oZWFkZXJzLnB1c2goe1xcblwiXG5cdFx0KyBcIiAgICAgICAgbmFtZTogaGVhZGVyc1tpXS5nZXROYW1lKCksXFxuXCJcblx0XHQrIFwiICAgICAgICB2YWx1ZTogaGVhZGVyc1tpXS5nZXRWYWx1ZSgpXFxuXCJcblx0XHQrIFwiICAgIH0pO1xcblwiXG5cdFx0KyBcIn1cXG5cIlxuXG5cdFx0KyBcImlmIChpc0JpbmFyeSkge1xcblwiXG5cdFx0KyBcIiAgICByZXNwb25zZS5kYXRhID0gaHR0cFJlc3BvbnNlLmdldEJvZHlCeXRlcygpO1xcblwiXG5cdFx0KyBcIn0gZWxzZSB7XFxuXCJcblx0XHQrIFwiICAgIHJlc3BvbnNlLnRleHQgPSBodHRwUmVzcG9uc2UuZ2V0Qm9keVRleHQoKTtcXG5cIlxuXHRcdCsgXCJ9XFxuXCJcblxuXHRcdCsgXCIoXCIgKyBjYWxsYmFjayArIFwiKShyZXNwb25zZSwgSlNPTi5wYXJzZShjb250ZXh0KSk7XFxuXCJcblx0XHQrIFwifSkoX19jb250ZXh0LmdldCgncmVzcG9uc2UnKSwgX19jb250ZXh0LmdldCgnaHR0cENsaWVudFJlcXVlc3RPcHRpb25zJykuaXNCaW5hcnkoKSwgX19jb250ZXh0LmdldCgnaHR0cENsaWVudFJlcXVlc3RPcHRpb25zJykuZ2V0Q29udGV4dCgpKTtcXG5cIjtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIHJhdyBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGVycm9yIGNhbGxiYWNrLlxuICogQHBhcmFtIGNhbGxiYWNrIFRoZSB1c2VyLXByb3ZpZGVkIGVycm9yIGNhbGxiYWNrIGZ1bmN0aW9uIGNvZGUgc3RyaW5nLlxuICogQHJldHVybnMgVGhlIEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgZXJyb3IgaGFuZGxlciwgb3IgdW5kZWZpbmVkLlxuICovXG5mdW5jdGlvbiBjcmVhdGVFcnJvckNhbGxiYWNrKGNhbGxiYWNrPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0aWYgKGNhbGxiYWNrKSB7XG5cdFx0cmV0dXJuIFwiKFwiICsgY2FsbGJhY2sgKyBcIikoX19jb250ZXh0LmdldCgnZXhjZXB0aW9uJykpXCI7XG5cdH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyB0aGUgcmF3IEphdmFTY3JpcHQgc3RyaW5nIGZvciB0aGUgY2FuY2VsIGNhbGxiYWNrLlxuICogQHBhcmFtIGNhbGxiYWNrIFRoZSB1c2VyLXByb3ZpZGVkIGNhbmNlbCBjYWxsYmFjayBmdW5jdGlvbiBjb2RlIHN0cmluZy5cbiAqIEByZXR1cm5zIFRoZSBKYXZhU2NyaXB0IHN0cmluZyBmb3IgdGhlIGNhbmNlbCBoYW5kbGVyLCBvciB1bmRlZmluZWQuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUNhbmNlbENhbGxiYWNrKGNhbGxiYWNrPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0aWYgKGNhbGxiYWNrKSB7XG5cdFx0cmV0dXJuIFwiKFwiICsgY2FsbGJhY2sgKyBcIikoKVwiO1xuXHR9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIGZpbmFsIFVSTCBieSBhcHBlbmRpbmcgYWxsIHF1ZXJ5IHBhcmFtZXRlcnMgZGVmaW5lZCBpbiBvcHRpb25zLnBhcmFtcy5cbiAqIFRoZSBwYXJhbWV0ZXJzIGFyZSBub3QgcmVtb3ZlZCBmcm9tIHRoZSBvcHRpb25zIG9iamVjdCBhcyB0aGV5IGFyZSBmb3IgdGhlIHN5bmNocm9ub3VzIGNsaWVudCxcbiAqIHNpbmNlIHRoZSBvcHRpb25zIGFyZSBwYXNzZWQgYXMgSlNPTiBzdHJpbmcgdG8gdGhlIGZhY2FkZSBhbnl3YXkuXG4gKiBAcGFyYW0gdXJsIFRoZSBiYXNlIFVSTC5cbiAqIEBwYXJhbSBvcHRpb25zIFRoZSByZXF1ZXN0IG9wdGlvbnMgd2hpY2ggbWF5IGNvbnRhaW4gYHBhcmFtc2AuXG4gKiBAcmV0dXJucyBUaGUgVVJMIHdpdGggYXBwZW5kZWQgcXVlcnkgcGFyYW1ldGVycy5cbiAqL1xuZnVuY3Rpb24gYnVpbGRVcmwodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBIdHRwQ2xpZW50UmVxdWVzdE9wdGlvbnMpOiBzdHJpbmcge1xuXHRpZiAob3B0aW9ucyA9PT0gdW5kZWZpbmVkIHx8IG9wdGlvbnMgPT09IG51bGwgfHwgb3B0aW9ucy5wYXJhbXMgPT09IHVuZGVmaW5lZCB8fCBvcHRpb25zLnBhcmFtcyA9PT0gbnVsbCB8fCBvcHRpb25zLnBhcmFtcy5sZW5ndGggPT09IDApIHtcblx0XHRyZXR1cm4gdXJsO1xuXHR9XG5cdGxldCBuZXdVcmwgPSB1cmw7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgb3B0aW9ucy5wYXJhbXMubGVuZ3RoOyBpICsrKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtID0gb3B0aW9ucy5wYXJhbXNbaV07XG5cdFx0aWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgIC8vIENoZWNrIGlmIFVSTCBhbHJlYWR5IGNvbnRhaW5zICc/JyBhbmQgdXNlICcmJyBpZiBzbyAoaW1wcm92ZXMgcm9idXN0bmVzcylcbiAgICAgICAgICAgIGlmIChuZXdVcmwuaW5jbHVkZXMoJz8nKSkge1xuICAgICAgICAgICAgICAgIG5ld1VybCArPSAnJic7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld1VybCArPSAnPyc7XG4gICAgICAgICAgICB9XG5cdFx0XHRuZXdVcmwgKz0gcGFyYW0ubmFtZSArICc9JyArIHBhcmFtLnZhbHVlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRuZXdVcmwgKz0gJyYnICsgcGFyYW0ubmFtZSArICc9JyArIHBhcmFtLnZhbHVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gbmV3VXJsO1xufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IHsgSHR0cEFzeW5jQ2xpZW50LCBnZXRJbnN0YW5jZSB9O1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBdUlBLE1BQU0sd0JBQXdCLEtBQUssS0FBSyxpRUFBaUU7QUFHekcsTUFBTSxxQkFBcUIsS0FBSyxLQUFLLDREQUE0RDtBQUdqRyxNQUFNLGFBQWEsbUJBQW1CLFFBQVEsc0JBQXNCLEtBQUs7QUFPbEUsTUFBTSxnQkFBZ0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVE1QixTQUFTLEtBQWEsUUFBK0IsU0FBMEM7QUFDOUYsVUFBTSxTQUFTLFNBQVMsS0FBSyxPQUFPO0FBQ3BDLFVBQU0sV0FBVztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxPQUFPO0FBQUEsTUFDUCxPQUFPO0FBQUEsTUFDUCxPQUFPO0FBQUEsSUFDUjtBQUNBLFFBQUksU0FBUztBQUNaLGlCQUFXLFNBQVMsUUFBUSxLQUFLLFVBQVUsT0FBTyxHQUFHLFFBQVE7QUFBQSxJQUM5RCxPQUFPO0FBQ04saUJBQVcsU0FBUyxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsR0FBRyxRQUFRO0FBQUEsSUFDekQ7QUFBQSxFQUNEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxVQUFVLEtBQWEsUUFBK0IsU0FBMEM7QUFDL0YsVUFBTSxTQUFTLFNBQVMsS0FBSyxPQUFPO0FBQ3BDLFVBQU0sV0FBVztBQUFBLE1BQ2hCO0FBQUEsTUFDQSxPQUFPO0FBQUEsTUFDUCxPQUFPO0FBQUEsTUFDUCxPQUFPO0FB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
|
package/dist/cjs/qldb/qldb.js
CHANGED
|
@@ -21,4 +21,4 @@ __export(qldb_exports, {
|
|
|
21
21
|
});
|
|
22
22
|
module.exports = __toCommonJS(qldb_exports);
|
|
23
23
|
const QLDBRepository = Java.type("org.eclipse.dirigible.components.api.qldb.QLDBRepository");
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3FsZGIvcWxkYi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIHFsZGIvcWxkYlxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL3FsZGJcbiAqIEBuYW1lIFFMREJSZXBvc2l0b3J5XG4gKiBAb3ZlcnZpZXdcbiAqXG4gKiBFbnRyeSBwb2ludCBmb3IgQW1hem9uIFFMREIgcmVwb3NpdG9yeSBpbnRlZ3JhdGlvbiBpbiBBZXJva2l0IFNESy5cbiAqXG4gKiBFeHBvc2VzIHRoZSBgUUxEQlJlcG9zaXRvcnlgIGNsYXNzIGFsaWFzIHRvIHRoZSB1bmRlcmx5aW5nIEphdmEgaW1wbGVtZW50YXRpb246XG4gKiBgb3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnFsZGIuUUxEQlJlcG9zaXRvcnlgLlxuICpcbiAqIFRoaXMgb2JqZWN0IGlzIHVzZWQgdG8gY3JlYXRlIGFuZCBtYW5hZ2UgUUxEQiBsZWRnZXIgc2Vzc2lvbnMsIGV4ZWN1dGUgc3RhdGVtZW50cyxcbiAqIGFuZCBoYW5kbGUgdHJhbnNhY3Rpb24gbGlmZWN5Y2xlcyBmcm9tIEphdmFTY3JpcHQgY29kZS5cbiAqXG4gKiBUaGUgUUxEQiBkcml2ZXIgaXMgYW4gYWRkLW9uIHRoYXQgdGhlIGRlZmF1bHQgYnVuZGxlIGRvZXMgbm90IHNoaXA6IHRoZSBhcHBsaWNhdGlvbiBhZGRzXG4gKiBgb3JnLmVjbGlwc2UuZGlyaWdpYmxlOmRpcmlnaWJsZS1jb21wb25lbnRzLWFwaS1xbGRiLWRyaXZlcmAgKGA8dHlwZT5wb208L3R5cGU+YCkuIFdpdGhvdXQgaXQsXG4gKiBgbmV3IFFMREJSZXBvc2l0b3J5KC4uLilgIHRocm93cyBgUWxkYk5vdEF2YWlsYWJsZUV4Y2VwdGlvbmAgbmFtaW5nIHRoYXQgYXJ0aWZhY3QuXG4gKi9cblxuZXhwb3J0IGNvbnN0IFFMREJSZXBvc2l0b3J5ID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLnFsZGIuUUxEQlJlcG9zaXRvcnlcIik7Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBbUJPLE1BQU0saUJBQWlCLEtBQUssS0FBSywwREFBMEQ7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -42,6 +42,50 @@
|
|
|
42
42
|
* }
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
+
/**
|
|
46
|
+
* A configuration group with the number of its keys and of the keys any source sets.
|
|
47
|
+
*/
|
|
48
|
+
export interface ConfigurationGroup {
|
|
49
|
+
id: string;
|
|
50
|
+
section: string;
|
|
51
|
+
label: string;
|
|
52
|
+
order: number;
|
|
53
|
+
total: number;
|
|
54
|
+
set: number;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* A described configuration key. Every value is masked as "********" when the key is sensitive.
|
|
58
|
+
*/
|
|
59
|
+
export interface ConfigurationDescriptor {
|
|
60
|
+
key: string;
|
|
61
|
+
subgroup?: string;
|
|
62
|
+
type?: string;
|
|
63
|
+
defaultValue?: string;
|
|
64
|
+
/** The effective value. */
|
|
65
|
+
value?: string;
|
|
66
|
+
/** Where the effective value comes from. */
|
|
67
|
+
source: "runtime" | "environment" | "deployment" | "module" | "default" | "unset";
|
|
68
|
+
/** The value each source gives the key. */
|
|
69
|
+
values: {
|
|
70
|
+
runtime?: string;
|
|
71
|
+
environment?: string;
|
|
72
|
+
deployment?: string;
|
|
73
|
+
module?: string;
|
|
74
|
+
};
|
|
75
|
+
sensitive: boolean;
|
|
76
|
+
restartRequired?: boolean;
|
|
77
|
+
tenantOverridable: boolean;
|
|
78
|
+
deprecatedBy?: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* A configuration group with its described keys.
|
|
82
|
+
*/
|
|
83
|
+
export interface ConfigurationDescriptorGroup {
|
|
84
|
+
group: string;
|
|
85
|
+
section: string;
|
|
86
|
+
label: string;
|
|
87
|
+
entries: ConfigurationDescriptor[];
|
|
88
|
+
}
|
|
45
89
|
export declare class Configurations {
|
|
46
90
|
/**
|
|
47
91
|
* Retrieves the configuration value associated with the given key.
|
|
@@ -67,6 +111,18 @@ export declare class Configurations {
|
|
|
67
111
|
* @returns An array of configuration keys (strings).
|
|
68
112
|
*/
|
|
69
113
|
static getKeys(): string[];
|
|
114
|
+
/**
|
|
115
|
+
* Retrieves the configuration groups, in display order, with the number of keys and of set keys in each.
|
|
116
|
+
* @returns The groups.
|
|
117
|
+
*/
|
|
118
|
+
static getGroups(): ConfigurationGroup[];
|
|
119
|
+
/**
|
|
120
|
+
* Retrieves the described configuration keys, grouped: default, effective value, its source and the value
|
|
121
|
+
* of each source. Sensitive values are masked.
|
|
122
|
+
* @param group A group id (e.g. "database") or several; all groups when omitted.
|
|
123
|
+
* @returns The groups that have keys.
|
|
124
|
+
*/
|
|
125
|
+
static getDescriptors(group?: string | string[]): ConfigurationDescriptorGroup[];
|
|
70
126
|
/**
|
|
71
127
|
* Loads configuration properties from a file at the specified path, overriding existing ones.
|
|
72
128
|
* @param path The file path to load configurations from.
|
|
@@ -12,6 +12,11 @@
|
|
|
12
12
|
* - Retrieve metadata about the Etcd cluster and key-value store through response headers.
|
|
13
13
|
* - Delete keys from Etcd.
|
|
14
14
|
*
|
|
15
|
+
* ### Availability
|
|
16
|
+
* The etcd client library (jetcd) is an add-on that the default bundle does not ship: the application adds
|
|
17
|
+
* `org.eclipse.dirigible:dirigible-components-api-etcd-client` (`<type>pom</type>`). Without it, every call
|
|
18
|
+
* throws `EtcdNotAvailableException` naming that artifact.
|
|
19
|
+
*
|
|
15
20
|
* ### Use Cases
|
|
16
21
|
* - Storing configuration data or application state in Etcd for distributed applications.
|
|
17
22
|
* - Retrieving and managing key-value pairs in Etcd for service discovery, configuration management, or coordination tasks.
|
package/dist/dts/qldb/qldb.d.ts
CHANGED
|
@@ -11,5 +11,9 @@
|
|
|
11
11
|
*
|
|
12
12
|
* This object is used to create and manage QLDB ledger sessions, execute statements,
|
|
13
13
|
* and handle transaction lifecycles from JavaScript code.
|
|
14
|
+
*
|
|
15
|
+
* The QLDB driver is an add-on that the default bundle does not ship: the application adds
|
|
16
|
+
* `org.eclipse.dirigible:dirigible-components-api-qldb-driver` (`<type>pom</type>`). Without it,
|
|
17
|
+
* `new QLDBRepository(...)` throws `QldbNotAvailableException` naming that artifact.
|
|
14
18
|
*/
|
|
15
19
|
export declare const QLDBRepository: any;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const Configuration = Java.type("org.eclipse.dirigible.commons.config.Configuration");
|
|
2
|
+
const ConfigurationsFacade = Java.type("org.eclipse.dirigible.components.api.core.ConfigurationsFacade");
|
|
2
3
|
class Configurations {
|
|
3
4
|
/**
|
|
4
5
|
* Retrieves the configuration value associated with the given key.
|
|
@@ -33,6 +34,23 @@ class Configurations {
|
|
|
33
34
|
static getKeys() {
|
|
34
35
|
return Configuration.getKeys();
|
|
35
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Retrieves the configuration groups, in display order, with the number of keys and of set keys in each.
|
|
39
|
+
* @returns The groups.
|
|
40
|
+
*/
|
|
41
|
+
static getGroups() {
|
|
42
|
+
return JSON.parse(ConfigurationsFacade.getGroups());
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Retrieves the described configuration keys, grouped: default, effective value, its source and the value
|
|
46
|
+
* of each source. Sensitive values are masked.
|
|
47
|
+
* @param group A group id (e.g. "database") or several; all groups when omitted.
|
|
48
|
+
* @returns The groups that have keys.
|
|
49
|
+
*/
|
|
50
|
+
static getDescriptors(group) {
|
|
51
|
+
const groups = group === void 0 ? null : Array.isArray(group) ? group.join(",") : group;
|
|
52
|
+
return JSON.parse(ConfigurationsFacade.getDescriptors(groups));
|
|
53
|
+
}
|
|
36
54
|
/**
|
|
37
55
|
* Loads configuration properties from a file at the specified path, overriding existing ones.
|
|
38
56
|
* @param path The file path to load configurations from.
|
|
@@ -88,4 +106,4 @@ if (typeof module !== "undefined") {
|
|
|
88
106
|
export {
|
|
89
107
|
Configurations
|
|
90
108
|
};
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvY29uZmlndXJhdGlvbnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBjb3JlL2NvbmZpZ3VyYXRpb25zXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvY29yZVxuICogQG5hbWUgQ29uZmlndXJhdGlvbnNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQ29uZmlndXJhdGlvbnMgQVBJIHByb3ZpZGVzIGEgY2VudHJhbGl6ZWQsIHR5cGUtc2FmZSBpbnRlcmZhY2UgZm9yIG1hbmFnaW5nIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBhbmQgZGV0ZWN0aW5nIHRoZSBydW50aW1lIG9wZXJhdGluZyBzeXN0ZW0uIEl0IHNlcnZlcyBhcyB0aGUgZm91bmRhdGlvbiBmb3IgZW52aXJvbm1lbnQtc3BlY2lmaWMgc2V0dGluZ3MgYW5kIHN5c3RlbS1hd2FyZSBiZWhhdmlvciBpbiBBZXJva2l0IGFwcGxpY2F0aW9ucy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogXG4gKiAtICoqU3RhdGljIEludGVyZmFjZSoqOiBUaHJlYWQtc2FmZSwgc2luZ2xldG9uLWxpa2UgYWNjZXNzIHRvIGNvbmZpZ3VyYXRpb24gZGF0YVxuICogLSAqKlR5cGUgU2FmZXR5Kio6IEZ1bGwgVHlwZVNjcmlwdCBzdXBwb3J0IHdpdGggcHJvcGVyIHR5cGUgZGVmaW5pdGlvbnNcbiAqIC0gKipGaWxlIExvYWRpbmcqKjogU3VwcG9ydCBmb3IgbG9hZGluZyBjb25maWd1cmF0aW9ucyBmcm9tIGV4dGVybmFsIGZpbGVzXG4gKiAtICoqT1MgRGV0ZWN0aW9uKio6IENvbXByZWhlbnNpdmUgb3BlcmF0aW5nIHN5c3RlbSBpZGVudGlmaWNhdGlvblxuICogLSAqKk1lbW9yeSBFZmZpY2llbnQqKjogSW4tbWVtb3J5IHN0b3JhZ2Ugd2l0aCBvcHRpb25hbCBwZXJzaXN0ZW5jZVxuICogXG4gKiAjIyMgVXNlIENhc2VzXG4gKiAtIEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudFxuICogLSBFbnZpcm9ubWVudCB2YXJpYWJsZSBtYW5hZ2VtZW50XG4gKiAtIEZlYXR1cmUgZmxhZyBjb25maWd1cmF0aW9uXG4gKiAtIERhdGFiYXNlIGNvbm5lY3Rpb24gc2V0dGluZ3NcbiAqIC0gQVBJIGVuZHBvaW50IGNvbmZpZ3VyYXRpb25cbiAqIC0gUGxhdGZvcm0tc3BlY2lmaWMgYmVoYXZpb3IgYWRhcHRhdGlvblxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9jb3JlXCI7XG4gKiBcbiAqIC8vIFNldCBhIGNvbmZpZ3VyYXRpb24gcHJvcGVydHlcbiAqIENvbmZpZ3VyYXRpb25zLnNldChcImFwaUVuZHBvaW50XCIsIFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIik7XG4gKiAvLyBHZXQgYSBjb25maWd1cmF0aW9uIHByb3BlcnR5XG4gKiBjb25zdCBhcGlFbmRwb2ludCA9IENvbmZpZ3VyYXRpb25zLmdldChcImFwaUVuZHBvaW50XCIpO1xuICogY29uc29sZS5sb2coYXBpRW5kcG9pbnQpOyAvLyBPdXRwdXQ6IFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIlxuICogXG4gKiAvLyBDaGVjayB0aGUgb3BlcmF0aW5nIHN5c3RlbVxuICogaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NXaW5kb3dzKCkpIHtcbiAqICAgY29uc29sZS5sb2coXCJSdW5uaW5nIG9uIFdpbmRvd3NcIik7XG4gKiB9IGVsc2UgaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NNYWMoKSkge1xuICogICBjb25zb2xlLmxvZyhcIlJ1bm5pbmcgb24gTWFjXCIpO1xuICogfSBlbHNlIGlmIChDb25maWd1cmF0aW9ucy5pc09TVU5JWCgpKSB7XG4gKiAgIGNvbnNvbGUubG9nKFwiUnVubmluZyBvbiBVTklYXCIpO1xuICogfVxuICogYGBgXG4qL1xuXG5jb25zdCBDb25maWd1cmF0aW9uID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbW1vbnMuY29uZmlnLkNvbmZpZ3VyYXRpb25cIik7XG5cbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9ucyB7XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgY29uZmlndXJhdGlvbiB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGtleS5cblx0ICogQHBhcmFtIGtleSBUaGUgY29uZmlndXJhdGlvbiBrZXkuXG5cdCAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgVGhlIG9wdGlvbmFsIGRlZmF1bHQgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBrZXkgaXMgbm90IGZvdW5kLlxuXHQgKiBAcmV0dXJucyBUaGUgY29uZmlndXJhdGlvbiB2YWx1ZSBhcyBhIHN0cmluZywgb3IgYHVuZGVmaW5lZGAgaWYgdGhlIGtleSBpcyBub3QgZm91bmQgYW5kIG5vIGRlZmF1bHQgaXMgcHJvdmlkZWQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChrZXk6IHN0cmluZywgZGVmYXVsdFZhbHVlPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCB2YWx1ZSA9IENvbmZpZ3VyYXRpb24uZ2V0KGtleSwgZGVmYXVsdFZhbHVlKTtcblx0XHRyZXR1cm4gdmFsdWUgPz8gdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgZm9yIHRoZSBnaXZlbiBrZXkuXG5cdCAqIElmIHRoZSBrZXkgYWxyZWFkeSBleGlzdHMsIGl0cyB2YWx1ZSBpcyBvdmVyd3JpdHRlbi5cblx0ICogQHBhcmFtIGtleSBUaGUgY29uZmlndXJhdGlvbiBrZXkuXG5cdCAqIEBwYXJhbSB2YWx1ZSBUaGUgY29uZmlndXJhdGlvbiB2YWx1ZSB0byBzZXQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuXHRcdENvbmZpZ3VyYXRpb24uc2V0KGtleSwgdmFsdWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbW92ZXMgdGhlIGNvbmZpZ3VyYXRpb24gcHJvcGVydHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkuXG5cdCAqIEBwYXJhbSBrZXkgVGhlIGNvbmZpZ3VyYXRpb24ga2V5IHRvIHJlbW92ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgcmVtb3ZlKGtleTogc3RyaW5nKTogdm9pZCB7XG5cdFx0Q29uZmlndXJhdGlvbi5yZW1vdmUoa2V5KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBsaXN0IG9mIGFsbCBjdXJyZW50IGNvbmZpZ3VyYXRpb24ga2V5cy5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgY29uZmlndXJhdGlvbiBrZXlzIChzdHJpbmdzKS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0S2V5cygpOiBzdHJpbmdbXSB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uZ2V0S2V5cygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIExvYWRzIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmcm9tIGEgZmlsZSBhdCB0aGUgc3BlY2lmaWVkIHBhdGgsIG92ZXJyaWRpbmcgZXhpc3Rpbmcgb25lcy5cblx0ICogQHBhcmFtIHBhdGggVGhlIGZpbGUgcGF0aCB0byBsb2FkIGNvbmZpZ3VyYXRpb25zIGZyb20uXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGxvYWQocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Q29uZmlndXJhdGlvbi5sb2FkKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbG9hZHMgb3IgdXBkYXRlcyB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZyb20gdGhlaXIgc291cmNlIChlLmcuLCBwZXJzaXN0ZW5jZSBsYXllcikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHVwZGF0ZSgpOiB2b2lkIHtcblx0XHRDb25maWd1cmF0aW9uLnVwZGF0ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtLlxuXHQgKiBAcmV0dXJucyBUaGUgT1MgbmFtZSBhcyBhIHN0cmluZyAoZS5nLiwgXCJXaW5kb3dzXCIsIFwiTGludXhcIiwgXCJNYWMgT1MgWFwiKS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0T1MoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvbi5nZXRPUygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtIGlzIFdpbmRvd3MuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIE9TIGlzIFdpbmRvd3MsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPU1dpbmRvd3MoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU1dpbmRvd3MoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBNYWMgT1MgKG9yIE1hYyBPUyBYKS5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgT1MgaXMgTWFjLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT1NNYWMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU01hYygpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtIGlzIGEgVU5JWC1saWtlIHN5c3RlbSAoZS5nLiwgTGludXgsIG1hY09TLCBvciBvdGhlcnMpLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBPUyBpcyBhIFVOSVggdmFyaWFudCwgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc09TVU5JWCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvbi5pc09TVU5JWCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBPcGVyYXRpbmcgU3lzdGVtIGlzIFNvbGFyaXMuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIE9TIGlzIFNvbGFyaXMsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPU1NvbGFyaXMoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU1NvbGFyaXMoKTtcblx0fVxuXG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ29uZmlndXJhdGlvbnM7XG59Il0sCiAgIm1hcHBpbmdzIjogIkFBNkNBLE1BQU0sZ0JBQWdCLEtBQUssS0FBSyxvREFBb0Q7QUFFN0UsTUFBTSxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRM0IsT0FBYyxJQUFJLEtBQWEsY0FBMkM7QUFDekUsVUFBTSxRQUFRLGNBQWMsSUFBSSxLQUFLLFlBQVk7QUFDakQsV0FBTyxTQUFTO0FBQUEsRUFDakI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsSUFBSSxLQUFhLE9BQXFCO0FBQ25ELGtCQUFjLElBQUksS0FBSyxLQUFLO0FBQUEsRUFDN0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxPQUFPLEtBQW1CO0FBQ3ZDLGtCQUFjLE9BQU8sR0FBRztBQUFBLEVBQ3pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBb0I7QUFDakMsV0FBTyxjQUFjLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLEtBQUssTUFBb0I7QUFDdEMsa0JBQWMsS0FBSyxJQUFJO0FBQUEsRUFDeEI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE9BQWMsU0FBZTtBQUM1QixrQkFBYyxPQUFPO0FBQUEsRUFDdEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxRQUFnQjtBQUM3QixXQUFPLGNBQWMsTUFBTTtBQUFBLEVBQzVCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsY0FBdUI7QUFDcEMsV0FBTyxjQUFjLFlBQVk7QUFBQSxFQUNsQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFVBQW1CO0FBQ2hDLFdBQU8sY0FBYyxRQUFRO0FBQUEsRUFDOUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxXQUFvQjtBQUNqQyxXQUFPLGNBQWMsU0FBUztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsY0FBdUI7QUFDcEMsV0FBTyxjQUFjLFlBQVk7QUFBQSxFQUNsQztBQUVEO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUVsQyxTQUFPLFVBQVU7QUFDbEI7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NvcmUvY29uZmlndXJhdGlvbnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBjb3JlL2NvbmZpZ3VyYXRpb25zXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvY29yZVxuICogQG5hbWUgQ29uZmlndXJhdGlvbnNcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgQ29uZmlndXJhdGlvbnMgQVBJIHByb3ZpZGVzIGEgY2VudHJhbGl6ZWQsIHR5cGUtc2FmZSBpbnRlcmZhY2UgZm9yIG1hbmFnaW5nIGFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBhbmQgZGV0ZWN0aW5nIHRoZSBydW50aW1lIG9wZXJhdGluZyBzeXN0ZW0uIEl0IHNlcnZlcyBhcyB0aGUgZm91bmRhdGlvbiBmb3IgZW52aXJvbm1lbnQtc3BlY2lmaWMgc2V0dGluZ3MgYW5kIHN5c3RlbS1hd2FyZSBiZWhhdmlvciBpbiBBZXJva2l0IGFwcGxpY2F0aW9ucy5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogXG4gKiAtICoqU3RhdGljIEludGVyZmFjZSoqOiBUaHJlYWQtc2FmZSwgc2luZ2xldG9uLWxpa2UgYWNjZXNzIHRvIGNvbmZpZ3VyYXRpb24gZGF0YVxuICogLSAqKlR5cGUgU2FmZXR5Kio6IEZ1bGwgVHlwZVNjcmlwdCBzdXBwb3J0IHdpdGggcHJvcGVyIHR5cGUgZGVmaW5pdGlvbnNcbiAqIC0gKipGaWxlIExvYWRpbmcqKjogU3VwcG9ydCBmb3IgbG9hZGluZyBjb25maWd1cmF0aW9ucyBmcm9tIGV4dGVybmFsIGZpbGVzXG4gKiAtICoqT1MgRGV0ZWN0aW9uKio6IENvbXByZWhlbnNpdmUgb3BlcmF0aW5nIHN5c3RlbSBpZGVudGlmaWNhdGlvblxuICogLSAqKk1lbW9yeSBFZmZpY2llbnQqKjogSW4tbWVtb3J5IHN0b3JhZ2Ugd2l0aCBvcHRpb25hbCBwZXJzaXN0ZW5jZVxuICogXG4gKiAjIyMgVXNlIENhc2VzXG4gKiAtIEFwcGxpY2F0aW9uIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudFxuICogLSBFbnZpcm9ubWVudCB2YXJpYWJsZSBtYW5hZ2VtZW50XG4gKiAtIEZlYXR1cmUgZmxhZyBjb25maWd1cmF0aW9uXG4gKiAtIERhdGFiYXNlIGNvbm5lY3Rpb24gc2V0dGluZ3NcbiAqIC0gQVBJIGVuZHBvaW50IGNvbmZpZ3VyYXRpb25cbiAqIC0gUGxhdGZvcm0tc3BlY2lmaWMgYmVoYXZpb3IgYWRhcHRhdGlvblxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9jb3JlXCI7XG4gKiBcbiAqIC8vIFNldCBhIGNvbmZpZ3VyYXRpb24gcHJvcGVydHlcbiAqIENvbmZpZ3VyYXRpb25zLnNldChcImFwaUVuZHBvaW50XCIsIFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIik7XG4gKiAvLyBHZXQgYSBjb25maWd1cmF0aW9uIHByb3BlcnR5XG4gKiBjb25zdCBhcGlFbmRwb2ludCA9IENvbmZpZ3VyYXRpb25zLmdldChcImFwaUVuZHBvaW50XCIpO1xuICogY29uc29sZS5sb2coYXBpRW5kcG9pbnQpOyAvLyBPdXRwdXQ6IFwiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb21cIlxuICogXG4gKiAvLyBDaGVjayB0aGUgb3BlcmF0aW5nIHN5c3RlbVxuICogaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NXaW5kb3dzKCkpIHtcbiAqICAgY29uc29sZS5sb2coXCJSdW5uaW5nIG9uIFdpbmRvd3NcIik7XG4gKiB9IGVsc2UgaWYgKENvbmZpZ3VyYXRpb25zLmlzT1NNYWMoKSkge1xuICogICBjb25zb2xlLmxvZyhcIlJ1bm5pbmcgb24gTWFjXCIpO1xuICogfSBlbHNlIGlmIChDb25maWd1cmF0aW9ucy5pc09TVU5JWCgpKSB7XG4gKiAgIGNvbnNvbGUubG9nKFwiUnVubmluZyBvbiBVTklYXCIpO1xuICogfVxuICogYGBgXG4qL1xuXG5jb25zdCBDb25maWd1cmF0aW9uID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbW1vbnMuY29uZmlnLkNvbmZpZ3VyYXRpb25cIik7XG5jb25zdCBDb25maWd1cmF0aW9uc0ZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5jb3JlLkNvbmZpZ3VyYXRpb25zRmFjYWRlXCIpO1xuXG4vKipcbiAqIEEgY29uZmlndXJhdGlvbiBncm91cCB3aXRoIHRoZSBudW1iZXIgb2YgaXRzIGtleXMgYW5kIG9mIHRoZSBrZXlzIGFueSBzb3VyY2Ugc2V0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uR3JvdXAge1xuXHRpZDogc3RyaW5nO1xuXHRzZWN0aW9uOiBzdHJpbmc7XG5cdGxhYmVsOiBzdHJpbmc7XG5cdG9yZGVyOiBudW1iZXI7XG5cdHRvdGFsOiBudW1iZXI7XG5cdHNldDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEEgZGVzY3JpYmVkIGNvbmZpZ3VyYXRpb24ga2V5LiBFdmVyeSB2YWx1ZSBpcyBtYXNrZWQgYXMgXCIqKioqKioqKlwiIHdoZW4gdGhlIGtleSBpcyBzZW5zaXRpdmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbkRlc2NyaXB0b3Ige1xuXHRrZXk6IHN0cmluZztcblx0c3ViZ3JvdXA/OiBzdHJpbmc7XG5cdHR5cGU/OiBzdHJpbmc7XG5cdGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblx0LyoqIFRoZSBlZmZlY3RpdmUgdmFsdWUuICovXG5cdHZhbHVlPzogc3RyaW5nO1xuXHQvKiogV2hlcmUgdGhlIGVmZmVjdGl2ZSB2YWx1ZSBjb21lcyBmcm9tLiAqL1xuXHRzb3VyY2U6IFwicnVudGltZVwiIHwgXCJlbnZpcm9ubWVudFwiIHwgXCJkZXBsb3ltZW50XCIgfCBcIm1vZHVsZVwiIHwgXCJkZWZhdWx0XCIgfCBcInVuc2V0XCI7XG5cdC8qKiBUaGUgdmFsdWUgZWFjaCBzb3VyY2UgZ2l2ZXMgdGhlIGtleS4gKi9cblx0dmFsdWVzOiB7IHJ1bnRpbWU/OiBzdHJpbmc7IGVudmlyb25tZW50Pzogc3RyaW5nOyBkZXBsb3ltZW50Pzogc3RyaW5nOyBtb2R1bGU/OiBzdHJpbmcgfTtcblx0c2Vuc2l0aXZlOiBib29sZWFuO1xuXHRyZXN0YXJ0UmVxdWlyZWQ/OiBib29sZWFuO1xuXHR0ZW5hbnRPdmVycmlkYWJsZTogYm9vbGVhbjtcblx0ZGVwcmVjYXRlZEJ5Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgY29uZmlndXJhdGlvbiBncm91cCB3aXRoIGl0cyBkZXNjcmliZWQga2V5cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uRGVzY3JpcHRvckdyb3VwIHtcblx0Z3JvdXA6IHN0cmluZztcblx0c2VjdGlvbjogc3RyaW5nO1xuXHRsYWJlbDogc3RyaW5nO1xuXHRlbnRyaWVzOiBDb25maWd1cmF0aW9uRGVzY3JpcHRvcltdO1xufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbnMge1xuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBrZXkuXG5cdCAqIEBwYXJhbSBrZXkgVGhlIGNvbmZpZ3VyYXRpb24ga2V5LlxuXHQgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFRoZSBvcHRpb25hbCBkZWZhdWx0IHZhbHVlIHRvIHJldHVybiBpZiB0aGUga2V5IGlzIG5vdCBmb3VuZC5cblx0ICogQHJldHVybnMgVGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgYXMgYSBzdHJpbmcsIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBrZXkgaXMgbm90IGZvdW5kIGFuZCBubyBkZWZhdWx0IGlzIHByb3ZpZGVkLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXQoa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3QgdmFsdWUgPSBDb25maWd1cmF0aW9uLmdldChrZXksIGRlZmF1bHRWYWx1ZSk7XG5cdFx0cmV0dXJuIHZhbHVlID8/IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBjb25maWd1cmF0aW9uIHZhbHVlIGZvciB0aGUgZ2l2ZW4ga2V5LlxuXHQgKiBJZiB0aGUga2V5IGFscmVhZHkgZXhpc3RzLCBpdHMgdmFsdWUgaXMgb3ZlcndyaXR0ZW4uXG5cdCAqIEBwYXJhbSBrZXkgVGhlIGNvbmZpZ3VyYXRpb24ga2V5LlxuXHQgKiBAcGFyYW0gdmFsdWUgVGhlIGNvbmZpZ3VyYXRpb24gdmFsdWUgdG8gc2V0LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRDb25maWd1cmF0aW9uLnNldChrZXksIHZhbHVlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZW1vdmVzIHRoZSBjb25maWd1cmF0aW9uIHByb3BlcnR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4ga2V5LlxuXHQgKiBAcGFyYW0ga2V5IFRoZSBjb25maWd1cmF0aW9uIGtleSB0byByZW1vdmUuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHJlbW92ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuXHRcdENvbmZpZ3VyYXRpb24ucmVtb3ZlKGtleSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgbGlzdCBvZiBhbGwgY3VycmVudCBjb25maWd1cmF0aW9uIGtleXMuXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGNvbmZpZ3VyYXRpb24ga2V5cyAoc3RyaW5ncykuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldEtleXMoKTogc3RyaW5nW10ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmdldEtleXMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIGNvbmZpZ3VyYXRpb24gZ3JvdXBzLCBpbiBkaXNwbGF5IG9yZGVyLCB3aXRoIHRoZSBudW1iZXIgb2Yga2V5cyBhbmQgb2Ygc2V0IGtleXMgaW4gZWFjaC5cblx0ICogQHJldHVybnMgVGhlIGdyb3Vwcy5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0R3JvdXBzKCk6IENvbmZpZ3VyYXRpb25Hcm91cFtdIHtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShDb25maWd1cmF0aW9uc0ZhY2FkZS5nZXRHcm91cHMoKSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBkZXNjcmliZWQgY29uZmlndXJhdGlvbiBrZXlzLCBncm91cGVkOiBkZWZhdWx0LCBlZmZlY3RpdmUgdmFsdWUsIGl0cyBzb3VyY2UgYW5kIHRoZSB2YWx1ZVxuXHQgKiBvZiBlYWNoIHNvdXJjZS4gU2Vuc2l0aXZlIHZhbHVlcyBhcmUgbWFza2VkLlxuXHQgKiBAcGFyYW0gZ3JvdXAgQSBncm91cCBpZCAoZS5nLiBcImRhdGFiYXNlXCIpIG9yIHNldmVyYWw7IGFsbCBncm91cHMgd2hlbiBvbWl0dGVkLlxuXHQgKiBAcmV0dXJucyBUaGUgZ3JvdXBzIHRoYXQgaGF2ZSBrZXlzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXREZXNjcmlwdG9ycyhncm91cD86IHN0cmluZyB8IHN0cmluZ1tdKTogQ29uZmlndXJhdGlvbkRlc2NyaXB0b3JHcm91cFtdIHtcblx0XHRjb25zdCBncm91cHMgPSBncm91cCA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IEFycmF5LmlzQXJyYXkoZ3JvdXApID8gZ3JvdXAuam9pbihcIixcIikgOiBncm91cDtcblx0XHRyZXR1cm4gSlNPTi5wYXJzZShDb25maWd1cmF0aW9uc0ZhY2FkZS5nZXREZXNjcmlwdG9ycyhncm91cHMpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMb2FkcyBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZnJvbSBhIGZpbGUgYXQgdGhlIHNwZWNpZmllZCBwYXRoLCBvdmVycmlkaW5nIGV4aXN0aW5nIG9uZXMuXG5cdCAqIEBwYXJhbSBwYXRoIFRoZSBmaWxlIHBhdGggdG8gbG9hZCBjb25maWd1cmF0aW9ucyBmcm9tLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBsb2FkKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdENvbmZpZ3VyYXRpb24ubG9hZChwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZWxvYWRzIG9yIHVwZGF0ZXMgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmcm9tIHRoZWlyIHNvdXJjZSAoZS5nLiwgcGVyc2lzdGVuY2UgbGF5ZXIpLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyB1cGRhdGUoKTogdm9pZCB7XG5cdFx0Q29uZmlndXJhdGlvbi51cGRhdGUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbS5cblx0ICogQHJldHVybnMgVGhlIE9TIG5hbWUgYXMgYSBzdHJpbmcgKGUuZy4sIFwiV2luZG93c1wiLCBcIkxpbnV4XCIsIFwiTWFjIE9TIFhcIikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldE9TKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uZ2V0T1MoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBXaW5kb3dzLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBPUyBpcyBXaW5kb3dzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT1NXaW5kb3dzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmlzT1NXaW5kb3dzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IE9wZXJhdGluZyBTeXN0ZW0gaXMgTWFjIE9TIChvciBNYWMgT1MgWCkuXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIE9TIGlzIE1hYywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBpc09TTWFjKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmlzT1NNYWMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBhIFVOSVgtbGlrZSBzeXN0ZW0gKGUuZy4sIExpbnV4LCBtYWNPUywgb3Igb3RoZXJzKS5cblx0ICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgT1MgaXMgYSBVTklYIHZhcmlhbnQsIGZhbHNlIG90aGVyd2lzZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgaXNPU1VOSVgoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb24uaXNPU1VOSVgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgT3BlcmF0aW5nIFN5c3RlbSBpcyBTb2xhcmlzLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBPUyBpcyBTb2xhcmlzLCBmYWxzZSBvdGhlcndpc2UuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGlzT1NTb2xhcmlzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uLmlzT1NTb2xhcmlzKCk7XG5cdH1cblxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IENvbmZpZ3VyYXRpb25zO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQTZDQSxNQUFNLGdCQUFnQixLQUFLLEtBQUssb0RBQW9EO0FBQ3BGLE1BQU0sdUJBQXVCLEtBQUssS0FBSyxnRUFBZ0U7QUE0Q2hHLE1BQU0sZUFBZTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUTNCLE9BQWMsSUFBSSxLQUFhLGNBQTJDO0FBQ3pFLFVBQU0sUUFBUSxjQUFjLElBQUksS0FBSyxZQUFZO0FBQ2pELFdBQU8sU0FBUztBQUFBLEVBQ2pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLElBQUksS0FBYSxPQUFxQjtBQUNuRCxrQkFBYyxJQUFJLEtBQUssS0FBSztBQUFBLEVBQzdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsT0FBTyxLQUFtQjtBQUN2QyxrQkFBYyxPQUFPLEdBQUc7QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFVBQW9CO0FBQ2pDLFdBQU8sY0FBYyxRQUFRO0FBQUEsRUFDOUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxZQUFrQztBQUMvQyxXQUFPLEtBQUssTUFBTSxxQkFBcUIsVUFBVSxDQUFDO0FBQUEsRUFDbkQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsZUFBZSxPQUEyRDtBQUN2RixVQUFNLFNBQVMsVUFBVSxTQUFZLE9BQU8sTUFBTSxRQUFRLEtBQUssSUFBSSxNQUFNLEtBQUssR0FBRyxJQUFJO0FBQ3JGLFdBQU8sS0FBSyxNQUFNLHFCQUFxQixlQUFlLE1BQU0sQ0FBQztBQUFBLEVBQzlEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsS0FBSyxNQUFvQjtBQUN0QyxrQkFBYyxLQUFLLElBQUk7QUFBQSxFQUN4QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsT0FBYyxTQUFlO0FBQzVCLGtCQUFjLE9BQU87QUFBQSxFQUN0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFFBQWdCO0FBQzdCLFdBQU8sY0FBYyxNQUFNO0FBQUEsRUFDNUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxjQUF1QjtBQUNwQyxXQUFPLGNBQWMsWUFBWTtBQUFBLEVBQ2xDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BLE9BQWMsVUFBbUI7QUFDaEMsV0FBTyxjQUFjLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxPQUFjLFdBQW9CO0FBQ2pDLFdBQU8sY0FBYyxTQUFTO0FBQUEsRUFDL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTUEsT0FBYyxjQUF1QjtBQUNwQyxXQUFPLGNBQWMsWUFBWTtBQUFBLEVBQ2xDO0FBRUQ7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWxDLFNBQU8sVUFBVTtBQUNsQjsiLAogICJuYW1lcyI6IFtdCn0K
|
package/dist/esm/etcd/client.mjs
CHANGED
|
@@ -155,4 +155,4 @@ export {
|
|
|
155
155
|
GetResponse,
|
|
156
156
|
Header
|
|
157
157
|
};
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZXRjZC9jbGllbnRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9ldGNkXG4gKiBAbmFtZSBDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBDbGllbnRgIGNsYXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZSB3aXRoaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBDbGllbnRgIGNsYXNzIGFsbG93cyBkZXZlbG9wZXJzIHRvIHBlcmZvcm0gYmFzaWMgb3BlcmF0aW9ucyBzdWNoIGFzIHB1dHRpbmcgKHdyaXRpbmcpIHZhbHVlcywgZ2V0dGluZyB2YWx1ZXMsIGFuZCBkZWxldGluZyBrZXlzIGluIEV0Y2QuIEl0IGFsc28gaW5jbHVkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHR5cGVzIGFuZCB0aGUgbmF0aXZlIEphdmEvRXRjZCB0eXBlcyB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nIEV0Y2QgY2xpZW50IGxpYnJhcnkuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gUHV0IHN0cmluZyBvciBieXRlIGFycmF5IHZhbHVlcyB0byBFdGNkIGtleXMuXG4gKiAtIEdldCB2YWx1ZXMgZnJvbSBFdGNkIGtleXMgd2l0aCBvcHRpb25zIGZvciBzdHJpbmcgb3IgYnl0ZSBhcnJheSBmb3JtYXRzLlxuICogLSBSZXRyaWV2ZSBtZXRhZGF0YSBhYm91dCB0aGUgRXRjZCBjbHVzdGVyIGFuZCBrZXktdmFsdWUgc3RvcmUgdGhyb3VnaCByZXNwb25zZSBoZWFkZXJzLlxuICogLSBEZWxldGUga2V5cyBmcm9tIEV0Y2QuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXNcbiAqIC0gU3RvcmluZyBjb25maWd1cmF0aW9uIGRhdGEgb3IgYXBwbGljYXRpb24gc3RhdGUgaW4gRXRjZCBmb3IgZGlzdHJpYnV0ZWQgYXBwbGljYXRpb25zLlxuICogLSBSZXRyaWV2aW5nIGFuZCBtYW5hZ2luZyBrZXktdmFsdWUgcGFpcnMgaW4gRXRjZCBmb3Igc2VydmljZSBkaXNjb3ZlcnksIGNvbmZpZ3VyYXRpb24gbWFuYWdlbWVudCwgb3IgY29vcmRpbmF0aW9uIHRhc2tzLlxuICogLSBJbnRlZ3JhdGluZyB3aXRoIG90aGVyIG1vZHVsZXMgdGhhdCByZXF1aXJlIGEgY29uc2lzdGVudCBpbnRlcmZhY2UgZm9yIGludGVyYWN0aW5nIHdpdGggRXRjZCBhcyBhIGJhY2tlbmQgc3RvcmUuXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQ2xpZW50IH0gZnJvbSBcIkBhZXJva2l0L3Nkay9ldGNkXCI7XG4gKiBcbiAqIGNvbnN0IGV0Y2RDbGllbnQgPSBuZXcgQ2xpZW50KCk7XG4gKiBcbiAqIC8vIFB1dCBhIHN0cmluZyB2YWx1ZSB0byBhIGtleVxuICogZXRjZENsaWVudC5wdXRTdHJpbmdWYWx1ZShcImNvbmZpZy9hcHBOYW1lXCIsIFwiTXlBcHBcIik7XG4gKiBcbiAqIC8vIEdldCB0aGUgc3RyaW5nIHZhbHVlIG9mIGEga2V5XG4gKiBjb25zdCBhcHBOYW1lID0gZXRjZENsaWVudC5nZXRLdnNTdHJpbmdWYWx1ZShcImNvbmZpZy9hcHBOYW1lXCIpO1xuICogY29uc29sZS5sb2coYXBwTmFtZSk7IC8vIE91dHB1dDogeyBcImNvbmZpZy9hcHBOYW1lXCI6IFwiTXlBcHBcIiB9XG4gKiBcbiAqIC8vIERlbGV0ZSBhIGtleVxuICogZXRjZENsaWVudC5kZWxldGUoXCJjb25maWcvYXBwTmFtZVwiKTtcbiAqIGBgYFxuICovXG5cbmNvbnN0IEV0Y2RGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuZXRjZC5FdGNkRmFjYWRlXCIpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVRJTElUWSBGVU5DVElPTlNcbi8vIFRoZXNlIGZ1bmN0aW9ucyBoYW5kbGUgdGhlIGNvbnZlcnNpb24gYmV0d2VlbiBKYXZhU2NyaXB0L1R5cGVTY3JpcHQgdHlwZXMgKHN0cmluZywgSW50OEFycmF5KVxuLy8gYW5kIHRoZSBuYXRpdmUgSmF2YS9FdGNkIHR5cGVzIChCeXRlU2VxdWVuY2UsIG5hdGl2ZSBieXRlIGFycmF5cykuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbnZlcnRzIGEgc3RyaW5nIHRvIGEgbmF0aXZlIEV0Y2QgQnl0ZVNlcXVlbmNlIG9iamVjdC5cbiAqIEBwYXJhbSBzdHIgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IChKYXZhIHR5cGUpLlxuICovXG5mdW5jdGlvbiBTdHJpbmdUb0J5dGVTZXF1ZW5jZShzdHI6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIEV0Y2RGYWNhZGUuc3RyaW5nVG9CeXRlU2VxdWVuY2Uoc3RyKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIEphdmFTY3JpcHQgSW50OEFycmF5IChieXRlIGFycmF5KSB0byBhIG5hdGl2ZSBFdGNkIEJ5dGVTZXF1ZW5jZSBvYmplY3QuXG4gKiBAcGFyYW0gYXJyIFRoZSBJbnQ4QXJyYXkgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBuYXRpdmUgQnl0ZVNlcXVlbmNlIG9iamVjdCAoSmF2YSB0eXBlKS5cbiAqL1xuZnVuY3Rpb24gQnl0ZUFycmF5VG9CeXRlU2VxdWVuY2UoYXJyOiBJbnQ4QXJyYXkpOiBhbnkge1xuICAgIHJldHVybiBFdGNkRmFjYWRlLmJ5dGVBcnJheVRvQnl0ZVNlcXVlbmNlKGFycik7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuYXRpdmUgRXRjZCBCeXRlU2VxdWVuY2Ugb2JqZWN0IGJhY2sgdG8gYSBzdHJpbmcuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0LlxuICogQHJldHVybnMgVGhlIGRlY29kZWQgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBCeXRlU2VxdWVuY2VUb1N0cmluZyh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gRXRjZEZhY2FkZS5ieXRlU2VxdWVuY2VUb1N0cmluZyh2YWx1ZSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBuYXRpdmUgSmF2YSBhcnJheSBvZiBieXRlcyBpbnRvIGEgSmF2YVNjcmlwdCBJbnQ4QXJyYXkuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGJ5dGVzLlxuICogQHJldHVybnMgQSBKYXZhU2NyaXB0IEludDhBcnJheS5cbiAqL1xuZnVuY3Rpb24gQnl0ZXNUb0FycmF5KHZhbHVlOiBhbnkpOiBJbnQ4QXJyYXkge1xuICAgIGNvbnN0IGFycmF5ID0gdmFsdWUuZ2V0Qnl0ZXMoKTsgLy8gR2V0IHRoZSBuYXRpdmUgYnl0ZSBhcnJheVxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBJbnQ4QXJyYXkoYXJyYXkubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIC8vIENvbnZlcnNpb24gZnJvbSBKYXZhIGJ5dGUgdG8gSmF2YVNjcmlwdCBJbnQ4IHZhbHVlXG4gICAgICAgIHJlc3VsdFtpXSA9IHBhcnNlSW50KGFycmF5W2ldLCAxMCk7IFxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEhlbHBlciB0byBwcm9jZXNzIGEgbGlzdCBvZiBLZXktVmFsdWUgKEtWKSBvYmplY3RzIGludG8gYSBzdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdC5cbiAqIEBwYXJhbSBrdnNMaXN0IFRoZSBuYXRpdmUgbGlzdCBvZiBLViBvYmplY3RzLlxuICogQHBhcmFtIGZ1bmMgVGhlIGNvbnZlcnNpb24gZnVuY3Rpb24gZm9yIHRoZSB2YWx1ZSAoZS5nLiwgQnl0ZVNlcXVlbmNlVG9TdHJpbmcgb3IgQnl0ZXNUb0FycmF5KS5cbiAqIEByZXR1cm5zIEEgc3RhbmRhcmQgSmF2YVNjcmlwdCBvYmplY3QgbWFwcGluZyBzdHJpbmcga2V5cyB0byBzcGVjaWZpZWQgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdDxUPihrdnNMaXN0OiBhbnlbXSwgZnVuYzogKHZhbHVlOiBhbnkpID0+IFQpOiB7IFtrZXk6IHN0cmluZ106IFQgfSB7XG4gICAgY29uc3Qga3ZPYmplY3Q6IHsgW2tleTogc3RyaW5nXTogVCB9ID0ge307XG4gICAga3ZzTGlzdC5mb3JFYWNoKChrdnM6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBrZXk6IHN0cmluZyA9IEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKGt2cy5nZXRLZXkoKSk7XG4gICAgICAgIGNvbnN0IHZhbHVlOiBUID0gZnVuYyhrdnMuZ2V0VmFsdWUoKSk7XG4gICAgICAgIGt2T2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICB9KTtcblxuICAgIHJldHVybiBrdk9iamVjdDtcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgbmF0aXZlIEtWUyBsaXN0IHRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBzdHJpbmcgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdFN0cmluZyhrdnNMaXN0OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdChrdnNMaXN0LCBCeXRlU2VxdWVuY2VUb1N0cmluZyk7XG59XG5cbi8qKlxuICogUHJvY2Vzc2VzIG5hdGl2ZSBLVlMgbGlzdCB0byBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggSW50OEFycmF5IHZhbHVlcy5cbiAqL1xuZnVuY3Rpb24gS2V5VmFsdWVPYmplY3RCeXRlQXJyYXkoa3ZzTGlzdDogYW55W10pOiB7IFtrZXk6IHN0cmluZ106IEludDhBcnJheSB9IHtcbiAgICByZXR1cm4gS2V5VmFsdWVPYmplY3Qoa3ZzTGlzdCwgQnl0ZXNUb0FycmF5KTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVUQ0QgUkVTUE9OU0UgQ0xBU1NFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBoZWFkZXIgbWV0YWRhdGEgb2YgYW4gRXRjZCByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEhlYWRlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gbmF0aXZlO1xuICAgIH1cblxuICAgIC8qKiBUaGUgcmV2aXNpb24gb2YgdGhlIGtleS12YWx1ZSBzdG9yZSB3aGVuIHRoZSByZXF1ZXN0IHdhcyBwcm9jZXNzZWQuICovXG4gICAgcHVibGljIGdldFJldmlzaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRSZXZpc2lvbigpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgSUQgb2YgdGhlIGNsdXN0ZXIgd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIHNlbnQgdG8uICovXG4gICAgcHVibGljIGdldENsdXN0ZXJJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q2x1c3RlcklkKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBJRCBvZiB0aGUgbWVtYmVyIHdoaWNoIHRoZSByZXF1ZXN0IHdhcyBoYW5kbGVkIGJ5LiAqL1xuICAgIHB1YmxpYyBnZXRNZW1iZXJJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0TWVtYmVySWQoKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIFJhZnQgdGVybS4gKi9cbiAgICBwdWJsaWMgZ2V0UmFmdFRlcm0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldFJhZnRUZXJtKCk7XG4gICAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHJlc3BvbnNlIG9iamVjdCBmb3IgYSBHZXQgb3BlcmF0aW9uIGZyb20gRXRjZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEdldFJlc3BvbnNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgcmVzcG9uc2UgaGVhZGVyIGNvbnRhaW5pbmcgY2x1c3RlciBtZXRhZGF0YS4gKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGVyKCk6IEhlYWRlciB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZUhlYWRlciA9IHRoaXMubmF0aXZlLmdldEhlYWRlcigpO1xuICAgICAgICByZXR1cm4gbmV3IEhlYWRlcihuYXRpdmVIZWFkZXIpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyB3aXRoIHZhbHVlcyBjb252ZXJ0ZWQgdG8gc3RyaW5ncy4gKi9cbiAgICBwdWJsaWMgZ2V0S3ZzU3RyaW5nKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICByZXR1cm4gS2V5VmFsdWVPYmplY3RTdHJpbmcodGhpcy5uYXRpdmUuZ2V0S3ZzKCkpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyB3aXRoIHZhbHVlcyBjb252ZXJ0ZWQgdG8gSW50OEFycmF5IChieXRlIGFycmF5cykuICovXG4gICAgcHVibGljIGdldEt2c0J5dGVBcnJheSgpOiB7IFtrZXk6IHN0cmluZ106IEludDhBcnJheSB9IHtcbiAgICAgICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0Qnl0ZUFycmF5KHRoaXMubmF0aXZlLmdldEt2cygpKTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSBudW1iZXIgb2YgS2V5LVZhbHVlIHBhaXJzIHJldHVybmVkLiAqL1xuICAgIHB1YmxpYyBnZXRDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0Q291bnQoKTtcbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVUQ0QgQ0xJRU5UIEZBQ0FERVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDbGllbnQgZmFjYWRlIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZS5cbiAqL1xuZXhwb3J0IGNsYXNzIENsaWVudCB7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gRXRjZEZhY2FkZS5nZXRDbGllbnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeGVjdXRlcyBhIGJsb2NraW5nIEdFVCByZXF1ZXN0IG9uIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byByZXRyaWV2ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgcHJvY2Vzc2VkIEdldFJlc3BvbnNlIG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldChrZXk6IHN0cmluZyk6IEdldFJlc3BvbnNlIHtcbiAgICAgICAgLy8gRXRjZCBjbGllbnQgcmV0dXJucyBhIENvbXBsZXRhYmxlRnV0dXJlIHdoaWNoIGlzIGJsb2NrZWQgaGVyZSB1c2luZyAuZ2V0KClcbiAgICAgICAgY29uc3QgZXRjZENvbXBsZXRhYmxlRnV0dXJlID0gdGhpcy5uYXRpdmUuZ2V0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSkpO1xuICAgICAgICBjb25zdCBuYXRpdmVSZXNwb25zZSA9IGV0Y2RDb21wbGV0YWJsZUZ1dHVyZS5nZXQoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBHZXRSZXNwb25zZShuYXRpdmVSZXNwb25zZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHV0cyAod3JpdGVzKSBhIHN0cmluZyB2YWx1ZSB0byB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gd3JpdGUgdG8uXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHB1dFN0cmluZ1ZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlLnB1dChTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpLCBTdHJpbmdUb0J5dGVTZXF1ZW5jZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFB1dHMgKHdyaXRlcykgYSBieXRlIGFycmF5IHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB3cml0ZSB0by5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIEludDhBcnJheSAoYnl0ZSBhcnJheSkgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIHB1dEJ5dGVBcnJheVZhbHVlKGtleTogc3RyaW5nLCB2YWx1ZTogSW50OEFycmF5KTogdm9pZCB7XG4gICAgICAgIHRoaXMubmF0aXZlLnB1dChTdHJpbmdUb0J5dGVTZXF1ZW5jZShrZXkpLCBCeXRlQXJyYXlUb0J5dGVTZXF1ZW5jZSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgcmVzcG9uc2UgaGVhZGVyIG1ldGFkYXRhIGZvciBhIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgVGhlIHtAbGluayBIZWFkZXJ9IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGVhZGVyKGtleTogc3RyaW5nKTogSGVhZGVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0SGVhZGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgYXMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IChvciBrZXkgcHJlZml4KSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3QgbWFwcGluZyBrZXlzIHRvIHN0cmluZyB2YWx1ZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldEt2c1N0cmluZ1ZhbHVlKGtleTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldEt2c1N0cmluZygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIGFzIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBJbnQ4QXJyYXkgdmFsdWVzLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSAob3Iga2V5IHByZWZpeCkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgQW4gb2JqZWN0IG1hcHBpbmcga2V5cyB0byBJbnQ4QXJyYXkgdmFsdWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRLdnNCeXRlQXJyYXlWYWx1ZShrZXk6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRLdnNCeXRlQXJyYXkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGNvdW50IG9mIEtleS1WYWx1ZSBwYWlycyBtYXRjaGluZyB0aGUga2V5IChvciBrZXkgcHJlZml4KS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgKG9yIGtleSBwcmVmaXgpIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBtYXRjaGluZyBlbnRyaWVzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb3VudChrZXk6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldENvdW50KCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVsZXRlcyB0aGUgc3BlY2lmaWVkIGtleS5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gZGVsZXRlLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWxldGUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUuZGVsZXRlKFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSkpO1xuICAgIH1cbn1cblxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IENsaWVudDtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUFxQ0EsTUFBTSxhQUFhLEtBQUssS0FBSyxzREFBc0Q7QUFhbkYsU0FBUyxxQkFBcUIsS0FBa0I7QUFDNUMsU0FBTyxXQUFXLHFCQUFxQixHQUFHO0FBQzlDO0FB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
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2V0Y2QvY2xpZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZXRjZC9jbGllbnRcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9ldGNkXG4gKiBAbmFtZSBDbGllbnRcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBDbGllbnRgIGNsYXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBFdGNkIGtleS12YWx1ZSBzdG9yZSB3aXRoaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBDbGllbnRgIGNsYXNzIGFsbG93cyBkZXZlbG9wZXJzIHRvIHBlcmZvcm0gYmFzaWMgb3BlcmF0aW9ucyBzdWNoIGFzIHB1dHRpbmcgKHdyaXRpbmcpIHZhbHVlcywgZ2V0dGluZyB2YWx1ZXMsIGFuZCBkZWxldGluZyBrZXlzIGluIEV0Y2QuIEl0IGFsc28gaW5jbHVkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGNvbnZlcnRpbmcgYmV0d2VlbiBKYXZhU2NyaXB0IHR5cGVzIGFuZCB0aGUgbmF0aXZlIEphdmEvRXRjZCB0eXBlcyB1c2VkIGJ5IHRoZSB1bmRlcmx5aW5nIEV0Y2QgY2xpZW50IGxpYnJhcnkuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gUHV0IHN0cmluZyBvciBieXRlIGFycmF5IHZhbHVlcyB0byBFdGNkIGtleXMuXG4gKiAtIEdldCB2YWx1ZXMgZnJvbSBFdGNkIGtleXMgd2l0aCBvcHRpb25zIGZvciBzdHJpbmcgb3IgYnl0ZSBhcnJheSBmb3JtYXRzLlxuICogLSBSZXRyaWV2ZSBtZXRhZGF0YSBhYm91dCB0aGUgRXRjZCBjbHVzdGVyIGFuZCBrZXktdmFsdWUgc3RvcmUgdGhyb3VnaCByZXNwb25zZSBoZWFkZXJzLlxuICogLSBEZWxldGUga2V5cyBmcm9tIEV0Y2QuXG4gKlxuICogIyMjIEF2YWlsYWJpbGl0eVxuICogVGhlIGV0Y2QgY2xpZW50IGxpYnJhcnkgKGpldGNkKSBpcyBhbiBhZGQtb24gdGhhdCB0aGUgZGVmYXVsdCBidW5kbGUgZG9lcyBub3Qgc2hpcDogdGhlIGFwcGxpY2F0aW9uIGFkZHNcbiAqIGBvcmcuZWNsaXBzZS5kaXJpZ2libGU6ZGlyaWdpYmxlLWNvbXBvbmVudHMtYXBpLWV0Y2QtY2xpZW50YCAoYDx0eXBlPnBvbTwvdHlwZT5gKS4gV2l0aG91dCBpdCwgZXZlcnkgY2FsbFxuICogdGhyb3dzIGBFdGNkTm90QXZhaWxhYmxlRXhjZXB0aW9uYCBuYW1pbmcgdGhhdCBhcnRpZmFjdC5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBTdG9yaW5nIGNvbmZpZ3VyYXRpb24gZGF0YSBvciBhcHBsaWNhdGlvbiBzdGF0ZSBpbiBFdGNkIGZvciBkaXN0cmlidXRlZCBhcHBsaWNhdGlvbnMuXG4gKiAtIFJldHJpZXZpbmcgYW5kIG1hbmFnaW5nIGtleS12YWx1ZSBwYWlycyBpbiBFdGNkIGZvciBzZXJ2aWNlIGRpc2NvdmVyeSwgY29uZmlndXJhdGlvbiBtYW5hZ2VtZW50LCBvciBjb29yZGluYXRpb24gdGFza3MuXG4gKiAtIEludGVncmF0aW5nIHdpdGggb3RoZXIgbW9kdWxlcyB0aGF0IHJlcXVpcmUgYSBjb25zaXN0ZW50IGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBFdGNkIGFzIGEgYmFja2VuZCBzdG9yZS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDbGllbnQgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2V0Y2RcIjtcbiAqIFxuICogY29uc3QgZXRjZENsaWVudCA9IG5ldyBDbGllbnQoKTtcbiAqIFxuICogLy8gUHV0IGEgc3RyaW5nIHZhbHVlIHRvIGEga2V5XG4gKiBldGNkQ2xpZW50LnB1dFN0cmluZ1ZhbHVlKFwiY29uZmlnL2FwcE5hbWVcIiwgXCJNeUFwcFwiKTtcbiAqIFxuICogLy8gR2V0IHRoZSBzdHJpbmcgdmFsdWUgb2YgYSBrZXlcbiAqIGNvbnN0IGFwcE5hbWUgPSBldGNkQ2xpZW50LmdldEt2c1N0cmluZ1ZhbHVlKFwiY29uZmlnL2FwcE5hbWVcIik7XG4gKiBjb25zb2xlLmxvZyhhcHBOYW1lKTsgLy8gT3V0cHV0OiB7IFwiY29uZmlnL2FwcE5hbWVcIjogXCJNeUFwcFwiIH1cbiAqIFxuICogLy8gRGVsZXRlIGEga2V5XG4gKiBldGNkQ2xpZW50LmRlbGV0ZShcImNvbmZpZy9hcHBOYW1lXCIpO1xuICogYGBgXG4gKi9cblxuY29uc3QgRXRjZEZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5ldGNkLkV0Y2RGYWNhZGVcIik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVVElMSVRZIEZVTkNUSU9OU1xuLy8gVGhlc2UgZnVuY3Rpb25zIGhhbmRsZSB0aGUgY29udmVyc2lvbiBiZXR3ZWVuIEphdmFTY3JpcHQvVHlwZVNjcmlwdCB0eXBlcyAoc3RyaW5nLCBJbnQ4QXJyYXkpXG4vLyBhbmQgdGhlIG5hdGl2ZSBKYXZhL0V0Y2QgdHlwZXMgKEJ5dGVTZXF1ZW5jZSwgbmF0aXZlIGJ5dGUgYXJyYXlzKS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgdG8gYSBuYXRpdmUgRXRjZCBCeXRlU2VxdWVuY2Ugb2JqZWN0LlxuICogQHBhcmFtIHN0ciBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QgKEphdmEgdHlwZSkuXG4gKi9cbmZ1bmN0aW9uIFN0cmluZ1RvQnl0ZVNlcXVlbmNlKHN0cjogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gRXRjZEZhY2FkZS5zdHJpbmdUb0J5dGVTZXF1ZW5jZShzdHIpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgSmF2YVNjcmlwdCBJbnQ4QXJyYXkgKGJ5dGUgYXJyYXkpIHRvIGEgbmF0aXZlIEV0Y2QgQnl0ZVNlcXVlbmNlIG9iamVjdC5cbiAqIEBwYXJhbSBhcnIgVGhlIEludDhBcnJheSB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIG5hdGl2ZSBCeXRlU2VxdWVuY2Ugb2JqZWN0IChKYXZhIHR5cGUpLlxuICovXG5mdW5jdGlvbiBCeXRlQXJyYXlUb0J5dGVTZXF1ZW5jZShhcnI6IEludDhBcnJheSk6IGFueSB7XG4gICAgcmV0dXJuIEV0Y2RGYWNhZGUuYnl0ZUFycmF5VG9CeXRlU2VxdWVuY2UoYXJyKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIG5hdGl2ZSBFdGNkIEJ5dGVTZXF1ZW5jZSBvYmplY3QgYmFjayB0byBhIHN0cmluZy5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QuXG4gKiBAcmV0dXJucyBUaGUgZGVjb2RlZCBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIHJldHVybiBFdGNkRmFjYWRlLmJ5dGVTZXF1ZW5jZVRvU3RyaW5nKHZhbHVlKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIG5hdGl2ZSBKYXZhIGFycmF5IG9mIGJ5dGVzIGludG8gYSBKYXZhU2NyaXB0IEludDhBcnJheS5cbiAqIEBwYXJhbSB2YWx1ZSBUaGUgbmF0aXZlIEJ5dGVTZXF1ZW5jZSBvYmplY3QgY29udGFpbmluZyB0aGUgYnl0ZXMuXG4gKiBAcmV0dXJucyBBIEphdmFTY3JpcHQgSW50OEFycmF5LlxuICovXG5mdW5jdGlvbiBCeXRlc1RvQXJyYXkodmFsdWU6IGFueSk6IEludDhBcnJheSB7XG4gICAgY29uc3QgYXJyYXkgPSB2YWx1ZS5nZXRCeXRlcygpOyAvLyBHZXQgdGhlIG5hdGl2ZSBieXRlIGFycmF5XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEludDhBcnJheShhcnJheS5sZW5ndGgpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gQ29udmVyc2lvbiBmcm9tIEphdmEgYnl0ZSB0byBKYXZhU2NyaXB0IEludDggdmFsdWVcbiAgICAgICAgcmVzdWx0W2ldID0gcGFyc2VJbnQoYXJyYXlbaV0sIDEwKTsgXG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogSGVscGVyIHRvIHByb2Nlc3MgYSBsaXN0IG9mIEtleS1WYWx1ZSAoS1YpIG9iamVjdHMgaW50byBhIHN0YW5kYXJkIEphdmFTY3JpcHQgb2JqZWN0LlxuICogQHBhcmFtIGt2c0xpc3QgVGhlIG5hdGl2ZSBsaXN0IG9mIEtWIG9iamVjdHMuXG4gKiBAcGFyYW0gZnVuYyBUaGUgY29udmVyc2lvbiBmdW5jdGlvbiBmb3IgdGhlIHZhbHVlIChlLmcuLCBCeXRlU2VxdWVuY2VUb1N0cmluZyBvciBCeXRlc1RvQXJyYXkpLlxuICogQHJldHVybnMgQSBzdGFuZGFyZCBKYXZhU2NyaXB0IG9iamVjdCBtYXBwaW5nIHN0cmluZyBrZXlzIHRvIHNwZWNpZmllZCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIEtleVZhbHVlT2JqZWN0PFQ+KGt2c0xpc3Q6IGFueVtdLCBmdW5jOiAodmFsdWU6IGFueSkgPT4gVCk6IHsgW2tleTogc3RyaW5nXTogVCB9IHtcbiAgICBjb25zdCBrdk9iamVjdDogeyBba2V5OiBzdHJpbmddOiBUIH0gPSB7fTtcbiAgICBrdnNMaXN0LmZvckVhY2goKGt2czogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleTogc3RyaW5nID0gQnl0ZVNlcXVlbmNlVG9TdHJpbmcoa3ZzLmdldEtleSgpKTtcbiAgICAgICAgY29uc3QgdmFsdWU6IFQgPSBmdW5jKGt2cy5nZXRWYWx1ZSgpKTtcbiAgICAgICAga3ZPYmplY3Rba2V5XSA9IHZhbHVlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGt2T2JqZWN0O1xufVxuXG4vKipcbiAqIFByb2Nlc3NlcyBuYXRpdmUgS1ZTIGxpc3QgdG8gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHN0cmluZyB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIEtleVZhbHVlT2JqZWN0U3RyaW5nKGt2c0xpc3Q6IGFueVtdKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIEtleVZhbHVlT2JqZWN0KGt2c0xpc3QsIEJ5dGVTZXF1ZW5jZVRvU3RyaW5nKTtcbn1cblxuLyoqXG4gKiBQcm9jZXNzZXMgbmF0aXZlIEtWUyBsaXN0IHRvIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBJbnQ4QXJyYXkgdmFsdWVzLlxuICovXG5mdW5jdGlvbiBLZXlWYWx1ZU9iamVjdEJ5dGVBcnJheShrdnNMaXN0OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdChrdnNMaXN0LCBCeXRlc1RvQXJyYXkpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVRDRCBSRVNQT05TRSBDTEFTU0VTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGhlYWRlciBtZXRhZGF0YSBvZiBhbiBFdGNkIHJlc3BvbnNlLlxuICovXG5leHBvcnQgY2xhc3MgSGVhZGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5hdGl2ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IobmF0aXZlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBuYXRpdmU7XG4gICAgfVxuXG4gICAgLyoqIFRoZSByZXZpc2lvbiBvZiB0aGUga2V5LXZhbHVlIHN0b3JlIHdoZW4gdGhlIHJlcXVlc3Qgd2FzIHByb2Nlc3NlZC4gKi9cbiAgICBwdWJsaWMgZ2V0UmV2aXNpb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmdldFJldmlzaW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIFRoZSBJRCBvZiB0aGUgY2x1c3RlciB3aGljaCB0aGUgcmVxdWVzdCB3YXMgc2VudCB0by4gKi9cbiAgICBwdWJsaWMgZ2V0Q2x1c3RlcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDbHVzdGVySWQoKTtcbiAgICB9XG5cbiAgICAvKiogVGhlIElEIG9mIHRoZSBtZW1iZXIgd2hpY2ggdGhlIHJlcXVlc3Qgd2FzIGhhbmRsZWQgYnkuICovXG4gICAgcHVibGljIGdldE1lbWJlcklkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRNZW1iZXJJZCgpO1xuICAgIH1cblxuICAgIC8qKiBUaGUgUmFmdCB0ZXJtLiAqL1xuICAgIHB1YmxpYyBnZXRSYWZ0VGVybSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0UmFmdFRlcm0oKTtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcmVzcG9uc2Ugb2JqZWN0IGZvciBhIEdldCBvcGVyYXRpb24gZnJvbSBFdGNkLlxuICovXG5leHBvcnQgY2xhc3MgR2V0UmVzcG9uc2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuICAgICAgICB0aGlzLm5hdGl2ZSA9IG5hdGl2ZTtcbiAgICB9XG5cbiAgICAvKiogUmV0cmlldmVzIHRoZSByZXNwb25zZSBoZWFkZXIgY29udGFpbmluZyBjbHVzdGVyIG1ldGFkYXRhLiAqL1xuICAgIHB1YmxpYyBnZXRIZWFkZXIoKTogSGVhZGVyIHtcbiAgICAgICAgY29uc3QgbmF0aXZlSGVhZGVyID0gdGhpcy5uYXRpdmUuZ2V0SGVhZGVyKCk7XG4gICAgICAgIHJldHVybiBuZXcgSGVhZGVyKG5hdGl2ZUhlYWRlcik7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIHdpdGggdmFsdWVzIGNvbnZlcnRlZCB0byBzdHJpbmdzLiAqL1xuICAgIHB1YmxpYyBnZXRLdnNTdHJpbmcoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIHJldHVybiBLZXlWYWx1ZU9iamVjdFN0cmluZyh0aGlzLm5hdGl2ZS5nZXRLdnMoKSk7XG4gICAgfVxuXG4gICAgLyoqIFJldHJpZXZlcyB0aGUgS2V5LVZhbHVlIHBhaXJzIHdpdGggdmFsdWVzIGNvbnZlcnRlZCB0byBJbnQ4QXJyYXkgKGJ5dGUgYXJyYXlzKS4gKi9cbiAgICBwdWJsaWMgZ2V0S3ZzQnl0ZUFycmF5KCk6IHsgW2tleTogc3RyaW5nXTogSW50OEFycmF5IH0ge1xuICAgICAgICByZXR1cm4gS2V5VmFsdWVPYmplY3RCeXRlQXJyYXkodGhpcy5uYXRpdmUuZ2V0S3ZzKCkpO1xuICAgIH1cblxuICAgIC8qKiBSZXRyaWV2ZXMgdGhlIG51bWJlciBvZiBLZXktVmFsdWUgcGFpcnMgcmV0dXJuZWQuICovXG4gICAgcHVibGljIGdldENvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5nZXRDb3VudCgpO1xuICAgIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVRDRCBDTElFTlQgRkFDQURFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENsaWVudCBmYWNhZGUgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIEV0Y2Qga2V5LXZhbHVlIHN0b3JlLlxuICovXG5leHBvcnQgY2xhc3MgQ2xpZW50IHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5uYXRpdmUgPSBFdGNkRmFjYWRlLmdldENsaWVudCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIGEgYmxvY2tpbmcgR0VUIHJlcXVlc3Qgb24gdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHJldHJpZXZlLlxuICAgICAqIEByZXR1cm5zIFRoZSBwcm9jZXNzZWQgR2V0UmVzcG9uc2Ugb2JqZWN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0KGtleTogc3RyaW5nKTogR2V0UmVzcG9uc2Uge1xuICAgICAgICAvLyBFdGNkIGNsaWVudCByZXR1cm5zIGEgQ29tcGxldGFibGVGdXR1cmUgd2hpY2ggaXMgYmxvY2tlZCBoZXJlIHVzaW5nIC5nZXQoKVxuICAgICAgICBjb25zdCBldGNkQ29tcGxldGFibGVGdXR1cmUgPSB0aGlzLm5hdGl2ZS5nZXQoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSk7XG4gICAgICAgIGNvbnN0IG5hdGl2ZVJlc3BvbnNlID0gZXRjZENvbXBsZXRhYmxlRnV0dXJlLmdldCgpO1xuICAgICAgICByZXR1cm4gbmV3IEdldFJlc3BvbnNlKG5hdGl2ZVJlc3BvbnNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQdXRzICh3cml0ZXMpIGEgc3RyaW5nIHZhbHVlIHRvIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byB3cml0ZSB0by5cbiAgICAgKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0U3RyaW5nVmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUucHV0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSksIFN0cmluZ1RvQnl0ZVNlcXVlbmNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHV0cyAod3JpdGVzKSBhIGJ5dGUgYXJyYXkgdmFsdWUgdG8gdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHdyaXRlIHRvLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgSW50OEFycmF5IChieXRlIGFycmF5KSB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgcHV0Qnl0ZUFycmF5VmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBJbnQ4QXJyYXkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmUucHV0KFN0cmluZ1RvQnl0ZVNlcXVlbmNlKGtleSksIEJ5dGVBcnJheVRvQnl0ZVNlcXVlbmNlKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSByZXNwb25zZSBoZWFkZXIgbWV0YWRhdGEgZm9yIGEga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBUaGUge0BsaW5rIEhlYWRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRIZWFkZXIoa2V5OiBzdHJpbmcpOiBIZWFkZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQoa2V5KS5nZXRIZWFkZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIEtleS1WYWx1ZSBwYWlycyBhcyBhIEphdmFTY3JpcHQgb2JqZWN0IHdpdGggc3RyaW5nIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgKG9yIGtleSBwcmVmaXgpIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCBtYXBwaW5nIGtleXMgdG8gc3RyaW5nIHZhbHVlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0S3ZzU3RyaW5nVmFsdWUoa2V5OiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0S3ZzU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBLZXktVmFsdWUgcGFpcnMgYXMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIEludDhBcnJheSB2YWx1ZXMuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IChvciBrZXkgcHJlZml4KSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3QgbWFwcGluZyBrZXlzIHRvIEludDhBcnJheSB2YWx1ZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldEt2c0J5dGVBcnJheVZhbHVlKGtleTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBJbnQ4QXJyYXkgfSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldChrZXkpLmdldEt2c0J5dGVBcnJheSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY291bnQgb2YgS2V5LVZhbHVlIHBhaXJzIG1hdGNoaW5nIHRoZSBrZXkgKG9yIGtleSBwcmVmaXgpLlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSAob3Iga2V5IHByZWZpeCkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMgVGhlIGNvdW50IG9mIG1hdGNoaW5nIGVudHJpZXMuXG4gICAgICovXG4gICAgcHVibGljIGdldENvdW50KGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KGtleSkuZ2V0Q291bnQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBkZWxldGUuXG4gICAgICovXG4gICAgcHVibGljIGRlbGV0ZShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm5hdGl2ZS5kZWxldGUoU3RyaW5nVG9CeXRlU2VxdWVuY2Uoa2V5KSk7XG4gICAgfVxufVxuXG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gQ2xpZW50O1xufSJdLAogICJtYXBwaW5ncyI6ICJBQTBDQSxNQUFNLGFBQWEsS0FBSyxLQUFLLHNEQUFzRDtBQWFuRixTQUFTLHFCQUFxQixLQUFrQjtBQUM1QyxTQUFPLFdBQVcscUJBQXFCLEdBQUc7QUFDOUM7QUFPQSxTQUFTLHdCQUF3QixLQUFxQjtBQUNsRCxTQUFPLFdBQVcsd0JBQXdCLEdBQUc7QUFDakQ7QUFPQSxTQUFTLHFCQUFxQixPQUFvQjtBQUM5QyxTQUFPLFdBQVcscUJBQXFCLEtBQUs7QUFDaEQ7QUFPQSxTQUFTLGFBQWEsT0FBdUI7QUFDekMsUUFBTSxRQUFRLE1BQU0sU0FBUztBQUM3QixRQUFNLFNBQVMsSUFBSSxVQUFVLE1BQU0sTUFBTTtBQUN6QyxXQUFTLElBQUksR0FBRyxJQUFJLE1BQU0sUUFBUSxLQUFLO0FBRW5DLFdBQU8sQ0FBQyxJQUFJLFNBQVMsTUFBTSxDQUFDLEdBQUcsRUFBRTtBQUFBLEVBQ3JDO0FBQ0EsU0FBTztBQUNYO0FBUUEsU0FBUyxlQUFrQixTQUFnQixNQUErQztBQUN0RixRQUFNLFdBQWlDLENBQUM7QUFDeEMsVUFBUSxRQUFRLENBQUMsUUFBYTtBQUMxQixVQUFNLE1BQWMscUJBQXFCLElBQUksT0FBTyxDQUFDO0FBQ3JELFVBQU0sUUFBVyxLQUFLLElBQUksU0FBUyxDQUFDO0FBQ3BDLGFBQVMsR0FBRyxJQUFJO0FBQUEsRUFDcEIsQ0FBQztBQUVELFNBQU87QUFDWDtBQUtBLFNBQVMscUJBQXFCLFNBQTJDO0FBQ3JFLFNBQU8sZUFBZSxTQUFTLG9CQUFvQjtBQUN2RDtBQUtBLFNBQVMsd0JBQXdCLFNBQThDO0FBQzNF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
|