verdaccio 5.22.0 → 5.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/api/endpoint/api/dist-tags.d.ts +3 -2
- package/build/api/endpoint/api/dist-tags.js +1 -1
- package/build/api/endpoint/api/package.d.ts +3 -2
- package/build/api/endpoint/api/package.js +1 -1
- package/build/api/endpoint/api/publish.d.ts +9 -7
- package/build/api/endpoint/api/publish.js +1 -1
- package/build/api/endpoint/api/star.d.ts +3 -2
- package/build/api/endpoint/api/star.js +1 -1
- package/build/api/endpoint/api/stars.d.ts +2 -2
- package/build/api/endpoint/api/stars.js +1 -1
- package/build/api/endpoint/api/user.d.ts +2 -2
- package/build/api/endpoint/api/user.js +1 -1
- package/build/api/endpoint/api/v1/profile.d.ts +3 -2
- package/build/api/endpoint/api/v1/profile.js +1 -1
- package/build/api/endpoint/api/v1/token.d.ts +4 -3
- package/build/api/endpoint/api/v1/token.js +1 -1
- package/build/api/endpoint/index.d.ts +3 -2
- package/build/api/endpoint/index.js +1 -1
- package/build/api/index.js +14 -4
- package/build/api/middleware.d.ts +1 -1
- package/build/api/web/api/package.d.ts +4 -3
- package/build/api/web/api/package.js +1 -1
- package/build/api/web/api/search.d.ts +3 -2
- package/build/api/web/api/search.js +1 -1
- package/build/api/web/api/user.d.ts +2 -2
- package/build/api/web/api/user.js +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.js +8 -1
- package/build/lib/auth-utils.d.ts +3 -2
- package/build/lib/auth-utils.js +1 -1
- package/build/lib/auth.d.ts +10 -8
- package/build/lib/auth.js +2 -3
- package/build/lib/bootstrap.js +2 -2
- package/build/lib/cli/commands/init.d.ts +1 -0
- package/build/lib/cli/commands/init.js +29 -10
- package/build/lib/config-path.d.ts +1 -1
- package/build/lib/config-utils.d.ts +0 -2
- package/build/lib/config-utils.js +1 -33
- package/build/lib/local-storage.d.ts +14 -11
- package/build/lib/local-storage.js +2 -2
- package/build/lib/plugin-loader.d.ts +3 -2
- package/build/lib/plugin-loader.js +4 -2
- package/build/lib/run-server.d.ts +2 -2
- package/build/lib/run-server.js +1 -1
- package/build/lib/search.d.ts +4 -3
- package/build/lib/search.js +1 -1
- package/build/lib/storage-utils.d.ts +3 -3
- package/build/lib/storage-utils.js +1 -1
- package/build/lib/storage.d.ts +14 -11
- package/build/lib/storage.js +1 -1
- package/build/lib/up-storage.d.ts +6 -9
- package/build/lib/up-storage.js +3 -3
- package/build/lib/uplink-util.d.ts +3 -3
- package/build/lib/uplink-util.js +1 -1
- package/build/lib/utils.d.ts +1 -1
- package/build/lib/utils.js +1 -1
- package/build/types/index.d.ts +17 -76
- package/build/types/index.js +1 -1
- package/conf/default.yaml +1 -1
- package/conf/docker.yaml +1 -1
- package/package.json +18 -24
- package/build/config/env.d.ts +0 -2
- package/build/config/env.js +0 -10
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
|
-
import
|
|
3
|
-
|
|
2
|
+
import Auth from '../../../lib/auth';
|
|
3
|
+
import Storage from '../../../lib/storage';
|
|
4
|
+
export default function (route: Router, auth: Auth, storage: Storage): void;
|
|
@@ -74,4 +74,4 @@ function _default(route, auth, storage) {
|
|
|
74
74
|
});
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWltZSIsIl9taWRkbGV3YXJlIiwiX2NvbnN0YW50cyIsIl9sb2dnZXIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9kZWZhdWx0Iiwicm91dGUiLCJhdXRoIiwic3RvcmFnZSIsImNhbiIsImFsbG93IiwiYmVmb3JlQWxsIiwicGFyYW1zIiwibWVzc2FnZSIsImxvZ2dlciIsInRyYWNlIiwiYWZ0ZXJBbGwiLCJ0YWdfcGFja2FnZV92ZXJzaW9uIiwicmVxIiwicmVzIiwibmV4dCIsIl8iLCJpc1N0cmluZyIsImJvZHkiLCJ0YWdzIiwidGFnIiwibWVyZ2VUYWdzIiwicGFja2FnZSIsImVyciIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiQ1JFQVRFRCIsIm9rIiwiQVBJX01FU1NBR0UiLCJUQUdfQURERUQiLCJwdXQiLCJtZWRpYSIsIm1pbWUiLCJnZXRUeXBlIiwicG9zdCIsImRlbGV0ZSIsIlRBR19SRU1PVkVEIiwiZ2V0IiwiZ2V0UGFja2FnZSIsIm5hbWUiLCJ1cGxpbmtzTG9vayIsImNhbGxiYWNrIiwiaW5mbyIsIkRJU1RfVEFHUyIsIlRBR19VUERBVEVEIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvZGlzdC10YWdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xuXG5pbXBvcnQgeyBhbGxvdywgbWVkaWEgfSBmcm9tICdAdmVyZGFjY2lvL21pZGRsZXdhcmUnO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgQXV0aCBmcm9tICcuLi8uLi8uLi9saWIvYXV0aCc7XG5pbXBvcnQgeyBBUElfTUVTU0FHRSwgRElTVF9UQUdTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgU3RvcmFnZSBmcm9tICcuLi8uLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAocm91dGU6IFJvdXRlciwgYXV0aDogQXV0aCwgc3RvcmFnZTogU3RvcmFnZSk6IHZvaWQge1xuICBjb25zdCBjYW4gPSBhbGxvdyhhdXRoLCB7XG4gICAgYmVmb3JlQWxsOiAocGFyYW1zLCBtZXNzYWdlKSA9PiBsb2dnZXIudHJhY2UocGFyYW1zLCBtZXNzYWdlKSxcbiAgICBhZnRlckFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4gbG9nZ2VyLnRyYWNlKHBhcmFtcywgbWVzc2FnZSksXG4gIH0pO1xuICBjb25zdCB0YWdfcGFja2FnZV92ZXJzaW9uID0gZnVuY3Rpb24gKFxuICAgIHJlcTogJFJlcXVlc3RFeHRlbmQsXG4gICAgcmVzOiAkUmVzcG9uc2VFeHRlbmQsXG4gICAgbmV4dDogJE5leHRGdW5jdGlvblZlclxuICApOiAkTmV4dEZ1bmN0aW9uVmVyIHtcbiAgICBpZiAoXy5pc1N0cmluZyhyZXEuYm9keSkgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gbmV4dCgncm91dGUnKTtcbiAgICB9XG5cbiAgICBjb25zdCB0YWdzID0ge307XG4gICAgdGFnc1tyZXEucGFyYW1zLnRhZ10gPSByZXEuYm9keTtcbiAgICBzdG9yYWdlLm1lcmdlVGFncyhyZXEucGFyYW1zLnBhY2thZ2UsIHRhZ3MsIGZ1bmN0aW9uIChlcnI6IEVycm9yKTogJE5leHRGdW5jdGlvblZlciB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICB9XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuICAgICAgcmV0dXJuIG5leHQoeyBvazogQVBJX01FU1NBR0UuVEFHX0FEREVEIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIC8vIHRhZ2dpbmcgYSBwYWNrYWdlXG4gIHJvdXRlLnB1dCgnLzpwYWNrYWdlLzp0YWcnLCBjYW4oJ3B1Ymxpc2gnKSwgbWVkaWEobWltZS5nZXRUeXBlKCdqc29uJykpLCB0YWdfcGFja2FnZV92ZXJzaW9uKTtcblxuICByb3V0ZS5wb3N0KFxuICAgICcvLS9wYWNrYWdlLzpwYWNrYWdlL2Rpc3QtdGFncy86dGFnJyxcbiAgICBjYW4oJ3B1Ymxpc2gnKSxcbiAgICBtZWRpYShtaW1lLmdldFR5cGUoJ2pzb24nKSksXG4gICAgdGFnX3BhY2thZ2VfdmVyc2lvblxuICApO1xuXG4gIHJvdXRlLnB1dChcbiAgICAnLy0vcGFja2FnZS86cGFja2FnZS9kaXN0LXRhZ3MvOnRhZycsXG4gICAgY2FuKCdwdWJsaXNoJyksXG4gICAgbWVkaWEobWltZS5nZXRUeXBlKCdqc29uJykpLFxuICAgIHRhZ19wYWNrYWdlX3ZlcnNpb25cbiAgKTtcblxuICByb3V0ZS5kZWxldGUoXG4gICAgJy8tL3BhY2thZ2UvOnBhY2thZ2UvZGlzdC10YWdzLzp0YWcnLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgY29uc3QgdGFncyA9IHt9O1xuICAgICAgdGFnc1tyZXEucGFyYW1zLnRhZ10gPSBudWxsO1xuICAgICAgc3RvcmFnZS5tZXJnZVRhZ3MocmVxLnBhcmFtcy5wYWNrYWdlLCB0YWdzLCBmdW5jdGlvbiAoZXJyOiBhbnkpOiAkTmV4dEZ1bmN0aW9uVmVyIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAgIG9rOiBBUElfTUVTU0FHRS5UQUdfUkVNT1ZFRCxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgcm91dGUuZ2V0KFxuICAgICcvLS9wYWNrYWdlLzpwYWNrYWdlL2Rpc3QtdGFncycsXG4gICAgY2FuKCdhY2Nlc3MnKSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICAgIG5hbWU6IHJlcS5wYXJhbXMucGFja2FnZSxcbiAgICAgICAgdXBsaW5rc0xvb2s6IHRydWUsXG4gICAgICAgIHJlcSxcbiAgICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlcnI6IGFueSwgaW5mbzogUGFja2FnZSk6ICROZXh0RnVuY3Rpb25WZXIge1xuICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbmV4dChpbmZvW0RJU1RfVEFHU10pO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHJvdXRlLnBvc3QoXG4gICAgJy8tL3BhY2thZ2UvOnBhY2thZ2UvZGlzdC10YWdzJyxcbiAgICBjYW4oJ3B1Ymxpc2gnKSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIHN0b3JhZ2UubWVyZ2VUYWdzKHJlcS5wYXJhbXMucGFja2FnZSwgcmVxLmJvZHksIGZ1bmN0aW9uIChlcnI6IGFueSk6ICROZXh0RnVuY3Rpb25WZXIge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgfVxuICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgb2s6IEFQSV9NRVNTQUdFLlRBR19VUERBVEVELFxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUUsV0FBQSxHQUFBRixPQUFBO0FBSUEsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksT0FBQSxHQUFBSixPQUFBO0FBQTZDLFNBQUFELHVCQUFBTSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBSTlCLFNBQUFHLFNBQVVDLEtBQWEsRUFBRUMsSUFBVSxFQUFFQyxPQUFnQixFQUFRO0VBQzFFLE1BQU1DLEdBQUcsR0FBRyxJQUFBQyxpQkFBSyxFQUFDSCxJQUFJLEVBQUU7SUFDdEJJLFNBQVMsRUFBRUEsQ0FBQ0MsTUFBTSxFQUFFQyxPQUFPLEtBQUtDLGNBQU0sQ0FBQ0MsS0FBSyxDQUFDSCxNQUFNLEVBQUVDLE9BQU8sQ0FBQztJQUM3REcsUUFBUSxFQUFFQSxDQUFDSixNQUFNLEVBQUVDLE9BQU8sS0FBS0MsY0FBTSxDQUFDQyxLQUFLLENBQUNILE1BQU0sRUFBRUMsT0FBTztFQUM3RCxDQUFDLENBQUM7RUFDRixNQUFNSSxtQkFBbUIsR0FBRyxTQUFBQSxDQUMxQkMsR0FBbUIsRUFDbkJDLEdBQW9CLEVBQ3BCQyxJQUFzQixFQUNKO0lBQ2xCLElBQUlDLGVBQUMsQ0FBQ0MsUUFBUSxDQUFDSixHQUFHLENBQUNLLElBQUksQ0FBQyxLQUFL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
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
2
|
import { Config } from '@verdaccio/types';
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import Auth from '../../../lib/auth';
|
|
4
|
+
import Storage from '../../../lib/storage';
|
|
5
|
+
export default function (route: Router, auth: Auth, storage: Storage, config: Config): void;
|
|
@@ -111,4 +111,4 @@ function _default(route, auth, storage, config) {
|
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl90YXJiYWxsIiwiX2NvbnN0YW50cyIsIl9sb2dnZXIiLCJfdXRpbHMiLCJfc3RyaW5nIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkb3dubG9hZFN0cmVhbSIsInBhY2thZ2VOYW1lIiwiZmlsZW5hbWUiLCJzdG9yYWdlIiwicmVxIiwicmVzIiwic3RyZWFtIiwiZ2V0VGFyYmFsbCIsIm9uIiwiY29udGVudCIsImhlYWRlciIsImVyciIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIkhFQURFUlMiLCJDT05URU5UX1RZUEUiLCJPQ1RFVF9TVFJFQU0iLCJwaXBlIiwicmVkaXJlY3RPckRvd25sb2FkU3RyZWFtIiwiY29uZmlnIiwidGFyYmFsbFVybFJlZGlyZWN0IiwiXyIsImdldCIsImhhc0xvY2FsVGFyYmFsbCIsInRoZW4iLCJjb250ZXh0IiwidGFyYmFsbFVybCIsInRlbXBsYXRlIiwicmVkaXJlY3QiLCJjYXRjaCIsIl9kZWZhdWx0Iiwicm91dGUiLCJhdXRoIiwiY2FuIiwiYWxsb3ciLCJiZWZvcmVBbGwiLCJwYXJhbXMiLCJtZXNzYWdlIiwibG9nZ2VyIiwidHJhY2UiLCJhZnRlckFsbCIsIm5leHQiLCJhYmJyZXZpYXRlZCIsImdldEJ5UXVhbGl0eVByaW9yaXR5VmFsdWUiLCJnZXRQYWNrYWdlTWV0YUNhbGxiYWNrIiwibWV0YWRhdGEiLCJjb252ZXJ0RGlzdFJlbW90ZVRvTG9jYWxUYXJiYWxsVXJscyIsInByb3RvY29sIiwiaGVhZGVycyIsImhvc3QiLCJyZW1vdGVBZGRyZXNzIiwic29ja2V0IiwidXJsX3ByZWZpeCIsInF1ZXJ5VmVyc2lvbiIsInZlcnNpb24iLCJpc05pbCIsInNldEhlYWRlciIsIkpTT04iLCJnZXRWZXJzaW9uIiwiRElTVF9UQUdTIiwiRXJyb3JDb2RlIiwiZ2V0Tm90Rm91bmQiLCJBUElfRVJST1IiLCJWRVJTSU9OX05PVF9FWElTVCIsImdldFBhY2thZ2UiLCJuYW1lIiwicGFja2FnZSIsInVwbGlua3NMb29rIiwiY2FsbGJhY2siLCJzY29wZWRQYWNrYWdlIiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvcGFja2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IGFsbG93IH0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB7IGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzIH0gZnJvbSAnQHZlcmRhY2Npby90YXJiYWxsJztcbmltcG9ydCB7IENvbmZpZywgUGFja2FnZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgeyBBUElfRVJST1IsIERJU1RfVEFHUywgSEVBREVSUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBFcnJvckNvZGUsIGdldFZlcnNpb24gfSBmcm9tICcuLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHtcbiAgJE5leHRGdW5jdGlvblZlcixcbiAgJFJlcXVlc3RFeHRlbmQsXG4gICRSZXNwb25zZUV4dGVuZCxcbiAgSUF1dGgsXG4gIElTdG9yYWdlSGFuZGxlcixcbn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0QnlRdWFsaXR5UHJpb3JpdHlWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3N0cmluZyc7XG5cbmNvbnN0IGRvd25sb2FkU3RyZWFtID0gKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBzdG9yYWdlOiBhbnksXG4gIHJlcTogJFJlcXVlc3RFeHRlbmQsXG4gIHJlczogJFJlc3BvbnNlRXh0ZW5kXG4pOiB2b2lkID0+IHtcbiAgY29uc3Qgc3RyZWFtID0gc3RvcmFnZS5nZXRUYXJiYWxsKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSk7XG5cbiAgc3RyZWFtLm9uKCdjb250ZW50LWxlbmd0aCcsIGZ1bmN0aW9uIChjb250ZW50KTogdm9pZCB7XG4gICAgcmVzLmhlYWRlcignQ29udGVudC1MZW5ndGgnLCBjb250ZW50KTtcbiAgfSk7XG5cbiAgc3RyZWFtLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpOiB2b2lkIHtcbiAgICByZXR1cm4gcmVzLmxvY2Fscy5yZXBvcnRfZXJyb3IoZXJyKTtcbiAgfSk7XG5cbiAgcmVzLmhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5PQ1RFVF9TVFJFQU0pO1xuICBzdHJlYW0ucGlwZShyZXMpO1xufTtcblxuY29uc3QgcmVkaXJlY3RPckRvd25sb2FkU3RyZWFtID0gKFxuICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBzdG9yYWdlOiBhbnksXG4gIHJlcTogJFJlcXVlc3RFeHRlbmQsXG4gIHJlczogJFJlc3BvbnNlRXh0ZW5kLFxuICBjb25maWc6IENvbmZpZ1xuKTogdm9pZCA9PiB7XG4gIGNvbnN0IHRhcmJhbGxVcmxSZWRpcmVjdCA9IF8uZ2V0KGNvbmZpZywgJ2V4cGVyaW1lbnRzLnRhcmJhbGxfdXJsX3JlZGlyZWN0Jyk7XG4gIHN0b3JhZ2VcbiAgICAuaGFzTG9jYWxUYXJiYWxsKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSlcbiAgICAudGhlbigoaGFzTG9jYWxUYXJiYWxsKSA9PiB7XG4gICAgICBpZiAoaGFzTG9jYWxUYXJiYWxsKSB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7IHBhY2thZ2VOYW1lLCBmaWxlbmFtZSB9O1xuICAgICAgICBjb25zdCB0YXJiYWxsVXJsID1cbiAgICAgICAgICB0eXBlb2YgdGFyYmFsbFVybFJlZGlyZWN0ID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IHRhcmJhbGxVcmxSZWRpcmVjdChjb250ZXh0KVxuICAgICAgICAgICAgOiBfLnRlbXBsYXRlKHRhcmJhbGxVcmxSZWRpcmVjdCkoY29udGV4dCk7XG4gICAgICAgIHJlcy5yZWRpcmVjdCh0YXJiYWxsVXJsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRvd25sb2FkU3RyZWFtKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgICAgfVxuICAgIH0pXG4gICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoXG4gIHJvdXRlOiBSb3V0ZXIsXG4gIGF1dGg6IElBdXRoLFxuICBzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIsXG4gIGNvbmZpZzogQ29uZmlnXG4pOiB2b2lkIHtcbiAgY29uc3QgY2FuID0gYWxsb3coYXV0aCwge1xuICAgIGJlZm9yZUFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4gbG9nZ2VyLnRyYWNlKHBhcmFtcywgbWVzc2FnZSksXG4gICAgYWZ0ZXJBbGw6IChwYXJhbXMsIG1lc3NhZ2UpID0+IGxvZ2dlci50cmFjZShwYXJhbXMsIG1lc3NhZ2UpLFxuICB9KTtcbiAgLy8gVE9ETzogYW5vbnltb3VzIHVzZXI/XG4gIHJvdXRlLmdldChcbiAgICAnLzpwYWNrYWdlLzp2ZXJzaW9uPycsXG4gICAgY2FuKCdhY2Nlc3MnKSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IGFiYnJldmlhdGVkID1cbiAgICAgICAgZ2V0QnlRdWFsaXR5UHJpb3JpdHlWYWx1ZShyZXEuZ2V0KCdBY2NlcHQnKSkgPT09ICdhcHBsaWNhdGlvbi92bmQubnBtLmluc3RhbGwtdjEranNvbic7XG4gICAgICBjb25zdCBnZXRQYWNrYWdlTWV0YUNhbGxiYWNrID0gZnVuY3Rpb24gKGVyciwgbWV0YWRhdGE6IFBhY2thZ2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgbWV0YWRhdGEgPSBjb252ZXJ0RGlzdFJlbW90ZVRvTG9jYWxUYXJiYWxsVXJscyhcbiAgICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm90b2NvbDogcmVxLnByb3RvY29sLFxuICAgICAgICAgICAgaGVhZGVyczogcmVxLmhlYWRlcnMgYXMgYW55LFxuICAgICAgICAgICAgaG9zdDogcmVxLmhvc3QsXG4gICAgICAgICAgICByZW1vdGVBZGRyZXNzOiByZXEuc29ja2V0LnJlbW90ZUFkZHJlc3MsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb25maWcudXJsX3ByZWZpeFxuICAgICAgICApO1xuXG4gICAgICAgIGxldCBxdWVyeVZlcnNpb24gPSByZXEucGFyYW1zLnZlcnNpb247XG4gICAgICAgIGlmIChfLmlzTmlsKHF1ZXJ5VmVyc2lvbikpIHtcbiAgICAgICAgICBpZiAoYWJicmV2aWF0ZWQpIHtcbiAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoSEVBREVSUy5DT05URU5UX1RZUEUsICdhcHBsaWNhdGlvbi92bmQubnBtLmluc3RhbGwtdjEranNvbicpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXMuc2V0SGVhZGVyKEhFQURFUlMuQ09OVEVOVF9UWVBFLCBIRUFERVJTLkpTT04pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXh0KG1ldGFkYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB2ZXJzaW9uID0gZ2V0VmVyc2lvbihtZXRhZGF0YSwgcXVlcnlWZXJzaW9uKTtcbiAgICAgICAgaWYgKF8uaXNOaWwodmVyc2lvbikgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmVzLnNldEhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OKTtcbiAgICAgICAgICByZXR1cm4gbmV4dCh2ZXJzaW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChfLmlzTmlsKG1ldGFkYXRhW0RJU1RfVEFHU10pID09PSBmYWxzZSkge1xuICAgICAgICAgIGlmIChfLmlzTmlsKG1ldGFkYXRhW0RJU1RfVEFHU11bcXVlcnlWZXJzaW9uXSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBxdWVyeVZlcnNpb24gPSBtZXRhZGF0YVtESVNUX1RBR1NdW3F1ZXJ5VmVyc2lvbl07XG4gICAgICAgICAgICB2ZXJzaW9uID0gZ2V0VmVyc2lvbihtZXRhZGF0YSwgcXVlcnlWZXJzaW9uKTtcbiAgICAgICAgICAgIGlmIChfLmlzTmlsKHZlcnNpb24pID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICByZXMuc2V0SGVhZGVyKEhFQURFUlMuQ09OVEVOVF9UWVBFLCBIRUFERVJTLkpTT04pO1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dCh2ZXJzaW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldE5vdEZvdW5kKGAke0FQSV9FUlJPUi5WRVJTSU9OX05PVF9FWElTVH06ICR7cmVxLnBhcmFtcy52ZXJzaW9ufWApKTtcbiAgICAgIH07XG5cbiAgICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICAgIG5hbWU6IHJlcS5wYXJhbXMucGFja2FnZSxcbiAgICAgICAgdXBsaW5rc0xvb2s6IHRydWUsXG4gICAgICAgIHJlcSxcbiAgICAgICAgYWJicmV2aWF0ZWQsXG4gICAgICAgIGNhbGxiYWNrOiBnZXRQYWNrYWdlTWV0YUNhbGxiYWNrLFxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHJvdXRlLmdldChcbiAgICAnLzpzY29wZWRQYWNrYWdlLy0vOnNjb3BlLzpmaWxlbmFtZScsXG4gICAgY2FuKCdhY2Nlc3MnKSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHsgc2NvcGVkUGFja2FnZSwgZmlsZW5hbWUgfSA9IHJlcS5wYXJhbXM7XG4gICAgICBpZiAoXy5nZXQoY29uZmlnLCAnZXhwZXJpbWVudHMudGFyYmFsbF91cmxfcmVkaXJlY3QnKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRvd25sb2FkU3RyZWFtKHNjb3BlZFBhY2thZ2UsIGZpbGVuYW1lLCBzdG9yYWdlLCByZXEsIHJlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWRpcmVjdE9yRG93bmxvYWRTdHJlYW0oc2NvcGVkUGFja2FnZSwgZmlsZW5hbWUsIHN0b3JhZ2UsIHJlcSwgcmVzLCBjb25maWcpO1xuICAgICAgfVxuICAgIH1cbiAgKTtcblxuICByb3V0ZS5nZXQoXG4gICAgJy86cGFja2FnZS8tLzpmaWxlbmFtZScsXG4gICAgY2FuKCdhY2Nlc3MnKSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQpOiB2b2lkIHtcbiAgICAgIGlmIChfLmdldChjb25maWcsICdleHBlcmltZW50cy50YXJiYWxsX3VybF9yZWRpcmVjdCcpID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZG93bmxvYWRTdHJlYW0ocmVxLnBhcmFtcy5wYWNrYWdlLCByZXEucGFyYW1zLmZpbGVuYW1lLCBzdG9yYWdlLCByZXEsIHJlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWRpcmVjdE9yRG93bmxvYWRTdHJlYW0oXG4gICAgICAgICAgcmVxLnBhcmFtcy5wYWNrYWdlLFxuICAgICAgICAgIHJlcS5wYXJhbXMuZmlsZW5hbWUsXG4gICAgICAgICAgc3RvcmFnZSxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAg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
|
|
114
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWlkZGxld2FyZSIsIl90YXJiYWxsIiwiX2NvbnN0YW50cyIsIl9sb2dnZXIiLCJfdXRpbHMiLCJfc3RyaW5nIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJkb3dubG9hZFN0cmVhbSIsInBhY2thZ2VOYW1lIiwiZmlsZW5hbWUiLCJzdG9yYWdlIiwicmVxIiwicmVzIiwic3RyZWFtIiwiZ2V0VGFyYmFsbCIsIm9uIiwiY29udGVudCIsImhlYWRlciIsImVyciIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIkhFQURFUlMiLCJDT05URU5UX1RZUEUiLCJPQ1RFVF9TVFJFQU0iLCJwaXBlIiwicmVkaXJlY3RPckRvd25sb2FkU3RyZWFtIiwiY29uZmlnIiwidGFyYmFsbFVybFJlZGlyZWN0IiwiXyIsImdldCIsImhhc0xvY2FsVGFyYmFsbCIsInRoZW4iLCJjb250ZXh0IiwidGFyYmFsbFVybCIsInRlbXBsYXRlIiwicmVkaXJlY3QiLCJjYXRjaCIsIl9kZWZhdWx0Iiwicm91dGUiLCJhdXRoIiwiY2FuIiwiYWxsb3ciLCJiZWZvcmVBbGwiLCJwYXJhbXMiLCJtZXNzYWdlIiwibG9nZ2VyIiwidHJhY2UiLCJhZnRlckFsbCIsIm5leHQiLCJhYmJyZXZpYXRlZCIsImdldEJ5UXVhbGl0eVByaW9yaXR5VmFsdWUiLCJnZXRQYWNrYWdlTWV0YUNhbGxiYWNrIiwibWV0YWRhdGEiLCJjb252ZXJ0RGlzdFJlbW90ZVRvTG9jYWxUYXJiYWxsVXJscyIsInByb3RvY29sIiwiaGVhZGVycyIsImhvc3QiLCJyZW1vdGVBZGRyZXNzIiwic29ja2V0IiwidXJsX3ByZWZpeCIsInF1ZXJ5VmVyc2lvbiIsInZlcnNpb24iLCJpc05pbCIsInNldEhlYWRlciIsIkpTT04iLCJnZXRWZXJzaW9uIiwiRElTVF9UQUdTIiwiRXJyb3JDb2RlIiwiZ2V0Tm90Rm91bmQiLCJBUElfRVJST1IiLCJWRVJTSU9OX05PVF9FWElTVCIsImdldFBhY2thZ2UiLCJuYW1lIiwicGFja2FnZSIsInVwbGlua3NMb29rIiwiY2FsbGJhY2siLCJzY29wZWRQYWNrYWdlIiwidW5kZWZpbmVkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvcGFja2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IGFsbG93IH0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB7IGNvbnZlcnREaXN0UmVtb3RlVG9Mb2NhbFRhcmJhbGxVcmxzIH0gZnJvbSAnQHZlcmRhY2Npby90YXJiYWxsJztcbmltcG9ydCB7IENvbmZpZywgUGFja2FnZSB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5pbXBvcnQgQXV0aCBmcm9tICcuLi8uLi8uLi9saWIvYXV0aCc7XG5pbXBvcnQgeyBBUElfRVJST1IsIERJU1RfVEFHUywgSEVBREVSUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgU3RvcmFnZSBmcm9tICcuLi8uLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgeyBFcnJvckNvZGUsIGdldFZlcnNpb24gfSBmcm9tICcuLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsICRSZXNwb25zZUV4dGVuZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGdldEJ5UXVhbGl0eVByaW9yaXR5VmFsdWUgfSBmcm9tICcuLi8uLi8uLi91dGlscy9zdHJpbmcnO1xuXG5jb25zdCBkb3dubG9hZFN0cmVhbSA9IChcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgc3RvcmFnZTogYW55LFxuICByZXE6ICRSZXF1ZXN0RXh0ZW5kLFxuICByZXM6ICRSZXNwb25zZUV4dGVuZFxuKTogdm9pZCA9PiB7XG4gIGNvbnN0IHN0cmVhbSA9IHN0b3JhZ2UuZ2V0VGFyYmFsbChwYWNrYWdlTmFtZSwgZmlsZW5hbWUpO1xuXG4gIHN0cmVhbS5vbignY29udGVudC1sZW5ndGgnLCBmdW5jdGlvbiAoY29udGVudCk6IHZvaWQge1xuICAgIHJlcy5oZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoJywgY29udGVudCk7XG4gIH0pO1xuXG4gIHN0cmVhbS5vbignZXJyb3InLCBmdW5jdGlvbiAoZXJyKTogdm9pZCB7XG4gICAgcmV0dXJuIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gIH0pO1xuXG4gIHJlcy5oZWFkZXIoSEVBREVSUy5DT05URU5UX1RZUEUsIEhFQURFUlMuT0NURVRfU1RSRUFNKTtcbiAgc3RyZWFtLnBpcGUocmVzKTtcbn07XG5cbmNvbnN0IHJlZGlyZWN0T3JEb3dubG9hZFN0cmVhbSA9IChcbiAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgc3RvcmFnZTogYW55LFxuICByZXE6ICRSZXF1ZXN0RXh0ZW5kLFxuICByZXM6ICRSZXNwb25zZUV4dGVuZCxcbiAgY29uZmlnOiBDb25maWdcbik6IHZvaWQgPT4ge1xuICBjb25zdCB0YXJiYWxsVXJsUmVkaXJlY3QgPSBfLmdldChjb25maWcsICdleHBlcmltZW50cy50YXJiYWxsX3VybF9yZWRpcmVjdCcpO1xuICBzdG9yYWdlXG4gICAgLmhhc0xvY2FsVGFyYmFsbChwYWNrYWdlTmFtZSwgZmlsZW5hbWUpXG4gICAgLnRoZW4oKGhhc0xvY2FsVGFyYmFsbCkgPT4ge1xuICAgICAgaWYgKGhhc0xvY2FsVGFyYmFsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0geyBwYWNrYWdlTmFtZSwgZmlsZW5hbWUgfTtcbiAgICAgICAgY29uc3QgdGFyYmFsbFVybCA9XG4gICAgICAgICAgdHlwZW9mIHRhcmJhbGxVcmxSZWRpcmVjdCA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyB0YXJiYWxsVXJsUmVkaXJlY3QoY29udGV4dClcbiAgICAgICAgICAgIDogXy50ZW1wbGF0ZSh0YXJiYWxsVXJsUmVkaXJlY3QpKGNvbnRleHQpO1xuICAgICAgICByZXMucmVkaXJlY3QodGFyYmFsbFVybCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkb3dubG9hZFN0cmVhbShwYWNrYWdlTmFtZSwgZmlsZW5hbWUsIHN0b3JhZ2UsIHJlcSwgcmVzKTtcbiAgICAgIH1cbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICByZXMubG9jYWxzLnJlcG9ydF9lcnJvcihlcnIpO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHJvdXRlOiBSb3V0ZXIsIGF1dGg6IEF1dGgsIHN0b3JhZ2U6IFN0b3JhZ2UsIGNvbmZpZzogQ29uZmlnKTogdm9pZCB7XG4gIGNvbnN0IGNhbiA9IGFsbG93KGF1dGgsIHtcbiAgICBiZWZvcmVBbGw6IChwYXJhbXMsIG1lc3NhZ2UpID0+IGxvZ2dlci50cmFjZShwYXJhbXMsIG1lc3NhZ2UpLFxuICAgIGFmdGVyQWxsOiAocGFyYW1zLCBtZXNzYWdlKSA9PiBsb2dnZXIudHJhY2UocGFyYW1zLCBtZXNzYWdlKSxcbiAgfSk7XG4gIC8vIFRPRE86IGFub255bW91cyB1c2VyP1xuICByb3V0ZS5nZXQoXG4gICAgJy86cGFja2FnZS86dmVyc2lvbj8nLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICBjb25zdCBhYmJyZXZpYXRlZCA9XG4gICAgICAgIGdldEJ5UXVhbGl0eVByaW9yaXR5VmFsdWUocmVxLmdldCgnQWNjZXB0JykpID09PSAnYXBwbGljYXRpb24vdm5kLm5wbS5pbnN0YWxsLXYxK2pzb24nO1xuICAgICAgY29uc3QgZ2V0UGFja2FnZU1ldGFDYWxsYmFjayA9IGZ1bmN0aW9uIChlcnIsIG1ldGFkYXRhOiBQYWNrYWdlKTogdm9pZCB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgICB9XG4gICAgICAgIG1ldGFkYXRhID0gY29udmVydERpc3RSZW1vdGVUb0xvY2FsVGFyYmFsbFVybHMoXG4gICAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdG9jb2w6IHJlcS5wcm90b2NvbCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHJlcS5oZWFkZXJzIGFzIGFueSxcbiAgICAgICAgICAgIGhvc3Q6IHJlcS5ob3N0LFxuICAgICAgICAgICAgcmVtb3RlQWRkcmVzczogcmVxLnNvY2tldC5yZW1vdGVBZGRyZXNzLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY29uZmlnLnVybF9wcmVmaXhcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgcXVlcnlWZXJzaW9uID0gcmVxLnBhcmFtcy52ZXJzaW9uO1xuICAgICAgICBpZiAoXy5pc05pbChxdWVyeVZlcnNpb24pKSB7XG4gICAgICAgICAgaWYgKGFiYnJldmlhdGVkKSB7XG4gICAgICAgICAgICByZXMuc2V0SGVhZGVyKEhFQURFUlMuQ09OVEVOVF9UWVBFLCAnYXBwbGljYXRpb24vdm5kLm5wbS5pbnN0YWxsLXYxK2pzb24nKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzLnNldEhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbmV4dChtZXRhZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgdmVyc2lvbiA9IGdldFZlcnNpb24obWV0YWRhdGEsIHF1ZXJ5VmVyc2lvbik7XG4gICAgICAgIGlmIChfLmlzTmlsKHZlcnNpb24pID09PSBmYWxzZSkge1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoSEVBREVSUy5DT05URU5UX1RZUEUsIEhFQURFUlMuSlNPTik7XG4gICAgICAgICAgcmV0dXJuIG5leHQodmVyc2lvbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXy5pc05pbChtZXRhZGF0YVtESVNUX1RBR1NdKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICBpZiAoXy5pc05pbChtZXRhZGF0YVtESVNUX1RBR1NdW3F1ZXJ5VmVyc2lvbl0pID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcXVlcnlWZXJzaW9uID0gbWV0YWRhdGFbRElTVF9UQUdTXVtxdWVyeVZlcnNpb25dO1xuICAgICAgICAgICAgdmVyc2lvbiA9IGdldFZlcnNpb24obWV0YWRhdGEsIHF1ZXJ5VmVyc2lvbik7XG4gICAgICAgICAgICBpZiAoXy5pc05pbCh2ZXJzaW9uKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgcmVzLnNldEhlYWRlcihIRUFERVJTLkNPTlRFTlRfVFlQRSwgSEVBREVSUy5KU09OKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQodmVyc2lvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXROb3RGb3VuZChgJHtBUElfRVJST1IuVkVSU0lPTl9OT1RfRVhJU1R9OiAke3JlcS5wYXJhbXMudmVyc2lvbn1gKSk7XG4gICAgICB9O1xuXG4gICAgICBzdG9yYWdlLmdldFBhY2thZ2Uoe1xuICAgICAgICBuYW1lOiByZXEucGFyYW1zLnBhY2thZ2UsXG4gICAgICAgIHVwbGlua3NMb29rOiB0cnVlLFxuICAgICAgICByZXEsXG4gICAgICAgIGFiYnJldmlhdGVkLFxuICAgICAgICBjYWxsYmFjazogZ2V0UGFja2FnZU1ldGFDYWxsYmFjayxcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICByb3V0ZS5nZXQoXG4gICAgJy86c2NvcGVkUGFja2FnZS8tLzpzY29wZS86ZmlsZW5hbWUnLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kKTogdm9pZCB7XG4gICAgICBjb25zdCB7IHNjb3BlZFBhY2thZ2UsIGZpbGVuYW1lIH0gPSByZXEucGFyYW1zO1xuICAgICAgaWYgKF8uZ2V0KGNvbmZpZywgJ2V4cGVyaW1lbnRzLnRhcmJhbGxfdXJsX3JlZGlyZWN0JykgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkb3dubG9hZFN0cmVhbShzY29wZWRQYWNrYWdlLCBmaWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVkaXJlY3RPckRvd25sb2FkU3RyZWFtKHNjb3BlZFBhY2thZ2UsIGZpbGVuYW1lLCBzdG9yYWdlLCByZXEsIHJlcywgY29uZmlnKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG5cbiAgcm91dGUuZ2V0KFxuICAgICcvOnBhY2thZ2UvLS86ZmlsZW5hbWUnLFxuICAgIGNhbignYWNjZXNzJyksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kKTogdm9pZCB7XG4gICAgICBpZiAoXy5nZXQoY29uZmlnLCAnZXhwZXJpbWVudHMudGFyYmFsbF91cmxfcmVkaXJlY3QnKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRvd25sb2FkU3RyZWFtKHJlcS5wYXJhbXMucGFja2FnZSwgcmVxLnBhcmFtcy5maWxlbmFtZSwgc3RvcmFnZSwgcmVxLCByZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVkaXJlY3RPckRvd25sb2FkU3RyZWFtKFxuICAgICAgICAgIHJlcS5wYXJhbXMucGFja2FnZSxcbiAgICAgICAgICByZXEucGFyYW1zLmZpbGVuYW1lLFxuICAgICAgICAgIHN0b3JhZ2UsXG4gICAgICAgICAgcmVxLFxuICAgICAgICAgIHJlcyxcbiAgICAgICAgICBjb25maWdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFFBQUEsR0FBQUYsT0FBQTtBQUlBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUVBLElBQUFNLE9BQUEsR0FBQU4sT0FBQTtBQUFrRSxTQUFBRCx1QkFBQVEsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUVsRSxNQUFNRyxjQUFjLEdBQUdBLENBQ3JCQyxXQUFtQixFQUNuQkMsUUFBZ0IsRUFDaEJDLE9BQVksRUFDWkMsR0FBbUIsRUFDbkJDLEdBQW9CLEtBQ1g7RUFDVCxNQUFNQyxNQUFNLEdBQUdILE9BQU8sQ0FBQ0ksVUFBVSxDQUFDTixXQUFXLEVBQUVDLFFBQVEsQ0FBQztFQUV4REksTUFBTSxDQUFDRSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsVUFBVUMsT0FBTyxFQUFRO0lBQ25ESixHQUFHLENBQUNLLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRUQsT0FBTyxDQUFDO0VBQ3ZDLENBQUMsQ0FBQztFQUVGSCxNQUFNLENBQUNFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVUcsR0FBRyxFQUFRO0lBQ3RDLE9BQU9OLEdBQUcsQ0FBQ08sTUFBTSxDQUFDQyxZQUFZLENBQUNGLEdBQUcsQ0FBQztFQUNyQyxDQUFDLENBQUM7RUFFRk4sR0FBRyxDQUFDSyxNQUFNLENBQUNJLGtCQUFPLENBQUNDLFlBQVksRUFBRUQsa0JBQU8sQ0FBQ0UsWUFBWSxDQUFDO0VBQ3REVixNQUFNLENBQUNXLElBQUksQ0FBQ1osR0FB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
|
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
2
|
import { Config } from '@verdaccio/types';
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import Auth from '../../../lib/auth';
|
|
4
|
+
import Storage from '../../../lib/storage';
|
|
5
|
+
import { $NextFunctionVer, $RequestExtend, $ResponseExtend } from '../../../types';
|
|
6
|
+
export default function publish(router: Router, auth: Auth, storage: Storage, config: Config): void;
|
|
5
7
|
/**
|
|
6
8
|
* Publish a package
|
|
7
9
|
*/
|
|
8
|
-
export declare function publishPackage(storage:
|
|
10
|
+
export declare function publishPackage(storage: Storage, config: Config, auth: Auth): any;
|
|
9
11
|
/**
|
|
10
12
|
* un-publish a package
|
|
11
13
|
*/
|
|
12
|
-
export declare function unPublishPackage(storage:
|
|
14
|
+
export declare function unPublishPackage(storage: Storage): (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) => void;
|
|
13
15
|
/**
|
|
14
16
|
* Delete tarball
|
|
15
17
|
*/
|
|
16
|
-
export declare function removeTarball(storage:
|
|
18
|
+
export declare function removeTarball(storage: Storage): (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) => void;
|
|
17
19
|
/**
|
|
18
20
|
* Adds a new version
|
|
19
21
|
*/
|
|
20
|
-
export declare function addVersion(storage:
|
|
22
|
+
export declare function addVersion(storage: Storage): (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) => void;
|
|
21
23
|
/**
|
|
22
24
|
* uploadPackageTarball
|
|
23
25
|
*/
|
|
24
|
-
export declare function uploadPackageTarball(storage:
|
|
26
|
+
export declare function uploadPackageTarball(storage: Storage): (req: $RequestExtend, res: $ResponseExtend, next: $NextFunctionVer) => void;
|
|
@@ -355,4 +355,4 @@ function uploadPackageTarball(storage) {
|
|
|
355
355
|
});
|
|
356
356
|
};
|
|
357
357
|
}
|
|
358
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfbWltZSIsIl9wYXRoIiwiX2NvcmUiLCJfbWlkZGxld2FyZSIsIl9jb25zdGFudHMiLCJfbG9nZ2VyIiwiX25vdGlmeSIsIl9zdG9yYWdlVXRpbHMiLCJfdXRpbHMiLCJfc3RhciIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJkZWJ1ZyIsImJ1aWxkRGVidWciLCJwdWJsaXNoIiwicm91dGVyIiwiYXV0aCIsInN0b3JhZ2UiLCJjb25maWciLCJjYW4iLCJhbGxvdyIsImJlZm9yZUFsbCIsInBhcmFtcyIsIm1lc3NhZ2UiLCJsb2dnZXIiLCJ0cmFjZSIsImFmdGVyQWxsIiwicHV0IiwibWVkaWEiLCJtaW1lIiwiZ2V0VHlwZSIsImV4cGVjdEpzb24iLCJwdWJsaXNoUGFja2FnZSIsImRlbGV0ZSIsInVuUHVibGlzaFBhY2thZ2UiLCJyZW1vdmVUYXJiYWxsIiwiSEVBREVSUyIsIk9DVEVUX1NUUkVBTSIsInVwbG9hZFBhY2thZ2VUYXJiYWxsIiwiYWRkVmVyc2lvbiIsInN0YXJBcGkiLCJzdGFyIiwicmVxIiwibmV4dCIsInBhY2thZ2VOYW1lIiwicGFja2FnZSIsImNyZWF0ZVRhcmJhbGwiLCJmaWxlbmFtZSIsImRhdGEiLCJjYiIsInN0cmVhbSIsImFkZFRhcmJhbGwiLCJvbiIsImVyciIsImVuZCIsIkJ1ZmZlciIsImZyb20iLCJkb25lIiwiY3JlYXRlVmVyc2lvbiIsInZlcnNpb24iLCJtZXRhZGF0YSIsImFkZFRhZ3MiLCJ0YWdzIiwibWVyZ2VUYWdzIiwiYWZ0ZXJDaGFuZ2UiLCJlcnJvciIsIm9rTWVzc2FnZSIsIm1ldGFkYXRhQ29weSIsIl9hdHRhY2htZW50cyIsInZlcnNpb25zIiwiXyIsImlzTmlsIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiQ1JFQVRFRCIsIm9rIiwic3VjY2VzcyIsImlzSW52YWxpZEJvZHlGb3JtYXQiLCJpc09iamVjdCIsImhhc0RpZmZPbmVLZXkiLCJpbmZvIiwiRXJyb3JDb2RlIiwiZ2V0QmFkUmVxdWVzdCIsIkFQSV9FUlJPUiIsIlVOU1VQT1JURURfUkVHSVNUUllfQ0FMTCIsIkNPTkZMSUNUIiwiZmlyc3RBdHRhY2htZW50S2V5IiwiUGF0aCIsImJhc2VuYW1lIiwidmVyc2lvblRvUHVibGlzaCIsInZlcnNpb25NZXRhZGF0YVRvUHVibGlzaCIsInJlYWRtZSIsIkRJU1RfVEFHUyIsIm5vdGlmeSIsInJlbW90ZV91c2VyIiwibmFtZSIsImlzUHVibGlzaGFibGVQYWNrYWdlIiwiYm9keSIsInVzZXJzIiwidmFsaWRhdGlvVXRpbHMiLCJub3JtYWxpemVNZXRhZGF0YSIsIl9yZXYiLCJpc1JlbGF0ZWRUb0RlcHJlY2F0aW9uIiwiaXNFbXB0eSIsInJlbW90ZSIsImFsbG93X3VucHVibGlzaCIsImNoYW5nZVBhY2thZ2UiLCJyZXZpc2lvbiIsIkFQSV9NRVNTQUdFIiwiUEtHX0NIQU5HRUQiLCJhZGRQYWNrYWdlIiwiUEtHX0NSRUFURUQiLCJnZXRCYWREYXRhIiwiQkFEX1BBQ0tBR0VfREFUQSIsInJlbW92ZVBhY2thZ2UiLCJQS0dfUkVNT1ZFRCIsIlRBUkJBTExfUkVNT1ZFRCIsInRhZyIsIlBLR19QVUJMSVNIRUQiLCJwaXBlIiwiY29tcGxldGUiLCJhYm9ydCIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIlRBUkJBTExfVVBMT0FERUQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS9wdWJsaXNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xuaW1wb3J0IFBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IHZhbGlkYXRpb1V0aWxzIH0gZnJvbSAnQHZlcmRhY2Npby9jb3JlJztcbmltcG9ydCB7IGFsbG93LCBleHBlY3RKc29uLCBtZWRpYSB9IGZyb20gJ0B2ZXJkYWNjaW8vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBDYWxsYmFjaywgQ29uZmlnLCBNZXJnZVRhZ3MsIFBhY2thZ2UsIFZlcnNpb24gfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IHsgQVBJX0VSUk9SLCBBUElfTUVTU0FHRSwgRElTVF9UQUdTLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBub3RpZnkgfSBmcm9tICcuLi8uLi8uLi9saWIvbm90aWZ5JztcbmltcG9ydCB7IGlzUHVibGlzaGFibGVQYWNrYWdlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3N0b3JhZ2UtdXRpbHMnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBoYXNEaWZmT25lS2V5LCBpc09iamVjdCwgaXNSZWxhdGVkVG9EZXByZWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQge1xuICAkTmV4dEZ1bmN0aW9uVmVyLFxuICAkUmVxdWVzdEV4dGVuZCxcbiAgJFJlc3BvbnNlRXh0ZW5kLFxuICBJQXV0aCxcbiAgSVN0b3JhZ2VIYW5kbGVyLFxufSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgc3RhciBmcm9tICcuL3N0YXInO1xuXG5jb25zdCBkZWJ1ZyA9IGJ1aWxkRGVidWcoJ3ZlcmRhY2NpbzpwdWJsaXNoJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHB1Ymxpc2goXG4gIHJvdXRlcjogUm91dGVyLFxuICBhdXRoOiBJQXV0aCxcbiAgc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyLFxuICBjb25maWc6IENvbmZpZ1xuKTogdm9pZCB7XG4gIGNvbnN0IGNhbiA9IGFsbG93KGF1dGgsIHtcbiAgICBiZWZvcmVBbGw6IChwYXJhbXMsIG1lc3NhZ2UpID0+IGxvZ2dlci50cmFjZShwYXJhbXMsIG1lc3NhZ2UpLFxuICAgIGFmdGVyQWxsOiAocGFyYW1zLCBtZXNzYWdlKSA9PiBsb2dnZXIudHJhY2UocGFyYW1zLCBtZXNzYWdlKSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2ggYSBwYWNrYWdlIC8gdXBkYXRlIHBhY2thZ2UgLyB1bi9zdGFydCBhIHBhY2thZ2VcbiAgICpcbiAgICogVGhlcmUgYXJlIG11bHRpcGxlcyBzY2VuYXJpb3MgaGVyZSB0byBiZSBjb25zaWRlcmVkOlxuICAgKlxuICAgKiAxLiBQdWJsaXNoIHNjZW5hcmlvXG4gICAqXG4gICAqIFB1Ymxpc2ggYSBwYWNrYWdlIGNvbnNpc3Qgb2YgYXQgbGVhc3QgMSBzdGVwIChQVVQpIHdpdGggYSBtZXRhZGF0YSBwYXlsb2FkLlxuICAgKiBXaGVuIGEgcGFja2FnZSBpcyBwdWJsaXNoZWQsIGFuIF9hdHRhY2htZW50IHByb3BlcnR5IGlzIHByZXNlbnQgdGhhdCBjb250YWlucyB0aGUgZGF0YVxuICAgKiBvZiB0aGUgdGFyYmFsbC5cbiAgICpcbiAgICogRXhhbXBsZSBmbG93IG9mIHB1Ymxpc2guXG4gICAqXG4gICAqICBucG0gaHR0cCBmZXRjaCBQVVQgMjAxIGh0dHA6Ly9sb2NhbGhvc3Q6NDg3My9Ac2NvcGUlMmZ0ZXN0MSA5NjI3bXNcbiAgICAgIG5wbSBpbmZvIGxpZmVjeWNsZSBAc2NvcGUvdGVzdDFAMS4wLjF+cHVibGlzaDogQHNjb3BlL3Rlc3QxQDEuMC4xXG4gICAgICBucG0gaW5mbyBsaWZlY3ljbGUgQHNjb3BlL3Rlc3QxQDEuMC4xfnBvc3RwdWJsaXNoOiBAc2NvcGUvdGVzdDFAMS4wLjFcbiAgICAgICsgQHNjb3BlL3Rlc3QxQDEuMC4xXG4gICAgICBucG0gdmVyYiBleGl0IFsgMCwgdHJ1ZSBdXG4gICAqXG4gICAqXG4gICAqIDIuIFVucHVibGlzaCBzY2VuYXJpb1xuICAgKlxuICAgKiBVbnB1Ymxpc2ggY29uc2lzdCBpbiAzIHN0ZXBzLlxuICAgKiAgMS4gVHJ5IHRvIGZldGNoICBtZXRhZGF0YSAtPiBpZiBpdCBmYWlscywgcmV0dXJuIDQwNFxuICAgKiAgMi4gQ29tcHV0ZSBtZXRhZGF0YSBsb2NhbGx5IChjbGllbnQgc2lkZSkgYW5kIHNlbmQgYSBtdXRhdGUgcGF5bG9hZCBleGNsdWRpbmcgdGhlIHZlcnNpb24gdG8gYmUgdW5wdWJsaXNoZWRcbiAgICogICAgZWc6IGlmIG1ldGFkYXRhIHJlZmxlY3RzIDEuMC4xLCAxLjAuMiBhbmQgMS4wLjMsIHRoZSBjb21wdXRlZCBtZXRhZGF0YSB3b24ndCBpbmNsdWRlIDEuMC4zLlxuICAgKiAgMy4gT25jZSB0aGUgc2Vjb25kIHN0ZXAgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGZpbmlzaGVkLCBkZWxldGUgdGhlIHRhcmJhbGwuXG4gICAqXG4gICAqICBBbGwgdGhlc2Ugc3RlcHMgYXJlIGNvbnNlY3V0aXZlIGFuZCByZXF1aXJlZCwgdGhlcmUgaXMgbm8gdHJhbnNhY2lvbnMgaGVyZSwgaWYgc3RlcCAzIGZhaWxzLCBtZXRhZGF0YSBtaWdodFxuICAgKiAgZ2V0IGNvcnJ1cHRlZC5cbiAgICpcbiAgICogIE5vdGUgdGhlIHVucHVibGlzaCBjYWxsIHdpbGwgc3VmZml4IGluIHRoZSB1cmwgYSAvLXJldi8xNC01ZDUwMGNmY2U5MmY5MGZkIHJldmlzaW9uIG51bWJlciwgdGhpcyBub3RcbiAgICogIHVzZWQgaW50ZXJuYWxseS5cbiAgICpcbiAgICpcbiAgICogRXhhbXBsZSBmbG93IG9mIHVucHVibGlzaC5cbiAgICpcbiAgICogbnBtIGh0dHAgZmV0Y2ggR0VUIDIwMCBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDE/d3JpdGU9dHJ1ZSAxNjgwbXNcbiAgICAgbnBtIGh0dHAgZmV0Y2ggUFVUIDIwMSBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDEvLXJldi8xNC01ZDUwMGNmY2U5MmY5MGZkIDk1NjYwNm1zIGF0dGVtcHQgIzJcbiAgICAgbnBtIGh0dHAgZmV0Y2ggR0VUIDIwMCBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDE/d3JpdGU9dHJ1ZSAxNjAxbXNcbiAgICAgbnBtIGh0dHAgZmV0Y2ggREVMRVRFIDIwMSBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDEvLS90ZXN0MS0xLjAuMy50Z3ovLXJldi8xNi1lMTFjOGRiMjgyYjJkOTkyIDE5bXNcbiAgICpcbiAgICogMy4gU3RhciBhIHBhY2thZ2VcbiAgICpcbiAgICogUGVybWlzc2lvbnM6IHN0YXJ0IGEgcGFja2FnZSBkZXBlbmRzIG9mIHRoZSBwdWJsaXNoIGFuZCB1bnB1Ymxpc2ggcGVybWlzc2lvbnMsIHRoZXJlIGlzIG5vIHNwZWNpZmljIGZsYWcgZm9yIHN0YXIgb3IgdW4gc3RhcnQuXG4gICAqIFRoZSBVUkwgZm9yIHN0YXIgaXMgc2ltaWxhciB0byB0aGUgdW5wdWJsaXNoIChjaGFuZ2UgcGFja2FnZSBmb3JtYXQpXG4gICAqXG4gICAqIG5wbSBoYXMgbm8gZW5wb2ludCBmb3Igc3RhciBhIHBhY2thZ2UsIHJhdGhlciBtdXRhdGUgdGhlIG1ldGFkYXRhIGFuZCBhY3RzIGFzLCB0aGUgZGlmZmVyZW5jZSBpcyB0aGVcbiAgICogdXNlcnMgcHJvcGVydHkgd2hpY2ggaXMgcGFydCBvZiB0aGUgcGF5bG9hZCBhbmQgdGhlIGJvZHkgb25seSBpbmNsdWRlc1xuICAgKlxuICAgKiB7XG5cdFx0ICBcIl9pZFwiOiBwa2dOYW1lLFxuXHQgIFx0XCJfcmV2XCI6IFwiMy1iMGNkYWVmYzliZGI3N2M4XCIsXG5cdFx0ICBcInVzZXJzXCI6IHtcblx0XHQgICAgW3VzZXJuYW1lXTogYm9vbGVhbiB2YWx1ZSAodHJ1ZSwgZmFsc2UpXG5cdFx0ICB9XG5cdH1cbiAgICpcbiAgICovXG4gIHJvdXRlci5wdXQoXG4gICAgJy86cGFja2FnZS86X3Jldj8vOnJldmlzaW9uPycsXG4gICAgY2FuKCdwdWJsaXNoJyksXG4gICAgbWVkaWEobWltZS5nZXRUeXBlKCdqc29uJykpLFxuICAgIGV4cGVjdEpzb24sXG4gICAgcHVibGlzaFBhY2thZ2Uoc3RvcmFnZSwgY29uZmlnLCBhdXRoKVxuICApO1xuXG4gIC8qKlxuICAgKiBVbi1wdWJsaXNoaW5nIGFuIGVudGlyZSBwYWNrYWdlLlxuICAgKlxuICAgKiBUaGlzIHNjZW5hcmlvIGhhcHBlbnMgd2hlbiB0aGUgZmlyc3QgY2FsbCBkZXRlY3QgdGhlcmUgaXMgb25seSBvbmUgdmVyc2lvbiByZW1haW5pbmdcbiAgICogaW4gdGhlIG1ldGFkYXRhLCB0aGVuIHRoZSBjbGllbnQgZGVjaWRlcyB0byBERUxFVEUgdGhlIHJlc291cmNlXG4gICAqIG5wbSBodHRwIGZldGNoIEdFVCAzMDQgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxP3dyaXRlPXRydWUgMTA3Nm1zIChmcm9tIGNhY2hlKVxuICAgICBucG0gaHR0cCBmZXRjaCBERUxFVEUgMjAxIGh0dHA6Ly9sb2NhbGhvc3Q6NDg3My9Ac2NvcGUlMmZ0ZXN0MS8tcmV2LzE4LWQ4ZWJlMzAyMGJkNGFjOWMgMjJtc1xuICAgKi9cbiAgcm91dGVyLmRlbGV0ZSgnLzpwYWNrYWdlLy1yZXYvKicsIGNhbigndW5wdWJsaXNoJyksIHVuUHVibGlzaFBhY2thZ2Uoc3RvcmFnZSkpO1xuXG4gIC8vIHJlbW92aW5nIGEgdGFyYmFsbFxuICByb3V0ZXIuZGVsZXRlKFxuICAgICcvOnBhY2thZ2UvLS86ZmlsZW5hbWUvLXJldi86cmV2aXNpb24nLFxuICAgIGNhbigndW5wdWJsaXNoJyksXG4gICAgY2FuKCdwdWJsaXNoJyksXG4gICAgcmVtb3ZlVGFyYmFsbChzdG9yYWdlKVxuICApO1xuXG4gIC8vIHVwbG9hZGluZyBwYWNrYWdlIHRhcmJhbGxcbiAgcm91dGVyLnB1dChcbiAgICAnLzpwYWNrYWdlLy0vOmZpbGVuYW1lLyonLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIG1lZGlhKEhFQURFUlMuT0NURVRfU1RSRUFNKSxcbiAgICB1cGxvYWRQYWNrYWdlVGFyYmFsbChzdG9yYWdlKVxuICApO1xuXG4gIC8vIGFkZGluZyBhIHZlcnNpb25cbiAgcm91dGVyLnB1dChcbiAgICAnLzpwYWNrYWdlLzp2ZXJzaW9uLy10YWcvOnRhZycsXG4gICAgY2FuKCdwdWJsaXNoJyksXG4gICAgbWVkaWEobWltZS5nZXRUeXBlKCdqc29uJykpLFxuICAgIGV4cGVjdEpzb24sXG4gICAgYWRkVmVyc2lvbihzdG9yYWdlKVxuICApO1xufVxuXG4vKipcbiAqIFB1Ymxpc2ggYSBwYWNrYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwdWJsaXNoUGFja2FnZShzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIsIGNvbmZpZzogQ29uZmlnLCBhdXRoOiBJQXV0aCk6IGFueSB7XG4gIGNvbnN0IHN0YXJBcGkgPSBzdGFyKHN0b3JhZ2UpO1xuICByZXR1cm4gZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSByZXEucGFyYW1zLnBhY2thZ2U7XG4gICAgZGVidWcoJ3B1Ymxpc2hpbmcgb3IgdXBkYXRpbmcgYSBuZXcgdmVyc2lvbiBmb3IgJW8nLCBwYWNrYWdlTmFtZSk7XG4gICAgLyoqXG4gICAgICogV3JpdGUgdGFyYmFsbCBvZiBzdHJlYW0gZGF0YSBmcm9tIHBhY2thZ2UgY2xpZW50cy5cbiAgICAgKi9cbiAgICBjb25zdCBjcmVhdGVUYXJiYWxsID0gZnVuY3Rpb24gKGZpbGVuYW1lOiBzdHJpbmcsIGRhdGEsIGNiOiBDYWxsYmFjayk6IHZvaWQge1xuICAgICAgY29uc3Qgc3RyZWFtID0gc3RvcmFnZS5hZGRUYXJiYWxsKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSk7XG4gICAgICBzdHJlYW0ub24oJ2Vycm9yJywgZnVuY3Rpb24gKGVycikge1xuICAgICAgICBjYihlcnIpO1xuICAgICAgfSk7XG4gICAgICBzdHJlYW0ub24oJ3N1Y2Nlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNiKCk7XG4gICAgICB9KTtcbiAgICAgIC8vIHRoaXMgaXMgZHVtYiBhbmQgbWVtb3J5LWNvbnN1bWluZywgYnV0IHdoYXQgY2hvaWNlcyBkbyB3ZSBoYXZlP1xuICAgICAgLy8gZmxvdzogd2UgbmVlZCBmaXJzdCByZWZhY3RvciB0aGlzIGZpbGUgYmVmb3JlIGRlY2lkZXMgd2hpY2ggdHlwZSB1c2UgaGVyZVxuICAgICAgc3RyZWFtLmVuZChCdWZmZXIuZnJvbShkYXRhLmRhdGEsICdiYXNlNjQnKSk7XG4gICAgICBzdHJlYW0uZG9uZSgpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBBZGQgbmV3IHBhY2thZ2UgdmVyc2lvbiBpbiBzdG9yYWdlXG4gICAgICovXG4gICAgY29uc3QgY3JlYXRlVmVyc2lvbiA9IGZ1bmN0aW9uICh2ZXJzaW9uOiBzdHJpbmcsIG1ldGFkYXRhOiBWZXJzaW9uLCBjYjogQ2FsbGJhY2spOiB2b2lkIHtcbiAgICAgIHN0b3JhZ2UuYWRkVmVyc2lvbihwYWNrYWdlTmFtZSwgdmVyc2lvbiwgbWV0YWRhdGEsIG51bGwsIGNiKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQWRkIG5ldyB0YWdzIGluIHN0b3JhZ2VcbiAgICAgKi9cbiAgICBjb25zdCBhZGRUYWdzID0gZnVuY3Rpb24gKHRhZ3M6IE1lcmdlVGFncywgY2I6IENhbGxiYWNrKTogdm9pZCB7XG4gICAgICBzdG9yYWdlLm1lcmdlVGFncyhwYWNrYWdlTmFtZSwgdGFncywgY2IpO1xuICAgIH07XG5cbiAgICBjb25zdCBhZnRlckNoYW5nZSA9IGZ1bmN0aW9uIChlcnJvciwgb2tNZXNzYWdlLCBtZXRhZGF0YSk6IHZvaWQge1xuICAgICAgY29uc3QgbWV0YWRhdGFDb3B5OiBQYWNrYWdlID0geyAuLi5tZXRhZGF0YSB9O1xuXG4gICAgICBjb25zdCB7IF9hdHRhY2htZW50cywgdmVyc2lvbnMgfSA9IG1ldGFkYXRhQ29weTtcblxuICAgICAgLy8gYG5wbSBzdGFyYCB3b3VsZG4ndCBoYXZlIGF0dGFjaG1lbnRzXG4gICAgICAvLyBhbmQgYG5wbSBkZXByZWNhdGVgIHdvdWxkIGhhdmUgYXR0YWNobWVudHMgYXMgYSBlbXB0eSBvYmplY3QsIGkuZSB7fVxuICAgICAgaWYgKF8uaXNOaWwoX2F0dGFjaG1lbnRzKSB8fCBKU09OLnN0cmluZ2lmeShfYXR0YWNobWVudHMpID09PSAne30nKSB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuICAgICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgICAgb2s6IG9rTWVzc2FnZSxcbiAgICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gbnBtLXJlZ2lzdHJ5LWNsaWVudCAwLjMrIGVtYmVkcyB0YXJiYWxsIGludG8gdGhlIGpzb24gdXBsb2FkXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vaXNhYWNzL25wbS1yZWdpc3RyeS1jbGllbnQvY29tbWl0L2U5ZmJlYjhiNjdmMjQ5Mzk0ZjczNWM3NGVmMTFmZTQ3MjBkNDZjYTBcbiAgICAgIC8vIGlzc3VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ybGlkd2thL3Npbm9waWEvaXNzdWVzLzMxLCBkZWFsaW5nIHdpdGggaXQgaGVyZTpcbiAgICAgIGNvbnN0IGlzSW52YWxpZEJvZHlGb3JtYXQgPVxuICAgICAgICBpc09iamVjdChfYXR0YWNobWVudHMpID09PSBmYWxzZSB8fFxuICAgICAgICBoYXNEaWZmT25lS2V5KF9hdHRhY2htZW50cykgfHxcbiAgICAgICAgaXNPYmplY3QodmVyc2lvbnMpID09PSBmYWxzZSB8fFxuICAgICAgICBoYXNEaWZmT25lS2V5KHZlcnNpb25zKTtcblxuICAgICAgaWYgKGlzSW52YWxpZEJvZHlGb3JtYXQpIHtcbiAgICAgICAgLy8gbnBtIGlzIGRvaW5nIHNvbWV0aGluZyBzdHJhbmdlIGFnYWluXG4gICAgICAgIC8vIGlmIHRoaXMgaGFwcGVucyBpbiBub3JtYWwgY2lyY3Vtc3RhbmNlcywgcmVwb3J0IGl0IGFzIGEgYnVnXG4gICAgICAgIGxvZ2dlci5pbmZvKHsgcGFja2FnZU5hbWUgfSwgYHdyb25nIHBhY2thZ2UgZm9ybWF0IG9uIHB1Ymxpc2ggYSBwYWNrYWdlIEB7cGFja2FnZU5hbWV9YCk7XG4gICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRCYWRSZXF1ZXN0KEFQSV9FUlJPUi5VTlNVUE9SVEVEX1JFR0lTVFJZX0NBTEwpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVycm9yICYmIGVycm9yLnN0YXR1cyAhPT0gSFRUUF9TVEFUVVMuQ09ORkxJQ1QpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICAvLyBhdCB0aGlzIHBvaW50IGRvY3VtZW50IGlzIGVpdGhlciBjcmVhdGVkIG9yIGV4aXN0ZWQgYmVmb3JlXG4gICAgICBjb25zdCBbZmlyc3RBdHRhY2htZW50S2V5XSA9IE9iamVjdC5rZXlzKF9hdHRhY2htZW50cyk7XG5cbiAgICAgIGNyZWF0ZVRhcmJhbGwoXG4gICAgICAgIFBhdGguYmFzZW5hbWUoZmlyc3RBdHRhY2htZW50S2V5KSxcbiAgICAgICAgX2F0dGFjaG1lbnRzW2ZpcnN0QXR0YWNobWVudEtleV0sXG4gICAgICAgIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQoZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHZlcnNpb25Ub1B1Ymxpc2ggPSBPYmplY3Qua2V5cyh2ZXJzaW9ucylbMF07XG4gICAgICAgICAgY29uc3QgdmVyc2lvbk1ldGFkYXRhVG9QdWJsaXNoID0gdmVyc2lvbnNbdmVyc2lvblRvUHVibGlzaF07XG5cbiAgICAgICAgICB2ZXJzaW9uTWV0YWRhdGFUb1B1Ymxpc2gucmVhZG1lID1cbiAgICAgICAgICAgIF8uaXNOaWwodmVyc2lvbk1ldGFkYXRhVG9QdWJsaXNoLnJlYWRtZSkgPT09IGZhbHNlXG4gICAgICAgICAgICAgID8gU3RyaW5nKHZlcnNpb25NZXRhZGF0YVRvUHVibGlzaC5yZWFkbWUpXG4gICAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgICBjcmVhdGVWZXJzaW9uKHZlcnNpb25Ub1B1Ymxpc2gsIHZlcnNpb25NZXRhZGF0YVRvUHVibGlzaCwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoZXJyb3IpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhZGRUYWdzKG1ldGFkYXRhQ29weVtESVNUX1RBR1NdLCBhc3luYyBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5leHQoZXJyb3IpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBhd2FpdCBub3RpZnkoXG4gICAgICAgICAgICAgICAgICBtZXRhZGF0YUNvcHksXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICByZXEucmVtb3RlX3VzZXIsXG4gICAgICAgICAgICAgICAgICBgJHttZXRhZGF0YUNvcHkubmFtZX1AJHt2ZXJzaW9uVG9QdWJsaXNofWBcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcih7IGVycm9yIH0sICdub3RpZnkgYmF0Y2ggc2VydmljZSBoYXMgZmFpbGVkOiBAe2Vycm9yfScpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoeyBvazogb2tNZXNzYWdlLCBzdWNjZXNzOiB0cnVlIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfTtcblxuICAgIGlmIChpc1B1Ymxpc2hhYmxlUGFja2FnZShyZXEuYm9keSkgPT09IGZhbHNlICYmIGlzT2JqZWN0KHJlcS5ib2R5LnVzZXJzKSkge1xuICAgICAgcmV0dXJuIHN0YXJBcGkocmVxLCByZXMsIG5leHQpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBtZXRhZGF0YSA9IHZhbGlkYXRpb1V0aWxzLm5vcm1hbGl6ZU1ldGFkYXRhKHJlcS5ib2R5LCBwYWNrYWdlTmFtZSk7XG4gICAgICAvLyBjaGVjayBfYXR0YWNobWVudHMgdG8gZGlzdGluZ3Vpc2ggcHVibGlzaCBhbmQgZGVwcmVjYXRlXG4gICAgICBpZiAoXG4gICAgICAgIHJlcS5wYXJhbXMuX3JldiB8fFxuICAgICAgICAoaXNSZWxhdGVkVG9EZXByZWNhdGlvbihyZXEuYm9keSkgJiYgXy5pc0VtcHR5KHJlcS5ib2R5Ll9hdHRhY2htZW50cykpXG4gICAgICApIHtcbiAgICAgICAgZGVidWcoJ3VwZGF0aW5nIGEgbmV3IHZlcnNpb24gZm9yICVvJywgcGFja2FnZU5hbWUpO1xuICAgICAgICAvLyB3ZSBjaGVjayB1bnB1Ymxpc2ggcGVybWlzc2lvbnMsIGFuIHVwZGF0ZSBpcyBiYXNpY2FsbHkgcmVtb3ZlIHZlcnNpb25zXG4gICAgICAgIGNvbnN0IHJlbW90ZSA9IHJlcS5yZW1vdGVfdXNlcjtcbiAgICAgICAgYXV0aC5hbGxvd191bnB1Ymxpc2goeyBwYWNrYWdlTmFtZSB9LCByZW1vdGUsIChlcnJvcikgPT4ge1xuICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgbG9nZ2VyLmVycm9yKHsgcGFja2FnZU5hbWUgfSwgYG5vdCBhbGxvd2VkIHRvIHVucHVibGlzaCBhIHZlcnNpb24gZm9yIEB7cGFja2FnZU5hbWV9YCk7XG4gICAgICAgICAgICByZXR1cm4gbmV4dChlcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0b3JhZ2UuY2hhbmdlUGFja2FnZShwYWNrYWdlTmFtZSwgbWV0YWRhdGEsIHJlcS5wYXJhbXMucmV2aXNpb24sIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgYWZ0ZXJDaGFuZ2UoZXJyb3IsIEFQSV9NRVNTQUdFLlBLR19DSEFOR0VELCBtZXRhZGF0YSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVidWcoJ2FkZGluZyBhIG5ldyB2ZXJzaW9uIGZvciAlbycsIHBhY2thZ2VOYW1lKTtcbiAgICAgICAgc3RvcmFnZS5hZGRQYWNrYWdlKHBhY2thZ2VOYW1lLCBtZXRhZGF0YSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgYWZ0ZXJDaGFuZ2UoZXJyb3IsIEFQSV9NRVNTQUdFLlBLR19DUkVBVEVELCBtZXRhZGF0YSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoeyBwYWNrYWdlTmFtZSB9LCAnZXJyb3Igb24gcHVibGlzaCwgYmFkIHBhY2thZ2UgZGF0YSBmb3IgQHtwYWNrYWdlTmFtZX0nKTtcbiAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRCYWREYXRhKEFQSV9FUlJPUi5CQURfUEFDS0FHRV9EQVRBKSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIHVuLXB1Ymxpc2ggYSBwYWNrYWdlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1blB1Ymxpc2hQYWNrYWdlKHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlcikge1xuICByZXR1cm4gZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSByZXEucGFyYW1zLnBhY2thZ2U7XG4gICAgZGVidWcoJ3VucHVibGlzaGluZyAlbycsIHBhY2thZ2VOYW1lKTtcbiAgICBzdG9yYWdlLnJlbW92ZVBhY2thZ2UocGFja2FnZU5hbWUsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgIH1cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICByZXR1cm4gbmV4dCh7IG9rOiBBUElfTUVTU0FHRS5QS0dfUkVNT1ZFRCB9KTtcbiAgICB9KTtcbiAgfTtcbn1cblxuLyoqXG4gKiBEZWxldGUgdGFyYmFsbFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVGFyYmFsbChzdG9yYWdlOiBJU3RvcmFnZUhhbmRsZXIpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGNvbnN0IHsgZmlsZW5hbWUsIHJldmlzaW9uIH0gPSByZXEucGFyYW1zO1xuICAgIGRlYnVnKCdyZW1vdmluZyBhIHRhcmJhbGwgZm9yICVvLSVvLSVvJywgcGFja2FnZU5hbWUsIGZpbGVuYW1lLCByZXZpc2lvbik7XG4gICAgc3RvcmFnZS5yZW1vdmVUYXJiYWxsKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSwgcmV2aXNpb24sIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgIH1cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICBkZWJ1Zygnc3VjY2VzcyByZW1vdmUgdGFyYmFsbCBmb3IgJW8tJW8tJW8nLCBwYWNrYWdlTmFtZSwgZmlsZW5hbWUsIHJldmlzaW9uKTtcbiAgICAgIHJldHVybiBuZXh0KHsgb2s6IEFQSV9NRVNTQUdFLlRBUkJBTExfUkVNT1ZFRCB9KTtcbiAgICB9KTtcbiAgfTtcbn1cbi8qKlxuICogQWRkcyBhIG5ldyB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRWZXJzaW9uKHN0b3JhZ2U6IElTdG9yYWdlSGFuZGxlcikge1xuICByZXR1cm4gZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgY29uc3QgeyB2ZXJzaW9uLCB0YWcgfSA9IHJlcS5wYXJhbXM7XG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSByZXEucGFyYW1zLnBhY2thZ2U7XG5cbiAgICBzdG9yYWdlLmFkZFZlcnNpb24ocGFja2FnZU5hbWUsIHZlcnNpb24sIHJlcS5ib2R5LCB0YWcsIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgb2s6IEFQSV9NRVNTQUdFLlBLR19QVUJMSVNIRUQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcbn1cblxuLyoqXG4gKiB1cGxvYWRQYWNrYWdlVGFyYmFsbFxuICovXG5leHBvcnQgZnVuY3Rpb24gdXBsb2FkUGFja2FnZVRhcmJhbGwoc3RvcmFnZTogSVN0b3JhZ2VIYW5kbGVyKSB7XG4gIHJldHVybiBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMucGFja2FnZTtcbiAgICBjb25zdCBzdHJlYW0gPSBzdG9yYWdlLmFkZFRhcmJhbGwocGFja2FnZU5hbWUsIHJlcS5wYXJhbXMuZmlsZW5hbWUpO1xuICAgIHJlcS5waXBlKHN0cmVhbSk7XG5cbiAgICAvLyBjaGVja2luZyBpZiBlbmQgZXZlbnQgY2FtZSBiZWZvcmUgY2xvc2luZ1xuICAgIGxldCBjb21wbGV0ZSA9IGZhbHNlO1xuICAgIHJlcS5vbignZW5kJywgZnVuY3Rpb24gKCkge1xuICAgICAgY29tcGxldGUgPSB0cnVlO1xuICAgICAgc3RyZWFtLmRvbmUoKTtcbiAgICB9KTtcblxuICAgIHJlcS5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoIWNvbXBsZXRlKSB7XG4gICAgICAgIHN0cmVhbS5hYm9ydCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgc3RyZWFtLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgIHJldHVybiByZXMubG9jYWxzLnJlcG9ydF9lcnJvcihlcnIpO1xuICAgIH0pO1xuXG4gICAgc3RyZWFtLm9uKCdzdWNjZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgb2s6IEFQSV9NRVNTQUdFLlRBUkJBTExfVVBMT0FERUQsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxPQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFHQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxPQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxhQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxNQUFBLEdBQUFWLE9BQUE7QUFRQSxJQUFBVyxLQUFBLEdBQUFaLHNCQUFBLENBQUFDLE9BQUE7QUFBMEIsU0FBQUQsdUJBQUFhLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyxRQUFBQyxNQUFBLEVBQUFDLGNBQUEsUUFBQUMsSUFBQSxHQUFBQyxNQUFBLENBQUFELElBQUEsQ0FBQUYsTUFBQSxPQUFBRyxNQUFBLENBQUFDLHFCQUFBLFFBQUFDLE9BQUEsR0FBQUYsTUFBQSxDQUFBQyxxQkFBQSxDQUFBSixNQUFBLEdBQUFDLGNBQUEsS0FBQUksT0FBQSxHQUFB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
|
|
358
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfbWltZSIsIl9wYXRoIiwiX2NvcmUiLCJfbWlkZGxld2FyZSIsIl9jb25zdGFudHMiLCJfbG9nZ2VyIiwiX25vdGlmeSIsIl9zdG9yYWdlVXRpbHMiLCJfdXRpbHMiLCJfc3RhciIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJkZWJ1ZyIsImJ1aWxkRGVidWciLCJwdWJsaXNoIiwicm91dGVyIiwiYXV0aCIsInN0b3JhZ2UiLCJjb25maWciLCJjYW4iLCJhbGxvdyIsImJlZm9yZUFsbCIsInBhcmFtcyIsIm1lc3NhZ2UiLCJsb2dnZXIiLCJ0cmFjZSIsImFmdGVyQWxsIiwicHV0IiwibWVkaWEiLCJtaW1lIiwiZ2V0VHlwZSIsImV4cGVjdEpzb24iLCJwdWJsaXNoUGFja2FnZSIsImRlbGV0ZSIsInVuUHVibGlzaFBhY2thZ2UiLCJyZW1vdmVUYXJiYWxsIiwiSEVBREVSUyIsIk9DVEVUX1NUUkVBTSIsInVwbG9hZFBhY2thZ2VUYXJiYWxsIiwiYWRkVmVyc2lvbiIsInN0YXJBcGkiLCJzdGFyIiwicmVxIiwibmV4dCIsInBhY2thZ2VOYW1lIiwicGFja2FnZSIsImNyZWF0ZVRhcmJhbGwiLCJmaWxlbmFtZSIsImRhdGEiLCJjYiIsInN0cmVhbSIsImFkZFRhcmJhbGwiLCJvbiIsImVyciIsImVuZCIsIkJ1ZmZlciIsImZyb20iLCJkb25lIiwiY3JlYXRlVmVyc2lvbiIsInZlcnNpb24iLCJtZXRhZGF0YSIsImFkZFRhZ3MiLCJ0YWdzIiwibWVyZ2VUYWdzIiwiYWZ0ZXJDaGFuZ2UiLCJlcnJvciIsIm9rTWVzc2FnZSIsIm1ldGFkYXRhQ29weSIsIl9hdHRhY2htZW50cyIsInZlcnNpb25zIiwiXyIsImlzTmlsIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiQ1JFQVRFRCIsIm9rIiwic3VjY2VzcyIsImlzSW52YWxpZEJvZHlGb3JtYXQiLCJpc09iamVjdCIsImhhc0RpZmZPbmVLZXkiLCJpbmZvIiwiRXJyb3JDb2RlIiwiZ2V0QmFkUmVxdWVzdCIsIkFQSV9FUlJPUiIsIlVOU1VQT1JURURfUkVHSVNUUllfQ0FMTCIsIkNPTkZMSUNUIiwiZmlyc3RBdHRhY2htZW50S2V5IiwiUGF0aCIsImJhc2VuYW1lIiwidmVyc2lvblRvUHVibGlzaCIsInZlcnNpb25NZXRhZGF0YVRvUHVibGlzaCIsInJlYWRtZSIsIkRJU1RfVEFHUyIsIm5vdGlmeSIsInJlbW90ZV91c2VyIiwibmFtZSIsImlzUHVibGlzaGFibGVQYWNrYWdlIiwiYm9keSIsInVzZXJzIiwidmFsaWRhdGlvVXRpbHMiLCJub3JtYWxpemVNZXRhZGF0YSIsIl9yZXYiLCJpc1JlbGF0ZWRUb0RlcHJlY2F0aW9uIiwiaXNFbXB0eSIsInJlbW90ZSIsImFsbG93X3VucHVibGlzaCIsImNoYW5nZVBhY2thZ2UiLCJyZXZpc2lvbiIsIkFQSV9NRVNTQUdFIiwiUEtHX0NIQU5HRUQiLCJhZGRQYWNrYWdlIiwiUEtHX0NSRUFURUQiLCJnZXRCYWREYXRhIiwiQkFEX1BBQ0tBR0VfREFUQSIsInJlbW92ZVBhY2thZ2UiLCJQS0dfUkVNT1ZFRCIsIlRBUkJBTExfUkVNT1ZFRCIsInRhZyIsIlBLR19QVUJMSVNIRUQiLCJwaXBlIiwiY29tcGxldGUiLCJhYm9ydCIsImxvY2FscyIsInJlcG9ydF9lcnJvciIsIlRBUkJBTExfVVBMT0FERUQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS9wdWJsaXNoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBidWlsZERlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xuaW1wb3J0IFBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IHZhbGlkYXRpb1V0aWxzIH0gZnJvbSAnQHZlcmRhY2Npby9jb3JlJztcbmltcG9ydCB7IGFsbG93LCBleHBlY3RKc29uLCBtZWRpYSB9IGZyb20gJ0B2ZXJkYWNjaW8vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBDYWxsYmFjaywgQ29uZmlnLCBNZXJnZVRhZ3MsIFBhY2thZ2UsIFZlcnNpb24gfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgQVBJX0VSUk9SLCBBUElfTUVTU0FHRSwgRElTVF9UQUdTLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBub3RpZnkgfSBmcm9tICcuLi8uLi8uLi9saWIvbm90aWZ5JztcbmltcG9ydCBTdG9yYWdlIGZyb20gJy4uLy4uLy4uL2xpYi9zdG9yYWdlJztcbmltcG9ydCB7IGlzUHVibGlzaGFibGVQYWNrYWdlIH0gZnJvbSAnLi4vLi4vLi4vbGliL3N0b3JhZ2UtdXRpbHMnO1xuaW1wb3J0IHsgRXJyb3JDb2RlLCBoYXNEaWZmT25lS2V5LCBpc09iamVjdCwgaXNSZWxhdGVkVG9EZXByZWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCwgJFJlc3BvbnNlRXh0ZW5kIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHN0YXIgZnJvbSAnLi9zdGFyJztcblxuY29uc3QgZGVidWcgPSBidWlsZERlYnVnKCd2ZXJkYWNjaW86cHVibGlzaCcpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBwdWJsaXNoKFxuICByb3V0ZXI6IFJvdXRlcixcbiAgYXV0aDogQXV0aCxcbiAgc3RvcmFnZTogU3RvcmFnZSxcbiAgY29uZmlnOiBDb25maWdcbik6IHZvaWQge1xuICBjb25zdCBjYW4gPSBhbGxvdyhhdXRoLCB7XG4gICAgYmVmb3JlQWxsOiAocGFyYW1zLCBtZXNzYWdlKSA9PiBsb2dnZXIudHJhY2UocGFyYW1zLCBtZXNzYWdlKSxcbiAgICBhZnRlckFsbDogKHBhcmFtcywgbWVzc2FnZSkgPT4gbG9nZ2VyLnRyYWNlKHBhcmFtcywgbWVzc2FnZSksXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBQdWJsaXNoIGEgcGFja2FnZSAvIHVwZGF0ZSBwYWNrYWdlIC8gdW4vc3RhcnQgYSBwYWNrYWdlXG4gICAqXG4gICAqIFRoZXJlIGFyZSBtdWx0aXBsZXMgc2NlbmFyaW9zIGhlcmUgdG8gYmUgY29uc2lkZXJlZDpcbiAgICpcbiAgICogMS4gUHVibGlzaCBzY2VuYXJpb1xuICAgKlxuICAgKiBQdWJsaXNoIGEgcGFja2FnZSBjb25zaXN0IG9mIGF0IGxlYXN0IDEgc3RlcCAoUFVUKSB3aXRoIGEgbWV0YWRhdGEgcGF5bG9hZC5cbiAgICogV2hlbiBhIHBhY2thZ2UgaXMgcHVibGlzaGVkLCBhbiBfYXR0YWNobWVudCBwcm9wZXJ0eSBpcyBwcmVzZW50IHRoYXQgY29udGFpbnMgdGhlIGRhdGFcbiAgICogb2YgdGhlIHRhcmJhbGwuXG4gICAqXG4gICAqIEV4YW1wbGUgZmxvdyBvZiBwdWJsaXNoLlxuICAgKlxuICAgKiAgbnBtIGh0dHAgZmV0Y2ggUFVUIDIwMSBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDEgOTYyN21zXG4gICAgICBucG0gaW5mbyBsaWZlY3ljbGUgQHNjb3BlL3Rlc3QxQDEuMC4xfnB1Ymxpc2g6IEBzY29wZS90ZXN0MUAxLjAuMVxuICAgICAgbnBtIGluZm8gbGlmZWN5Y2xlIEBzY29wZS90ZXN0MUAxLjAuMX5wb3N0cHVibGlzaDogQHNjb3BlL3Rlc3QxQDEuMC4xXG4gICAgICArIEBzY29wZS90ZXN0MUAxLjAuMVxuICAgICAgbnBtIHZlcmIgZXhpdCBbIDAsIHRydWUgXVxuICAgKlxuICAgKlxuICAgKiAyLiBVbnB1Ymxpc2ggc2NlbmFyaW9cbiAgICpcbiAgICogVW5wdWJsaXNoIGNvbnNpc3QgaW4gMyBzdGVwcy5cbiAgICogIDEuIFRyeSB0byBmZXRjaCAgbWV0YWRhdGEgLT4gaWYgaXQgZmFpbHMsIHJldHVybiA0MDRcbiAgICogIDIuIENvbXB1dGUgbWV0YWRhdGEgbG9jYWxseSAoY2xpZW50IHNpZGUpIGFuZCBzZW5kIGEgbXV0YXRlIHBheWxvYWQgZXhjbHVkaW5nIHRoZSB2ZXJzaW9uIHRvIGJlIHVucHVibGlzaGVkXG4gICAqICAgIGVnOiBpZiBtZXRhZGF0YSByZWZsZWN0cyAxLjAuMSwgMS4wLjIgYW5kIDEuMC4zLCB0aGUgY29tcHV0ZWQgbWV0YWRhdGEgd29uJ3QgaW5jbHVkZSAxLjAuMy5cbiAgICogIDMuIE9uY2UgdGhlIHNlY29uZCBzdGVwIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBmaW5pc2hlZCwgZGVsZXRlIHRoZSB0YXJiYWxsLlxuICAgKlxuICAgKiAgQWxsIHRoZXNlIHN0ZXBzIGFyZSBjb25zZWN1dGl2ZSBhbmQgcmVxdWlyZWQsIHRoZXJlIGlzIG5vIHRyYW5zYWNpb25zIGhlcmUsIGlmIHN0ZXAgMyBmYWlscywgbWV0YWRhdGEgbWlnaHRcbiAgICogIGdldCBjb3JydXB0ZWQuXG4gICAqXG4gICAqICBOb3RlIHRoZSB1bnB1Ymxpc2ggY2FsbCB3aWxsIHN1ZmZpeCBpbiB0aGUgdXJsIGEgLy1yZXYvMTQtNWQ1MDBjZmNlOTJmOTBmZCByZXZpc2lvbiBudW1iZXIsIHRoaXMgbm90XG4gICAqICB1c2VkIGludGVybmFsbHkuXG4gICAqXG4gICAqXG4gICAqIEV4YW1wbGUgZmxvdyBvZiB1bnB1Ymxpc2guXG4gICAqXG4gICAqIG5wbSBodHRwIGZldGNoIEdFVCAyMDAgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxP3dyaXRlPXRydWUgMTY4MG1zXG4gICAgIG5wbSBodHRwIGZldGNoIFBVVCAyMDEgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxLy1yZXYvMTQtNWQ1MDBjZmNlOTJmOTBmZCA5NTY2MDZtcyBhdHRlbXB0ICMyXG4gICAgIG5wbSBodHRwIGZldGNoIEdFVCAyMDAgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxP3dyaXRlPXRydWUgMTYwMW1zXG4gICAgIG5wbSBodHRwIGZldGNoIERFTEVURSAyMDEgaHR0cDovL2xvY2FsaG9zdDo0ODczL0BzY29wZSUyZnRlc3QxLy0vdGVzdDEtMS4wLjMudGd6Ly1yZXYvMTYtZTExYzhkYjI4MmIyZDk5MiAxOW1zXG4gICAqXG4gICAqIDMuIFN0YXIgYSBwYWNrYWdlXG4gICAqXG4gICAqIFBlcm1pc3Npb25zOiBzdGFydCBhIHBhY2thZ2UgZGVwZW5kcyBvZiB0aGUgcHVibGlzaCBhbmQgdW5wdWJsaXNoIHBlcm1pc3Npb25zLCB0aGVyZSBpcyBubyBzcGVjaWZpYyBmbGFnIGZvciBzdGFyIG9yIHVuIHN0YXJ0LlxuICAgKiBUaGUgVVJMIGZvciBzdGFyIGlzIHNpbWlsYXIgdG8gdGhlIHVucHVibGlzaCAoY2hhbmdlIHBhY2thZ2UgZm9ybWF0KVxuICAgKlxuICAgKiBucG0gaGFzIG5vIGVucG9pbnQgZm9yIHN0YXIgYSBwYWNrYWdlLCByYXRoZXIgbXV0YXRlIHRoZSBtZXRhZGF0YSBhbmQgYWN0cyBhcywgdGhlIGRpZmZlcmVuY2UgaXMgdGhlXG4gICAqIHVzZXJzIHByb3BlcnR5IHdoaWNoIGlzIHBhcnQgb2YgdGhlIHBheWxvYWQgYW5kIHRoZSBib2R5IG9ubHkgaW5jbHVkZXNcbiAgICpcbiAgICoge1xuXHRcdCAgXCJfaWRcIjogcGtnTmFtZSxcblx0ICBcdFwiX3JldlwiOiBcIjMtYjBjZGFlZmM5YmRiNzdjOFwiLFxuXHRcdCAgXCJ1c2Vyc1wiOiB7XG5cdFx0ICAgIFt1c2VybmFtZV06IGJvb2xlYW4gdmFsdWUgKHRydWUsIGZhbHNlKVxuXHRcdCAgfVxuXHR9XG4gICAqXG4gICAqL1xuICByb3V0ZXIucHV0KFxuICAgICcvOnBhY2thZ2UvOl9yZXY/LzpyZXZpc2lvbj8nLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIG1lZGlhKG1pbWUuZ2V0VHlwZSgnanNvbicpKSxcbiAgICBleHBlY3RKc29uLFxuICAgIHB1Ymxpc2hQYWNrYWdlKHN0b3JhZ2UsIGNvbmZpZywgYXV0aClcbiAgKTtcblxuICAvKipcbiAgICogVW4tcHVibGlzaGluZyBhbiBlbnRpcmUgcGFja2FnZS5cbiAgICpcbiAgICogVGhpcyBzY2VuYXJpbyBoYXBwZW5zIHdoZW4gdGhlIGZpcnN0IGNhbGwgZGV0ZWN0IHRoZXJlIGlzIG9ubHkgb25lIHZlcnNpb24gcmVtYWluaW5nXG4gICAqIGluIHRoZSBtZXRhZGF0YSwgdGhlbiB0aGUgY2xpZW50IGRlY2lkZXMgdG8gREVMRVRFIHRoZSByZXNvdXJjZVxuICAgKiBucG0gaHR0cCBmZXRjaCBHRVQgMzA0IGh0dHA6Ly9sb2NhbGhvc3Q6NDg3My9Ac2NvcGUlMmZ0ZXN0MT93cml0ZT10cnVlIDEwNzZtcyAoZnJvbSBjYWNoZSlcbiAgICAgbnBtIGh0dHAgZmV0Y2ggREVMRVRFIDIwMSBodHRwOi8vbG9jYWxob3N0OjQ4NzMvQHNjb3BlJTJmdGVzdDEvLXJldi8xOC1kOGViZTMwMjBiZDRhYzljIDIybXNcbiAgICovXG4gIHJvdXRlci5kZWxldGUoJy86cGFja2FnZS8tcmV2LyonLCBjYW4oJ3VucHVibGlzaCcpLCB1blB1Ymxpc2hQYWNrYWdlKHN0b3JhZ2UpKTtcblxuICAvLyByZW1vdmluZyBhIHRhcmJhbGxcbiAgcm91dGVyLmRlbGV0ZShcbiAgICAnLzpwYWNrYWdlLy0vOmZpbGVuYW1lLy1yZXYvOnJldmlzaW9uJyxcbiAgICBjYW4oJ3VucHVibGlzaCcpLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIHJlbW92ZVRhcmJhbGwoc3RvcmFnZSlcbiAgKTtcblxuICAvLyB1cGxvYWRpbmcgcGFja2FnZSB0YXJiYWxsXG4gIHJvdXRlci5wdXQoXG4gICAgJy86cGFja2FnZS8tLzpmaWxlbmFtZS8qJyxcbiAgICBjYW4oJ3B1Ymxpc2gnKSxcbiAgICBtZWRpYShIRUFERVJTLk9DVEVUX1NUUkVBTSksXG4gICAgdXBsb2FkUGFja2FnZVRhcmJhbGwoc3RvcmFnZSlcbiAgKTtcblxuICAvLyBhZGRpbmcgYSB2ZXJzaW9uXG4gIHJvdXRlci5wdXQoXG4gICAgJy86cGFja2FnZS86dmVyc2lvbi8tdGFnLzp0YWcnLFxuICAgIGNhbigncHVibGlzaCcpLFxuICAgIG1lZGlhKG1pbWUuZ2V0VHlwZSgnanNvbicpKSxcbiAgICBleHBlY3RKc29uLFxuICAgIGFkZFZlcnNpb24oc3RvcmFnZSlcbiAgKTtcbn1cblxuLyoqXG4gKiBQdWJsaXNoIGEgcGFja2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaFBhY2thZ2Uoc3RvcmFnZTogU3RvcmFnZSwgY29uZmlnOiBDb25maWcsIGF1dGg6IEF1dGgpOiBhbnkge1xuICBjb25zdCBzdGFyQXBpID0gc3RhcihzdG9yYWdlKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGRlYnVnKCdwdWJsaXNoaW5nIG9yIHVwZGF0aW5nIGEgbmV3IHZlcnNpb24gZm9yICVvJywgcGFja2FnZU5hbWUpO1xuICAgIC8qKlxuICAgICAqIFdyaXRlIHRhcmJhbGwgb2Ygc3RyZWFtIGRhdGEgZnJvbSBwYWNrYWdlIGNsaWVudHMuXG4gICAgICovXG4gICAgY29uc3QgY3JlYXRlVGFyYmFsbCA9IGZ1bmN0aW9uIChmaWxlbmFtZTogc3RyaW5nLCBkYXRhLCBjYjogQ2FsbGJhY2spOiB2b2lkIHtcbiAgICAgIGNvbnN0IHN0cmVhbSA9IHN0b3JhZ2UuYWRkVGFyYmFsbChwYWNrYWdlTmFtZSwgZmlsZW5hbWUpO1xuICAgICAgc3RyZWFtLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgY2IoZXJyKTtcbiAgICAgIH0pO1xuICAgICAgc3RyZWFtLm9uKCdzdWNjZXNzJywgZnVuY3Rpb24gKCkge1xuICAgICAgICBjYigpO1xuICAgICAgfSk7XG4gICAgICAvLyB0aGlzIGlzIGR1bWIgYW5kIG1lbW9yeS1jb25zdW1pbmcsIGJ1dCB3aGF0IGNob2ljZXMgZG8gd2UgaGF2ZT9cbiAgICAgIC8vIGZsb3c6IHdlIG5lZWQgZmlyc3QgcmVmYWN0b3IgdGhpcyBmaWxlIGJlZm9yZSBkZWNpZGVzIHdoaWNoIHR5cGUgdXNlIGhlcmVcbiAgICAgIHN0cmVhbS5lbmQoQnVmZmVyLmZyb20oZGF0YS5kYXRhLCAnYmFzZTY0JykpO1xuICAgICAgc3RyZWFtLmRvbmUoKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQWRkIG5ldyBwYWNrYWdlIHZlcnNpb24gaW4gc3RvcmFnZVxuICAgICAqL1xuICAgIGNvbnN0IGNyZWF0ZVZlcnNpb24gPSBmdW5jdGlvbiAodmVyc2lvbjogc3RyaW5nLCBtZXRhZGF0YTogVmVyc2lvbiwgY2I6IENhbGxiYWNrKTogdm9pZCB7XG4gICAgICBzdG9yYWdlLmFkZFZlcnNpb24ocGFja2FnZU5hbWUsIHZlcnNpb24sIG1ldGFkYXRhLCBudWxsLCBjYik7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEFkZCBuZXcgdGFncyBpbiBzdG9yYWdlXG4gICAgICovXG4gICAgY29uc3QgYWRkVGFncyA9IGZ1bmN0aW9uICh0YWdzOiBNZXJnZVRhZ3MsIGNiOiBDYWxsYmFjayk6IHZvaWQge1xuICAgICAgc3RvcmFnZS5tZXJnZVRhZ3MocGFja2FnZU5hbWUsIHRhZ3MsIGNiKTtcbiAgICB9O1xuXG4gICAgY29uc3QgYWZ0ZXJDaGFuZ2UgPSBmdW5jdGlvbiAoZXJyb3IsIG9rTWVzc2FnZSwgbWV0YWRhdGEpOiB2b2lkIHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhQ29weTogUGFja2FnZSA9IHsgLi4ubWV0YWRhdGEgfTtcblxuICAgICAgY29uc3QgeyBfYXR0YWNobWVudHMsIHZlcnNpb25zIH0gPSBtZXRhZGF0YUNvcHk7XG5cbiAgICAgIC8vIGBucG0gc3RhcmAgd291bGRuJ3QgaGF2ZSBhdHRhY2htZW50c1xuICAgICAgLy8gYW5kIGBucG0gZGVwcmVjYXRlYCB3b3VsZCBoYXZlIGF0dGFjaG1lbnRzIGFzIGEgZW1wdHkgb2JqZWN0LCBpLmUge31cbiAgICAgIGlmIChfLmlzTmlsKF9hdHRhY2htZW50cykgfHwgSlNPTi5zdHJpbmdpZnkoX2F0dGFjaG1lbnRzKSA9PT0gJ3t9Jykge1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gbmV4dChlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAgIG9rOiBva01lc3NhZ2UsXG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIG5wbS1yZWdpc3RyeS1jbGllbnQgMC4zKyBlbWJlZHMgdGFyYmFsbCBpbnRvIHRoZSBqc29uIHVwbG9hZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2lzYWFjcy9ucG0tcmVnaXN0cnktY2xpZW50L2NvbW1pdC9lOWZiZWI4YjY3ZjI0OTM5NGY3MzVjNzRlZjExZmU0NzIwZDQ2Y2EwXG4gICAgICAvLyBpc3N1ZSBodHRwczovL2dpdGh1Yi5jb20vcmxpZHdrYS9zaW5vcGlhL2lzc3Vlcy8zMSwgZGVhbGluZyB3aXRoIGl0IGhlcmU6XG4gICAgICBjb25zdCBpc0ludmFsaWRCb2R5Rm9ybWF0ID1cbiAgICAgICAgaXNPYmplY3QoX2F0dGFjaG1lbnRzKSA9PT0gZmFsc2UgfHxcbiAgICAgICAgaGFzRGlmZk9uZUtleShfYXR0YWNobWVudHMpIHx8XG4gICAgICAgIGlzT2JqZWN0KHZlcnNpb25zKSA9PT0gZmFsc2UgfHxcbiAgICAgICAgaGFzRGlmZk9uZUtleSh2ZXJzaW9ucyk7XG5cbiAgICAgIGlmIChpc0ludmFsaWRCb2R5Rm9ybWF0KSB7XG4gICAgICAgIC8vIG5wbSBpcyBkb2luZyBzb21ldGhpbmcgc3RyYW5nZSBhZ2FpblxuICAgICAgICAvLyBpZiB0aGlzIGhhcHBlbnMgaW4gbm9ybWFsIGNpcmN1bXN0YW5jZXMsIHJlcG9ydCBpdCBhcyBhIGJ1Z1xuICAgICAgICBsb2dnZXIuaW5mbyh7IHBhY2thZ2VOYW1lIH0sIGB3cm9uZyBwYWNrYWdlIGZvcm1hdCBvbiBwdWJsaXNoIGEgcGFja2FnZSBAe3BhY2thZ2VOYW1lfWApO1xuICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0QmFkUmVxdWVzdChBUElfRVJST1IuVU5TVVBPUlRFRF9SRUdJU1RSWV9DQUxMKSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlcnJvciAmJiBlcnJvci5zdGF0dXMgIT09IEhUVFBfU1RBVFVTLkNPTkZMSUNUKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgLy8gYXQgdGhpcyBwb2ludCBkb2N1bWVudCBpcyBlaXRoZXIgY3JlYXRlZCBvciBleGlzdGVkIGJlZm9yZVxuICAgICAgY29uc3QgW2ZpcnN0QXR0YWNobWVudEtleV0gPSBPYmplY3Qua2V5cyhfYXR0YWNobWVudHMpO1xuXG4gICAgICBjcmVhdGVUYXJiYWxsKFxuICAgICAgICBQYXRoLmJhc2VuYW1lKGZpcnN0QXR0YWNobWVudEtleSksXG4gICAgICAgIF9hdHRhY2htZW50c1tmaXJzdEF0dGFjaG1lbnRLZXldLFxuICAgICAgICBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB2ZXJzaW9uVG9QdWJsaXNoID0gT2JqZWN0LmtleXModmVyc2lvbnMpWzBdO1xuICAgICAgICAgIGNvbnN0IHZlcnNpb25NZXRhZGF0YVRvUHVibGlzaCA9IHZlcnNpb25zW3ZlcnNpb25Ub1B1Ymxpc2hdO1xuXG4gICAgICAgICAgdmVyc2lvbk1ldGFkYXRhVG9QdWJsaXNoLnJlYWRtZSA9XG4gICAgICAgICAgICBfLmlzTmlsKHZlcnNpb25NZXRhZGF0YVRvUHVibGlzaC5yZWFkbWUpID09PSBmYWxzZVxuICAgICAgICAgICAgICA/IFN0cmluZyh2ZXJzaW9uTWV0YWRhdGFUb1B1Ymxpc2gucmVhZG1lKVxuICAgICAgICAgICAgICA6ICcnO1xuXG4gICAgICAgICAgY3JlYXRlVmVyc2lvbih2ZXJzaW9uVG9QdWJsaXNoLCB2ZXJzaW9uTWV0YWRhdGFUb1B1Ymxpc2gsIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYWRkVGFncyhtZXRhZGF0YUNvcHlbRElTVF9UQUdTXSwgYXN5bmMgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXh0KGVycm9yKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgbm90aWZ5KFxuICAgICAgICAgICAgICAgICAgbWV0YWRhdGFDb3B5LFxuICAgICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgICAgcmVxLnJlbW90ZV91c2VyLFxuICAgICAgICAgICAgICAgICAgYCR7bWV0YWRhdGFDb3B5Lm5hbWV9QCR7dmVyc2lvblRvUHVibGlzaH1gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoeyBlcnJvciB9LCAnbm90aWZ5IGJhdGNoIHNlcnZpY2UgaGFzIGZhaWxlZDogQHtlcnJvcn0nKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KHsgb2s6IG9rTWVzc2FnZSwgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH07XG5cbiAgICBpZiAoaXNQdWJsaXNoYWJsZVBhY2thZ2UocmVxLmJvZHkpID09PSBmYWxzZSAmJiBpc09iamVjdChyZXEuYm9keS51c2VycykpIHtcbiAgICAgIHJldHVybiBzdGFyQXBpKHJlcSwgcmVzLCBuZXh0KTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgbWV0YWRhdGEgPSB2YWxpZGF0aW9VdGlscy5ub3JtYWxpemVNZXRhZGF0YShyZXEuYm9keSwgcGFja2FnZU5hbWUpO1xuICAgICAgLy8gY2hlY2sgX2F0dGFjaG1lbnRzIHRvIGRpc3Rpbmd1aXNoIHB1Ymxpc2ggYW5kIGRlcHJlY2F0ZVxuICAgICAgaWYgKFxuICAgICAgICByZXEucGFyYW1zLl9yZXYgfHxcbiAgICAgICAgKGlzUmVsYXRlZFRvRGVwcmVjYXRpb24ocmVxLmJvZHkpICYmIF8uaXNFbXB0eShyZXEuYm9keS5fYXR0YWNobWVudHMpKVxuICAgICAgKSB7XG4gICAgICAgIGRlYnVnKCd1cGRhdGluZyBhIG5ldyB2ZXJzaW9uIGZvciAlbycsIHBhY2thZ2VOYW1lKTtcbiAgICAgICAgLy8gd2UgY2hlY2sgdW5wdWJsaXNoIHBlcm1pc3Npb25zLCBhbiB1cGRhdGUgaXMgYmFzaWNhbGx5IHJlbW92ZSB2ZXJzaW9uc1xuICAgICAgICBjb25zdCByZW1vdGUgPSByZXEucmVtb3RlX3VzZXI7XG4gICAgICAgIGF1dGguYWxsb3dfdW5wdWJsaXNoKHsgcGFja2FnZU5hbWUgfSwgcmVtb3RlLCAoZXJyb3IpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGxvZ2dlci5lcnJvcih7IHBhY2thZ2VOYW1lIH0sIGBub3QgYWxsb3dlZCB0byB1bnB1Ymxpc2ggYSB2ZXJzaW9uIGZvciBAe3BhY2thZ2VOYW1lfWApO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQoZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdG9yYWdlLmNoYW5nZVBhY2thZ2UocGFja2FnZU5hbWUsIG1ldGFkYXRhLCByZXEucGFyYW1zLnJldmlzaW9uLCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICAgIGFmdGVyQ2hhbmdlKGVycm9yLCBBUElfTUVTU0FHRS5QS0dfQ0hBTkdFRCwgbWV0YWRhdGEpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlYnVnKCdhZGRpbmcgYSBuZXcgdmVyc2lvbiBmb3IgJW8nLCBwYWNrYWdlTmFtZSk7XG4gICAgICAgIHN0b3JhZ2UuYWRkUGFja2FnZShwYWNrYWdlTmFtZSwgbWV0YWRhdGEsIGZ1bmN0aW9uIChlcnJvcikge1xuICAgICAgICAgIGFmdGVyQ2hhbmdlKGVycm9yLCBBUElfTUVTU0FHRS5QS0dfQ1JFQVRFRCwgbWV0YWRhdGEpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKHsgcGFja2FnZU5hbWUgfSwgJ2Vycm9yIG9uIHB1Ymxpc2gsIGJhZCBwYWNrYWdlIGRhdGEgZm9yIEB7cGFja2FnZU5hbWV9Jyk7XG4gICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0QmFkRGF0YShBUElfRVJST1IuQkFEX1BBQ0tBR0VfREFUQSkpO1xuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiB1bi1wdWJsaXNoIGEgcGFja2FnZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdW5QdWJsaXNoUGFja2FnZShzdG9yYWdlOiBTdG9yYWdlKSB7XG4gIHJldHVybiBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiAkUmVzcG9uc2VFeHRlbmQsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IHJlcS5wYXJhbXMucGFja2FnZTtcbiAgICBkZWJ1ZygndW5wdWJsaXNoaW5nICVvJywgcGFja2FnZU5hbWUpO1xuICAgIHN0b3JhZ2UucmVtb3ZlUGFja2FnZShwYWNrYWdlTmFtZSwgZnVuY3Rpb24gKGVycikge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgfVxuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgIHJldHVybiBuZXh0KHsgb2s6IEFQSV9NRVNTQUdFLlBLR19SRU1PVkVEIH0pO1xuICAgIH0pO1xuICB9O1xufVxuXG4vKipcbiAqIERlbGV0ZSB0YXJiYWxsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVUYXJiYWxsKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGNvbnN0IHsgZmlsZW5hbWUsIHJldmlzaW9uIH0gPSByZXEucGFyYW1zO1xuICAgIGRlYnVnKCdyZW1vdmluZyBhIHRhcmJhbGwgZm9yICVvLSVvLSVvJywgcGFja2FnZU5hbWUsIGZpbGVuYW1lLCByZXZpc2lvbik7XG4gICAgc3RvcmFnZS5yZW1vdmVUYXJiYWxsKHBhY2thZ2VOYW1lLCBmaWxlbmFtZSwgcmV2aXNpb24sIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgIH1cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICBkZWJ1Zygnc3VjY2VzcyByZW1vdmUgdGFyYmFsbCBmb3IgJW8tJW8tJW8nLCBwYWNrYWdlTmFtZSwgZmlsZW5hbWUsIHJldmlzaW9uKTtcbiAgICAgIHJldHVybiBuZXh0KHsgb2s6IEFQSV9NRVNTQUdFLlRBUkJBTExfUkVNT1ZFRCB9KTtcbiAgICB9KTtcbiAgfTtcbn1cbi8qKlxuICogQWRkcyBhIG5ldyB2ZXJzaW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRWZXJzaW9uKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHsgdmVyc2lvbiwgdGFnIH0gPSByZXEucGFyYW1zO1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuXG4gICAgc3RvcmFnZS5hZGRWZXJzaW9uKHBhY2thZ2VOYW1lLCB2ZXJzaW9uLCByZXEuYm9keSwgdGFnLCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gbmV4dChlcnJvcik7XG4gICAgICB9XG5cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICByZXR1cm4gbmV4dCh7XG4gICAgICAgIG9rOiBBUElfTUVTU0FHRS5QS0dfUFVCTElTSEVELFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG59XG5cbi8qKlxuICogdXBsb2FkUGFja2FnZVRhcmJhbGxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwbG9hZFBhY2thZ2VUYXJiYWxsKHN0b3JhZ2U6IFN0b3JhZ2UpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgIGNvbnN0IHBhY2thZ2VOYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGNvbnN0IHN0cmVhbSA9IHN0b3JhZ2UuYWRkVGFyYmFsbChwYWNrYWdlTmFtZSwgcmVxLnBhcmFtcy5maWxlbmFtZSk7XG4gICAgcmVxLnBpcGUoc3RyZWFtKTtcblxuICAgIC8vIGNoZWNraW5nIGlmIGVuZCBldmVudCBjYW1lIGJlZm9yZSBjbG9zaW5nXG4gICAgbGV0IGNvbXBsZXRlID0gZmFsc2U7XG4gICAgcmVxLm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb21wbGV0ZSA9IHRydWU7XG4gICAgICBzdHJlYW0uZG9uZSgpO1xuICAgIH0pO1xuXG4gICAgcmVxLm9uKCdjbG9zZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghY29tcGxldGUpIHtcbiAgICAgICAgc3RyZWFtLmFib3J0KCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBzdHJlYW0ub24oJ2Vycm9yJywgZnVuY3Rpb24gKGVycikge1xuICAgICAgcmV0dXJuIHJlcy5sb2NhbHMucmVwb3J0X2Vycm9yKGVycik7XG4gICAgfSk7XG5cbiAgICBzdHJlYW0ub24oJ3N1Y2Nlc3MnLCBmdW5jdGlvbiAoKSB7XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICBvazogQVBJX01FU1NBR0UuVEFSQkFMTF9VUExPQURFRCxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQUlBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUVBLElBQUFTLGFBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLE1BQUEsR0FBQVYsT0FBQTtBQUVBLElBQUFXLEtBQUEsR0FBQVosc0JBQUEsQ0FBQUMsT0FBQTtBQUEwQixTQUFBRCx1QkFBQWEsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLFFBQUFDLE1BQUEsRUFBQUMsY0FBQSxRQUFBQyxJQUFBLEdBQUFDLE1BQUEsQ0FBQUQsSUFBQSxDQUFBRixNQUFBLE9BQUFHLE1BQUEsQ0FBQUMscUJBQUEsUUFBQUMsT0FBQSxHQUFBRixNQUFBLENBQUFDLHFCQUFBLENBQUFKLE1BQUEsR0FBQUMsY0FBQSxLQUFBSSxPQUFBLEdBQUFBLE9BQUEs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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Response } from 'express';
|
|
2
|
-
import
|
|
3
|
-
|
|
2
|
+
import Storage from '../../../lib/storage';
|
|
3
|
+
import { $NextFunctionVer, $RequestExtend } from '../../../types';
|
|
4
|
+
export default function (storage: Storage): (req: $RequestExtend, res: Response, next: $NextFunctionVer) => void;
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZGVidWciLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9sb2Rhc2giLCJfY29uc3RhbnRzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJvd25LZXlzIiwib2JqZWN0IiwiZW51bWVyYWJsZU9ubHkiLCJrZXlzIiwiT2JqZWN0IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwic3ltYm9scyIsImZpbHRlciIsInN5bSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImZvckVhY2giLCJrZXkiLCJfZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJfdG9Qcm9wZXJ0eUtleSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwiYXJnIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsIlN5bWJvbCIsInRvUHJpbWl0aXZlIiwidW5kZWZpbmVkIiwicmVzIiwiY2FsbCIsIlR5cGVFcnJvciIsIk51bWJlciIsImRlYnVnIiwiYnVpbGREZWJ1ZyIsIl9kZWZhdWx0Iiwic3RvcmFnZSIsInZhbGlkYXRlSW5wdXRzIiwibmV3VXNlcnMiLCJsb2NhbFVzZXJzIiwidXNlcm5hbWUiLCJpc1N0YXIiLCJpc0V4aXN0bG9jYWxVc2VycyIsIl8iLCJpc05pbCIsInJlcSIsIm5leHQiLCJuYW1lIiwicGFyYW1zIiwicGFja2FnZSIsImFmdGVyQ2hhbmdlUGFja2FnZSIsImVyciIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiT0siLCJzdWNjZXNzIiwiZ2V0UGFja2FnZSIsImNhbGxiYWNrIiwiaW5mbyIsIm5ld1N0YXJVc2VyIiwiYm9keSIsIlVTRVJTIiwicmVtb3RlVXNlcm5hbWUiLCJyZW1vdGVfdXNlciIsImxvY2FsU3RhclVzZXJzIiwiaW5jbHVkZXMiLCJ1c2VycyIsInJlZHVjZSIsImNoYW5nZVBhY2thZ2UiLCJfcmV2Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9lbmRwb2ludC9hcGkvc3Rhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IGJ1aWxkRGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IEhUVFBfU1RBVFVTLCBVU0VSUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgU3RvcmFnZSBmcm9tICcuLi8uLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuY29uc3QgZGVidWcgPSBidWlsZERlYnVnKCd2ZXJkYWNjaW86c3RhcicpO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKFxuICBzdG9yYWdlOiBTdG9yYWdlXG4pOiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcikgPT4gdm9pZCB7XG4gIGNvbnN0IHZhbGlkYXRlSW5wdXRzID0gKG5ld1VzZXJzLCBsb2NhbFVzZXJzLCB1c2VybmFtZSwgaXNTdGFyKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc3QgaXNFeGlzdGxvY2FsVXNlcnMgPSBfLmlzTmlsKGxvY2FsVXNlcnNbdXNlcm5hbWVdKSA9PT0gZmFsc2U7XG4gICAgaWYgKGlzU3RhciAmJiBpc0V4aXN0bG9jYWxVc2VycyAmJiBsb2NhbFVzZXJzW3VzZXJuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICghaXNTdGFyICYmIGlzRXhpc3Rsb2NhbFVzZXJzKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSBlbHNlIGlmICghaXNTdGFyICYmICFpc0V4aXN0bG9jYWxVc2Vycykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZXR1cm4gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkID0+IHtcbiAgICBjb25zdCBuYW1lID0gcmVxLnBhcmFtcy5wYWNrYWdlO1xuICAgIGRlYnVnKCdzdGFycmluZyBhIHBhY2thZ2UgZm9yICVvJywgbmFtZSk7XG4gICAgY29uc3QgYWZ0ZXJDaGFuZ2VQYWNrYWdlID0gZnVuY3Rpb24gKGVycj86IEVycm9yKSB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICB9XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgIG5leHQoe1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHN0b3JhZ2UuZ2V0UGFja2FnZSh7XG4gICAgICBuYW1lLFxuICAgICAgcmVxLFxuICAgICAgY2FsbGJhY2s6IGZ1bmN0aW9uIChlcnIsIGluZm8pIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3U3RhclVzZXIgPSByZXEuYm9keVtVU0VSU107XG4gICAgICAgIGNvbnN0IHJlbW90ZVVzZXJuYW1lID0gcmVxLnJlbW90ZV91c2VyLm5hbWU7XG4gICAgICAgIGNvbnN0IGxvY2FsU3RhclVzZXJzID0gaW5mb1tVU0VSU107XG4gICAgICAgIC8vIENoZWNrIGlzIHN0YXIgb3IgdW5zdGFyXG4gICAgICAgIGNvbnN0IGlzU3RhciA9IE9iamVjdC5rZXlzKG5ld1N0YXJVc2VyKS5pbmNsdWRlcyhyZW1vdGVVc2VybmFtZSk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBfLmlzTmlsKGxvY2FsU3RhclVzZXJzKSA9PT0gZmFsc2UgJiZcbiAgICAgICAgICB2YWxpZGF0ZUlucHV0cyhuZXdTdGFyVXNlciwgbG9jYWxTdGFyVXNlcnMsIHJlbW90ZVVzZXJuYW1lLCBpc1N0YXIpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBhZnRlckNoYW5nZVBhY2thZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1c2VycyA9IGlzU3RhclxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5sb2NhbFN0YXJVc2VycyxcbiAgICAgICAgICAgICAgW3JlbW90ZVVzZXJuYW1lXTogdHJ1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IF8ucmVkdWNlKFxuICAgICAgICAgICAgICBsb2NhbFN0YXJVc2VycyxcbiAgICAgICAgICAgICAgKHVzZXJzLCB2YWx1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGtleSAhPT0gcmVtb3RlVXNlcm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgIHVzZXJzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJzO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7fVxuICAgICAgICAgICAgKTtcbiAgICAgICAgc3RvcmFnZS5jaGFuZ2VQYWNrYWdlKG5hbWUsIHsgLi4uaW5mbywgdXNlcnMgfSwgcmVxLmJvZHkuX3JldiwgZnVuY3Rpb24gKGVycikge1xuICAgICAgICAgIGFmdGVyQ2hhbmdlUGFja2FnZShlcnIpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FB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
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
|
-
import
|
|
3
|
-
export default function (route: Router, storage:
|
|
2
|
+
import Storage from '../../../lib/storage';
|
|
3
|
+
export default function (route: Router, storage: Storage): void;
|
|
@@ -31,4 +31,4 @@ function _default(route, storage) {
|
|
|
31
31
|
});
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfY29yZSIsIl9jb25zdGFudHMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9kZWZhdWx0Iiwicm91dGUiLCJzdG9yYWdlIiwiZ2V0IiwicmVxIiwicmVzIiwibmV4dCIsInF1ZXJ5Iiwia2V5IiwiZXJyb3JVdGlscyIsImdldEJhZFJlcXVlc3QiLCJnZXRMb2NhbERhdGFiYXNlIiwiZXJyIiwibG9jYWxQYWNrYWdlcyIsImZpbHRlcmVkUGFja2FnZXMiLCJmaWx0ZXIiLCJsb2NhbFBhY2thZ2UiLCJfIiwia2V5cyIsIlVTRVJTIiwiaW5jbHVkZXMiLCJ0b1N0cmluZyIsInJlcGxhY2UiLCJzdGF0dXMiLCJIVFRQX1NUQVRVUyIsIk9LIiwicm93cyIsIm1hcCIsImZpbHRlcmVkUGFja2FnZSIsInZhbHVlIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3N0YXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlLCBSb3V0ZXIgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IGVycm9yVXRpbHMgfSBmcm9tICdAdmVyZGFjY2lvL2NvcmUnO1xuaW1wb3J0IHsgTWFuaWZlc3QsIFZlcnNpb24gfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IHsgSFRUUF9TVEFUVVMsIFVTRVJTIH0gZnJvbSAnLi4vLi4vLi4vbGliL2NvbnN0YW50cyc7XG5pbXBvcnQgU3RvcmFnZSBmcm9tICcuLi8uLi8uLi9saWIvc3RvcmFnZSc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHJvdXRlOiBSb3V0ZXIsIHN0b3JhZ2U6IFN0b3JhZ2UpOiB2b2lkIHtcbiAgcm91dGUuZ2V0KFxuICAgICcvLS9fdmlldy9zdGFycmVkQnlVc2VyJyxcbiAgICAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQgPT4ge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgcXVlcnk6IHsga2V5OiBzdHJpbmcgfSA9IHJlcS5xdWVyeTtcbiAgICAgIGlmICh0eXBlb2YgcXVlcnk/LmtleSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoZXJyb3JVdGlscy5nZXRCYWRSZXF1ZXN0KCdtaXNzaW5nIHF1ZXJ5IGtleSB1c2VybmFtZScpKTtcbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc3RvcmFnZS5nZXRMb2NhbERhdGFiYXNlKChlcnIsIGxvY2FsUGFja2FnZXM6IFZlcnNpb25bXSkgPT4ge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgcmV0dXJuIG5leHQoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkUGFja2FnZXM6IFZlcnNpb25bXSA9IGxvY2FsUGFja2FnZXMuZmlsdGVyKChsb2NhbFBhY2thZ2U6IFZlcnNpb24pID0+XG4gICAgICAgICAgXy5rZXlzKGxvY2FsUGFja2FnZVtVU0VSU10pLmluY2x1ZGVzKHF1ZXJ5Py5rZXkudG9TdHJpbmcoKS5yZXBsYWNlKC9bJ1wiXSsvZywgJycpKVxuICAgICAgICApO1xuXG4gICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spO1xuICAgICAgICBuZXh0KHtcbiAgICAgICAgICByb3dzOiBmaWx0ZXJlZFBhY2thZ2VzLm1hcCgoZmlsdGVyZWRQYWNrYWdlOiBWZXJzaW9uKSA9PiAoe1xuICAgICAgICAgICAgdmFsdWU6IGZpbHRlcmVkUGFja2FnZS5uYW1lLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUdBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUE0RCxTQUFBRCx1QkFBQUksR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUk3QyxTQUFBRyxTQUFVQyxLQUFhLEVBQUVDLE9BQWdCLEVBQVE7RUFDOURELEtBQUssQ0FBQ0UsR0FBRyxDQUNQLHdCQUF3QixFQUN4QixDQUFDQyxHQUFtQixFQUFFQyxHQUFhLEVBQUVDLElBQXNCLEtBQVc7SUFDcEU7SUFDQSxNQUFNQyxLQUFzQixHQUFHSCxHQUFHLENBQUNHLEtBQUs7SUFDeEMsSUFBSSxRQUFPQSxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRUMsR0FBRyxNQUFLLFFBQVEsRUFBRTtNQUNsQyxPQUFPRixJQUFJLENBQUNHLGdCQUFVLENBQUNDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3JFOztJQUVBO0lBQ0FSLE9BQU8sQ0FBQ1MsZ0JBQWdCLENBQUMsQ0FBQ0MsR0FBRyxFQUFFQyxhQUF3QixLQUFLO01BQzFELElBQUlELEdBQUcsRUFBRTtRQUNQLE9BQU9OLElBQUksQ0FBQ00sR0FBRyxDQUFDO01BQ2xCO01BRUEsTUFBTUUsZ0JBQTJCLEdBQUdELGFBQWEsQ0FBQ0UsTUFBTSxDQUFFQyxZQUFxQixJQUM3RUMsZUFBQyxDQUFDQyxJQUFJLENBQUNGLFlBQVksQ0FBQ0csZ0JBQUssQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQ2IsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVDLEdBQUcsQ0FBQ2EsUUFBUSxFQUFFLENBQUNDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDbEY7TUFFRGpCLEdBQUcsQ0FBQ2tCLE1BQU0sQ0FBQ0Msc0JBQVcsQ0FBQ0MsRUFBRSxDQUFDO01BQzFCbkIsSUFBSSxDQUFDO1FBQ0hvQixJQUFJLEVBQUVaLGdCQUFnQixDQUFDYSxHQUFHLENBQUVDLGVBQXdCLEtBQU07VUFDeERDLEtBQUssRUFBRUQsZUFBZSxDQUFDRTtRQUN6QixDQUFDLENBQUM7TUFDSixDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7RUFDSixDQUFDLENBQ0Y7QUFDSCJ9
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
2
|
import { Config } from '@verdaccio/types';
|
|
3
|
-
import
|
|
4
|
-
export default function (route: Router, auth:
|
|
3
|
+
import Auth from '../../../lib/auth';
|
|
4
|
+
export default function (route: Router, auth: Auth, config: Config): void;
|
|
@@ -93,4 +93,4 @@ function _default(route, auth, config) {
|
|
|
93
93
|
});
|
|
94
94
|
route.use(userRouter);
|
|
95
95
|
}
|
|
96
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29va2llcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2V4cHJlc3MiLCJfbG9kYXNoIiwiX2NvbmZpZyIsIl9taWRkbGV3YXJlIiwiX3V0aWxzIiwiX2F1dGhVdGlscyIsIl9jb25zdGFudHMiLCJfbG9nZ2VyIiwiX3V0aWxzMiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2RlZmF1bHQiLCJyb3V0ZSIsImF1dGgiLCJjb25maWciLCJ1c2VyUm91dGVyIiwiZXhwcmVzcyIsIlJvdXRlciIsImdldCIsInJhdGVMaW1pdCIsInVzZXJSYXRlTGltaXQiLCJyZXEiLCJyZXMiLCJuZXh0Iiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJPSyIsIm9rIiwiZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UiLCJyZW1vdGVfdXNlciIsIm5hbWUiLCJwdXQiLCJwYXNzd29yZCIsImJvZHkiLCJyZW1vdGVOYW1lIiwiXyIsImlzTmlsIiwiYXV0aGVudGljYXRlIiwiY2FsbGJhY2tBdXRoZW50aWNhdGUiLCJlcnIiLCJ1c2VyIiwibG9nZ2VyIiwiZXJyb3IiLCJFcnJvckNvZGUiLCJnZXRDb2RlIiwiVU5BVVRIT1JJWkVEIiwiQVBJX0VSUk9SIiwiQkFEX1VTRVJOQU1FX1BBU1NXT1JEIiwicmVzdG9yZWRSZW1vdGVVc2VyIiwiY3JlYXRlUmVtb3RlVXNlciIsImdyb3VwcyIsInRva2VuIiwiZ2V0QXBpVG9rZW4iLCJDUkVBVEVEIiwic2V0IiwiSEVBREVSUyIsIkNBQ0hFX0NPTlRST0wiLCJ2YWxpZGF0ZVBhc3N3b3JkIiwiQkFEX1JFUVVFU1QiLCJQQVNTV09SRF9TSE9SVCIsImFkZF91c2VyIiwiSU5URVJOQUxfRVJST1IiLCJtZXNzYWdlIiwiZ2V0Q29uZmxpY3QiLCJ1bmRlZmluZWQiLCJkZWxldGUiLCJBUElfTUVTU0FHRSIsIkxPR0dFRF9PVVQiLCJwb3N0IiwiQ29va2llcyIsImNvb2tpZXMiLCJTdHJpbmciLCJNYXRoIiwicmFuZG9tIiwiY3JlYXRlU2Vzc2lvblRva2VuIiwicm9sZXMiLCJ1c2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS91c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb29raWVzIGZyb20gJ2Nvb2tpZXMnO1xuaW1wb3J0IGV4cHJlc3MsIHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgY3JlYXRlUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vY29uZmlnJztcbmltcG9ydCB7IHJhdGVMaW1pdCB9IGZyb20gJ0B2ZXJkYWNjaW8vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBDb25maWcsIFJlbW90ZVVzZXIgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVNlc3Npb25Ub2tlbiwgZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UgfSBmcm9tICdAdmVyZGFjY2lvL3V0aWxzJztcblxuaW1wb3J0IHsgZ2V0QXBpVG9rZW4sIHZhbGlkYXRlUGFzc3dvcmQgfSBmcm9tICcuLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBBUElfRVJST1IsIEFQSV9NRVNTQUdFLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsICRSZXNwb25zZUV4dGVuZCwgSUF1dGggfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIChyb3V0ZTogUm91dGVyLCBhdXRoOiBJQXV0aCwgY29uZmlnOiBDb25maWcpOiB2b2lkIHtcbiAgLyogZXNsaW50IG5ldy1jYXA6b2ZmICovXG4gIGNvbnN0IHVzZXJSb3V0ZXIgPSBleHByZXNzLlJvdXRlcigpO1xuXG4gIHVzZXJSb3V0ZXIuZ2V0KFxuICAgICcvLS91c2VyLzpvcmdfY291Y2hkYl91c2VyJyxcbiAgICByYXRlTGltaXQoY29uZmlnPy51c2VyUmF0ZUxpbWl0KSxcbiAgICBmdW5jdGlvbiAocmVxOiAkUmVxdWVzdEV4dGVuZCwgcmVzOiBSZXNwb25zZSwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5PSyk7XG4gICAgICBuZXh0KHtcbiAgICAgICAgb2s6IGdldEF1dGhlbnRpY2F0ZWRNZXNzYWdlKHJlcS5yZW1vdGVfdXNlci5uYW1lKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICB1c2VyUm91dGVyLnB1dChcbiAgICAnLy0vdXNlci86b3JnX2NvdWNoZGJfdXNlci86X3Jldj8vOnJldmlzaW9uPycsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IHsgbmFtZSwgcGFzc3dvcmQgfSA9IHJlcS5ib2R5O1xuICAgICAgY29uc3QgcmVtb3RlTmFtZSA9IHJlcS5yZW1vdGVfdXNlci5uYW1lO1xuXG4gICAgICBpZiAoXy5pc05pbChyZW1vdGVOYW1lKSA9PT0gZmFsc2UgJiYgXy5pc05pbChuYW1lKSA9PT0gZmFsc2UgJiYgcmVtb3RlTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICBhdXRoLmF1dGhlbnRpY2F0ZShcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHBhc3N3b3JkLFxuICAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIGNhbGxiYWNrQXV0aGVudGljYXRlKGVyciwgdXNlcik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICBsb2dnZXIuZXJyb3IoXG4gICAgICAgICAgICAgICAgeyBuYW1lLCBlcnIgfSxcbiAgICAgICAgICAgICAgICAnYXV0aGVudGljYXRpbmcgZm9yIHVzZXIgQHt1c2VybmFtZX0gZmFpbGVkLiBFcnJvcjogQHtlcnIubWVzc2FnZX0nXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KFxuICAgICAgICAgICAgICAgIEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCwgQVBJX0VSUk9SLkJBRF9VU0VSTkFNRV9QQVNTV09SRClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzdG9yZWRSZW1vdGVVc2VyOiBSZW1vdGVVc2VyID0gY3JlYXRlUmVtb3RlVXNlcihuYW1lLCB1c2VyLmdyb3VwcyB8fCBbXSk7XG4gICAgICAgICAgICBjb25zdCB0b2tlbiA9IGF3YWl0IGdldEFwaVRva2VuKGF1dGgsIGNvbmZpZywgcmVzdG9yZWRSZW1vdGVVc2VyLCBwYXNzd29yZCk7XG5cbiAgICAgICAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuQ1JFQVRFRCk7XG4gICAgICAgICAgICByZXMuc2V0KEhFQURFUlMuQ0FDSEVfQ09OVFJPTCwgJ25vLWNhY2hlLCBuby1zdG9yZScpO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAgICAgICBvazogZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UocmVxLnJlbW90ZV91c2VyLm5hbWUpLFxuICAgICAgICAgICAgICB0b2tlbixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh2YWxpZGF0ZVBhc3N3b3JkKHBhc3N3b3JkKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbmV3LWNhcFxuICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRDb2RlKEhUVFBfU1RBVFVTLkJBRF9SRVFVRVNULCBBUElfRVJST1IuUEFTU1dPUkRfU0hPUlQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGF1dGguYWRkX3VzZXIobmFtZSwgcGFzc3dvcmQsIGFzeW5jIGZ1bmN0aW9uIChlcnIsIHVzZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICBpZiAoZXJyLnN0YXR1cyA+PSBIVFRQX1NUQVRVUy5CQURfUkVRVUVTVCAmJiBlcnIuc3RhdHVzIDwgSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IpIHtcbiAgICAgICAgICAgICAgLy8gV2l0aCBucG0gcmVnaXN0ZXJpbmcgaXMgdGhlIHNhbWUgYXMgbG9nZ2luZyBpbixcbiAgICAgICAgICAgICAgLy8gYW5kIG5wbSBhY2NlcHRzIG9ubHkgYW4gNDA5IGVycm9yLlxuICAgICAgICAgICAgICAvLyBTbywgY2hhbmdpbmcgc3RhdHVzIGNvZGUgaGVyZS5cbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICAgICAgRXJyb3JDb2RlLmdldENvZGUoZXJyLnN0YXR1cywgZXJyLm1lc3NhZ2UpIHx8IEVycm9yQ29kZS5nZXRDb25mbGljdChlcnIubWVzc2FnZSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXh0KGVycik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgdG9rZW4gPVxuICAgICAgICAgICAgbmFtZSAmJiBwYXNzd29yZCA/IGF3YWl0IGdldEFwaVRva2VuKGF1dGgsIGNvbmZpZywgdXNlciwgcGFzc3dvcmQpIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgcmVxLnJlbW90ZV91c2VyID0gdXNlcjtcbiAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuICAgICAgICAgIHJlcy5zZXQoSEVBREVSUy5DQUNIRV9DT05UUk9MLCAnbm8tY2FjaGUsIG5vLXN0b3JlJyk7XG4gICAgICAgICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAgICAgb2s6IGB1c2VyICcke3JlcS5ib2R5Lm5hbWV9JyBjcmVhdGVkYCxcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG5cbiAgdXNlclJvdXRlci5kZWxldGUoXG4gICAgJy8tL3VzZXIvdG9rZW4vKicsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spO1xuICAgICAgbmV4dCh7XG4gICAgICAgIG9rOiBBUElfTUVTU0FHRS5MT0dHRURfT1VULFxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIC8vIHBsYWNlaG9sZGVyICdjYXVzZSBucG0gcmVxdWlyZSB0byBiZSBhdXRoZW50aWNhdGVkIHRvIHB1Ymxpc2hcbiAgLy8gd2UgZG8gbm90IGRvIGFueSByZWFsIGF1dGhlbnRpY2F0aW9uIHlldFxuICB1c2VyUm91dGVyLnBvc3QoXG4gICAgJy9fc2Vzc2lvbicsXG4gICAgQ29va2llcy5leHByZXNzKCksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogJFJlc3BvbnNlRXh0ZW5kLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICByZXMuY29va2llcy5zZXQoJ0F1dGhTZXNzaW9uJywgU3RyaW5nKE1hdGgucmFuZG9tKCkpLCBjcmVhdGVTZXNzaW9uVG9rZW4oKSk7XG5cbiAgICAgIG5leHQoe1xuICAgICAgICBvazogdHJ1ZSxcbiAgICAgICAgbmFtZTogJ3NvbWVib2R5JyxcbiAgICAgICAgcm9sZXM6IFtdLFxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHJvdXRlLnVzZSh1c2VyUm91dGVyKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUcsT0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBRUEsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsT0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsT0FBQSxHQUFBVCxPQUFBO0FBQStDLFNBQUFELHVCQUFBVyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBR2hDLFNBQUFHLFNBQVVDLEtBQWEsRUFBRUMsSUFBVyxFQUFFQyxNQUFjLEVBQVE7RUFDekU7RUFDQSxNQUFNQyxVQUFVLEdBQUdDLGdCQUFPLENBQUNDLE1BQU0sRUFBRTtFQUVuQ0YsVUFBVSxDQUFDRyxHQUFHLENBQ1osMkJBQTJCLEVBQzNCLElBQUFDLHFCQUFTLEVBQUNMLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFTSxhQUFhLENBQUMsRUFDaEMsVUFBVUMsR0FBbUIsRUFBRUMsR0FBYSxFQUFFQyxJQUFzQixFQUFRO0lBQzFFRCxHQUFHLENBQUNFLE1BQU0sQ0FBQ0Msc0JBQVcsQ0FBQ0MsRUFBRSxDQUFDO0lBQzFCSCxJQUFJLENBQUM7TUFDSEksRUFBRSxFQUFFLElBQUFDLDhCQUF1QixFQUFDUCxHQUFHLENBQUNRLFdBQVcsQ0FBQ0MsSUFBSTtJQUNsRCxDQUFDLENBQUM7RUFDSixDQUFDLENBQ0Y7RUFFRGYsVUFBVSxDQUFDZ0IsR0FBRyxDQUNaLDZDQUE2QyxFQUM3QyxJQUFBWixxQkFBUyxFQUFDTCxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRU0sYUFBYSxDQUFDLEVBQ2hDLFVBQVVDLEdBQW1CLEVBQUVDLEdBQWEsRUFBRUMsSUFBc0IsRUFBUTtJQUMxRSxNQUFNO01BQUVPLElBQUk7TUFBRUU7SUFBUyxDQUFDLEdBQUdYLEdBQUcsQ0FBQ1ksSUFBSTtJQUNuQyxNQUFNQyxVQUFVLEdBQUdiLEdBQUcsQ0FBQ1EsV0FBVyxDQUFDQyxJQUFJO0lBRXZDLElBQUlLLGVBQUMsQ0FBQ0MsS0FBSyxDQUFDRixVQUFVLENBQUMsS0FBSyxLQUFLLElBQUlDLGVBQUMsQ0FBQ0MsS0FBSyxDQUFDTixJQUFJLENBQUMsS0FBSyxLQUFLLElBQUlJLFVBQVUsS0FBS0osSUFBSSxFQUFFO01BQ25GakIsSUFBSSxDQUFDd0IsWUFBWSxDQUNmUCxJQUFJLEVBQ0pFLFFBQVEsRUFDUixlQUFlTSxvQkFBb0JBLENBQUNDLEdBQUcsRUFBRUMsSUFBSSxFQUFpQjtRQUM1RCxJQUFJRCxHQUFHLEVBQUU7VUFDUEUsY0FBTSxDQUFDQyxLQUFLLENBQ1Y7WUFBRVosSUFBSTtZQUFFUztVQUFJLENBQUMsRUFDYixtRUFBbUUsQ0FDcEU7VUFDRCxPQUFPaEIsSUFBSSxDQUNUb0IsaUJBQVMsQ0FBQ0MsT0FBTyxDQUFDbkIsc0JBQVcsQ0FBQ29CLFlBQVksRUFBRUMsb0JBQVMsQ0FBQ0MscUJBQXFCLENBQUMsQ0FDN0U7UUFDSDtRQUVBLE1BQU1DLGtCQUE4QixHQUFHLElBQUFDLHdCQUFnQixFQUFDbkIsSUFBSSxFQUFFVSxJQUFJLENBQUNVLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDaEYsTUFBTUMsS0FBSyxHQUFHLE1BQU0sSUFBQUMsc0JBQVcsRUFBQ3ZDLElBQUksRUFBRUMsTUFBTSxFQUFFa0Msa0JBQWtCLEVBQUVoQixRQUFRLENBQUM7UUFFM0VWLEdBQUcsQ0FBQ0UsTUFBTSxDQUFDQyxzQkFBVyxDQUFDNEIsT0FBTyxDQUFDO1FBQy9CL0IsR0FBRyxDQUFDZ0MsR0FBRyxDQUFDQyxrQkFBTyxDQUFDQyxhQUFhLEVBQUUsb0JBQW9CLENBQUM7UUFDcEQsT0FBT2pDLElBQUksQ0FBQztVQUNWSSxFQUFFLEVBQUUsSUFBQUMsOEJBQXVCLEVBQUNQLEdBQUcsQ0FBQ1EsV0FBVyxDQUFDQyxJQUFJLENBQUM7VUFDakRxQjtRQUNGLENBQUMsQ0FBQztNQUNKLENBQUMsQ0FDRjtJQUNILENBQUMsTUFBTTtNQUNMLElBQUksSUFBQU0sMkJBQWdCLEVBQUN6QixRQUFRLENBQUMsS0FBSyxLQUFLLEVBQUU7UUFDeEM7UUFDQSxPQUFPVCxJQUFJLENBQUNvQixpQkFBUyxDQUFDQyxPQUFPLENBQUNuQixzQkFBVyxDQUFDaUMsV0FBVyxFQUFFWixvQkFBUyxDQUFDYSxjQUFjLENBQUMsQ0FBQztNQUNuRjtNQUVBOUMsSUFBSSxDQUFDK0MsUUFBUSxDQUFDOUIsSUFBSSxFQUFFRSxRQUFRLEVBQUUsZ0JBQWdCTyxHQUFHLEVBQUVDLElBQUksRUFBaUI7UUFDdEUsSUFBSUQsR0FBRyxFQUFFO1VBQ1AsSUFBSUEsR0FBRyxDQUFDZixNQUFNLElBQUlDLHNCQUFXLENBQUNpQyxXQUFXLElBQUluQixHQUFHLENBQUNmLE1BQU0sR0FBR0Msc0JBQVcsQ0FBQ29DLGNBQWMsRUFBRTtZQUNwRjtZQUNBO1lBQ0E7WUFDQSxPQUFPdEMsSUFBSSxDQUNUb0IsaUJBQVMsQ0FBQ0MsT0FBTyxDQUFDTCxHQUFHLENBQUNmLE1BQU0sRUFBRWUsR0FBRyxDQUFDdUIsT0FBTyxDQUFDLElBQUluQixpQkFBUyxDQUFDb0IsV0FBVyxDQUFDeEIsR0FBRyxDQUFDdUIsT0FBTyxDQUFDLENBQ2pGO1VBQ0g7VUFDQSxPQUFPdkMsSUFBSSxDQUFDZ0IsR0FBRyxDQUFDO1FBQ2xCO1FBRUEsTUFBTVksS0FBSyxHQUNUckIsSUFBSSxJQUFJRSxRQUFRLEdBQUcsTUFBTSxJQUFBb0Isc0JBQVcsRUFBQ3ZDLElBQUksRUFBRUMsTUFBTSxFQUFFMEIsSUFBSSxFQUFFUixRQUFRLENBQUMsR0FBR2dDLFNBQVM7UUFFaEYzQyxHQUFHLENBQUNRLFdBQVcsR0FBR1csSUFBSTtRQUN0QmxCLEdBQUcsQ0FBQ0UsTUFBTSxDQUFDQyxzQkFBVyxDQUFDNEIsT0FBTyxDQUFDO1FBQy9CL0IsR0FBRyxDQUFDZ0MsR0FBRyxDQUFDQyxrQkFBTyxDQUFDQyxhQUFhLEVBQUUsb0JBQW9CLENBQUM7UUFDcEQsT0FBT2pDLElBQUksQ0FBQztVQUNWSSxFQUFFLEVBQUcsU0FBUU4sR0FBRyxDQUFDWSxJQUFJLENBQUNILElBQUssV0FBVTtVQUNyQ3FCO1FBQ0YsQ0FBQyxDQUFDO01BQ0osQ0FBQyxDQUFDO0lBQ0o7RUFDRixDQUFDLENBQ0Y7RUFFRHBDLFVBQVUsQ0FBQ2tELE1BQU0sQ0FDZixpQkFBaUIsRUFDakIsSUFBQTlDLHFCQUFTLEVBQUNMLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFTSxhQUFhLENBQUMsRUFDaEMsVUFBVUMsR0FBbUIsRUFBRUMsR0FBYSxFQUFFQyxJQUFzQixFQUFRO0lBQzFFRCxHQUFHLENBQUNFLE1BQU0sQ0FBQ0Msc0JBQVcsQ0FBQ0MsRUFBRSxDQUFDO0lBQzFCSCxJQUFJLENBQUM7TUFDSEksRUFBRSxFQUFFdUMsc0JBQVcsQ0FBQ0M7SUFDbEIsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUNGOztFQUVEO0VBQ0E7RUFDQXBELFVBQVUsQ0FBQ3FELElBQUksQ0FDYixXQUFXLEVBQ1hDLGdCQUFPLENBQUNyRCxPQUFPLEVBQUUsRUFDakIsVUFBVUssR0FBbUIsRUFBRUMsR0FBb0IsRUFBRUMsSUFBc0IsRUFBUTtJQUNqRkQsR0FBRyxDQUFDZ0QsT0FBTyxDQUFDaEIsR0FBRyxDQUFDLGFBQWEsRUFBRWlCLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUFDLHlCQUFrQixHQUFFLENBQUM7SUFFM0VuRCxJQUFJLENBQUM7TUFDSEksRUFBRSxFQUFFLElBQUk7TUFDUkcsSUFBSSxFQUFFLFVBQVU7TUFDaEI2QyxLQUFLLEVBQUU7SUFDVCxDQUFDLENBQUM7RUFDSixDQUFDLENBQ0Y7RUFFRC9ELEtBQUssQ0FBQ2dFLEdBQUcsQ0FBQzdELFVBQVUsQ0FBQztBQUN2QiJ9
|
|
96
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29va2llcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2V4cHJlc3MiLCJfbG9kYXNoIiwiX2NvbmZpZyIsIl9taWRkbGV3YXJlIiwiX3V0aWxzIiwiX2F1dGhVdGlscyIsIl9jb25zdGFudHMiLCJfbG9nZ2VyIiwiX3V0aWxzMiIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2RlZmF1bHQiLCJyb3V0ZSIsImF1dGgiLCJjb25maWciLCJ1c2VyUm91dGVyIiwiZXhwcmVzcyIsIlJvdXRlciIsImdldCIsInJhdGVMaW1pdCIsInVzZXJSYXRlTGltaXQiLCJyZXEiLCJyZXMiLCJuZXh0Iiwic3RhdHVzIiwiSFRUUF9TVEFUVVMiLCJPSyIsIm9rIiwiZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UiLCJyZW1vdGVfdXNlciIsIm5hbWUiLCJwdXQiLCJwYXNzd29yZCIsImJvZHkiLCJyZW1vdGVOYW1lIiwiXyIsImlzTmlsIiwiYXV0aGVudGljYXRlIiwiY2FsbGJhY2tBdXRoZW50aWNhdGUiLCJlcnIiLCJ1c2VyIiwibG9nZ2VyIiwiZXJyb3IiLCJFcnJvckNvZGUiLCJnZXRDb2RlIiwiVU5BVVRIT1JJWkVEIiwiQVBJX0VSUk9SIiwiQkFEX1VTRVJOQU1FX1BBU1NXT1JEIiwicmVzdG9yZWRSZW1vdGVVc2VyIiwiY3JlYXRlUmVtb3RlVXNlciIsImdyb3VwcyIsInRva2VuIiwiZ2V0QXBpVG9rZW4iLCJDUkVBVEVEIiwic2V0IiwiSEVBREVSUyIsIkNBQ0hFX0NPTlRST0wiLCJ2YWxpZGF0ZVBhc3N3b3JkIiwiQkFEX1JFUVVFU1QiLCJQQVNTV09SRF9TSE9SVCIsImFkZF91c2VyIiwiSU5URVJOQUxfRVJST1IiLCJtZXNzYWdlIiwiZ2V0Q29uZmxpY3QiLCJ1bmRlZmluZWQiLCJkZWxldGUiLCJBUElfTUVTU0FHRSIsIkxPR0dFRF9PVVQiLCJwb3N0IiwiQ29va2llcyIsImNvb2tpZXMiLCJTdHJpbmciLCJNYXRoIiwicmFuZG9tIiwiY3JlYXRlU2Vzc2lvblRva2VuIiwicm9sZXMiLCJ1c2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL2VuZHBvaW50L2FwaS91c2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb29raWVzIGZyb20gJ2Nvb2tpZXMnO1xuaW1wb3J0IGV4cHJlc3MsIHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgY3JlYXRlUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vY29uZmlnJztcbmltcG9ydCB7IHJhdGVMaW1pdCB9IGZyb20gJ0B2ZXJkYWNjaW8vbWlkZGxld2FyZSc7XG5pbXBvcnQgeyBDb25maWcsIFJlbW90ZVVzZXIgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVNlc3Npb25Ub2tlbiwgZ2V0QXV0aGVudGljYXRlZE1lc3NhZ2UgfSBmcm9tICdAdmVyZGFjY2lvL3V0aWxzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgZ2V0QXBpVG9rZW4sIHZhbGlkYXRlUGFzc3dvcmQgfSBmcm9tICcuLi8uLi8uLi9saWIvYXV0aC11dGlscyc7XG5pbXBvcnQgeyBBUElfRVJST1IsIEFQSV9NRVNTQUdFLCBIRUFERVJTLCBIVFRQX1NUQVRVUyB9IGZyb20gJy4uLy4uLy4uL2xpYi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbGliL2xvZ2dlcic7XG5pbXBvcnQgeyBFcnJvckNvZGUgfSBmcm9tICcuLi8uLi8uLi9saWIvdXRpbHMnO1xuaW1wb3J0IHsgJE5leHRGdW5jdGlvblZlciwgJFJlcXVlc3RFeHRlbmQsICRSZXNwb25zZUV4dGVuZCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKHJvdXRlOiBSb3V0ZXIsIGF1dGg6IEF1dGgsIGNvbmZpZzogQ29uZmlnKTogdm9pZCB7XG4gIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICBjb25zdCB1c2VyUm91dGVyID0gZXhwcmVzcy5Sb3V0ZXIoKTtcblxuICB1c2VyUm91dGVyLmdldChcbiAgICAnLy0vdXNlci86b3JnX2NvdWNoZGJfdXNlcicsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuT0spO1xuICAgICAgbmV4dCh7XG4gICAgICAgIG9rOiBnZXRBdXRoZW50aWNhdGVkTWVzc2FnZShyZXEucmVtb3RlX3VzZXIubmFtZSksXG4gICAgICB9KTtcbiAgICB9XG4gICk7XG5cbiAgdXNlclJvdXRlci5wdXQoXG4gICAgJy8tL3VzZXIvOm9yZ19jb3VjaGRiX3VzZXIvOl9yZXY/LzpyZXZpc2lvbj8nLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICBjb25zdCB7IG5hbWUsIHBhc3N3b3JkIH0gPSByZXEuYm9keTtcbiAgICAgIGNvbnN0IHJlbW90ZU5hbWUgPSByZXEucmVtb3RlX3VzZXIubmFtZTtcblxuICAgICAgaWYgKF8uaXNOaWwocmVtb3RlTmFtZSkgPT09IGZhbHNlICYmIF8uaXNOaWwobmFtZSkgPT09IGZhbHNlICYmIHJlbW90ZU5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgYXV0aC5hdXRoZW50aWNhdGUoXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBwYXNzd29yZCxcbiAgICAgICAgICBhc3luYyBmdW5jdGlvbiBjYWxsYmFja0F1dGhlbnRpY2F0ZShlcnIsIHVzZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICAgIHsgbmFtZSwgZXJyIH0sXG4gICAgICAgICAgICAgICAgJ2F1dGhlbnRpY2F0aW5nIGZvciB1c2VyIEB7dXNlcm5hbWV9IGZhaWxlZC4gRXJyb3I6IEB7ZXJyLm1lc3NhZ2V9J1xuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dChcbiAgICAgICAgICAgICAgICBFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQsIEFQSV9FUlJPUi5CQURfVVNFUk5BTUVfUEFTU1dPUkQpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3RvcmVkUmVtb3RlVXNlcjogUmVtb3RlVXNlciA9IGNyZWF0ZVJlbW90ZVVzZXIobmFtZSwgdXNlci5ncm91cHMgfHwgW10pO1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSBhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHJlc3RvcmVkUmVtb3RlVXNlciwgcGFzc3dvcmQpO1xuXG4gICAgICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLkNSRUFURUQpO1xuICAgICAgICAgICAgcmVzLnNldChIRUFERVJTLkNBQ0hFX0NPTlRST0wsICduby1jYWNoZSwgbm8tc3RvcmUnKTtcbiAgICAgICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICAgICAgb2s6IGdldEF1dGhlbnRpY2F0ZWRNZXNzYWdlKHJlcS5yZW1vdGVfdXNlci5uYW1lKSxcbiAgICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodmFsaWRhdGVQYXNzd29yZChwYXNzd29yZCkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5CQURfUkVRVUVTVCwgQVBJX0VSUk9SLlBBU1NXT1JEX1NIT1JUKSk7XG4gICAgICAgIH1cblxuICAgICAgICBhdXRoLmFkZF91c2VyKG5hbWUsIHBhc3N3b3JkLCBhc3luYyBmdW5jdGlvbiAoZXJyLCB1c2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgaWYgKGVyci5zdGF0dXMgPj0gSFRUUF9TVEFUVVMuQkFEX1JFUVVFU1QgJiYgZXJyLnN0YXR1cyA8IEhUVFBfU1RBVFVTLklOVEVSTkFMX0VSUk9SKSB7XG4gICAgICAgICAgICAgIC8vIFdpdGggbnBtIHJlZ2lzdGVyaW5nIGlzIHRoZSBzYW1lIGFzIGxvZ2dpbmcgaW4sXG4gICAgICAgICAgICAgIC8vIGFuZCBucG0gYWNjZXB0cyBvbmx5IGFuIDQwOSBlcnJvci5cbiAgICAgICAgICAgICAgLy8gU28sIGNoYW5naW5nIHN0YXR1cyBjb2RlIGhlcmUuXG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KFxuICAgICAgICAgICAgICAgIEVycm9yQ29kZS5nZXRDb2RlKGVyci5zdGF0dXMsIGVyci5tZXNzYWdlKSB8fCBFcnJvckNvZGUuZ2V0Q29uZmxpY3QoZXJyLm1lc3NhZ2UpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbmV4dChlcnIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHRva2VuID1cbiAgICAgICAgICAgIG5hbWUgJiYgcGFzc3dvcmQgPyBhd2FpdCBnZXRBcGlUb2tlbihhdXRoLCBjb25maWcsIHVzZXIsIHBhc3N3b3JkKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgIHJlcS5yZW1vdGVfdXNlciA9IHVzZXI7XG4gICAgICAgICAgcmVzLnN0YXR1cyhIVFRQX1NUQVRVUy5DUkVBVEVEKTtcbiAgICAgICAgICByZXMuc2V0KEhFQURFUlMuQ0FDSEVfQ09OVFJPTCwgJ25vLWNhY2hlLCBuby1zdG9yZScpO1xuICAgICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICAgIG9rOiBgdXNlciAnJHtyZXEuYm9keS5uYW1lfScgY3JlYXRlZGAsXG4gICAgICAgICAgICB0b2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICApO1xuXG4gIHVzZXJSb3V0ZXIuZGVsZXRlKFxuICAgICcvLS91c2VyL3Rva2VuLyonLFxuICAgIHJhdGVMaW1pdChjb25maWc/LnVzZXJSYXRlTGltaXQpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6IFJlc3BvbnNlLCBuZXh0OiAkTmV4dEZ1bmN0aW9uVmVyKTogdm9pZCB7XG4gICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLk9LKTtcbiAgICAgIG5leHQoe1xuICAgICAgICBvazogQVBJX01FU1NBR0UuTE9HR0VEX09VVCxcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICAvLyBwbGFjZWhvbGRlciAnY2F1c2UgbnBtIHJlcXVpcmUgdG8gYmUgYXV0aGVudGljYXRlZCB0byBwdWJsaXNoXG4gIC8vIHdlIGRvIG5vdCBkbyBhbnkgcmVhbCBhdXRoZW50aWNhdGlvbiB5ZXRcbiAgdXNlclJvdXRlci5wb3N0KFxuICAgICcvX3Nlc3Npb24nLFxuICAgIENvb2tpZXMuZXhwcmVzcygpLFxuICAgIGZ1bmN0aW9uIChyZXE6ICRSZXF1ZXN0RXh0ZW5kLCByZXM6ICRSZXNwb25zZUV4dGVuZCwgbmV4dDogJE5leHRGdW5jdGlvblZlcik6IHZvaWQge1xuICAgICAgcmVzLmNvb2tpZXMuc2V0KCdBdXRoU2Vzc2lvbicsIFN0cmluZyhNYXRoLnJhbmRvbSgpKSwgY3JlYXRlU2Vzc2lvblRva2VuKCkpO1xuXG4gICAgICBuZXh0KHtcbiAgICAgICAgb2s6IHRydWUsXG4gICAgICAgIG5hbWU6ICdzb21lYm9keScsXG4gICAgICAgIHJvbGVzOiBbXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgKTtcblxuICByb3V0ZS51c2UodXNlclJvdXRlcik7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFFBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFHLE9BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUdBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFVBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE9BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUErQyxTQUFBRCx1QkFBQVcsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUdoQyxTQUFBRyxTQUFVQyxLQUFhLEVBQUVDLElBQVUsRUFBRUMsTUFBYyxFQUFRO0VBQ3hFO0VBQ0EsTUFBTUMsVUFBVSxHQUFHQyxnQkFBTyxDQUFDQyxNQUFNLEVBQUU7RUFFbkNGLFVBQVUsQ0FBQ0csR0FBRyxDQUNaLDJCQUEyQixFQUMzQixJQUFBQyxxQkFBUyxFQUFDTCxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRU0sYUFBYSxDQUFDLEVBQ2hDLFVBQVVDLEdBQW1CLEVBQUVDLEdBQWEsRUFBRUMsSUFBc0IsRUFBUTtJQUMxRUQsR0FBRyxDQUFDRSxNQUFNLENBQUNDLHNCQUFXLENBQUNDLEVBQUUsQ0FBQztJQUMxQkgsSUFBSSxDQUFDO01BQ0hJLEVBQUUsRUFBRSxJQUFBQyw4QkFBdUIsRUFBQ1AsR0FBRyxDQUFDUSxX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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
|
-
import {
|
|
2
|
+
import { ConfigYaml } from '@verdaccio/types';
|
|
3
|
+
import Auth from '../../../../lib/auth';
|
|
3
4
|
export interface Profile {
|
|
4
5
|
tfa: boolean;
|
|
5
6
|
name: string;
|
|
@@ -10,4 +11,4 @@ export interface Profile {
|
|
|
10
11
|
cidr_whitelist: string[] | null;
|
|
11
12
|
fullname: string;
|
|
12
13
|
}
|
|
13
|
-
export default function (auth:
|
|
14
|
+
export default function (auth: Auth, config: ConfigYaml): Router;
|
|
@@ -72,4 +72,4 @@ function _default(auth, config) {
|
|
|
72
72
|
});
|
|
73
73
|
return profileRoute;
|
|
74
74
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzcyIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9taWRkbGV3YXJlIiwiX2F1dGhVdGlscyIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9kZWZhdWx0IiwiYXV0aCIsImNvbmZpZyIsInByb2ZpbGVSb3V0ZSIsIlJvdXRlciIsImJ1aWxkUHJvZmlsZSIsIm5hbWUiLCJ0ZmEiLCJlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIiwiY3JlYXRlZCIsInVwZGF0ZWQiLCJjaWRyX3doaXRlbGlzdCIsImZ1bGxuYW1lIiwiZ2V0IiwicmF0ZUxpbWl0IiwidXNlclJhdGVMaW1pdCIsInJlcSIsInJlcyIsIm5leHQiLCJfIiwiaXNOaWwiLCJyZW1vdGVfdXNlciIsInN0YXR1cyIsIkhUVFBfU1RBVFVTIiwiVU5BVVRIT1JJWkVEIiwibWVzc2FnZSIsIkFQSV9FUlJPUiIsIk1VU1RfQkVfTE9HR0VEIiwicG9zdCIsInBhc3N3b3JkIiwiYm9keSIsInZhbGlkYXRlUGFzc3dvcmQiLCJuZXciLCJFcnJvckNvZGUiLCJnZXRDb2RlIiwiUEFTU1dPUkRfU0hPUlQiLCJjaGFuZ2VQYXNzd29yZCIsIm9sZCIsImVyciIsImlzVXBkYXRlZCIsImlzTnVsbCIsImdldENvbmZsaWN0IiwiZ2V0SW50ZXJuYWxFcnJvciIsIklOVEVSTkFMX1NFUlZFUl9FUlJPUiIsIlNFUlZJQ0VfVU5BVkFJTEFCTEUiLCJTVVBQT1JUX0VSUk9SUyIsIlRGQV9ESVNBQkxFRCIsIklOVEVSTkFMX0VSUk9SIiwiQVBQX0VSUk9SIiwiUFJPRklMRV9FUlJPUiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvZW5kcG9pbnQvYXBpL3YxL3Byb2ZpbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzcG9uc2UsIFJvdXRlciB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuaW1wb3J0IHsgcmF0ZUxpbWl0IH0gZnJvbSAnQHZlcmRhY2Npby9taWRkbGV3YXJlJztcbmltcG9ydCB7IENvbmZpZ1lhbWwgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IEF1dGggZnJvbSAnLi4vLi4vLi4vLi4vbGliL2F1dGgnO1xuaW1wb3J0IHsgdmFsaWRhdGVQYXNzd29yZCB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9hdXRoLXV0aWxzJztcbmltcG9ydCB7IEFQSV9FUlJPUiwgQVBQX0VSUk9SLCBIVFRQX1NUQVRVUywgU1VQUE9SVF9FUlJPUlMgfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY29uc3RhbnRzJztcbmltcG9ydCB7IEVycm9yQ29kZSB9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi91dGlscyc7XG5pbXBvcnQgeyAkTmV4dEZ1bmN0aW9uVmVyLCAkUmVxdWVzdEV4dGVuZCB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcm9maWxlIHtcbiAgdGZhOiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGVtYWlsX3ZlcmlmaWVkOiBib29sZWFuO1xuICBjcmVhdGVkOiBzdHJpbmc7XG4gIHVwZGF0ZWQ6IHN0cmluZztcbiAgY2lkcl93aGl0ZWxpc3Q6IHN0cmluZ1tdIHwgbnVsbDtcbiAgZnVsbG5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGF1dGg6IEF1dGgsIGNvbmZpZzogQ29uZmlnWWFtbCk6IFJvdXRlciB7XG4gIGNvbnN0IHByb2ZpbGVSb3V0ZSA9IFJvdXRlcigpOyAvKiBlc2xpbnQgbmV3LWNhcDogMCAqL1xuICBmdW5jdGlvbiBidWlsZFByb2ZpbGUobmFtZTogc3RyaW5nKTogUHJvZmlsZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRmYTogZmFsc2UsXG4gICAgICBuYW1lLFxuICAgICAgZW1haWw6ICcnLFxuICAgICAgZW1haWxfdmVyaWZpZWQ6IGZhbHNlLFxuICAgICAgY3JlYXRlZDogJycsXG4gICAgICB1cGRhdGVkOiAnJyxcbiAgICAgIGNpZHJfd2hpdGVsaXN0OiBudWxsLFxuICAgICAgZnVsbG5hbWU6ICcnLFxuICAgIH07XG4gIH1cblxuICBwcm9maWxlUm91dGUuZ2V0KFxuICAgICcvdXNlcicsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIGlmIChfLmlzTmlsKHJlcS5yZW1vdGVfdXNlci5uYW1lKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoYnVpbGRQcm9maWxlKHJlcS5yZW1vdGVfdXNlci5uYW1lKSk7XG4gICAgICB9XG5cbiAgICAgIHJlcy5zdGF0dXMoSFRUUF9TVEFUVVMuVU5BVVRIT1JJWkVEKTtcbiAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgbWVzc2FnZTogQVBJX0VSUk9SLk1VU1RfQkVfTE9HR0VELFxuICAgICAgfSk7XG4gICAgfVxuICApO1xuXG4gIHByb2ZpbGVSb3V0ZS5wb3N0KFxuICAgICcvdXNlcicsXG4gICAgcmF0ZUxpbWl0KGNvbmZpZz8udXNlclJhdGVMaW1pdCksXG4gICAgZnVuY3Rpb24gKHJlcTogJFJlcXVlc3RFeHRlbmQsIHJlczogUmVzcG9uc2UsIG5leHQ6ICROZXh0RnVuY3Rpb25WZXIpOiB2b2lkIHtcbiAgICAgIGlmIChfLmlzTmlsKHJlcS5yZW1vdGVfdXNlci5uYW1lKSkge1xuICAgICAgICByZXMuc3RhdHVzKEhUVFBfU1RBVFVTLlVOQVVUSE9SSVpFRCk7XG4gICAgICAgIHJldHVybiBuZXh0KHtcbiAgICAgICAgICBtZXNzYWdlOiBBUElfRVJST1IuTVVTVF9CRV9MT0dHRUQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHBhc3N3b3JkLCB0ZmEgfSA9IHJlcS5ib2R5O1xuICAgICAgY29uc3QgeyBuYW1lIH0gPSByZXEucmVtb3RlX3VzZXI7XG5cbiAgICAgIGlmIChfLmlzTmlsKHBhc3N3b3JkKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHZhbGlkYXRlUGFzc3dvcmQocGFzc3dvcmQubmV3KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAvKiBlc2xpbnQgbmV3LWNhcDpvZmYgKi9cbiAgICAgICAgICByZXR1cm4gbmV4dChFcnJvckNvZGUuZ2V0Q29kZShIVFRQX1NUQVRVUy5VTkFVVEhPUklaRUQsIEFQSV9FUlJPUi5QQVNTV09SRF9TSE9SVCkpO1xuICAgICAgICAgIC8qIGVzbGludCBuZXctY2FwOm9mZiAqL1xuICAgICAgICB9XG5cbiAgICAgICAgYXV0aC5jaGFuZ2VQYXNzd29yZChcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHBhc3N3b3JkLm9sZCxcbiAgICAgICAgICBwYXNzd29yZC5uZXcsXG4gICAgICAgICAgKGVyciwgaXNVcGRhdGVkKTogJE5leHRGdW5jdGlvblZlciA9PiB7XG4gICAgICAgICAgICBpZiAoXy5pc051bGwoZXJyKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgICAgICAgRXJyb3JDb2RlLmdldENvZGUoZXJyLnN0YXR1cywgZXJyLm1lc3NhZ2UpIHx8IEVycm9yQ29kZS5nZXRDb25mbGljdChlcnIubWVzc2FnZSlcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGlzVXBkYXRlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dChidWlsZFByb2ZpbGUocmVxLnJlbW90ZV91c2VyLm5hbWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBuZXh0KEVycm9yQ29kZS5nZXRJbnRlcm5hbEVycm9yKEFQSV9FUlJPUi5JTlRFUk5BTF9TRVJWRVJfRVJST1IpKTtcbiAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKF8uaXNOaWwodGZhKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIG5leHQoXG4gICAgICAgICAgRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuU0VSVklDRV9VTkFWQUlMQUJMRSwgU1VQUE9SVF9FUlJPUlMuVEZBX0RJU0FCTEVEKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5leHQoRXJyb3JDb2RlLmdldENvZGUoSFRUUF9TVEFUVVMuSU5URVJOQUxfRVJST1IsIEFQUF9FUlJPUi5QUk9GSUxFX0VSUk9SKSk7XG4gICAgICB9XG4gICAgfVxuICApO1xuXG4gIHJldHVybiBwcm9maWxlUm91dGU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUlBLElBQUFJLFVBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUFrRCxTQUFBRSx1QkFBQUssR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQWNuQyxTQUFBRyxTQUFVQyxJQUFVLEVBQUVDLE1BQWtCLEVBQVU7RUFDL0QsTUFBTUMsWUFBWSxHQUFHLElBQUFDLGVBQU0sR0FBRSxDQUFDLENBQUM7RUFDL0IsU0FBU0MsWUFBWUEsQ0FBQ0MsSUFBWSxFQUFXO0lBQzNDLE9BQU87TUFDTEMsR0FBRyxFQUFFLEtBQUs7TUFDVkQsSUFBSTtNQUNKRSxLQUFLLEVBQUUsRUFBRTtNQUNUQyxjQUFjLEVBQUUsS0FBSztNQUNyQkMsT0FBTyxFQUFFLEVBQUU7TUFDWEMsT0FBTyxFQUFFLEVBQUU7TUFDWEMsY0FB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
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
2
|
import { Config, Token } from '@verdaccio/types';
|
|
3
|
-
import
|
|
4
|
-
|
|
3
|
+
import Auth from '../../../../lib/auth';
|
|
4
|
+
import Storage from '../../../../lib/storage';
|
|
5
|
+
export type NormalizeToken = Token & {
|
|
5
6
|
created: string;
|
|
6
7
|
};
|
|
7
|
-
export default function (auth:
|
|
8
|
+
export default function (auth: Auth, storage: Storage, config: Config): Router;
|