verdaccio 5.26.2 → 5.26.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/api/endpoint/api/publish.js +3 -3
- package/build/api/endpoint/api/star.js +3 -3
- package/build/api/endpoint/api/v1/token.js +3 -3
- package/build/api/web/api/index.js +3 -3
- package/build/api/web/api/package.js +3 -3
- package/build/lib/auth.js +3 -3
- package/build/lib/bootstrap.js +3 -3
- package/build/lib/cli/commands/init.js +3 -3
- package/build/lib/notify/index.js +3 -3
- package/build/lib/run-server.js +3 -3
- package/build/lib/storage-utils.js +3 -3
- package/build/lib/utils.js +3 -3
- package/package.json +42 -42
|
@@ -22,8 +22,8 @@ var _storageUtils = require("../../../lib/storage-utils");
|
|
|
22
22
|
var _utils = require("../../../lib/utils");
|
|
23
23
|
var _star = _interopRequireDefault(require("./star"));
|
|
24
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
|
-
function ownKeys(
|
|
26
|
-
function _objectSpread(
|
|
25
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
27
27
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
28
28
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
29
29
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -355,4 +355,4 @@ function uploadPackageTarball(storage) {
|
|
|
355
355
|
});
|
|
356
356
|
};
|
|
357
357
|
}
|
|
358
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfbWltZSIsIl9wYXRoIiwiX2NvcmUiLCJfbWlkZGxld2FyZSIsIl9jb25zdGFudHMiLCJfbG9nZ2VyIiwiX25vdGlmeSIsIl9zdG9yYWdlVXRpbHMiLCJfdXRpbHMiLCJfc3RhciIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJkZWJ1ZyIsImJ1aWxkRGVidWciLCJwdWJsaXNoIiwicm91dGVyIiwiYXV0aCIsInN0b3JhZ2UiLCJjb25maWciLCJjYW4iLCJhbGxvdyIsImJlZm9yZUFsbCIsInBhcmFtcyIsIm1lc3NhZ2UiLCJsb2dnZXIiLCJ0cmFjZSIsImFmdGVyQWxsIiwicHV0IiwibWVkaWEiLCJtaW1lIiwiZ2V0VHlwZSIsImV4cGVjdEpzb24iLCJwdWJsaXNoUGFja2FnZSIsImRlbGV0ZSIsInVuUHVibGlzaFBhY2thZ2UiLCJyZW1vdmVUYXJiYWxsIiwiSEVBREVSUyIsIk9DVEVUX1NUUkVBTSIsInVwbG9hZFBhY2thZ2VUYXJiYWxsIiwiYWRkVmVyc2lvbiIsInN0YXJBcGkiLCJzdGFyIiwicmVxIiwibmV4dCIsInBhY2thZ2VOYW1lIiwicGFja2FnZSIsImNyZWF0ZVRhcmJhbGwiLCJmaWxlbmFtZSIsImRhdGEiLCJjYiIsInN0cmVhbSIsImFkZFRhcmJhbGwiLCJvbiIsImVyciIsImVuZCIsIkJ1ZmZlciIsImZyb20iLCJkb25lIiwiY3JlYXRlVmVyc2lvbiIsInZlcnNpb24iLCJtZXRhZGF0YSIsImFkZFRhZ3MiLCJ0YWdzIiwibWVyZ2VUYWdzIiwiYWZ0ZXJDaGFuZ2UiLCJlcnJvciIsIm9rTWVzc2FnZSIsIm1ldGFkYXRhQ29weSIsIl9hdHRhY2htZW50cyIsInZlcnNpb25zIiwiXyIsImlzTmlsIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiQ1JFQVRFRCIsIm9rIiwic3VjY2VzcyIsImlzSW52YWxpZEJvZHlGb3JtYXQiLCJpc09iamVjdCIsImhhc0RpZmZPbmVLZXkiLCJpbmZvIiwiRXJyb3JDb2RlIiwiZ2V0QmFkUmVxdWVzdCIsIkFQSV9FUlJPUiIsIlVOU1VQT1JURURfUkVHSVNUUllfQ0FMTCIsIkNPTkZMSUNUIiwiZmlyc3RBdHRhY2htZW50S2V5IiwiUGF0aCIsImJhc2VuYW1lIiwidmVyc2lvblRvUHVibGlzaCIsInZlcnNpb25NZXRhZGF0YVRvUHVibGlzaCIsInJlYWRtZSIsIkRJU1RfVEFHUyIsIm5vdGlmeSIsInJlbW90ZV91c2VyIiwibmFtZSIsImlzUHVibGlzaGFibGVQYWNrYWdlIiwiYm9keSIsInVzZXJzIiwidmFsaWRhdGlvVXRpbHMiLCJub3JtYWxpemVNZXRhZGF0YSIsIl9yZXYiLCJpc1JlbGF0ZWRUb0RlcHJlY2F0aW9uIiwiaXNFbXB0eSIsInJlbW90ZSIsImFsbG93X3VucHVibGlzaCIsImNoYW5nZVBhY2thZ2UiLCJyZXZpc2lvbiIsIkFQSV9NRVNTQUdFIiwiUEtHX0NIQU5HRUQiLCJhZGRQYWNrYWdlIiwiUEtHX0NSRUFURUQiLCJnZXRCYWREYXRhIiwiQkFEX1BBQ0tBR0VfREFUQSIsInJlbW92ZVBhY2thZ2UiLCJQS0dfUkVNT1ZFRCIsIlRBUkJBTExfUkVNT1ZFRCIsInRhZyIsIlBLR19QVUJMSVNIRUQiLCJwaXBlIiwiY29tcGxldGUiLCJhYm9ydCIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIlRBUkJBTExfVVBMT0FERUQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS9wdWJsaXNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xuaW1wb3J0IFBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IHZhbGlkYXRpb1V0aWxzIH0gZnJvbSAnQHZlcmRhY2Npby9jb3JlJztcbmltcG9ydCB7IGFsbG93LCBleHBlY3RKc29uLCBtZWRpYSB9IGZyb20gJ0B2ZXJkYWNjaW8vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBDYWxsYmFjaywgQ29uZmlnLCBNZXJnZVRhZ3MsIFBhY2thZ2UsIFZlcnNpb24gfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBBUElfTUVTU0FHRSwgRElTVF9UQUdTLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBub3RpZnkgfSBmcm9tICcuLi8uLi8uLi9saWIvbm90aWZ5JztcbmltcG9ydCBTdG9yYWdlIGZyb20gJy4uLy4uLy4uL2xpYi9zdG9yYWdlJztcbmltcG9ydCB7IGlzUHVibGlzaGFibGVQYWNrYWdlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3N0b3JhZ2UtdXRpbHMnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBoYXNEaWZmT25lS2V5LCBpc09iamVjdCwgaXNSZWxhdGVkVG9EZXByZWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHN0YXIgZnJvbSAnLi9zdGFyJztcblxuY29uc3QgZGVidWcgPSBidWlsZERlYnVnKCd2ZXJkYWNjaW86cHVibGlzaCcpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwdWJsaXNoKFxuICByb3V0ZXI6IFJvdXRlcixcbiAgYXV0aDogQXV0aCxcbiAgc3RvcmFnZTogU3RvcmFnZSxcbiAgY29uZmlnOiBDb25maWdcbik6IHZvaWQge1xuICBjb25zdCBjYW4gPSBhbGxvdyhhdXRoLCB7XG4gICAgYmVmb3JlQWxsOiAocGFyYW1zLCBtZXNzYWdlKSA9PiBsb2dnZXIudHJhY2UocGFyYW1zLCBtZXNzYWdlKSxcbiAgICBhZnRlckFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4gbG9nZ2VyLnRyYWNlKHBhcmFtcywgbWVzc2FnZSksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIGEgcGFja2FnZSAvIHVwZGF0ZSBwYWNrYWdlIC8gdW4vc3RhcnQgYSBwYWNrYWdlXG4gICAqXG4gICAqIFRoZXJlIGFyZSBtdWx0aXBsZXMgc2NlbmFyaW9zIGhlcmUgdG8gYmUgY29uc2lkZXJlZDpcbiAgICpcbiAgICogMS4gUHVibGlzaCBzY2VuYXJpb1xuICAgKlxuICAgKiBQdWJsaXNoIGEgcGFja2FnZSBjb25zaXN0IG9mIGF0IGxlYXN0IDEgc3RlcCAoUFVUKSB3aXRoIGEgbWV0YWRhdGEgcGF5bG9hZC5cbiAgICogV2hlbiBhIHBhY2thZ2UgaXMgcHVibGlzaGVkLCBhbiBfYXR0YWNobWVudCBwcm9wZXJ0eSBpcyBwcmVzZW50IHRoYXQgY29udGFpbnMgdGhlIGRhdGFcbiAgICogb2YgdGhlIHRhcmJhbGwuXG4gICAqXG4gICAqIEV4YW1wbGUgZmxvdyBvZiBwdWJsaXNoLlxuICAgKlxuICAgKiAgbnBtIGh0dHAgZmV0Y2ggUFVUIDIwMSBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDEgOTYyN21zXG4gICAgICBucG0gaW5mbyBsaWZlY3ljbGUgQHNjb3BlL3Rlc3QxQDEuMC4xfnB1Ymxpc2g6IEBzY29wZS90ZXN0MUAxLjAuMVxuICAgICAgbnBtIGluZm8gbGlmZWN5Y2xlIEBzY29wZS90ZXN0MUAxLjAuMX5wb3N0cHVibGlzaDogQHNjb3BlL3Rlc3QxQDEuMC4xXG4gICAgICArIEBzY29wZS90ZXN0MUAxLjAuMVxuICAgICAgbnBtIHZlcmIgZXhpdCBbIDAsIHRydWUgXVxuICAgKlxuICAgKlxuICAgKiAyLiBVbnB1Ymxpc2ggc2NlbmFyaW9cbiAgICpcbiAgICogVW5wdWJsaXNoIGNvbnNpc3QgaW4gMyBzdGVwcy5cbiAgICogIDEuIFRyeSB0byBmZXRjaCAgbWV0YWRhdGEgLT4gaWYgaXQgZmFpbHMsIHJldHVybiA0MDRcbiAgICogIDIuIENvbXB1dGUgbWV0YWRhdGEgbG9jYWxseSAoY2xpZW50IHNpZGUpIGFuZCBzZW5kIGEgbXV0YXRlIHBheWxvYWQgZXhjbHVkaW5nIHRoZSB2ZXJzaW9uIHRvIGJlIHVucHVibGlzaGVkXG4gICAqICAgIGVnOiBpZiBtZXRhZGF0YSByZWZsZWN0cyAxLjAuMSwgMS4wLjIgYW5kIDEuMC4zLCB0aGUgY29tcHV0ZWQgbWV0YWRhdGEgd29uJ3QgaW5jbHVkZSAxLjAuMy5cbiAgICogIDMuIE9uY2UgdGhlIHNlY29uZCBzdGVwIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBmaW5pc2hlZCwgZGVsZXRlIHRoZSB0YXJiYWxsLlxuICAgKlxuICAgKiAgQWxsIHRoZXNlIHN0ZXBzIGFyZSBjb25zZWN1dGl2ZSBhbmQgcmVxdWlyZWQsIHRoZXJlIGlzIG5vIHRyYW5zYWNpb25zIGhlcmUsIGlmIHN0ZXAgMyBmYWlscywgbWV0YWRhdGEgbWlnaHRcbiAgICogIGdldCBjb3JydXB0ZWQuXG4gICAqXG4gICAqICBOb3RlIHRoZSB1bnB1Ymxpc2ggY2FsbCB3aWxsIHN1ZmZpeCBpbiB0aGUgdXJsIGEgLy1yZXYvMTQtNWQ1MDBjZmNlOTJmOTBmZCByZXZpc2lvbiBudW1iZXIsIHRoaXMgbm90XG4gICAqICB1c2VkIGludGVybmFsbHkuXG4gICAqXG4gICAqXG4gICAqIEV4YW1wbGUgZmxvdyBvZiB1bnB1Ymxpc2guXG4gICAqXG4gICAqIG5wbSBodHRwIGZldGNoIEdFVCAyMDAgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxP3dyaXRlPXRydWUgMTY4MG1zXG4gICAgIG5wbSBodHRwIGZldGNoIFBVVCAyMDEgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxLy1yZXYvMTQtNWQ1MDBjZmNlOTJmOTBmZCA5NTY2MDZtcyBhdHRlbXB0ICMyXG4gICAgIG5wbSBodHRwIGZldGNoIEdFVCAyMDAgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxP3dyaXRlPXRydWUgMTYwMW1zXG4gICAgIG5wbSBodHRwIGZldGNoIERFTEVURSAyMDEgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxLy0vdGVzdDEtMS4wLjMudGd6Ly1yZXYvMTYtZTExYzhkYjI4MmIyZDk5MiAxOW1zXG4gICAqXG4gICAqIDMuIFN0YXIgYSBwYWNrYWdlXG4gICAqXG4gICAqIFBlcm1pc3Npb25zOiBzdGFydCBhIHBhY2thZ2UgZGVwZW5kcyBvZiB0aGUgcHVibGlzaCBhbmQgdW5wdWJsaXNoIHBlcm1pc3Npb25zLCB0aGVyZSBpcyBubyBzcGVjaWZpYyBmbGFnIGZvciBzdGFyIG9yIHVuIHN0YXJ0LlxuICAgKiBUaGUgVVJMIGZvciBzdGFyIGlzIHNpbWlsYXIgdG8gdGhlIHVucHVibGlzaCAoY2hhbmdlIHBhY2thZ2UgZm9ybWF0KVxuICAgKlxuICAgKiBucG0gaGFzIG5vIGVucG9pbnQgZm9yIHN0YXIgYSBwYWNrYWdlLCByYXRoZXIgbXV0YXRlIHRoZSBtZXRhZGF0YSBhbmQgYWN0cyBhcywgdGhlIGRpZmZlcmVuY2UgaXMgdGhlXG4gICAqIHVzZXJzIHByb3BlcnR5IHdoaWNoIGlzIHBhcnQgb2YgdGhlIHBheWxvYWQgYW5kIHRoZSBib2R5IG9ubHkgaW5jbHVkZXNcbiAgICpcbiAgICoge1xuXHRcdCAgXCJfaWRcIjogcGtnTmFtZSxcblx0ICBcdFwiX3JldlwiOiBcIjMtYjBjZGFlZmM5YmRiNzdjOFwiLFxuXHRcdCAgXCJ1c2Vyc1wiOiB7XG5cdFx0ICAgIFt1c2VybmFtZV06IGJvb2xlYW4gdmFsdWUgKHRydWUsIGZhbHNlKVxuXHRcdCAgfVxuXHR9XG4gICAqXG4gICAqL1xuICByb3V0ZXIucHV0KFxuICAgICcvOnBhY2thZ2UvOl9yZXY/LzpyZXZpc2lvbj8nLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIG1lZGlhKG1pbWUuZ2V0VHlwZSgnanNvbicpKSxcbiAgICBleHBlY3RKc29uLFxuICAgIHB1Ymxpc2hQYWNrYWdlKHN0b3JhZ2UsIGNvbmZpZywgYXV0aClcbiAgKTtcblxuICAvKipcbiAgICogVW4tcHVibGlzaGluZyBhbiBlbnRpcmUgcGFja2FnZS5cbiAgICpcbiAgICogVGhpcyBzY2VuYXJpbyBoYXBwZW5zIHdoZW4gdGhlIGZpcnN0IGNhbGwgZGV0ZWN0IHRoZXJlIGlzIG9ubHkgb25lIHZlcnNpb24gcmVtYWluaW5nXG4gICAqIGluIHRoZSBtZXRhZGF0YSwgdGhlbiB0aGUgY2xpZW50IGRlY2lkZXMgdG8gREVMRVRFIHRoZSByZXNvdXJjZVxuICAgKiBucG0gaHR0cCBmZXRjaCBHRVQgMzA0IGh0dHA6Ly9sb2NhbGhvc3Q6NDg3My9Ac2NvcGUlMmZ0ZXN0MT93cml0ZT10cnVlIDEwNzZtcyAoZnJvbSBjYWNoZSlcbiAgICAgbnBtIGh0dHAgZmV0Y2ggREVMRVRFIDIwMSBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDEvLXJldi8xOC1kOGViZTMwMjBiZDRhYzljIDIybXNcbiAgICovXG4gIHJvdXRlci5kZWxldGUoJy86cGFja2FnZS8tcmV2LyonLCBjYW4oJ3VucHVibGlzaCcpLCB1blB1Ymxpc2hQYWNrYWdlKHN0b3JhZ2UpKTtcblxuICAvLyByZW1vdmluZyBhIHRhcmJhbGxcbiAgcm91dGVyLmRlbGV0ZShcbiAgICAnLzpwYWNrYWdlLy0vOmZpbGVuYW1lLy1yZXYvOnJldmlzaW9uJyxcbiAgICBjYW4oJ3VucHVibGlzaCcpLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIHJlbW92ZVRhcmJhbGwoc3RvcmFnZSlcbiAgKTtcblxuICAvLyB1cGxvYWRpbmcgcGFja2FnZSB0YXJiYWxsXG4gIHJvdXRlci5wdXQoXG4gICAgJy86cGFja2FnZS8tLzpmaWxlbmFtZS8qJyxcbiAgICBjYW4oJ3B1Ymxpc2gnKSxcbiAgICBtZWRpYShIRUFERVJTLk9DVEVUX1NUUkVBTSksXG4gICAgdXBsb2FkUGFja2FnZVRhcmJhbGwoc3RvcmFnZSlcbiAgKTtcblxuICAvLyBhZGRpbmcgYSB2ZXJzaW9uXG4gIHJvdXRlci5wdXQoXG4gICAgJy86cGFja2FnZS86dmVyc2lvbi8tdGFnLzp0YWcnLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIG1lZGlhKG1pbWUuZ2V0VHlwZSgnanNvbicpKSxcbiAgICBleHBlY3RKc29uLFxuICAgIGFkZFZlcnNpb24oc3RvcmFnZSlcbiAgKTtcbn1cblxuLyoqXG4gKiBQdWJsaXNoIGEgcGFja2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaFBhY2thZ2Uoc3RvcmFnZTogU3RvcmFnZSwgY29uZmlnOiBDb25maWcsIGF1dGg6IEF1dGgpOiBhbnkge1xuICBjb25zdCBzdGFyQXBpID0gc3RhcihzdG9yYWdlKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGRlYnVnKCdwdWJsaXNoaW5nIG9yIHVwZGF0aW5nIGEgbmV3IHZlcnNpb24gZm9yICVvJywgcGFja2FnZU5hbWUpO1xuICAgIC8qKlxuICAgICAqIFdyaXRlIHRhcmJhbGwgb2Ygc3RyZWFtIGRhdGEgZnJvbSBwYWNrYWdlIGNsaWVudHMuXG4gICAgICovXG4gICAgY29uc3QgY3JlYXRlVGFyYmFsbCA9IGZ1bmN0aW9uIChmaWxlbmFtZTogc3RyaW5nLCBkYXRhLCBjYjogQ2FsbGJhY2spOiB2b2lkIHtcbiAgICAgIGNvbnN0IHN0cmVhbSA9IHN0b3JhZ2UuYWRkVGFyYmFsbChwYWNrYWdlTmFtZSwgZmlsZW5hbWUpO1xuICAgICAgc3RyZWFtLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgY2IoZXJyKTtcbiAgICAgIH0pO1xuICAgICAgc3RyZWFtLm9uKCdzdWNjZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBjYigpO1xuICAgICAgfSk7XG4gICAgICAvLyB0aGlzIGlzIGR1bWIgYW5kIG1lbW9yeS1jb25zdW1pbmcsIGJ1dCB3aGF0IGNob2ljZXMgZG8gd2UgaGF2ZT9cbiAgICAgIC8vIGZsb3c6IHdlIG5lZWQgZmlyc3QgcmVmYWN0b3IgdGhpcyBmaWxlIGJlZm9yZSBkZWNpZGVzIHdoaWNoIHR5cGUgdXNlIGhlcmVcbiAgICAgIHN0cmVhbS5lbmQoQnVmZmVyLmZyb20oZGF0YS5kYXRhLCAnYmFzZTY0JykpO1xuICAgICAgc3RyZWFtLmRvbmUoKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQWRkIG5ldyBwYWNrYWdlIHZlcnNpb24gaW4gc3RvcmFnZVxuICAgICAqL1xuICAgIGNvbnN0IGNyZWF0ZVZlcnNpb24gPSBmdW5jdGlvbiAodmVyc2lvbjogc3RyaW5nLCBtZXRhZGF0YTogVmVyc2lvbiwgY2I6IENhbGxiYWNrKTogdm9pZCB7XG4gICAgICBzdG9yYWdlLmFkZFZlcnNpb24ocGFja2FnZU5hbWUsIHZlcnNpb24sIG1ldGFkYXRhLCBudWxsLCBjYik7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEFkZCBuZXcgdGFncyBpbiBzdG9yYWdlXG4gICAgICovXG4gICAgY29uc3QgYWRkVGFncyA9IGZ1bmN0aW9uICh0YWdzOiBNZXJnZVRhZ3MsIGNiOiBDYWxsYmFjayk6IHZvaWQge1xuICAgICAgc3RvcmFnZS5tZXJnZVRhZ3MocGFja2FnZU5hbWUsIHRhZ3MsIGNiKTtcbiAgICB9O1xuXG4gICAgY29uc3QgYWZ0ZXJDaGFuZ2UgPSBmdW5jdGlvbiAoZXJyb3IsIG9rTWVzc2FnZSwgbWV0YWRhdGEpOiB2b2lkIHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhQ29weTogUGFja2FnZSA9IHsgLi4ubWV0YWRhdGEgfTtcblxuICAgICAgY29uc3QgeyBfYXR0YWNobWVudHMsIHZlcnNpb25zIH0gPSBtZXRhZGF0YUNvcHk7XG5cbiAgICAgIC8vIGBucG0gc3RhcmAgd291bGRuJ3QgaGF2ZSBhdHRhY2htZW50c1xuICAgICAgLy8gYW5kIGBucG0gZGVwcmVjYXRlYCB3b3VsZCBoYXZlIGF0dGFjaG1lbnRzIGFzIGEgZW1wdHkgb2JqZWN0LCBpLmUge31cbiAgICAgIGlmIChfLmlzTmlsKF9hdHRhY2htZW50cykgfHwgSlNPTi5zdHJpbmdpZnkoX2F0dGFjaG1lbnRzKSA9PT0gJ3t9Jykge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAgIG9rOiBva01lc3NhZ2UsXG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIG5wbS1yZWdpc3RyeS1jbGllbnQgMC4zKyBlbWJlZHMgdGFyYmFsbCBpbnRvIHRoZSBqc29uIHVwbG9hZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2lzYWFjcy9ucG0tcmVnaXN0cnktY2xpZW50L2NvbW1pdC9lOWZiZWI4YjY3ZjI0OTM5NGY3MzVjNzRlZjExZmU0NzIwZDQ2Y2EwXG4gICAgICAvLyBpc3N1ZSBodHRwczovL2dpdGh1Yi5jb20vcmxpZHdrYS9zaW5vcGlhL2lzc3Vlcy8zMSwgZGVhbGluZyB3aXRoIGl0IGhlcmU6XG4gICAgICBjb25zdCBpc0ludmFsaWRCb2R5Rm9ybWF0ID1cbiAgICAgICAgaXNPYmplY3QoX2F0dGFjaG1lbnRzKSA9PT0gZmFsc2UgfHxcbiAgICAgICAgaGFzRGlmZk9uZUtleShfYXR0YWNobWVudHMpIHx8XG4gICAgICAgIGlzT2JqZWN0KHZlcnNpb25zKSA9PT0gZmFsc2UgfHxcbiAgICAgICAgaGFzRGlmZk9uZUtleSh2ZXJzaW9ucyk7XG5cbiAgICAgIGlmIChpc0ludmFsaWRCb2R5Rm9ybWF0KSB7XG4gICAgICAgIC8vIG5wbSBpcyBkb2luZyBzb21ldGhpbmcgc3RyYW5nZSBhZ2FpblxuICAgICAgICAvLyBpZiB0aGlzIGhhcHBlbnMgaW4gbm9ybWFsIGNpcmN1bXN0YW5jZXMsIHJlcG9ydCBpdCBhcyBhIGJ1Z1xuICAgICAgICBsb2dnZXIuaW5mbyh7IHBhY2thZ2VOYW1lIH0sIGB3cm9uZyBwYWNrYWdlIGZvcm1hdCBvbiBwdWJsaXNoIGEgcGFja2FnZSBAe3BhY2thZ2VOYW1lfWApO1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0QmFkUmVxdWVzdChBUElfRVJST1IuVU5TVVBPUlRFRF9SRUdJU1RSWV9DQUxMKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlcnJvciAmJiBlcnJvci5zdGF0dXMgIT09IEhUVFBfU1RBVFVTLkNPTkZMSUNUKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgLy8gYXQgdGhpcyBwb2ludCBkb2N1bWVudCBpcyBlaXRoZXIgY3JlYXRlZCBvciBleGlzdGVkIGJlZm9yZVxuICAgICAgY29uc3QgW2ZpcnN0QXR0YWNobWVudEtleV0gPSBPYmplY3Qua2V5cyhfYXR0YWNobWVudHMpO1xuXG4gICAgICBjcmVhdGVUYXJiYWxsKFxuICAgICAgICBQYXRoLmJhc2VuYW1lKGZpcnN0QXR0YWNobWVudEtleSksXG4gICAgICAgIF9hdHRhY2htZW50c1tmaXJzdEF0dGFjaG1lbnRLZXldLFxuICAgICAgICBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB2ZXJzaW9uVG9QdWJsaXNoID0gT2JqZWN0LmtleXModmVyc2lvbnMpWzBdO1xuICAgICAgICAgIGNvbnN0IHZlcnNpb25NZXRhZGF0YVRvUHVibGlzaCA9IHZlcnNpb25zW3ZlcnNpb25Ub1B1Ymxpc2hdO1xuXG4gICAgICAgICAgdmVyc2lvbk1ldGFkYXRhVG9QdWJsaXNoLnJlYWRtZSA9XG4gICAgICAgICAgICBfLmlzTmlsKHZlcnNpb25NZXRhZGF0YVRvUHVibGlzaC5yZWFkbWUpID09PSBmYWxzZVxuICAgICAgICAgICAgICA/IFN0cmluZyh2ZXJzaW9uTWV0YWRhdGFUb1B1Ymxpc2gucmVhZG1lKVxuICAgICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgICAgY3JlYXRlVmVyc2lvbih2ZXJzaW9uVG9QdWJsaXNoLCB2ZXJzaW9uTWV0YWRhdGFUb1B1Ymxpc2gsIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYWRkVGFncyhtZXRhZGF0YUNvcHlbRElTVF9UQUdTXSwgYXN5bmMgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgbm90aWZ5KFxuICAgICAgICAgICAgICAgICAgbWV0YWRhdGFDb3B5LFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgcmVxLnJlbW90ZV91c2VyLFxuICAgICAgICAgICAgICAgICAgYCR7bWV0YWRhdGFDb3B5Lm5hbWV9QCR7dmVyc2lvblRvUHVibGlzaH1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvciB9LCAnbm90aWZ5IGJhdGNoIHNlcnZpY2UgaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KHsgb2s6IG9rTWVzc2FnZSwgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH07XG5cbiAgICBpZiAoaXNQdWJsaXNoYWJsZVBhY2thZ2UocmVxLmJvZHkpID09PSBmYWxzZSAmJiBpc09iamVjdChyZXEuYm9keS51c2VycykpIHtcbiAgICAgIHJldHVybiBzdGFyQXBpKHJlcSwgcmVzLCBuZXh0KTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSB2YWxpZGF0aW9VdGlscy5ub3JtYWxpemVNZXRhZGF0YShyZXEuYm9keSwgcGFja2FnZU5hbWUpO1xuICAgICAgLy8gY2hlY2sgX2F0dGFjaG1lbnRzIHRvIGRpc3Rpbmd1aXNoIHB1Ymxpc2ggYW5kIGRlcHJlY2F0ZVxuICAgICAgaWYgKFxuICAgICAgICByZXEucGFyYW1zLl9yZXYgfHxcbiAgICAgICAgKGlzUmVsYXRlZFRvRGVwcmVjYXRpb24ocmVxLmJvZHkpICYmIF8uaXNFbXB0eShyZXEuYm9keS5fYXR0YWNobWVudHMpKVxuICAgICAgKSB7XG4gICAgICAgIGRlYnVnKCd1cGRhdGluZyBhIG5ldyB2ZXJzaW9uIGZvciAlbycsIHBhY2thZ2VOYW1lKTtcbiAgICAgICAgLy8gd2UgY2hlY2sgdW5wdWJsaXNoIHBlcm1pc3Npb25zLCBhbiB1cGRhdGUgaXMgYmFzaWNhbGx5IHJlbW92ZSB2ZXJzaW9uc1xuICAgICAgICBjb25zdCByZW1vdGUgPSByZXEucmVtb3RlX3VzZXI7XG4gICAgICAgIGF1dGguYWxsb3dfdW5wdWJsaXNoKHsgcGFja2FnZU5hbWUgfSwgcmVtb3RlLCAoZXJyb3IpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGxvZ2dlci5lcnJvcih7IHBhY2thZ2VOYW1lIH0sIGBub3QgYWxsb3dlZCB0byB1bnB1Ymxpc2ggYSB2ZXJzaW9uIGZvciBAe3BhY2thZ2VOYW1lfWApO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQoZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdG9yYWdlLmNoYW5nZVBhY2thZ2UocGFja2FnZU5hbWUsIG1ldGFkYXRhLCByZXEucGFyYW1zLnJldmlzaW9uLCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGFmdGVyQ2hhbmdlKGVycm9yLCBBUElfTUVTU0FHRS5QS0dfQ0hBTkdFRCwgbWV0YWRhdGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlYnVnKCdhZGRpbmcgYSBuZXcgdmVyc2lvbiBmb3IgJW8nLCBwYWNrYWdlTmFtZSk7XG4gICAgICAgIHN0b3JhZ2UuYWRkUGFja2FnZShwYWNrYWdlTmFtZSwgbWV0YWRhdGEsIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgIGFmdGVyQ2hhbmdlKGVycm9yLCBBUElfTUVTU0FHRS5QS0dfQ1JFQVRFRCwgbWV0YWRhdGEpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKHsgcGFja2FnZU5hbWUgfSwgJ2Vycm9yIG9uIHB1Ymxpc2gsIGJhZCBwYWNrYWdlIGRhdGEgZm9yIEB7cGFja2FnZU5hbWV9Jyk7XG4gICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0QmFkRGF0YShBUElfRVJST1IuQkFEX1BBQ0tBR0VfREFUQSkpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiB1bi1wdWJsaXNoIGEgcGFja2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5QdWJsaXNoUGFja2FnZShzdG9yYWdlOiBTdG9yYWdlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMucGFja2FnZTtcbiAgICBkZWJ1ZygndW5wdWJsaXNoaW5nICVvJywgcGFja2FnZU5hbWUpO1xuICAgIHN0b3JhZ2UucmVtb3ZlUGFja2FnZShwYWNrYWdlTmFtZSwgZnVuY3Rpb24gKGVycikge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgfVxuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgIHJldHVybiBuZXh0KHsgb2s6IEFQSV9NRVNTQUdFLlBLR19SRU1PVkVEIH0pO1xuICAgIH0pO1xuICB9O1xufVxuXG4vKipcbiAqIERlbGV0ZSB0YXJiYWxsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUYXJiYWxsKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGNvbnN0IHsgZmlsZW5hbWUsIHJldmlzaW9uIH0gPSByZXEucGFyYW1zO1xuICAgIGRlYnVnKCdyZW1vdmluZyBhIHRhcmJhbGwgZm9yICVvLSVvLSVvJywgcGFja2FnZU5hbWUsIGZpbGVuYW1lLCByZXZpc2lvbik7XG4gICAgc3RvcmFnZS5yZW1vdmVUYXJiYWxsKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSwgcmV2aXNpb24sIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgIH1cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICBkZWJ1Zygnc3VjY2VzcyByZW1vdmUgdGFyYmFsbCBmb3IgJW8tJW8tJW8nLCBwYWNrYWdlTmFtZSwgZmlsZW5hbWUsIHJldmlzaW9uKTtcbiAgICAgIHJldHVybiBuZXh0KHsgb2s6IEFQSV9NRVNTQUdFLlRBUkJBTExfUkVNT1ZFRCB9KTtcbiAgICB9KTtcbiAgfTtcbn1cbi8qKlxuICogQWRkcyBhIG5ldyB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRWZXJzaW9uKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgdmVyc2lvbiwgdGFnIH0gPSByZXEucGFyYW1zO1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuXG4gICAgc3RvcmFnZS5hZGRWZXJzaW9uKHBhY2thZ2VOYW1lLCB2ZXJzaW9uLCByZXEuYm9keSwgdGFnLCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gbmV4dChlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgIG9rOiBBUElfTUVTU0FHRS5QS0dfUFVCTElTSEVELFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59XG5cbi8qKlxuICogdXBsb2FkUGFja2FnZVRhcmJhbGxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwbG9hZFBhY2thZ2VUYXJiYWxsKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGNvbnN0IHN0cmVhbSA9IHN0b3JhZ2UuYWRkVGFyYmFsbChwYWNrYWdlTmFtZSwgcmVxLnBhcmFtcy5maWxlbmFtZSk7XG4gICAgcmVxLnBpcGUoc3RyZWFtKTtcblxuICAgIC8vIGNoZWNraW5nIGlmIGVuZCBldmVudCBjYW1lIGJlZm9yZSBjbG9zaW5nXG4gICAgbGV0IGNvbXBsZXRlID0gZmFsc2U7XG4gICAgcmVxLm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb21wbGV0ZSA9IHRydWU7XG4gICAgICBzdHJlYW0uZG9uZSgpO1xuICAgIH0pO1xuXG4gICAgcmVxLm9uKCdjbG9zZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghY29tcGxldGUpIHtcbiAgICAgICAgc3RyZWFtLmFib3J0KCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBzdHJlYW0ub24oJ2Vycm9yJywgZnVuY3Rpb24gKGVycikge1xuICAgICAgcmV0dXJuIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gICAgfSk7XG5cbiAgICBzdHJlYW0ub24oJ3N1Y2Nlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICBvazogQVBJX01FU1NBR0UuVEFSQkFMTF9VUExPQURFRCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUlBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUVBLElBQUFTLGFBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLE1BQUEsR0FBQVYsT0FBQTtBQUVBLElBQUFXLEtBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUEwQixTQUFBRCx1QkFBQWEsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLFFBQUFDLE1BQUEsRUFBQUMsY0FBQSxRQUFBQyxJQUFBLEdBQUFDLE1BQUEsQ0FBQUQsSUFBQSxDQUFBRixNQUFBLE9BQUFHLE1BQUEsQ0FBQUMscUJBQUEsUUFBQUMsT0FBQSxHQUFBRixNQUFBLENBQUFDLHFCQUFBLENBQUFKLE1BQUEsR0FBQUMsY0FBQSxLQUFBSSxPQUFBLEdBQUFBLE9BQUEs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
|
|
358
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfbWltZSIsIl9wYXRoIiwiX2NvcmUiLCJfbWlkZGxld2FyZSIsIl9jb25zdGFudHMiLCJfbG9nZ2VyIiwiX25vdGlmeSIsIl9zdG9yYWdlVXRpbHMiLCJfdXRpbHMiLCJfc3RhciIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImtleSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJkZWJ1ZyIsImJ1aWxkRGVidWciLCJwdWJsaXNoIiwicm91dGVyIiwiYXV0aCIsInN0b3JhZ2UiLCJjb25maWciLCJjYW4iLCJhbGxvdyIsImJlZm9yZUFsbCIsInBhcmFtcyIsIm1lc3NhZ2UiLCJsb2dnZXIiLCJ0cmFjZSIsImFmdGVyQWxsIiwicHV0IiwibWVkaWEiLCJtaW1lIiwiZ2V0VHlwZSIsImV4cGVjdEpzb24iLCJwdWJsaXNoUGFja2FnZSIsImRlbGV0ZSIsInVuUHVibGlzaFBhY2thZ2UiLCJyZW1vdmVUYXJiYWxsIiwiSEVBREVSUyIsIk9DVEVUX1NUUkVBTSIsInVwbG9hZFBhY2thZ2VUYXJiYWxsIiwiYWRkVmVyc2lvbiIsInN0YXJBcGkiLCJzdGFyIiwicmVxIiwibmV4dCIsInBhY2thZ2VOYW1lIiwicGFja2FnZSIsImNyZWF0ZVRhcmJhbGwiLCJmaWxlbmFtZSIsImRhdGEiLCJjYiIsInN0cmVhbSIsImFkZFRhcmJhbGwiLCJvbiIsImVyciIsImVuZCIsIkJ1ZmZlciIsImZyb20iLCJkb25lIiwiY3JlYXRlVmVyc2lvbiIsInZlcnNpb24iLCJtZXRhZGF0YSIsImFkZFRhZ3MiLCJ0YWdzIiwibWVyZ2VUYWdzIiwiYWZ0ZXJDaGFuZ2UiLCJlcnJvciIsIm9rTWVzc2FnZSIsIm1ldGFkYXRhQ29weSIsIl9hdHRhY2htZW50cyIsInZlcnNpb25zIiwiXyIsImlzTmlsIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiQ1JFQVRFRCIsIm9rIiwic3VjY2VzcyIsImlzSW52YWxpZEJvZHlGb3JtYXQiLCJpc09iamVjdCIsImhhc0RpZmZPbmVLZXkiLCJpbmZvIiwiRXJyb3JDb2RlIiwiZ2V0QmFkUmVxdWVzdCIsIkFQSV9FUlJPUiIsIlVOU1VQT1JURURfUkVHSVNUUllfQ0FMTCIsIkNPTkZMSUNUIiwiZmlyc3RBdHRhY2htZW50S2V5IiwiUGF0aCIsImJhc2VuYW1lIiwidmVyc2lvblRvUHVibGlzaCIsInZlcnNpb25NZXRhZGF0YVRvUHVibGlzaCIsInJlYWRtZSIsIkRJU1RfVEFHUyIsIm5vdGlmeSIsInJlbW90ZV91c2VyIiwibmFtZSIsImlzUHVibGlzaGFibGVQYWNrYWdlIiwiYm9keSIsInVzZXJzIiwidmFsaWRhdGlvVXRpbHMiLCJub3JtYWxpemVNZXRhZGF0YSIsIl9yZXYiLCJpc1JlbGF0ZWRUb0RlcHJlY2F0aW9uIiwiaXNFbXB0eSIsInJlbW90ZSIsImFsbG93X3VucHVibGlzaCIsImNoYW5nZVBhY2thZ2UiLCJyZXZpc2lvbiIsIkFQSV9NRVNTQUdFIiwiUEtHX0NIQU5HRUQiLCJhZGRQYWNrYWdlIiwiUEtHX0NSRUFURUQiLCJnZXRCYWREYXRhIiwiQkFEX1BBQ0tBR0VfREFUQSIsInJlbW92ZVBhY2thZ2UiLCJQS0dfUkVNT1ZFRCIsIlRBUkJBTExfUkVNT1ZFRCIsInRhZyIsIlBLR19QVUJMSVNIRUQiLCJwaXBlIiwiY29tcGxldGUiLCJhYm9ydCIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIlRBUkJBTExfVVBMT0FERUQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS9wdWJsaXNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xuaW1wb3J0IFBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IHZhbGlkYXRpb1V0aWxzIH0gZnJvbSAnQHZlcmRhY2Npby9jb3JlJztcbmltcG9ydCB7IGFsbG93LCBleHBlY3RKc29uLCBtZWRpYSB9IGZyb20gJ0B2ZXJkYWNjaW8vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBDYWxsYmFjaywgQ29uZmlnLCBNZXJnZVRhZ3MsIFBhY2thZ2UsIFZlcnNpb24gfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBBUElfTUVTU0FHRSwgRElTVF9UQUdTLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBub3RpZnkgfSBmcm9tICcuLi8uLi8uLi9saWIvbm90aWZ5JztcbmltcG9ydCBTdG9yYWdlIGZyb20gJy4uLy4uLy4uL2xpYi9zdG9yYWdlJztcbmltcG9ydCB7IGlzUHVibGlzaGFibGVQYWNrYWdlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3N0b3JhZ2UtdXRpbHMnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBoYXNEaWZmT25lS2V5LCBpc09iamVjdCwgaXNSZWxhdGVkVG9EZXByZWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHN0YXIgZnJvbSAnLi9zdGFyJztcblxuY29uc3QgZGVidWcgPSBidWlsZERlYnVnKCd2ZXJkYWNjaW86cHVibGlzaCcpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwdWJsaXNoKFxuICByb3V0ZXI6IFJvdXRlcixcbiAgYXV0aDogQXV0aCxcbiAgc3RvcmFnZTogU3RvcmFnZSxcbiAgY29uZmlnOiBDb25maWdcbik6IHZvaWQge1xuICBjb25zdCBjYW4gPSBhbGxvdyhhdXRoLCB7XG4gICAgYmVmb3JlQWxsOiAocGFyYW1zLCBtZXNzYWdlKSA9PiBsb2dnZXIudHJhY2UocGFyYW1zLCBtZXNzYWdlKSxcbiAgICBhZnRlckFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4gbG9nZ2VyLnRyYWNlKHBhcmFtcywgbWVzc2FnZSksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIGEgcGFja2FnZSAvIHVwZGF0ZSBwYWNrYWdlIC8gdW4vc3RhcnQgYSBwYWNrYWdlXG4gICAqXG4gICAqIFRoZXJlIGFyZSBtdWx0aXBsZXMgc2NlbmFyaW9zIGhlcmUgdG8gYmUgY29uc2lkZXJlZDpcbiAgICpcbiAgICogMS4gUHVibGlzaCBzY2VuYXJpb1xuICAgKlxuICAgKiBQdWJsaXNoIGEgcGFja2FnZSBjb25zaXN0IG9mIGF0IGxlYXN0IDEgc3RlcCAoUFVUKSB3aXRoIGEgbWV0YWRhdGEgcGF5bG9hZC5cbiAgICogV2hlbiBhIHBhY2thZ2UgaXMgcHVibGlzaGVkLCBhbiBfYXR0YWNobWVudCBwcm9wZXJ0eSBpcyBwcmVzZW50IHRoYXQgY29udGFpbnMgdGhlIGRhdGFcbiAgICogb2YgdGhlIHRhcmJhbGwuXG4gICAqXG4gICAqIEV4YW1wbGUgZmxvdyBvZiBwdWJsaXNoLlxuICAgKlxuICAgKiAgbnBtIGh0dHAgZmV0Y2ggUFVUIDIwMSBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDEgOTYyN21zXG4gICAgICBucG0gaW5mbyBsaWZlY3ljbGUgQHNjb3BlL3Rlc3QxQDEuMC4xfnB1Ymxpc2g6IEBzY29wZS90ZXN0MUAxLjAuMVxuICAgICAgbnBtIGluZm8gbGlmZWN5Y2xlIEBzY29wZS90ZXN0MUAxLjAuMX5wb3N0cHVibGlzaDogQHNjb3BlL3Rlc3QxQDEuMC4xXG4gICAgICArIEBzY29wZS90ZXN0MUAxLjAuMVxuICAgICAgbnBtIHZlcmIgZXhpdCBbIDAsIHRydWUgXVxuICAgKlxuICAgKlxuICAgKiAyLiBVbnB1Ymxpc2ggc2NlbmFyaW9cbiAgICpcbiAgICogVW5wdWJsaXNoIGNvbnNpc3QgaW4gMyBzdGVwcy5cbiAgICogIDEuIFRyeSB0byBmZXRjaCAgbWV0YWRhdGEgLT4gaWYgaXQgZmFpbHMsIHJldHVybiA0MDRcbiAgICogIDIuIENvbXB1dGUgbWV0YWRhdGEgbG9jYWxseSAoY2xpZW50IHNpZGUpIGFuZCBzZW5kIGEgbXV0YXRlIHBheWxvYWQgZXhjbHVkaW5nIHRoZSB2ZXJzaW9uIHRvIGJlIHVucHVibGlzaGVkXG4gICAqICAgIGVnOiBpZiBtZXRhZGF0YSByZWZsZWN0cyAxLjAuMSwgMS4wLjIgYW5kIDEuMC4zLCB0aGUgY29tcHV0ZWQgbWV0YWRhdGEgd29uJ3QgaW5jbHVkZSAxLjAuMy5cbiAgICogIDMuIE9uY2UgdGhlIHNlY29uZCBzdGVwIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBmaW5pc2hlZCwgZGVsZXRlIHRoZSB0YXJiYWxsLlxuICAgKlxuICAgKiAgQWxsIHRoZXNlIHN0ZXBzIGFyZSBjb25zZWN1dGl2ZSBhbmQgcmVxdWlyZWQsIHRoZXJlIGlzIG5vIHRyYW5zYWNpb25zIGhlcmUsIGlmIHN0ZXAgMyBmYWlscywgbWV0YWRhdGEgbWlnaHRcbiAgICogIGdldCBjb3JydXB0ZWQuXG4gICAqXG4gICAqICBOb3RlIHRoZSB1bnB1Ymxpc2ggY2FsbCB3aWxsIHN1ZmZpeCBpbiB0aGUgdXJsIGEgLy1yZXYvMTQtNWQ1MDBjZmNlOTJmOTBmZCByZXZpc2lvbiBudW1iZXIsIHRoaXMgbm90XG4gICAqICB1c2VkIGludGVybmFsbHkuXG4gICAqXG4gICAqXG4gICAqIEV4YW1wbGUgZmxvdyBvZiB1bnB1Ymxpc2guXG4gICAqXG4gICAqIG5wbSBodHRwIGZldGNoIEdFVCAyMDAgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxP3dyaXRlPXRydWUgMTY4MG1zXG4gICAgIG5wbSBodHRwIGZldGNoIFBVVCAyMDEgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxLy1yZXYvMTQtNWQ1MDBjZmNlOTJmOTBmZCA5NTY2MDZtcyBhdHRlbXB0ICMyXG4gICAgIG5wbSBodHRwIGZldGNoIEdFVCAyMDAgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxP3dyaXRlPXRydWUgMTYwMW1zXG4gICAgIG5wbSBodHRwIGZldGNoIERFTEVURSAyMDEgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxLy0vdGVzdDEtMS4wLjMudGd6Ly1yZXYvMTYtZTExYzhkYjI4MmIyZDk5MiAxOW1zXG4gICAqXG4gICAqIDMuIFN0YXIgYSBwYWNrYWdlXG4gICAqXG4gICAqIFBlcm1pc3Npb25zOiBzdGFydCBhIHBhY2thZ2UgZGVwZW5kcyBvZiB0aGUgcHVibGlzaCBhbmQgdW5wdWJsaXNoIHBlcm1pc3Npb25zLCB0aGVyZSBpcyBubyBzcGVjaWZpYyBmbGFnIGZvciBzdGFyIG9yIHVuIHN0YXJ0LlxuICAgKiBUaGUgVVJMIGZvciBzdGFyIGlzIHNpbWlsYXIgdG8gdGhlIHVucHVibGlzaCAoY2hhbmdlIHBhY2thZ2UgZm9ybWF0KVxuICAgKlxuICAgKiBucG0gaGFzIG5vIGVucG9pbnQgZm9yIHN0YXIgYSBwYWNrYWdlLCByYXRoZXIgbXV0YXRlIHRoZSBtZXRhZGF0YSBhbmQgYWN0cyBhcywgdGhlIGRpZmZlcmVuY2UgaXMgdGhlXG4gICAqIHVzZXJzIHByb3BlcnR5IHdoaWNoIGlzIHBhcnQgb2YgdGhlIHBheWxvYWQgYW5kIHRoZSBib2R5IG9ubHkgaW5jbHVkZXNcbiAgICpcbiAgICoge1xuXHRcdCAgXCJfaWRcIjogcGtnTmFtZSxcblx0ICBcdFwiX3JldlwiOiBcIjMtYjBjZGFlZmM5YmRiNzdjOFwiLFxuXHRcdCAgXCJ1c2Vyc1wiOiB7XG5cdFx0ICAgIFt1c2VybmFtZV06IGJvb2xlYW4gdmFsdWUgKHRydWUsIGZhbHNlKVxuXHRcdCAgfVxuXHR9XG4gICAqXG4gICAqL1xuICByb3V0ZXIucHV0KFxuICAgICcvOnBhY2thZ2UvOl9yZXY/LzpyZXZpc2lvbj8nLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIG1lZGlhKG1pbWUuZ2V0VHlwZSgnanNvbicpKSxcbiAgICBleHBlY3RKc29uLFxuICAgIHB1Ymxpc2hQYWNrYWdlKHN0b3JhZ2UsIGNvbmZpZywgYXV0aClcbiAgKTtcblxuICAvKipcbiAgICogVW4tcHVibGlzaGluZyBhbiBlbnRpcmUgcGFja2FnZS5cbiAgICpcbiAgICogVGhpcyBzY2VuYXJpbyBoYXBwZW5zIHdoZW4gdGhlIGZpcnN0IGNhbGwgZGV0ZWN0IHRoZXJlIGlzIG9ubHkgb25lIHZlcnNpb24gcmVtYWluaW5nXG4gICAqIGluIHRoZSBtZXRhZGF0YSwgdGhlbiB0aGUgY2xpZW50IGRlY2lkZXMgdG8gREVMRVRFIHRoZSByZXNvdXJjZVxuICAgKiBucG0gaHR0cCBmZXRjaCBHRVQgMzA0IGh0dHA6Ly9sb2NhbGhvc3Q6NDg3My9Ac2NvcGUlMmZ0ZXN0MT93cml0ZT10cnVlIDEwNzZtcyAoZnJvbSBjYWNoZSlcbiAgICAgbnBtIGh0dHAgZmV0Y2ggREVMRVRFIDIwMSBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDEvLXJldi8xOC1kOGViZTMwMjBiZDRhYzljIDIybXNcbiAgICovXG4gIHJvdXRlci5kZWxldGUoJy86cGFja2FnZS8tcmV2LyonLCBjYW4oJ3VucHVibGlzaCcpLCB1blB1Ymxpc2hQYWNrYWdlKHN0b3JhZ2UpKTtcblxuICAvLyByZW1vdmluZyBhIHRhcmJhbGxcbiAgcm91dGVyLmRlbGV0ZShcbiAgICAnLzpwYWNrYWdlLy0vOmZpbGVuYW1lLy1yZXYvOnJldmlzaW9uJyxcbiAgICBjYW4oJ3VucHVibGlzaCcpLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIHJlbW92ZVRhcmJhbGwoc3RvcmFnZSlcbiAgKTtcblxuICAvLyB1cGxvYWRpbmcgcGFja2FnZSB0YXJiYWxsXG4gIHJvdXRlci5wdXQoXG4gICAgJy86cGFja2FnZS8tLzpmaWxlbmFtZS8qJyxcbiAgICBjYW4oJ3B1Ymxpc2gnKSxcbiAgICBtZWRpYShIRUFERVJTLk9DVEVUX1NUUkVBTSksXG4gICAgdXBsb2FkUGFja2FnZVRhcmJhbGwoc3RvcmFnZSlcbiAgKTtcblxuICAvLyBhZGRpbmcgYSB2ZXJzaW9uXG4gIHJvdXRlci5wdXQoXG4gICAgJy86cGFja2FnZS86dmVyc2lvbi8tdGFnLzp0YWcnLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIG1lZGlhKG1pbWUuZ2V0VHlwZSgnanNvbicpKSxcbiAgICBleHBlY3RKc29uLFxuICAgIGFkZFZlcnNpb24oc3RvcmFnZSlcbiAgKTtcbn1cblxuLyoqXG4gKiBQdWJsaXNoIGEgcGFja2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaFBhY2thZ2Uoc3RvcmFnZTogU3RvcmFnZSwgY29uZmlnOiBDb25maWcsIGF1dGg6IEF1dGgpOiBhbnkge1xuICBjb25zdCBzdGFyQXBpID0gc3RhcihzdG9yYWdlKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGRlYnVnKCdwdWJsaXNoaW5nIG9yIHVwZGF0aW5nIGEgbmV3IHZlcnNpb24gZm9yICVvJywgcGFja2FnZU5hbWUpO1xuICAgIC8qKlxuICAgICAqIFdyaXRlIHRhcmJhbGwgb2Ygc3RyZWFtIGRhdGEgZnJvbSBwYWNrYWdlIGNsaWVudHMuXG4gICAgICovXG4gICAgY29uc3QgY3JlYXRlVGFyYmFsbCA9IGZ1bmN0aW9uIChmaWxlbmFtZTogc3RyaW5nLCBkYXRhLCBjYjogQ2FsbGJhY2spOiB2b2lkIHtcbiAgICAgIGNvbnN0IHN0cmVhbSA9IHN0b3JhZ2UuYWRkVGFyYmFsbChwYWNrYWdlTmFtZSwgZmlsZW5hbWUpO1xuICAgICAgc3RyZWFtLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgY2IoZXJyKTtcbiAgICAgIH0pO1xuICAgICAgc3RyZWFtLm9uKCdzdWNjZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBjYigpO1xuICAgICAgfSk7XG4gICAgICAvLyB0aGlzIGlzIGR1bWIgYW5kIG1lbW9yeS1jb25zdW1pbmcsIGJ1dCB3aGF0IGNob2ljZXMgZG8gd2UgaGF2ZT9cbiAgICAgIC8vIGZsb3c6IHdlIG5lZWQgZmlyc3QgcmVmYWN0b3IgdGhpcyBmaWxlIGJlZm9yZSBkZWNpZGVzIHdoaWNoIHR5cGUgdXNlIGhlcmVcbiAgICAgIHN0cmVhbS5lbmQoQnVmZmVyLmZyb20oZGF0YS5kYXRhLCAnYmFzZTY0JykpO1xuICAgICAgc3RyZWFtLmRvbmUoKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQWRkIG5ldyBwYWNrYWdlIHZlcnNpb24gaW4gc3RvcmFnZVxuICAgICAqL1xuICAgIGNvbnN0IGNyZWF0ZVZlcnNpb24gPSBmdW5jdGlvbiAodmVyc2lvbjogc3RyaW5nLCBtZXRhZGF0YTogVmVyc2lvbiwgY2I6IENhbGxiYWNrKTogdm9pZCB7XG4gICAgICBzdG9yYWdlLmFkZFZlcnNpb24ocGFja2FnZU5hbWUsIHZlcnNpb24sIG1ldGFkYXRhLCBudWxsLCBjYik7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEFkZCBuZXcgdGFncyBpbiBzdG9yYWdlXG4gICAgICovXG4gICAgY29uc3QgYWRkVGFncyA9IGZ1bmN0aW9uICh0YWdzOiBNZXJnZVRhZ3MsIGNiOiBDYWxsYmFjayk6IHZvaWQge1xuICAgICAgc3RvcmFnZS5tZXJnZVRhZ3MocGFja2FnZU5hbWUsIHRhZ3MsIGNiKTtcbiAgICB9O1xuXG4gICAgY29uc3QgYWZ0ZXJDaGFuZ2UgPSBmdW5jdGlvbiAoZXJyb3IsIG9rTWVzc2FnZSwgbWV0YWRhdGEpOiB2b2lkIHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhQ29weTogUGFja2FnZSA9IHsgLi4ubWV0YWRhdGEgfTtcblxuICAgICAgY29uc3QgeyBfYXR0YWNobWVudHMsIHZlcnNpb25zIH0gPSBtZXRhZGF0YUNvcHk7XG5cbiAgICAgIC8vIGBucG0gc3RhcmAgd291bGRuJ3QgaGF2ZSBhdHRhY2htZW50c1xuICAgICAgLy8gYW5kIGBucG0gZGVwcmVjYXRlYCB3b3VsZCBoYXZlIGF0dGFjaG1lbnRzIGFzIGEgZW1wdHkgb2JqZWN0LCBpLmUge31cbiAgICAgIGlmIChfLmlzTmlsKF9hdHRhY2htZW50cykgfHwgSlNPTi5zdHJpbmdpZnkoX2F0dGFjaG1lbnRzKSA9PT0gJ3t9Jykge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAgIG9rOiBva01lc3NhZ2UsXG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIG5wbS1yZWdpc3RyeS1jbGllbnQgMC4zKyBlbWJlZHMgdGFyYmFsbCBpbnRvIHRoZSBqc29uIHVwbG9hZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2lzYWFjcy9ucG0tcmVnaXN0cnktY2xpZW50L2NvbW1pdC9lOWZiZWI4YjY3ZjI0OTM5NGY3MzVjNzRlZjExZmU0NzIwZDQ2Y2EwXG4gICAgICAvLyBpc3N1ZSBodHRwczovL2dpdGh1Yi5jb20vcmxpZHdrYS9zaW5vcGlhL2lzc3Vlcy8zMSwgZGVhbGluZyB3aXRoIGl0IGhlcmU6XG4gICAgICBjb25zdCBpc0ludmFsaWRCb2R5Rm9ybWF0ID1cbiAgICAgICAgaXNPYmplY3QoX2F0dGFjaG1lbnRzKSA9PT0gZmFsc2UgfHxcbiAgICAgICAgaGFzRGlmZk9uZUtleShfYXR0YWNobWVudHMpIHx8XG4gICAgICAgIGlzT2JqZWN0KHZlcnNpb25zKSA9PT0gZmFsc2UgfHxcbiAgICAgICAgaGFzRGlmZk9uZUtleSh2ZXJzaW9ucyk7XG5cbiAgICAgIGlmIChpc0ludmFsaWRCb2R5Rm9ybWF0KSB7XG4gICAgICAgIC8vIG5wbSBpcyBkb2luZyBzb21ldGhpbmcgc3RyYW5nZSBhZ2FpblxuICAgICAgICAvLyBpZiB0aGlzIGhhcHBlbnMgaW4gbm9ybWFsIGNpcmN1bXN0YW5jZXMsIHJlcG9ydCBpdCBhcyBhIGJ1Z1xuICAgICAgICBsb2dnZXIuaW5mbyh7IHBhY2thZ2VOYW1lIH0sIGB3cm9uZyBwYWNrYWdlIGZvcm1hdCBvbiBwdWJsaXNoIGEgcGFja2FnZSBAe3BhY2thZ2VOYW1lfWApO1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0QmFkUmVxdWVzdChBUElfRVJST1IuVU5TVVBPUlRFRF9SRUdJU1RSWV9DQUxMKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlcnJvciAmJiBlcnJvci5zdGF0dXMgIT09IEhUVFBfU1RBVFVTLkNPTkZMSUNUKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgLy8gYXQgdGhpcyBwb2ludCBkb2N1bWVudCBpcyBlaXRoZXIgY3JlYXRlZCBvciBleGlzdGVkIGJlZm9yZVxuICAgICAgY29uc3QgW2ZpcnN0QXR0YWNobWVudEtleV0gPSBPYmplY3Qua2V5cyhfYXR0YWNobWVudHMpO1xuXG4gICAgICBjcmVhdGVUYXJiYWxsKFxuICAgICAgICBQYXRoLmJhc2VuYW1lKGZpcnN0QXR0YWNobWVudEtleSksXG4gICAgICAgIF9hdHRhY2htZW50c1tmaXJzdEF0dGFjaG1lbnRLZXldLFxuICAgICAgICBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB2ZXJzaW9uVG9QdWJsaXNoID0gT2JqZWN0LmtleXModmVyc2lvbnMpWzBdO1xuICAgICAgICAgIGNvbnN0IHZlcnNpb25NZXRhZGF0YVRvUHVibGlzaCA9IHZlcnNpb25zW3ZlcnNpb25Ub1B1Ymxpc2hdO1xuXG4gICAgICAgICAgdmVyc2lvbk1ldGFkYXRhVG9QdWJsaXNoLnJlYWRtZSA9XG4gICAgICAgICAgICBfLmlzTmlsKHZlcnNpb25NZXRhZGF0YVRvUHVibGlzaC5yZWFkbWUpID09PSBmYWxzZVxuICAgICAgICAgICAgICA/IFN0cmluZyh2ZXJzaW9uTWV0YWRhdGFUb1B1Ymxpc2gucmVhZG1lKVxuICAgICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgICAgY3JlYXRlVmVyc2lvbih2ZXJzaW9uVG9QdWJsaXNoLCB2ZXJzaW9uTWV0YWRhdGFUb1B1Ymxpc2gsIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYWRkVGFncyhtZXRhZGF0YUNvcHlbRElTVF9UQUdTXSwgYXN5bmMgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgbm90aWZ5KFxuICAgICAgICAgICAgICAgICAgbWV0YWRhdGFDb3B5LFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgcmVxLnJlbW90ZV91c2VyLFxuICAgICAgICAgICAgICAgICAgYCR7bWV0YWRhdGFDb3B5Lm5hbWV9QCR7dmVyc2lvblRvUHVibGlzaH1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvciB9LCAnbm90aWZ5IGJhdGNoIHNlcnZpY2UgaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KHsgb2s6IG9rTWVzc2FnZSwgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH07XG5cbiAgICBpZiAoaXNQdWJsaXNoYWJsZVBhY2thZ2UocmVxLmJvZHkpID09PSBmYWxzZSAmJiBpc09iamVjdChyZXEuYm9keS51c2VycykpIHtcbiAgICAgIHJldHVybiBzdGFyQXBpKHJlcSwgcmVzLCBuZXh0KTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSB2YWxpZGF0aW9VdGlscy5ub3JtYWxpemVNZXRhZGF0YShyZXEuYm9keSwgcGFja2FnZU5hbWUpO1xuICAgICAgLy8gY2hlY2sgX2F0dGFjaG1lbnRzIHRvIGRpc3Rpbmd1aXNoIHB1Ymxpc2ggYW5kIGRlcHJlY2F0ZVxuICAgICAgaWYgKFxuICAgICAgICByZXEucGFyYW1zLl9yZXYgfHxcbiAgICAgICAgKGlzUmVsYXRlZFRvRGVwcmVjYXRpb24ocmVxLmJvZHkpICYmIF8uaXNFbXB0eShyZXEuYm9keS5fYXR0YWNobWVudHMpKVxuICAgICAgKSB7XG4gICAgICAgIGRlYnVnKCd1cGRhdGluZyBhIG5ldyB2ZXJzaW9uIGZvciAlbycsIHBhY2thZ2VOYW1lKTtcbiAgICAgICAgLy8gd2UgY2hlY2sgdW5wdWJsaXNoIHBlcm1pc3Npb25zLCBhbiB1cGRhdGUgaXMgYmFzaWNhbGx5IHJlbW92ZSB2ZXJzaW9uc1xuICAgICAgICBjb25zdCByZW1vdGUgPSByZXEucmVtb3RlX3VzZXI7XG4gICAgICAgIGF1dGguYWxsb3dfdW5wdWJsaXNoKHsgcGFja2FnZU5hbWUgfSwgcmVtb3RlLCAoZXJyb3IpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGxvZ2dlci5lcnJvcih7IHBhY2thZ2VOYW1lIH0sIGBub3QgYWxsb3dlZCB0byB1bnB1Ymxpc2ggYSB2ZXJzaW9uIGZvciBAe3BhY2thZ2VOYW1lfWApO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQoZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdG9yYWdlLmNoYW5nZVBhY2thZ2UocGFja2FnZU5hbWUsIG1ldGFkYXRhLCByZXEucGFyYW1zLnJldmlzaW9uLCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGFmdGVyQ2hhbmdlKGVycm9yLCBBUElfTUVTU0FHRS5QS0dfQ0hBTkdFRCwgbWV0YWRhdGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlYnVnKCdhZGRpbmcgYSBuZXcgdmVyc2lvbiBmb3IgJW8nLCBwYWNrYWdlTmFtZSk7XG4gICAgICAgIHN0b3JhZ2UuYWRkUGFja2FnZShwYWNrYWdlTmFtZSwgbWV0YWRhdGEsIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgIGFmdGVyQ2hhbmdlKGVycm9yLCBBUElfTUVTU0FHRS5QS0dfQ1JFQVRFRCwgbWV0YWRhdGEpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKHsgcGFja2FnZU5hbWUgfSwgJ2Vycm9yIG9uIHB1Ymxpc2gsIGJhZCBwYWNrYWdlIGRhdGEgZm9yIEB7cGFja2FnZU5hbWV9Jyk7XG4gICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0QmFkRGF0YShBUElfRVJST1IuQkFEX1BBQ0tBR0VfREFUQSkpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiB1bi1wdWJsaXNoIGEgcGFja2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5QdWJsaXNoUGFja2FnZShzdG9yYWdlOiBTdG9yYWdlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMucGFja2FnZTtcbiAgICBkZWJ1ZygndW5wdWJsaXNoaW5nICVvJywgcGFja2FnZU5hbWUpO1xuICAgIHN0b3JhZ2UucmVtb3ZlUGFja2FnZShwYWNrYWdlTmFtZSwgZnVuY3Rpb24gKGVycikge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgfVxuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgIHJldHVybiBuZXh0KHsgb2s6IEFQSV9NRVNTQUdFLlBLR19SRU1PVkVEIH0pO1xuICAgIH0pO1xuICB9O1xufVxuXG4vKipcbiAqIERlbGV0ZSB0YXJiYWxsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUYXJiYWxsKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGNvbnN0IHsgZmlsZW5hbWUsIHJldmlzaW9uIH0gPSByZXEucGFyYW1zO1xuICAgIGRlYnVnKCdyZW1vdmluZyBhIHRhcmJhbGwgZm9yICVvLSVvLSVvJywgcGFja2FnZU5hbWUsIGZpbGVuYW1lLCByZXZpc2lvbik7XG4gICAgc3RvcmFnZS5yZW1vdmVUYXJiYWxsKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSwgcmV2aXNpb24sIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgIH1cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICBkZWJ1Zygnc3VjY2VzcyByZW1vdmUgdGFyYmFsbCBmb3IgJW8tJW8tJW8nLCBwYWNrYWdlTmFtZSwgZmlsZW5hbWUsIHJldmlzaW9uKTtcbiAgICAgIHJldHVybiBuZXh0KHsgb2s6IEFQSV9NRVNTQUdFLlRBUkJBTExfUkVNT1ZFRCB9KTtcbiAgICB9KTtcbiAgfTtcbn1cbi8qKlxuICogQWRkcyBhIG5ldyB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRWZXJzaW9uKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgdmVyc2lvbiwgdGFnIH0gPSByZXEucGFyYW1zO1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuXG4gICAgc3RvcmFnZS5hZGRWZXJzaW9uKHBhY2thZ2VOYW1lLCB2ZXJzaW9uLCByZXEuYm9keSwgdGFnLCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gbmV4dChlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgIG9rOiBBUElfTUVTU0FHRS5QS0dfUFVCTElTSEVELFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59XG5cbi8qKlxuICogdXBsb2FkUGFja2FnZVRhcmJhbGxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwbG9hZFBhY2thZ2VUYXJiYWxsKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGNvbnN0IHN0cmVhbSA9IHN0b3JhZ2UuYWRkVGFyYmFsbChwYWNrYWdlTmFtZSwgcmVxLnBhcmFtcy5maWxlbmFtZSk7XG4gICAgcmVxLnBpcGUoc3RyZWFtKTtcblxuICAgIC8vIGNoZWNraW5nIGlmIGVuZCBldmVudCBjYW1lIGJlZm9yZSBjbG9zaW5nXG4gICAgbGV0IGNvbXBsZXRlID0gZmFsc2U7XG4gICAgcmVxLm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb21wbGV0ZSA9IHRydWU7XG4gICAgICBzdHJlYW0uZG9uZSgpO1xuICAgIH0pO1xuXG4gICAgcmVxLm9uKCdjbG9zZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghY29tcGxldGUpIHtcbiAgICAgICAgc3RyZWFtLmFib3J0KCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBzdHJlYW0ub24oJ2Vycm9yJywgZnVuY3Rpb24gKGVycikge1xuICAgICAgcmV0dXJuIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gICAgfSk7XG5cbiAgICBzdHJlYW0ub24oJ3N1Y2Nlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICBvazogQVBJX01FU1NBR0UuVEFSQkFMTF9VUExPQURFRCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUlBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUVBLElBQUFTLGFBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLE1BQUEsR0FBQVYsT0FBQTtBQUVBLElBQUFXLEtBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUEwQixTQUFBRCx1QkFBQWEsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FB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
|
|
@@ -8,8 +8,8 @@ var _debug = _interopRequireDefault(require("debug"));
|
|
|
8
8
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
9
9
|
var _constants = require("../../../lib/constants");
|
|
10
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
-
function ownKeys(
|
|
12
|
-
function _objectSpread(
|
|
11
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
13
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
14
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
15
15
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // @flow
|
|
@@ -70,4 +70,4 @@ function _default(storage) {
|
|
|
70
70
|
});
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfY29uc3RhbnRzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5Iiwia2V5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiYXJnIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwidW5kZWZpbmVkIiwicmVzIiwiY2FsbCIsIlR5cGVFcnJvciIsIk51bWJlciIsImRlYnVnIiwiYnVpbGREZWJ1ZyIsIl9kZWZhdWx0Iiwic3RvcmFnZSIsInZhbGlkYXRlSW5wdXRzIiwibmV3VXNlcnMiLCJsb2NhbFVzZXJzIiwidXNlcm5hbWUiLCJpc1N0YXIiLCJpc0V4aXN0bG9jYWxVc2VycyIsIl8iLCJpc05pbCIsInJlcSIsIm5leHQiLCJuYW1lIiwicGFyYW1zIiwicGFja2FnZSIsImFmdGVyQ2hhbmdlUGFja2FnZSIsImVyciIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJzdWNjZXNzIiwiZ2V0UGFja2FnZSIsImNhbGxiYWNrIiwiaW5mbyIsIm5ld1N0YXJVc2VyIiwiYm9keSIsIlVTRVJTIiwicmVtb3RlVXNlcm5hbWUiLCJyZW1vdGVfdXNlciIsImxvY2FsU3RhclVzZXJzIiwiaW5jbHVkZXMiLCJ1c2VycyIsInJlZHVjZSIsImNoYW5nZVBhY2thZ2UiLCJfcmV2Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvc3Rhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IGJ1aWxkRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEhUVFBfU1RBVFVTLCBVU0VSUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgU3RvcmFnZSBmcm9tICcuLi8uLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuY29uc3QgZGVidWcgPSBidWlsZERlYnVnKCd2ZXJkYWNjaW86c3RhcicpO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKFxuICBzdG9yYWdlOiBTdG9yYWdlXG4pOiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikgPT4gdm9pZCB7XG4gIGNvbnN0IHZhbGlkYXRlSW5wdXRzID0gKG5ld1VzZXJzLCBsb2NhbFVzZXJzLCB1c2VybmFtZSwgaXNTdGFyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaXNFeGlzdGxvY2FsVXNlcnMgPSBfLmlzTmlsKGxvY2FsVXNlcnNbdXNlcm5hbWVdKSA9PT0gZmFsc2U7XG4gICAgaWYgKGlzU3RhciAmJiBpc0V4aXN0bG9jYWxVc2VycyAmJiBsb2NhbFVzZXJzW3VzZXJuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghaXNTdGFyICYmIGlzRXhpc3Rsb2NhbFVzZXJzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghaXNTdGFyICYmICFpc0V4aXN0bG9jYWxVc2Vycykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZXR1cm4gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkID0+IHtcbiAgICBjb25zdCBuYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGRlYnVnKCdzdGFycmluZyBhIHBhY2thZ2UgZm9yICVvJywgbmFtZSk7XG4gICAgY29uc3QgYWZ0ZXJDaGFuZ2VQYWNrYWdlID0gZnVuY3Rpb24gKGVycj86IEVycm9yKSB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICB9XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgIG5leHQoe1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICBuYW1lLFxuICAgICAgcmVxLFxuICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlcnIsIGluZm8pIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3U3RhclVzZXIgPSByZXEuYm9keVtVU0VSU107XG4gICAgICAgIGNvbnN0IHJlbW90ZVVzZXJuYW1lID0gcmVxLnJlbW90ZV91c2VyLm5hbWU7XG4gICAgICAgIGNvbnN0IGxvY2FsU3RhclVzZXJzID0gaW5mb1tVU0VSU107XG4gICAgICAgIC8vIENoZWNrIGlzIHN0YXIgb3IgdW5zdGFyXG4gICAgICAgIGNvbnN0IGlzU3RhciA9IE9iamVjdC5rZXlzKG5ld1N0YXJVc2VyKS5pbmNsdWRlcyhyZW1vdGVVc2VybmFtZSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBfLmlzTmlsKGxvY2FsU3RhclVzZXJzKSA9PT0gZmFsc2UgJiZcbiAgICAgICAgICB2YWxpZGF0ZUlucHV0cyhuZXdTdGFyVXNlciwgbG9jYWxTdGFyVXNlcnMsIHJlbW90ZVVzZXJuYW1lLCBpc1N0YXIpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBhZnRlckNoYW5nZVBhY2thZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1c2VycyA9IGlzU3RhclxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5sb2NhbFN0YXJVc2VycyxcbiAgICAgICAgICAgICAgW3JlbW90ZVVzZXJuYW1lXTogdHJ1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IF8ucmVkdWNlKFxuICAgICAgICAgICAgICBsb2NhbFN0YXJVc2VycyxcbiAgICAgICAgICAgICAgKHVzZXJzLCB2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSAhPT0gcmVtb3RlVXNlcm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgIHVzZXJzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJzO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgKTtcbiAgICAgICAgc3RvcmFnZS5jaGFuZ2VQYWNrYWdlKG5hbWUsIHsgLi4uaW5mbywgdXNlcnMgfSwgcmVxLmJvZHkuX3JldiwgZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgIGFmdGVyQ2hhbmdlUGFja2FnZShlcnIpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtB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
|
|
@@ -13,8 +13,8 @@ var _constants = require("../../../../lib/constants");
|
|
|
13
13
|
var _logger = require("../../../../lib/logger");
|
|
14
14
|
var _utils2 = require("../../../../lib/utils");
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
-
function ownKeys(
|
|
17
|
-
function _objectSpread(
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
18
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
19
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
20
20
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -141,4 +141,4 @@ function _default(router, auth, storage, config) {
|
|
|
141
141
|
return next(_utils2.ErrorCode.getUnauthorized());
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfbWlkZGxld2FyZSIsIl91dGlscyIsIl9hdXRoVXRpbHMiLCJfY29uc3RhbnRzIiwiX2xvZ2dlciIsIl91dGlsczIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIm93bktleXMiLCJvYmplY3QiLCJlbnVtZXJhYmxlT25seSIsImtleXMiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJzeW1ib2xzIiwiZmlsdGVyIiwic3ltIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiZm9yRWFjaCIsImtleSIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwiZGVidWciLCJidWlsZERlYnVnIiwibm9ybWFsaXplVG9rZW4iLCJ0b2tlbiIsImNyZWF0ZWQiLCJEYXRlIiwidG9JU09TdHJpbmciLCJfZGVmYXVsdCIsInJvdXRlciIsImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwiZ2V0IiwicmF0ZUxpbWl0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsIm5leHQiLCJuYW1lIiwicmVtb3RlX3VzZXIiLCJfIiwiaXNOaWwiLCJ0b2tlbnMiLCJyZWFkVG9rZW5zIiwidXNlciIsInRvdGFsVG9rZW5zIiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJPSyIsIm9iamVjdHMiLCJtYXAiLCJ1cmxzIiwiZXJyb3IiLCJsb2dnZXIiLCJtc2ciLCJFcnJvckNvZGUiLCJnZXRDb2RlIiwiSU5URVJOQUxfRVJST1IiLCJtZXNzYWdlIiwiZ2V0VW5hdXRob3JpemVkIiwicG9zdCIsInBhc3N3b3JkIiwicmVhZG9ubHkiLCJjaWRyX3doaXRlbGlzdCIsImJvZHkiLCJpc0Jvb2xlYW4iLCJpc0FycmF5IiwiQkFEX0RBVEEiLCJTVVBQT1JUX0VSUk9SUyIsIlBBUkFNRVRFUlNfTk9UX1ZBTElEIiwiYXV0aGVudGljYXRlIiwiZXJyIiwiZXJyb3JDb2RlIiwiVU5BVVRIT1JJWkVEIiwiaXNGdW5jdGlvbiIsInNhdmVUb2tlbiIsIk5PVF9JTVBMRU1FTlRFRCIsIlNUT1JBR0VfTk9UX0lNUExFTUVOVCIsImdldEFwaVRva2VuIiwic3RyaW5nVG9NRDUiLCJtYXNrZWRUb2tlbiIsIm1hc2siLCJnZXRUaW1lIiwiY2lkciIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwiZGVsZXRlIiwicGFyYW1zIiwidG9rZW5LZXkiLCJkZWxldGVUb2tlbiIsImluZm8iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS92MS90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnVpbGREZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBSZXNwb25zZSwgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQ29uZmlnLCBSZW1vdGVVc2VyLCBUb2tlbiB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IHsgc3RyaW5nVG9NRDUgfSBmcm9tICdAdmVyZGFjY2lvL3V0aWxzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgZ2V0QXBpVG9rZW4gfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBIRUFERVJTLCBIVFRQX1NUQVRVUywgU1VQUE9SVF9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IFN0b3JhZ2UgZnJvbSAnLi4vLi4vLi4vLi4vbGliL3N0b3JhZ2UnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBtYXNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2Npbzp0b2tlbicpO1xuZXhwb3J0IHR5cGUgTm9ybWFsaXplVG9rZW4gPSBUb2tlbiAmIHtcbiAgY3JlYXRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplVG9rZW4odG9rZW46IFRva2VuKTogTm9ybWFsaXplVG9rZW4ge1xuICByZXR1cm4ge1xuICAgIC4uLnRva2VuLFxuICAgIGNyZWF0ZWQ6IG5ldyBEYXRlKHRva2VuLmNyZWF0ZWQpLnRvSVNPU3RyaW5nKCksXG4gIH07XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ucG0vbnBtLXByb2ZpbGUvYmxvYi9sYXRlc3QvbGliL2luZGV4LmpzXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGVyOiBSb3V0ZXIsIGF1dGg6IEF1dGgsIHN0b3JhZ2U6IFN0b3JhZ2UsIGNvbmZpZzogQ29uZmlnKSB7XG4gIHJvdXRlci5nZXQoXG4gICAgJy8tL25wbS92MS90b2tlbnMnLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGFzeW5jIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgICAgaWYgKF8uaXNOaWwobmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdG9rZW5zID0gYXdhaXQgc3RvcmFnZS5yZWFkVG9rZW5zKHsgdXNlcjogbmFtZSB9KTtcbiAgICAgICAgICBjb25zdCB0b3RhbFRva2VucyA9IHRva2Vucy5sZW5ndGg7XG4gICAgICAgICAgZGVidWcoJ3Rva2VuIGxpc3QgcmV0cmlldmVkOiAlbycsIHRvdGFsVG9rZW5zKTtcbiAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgICBvYmplY3RzOiB0b2tlbnMubWFwKG5vcm1hbGl6ZVRva2VuKSxcbiAgICAgICAgICAgIHVybHM6IHtcbiAgICAgICAgICAgICAgbmV4dDogJycsIC8vIFRPRE86IHBhZ2luYXRpb24/XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgbG9nZ2VyLmVycm9yKHsgZXJyb3I6IGVycm9yLm1zZyB9LCAndG9rZW4gbGlzdCBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gICAgfVxuICApO1xuXG4gIHJvdXRlci5wb3N0KFxuICAgICcvLS9ucG0vdjEvdG9rZW5zJyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgICAgY29uc3QgeyBwYXNzd29yZCwgcmVhZG9ubHksIGNpZHJfd2hpdGVsaXN0IH0gPSByZXEuYm9keTtcbiAgICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgICBpZiAoIV8uaXNCb29sZWFuKHJlYWRvbmx5KSB8fCAhXy5pc0FycmF5KGNpZHJfd2hpdGVsaXN0KSkge1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5CQURfREFUQSwgU1VQUE9SVF9FUlJPUlMuUEFSQU1FVEVSU19OT1RfVkFMSUQpKTtcbiAgICAgIH1cblxuICAgICAgYXV0aC5hdXRoZW50aWNhdGUobmFtZSwgcGFzc3dvcmQsIGFzeW5jIChlcnIsIHVzZXI6IFJlbW90ZVVzZXIpID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IGVyci5tZXNzYWdlID8gSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEIDogSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1I7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoZXJyb3JDb2RlLCBlcnIubWVzc2FnZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlcjtcblxuICAgICAgICBpZiAoIV8uaXNGdW5jdGlvbihzdG9yYWdlLnNhdmVUb2tlbikpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgIEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLk5PVF9JTVBMRU1FTlRFRCwgU1VQUE9SVF9FUlJPUlMuU1RPUkFHRV9OT1RfSU1QTEVNRU5UKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCB1c2VyLCBwYXNzd29yZCk7XG4gICAgICAgICAgY29uc3Qga2V5ID0gc3RyaW5nVG9NRDUodG9rZW4pO1xuICAgICAgICAgIC8vIFRPRE86IHVzZSBhIHV0aWxpdHkgaGVyZVxuICAgICAgICAgIGNvbnN0IG1hc2tlZFRva2VuID0gbWFzayh0b2tlbiwgNSk7XG4gICAgICAgICAgY29uc3QgY3JlYXRlZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogY2lkcl93aGl0ZWxpc3Q6IGlzIG5vdCBiZWluZyB1c2VkLCB3ZSBwYXNzIGl0IHRocm91Z2hcbiAgICAgICAgICAgKiB0b2tlbjogd2UgZG8gbm90IHN0b3JlIHRoZSByZWFsIHRva2VuIChpdCBpcyBnZW5lcmF0ZWQgb25jZSBhbmQgcmV0cmlldmVkIHRvIHRoZSB1c2VyKSwganVzdCBhIG1hc2sgb2YgaXQuXG4gICAgICAgICAgICovXG4gICAgICAgICAgY29uc3Qgc2F2ZVRva2VuOiBUb2tlbiA9IHtcbiAgICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgICB0b2tlbjogbWFza2VkVG9rZW4sXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBjaWRyOiBjaWRyX3doaXRlbGlzdCxcbiAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgY3JlYXRlZCxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYXdhaXQgc3RvcmFnZS5zYXZlVG9rZW4oc2F2ZVRva2VuKTtcbiAgICAgICAgICBkZWJ1ZygndG9rZW4gJW8gd2FzIGNyZWF0ZWQgZm9yIHVzZXIgJW8nLCBrZXksIG5hbWUpO1xuICAgICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICBub3JtYWxpemVUb2tlbih7XG4gICAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgICB1c2VyOiBuYW1lLFxuICAgICAgICAgICAgICBrZXk6IHNhdmVUb2tlbi5rZXksXG4gICAgICAgICAgICAgIGNpZHI6IGNpZHJfd2hpdGVsaXN0LFxuICAgICAgICAgICAgICByZWFkb25seSxcbiAgICAgICAgICAgICAgY3JlYXRlZDogc2F2ZVRva2VuLmNyZWF0ZWQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICByb3V0ZXIuZGVsZXRlKFxuICAgICcvLS9ucG0vdjEvdG9rZW5zL3Rva2VuLzp0b2tlbktleScsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgYXN5bmMgKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGFyYW1zOiB7IHRva2VuS2V5IH0sXG4gICAgICB9ID0gcmVxO1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgIGlmIChfLmlzTmlsKG5hbWUpID09PSBmYWxzZSkge1xuICAgICAgICBkZWJ1ZygnJW8gaGFzIHJlcXVlc3RlZCByZW1vdmUgYSB0b2tlbicsIG5hbWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHN0b3JhZ2UuZGVsZXRlVG9rZW4obmFtZSwgdG9rZW5LZXkpO1xuICAgICAgICAgIGxvZ2dlci5pbmZvKHsgdG9rZW5LZXksIG5hbWUgfSwgJ3Rva2VuIGlkIEB7dG9rZW5LZXl9IHdhcyByZXZva2VkIGZvciB1c2VyIEB7bmFtZX0nKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7fSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gICAgfVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxPQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFBd0QsU0FBQUQsdUJBQUFTLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyxRQUFBQyxNQUFBLEVBQUFDLGNBQUEsUUFBQUMsSUFBQSxHQUFBQyxNQUFBLENBQUFELElBQUEsQ0FBQUYsTUFBQSxPQUFBRyxNQUFBLENBQUFDLHFCQUFBLFFBQUFDLE9BQUEs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
|
|
144
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfbWlkZGxld2FyZSIsIl91dGlscyIsIl9hdXRoVXRpbHMiLCJfY29uc3RhbnRzIiwiX2xvZ2dlciIsIl91dGlsczIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJrZXkiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwiZGVidWciLCJidWlsZERlYnVnIiwibm9ybWFsaXplVG9rZW4iLCJ0b2tlbiIsImNyZWF0ZWQiLCJEYXRlIiwidG9JU09TdHJpbmciLCJfZGVmYXVsdCIsInJvdXRlciIsImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwiZ2V0IiwicmF0ZUxpbWl0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsIm5leHQiLCJuYW1lIiwicmVtb3RlX3VzZXIiLCJfIiwiaXNOaWwiLCJ0b2tlbnMiLCJyZWFkVG9rZW5zIiwidXNlciIsInRvdGFsVG9rZW5zIiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJPSyIsIm9iamVjdHMiLCJtYXAiLCJ1cmxzIiwiZXJyb3IiLCJsb2dnZXIiLCJtc2ciLCJFcnJvckNvZGUiLCJnZXRDb2RlIiwiSU5URVJOQUxfRVJST1IiLCJtZXNzYWdlIiwiZ2V0VW5hdXRob3JpemVkIiwicG9zdCIsInBhc3N3b3JkIiwicmVhZG9ubHkiLCJjaWRyX3doaXRlbGlzdCIsImJvZHkiLCJpc0Jvb2xlYW4iLCJpc0FycmF5IiwiQkFEX0RBVEEiLCJTVVBQT1JUX0VSUk9SUyIsIlBBUkFNRVRFUlNfTk9UX1ZBTElEIiwiYXV0aGVudGljYXRlIiwiZXJyIiwiZXJyb3JDb2RlIiwiVU5BVVRIT1JJWkVEIiwiaXNGdW5jdGlvbiIsInNhdmVUb2tlbiIsIk5PVF9JTVBMRU1FTlRFRCIsIlNUT1JBR0VfTk9UX0lNUExFTUVOVCIsImdldEFwaVRva2VuIiwic3RyaW5nVG9NRDUiLCJtYXNrZWRUb2tlbiIsIm1hc2siLCJnZXRUaW1lIiwiY2lkciIsInNldCIsIkhFQURFUlMiLCJDQUNIRV9DT05UUk9MIiwiZGVsZXRlIiwicGFyYW1zIiwidG9rZW5LZXkiLCJkZWxldGVUb2tlbiIsImluZm8iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS92MS90b2tlbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnVpbGREZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBSZXNwb25zZSwgUm91dGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgQ29uZmlnLCBSZW1vdGVVc2VyLCBUb2tlbiB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuaW1wb3J0IHsgc3RyaW5nVG9NRDUgfSBmcm9tICdAdmVyZGFjY2lvL3V0aWxzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgZ2V0QXBpVG9rZW4gfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBIRUFERVJTLCBIVFRQX1NUQVRVUywgU1VQUE9SVF9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IFN0b3JhZ2UgZnJvbSAnLi4vLi4vLi4vLi4vbGliL3N0b3JhZ2UnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBtYXNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vLi4vdHlwZXMnO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2Npbzp0b2tlbicpO1xuZXhwb3J0IHR5cGUgTm9ybWFsaXplVG9rZW4gPSBUb2tlbiAmIHtcbiAgY3JlYXRlZDogc3RyaW5nO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplVG9rZW4odG9rZW46IFRva2VuKTogTm9ybWFsaXplVG9rZW4ge1xuICByZXR1cm4ge1xuICAgIC4uLnRva2VuLFxuICAgIGNyZWF0ZWQ6IG5ldyBEYXRlKHRva2VuLmNyZWF0ZWQpLnRvSVNPU3RyaW5nKCksXG4gIH07XG59XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ucG0vbnBtLXByb2ZpbGUvYmxvYi9sYXRlc3QvbGliL2luZGV4LmpzXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGVyOiBSb3V0ZXIsIGF1dGg6IEF1dGgsIHN0b3JhZ2U6IFN0b3JhZ2UsIGNvbmZpZzogQ29uZmlnKSB7XG4gIHJvdXRlci5nZXQoXG4gICAgJy8tL25wbS92MS90b2tlbnMnLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGFzeW5jIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKSB7XG4gICAgICBjb25zdCB7IG5hbWUgfSA9IHJlcS5yZW1vdGVfdXNlcjtcblxuICAgICAgaWYgKF8uaXNOaWwobmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgdG9rZW5zID0gYXdhaXQgc3RvcmFnZS5yZWFkVG9rZW5zKHsgdXNlcjogbmFtZSB9KTtcbiAgICAgICAgICBjb25zdCB0b3RhbFRva2VucyA9IHRva2Vucy5sZW5ndGg7XG4gICAgICAgICAgZGVidWcoJ3Rva2VuIGxpc3QgcmV0cmlldmVkOiAlbycsIHRvdGFsVG9rZW5zKTtcbiAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgICBvYmplY3RzOiB0b2tlbnMubWFwKG5vcm1hbGl6ZVRva2VuKSxcbiAgICAgICAgICAgIHVybHM6IHtcbiAgICAgICAgICAgICAgbmV4dDogJycsIC8vIFRPRE86IHBhZ2luYXRpb24/XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgbG9nZ2VyLmVycm9yKHsgZXJyb3I6IGVycm9yLm1zZyB9LCAndG9rZW4gbGlzdCBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gICAgfVxuICApO1xuXG4gIHJvdXRlci5wb3N0KFxuICAgICcvLS9ucG0vdjEvdG9rZW5zJyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikge1xuICAgICAgY29uc3QgeyBwYXNzd29yZCwgcmVhZG9ubHksIGNpZHJfd2hpdGVsaXN0IH0gPSByZXEuYm9keTtcbiAgICAgIGNvbnN0IHsgbmFtZSB9ID0gcmVxLnJlbW90ZV91c2VyO1xuXG4gICAgICBpZiAoIV8uaXNCb29sZWFuKHJlYWRvbmx5KSB8fCAhXy5pc0FycmF5KGNpZHJfd2hpdGVsaXN0KSkge1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5CQURfREFUQSwgU1VQUE9SVF9FUlJPUlMuUEFSQU1FVEVSU19OT1RfVkFMSUQpKTtcbiAgICAgIH1cblxuICAgICAgYXV0aC5hdXRoZW50aWNhdGUobmFtZSwgcGFzc3dvcmQsIGFzeW5jIChlcnIsIHVzZXI6IFJlbW90ZVVzZXIpID0+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IGVyci5tZXNzYWdlID8gSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEIDogSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1I7XG4gICAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoZXJyb3JDb2RlLCBlcnIubWVzc2FnZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlcjtcblxuICAgICAgICBpZiAoIV8uaXNGdW5jdGlvbihzdG9yYWdlLnNhdmVUb2tlbikpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgIEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLk5PVF9JTVBMRU1FTlRFRCwgU1VQUE9SVF9FUlJPUlMuU1RPUkFHRV9OT1RfSU1QTEVNRU5UKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHRva2VuID0gYXdhaXQgZ2V0QXBpVG9rZW4oYXV0aCwgY29uZmlnLCB1c2VyLCBwYXNzd29yZCk7XG4gICAgICAgICAgY29uc3Qga2V5ID0gc3RyaW5nVG9NRDUodG9rZW4pO1xuICAgICAgICAgIC8vIFRPRE86IHVzZSBhIHV0aWxpdHkgaGVyZVxuICAgICAgICAgIGNvbnN0IG1hc2tlZFRva2VuID0gbWFzayh0b2tlbiwgNSk7XG4gICAgICAgICAgY29uc3QgY3JlYXRlZCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICAgICAgLyoqXG4gICAgICAgICAgICogY2lkcl93aGl0ZWxpc3Q6IGlzIG5vdCBiZWluZyB1c2VkLCB3ZSBwYXNzIGl0IHRocm91Z2hcbiAgICAgICAgICAgKiB0b2tlbjogd2UgZG8gbm90IHN0b3JlIHRoZSByZWFsIHRva2VuIChpdCBpcyBnZW5lcmF0ZWQgb25jZSBhbmQgcmV0cmlldmVkIHRvIHRoZSB1c2VyKSwganVzdCBhIG1hc2sgb2YgaXQuXG4gICAgICAgICAgICovXG4gICAgICAgICAgY29uc3Qgc2F2ZVRva2VuOiBUb2tlbiA9IHtcbiAgICAgICAgICAgIHVzZXI6IG5hbWUsXG4gICAgICAgICAgICB0b2tlbjogbWFza2VkVG9rZW4sXG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBjaWRyOiBjaWRyX3doaXRlbGlzdCxcbiAgICAgICAgICAgIHJlYWRvbmx5LFxuICAgICAgICAgICAgY3JlYXRlZCxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgYXdhaXQgc3RvcmFnZS5zYXZlVG9rZW4oc2F2ZVRva2VuKTtcbiAgICAgICAgICBkZWJ1ZygndG9rZW4gJW8gd2FzIGNyZWF0ZWQgZm9yIHVzZXIgJW8nLCBrZXksIG5hbWUpO1xuICAgICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICBub3JtYWxpemVUb2tlbih7XG4gICAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgICB1c2VyOiBuYW1lLFxuICAgICAgICAgICAgICBrZXk6IHNhdmVUb2tlbi5rZXksXG4gICAgICAgICAgICAgIGNpZHI6IGNpZHJfd2hpdGVsaXN0LFxuICAgICAgICAgICAgICByZWFkb25seSxcbiAgICAgICAgICAgICAgY3JlYXRlZDogc2F2ZVRva2VuLmNyZWF0ZWQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICByb3V0ZXIuZGVsZXRlKFxuICAgICcvLS9ucG0vdjEvdG9rZW5zL3Rva2VuLzp0b2tlbktleScsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgYXN5bmMgKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGFyYW1zOiB7IHRva2VuS2V5IH0sXG4gICAgICB9ID0gcmVxO1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgIGlmIChfLmlzTmlsKG5hbWUpID09PSBmYWxzZSkge1xuICAgICAgICBkZWJ1ZygnJW8gaGFzIHJlcXVlc3RlZCByZW1vdmUgYSB0b2tlbicsIG5hbWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHN0b3JhZ2UuZGVsZXRlVG9rZW4obmFtZSwgdG9rZW5LZXkpO1xuICAgICAgICAgIGxvZ2dlci5pbmZvKHsgdG9rZW5LZXksIG5hbWUgfSwgJ3Rva2VuIGlkIEB7dG9rZW5LZXl9IHdhcyByZXZva2VkIGZvciB1c2VyIEB7bmFtZX0nKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh7fSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvcjogZXJyb3IubXNnIH0sICd0b2tlbiBjcmVhdGlvbiBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SLCBlcnJvci5tZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRVbmF1dGhvcml6ZWQoKSk7XG4gICAgfVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxPQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxPQUFBLEdBQUFOLE9BQUE7QUFFQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFBd0QsU0FBQUQsdUJBQUFTLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsT0FBQWEsT0FBQSxXQUFBZCxDQUFBLElBQUFlLGVBQUEsQ0FBQWhCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLENBQUFELENBQUEsU0FBQUUsTUFBQSxDQUFBYyx5QkFBQSxHQUFBZCxNQUFBLENBQUFlLGdCQUFBLENBQUFsQixDQUFBLEVBQUFHLE1BQUEsQ0FBQWMseUJBQUEsQ0FBQWYsQ0FBQSxLQUFBSCxPQUFBLENBQUFJLE1BQUEsQ0FBQUQsQ0FBQSxHQUFBYSxPQUFBLFdBQUFkLENBQUEsSUFBQUUsTUFBQSxDQUFBZ0IsY0FBQSxDQUFBbkIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQU4sQ0FBQSxFQUFBRCxDQUFBLGlCQUFBRCxDQUFBO0FBQUEsU0FBQWdCLGdCQUFBcEIsR0FBQSxFQUFBd0IsR0FBQSxFQUFBQyxLQUFBLElBQUFELEdBQUEsR0FBQUUsY0FBQSxDQUFBRixHQUFBLE9BQUFBLEdBQUEsSUFBQXhCLEdBQUEsSUFBQU8sTUFBQSxDQUFBZ0IsY0FBQSxDQUFBdkIsR0FBQSxFQUFBd0IsR0FBQSxJQUFBQyxLQUFBLEVBQUFBLEtBQUEsRUFBQVosVUFBQSxRQUFBYyxZQUFBLFFBQUFDLFFBQUEsb0JBQUE1QixHQUFBLENBQUF3QixHQUFBLElBQUFDLEtBQUEsV0FBQXpCLEdBQUE7QUFBQSxTQUFBMEIsZUFBQUcsR0FBQSxRQUFBTCxHQUFBLEdBQUFNLFlBQUEsQ0FBQUQsR0FBQSwyQkFBQUwsR0FBQSxnQkFBQUEsR0FBQSxHQUFBTyxNQUFBLENBQUFQLEdBQUE7QUFBQSxTQUFBTSxhQUFBRSxLQUFBLEVBQUFDLElBQUEsZUFBQUQsS0FBQSxpQkFBQUEsS0FBQSxrQkFBQUEsS0FBQSxNQUFBRSxJQUFBLEdBQUFGLEtBQUEsQ0FBQUcsTUFBQSxDQUFBQyxXQUFBLE9BQUFGLElBQUEsS0FBQUcsU0FBQSxRQUFBQyxHQUFBLEdBQUFKLElBQUEsQ0FBQUssSUFBQSxDQUFBUCxLQUFBLEVBQUFDLElBQUEsMkJBQUFLLEdBQUEsc0JBQUFBLEdBQUEsWUFBQUUsU0FBQSw0REFBQVAsSUFBQSxnQkFBQUYsTUFBQSxHQUFBVSxNQUFBLEVBQUFULEtBQUE7QUFHeEQsTUFBTVUsS0FBSyxHQUFHLElBQUFDLGNBQVUsRUFBQyxpQkFBaUIsQ0FBQztBQUszQyxTQUFTQyxjQUFjQSxDQUFDQyxLQUFZLEVBQWtCO0VBQ3BELE9BQUE3QixhQUFBLENBQUFBLGFBQUEsS0FDSzZCLEtBQUs7SUFDUkMsT0FBTyxFQUFFLElBQUlDLElBQUksQ0FBQ0YsS0FBSyxDQUFDQyxPQUFPLENBQUMsQ0FBQ0UsV0FBVyxDQUFDO0VBQUM7QUFFbEQ7O0FBRUE7QUFDZSxTQUFBQyxTQUFVQyxNQUFjLEVBQUVDLElBQVUsRUFBRUMsT0FBZ0IsRUFBRUMsTUFBYyxFQUFFO0VBQ3JGSCxNQUFNLENBQUNJLEdBQUcsQ0FDUixrQkFBa0IsRUFDbEIsSUFBQUMscUJBQVMsRUFBQ0YsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVHLGFBQWEsQ0FBQyxFQUNoQyxnQkFBZ0JDLEdBQW1CLEVBQUVuQixHQUFhLEVBQUVvQixJQUFzQixFQUFFO0lBQzFFLE1BQU07TUFBRUM7SUFBSyxDQUFDLEdBQUdGLEdBQUcsQ0FBQ0csV0FBVztJQUVoQyxJQUFJQyxlQUFDLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO01BQzNCLElBQUk7UUFDRixNQUFNSSxNQUFNLEdBQUcsTUFBTVgsT0FBTyxDQUFDWSxVQUFVLENBQUM7VUFBRUMsSUFBSSxFQUFFTjtRQUFLLENBQUMsQ0FBQztRQUN2RCxNQUFNTyxXQUFXLEdBQUdILE1BQU0sQ0FBQzdDLE1BQU07UUFDakN3QixLQUFLLENBQUMsMEJBQTBCLEVBQUV3QixXQUFXLENBQUM7UUFDOUM1QixHQUFHLENBQUM2QixNQUFNLENBQUNDLHNCQUFXLENBQUNDLEVBQUUsQ0FBQztRQUMxQixPQUFPWCxJQUFJLENBQUM7VUFDVlksT0FBTyxFQUFFUCxNQUFNLENBQUNRLEdBQUcsQ0FBQzNCLGNBQWMsQ0FBQztVQUNuQzRCLElBQUksRUFBRTtZQUNKZCxJQUFJLEVBQUUsRUFBRSxDQUFFO1VBQ1o7UUFDRixDQUFDLENBQUM7TUFDSixDQUFDLENBQUMsT0FBT2UsS0FBVSxFQUFFO1FBQ25CQyxjQUFNLENBQUNELEtBQUssQ0FBQztVQUFFQSxLQUFLLEVBQUVBLEtBQUssQ0FBQ0U7UUFBSSxDQUFDLEVBQUUsaUNBQWlDLENBQUM7UUFDckUsT0FBT2pCLElBQUksQ0FBQ2tCLGlCQUFTLENBQUNDLE9BQU8sQ0FBQ1Qsc0JBQVcsQ0FBQ1UsY0FBYyxFQUFFTCxLQUFLLENBQUNNLE9BQU8sQ0FBQyxDQUFDO01BQzNFO0lBQ0Y7SUFDQSxPQUFPckIsSUFBSSxDQUFDa0IsaUJBQVMsQ0FBQ0ksZUFBZSxDQUFDLENBQUMsQ0FBQztFQUMxQyxDQUNGLENBQUM7RUFFRDlCLE1BQU0sQ0FBQytCLElBQUksQ0FDVCxrQkFBa0IsRUFDbEIsSUFBQTFCLHFCQUFTLEVBQUNGLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFRyxhQUFhLENBQUMsRUFDaEMsVUFBVUMsR0FBbUIsRUFBRW5CLEdBQWEsRUFBRW9CLElBQXNCLEVBQUU7SUFDcEUsTUFBTTtNQUFFd0IsUUFBUTtNQUFFQyxRQUFRO01BQUVDO0lBQWUsQ0FBQyxHQUFHM0IsR0FBRyxDQUFDNEIsSUFBSTtJQUN2RCxNQUFNO01BQUUxQjtJQUFLLENBQUMsR0FBR0YsR0FBRyxDQUFDRyxXQUFXO0lBRWhDLElBQUksQ0FBQ0MsZUFBQyxDQUFDeUIsU0FBUyxDQUFDSCxRQUFRLENBQUMsSUFBSSxDQUFDdEIsZUFBQyxDQUFDMEIsT0FBTyxDQUFDSCxjQUFjLENBQUMsRUFBRTtNQUN4RCxPQUFPMUIsSUFBSSxDQUFDa0IsaUJBQVMsQ0FBQ0MsT0FBTyxDQUFDVCxzQkFBVyxDQUFDb0IsUUFBUSxFQUFFQyx5QkFBYyxDQUFDQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzNGO0lBRUF2QyxJQUFJLENBQUN3QyxZQUFZLENBQUNoQyxJQUFJLEVBQUV1QixRQUFRLEVBQUUsT0FBT1UsR0FBRyxFQUFFM0IsSUFBZ0IsS0FBSztNQUNqRSxJQUFJMkIsR0FBRyxFQUFFO1FBQ1AsTUFBTUMsU0FBUyxHQUFHRCxHQUFHLENBQUNiLE9BQU8sR0FBR1gsc0JBQVcsQ0FBQzBCLFlBQVksR0FBRzFCLHNCQUFXLENBQUNVLGNBQWM7UUFDckYsT0FBT3BCLElBQUksQ0FBQ2tCLGlCQUFTLENBQUNDLE9BQU8sQ0FBQ2dCLFNBQVMsRUFBRUQsR0FBRyxDQUFDYixPQUFPLENBQUMsQ0FBQztNQUN4RDtNQUVBdEIsR0FBRyxDQUFDRyxXQUFXLEdBQUdLLElBQUk7TUFFdEIsSUFBSSxDQUFDSixlQUFDLENBQUNrQyxVQUFVLENBQUMzQyxPQUFPLENBQUM0QyxTQUFTLENBQUMsRUFBRTtRQUNwQyxPQUFPdEMsSUFBSSxDQUNUa0IsaUJBQVMsQ0FBQ0MsT0FBTyxDQUFDVCxzQkFBVyxDQUFDNkIsZUFBZSxFQUFFUix5QkFBYyxDQUFDUyxxQkFBcUIsQ0FDckYsQ0FBQztNQUNIO01BRUEsSUFBSTtRQUNGLE1BQU1yRCxLQUFLLEdBQUcsTUFBTSxJQUFBc0Qsc0JBQVcsRUFBQ2hELElBQUksRUFBRUUsTUFBTSxFQUFFWSxJQUFJLEVBQUVpQixRQUFRLENBQUM7UUFDN0QsTUFBTTFELEdBQUcsR0FBRyxJQUFBNEUsa0JBQVcsRUFBQ3ZELEtBQUssQ0FBQztRQUM5QjtRQUNBLE1BQU13RCxXQUFXLEdBQUcsSUFBQUMsWUFBSSxFQUFDekQsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNsQyxNQUFNQyxPQUFPLEdBQUcsSUFBSUMsSUFBSSxDQUFDLENBQUMsQ0FBQ3dELE9BQU8sQ0FBQyxDQUFDOztRQUVwQztBQUNWO0FBQ0E7QUFDQTtRQUNVLE1BQU1QLFNBQWdCLEdBQUc7VUFDdkIvQixJQUFJLEVBQUVOLElBQUk7VUFDVmQsS0FBSyxFQUFFd0QsV0FBVztVQUNsQjdFLEdBQUc7VUFDSGdGLElBQUksRUFBRXBCLGNBQWM7VUFDcEJELFFBQVE7VUFDUnJDO1FBQ0YsQ0FBQztRQUVELE1BQU1NLE9BQU8sQ0FBQzRDLFNBQVMsQ0FBQ0EsU0FBUyxDQUFDO1FBQ2xDdEQsS0FBSyxDQUFDLGtDQUFrQyxFQUFFbEIsR0FBRyxFQUFFbUMsSUFBSSxDQUFDO1FBQ3BEckIsR0FBRyxDQUFDbUUsR0FBRyxDQUFDQyxrQkFBTyxDQUFDQyxhQUFhLEVBQUUsb0JBQW9CLENBQUM7UUFDcEQsT0FBT2pELElBQUksQ0FDVGQsY0FBYyxDQUFDO1VBQ2JDLEtBQUs7VUFDTG9CLElBQUksRUFBRU4sSUFBSTtVQUNWbkMsR0FBRyxFQUFFd0UsU0FBUyxDQUFDeEUsR0FBRztVQUNsQmdGLElBQUksRUFBRXBCLGNBQWM7VUFDcEJELFFBQVE7VUFDUnJDLE9BQU8sRUFBRWtELFNBQVMsQ0FBQ2xEO1FBQ3JCLENBQUMsQ0FDSCxDQUFDO01BQ0gsQ0FBQyxDQUFDLE9BQU8yQixLQUFVLEVBQUU7UUFDbkJDLGNBQU0sQ0FBQ0QsS0FBSyxDQUFDO1VBQUVBLEtBQUssRUFBRUEsS0FBSyxDQUFDRTtRQUFJLENBQUMsRUFBRSxxQ0FBcUMsQ0FBQztRQUN6RSxPQUFPakIsSUFBSSxDQUFDa0IsaUJBQVMsQ0FBQ0MsT0FBTyxDQUFDVCxzQkFBVyxDQUFDVSxjQUFjLEVBQUVMLEtBQUssQ0FBQ00sT0FBTyxDQUFDLENBQUM7TUFDM0U7SUFDRixDQUFDLENBQUM7RUFDSixDQUNGLENBQUM7RUFFRDdCLE1BQU0sQ0FBQzBELE1BQU0sQ0FDWCxrQ0FBa0MsRUFDbEMsSUFBQXJELHFCQUFTLEVBQUNGLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFRyxhQUFhLENBQUMsRUFDaEMsT0FBT0MsR0FBbUIsRUFBRW5CLEdBQWEsRUFBRW9CLElBQXNCLEtBQUs7SUFDcEUsTUFBTTtNQUNKbUQsTUFBTSxFQUFFO1FBQUVDO01BQVM7SUFDckIsQ0FBQyxHQUFHckQsR0FBRztJQUNQLE1BQU07TUFBRUU7SUFBSyxDQUFDLEdBQUdGLEdBQUcsQ0FBQ0csV0FBVztJQUVoQyxJQUFJQyxlQUFDLENBQUNDLEtBQUssQ0FBQ0gsSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFO01BQzNCakIsS0FBSyxDQUFDLGlDQUFpQyxFQUFFaUIsSUFBSSxDQUFDO01BQzlDLElBQUk7UUFDRixNQUFNUCxPQUFPLENBQUMyRCxXQUFXLENBQUNwRCxJQUFJLEVBQUVtRCxRQUFRLENBQUM7UUFDekNwQyxjQUFNLENBQUNzQyxJQUFJLENBQUM7VUFBRUYsUUFBUTtVQUFFbkQ7UUFBSyxDQUFDLEVBQUUsbURBQW1ELENBQUM7UUFDcEYsT0FBT0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQ2pCLENBQUMsQ0FBQyxPQUFPZSxLQUFVLEVBQUU7UUFDbkJDLGNBQU0sQ0FBQ0QsS0FBSyxDQUFDO1VBQUVBLEtBQUssRUFBRUEsS0FBSyxDQUFDRTtRQUFJLENBQUMsRUFBRSxxQ0FBcUMsQ0FBQztRQUN6RSxPQUFPakIsSUFBSSxDQUFDa0IsaUJBQVMsQ0FBQ0MsT0FBTyxDQUFDVCxzQkFBVyxDQUFDVSxjQUFjLEVBQUVMLEtBQUssQ0FBQ00sT0FBTyxDQUFDLENBQUM7TUFDM0U7SUFDRjtJQUNBLE9BQU9yQixJQUFJLENBQUNrQixpQkFBUyxDQUFDSSxlQUFlLENBQUMsQ0FBQyxDQUFDO0VBQzFDLENBQ0YsQ0FBQztBQUNIIn0=
|
|
@@ -11,8 +11,8 @@ var _package = _interopRequireDefault(require("./package"));
|
|
|
11
11
|
var _search = _interopRequireDefault(require("./search"));
|
|
12
12
|
var _user = _interopRequireDefault(require("./user"));
|
|
13
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
function ownKeys(
|
|
15
|
-
function _objectSpread(
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
16
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
17
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
18
18
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -33,4 +33,4 @@ var _default = (auth, storage, config) => {
|
|
|
33
33
|
return router;
|
|
34
34
|
};
|
|
35
35
|
exports.default = _default;
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl91dGlscyIsIl9wYWNrYWdlIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zZWFyY2giLCJfdXNlciIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImtleSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJfZGVmYXVsdCIsImF1dGgiLCJzdG9yYWdlIiwiY29uZmlnIiwiX2NvbmZpZyR3ZWIiLCJyb3V0ZXIiLCJSb3V0ZXIiLCJ1c2UiLCJyYXRlTGltaXQiLCJ3aW5kb3dNcyIsIm1heCIsIndlYiIsInBhY2thZ2VBcGkiLCJzZWFyY2giLCJoYXNMb2dpbiIsInVzZXIiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS93ZWIvYXBpL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuXG5pbXBvcnQgeyByYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuXG5pbXBvcnQgeyBoYXNMb2dpbiB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgcGFja2FnZUFwaSBmcm9tICcuL3BhY2thZ2UnO1xuaW1wb3J0IHNlYXJjaCBmcm9tICcuL3NlYXJjaCc7XG5pbXBvcnQgdXNlciBmcm9tICcuL3VzZXInO1xuXG5leHBvcnQgZGVmYXVsdCAoYXV0aCwgc3RvcmFnZSwgY29uZmlnKSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gIGNvbnN0IHJvdXRlciA9IFJvdXRlcigpO1xuICByb3V0ZXIudXNlKFxuICAgIHJhdGVMaW1pdCh7XG4gICAgICB3aW5kb3dNczogMiAqIDYwICogMTAwMCwgLy8gMiAgbWludXRlc1xuICAgICAgbWF4OiA1MDAwLCAvLyBsaW1pdCBlYWNoIElQIHRvIDEwMDAgcmVxdWVzdHMgcGVyIHdpbmRvd01zXG4gICAgICAuLi5jb25maWc/LndlYj8ucmF0ZUxpbWl0LFxuICAgIH0pXG4gICk7XG4gIHBhY2thZ2VBcGkocm91dGVyLCBzdG9yYWdlLCBhdXRoLCBjb25maWcpO1xuICBzZWFyY2gocm91dGVyLCBzdG9yYWdlLCBhdXRoKTtcbiAgaWYgKGhhc0xvZ2luKGNvbmZpZykpIHtcbiAgICB1c2VyKHJvdXRlciwgYXV0aCwgc3RvcmFnZSk7XG4gIH1cbiAgcmV0dXJuIHJvdXRlcjtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLE9BQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFNLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUEwQixTQUFBSSx1QkFBQUcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFB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
|
|
@@ -12,8 +12,8 @@ var _constants = require("../../../lib/constants");
|
|
|
12
12
|
var _logger = require("../../../lib/logger");
|
|
13
13
|
var _utils2 = require("../../../lib/utils");
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
function ownKeys(
|
|
16
|
-
function _objectSpread(
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
17
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
18
18
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
19
19
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
@@ -159,4 +159,4 @@ function addPackageWebApi(pkgRouter, storage, auth, config) {
|
|
|
159
159
|
}
|
|
160
160
|
var _default = addPackageWebApi;
|
|
161
161
|
exports.default = _default;
|
|
162
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl90YXJiYWxsIiwiX3V0aWxzIiwiX2NvbnN0YW50cyIsIl9sb2dnZXIiLCJfdXRpbHMyIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwib2JqZWN0IiwiZW51bWVyYWJsZU9ubHkiLCJrZXlzIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic3ltYm9scyIsImZpbHRlciIsInN5bSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImZvckVhY2giLCJrZXkiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiYXJnIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwidW5kZWZpbmVkIiwicmVzIiwiY2FsbCIsIlR5cGVFcnJvciIsIk51bWJlciIsImdldE9yZGVyIiwib3JkZXIiLCJhZGRQYWNrYWdlV2ViQXBpIiwicGtnUm91dGVyIiwic3RvcmFnZSIsImF1dGgiLCJjb25maWciLCJjYW4iLCJhbGxvdyIsImJlZm9yZUFsbCIsInBhcmFtcyIsIm1lc3NhZ2UiLCJsb2dnZXIiLCJkZWJ1ZyIsImFmdGVyQWxsIiwiY2hlY2tBbGxvdyIsIm5hbWUiLCJyZW1vdGVVc2VyIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhbGxvd19hY2Nlc3MiLCJwYWNrYWdlTmFtZSIsImVyciIsImFsbG93ZWQiLCJnZXQiLCJyZXEiLCJuZXh0IiwiZ2V0TG9jYWxEYXRhYmFzZSIsInBhY2thZ2VzIiwicHJvY2Vzc1BhY2thZ2VzIiwicGVybWlzc2lvbnMiLCJwYWNrZ2VzQ29weSIsInNsaWNlIiwicGtnIiwicGtnQ29weSIsImF1dGhvciIsImZvcm1hdEF1dGhvciIsImlzQWxsb3dlZCIsInJlbW90ZV91c2VyIiwid2ViIiwiYXZhdGFyIiwiZ2VuZXJhdGVHcmF2YXRhclVybCIsImVtYWlsIiwiZ3JhdmF0YXIiLCJfIiwiaXNOaWwiLCJkaXN0IiwiaXNOdWxsIiwidGFyYmFsbCIsImdldExvY2FsUmVnaXN0cnlUYXJiYWxsVXJpIiwicHJvdG9jb2wiLCJoZWFkZXJzIiwiaG9zdCIsImhvc3RuYW1lIiwidXJsX3ByZWZpeCIsImVycm9yIiwic29ydF9wYWNrYWdlcyIsInNvcnRCeU5hbWUiLCJFcnJvckNvZGUiLCJnZXRJbnRlcm5hbEVycm9yIiwic2NvcGUiLCJhZGRTY29wZSIsInBhY2thZ2UiLCJnZXRQYWNrYWdlIiwidXBsaW5rc0xvb2siLCJjYWxsYmFjayIsImluZm8iLCJzZXQiLCJIRUFERVJfVFlQRSIsIkNPTlRFTlRfVFlQRSIsIkhFQURFUlMiLCJURVhUX1BMQUlOIiwicGFyc2VSZWFkbWUiLCJyZWFkbWUiLCJrZWVwVXBMaW5rRGF0YSIsInYiLCJxdWVyeSIsInNpZGVCYXJJbmZvIiwiY2xvbmUiLCJ2ZXJzaW9ucyIsImNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzIiwiaXNWZXJzaW9uVmFsaWQiLCJsYXRlc3QiLCJfc2lkZUJhckluZm8iLCJESVNUX1RBR1MiLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIk5PVF9GT1VORCIsImVuZCIsImRlbGV0ZVByb3BlcnRpZXMiLCJhZGRHcmF2YXRhclN1cHBvcnQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3dlYi9hcGkvcGFja2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IGFsbG93IH0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB7XG4gIGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzLFxuICBnZXRMb2NhbFJlZ2lzdHJ5VGFyYmFsbFVyaSxcbn0gZnJvbSAnQHZlcmRhY2Npby90YXJiYWxsJztcbmltcG9ydCB7IENvbmZpZywgTWFuaWZlc3QgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IGdlbmVyYXRlR3JhdmF0YXJVcmwgfSBmcm9tICdAdmVyZGFjY2lvL3V0aWxzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgRElTVF9UQUdTLCBIRUFERVJTLCBIRUFERVJfVFlQRSwgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IFN0b3JhZ2UgZnJvbSAnLi4vLi4vLi4vbGliL3N0b3JhZ2UnO1xuaW1wb3J0IHtcbiAgRXJyb3JDb2RlLFxuICBhZGRHcmF2YXRhclN1cHBvcnQsXG4gIGFkZFNjb3BlLFxuICBkZWxldGVQcm9wZXJ0aWVzLFxuICBmb3JtYXRBdXRob3IsXG4gIGlzVmVyc2lvblZhbGlkLFxuICBwYXJzZVJlYWRtZSxcbiAgc29ydEJ5TmFtZSxcbn0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kLCAkUmVzcG9uc2VFeHRlbmQsICRTaWRlYmFyUGFja2FnZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuY29uc3QgZ2V0T3JkZXIgPSAob3JkZXIgPSAnYXNjJykgPT4ge1xuICByZXR1cm4gb3JkZXIgPT09ICdhc2MnO1xufTtcblxuZXhwb3J0IHR5cGUgUGFja2NhZ2VFeHQgPSBNYW5pZmVzdCAmIHsgYXV0aG9yOiBhbnk7IGRpc3Q/OiB7IHRhcmJhbGw6IHN0cmluZyB9IH07XG5cbmZ1bmN0aW9uIGFkZFBhY2thZ2VXZWJBcGkocGtnUm91dGVyOiBSb3V0ZXIsIHN0b3JhZ2U6IFN0b3JhZ2UsIGF1dGg6IEF1dGgsIGNvbmZpZzogQ29uZmlnKTogUm91dGVyIHtcbiAgY29uc3QgY2FuID0gYWxsb3coYXV0aCwge1xuICAgIGJlZm9yZUFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4ge1xuICAgICAgbG9nZ2VyLmRlYnVnKHBhcmFtcywgbWVzc2FnZSk7XG4gICAgfSxcbiAgICBhZnRlckFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4gbG9nZ2VyLmRlYnVnKHBhcmFtcywgbWVzc2FnZSksXG4gIH0pO1xuXG4gIGNvbnN0IGNoZWNrQWxsb3cgPSAobmFtZSwgcmVtb3RlVXNlcik6IFByb21pc2U8Ym9vbGVhbj4gPT5cbiAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KTogdm9pZCA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBhdXRoLmFsbG93X2FjY2Vzcyh7IHBhY2thZ2VOYW1lOiBuYW1lIH0sIHJlbW90ZVVzZXIsIChlcnIsIGFsbG93ZWQpOiB2b2lkID0+IHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzb2x2ZShhbGxvd2VkKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgLy8gR2V0IGxpc3Qgb2YgYWxsIHZpc2libGUgcGFja2FnZVxuICBwa2dSb3V0ZXIuZ2V0KFxuICAgICcvLS92ZXJkYWNjaW8vZGF0YS9wYWNrYWdlcycsXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICBzdG9yYWdlLmdldExvY2FsRGF0YWJhc2UoYXN5bmMgZnVuY3Rpb24gKGVyciwgcGFja2FnZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuXG4gICAgICAgIGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NQYWNrYWdlcyhwYWNrYWdlczogUGFja2NhZ2VFeHRbXSA9IFtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uczogUGFja2NhZ2VFeHRbXSA9IFtdO1xuICAgICAgICAgIGNvbnN0IHBhY2tnZXNDb3B5ID0gcGFja2FnZXMuc2xpY2UoKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHBrZyBvZiBwYWNrZ2VzQ29weSkge1xuICAgICAgICAgICAgY29uc3QgcGtnQ29weSA9IHsgLi4ucGtnIH07XG4gICAgICAgICAgICBwa2dDb3B5LmF1dGhvciA9IGZvcm1hdEF1dGhvcihwa2cuYXV0aG9yKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzQWxsb3dlZCA9IGF3YWl0IGNoZWNrQWxsb3cocGtnLm5hbWUsIHJlcS5yZW1vdGVfdXNlcik7XG4gICAgICAgICAgICAgIGlmIChpc0FsbG93ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLndlYikge1xuICAgICAgICAgICAgICAgICAgcGtnQ29weS5hdXRob3IuYXZhdGFyID0gZ2VuZXJhdGVHcmF2YXRhclVybChcbiAgICAgICAgICAgICAgICAgICAgcGtnQ29weS5hdXRob3IuZW1haWwsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy53ZWIuZ3JhdmF0YXJcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghXy5pc05pbChwa2dDb3B5LmRpc3QpICYmICFfLmlzTnVsbChwa2dDb3B5LmRpc3QudGFyYmFsbCkpIHtcbiAgICAgICAgICAgICAgICAgIHBrZ0NvcHkuZGlzdC50YXJiYWxsID0gZ2V0TG9jYWxSZWdpc3RyeVRhcmJhbGxVcmkoXG4gICAgICAgICAgICAgICAgICAgIHBrZ0NvcHkuZGlzdC50YXJiYWxsLFxuICAgICAgICAgICAgICAgICAgICBwa2cubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgeyBwcm90b2NvbDogcmVxLnByb3RvY29sLCBoZWFkZXJzOiByZXEuaGVhZGVycyBhcyBhbnksIGhvc3Q6IHJlcS5ob3N0bmFtZSB9LFxuICAgICAgICAgICAgICAgICAgICBjb25maWcudXJsX3ByZWZpeFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbnMucHVzaChwa2dDb3B5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgICB7IG5hbWU6IHBrZy5uYW1lLCBlcnJvcjogZXJyIH0sXG4gICAgICAgICAgICAgICAgJ3Blcm1pc3Npb24gcHJvY2VzcyBmb3IgQHtuYW1lfSBoYXMgZmFpbGVkOiBAe2Vycm9yfSdcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBwZXJtaXNzaW9ucztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgd2ViIH0gPSBjb25maWc7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3Qgb3JkZXI6IGJvb2xlYW4gPSBjb25maWcud2ViID8gZ2V0T3JkZXIod2ViLnNvcnRfcGFja2FnZXMpIDogdHJ1ZTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIG5leHQoc29ydEJ5TmFtZShhd2FpdCBwcm9jZXNzUGFja2FnZXMocGFja2FnZXMpLCBvcmRlcikpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIG5leHQoRXJyb3JDb2RlLmdldEludGVybmFsRXJyb3IoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICAvLyBHZXQgcGFja2FnZSByZWFkbWVcbiAgcGtnUm91dGVyLmdldChcbiAgICAnLy0vdmVyZGFjY2lvL2RhdGEvcGFja2FnZS9yZWFkbWUvKEA6c2NvcGUvKT86cGFja2FnZS86dmVyc2lvbj8nLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMuc2NvcGVcbiAgICAgICAgPyBhZGRTY29wZShyZXEucGFyYW1zLnNjb3BlLCByZXEucGFyYW1zLnBhY2thZ2UpXG4gICAgICAgIDogcmVxLnBhcmFtcy5wYWNrYWdlO1xuXG4gICAgICBzdG9yYWdlLmdldFBhY2thZ2Uoe1xuICAgICAgICBuYW1lOiBwYWNrYWdlTmFtZSxcbiAgICAgICAgdXBsaW5rc0xvb2s6IHRydWUsXG4gICAgICAgIHJlcSxcbiAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlcnIsIGluZm8pOiB2b2lkIHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlcy5zZXQoSEVBREVSX1RZUEUuQ09OVEVOVF9UWVBFLCBIRUFERVJTLlRFWFRfUExBSU4pO1xuICAgICAgICAgIG5leHQocGFyc2VSZWFkbWUoaW5mby5uYW1lLCBpbmZvLnJlYWRtZSkpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHBrZ1JvdXRlci5nZXQoXG4gICAgJy8tL3ZlcmRhY2Npby9kYXRhL3NpZGViYXIvKEA6c2NvcGUvKT86cGFja2FnZScsXG4gICAgY2FuKCdhY2Nlc3MnKSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHBhY2thZ2VOYW1lOiBzdHJpbmcgPSByZXEucGFyYW1zLnNjb3BlXG4gICAgICAgID8gYWRkU2NvcGUocmVxLnBhcmFtcy5zY29wZSwgcmVxLnBhcmFtcy5wYWNrYWdlKVxuICAgICAgICA6IHJlcS5wYXJhbXMucGFja2FnZTtcblxuICAgICAgc3RvcmFnZS5nZXRQYWNrYWdlKHtcbiAgICAgICAgbmFtZTogcGFja2FnZU5hbWUsXG4gICAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAgICBrZWVwVXBMaW5rRGF0YTogdHJ1ZSxcbiAgICAgICAgcmVxLFxuICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24gKGVycjogRXJyb3IsIGluZm86ICRTaWRlYmFyUGFja2FnZSk6IHZvaWQge1xuICAgICAgICAgIGlmIChfLmlzTmlsKGVycikpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgdiB9ID0gcmVxLnF1ZXJ5O1xuICAgICAgICAgICAgbGV0IHNpZGVCYXJJbmZvOiBhbnkgPSBfLmNsb25lKGluZm8pO1xuICAgICAgICAgICAgc2lkZUJhckluZm8udmVyc2lvbnMgPSBjb252ZXJ0RGlzdFJlbW90ZVRvTG9jYWxUYXJiYWxsVXJscyhcbiAgICAgICAgICAgICAgaW5mbyxcbiAgICAgICAgICAgICAgeyBwcm90b2NvbDogcmVxLnByb3RvY29sLCBoZWFkZXJzOiByZXEuaGVhZGVycyBhcyBhbnksIGhvc3Q6IHJlcS5ob3N0bmFtZSB9LFxuICAgICAgICAgICAgICBjb25maWcudXJsX3ByZWZpeFxuICAgICAgICAgICAgKS52ZXJzaW9ucztcbiAgICAgICAgICAgIGlmIChpc1ZlcnNpb25WYWxpZChpbmZvLCB2KSkge1xuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHNpZGVCYXJJbmZvLmxhdGVzdCA9IHNpZGVCYXJJbmZvLnZlcnNpb25zW3ZdO1xuICAgICAgICAgICAgICBzaWRlQmFySW5mby5sYXRlc3QuYXV0aG9yID0gZm9ybWF0QXV0aG9yKHNpZGVCYXJJbmZvLmxhdGVzdC5hdXRob3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2lkZUJhckluZm8ubGF0ZXN0ID0gc2lkZUJhckluZm8udmVyc2lvbnNbaW5mb1tESVNUX1RBR1NdLmxhdGVzdF07XG4gICAgICAgICAgICAgIGlmIChzaWRlQmFySW5mbz8ubGF0ZXN0KSB7XG4gICAgICAgICAgICAgICAgc2lkZUJhckluZm8ubGF0ZXN0LmF1dGhvciA9IGZvcm1hdEF1dGhvcihzaWRlQmFySW5mby5sYXRlc3QuYXV0aG9yKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk5PVF9GT1VORCk7XG4gICAgICAgICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2lkZUJhckluZm8gPSBkZWxldGVQcm9wZXJ0aWVzKFsncmVhZG1lJywgJ19hdHRhY2htZW50cycsICdfcmV2JywgJ25hbWUnXSwgc2lkZUJhckluZm8pO1xuICAgICAgICAgICAgaWYgKGNvbmZpZy53ZWIpIHtcbiAgICAgICAgICAgICAgc2lkZUJhckluZm8gPSBhZGRHcmF2YXRhclN1cHBvcnQoc2lkZUJhckluZm8sIGNvbmZpZy53ZWIuZ3JhdmF0YXIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2lkZUJhckluZm8gPSBhZGRHcmF2YXRhclN1cHBvcnQoc2lkZUJhckluZm8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dChzaWRlQmFySW5mbyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKTtcbiAgICAgICAgICAgIHJlcy5lbmQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgcmV0dXJuIHBrZ1JvdXRlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgYWRkUGFja2FnZVdlYkFwaTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBS0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBR0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBRUEsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBUzRCLFNBQUFELHVCQUFBUSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcsUUFBQUMsTUFBQSxFQUFBQyxjQUFBLFFBQUFDLElBQUEsR0FBQUMsTUFBQSxDQUFBRCxJQUFBLENBQUFGLE1BQUEsT0FBQUcsTUFBQSxDQUFBQyxxQkFBQSxRQUFBQyxPQUFBLEdBQUFGLE1BQUEsQ0FBQUMscUJBQUEsQ0FBQUosTUFBQSxHQUFBQyxjQUFBLEtBQUFJLE9BQUEsR0FBQUEsT0FBQSxDQUFBQyxNQUFBLFdBQUFDLEdBQUEsV0FBQUosTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixNQUFBLEVBQUFPLEdBQUEsRUFBQUUsVUFBQSxPQUFBUCxJQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxJQUFBLEVBQUFHLE9BQUEsWUFBQUgsSUFBQTtBQUFBLFNBQUFVLGNBQUFDLE1BQUEsYUFBQUMsQ0FB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
|
|
162
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl90YXJiYWxsIiwiX3V0aWxzIiwiX2NvbnN0YW50cyIsIl9sb2dnZXIiLCJfdXRpbHMyIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5Iiwia2V5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiYXJnIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwidW5kZWZpbmVkIiwicmVzIiwiY2FsbCIsIlR5cGVFcnJvciIsIk51bWJlciIsImdldE9yZGVyIiwib3JkZXIiLCJhZGRQYWNrYWdlV2ViQXBpIiwicGtnUm91dGVyIiwic3RvcmFnZSIsImF1dGgiLCJjb25maWciLCJjYW4iLCJhbGxvdyIsImJlZm9yZUFsbCIsInBhcmFtcyIsIm1lc3NhZ2UiLCJsb2dnZXIiLCJkZWJ1ZyIsImFmdGVyQWxsIiwiY2hlY2tBbGxvdyIsIm5hbWUiLCJyZW1vdGVVc2VyIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJhbGxvd19hY2Nlc3MiLCJwYWNrYWdlTmFtZSIsImVyciIsImFsbG93ZWQiLCJnZXQiLCJyZXEiLCJuZXh0IiwiZ2V0TG9jYWxEYXRhYmFzZSIsInBhY2thZ2VzIiwicHJvY2Vzc1BhY2thZ2VzIiwicGVybWlzc2lvbnMiLCJwYWNrZ2VzQ29weSIsInNsaWNlIiwicGtnIiwicGtnQ29weSIsImF1dGhvciIsImZvcm1hdEF1dGhvciIsImlzQWxsb3dlZCIsInJlbW90ZV91c2VyIiwid2ViIiwiYXZhdGFyIiwiZ2VuZXJhdGVHcmF2YXRhclVybCIsImVtYWlsIiwiZ3JhdmF0YXIiLCJfIiwiaXNOaWwiLCJkaXN0IiwiaXNOdWxsIiwidGFyYmFsbCIsImdldExvY2FsUmVnaXN0cnlUYXJiYWxsVXJpIiwicHJvdG9jb2wiLCJoZWFkZXJzIiwiaG9zdCIsImhvc3RuYW1lIiwidXJsX3ByZWZpeCIsImVycm9yIiwic29ydF9wYWNrYWdlcyIsInNvcnRCeU5hbWUiLCJFcnJvckNvZGUiLCJnZXRJbnRlcm5hbEVycm9yIiwic2NvcGUiLCJhZGRTY29wZSIsInBhY2thZ2UiLCJnZXRQYWNrYWdlIiwidXBsaW5rc0xvb2siLCJjYWxsYmFjayIsImluZm8iLCJzZXQiLCJIRUFERVJfVFlQRSIsIkNPTlRFTlRfVFlQRSIsIkhFQURFUlMiLCJURVhUX1BMQUlOIiwicGFyc2VSZWFkbWUiLCJyZWFkbWUiLCJrZWVwVXBMaW5rRGF0YSIsInYiLCJxdWVyeSIsInNpZGVCYXJJbmZvIiwiY2xvbmUiLCJ2ZXJzaW9ucyIsImNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzIiwiaXNWZXJzaW9uVmFsaWQiLCJsYXRlc3QiLCJfc2lkZUJhckluZm8iLCJESVNUX1RBR1MiLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIk5PVF9GT1VORCIsImVuZCIsImRlbGV0ZVByb3BlcnRpZXMiLCJhZGRHcmF2YXRhclN1cHBvcnQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3dlYi9hcGkvcGFja2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IGFsbG93IH0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB7XG4gIGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzLFxuICBnZXRMb2NhbFJlZ2lzdHJ5VGFyYmFsbFVyaSxcbn0gZnJvbSAnQHZlcmRhY2Npby90YXJiYWxsJztcbmltcG9ydCB7IENvbmZpZywgTWFuaWZlc3QgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IGdlbmVyYXRlR3JhdmF0YXJVcmwgfSBmcm9tICdAdmVyZGFjY2lvL3V0aWxzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgRElTVF9UQUdTLCBIRUFERVJTLCBIRUFERVJfVFlQRSwgSFRUUF9TVEFUVVMgfSBmcm9tICcuLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uLy4uLy4uL2xpYi9sb2dnZXInO1xuaW1wb3J0IFN0b3JhZ2UgZnJvbSAnLi4vLi4vLi4vbGliL3N0b3JhZ2UnO1xuaW1wb3J0IHtcbiAgRXJyb3JDb2RlLFxuICBhZGRHcmF2YXRhclN1cHBvcnQsXG4gIGFkZFNjb3BlLFxuICBkZWxldGVQcm9wZXJ0aWVzLFxuICBmb3JtYXRBdXRob3IsXG4gIGlzVmVyc2lvblZhbGlkLFxuICBwYXJzZVJlYWRtZSxcbiAgc29ydEJ5TmFtZSxcbn0gZnJvbSAnLi4vLi4vLi4vbGliL3V0aWxzJztcbmltcG9ydCB7ICROZXh0RnVuY3Rpb25WZXIsICRSZXF1ZXN0RXh0ZW5kLCAkUmVzcG9uc2VFeHRlbmQsICRTaWRlYmFyUGFja2FnZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuY29uc3QgZ2V0T3JkZXIgPSAob3JkZXIgPSAnYXNjJykgPT4ge1xuICByZXR1cm4gb3JkZXIgPT09ICdhc2MnO1xufTtcblxuZXhwb3J0IHR5cGUgUGFja2NhZ2VFeHQgPSBNYW5pZmVzdCAmIHsgYXV0aG9yOiBhbnk7IGRpc3Q/OiB7IHRhcmJhbGw6IHN0cmluZyB9IH07XG5cbmZ1bmN0aW9uIGFkZFBhY2thZ2VXZWJBcGkocGtnUm91dGVyOiBSb3V0ZXIsIHN0b3JhZ2U6IFN0b3JhZ2UsIGF1dGg6IEF1dGgsIGNvbmZpZzogQ29uZmlnKTogUm91dGVyIHtcbiAgY29uc3QgY2FuID0gYWxsb3coYXV0aCwge1xuICAgIGJlZm9yZUFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4ge1xuICAgICAgbG9nZ2VyLmRlYnVnKHBhcmFtcywgbWVzc2FnZSk7XG4gICAgfSxcbiAgICBhZnRlckFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4gbG9nZ2VyLmRlYnVnKHBhcmFtcywgbWVzc2FnZSksXG4gIH0pO1xuXG4gIGNvbnN0IGNoZWNrQWxsb3cgPSAobmFtZSwgcmVtb3RlVXNlcik6IFByb21pc2U8Ym9vbGVhbj4gPT5cbiAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KTogdm9pZCA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBhdXRoLmFsbG93X2FjY2Vzcyh7IHBhY2thZ2VOYW1lOiBuYW1lIH0sIHJlbW90ZVVzZXIsIChlcnIsIGFsbG93ZWQpOiB2b2lkID0+IHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzb2x2ZShhbGxvd2VkKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgLy8gR2V0IGxpc3Qgb2YgYWxsIHZpc2libGUgcGFja2FnZVxuICBwa2dSb3V0ZXIuZ2V0KFxuICAgICcvLS92ZXJkYWNjaW8vZGF0YS9wYWNrYWdlcycsXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICBzdG9yYWdlLmdldExvY2FsRGF0YWJhc2UoYXN5bmMgZnVuY3Rpb24gKGVyciwgcGFja2FnZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuXG4gICAgICAgIGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NQYWNrYWdlcyhwYWNrYWdlczogUGFja2NhZ2VFeHRbXSA9IFtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uczogUGFja2NhZ2VFeHRbXSA9IFtdO1xuICAgICAgICAgIGNvbnN0IHBhY2tnZXNDb3B5ID0gcGFja2FnZXMuc2xpY2UoKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IHBrZyBvZiBwYWNrZ2VzQ29weSkge1xuICAgICAgICAgICAgY29uc3QgcGtnQ29weSA9IHsgLi4ucGtnIH07XG4gICAgICAgICAgICBwa2dDb3B5LmF1dGhvciA9IGZvcm1hdEF1dGhvcihwa2cuYXV0aG9yKTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzQWxsb3dlZCA9IGF3YWl0IGNoZWNrQWxsb3cocGtnLm5hbWUsIHJlcS5yZW1vdGVfdXNlcik7XG4gICAgICAgICAgICAgIGlmIChpc0FsbG93ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlnLndlYikge1xuICAgICAgICAgICAgICAgICAgcGtnQ29weS5hdXRob3IuYXZhdGFyID0gZ2VuZXJhdGVHcmF2YXRhclVybChcbiAgICAgICAgICAgICAgICAgICAgcGtnQ29weS5hdXRob3IuZW1haWwsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy53ZWIuZ3JhdmF0YXJcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghXy5pc05pbChwa2dDb3B5LmRpc3QpICYmICFfLmlzTnVsbChwa2dDb3B5LmRpc3QudGFyYmFsbCkpIHtcbiAgICAgICAgICAgICAgICAgIHBrZ0NvcHkuZGlzdC50YXJiYWxsID0gZ2V0TG9jYWxSZWdpc3RyeVRhcmJhbGxVcmkoXG4gICAgICAgICAgICAgICAgICAgIHBrZ0NvcHkuZGlzdC50YXJiYWxsLFxuICAgICAgICAgICAgICAgICAgICBwa2cubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgeyBwcm90b2NvbDogcmVxLnByb3RvY29sLCBoZWFkZXJzOiByZXEuaGVhZGVycyBhcyBhbnksIGhvc3Q6IHJlcS5ob3N0bmFtZSB9LFxuICAgICAgICAgICAgICAgICAgICBjb25maWcudXJsX3ByZWZpeFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbnMucHVzaChwa2dDb3B5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgIGxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgICB7IG5hbWU6IHBrZy5uYW1lLCBlcnJvcjogZXJyIH0sXG4gICAgICAgICAgICAgICAgJ3Blcm1pc3Npb24gcHJvY2VzcyBmb3IgQHtuYW1lfSBoYXMgZmFpbGVkOiBAe2Vycm9yfSdcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBwZXJtaXNzaW9ucztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgd2ViIH0gPSBjb25maWc7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgY29uc3Qgb3JkZXI6IGJvb2xlYW4gPSBjb25maWcud2ViID8gZ2V0T3JkZXIod2ViLnNvcnRfcGFja2FnZXMpIDogdHJ1ZTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIG5leHQoc29ydEJ5TmFtZShhd2FpdCBwcm9jZXNzUGFja2FnZXMocGFja2FnZXMpLCBvcmRlcikpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIG5leHQoRXJyb3JDb2RlLmdldEludGVybmFsRXJyb3IoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICAvLyBHZXQgcGFja2FnZSByZWFkbWVcbiAgcGtnUm91dGVyLmdldChcbiAgICAnLy0vdmVyZGFjY2lvL2RhdGEvcGFja2FnZS9yZWFkbWUvKEA6c2NvcGUvKT86cGFja2FnZS86dmVyc2lvbj8nLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMuc2NvcGVcbiAgICAgICAgPyBhZGRTY29wZShyZXEucGFyYW1zLnNjb3BlLCByZXEucGFyYW1zLnBhY2thZ2UpXG4gICAgICAgIDogcmVxLnBhcmFtcy5wYWNrYWdlO1xuXG4gICAgICBzdG9yYWdlLmdldFBhY2thZ2Uoe1xuICAgICAgICBuYW1lOiBwYWNrYWdlTmFtZSxcbiAgICAgICAgdXBsaW5rc0xvb2s6IHRydWUsXG4gICAgICAgIHJlcSxcbiAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlcnIsIGluZm8pOiB2b2lkIHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlcy5zZXQoSEVBREVSX1RZUEUuQ09OVEVOVF9UWVBFLCBIRUFERVJTLlRFWFRfUExBSU4pO1xuICAgICAgICAgIG5leHQocGFyc2VSZWFkbWUoaW5mby5uYW1lLCBpbmZvLnJlYWRtZSkpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHBrZ1JvdXRlci5nZXQoXG4gICAgJy8tL3ZlcmRhY2Npby9kYXRhL3NpZGViYXIvKEA6c2NvcGUvKT86cGFja2FnZScsXG4gICAgY2FuKCdhY2Nlc3MnKSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHBhY2thZ2VOYW1lOiBzdHJpbmcgPSByZXEucGFyYW1zLnNjb3BlXG4gICAgICAgID8gYWRkU2NvcGUocmVxLnBhcmFtcy5zY29wZSwgcmVxLnBhcmFtcy5wYWNrYWdlKVxuICAgICAgICA6IHJlcS5wYXJhbXMucGFja2FnZTtcblxuICAgICAgc3RvcmFnZS5nZXRQYWNrYWdlKHtcbiAgICAgICAgbmFtZTogcGFja2FnZU5hbWUsXG4gICAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAgICBrZWVwVXBMaW5rRGF0YTogdHJ1ZSxcbiAgICAgICAgcmVxLFxuICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24gKGVycjogRXJyb3IsIGluZm86ICRTaWRlYmFyUGFja2FnZSk6IHZvaWQge1xuICAgICAgICAgIGlmIChfLmlzTmlsKGVycikpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgdiB9ID0gcmVxLnF1ZXJ5O1xuICAgICAgICAgICAgbGV0IHNpZGVCYXJJbmZvOiBhbnkgPSBfLmNsb25lKGluZm8pO1xuICAgICAgICAgICAgc2lkZUJhckluZm8udmVyc2lvbnMgPSBjb252ZXJ0RGlzdFJlbW90ZVRvTG9jYWxUYXJiYWxsVXJscyhcbiAgICAgICAgICAgICAgaW5mbyxcbiAgICAgICAgICAgICAgeyBwcm90b2NvbDogcmVxLnByb3RvY29sLCBoZWFkZXJzOiByZXEuaGVhZGVycyBhcyBhbnksIGhvc3Q6IHJlcS5ob3N0bmFtZSB9LFxuICAgICAgICAgICAgICBjb25maWcudXJsX3ByZWZpeFxuICAgICAgICAgICAgKS52ZXJzaW9ucztcbiAgICAgICAgICAgIGlmIChpc1ZlcnNpb25WYWxpZChpbmZvLCB2KSkge1xuICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgIHNpZGVCYXJJbmZvLmxhdGVzdCA9IHNpZGVCYXJJbmZvLnZlcnNpb25zW3ZdO1xuICAgICAgICAgICAgICBzaWRlQmFySW5mby5sYXRlc3QuYXV0aG9yID0gZm9ybWF0QXV0aG9yKHNpZGVCYXJJbmZvLmxhdGVzdC5hdXRob3IpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2lkZUJhckluZm8ubGF0ZXN0ID0gc2lkZUJhckluZm8udmVyc2lvbnNbaW5mb1tESVNUX1RBR1NdLmxhdGVzdF07XG4gICAgICAgICAgICAgIGlmIChzaWRlQmFySW5mbz8ubGF0ZXN0KSB7XG4gICAgICAgICAgICAgICAgc2lkZUJhckluZm8ubGF0ZXN0LmF1dGhvciA9IGZvcm1hdEF1dGhvcihzaWRlQmFySW5mby5sYXRlc3QuYXV0aG9yKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk5PVF9GT1VORCk7XG4gICAgICAgICAgICAgICAgcmVzLmVuZCgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2lkZUJhckluZm8gPSBkZWxldGVQcm9wZXJ0aWVzKFsncmVhZG1lJywgJ19hdHRhY2htZW50cycsICdfcmV2JywgJ25hbWUnXSwgc2lkZUJhckluZm8pO1xuICAgICAgICAgICAgaWYgKGNvbmZpZy53ZWIpIHtcbiAgICAgICAgICAgICAgc2lkZUJhckluZm8gPSBhZGRHcmF2YXRhclN1cHBvcnQoc2lkZUJhckluZm8sIGNvbmZpZy53ZWIuZ3JhdmF0YXIpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2lkZUJhckluZm8gPSBhZGRHcmF2YXRhclN1cHBvcnQoc2lkZUJhckluZm8pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV4dChzaWRlQmFySW5mbyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuTk9UX0ZPVU5EKTtcbiAgICAgICAgICAgIHJlcy5lbmQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgcmV0dXJuIHBrZ1JvdXRlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgYWRkUGFja2FnZVdlYkFwaTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsUUFBQSxHQUFBRixPQUFBO0FBS0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBR0EsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBRUEsSUFBQU0sT0FBQSxHQUFBTixPQUFBO0FBUzRCLFNBQUFELHVCQUFBUSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVB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
|