@aerokit/sdk 14.24.0 → 14.27.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/db/query.js +2 -2
- package/dist/cjs/db/store.js +3 -3
- package/dist/cjs/db/update.js +2 -2
- package/dist/cjs/job/scheduler.js +7 -1
- package/dist/dts/db/query.d.ts +1 -1
- package/dist/dts/db/store.d.ts +2 -2
- package/dist/dts/db/update.d.ts +1 -1
- package/dist/dts/job/scheduler.d.ts +6 -0
- package/dist/esm/db/query.mjs +2 -2
- package/dist/esm/db/store.mjs +3 -3
- package/dist/esm/db/update.mjs +2 -2
- package/dist/esm/job/scheduler.mjs +7 -1
- package/package.json +1 -1
package/dist/cjs/db/query.js
CHANGED
|
@@ -76,7 +76,7 @@ class Query {
|
|
|
76
76
|
return JSON.parse(resultset);
|
|
77
77
|
}
|
|
78
78
|
if (arr.every(
|
|
79
|
-
(v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
79
|
+
(v) => v === null || v === void 0 || typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
80
80
|
)) {
|
|
81
81
|
const resultset = DatabaseFacade.query(
|
|
82
82
|
sql,
|
|
@@ -127,4 +127,4 @@ class Query {
|
|
|
127
127
|
if (typeof module !== "undefined") {
|
|
128
128
|
module.exports = Query;
|
|
129
129
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3F1ZXJ5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZGIvcXVlcnlcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9kYlxuICogQG5hbWUgUXVlcnlcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBRdWVyeWAgY2xhc3MgZm9yIGV4ZWN1dGluZyBwYXJhbWV0ZXJpemVkIFNRTCBTRUxFQ1Qgc3RhdGVtZW50cyBhZ2FpbnN0IGEgZGF0YWJhc2UgaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBRdWVyeWAgY2xhc3Mgc3VwcG9ydHMgYm90aCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgKHVzaW5nICc/JyBwbGFjZWhvbGRlcnMpIGFuZCBuYW1lZCBwYXJhbWV0ZXJzICh1c2luZyAnOnBhcmFtTmFtZScgcGxhY2Vob2xkZXJzKSwgYWxsb3dpbmcgZm9yIGZsZXhpYmxlIHF1ZXJ5IGNvbnN0cnVjdGlvbiBhbmQgZXhlY3V0aW9uLiBJdCBhbHNvIGluY2x1ZGVzIG9wdGlvbnMgZm9yIGZvcm1hdHRpbmcgdGhlIHJlc3VsdCBzZXQsIHN1Y2ggYXMgc3BlY2lmeWluZyBkYXRlIGZvcm1hdHMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipQYXJhbWV0ZXJpemVkIFF1ZXJpZXMqKjogU3VwcG9ydHMgYm90aCBwb3NpdGlvbmFsIGFuZCBuYW1lZCBwYXJhbWV0ZXJzIGZvciBzZWN1cmUgYW5kIGVmZmljaWVudCBxdWVyeSBleGVjdXRpb24uXG4gKiAtICoqUmVzdWx0IEZvcm1hdHRpbmcqKjogQWxsb3dzIGZvciBjdXN0b20gZm9ybWF0dGluZyBvZiBxdWVyeSByZXN1bHRzLCBpbmNsdWRpbmcgZGF0ZSBmb3JtYXR0aW5nIG9wdGlvbnMuXG4gKiAtICoqSlNPTiBJbnB1dCBTdXBwb3J0Kio6IEFjY2VwdHMgcGFyYW1ldGVycyBhcyBKU09OIHN0cmluZ3Mgb3IgSmF2YVNjcmlwdCBhcnJheXMsIHByb3ZpZGluZyBmbGV4aWJpbGl0eSBpbiBob3cgcGFyYW1ldGVycyBhcmUgcGFzc2VkIHRvIHRoZSBxdWVyeS5cbiAqIC0gKipFcnJvciBIYW5kbGluZyoqOiBQcm92aWRlcyByb2J1c3QgZXJyb3IgaGFuZGxpbmcgZm9yIGludmFsaWQgcGFyYW1ldGVyIGZvcm1hdHMgYW5kIEpTT04gcGFyc2luZyBpc3N1ZXMuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXNcbiAqIC0gRXhlY3V0aW5nIGNvbXBsZXggU1FMIHF1ZXJpZXMgd2l0aCBkeW5hbWljIHBhcmFtZXRlcnMgaW4gYSBzZWN1cmUgbWFubmVyIHRvIHByZXZlbnQgU1FMIGluamVjdGlvbi5cbiAqIC0gRm9ybWF0dGluZyBxdWVyeSByZXN1bHRzIGFjY29yZGluZyB0byBzcGVjaWZpYyByZXF1aXJlbWVudHMsIHN1Y2ggYXMgZGF0ZSBmb3JtYXRzIG9yIGN1c3RvbSBkYXRhIHRyYW5zZm9ybWF0aW9ucy5cbiAqIC0gSW50ZWdyYXRpbmcgd2l0aCBvdGhlciBtb2R1bGVzIHRoYXQgZ2VuZXJhdGUgcGFyYW1ldGVycyBpbiBKU09OIGZvcm1hdCwgZW5hYmxpbmcgc2VhbWxlc3MgZGF0YSBmbG93IHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2RiXCI7XG4gKiBcbiAqIC8vIFBvc2l0aW9uYWwgcGFyYW1ldGVycyBleGFtcGxlXG4gKiBjb25zdCByZXN1bHQxID0gUXVlcnkuZXhlY3V0ZShcIlNFTEVDVCAqIEZST00gVXNlcnMgV0hFUkUgYWdlID4gP1wiLCBbMzBdKTtcbiAqIGNvbnNvbGUubG9nKHJlc3VsdDEpOyAvLyBPdXRwdXQ6IFt7IGlkOiAxLCBuYW1lOiBcIkFsaWNlXCIsIGFnZTogMzUgfSwgeyBpZDogMiwgbmFtZTogXCJCb2JcIiwgYWdlOiA0MCB9XVxuICogYGBgXG4gKi9cblxuY29uc3QgRGF0YWJhc2VGYWNhZGUgPSBKYXZhLnR5cGUoXG4gIFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmRiLkRhdGFiYXNlRmFjYWRlXCIsXG4pO1xuXG4vKipcbiAqIEludGVyZmFjZSB1c2VkIHRvIHdyYXAgY29tcGxleCBvciBzcGVjaWZpYyB2YWx1ZXMgZm9yIG5vbi1uYW1lZCBxdWVyaWVzLlxuICovXG5leHBvcnQgdHlwZSBUeXBlZFF1ZXJ5UGFyYW1ldGVyID0ge1xuICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZhbHVlOiB1bmtub3duO1xufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgYSBwYXJhbWV0ZXIgZm9yIGEgbmFtZWQgcXVlcnkgKHVzaW5nIHBsYWNlaG9sZGVycyBsaWtlIDpwYXJhbU5hbWUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVkUXVlcnlQYXJhbWV0ZXIge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWU6IGFueTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgdG8gc3BlY2lmeSBmb3JtYXR0aW5nIG9wdGlvbnMgZm9yIHRoZSBxdWVyeSByZXN1bHQgc2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRpbmdQYXJhbWV0ZXIge1xuICByZWFkb25seSBkYXRlRm9ybWF0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgZm9yIGV4ZWN1dGluZyBwYXJhbWV0ZXJpemVkIFNRTCBTRUxFQ1Qgc3RhdGVtZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFF1ZXJ5IHtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgc3RhbmRhcmQgU1FMIHF1ZXJ5IHdpdGggcG9zaXRpb25hbCBwYXJhbWV0ZXJzLiBQYXJhbWV0ZXJzIGFycmF5IHN1cHBvcnRzIHByaW1pdGl2ZXMgZS5nLiBgWzEsICdKb2huJywgMzQuNTZdYCBvciBvYmplY3RzIGluIGZvcm1hdCBlaXRoZXIgYHsndHlwZSc6J1tEQVRBX1RZUEVdJywgJ3ZhbHVlJzpbVkFMVUVdfWAgb3IgYHsnbmFtZSc6J1tzdHJpbmddJywgJ3R5cGUnOidbREFUQV9UWVBFXScsICd2YWx1ZSc6W1ZBTFVFXX1gIGUuZy4gYFt7J3R5cGUnOidDSEFSJywgJ3ZhbHVlJzonSVNCTjE5MjAyMzIzMzIyJ31dYCBvciBgW3snbmFtZSc6ICdvcmRlcl9udW1iZXInLCAndHlwZSc6J0NIQVInLCAndmFsdWUnOidJU0JOMTkyMDIzMjMzMjInfV1gXG4gICAqXG4gICAqIEBwYXJhbSBzcWwgVGhlIFNRTCBxdWVyeSB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvcHRpb25hbCBhcnJheSBvZiB2YWx1ZXMgKHByaW1pdGl2ZXMsIFR5cGVkUXVlcnlQYXJhbWV0ZXIgb3IgTmFtZWRRdWVyeVBhcmFtZXRlciBvYmplY3RzKSB0byByZXBsYWNlICc/JyBvciA6cGFyYW1OYW1lIHBsYWNlaG9sZGVycy5cbiAgICogQHBhcmFtIGRhdGFzb3VyY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIHRvIHVzZSAob3B0aW9uYWwpLlxuICAgKiBAcGFyYW0gZm9ybWF0dGluZyBPcHRpb25hbCBmb3JtYXR0aW5nIHBhcmFtZXRlcnMgZm9yIHRoZSByZXN1bHQgc2V0IChlLmcuLCBkYXRlIGZvcm1hdCkuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlY29yZHMgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSByZXN1bHRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBleGVjdXRlKFxuICAgIHNxbDogc3RyaW5nLFxuICAgIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBUeXBlZFF1ZXJ5UGFyYW1ldGVyIHwgTmFtZWRRdWVyeVBhcmFtZXRlcilbXSB8IHN0cmluZyxcbiAgICBkYXRhc291cmNlTmFtZT86IHN0cmluZyxcbiAgICBmb3JtYXR0aW5nPzogRm9ybWF0dGluZ1BhcmFtZXRlcixcbiAgKTogYW55W10ge1xuICAgIGNvbnN0IGZvcm1hdHRpbmdKc29uID0gZm9ybWF0dGluZyA/IEpTT04uc3RyaW5naWZ5KGZvcm1hdHRpbmcpIDogdW5kZWZpbmVkO1xuXG4gICAgbGV0IGFycjogYW55W10gPSBbXTtcblxuICAgIGlmIChwYXJhbWV0ZXJzID09IG51bGwpIHtcbiAgICAgIGFyciA9IFtdO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtZXRlcnMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcGFyYW1ldGVyIHN0cmluZyBtdXN0IHJlcHJlc2VudCBhIEpTT04gYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICAgICAgYXJyID0gcGFyc2VkO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1ldGVycykpIHtcbiAgICAgIGFyciA9IHBhcmFtZXRlcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhcmFtZXRlcnMgbXVzdCBiZSBlaXRoZXIgYW4gYXJyYXkgb3IgYSBKU09OIHN0cmluZ1wiKTtcbiAgICB9XG5cbiAgICBpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3QgcmVzdWx0c2V0ID0gRGF0YWJhc2VGYWNhZGUucXVlcnkoc3FsLCBudWxsLCBkYXRhc291cmNlTmFtZSwgZm9ybWF0dGluZ0pzb24pO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0c2V0KTtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdCA9IGFyclswXTtcblxuICAgIC8vIE5hbWVkUXVlcnlQYXJhbWV0ZXIgKGhhcyBuYW1lICsgdHlwZSlcbiAgICBpZiAoZmlyc3QgJiYgdHlwZW9mIGZpcnN0ID09PSBcIm9iamVjdFwiICYmIFwibmFtZVwiIGluIGZpcnN0ICYmIFwidHlwZVwiIGluIGZpcnN0KSB7XG4gICAgICBjb25zdCByZXN1bHRzZXQgPSBEYXRhYmFzZUZhY2FkZS5xdWVyeU5hbWVkKFxuICAgICAgICBzcWwsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KGFyciksXG4gICAgICAgIGRhdGFzb3VyY2VOYW1lXG4gICAgICApO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0c2V0KTtcbiAgICB9XG5cbiAgICAvLyBUeXBlZFF1ZXJ5UGFyYW1ldGVyIChoYXMgdHlwZSwgbm8gbmFtZSlcbiAgICBpZiAoZmlyc3QgJiYgdHlwZW9mIGZpcnN0ID09PSBcIm9iamVjdFwiICYmIFwidHlwZVwiIGluIGZpcnN0ICYmICEoXCJuYW1lXCIgaW4gZmlyc3QpKSB7XG4gICAgICBjb25zdCByZXN1bHRzZXQgPSBEYXRhYmFzZUZhY2FkZS5xdWVyeShcbiAgICAgICAgc3FsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShhcnIpLFxuICAgICAgICBkYXRhc291cmNlTmFtZSxcbiAgICAgICAgZm9ybWF0dGluZ0pzb25cbiAgICAgICk7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRzZXQpO1xuICAgIH1cblxuICAgIC8vIFByaW1pdGl2ZSBhcnJheVxuICAgIGlmIChcbiAgICAgIGFyci5ldmVyeShcbiAgICAgICAgKHYpID0+XG4gICAgICAgICAgdHlwZW9mIHYgPT09IFwic3RyaW5nXCIgfHxcbiAgICAgICAgICB0eXBlb2YgdiA9PT0gXCJudW1iZXJcIiB8fFxuICAgICAgICAgIHR5cGVvZiB2ID09PSBcImJvb2xlYW5cIiB8fFxuICAgICAgICAgIHYgaW5zdGFuY2VvZiBEYXRlIHx8XG5cdFx0ICBBcnJheS5pc0FycmF5KHYpXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zdCByZXN1bHRzZXQgPSBEYXRhYmFzZUZhY2FkZS5xdWVyeShcbiAgICAgICAgc3FsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShhcnIpLFxuICAgICAgICBkYXRhc291cmNlTmFtZSxcbiAgICAgICAgZm9ybWF0dGluZ0pzb25cbiAgICAgICk7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRzZXQpO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIHBhcmFtZXRlciBmb3JtYXQ6IFwiICsgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykpO1xuICB9XG5cblxuICAvKipcbiAgICogRXhlY3V0ZXMgYSBTUUwgcXVlcnkgd2l0aCBuYW1lZCBwYXJhbWV0ZXJzIChlLmcuLCBcIjpuYW1lXCIsIFwiOmlkXCIpLlxuICAgKlxuICAgKiBAcGFyYW0gc3FsIFRoZSBTUUwgcXVlcnkgdG8gZXhlY3V0ZS5cbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgQW4gb3B0aW9uYWwgYXJyYXkgb2YgTmFtZWRRdWVyeVBhcmFtZXRlciBvYmplY3RzLlxuICAgKiBAcGFyYW0gZGF0YXNvdXJjZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gdG8gdXNlIChvcHRpb25hbCkuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlY29yZHMgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSByZXN1bHRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBleGVjdXRlTmFtZWQoXG4gICAgc3FsOiBzdHJpbmcsXG4gICAgcGFyYW1ldGVycz86IE5hbWVkUXVlcnlQYXJhbWV0ZXJbXSxcbiAgICBkYXRhc291cmNlTmFtZT86IHN0cmluZyxcbiAgKTogYW55W10ge1xuICAgIC8vIFNlcmlhbGl6ZSB0aGUgYXJyYXkgb2YgbmFtZWQgcGFyYW1ldGVycyBmb3IgdGhlIEphdmEgZmFjYWRlXG4gICAgY29uc3QgcGFyYW1zSnNvbiA9IHBhcmFtZXRlcnMgPyBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSA6IHVuZGVmaW5lZDtcblxuICAgIC8vIFRoZSBEYXRhYmFzZUZhY2FkZSByZXR1cm5zIGEgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlc3VsdCBzZXRcbiAgICBjb25zdCByZXN1bHRzZXQgPSBEYXRhYmFzZUZhY2FkZS5xdWVyeU5hbWVkKFxuICAgICAgc3FsLFxuICAgICAgcGFyYW1zSnNvbixcbiAgICAgIGRhdGFzb3VyY2VOYW1lLFxuICAgICk7XG5cbiAgICAvLyBQYXJzZSB0aGUgSlNPTiBzdHJpbmcgYmFjayBpbnRvIGEgSmF2YVNjcmlwdCBhcnJheSBvZiBvYmplY3RzXG4gICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0c2V0KTtcbiAgfVxuICBcbiAgLyoqXG4gICAgICogRXhwb3J0cyBhIFNRTCBxdWVyeSB3aXRoIG5hbWVkIHBhcmFtZXRlcnMgKGUuZy4sIFwiOm5hbWVcIiwgXCI6aWRcIikuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3FsIFRoZSBTUUwgcXVlcnkgdG8gZXhlY3V0ZS5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvcHRpb25hbCBhcnJheSBvZiBOYW1lZFF1ZXJ5UGFyYW1ldGVyIG9iamVjdHMuXG4gICAgICogQHBhcmFtIGRhdGFzb3VyY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIHRvIHVzZSAob3B0aW9uYWwpLlxuXHQgKiBAcGFyYW0gZmlsZU5hbWUgVGhlIGZpbGUgbmFtZSBwYXR0ZXJuLlxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlY29yZHMgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSByZXN1bHRzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXhwb3J0Q3N2KFxuICAgICAgc3FsOiBzdHJpbmcsXG5cdCAgcGFyYW1ldGVycz86IE5hbWVkUXVlcnlQYXJhbWV0ZXJbXSxcbiAgICAgIGRhdGFzb3VyY2VOYW1lPzogc3RyaW5nLFxuXHQgIGZpbGVOYW1lPzogc3RyaW5nXG4gICAgKSB7XG5cdFx0Ly8gU2VyaWFsaXplIHRoZSBhcnJheSBvZiBuYW1lZCBwYXJhbWV0ZXJzIGZvciB0aGUgSmF2YSBmYWNhZGVcblx0XHRjb25zdCBwYXJhbXNKc29uID0gcGFyYW1ldGVycyA/IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpIDogdW5kZWZpbmVkO1xuXHRcdFx0XG5cdCAgICBEYXRhYmFzZUZhY2FkZS5leHBvcnRUb0Nzdihcblx0ICAgICAgICBzcWwsXG5cdFx0XHRwYXJhbXNKc29uLFxuXHQgICAgICAgIGRhdGFzb3VyY2VOYW1lLFxuXHRcdFx0ZmlsZU5hbWVcblx0ICAgICAgKTtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbW9kdWxlLmV4cG9ydHMgPSBRdWVyeTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZCQSxNQUFNLGlCQUFpQixLQUFLO0FBQUEsRUFDMUI7QUFDRjtBQTZCTyxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVqQixPQUFjLFFBQ1osS0FDQSxZQUNBLGdCQUNBLFlBQ087QUFDUCxVQUFNLGlCQUFpQixhQUFhLEtBQUssVUFBVSxVQUFVLElBQUk7QUFFakUsUUFBSSxNQUFhLENBQUM7QUFFbEIsUUFBSSxjQUFjLE1BQU07QUFDdEIsWUFBTSxDQUFDO0FBQUEsSUFDVCxXQUFXLE9BQU8sZUFBZSxVQUFVO0FBQ3pDLFVBQUk7QUFDRixjQUFNLFNBQVMsS0FBSyxNQUFNLFVBQVU7QUFDcEMsWUFBSSxDQUFDLE1BQU0sUUFBUSxNQUFNLEdBQUc7QUFDMUIsZ0JBQU0sSUFBSSxNQUFNLG9EQUFvRDtBQUFBLFFBQ3RFO0FBQ0EsY0FBTTtBQUFBLE1BQ1IsU0FBUyxHQUFHO0FBQ1YsY0FBTSxJQUFJLE1BQU0sOEJBQThCLENBQUM7QUFBQSxNQUNqRDtBQUFBLElBQ0YsV0FBVyxNQUFNLFFBQVEsVUFBVSxHQUFHO0FBQ3BDLFlBQU07QUFBQSxJQUNSLE9BQU87QUFDTCxZQUFNLElBQUksTUFBTSxxREFBcUQ7QUFBQSxJQUN2RTtBQUVBLFFBQUksSUFBSSxXQUFXLEdBQUc7QUFDcEIsWUFBTSxZQUFZLGVBQWUsTUFBTSxLQUFLLE1BQU0sZ0JBQWdCLGNBQWM7QUFDaEYsYUFBTyxLQUFLLE1BQU0sU0FBUztBQUFBLElBQzdCO0FBRUEsVUFBTSxRQUFRLElBQUksQ0FBQztBQUduQixRQUFJLFNBQVMsT0FBTyxVQUFVLFlBQVksVUFBVSxTQUFTLFVBQVUsT0FBTztBQUM1RSxZQUFNLFlBQVksZUFBZTtBQUFBLFFBQy9CO0FBQUEsUUFDQSxLQUFLLFVBQVUsR0FBRztBQUFBLFFBQ2xCO0FBQUEsTUFDRjtBQUNBLGFBQU8sS0FBSyxNQUFNLFNBQVM7QUFBQSxJQUM3QjtBQUdBLFFBQUksU0FBUyxPQUFPLFVBQVUsWUFBWSxVQUFVLFNBQVMsRUFBRSxVQUFVLFFBQVE7QUFDL0UsWUFBTSxZQUFZLGVBQWU7QUFBQSxRQUMvQjtBQUFBLFFBQ0EsS0FBSyxVQUFVLEdBQUc7QUFBQSxRQUNsQjtBQUFBLFFBQ0E7QUFBQSxNQUNGO0FBQ0EsYUFBTyxLQUFLLE1BQU0sU0FBUztBQUFBLElBQzdCO0FBR0EsUUFDRSxJQUFJO0FBQUEsTUFDRixDQUFDLE1BQ0MsT0FBTyxNQUFNLFlBQ2IsT0FBTyxNQUFNLFlBQ2IsT0FBTyxNQUFNLGFBQ2IsYUFBYSxRQUNuQixNQUFNLFFBQVEsQ0FBQztBQUFBLElBQ2IsR0FDQTtBQUNBLFlBQU0sWUFBWSxlQUFlO0FBQUEsUUFDL0I7QUFBQSxRQUNBLEtBQUssVUFBVSxHQUFHO0FBQUEsUUFDbEI7QUFBQSxRQUNBO0FBQUEsTUFDRjtBQUNBLGFBQU8sS0FBSyxNQUFNLFNBQVM7QUFBQSxJQUM3QjtBQUVBLFVBQU0sSUFBSSxNQUFNLG1DQUFtQyxLQUFLLFVBQVUsVUFBVSxDQUFDO0FBQUEsRUFDL0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXQSxPQUFjLGFBQ1osS0FDQSxZQUNBLGdCQUNPO0FBRVAsVUFBTSxhQUFhLGFBQWEsS0FBSyxVQUFVLFVBQVUsSUFBSTtBQUc3RCxVQUFNLFlBQVksZUFBZTtBQUFBLE1BQy9CO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUNGO0FBR0EsV0FBTyxLQUFLLE1BQU0sU0FBUztBQUFBLEVBQzdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXRSxPQUFjLFVBQ1osS0FDSCxZQUNHLGdCQUNILFVBQ0c7QUFFSixVQUFNLGFBQWEsYUFBYSxLQUFLLFVBQVUsVUFBVSxJQUFJO0FBRTFELG1CQUFlO0FBQUEsTUFDWDtBQUFBLE1BQ047QUFBQSxNQUNNO0FBQUEsTUFDTjtBQUFBLElBQ0k7QUFBQSxFQUNIO0FBQ0o7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWpDLFNBQU8sVUFBVTtBQUNuQjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3F1ZXJ5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZGIvcXVlcnlcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9kYlxuICogQG5hbWUgUXVlcnlcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBRdWVyeWAgY2xhc3MgZm9yIGV4ZWN1dGluZyBwYXJhbWV0ZXJpemVkIFNRTCBTRUxFQ1Qgc3RhdGVtZW50cyBhZ2FpbnN0IGEgZGF0YWJhc2UgaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBRdWVyeWAgY2xhc3Mgc3VwcG9ydHMgYm90aCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgKHVzaW5nICc/JyBwbGFjZWhvbGRlcnMpIGFuZCBuYW1lZCBwYXJhbWV0ZXJzICh1c2luZyAnOnBhcmFtTmFtZScgcGxhY2Vob2xkZXJzKSwgYWxsb3dpbmcgZm9yIGZsZXhpYmxlIHF1ZXJ5IGNvbnN0cnVjdGlvbiBhbmQgZXhlY3V0aW9uLiBJdCBhbHNvIGluY2x1ZGVzIG9wdGlvbnMgZm9yIGZvcm1hdHRpbmcgdGhlIHJlc3VsdCBzZXQsIHN1Y2ggYXMgc3BlY2lmeWluZyBkYXRlIGZvcm1hdHMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipQYXJhbWV0ZXJpemVkIFF1ZXJpZXMqKjogU3VwcG9ydHMgYm90aCBwb3NpdGlvbmFsIGFuZCBuYW1lZCBwYXJhbWV0ZXJzIGZvciBzZWN1cmUgYW5kIGVmZmljaWVudCBxdWVyeSBleGVjdXRpb24uXG4gKiAtICoqUmVzdWx0IEZvcm1hdHRpbmcqKjogQWxsb3dzIGZvciBjdXN0b20gZm9ybWF0dGluZyBvZiBxdWVyeSByZXN1bHRzLCBpbmNsdWRpbmcgZGF0ZSBmb3JtYXR0aW5nIG9wdGlvbnMuXG4gKiAtICoqSlNPTiBJbnB1dCBTdXBwb3J0Kio6IEFjY2VwdHMgcGFyYW1ldGVycyBhcyBKU09OIHN0cmluZ3Mgb3IgSmF2YVNjcmlwdCBhcnJheXMsIHByb3ZpZGluZyBmbGV4aWJpbGl0eSBpbiBob3cgcGFyYW1ldGVycyBhcmUgcGFzc2VkIHRvIHRoZSBxdWVyeS5cbiAqIC0gKipFcnJvciBIYW5kbGluZyoqOiBQcm92aWRlcyByb2J1c3QgZXJyb3IgaGFuZGxpbmcgZm9yIGludmFsaWQgcGFyYW1ldGVyIGZvcm1hdHMgYW5kIEpTT04gcGFyc2luZyBpc3N1ZXMuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXNcbiAqIC0gRXhlY3V0aW5nIGNvbXBsZXggU1FMIHF1ZXJpZXMgd2l0aCBkeW5hbWljIHBhcmFtZXRlcnMgaW4gYSBzZWN1cmUgbWFubmVyIHRvIHByZXZlbnQgU1FMIGluamVjdGlvbi5cbiAqIC0gRm9ybWF0dGluZyBxdWVyeSByZXN1bHRzIGFjY29yZGluZyB0byBzcGVjaWZpYyByZXF1aXJlbWVudHMsIHN1Y2ggYXMgZGF0ZSBmb3JtYXRzIG9yIGN1c3RvbSBkYXRhIHRyYW5zZm9ybWF0aW9ucy5cbiAqIC0gSW50ZWdyYXRpbmcgd2l0aCBvdGhlciBtb2R1bGVzIHRoYXQgZ2VuZXJhdGUgcGFyYW1ldGVycyBpbiBKU09OIGZvcm1hdCwgZW5hYmxpbmcgc2VhbWxlc3MgZGF0YSBmbG93IHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2RiXCI7XG4gKiBcbiAqIC8vIFBvc2l0aW9uYWwgcGFyYW1ldGVycyBleGFtcGxlXG4gKiBjb25zdCByZXN1bHQxID0gUXVlcnkuZXhlY3V0ZShcIlNFTEVDVCAqIEZST00gVXNlcnMgV0hFUkUgYWdlID4gP1wiLCBbMzBdKTtcbiAqIGNvbnNvbGUubG9nKHJlc3VsdDEpOyAvLyBPdXRwdXQ6IFt7IGlkOiAxLCBuYW1lOiBcIkFsaWNlXCIsIGFnZTogMzUgfSwgeyBpZDogMiwgbmFtZTogXCJCb2JcIiwgYWdlOiA0MCB9XVxuICogYGBgXG4gKi9cblxuY29uc3QgRGF0YWJhc2VGYWNhZGUgPSBKYXZhLnR5cGUoXG4gIFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmRiLkRhdGFiYXNlRmFjYWRlXCIsXG4pO1xuXG4vKipcbiAqIEludGVyZmFjZSB1c2VkIHRvIHdyYXAgY29tcGxleCBvciBzcGVjaWZpYyB2YWx1ZXMgZm9yIG5vbi1uYW1lZCBxdWVyaWVzLlxuICovXG5leHBvcnQgdHlwZSBUeXBlZFF1ZXJ5UGFyYW1ldGVyID0ge1xuICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZhbHVlOiB1bmtub3duO1xufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgYSBwYXJhbWV0ZXIgZm9yIGEgbmFtZWQgcXVlcnkgKHVzaW5nIHBsYWNlaG9sZGVycyBsaWtlIDpwYXJhbU5hbWUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVkUXVlcnlQYXJhbWV0ZXIge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWU6IGFueTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgdG8gc3BlY2lmeSBmb3JtYXR0aW5nIG9wdGlvbnMgZm9yIHRoZSBxdWVyeSByZXN1bHQgc2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRpbmdQYXJhbWV0ZXIge1xuICByZWFkb25seSBkYXRlRm9ybWF0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgZm9yIGV4ZWN1dGluZyBwYXJhbWV0ZXJpemVkIFNRTCBTRUxFQ1Qgc3RhdGVtZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFF1ZXJ5IHtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgc3RhbmRhcmQgU1FMIHF1ZXJ5IHdpdGggcG9zaXRpb25hbCBwYXJhbWV0ZXJzLiBQYXJhbWV0ZXJzIGFycmF5IHN1cHBvcnRzIHByaW1pdGl2ZXMgZS5nLiBgWzEsICdKb2huJywgMzQuNTZdYCBvciBvYmplY3RzIGluIGZvcm1hdCBlaXRoZXIgYHsndHlwZSc6J1tEQVRBX1RZUEVdJywgJ3ZhbHVlJzpbVkFMVUVdfWAgb3IgYHsnbmFtZSc6J1tzdHJpbmddJywgJ3R5cGUnOidbREFUQV9UWVBFXScsICd2YWx1ZSc6W1ZBTFVFXX1gIGUuZy4gYFt7J3R5cGUnOidDSEFSJywgJ3ZhbHVlJzonSVNCTjE5MjAyMzIzMzIyJ31dYCBvciBgW3snbmFtZSc6ICdvcmRlcl9udW1iZXInLCAndHlwZSc6J0NIQVInLCAndmFsdWUnOidJU0JOMTkyMDIzMjMzMjInfV1gXG4gICAqXG4gICAqIEBwYXJhbSBzcWwgVGhlIFNRTCBxdWVyeSB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvcHRpb25hbCBhcnJheSBvZiB2YWx1ZXMgKHByaW1pdGl2ZXMsIFR5cGVkUXVlcnlQYXJhbWV0ZXIgb3IgTmFtZWRRdWVyeVBhcmFtZXRlciBvYmplY3RzKSB0byByZXBsYWNlICc/JyBvciA6cGFyYW1OYW1lIHBsYWNlaG9sZGVycy5cbiAgICogQHBhcmFtIGRhdGFzb3VyY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIHRvIHVzZSAob3B0aW9uYWwpLlxuICAgKiBAcGFyYW0gZm9ybWF0dGluZyBPcHRpb25hbCBmb3JtYXR0aW5nIHBhcmFtZXRlcnMgZm9yIHRoZSByZXN1bHQgc2V0IChlLmcuLCBkYXRlIGZvcm1hdCkuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlY29yZHMgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSByZXN1bHRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBleGVjdXRlKFxuICAgIHNxbDogc3RyaW5nLFxuICAgIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBudWxsIHwgVHlwZWRRdWVyeVBhcmFtZXRlciB8IE5hbWVkUXVlcnlQYXJhbWV0ZXIpW10gfCBzdHJpbmcsXG4gICAgZGF0YXNvdXJjZU5hbWU/OiBzdHJpbmcsXG4gICAgZm9ybWF0dGluZz86IEZvcm1hdHRpbmdQYXJhbWV0ZXIsXG4gICk6IGFueVtdIHtcbiAgICBjb25zdCBmb3JtYXR0aW5nSnNvbiA9IGZvcm1hdHRpbmcgPyBKU09OLnN0cmluZ2lmeShmb3JtYXR0aW5nKSA6IHVuZGVmaW5lZDtcblxuICAgIGxldCBhcnI6IGFueVtdID0gW107XG5cbiAgICBpZiAocGFyYW1ldGVycyA9PSBudWxsKSB7XG4gICAgICBhcnIgPSBbXTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJhbWV0ZXJzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHBhcmFtZXRlcnMpO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocGFyc2VkKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIklucHV0IHBhcmFtZXRlciBzdHJpbmcgbXVzdCByZXByZXNlbnQgYSBKU09OIGFycmF5XCIpO1xuICAgICAgICB9XG4gICAgICAgIGFyciA9IHBhcnNlZDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBKU09OIHBhcmFtZXRlcnM6IFwiICsgZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHBhcmFtZXRlcnMpKSB7XG4gICAgICBhcnIgPSBwYXJhbWV0ZXJzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXJhbWV0ZXJzIG11c3QgYmUgZWl0aGVyIGFuIGFycmF5IG9yIGEgSlNPTiBzdHJpbmdcIik7XG4gICAgfVxuXG4gICAgaWYgKGFyci5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHJlc3VsdHNldCA9IERhdGFiYXNlRmFjYWRlLnF1ZXJ5KHNxbCwgbnVsbCwgZGF0YXNvdXJjZU5hbWUsIGZvcm1hdHRpbmdKc29uKTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdHNldCk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3QgPSBhcnJbMF07XG5cbiAgICAvLyBOYW1lZFF1ZXJ5UGFyYW1ldGVyIChoYXMgbmFtZSArIHR5cGUpXG4gICAgaWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcIm5hbWVcIiBpbiBmaXJzdCAmJiBcInR5cGVcIiBpbiBmaXJzdCkge1xuICAgICAgY29uc3QgcmVzdWx0c2V0ID0gRGF0YWJhc2VGYWNhZGUucXVlcnlOYW1lZChcbiAgICAgICAgc3FsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShhcnIpLFxuICAgICAgICBkYXRhc291cmNlTmFtZVxuICAgICAgKTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdHNldCk7XG4gICAgfVxuXG4gICAgLy8gVHlwZWRRdWVyeVBhcmFtZXRlciAoaGFzIHR5cGUsIG5vIG5hbWUpXG4gICAgaWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcInR5cGVcIiBpbiBmaXJzdCAmJiAhKFwibmFtZVwiIGluIGZpcnN0KSkge1xuICAgICAgY29uc3QgcmVzdWx0c2V0ID0gRGF0YWJhc2VGYWNhZGUucXVlcnkoXG4gICAgICAgIHNxbCxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoYXJyKSxcbiAgICAgICAgZGF0YXNvdXJjZU5hbWUsXG4gICAgICAgIGZvcm1hdHRpbmdKc29uXG4gICAgICApO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0c2V0KTtcbiAgICB9XG5cbiAgICAvLyBQcmltaXRpdmUgYXJyYXk7IG51bGwvdW5kZWZpbmVkIGFyZSB2YWxpZCB2YWx1ZXMgLSB0aGV5IGJpbmQgYXMgU1FMIE5VTExcbiAgICBpZiAoXG4gICAgICBhcnIuZXZlcnkoXG4gICAgICAgICh2KSA9PlxuICAgICAgICAgIHYgPT09IG51bGwgfHxcbiAgICAgICAgICB2ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICB0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIiB8fFxuICAgICAgICAgIHR5cGVvZiB2ID09PSBcIm51bWJlclwiIHx8XG4gICAgICAgICAgdHlwZW9mIHYgPT09IFwiYm9vbGVhblwiIHx8XG4gICAgICAgICAgdiBpbnN0YW5jZW9mIERhdGUgfHxcblx0XHQgIEFycmF5LmlzQXJyYXkodilcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IHJlc3VsdHNldCA9IERhdGFiYXNlRmFjYWRlLnF1ZXJ5KFxuICAgICAgICBzcWwsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KGFyciksXG4gICAgICAgIGRhdGFzb3VyY2VOYW1lLFxuICAgICAgICBmb3JtYXR0aW5nSnNvblxuICAgICAgKTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdHNldCk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgcGFyYW1ldGVyIGZvcm1hdDogXCIgKyBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhIFNRTCBxdWVyeSB3aXRoIG5hbWVkIHBhcmFtZXRlcnMgKGUuZy4sIFwiOm5hbWVcIiwgXCI6aWRcIikuXG4gICAqXG4gICAqIEBwYXJhbSBzcWwgVGhlIFNRTCBxdWVyeSB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvcHRpb25hbCBhcnJheSBvZiBOYW1lZFF1ZXJ5UGFyYW1ldGVyIG9iamVjdHMuXG4gICAqIEBwYXJhbSBkYXRhc291cmNlTmFtZSBUaGUgbmFtZSBvZiB0aGUgZGF0YWJhc2UgY29ubmVjdGlvbiB0byB1c2UgKG9wdGlvbmFsKS5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcmVjb3JkcyByZXByZXNlbnRpbmcgdGhlIHF1ZXJ5IHJlc3VsdHMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGV4ZWN1dGVOYW1lZChcbiAgICBzcWw6IHN0cmluZyxcbiAgICBwYXJhbWV0ZXJzPzogTmFtZWRRdWVyeVBhcmFtZXRlcltdLFxuICAgIGRhdGFzb3VyY2VOYW1lPzogc3RyaW5nLFxuICApOiBhbnlbXSB7XG4gICAgLy8gU2VyaWFsaXplIHRoZSBhcnJheSBvZiBuYW1lZCBwYXJhbWV0ZXJzIGZvciB0aGUgSmF2YSBmYWNhZGVcbiAgICBjb25zdCBwYXJhbXNKc29uID0gcGFyYW1ldGVycyA/IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpIDogdW5kZWZpbmVkO1xuXG4gICAgLy8gVGhlIERhdGFiYXNlRmFjYWRlIHJldHVybnMgYSBKU09OIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVzdWx0IHNldFxuICAgIGNvbnN0IHJlc3VsdHNldCA9IERhdGFiYXNlRmFjYWRlLnF1ZXJ5TmFtZWQoXG4gICAgICBzcWwsXG4gICAgICBwYXJhbXNKc29uLFxuICAgICAgZGF0YXNvdXJjZU5hbWUsXG4gICAgKTtcblxuICAgIC8vIFBhcnNlIHRoZSBKU09OIHN0cmluZyBiYWNrIGludG8gYSBKYXZhU2NyaXB0IGFycmF5IG9mIG9iamVjdHNcbiAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRzZXQpO1xuICB9XG4gIFxuICAvKipcbiAgICAgKiBFeHBvcnRzIGEgU1FMIHF1ZXJ5IHdpdGggbmFtZWQgcGFyYW1ldGVycyAoZS5nLiwgXCI6bmFtZVwiLCBcIjppZFwiKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzcWwgVGhlIFNRTCBxdWVyeSB0byBleGVjdXRlLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9wdGlvbmFsIGFycmF5IG9mIE5hbWVkUXVlcnlQYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKiBAcGFyYW0gZGF0YXNvdXJjZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gdG8gdXNlIChvcHRpb25hbCkuXG5cdCAqIEBwYXJhbSBmaWxlTmFtZSBUaGUgZmlsZSBuYW1lIHBhdHRlcm4uXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcmVjb3JkcyByZXByZXNlbnRpbmcgdGhlIHF1ZXJ5IHJlc3VsdHMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBleHBvcnRDc3YoXG4gICAgICBzcWw6IHN0cmluZyxcblx0ICBwYXJhbWV0ZXJzPzogTmFtZWRRdWVyeVBhcmFtZXRlcltdLFxuICAgICAgZGF0YXNvdXJjZU5hbWU/OiBzdHJpbmcsXG5cdCAgZmlsZU5hbWU/OiBzdHJpbmdcbiAgICApIHtcblx0XHQvLyBTZXJpYWxpemUgdGhlIGFycmF5IG9mIG5hbWVkIHBhcmFtZXRlcnMgZm9yIHRoZSBKYXZhIGZhY2FkZVxuXHRcdGNvbnN0IHBhcmFtc0pzb24gPSBwYXJhbWV0ZXJzID8gSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykgOiB1bmRlZmluZWQ7XG5cdFx0XHRcblx0ICAgIERhdGFiYXNlRmFjYWRlLmV4cG9ydFRvQ3N2KFxuXHQgICAgICAgIHNxbCxcblx0XHRcdHBhcmFtc0pzb24sXG5cdCAgICAgICAgZGF0YXNvdXJjZU5hbWUsXG5cdFx0XHRmaWxlTmFtZVxuXHQgICAgICApO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtb2R1bGUuZXhwb3J0cyA9IFF1ZXJ5O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkJBLE1BQU0saUJBQWlCLEtBQUs7QUFBQSxFQUMxQjtBQUNGO0FBNkJPLE1BQU0sTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVWpCLE9BQWMsUUFDWixLQUNBLFlBQ0EsZ0JBQ0EsWUFDTztBQUNQLFVBQU0saUJBQWlCLGFBQWEsS0FBSyxVQUFVLFVBQVUsSUFBSTtBQUVqRSxRQUFJLE1BQWEsQ0FBQztBQUVsQixRQUFJ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
|
package/dist/cjs/db/store.js
CHANGED
|
@@ -160,7 +160,7 @@ class Store {
|
|
|
160
160
|
return Store.parseResult(result);
|
|
161
161
|
}
|
|
162
162
|
if (arr.every(
|
|
163
|
-
(v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
163
|
+
(v) => v === null || v === void 0 || typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
164
164
|
)) {
|
|
165
165
|
const result = DataStoreFacade.query(query, JSON.stringify(arr), limit, offset);
|
|
166
166
|
return Store.parseResult(result);
|
|
@@ -205,7 +205,7 @@ class Store {
|
|
|
205
205
|
return Store.parseResult(result);
|
|
206
206
|
}
|
|
207
207
|
if (arr.every(
|
|
208
|
-
(v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
208
|
+
(v) => v === null || v === void 0 || typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
209
209
|
)) {
|
|
210
210
|
const result = DataStoreFacade.queryNative(query, JSON.stringify(arr), limit, offset);
|
|
211
211
|
return Store.parseResult(result);
|
|
@@ -254,4 +254,4 @@ class Store {
|
|
|
254
254
|
if (typeof module !== "undefined") {
|
|
255
255
|
module.exports = Store;
|
|
256
256
|
}
|
|
257
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3N0b3JlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZGIvc3RvcmVcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9kYlxuICogQG5hbWUgU3RvcmVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBTdG9yZWAgY2xhc3MgdGhhdCBzZXJ2ZXMgYXMgYSBmYWNhZGUgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVuZGVybHlpbmcgRGlyaWdpYmxlIERhdGEgU3RvcmUuIFRoZSBgU3RvcmVgIGNsYXNzIG9mZmVycyBtZXRob2RzIGZvciBwZXJmb3JtaW5nIENSVUQgb3BlcmF0aW9ucywgZXhlY3V0aW5nIHBhcmFtZXRlcml6ZWQgcXVlcmllcywgYW5kIHJldHJpZXZpbmcgbWV0YWRhdGEgYWJvdXQgZW50aXRpZXMuIEl0IGFic3RyYWN0cyBhd2F5IHRoZSBjb21wbGV4aXRpZXMgb2YgSlNPTiBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gd2hlbiBjb21tdW5pY2F0aW5nIHdpdGggdGhlIG5hdGl2ZSBKYXZhIGZhY2FkZSwgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byB3b3JrIHdpdGggcGxhaW4gSmF2YVNjcmlwdCBvYmplY3RzIGFuZCBhcnJheXMgc2VhbWxlc3NseS5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogLSBDUlVEIE9wZXJhdGlvbnM6IENyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQgZGVsZXRlIGVudHJpZXMgaW4gdGhlIGRhdGEgc3RvcmUgdXNpbmcgc2ltcGxlIG1ldGhvZHMuXG4gKiAtIFF1ZXJ5IEV4ZWN1dGlvbjogRXhlY3V0ZSBwYXJhbWV0ZXJpemVkIHF1ZXJpZXMgd2l0aCBzdXBwb3J0IGZvciBib3RoIHByaW1pdGl2ZSBhbmQgY29tcGxleCBwYXJhbWV0ZXJzLlxuICogLSBNZXRhZGF0YSBSZXRyaWV2YWw6IEFjY2VzcyBtZXRhZGF0YSBhYm91dCBlbnRpdGllcywgc3VjaCBhcyB0YWJsZSBuYW1lcyBhbmQgSUQgZmllbGRzLlxuICogLSBKU09OIEhhbmRsaW5nOiBBdXRvbWF0aWNhbGx5IGhhbmRsZXMgSlNPTiBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gb2YgSmF2YVNjcmlwdCBvYmplY3RzIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmF0aXZlIEphdmEgQVBJcy5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBNYW5hZ2luZyBhcHBsaWNhdGlvbiBkYXRhIGluIGEgc3RydWN0dXJlZCB3YXkgdXNpbmcgdGhlIGRhdGEgc3RvcmUuXG4gKiAtIEV4ZWN1dGluZyBjb21wbGV4IHF1ZXJpZXMgd2l0aCBkeW5hbWljIHBhcmFtZXRlcnMgdG8gcmV0cmlldmUgc3BlY2lmaWMgc3Vic2V0cyBvZiBkYXRhLlxuICogLSBBYnN0cmFjdGluZyBhd2F5IGRhdGFiYXNlIGludGVyYWN0aW9ucyB0byBhbGxvdyBmb3IgZWFzaWVyIG1haW50ZW5hbmNlIGFuZCBwb3RlbnRpYWwgZnV0dXJlIGNoYW5nZXMgdG8gdGhlIHVuZGVybHlpbmcgZGF0YSBzdG9yYWdlIG1lY2hhbmlzbS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTdG9yZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvZGJcIjtcbiAqIFxuICogLy8gU2F2ZSBhIG5ldyBlbnRyeSB0byB0aGUgXCJ1c2Vyc1wiIGVudGl0eVxuICogY29uc3QgdXNlcklkID0gU3RvcmUuc2F2ZShcInVzZXJzXCIsIHsgbmFtZTogXCJBbGljZVwiLCBlbWFpbDogXCJhbGljZUBleGFtcGxlLmNvbVwiIH0pO1xuICogYGBgXG4gKi9cblxuY29uc3QgRGF0YVN0b3JlRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmRiLkRhdGFTdG9yZUZhY2FkZVwiKTtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBhdmFpbGFibGUgY29tcGFyaXNvbiBvcGVyYXRvcnMgZm9yIHF1ZXJ5IGNvbmRpdGlvbnMuXG4gKi9cbmV4cG9ydCBlbnVtIE9wZXJhdG9yIHtcblx0RVEgPSBcIj1cIiwgLy8gRXF1YWxzXG5cdE5FID0gXCI8PlwiLCAvLyBOb3QgRXF1YWxzXG5cdEdUID0gXCI+XCIsIC8vIEdyZWF0ZXIgVGhhblxuXHRMVCA9IFwiPFwiLCAvLyBMZXNzIFRoYW5cblx0R0UgPSBcIj49XCIsIC8vIEdyZWF0ZXIgVGhhbiBvciBFcXVhbHNcblx0TEUgPSBcIjw9XCIsIC8vIExlc3MgVGhhbiBvciBFcXVhbHNcblx0TElLRSA9IFwiTElLRVwiLCAvLyBTUUwgTElLRSBvcGVyYXRvclxuXHRCRVRXRUVOID0gXCJCRVRXRUVOXCIsIC8vIFNRTCBCRVRXRUVOIG9wZXJhdG9yIChyZXF1aXJlcyB0d28gdmFsdWVzKVxuXHRJTiA9IFwiSU5cIiAvLyBTUUwgSU4gb3BlcmF0b3IgKHJlcXVpcmVzIGEgTGlzdCBvciBBcnJheSBvZiB2YWx1ZXMpXG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZGlyZWN0aW9uIGZvciBzb3J0aW5nLlxuICovXG5leHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuXHRBU0MgPSBcIkFTQ1wiLCAvLyBBc2NlbmRpbmdcblx0REVTQyA9IFwiREVTQ1wiIC8vIERlc2NlbmRpbmdcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIGNvbmRpdGlvbiBmb3IgZmlsdGVyaW5nIGRhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uIHtcblx0cHJvcGVydHlOYW1lOiBzdHJpbmcsXG5cdG9wZXJhdG9yOiBPcGVyYXRvcixcblx0dmFsdWU6IGFueSB8IGFueVtdXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzb3J0aW5nIGluc3RydWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvcnQge1xuXHRwcm9wZXJ0eU5hbWU6IHN0cmluZyxcblx0ZGlyZWN0aW9uOiBEaXJlY3Rpb25cbn1cblxuLyoqXG4gKiBEZWZpbmVzIG9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIGxpc3QgYW5kIGNvdW50IG9wZXJhdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG5cdGNvbmRpdGlvbnM/OiBDb25kaXRpb25bXSxcblx0c29ydHM/OiBTb3J0W10sXG5cdGxpbWl0PzogbnVtYmVyLFxuXHRvZmZzZXQ/OiBudW1iZXIsXG5cdGxhbmd1YWdlPzogc3RyaW5nXG59XG5cbmltcG9ydCB7IFR5cGVkUXVlcnlQYXJhbWV0ZXIsIE5hbWVkUXVlcnlQYXJhbWV0ZXIgfSBmcm9tICcuL3F1ZXJ5JztcblxuLyoqXG4gKiBGYWNhZGUgY2xhc3MgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVuZGVybHlpbmcgRGlyaWdpYmxlIERhdGEgU3RvcmUuXG4gKiBBbGwgbWV0aG9kcyBzZXJpYWxpemUvZGVzZXJpYWxpemUgSmF2YVNjcmlwdCBvYmplY3RzIHRvL2Zyb20gSlNPTiBzdHJpbmdzXG4gKiBiZWZvcmUgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmF0aXZlIEphdmEgZmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuXG5cdC8qKlxuXHQgKiBTYXZlcyBhIG5ldyBlbnRyeSB0byB0aGUgZGF0YSBzdG9yZS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZW50cnkgVGhlIEphdmFTY3JpcHQgb2JqZWN0IHRvIHNhdmUuXG5cdCAqIEByZXR1cm5zIFRoZSBJRCBvZiB0aGUgbmV3bHkgY3JlYXRlZCBlbnRyeSAoc3RyaW5nIG9yIG51bWJlcikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHNhdmUobmFtZTogc3RyaW5nLCBlbnRyeTogYW55KTogc3RyaW5nIHwgbnVtYmVyIHtcblx0XHRyZXR1cm4gRGF0YVN0b3JlRmFjYWRlLnNhdmUobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbnNlcnRzIGEgbmV3IGVudHJ5IG9yIHVwZGF0ZXMgYW4gZXhpc3Rpbmcgb25lIGlmIHRoZSBJRCBpcyBwcmVzZW50LlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBlbnRyeSBUaGUgSmF2YVNjcmlwdCBvYmplY3QgdG8gaW5zZXJ0L3VwZGF0ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBzZXJ0KG5hbWU6IHN0cmluZywgZW50cnk6IGFueSk6IHZvaWQge1xuXHRcdERhdGFTdG9yZUZhY2FkZS51cHNlcnQobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIGVudHJ5LlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBlbnRyeSBUaGUgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCB0aGUgSUQgYW5kIHVwZGF0ZWQgZGF0YS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBkYXRlKG5hbWU6IHN0cmluZywgZW50cnk6IGFueSk6IHZvaWQge1xuXHRcdERhdGFTdG9yZUZhY2FkZS51cGRhdGUobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMaXN0cyBlbnRyaWVzIGJhc2VkIG9uIG9wdGlvbmFsIGZpbHRlcmluZywgc29ydGluZywgYW5kIHBhZ2luYXRpb24gb3B0aW9ucy5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCB7QGxpbmsgT3B0aW9uc30gZm9yIHF1ZXJ5IGV4ZWN1dGlvbi5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBsaXN0KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBhbnlbXSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLmxpc3QobmFtZSwgb3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogbnVsbCk7XG5cdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdH1cblxuXHQvKipcblx0ICogQ291bnRzIHRoZSBudW1iZXIgb2YgZW50cmllcyBiYXNlZCBvbiBvcHRpb25hbCBmaWx0ZXJpbmcgb3B0aW9ucy5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCB7QGxpbmsgT3B0aW9uc30gZm9yIHF1ZXJ5IGV4ZWN1dGlvbi5cblx0ICogQHJldHVybnMgVGhlIGNvdW50IG9mIG1hdGNoaW5nIGVudHJpZXMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNvdW50KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBudW1iZXIge1xuXHRcdGNvbnN0IG9wdGlvbnNTdHJpbmcgPSBvcHRpb25zID8gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgOiBudWxsO1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5jb3VudChuYW1lLCBvcHRpb25zU3RyaW5nKTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIHNpbmdsZSBlbnRyeSBieSBpdHMgSUQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50cnkuXG5cdCAqIEByZXR1cm5zIFRoZSBlbnRyeSBvYmplY3QsIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChuYW1lOiBzdHJpbmcsIGlkOiBhbnkpOiBhbnkgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5nZXQobmFtZSwgaWQpO1xuXHRcdC8vIEFzc3VtaW5nIHRoZSBuYXRpdmUgQVBJIHJldHVybnMgbnVsbC91bmRlZmluZWQgb3IgYW4gZW1wdHkgSlNPTiBzdHJpbmcgaWYgbm90IGZvdW5kLCBcblx0XHQvLyBvdGhlcndpc2UgSlNPTi5wYXJzZSBoYW5kbGVzIHRoZSBjb252ZXJzaW9uLlxuXHRcdGlmIChyZXN1bHQgPT09IG51bGwgfHwgcmVzdWx0ID09PSB1bmRlZmluZWQgfHwgcmVzdWx0ID09PSBcIlwiKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0fTtcblxuXHQvKipcblx0ICogRGVsZXRlcyBhbiBlbnRyeSBieSBpdHMgSUQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50cnkgdG8gcmVtb3ZlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByZW1vdmUobmFtZTogc3RyaW5nLCBpZDogYW55KTogdm9pZCB7XG5cdFx0RGF0YVN0b3JlRmFjYWRlLmRlbGV0ZUVudHJ5KG5hbWUsIGlkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGaW5kcyBlbnRyaWVzIG1hdGNoaW5nIGFuIGV4YW1wbGUgb2JqZWN0IChxdWVyeS1ieS1leGFtcGxlKS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZXhhbXBsZSBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIHRvIG1hdGNoLlxuXHQgKiBAcGFyYW0gbGltaXQgTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byByZXR1cm4uXG5cdCAqIEBwYXJhbSBvZmZzZXQgTnVtYmVyIG9mIHJlc3VsdHMgdG8gc2tpcC5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgbWF0Y2hpbmcgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmaW5kKG5hbWU6IHN0cmluZywgZXhhbXBsZTogYW55LCBsaW1pdDogbnVtYmVyID0gMTAwLCBvZmZzZXQ6IG51bWJlciA9IDApOiBhbnlbXSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLmZpbmQobmFtZSwgSlNPTi5zdHJpbmdpZnkoZXhhbXBsZSksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFF1ZXJpZXMgYWxsIGVudHJpZXMgZm9yIGEgZ2l2ZW4gc2NyaXB0IHdpdGggcGFnaW5hdGlvbi5cblx0ICogQHBhcmFtIHF1ZXJ5IFRoZSBxdWVyeSBzY3JpcHQuXG5cdCAqIEBwYXJhbSBsaW1pdCBNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybi5cblx0ICogQHBhcmFtIG9mZnNldCBOdW1iZXIgb2YgcmVzdWx0cyB0byBza2lwLlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBKYXZhU2NyaXB0IG9iamVjdHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHF1ZXJ5KHF1ZXJ5OiBzdHJpbmcsIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBUeXBlZFF1ZXJ5UGFyYW1ldGVyIHwgTmFtZWRRdWVyeVBhcmFtZXRlcilbXSwgbGltaXQ6IG51bWJlciA9IDEwMCwgb2Zmc2V0OiBudW1iZXIgPSAwKTogYW55W10ge1xuXHRcdGxldCBhcnI6IGFueVtdID0gW107XG5cdFx0aWYgKHBhcmFtZXRlcnMgPT0gbnVsbCkge1xuXHRcdFx0YXJyID0gW107XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgcGFyYW1ldGVycyA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShwYXJhbWV0ZXJzKTtcblx0XHRcdFx0aWYgKCFBcnJheS5pc0FycmF5KHBhcnNlZCkpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJJbnB1dCBwYXJhbWV0ZXIgc3RyaW5nIG11c3QgcmVwcmVzZW50IGEgSlNPTiBhcnJheVwiKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRhcnIgPSBwYXJzZWQ7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgSlNPTiBwYXJhbWV0ZXJzOiBcIiArIGUpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwYXJhbWV0ZXJzKSkge1xuXHRcdFx0YXJyID0gcGFyYW1ldGVycztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiUGFyYW1ldGVycyBtdXN0IGJlIGVpdGhlciBhbiBhcnJheSBvciBhIEpTT04gc3RyaW5nXCIpO1xuXHRcdH1cblxuXHRcdGlmIChhcnIubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBEYXRhU3RvcmVGYWNhZGUucXVlcnkocXVlcnksIG51bGwsIGxpbWl0LCBvZmZzZXQpO1xuXHRcdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgZmlyc3QgPSBhcnJbMF07XG5cblx0XHQvLyBOYW1lZFF1ZXJ5UGFyYW1ldGVyIChoYXMgbmFtZSArIHR5cGUpXG5cdFx0aWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcIm5hbWVcIiBpbiBmaXJzdCAmJiBcInR5cGVcIiBpbiBmaXJzdCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5TmFtZWQocXVlcnksIEpTT04uc3RyaW5naWZ5KGFyciksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdFx0fVxuXG5cdFx0Ly8gVHlwZWRRdWVyeVBhcmFtZXRlciAoaGFzIHR5cGUsIG5vIG5hbWUpXG5cdFx0aWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcInR5cGVcIiBpbiBmaXJzdCAmJiAhKFwibmFtZVwiIGluIGZpcnN0KSkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5KHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdC8vIFByaW1pdGl2ZSBhcnJheVxuXHRcdGlmIChcblx0XHRcdGFyci5ldmVyeShcblx0XHRcdFx0KHYpID0+XG5cdFx0XHRcdFx0dHlwZW9mIHYgPT09IFwic3RyaW5nXCIgfHxcblx0XHRcdFx0XHR0eXBlb2YgdiA9PT0gXCJudW1iZXJcIiB8fFxuXHRcdFx0XHRcdHR5cGVvZiB2ID09PSBcImJvb2xlYW5cIiB8fFxuXHRcdFx0XHRcdHYgaW5zdGFuY2VvZiBEYXRlIHx8XG5cdFx0XHRcdFx0QXJyYXkuaXNBcnJheSh2KVxuXHRcdFx0KVxuXHRcdCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5KHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdHRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIHBhcmFtZXRlciBmb3JtYXQ6IFwiICsgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFF1ZXJpZXMgYWxsIGVudHJpZXMgZm9yIGEgZ2l2ZW4gZW50aXR5IG5hbWUgd2l0aG91dCBwYWdpbmF0aW9uLlxuXHQgKiBAcGFyYW0gcXVlcnkgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBhbGwgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBxdWVyeU5hdGl2ZShxdWVyeTogc3RyaW5nLCBwYXJhbWV0ZXJzPzogKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBEYXRlIHwgVHlwZWRRdWVyeVBhcmFtZXRlciB8IE5hbWVkUXVlcnlQYXJhbWV0ZXIpW10sIGxpbWl0OiBudW1iZXIgPSAxMDAsIG9mZnNldDogbnVtYmVyID0gMCk6IGFueVtdIHtcblx0XHRsZXQgYXJyOiBhbnlbXSA9IFtdO1xuXHRcdGlmIChwYXJhbWV0ZXJzID09IG51bGwpIHtcblx0XHRcdGFyciA9IFtdO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtZXRlcnMgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG5cdFx0XHRcdGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcGFyYW1ldGVyIHN0cmluZyBtdXN0IHJlcHJlc2VudCBhIEpTT04gYXJyYXlcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0YXJyID0gcGFyc2VkO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1ldGVycykpIHtcblx0XHRcdGFyciA9IHBhcmFtZXRlcnM7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIlBhcmFtZXRlcnMgbXVzdCBiZSBlaXRoZXIgYW4gYXJyYXkgb3IgYSBKU09OIHN0cmluZ1wiKTtcblx0XHR9XG5cblx0XHRpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5TmF0aXZlKHF1ZXJ5LCBudWxsLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpcnN0ID0gYXJyWzBdO1xuXG5cdFx0Ly8gTmFtZWRRdWVyeVBhcmFtZXRlciAoaGFzIG5hbWUgKyB0eXBlKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJuYW1lXCIgaW4gZmlyc3QgJiYgXCJ0eXBlXCIgaW4gZmlyc3QpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZU5hbWVkKHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdC8vIFR5cGVkUXVlcnlQYXJhbWV0ZXIgKGhhcyB0eXBlLCBubyBuYW1lKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJ0eXBlXCIgaW4gZmlyc3QgJiYgIShcIm5hbWVcIiBpbiBmaXJzdCkpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZShxdWVyeSwgSlNPTi5zdHJpbmdpZnkoYXJyKSwgbGltaXQsIG9mZnNldCk7XG5cdFx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0XHR9XG5cblx0XHQvLyBQcmltaXRpdmUgYXJyYXlcblx0XHRpZiAoXG5cdFx0XHRhcnIuZXZlcnkoXG5cdFx0XHRcdCh2KSA9PlxuXHRcdFx0XHRcdHR5cGVvZiB2ID09PSBcInN0cmluZ1wiIHx8XG5cdFx0XHRcdFx0dHlwZW9mIHYgPT09IFwibnVtYmVyXCIgfHxcblx0XHRcdFx0XHR0eXBlb2YgdiA9PT0gXCJib29sZWFuXCIgfHxcblx0XHRcdFx0XHR2IGluc3RhbmNlb2YgRGF0ZSB8fFxuXHRcdFx0XHRcdEFycmF5LmlzQXJyYXkodilcblx0XHRcdClcblx0XHQpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZShxdWVyeSwgSlNPTi5zdHJpbmdpZnkoYXJyKSwgbGltaXQsIG9mZnNldCk7XG5cdFx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0XHR9XG5cblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBwYXJhbWV0ZXIgZm9ybWF0OiBcIiArIEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpKTtcblx0fVxuXG5cdC8vIC0tLSBNZXRhZGF0YSBHZXR0ZXJzIC0tLVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdG9yZSBuYW1lLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRFbnRpdHlOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIERhdGFTdG9yZUZhY2FkZS5nZXRFbnRpdHlOYW1lKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UgdGFibGUgbmFtZSBmb3IgdGhlIGVudGl0eS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0VGFibGVOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIERhdGFTdG9yZUZhY2FkZS5nZXRUYWJsZU5hbWUobmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcHJvcGVydHkgbmFtZSB1c2VkIGFzIHRoZSBJRCBmaWVsZCBpbiB0aGUgZW50aXR5IG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0SWROYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIERhdGFTdG9yZUZhY2FkZS5nZXRJZE5hbWUobmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdW5kZXJseWluZyBkYXRhYmFzZSBjb2x1bW4gbmFtZSB1c2VkIGZvciB0aGUgSUQgZmllbGQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldElkQ29sdW1uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIERhdGFTdG9yZUZhY2FkZS5nZXRJZENvbHVtbihuYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZSBhIEpTT04gc3RyaW5nLlxuXHQgKiBSZXR1cm5zIHVuZGVmaW5lZCBmb3IgbnVsbC9lbXB0eSBpbnB1dHMuXG5cdCAqL1xuXHRwcml2YXRlIHN0YXRpYyBwYXJzZVJlc3VsdChyZXN1bHQ6IGFueSk6IGFueSB7XG5cdFx0aWYgKHJlc3VsdCA9PT0gbnVsbCB8fCByZXN1bHQgPT09IHVuZGVmaW5lZCB8fCByZXN1bHQgPT09ICcnKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRpZiAodHlwZW9mIHJlc3VsdCAhPT0gJ3N0cmluZycpIHtcblx0XHRcdC8vIGFscmVhZHkgYW4gb2JqZWN0L2FycmF5XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH1cblxuXHRcdHJldHVybiBKU09OLnBhcnNlKHJlc3VsdCk7XG5cdH1cblxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFN0b3JlO1xufSJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE0QkEsTUFBTSxrQkFBa0IsS0FBSyxLQUFLLHlEQUF5RDtBQUtwRixJQUFLLFdBQUwsa0JBQUtBLGNBQUw7QUFDTixFQUFBQSxVQUFBLFFBQUs7QUFDTCxFQUFBQSxVQUFBLFFBQUs7QUFDTCxFQUFBQSxVQUFBLFFBQUs7QUFDTCxFQUFBQSxVQUFBLFFBQUs7QUFDTCxFQUFBQSxVQUFBLFFBQUs7QUFDTCxFQUFBQSxVQUFB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
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3N0b3JlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZGIvc3RvcmVcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9kYlxuICogQG5hbWUgU3RvcmVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBTdG9yZWAgY2xhc3MgdGhhdCBzZXJ2ZXMgYXMgYSBmYWNhZGUgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVuZGVybHlpbmcgRGlyaWdpYmxlIERhdGEgU3RvcmUuIFRoZSBgU3RvcmVgIGNsYXNzIG9mZmVycyBtZXRob2RzIGZvciBwZXJmb3JtaW5nIENSVUQgb3BlcmF0aW9ucywgZXhlY3V0aW5nIHBhcmFtZXRlcml6ZWQgcXVlcmllcywgYW5kIHJldHJpZXZpbmcgbWV0YWRhdGEgYWJvdXQgZW50aXRpZXMuIEl0IGFic3RyYWN0cyBhd2F5IHRoZSBjb21wbGV4aXRpZXMgb2YgSlNPTiBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gd2hlbiBjb21tdW5pY2F0aW5nIHdpdGggdGhlIG5hdGl2ZSBKYXZhIGZhY2FkZSwgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byB3b3JrIHdpdGggcGxhaW4gSmF2YVNjcmlwdCBvYmplY3RzIGFuZCBhcnJheXMgc2VhbWxlc3NseS5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogLSBDUlVEIE9wZXJhdGlvbnM6IENyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQgZGVsZXRlIGVudHJpZXMgaW4gdGhlIGRhdGEgc3RvcmUgdXNpbmcgc2ltcGxlIG1ldGhvZHMuXG4gKiAtIFF1ZXJ5IEV4ZWN1dGlvbjogRXhlY3V0ZSBwYXJhbWV0ZXJpemVkIHF1ZXJpZXMgd2l0aCBzdXBwb3J0IGZvciBib3RoIHByaW1pdGl2ZSBhbmQgY29tcGxleCBwYXJhbWV0ZXJzLlxuICogLSBNZXRhZGF0YSBSZXRyaWV2YWw6IEFjY2VzcyBtZXRhZGF0YSBhYm91dCBlbnRpdGllcywgc3VjaCBhcyB0YWJsZSBuYW1lcyBhbmQgSUQgZmllbGRzLlxuICogLSBKU09OIEhhbmRsaW5nOiBBdXRvbWF0aWNhbGx5IGhhbmRsZXMgSlNPTiBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gb2YgSmF2YVNjcmlwdCBvYmplY3RzIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmF0aXZlIEphdmEgQVBJcy5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBNYW5hZ2luZyBhcHBsaWNhdGlvbiBkYXRhIGluIGEgc3RydWN0dXJlZCB3YXkgdXNpbmcgdGhlIGRhdGEgc3RvcmUuXG4gKiAtIEV4ZWN1dGluZyBjb21wbGV4IHF1ZXJpZXMgd2l0aCBkeW5hbWljIHBhcmFtZXRlcnMgdG8gcmV0cmlldmUgc3BlY2lmaWMgc3Vic2V0cyBvZiBkYXRhLlxuICogLSBBYnN0cmFjdGluZyBhd2F5IGRhdGFiYXNlIGludGVyYWN0aW9ucyB0byBhbGxvdyBmb3IgZWFzaWVyIG1haW50ZW5hbmNlIGFuZCBwb3RlbnRpYWwgZnV0dXJlIGNoYW5nZXMgdG8gdGhlIHVuZGVybHlpbmcgZGF0YSBzdG9yYWdlIG1lY2hhbmlzbS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTdG9yZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvZGJcIjtcbiAqIFxuICogLy8gU2F2ZSBhIG5ldyBlbnRyeSB0byB0aGUgXCJ1c2Vyc1wiIGVudGl0eVxuICogY29uc3QgdXNlcklkID0gU3RvcmUuc2F2ZShcInVzZXJzXCIsIHsgbmFtZTogXCJBbGljZVwiLCBlbWFpbDogXCJhbGljZUBleGFtcGxlLmNvbVwiIH0pO1xuICogYGBgXG4gKi9cblxuY29uc3QgRGF0YVN0b3JlRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmRiLkRhdGFTdG9yZUZhY2FkZVwiKTtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBhdmFpbGFibGUgY29tcGFyaXNvbiBvcGVyYXRvcnMgZm9yIHF1ZXJ5IGNvbmRpdGlvbnMuXG4gKi9cbmV4cG9ydCBlbnVtIE9wZXJhdG9yIHtcblx0RVEgPSBcIj1cIiwgLy8gRXF1YWxzXG5cdE5FID0gXCI8PlwiLCAvLyBOb3QgRXF1YWxzXG5cdEdUID0gXCI+XCIsIC8vIEdyZWF0ZXIgVGhhblxuXHRMVCA9IFwiPFwiLCAvLyBMZXNzIFRoYW5cblx0R0UgPSBcIj49XCIsIC8vIEdyZWF0ZXIgVGhhbiBvciBFcXVhbHNcblx0TEUgPSBcIjw9XCIsIC8vIExlc3MgVGhhbiBvciBFcXVhbHNcblx0TElLRSA9IFwiTElLRVwiLCAvLyBTUUwgTElLRSBvcGVyYXRvclxuXHRCRVRXRUVOID0gXCJCRVRXRUVOXCIsIC8vIFNRTCBCRVRXRUVOIG9wZXJhdG9yIChyZXF1aXJlcyB0d28gdmFsdWVzKVxuXHRJTiA9IFwiSU5cIiAvLyBTUUwgSU4gb3BlcmF0b3IgKHJlcXVpcmVzIGEgTGlzdCBvciBBcnJheSBvZiB2YWx1ZXMpXG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZGlyZWN0aW9uIGZvciBzb3J0aW5nLlxuICovXG5leHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuXHRBU0MgPSBcIkFTQ1wiLCAvLyBBc2NlbmRpbmdcblx0REVTQyA9IFwiREVTQ1wiIC8vIERlc2NlbmRpbmdcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIGNvbmRpdGlvbiBmb3IgZmlsdGVyaW5nIGRhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uIHtcblx0cHJvcGVydHlOYW1lOiBzdHJpbmcsXG5cdG9wZXJhdG9yOiBPcGVyYXRvcixcblx0dmFsdWU6IGFueSB8IGFueVtdXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzb3J0aW5nIGluc3RydWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvcnQge1xuXHRwcm9wZXJ0eU5hbWU6IHN0cmluZyxcblx0ZGlyZWN0aW9uOiBEaXJlY3Rpb25cbn1cblxuLyoqXG4gKiBEZWZpbmVzIG9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIGxpc3QgYW5kIGNvdW50IG9wZXJhdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG5cdGNvbmRpdGlvbnM/OiBDb25kaXRpb25bXSxcblx0c29ydHM/OiBTb3J0W10sXG5cdGxpbWl0PzogbnVtYmVyLFxuXHRvZmZzZXQ/OiBudW1iZXIsXG5cdGxhbmd1YWdlPzogc3RyaW5nXG59XG5cbmltcG9ydCB7IFR5cGVkUXVlcnlQYXJhbWV0ZXIsIE5hbWVkUXVlcnlQYXJhbWV0ZXIgfSBmcm9tICcuL3F1ZXJ5JztcblxuLyoqXG4gKiBGYWNhZGUgY2xhc3MgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVuZGVybHlpbmcgRGlyaWdpYmxlIERhdGEgU3RvcmUuXG4gKiBBbGwgbWV0aG9kcyBzZXJpYWxpemUvZGVzZXJpYWxpemUgSmF2YVNjcmlwdCBvYmplY3RzIHRvL2Zyb20gSlNPTiBzdHJpbmdzXG4gKiBiZWZvcmUgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmF0aXZlIEphdmEgZmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuXG5cdC8qKlxuXHQgKiBTYXZlcyBhIG5ldyBlbnRyeSB0byB0aGUgZGF0YSBzdG9yZS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZW50cnkgVGhlIEphdmFTY3JpcHQgb2JqZWN0IHRvIHNhdmUuXG5cdCAqIEByZXR1cm5zIFRoZSBJRCBvZiB0aGUgbmV3bHkgY3JlYXRlZCBlbnRyeSAoc3RyaW5nIG9yIG51bWJlcikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHNhdmUobmFtZTogc3RyaW5nLCBlbnRyeTogYW55KTogc3RyaW5nIHwgbnVtYmVyIHtcblx0XHRyZXR1cm4gRGF0YVN0b3JlRmFjYWRlLnNhdmUobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbnNlcnRzIGEgbmV3IGVudHJ5IG9yIHVwZGF0ZXMgYW4gZXhpc3Rpbmcgb25lIGlmIHRoZSBJRCBpcyBwcmVzZW50LlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBlbnRyeSBUaGUgSmF2YVNjcmlwdCBvYmplY3QgdG8gaW5zZXJ0L3VwZGF0ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBzZXJ0KG5hbWU6IHN0cmluZywgZW50cnk6IGFueSk6IHZvaWQge1xuXHRcdERhdGFTdG9yZUZhY2FkZS51cHNlcnQobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIGVudHJ5LlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBlbnRyeSBUaGUgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCB0aGUgSUQgYW5kIHVwZGF0ZWQgZGF0YS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBkYXRlKG5hbWU6IHN0cmluZywgZW50cnk6IGFueSk6IHZvaWQge1xuXHRcdERhdGFTdG9yZUZhY2FkZS51cGRhdGUobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMaXN0cyBlbnRyaWVzIGJhc2VkIG9uIG9wdGlvbmFsIGZpbHRlcmluZywgc29ydGluZywgYW5kIHBhZ2luYXRpb24gb3B0aW9ucy5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCB7QGxpbmsgT3B0aW9uc30gZm9yIHF1ZXJ5IGV4ZWN1dGlvbi5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBsaXN0KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBhbnlbXSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLmxpc3QobmFtZSwgb3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogbnVsbCk7XG5cdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdH1cblxuXHQvKipcblx0ICogQ291bnRzIHRoZSBudW1iZXIgb2YgZW50cmllcyBiYXNlZCBvbiBvcHRpb25hbCBmaWx0ZXJpbmcgb3B0aW9ucy5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCB7QGxpbmsgT3B0aW9uc30gZm9yIHF1ZXJ5IGV4ZWN1dGlvbi5cblx0ICogQHJldHVybnMgVGhlIGNvdW50IG9mIG1hdGNoaW5nIGVudHJpZXMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNvdW50KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBudW1iZXIge1xuXHRcdGNvbnN0IG9wdGlvbnNTdHJpbmcgPSBvcHRpb25zID8gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgOiBudWxsO1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5jb3VudChuYW1lLCBvcHRpb25zU3RyaW5nKTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIHNpbmdsZSBlbnRyeSBieSBpdHMgSUQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50cnkuXG5cdCAqIEByZXR1cm5zIFRoZSBlbnRyeSBvYmplY3QsIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChuYW1lOiBzdHJpbmcsIGlkOiBhbnkpOiBhbnkgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5nZXQobmFtZSwgaWQpO1xuXHRcdC8vIEFzc3VtaW5nIHRoZSBuYXRpdmUgQVBJIHJldHVybnMgbnVsbC91bmRlZmluZWQgb3IgYW4gZW1wdHkgSlNPTiBzdHJpbmcgaWYgbm90IGZvdW5kLCBcblx0XHQvLyBvdGhlcndpc2UgSlNPTi5wYXJzZSBoYW5kbGVzIHRoZSBjb252ZXJzaW9uLlxuXHRcdGlmIChyZXN1bHQgPT09IG51bGwgfHwgcmVzdWx0ID09PSB1bmRlZmluZWQgfHwgcmVzdWx0ID09PSBcIlwiKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0fTtcblxuXHQvKipcblx0ICogRGVsZXRlcyBhbiBlbnRyeSBieSBpdHMgSUQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50cnkgdG8gcmVtb3ZlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByZW1vdmUobmFtZTogc3RyaW5nLCBpZDogYW55KTogdm9pZCB7XG5cdFx0RGF0YVN0b3JlRmFjYWRlLmRlbGV0ZUVudHJ5KG5hbWUsIGlkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGaW5kcyBlbnRyaWVzIG1hdGNoaW5nIGFuIGV4YW1wbGUgb2JqZWN0IChxdWVyeS1ieS1leGFtcGxlKS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZXhhbXBsZSBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIHRvIG1hdGNoLlxuXHQgKiBAcGFyYW0gbGltaXQgTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byByZXR1cm4uXG5cdCAqIEBwYXJhbSBvZmZzZXQgTnVtYmVyIG9mIHJlc3VsdHMgdG8gc2tpcC5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgbWF0Y2hpbmcgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmaW5kKG5hbWU6IHN0cmluZywgZXhhbXBsZTogYW55LCBsaW1pdDogbnVtYmVyID0gMTAwLCBvZmZzZXQ6IG51bWJlciA9IDApOiBhbnlbXSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLmZpbmQobmFtZSwgSlNPTi5zdHJpbmdpZnkoZXhhbXBsZSksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFF1ZXJpZXMgYWxsIGVudHJpZXMgZm9yIGEgZ2l2ZW4gc2NyaXB0IHdpdGggcGFnaW5hdGlvbi5cblx0ICogQHBhcmFtIHF1ZXJ5IFRoZSBxdWVyeSBzY3JpcHQuXG5cdCAqIEBwYXJhbSBsaW1pdCBNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybi5cblx0ICogQHBhcmFtIG9mZnNldCBOdW1iZXIgb2YgcmVzdWx0cyB0byBza2lwLlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBKYXZhU2NyaXB0IG9iamVjdHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHF1ZXJ5KHF1ZXJ5OiBzdHJpbmcsIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBudWxsIHwgVHlwZWRRdWVyeVBhcmFtZXRlciB8IE5hbWVkUXVlcnlQYXJhbWV0ZXIpW10sIGxpbWl0OiBudW1iZXIgPSAxMDAsIG9mZnNldDogbnVtYmVyID0gMCk6IGFueVtdIHtcblx0XHRsZXQgYXJyOiBhbnlbXSA9IFtdO1xuXHRcdGlmIChwYXJhbWV0ZXJzID09IG51bGwpIHtcblx0XHRcdGFyciA9IFtdO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtZXRlcnMgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG5cdFx0XHRcdGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcGFyYW1ldGVyIHN0cmluZyBtdXN0IHJlcHJlc2VudCBhIEpTT04gYXJyYXlcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0YXJyID0gcGFyc2VkO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1ldGVycykpIHtcblx0XHRcdGFyciA9IHBhcmFtZXRlcnM7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIlBhcmFtZXRlcnMgbXVzdCBiZSBlaXRoZXIgYW4gYXJyYXkgb3IgYSBKU09OIHN0cmluZ1wiKTtcblx0XHR9XG5cblx0XHRpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5KHF1ZXJ5LCBudWxsLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpcnN0ID0gYXJyWzBdO1xuXG5cdFx0Ly8gTmFtZWRRdWVyeVBhcmFtZXRlciAoaGFzIG5hbWUgKyB0eXBlKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJuYW1lXCIgaW4gZmlyc3QgJiYgXCJ0eXBlXCIgaW4gZmlyc3QpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hbWVkKHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdC8vIFR5cGVkUXVlcnlQYXJhbWV0ZXIgKGhhcyB0eXBlLCBubyBuYW1lKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJ0eXBlXCIgaW4gZmlyc3QgJiYgIShcIm5hbWVcIiBpbiBmaXJzdCkpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeShxdWVyeSwgSlNPTi5zdHJpbmdpZnkoYXJyKSwgbGltaXQsIG9mZnNldCk7XG5cdFx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0XHR9XG5cblx0XHQvLyBQcmltaXRpdmUgYXJyYXk7IG51bGwvdW5kZWZpbmVkIGFyZSB2YWxpZCB2YWx1ZXMgLSB0aGV5IGJpbmQgYXMgU1FMIE5VTExcblx0XHRpZiAoXG5cdFx0XHRhcnIuZXZlcnkoXG5cdFx0XHRcdCh2KSA9PlxuXHRcdFx0XHRcdHYgPT09IG51bGwgfHxcblx0XHRcdFx0XHR2ID09PSB1bmRlZmluZWQgfHxcblx0XHRcdFx0XHR0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIiB8fFxuXHRcdFx0XHRcdHR5cGVvZiB2ID09PSBcIm51bWJlclwiIHx8XG5cdFx0XHRcdFx0dHlwZW9mIHYgPT09IFwiYm9vbGVhblwiIHx8XG5cdFx0XHRcdFx0diBpbnN0YW5jZW9mIERhdGUgfHxcblx0XHRcdFx0XHRBcnJheS5pc0FycmF5KHYpXG5cdFx0XHQpXG5cdFx0KSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBEYXRhU3RvcmVGYWNhZGUucXVlcnkocXVlcnksIEpTT04uc3RyaW5naWZ5KGFyciksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdFx0fVxuXG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgcGFyYW1ldGVyIGZvcm1hdDogXCIgKyBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG5cdH1cblxuXHQvKipcblx0ICogUXVlcmllcyBhbGwgZW50cmllcyBmb3IgYSBnaXZlbiBlbnRpdHkgbmFtZSB3aXRob3V0IHBhZ2luYXRpb24uXG5cdCAqIEBwYXJhbSBxdWVyeSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFsbCBKYXZhU2NyaXB0IG9iamVjdHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHF1ZXJ5TmF0aXZlKHF1ZXJ5OiBzdHJpbmcsIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBudWxsIHwgVHlwZWRRdWVyeVBhcmFtZXRlciB8IE5hbWVkUXVlcnlQYXJhbWV0ZXIpW10sIGxpbWl0OiBudW1iZXIgPSAxMDAsIG9mZnNldDogbnVtYmVyID0gMCk6IGFueVtdIHtcblx0XHRsZXQgYXJyOiBhbnlbXSA9IFtdO1xuXHRcdGlmIChwYXJhbWV0ZXJzID09IG51bGwpIHtcblx0XHRcdGFyciA9IFtdO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtZXRlcnMgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG5cdFx0XHRcdGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcGFyYW1ldGVyIHN0cmluZyBtdXN0IHJlcHJlc2VudCBhIEpTT04gYXJyYXlcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0YXJyID0gcGFyc2VkO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1ldGVycykpIHtcblx0XHRcdGFyciA9IHBhcmFtZXRlcnM7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIlBhcmFtZXRlcnMgbXVzdCBiZSBlaXRoZXIgYW4gYXJyYXkgb3IgYSBKU09OIHN0cmluZ1wiKTtcblx0XHR9XG5cblx0XHRpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5TmF0aXZlKHF1ZXJ5LCBudWxsLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpcnN0ID0gYXJyWzBdO1xuXG5cdFx0Ly8gTmFtZWRRdWVyeVBhcmFtZXRlciAoaGFzIG5hbWUgKyB0eXBlKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJuYW1lXCIgaW4gZmlyc3QgJiYgXCJ0eXBlXCIgaW4gZmlyc3QpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZU5hbWVkKHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdC8vIFR5cGVkUXVlcnlQYXJhbWV0ZXIgKGhhcyB0eXBlLCBubyBuYW1lKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJ0eXBlXCIgaW4gZmlyc3QgJiYgIShcIm5hbWVcIiBpbiBmaXJzdCkpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZShxdWVyeSwgSlNPTi5zdHJpbmdpZnkoYXJyKSwgbGltaXQsIG9mZnNldCk7XG5cdFx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0XHR9XG5cblx0XHQvLyBQcmltaXRpdmUgYXJyYXk7IG51bGwvdW5kZWZpbmVkIGFyZSB2YWxpZCB2YWx1ZXMgLSB0aGV5IGJpbmQgYXMgU1FMIE5VTExcblx0XHRpZiAoXG5cdFx0XHRhcnIuZXZlcnkoXG5cdFx0XHRcdCh2KSA9PlxuXHRcdFx0XHRcdHYgPT09IG51bGwgfHxcblx0XHRcdFx0XHR2ID09PSB1bmRlZmluZWQgfHxcblx0XHRcdFx0XHR0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIiB8fFxuXHRcdFx0XHRcdHR5cGVvZiB2ID09PSBcIm51bWJlclwiIHx8XG5cdFx0XHRcdFx0dHlwZW9mIHYgPT09IFwiYm9vbGVhblwiIHx8XG5cdFx0XHRcdFx0diBpbnN0YW5jZW9mIERhdGUgfHxcblx0XHRcdFx0XHRBcnJheS5pc0FycmF5KHYpXG5cdFx0XHQpXG5cdFx0KSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBEYXRhU3RvcmVGYWNhZGUucXVlcnlOYXRpdmUocXVlcnksIEpTT04uc3RyaW5naWZ5KGFyciksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdFx0fVxuXG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgcGFyYW1ldGVyIGZvcm1hdDogXCIgKyBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG5cdH1cblxuXHQvLyAtLS0gTWV0YWRhdGEgR2V0dGVycyAtLS1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZW50aXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RvcmUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0RW50aXR5TmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0RW50aXR5TmFtZShuYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB1bmRlcmx5aW5nIGRhdGFiYXNlIHRhYmxlIG5hbWUgZm9yIHRoZSBlbnRpdHkuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFRhYmxlTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0VGFibGVOYW1lKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHByb3BlcnR5IG5hbWUgdXNlZCBhcyB0aGUgSUQgZmllbGQgaW4gdGhlIGVudGl0eSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldElkTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0SWROYW1lKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UgY29sdW1uIG5hbWUgdXNlZCBmb3IgdGhlIElEIGZpZWxkLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRJZENvbHVtbihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0SWRDb2x1bW4obmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2UgYSBKU09OIHN0cmluZy5cblx0ICogUmV0dXJucyB1bmRlZmluZWQgZm9yIG51bGwvZW1wdHkgaW5wdXRzLlxuXHQgKi9cblx0cHJpdmF0ZSBzdGF0aWMgcGFyc2VSZXN1bHQocmVzdWx0OiBhbnkpOiBhbnkge1xuXHRcdGlmIChyZXN1bHQgPT09IG51bGwgfHwgcmVzdWx0ID09PSB1bmRlZmluZWQgfHwgcmVzdWx0ID09PSAnJykge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiByZXN1bHQgIT09ICdzdHJpbmcnKSB7XG5cdFx0XHQvLyBhbHJlYWR5IGFuIG9iamVjdC9hcnJheVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9XG5cblx0XHRyZXR1cm4gSlNPTi5wYXJzZShyZXN1bHQpO1xuXHR9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTdG9yZTtcbn0iXSwKICAibWFwcGluZ3Mi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
|
package/dist/cjs/db/update.js
CHANGED
|
@@ -63,7 +63,7 @@ class Update {
|
|
|
63
63
|
return result;
|
|
64
64
|
}
|
|
65
65
|
if (arr.every(
|
|
66
|
-
(v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
66
|
+
(v) => v === null || v === void 0 || typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
67
67
|
)) {
|
|
68
68
|
const result = DatabaseFacade.update(sql, JSON.stringify(arr), datasourceName);
|
|
69
69
|
return result;
|
|
@@ -74,4 +74,4 @@ class Update {
|
|
|
74
74
|
if (typeof module !== "undefined") {
|
|
75
75
|
module.exports = Update;
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3VwZGF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGRiL3VwZGF0ZVxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2RiXG4gKiBAbmFtZSBVcGRhdGVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYFVwZGF0ZWAgY2xhc3MsIHdoaWNoIHNlcnZlcyBhcyBhIGZhY2FkZSBmb3IgZXhlY3V0aW5nIFNRTCBVUERBVEUsIElOU0VSVCwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIGluIHRoZSBEaXJpZ2libGUgZW52aXJvbm1lbnQuIFRoZSBgZXhlY3V0ZWAgbWV0aG9kIGFsbG93cyBmb3IgcGFyYW1ldGVyaXplZCBxdWVyaWVzIHVzaW5nIGVpdGhlciBwcmltaXRpdmUgdmFsdWVzIG9yIHN0cnVjdHVyZWQgcGFyYW1ldGVyIG9iamVjdHMgdGhhdCBzcGVjaWZ5IGJvdGggdHlwZSBhbmQgdmFsdWUuIFRoaXMgZmxleGliaWxpdHkgZW5hYmxlcyBkZXZlbG9wZXJzIHRvIHdvcmsgd2l0aCB2YXJpb3VzIGRhdGEgdHlwZXMgYW5kIGRhdGFiYXNlLXNwZWNpZmljIHJlcXVpcmVtZW50cyB3aGVuIHBlcmZvcm1pbmcgdXBkYXRlIG9wZXJhdGlvbnMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipQYXJhbWV0ZXJpemVkIFF1ZXJpZXMqKjogU3VwcG9ydHMgYm90aCBwcmltaXRpdmUgcGFyYW1ldGVycyBhbmQgc3RydWN0dXJlZCBwYXJhbWV0ZXIgb2JqZWN0cyBmb3IgZmxleGlibGUgcXVlcnkgZXhlY3V0aW9uLlxuICogLSAqKk5hbWVkIFBhcmFtZXRlcnMqKjogQWxsb3dzIGZvciBuYW1lZCBwYXJhbWV0ZXJzIGluIHRoZSBmb3JtIG9mIGA6cGFyYW1OYW1lYCBwbGFjZWhvbGRlcnMsIGVuaGFuY2luZyByZWFkYWJpbGl0eSBhbmQgbWFpbnRhaW5hYmlsaXR5IG9mIFNRTCBzdGF0ZW1lbnRzLlxuICogLSAqKlR5cGUgU3BlY2lmaWNhdGlvbioqOiBTdHJ1Y3R1cmVkIHBhcmFtZXRlcnMgY2FuIGluY2x1ZGUgdHlwZSBpbmZvcm1hdGlvbiwgd2hpY2ggaXMgdXNlZnVsIGZvciBkYXRhYmFzZXMgdGhhdCByZXF1aXJlIGV4cGxpY2l0IHR5cGUgZGVmaW5pdGlvbnMgZm9yIGNlcnRhaW4gb3BlcmF0aW9ucy5cbiAqIC0gKipEYXRhc291cmNlIFN1cHBvcnQqKjogVGhlIG1ldGhvZCBhY2NlcHRzIGFuIG9wdGlvbmFsIGRhdGFzb3VyY2UgbmFtZSwgZW5hYmxpbmcgZXhlY3V0aW9uIGFnYWluc3Qgc3BlY2lmaWMgZGF0YWJhc2UgY29ubmVjdGlvbnMgaW4gYSBtdWx0aS1kYXRhYmFzZSBlbnZpcm9ubWVudC5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBQZXJmb3JtaW5nIHVwZGF0ZSBvcGVyYXRpb25zIG9uIGRhdGFiYXNlIHJlY29yZHMgd2l0aCBkeW5hbWljIHZhbHVlcy5cbiAqIC0gRXhlY3V0aW5nIGNvbXBsZXggU1FMIHN0YXRlbWVudHMgdGhhdCByZXF1aXJlIHNwZWNpZmljIGRhdGEgdHlwZXMgb3IgbmFtZWQgcGFyYW1ldGVycy5cbiAqIC0gSW50ZWdyYXRpbmcgd2l0aCBvdGhlciBtb2R1bGVzIHRoYXQgZ2VuZXJhdGUgcGFyYW1ldGVycyBpbiBKU09OIGZvcm1hdCwgYWxsb3dpbmcgZm9yIHNlYW1sZXNzIGRhdGEgZmxvdyB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IFVwZGF0ZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvZGJcIjtcbiAqIFxuICogLy8gRXhhbXBsZSB3aXRoIHByaW1pdGl2ZSBwYXJhbWV0ZXJzXG4gKiBjb25zdCByb3dzQWZmZWN0ZWQxID0gVXBkYXRlLmV4ZWN1dGUoXCJVUERBVEUgVXNlcnMgU0VUIG5hbWUgPSA/
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3VwZGF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGRiL3VwZGF0ZVxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2RiXG4gKiBAbmFtZSBVcGRhdGVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYFVwZGF0ZWAgY2xhc3MsIHdoaWNoIHNlcnZlcyBhcyBhIGZhY2FkZSBmb3IgZXhlY3V0aW5nIFNRTCBVUERBVEUsIElOU0VSVCwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIGluIHRoZSBEaXJpZ2libGUgZW52aXJvbm1lbnQuIFRoZSBgZXhlY3V0ZWAgbWV0aG9kIGFsbG93cyBmb3IgcGFyYW1ldGVyaXplZCBxdWVyaWVzIHVzaW5nIGVpdGhlciBwcmltaXRpdmUgdmFsdWVzIG9yIHN0cnVjdHVyZWQgcGFyYW1ldGVyIG9iamVjdHMgdGhhdCBzcGVjaWZ5IGJvdGggdHlwZSBhbmQgdmFsdWUuIFRoaXMgZmxleGliaWxpdHkgZW5hYmxlcyBkZXZlbG9wZXJzIHRvIHdvcmsgd2l0aCB2YXJpb3VzIGRhdGEgdHlwZXMgYW5kIGRhdGFiYXNlLXNwZWNpZmljIHJlcXVpcmVtZW50cyB3aGVuIHBlcmZvcm1pbmcgdXBkYXRlIG9wZXJhdGlvbnMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipQYXJhbWV0ZXJpemVkIFF1ZXJpZXMqKjogU3VwcG9ydHMgYm90aCBwcmltaXRpdmUgcGFyYW1ldGVycyBhbmQgc3RydWN0dXJlZCBwYXJhbWV0ZXIgb2JqZWN0cyBmb3IgZmxleGlibGUgcXVlcnkgZXhlY3V0aW9uLlxuICogLSAqKk5hbWVkIFBhcmFtZXRlcnMqKjogQWxsb3dzIGZvciBuYW1lZCBwYXJhbWV0ZXJzIGluIHRoZSBmb3JtIG9mIGA6cGFyYW1OYW1lYCBwbGFjZWhvbGRlcnMsIGVuaGFuY2luZyByZWFkYWJpbGl0eSBhbmQgbWFpbnRhaW5hYmlsaXR5IG9mIFNRTCBzdGF0ZW1lbnRzLlxuICogLSAqKlR5cGUgU3BlY2lmaWNhdGlvbioqOiBTdHJ1Y3R1cmVkIHBhcmFtZXRlcnMgY2FuIGluY2x1ZGUgdHlwZSBpbmZvcm1hdGlvbiwgd2hpY2ggaXMgdXNlZnVsIGZvciBkYXRhYmFzZXMgdGhhdCByZXF1aXJlIGV4cGxpY2l0IHR5cGUgZGVmaW5pdGlvbnMgZm9yIGNlcnRhaW4gb3BlcmF0aW9ucy5cbiAqIC0gKipEYXRhc291cmNlIFN1cHBvcnQqKjogVGhlIG1ldGhvZCBhY2NlcHRzIGFuIG9wdGlvbmFsIGRhdGFzb3VyY2UgbmFtZSwgZW5hYmxpbmcgZXhlY3V0aW9uIGFnYWluc3Qgc3BlY2lmaWMgZGF0YWJhc2UgY29ubmVjdGlvbnMgaW4gYSBtdWx0aS1kYXRhYmFzZSBlbnZpcm9ubWVudC5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBQZXJmb3JtaW5nIHVwZGF0ZSBvcGVyYXRpb25zIG9uIGRhdGFiYXNlIHJlY29yZHMgd2l0aCBkeW5hbWljIHZhbHVlcy5cbiAqIC0gRXhlY3V0aW5nIGNvbXBsZXggU1FMIHN0YXRlbWVudHMgdGhhdCByZXF1aXJlIHNwZWNpZmljIGRhdGEgdHlwZXMgb3IgbmFtZWQgcGFyYW1ldGVycy5cbiAqIC0gSW50ZWdyYXRpbmcgd2l0aCBvdGhlciBtb2R1bGVzIHRoYXQgZ2VuZXJhdGUgcGFyYW1ldGVycyBpbiBKU09OIGZvcm1hdCwgYWxsb3dpbmcgZm9yIHNlYW1sZXNzIGRhdGEgZmxvdyB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IFVwZGF0ZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvZGJcIjtcbiAqIFxuICogLy8gRXhhbXBsZSB3aXRoIHByaW1pdGl2ZSBwYXJhbWV0ZXJzXG4gKiBjb25zdCByb3dzQWZmZWN0ZWQxID0gVXBkYXRlLmV4ZWN1dGUoXCJVUERBVEUgVXNlcnMgU0VUIG5hbWUgPSA/IFdIRVJFIGlkID0gP1wiLCBbXCJBbGljZVwiLCAxXSk7XG4gKiBjb25zb2xlLmxvZyhyb3dzQWZmZWN0ZWQxKTsgLy8gT3V0cHV0OiBudW1iZXIgb2Ygcm93cyB1cGRhdGVkXG4gKiBcbiAqIC8vIEV4YW1wbGUgd2l0aCBzdHJ1Y3R1cmVkIHBhcmFtZXRlcnNcbiAqIGNvbnN0IHJvd3NBZmZlY3RlZDIgPSBVcGRhdGUuZXhlY3V0ZShcbiAqICAgXCJJTlNFUlQgSU5UTyBPcmRlcnMgKG9yZGVyX251bWJlciwgdG90YWwpIFZBTFVFUyAoOm9yZGVyX251bWJlciwgOnRvdGFsKVwiLFxuICogICBbXG4gKiAgICAgeyBuYW1lOiBcIm9yZGVyX251bWJlclwiLCB0eXBlOiBcIkNIQVJcIiwgdmFsdWU6IFwiT1JEMTIzNDVcIiB9LFxuICogICAgIHsgbmFtZTogXCJ0b3RhbFwiLCB0eXBlOiBcIkRFQ0lNQUxcIiwgdmFsdWU6IDk5Ljk5IH1cbiAqICAgXVxuICogKTtcbiAqIGNvbnNvbGUubG9nKHJvd3NBZmZlY3RlZDIpOyAvLyBPdXRwdXQ6IG51bWJlciBvZiByb3dzIGluc2VydGVkXG4gKiBgYGBcbiAqL1xuXG5jb25zdCBEYXRhYmFzZUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5kYi5EYXRhYmFzZUZhY2FkZVwiKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgdXNlZCBmb3IgY29tcGxleCBwYXJhbWV0ZXIgdHlwZXMgaWYgbmVlZGVkLCBvdGhlcndpc2UgcHJpbWl0aXZlIHR5cGVzIGFyZSB1c2VkIGRpcmVjdGx5LlxuICovXG5leHBvcnQgdHlwZSBUeXBlZFVwZGF0ZVBhcmFtZXRlciA9IHtcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuICByZWFkb25seSB2YWx1ZTogdW5rbm93bjtcbn07XG5cbi8qKlxuICogSW50ZXJmYWNlIGRlZmluaW5nIGEgcGFyYW1ldGVyIGZvciBhIG5hbWVkIHVwZGF0ZSBxdWVyeSAodXNpbmcgcGxhY2Vob2xkZXJzIGxpa2UgOnBhcmFtTmFtZSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFtZWRVcGRhdGVQYXJhbWV0ZXIge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWU6IGFueTtcbn1cblxuXG4vKipcbiAqIEZhY2FkZSBjbGFzcyBmb3IgZXhlY3V0aW5nIFNRTCBVUERBVEUsIElOU0VSVCwgYW5kIERFTEVURSBzdGF0ZW1lbnRzLlxuICogUGFyYW1ldGVycyBhcnJheSBzdXBwb3J0cyBwcmltaXRpdmVzIGUuZy4gYFsxLCAnSm9obicsIDM0LjU2XWAgb3Igb2JqZWN0cyBpbiBmb3JtYXQgZWl0aGVyIGB7J3R5cGUnOidbREFUQV9UWVBFXScsICd2YWx1ZSc6W1ZBTFVFXX1gIG9yIGB7J25hbWUnOidbc3RyaW5nXScsICd0eXBlJzonW0RBVEFfVFlQRV0nLCAndmFsdWUnOltWQUxVRV19YCBlLmcuIGBbeyd0eXBlJzonQ0hBUicsICd2YWx1ZSc6J0lTQk4xOTIwMjMyMzMyMid9XWAgb3IgYFt7J25hbWUnOiAnb3JkZXJfbnVtYmVyJywgJ3R5cGUnOidDSEFSJywgJ3ZhbHVlJzonSVNCTjE5MjAyMzIzMzIyJ31dYFxuICovXG5leHBvcnQgY2xhc3MgVXBkYXRlIHtcblxuXHQvKipcblx0ICogRXhlY3V0ZXMgYSBwYXJhbWV0ZXJpemVkIFNRTCB1cGRhdGUgc3RhdGVtZW50IChJTlNFUlQsIFVQREFURSwgb3IgREVMRVRFKS5cblx0ICpcblx0ICogQHBhcmFtIHNxbCBUaGUgU1FMIHF1ZXJ5IHRvIGV4ZWN1dGUuXG5cdCAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9wdGlvbmFsIGFycmF5IG9mIHZhbHVlcyAocHJpbWl0aXZlcywgVHlwZWRRdWVyeVBhcmFtZXRlciBvciBOYW1lZFF1ZXJ5UGFyYW1ldGVyIG9iamVjdHMpIHRvIHJlcGxhY2UgJz8nIG9yIDpwYXJhbU5hbWUgcGxhY2Vob2xkZXJzLlxuXHQgKiBAcGFyYW0gZGF0YXNvdXJjZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gdG8gdXNlIChvcHRpb25hbCkuXG5cdCAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Ygcm93cyBhZmZlY3RlZCBieSB0aGUgc3RhdGVtZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBleGVjdXRlKHNxbDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBEYXRlIHwgbnVsbCB8IFR5cGVkVXBkYXRlUGFyYW1ldGVyIHwgTmFtZWRVcGRhdGVQYXJhbWV0ZXIpW10sIGRhdGFzb3VyY2VOYW1lPzogc3RyaW5nKTogbnVtYmVyIHtcblx0XHRsZXQgYXJyOiBhbnlbXSA9IFtdO1xuXG5cdCAgICBpZiAocGFyYW1ldGVycyA9PSBudWxsKSB7XG5cdCAgICAgIGFyciA9IFtdO1xuXHQgICAgfSBlbHNlIGlmICh0eXBlb2YgcGFyYW1ldGVycyA9PT0gXCJzdHJpbmdcIikge1xuXHQgICAgICB0cnkge1xuXHQgICAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG5cdCAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHBhcnNlZCkpIHtcblx0ICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIklucHV0IHBhcmFtZXRlciBzdHJpbmcgbXVzdCByZXByZXNlbnQgYSBKU09OIGFycmF5XCIpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBhcnIgPSBwYXJzZWQ7XG5cdCAgICAgIH0gY2F0Y2ggKGUpIHtcblx0ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcblx0ICAgICAgfVxuXHQgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHBhcmFtZXRlcnMpKSB7XG5cdCAgICAgIGFyciA9IHBhcmFtZXRlcnM7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXJhbWV0ZXJzIG11c3QgYmUgZWl0aGVyIGFuIGFycmF5IG9yIGEgSlNPTiBzdHJpbmdcIik7XG5cdCAgICB9XG5cblx0ICAgIGlmIChhcnIubGVuZ3RoID09PSAwKSB7XG5cdFx0ICBjb25zdCByZXN1bHQgPSBEYXRhYmFzZUZhY2FkZS51cGRhdGUoc3FsLCBudWxsLCBkYXRhc291cmNlTmFtZSk7XG5cdCAgICAgIHJldHVybiByZXN1bHQ7XG5cdCAgICB9XG5cblx0ICAgIGNvbnN0IGZpcnN0ID0gYXJyWzBdO1xuXG5cdCAgICAvLyBOYW1lZFVwZGF0ZVBhcmFtZXRlciAoaGFzIG5hbWUgKyB0eXBlKVxuXHQgICAgaWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcIm5hbWVcIiBpbiBmaXJzdCAmJiBcInR5cGVcIiBpbiBmaXJzdCkge1xuXHRcdCAgY29uc3QgcmVzdWx0ID0gRGF0YWJhc2VGYWNhZGUudXBkYXRlTmFtZWQoc3FsLCBKU09OLnN0cmluZ2lmeShhcnIpLCBkYXRhc291cmNlTmFtZSk7XG5cdFx0ICByZXR1cm4gcmVzdWx0O1xuXHQgICAgfVxuXG5cdCAgICAvLyBUeXBlZFVwZGF0ZVBhcmFtZXRlciAoaGFzIHR5cGUsIG5vIG5hbWUpXG5cdCAgICBpZiAoZmlyc3QgJiYgdHlwZW9mIGZpcnN0ID09PSBcIm9iamVjdFwiICYmIFwidHlwZVwiIGluIGZpcnN0ICYmICEoXCJuYW1lXCIgaW4gZmlyc3QpKSB7XG5cdFx0ICBjb25zdCByZXN1bHQgPSBEYXRhYmFzZUZhY2FkZS51cGRhdGUoc3FsLCBKU09OLnN0cmluZ2lmeShhcnIpLCBkYXRhc291cmNlTmFtZSk7XG5cdCAgICAgIHJldHVybiByZXN1bHQ7XG5cdCAgICB9XG5cblx0ICAgIC8vIFByaW1pdGl2ZSBhcnJheTsgbnVsbC91bmRlZmluZWQgYXJlIHZhbGlkIHZhbHVlcyAtIHRoZXkgYmluZCBhcyBTUUwgTlVMTFxuXHQgICAgaWYgKFxuXHQgICAgICBhcnIuZXZlcnkoXG5cdCAgICAgICAgKHYpID0+XG5cdCAgICAgICAgICB2ID09PSBudWxsIHx8XG5cdCAgICAgICAgICB2ID09PSB1bmRlZmluZWQgfHxcblx0ICAgICAgICAgIHR5cGVvZiB2ID09PSBcInN0cmluZ1wiIHx8XG5cdCAgICAgICAgICB0eXBlb2YgdiA9PT0gXCJudW1iZXJcIiB8fFxuXHQgICAgICAgICAgdHlwZW9mIHYgPT09IFwiYm9vbGVhblwiIHx8XG5cdCAgICAgICAgICB2IGluc3RhbmNlb2YgRGF0ZVx0XHRcdCAgfHxcblx0XHRcdCAgXHQgIEFycmF5LmlzQXJyYXkodilcblx0ICAgICAgKVxuXHQgICAgKSB7XG5cdFx0ICBjb25zdCByZXN1bHQgPSBEYXRhYmFzZUZhY2FkZS51cGRhdGUoc3FsLCBKU09OLnN0cmluZ2lmeShhcnIpLCBkYXRhc291cmNlTmFtZSk7XG5cdFx0ICByZXR1cm4gcmVzdWx0O1xuXHQgICAgfVxuXG5cdCAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBwYXJhbWV0ZXIgZm9ybWF0OiBcIiArIEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFVwZGF0ZTtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF1Q0EsTUFBTSxpQkFBaUIsS0FBSyxLQUFLLHdEQUF3RDtBQXdCbEYsTUFBTSxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVW5CLE9BQWMsUUFBUSxLQUFhLFlBQXdHLGdCQUFpQztBQUMzSyxRQUFJLE1BQWEsQ0FBQztBQUVmLFFBQUksY0FBYyxNQUFNO0FBQ3RCLFlBQU0sQ0FBQztBQUFBLElBQ1QsV0FBVyxPQUFPLGVBQWUsVUFBVTtBQUN6QyxVQUFJO0FBQ0YsY0FBTSxTQUFTLEtBQUssTUFBTSxVQUFVO0FBQ3BDLFlBQUksQ0FBQyxNQUFNLFFBQVEsTUFBTSxHQUFHO0FBQzFCLGdCQUFNLElBQUksTUFBTSxvREFBb0Q7QUFBQSxRQUN0RTtBQUNBLGNBQU07QUFBQSxNQUNSLFNBQVMsR0FBRztBQUNWLGNBQU0sSUFBSSxNQUFNLDhCQUE4QixDQUFDO0FBQUEsTUFDakQ7QUFBQSxJQUNGLFdBQVcsTUFBTSxRQUFRLFVBQVUsR0FBRztBQUNwQyxZQUFNO0FBQUEsSUFDUixPQUFPO0FBQ0wsWUFBTSxJQUFJLE1BQU0scURBQXFEO0FBQUEsSUFDdkU7QUFFQSxRQUFJLElBQUksV0FBVyxHQUFHO0FBQ3ZCLFlBQU0sU0FBUyxlQUFlLE9BQU8sS0FBSyxNQUFNLGNBQWM7QUFDM0QsYUFBTztBQUFBLElBQ1Q7QUFFQSxVQUFNLFFBQVEsSUFBSSxDQUFDO0FBR25CLFFBQUksU0FBUyxPQUFPLFVBQVUsWUFBWSxVQUFVLFNBQVMsVUFBVSxPQUFPO0FBQy9FLFlBQU0sU0FBUyxlQUFlLFlBQVksS0FBSyxLQUFLLFVBQVUsR0FBRyxHQUFHLGNBQWM7QUFDbEYsYUFBTztBQUFBLElBQ047QUFHQSxRQUFJLFNBQVMsT0FBTyxVQUFVLFlBQVksVUFBVSxTQUFTLEVBQUUsVUFBVSxRQUFRO0FBQ2xGLFlBQU0sU0FBUyxlQUFlLE9BQU8sS0FBSyxLQUFLLFVBQVUsR0FBRyxHQUFHLGNBQWM7QUFDMUUsYUFBTztBQUFBLElBQ1Q7QUFHQSxRQUNFLElBQUk7QUFBQSxNQUNGLENBQUMsTUFDQyxNQUFNLFFBQ04sTUFBTSxVQUNOLE9BQU8sTUFBTSxZQUNiLE9BQU8sTUFBTSxZQUNiLE9BQU8sTUFBTSxhQUNiLGFBQWEsUUFDaEIsTUFBTSxRQUFRLENBQUM7QUFBQSxJQUNoQixHQUNBO0FBQ0gsWUFBTSxTQUFTLGVBQWUsT0FBTyxLQUFLLEtBQUssVUFBVSxHQUFHLEdBQUcsY0FBYztBQUM3RSxhQUFPO0FBQUEsSUFDTjtBQUVBLFVBQU0sSUFBSSxNQUFNLG1DQUFtQyxLQUFLLFVBQVUsVUFBVSxDQUFDO0FBQUEsRUFDakY7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -65,6 +65,9 @@ class Scheduler {
|
|
|
65
65
|
/**
|
|
66
66
|
* Triggers the immediate execution of a job.
|
|
67
67
|
*
|
|
68
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
69
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
70
|
+
*
|
|
68
71
|
* @param name The name of the job to trigger.
|
|
69
72
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
70
73
|
*/
|
|
@@ -237,6 +240,9 @@ class Job {
|
|
|
237
240
|
/**
|
|
238
241
|
* Triggers the immediate execution of this job instance.
|
|
239
242
|
*
|
|
243
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
244
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
245
|
+
*
|
|
240
246
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
241
247
|
*/
|
|
242
248
|
trigger(parameters = {}) {
|
|
@@ -347,4 +353,4 @@ class JobParameter {
|
|
|
347
353
|
if (typeof module !== "undefined") {
|
|
348
354
|
module.exports = Scheduler;
|
|
349
355
|
}
|
|
350
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBqb2Ivc2NoZWR1bGVyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvam9iXG4gKiBAbmFtZSBTY2hlZHVsZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBtYW5hZ2luZyBzY2hlZHVsZWQgam9icyBhbmQgdGFza3Mgd2l0aGluIHRoZSBwbGF0Zm9ybS4gSXQgYWxsb3dzIHVzZXJzIHRvIHJldHJpZXZlIGpvYiBkZWZpbml0aW9ucywgZW5hYmxlIG9yIGRpc2FibGUgam9icywgdHJpZ2dlciBpbW1lZGlhdGUgZXhlY3V0aW9uLCBhbmQgbG9nIG91dHB1dCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWMgam9iIGluc3RhbmNlcy4gVGhlIFNjaGVkdWxlciBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBqb2Igc2NoZWR1bGluZyBzeXN0ZW0gdG8gZmFjaWxpdGF0ZSB0aGUgZXhlY3V0aW9uIG9mIHJlY3VycmluZyB0YXNrcyBiYXNlZCBvbiBjcm9uIGV4cHJlc3Npb25zIG9yIG90aGVyIHNjaGVkdWxpbmcgY3JpdGVyaWEuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqSm9iIFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIHJldHJpZXZlIGFsbCBqb2IgZGVmaW5pdGlvbnMgb3IgYSBzcGVjaWZpYyBqb2IgYnkgbmFtZS5cbiAqIC0gKipKb2IgQ29udHJvbCoqOiBNZXRob2RzIHRvIGVuYWJsZSwgZGlzYWJsZSwgb3IgdHJpZ2dlciBqb2JzIG9uIGRlbWFuZC5cbiAqIC0gKipMb2dnaW5nKio6IE1ldGhvZHMgdG8gbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzIChzdGFuZGFyZCwgZXJyb3IsIHdhcm5pbmcsIGluZm8pIGZvciBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlRhc2sgU2NoZWR1bGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhlIFNjaGVkdWxlciB0byBtYW5hZ2UgdGFza3MgdGhhdCBuZWVkIHRvIHJ1biBhdCBzcGVjaWZpYyBpbnRlcnZhbHMsIHN1Y2ggYXMgZGF0YSBjbGVhbnVwLCByZXBvcnQgZ2VuZXJhdGlvbiwgb3IgYW55IHJlY3VycmluZyBiYWNrZ3JvdW5kIHByb2Nlc3NpbmcuXG4gKiAtICoqTW9uaXRvcmluZyBhbmQgRGVidWdnaW5nKio6IFRoZSBsb2dnaW5nIG1ldGhvZHMgYWxsb3cgZGV2ZWxvcGVycyB0byB0cmFjayB0aGUgZXhlY3V0aW9uIG9mIGpvYnMgYW5kIGRpYWdub3NlIGlzc3VlcyBieSBhc3NvY2lhdGluZyBsb2cgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2pvYlwiO1xuICogXG4gKiAvLyBSZXRyaWV2ZSBhbGwgam9iIGRlZmluaXRpb25zXG4gKiBjb25zdCBqb2JzID0gU2NoZWR1bGVyLmdldEpvYnMoKTtcbiAqIGNvbnNvbGUubG9nKGpvYnMpO1xuICogXG4gKiAvLyBFbmFibGUgYSBzcGVjaWZpYyBqb2JcbiAqIFNjaGVkdWxlci5lbmFibGUoXCJteVNjaGVkdWxlZEpvYlwiKTtcbiAqIFxuICogLy8gVHJpZ2dlciBhIGpvYiBpbW1lZGlhdGVseSB3aXRoIHBhcmFtZXRlcnNcbiAqIFNjaGVkdWxlci50cmlnZ2VyKFwibXlTY2hlZHVsZWRKb2JcIiwgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogXCJ2YWx1ZTJcIiB9KTtcbiAqIFxuICogLy8gTG9nIGEgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2VcbiAqIFNjaGVkdWxlci5sb2coXCJteVNjaGVkdWxlZEpvYlwiLCBcIlRoaXMgaXMgYSBsb2cgbWVzc2FnZSBmb3IgdGhlIGpvYiBpbnN0YW5jZS5cIik7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuXG5jb25zdCBKb2JGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuam9iLkpvYkZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBqb2Igc2NoZWR1bGVyLFxuICogb2ZmZXJpbmcgZ2xvYmFsIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtJ3MgZGVmaW5lZCBqb2JzLlxuICovXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgam9iIGRlZmluaXRpb25zIGN1cnJlbnRseSBjb25maWd1cmVkIGluIHRoZSBzeXN0ZW0uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB7QGxpbmsgSm9ifSBvYmplY3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Sm9icygpOiBKb2JbXSB7XG4gICAgICAgIGNvbnN0IGpvYnMgPSBuZXcgQXJyYXk8Sm9iPigpO1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9ucyA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYnMoKSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiBqb2JEZWZpbml0aW9ucykge1xuICAgICAgICAgICAgam9icy5wdXNoKG5ldyBKb2IoZGVmaW5pdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2JzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBkZWZpbml0aW9uIGJ5IGl0cyB1bmlxdWUgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgSm9ifSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYihuYW1lOiBzdHJpbmcpOiBKb2Ige1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gSlNPTi5wYXJzZShKb2JGYWNhZGUuZ2V0Sm9iKG5hbWUpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2Ioam9iRGVmaW5pdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyBhIGpvYiwgYWxsb3dpbmcgaXQgdG8gYmUgZXhlY3V0ZWQgYWNjb3JkaW5nIHRvIGl0cyBzY2hlZHVsZSAoY3JvbiBleHByZXNzaW9uKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZW5hYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5hYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGEgam9iLCBwcmV2ZW50aW5nIGl0IGZyb20gZXhlY3V0aW5nIG9uIGl0cyBzY2hlZHVsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZGlzYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRpc2FibGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIGEgam9iLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHJpZ2dlcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcihuYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgbG9nIGNvbnRleHQgbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBqb2IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGFzc29jaWF0ZSB0aGUgbG9nIHdpdGguXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBsb2cobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyhuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXJyb3IobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVycm9yKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3YXJuKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZm8obmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8obmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzY2hlZHVsZWQgam9iIGRlZmluaXRpb24uXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBqb2IgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9naWNhbCBncm91cGluZyBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGdyb3VwIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ3JvdXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSmF2YSBjbGFzcyBuYW1lIChmb3IgSmF2YS1iYXNlZCBqb2JzKSBvciBzY3JpcHQgZmlsZSBuYW1lIChmb3Igc2NyaXB0LWJhc2VkIGpvYnMpLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgaW1wbGVtZW50YXRpb24gY2xhc3MvZmlsZSBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDbGF6eigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNsYXp6O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBqb2IncyBwdXJwb3NlLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3JvbiBleHByZXNzaW9uIGRlZmluaW5nIHRoZSBqb2IncyBzY2hlZHVsZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JvbiBleHByZXNzaW9uIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXhwcmVzc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFuZGxlciBmaWxlIHBhdGggb3IgcmVzb3VyY2UgbmFtZSBmb3Igc2NyaXB0LWJhc2VkIGpvYnMuXG4gICAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgcGF0aC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFuZGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhbmRsZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCAnSmF2YVNjcmlwdCcsICdKYXZhJykuXG4gICAgICogQHJldHVybnMgVGhlIGVuZ2luZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRFbmdpbmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmdpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY29uZmlndXJlZCBhcyBhIHNpbmdsZXRvbiAob25seSBvbmUgaW5zdGFuY2UgcnVucyBhdCBhIHRpbWUpLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGpvYiBpcyBhIHNpbmdsZXRvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2luZ2xldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNpbmdsZXRvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGpvYiBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3Igc2NoZWR1bGVkIGV4ZWN1dGlvbi5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmFibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXIgSUQgd2hvIGNyZWF0ZWQgdGhlIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdG9yJ3MgdXNlciBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3JlYXRlZEJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBqb2IgZGVmaW5pdGlvbiB3YXMgY3JlYXRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRpb24gdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRBdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRBdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcnN9IG9iamVjdCBjb250YWluaW5nIGFsbCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKCk6IEpvYlBhcmFtZXRlcnMge1xuICAgICAgICByZXR1cm4gbmV3IEpvYlBhcmFtZXRlcnModGhpcy5kYXRhLnBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgZm9yIGEgc3BlY2lmaWMgcGFyYW1ldGVyIG9mIHRoaXMgam9iLlxuICAgICAqIEl0IGNoZWNrcyBmb3IgYW4gb3ZlcnJpZGluZyB2YWx1ZSBpbiB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIGZpcnN0LFxuICAgICAqIGFuZCBmYWxscyBiYWNrIHRvIHRoZSBkZWZpbmVkIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlcidzIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCB2YWx1ZSwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZGF0YS5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXJhbWV0ZXJzW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIG92ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkpvYiBpcyBub3QgdmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmRpc2FibGUodGhpcy5nZXROYW1lKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGpvYiBleGVjdXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHRyaWdnZXIocGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS50cmlnZ2VyKHRoaXMuZ2V0TmFtZSgpLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbG9nIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUubG9nKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgaW5mb3JtYXRpb24gbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuaW5mbyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyBmb3IgYSB7QGxpbmsgSm9ifS5cbiAqL1xuY2xhc3MgSm9iUGFyYW1ldGVycyB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueVtdXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgcmF3IGpvYiBwYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBwYXJhbWV0ZXIgYnkgaXRzIGluZGV4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGkgVGhlIGluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgaW4gdGhlIGFycmF5LlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoaTogbnVtYmVyKTogSm9iUGFyYW1ldGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXIodGhpcy5kYXRhW2ldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBwYXJhbWV0ZXIgZGVmaW5pdGlvbiBmb3IgYSBqb2IuXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlciB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgKGUuZy4sICdTdHJpbmcnLCAnSW50ZWdlcicsICdCb29sZWFuJykuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHByZWRlZmluZWQgY2hvaWNlcyBmb3IgdGhlIHBhcmFtZXRlciwgaWYgYXBwbGljYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjaG9pY2Ugc3RyaW5ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hvaWNlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY2hvaWNlcztcbiAgICB9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTY2hlZHVsZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQ0Esa0JBQStCO0FBRS9CLE1BQU0sWUFBWSxLQUFLLEtBQUssb0RBQW9EO0FBTXpFLE1BQU0sVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9uQixPQUFjLFVBQWlCO0FBQzNCLFVBQU0sT0FBTyxJQUFJLE1BQVc7QUFDNUIsVUFBTSxpQkFBaUIsS0FBSyxNQUFNLFVBQVUsUUFBUSxDQUFDO0FBQ3JELGVBQVcsY0FBYyxnQkFBZ0I7QUFDckMsV0FBSyxLQUFLLElBQUksSUFBSSxVQUFVLENBQUM7QUFBQSxJQUNqQztBQUNBLFdBQU87QUFBQSxFQUNYO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLE9BQU8sTUFBbUI7QUFDcEMsVUFBTSxnQkFBZ0IsS0FBSyxNQUFNLFVBQVUsT0FBTyxJQUFJLENBQUM7QUFDdkQsV0FBTyxJQUFJLElBQUksYUFBYTtBQUFBLEVBQ2hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsT0FBYyxPQUFPLE1BQW9CO0FBQ3JDLGNBQVUsT0FBTyxJQUFJO0FBQUEsRUFDekI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLFFBQVEsTUFBb0I7QUFDdEMsY0FBVSxRQUFRLElBQUk7QUFBQSxFQUMxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxRQUFRLE1BQWMsYUFBd0MsQ0FBQyxHQUFTO0FBQ2xGLGNBQVUsUUFBUSxNQUFNLEtBQUssVUFBVSxVQUFVLENBQUM7QUFBQSxFQUN0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
|
|
356
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBqb2Ivc2NoZWR1bGVyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvam9iXG4gKiBAbmFtZSBTY2hlZHVsZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBtYW5hZ2luZyBzY2hlZHVsZWQgam9icyBhbmQgdGFza3Mgd2l0aGluIHRoZSBwbGF0Zm9ybS4gSXQgYWxsb3dzIHVzZXJzIHRvIHJldHJpZXZlIGpvYiBkZWZpbml0aW9ucywgZW5hYmxlIG9yIGRpc2FibGUgam9icywgdHJpZ2dlciBpbW1lZGlhdGUgZXhlY3V0aW9uLCBhbmQgbG9nIG91dHB1dCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWMgam9iIGluc3RhbmNlcy4gVGhlIFNjaGVkdWxlciBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBqb2Igc2NoZWR1bGluZyBzeXN0ZW0gdG8gZmFjaWxpdGF0ZSB0aGUgZXhlY3V0aW9uIG9mIHJlY3VycmluZyB0YXNrcyBiYXNlZCBvbiBjcm9uIGV4cHJlc3Npb25zIG9yIG90aGVyIHNjaGVkdWxpbmcgY3JpdGVyaWEuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqSm9iIFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIHJldHJpZXZlIGFsbCBqb2IgZGVmaW5pdGlvbnMgb3IgYSBzcGVjaWZpYyBqb2IgYnkgbmFtZS5cbiAqIC0gKipKb2IgQ29udHJvbCoqOiBNZXRob2RzIHRvIGVuYWJsZSwgZGlzYWJsZSwgb3IgdHJpZ2dlciBqb2JzIG9uIGRlbWFuZC5cbiAqIC0gKipMb2dnaW5nKio6IE1ldGhvZHMgdG8gbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzIChzdGFuZGFyZCwgZXJyb3IsIHdhcm5pbmcsIGluZm8pIGZvciBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlRhc2sgU2NoZWR1bGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhlIFNjaGVkdWxlciB0byBtYW5hZ2UgdGFza3MgdGhhdCBuZWVkIHRvIHJ1biBhdCBzcGVjaWZpYyBpbnRlcnZhbHMsIHN1Y2ggYXMgZGF0YSBjbGVhbnVwLCByZXBvcnQgZ2VuZXJhdGlvbiwgb3IgYW55IHJlY3VycmluZyBiYWNrZ3JvdW5kIHByb2Nlc3NpbmcuXG4gKiAtICoqTW9uaXRvcmluZyBhbmQgRGVidWdnaW5nKio6IFRoZSBsb2dnaW5nIG1ldGhvZHMgYWxsb3cgZGV2ZWxvcGVycyB0byB0cmFjayB0aGUgZXhlY3V0aW9uIG9mIGpvYnMgYW5kIGRpYWdub3NlIGlzc3VlcyBieSBhc3NvY2lhdGluZyBsb2cgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2pvYlwiO1xuICogXG4gKiAvLyBSZXRyaWV2ZSBhbGwgam9iIGRlZmluaXRpb25zXG4gKiBjb25zdCBqb2JzID0gU2NoZWR1bGVyLmdldEpvYnMoKTtcbiAqIGNvbnNvbGUubG9nKGpvYnMpO1xuICogXG4gKiAvLyBFbmFibGUgYSBzcGVjaWZpYyBqb2JcbiAqIFNjaGVkdWxlci5lbmFibGUoXCJteVNjaGVkdWxlZEpvYlwiKTtcbiAqIFxuICogLy8gVHJpZ2dlciBhIGpvYiBpbW1lZGlhdGVseSB3aXRoIHBhcmFtZXRlcnNcbiAqIFNjaGVkdWxlci50cmlnZ2VyKFwibXlTY2hlZHVsZWRKb2JcIiwgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogXCJ2YWx1ZTJcIiB9KTtcbiAqIFxuICogLy8gTG9nIGEgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2VcbiAqIFNjaGVkdWxlci5sb2coXCJteVNjaGVkdWxlZEpvYlwiLCBcIlRoaXMgaXMgYSBsb2cgbWVzc2FnZSBmb3IgdGhlIGpvYiBpbnN0YW5jZS5cIik7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuXG5jb25zdCBKb2JGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuam9iLkpvYkZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBqb2Igc2NoZWR1bGVyLFxuICogb2ZmZXJpbmcgZ2xvYmFsIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtJ3MgZGVmaW5lZCBqb2JzLlxuICovXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgam9iIGRlZmluaXRpb25zIGN1cnJlbnRseSBjb25maWd1cmVkIGluIHRoZSBzeXN0ZW0uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB7QGxpbmsgSm9ifSBvYmplY3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Sm9icygpOiBKb2JbXSB7XG4gICAgICAgIGNvbnN0IGpvYnMgPSBuZXcgQXJyYXk8Sm9iPigpO1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9ucyA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYnMoKSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiBqb2JEZWZpbml0aW9ucykge1xuICAgICAgICAgICAgam9icy5wdXNoKG5ldyBKb2IoZGVmaW5pdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2JzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBkZWZpbml0aW9uIGJ5IGl0cyB1bmlxdWUgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgSm9ifSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYihuYW1lOiBzdHJpbmcpOiBKb2Ige1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gSlNPTi5wYXJzZShKb2JGYWNhZGUuZ2V0Sm9iKG5hbWUpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2Ioam9iRGVmaW5pdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyBhIGpvYiwgYWxsb3dpbmcgaXQgdG8gYmUgZXhlY3V0ZWQgYWNjb3JkaW5nIHRvIGl0cyBzY2hlZHVsZSAoY3JvbiBleHByZXNzaW9uKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZW5hYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5hYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGEgam9iLCBwcmV2ZW50aW5nIGl0IGZyb20gZXhlY3V0aW5nIG9uIGl0cyBzY2hlZHVsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZGlzYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRpc2FibGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIGEgam9iLlxuICAgICAqXG4gICAgICogT25seSB0aGUgcGFyYW1ldGVycyB0aGUgam9iIGFydGVmYWN0IGRlY2xhcmVzIG1heSBiZSBwYXNzZWQgLSBhbnl0aGluZyBlbHNlIGlzIHJlamVjdGVkLlxuICAgICAqIFRoZSB2YWx1ZXMgYXJlIHZpc2libGUgYXMgY29uZmlndXJhdGlvbnMgdG8gdGhlIGpvYiBib2R5IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHJ1biBvbmx5LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHJpZ2dlcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcihuYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgbG9nIGNvbnRleHQgbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBqb2IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGFzc29jaWF0ZSB0aGUgbG9nIHdpdGguXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBsb2cobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyhuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXJyb3IobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVycm9yKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3YXJuKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZm8obmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8obmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzY2hlZHVsZWQgam9iIGRlZmluaXRpb24uXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBqb2IgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9naWNhbCBncm91cGluZyBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGdyb3VwIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ3JvdXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSmF2YSBjbGFzcyBuYW1lIChmb3IgSmF2YS1iYXNlZCBqb2JzKSBvciBzY3JpcHQgZmlsZSBuYW1lIChmb3Igc2NyaXB0LWJhc2VkIGpvYnMpLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgaW1wbGVtZW50YXRpb24gY2xhc3MvZmlsZSBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDbGF6eigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNsYXp6O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBqb2IncyBwdXJwb3NlLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3JvbiBleHByZXNzaW9uIGRlZmluaW5nIHRoZSBqb2IncyBzY2hlZHVsZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JvbiBleHByZXNzaW9uIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXhwcmVzc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFuZGxlciBmaWxlIHBhdGggb3IgcmVzb3VyY2UgbmFtZSBmb3Igc2NyaXB0LWJhc2VkIGpvYnMuXG4gICAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgcGF0aC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFuZGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhbmRsZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCAnSmF2YVNjcmlwdCcsICdKYXZhJykuXG4gICAgICogQHJldHVybnMgVGhlIGVuZ2luZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRFbmdpbmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmdpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY29uZmlndXJlZCBhcyBhIHNpbmdsZXRvbiAob25seSBvbmUgaW5zdGFuY2UgcnVucyBhdCBhIHRpbWUpLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGpvYiBpcyBhIHNpbmdsZXRvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2luZ2xldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNpbmdsZXRvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGpvYiBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3Igc2NoZWR1bGVkIGV4ZWN1dGlvbi5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmFibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXIgSUQgd2hvIGNyZWF0ZWQgdGhlIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdG9yJ3MgdXNlciBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3JlYXRlZEJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBqb2IgZGVmaW5pdGlvbiB3YXMgY3JlYXRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRpb24gdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRBdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRBdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcnN9IG9iamVjdCBjb250YWluaW5nIGFsbCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKCk6IEpvYlBhcmFtZXRlcnMge1xuICAgICAgICByZXR1cm4gbmV3IEpvYlBhcmFtZXRlcnModGhpcy5kYXRhLnBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgZm9yIGEgc3BlY2lmaWMgcGFyYW1ldGVyIG9mIHRoaXMgam9iLlxuICAgICAqIEl0IGNoZWNrcyBmb3IgYW4gb3ZlcnJpZGluZyB2YWx1ZSBpbiB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIGZpcnN0LFxuICAgICAqIGFuZCBmYWxscyBiYWNrIHRvIHRoZSBkZWZpbmVkIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlcidzIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCB2YWx1ZSwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZGF0YS5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXJhbWV0ZXJzW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIG92ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkpvYiBpcyBub3QgdmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmRpc2FibGUodGhpcy5nZXROYW1lKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogT25seSB0aGUgcGFyYW1ldGVycyB0aGUgam9iIGFydGVmYWN0IGRlY2xhcmVzIG1heSBiZSBwYXNzZWQgLSBhbnl0aGluZyBlbHNlIGlzIHJlamVjdGVkLlxuICAgICAqIFRoZSB2YWx1ZXMgYXJlIHZpc2libGUgYXMgY29uZmlndXJhdGlvbnMgdG8gdGhlIGpvYiBib2R5IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHJ1biBvbmx5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGpvYiBleGVjdXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHRyaWdnZXIocGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS50cmlnZ2VyKHRoaXMuZ2V0TmFtZSgpLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbG9nIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUubG9nKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgaW5mb3JtYXRpb24gbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuaW5mbyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyBmb3IgYSB7QGxpbmsgSm9ifS5cbiAqL1xuY2xhc3MgSm9iUGFyYW1ldGVycyB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueVtdXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgcmF3IGpvYiBwYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBwYXJhbWV0ZXIgYnkgaXRzIGluZGV4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGkgVGhlIGluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgaW4gdGhlIGFycmF5LlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoaTogbnVtYmVyKTogSm9iUGFyYW1ldGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXIodGhpcy5kYXRhW2ldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBwYXJhbWV0ZXIgZGVmaW5pdGlvbiBmb3IgYSBqb2IuXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlciB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgKGUuZy4sICdTdHJpbmcnLCAnSW50ZWdlcicsICdCb29sZWFuJykuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHByZWRlZmluZWQgY2hvaWNlcyBmb3IgdGhlIHBhcmFtZXRlciwgaWYgYXBwbGljYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjaG9pY2Ugc3RyaW5ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hvaWNlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY2hvaWNlcztcbiAgICB9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTY2hlZHVsZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQ0Esa0JBQStCO0FBRS9CLE1BQU0sWUFBWSxLQUFLLEtBQUssb0RBQW9EO0FBTXpFLE1BQU0sVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9uQixPQUFjLFVBQWlCO0FBQzNCLFVBQU0sT0FBTyxJQUFJLE1BQVc7QUFDNUIsVUFBTSxpQkFBaUIsS0FBSyxNQUFNLFVBQVUsUUFBUSxDQUFDO0FBQ3JELGVBQVcsY0FBYyxnQkFBZ0I7QUFDckMsV0FBSyxLQUFLLElBQUksSUFBSSxVQUFVLENBQUM7QUFBQSxJQUNqQztBQUNBLFdBQU87QUFBQSxFQUNYO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
|
package/dist/dts/db/query.d.ts
CHANGED
|
@@ -60,7 +60,7 @@ export declare class Query {
|
|
|
60
60
|
* @param formatting Optional formatting parameters for the result set (e.g., date format).
|
|
61
61
|
* @returns An array of records representing the query results.
|
|
62
62
|
*/
|
|
63
|
-
static execute(sql: string, parameters?: (string | number | boolean | Date | TypedQueryParameter | NamedQueryParameter)[] | string, datasourceName?: string, formatting?: FormattingParameter): any[];
|
|
63
|
+
static execute(sql: string, parameters?: (string | number | boolean | Date | null | TypedQueryParameter | NamedQueryParameter)[] | string, datasourceName?: string, formatting?: FormattingParameter): any[];
|
|
64
64
|
/**
|
|
65
65
|
* Executes a SQL query with named parameters (e.g., ":name", ":id").
|
|
66
66
|
*
|
package/dist/dts/db/store.d.ts
CHANGED
|
@@ -140,13 +140,13 @@ export declare class Store {
|
|
|
140
140
|
* @param offset Number of results to skip.
|
|
141
141
|
* @returns An array of JavaScript objects.
|
|
142
142
|
*/
|
|
143
|
-
static query(query: string, parameters?: (string | number | boolean | Date | TypedQueryParameter | NamedQueryParameter)[], limit?: number, offset?: number): any[];
|
|
143
|
+
static query(query: string, parameters?: (string | number | boolean | Date | null | TypedQueryParameter | NamedQueryParameter)[], limit?: number, offset?: number): any[];
|
|
144
144
|
/**
|
|
145
145
|
* Queries all entries for a given entity name without pagination.
|
|
146
146
|
* @param query The entity/table name.
|
|
147
147
|
* @returns An array of all JavaScript objects.
|
|
148
148
|
*/
|
|
149
|
-
static queryNative(query: string, parameters?: (string | number | boolean | Date | TypedQueryParameter | NamedQueryParameter)[], limit?: number, offset?: number): any[];
|
|
149
|
+
static queryNative(query: string, parameters?: (string | number | boolean | Date | null | TypedQueryParameter | NamedQueryParameter)[], limit?: number, offset?: number): any[];
|
|
150
150
|
/**
|
|
151
151
|
* Gets the name of the entity associated with the store name.
|
|
152
152
|
*/
|
package/dist/dts/db/update.d.ts
CHANGED
|
@@ -64,5 +64,5 @@ export declare class Update {
|
|
|
64
64
|
* @param datasourceName The name of the database connection to use (optional).
|
|
65
65
|
* @returns The number of rows affected by the statement.
|
|
66
66
|
*/
|
|
67
|
-
static execute(sql: string, parameters?: (string | number | boolean | Date | TypedUpdateParameter | NamedUpdateParameter)[], datasourceName?: string): number;
|
|
67
|
+
static execute(sql: string, parameters?: (string | number | boolean | Date | null | TypedUpdateParameter | NamedUpdateParameter)[], datasourceName?: string): number;
|
|
68
68
|
}
|
|
@@ -66,6 +66,9 @@ export declare class Scheduler {
|
|
|
66
66
|
/**
|
|
67
67
|
* Triggers the immediate execution of a job.
|
|
68
68
|
*
|
|
69
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
70
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
71
|
+
*
|
|
69
72
|
* @param name The name of the job to trigger.
|
|
70
73
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
71
74
|
*/
|
|
@@ -191,6 +194,9 @@ declare class Job {
|
|
|
191
194
|
/**
|
|
192
195
|
* Triggers the immediate execution of this job instance.
|
|
193
196
|
*
|
|
197
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
198
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
199
|
+
*
|
|
194
200
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
195
201
|
*/
|
|
196
202
|
trigger(parameters?: {
|
package/dist/esm/db/query.mjs
CHANGED
|
@@ -54,7 +54,7 @@ class Query {
|
|
|
54
54
|
return JSON.parse(resultset);
|
|
55
55
|
}
|
|
56
56
|
if (arr.every(
|
|
57
|
-
(v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
57
|
+
(v) => v === null || v === void 0 || typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
58
58
|
)) {
|
|
59
59
|
const resultset = DatabaseFacade.query(
|
|
60
60
|
sql,
|
|
@@ -108,4 +108,4 @@ if (typeof module !== "undefined") {
|
|
|
108
108
|
export {
|
|
109
109
|
Query
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3F1ZXJ5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZGIvcXVlcnlcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9kYlxuICogQG5hbWUgUXVlcnlcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBRdWVyeWAgY2xhc3MgZm9yIGV4ZWN1dGluZyBwYXJhbWV0ZXJpemVkIFNRTCBTRUxFQ1Qgc3RhdGVtZW50cyBhZ2FpbnN0IGEgZGF0YWJhc2UgaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBRdWVyeWAgY2xhc3Mgc3VwcG9ydHMgYm90aCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgKHVzaW5nICc/JyBwbGFjZWhvbGRlcnMpIGFuZCBuYW1lZCBwYXJhbWV0ZXJzICh1c2luZyAnOnBhcmFtTmFtZScgcGxhY2Vob2xkZXJzKSwgYWxsb3dpbmcgZm9yIGZsZXhpYmxlIHF1ZXJ5IGNvbnN0cnVjdGlvbiBhbmQgZXhlY3V0aW9uLiBJdCBhbHNvIGluY2x1ZGVzIG9wdGlvbnMgZm9yIGZvcm1hdHRpbmcgdGhlIHJlc3VsdCBzZXQsIHN1Y2ggYXMgc3BlY2lmeWluZyBkYXRlIGZvcm1hdHMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipQYXJhbWV0ZXJpemVkIFF1ZXJpZXMqKjogU3VwcG9ydHMgYm90aCBwb3NpdGlvbmFsIGFuZCBuYW1lZCBwYXJhbWV0ZXJzIGZvciBzZWN1cmUgYW5kIGVmZmljaWVudCBxdWVyeSBleGVjdXRpb24uXG4gKiAtICoqUmVzdWx0IEZvcm1hdHRpbmcqKjogQWxsb3dzIGZvciBjdXN0b20gZm9ybWF0dGluZyBvZiBxdWVyeSByZXN1bHRzLCBpbmNsdWRpbmcgZGF0ZSBmb3JtYXR0aW5nIG9wdGlvbnMuXG4gKiAtICoqSlNPTiBJbnB1dCBTdXBwb3J0Kio6IEFjY2VwdHMgcGFyYW1ldGVycyBhcyBKU09OIHN0cmluZ3Mgb3IgSmF2YVNjcmlwdCBhcnJheXMsIHByb3ZpZGluZyBmbGV4aWJpbGl0eSBpbiBob3cgcGFyYW1ldGVycyBhcmUgcGFzc2VkIHRvIHRoZSBxdWVyeS5cbiAqIC0gKipFcnJvciBIYW5kbGluZyoqOiBQcm92aWRlcyByb2J1c3QgZXJyb3IgaGFuZGxpbmcgZm9yIGludmFsaWQgcGFyYW1ldGVyIGZvcm1hdHMgYW5kIEpTT04gcGFyc2luZyBpc3N1ZXMuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXNcbiAqIC0gRXhlY3V0aW5nIGNvbXBsZXggU1FMIHF1ZXJpZXMgd2l0aCBkeW5hbWljIHBhcmFtZXRlcnMgaW4gYSBzZWN1cmUgbWFubmVyIHRvIHByZXZlbnQgU1FMIGluamVjdGlvbi5cbiAqIC0gRm9ybWF0dGluZyBxdWVyeSByZXN1bHRzIGFjY29yZGluZyB0byBzcGVjaWZpYyByZXF1aXJlbWVudHMsIHN1Y2ggYXMgZGF0ZSBmb3JtYXRzIG9yIGN1c3RvbSBkYXRhIHRyYW5zZm9ybWF0aW9ucy5cbiAqIC0gSW50ZWdyYXRpbmcgd2l0aCBvdGhlciBtb2R1bGVzIHRoYXQgZ2VuZXJhdGUgcGFyYW1ldGVycyBpbiBKU09OIGZvcm1hdCwgZW5hYmxpbmcgc2VhbWxlc3MgZGF0YSBmbG93IHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2RiXCI7XG4gKiBcbiAqIC8vIFBvc2l0aW9uYWwgcGFyYW1ldGVycyBleGFtcGxlXG4gKiBjb25zdCByZXN1bHQxID0gUXVlcnkuZXhlY3V0ZShcIlNFTEVDVCAqIEZST00gVXNlcnMgV0hFUkUgYWdlID4gP1wiLCBbMzBdKTtcbiAqIGNvbnNvbGUubG9nKHJlc3VsdDEpOyAvLyBPdXRwdXQ6IFt7IGlkOiAxLCBuYW1lOiBcIkFsaWNlXCIsIGFnZTogMzUgfSwgeyBpZDogMiwgbmFtZTogXCJCb2JcIiwgYWdlOiA0MCB9XVxuICogYGBgXG4gKi9cblxuY29uc3QgRGF0YWJhc2VGYWNhZGUgPSBKYXZhLnR5cGUoXG4gIFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmRiLkRhdGFiYXNlRmFjYWRlXCIsXG4pO1xuXG4vKipcbiAqIEludGVyZmFjZSB1c2VkIHRvIHdyYXAgY29tcGxleCBvciBzcGVjaWZpYyB2YWx1ZXMgZm9yIG5vbi1uYW1lZCBxdWVyaWVzLlxuICovXG5leHBvcnQgdHlwZSBUeXBlZFF1ZXJ5UGFyYW1ldGVyID0ge1xuICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZhbHVlOiB1bmtub3duO1xufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgYSBwYXJhbWV0ZXIgZm9yIGEgbmFtZWQgcXVlcnkgKHVzaW5nIHBsYWNlaG9sZGVycyBsaWtlIDpwYXJhbU5hbWUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVkUXVlcnlQYXJhbWV0ZXIge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWU6IGFueTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgdG8gc3BlY2lmeSBmb3JtYXR0aW5nIG9wdGlvbnMgZm9yIHRoZSBxdWVyeSByZXN1bHQgc2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRpbmdQYXJhbWV0ZXIge1xuICByZWFkb25seSBkYXRlRm9ybWF0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgZm9yIGV4ZWN1dGluZyBwYXJhbWV0ZXJpemVkIFNRTCBTRUxFQ1Qgc3RhdGVtZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFF1ZXJ5IHtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgc3RhbmRhcmQgU1FMIHF1ZXJ5IHdpdGggcG9zaXRpb25hbCBwYXJhbWV0ZXJzLiBQYXJhbWV0ZXJzIGFycmF5IHN1cHBvcnRzIHByaW1pdGl2ZXMgZS5nLiBgWzEsICdKb2huJywgMzQuNTZdYCBvciBvYmplY3RzIGluIGZvcm1hdCBlaXRoZXIgYHsndHlwZSc6J1tEQVRBX1RZUEVdJywgJ3ZhbHVlJzpbVkFMVUVdfWAgb3IgYHsnbmFtZSc6J1tzdHJpbmddJywgJ3R5cGUnOidbREFUQV9UWVBFXScsICd2YWx1ZSc6W1ZBTFVFXX1gIGUuZy4gYFt7J3R5cGUnOidDSEFSJywgJ3ZhbHVlJzonSVNCTjE5MjAyMzIzMzIyJ31dYCBvciBgW3snbmFtZSc6ICdvcmRlcl9udW1iZXInLCAndHlwZSc6J0NIQVInLCAndmFsdWUnOidJU0JOMTkyMDIzMjMzMjInfV1gXG4gICAqXG4gICAqIEBwYXJhbSBzcWwgVGhlIFNRTCBxdWVyeSB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvcHRpb25hbCBhcnJheSBvZiB2YWx1ZXMgKHByaW1pdGl2ZXMsIFR5cGVkUXVlcnlQYXJhbWV0ZXIgb3IgTmFtZWRRdWVyeVBhcmFtZXRlciBvYmplY3RzKSB0byByZXBsYWNlICc/JyBvciA6cGFyYW1OYW1lIHBsYWNlaG9sZGVycy5cbiAgICogQHBhcmFtIGRhdGFzb3VyY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIHRvIHVzZSAob3B0aW9uYWwpLlxuICAgKiBAcGFyYW0gZm9ybWF0dGluZyBPcHRpb25hbCBmb3JtYXR0aW5nIHBhcmFtZXRlcnMgZm9yIHRoZSByZXN1bHQgc2V0IChlLmcuLCBkYXRlIGZvcm1hdCkuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlY29yZHMgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSByZXN1bHRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBleGVjdXRlKFxuICAgIHNxbDogc3RyaW5nLFxuICAgIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBUeXBlZFF1ZXJ5UGFyYW1ldGVyIHwgTmFtZWRRdWVyeVBhcmFtZXRlcilbXSB8IHN0cmluZyxcbiAgICBkYXRhc291cmNlTmFtZT86IHN0cmluZyxcbiAgICBmb3JtYXR0aW5nPzogRm9ybWF0dGluZ1BhcmFtZXRlcixcbiAgKTogYW55W10ge1xuICAgIGNvbnN0IGZvcm1hdHRpbmdKc29uID0gZm9ybWF0dGluZyA/IEpTT04uc3RyaW5naWZ5KGZvcm1hdHRpbmcpIDogdW5kZWZpbmVkO1xuXG4gICAgbGV0IGFycjogYW55W10gPSBbXTtcblxuICAgIGlmIChwYXJhbWV0ZXJzID09IG51bGwpIHtcbiAgICAgIGFyciA9IFtdO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtZXRlcnMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcGFyYW1ldGVyIHN0cmluZyBtdXN0IHJlcHJlc2VudCBhIEpTT04gYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICAgICAgYXJyID0gcGFyc2VkO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1ldGVycykpIHtcbiAgICAgIGFyciA9IHBhcmFtZXRlcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhcmFtZXRlcnMgbXVzdCBiZSBlaXRoZXIgYW4gYXJyYXkgb3IgYSBKU09OIHN0cmluZ1wiKTtcbiAgICB9XG5cbiAgICBpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgY29uc3QgcmVzdWx0c2V0ID0gRGF0YWJhc2VGYWNhZGUucXVlcnkoc3FsLCBudWxsLCBkYXRhc291cmNlTmFtZSwgZm9ybWF0dGluZ0pzb24pO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0c2V0KTtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdCA9IGFyclswXTtcblxuICAgIC8vIE5hbWVkUXVlcnlQYXJhbWV0ZXIgKGhhcyBuYW1lICsgdHlwZSlcbiAgICBpZiAoZmlyc3QgJiYgdHlwZW9mIGZpcnN0ID09PSBcIm9iamVjdFwiICYmIFwibmFtZVwiIGluIGZpcnN0ICYmIFwidHlwZVwiIGluIGZpcnN0KSB7XG4gICAgICBjb25zdCByZXN1bHRzZXQgPSBEYXRhYmFzZUZhY2FkZS5xdWVyeU5hbWVkKFxuICAgICAgICBzcWwsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KGFyciksXG4gICAgICAgIGRhdGFzb3VyY2VOYW1lXG4gICAgICApO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0c2V0KTtcbiAgICB9XG5cbiAgICAvLyBUeXBlZFF1ZXJ5UGFyYW1ldGVyIChoYXMgdHlwZSwgbm8gbmFtZSlcbiAgICBpZiAoZmlyc3QgJiYgdHlwZW9mIGZpcnN0ID09PSBcIm9iamVjdFwiICYmIFwidHlwZVwiIGluIGZpcnN0ICYmICEoXCJuYW1lXCIgaW4gZmlyc3QpKSB7XG4gICAgICBjb25zdCByZXN1bHRzZXQgPSBEYXRhYmFzZUZhY2FkZS5xdWVyeShcbiAgICAgICAgc3FsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShhcnIpLFxuICAgICAgICBkYXRhc291cmNlTmFtZSxcbiAgICAgICAgZm9ybWF0dGluZ0pzb25cbiAgICAgICk7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRzZXQpO1xuICAgIH1cblxuICAgIC8vIFByaW1pdGl2ZSBhcnJheVxuICAgIGlmIChcbiAgICAgIGFyci5ldmVyeShcbiAgICAgICAgKHYpID0+XG4gICAgICAgICAgdHlwZW9mIHYgPT09IFwic3RyaW5nXCIgfHxcbiAgICAgICAgICB0eXBlb2YgdiA9PT0gXCJudW1iZXJcIiB8fFxuICAgICAgICAgIHR5cGVvZiB2ID09PSBcImJvb2xlYW5cIiB8fFxuICAgICAgICAgIHYgaW5zdGFuY2VvZiBEYXRlIHx8XG5cdFx0ICBBcnJheS5pc0FycmF5KHYpXG4gICAgICApXG4gICAgKSB7XG4gICAgICBjb25zdCByZXN1bHRzZXQgPSBEYXRhYmFzZUZhY2FkZS5xdWVyeShcbiAgICAgICAgc3FsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShhcnIpLFxuICAgICAgICBkYXRhc291cmNlTmFtZSxcbiAgICAgICAgZm9ybWF0dGluZ0pzb25cbiAgICAgICk7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRzZXQpO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIHBhcmFtZXRlciBmb3JtYXQ6IFwiICsgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykpO1xuICB9XG5cblxuICAvKipcbiAgICogRXhlY3V0ZXMgYSBTUUwgcXVlcnkgd2l0aCBuYW1lZCBwYXJhbWV0ZXJzIChlLmcuLCBcIjpuYW1lXCIsIFwiOmlkXCIpLlxuICAgKlxuICAgKiBAcGFyYW0gc3FsIFRoZSBTUUwgcXVlcnkgdG8gZXhlY3V0ZS5cbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgQW4gb3B0aW9uYWwgYXJyYXkgb2YgTmFtZWRRdWVyeVBhcmFtZXRlciBvYmplY3RzLlxuICAgKiBAcGFyYW0gZGF0YXNvdXJjZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gdG8gdXNlIChvcHRpb25hbCkuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlY29yZHMgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSByZXN1bHRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBleGVjdXRlTmFtZWQoXG4gICAgc3FsOiBzdHJpbmcsXG4gICAgcGFyYW1ldGVycz86IE5hbWVkUXVlcnlQYXJhbWV0ZXJbXSxcbiAgICBkYXRhc291cmNlTmFtZT86IHN0cmluZyxcbiAgKTogYW55W10ge1xuICAgIC8vIFNlcmlhbGl6ZSB0aGUgYXJyYXkgb2YgbmFtZWQgcGFyYW1ldGVycyBmb3IgdGhlIEphdmEgZmFjYWRlXG4gICAgY29uc3QgcGFyYW1zSnNvbiA9IHBhcmFtZXRlcnMgPyBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSA6IHVuZGVmaW5lZDtcblxuICAgIC8vIFRoZSBEYXRhYmFzZUZhY2FkZSByZXR1cm5zIGEgSlNPTiBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHJlc3VsdCBzZXRcbiAgICBjb25zdCByZXN1bHRzZXQgPSBEYXRhYmFzZUZhY2FkZS5xdWVyeU5hbWVkKFxuICAgICAgc3FsLFxuICAgICAgcGFyYW1zSnNvbixcbiAgICAgIGRhdGFzb3VyY2VOYW1lLFxuICAgICk7XG5cbiAgICAvLyBQYXJzZSB0aGUgSlNPTiBzdHJpbmcgYmFjayBpbnRvIGEgSmF2YVNjcmlwdCBhcnJheSBvZiBvYmplY3RzXG4gICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0c2V0KTtcbiAgfVxuICBcbiAgLyoqXG4gICAgICogRXhwb3J0cyBhIFNRTCBxdWVyeSB3aXRoIG5hbWVkIHBhcmFtZXRlcnMgKGUuZy4sIFwiOm5hbWVcIiwgXCI6aWRcIikuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc3FsIFRoZSBTUUwgcXVlcnkgdG8gZXhlY3V0ZS5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvcHRpb25hbCBhcnJheSBvZiBOYW1lZFF1ZXJ5UGFyYW1ldGVyIG9iamVjdHMuXG4gICAgICogQHBhcmFtIGRhdGFzb3VyY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIHRvIHVzZSAob3B0aW9uYWwpLlxuXHQgKiBAcGFyYW0gZmlsZU5hbWUgVGhlIGZpbGUgbmFtZSBwYXR0ZXJuLlxuICAgICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlY29yZHMgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSByZXN1bHRzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXhwb3J0Q3N2KFxuICAgICAgc3FsOiBzdHJpbmcsXG5cdCAgcGFyYW1ldGVycz86IE5hbWVkUXVlcnlQYXJhbWV0ZXJbXSxcbiAgICAgIGRhdGFzb3VyY2VOYW1lPzogc3RyaW5nLFxuXHQgIGZpbGVOYW1lPzogc3RyaW5nXG4gICAgKSB7XG5cdFx0Ly8gU2VyaWFsaXplIHRoZSBhcnJheSBvZiBuYW1lZCBwYXJhbWV0ZXJzIGZvciB0aGUgSmF2YSBmYWNhZGVcblx0XHRjb25zdCBwYXJhbXNKc29uID0gcGFyYW1ldGVycyA/IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpIDogdW5kZWZpbmVkO1xuXHRcdFx0XG5cdCAgICBEYXRhYmFzZUZhY2FkZS5leHBvcnRUb0Nzdihcblx0ICAgICAgICBzcWwsXG5cdFx0XHRwYXJhbXNKc29uLFxuXHQgICAgICAgIGRhdGFzb3VyY2VOYW1lLFxuXHRcdFx0ZmlsZU5hbWVcblx0ICAgICAgKTtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gIC8vIEB0cy1pZ25vcmVcbiAgbW9kdWxlLmV4cG9ydHMgPSBRdWVyeTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQTZCQSxNQUFNLGlCQUFpQixLQUFLO0FBQUEsRUFDMUI7QUFDRjtBQTZCTyxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVqQixPQUFjLFFBQ1osS0FDQSxZQUNBLGdCQUNBLFlBQ087QUFDUCxVQUFNLGlCQUFpQixhQUFhLEtBQUssVUFBVSxVQUFVLElBQUk7QUFFakUsUUFBSSxNQUFhLENBQUM7QUFFbEIsUUFBSSxjQUFjLE1BQU07QUFDdEIsWUFBTSxDQUFDO0FBQUEsSUFDVCxXQUFXLE9BQU8sZUFBZSxVQUFVO0FBQ3pDLFVBQUk7QUFDRixjQUFNLFNBQVMsS0FBSyxNQUFNLFVBQVU7QUFDcEMsWUFBSSxDQUFDLE1BQU0sUUFBUSxNQUFNLEdBQUc7QUFDMUIsZ0JBQU0sSUFBSSxNQUFNLG9EQUFvRDtBQUFBLFFBQ3RFO0FBQ0EsY0FBTTtBQUFBLE1BQ1IsU0FBUyxHQUFHO0FBQ1YsY0FBTSxJQUFJLE1BQU0sOEJBQThCLENBQUM7QUFBQSxNQUNqRDtBQUFBLElBQ0YsV0FBVyxNQUFNLFFBQVEsVUFBVSxHQUFHO0FBQ3BDLFlBQU07QUFBQSxJQUNSLE9BQU87QUFDTCxZQUFNLElBQUksTUFBTSxxREFBcUQ7QUFBQSxJQUN2RTtBQUVBLFFBQUksSUFBSSxXQUFXLEdBQUc7QUFDcEIsWUFBTSxZQUFZLGVBQWUsTUFBTSxLQUFLLE1BQU0sZ0JBQWdCLGNBQWM7QUFDaEYsYUFBTyxLQUFLLE1BQU0sU0FBUztBQUFBLElBQzdCO0FBRUEsVUFBTSxRQUFRLElBQUksQ0FBQztBQUduQixRQUFJLFNBQVMsT0FBTyxVQUFVLFlBQVksVUFBVSxTQUFTLFVBQVUsT0FBTztBQUM1RSxZQUFNLFlBQVksZUFBZTtBQUFBLFFBQy9CO0FBQUEsUUFDQSxLQUFLLFVBQVUsR0FBRztBQUFBLFFBQ2xCO0FBQUEsTUFDRjtBQUNBLGFBQU8sS0FBSyxNQUFNLFNBQVM7QUFBQSxJQUM3QjtBQUdBLFFBQUksU0FBUyxPQUFPLFVBQVUsWUFBWSxVQUFVLFNBQVMsRUFBRSxVQUFVLFFBQVE7QUFDL0UsWUFBTSxZQUFZLGVBQWU7QUFBQSxRQUMvQjtBQUFBLFFBQ0EsS0FBSyxVQUFVLEdBQUc7QUFBQSxRQUNsQjtBQUFBLFFBQ0E7QUFBQSxNQUNGO0FBQ0EsYUFBTyxLQUFLLE1BQU0sU0FBUztBQUFBLElBQzdCO0FBR0EsUUFDRSxJQUFJO0FBQUEsTUFDRixDQUFDLE1BQ0MsT0FBTyxNQUFNLFlBQ2IsT0FBTyxNQUFNLFlBQ2IsT0FBTyxNQUFNLGFBQ2IsYUFBYSxRQUNuQixNQUFNLFFBQVEsQ0FBQztBQUFBLElBQ2IsR0FDQTtBQUNBLFlBQU0sWUFBWSxlQUFlO0FBQUEsUUFDL0I7QUFBQSxRQUNBLEtBQUssVUFBVSxHQUFHO0FBQUEsUUFDbEI7QUFBQSxRQUNBO0FBQUEsTUFDRjtBQUNBLGFBQU8sS0FBSyxNQUFNLFNBQVM7QUFBQSxJQUM3QjtBQUVBLFVBQU0sSUFBSSxNQUFNLG1DQUFtQyxLQUFLLFVBQVUsVUFBVSxDQUFDO0FBQUEsRUFDL0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXQSxPQUFjLGFBQ1osS0FDQSxZQUNBLGdCQUNPO0FBRVAsVUFBTSxhQUFhLGFBQWEsS0FBSyxVQUFVLFVBQVUsSUFBSTtBQUc3RCxVQUFNLFlBQVksZUFBZTtBQUFBLE1BQy9CO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUNGO0FBR0EsV0FBTyxLQUFLLE1BQU0sU0FBUztBQUFBLEVBQzdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXRSxPQUFjLFVBQ1osS0FDSCxZQUNHLGdCQUNILFVBQ0c7QUFFSixVQUFNLGFBQWEsYUFBYSxLQUFLLFVBQVUsVUFBVSxJQUFJO0FBRTFELG1CQUFlO0FBQUEsTUFDWDtBQUFBLE1BQ047QUFBQSxNQUNNO0FBQUEsTUFDTjtBQUFBLElBQ0k7QUFBQSxFQUNIO0FBQ0o7QUFHQSxJQUFJLE9BQU8sV0FBVyxhQUFhO0FBRWpDLFNBQU8sVUFBVTtBQUNuQjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3F1ZXJ5LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZGIvcXVlcnlcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9kYlxuICogQG5hbWUgUXVlcnlcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBRdWVyeWAgY2xhc3MgZm9yIGV4ZWN1dGluZyBwYXJhbWV0ZXJpemVkIFNRTCBTRUxFQ1Qgc3RhdGVtZW50cyBhZ2FpbnN0IGEgZGF0YWJhc2UgaW4gdGhlIERpcmlnaWJsZSBlbnZpcm9ubWVudC4gVGhlIGBRdWVyeWAgY2xhc3Mgc3VwcG9ydHMgYm90aCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgKHVzaW5nICc/JyBwbGFjZWhvbGRlcnMpIGFuZCBuYW1lZCBwYXJhbWV0ZXJzICh1c2luZyAnOnBhcmFtTmFtZScgcGxhY2Vob2xkZXJzKSwgYWxsb3dpbmcgZm9yIGZsZXhpYmxlIHF1ZXJ5IGNvbnN0cnVjdGlvbiBhbmQgZXhlY3V0aW9uLiBJdCBhbHNvIGluY2x1ZGVzIG9wdGlvbnMgZm9yIGZvcm1hdHRpbmcgdGhlIHJlc3VsdCBzZXQsIHN1Y2ggYXMgc3BlY2lmeWluZyBkYXRlIGZvcm1hdHMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipQYXJhbWV0ZXJpemVkIFF1ZXJpZXMqKjogU3VwcG9ydHMgYm90aCBwb3NpdGlvbmFsIGFuZCBuYW1lZCBwYXJhbWV0ZXJzIGZvciBzZWN1cmUgYW5kIGVmZmljaWVudCBxdWVyeSBleGVjdXRpb24uXG4gKiAtICoqUmVzdWx0IEZvcm1hdHRpbmcqKjogQWxsb3dzIGZvciBjdXN0b20gZm9ybWF0dGluZyBvZiBxdWVyeSByZXN1bHRzLCBpbmNsdWRpbmcgZGF0ZSBmb3JtYXR0aW5nIG9wdGlvbnMuXG4gKiAtICoqSlNPTiBJbnB1dCBTdXBwb3J0Kio6IEFjY2VwdHMgcGFyYW1ldGVycyBhcyBKU09OIHN0cmluZ3Mgb3IgSmF2YVNjcmlwdCBhcnJheXMsIHByb3ZpZGluZyBmbGV4aWJpbGl0eSBpbiBob3cgcGFyYW1ldGVycyBhcmUgcGFzc2VkIHRvIHRoZSBxdWVyeS5cbiAqIC0gKipFcnJvciBIYW5kbGluZyoqOiBQcm92aWRlcyByb2J1c3QgZXJyb3IgaGFuZGxpbmcgZm9yIGludmFsaWQgcGFyYW1ldGVyIGZvcm1hdHMgYW5kIEpTT04gcGFyc2luZyBpc3N1ZXMuXG4gKiBcbiAqICMjIyBVc2UgQ2FzZXNcbiAqIC0gRXhlY3V0aW5nIGNvbXBsZXggU1FMIHF1ZXJpZXMgd2l0aCBkeW5hbWljIHBhcmFtZXRlcnMgaW4gYSBzZWN1cmUgbWFubmVyIHRvIHByZXZlbnQgU1FMIGluamVjdGlvbi5cbiAqIC0gRm9ybWF0dGluZyBxdWVyeSByZXN1bHRzIGFjY29yZGluZyB0byBzcGVjaWZpYyByZXF1aXJlbWVudHMsIHN1Y2ggYXMgZGF0ZSBmb3JtYXRzIG9yIGN1c3RvbSBkYXRhIHRyYW5zZm9ybWF0aW9ucy5cbiAqIC0gSW50ZWdyYXRpbmcgd2l0aCBvdGhlciBtb2R1bGVzIHRoYXQgZ2VuZXJhdGUgcGFyYW1ldGVycyBpbiBKU09OIGZvcm1hdCwgZW5hYmxpbmcgc2VhbWxlc3MgZGF0YSBmbG93IHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBcbiAqICMjIyBFeGFtcGxlIFVzYWdlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2RiXCI7XG4gKiBcbiAqIC8vIFBvc2l0aW9uYWwgcGFyYW1ldGVycyBleGFtcGxlXG4gKiBjb25zdCByZXN1bHQxID0gUXVlcnkuZXhlY3V0ZShcIlNFTEVDVCAqIEZST00gVXNlcnMgV0hFUkUgYWdlID4gP1wiLCBbMzBdKTtcbiAqIGNvbnNvbGUubG9nKHJlc3VsdDEpOyAvLyBPdXRwdXQ6IFt7IGlkOiAxLCBuYW1lOiBcIkFsaWNlXCIsIGFnZTogMzUgfSwgeyBpZDogMiwgbmFtZTogXCJCb2JcIiwgYWdlOiA0MCB9XVxuICogYGBgXG4gKi9cblxuY29uc3QgRGF0YWJhc2VGYWNhZGUgPSBKYXZhLnR5cGUoXG4gIFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmRiLkRhdGFiYXNlRmFjYWRlXCIsXG4pO1xuXG4vKipcbiAqIEludGVyZmFjZSB1c2VkIHRvIHdyYXAgY29tcGxleCBvciBzcGVjaWZpYyB2YWx1ZXMgZm9yIG5vbi1uYW1lZCBxdWVyaWVzLlxuICovXG5leHBvcnQgdHlwZSBUeXBlZFF1ZXJ5UGFyYW1ldGVyID0ge1xuICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZhbHVlOiB1bmtub3duO1xufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZGVmaW5pbmcgYSBwYXJhbWV0ZXIgZm9yIGEgbmFtZWQgcXVlcnkgKHVzaW5nIHBsYWNlaG9sZGVycyBsaWtlIDpwYXJhbU5hbWUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVkUXVlcnlQYXJhbWV0ZXIge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWU6IGFueTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgdG8gc3BlY2lmeSBmb3JtYXR0aW5nIG9wdGlvbnMgZm9yIHRoZSBxdWVyeSByZXN1bHQgc2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdHRpbmdQYXJhbWV0ZXIge1xuICByZWFkb25seSBkYXRlRm9ybWF0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgc3RhdGljIG1ldGhvZHMgZm9yIGV4ZWN1dGluZyBwYXJhbWV0ZXJpemVkIFNRTCBTRUxFQ1Qgc3RhdGVtZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFF1ZXJ5IHtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgc3RhbmRhcmQgU1FMIHF1ZXJ5IHdpdGggcG9zaXRpb25hbCBwYXJhbWV0ZXJzLiBQYXJhbWV0ZXJzIGFycmF5IHN1cHBvcnRzIHByaW1pdGl2ZXMgZS5nLiBgWzEsICdKb2huJywgMzQuNTZdYCBvciBvYmplY3RzIGluIGZvcm1hdCBlaXRoZXIgYHsndHlwZSc6J1tEQVRBX1RZUEVdJywgJ3ZhbHVlJzpbVkFMVUVdfWAgb3IgYHsnbmFtZSc6J1tzdHJpbmddJywgJ3R5cGUnOidbREFUQV9UWVBFXScsICd2YWx1ZSc6W1ZBTFVFXX1gIGUuZy4gYFt7J3R5cGUnOidDSEFSJywgJ3ZhbHVlJzonSVNCTjE5MjAyMzIzMzIyJ31dYCBvciBgW3snbmFtZSc6ICdvcmRlcl9udW1iZXInLCAndHlwZSc6J0NIQVInLCAndmFsdWUnOidJU0JOMTkyMDIzMjMzMjInfV1gXG4gICAqXG4gICAqIEBwYXJhbSBzcWwgVGhlIFNRTCBxdWVyeSB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvcHRpb25hbCBhcnJheSBvZiB2YWx1ZXMgKHByaW1pdGl2ZXMsIFR5cGVkUXVlcnlQYXJhbWV0ZXIgb3IgTmFtZWRRdWVyeVBhcmFtZXRlciBvYmplY3RzKSB0byByZXBsYWNlICc/JyBvciA6cGFyYW1OYW1lIHBsYWNlaG9sZGVycy5cbiAgICogQHBhcmFtIGRhdGFzb3VyY2VOYW1lIFRoZSBuYW1lIG9mIHRoZSBkYXRhYmFzZSBjb25uZWN0aW9uIHRvIHVzZSAob3B0aW9uYWwpLlxuICAgKiBAcGFyYW0gZm9ybWF0dGluZyBPcHRpb25hbCBmb3JtYXR0aW5nIHBhcmFtZXRlcnMgZm9yIHRoZSByZXN1bHQgc2V0IChlLmcuLCBkYXRlIGZvcm1hdCkuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlY29yZHMgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSByZXN1bHRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBleGVjdXRlKFxuICAgIHNxbDogc3RyaW5nLFxuICAgIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBudWxsIHwgVHlwZWRRdWVyeVBhcmFtZXRlciB8IE5hbWVkUXVlcnlQYXJhbWV0ZXIpW10gfCBzdHJpbmcsXG4gICAgZGF0YXNvdXJjZU5hbWU/OiBzdHJpbmcsXG4gICAgZm9ybWF0dGluZz86IEZvcm1hdHRpbmdQYXJhbWV0ZXIsXG4gICk6IGFueVtdIHtcbiAgICBjb25zdCBmb3JtYXR0aW5nSnNvbiA9IGZvcm1hdHRpbmcgPyBKU09OLnN0cmluZ2lmeShmb3JtYXR0aW5nKSA6IHVuZGVmaW5lZDtcblxuICAgIGxldCBhcnI6IGFueVtdID0gW107XG5cbiAgICBpZiAocGFyYW1ldGVycyA9PSBudWxsKSB7XG4gICAgICBhcnIgPSBbXTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBwYXJhbWV0ZXJzID09PSBcInN0cmluZ1wiKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHBhcmFtZXRlcnMpO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocGFyc2VkKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIklucHV0IHBhcmFtZXRlciBzdHJpbmcgbXVzdCByZXByZXNlbnQgYSBKU09OIGFycmF5XCIpO1xuICAgICAgICB9XG4gICAgICAgIGFyciA9IHBhcnNlZDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBKU09OIHBhcmFtZXRlcnM6IFwiICsgZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHBhcmFtZXRlcnMpKSB7XG4gICAgICBhcnIgPSBwYXJhbWV0ZXJzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXJhbWV0ZXJzIG11c3QgYmUgZWl0aGVyIGFuIGFycmF5IG9yIGEgSlNPTiBzdHJpbmdcIik7XG4gICAgfVxuXG4gICAgaWYgKGFyci5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHJlc3VsdHNldCA9IERhdGFiYXNlRmFjYWRlLnF1ZXJ5KHNxbCwgbnVsbCwgZGF0YXNvdXJjZU5hbWUsIGZvcm1hdHRpbmdKc29uKTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdHNldCk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlyc3QgPSBhcnJbMF07XG5cbiAgICAvLyBOYW1lZFF1ZXJ5UGFyYW1ldGVyIChoYXMgbmFtZSArIHR5cGUpXG4gICAgaWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcIm5hbWVcIiBpbiBmaXJzdCAmJiBcInR5cGVcIiBpbiBmaXJzdCkge1xuICAgICAgY29uc3QgcmVzdWx0c2V0ID0gRGF0YWJhc2VGYWNhZGUucXVlcnlOYW1lZChcbiAgICAgICAgc3FsLFxuICAgICAgICBKU09OLnN0cmluZ2lmeShhcnIpLFxuICAgICAgICBkYXRhc291cmNlTmFtZVxuICAgICAgKTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdHNldCk7XG4gICAgfVxuXG4gICAgLy8gVHlwZWRRdWVyeVBhcmFtZXRlciAoaGFzIHR5cGUsIG5vIG5hbWUpXG4gICAgaWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcInR5cGVcIiBpbiBmaXJzdCAmJiAhKFwibmFtZVwiIGluIGZpcnN0KSkge1xuICAgICAgY29uc3QgcmVzdWx0c2V0ID0gRGF0YWJhc2VGYWNhZGUucXVlcnkoXG4gICAgICAgIHNxbCxcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoYXJyKSxcbiAgICAgICAgZGF0YXNvdXJjZU5hbWUsXG4gICAgICAgIGZvcm1hdHRpbmdKc29uXG4gICAgICApO1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UocmVzdWx0c2V0KTtcbiAgICB9XG5cbiAgICAvLyBQcmltaXRpdmUgYXJyYXk7IG51bGwvdW5kZWZpbmVkIGFyZSB2YWxpZCB2YWx1ZXMgLSB0aGV5IGJpbmQgYXMgU1FMIE5VTExcbiAgICBpZiAoXG4gICAgICBhcnIuZXZlcnkoXG4gICAgICAgICh2KSA9PlxuICAgICAgICAgIHYgPT09IG51bGwgfHxcbiAgICAgICAgICB2ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICB0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIiB8fFxuICAgICAgICAgIHR5cGVvZiB2ID09PSBcIm51bWJlclwiIHx8XG4gICAgICAgICAgdHlwZW9mIHYgPT09IFwiYm9vbGVhblwiIHx8XG4gICAgICAgICAgdiBpbnN0YW5jZW9mIERhdGUgfHxcblx0XHQgIEFycmF5LmlzQXJyYXkodilcbiAgICAgIClcbiAgICApIHtcbiAgICAgIGNvbnN0IHJlc3VsdHNldCA9IERhdGFiYXNlRmFjYWRlLnF1ZXJ5KFxuICAgICAgICBzcWwsXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KGFyciksXG4gICAgICAgIGRhdGFzb3VyY2VOYW1lLFxuICAgICAgICBmb3JtYXR0aW5nSnNvblxuICAgICAgKTtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHJlc3VsdHNldCk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgcGFyYW1ldGVyIGZvcm1hdDogXCIgKyBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyBhIFNRTCBxdWVyeSB3aXRoIG5hbWVkIHBhcmFtZXRlcnMgKGUuZy4sIFwiOm5hbWVcIiwgXCI6aWRcIikuXG4gICAqXG4gICAqIEBwYXJhbSBzcWwgVGhlIFNRTCBxdWVyeSB0byBleGVjdXRlLlxuICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvcHRpb25hbCBhcnJheSBvZiBOYW1lZFF1ZXJ5UGFyYW1ldGVyIG9iamVjdHMuXG4gICAqIEBwYXJhbSBkYXRhc291cmNlTmFtZSBUaGUgbmFtZSBvZiB0aGUgZGF0YWJhc2UgY29ubmVjdGlvbiB0byB1c2UgKG9wdGlvbmFsKS5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcmVjb3JkcyByZXByZXNlbnRpbmcgdGhlIHF1ZXJ5IHJlc3VsdHMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGV4ZWN1dGVOYW1lZChcbiAgICBzcWw6IHN0cmluZyxcbiAgICBwYXJhbWV0ZXJzPzogTmFtZWRRdWVyeVBhcmFtZXRlcltdLFxuICAgIGRhdGFzb3VyY2VOYW1lPzogc3RyaW5nLFxuICApOiBhbnlbXSB7XG4gICAgLy8gU2VyaWFsaXplIHRoZSBhcnJheSBvZiBuYW1lZCBwYXJhbWV0ZXJzIGZvciB0aGUgSmF2YSBmYWNhZGVcbiAgICBjb25zdCBwYXJhbXNKc29uID0gcGFyYW1ldGVycyA/IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpIDogdW5kZWZpbmVkO1xuXG4gICAgLy8gVGhlIERhdGFiYXNlRmFjYWRlIHJldHVybnMgYSBKU09OIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVzdWx0IHNldFxuICAgIGNvbnN0IHJlc3VsdHNldCA9IERhdGFiYXNlRmFjYWRlLnF1ZXJ5TmFtZWQoXG4gICAgICBzcWwsXG4gICAgICBwYXJhbXNKc29uLFxuICAgICAgZGF0YXNvdXJjZU5hbWUsXG4gICAgKTtcblxuICAgIC8vIFBhcnNlIHRoZSBKU09OIHN0cmluZyBiYWNrIGludG8gYSBKYXZhU2NyaXB0IGFycmF5IG9mIG9iamVjdHNcbiAgICByZXR1cm4gSlNPTi5wYXJzZShyZXN1bHRzZXQpO1xuICB9XG4gIFxuICAvKipcbiAgICAgKiBFeHBvcnRzIGEgU1FMIHF1ZXJ5IHdpdGggbmFtZWQgcGFyYW1ldGVycyAoZS5nLiwgXCI6bmFtZVwiLCBcIjppZFwiKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzcWwgVGhlIFNRTCBxdWVyeSB0byBleGVjdXRlLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9wdGlvbmFsIGFycmF5IG9mIE5hbWVkUXVlcnlQYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKiBAcGFyYW0gZGF0YXNvdXJjZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gdG8gdXNlIChvcHRpb25hbCkuXG5cdCAqIEBwYXJhbSBmaWxlTmFtZSBUaGUgZmlsZSBuYW1lIHBhdHRlcm4uXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgcmVjb3JkcyByZXByZXNlbnRpbmcgdGhlIHF1ZXJ5IHJlc3VsdHMuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBleHBvcnRDc3YoXG4gICAgICBzcWw6IHN0cmluZyxcblx0ICBwYXJhbWV0ZXJzPzogTmFtZWRRdWVyeVBhcmFtZXRlcltdLFxuICAgICAgZGF0YXNvdXJjZU5hbWU/OiBzdHJpbmcsXG5cdCAgZmlsZU5hbWU/OiBzdHJpbmdcbiAgICApIHtcblx0XHQvLyBTZXJpYWxpemUgdGhlIGFycmF5IG9mIG5hbWVkIHBhcmFtZXRlcnMgZm9yIHRoZSBKYXZhIGZhY2FkZVxuXHRcdGNvbnN0IHBhcmFtc0pzb24gPSBwYXJhbWV0ZXJzID8gSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykgOiB1bmRlZmluZWQ7XG5cdFx0XHRcblx0ICAgIERhdGFiYXNlRmFjYWRlLmV4cG9ydFRvQ3N2KFxuXHQgICAgICAgIHNxbCxcblx0XHRcdHBhcmFtc0pzb24sXG5cdCAgICAgICAgZGF0YXNvdXJjZU5hbWUsXG5cdFx0XHRmaWxlTmFtZVxuXHQgICAgICApO1xuICAgIH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtb2R1bGUuZXhwb3J0cyA9IFF1ZXJ5O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBNkJBLE1BQU0saUJBQWlCLEtBQUs7QUFBQSxFQUMxQjtBQUNGO0FBNkJPLE1BQU0sTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVWpCLE9BQWMsUUFDWixLQUNBLFlBQ0EsZ0JBQ0EsWUFDTztBQUNQLFVBQU0saUJBQWlCLGFBQWEsS0FBSyxVQUFVLFVBQVUsSUFBSTtBQUVqRSxRQUFJLE1BQWEsQ0FBQztBQUVsQixRQUFJLGNBQWMsTUFBTTtBQUN0QixZQUFNLENBQUM7QUFBQSxJQUNULFdBQVcs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
|
package/dist/esm/db/store.mjs
CHANGED
|
@@ -136,7 +136,7 @@ class Store {
|
|
|
136
136
|
return Store.parseResult(result);
|
|
137
137
|
}
|
|
138
138
|
if (arr.every(
|
|
139
|
-
(v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
139
|
+
(v) => v === null || v === void 0 || typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
140
140
|
)) {
|
|
141
141
|
const result = DataStoreFacade.query(query, JSON.stringify(arr), limit, offset);
|
|
142
142
|
return Store.parseResult(result);
|
|
@@ -181,7 +181,7 @@ class Store {
|
|
|
181
181
|
return Store.parseResult(result);
|
|
182
182
|
}
|
|
183
183
|
if (arr.every(
|
|
184
|
-
(v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
184
|
+
(v) => v === null || v === void 0 || typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
185
185
|
)) {
|
|
186
186
|
const result = DataStoreFacade.queryNative(query, JSON.stringify(arr), limit, offset);
|
|
187
187
|
return Store.parseResult(result);
|
|
@@ -235,4 +235,4 @@ export {
|
|
|
235
235
|
Operator,
|
|
236
236
|
Store
|
|
237
237
|
};
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3N0b3JlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZGIvc3RvcmVcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9kYlxuICogQG5hbWUgU3RvcmVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBTdG9yZWAgY2xhc3MgdGhhdCBzZXJ2ZXMgYXMgYSBmYWNhZGUgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVuZGVybHlpbmcgRGlyaWdpYmxlIERhdGEgU3RvcmUuIFRoZSBgU3RvcmVgIGNsYXNzIG9mZmVycyBtZXRob2RzIGZvciBwZXJmb3JtaW5nIENSVUQgb3BlcmF0aW9ucywgZXhlY3V0aW5nIHBhcmFtZXRlcml6ZWQgcXVlcmllcywgYW5kIHJldHJpZXZpbmcgbWV0YWRhdGEgYWJvdXQgZW50aXRpZXMuIEl0IGFic3RyYWN0cyBhd2F5IHRoZSBjb21wbGV4aXRpZXMgb2YgSlNPTiBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gd2hlbiBjb21tdW5pY2F0aW5nIHdpdGggdGhlIG5hdGl2ZSBKYXZhIGZhY2FkZSwgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byB3b3JrIHdpdGggcGxhaW4gSmF2YVNjcmlwdCBvYmplY3RzIGFuZCBhcnJheXMgc2VhbWxlc3NseS5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogLSBDUlVEIE9wZXJhdGlvbnM6IENyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQgZGVsZXRlIGVudHJpZXMgaW4gdGhlIGRhdGEgc3RvcmUgdXNpbmcgc2ltcGxlIG1ldGhvZHMuXG4gKiAtIFF1ZXJ5IEV4ZWN1dGlvbjogRXhlY3V0ZSBwYXJhbWV0ZXJpemVkIHF1ZXJpZXMgd2l0aCBzdXBwb3J0IGZvciBib3RoIHByaW1pdGl2ZSBhbmQgY29tcGxleCBwYXJhbWV0ZXJzLlxuICogLSBNZXRhZGF0YSBSZXRyaWV2YWw6IEFjY2VzcyBtZXRhZGF0YSBhYm91dCBlbnRpdGllcywgc3VjaCBhcyB0YWJsZSBuYW1lcyBhbmQgSUQgZmllbGRzLlxuICogLSBKU09OIEhhbmRsaW5nOiBBdXRvbWF0aWNhbGx5IGhhbmRsZXMgSlNPTiBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gb2YgSmF2YVNjcmlwdCBvYmplY3RzIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmF0aXZlIEphdmEgQVBJcy5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBNYW5hZ2luZyBhcHBsaWNhdGlvbiBkYXRhIGluIGEgc3RydWN0dXJlZCB3YXkgdXNpbmcgdGhlIGRhdGEgc3RvcmUuXG4gKiAtIEV4ZWN1dGluZyBjb21wbGV4IHF1ZXJpZXMgd2l0aCBkeW5hbWljIHBhcmFtZXRlcnMgdG8gcmV0cmlldmUgc3BlY2lmaWMgc3Vic2V0cyBvZiBkYXRhLlxuICogLSBBYnN0cmFjdGluZyBhd2F5IGRhdGFiYXNlIGludGVyYWN0aW9ucyB0byBhbGxvdyBmb3IgZWFzaWVyIG1haW50ZW5hbmNlIGFuZCBwb3RlbnRpYWwgZnV0dXJlIGNoYW5nZXMgdG8gdGhlIHVuZGVybHlpbmcgZGF0YSBzdG9yYWdlIG1lY2hhbmlzbS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTdG9yZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvZGJcIjtcbiAqIFxuICogLy8gU2F2ZSBhIG5ldyBlbnRyeSB0byB0aGUgXCJ1c2Vyc1wiIGVudGl0eVxuICogY29uc3QgdXNlcklkID0gU3RvcmUuc2F2ZShcInVzZXJzXCIsIHsgbmFtZTogXCJBbGljZVwiLCBlbWFpbDogXCJhbGljZUBleGFtcGxlLmNvbVwiIH0pO1xuICogYGBgXG4gKi9cblxuY29uc3QgRGF0YVN0b3JlRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmRiLkRhdGFTdG9yZUZhY2FkZVwiKTtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBhdmFpbGFibGUgY29tcGFyaXNvbiBvcGVyYXRvcnMgZm9yIHF1ZXJ5IGNvbmRpdGlvbnMuXG4gKi9cbmV4cG9ydCBlbnVtIE9wZXJhdG9yIHtcblx0RVEgPSBcIj1cIiwgLy8gRXF1YWxzXG5cdE5FID0gXCI8PlwiLCAvLyBOb3QgRXF1YWxzXG5cdEdUID0gXCI+XCIsIC8vIEdyZWF0ZXIgVGhhblxuXHRMVCA9IFwiPFwiLCAvLyBMZXNzIFRoYW5cblx0R0UgPSBcIj49XCIsIC8vIEdyZWF0ZXIgVGhhbiBvciBFcXVhbHNcblx0TEUgPSBcIjw9XCIsIC8vIExlc3MgVGhhbiBvciBFcXVhbHNcblx0TElLRSA9IFwiTElLRVwiLCAvLyBTUUwgTElLRSBvcGVyYXRvclxuXHRCRVRXRUVOID0gXCJCRVRXRUVOXCIsIC8vIFNRTCBCRVRXRUVOIG9wZXJhdG9yIChyZXF1aXJlcyB0d28gdmFsdWVzKVxuXHRJTiA9IFwiSU5cIiAvLyBTUUwgSU4gb3BlcmF0b3IgKHJlcXVpcmVzIGEgTGlzdCBvciBBcnJheSBvZiB2YWx1ZXMpXG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZGlyZWN0aW9uIGZvciBzb3J0aW5nLlxuICovXG5leHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuXHRBU0MgPSBcIkFTQ1wiLCAvLyBBc2NlbmRpbmdcblx0REVTQyA9IFwiREVTQ1wiIC8vIERlc2NlbmRpbmdcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIGNvbmRpdGlvbiBmb3IgZmlsdGVyaW5nIGRhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uIHtcblx0cHJvcGVydHlOYW1lOiBzdHJpbmcsXG5cdG9wZXJhdG9yOiBPcGVyYXRvcixcblx0dmFsdWU6IGFueSB8IGFueVtdXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzb3J0aW5nIGluc3RydWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvcnQge1xuXHRwcm9wZXJ0eU5hbWU6IHN0cmluZyxcblx0ZGlyZWN0aW9uOiBEaXJlY3Rpb25cbn1cblxuLyoqXG4gKiBEZWZpbmVzIG9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIGxpc3QgYW5kIGNvdW50IG9wZXJhdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG5cdGNvbmRpdGlvbnM/OiBDb25kaXRpb25bXSxcblx0c29ydHM/OiBTb3J0W10sXG5cdGxpbWl0PzogbnVtYmVyLFxuXHRvZmZzZXQ/OiBudW1iZXIsXG5cdGxhbmd1YWdlPzogc3RyaW5nXG59XG5cbmltcG9ydCB7IFR5cGVkUXVlcnlQYXJhbWV0ZXIsIE5hbWVkUXVlcnlQYXJhbWV0ZXIgfSBmcm9tICcuL3F1ZXJ5JztcblxuLyoqXG4gKiBGYWNhZGUgY2xhc3MgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVuZGVybHlpbmcgRGlyaWdpYmxlIERhdGEgU3RvcmUuXG4gKiBBbGwgbWV0aG9kcyBzZXJpYWxpemUvZGVzZXJpYWxpemUgSmF2YVNjcmlwdCBvYmplY3RzIHRvL2Zyb20gSlNPTiBzdHJpbmdzXG4gKiBiZWZvcmUgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmF0aXZlIEphdmEgZmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuXG5cdC8qKlxuXHQgKiBTYXZlcyBhIG5ldyBlbnRyeSB0byB0aGUgZGF0YSBzdG9yZS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZW50cnkgVGhlIEphdmFTY3JpcHQgb2JqZWN0IHRvIHNhdmUuXG5cdCAqIEByZXR1cm5zIFRoZSBJRCBvZiB0aGUgbmV3bHkgY3JlYXRlZCBlbnRyeSAoc3RyaW5nIG9yIG51bWJlcikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHNhdmUobmFtZTogc3RyaW5nLCBlbnRyeTogYW55KTogc3RyaW5nIHwgbnVtYmVyIHtcblx0XHRyZXR1cm4gRGF0YVN0b3JlRmFjYWRlLnNhdmUobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbnNlcnRzIGEgbmV3IGVudHJ5IG9yIHVwZGF0ZXMgYW4gZXhpc3Rpbmcgb25lIGlmIHRoZSBJRCBpcyBwcmVzZW50LlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBlbnRyeSBUaGUgSmF2YVNjcmlwdCBvYmplY3QgdG8gaW5zZXJ0L3VwZGF0ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBzZXJ0KG5hbWU6IHN0cmluZywgZW50cnk6IGFueSk6IHZvaWQge1xuXHRcdERhdGFTdG9yZUZhY2FkZS51cHNlcnQobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIGVudHJ5LlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBlbnRyeSBUaGUgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCB0aGUgSUQgYW5kIHVwZGF0ZWQgZGF0YS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBkYXRlKG5hbWU6IHN0cmluZywgZW50cnk6IGFueSk6IHZvaWQge1xuXHRcdERhdGFTdG9yZUZhY2FkZS51cGRhdGUobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMaXN0cyBlbnRyaWVzIGJhc2VkIG9uIG9wdGlvbmFsIGZpbHRlcmluZywgc29ydGluZywgYW5kIHBhZ2luYXRpb24gb3B0aW9ucy5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCB7QGxpbmsgT3B0aW9uc30gZm9yIHF1ZXJ5IGV4ZWN1dGlvbi5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBsaXN0KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBhbnlbXSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLmxpc3QobmFtZSwgb3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogbnVsbCk7XG5cdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdH1cblxuXHQvKipcblx0ICogQ291bnRzIHRoZSBudW1iZXIgb2YgZW50cmllcyBiYXNlZCBvbiBvcHRpb25hbCBmaWx0ZXJpbmcgb3B0aW9ucy5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCB7QGxpbmsgT3B0aW9uc30gZm9yIHF1ZXJ5IGV4ZWN1dGlvbi5cblx0ICogQHJldHVybnMgVGhlIGNvdW50IG9mIG1hdGNoaW5nIGVudHJpZXMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNvdW50KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBudW1iZXIge1xuXHRcdGNvbnN0IG9wdGlvbnNTdHJpbmcgPSBvcHRpb25zID8gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgOiBudWxsO1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5jb3VudChuYW1lLCBvcHRpb25zU3RyaW5nKTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIHNpbmdsZSBlbnRyeSBieSBpdHMgSUQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50cnkuXG5cdCAqIEByZXR1cm5zIFRoZSBlbnRyeSBvYmplY3QsIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChuYW1lOiBzdHJpbmcsIGlkOiBhbnkpOiBhbnkgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5nZXQobmFtZSwgaWQpO1xuXHRcdC8vIEFzc3VtaW5nIHRoZSBuYXRpdmUgQVBJIHJldHVybnMgbnVsbC91bmRlZmluZWQgb3IgYW4gZW1wdHkgSlNPTiBzdHJpbmcgaWYgbm90IGZvdW5kLCBcblx0XHQvLyBvdGhlcndpc2UgSlNPTi5wYXJzZSBoYW5kbGVzIHRoZSBjb252ZXJzaW9uLlxuXHRcdGlmIChyZXN1bHQgPT09IG51bGwgfHwgcmVzdWx0ID09PSB1bmRlZmluZWQgfHwgcmVzdWx0ID09PSBcIlwiKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0fTtcblxuXHQvKipcblx0ICogRGVsZXRlcyBhbiBlbnRyeSBieSBpdHMgSUQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50cnkgdG8gcmVtb3ZlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByZW1vdmUobmFtZTogc3RyaW5nLCBpZDogYW55KTogdm9pZCB7XG5cdFx0RGF0YVN0b3JlRmFjYWRlLmRlbGV0ZUVudHJ5KG5hbWUsIGlkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGaW5kcyBlbnRyaWVzIG1hdGNoaW5nIGFuIGV4YW1wbGUgb2JqZWN0IChxdWVyeS1ieS1leGFtcGxlKS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZXhhbXBsZSBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIHRvIG1hdGNoLlxuXHQgKiBAcGFyYW0gbGltaXQgTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byByZXR1cm4uXG5cdCAqIEBwYXJhbSBvZmZzZXQgTnVtYmVyIG9mIHJlc3VsdHMgdG8gc2tpcC5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgbWF0Y2hpbmcgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmaW5kKG5hbWU6IHN0cmluZywgZXhhbXBsZTogYW55LCBsaW1pdDogbnVtYmVyID0gMTAwLCBvZmZzZXQ6IG51bWJlciA9IDApOiBhbnlbXSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLmZpbmQobmFtZSwgSlNPTi5zdHJpbmdpZnkoZXhhbXBsZSksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFF1ZXJpZXMgYWxsIGVudHJpZXMgZm9yIGEgZ2l2ZW4gc2NyaXB0IHdpdGggcGFnaW5hdGlvbi5cblx0ICogQHBhcmFtIHF1ZXJ5IFRoZSBxdWVyeSBzY3JpcHQuXG5cdCAqIEBwYXJhbSBsaW1pdCBNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybi5cblx0ICogQHBhcmFtIG9mZnNldCBOdW1iZXIgb2YgcmVzdWx0cyB0byBza2lwLlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBKYXZhU2NyaXB0IG9iamVjdHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHF1ZXJ5KHF1ZXJ5OiBzdHJpbmcsIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBUeXBlZFF1ZXJ5UGFyYW1ldGVyIHwgTmFtZWRRdWVyeVBhcmFtZXRlcilbXSwgbGltaXQ6IG51bWJlciA9IDEwMCwgb2Zmc2V0OiBudW1iZXIgPSAwKTogYW55W10ge1xuXHRcdGxldCBhcnI6IGFueVtdID0gW107XG5cdFx0aWYgKHBhcmFtZXRlcnMgPT0gbnVsbCkge1xuXHRcdFx0YXJyID0gW107XG5cdFx0fSBlbHNlIGlmICh0eXBlb2YgcGFyYW1ldGVycyA9PT0gXCJzdHJpbmdcIikge1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShwYXJhbWV0ZXJzKTtcblx0XHRcdFx0aWYgKCFBcnJheS5pc0FycmF5KHBhcnNlZCkpIHtcblx0XHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJJbnB1dCBwYXJhbWV0ZXIgc3RyaW5nIG11c3QgcmVwcmVzZW50IGEgSlNPTiBhcnJheVwiKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRhcnIgPSBwYXJzZWQ7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgSlNPTiBwYXJhbWV0ZXJzOiBcIiArIGUpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwYXJhbWV0ZXJzKSkge1xuXHRcdFx0YXJyID0gcGFyYW1ldGVycztcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiUGFyYW1ldGVycyBtdXN0IGJlIGVpdGhlciBhbiBhcnJheSBvciBhIEpTT04gc3RyaW5nXCIpO1xuXHRcdH1cblxuXHRcdGlmIChhcnIubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBEYXRhU3RvcmVGYWNhZGUucXVlcnkocXVlcnksIG51bGwsIGxpbWl0LCBvZmZzZXQpO1xuXHRcdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgZmlyc3QgPSBhcnJbMF07XG5cblx0XHQvLyBOYW1lZFF1ZXJ5UGFyYW1ldGVyIChoYXMgbmFtZSArIHR5cGUpXG5cdFx0aWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcIm5hbWVcIiBpbiBmaXJzdCAmJiBcInR5cGVcIiBpbiBmaXJzdCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5TmFtZWQocXVlcnksIEpTT04uc3RyaW5naWZ5KGFyciksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdFx0fVxuXG5cdFx0Ly8gVHlwZWRRdWVyeVBhcmFtZXRlciAoaGFzIHR5cGUsIG5vIG5hbWUpXG5cdFx0aWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcInR5cGVcIiBpbiBmaXJzdCAmJiAhKFwibmFtZVwiIGluIGZpcnN0KSkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5KHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdC8vIFByaW1pdGl2ZSBhcnJheVxuXHRcdGlmIChcblx0XHRcdGFyci5ldmVyeShcblx0XHRcdFx0KHYpID0+XG5cdFx0XHRcdFx0dHlwZW9mIHYgPT09IFwic3RyaW5nXCIgfHxcblx0XHRcdFx0XHR0eXBlb2YgdiA9PT0gXCJudW1iZXJcIiB8fFxuXHRcdFx0XHRcdHR5cGVvZiB2ID09PSBcImJvb2xlYW5cIiB8fFxuXHRcdFx0XHRcdHYgaW5zdGFuY2VvZiBEYXRlIHx8XG5cdFx0XHRcdFx0QXJyYXkuaXNBcnJheSh2KVxuXHRcdFx0KVxuXHRcdCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5KHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdHRocm93IG5ldyBFcnJvcihcIlVuc3VwcG9ydGVkIHBhcmFtZXRlciBmb3JtYXQ6IFwiICsgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFF1ZXJpZXMgYWxsIGVudHJpZXMgZm9yIGEgZ2l2ZW4gZW50aXR5IG5hbWUgd2l0aG91dCBwYWdpbmF0aW9uLlxuXHQgKiBAcGFyYW0gcXVlcnkgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBhbGwgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBxdWVyeU5hdGl2ZShxdWVyeTogc3RyaW5nLCBwYXJhbWV0ZXJzPzogKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBEYXRlIHwgVHlwZWRRdWVyeVBhcmFtZXRlciB8IE5hbWVkUXVlcnlQYXJhbWV0ZXIpW10sIGxpbWl0OiBudW1iZXIgPSAxMDAsIG9mZnNldDogbnVtYmVyID0gMCk6IGFueVtdIHtcblx0XHRsZXQgYXJyOiBhbnlbXSA9IFtdO1xuXHRcdGlmIChwYXJhbWV0ZXJzID09IG51bGwpIHtcblx0XHRcdGFyciA9IFtdO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtZXRlcnMgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG5cdFx0XHRcdGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcGFyYW1ldGVyIHN0cmluZyBtdXN0IHJlcHJlc2VudCBhIEpTT04gYXJyYXlcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0YXJyID0gcGFyc2VkO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1ldGVycykpIHtcblx0XHRcdGFyciA9IHBhcmFtZXRlcnM7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIlBhcmFtZXRlcnMgbXVzdCBiZSBlaXRoZXIgYW4gYXJyYXkgb3IgYSBKU09OIHN0cmluZ1wiKTtcblx0XHR9XG5cblx0XHRpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5TmF0aXZlKHF1ZXJ5LCBudWxsLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpcnN0ID0gYXJyWzBdO1xuXG5cdFx0Ly8gTmFtZWRRdWVyeVBhcmFtZXRlciAoaGFzIG5hbWUgKyB0eXBlKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJuYW1lXCIgaW4gZmlyc3QgJiYgXCJ0eXBlXCIgaW4gZmlyc3QpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZU5hbWVkKHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdC8vIFR5cGVkUXVlcnlQYXJhbWV0ZXIgKGhhcyB0eXBlLCBubyBuYW1lKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJ0eXBlXCIgaW4gZmlyc3QgJiYgIShcIm5hbWVcIiBpbiBmaXJzdCkpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZShxdWVyeSwgSlNPTi5zdHJpbmdpZnkoYXJyKSwgbGltaXQsIG9mZnNldCk7XG5cdFx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0XHR9XG5cblx0XHQvLyBQcmltaXRpdmUgYXJyYXlcblx0XHRpZiAoXG5cdFx0XHRhcnIuZXZlcnkoXG5cdFx0XHRcdCh2KSA9PlxuXHRcdFx0XHRcdHR5cGVvZiB2ID09PSBcInN0cmluZ1wiIHx8XG5cdFx0XHRcdFx0dHlwZW9mIHYgPT09IFwibnVtYmVyXCIgfHxcblx0XHRcdFx0XHR0eXBlb2YgdiA9PT0gXCJib29sZWFuXCIgfHxcblx0XHRcdFx0XHR2IGluc3RhbmNlb2YgRGF0ZSB8fFxuXHRcdFx0XHRcdEFycmF5LmlzQXJyYXkodilcblx0XHRcdClcblx0XHQpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZShxdWVyeSwgSlNPTi5zdHJpbmdpZnkoYXJyKSwgbGltaXQsIG9mZnNldCk7XG5cdFx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0XHR9XG5cblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBwYXJhbWV0ZXIgZm9ybWF0OiBcIiArIEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpKTtcblx0fVxuXG5cdC8vIC0tLSBNZXRhZGF0YSBHZXR0ZXJzIC0tLVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBlbnRpdHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdG9yZSBuYW1lLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRFbnRpdHlOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIERhdGFTdG9yZUZhY2FkZS5nZXRFbnRpdHlOYW1lKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UgdGFibGUgbmFtZSBmb3IgdGhlIGVudGl0eS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0VGFibGVOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIERhdGFTdG9yZUZhY2FkZS5nZXRUYWJsZU5hbWUobmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgcHJvcGVydHkgbmFtZSB1c2VkIGFzIHRoZSBJRCBmaWVsZCBpbiB0aGUgZW50aXR5IG9iamVjdC5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0SWROYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIERhdGFTdG9yZUZhY2FkZS5nZXRJZE5hbWUobmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgdW5kZXJseWluZyBkYXRhYmFzZSBjb2x1bW4gbmFtZSB1c2VkIGZvciB0aGUgSUQgZmllbGQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldElkQ29sdW1uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIERhdGFTdG9yZUZhY2FkZS5nZXRJZENvbHVtbihuYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZSBhIEpTT04gc3RyaW5nLlxuXHQgKiBSZXR1cm5zIHVuZGVmaW5lZCBmb3IgbnVsbC9lbXB0eSBpbnB1dHMuXG5cdCAqL1xuXHRwcml2YXRlIHN0YXRpYyBwYXJzZVJlc3VsdChyZXN1bHQ6IGFueSk6IGFueSB7XG5cdFx0aWYgKHJlc3VsdCA9PT0gbnVsbCB8fCByZXN1bHQgPT09IHVuZGVmaW5lZCB8fCByZXN1bHQgPT09ICcnKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRpZiAodHlwZW9mIHJlc3VsdCAhPT0gJ3N0cmluZycpIHtcblx0XHRcdC8vIGFscmVhZHkgYW4gb2JqZWN0L2FycmF5XG5cdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdH1cblxuXHRcdHJldHVybiBKU09OLnBhcnNlKHJlc3VsdCk7XG5cdH1cblxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFN0b3JlO1xufSJdLAogICJtYXBwaW5ncyI6ICJBQTRCQSxNQUFNLGtCQUFrQixLQUFLLEtBQUsseURBQXlEO0FBS3BGLElBQUssV0FBTCxrQkFBS0EsY0FBTDtBQUNOLEVBQUFBLFVBQUEsUUFBSztBQUNMLEVBQUFBLFVBQUEsUUFBSztBQUNMLEVBQUFBLFVBQUEsUUFBSztBQUNMLEVBQUFBLFVBQUEsUUFBSztBQUNMLEVBQUFBLFVBQUEsUUFBSztBQUNMLEVBQUFBLFVBQUEsUUFBSztBQUNMLEVBQUFBLFVBQUEsVUFBTztBQUNQLEVBQUFBLFVBQUEsYUFBVTtBQUNW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
|
|
238
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3N0b3JlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBtb2R1bGUgZGIvc3RvcmVcbiAqIEBwYWNrYWdlIEBhZXJva2l0L3Nkay9kYlxuICogQG5hbWUgU3RvcmVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGBTdG9yZWAgY2xhc3MgdGhhdCBzZXJ2ZXMgYXMgYSBmYWNhZGUgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVuZGVybHlpbmcgRGlyaWdpYmxlIERhdGEgU3RvcmUuIFRoZSBgU3RvcmVgIGNsYXNzIG9mZmVycyBtZXRob2RzIGZvciBwZXJmb3JtaW5nIENSVUQgb3BlcmF0aW9ucywgZXhlY3V0aW5nIHBhcmFtZXRlcml6ZWQgcXVlcmllcywgYW5kIHJldHJpZXZpbmcgbWV0YWRhdGEgYWJvdXQgZW50aXRpZXMuIEl0IGFic3RyYWN0cyBhd2F5IHRoZSBjb21wbGV4aXRpZXMgb2YgSlNPTiBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gd2hlbiBjb21tdW5pY2F0aW5nIHdpdGggdGhlIG5hdGl2ZSBKYXZhIGZhY2FkZSwgYWxsb3dpbmcgZGV2ZWxvcGVycyB0byB3b3JrIHdpdGggcGxhaW4gSmF2YVNjcmlwdCBvYmplY3RzIGFuZCBhcnJheXMgc2VhbWxlc3NseS5cbiAqIFxuICogIyMjIEtleSBGZWF0dXJlc1xuICogLSBDUlVEIE9wZXJhdGlvbnM6IENyZWF0ZSwgcmVhZCwgdXBkYXRlLCBhbmQgZGVsZXRlIGVudHJpZXMgaW4gdGhlIGRhdGEgc3RvcmUgdXNpbmcgc2ltcGxlIG1ldGhvZHMuXG4gKiAtIFF1ZXJ5IEV4ZWN1dGlvbjogRXhlY3V0ZSBwYXJhbWV0ZXJpemVkIHF1ZXJpZXMgd2l0aCBzdXBwb3J0IGZvciBib3RoIHByaW1pdGl2ZSBhbmQgY29tcGxleCBwYXJhbWV0ZXJzLlxuICogLSBNZXRhZGF0YSBSZXRyaWV2YWw6IEFjY2VzcyBtZXRhZGF0YSBhYm91dCBlbnRpdGllcywgc3VjaCBhcyB0YWJsZSBuYW1lcyBhbmQgSUQgZmllbGRzLlxuICogLSBKU09OIEhhbmRsaW5nOiBBdXRvbWF0aWNhbGx5IGhhbmRsZXMgSlNPTiBzZXJpYWxpemF0aW9uIGFuZCBkZXNlcmlhbGl6YXRpb24gb2YgSmF2YVNjcmlwdCBvYmplY3RzIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmF0aXZlIEphdmEgQVBJcy5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBNYW5hZ2luZyBhcHBsaWNhdGlvbiBkYXRhIGluIGEgc3RydWN0dXJlZCB3YXkgdXNpbmcgdGhlIGRhdGEgc3RvcmUuXG4gKiAtIEV4ZWN1dGluZyBjb21wbGV4IHF1ZXJpZXMgd2l0aCBkeW5hbWljIHBhcmFtZXRlcnMgdG8gcmV0cmlldmUgc3BlY2lmaWMgc3Vic2V0cyBvZiBkYXRhLlxuICogLSBBYnN0cmFjdGluZyBhd2F5IGRhdGFiYXNlIGludGVyYWN0aW9ucyB0byBhbGxvdyBmb3IgZWFzaWVyIG1haW50ZW5hbmNlIGFuZCBwb3RlbnRpYWwgZnV0dXJlIGNoYW5nZXMgdG8gdGhlIHVuZGVybHlpbmcgZGF0YSBzdG9yYWdlIG1lY2hhbmlzbS5cbiAqIFxuICogIyMjIEV4YW1wbGUgVXNhZ2VcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTdG9yZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvZGJcIjtcbiAqIFxuICogLy8gU2F2ZSBhIG5ldyBlbnRyeSB0byB0aGUgXCJ1c2Vyc1wiIGVudGl0eVxuICogY29uc3QgdXNlcklkID0gU3RvcmUuc2F2ZShcInVzZXJzXCIsIHsgbmFtZTogXCJBbGljZVwiLCBlbWFpbDogXCJhbGljZUBleGFtcGxlLmNvbVwiIH0pO1xuICogYGBgXG4gKi9cblxuY29uc3QgRGF0YVN0b3JlRmFjYWRlID0gSmF2YS50eXBlKFwib3JnLmVjbGlwc2UuZGlyaWdpYmxlLmNvbXBvbmVudHMuYXBpLmRiLkRhdGFTdG9yZUZhY2FkZVwiKTtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBhdmFpbGFibGUgY29tcGFyaXNvbiBvcGVyYXRvcnMgZm9yIHF1ZXJ5IGNvbmRpdGlvbnMuXG4gKi9cbmV4cG9ydCBlbnVtIE9wZXJhdG9yIHtcblx0RVEgPSBcIj1cIiwgLy8gRXF1YWxzXG5cdE5FID0gXCI8PlwiLCAvLyBOb3QgRXF1YWxzXG5cdEdUID0gXCI+XCIsIC8vIEdyZWF0ZXIgVGhhblxuXHRMVCA9IFwiPFwiLCAvLyBMZXNzIFRoYW5cblx0R0UgPSBcIj49XCIsIC8vIEdyZWF0ZXIgVGhhbiBvciBFcXVhbHNcblx0TEUgPSBcIjw9XCIsIC8vIExlc3MgVGhhbiBvciBFcXVhbHNcblx0TElLRSA9IFwiTElLRVwiLCAvLyBTUUwgTElLRSBvcGVyYXRvclxuXHRCRVRXRUVOID0gXCJCRVRXRUVOXCIsIC8vIFNRTCBCRVRXRUVOIG9wZXJhdG9yIChyZXF1aXJlcyB0d28gdmFsdWVzKVxuXHRJTiA9IFwiSU5cIiAvLyBTUUwgSU4gb3BlcmF0b3IgKHJlcXVpcmVzIGEgTGlzdCBvciBBcnJheSBvZiB2YWx1ZXMpXG59XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZGlyZWN0aW9uIGZvciBzb3J0aW5nLlxuICovXG5leHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuXHRBU0MgPSBcIkFTQ1wiLCAvLyBBc2NlbmRpbmdcblx0REVTQyA9IFwiREVTQ1wiIC8vIERlc2NlbmRpbmdcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc2luZ2xlIGNvbmRpdGlvbiBmb3IgZmlsdGVyaW5nIGRhdGEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZGl0aW9uIHtcblx0cHJvcGVydHlOYW1lOiBzdHJpbmcsXG5cdG9wZXJhdG9yOiBPcGVyYXRvcixcblx0dmFsdWU6IGFueSB8IGFueVtdXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzb3J0aW5nIGluc3RydWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvcnQge1xuXHRwcm9wZXJ0eU5hbWU6IHN0cmluZyxcblx0ZGlyZWN0aW9uOiBEaXJlY3Rpb25cbn1cblxuLyoqXG4gKiBEZWZpbmVzIG9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIGxpc3QgYW5kIGNvdW50IG9wZXJhdGlvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG5cdGNvbmRpdGlvbnM/OiBDb25kaXRpb25bXSxcblx0c29ydHM/OiBTb3J0W10sXG5cdGxpbWl0PzogbnVtYmVyLFxuXHRvZmZzZXQ/OiBudW1iZXIsXG5cdGxhbmd1YWdlPzogc3RyaW5nXG59XG5cbmltcG9ydCB7IFR5cGVkUXVlcnlQYXJhbWV0ZXIsIE5hbWVkUXVlcnlQYXJhbWV0ZXIgfSBmcm9tICcuL3F1ZXJ5JztcblxuLyoqXG4gKiBGYWNhZGUgY2xhc3MgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIHVuZGVybHlpbmcgRGlyaWdpYmxlIERhdGEgU3RvcmUuXG4gKiBBbGwgbWV0aG9kcyBzZXJpYWxpemUvZGVzZXJpYWxpemUgSmF2YVNjcmlwdCBvYmplY3RzIHRvL2Zyb20gSlNPTiBzdHJpbmdzXG4gKiBiZWZvcmUgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmF0aXZlIEphdmEgZmFjYWRlLlxuICovXG5leHBvcnQgY2xhc3MgU3RvcmUge1xuXG5cdC8qKlxuXHQgKiBTYXZlcyBhIG5ldyBlbnRyeSB0byB0aGUgZGF0YSBzdG9yZS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZW50cnkgVGhlIEphdmFTY3JpcHQgb2JqZWN0IHRvIHNhdmUuXG5cdCAqIEByZXR1cm5zIFRoZSBJRCBvZiB0aGUgbmV3bHkgY3JlYXRlZCBlbnRyeSAoc3RyaW5nIG9yIG51bWJlcikuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHNhdmUobmFtZTogc3RyaW5nLCBlbnRyeTogYW55KTogc3RyaW5nIHwgbnVtYmVyIHtcblx0XHRyZXR1cm4gRGF0YVN0b3JlRmFjYWRlLnNhdmUobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbnNlcnRzIGEgbmV3IGVudHJ5IG9yIHVwZGF0ZXMgYW4gZXhpc3Rpbmcgb25lIGlmIHRoZSBJRCBpcyBwcmVzZW50LlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBlbnRyeSBUaGUgSmF2YVNjcmlwdCBvYmplY3QgdG8gaW5zZXJ0L3VwZGF0ZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBzZXJ0KG5hbWU6IHN0cmluZywgZW50cnk6IGFueSk6IHZvaWQge1xuXHRcdERhdGFTdG9yZUZhY2FkZS51cHNlcnQobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGVzIGFuIGV4aXN0aW5nIGVudHJ5LlxuXHQgKiBAcGFyYW0gbmFtZSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEBwYXJhbSBlbnRyeSBUaGUgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCB0aGUgSUQgYW5kIHVwZGF0ZWQgZGF0YS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgdXBkYXRlKG5hbWU6IHN0cmluZywgZW50cnk6IGFueSk6IHZvaWQge1xuXHRcdERhdGFTdG9yZUZhY2FkZS51cGRhdGUobmFtZSwgSlNPTi5zdHJpbmdpZnkoZW50cnkpKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMaXN0cyBlbnRyaWVzIGJhc2VkIG9uIG9wdGlvbmFsIGZpbHRlcmluZywgc29ydGluZywgYW5kIHBhZ2luYXRpb24gb3B0aW9ucy5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCB7QGxpbmsgT3B0aW9uc30gZm9yIHF1ZXJ5IGV4ZWN1dGlvbi5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBsaXN0KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBhbnlbXSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLmxpc3QobmFtZSwgb3B0aW9ucyA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMpIDogbnVsbCk7XG5cdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdH1cblxuXHQvKipcblx0ICogQ291bnRzIHRoZSBudW1iZXIgb2YgZW50cmllcyBiYXNlZCBvbiBvcHRpb25hbCBmaWx0ZXJpbmcgb3B0aW9ucy5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25hbCB7QGxpbmsgT3B0aW9uc30gZm9yIHF1ZXJ5IGV4ZWN1dGlvbi5cblx0ICogQHJldHVybnMgVGhlIGNvdW50IG9mIG1hdGNoaW5nIGVudHJpZXMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGNvdW50KG5hbWU6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBudW1iZXIge1xuXHRcdGNvbnN0IG9wdGlvbnNTdHJpbmcgPSBvcHRpb25zID8gSlNPTi5zdHJpbmdpZnkob3B0aW9ucykgOiBudWxsO1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5jb3VudChuYW1lLCBvcHRpb25zU3RyaW5nKTtcblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIHNpbmdsZSBlbnRyeSBieSBpdHMgSUQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50cnkuXG5cdCAqIEByZXR1cm5zIFRoZSBlbnRyeSBvYmplY3QsIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmQuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldChuYW1lOiBzdHJpbmcsIGlkOiBhbnkpOiBhbnkgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5nZXQobmFtZSwgaWQpO1xuXHRcdC8vIEFzc3VtaW5nIHRoZSBuYXRpdmUgQVBJIHJldHVybnMgbnVsbC91bmRlZmluZWQgb3IgYW4gZW1wdHkgSlNPTiBzdHJpbmcgaWYgbm90IGZvdW5kLCBcblx0XHQvLyBvdGhlcndpc2UgSlNPTi5wYXJzZSBoYW5kbGVzIHRoZSBjb252ZXJzaW9uLlxuXHRcdGlmIChyZXN1bHQgPT09IG51bGwgfHwgcmVzdWx0ID09PSB1bmRlZmluZWQgfHwgcmVzdWx0ID09PSBcIlwiKSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0fTtcblxuXHQvKipcblx0ICogRGVsZXRlcyBhbiBlbnRyeSBieSBpdHMgSUQuXG5cdCAqIEBwYXJhbSBuYW1lIFRoZSBlbnRpdHkvdGFibGUgbmFtZS5cblx0ICogQHBhcmFtIGlkIFRoZSBJRCBvZiB0aGUgZW50cnkgdG8gcmVtb3ZlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyByZW1vdmUobmFtZTogc3RyaW5nLCBpZDogYW55KTogdm9pZCB7XG5cdFx0RGF0YVN0b3JlRmFjYWRlLmRlbGV0ZUVudHJ5KG5hbWUsIGlkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGaW5kcyBlbnRyaWVzIG1hdGNoaW5nIGFuIGV4YW1wbGUgb2JqZWN0IChxdWVyeS1ieS1leGFtcGxlKS5cblx0ICogQHBhcmFtIG5hbWUgVGhlIGVudGl0eS90YWJsZSBuYW1lLlxuXHQgKiBAcGFyYW0gZXhhbXBsZSBBbiBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIHRvIG1hdGNoLlxuXHQgKiBAcGFyYW0gbGltaXQgTWF4aW11bSBudW1iZXIgb2YgcmVzdWx0cyB0byByZXR1cm4uXG5cdCAqIEBwYXJhbSBvZmZzZXQgTnVtYmVyIG9mIHJlc3VsdHMgdG8gc2tpcC5cblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgbWF0Y2hpbmcgSmF2YVNjcmlwdCBvYmplY3RzLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBmaW5kKG5hbWU6IHN0cmluZywgZXhhbXBsZTogYW55LCBsaW1pdDogbnVtYmVyID0gMTAwLCBvZmZzZXQ6IG51bWJlciA9IDApOiBhbnlbXSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLmZpbmQobmFtZSwgSlNPTi5zdHJpbmdpZnkoZXhhbXBsZSksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFF1ZXJpZXMgYWxsIGVudHJpZXMgZm9yIGEgZ2l2ZW4gc2NyaXB0IHdpdGggcGFnaW5hdGlvbi5cblx0ICogQHBhcmFtIHF1ZXJ5IFRoZSBxdWVyeSBzY3JpcHQuXG5cdCAqIEBwYXJhbSBsaW1pdCBNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzIHRvIHJldHVybi5cblx0ICogQHBhcmFtIG9mZnNldCBOdW1iZXIgb2YgcmVzdWx0cyB0byBza2lwLlxuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBKYXZhU2NyaXB0IG9iamVjdHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHF1ZXJ5KHF1ZXJ5OiBzdHJpbmcsIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBudWxsIHwgVHlwZWRRdWVyeVBhcmFtZXRlciB8IE5hbWVkUXVlcnlQYXJhbWV0ZXIpW10sIGxpbWl0OiBudW1iZXIgPSAxMDAsIG9mZnNldDogbnVtYmVyID0gMCk6IGFueVtdIHtcblx0XHRsZXQgYXJyOiBhbnlbXSA9IFtdO1xuXHRcdGlmIChwYXJhbWV0ZXJzID09IG51bGwpIHtcblx0XHRcdGFyciA9IFtdO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtZXRlcnMgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG5cdFx0XHRcdGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcGFyYW1ldGVyIHN0cmluZyBtdXN0IHJlcHJlc2VudCBhIEpTT04gYXJyYXlcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0YXJyID0gcGFyc2VkO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1ldGVycykpIHtcblx0XHRcdGFyciA9IHBhcmFtZXRlcnM7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIlBhcmFtZXRlcnMgbXVzdCBiZSBlaXRoZXIgYW4gYXJyYXkgb3IgYSBKU09OIHN0cmluZ1wiKTtcblx0XHR9XG5cblx0XHRpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5KHF1ZXJ5LCBudWxsLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpcnN0ID0gYXJyWzBdO1xuXG5cdFx0Ly8gTmFtZWRRdWVyeVBhcmFtZXRlciAoaGFzIG5hbWUgKyB0eXBlKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJuYW1lXCIgaW4gZmlyc3QgJiYgXCJ0eXBlXCIgaW4gZmlyc3QpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hbWVkKHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdC8vIFR5cGVkUXVlcnlQYXJhbWV0ZXIgKGhhcyB0eXBlLCBubyBuYW1lKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJ0eXBlXCIgaW4gZmlyc3QgJiYgIShcIm5hbWVcIiBpbiBmaXJzdCkpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeShxdWVyeSwgSlNPTi5zdHJpbmdpZnkoYXJyKSwgbGltaXQsIG9mZnNldCk7XG5cdFx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0XHR9XG5cblx0XHQvLyBQcmltaXRpdmUgYXJyYXk7IG51bGwvdW5kZWZpbmVkIGFyZSB2YWxpZCB2YWx1ZXMgLSB0aGV5IGJpbmQgYXMgU1FMIE5VTExcblx0XHRpZiAoXG5cdFx0XHRhcnIuZXZlcnkoXG5cdFx0XHRcdCh2KSA9PlxuXHRcdFx0XHRcdHYgPT09IG51bGwgfHxcblx0XHRcdFx0XHR2ID09PSB1bmRlZmluZWQgfHxcblx0XHRcdFx0XHR0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIiB8fFxuXHRcdFx0XHRcdHR5cGVvZiB2ID09PSBcIm51bWJlclwiIHx8XG5cdFx0XHRcdFx0dHlwZW9mIHYgPT09IFwiYm9vbGVhblwiIHx8XG5cdFx0XHRcdFx0diBpbnN0YW5jZW9mIERhdGUgfHxcblx0XHRcdFx0XHRBcnJheS5pc0FycmF5KHYpXG5cdFx0XHQpXG5cdFx0KSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBEYXRhU3RvcmVGYWNhZGUucXVlcnkocXVlcnksIEpTT04uc3RyaW5naWZ5KGFyciksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdFx0fVxuXG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgcGFyYW1ldGVyIGZvcm1hdDogXCIgKyBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG5cdH1cblxuXHQvKipcblx0ICogUXVlcmllcyBhbGwgZW50cmllcyBmb3IgYSBnaXZlbiBlbnRpdHkgbmFtZSB3aXRob3V0IHBhZ2luYXRpb24uXG5cdCAqIEBwYXJhbSBxdWVyeSBUaGUgZW50aXR5L3RhYmxlIG5hbWUuXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFsbCBKYXZhU2NyaXB0IG9iamVjdHMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIHF1ZXJ5TmF0aXZlKHF1ZXJ5OiBzdHJpbmcsIHBhcmFtZXRlcnM/OiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IERhdGUgfCBudWxsIHwgVHlwZWRRdWVyeVBhcmFtZXRlciB8IE5hbWVkUXVlcnlQYXJhbWV0ZXIpW10sIGxpbWl0OiBudW1iZXIgPSAxMDAsIG9mZnNldDogbnVtYmVyID0gMCk6IGFueVtdIHtcblx0XHRsZXQgYXJyOiBhbnlbXSA9IFtdO1xuXHRcdGlmIChwYXJhbWV0ZXJzID09IG51bGwpIHtcblx0XHRcdGFyciA9IFtdO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHBhcmFtZXRlcnMgPT09IFwic3RyaW5nXCIpIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG5cdFx0XHRcdGlmICghQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgcGFyYW1ldGVyIHN0cmluZyBtdXN0IHJlcHJlc2VudCBhIEpTT04gYXJyYXlcIik7XG5cdFx0XHRcdH1cblx0XHRcdFx0YXJyID0gcGFyc2VkO1xuXHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocGFyYW1ldGVycykpIHtcblx0XHRcdGFyciA9IHBhcmFtZXRlcnM7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcIlBhcmFtZXRlcnMgbXVzdCBiZSBlaXRoZXIgYW4gYXJyYXkgb3IgYSBKU09OIHN0cmluZ1wiKTtcblx0XHR9XG5cblx0XHRpZiAoYXJyLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gRGF0YVN0b3JlRmFjYWRlLnF1ZXJ5TmF0aXZlKHF1ZXJ5LCBudWxsLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IGZpcnN0ID0gYXJyWzBdO1xuXG5cdFx0Ly8gTmFtZWRRdWVyeVBhcmFtZXRlciAoaGFzIG5hbWUgKyB0eXBlKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJuYW1lXCIgaW4gZmlyc3QgJiYgXCJ0eXBlXCIgaW4gZmlyc3QpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZU5hbWVkKHF1ZXJ5LCBKU09OLnN0cmluZ2lmeShhcnIpLCBsaW1pdCwgb2Zmc2V0KTtcblx0XHRcdHJldHVybiBTdG9yZS5wYXJzZVJlc3VsdChyZXN1bHQpO1xuXHRcdH1cblxuXHRcdC8vIFR5cGVkUXVlcnlQYXJhbWV0ZXIgKGhhcyB0eXBlLCBubyBuYW1lKVxuXHRcdGlmIChmaXJzdCAmJiB0eXBlb2YgZmlyc3QgPT09IFwib2JqZWN0XCIgJiYgXCJ0eXBlXCIgaW4gZmlyc3QgJiYgIShcIm5hbWVcIiBpbiBmaXJzdCkpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IERhdGFTdG9yZUZhY2FkZS5xdWVyeU5hdGl2ZShxdWVyeSwgSlNPTi5zdHJpbmdpZnkoYXJyKSwgbGltaXQsIG9mZnNldCk7XG5cdFx0XHRyZXR1cm4gU3RvcmUucGFyc2VSZXN1bHQocmVzdWx0KTtcblx0XHR9XG5cblx0XHQvLyBQcmltaXRpdmUgYXJyYXk7IG51bGwvdW5kZWZpbmVkIGFyZSB2YWxpZCB2YWx1ZXMgLSB0aGV5IGJpbmQgYXMgU1FMIE5VTExcblx0XHRpZiAoXG5cdFx0XHRhcnIuZXZlcnkoXG5cdFx0XHRcdCh2KSA9PlxuXHRcdFx0XHRcdHYgPT09IG51bGwgfHxcblx0XHRcdFx0XHR2ID09PSB1bmRlZmluZWQgfHxcblx0XHRcdFx0XHR0eXBlb2YgdiA9PT0gXCJzdHJpbmdcIiB8fFxuXHRcdFx0XHRcdHR5cGVvZiB2ID09PSBcIm51bWJlclwiIHx8XG5cdFx0XHRcdFx0dHlwZW9mIHYgPT09IFwiYm9vbGVhblwiIHx8XG5cdFx0XHRcdFx0diBpbnN0YW5jZW9mIERhdGUgfHxcblx0XHRcdFx0XHRBcnJheS5pc0FycmF5KHYpXG5cdFx0XHQpXG5cdFx0KSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBEYXRhU3RvcmVGYWNhZGUucXVlcnlOYXRpdmUocXVlcnksIEpTT04uc3RyaW5naWZ5KGFyciksIGxpbWl0LCBvZmZzZXQpO1xuXHRcdFx0cmV0dXJuIFN0b3JlLnBhcnNlUmVzdWx0KHJlc3VsdCk7XG5cdFx0fVxuXG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiVW5zdXBwb3J0ZWQgcGFyYW1ldGVyIGZvcm1hdDogXCIgKyBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG5cdH1cblxuXHQvLyAtLS0gTWV0YWRhdGEgR2V0dGVycyAtLS1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZW50aXR5IGFzc29jaWF0ZWQgd2l0aCB0aGUgc3RvcmUgbmFtZS5cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZ2V0RW50aXR5TmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0RW50aXR5TmFtZShuYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSB1bmRlcmx5aW5nIGRhdGFiYXNlIHRhYmxlIG5hbWUgZm9yIHRoZSBlbnRpdHkuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFRhYmxlTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0VGFibGVOYW1lKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHByb3BlcnR5IG5hbWUgdXNlZCBhcyB0aGUgSUQgZmllbGQgaW4gdGhlIGVudGl0eSBvYmplY3QuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldElkTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0SWROYW1lKG5hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIHVuZGVybHlpbmcgZGF0YWJhc2UgY29sdW1uIG5hbWUgdXNlZCBmb3IgdGhlIElEIGZpZWxkLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRJZENvbHVtbihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRcdHJldHVybiBEYXRhU3RvcmVGYWNhZGUuZ2V0SWRDb2x1bW4obmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2UgYSBKU09OIHN0cmluZy5cblx0ICogUmV0dXJucyB1bmRlZmluZWQgZm9yIG51bGwvZW1wdHkgaW5wdXRzLlxuXHQgKi9cblx0cHJpdmF0ZSBzdGF0aWMgcGFyc2VSZXN1bHQocmVzdWx0OiBhbnkpOiBhbnkge1xuXHRcdGlmIChyZXN1bHQgPT09IG51bGwgfHwgcmVzdWx0ID09PSB1bmRlZmluZWQgfHwgcmVzdWx0ID09PSAnJykge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiByZXN1bHQgIT09ICdzdHJpbmcnKSB7XG5cdFx0XHQvLyBhbHJlYWR5IGFuIG9iamVjdC9hcnJheVxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9XG5cblx0XHRyZXR1cm4gSlNPTi5wYXJzZShyZXN1bHQpO1xuXHR9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTdG9yZTtcbn0iXSwKICAibWFwcGluZ3Mi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
|
package/dist/esm/db/update.mjs
CHANGED
|
@@ -41,7 +41,7 @@ class Update {
|
|
|
41
41
|
return result;
|
|
42
42
|
}
|
|
43
43
|
if (arr.every(
|
|
44
|
-
(v) => typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
44
|
+
(v) => v === null || v === void 0 || typeof v === "string" || typeof v === "number" || typeof v === "boolean" || v instanceof Date || Array.isArray(v)
|
|
45
45
|
)) {
|
|
46
46
|
const result = DatabaseFacade.update(sql, JSON.stringify(arr), datasourceName);
|
|
47
47
|
return result;
|
|
@@ -55,4 +55,4 @@ if (typeof module !== "undefined") {
|
|
|
55
55
|
export {
|
|
56
56
|
Update
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3VwZGF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGRiL3VwZGF0ZVxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2RiXG4gKiBAbmFtZSBVcGRhdGVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYFVwZGF0ZWAgY2xhc3MsIHdoaWNoIHNlcnZlcyBhcyBhIGZhY2FkZSBmb3IgZXhlY3V0aW5nIFNRTCBVUERBVEUsIElOU0VSVCwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIGluIHRoZSBEaXJpZ2libGUgZW52aXJvbm1lbnQuIFRoZSBgZXhlY3V0ZWAgbWV0aG9kIGFsbG93cyBmb3IgcGFyYW1ldGVyaXplZCBxdWVyaWVzIHVzaW5nIGVpdGhlciBwcmltaXRpdmUgdmFsdWVzIG9yIHN0cnVjdHVyZWQgcGFyYW1ldGVyIG9iamVjdHMgdGhhdCBzcGVjaWZ5IGJvdGggdHlwZSBhbmQgdmFsdWUuIFRoaXMgZmxleGliaWxpdHkgZW5hYmxlcyBkZXZlbG9wZXJzIHRvIHdvcmsgd2l0aCB2YXJpb3VzIGRhdGEgdHlwZXMgYW5kIGRhdGFiYXNlLXNwZWNpZmljIHJlcXVpcmVtZW50cyB3aGVuIHBlcmZvcm1pbmcgdXBkYXRlIG9wZXJhdGlvbnMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipQYXJhbWV0ZXJpemVkIFF1ZXJpZXMqKjogU3VwcG9ydHMgYm90aCBwcmltaXRpdmUgcGFyYW1ldGVycyBhbmQgc3RydWN0dXJlZCBwYXJhbWV0ZXIgb2JqZWN0cyBmb3IgZmxleGlibGUgcXVlcnkgZXhlY3V0aW9uLlxuICogLSAqKk5hbWVkIFBhcmFtZXRlcnMqKjogQWxsb3dzIGZvciBuYW1lZCBwYXJhbWV0ZXJzIGluIHRoZSBmb3JtIG9mIGA6cGFyYW1OYW1lYCBwbGFjZWhvbGRlcnMsIGVuaGFuY2luZyByZWFkYWJpbGl0eSBhbmQgbWFpbnRhaW5hYmlsaXR5IG9mIFNRTCBzdGF0ZW1lbnRzLlxuICogLSAqKlR5cGUgU3BlY2lmaWNhdGlvbioqOiBTdHJ1Y3R1cmVkIHBhcmFtZXRlcnMgY2FuIGluY2x1ZGUgdHlwZSBpbmZvcm1hdGlvbiwgd2hpY2ggaXMgdXNlZnVsIGZvciBkYXRhYmFzZXMgdGhhdCByZXF1aXJlIGV4cGxpY2l0IHR5cGUgZGVmaW5pdGlvbnMgZm9yIGNlcnRhaW4gb3BlcmF0aW9ucy5cbiAqIC0gKipEYXRhc291cmNlIFN1cHBvcnQqKjogVGhlIG1ldGhvZCBhY2NlcHRzIGFuIG9wdGlvbmFsIGRhdGFzb3VyY2UgbmFtZSwgZW5hYmxpbmcgZXhlY3V0aW9uIGFnYWluc3Qgc3BlY2lmaWMgZGF0YWJhc2UgY29ubmVjdGlvbnMgaW4gYSBtdWx0aS1kYXRhYmFzZSBlbnZpcm9ubWVudC5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBQZXJmb3JtaW5nIHVwZGF0ZSBvcGVyYXRpb25zIG9uIGRhdGFiYXNlIHJlY29yZHMgd2l0aCBkeW5hbWljIHZhbHVlcy5cbiAqIC0gRXhlY3V0aW5nIGNvbXBsZXggU1FMIHN0YXRlbWVudHMgdGhhdCByZXF1aXJlIHNwZWNpZmljIGRhdGEgdHlwZXMgb3IgbmFtZWQgcGFyYW1ldGVycy5cbiAqIC0gSW50ZWdyYXRpbmcgd2l0aCBvdGhlciBtb2R1bGVzIHRoYXQgZ2VuZXJhdGUgcGFyYW1ldGVycyBpbiBKU09OIGZvcm1hdCwgYWxsb3dpbmcgZm9yIHNlYW1sZXNzIGRhdGEgZmxvdyB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IFVwZGF0ZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvZGJcIjtcbiAqIFxuICogLy8gRXhhbXBsZSB3aXRoIHByaW1pdGl2ZSBwYXJhbWV0ZXJzXG4gKiBjb25zdCByb3dzQWZmZWN0ZWQxID0gVXBkYXRlLmV4ZWN1dGUoXCJVUERBVEUgVXNlcnMgU0VUIG5hbWUgPSA/
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RiL3VwZGF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAbW9kdWxlIGRiL3VwZGF0ZVxuICogQHBhY2thZ2UgQGFlcm9raXQvc2RrL2RiXG4gKiBAbmFtZSBVcGRhdGVcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgYFVwZGF0ZWAgY2xhc3MsIHdoaWNoIHNlcnZlcyBhcyBhIGZhY2FkZSBmb3IgZXhlY3V0aW5nIFNRTCBVUERBVEUsIElOU0VSVCwgYW5kIERFTEVURSBzdGF0ZW1lbnRzIGluIHRoZSBEaXJpZ2libGUgZW52aXJvbm1lbnQuIFRoZSBgZXhlY3V0ZWAgbWV0aG9kIGFsbG93cyBmb3IgcGFyYW1ldGVyaXplZCBxdWVyaWVzIHVzaW5nIGVpdGhlciBwcmltaXRpdmUgdmFsdWVzIG9yIHN0cnVjdHVyZWQgcGFyYW1ldGVyIG9iamVjdHMgdGhhdCBzcGVjaWZ5IGJvdGggdHlwZSBhbmQgdmFsdWUuIFRoaXMgZmxleGliaWxpdHkgZW5hYmxlcyBkZXZlbG9wZXJzIHRvIHdvcmsgd2l0aCB2YXJpb3VzIGRhdGEgdHlwZXMgYW5kIGRhdGFiYXNlLXNwZWNpZmljIHJlcXVpcmVtZW50cyB3aGVuIHBlcmZvcm1pbmcgdXBkYXRlIG9wZXJhdGlvbnMuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXNcbiAqIC0gKipQYXJhbWV0ZXJpemVkIFF1ZXJpZXMqKjogU3VwcG9ydHMgYm90aCBwcmltaXRpdmUgcGFyYW1ldGVycyBhbmQgc3RydWN0dXJlZCBwYXJhbWV0ZXIgb2JqZWN0cyBmb3IgZmxleGlibGUgcXVlcnkgZXhlY3V0aW9uLlxuICogLSAqKk5hbWVkIFBhcmFtZXRlcnMqKjogQWxsb3dzIGZvciBuYW1lZCBwYXJhbWV0ZXJzIGluIHRoZSBmb3JtIG9mIGA6cGFyYW1OYW1lYCBwbGFjZWhvbGRlcnMsIGVuaGFuY2luZyByZWFkYWJpbGl0eSBhbmQgbWFpbnRhaW5hYmlsaXR5IG9mIFNRTCBzdGF0ZW1lbnRzLlxuICogLSAqKlR5cGUgU3BlY2lmaWNhdGlvbioqOiBTdHJ1Y3R1cmVkIHBhcmFtZXRlcnMgY2FuIGluY2x1ZGUgdHlwZSBpbmZvcm1hdGlvbiwgd2hpY2ggaXMgdXNlZnVsIGZvciBkYXRhYmFzZXMgdGhhdCByZXF1aXJlIGV4cGxpY2l0IHR5cGUgZGVmaW5pdGlvbnMgZm9yIGNlcnRhaW4gb3BlcmF0aW9ucy5cbiAqIC0gKipEYXRhc291cmNlIFN1cHBvcnQqKjogVGhlIG1ldGhvZCBhY2NlcHRzIGFuIG9wdGlvbmFsIGRhdGFzb3VyY2UgbmFtZSwgZW5hYmxpbmcgZXhlY3V0aW9uIGFnYWluc3Qgc3BlY2lmaWMgZGF0YWJhc2UgY29ubmVjdGlvbnMgaW4gYSBtdWx0aS1kYXRhYmFzZSBlbnZpcm9ubWVudC5cbiAqIFxuICogIyMjIFVzZSBDYXNlc1xuICogLSBQZXJmb3JtaW5nIHVwZGF0ZSBvcGVyYXRpb25zIG9uIGRhdGFiYXNlIHJlY29yZHMgd2l0aCBkeW5hbWljIHZhbHVlcy5cbiAqIC0gRXhlY3V0aW5nIGNvbXBsZXggU1FMIHN0YXRlbWVudHMgdGhhdCByZXF1aXJlIHNwZWNpZmljIGRhdGEgdHlwZXMgb3IgbmFtZWQgcGFyYW1ldGVycy5cbiAqIC0gSW50ZWdyYXRpbmcgd2l0aCBvdGhlciBtb2R1bGVzIHRoYXQgZ2VuZXJhdGUgcGFyYW1ldGVycyBpbiBKU09OIGZvcm1hdCwgYWxsb3dpbmcgZm9yIHNlYW1sZXNzIGRhdGEgZmxvdyB3aXRoaW4gdGhlIGFwcGxpY2F0aW9uLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IFVwZGF0ZSB9IGZyb20gXCJAYWVyb2tpdC9zZGsvZGJcIjtcbiAqIFxuICogLy8gRXhhbXBsZSB3aXRoIHByaW1pdGl2ZSBwYXJhbWV0ZXJzXG4gKiBjb25zdCByb3dzQWZmZWN0ZWQxID0gVXBkYXRlLmV4ZWN1dGUoXCJVUERBVEUgVXNlcnMgU0VUIG5hbWUgPSA/IFdIRVJFIGlkID0gP1wiLCBbXCJBbGljZVwiLCAxXSk7XG4gKiBjb25zb2xlLmxvZyhyb3dzQWZmZWN0ZWQxKTsgLy8gT3V0cHV0OiBudW1iZXIgb2Ygcm93cyB1cGRhdGVkXG4gKiBcbiAqIC8vIEV4YW1wbGUgd2l0aCBzdHJ1Y3R1cmVkIHBhcmFtZXRlcnNcbiAqIGNvbnN0IHJvd3NBZmZlY3RlZDIgPSBVcGRhdGUuZXhlY3V0ZShcbiAqICAgXCJJTlNFUlQgSU5UTyBPcmRlcnMgKG9yZGVyX251bWJlciwgdG90YWwpIFZBTFVFUyAoOm9yZGVyX251bWJlciwgOnRvdGFsKVwiLFxuICogICBbXG4gKiAgICAgeyBuYW1lOiBcIm9yZGVyX251bWJlclwiLCB0eXBlOiBcIkNIQVJcIiwgdmFsdWU6IFwiT1JEMTIzNDVcIiB9LFxuICogICAgIHsgbmFtZTogXCJ0b3RhbFwiLCB0eXBlOiBcIkRFQ0lNQUxcIiwgdmFsdWU6IDk5Ljk5IH1cbiAqICAgXVxuICogKTtcbiAqIGNvbnNvbGUubG9nKHJvd3NBZmZlY3RlZDIpOyAvLyBPdXRwdXQ6IG51bWJlciBvZiByb3dzIGluc2VydGVkXG4gKiBgYGBcbiAqL1xuXG5jb25zdCBEYXRhYmFzZUZhY2FkZSA9IEphdmEudHlwZShcIm9yZy5lY2xpcHNlLmRpcmlnaWJsZS5jb21wb25lbnRzLmFwaS5kYi5EYXRhYmFzZUZhY2FkZVwiKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgdXNlZCBmb3IgY29tcGxleCBwYXJhbWV0ZXIgdHlwZXMgaWYgbmVlZGVkLCBvdGhlcndpc2UgcHJpbWl0aXZlIHR5cGVzIGFyZSB1c2VkIGRpcmVjdGx5LlxuICovXG5leHBvcnQgdHlwZSBUeXBlZFVwZGF0ZVBhcmFtZXRlciA9IHtcbiAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuICByZWFkb25seSB2YWx1ZTogdW5rbm93bjtcbn07XG5cbi8qKlxuICogSW50ZXJmYWNlIGRlZmluaW5nIGEgcGFyYW1ldGVyIGZvciBhIG5hbWVkIHVwZGF0ZSBxdWVyeSAodXNpbmcgcGxhY2Vob2xkZXJzIGxpa2UgOnBhcmFtTmFtZSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTmFtZWRVcGRhdGVQYXJhbWV0ZXIge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgcmVhZG9ubHkgdmFsdWU6IGFueTtcbn1cblxuXG4vKipcbiAqIEZhY2FkZSBjbGFzcyBmb3IgZXhlY3V0aW5nIFNRTCBVUERBVEUsIElOU0VSVCwgYW5kIERFTEVURSBzdGF0ZW1lbnRzLlxuICogUGFyYW1ldGVycyBhcnJheSBzdXBwb3J0cyBwcmltaXRpdmVzIGUuZy4gYFsxLCAnSm9obicsIDM0LjU2XWAgb3Igb2JqZWN0cyBpbiBmb3JtYXQgZWl0aGVyIGB7J3R5cGUnOidbREFUQV9UWVBFXScsICd2YWx1ZSc6W1ZBTFVFXX1gIG9yIGB7J25hbWUnOidbc3RyaW5nXScsICd0eXBlJzonW0RBVEFfVFlQRV0nLCAndmFsdWUnOltWQUxVRV19YCBlLmcuIGBbeyd0eXBlJzonQ0hBUicsICd2YWx1ZSc6J0lTQk4xOTIwMjMyMzMyMid9XWAgb3IgYFt7J25hbWUnOiAnb3JkZXJfbnVtYmVyJywgJ3R5cGUnOidDSEFSJywgJ3ZhbHVlJzonSVNCTjE5MjAyMzIzMzIyJ31dYFxuICovXG5leHBvcnQgY2xhc3MgVXBkYXRlIHtcblxuXHQvKipcblx0ICogRXhlY3V0ZXMgYSBwYXJhbWV0ZXJpemVkIFNRTCB1cGRhdGUgc3RhdGVtZW50IChJTlNFUlQsIFVQREFURSwgb3IgREVMRVRFKS5cblx0ICpcblx0ICogQHBhcmFtIHNxbCBUaGUgU1FMIHF1ZXJ5IHRvIGV4ZWN1dGUuXG5cdCAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9wdGlvbmFsIGFycmF5IG9mIHZhbHVlcyAocHJpbWl0aXZlcywgVHlwZWRRdWVyeVBhcmFtZXRlciBvciBOYW1lZFF1ZXJ5UGFyYW1ldGVyIG9iamVjdHMpIHRvIHJlcGxhY2UgJz8nIG9yIDpwYXJhbU5hbWUgcGxhY2Vob2xkZXJzLlxuXHQgKiBAcGFyYW0gZGF0YXNvdXJjZU5hbWUgVGhlIG5hbWUgb2YgdGhlIGRhdGFiYXNlIGNvbm5lY3Rpb24gdG8gdXNlIChvcHRpb25hbCkuXG5cdCAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Ygcm93cyBhZmZlY3RlZCBieSB0aGUgc3RhdGVtZW50LlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBleGVjdXRlKHNxbDogc3RyaW5nLCBwYXJhbWV0ZXJzPzogKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBEYXRlIHwgbnVsbCB8IFR5cGVkVXBkYXRlUGFyYW1ldGVyIHwgTmFtZWRVcGRhdGVQYXJhbWV0ZXIpW10sIGRhdGFzb3VyY2VOYW1lPzogc3RyaW5nKTogbnVtYmVyIHtcblx0XHRsZXQgYXJyOiBhbnlbXSA9IFtdO1xuXG5cdCAgICBpZiAocGFyYW1ldGVycyA9PSBudWxsKSB7XG5cdCAgICAgIGFyciA9IFtdO1xuXHQgICAgfSBlbHNlIGlmICh0eXBlb2YgcGFyYW1ldGVycyA9PT0gXCJzdHJpbmdcIikge1xuXHQgICAgICB0cnkge1xuXHQgICAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocGFyYW1ldGVycyk7XG5cdCAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHBhcnNlZCkpIHtcblx0ICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIklucHV0IHBhcmFtZXRlciBzdHJpbmcgbXVzdCByZXByZXNlbnQgYSBKU09OIGFycmF5XCIpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBhcnIgPSBwYXJzZWQ7XG5cdCAgICAgIH0gY2F0Y2ggKGUpIHtcblx0ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIEpTT04gcGFyYW1ldGVyczogXCIgKyBlKTtcblx0ICAgICAgfVxuXHQgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHBhcmFtZXRlcnMpKSB7XG5cdCAgICAgIGFyciA9IHBhcmFtZXRlcnM7XG5cdCAgICB9IGVsc2Uge1xuXHQgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJQYXJhbWV0ZXJzIG11c3QgYmUgZWl0aGVyIGFuIGFycmF5IG9yIGEgSlNPTiBzdHJpbmdcIik7XG5cdCAgICB9XG5cblx0ICAgIGlmIChhcnIubGVuZ3RoID09PSAwKSB7XG5cdFx0ICBjb25zdCByZXN1bHQgPSBEYXRhYmFzZUZhY2FkZS51cGRhdGUoc3FsLCBudWxsLCBkYXRhc291cmNlTmFtZSk7XG5cdCAgICAgIHJldHVybiByZXN1bHQ7XG5cdCAgICB9XG5cblx0ICAgIGNvbnN0IGZpcnN0ID0gYXJyWzBdO1xuXG5cdCAgICAvLyBOYW1lZFVwZGF0ZVBhcmFtZXRlciAoaGFzIG5hbWUgKyB0eXBlKVxuXHQgICAgaWYgKGZpcnN0ICYmIHR5cGVvZiBmaXJzdCA9PT0gXCJvYmplY3RcIiAmJiBcIm5hbWVcIiBpbiBmaXJzdCAmJiBcInR5cGVcIiBpbiBmaXJzdCkge1xuXHRcdCAgY29uc3QgcmVzdWx0ID0gRGF0YWJhc2VGYWNhZGUudXBkYXRlTmFtZWQoc3FsLCBKU09OLnN0cmluZ2lmeShhcnIpLCBkYXRhc291cmNlTmFtZSk7XG5cdFx0ICByZXR1cm4gcmVzdWx0O1xuXHQgICAgfVxuXG5cdCAgICAvLyBUeXBlZFVwZGF0ZVBhcmFtZXRlciAoaGFzIHR5cGUsIG5vIG5hbWUpXG5cdCAgICBpZiAoZmlyc3QgJiYgdHlwZW9mIGZpcnN0ID09PSBcIm9iamVjdFwiICYmIFwidHlwZVwiIGluIGZpcnN0ICYmICEoXCJuYW1lXCIgaW4gZmlyc3QpKSB7XG5cdFx0ICBjb25zdCByZXN1bHQgPSBEYXRhYmFzZUZhY2FkZS51cGRhdGUoc3FsLCBKU09OLnN0cmluZ2lmeShhcnIpLCBkYXRhc291cmNlTmFtZSk7XG5cdCAgICAgIHJldHVybiByZXN1bHQ7XG5cdCAgICB9XG5cblx0ICAgIC8vIFByaW1pdGl2ZSBhcnJheTsgbnVsbC91bmRlZmluZWQgYXJlIHZhbGlkIHZhbHVlcyAtIHRoZXkgYmluZCBhcyBTUUwgTlVMTFxuXHQgICAgaWYgKFxuXHQgICAgICBhcnIuZXZlcnkoXG5cdCAgICAgICAgKHYpID0+XG5cdCAgICAgICAgICB2ID09PSBudWxsIHx8XG5cdCAgICAgICAgICB2ID09PSB1bmRlZmluZWQgfHxcblx0ICAgICAgICAgIHR5cGVvZiB2ID09PSBcInN0cmluZ1wiIHx8XG5cdCAgICAgICAgICB0eXBlb2YgdiA9PT0gXCJudW1iZXJcIiB8fFxuXHQgICAgICAgICAgdHlwZW9mIHYgPT09IFwiYm9vbGVhblwiIHx8XG5cdCAgICAgICAgICB2IGluc3RhbmNlb2YgRGF0ZVx0XHRcdCAgfHxcblx0XHRcdCAgXHQgIEFycmF5LmlzQXJyYXkodilcblx0ICAgICAgKVxuXHQgICAgKSB7XG5cdFx0ICBjb25zdCByZXN1bHQgPSBEYXRhYmFzZUZhY2FkZS51cGRhdGUoc3FsLCBKU09OLnN0cmluZ2lmeShhcnIpLCBkYXRhc291cmNlTmFtZSk7XG5cdFx0ICByZXR1cm4gcmVzdWx0O1xuXHQgICAgfVxuXG5cdCAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbnN1cHBvcnRlZCBwYXJhbWV0ZXIgZm9ybWF0OiBcIiArIEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpKTtcblx0fVxufVxuXG4vLyBAdHMtaWdub3JlXG5pZiAodHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0Ly8gQHRzLWlnbm9yZVxuXHRtb2R1bGUuZXhwb3J0cyA9IFVwZGF0ZTtcbn0iXSwKICAibWFwcGluZ3MiOiAiQUF1Q0EsTUFBTSxpQkFBaUIsS0FBSyxLQUFLLHdEQUF3RDtBQXdCbEYsTUFBTSxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVW5CLE9BQWMsUUFBUSxLQUFhLFlBQXdHLGdCQUFpQztBQUMzSyxRQUFJLE1BQWEsQ0FBQztBQUVmLFFBQUksY0FBYyxNQUFNO0FBQ3RCLFlBQU0sQ0FBQztBQUFBLElBQ1QsV0FBVyxPQUFPLGVBQWUsVUFBVTtBQUN6QyxVQUFJO0FBQ0YsY0FBTSxTQUFTLEtBQUssTUFBTSxVQUFVO0FBQ3BDLFlBQUksQ0FBQyxNQUFNLFFBQVEsTUFBTSxHQUFHO0FBQzFCLGdCQUFNLElBQUksTUFBTSxvREFBb0Q7QUFBQSxRQUN0RTtBQUNBLGNBQU07QUFBQSxNQUNSLFNBQVMsR0FBRztBQUNWLGNBQU0sSUFBSSxNQUFNLDhCQUE4QixDQUFDO0FBQUEsTUFDakQ7QUFBQSxJQUNGLFdBQVcsTUFBTSxRQUFRLFVBQVUsR0FBRztBQUNwQyxZQUFNO0FBQUEsSUFDUixPQUFPO0FBQ0wsWUFBTSxJQUFJLE1BQU0scURBQXFEO0FBQUEsSUFDdkU7QUFFQSxRQUFJLElBQUksV0FBVyxHQUFHO0FBQ3ZCLFlBQU0sU0FBUyxlQUFlLE9BQU8sS0FBSyxNQUFNLGNBQWM7QUFDM0QsYUFBTztBQUFBLElBQ1Q7QUFFQSxVQUFNLFFBQVEsSUFBSSxDQUFDO0FBR25CLFFBQUksU0FBUyxPQUFPLFVBQVUsWUFBWSxVQUFVLFNBQVMsVUFBVSxPQUFPO0FBQy9FLFlBQU0sU0FBUyxlQUFlLFlBQVksS0FBSyxLQUFLLFVBQVUsR0FBRyxHQUFHLGNBQWM7QUFDbEYsYUFBTztBQUFBLElBQ047QUFHQSxRQUFJLFNBQVMsT0FBTyxVQUFVLFlBQVksVUFBVSxTQUFTLEVBQUUsVUFBVSxRQUFRO0FBQ2xGLFlBQU0sU0FBUyxlQUFlLE9BQU8sS0FBSyxLQUFLLFVBQVUsR0FBRyxHQUFHLGNBQWM7QUFDMUUsYUFBTztBQUFBLElBQ1Q7QUFHQSxRQUNFLElBQUk7QUFBQSxNQUNGLENBQUMsTUFDQyxNQUFNLFFBQ04sTUFBTSxVQUNOLE9BQU8sTUFBTSxZQUNiLE9BQU8sTUFBTSxZQUNiLE9BQU8sTUFBTSxhQUNiLGFBQWEsUUFDaEIsTUFBTSxRQUFRLENBQUM7QUFBQSxJQUNoQixHQUNBO0FBQ0gsWUFBTSxTQUFTLGVBQWUsT0FBTyxLQUFLLEtBQUssVUFBVSxHQUFHLEdBQUcsY0FBYztBQUM3RSxhQUFPO0FBQUEsSUFDTjtBQUVBLFVBQU0sSUFBSSxNQUFNLG1DQUFtQyxLQUFLLFVBQVUsVUFBVSxDQUFDO0FBQUEsRUFDakY7QUFDRDtBQUdBLElBQUksT0FBTyxXQUFXLGFBQWE7QUFFbEMsU0FBTyxVQUFVO0FBQ2xCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -43,6 +43,9 @@ class Scheduler {
|
|
|
43
43
|
/**
|
|
44
44
|
* Triggers the immediate execution of a job.
|
|
45
45
|
*
|
|
46
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
47
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
48
|
+
*
|
|
46
49
|
* @param name The name of the job to trigger.
|
|
47
50
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
48
51
|
*/
|
|
@@ -215,6 +218,9 @@ class Job {
|
|
|
215
218
|
/**
|
|
216
219
|
* Triggers the immediate execution of this job instance.
|
|
217
220
|
*
|
|
221
|
+
* Only the parameters the job artefact declares may be passed - anything else is rejected.
|
|
222
|
+
* The values are visible as configurations to the job body for the duration of the run only.
|
|
223
|
+
*
|
|
218
224
|
* @param parameters Optional key-value object of parameters to pass to the job execution.
|
|
219
225
|
*/
|
|
220
226
|
trigger(parameters = {}) {
|
|
@@ -328,4 +334,4 @@ if (typeof module !== "undefined") {
|
|
|
328
334
|
export {
|
|
329
335
|
Scheduler
|
|
330
336
|
};
|
|
331
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBqb2Ivc2NoZWR1bGVyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvam9iXG4gKiBAbmFtZSBTY2hlZHVsZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBtYW5hZ2luZyBzY2hlZHVsZWQgam9icyBhbmQgdGFza3Mgd2l0aGluIHRoZSBwbGF0Zm9ybS4gSXQgYWxsb3dzIHVzZXJzIHRvIHJldHJpZXZlIGpvYiBkZWZpbml0aW9ucywgZW5hYmxlIG9yIGRpc2FibGUgam9icywgdHJpZ2dlciBpbW1lZGlhdGUgZXhlY3V0aW9uLCBhbmQgbG9nIG91dHB1dCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWMgam9iIGluc3RhbmNlcy4gVGhlIFNjaGVkdWxlciBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBqb2Igc2NoZWR1bGluZyBzeXN0ZW0gdG8gZmFjaWxpdGF0ZSB0aGUgZXhlY3V0aW9uIG9mIHJlY3VycmluZyB0YXNrcyBiYXNlZCBvbiBjcm9uIGV4cHJlc3Npb25zIG9yIG90aGVyIHNjaGVkdWxpbmcgY3JpdGVyaWEuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqSm9iIFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIHJldHJpZXZlIGFsbCBqb2IgZGVmaW5pdGlvbnMgb3IgYSBzcGVjaWZpYyBqb2IgYnkgbmFtZS5cbiAqIC0gKipKb2IgQ29udHJvbCoqOiBNZXRob2RzIHRvIGVuYWJsZSwgZGlzYWJsZSwgb3IgdHJpZ2dlciBqb2JzIG9uIGRlbWFuZC5cbiAqIC0gKipMb2dnaW5nKio6IE1ldGhvZHMgdG8gbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzIChzdGFuZGFyZCwgZXJyb3IsIHdhcm5pbmcsIGluZm8pIGZvciBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlRhc2sgU2NoZWR1bGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhlIFNjaGVkdWxlciB0byBtYW5hZ2UgdGFza3MgdGhhdCBuZWVkIHRvIHJ1biBhdCBzcGVjaWZpYyBpbnRlcnZhbHMsIHN1Y2ggYXMgZGF0YSBjbGVhbnVwLCByZXBvcnQgZ2VuZXJhdGlvbiwgb3IgYW55IHJlY3VycmluZyBiYWNrZ3JvdW5kIHByb2Nlc3NpbmcuXG4gKiAtICoqTW9uaXRvcmluZyBhbmQgRGVidWdnaW5nKio6IFRoZSBsb2dnaW5nIG1ldGhvZHMgYWxsb3cgZGV2ZWxvcGVycyB0byB0cmFjayB0aGUgZXhlY3V0aW9uIG9mIGpvYnMgYW5kIGRpYWdub3NlIGlzc3VlcyBieSBhc3NvY2lhdGluZyBsb2cgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2pvYlwiO1xuICogXG4gKiAvLyBSZXRyaWV2ZSBhbGwgam9iIGRlZmluaXRpb25zXG4gKiBjb25zdCBqb2JzID0gU2NoZWR1bGVyLmdldEpvYnMoKTtcbiAqIGNvbnNvbGUubG9nKGpvYnMpO1xuICogXG4gKiAvLyBFbmFibGUgYSBzcGVjaWZpYyBqb2JcbiAqIFNjaGVkdWxlci5lbmFibGUoXCJteVNjaGVkdWxlZEpvYlwiKTtcbiAqIFxuICogLy8gVHJpZ2dlciBhIGpvYiBpbW1lZGlhdGVseSB3aXRoIHBhcmFtZXRlcnNcbiAqIFNjaGVkdWxlci50cmlnZ2VyKFwibXlTY2hlZHVsZWRKb2JcIiwgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogXCJ2YWx1ZTJcIiB9KTtcbiAqIFxuICogLy8gTG9nIGEgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2VcbiAqIFNjaGVkdWxlci5sb2coXCJteVNjaGVkdWxlZEpvYlwiLCBcIlRoaXMgaXMgYSBsb2cgbWVzc2FnZSBmb3IgdGhlIGpvYiBpbnN0YW5jZS5cIik7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuXG5jb25zdCBKb2JGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuam9iLkpvYkZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBqb2Igc2NoZWR1bGVyLFxuICogb2ZmZXJpbmcgZ2xvYmFsIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtJ3MgZGVmaW5lZCBqb2JzLlxuICovXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgam9iIGRlZmluaXRpb25zIGN1cnJlbnRseSBjb25maWd1cmVkIGluIHRoZSBzeXN0ZW0uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB7QGxpbmsgSm9ifSBvYmplY3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Sm9icygpOiBKb2JbXSB7XG4gICAgICAgIGNvbnN0IGpvYnMgPSBuZXcgQXJyYXk8Sm9iPigpO1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9ucyA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYnMoKSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiBqb2JEZWZpbml0aW9ucykge1xuICAgICAgICAgICAgam9icy5wdXNoKG5ldyBKb2IoZGVmaW5pdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2JzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBkZWZpbml0aW9uIGJ5IGl0cyB1bmlxdWUgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgSm9ifSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYihuYW1lOiBzdHJpbmcpOiBKb2Ige1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gSlNPTi5wYXJzZShKb2JGYWNhZGUuZ2V0Sm9iKG5hbWUpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2Ioam9iRGVmaW5pdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyBhIGpvYiwgYWxsb3dpbmcgaXQgdG8gYmUgZXhlY3V0ZWQgYWNjb3JkaW5nIHRvIGl0cyBzY2hlZHVsZSAoY3JvbiBleHByZXNzaW9uKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZW5hYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5hYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGEgam9iLCBwcmV2ZW50aW5nIGl0IGZyb20gZXhlY3V0aW5nIG9uIGl0cyBzY2hlZHVsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZGlzYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRpc2FibGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIGEgam9iLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHJpZ2dlcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcihuYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgbG9nIGNvbnRleHQgbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBqb2IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGFzc29jaWF0ZSB0aGUgbG9nIHdpdGguXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBsb2cobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyhuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXJyb3IobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVycm9yKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3YXJuKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZm8obmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8obmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzY2hlZHVsZWQgam9iIGRlZmluaXRpb24uXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBqb2IgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9naWNhbCBncm91cGluZyBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGdyb3VwIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ3JvdXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSmF2YSBjbGFzcyBuYW1lIChmb3IgSmF2YS1iYXNlZCBqb2JzKSBvciBzY3JpcHQgZmlsZSBuYW1lIChmb3Igc2NyaXB0LWJhc2VkIGpvYnMpLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgaW1wbGVtZW50YXRpb24gY2xhc3MvZmlsZSBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDbGF6eigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNsYXp6O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBqb2IncyBwdXJwb3NlLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3JvbiBleHByZXNzaW9uIGRlZmluaW5nIHRoZSBqb2IncyBzY2hlZHVsZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JvbiBleHByZXNzaW9uIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXhwcmVzc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFuZGxlciBmaWxlIHBhdGggb3IgcmVzb3VyY2UgbmFtZSBmb3Igc2NyaXB0LWJhc2VkIGpvYnMuXG4gICAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgcGF0aC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFuZGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhbmRsZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCAnSmF2YVNjcmlwdCcsICdKYXZhJykuXG4gICAgICogQHJldHVybnMgVGhlIGVuZ2luZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRFbmdpbmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmdpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY29uZmlndXJlZCBhcyBhIHNpbmdsZXRvbiAob25seSBvbmUgaW5zdGFuY2UgcnVucyBhdCBhIHRpbWUpLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGpvYiBpcyBhIHNpbmdsZXRvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2luZ2xldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNpbmdsZXRvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGpvYiBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3Igc2NoZWR1bGVkIGV4ZWN1dGlvbi5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmFibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXIgSUQgd2hvIGNyZWF0ZWQgdGhlIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdG9yJ3MgdXNlciBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3JlYXRlZEJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBqb2IgZGVmaW5pdGlvbiB3YXMgY3JlYXRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRpb24gdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRBdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRBdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcnN9IG9iamVjdCBjb250YWluaW5nIGFsbCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKCk6IEpvYlBhcmFtZXRlcnMge1xuICAgICAgICByZXR1cm4gbmV3IEpvYlBhcmFtZXRlcnModGhpcy5kYXRhLnBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgZm9yIGEgc3BlY2lmaWMgcGFyYW1ldGVyIG9mIHRoaXMgam9iLlxuICAgICAqIEl0IGNoZWNrcyBmb3IgYW4gb3ZlcnJpZGluZyB2YWx1ZSBpbiB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIGZpcnN0LFxuICAgICAqIGFuZCBmYWxscyBiYWNrIHRvIHRoZSBkZWZpbmVkIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlcidzIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCB2YWx1ZSwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZGF0YS5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXJhbWV0ZXJzW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIG92ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkpvYiBpcyBub3QgdmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmRpc2FibGUodGhpcy5nZXROYW1lKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGpvYiBleGVjdXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHRyaWdnZXIocGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS50cmlnZ2VyKHRoaXMuZ2V0TmFtZSgpLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbG9nIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUubG9nKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgaW5mb3JtYXRpb24gbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuaW5mbyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyBmb3IgYSB7QGxpbmsgSm9ifS5cbiAqL1xuY2xhc3MgSm9iUGFyYW1ldGVycyB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueVtdXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgcmF3IGpvYiBwYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBwYXJhbWV0ZXIgYnkgaXRzIGluZGV4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGkgVGhlIGluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgaW4gdGhlIGFycmF5LlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoaTogbnVtYmVyKTogSm9iUGFyYW1ldGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXIodGhpcy5kYXRhW2ldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBwYXJhbWV0ZXIgZGVmaW5pdGlvbiBmb3IgYSBqb2IuXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlciB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgKGUuZy4sICdTdHJpbmcnLCAnSW50ZWdlcicsICdCb29sZWFuJykuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHByZWRlZmluZWQgY2hvaWNlcyBmb3IgdGhlIHBhcmFtZXRlciwgaWYgYXBwbGljYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjaG9pY2Ugc3RyaW5ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hvaWNlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY2hvaWNlcztcbiAgICB9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTY2hlZHVsZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFvQ0EsU0FBUyxzQkFBc0I7QUFFL0IsTUFBTSxZQUFZLEtBQUssS0FBSyxvREFBb0Q7QUFNekUsTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT25CLE9BQWMsVUFBaUI7QUFDM0IsVUFBTSxPQUFPLElBQUksTUFBVztBQUM1QixVQUFNLGlCQUFpQixLQUFLLE1BQU0sVUFBVSxRQUFRLENBQUM7QUFDckQsZUFBVyxjQUFjLGdCQUFnQjtBQUNyQyxXQUFLLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQztBQUFBLElBQ2pDO0FBQ0EsV0FBTztBQUFBLEVBQ1g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsT0FBTyxNQUFtQjtBQUNwQyxVQUFNLGdCQUFnQixLQUFLLE1BQU0sVUFBVSxPQUFPLElBQUksQ0FBQztBQUN2RCxXQUFPLElBQUksSUFBSSxhQUFhO0FBQUEsRUFDaEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxPQUFjLE9BQU8sTUFBb0I7QUFDckMsY0FBVSxPQUFPLElBQUk7QUFBQSxFQUN6QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMsUUFBUSxNQUFvQjtBQUN0QyxjQUFVLFFBQVEsSUFBSTtBQUFBLEVBQzFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxPQUFjLFFBQVEsTUFBYyxhQUF3QyxDQUFDLEdBQVM7QUFDbEYsY0FBVSxRQUFRLE1BQU0sS0FBSyxVQUFVLFVBQVUsQ0FBQztBQUFBLEVBQ3REO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2pvYi9zY2hlZHVsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQG1vZHVsZSBqb2Ivc2NoZWR1bGVyXG4gKiBAcGFja2FnZSBAYWVyb2tpdC9zZGsvam9iXG4gKiBAbmFtZSBTY2hlZHVsZXJcbiAqIEBvdmVydmlld1xuICogXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIGEgc3RhdGljIGZhXHUwMEU3YWRlIGZvciBtYW5hZ2luZyBzY2hlZHVsZWQgam9icyBhbmQgdGFza3Mgd2l0aGluIHRoZSBwbGF0Zm9ybS4gSXQgYWxsb3dzIHVzZXJzIHRvIHJldHJpZXZlIGpvYiBkZWZpbml0aW9ucywgZW5hYmxlIG9yIGRpc2FibGUgam9icywgdHJpZ2dlciBpbW1lZGlhdGUgZXhlY3V0aW9uLCBhbmQgbG9nIG91dHB1dCBhc3NvY2lhdGVkIHdpdGggc3BlY2lmaWMgam9iIGluc3RhbmNlcy4gVGhlIFNjaGVkdWxlciBpbnRlcmFjdHMgd2l0aCB0aGUgdW5kZXJseWluZyBqb2Igc2NoZWR1bGluZyBzeXN0ZW0gdG8gZmFjaWxpdGF0ZSB0aGUgZXhlY3V0aW9uIG9mIHJlY3VycmluZyB0YXNrcyBiYXNlZCBvbiBjcm9uIGV4cHJlc3Npb25zIG9yIG90aGVyIHNjaGVkdWxpbmcgY3JpdGVyaWEuXG4gKiBcbiAqICMjIyBLZXkgRmVhdHVyZXM6XG4gKiAtICoqSm9iIFJldHJpZXZhbCoqOiBNZXRob2RzIHRvIHJldHJpZXZlIGFsbCBqb2IgZGVmaW5pdGlvbnMgb3IgYSBzcGVjaWZpYyBqb2IgYnkgbmFtZS5cbiAqIC0gKipKb2IgQ29udHJvbCoqOiBNZXRob2RzIHRvIGVuYWJsZSwgZGlzYWJsZSwgb3IgdHJpZ2dlciBqb2JzIG9uIGRlbWFuZC5cbiAqIC0gKipMb2dnaW5nKio6IE1ldGhvZHMgdG8gbG9nIG1lc3NhZ2VzIGF0IHZhcmlvdXMgbGV2ZWxzIChzdGFuZGFyZCwgZXJyb3IsIHdhcm5pbmcsIGluZm8pIGZvciBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgVXNlIENhc2VzOlxuICogLSAqKlRhc2sgU2NoZWR1bGluZyoqOiBEZXZlbG9wZXJzIGNhbiB1c2UgdGhlIFNjaGVkdWxlciB0byBtYW5hZ2UgdGFza3MgdGhhdCBuZWVkIHRvIHJ1biBhdCBzcGVjaWZpYyBpbnRlcnZhbHMsIHN1Y2ggYXMgZGF0YSBjbGVhbnVwLCByZXBvcnQgZ2VuZXJhdGlvbiwgb3IgYW55IHJlY3VycmluZyBiYWNrZ3JvdW5kIHByb2Nlc3NpbmcuXG4gKiAtICoqTW9uaXRvcmluZyBhbmQgRGVidWdnaW5nKio6IFRoZSBsb2dnaW5nIG1ldGhvZHMgYWxsb3cgZGV2ZWxvcGVycyB0byB0cmFjayB0aGUgZXhlY3V0aW9uIG9mIGpvYnMgYW5kIGRpYWdub3NlIGlzc3VlcyBieSBhc3NvY2lhdGluZyBsb2cgbWVzc2FnZXMgd2l0aCBzcGVjaWZpYyBqb2IgaW5zdGFuY2VzLlxuICogXG4gKiAjIyMgRXhhbXBsZSBVc2FnZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tIFwiQGFlcm9raXQvc2RrL2pvYlwiO1xuICogXG4gKiAvLyBSZXRyaWV2ZSBhbGwgam9iIGRlZmluaXRpb25zXG4gKiBjb25zdCBqb2JzID0gU2NoZWR1bGVyLmdldEpvYnMoKTtcbiAqIGNvbnNvbGUubG9nKGpvYnMpO1xuICogXG4gKiAvLyBFbmFibGUgYSBzcGVjaWZpYyBqb2JcbiAqIFNjaGVkdWxlci5lbmFibGUoXCJteVNjaGVkdWxlZEpvYlwiKTtcbiAqIFxuICogLy8gVHJpZ2dlciBhIGpvYiBpbW1lZGlhdGVseSB3aXRoIHBhcmFtZXRlcnNcbiAqIFNjaGVkdWxlci50cmlnZ2VyKFwibXlTY2hlZHVsZWRKb2JcIiwgeyBwYXJhbTE6IFwidmFsdWUxXCIsIHBhcmFtMjogXCJ2YWx1ZTJcIiB9KTtcbiAqIFxuICogLy8gTG9nIGEgbWVzc2FnZSBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2VcbiAqIFNjaGVkdWxlci5sb2coXCJteVNjaGVkdWxlZEpvYlwiLCBcIlRoaXMgaXMgYSBsb2cgbWVzc2FnZSBmb3IgdGhlIGpvYiBpbnN0YW5jZS5cIik7XG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9ucyB9IGZyb20gXCJAYWVyb2tpdC9zZGsvY29yZVwiO1xuXG5jb25zdCBKb2JGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkuam9iLkpvYkZhY2FkZVwiKTtcblxuLyoqXG4gKiBUaGUgU2NoZWR1bGVyIGNsYXNzIHByb3ZpZGVzIHN0YXRpYyBtZXRob2RzIGZvciBpbnRlcmFjdGluZyB3aXRoIHRoZSBqb2Igc2NoZWR1bGVyLFxuICogb2ZmZXJpbmcgZ2xvYmFsIGNvbnRyb2wgb3ZlciB0aGUgc3lzdGVtJ3MgZGVmaW5lZCBqb2JzLlxuICovXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVyIHtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgam9iIGRlZmluaXRpb25zIGN1cnJlbnRseSBjb25maWd1cmVkIGluIHRoZSBzeXN0ZW0uXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB7QGxpbmsgSm9ifSBvYmplY3RzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0Sm9icygpOiBKb2JbXSB7XG4gICAgICAgIGNvbnN0IGpvYnMgPSBuZXcgQXJyYXk8Sm9iPigpO1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9ucyA9IEpTT04ucGFyc2UoSm9iRmFjYWRlLmdldEpvYnMoKSk7XG4gICAgICAgIGZvciAoY29uc3QgZGVmaW5pdGlvbiBvZiBqb2JEZWZpbml0aW9ucykge1xuICAgICAgICAgICAgam9icy5wdXNoKG5ldyBKb2IoZGVmaW5pdGlvbikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBqb2JzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBkZWZpbml0aW9uIGJ5IGl0cyB1bmlxdWUgbmFtZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHJldHVybnMgQSB7QGxpbmsgSm9ifSBvYmplY3QgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvdmlkZWQgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldEpvYihuYW1lOiBzdHJpbmcpOiBKb2Ige1xuICAgICAgICBjb25zdCBqb2JEZWZpbml0aW9uID0gSlNPTi5wYXJzZShKb2JGYWNhZGUuZ2V0Sm9iKG5hbWUpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2Ioam9iRGVmaW5pdGlvbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyBhIGpvYiwgYWxsb3dpbmcgaXQgdG8gYmUgZXhlY3V0ZWQgYWNjb3JkaW5nIHRvIGl0cyBzY2hlZHVsZSAoY3JvbiBleHByZXNzaW9uKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZW5hYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZW5hYmxlKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc2FibGVzIGEgam9iLCBwcmV2ZW50aW5nIGl0IGZyb20gZXhlY3V0aW5nIG9uIGl0cyBzY2hlZHVsZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IgdG8gZGlzYWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGRpc2FibGUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5kaXNhYmxlKG5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIGEgam9iLlxuICAgICAqXG4gICAgICogT25seSB0aGUgcGFyYW1ldGVycyB0aGUgam9iIGFydGVmYWN0IGRlY2xhcmVzIG1heSBiZSBwYXNzZWQgLSBhbnl0aGluZyBlbHNlIGlzIHJlamVjdGVkLlxuICAgICAqIFRoZSB2YWx1ZXMgYXJlIHZpc2libGUgYXMgY29uZmlndXJhdGlvbnMgdG8gdGhlIGpvYiBib2R5IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHJ1biBvbmx5LlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYiB0byB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIE9wdGlvbmFsIGtleS12YWx1ZSBvYmplY3Qgb2YgcGFyYW1ldGVycyB0byBwYXNzIHRvIHRoZSBqb2IgZXhlY3V0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgdHJpZ2dlcihuYW1lOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUudHJpZ2dlcihuYW1lLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgYSBzcGVjaWZpYyBqb2IgaW5zdGFuY2UuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgbG9nIGNvbnRleHQgbmVlZHMgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGEgcnVubmluZyBqb2IuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgam9iIHRvIGFzc29jaWF0ZSB0aGUgbG9nIHdpdGguXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGxvZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBsb2cobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmxvZyhuYW1lLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZXJyb3IobmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmVycm9yKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYSB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgc3BlY2lmaWMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGpvYi5cbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyB3YXJuKG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKG5hbWUsIG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvZ3MgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBhIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBqb2IuXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGluZm9ybWF0aW9uIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGluZm8obmFtZTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmluZm8obmFtZSwgbWVzc2FnZSk7XG4gICAgfVxuXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBzY2hlZHVsZWQgam9iIGRlZmluaXRpb24uXG4gKi9cbmNsYXNzIEpvYiB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBqb2IgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1bmlxdWUgbmFtZSBvZiB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgbmFtZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbG9naWNhbCBncm91cGluZyBmb3IgdGhlIGpvYi5cbiAgICAgKiBAcmV0dXJucyBUaGUgam9iIGdyb3VwIG5hbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEdyb3VwKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ3JvdXA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgSmF2YSBjbGFzcyBuYW1lIChmb3IgSmF2YS1iYXNlZCBqb2JzKSBvciBzY3JpcHQgZmlsZSBuYW1lIChmb3Igc2NyaXB0LWJhc2VkIGpvYnMpLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgaW1wbGVtZW50YXRpb24gY2xhc3MvZmlsZSBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDbGF6eigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNsYXp6O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBqb2IncyBwdXJwb3NlLlxuICAgICAqIEByZXR1cm5zIFRoZSBqb2IgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgY3JvbiBleHByZXNzaW9uIGRlZmluaW5nIHRoZSBqb2IncyBzY2hlZHVsZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JvbiBleHByZXNzaW9uIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RXhwcmVzc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFuZGxlciBmaWxlIHBhdGggb3IgcmVzb3VyY2UgbmFtZSBmb3Igc2NyaXB0LWJhc2VkIGpvYnMuXG4gICAgICogQHJldHVybnMgVGhlIGhhbmRsZXIgcGF0aC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFuZGxlcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmhhbmRsZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhlY3V0aW9uIGVuZ2luZSB0eXBlIChlLmcuLCAnSmF2YVNjcmlwdCcsICdKYXZhJykuXG4gICAgICogQHJldHVybnMgVGhlIGVuZ2luZSB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRFbmdpbmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmdpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBqb2IgaXMgY29uZmlndXJlZCBhcyBhIHNpbmdsZXRvbiAob25seSBvbmUgaW5zdGFuY2UgcnVucyBhdCBhIHRpbWUpLlxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGpvYiBpcyBhIHNpbmdsZXRvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2luZ2xldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLnNpbmdsZXRvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGpvYiBpcyBjdXJyZW50bHkgZW5hYmxlZCBmb3Igc2NoZWR1bGVkIGV4ZWN1dGlvbi5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBqb2IgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YS5lbmFibGVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXIgSUQgd2hvIGNyZWF0ZWQgdGhlIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdG9yJ3MgdXNlciBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q3JlYXRlZEJ5KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY3JlYXRlZEJ5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRpbWVzdGFtcCB3aGVuIHRoZSBqb2IgZGVmaW5pdGlvbiB3YXMgY3JlYXRlZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgY3JlYXRpb24gdGltZSBhcyBhIG51bWVyaWNhbCB0aW1lc3RhbXAuXG4gICAgICovXG4gICAgcHVibGljIGdldENyZWF0ZWRBdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmNyZWF0ZWRBdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXJhbWV0ZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGpvYiBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcnN9IG9iamVjdCBjb250YWluaW5nIGFsbCBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKCk6IEpvYlBhcmFtZXRlcnMge1xuICAgICAgICByZXR1cm4gbmV3IEpvYlBhcmFtZXRlcnModGhpcy5kYXRhLnBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgdmFsdWUgZm9yIGEgc3BlY2lmaWMgcGFyYW1ldGVyIG9mIHRoaXMgam9iLlxuICAgICAqIEl0IGNoZWNrcyBmb3IgYW4gb3ZlcnJpZGluZyB2YWx1ZSBpbiB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25zIGZpcnN0LFxuICAgICAqIGFuZCBmYWxscyBiYWNrIHRvIHRoZSBkZWZpbmVkIGRlZmF1bHQgdmFsdWUgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgdG8gcmV0cmlldmUuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlcidzIGNvbmZpZ3VyZWQgb3IgZGVmYXVsdCB2YWx1ZSwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAgICovXG4gICAgcHVibGljIGdldFBhcmFtZXRlcihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpIGluIHRoaXMuZGF0YS5wYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5wYXJhbWV0ZXJzW2ldLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gZm9yIG92ZXJyaWRlXG4gICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9IGNvbmZpZ3VyYXRpb25zLmdldChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlICE9PSBudWxsID8gdmFsdWUgOiB0aGlzLmRhdGEucGFyYW1ldGVyc1tpXS5kZWZhdWx0VmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkpvYiBpcyBub3QgdmFsaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuZW5hYmxlKHRoaXMuZ2V0TmFtZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGlzIHNwZWNpZmljIGpvYiBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZSgpOiB2b2lkIHtcbiAgICAgICAgSm9iRmFjYWRlLmRpc2FibGUodGhpcy5nZXROYW1lKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyaWdnZXJzIHRoZSBpbW1lZGlhdGUgZXhlY3V0aW9uIG9mIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogT25seSB0aGUgcGFyYW1ldGVycyB0aGUgam9iIGFydGVmYWN0IGRlY2xhcmVzIG1heSBiZSBwYXNzZWQgLSBhbnl0aGluZyBlbHNlIGlzIHJlamVjdGVkLlxuICAgICAqIFRoZSB2YWx1ZXMgYXJlIHZpc2libGUgYXMgY29uZmlndXJhdGlvbnMgdG8gdGhlIGpvYiBib2R5IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHJ1biBvbmx5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHBhcmFtZXRlcnMgT3B0aW9uYWwga2V5LXZhbHVlIG9iamVjdCBvZiBwYXJhbWV0ZXJzIHRvIHBhc3MgdG8gdGhlIGpvYiBleGVjdXRpb24uXG4gICAgICovXG4gICAgcHVibGljIHRyaWdnZXIocGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS50cmlnZ2VyKHRoaXMuZ2V0TmFtZSgpLCBKU09OLnN0cmluZ2lmeShwYXJhbWV0ZXJzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIG1lc3NhZ2UgYXQgdGhlIHN0YW5kYXJkIGxvZyBsZXZlbCBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgbG9nIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbG9nKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUubG9nKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGVycm9yIG1lc3NhZ2UgZm9yIHRoaXMgam9iIGluc3RhbmNlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS5lcnJvcih0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9ncyBhIHdhcm5pbmcgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgd2FybmluZyBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICovXG4gICAgcHVibGljIHdhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIEpvYkZhY2FkZS53YXJuKHRoaXMuZ2V0TmFtZSgpLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2dzIGFuIGluZm9ybWF0aW9uYWwgbWVzc2FnZSBmb3IgdGhpcyBqb2IgaW5zdGFuY2UuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbWVzc2FnZSBUaGUgaW5mb3JtYXRpb24gbWVzc2FnZSBjb250ZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmZvKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBKb2JGYWNhZGUuaW5mbyh0aGlzLmdldE5hbWUoKSwgbWVzc2FnZSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGNvbGxlY3Rpb24gb2YgcGFyYW1ldGVycyBmb3IgYSB7QGxpbmsgSm9ifS5cbiAqL1xuY2xhc3MgSm9iUGFyYW1ldGVycyB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueVtdXG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGF0YSBUaGUgYXJyYXkgb2YgcmF3IGpvYiBwYXJhbWV0ZXIgb2JqZWN0cy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnlbXSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGpvYiBwYXJhbWV0ZXIgYnkgaXRzIGluZGV4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGkgVGhlIGluZGV4IG9mIHRoZSBwYXJhbWV0ZXIgaW4gdGhlIGFycmF5LlxuICAgICAqIEByZXR1cm5zIEEge0BsaW5rIEpvYlBhcmFtZXRlcn0gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoaTogbnVtYmVyKTogSm9iUGFyYW1ldGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKb2JQYXJhbWV0ZXIodGhpcy5kYXRhW2ldKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0b3RhbCBudW1iZXIgb2YgcGFyYW1ldGVycyBkZWZpbmVkIGZvciB0aGUgam9iLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb3VudCBvZiBwYXJhbWV0ZXJzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNpbmdsZSBwYXJhbWV0ZXIgZGVmaW5pdGlvbiBmb3IgYSBqb2IuXG4gKi9cbmNsYXNzIEpvYlBhcmFtZXRlciB7XG5cbiAgICBwcml2YXRlIGRhdGE6IGFueTtcblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkYXRhIFRoZSByYXcgZGF0YSBvYmplY3QgY29udGFpbmluZyBwYXJhbWV0ZXIgcHJvcGVydGllcy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEubmFtZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb24uXG4gICAgICovXG4gICAgcHVibGljIGdldERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZXhwZWN0ZWQgZGF0YSB0eXBlIG9mIHRoZSBwYXJhbWV0ZXIgKGUuZy4sICdTdHJpbmcnLCAnSW50ZWdlcicsICdCb29sZWFuJykuXG4gICAgICogQHJldHVybnMgVGhlIHBhcmFtZXRlciB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEudHlwZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIFRoZSBkZWZhdWx0IHZhbHVlIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVmYXVsdFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsaXN0IG9mIHByZWRlZmluZWQgY2hvaWNlcyBmb3IgdGhlIHBhcmFtZXRlciwgaWYgYXBwbGljYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjaG9pY2Ugc3RyaW5ncy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2hvaWNlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuY2hvaWNlcztcbiAgICB9XG5cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBTY2hlZHVsZXI7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFvQ0EsU0FBUyxzQkFBc0I7QUFFL0IsTUFBTSxZQUFZLEtBQUssS0FBSyxvREFBb0Q7QUFNekUsTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT25CLE9BQWMsVUFBaUI7QUFDM0IsVUFBTSxPQUFPLElBQUksTUFBVztBQUM1QixVQUFNLGlCQUFpQixLQUFLLE1BQU0sVUFBVSxRQUFRLENBQUM7QUFDckQsZUFBVyxjQUFjLGdCQUFnQjtBQUNyQyxXQUFLLEtBQUssSUFBSSxJQUFJLFVBQVUsQ0FBQztBQUFBLElBQ2pDO0FBQ0EsV0FBTztBQUFBLEVBQ1g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE9BQWMsT0FBTyxNQUFtQjtB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
|