monkey-front-core 0.0.37 → 0.0.41

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.
@@ -54,6 +54,8 @@ export function MonkeyEcxCoreService(params) {
54
54
  const method = propertyDescriptor.value;
55
55
  propertyDescriptor.value = function (...args) {
56
56
  const context = this;
57
+ console.log('context');
58
+ console.log(context);
57
59
  if (DecoratorsUtils.hasMonkeyEcxServiceAndHandlingProperties(context)) {
58
60
  context?.monkeyecxService?.monkeyecxHandlingService?.clearAll();
59
61
  context?.monkeyecxService?.monkeyecxHandlingService?.setMonkeyEcxServiceCredentials(params);
@@ -108,4 +110,4 @@ export function MonkeyEcxCoreServiceQueue(name, description, params) {
108
110
  return propertyDescriptor;
109
111
  };
110
112
  }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvZGVjb3JhdG9ycy9tb25rZXllY3gtZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxNQUFNLFVBQVUsK0JBQStCO0lBQzdDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxHQUFHLEtBQUssYUFBYSxFQUFFO2dCQUN6QixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVMsR0FBRyxJQUFXO29CQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBQ3JCLElBQUksZUFBZSxDQUFDLHdDQUF3QyxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNyRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQzlEO29CQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUMzQyxPQUFPLE1BQU0sQ0FBQztnQkFDaEIsQ0FBQyxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxN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RUFBRSw4QkFBOEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDN0Y7Z0JBQ0QsT0FBTyxFQUFFLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLHdCQUF3QixDQUN6RSxlQUFlLENBQUMsbUJBQW1CLENBQUM7b0JBQ2xDLElBQUk7b0JBQ0osV0FBVztpQkFDWixDQUFDLENBQ0gsQ0FBQzthQUNIO1lBQ0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDM0MsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDO1FBRUYsT0FBTyxrQkFBa0IsQ0FBQztJQUM1QixDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuLyogZXNsaW50LWRpc2FibGUgc3BhY2UtYmVmb3JlLWZ1bmN0aW9uLXBhcmVuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBmdW5jLW5hbWVzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IERlY29yYXRvcnNVdGlscyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gTW9ua2V5RWN4Q29yZVNlcnZpY2VDb25zdHJ1Y3RvcigpIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSkgPT4ge1xuICAgIE9iamVjdC5lbnRyaWVzKHRhcmdldC5wcm90b3R5cGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgY29uc3QgbWV0aG9kID0gdGFyZ2V0LnByb3RvdHlwZVtrZXldO1xuICAgICAgaWYgKGtleSAhPT0gJ2NvbnN0cnVjdG9yJykge1xuICAgICAgICB0YXJnZXQucHJvdG90eXBlW2tleV0gPSBmdW5jdGlvbiguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzO1xuICAgICAgICAgIGlmIChEZWNvcmF0b3JzVXRpbHMuaGFzTW9ua2V5RWN4U2VydmljZUFuZEhhbmRsaW5nUHJvcGVydGllcyhjb250ZXh0KSkge1xuICAgICAgICAgICAgY29udGV4dC5tb25rZXllY3hTZXJ2aWNlLm1vbmtleWVjeEhhbmRsaW5nU2VydmljZS5jbGVhckFsbCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBtZXRob2QuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9ua2V5RWN4Q29yZUxvZyh0cDogc3RyaW5nKSB7XG4gIHJldHVybiBmdW5jdGlvbihcbiAgICB0YXJnZXQ6IE9iamVjdCxcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eURlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvclxuICApOiBQcm9wZXJ0eURlc2NyaXB0b3Ige1xuICAgIGNvbnN0IG1ldGhvZCA9IHByb3BlcnR5RGVzY3JpcHRvci52YWx1ZTtcbiAgICBwcm9wZXJ0eURlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgY29uc3QgcGFyYW1zID0gYXJnc1xuICAgICAgICAubWFwKChhOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCk7XG4gICAgICBjb25zdCByZXN1bHQgPSBtZXRob2QuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICBjb25zdCByID0gSlNPTi5zdHJpbmdpZnkocmVzdWx0KTtcbiAgICAgIGNvbnNvbGUubG9nKGBDYWxsOiAke3Byb3BlcnR5TmFtZX0oJHtwYXJhbXN9KSA9PiAke3J9YCk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG5cbiAgICByZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gTW9ua2V5RWN4Q29yZUNsZWFyRGVjb3JhdG9ycygpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKFxuICAgIHRhcmdldDogT2JqZWN0LFxuICAgIHByb3BlcnR5TmFtZTogc3RyaW5nLFxuICAgIHByb3BlcnR5RGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yXG4gICk6IFByb3BlcnR5RGVzY3JpcHRvciB7XG4gICAgY29uc3QgbWV0aG9kID0gcHJvcGVydHlEZXNjcmlwdG9yLnZhbHVlO1xuXG4gICAgcHJvcGVydHlEZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24oLi4uYXJnczogYW55W10pIHtcbiAgICAgIGNvbnN0IGNvbnRleHQ6IGFueSA9IHRoaXM7XG4gICAgICBpZiAoRGVjb3JhdG9yc1V0aWxzLmhhc01vbmtleUVjeFNlcnZpY2VBbmRIYW5kbGluZ1Byb3BlcnRpZXMoY29udGV4dCkpIHtcbiAgICAgICAgY29udGV4dD8ubW9ua2V5ZWN4U2VydmljZT8ubW9ua2V5ZWN4SGFuZGxpbmdTZXJ2aWNlPy5jbGVhckFsbCgpO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVzdWx0ID0gbWV0aG9kLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHByb3BlcnR5RGVzY3JpcHRvcjtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vbmtleUVjeENvcmVTZXJ2aWNlKHBhcmFtczogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBmdW5jdGlvbihcbiAgICB0YXJnZXQ6IE9iamVjdCxcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eURlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvclxuICApOiBQcm9wZXJ0eURlc2NyaXB0b3Ige1xuICAgIGNvbnN0IG1ldGhvZCA9IHByb3BlcnR5RGVzY3JpcHRvci52YWx1ZTtcblxuICAgIHByb3BlcnR5RGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBjb25zdCBjb250ZXh0OiBhbnkgPSB0aGlzO1xuICAgICAgaWYgKERlY29yYXRvcnNVdGlscy5oYXNNb25rZXlFY3hTZXJ2aWNlQW5kSGFuZGxpbmdQcm9wZXJ0aWVzKGNvbnRleHQpKSB7XG4gICAgICAgIGNvbnRleHQ/Lm1vbmtleWVjeFNlcnZpY2U/Lm1vbmtleWVjeEhhbmRsaW5nU2VydmljZT8uY2xlYXJBbGwoKTtcbiAgICAgICAgY29udGV4dD8ubW9ua2V5ZWN4U2VydmljZT8ubW9ua2V5ZWN4SGFuZGxpbmdTZXJ2aWNlPy5zZXRNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMocGFyYW1zKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG1ldGhvZC5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNb25rZXlFY3hDb3JlU2VydmljZVBhZ2VkKHBhcmFtczogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzKSB7XG4gIHJldHVybiBmdW5jdGlvbihcbiAgICB0YXJnZXQ6IE9iamVjdCxcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eURlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvclxuICApOiBQcm9wZXJ0eURlc2NyaXB0b3Ige1xuICAgIGNvbnN0IG1ldGhvZCA9IHByb3BlcnR5RGVzY3JpcHRvci52YWx1ZTtcblxuICAgIHByb3BlcnR5RGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBjb25zdCBjb250ZXh0OiBhbnkgPSB0aGlzO1xuICAgICAgaWYgKERlY29yYXRvcnNVdGlscy5oYXNNb25rZXlFY3hTZXJ2aWNlQW5kSGFuZGxpbmdQcm9wZXJ0aWVzKGNvbnRleHQpKSB7XG4gICAgICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gY29udGV4dD8ubW9ua2V5ZWN4U2VydmljZT8ubW9ua2V5ZWN4SGFuZGxpbmdTZXJ2aWNlPy5nZXRNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMoKTtcbiAgICAgICAgbGV0IHJlcXVlc3RQYWdlZCA9IG51bGw7XG4gICAgICAgIGlmIChjcmVkZW50aWFscykge1xuICAgICAgICAgIHJlcXVlc3RQYWdlZCA9IGNyZWRlbnRpYWxzLnJlcXVlc3RQYWdlZDtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0Py5tb25rZXllY3hTZXJ2aWNlPy5tb25rZXllY3hIYW5kbGluZ1NlcnZpY2U/LmNsZWFyQWxsKCk7XG4gICAgICAgIGNvbnRleHQ/Lm1vbmtleWVjeFNlcnZpY2U/Lm1vbmtleWVjeEhhbmRsaW5nU2VydmljZT8uc2V0TW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzKHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgLi4uKHJlcXVlc3RQYWdlZCB8fCBudWxsKVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG1ldGhvZC5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNb25rZXlFY3hDb3JlU2VydmljZVF1ZXVlKFxuICBuYW1lOiBzdHJpbmcsXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nLFxuICBwYXJhbXM/OiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHNcbikge1xuICByZXR1cm4gZnVuY3Rpb24oXG4gICAgdGFyZ2V0OiBPYmplY3QsXG4gICAgcHJvcGVydHlOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydHlEZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3JcbiAgKTogUHJvcGVydHlEZXNjcmlwdG9yIHtcbiAgICBjb25zdCBtZXRob2QgPSBwcm9wZXJ0eURlc2NyaXB0b3IudmFsdWU7XG5cbiAgICBwcm9wZXJ0eURlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgY29uc3QgY29udGV4dDogYW55ID0gdGhpcztcbiAgICAgIGlmIChEZWNvcmF0b3JzVXRpbHMuaGFzTW9ua2V5RWN4U2VydmljZUFuZEhhbmRsaW5nUHJvcGVydGllcyhjb250ZXh0KSkge1xuICAgICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChwYXJhbXMpKSB7XG4gICAgICAgICAgY29udGV4dD8ubW9ua2V5ZWN4U2VydmljZT8ubW9ua2V5ZWN4SGFuZGxpbmdTZXJ2aWNlPy5jbGVhckFsbCgpO1xuICAgICAgICAgIGNvbnRleHQ/Lm1vbmtleWVjeFNlcnZpY2U/Lm1vbmtleWVjeEhhbmRsaW5nU2VydmljZT8uc2V0TW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzKHBhcmFtcyk7XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dD8ubW9ua2V5ZWN4U2VydmljZS5tb25rZXllY3hIYW5kbGluZ1NlcnZpY2Uuc2V0TW9ua2V5RWN4UmVxdWVzdFF1ZXVlKFxuICAgICAgICAgIERlY29yYXRvcnNVdGlscy5idWlsZFF1ZXVlUHJvcGVydHlzKHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXN1bHQgPSBtZXRob2QuYXBwbHkoY29udGV4dCwgYXJncyk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG5cbiAgICByZXR1cm4gcHJvcGVydHlEZXNjcmlwdG9yO1xuICB9O1xufVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWRlY29yYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvZGVjb3JhdG9ycy9tb25rZXllY3gtZGVjb3JhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxNQUFNLFVBQVUsK0JBQStCO0lBQzdDLE9BQU8sQ0FBQyxNQUFXLEVBQUUsRUFBRTtRQUNyQixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ3hELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsSUFBSSxHQUFHLEtBQUssYUFBYSxFQUFFO2dCQUN6QixNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFVBQVMsR0FBRyxJQUFXO29CQUM3QyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBQ3JCLElBQUksZUFBZSxDQUFDLHdDQUF3QyxDQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNyRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQzlEO29CQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUMzQyxPQUFPLE1BQU0sQ0FBQztnQkFDaEIsQ0FBQyxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxN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TyxFQUFFLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxDQUFDO29CQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQUUsOEJBQThCLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzdGO2dCQUNELE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyx3QkFBd0IsQ0FDekUsZUFBZSxDQUFDLG1CQUFtQixDQUFDO29CQUNsQyxJQUFJO29CQUNKLFdBQVc7aUJBQ1osQ0FBQyxDQUNILENBQUM7YUFDSDtZQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNDLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQztRQUVGLE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIHNwYWNlLWJlZm9yZS1mdW5jdGlvbi1wYXJlbiAqL1xuLyogZXNsaW50LWRpc2FibGUgZnVuYy1uYW1lcyAqL1xuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBEZWNvcmF0b3JzVXRpbHMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIE1vbmtleUVjeENvcmVTZXJ2aWNlQ29uc3RydWN0b3IoKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnkpID0+IHtcbiAgICBPYmplY3QuZW50cmllcyh0YXJnZXQucHJvdG90eXBlKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGNvbnN0IG1ldGhvZCA9IHRhcmdldC5wcm90b3R5cGVba2V5XTtcbiAgICAgIGlmIChrZXkgIT09ICdjb25zdHJ1Y3RvcicpIHtcbiAgICAgICAgdGFyZ2V0LnByb3RvdHlwZVtrZXldID0gZnVuY3Rpb24oLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcztcbiAgICAgICAgICBpZiAoRGVjb3JhdG9yc1V0aWxzLmhhc01vbmtleUVjeFNlcnZpY2VBbmRIYW5kbGluZ1Byb3BlcnRpZXMoY29udGV4dCkpIHtcbiAgICAgICAgICAgIGNvbnRleHQubW9ua2V5ZWN4U2VydmljZS5tb25rZXllY3hIYW5kbGluZ1NlcnZpY2UuY2xlYXJBbGwoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gbWV0aG9kLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vbmtleUVjeENvcmVMb2codHA6IHN0cmluZykge1xuICByZXR1cm4gZnVuY3Rpb24oXG4gICAgdGFyZ2V0OiBPYmplY3QsXG4gICAgcHJvcGVydHlOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydHlEZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3JcbiAgKTogUHJvcGVydHlEZXNjcmlwdG9yIHtcbiAgICBjb25zdCBtZXRob2QgPSBwcm9wZXJ0eURlc2NyaXB0b3IudmFsdWU7XG4gICAgcHJvcGVydHlEZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24oLi4uYXJnczogYW55W10pIHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IGFyZ3NcbiAgICAgICAgLm1hcCgoYTogYW55KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGEpO1xuICAgICAgICB9KVxuICAgICAgICAuam9pbigpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gbWV0aG9kLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgY29uc3QgciA9IEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XG4gICAgICBjb25zb2xlLmxvZyhgQ2FsbDogJHtwcm9wZXJ0eU5hbWV9KCR7cGFyYW1zfSkgPT4gJHtyfWApO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHByb3BlcnR5RGVzY3JpcHRvcjtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vbmtleUVjeENvcmVDbGVhckRlY29yYXRvcnMoKSB7XG4gIHJldHVybiBmdW5jdGlvbihcbiAgICB0YXJnZXQ6IE9iamVjdCxcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eURlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvclxuICApOiBQcm9wZXJ0eURlc2NyaXB0b3Ige1xuICAgIGNvbnN0IG1ldGhvZCA9IHByb3BlcnR5RGVzY3JpcHRvci52YWx1ZTtcblxuICAgIHByb3BlcnR5RGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBjb25zdCBjb250ZXh0OiBhbnkgPSB0aGlzO1xuICAgICAgaWYgKERlY29yYXRvcnNVdGlscy5oYXNNb25rZXlFY3hTZXJ2aWNlQW5kSGFuZGxpbmdQcm9wZXJ0aWVzKGNvbnRleHQpKSB7XG4gICAgICAgIGNvbnRleHQ/Lm1vbmtleWVjeFNlcnZpY2U/Lm1vbmtleWVjeEhhbmRsaW5nU2VydmljZT8uY2xlYXJBbGwoKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG1ldGhvZC5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBNb25rZXlFY3hDb3JlU2VydmljZShwYXJhbXM6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscykge1xuICByZXR1cm4gZnVuY3Rpb24oXG4gICAgdGFyZ2V0OiBPYmplY3QsXG4gICAgcHJvcGVydHlOYW1lOiBzdHJpbmcsXG4gICAgcHJvcGVydHlEZXNjcmlwdG9yOiBQcm9wZXJ0eURlc2NyaXB0b3JcbiAgKTogUHJvcGVydHlEZXNjcmlwdG9yIHtcbiAgICBjb25zdCBtZXRob2QgPSBwcm9wZXJ0eURlc2NyaXB0b3IudmFsdWU7XG5cbiAgICBwcm9wZXJ0eURlc2NyaXB0b3IudmFsdWUgPSBmdW5jdGlvbiguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgY29uc3QgY29udGV4dDogYW55ID0gdGhpcztcbiAgICAgIGNvbnNvbGUubG9nKCdjb250ZXh0JylcbiAgICAgIGNvbnNvbGUubG9nKGNvbnRleHQpXG4gICAgICBpZiAoRGVjb3JhdG9yc1V0aWxzLmhhc01vbmtleUVjeFNlcnZpY2VBbmRIYW5kbGluZ1Byb3BlcnRpZXMoY29udGV4dCkpIHtcbiAgICAgICAgY29udGV4dD8ubW9ua2V5ZWN4U2VydmljZT8ubW9ua2V5ZWN4SGFuZGxpbmdTZXJ2aWNlPy5jbGVhckFsbCgpO1xuICAgICAgICBjb250ZXh0Py5tb25rZXllY3hTZXJ2aWNlPy5tb25rZXllY3hIYW5kbGluZ1NlcnZpY2U/LnNldE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscyhwYXJhbXMpO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVzdWx0ID0gbWV0aG9kLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHByb3BlcnR5RGVzY3JpcHRvcjtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vbmtleUVjeENvcmVTZXJ2aWNlUGFnZWQocGFyYW1zOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKFxuICAgIHRhcmdldDogT2JqZWN0LFxuICAgIHByb3BlcnR5TmFtZTogc3RyaW5nLFxuICAgIHByb3BlcnR5RGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yXG4gICk6IFByb3BlcnR5RGVzY3JpcHRvciB7XG4gICAgY29uc3QgbWV0aG9kID0gcHJvcGVydHlEZXNjcmlwdG9yLnZhbHVlO1xuXG4gICAgcHJvcGVydHlEZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24oLi4uYXJnczogYW55W10pIHtcbiAgICAgIGNvbnN0IGNvbnRleHQ6IGFueSA9IHRoaXM7XG4gICAgICBpZiAoRGVjb3JhdG9yc1V0aWxzLmhhc01vbmtleUVjeFNlcnZpY2VBbmRIYW5kbGluZ1Byb3BlcnRpZXMoY29udGV4dCkpIHtcbiAgICAgICAgY29uc3QgY3JlZGVudGlhbHMgPSBjb250ZXh0Py5tb25rZXllY3hTZXJ2aWNlPy5tb25rZXllY3hIYW5kbGluZ1NlcnZpY2U/LmdldE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscygpO1xuICAgICAgICBsZXQgcmVxdWVzdFBhZ2VkID0gbnVsbDtcbiAgICAgICAgaWYgKGNyZWRlbnRpYWxzKSB7XG4gICAgICAgICAgcmVxdWVzdFBhZ2VkID0gY3JlZGVudGlhbHMucmVxdWVzdFBhZ2VkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQ/Lm1vbmtleWVjeFNlcnZpY2U/Lm1vbmtleWVjeEhhbmRsaW5nU2VydmljZT8uY2xlYXJBbGwoKTtcbiAgICAgICAgY29udGV4dD8ubW9ua2V5ZWN4U2VydmljZT8ubW9ua2V5ZWN4SGFuZGxpbmdTZXJ2aWNlPy5zZXRNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMoe1xuICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAuLi4ocmVxdWVzdFBhZ2VkIHx8IG51bGwpXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVzdWx0ID0gbWV0aG9kLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgcmV0dXJuIHByb3BlcnR5RGVzY3JpcHRvcjtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vbmtleUVjeENvcmVTZXJ2aWNlUXVldWUoXG4gIG5hbWU6IHN0cmluZyxcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcsXG4gIHBhcmFtcz86IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFsc1xuKSB7XG4gIHJldHVybiBmdW5jdGlvbihcbiAgICB0YXJnZXQ6IE9iamVjdCxcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICBwcm9wZXJ0eURlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvclxuICApOiBQcm9wZXJ0eURlc2NyaXB0b3Ige1xuICAgIGNvbnN0IG1ldGhvZCA9IHByb3BlcnR5RGVzY3JpcHRvci52YWx1ZTtcblxuICAgIHByb3BlcnR5RGVzY3JpcHRvci52YWx1ZSA9IGZ1bmN0aW9uKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBjb25zdCBjb250ZXh0OiBhbnkgPSB0aGlzO1xuICAgICAgaWYgKERlY29yYXRvcnNVdGlscy5oYXNNb25rZXlFY3hTZXJ2aWNlQW5kSGFuZGxpbmdQcm9wZXJ0aWVzKGNvbnRleHQpKSB7XG4gICAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHBhcmFtcykpIHtcbiAgICAgICAgICBjb250ZXh0Py5tb25rZXllY3hTZXJ2aWNlPy5tb25rZXllY3hIYW5kbGluZ1NlcnZpY2U/LmNsZWFyQWxsKCk7XG4gICAgICAgICAgY29udGV4dD8ubW9ua2V5ZWN4U2VydmljZT8ubW9ua2V5ZWN4SGFuZGxpbmdTZXJ2aWNlPy5zZXRNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMocGFyYW1zKTtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0Py5tb25rZXllY3hTZXJ2aWNlLm1vbmtleWVjeEhhbmRsaW5nU2VydmljZS5zZXRNb25rZXlFY3hSZXF1ZXN0UXVldWUoXG4gICAgICAgICAgRGVjb3JhdG9yc1V0aWxzLmJ1aWxkUXVldWVQcm9wZXJ0eXMoe1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG1ldGhvZC5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIHJldHVybiBwcm9wZXJ0eURlc2NyaXB0b3I7XG4gIH07XG59XG4iXX0=
@@ -18,6 +18,7 @@ export * from './monkeyecx-request-in-progress';
18
18
  export * from './monkeyecx-request-paged';
19
19
  export * from './monkeyecx-response-paged';
20
20
  export * from './monkeyecx-service-credentials';
21
+ export * from './monkeyecx-support-options';
21
22
  export * from './monkeyecx-token-credentials';
22
23
  export * from './monkeyecx-translate-options';
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcmVxdWVzdC1kb3dubG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtcXVldWUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LXVwbG9hZCc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlcyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1hdXRoLWNyZWRlbnRpYWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWNvbXBhbnknO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtY29uZmlnLWJvb3N0cmFwJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1lcnJvci1yZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1oYW5kbGVkLWVycm9yLXJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWhlYWRlci1jcmVkZW50aWFscyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1pbnRlcmNvbS1vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LW1lLWNyZWRlbnRpYWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LW5hdmlnYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtcHJvZ3JhbSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1yZWxlYXNlcyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1yZXF1ZXN0LWluLXByb2dyZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXJlcXVlc3QtcGFnZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtcmVzcG9uc2UtcGFnZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtc2VydmljZS1jcmVkZW50aWFscyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC10b2tlbi1jcmVkZW50aWFscyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC10cmFuc2xhdGUtb3B0aW9ucyc7XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LWRvd25sb2FkJztcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWVzdC1xdWV1ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtdXBsb2FkJztcbmV4cG9ydCAqIGZyb20gJy4vc2NoZWR1bGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWF1dGgtY3JlZGVudGlhbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtY29tcGFueSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1jb25maWctYm9vc3RyYXAnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWVycm9yLXJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWhhbmRsZWQtZXJyb3ItcmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtaGVhZGVyLWNyZWRlbnRpYWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWludGVyY29tLW9wdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtbWUtY3JlZGVudGlhbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtbmF2aWdhdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1wcm9ncmFtJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXJlbGVhc2VzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXJlcXVlc3QtaW4tcHJvZ3Jlc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtcmVxdWVzdC1wYWdlZCc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1yZXNwb25zZS1wYWdlZCc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1zZXJ2aWNlLWNyZWRlbnRpYWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LXN1cHBvcnQtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC10b2tlbi1jcmVkZW50aWFscyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC10cmFuc2xhdGUtb3B0aW9ucyc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXN1cHBvcnQtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9pbnRlcmZhY2VzL21vbmtleWVjeC1zdXBwb3J0LW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5RWN4U3VwcG9ydE9wdGlvbnMge1xuICBzZXJ2aWNlOiBhbnk7XG4gIHNob3c6IGJvb2xlYW47XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { NavigationStart } from '@angular/router';
2
+ import { NavigationStart, } from '@angular/router';
3
3
  import { BehaviorSubject, throwError } from 'rxjs';
4
4
  import { filter, take, takeWhile } from 'rxjs/operators';
5
5
  import { MonkeyEcxRequestPagedHandling } from '../request-paged/monkeyecx-request-request-paged-handling';
@@ -35,7 +35,7 @@ export class MonkeyEcxCommonsService {
35
35
  }
36
36
  if (this.otherArgs?.router) {
37
37
  const { clearOnChangeRoute } = this.otherArgs?.schedule?.options || {
38
- clearOnChangeRoute: false
38
+ clearOnChangeRoute: false,
39
39
  };
40
40
  this.otherArgs.router.events
41
41
  .pipe(filter((event) => {
@@ -87,21 +87,21 @@ export class MonkeyEcxCommonsService {
87
87
  403: 'forbidden',
88
88
  404: 'not-found',
89
89
  500: 'service-problems',
90
- 503: 'service-problems'
90
+ 503: 'service-problems',
91
91
  };
92
92
  if (!router) {
93
93
  console.error('Router must be declared');
94
94
  }
95
95
  else {
96
96
  router?.navigate([`/app/pages/${routes[statusCode]}`.toLowerCase()], {
97
- skipLocationChange: true
97
+ skipLocationChange: true,
98
98
  });
99
99
  }
100
100
  }
101
101
  setPage(requestPaged) {
102
102
  this.__requestPaged = {
103
103
  ...this.__requestPaged,
104
- ...requestPaged
104
+ ...requestPaged,
105
105
  };
106
106
  return this;
107
107
  }
@@ -115,8 +115,8 @@ export class MonkeyEcxCommonsService {
115
115
  ...this.__requestPaged,
116
116
  page: {
117
117
  ...page,
118
- number: number + 1
119
- }
118
+ number: number + 1,
119
+ },
120
120
  };
121
121
  return true;
122
122
  }
@@ -150,9 +150,9 @@ export class MonkeyEcxCommonsService {
150
150
  this.flagValidator = false;
151
151
  }
152
152
  resolve(route, state, otherArgs) {
153
- this.__data = null;
154
- this.__page = null;
155
- this.__requestPaged = null;
153
+ //this.__data = null;
154
+ //this.__page = null;
155
+ //this.__requestPaged = null;
156
156
  this.flagValidator = true;
157
157
  if (this.tokenStorage) {
158
158
  this.__tokenCredentials = this.tokenStorage.getToken();
@@ -172,8 +172,8 @@ export class MonkeyEcxCommonsService {
172
172
  this.setPage({
173
173
  page: {
174
174
  number: 0,
175
- size: 10
176
- }
175
+ size: 10,
176
+ },
177
177
  });
178
178
  }
179
179
  if (otherArgs?.callbackPagination) {
@@ -181,8 +181,8 @@ export class MonkeyEcxCommonsService {
181
181
  if (!this.__onLoadingInProgress$.value) {
182
182
  const hasMorePages = this.setPage({
183
183
  page: {
184
- ...this.__page
185
- }
184
+ ...this.__page,
185
+ },
186
186
  }).nextPage();
187
187
  if (hasMorePages && otherArgs?.callbackPagination) {
188
188
  otherArgs.callbackPagination();
@@ -224,7 +224,7 @@ export class MonkeyEcxCommonsService {
224
224
  getHTTPHeaderApplicationPDF() {
225
225
  return {
226
226
  observe: 'response',
227
- responseType: 'blob'
227
+ responseType: 'blob',
228
228
  };
229
229
  }
230
230
  genericMethod(link, data, callback) {
@@ -251,9 +251,7 @@ export class MonkeyEcxCommonsService {
251
251
  });
252
252
  }
253
253
  geti18n(translateService, keys) {
254
- translateService
255
- .getStreamOnTranslationChange(keys)
256
- .subscribe((translations) => {
254
+ translateService.getStreamOnTranslationChange(keys).subscribe((translations) => {
257
255
  this.__i18n = translations;
258
256
  this.__oni18nDataChanged$.next(null);
259
257
  });
@@ -262,8 +260,8 @@ export class MonkeyEcxCommonsService {
262
260
  __decorate([
263
261
  MonkeyEcxCoreService({
264
262
  requestInProgress: {
265
- showProgress: true
266
- }
263
+ showProgress: true,
264
+ },
267
265
  })
268
266
  ], MonkeyEcxCommonsService.prototype, "genericMethod", null);
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxlQUFlLEVBR2hCLE1BQU0saUJBQWlCLENBQUM7QUFHekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFhekQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzdFLE1BQU0sT0FBTyx1QkFBdUI7SUE2Q2xDLFlBQ1MsZ0JBQW1DLEVBQ25DLFlBQTJDLEVBQzNDLFNBV047UUFiTSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUErQjtRQUMzQyxjQUFTLEdBQVQsU0FBUyxDQVdmO1FBMURLLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBTTdCLFlBQU8sR0FBa0MsSUFBSSxDQUFDO1FBRTlDLG1CQUFjLEdBQXlDLElBQUksQ0FBQztRQUU1RCxXQUFNLEdBQWtDLElBQUksQ0FBQztRQUk3QyxtQkFBYyxHQUFpQyxJQUFJLENBQUM7UUFFcEQsdUJBQWtCLEdBQXlCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJFLHFCQUFnQixHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSwyQkFBc0Is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QUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO1NBQ3RDO1FBRUQsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLENBQ2hDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDWixJQUFJLFFBQVE7Z0JBQUUsUUFBUSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxFQUNELENBQUMsR0FBc0IsRUFBRSxFQUFFO1lBQ3pCLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLENBQUMsZ0JBQWtDLEVBQUUsSUFBdUI7UUFDakUsZ0JBQWdCO2FBQ2IsNEJBQTRCLENBQUMsSUFBSSxDQUFDO2FBQ2xDLFNBQVMsQ0FBQyxDQUFDLFlBQWlCLEVBQUUsRUFBRTtZQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztZQUMzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNGO0FBakNDO0lBTEMsb0JBQW9CLENBQUM7UUFDcEIsaUJBQWlCLEVBQUU7WUFDakIsWUFBWSxFQUFFLElBQUk7U0FDbkI7S0FDRixDQUFDOzREQXdCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gIE5hdmlnYXRpb25TdGFydCxcbiAgUm91dGVyLFxuICBSb3V0ZXJTdGF0ZVNuYXBzaG90XG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlLCB0YWtlV2hpbGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBNb25rZXlFY3hFcnJvclJlc3BvbnNlLFxuICBNb25rZXlFY3hIYW5kbGVkRXJyb3JSZXNwb25zZSxcbiAgTW9ua2V5RWN4UmVxdWVzdFBhZ2VkLFxuICBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUsXG4gIE1vbmtleUVjeFJlc3BvbnNlUGFnZWQsXG4gIE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMsXG4gIE1vbmtleUVjeFRyYW5zbGF0ZU9wdGlvbnNcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9tb25rZXllY3gtdG9rZW4tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVNlcnZpY2UgfSBmcm9tICcuLi9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9yZXF1ZXN0LXF1ZXVlL21vbmtleWVjeC1yZXF1ZXN0LXF1ZXVlLWhhbmRsaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFBhZ2VkSGFuZGxpbmcgfSBmcm9tICcuLi9yZXF1ZXN0LXBhZ2VkL21vbmtleWVjeC1yZXF1ZXN0LXJlcXVlc3QtcGFnZWQtaGFuZGxpbmcnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb3JlU2VydmljZSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvbW9ua2V5ZWN4LWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIGZsYWdWYWxpZGF0b3IgPSB0cnVlO1xuXG4gIF9fZGF0YTogYW55IHwgYW55W107XG5cbiAgX19wYXJhbXM6IGFueSB8IGFueVtdO1xuXG4gIF9fZXJyb3I6IE1vbmtleUVjeEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX2hhbmRsZWRFcnJvcjogTW9ua2V5RWN4SGFuZGxlZEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX3BhZ2U6IE1vbmtleUVjeFJlc3BvbnNlUGFnZWQgfCBudWxsID0gbnVsbDtcblxuICBfX3NlYXJjaDogYW55O1xuXG4gIF9fcmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQgfCBudWxsID0gbnVsbDtcblxuICBfX29uU2VhcmNoQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkxvYWRpbmdJblByb2dyZXNzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBfX29uRGF0YURlbGV0ZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkVycm9yQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uR292ZXJubWVudElkRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoXG4gICAgbnVsbFxuICApO1xuXG4gIF9fb25aaXBDb2RlRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbmkxOG5EYXRhQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uRG9TZWFyY2gkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4UmVxdWVzdFBhZ2VkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuXG4gIF9fb25Eb1BhZ2luYXRpb24kOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX190b2tlbkNyZWRlbnRpYWxzOiBNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgbnVsbCA9IG51bGw7XG5cbiAgX19zY2hlZHVsZTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlIHwgbnVsbCA9IG51bGw7XG5cbiAgX19pMThuOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1vbmtleWVjeFNlcnZpY2U/OiBNb25rZXlFY3hTZXJ2aWNlLFxuICAgIHB1YmxpYyB0b2tlblN0b3JhZ2U/OiBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHB1YmxpYyBvdGhlckFyZ3M/OiB7XG4gICAgICByb3V0ZXI/OiBSb3V0ZXI7XG4gICAgICBzY2hlZHVsZT86IHtcbiAgICAgICAgc2VydmljZTogTW9ua2V5RWN4UmVxdWVzdFNjaGVkdWxlU2VydmljZTtcbiAgICAgICAgb3B0aW9ucz86IHtcbiAgICAgICAgICBjbGVhck9uQ2hhbmdlUm91dGU/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgICAgfTtcbiAgICAgIHF1ZXVlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2U7XG4gICAgICB9O1xuICAgIH1cbiAgKSB7XG4gICAgdGhpcy5oYW5kbGVJbml0KCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUluaXQoKSB7XG4gICAgaWYgKHRoaXMudG9rZW5TdG9yYWdlKSB7XG4gICAgICB0aGlzLl9fdG9rZW5DcmVkZW50aWFscyA9IHRoaXMudG9rZW5TdG9yYWdlLmdldFRva2VuKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3RoZXJBcmdzPy5yb3V0ZXIpIHtcbiAgICAgIGNvbnN0IHsgY2xlYXJPbkNoYW5nZVJvdXRlIH0gPSB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/Lm9wdGlvbnMgfHwge1xuICAgICAgICBjbGVhck9uQ2hhbmdlUm91dGU6IGZhbHNlXG4gICAgICB9O1xuICAgICAgdGhpcy5vdGhlckFyZ3Mucm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlKDEpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX19zY2hlZHVsZSAmJiBjbGVhck9uQ2hhbmdlUm91dGUpIHtcbiAgICAgICAgICAgIHRoaXMub3RoZXJBcmdzPy5zY2hlZHVsZT8uc2VydmljZT8ucmVtb3ZlU2NoZWR1bGUodGhpcy5fX3NjaGVkdWxlKTtcbiAgICAgICAgICAgIHRoaXMuX19zY2hlZHVsZSA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFJvbGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IF9fdG9rZW5DcmVkZW50aWFscyB9ID0gdGhpcztcblxuICAgIGlmICghX190b2tlbkNyZWRlbnRpYWxzKSByZXR1cm4gJyc7XG5cbiAgICBpZiAoX190b2tlbkNyZWRlbnRpYWxzPy5wcm9ncmFtQWRtaW4gPT09ICd0cnVlJykge1xuICAgICAgcmV0dXJuICdQUk9HUkFNX0FETUlOJztcbiAgICB9XG5cbiAgICByZXR1cm4gX190b2tlbkNyZWRlbnRpYWxzPy5yb2xlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkU2VjdXJpdHlBY2Nlc3MoYXJnczogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFhcmdzKSByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCByb2xlcyA9IGFyZ3M/LnJvbGVzO1xuICAgIGNvbnN0IGJ5RXhjbHVzaW9uID0gYXJncz8uYnlFeGNsdXNpb247XG4gICAgY29uc3QgZm91bmQgPSByb2xlcz8uaW5kZXhPZih0aGlzLmdldFJvbGUoKSk7XG4gICAgbGV0IHJldCA9IGZhbHNlO1xuICAgIGlmIChieUV4Y2x1c2lvbikge1xuICAgICAgcmV0ID0gdHJ1ZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXQgPSBmYWxzZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghcm9sZXMgfHwgcm9sZXMubGVuZ3RoID09PSAwIHx8IHRoaXMuZ2V0Um9sZSgpID09PSAnUFJPR1JBTV9BRE1JTicpIHsgcmV0ID0gdHJ1ZTsgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlVG9FcnJvclBhZ2Uoc3RhdHVzQ29kZTogbnVtYmVyLCByb3V0ZXI/OiBSb3V0ZXIpIHtcbiAgICBjb25zdCByb3V0ZXM6IGFueSA9IHtcbiAgICAgIDQwMzogJ2ZvcmJpZGRlbicsXG4gICAgICA0MDQ6ICdub3QtZm91bmQnLFxuICAgICAgNTAwOiAnc2VydmljZS1wcm9ibGVtcycsXG4gICAgICA1MDM6ICdzZXJ2aWNlLXByb2JsZW1zJ1xuICAgIH07XG5cbiAgICBpZiAoIXJvdXRlcikge1xuICAgICAgY29uc29sZS5lcnJvcignUm91dGVyIG11c3QgYmUgZGVjbGFyZWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcm91dGVyPy5uYXZpZ2F0ZShbYC9hcHAvcGFnZXMvJHtyb3V0ZXNbc3RhdHVzQ29kZV19YC50b0xvd2VyQ2FzZSgpXSwge1xuICAgICAgICBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWVcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2UocmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQpIHtcbiAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgLi4udGhpcy5fX3JlcXVlc3RQYWdlZCxcbiAgICAgIC4uLnJlcXVlc3RQYWdlZFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBuZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX19yZXF1ZXN0UGFnZWQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCB7IHBhZ2UgfSA9IHRoaXMuX19yZXF1ZXN0UGFnZWQgYXMgYW55O1xuICAgIGNvbnN0IHsgbnVtYmVyLCB0b3RhbFBhZ2VzIH0gPSBwYWdlO1xuICAgIGlmIChudW1iZXIgPCB0b3RhbFBhZ2VzKSB7XG4gICAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgICAuLi50aGlzLl9fcmVxdWVzdFBhZ2VkLFxuICAgICAgICBwYWdlOiB7XG4gICAgICAgICAgLi4ucGFnZSxcbiAgICAgICAgICBudW1iZXI6IG51bWJlciArIDFcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXRFbWJlZGRlZERhdGEoZGF0YTogYW55LCBmaWVsZDogc3RyaW5nKTogYW55W10gfCBhbnkge1xuICAgIGNvbnN0IHsgX2VtYmVkZGVkIH0gPSBkYXRhO1xuICAgIHJldHVybiBfZW1iZWRkZWQgPyBfZW1iZWRkZWRbZmllbGRdIDogbnVsbDtcbiAgfVxuXG4gIGdldE5vcm1hbGl6ZWRVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgX19yZXF1ZXN0UGFnZWQgfSA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBNb25rZXlFY3hSZXF1ZXN0UGFnZWRIYW5kbGluZyhcbiAgICAgIHVybCxcbiAgICAgIF9fcmVxdWVzdFBhZ2VkIHx8IHt9XG4gICAgKS5nZXRSZXF1ZXN0V2l0aFBhZ2VkUGFyYW1zKCk7XG4gIH1cblxuICBjbGVhcihjbGVhckRhdGE6IGJvb2xlYW4pIHtcbiAgICBpZiAoY2xlYXJEYXRhKSB7XG4gICAgICB0aGlzLl9fZGF0YSA9IG51bGw7XG4gICAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0gbnVsbDtcbiAgICAgIHRoaXMuX19wYXJhbXMgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhZ2UgPSBudWxsO1xuXG4gICAgICBpZiAodGhpcy5fX3NjaGVkdWxlKSB7XG4gICAgICAgIGNvbnN0IHsgcXVldWUgfSA9IHRoaXMuX19zY2hlZHVsZTtcbiAgICAgICAgaWYgKHF1ZXVlKSB7XG4gICAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnF1ZXVlPy5zZXJ2aWNlPy5yZW1vdmVRdWV1ZUl0ZW0ocXVldWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3RoZXJBcmdzPy5zY2hlZHVsZT8uc2VydmljZT8ucmVtb3ZlU2NoZWR1bGUodGhpcy5fX3NjaGVkdWxlKTtcbiAgICAgICAgdGhpcy5fX3NjaGVkdWxlID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5fX2Vycm9yID0gbnVsbDtcbiAgICB0aGlzLl9faGFuZGxlZEVycm9yID0gbnVsbDtcbiAgICB0aGlzLmZsYWdWYWxpZGF0b3IgPSBmYWxzZTtcbiAgfVxuXG4gIHJlc29sdmUoXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfCBudWxsLFxuICAgIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90IHwgbnVsbCxcbiAgICBvdGhlckFyZ3M/OiB7XG4gICAgICBjYWxsYmFja01haW46IEZ1bmN0aW9uO1xuICAgICAgcm91dGVyPzogUm91dGVyO1xuICAgICAgc2VjdXJpdHk/OiB7XG4gICAgICAgIHJvbGVzOiBzdHJpbmdbXTtcbiAgICAgICAgYnlFeGNsdXNpb24/OiBib29sZWFuO1xuICAgICAgfTtcbiAgICAgIGNhbGxiYWNrUGFnaW5hdGlvbj86IEZ1bmN0aW9uO1xuICAgICAgdHJhbnNsYXRlT3B0aW9ucz86IE1vbmtleUVjeFRyYW5zbGF0ZU9wdGlvbnM7XG4gICAgICBmZWF0dXJlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZTtcbiAgICAgICAgZmxhZzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9XG4gICkge1xuICAgIHRoaXMuX19kYXRhID0gbnVsbDtcbiAgICB0aGlzLl9fcGFnZSA9IG51bGw7XG4gICAgdGhpcy5fX3JlcXVlc3RQYWdlZCA9IG51bGw7XG4gICAgdGhpcy5mbGFnVmFsaWRhdG9yID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLnRva2VuU3RvcmFnZSkge1xuICAgICAgdGhpcy5fX3Rva2VuQ3JlZGVudGlhbHMgPSB0aGlzLnRva2VuU3RvcmFnZS5nZXRUb2tlbigpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFsbG93ZWRTZWN1cml0eUFjY2VzcyhvdGhlckFyZ3M/LnNlY3VyaXR5KSkge1xuICAgICAgLy9PYmplY3QuZW50cmllcyh0aGlzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIC8vICBpZiAodmFsdWUgaW5zdGFuY2VvZiBCZWhhdmlvclN1YmplY3QpIHtcbiAgICAgIC8vICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBrZXksIG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCkpO1xuICAgICAgLy8gIH1cbiAgICAgIC8vfSk7XG5cbiAgICAgIGlmICh0aGlzLl9fc2NoZWR1bGUpIHtcbiAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnNjaGVkdWxlPy5zZXJ2aWNlPy5yZW1vdmVTY2hlZHVsZSh0aGlzLl9fc2NoZWR1bGUpO1xuICAgICAgICB0aGlzLl9fc2NoZWR1bGUgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IF9fcmVxdWVzdFBhZ2VkIH0gPSB0aGlzO1xuICAgICAgaWYgKCFfX3JlcXVlc3RQYWdlZCkge1xuICAgICAgICB0aGlzLnNldFBhZ2Uoe1xuICAgICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAgIG51bWJlcjogMCxcbiAgICAgICAgICAgIHNpemU6IDEwXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKG90aGVyQXJncz8uY2FsbGJhY2tQYWdpbmF0aW9uKSB7XG4gICAgICAgIHRoaXMuX19vbkRvUGFnaW5hdGlvbiQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAoIXRoaXMuX19vbkxvYWRpbmdJblByb2dyZXNzJC52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgaGFzTW9yZVBhZ2VzID0gdGhpcy5zZXRQYWdlKHtcbiAgICAgICAgICAgICAgcGFnZToge1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuX19wYWdlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLm5leHRQYWdlKCk7XG4gICAgICAgICAgICBpZiAoaGFzTW9yZVBhZ2VzICYmIG90aGVyQXJncz8uY2FsbGJhY2tQYWdpbmF0aW9uKSB7IG90aGVyQXJncy5jYWxsYmFja1BhZ2luYXRpb24oKTsgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvdGhlckFyZ3M/LnRyYW5zbGF0ZU9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBzZXJ2aWNlLCBrZXlzIH0gPSBvdGhlckFyZ3M/LnRyYW5zbGF0ZU9wdGlvbnM7XG4gICAgICAgIHRoaXMuZ2V0aTE4bihzZXJ2aWNlLCBrZXlzIHx8ICcnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG90aGVyQXJncz8uZmVhdHVyZSkge1xuICAgICAgICBjb25zdCB7IGZsYWcsIHNlcnZpY2UgfSA9IG90aGVyQXJncy5mZWF0dXJlO1xuXG4gICAgICAgIHNlcnZpY2Uub25GbGFnc1xuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdGFrZVdoaWxlKCgpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxhZ1ZhbGlkYXRvcjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbDogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgICAgICBjb25zdCBoYXNGbGFnID0gc2VydmljZS5nZXRGbGFnKGZsYWcpO1xuXG4gICAgICAgICAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKGhhc0ZsYWcpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNGbGFnKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDA0LCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG90aGVyQXJncz8uY2FsbGJhY2tNYWluKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdGhlckFyZ3M/LmNhbGxiYWNrTWFpbigpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm5hdmlnYXRlVG9FcnJvclBhZ2UoNDAzLCBvdGhlckFyZ3M/LnJvdXRlcik7XG4gICAgfVxuICB9XG5cbiAgZ2V0SFRUUEhlYWRlckFwcGxpY2F0aW9uUERGKCk6IE9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG9ic2VydmU6ICdyZXNwb25zZScsXG4gICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgIH07XG4gIH1cblxuICBATW9ua2V5RWN4Q29yZVNlcnZpY2Uoe1xuICAgIHJlcXVlc3RJblByb2dyZXNzOiB7XG4gICAgICBzaG93UHJvZ3Jlc3M6IHRydWVcbiAgICB9XG4gIH0pXG4gIGdlbmVyaWNNZXRob2QobGluazogYW55LCBkYXRhPzogYW55LCBjYWxsYmFjaz86IEZ1bmN0aW9uKSB7XG4gICAgY29uc3QgeyBocmVmLCB0eXBlID0gJ2dldCcgfSA9IGxpbms7XG5cbiAgICBsZXQgZnVuYyA9IG51bGw7XG4gICAgY29uc3QgdHAgPSBgJHt0eXBlfWAudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAodHAgPT09ICdnZXQnKSB7XG4gICAgICBmdW5jID0gdGhpcy5tb25rZXllY3hTZXJ2aWNlPy5nZXQ7XG4gICAgfWVsc2UgaWYgKHRwID09PSAncG9zdCcpIHtcbiAgICAgIGZ1bmMgPSB0aGlzLm1vbmtleWVjeFNlcnZpY2U/LnBvc3Q7XG4gICAgfWVsc2UgaWYgKHRwID09PSAncHV0Jykge1xuICAgICAgZnVuYyA9IHRoaXMubW9ua2V5ZWN4U2VydmljZT8ucHV0O1xuICAgIH1lbHNlIGlmICh0cCA9PT0gJ2RlbGV0ZScpIHtcbiAgICAgIGZ1bmMgPSB0aGlzLm1vbmtleWVjeFNlcnZpY2U/LmRlbGV0ZTtcbiAgICB9XG5cbiAgICBmdW5jPy4oYCR7aHJlZn1gLCBkYXRhKT8uc3Vic2NyaWJlKFxuICAgICAgKHJlc3A6IGFueSkgPT4ge1xuICAgICAgICBpZiAoY2FsbGJhY2spIGNhbGxiYWNrKCk7XG4gICAgICB9LFxuICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBnZXRpMThuKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsIGtleXM6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdHJhbnNsYXRlU2VydmljZVxuICAgICAgLmdldFN0cmVhbU9uVHJhbnNsYXRpb25DaGFuZ2Uoa2V5cylcbiAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuX19pMThuID0gdHJhbnNsYXRpb25zO1xuICAgICAgICB0aGlzLl9fb25pMThuRGF0YUNoYW5nZWQkLm5leHQobnVsbCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbW1vbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxlQUFlLEdBR2hCLE1BQU0saUJBQWlCLENBQUM7QUFHekIsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFhekQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFMUcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzdFLE1BQU0sT0FBTyx1QkFBdUI7SUEyQ2xDLFlBQ1MsZ0JBQW1DLEVBQ25DLFlBQTJDLEVBQzNDLFNBV047UUFiTSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUErQjtRQUMzQyxjQUFTLEdBQVQsU0FBUyxDQVdmO1FBeERLLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBTTdCLFlBQU8sR0FBa0MsSUFBSSxDQUFDO1FBRTlDLG1CQUFjLEdBQXlDLElBQUksQ0FBQztRQUU1RCxXQUFNLEdBQWtDLElBQUksQ0FBQztRQUk3QyxtQkFBYyxHQUFpQyxJQUFJLENBQUM7UUFFcEQsdUJBQWtCLEdBQXlCLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJFLHFCQUFnQixHQUF5QixJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRSwyQkFBc0Is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LElBQUksQ0FBQyxFQUFFLFNBQVMsQ0FDaEMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtZQUNaLElBQUksUUFBUTtnQkFBRSxRQUFRLEVBQUUsQ0FBQztRQUMzQixDQUFDLEVBQ0QsQ0FBQyxHQUFzQixFQUFFLEVBQUU7WUFDekIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxnQkFBa0MsRUFBRSxJQUF1QjtRQUNqRSxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFpQixFQUFFLEVBQUU7WUFDbEYsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUM7WUFDM0IsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQS9CQztJQUxDLG9CQUFvQixDQUFDO1FBQ3BCLGlCQUFpQixFQUFFO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1NBQ25CO0tBQ0YsQ0FBQzs0REF3QkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LFxuICBOYXZpZ2F0aW9uU3RhcnQsXG4gIFJvdXRlcixcbiAgUm91dGVyU3RhdGVTbmFwc2hvdCxcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIE1vbmtleUVjeEVycm9yUmVzcG9uc2UsXG4gIE1vbmtleUVjeEhhbmRsZWRFcnJvclJlc3BvbnNlLFxuICBNb25rZXlFY3hSZXF1ZXN0UGFnZWQsXG4gIE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZSxcbiAgTW9ua2V5RWN4UmVzcG9uc2VQYWdlZCxcbiAgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyxcbiAgTW9ua2V5RWN4VHJhbnNsYXRlT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9tb25rZXllY3gtdG9rZW4tc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFJlcXVlc3RTY2hlZHVsZVNlcnZpY2UgfSBmcm9tICcuLi9zY2hlZHVsZXMvbW9ua2V5ZWN4LXJlcXVlc3Qtc2NoZWR1bGUuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hSZXF1ZXN0UXVldWVIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuLi9yZXF1ZXN0LXF1ZXVlL21vbmtleWVjeC1yZXF1ZXN0LXF1ZXVlLWhhbmRsaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4UmVxdWVzdFBhZ2VkSGFuZGxpbmcgfSBmcm9tICcuLi9yZXF1ZXN0LXBhZ2VkL21vbmtleWVjeC1yZXF1ZXN0LXJlcXVlc3QtcGFnZWQtaGFuZGxpbmcnO1xuaW1wb3J0IHsgTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuLi9jb25maWcvbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4VXRpbHMgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb3JlU2VydmljZSB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMvbW9ua2V5ZWN4LWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1zZXJ2aWNlLnNlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIGZsYWdWYWxpZGF0b3IgPSB0cnVlO1xuXG4gIF9fZGF0YTogYW55IHwgYW55W107XG5cbiAgX19wYXJhbXM6IGFueSB8IGFueVtdO1xuXG4gIF9fZXJyb3I6IE1vbmtleUVjeEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX2hhbmRsZWRFcnJvcjogTW9ua2V5RWN4SGFuZGxlZEVycm9yUmVzcG9uc2UgfCBudWxsID0gbnVsbDtcblxuICBfX3BhZ2U6IE1vbmtleUVjeFJlc3BvbnNlUGFnZWQgfCBudWxsID0gbnVsbDtcblxuICBfX3NlYXJjaDogYW55O1xuXG4gIF9fcmVxdWVzdFBhZ2VkOiBNb25rZXlFY3hSZXF1ZXN0UGFnZWQgfCBudWxsID0gbnVsbDtcblxuICBfX29uU2VhcmNoQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkxvYWRpbmdJblByb2dyZXNzJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBfX29uRGF0YURlbGV0ZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vbkVycm9yQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uR292ZXJubWVudElkRGF0YUNoYW5nZWQkOiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG5cbiAgX19vblppcENvZGVEYXRhQ2hhbmdlZCQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX29uaTE4bkRhdGFDaGFuZ2VkJDogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuXG4gIF9fb25Eb1NlYXJjaCQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hSZXF1ZXN0UGFnZWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG5cbiAgX19vbkRvUGFnaW5hdGlvbiQ6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBfX3Rva2VuQ3JlZGVudGlhbHM6IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMgfCBudWxsID0gbnVsbDtcblxuICBfX3NjaGVkdWxlOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGUgfCBudWxsID0gbnVsbDtcblxuICBfX2kxOG46IGFueTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbW9ua2V5ZWN4U2VydmljZT86IE1vbmtleUVjeFNlcnZpY2UsXG4gICAgcHVibGljIHRva2VuU3RvcmFnZT86IE1vbmtleUVjeFRva2VuU3RvcmFnZVNlcnZpY2UsXG4gICAgcHVibGljIG90aGVyQXJncz86IHtcbiAgICAgIHJvdXRlcj86IFJvdXRlcjtcbiAgICAgIHNjaGVkdWxlPzoge1xuICAgICAgICBzZXJ2aWNlOiBNb25rZXlFY3hSZXF1ZXN0U2NoZWR1bGVTZXJ2aWNlO1xuICAgICAgICBvcHRpb25zPzoge1xuICAgICAgICAgIGNsZWFyT25DaGFuZ2VSb3V0ZT86IGJvb2xlYW47XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgICAgcXVldWU/OiB7XG4gICAgICAgIHNlcnZpY2U6IE1vbmtleUVjeFJlcXVlc3RRdWV1ZUhhbmRsaW5nU2VydmljZTtcbiAgICAgIH07XG4gICAgfVxuICApIHtcbiAgICB0aGlzLmhhbmRsZUluaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlSW5pdCgpIHtcbiAgICBpZiAodGhpcy50b2tlblN0b3JhZ2UpIHtcbiAgICAgIHRoaXMuX190b2tlbkNyZWRlbnRpYWxzID0gdGhpcy50b2tlblN0b3JhZ2UuZ2V0VG9rZW4oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vdGhlckFyZ3M/LnJvdXRlcikge1xuICAgICAgY29uc3QgeyBjbGVhck9uQ2hhbmdlUm91dGUgfSA9IHRoaXMub3RoZXJBcmdzPy5zY2hlZHVsZT8ub3B0aW9ucyB8fCB7XG4gICAgICAgIGNsZWFyT25DaGFuZ2VSb3V0ZTogZmFsc2UsXG4gICAgICB9O1xuICAgICAgdGhpcy5vdGhlckFyZ3Mucm91dGVyLmV2ZW50c1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlKDEpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX19zY2hlZHVsZSAmJiBjbGVhck9uQ2hhbmdlUm91dGUpIHtcbiAgICAgICAgICAgIHRoaXMub3RoZXJBcmdzPy5zY2hlZHVsZT8uc2VydmljZT8ucmVtb3ZlU2NoZWR1bGUodGhpcy5fX3NjaGVkdWxlKTtcbiAgICAgICAgICAgIHRoaXMuX19zY2hlZHVsZSA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFJvbGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCB7IF9fdG9rZW5DcmVkZW50aWFscyB9ID0gdGhpcztcblxuICAgIGlmICghX190b2tlbkNyZWRlbnRpYWxzKSByZXR1cm4gJyc7XG5cbiAgICBpZiAoX190b2tlbkNyZWRlbnRpYWxzPy5wcm9ncmFtQWRtaW4gPT09ICd0cnVlJykge1xuICAgICAgcmV0dXJuICdQUk9HUkFNX0FETUlOJztcbiAgICB9XG5cbiAgICByZXR1cm4gX190b2tlbkNyZWRlbnRpYWxzPy5yb2xlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBhbGxvd2VkU2VjdXJpdHlBY2Nlc3MoYXJnczogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKCFhcmdzKSByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCByb2xlcyA9IGFyZ3M/LnJvbGVzO1xuICAgIGNvbnN0IGJ5RXhjbHVzaW9uID0gYXJncz8uYnlFeGNsdXNpb247XG4gICAgY29uc3QgZm91bmQgPSByb2xlcz8uaW5kZXhPZih0aGlzLmdldFJvbGUoKSk7XG4gICAgbGV0IHJldCA9IGZhbHNlO1xuICAgIGlmIChieUV4Y2x1c2lvbikge1xuICAgICAgcmV0ID0gdHJ1ZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXQgPSBmYWxzZTtcbiAgICAgIGlmIChmb3VuZCA+IC0xKSB7XG4gICAgICAgIHJldCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghcm9sZXMgfHwgcm9sZXMubGVuZ3RoID09PSAwIHx8IHRoaXMuZ2V0Um9sZSgpID09PSAnUFJPR1JBTV9BRE1JTicpIHtcbiAgICAgIHJldCA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwcml2YXRlIG5hdmlnYXRlVG9FcnJvclBhZ2Uoc3RhdHVzQ29kZTogbnVtYmVyLCByb3V0ZXI/OiBSb3V0ZXIpIHtcbiAgICBjb25zdCByb3V0ZXM6IGFueSA9IHtcbiAgICAgIDQwMzogJ2ZvcmJpZGRlbicsXG4gICAgICA0MDQ6ICdub3QtZm91bmQnLFxuICAgICAgNTAwOiAnc2VydmljZS1wcm9ibGVtcycsXG4gICAgICA1MDM6ICdzZXJ2aWNlLXByb2JsZW1zJyxcbiAgICB9O1xuXG4gICAgaWYgKCFyb3V0ZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1JvdXRlciBtdXN0IGJlIGRlY2xhcmVkJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJvdXRlcj8ubmF2aWdhdGUoW2AvYXBwL3BhZ2VzLyR7cm91dGVzW3N0YXR1c0NvZGVdfWAudG9Mb3dlckNhc2UoKV0sIHtcbiAgICAgICAgc2tpcExvY2F0aW9uQ2hhbmdlOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2V0UGFnZShyZXF1ZXN0UGFnZWQ6IE1vbmtleUVjeFJlcXVlc3RQYWdlZCkge1xuICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSB7XG4gICAgICAuLi50aGlzLl9fcmVxdWVzdFBhZ2VkLFxuICAgICAgLi4ucmVxdWVzdFBhZ2VkLFxuICAgIH07XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBuZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuX19yZXF1ZXN0UGFnZWQpIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCB7IHBhZ2UgfSA9IHRoaXMuX19yZXF1ZXN0UGFnZWQgYXMgYW55O1xuICAgIGNvbnN0IHsgbnVtYmVyLCB0b3RhbFBhZ2VzIH0gPSBwYWdlO1xuICAgIGlmIChudW1iZXIgPCB0b3RhbFBhZ2VzKSB7XG4gICAgICB0aGlzLl9fcmVxdWVzdFBhZ2VkID0ge1xuICAgICAgICAuLi50aGlzLl9fcmVxdWVzdFBhZ2VkLFxuICAgICAgICBwYWdlOiB7XG4gICAgICAgICAgLi4ucGFnZSxcbiAgICAgICAgICBudW1iZXI6IG51bWJlciArIDEsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldEVtYmVkZGVkRGF0YShkYXRhOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBhbnlbXSB8IGFueSB7XG4gICAgY29uc3QgeyBfZW1iZWRkZWQgfSA9IGRhdGE7XG4gICAgcmV0dXJuIF9lbWJlZGRlZCA/IF9lbWJlZGRlZFtmaWVsZF0gOiBudWxsO1xuICB9XG5cbiAgZ2V0Tm9ybWFsaXplZFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgeyBfX3JlcXVlc3RQYWdlZCB9ID0gdGhpcztcbiAgICByZXR1cm4gbmV3IE1vbmtleUVjeFJlcXVlc3RQYWdlZEhhbmRsaW5nKHVybCwgX19yZXF1ZXN0UGFnZWQgfHwge30pLmdldFJlcXVlc3RXaXRoUGFnZWRQYXJhbXMoKTtcbiAgfVxuXG4gIGNsZWFyKGNsZWFyRGF0YTogYm9vbGVhbikge1xuICAgIGlmIChjbGVhckRhdGEpIHtcbiAgICAgIHRoaXMuX19kYXRhID0gbnVsbDtcbiAgICAgIHRoaXMuX19yZXF1ZXN0UGFnZWQgPSBudWxsO1xuICAgICAgdGhpcy5fX3BhcmFtcyA9IG51bGw7XG4gICAgICB0aGlzLl9fcGFnZSA9IG51bGw7XG5cbiAgICAgIGlmICh0aGlzLl9fc2NoZWR1bGUpIHtcbiAgICAgICAgY29uc3QgeyBxdWV1ZSB9ID0gdGhpcy5fX3NjaGVkdWxlO1xuICAgICAgICBpZiAocXVldWUpIHtcbiAgICAgICAgICB0aGlzLm90aGVyQXJncz8ucXVldWU/LnNlcnZpY2U/LnJlbW92ZVF1ZXVlSXRlbShxdWV1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vdGhlckFyZ3M/LnNjaGVkdWxlPy5zZXJ2aWNlPy5yZW1vdmVTY2hlZHVsZSh0aGlzLl9fc2NoZWR1bGUpO1xuICAgICAgICB0aGlzLl9fc2NoZWR1bGUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9fZXJyb3IgPSBudWxsO1xuICAgIHRoaXMuX19oYW5kbGVkRXJyb3IgPSBudWxsO1xuICAgIHRoaXMuZmxhZ1ZhbGlkYXRvciA9IGZhbHNlO1xuICB9XG5cbiAgcmVzb2x2ZShcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IG51bGwsXG4gICAgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QgfCBudWxsLFxuICAgIG90aGVyQXJncz86IHtcbiAgICAgIGNhbGxiYWNrTWFpbjogRnVuY3Rpb247XG4gICAgICByb3V0ZXI/OiBSb3V0ZXI7XG4gICAgICBzZWN1cml0eT86IHtcbiAgICAgICAgcm9sZXM6IHN0cmluZ1tdO1xuICAgICAgICBieUV4Y2x1c2lvbj86IGJvb2xlYW47XG4gICAgICB9O1xuICAgICAgY2FsbGJhY2tQYWdpbmF0aW9uPzogRnVuY3Rpb247XG4gICAgICB0cmFuc2xhdGVPcHRpb25zPzogTW9ua2V5RWN4VHJhbnNsYXRlT3B0aW9ucztcbiAgICAgIGZlYXR1cmU/OiB7XG4gICAgICAgIHNlcnZpY2U6IE1vbmtleUVjeEZlYXR1cmVUb2dnbGVTZXJ2aWNlO1xuICAgICAgICBmbGFnOiBzdHJpbmc7XG4gICAgICB9O1xuICAgIH1cbiAgKSB7XG4gICAgLy90aGlzLl9fZGF0YSA9IG51bGw7XG4gICAgLy90aGlzLl9fcGFnZSA9IG51bGw7XG4gICAgLy90aGlzLl9fcmVxdWVzdFBhZ2VkID0gbnVsbDtcbiAgICB0aGlzLmZsYWdWYWxpZGF0b3IgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMudG9rZW5TdG9yYWdlKSB7XG4gICAgICB0aGlzLl9fdG9rZW5DcmVkZW50aWFscyA9IHRoaXMudG9rZW5TdG9yYWdlLmdldFRva2VuKCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWxsb3dlZFNlY3VyaXR5QWNjZXNzKG90aGVyQXJncz8uc2VjdXJpdHkpKSB7XG4gICAgICAvL09iamVjdC5lbnRyaWVzKHRoaXMpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgLy8gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJlaGF2aW9yU3ViamVjdCkge1xuICAgICAgLy8gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIGtleSwgbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKSk7XG4gICAgICAvLyAgfVxuICAgICAgLy99KTtcblxuICAgICAgaWYgKHRoaXMuX19zY2hlZHVsZSkge1xuICAgICAgICB0aGlzLm90aGVyQXJncz8uc2NoZWR1bGU/LnNlcnZpY2U/LnJlbW92ZVNjaGVkdWxlKHRoaXMuX19zY2hlZHVsZSk7XG4gICAgICAgIHRoaXMuX19zY2hlZHVsZSA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgX19yZXF1ZXN0UGFnZWQgfSA9IHRoaXM7XG4gICAgICBpZiAoIV9fcmVxdWVzdFBhZ2VkKSB7XG4gICAgICAgIHRoaXMuc2V0UGFnZSh7XG4gICAgICAgICAgcGFnZToge1xuICAgICAgICAgICAgbnVtYmVyOiAwLFxuICAgICAgICAgICAgc2l6ZTogMTAsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvdGhlckFyZ3M/LmNhbGxiYWNrUGFnaW5hdGlvbikge1xuICAgICAgICB0aGlzLl9fb25Eb1BhZ2luYXRpb24kLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgaWYgKCF0aGlzLl9fb25Mb2FkaW5nSW5Qcm9ncmVzcyQudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc01vcmVQYWdlcyA9IHRoaXMuc2V0UGFnZSh7XG4gICAgICAgICAgICAgIHBhZ2U6IHtcbiAgICAgICAgICAgICAgICAuLi50aGlzLl9fcGFnZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLm5leHRQYWdlKCk7XG4gICAgICAgICAgICBpZiAoaGFzTW9yZVBhZ2VzICYmIG90aGVyQXJncz8uY2FsbGJhY2tQYWdpbmF0aW9uKSB7XG4gICAgICAgICAgICAgIG90aGVyQXJncy5jYWxsYmFja1BhZ2luYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAob3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgc2VydmljZSwga2V5cyB9ID0gb3RoZXJBcmdzPy50cmFuc2xhdGVPcHRpb25zO1xuICAgICAgICB0aGlzLmdldGkxOG4oc2VydmljZSwga2V5cyB8fCAnJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvdGhlckFyZ3M/LmZlYXR1cmUpIHtcbiAgICAgICAgY29uc3QgeyBmbGFnLCBzZXJ2aWNlIH0gPSBvdGhlckFyZ3MuZmVhdHVyZTtcblxuICAgICAgICBzZXJ2aWNlLm9uRmxhZ3NcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHRha2VXaGlsZSgoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmZsYWdWYWxpZGF0b3I7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCh2YWw6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgY29uc3QgaGFzRmxhZyA9IHNlcnZpY2UuZ2V0RmxhZyhmbGFnKTtcblxuICAgICAgICAgICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZChoYXNGbGFnKSkge1xuICAgICAgICAgICAgICAgIGlmICghaGFzRmxhZykge1xuICAgICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0ZVRvRXJyb3JQYWdlKDQwNCwgb3RoZXJBcmdzPy5yb3V0ZXIpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBvdGhlckFyZ3M/LmNhbGxiYWNrTWFpbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3RoZXJBcmdzPy5jYWxsYmFja01haW4oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvRXJyb3JQYWdlKDQwMywgb3RoZXJBcmdzPy5yb3V0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIGdldEhUVFBIZWFkZXJBcHBsaWNhdGlvblBERigpOiBPYmplY3Qge1xuICAgIHJldHVybiB7XG4gICAgICBvYnNlcnZlOiAncmVzcG9uc2UnLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgfTtcbiAgfVxuXG4gIEBNb25rZXlFY3hDb3JlU2VydmljZSh7XG4gICAgcmVxdWVzdEluUHJvZ3Jlc3M6IHtcbiAgICAgIHNob3dQcm9ncmVzczogdHJ1ZSxcbiAgICB9LFxuICB9KVxuICBnZW5lcmljTWV0aG9kKGxpbms6IGFueSwgZGF0YT86IGFueSwgY2FsbGJhY2s/OiBGdW5jdGlvbikge1xuICAgIGNvbnN0IHsgaHJlZiwgdHlwZSA9ICdnZXQnIH0gPSBsaW5rO1xuXG4gICAgbGV0IGZ1bmMgPSBudWxsO1xuICAgIGNvbnN0IHRwID0gYCR7dHlwZX1gLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKHRwID09PSAnZ2V0Jykge1xuICAgICAgZnVuYyA9IHRoaXMubW9ua2V5ZWN4U2VydmljZT8uZ2V0O1xuICAgIH0gZWxzZSBpZiAodHAgPT09ICdwb3N0Jykge1xuICAgICAgZnVuYyA9IHRoaXMubW9ua2V5ZWN4U2VydmljZT8ucG9zdDtcbiAgICB9IGVsc2UgaWYgKHRwID09PSAncHV0Jykge1xuICAgICAgZnVuYyA9IHRoaXMubW9ua2V5ZWN4U2VydmljZT8ucHV0O1xuICAgIH0gZWxzZSBpZiAodHAgPT09ICdkZWxldGUnKSB7XG4gICAgICBmdW5jID0gdGhpcy5tb25rZXllY3hTZXJ2aWNlPy5kZWxldGU7XG4gICAgfVxuXG4gICAgZnVuYz8uKGAke2hyZWZ9YCwgZGF0YSk/LnN1YnNjcmliZShcbiAgICAgIChyZXNwOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKGNhbGxiYWNrKSBjYWxsYmFjaygpO1xuICAgICAgfSxcbiAgICAgIChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHRocm93RXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0aTE4bih0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLCBrZXlzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHRyYW5zbGF0ZVNlcnZpY2UuZ2V0U3RyZWFtT25UcmFuc2xhdGlvbkNoYW5nZShrZXlzKS5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uczogYW55KSA9PiB7XG4gICAgICB0aGlzLl9faTE4biA9IHRyYW5zbGF0aW9ucztcbiAgICAgIHRoaXMuX19vbmkxOG5EYXRhQ2hhbmdlZCQubmV4dChudWxsKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -44,10 +44,6 @@ export class MonkeyEcxConfigService extends MonkeyEcxCommonsService {
44
44
  const { monkeyecxService, monkeyecxi18nConfigService, configSubject$, monkeyStyleGuideSettingsService, monkeyecxLogsConfigService, monkeyecxErrorConfigService, monkeyEcxFeatureToggleService, internalValidations } = this;
45
45
  const url = `${environment.urlAssets}`;
46
46
  monkeyecxService?.get(`${url}/${monkeyecxCode.toLowerCase()}/white-label.json`)?.subscribe((config) => {
47
- console.log('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
48
- console.log(config);
49
- console.log(`${url}/${monkeyecxCode.toLowerCase()}/monkey-style-guide-settings.json`);
50
- console.log('@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@');
51
47
  monkeyecxi18nConfigService.apply(config, environment);
52
48
  monkeyecxLogsConfigService.apply(config, configBoostrap, environment, identifyCode);
53
49
  monkeyEcxFeatureToggleService.apply(configSubject$, environment);
@@ -105,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
105
101
  providedIn: 'root'
106
102
  }]
107
103
  }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxi18nConfigService }, { type: i3.MonkeyEcxLogsConfigService }, { type: i4.MonkeyStyleGuideSettingsService }, { type: i5.MonkeyEcxServiceWorkerConfigService }, { type: i6.MonkeyEcxSecurityConsoleConfigService }, { type: i7.MonkeyEcxMaintenanceConfigService }, { type: i8.MonkeyEcxErrorConfigService }, { type: i9.MonkeyEcxFeatureToggleService }]; }, propDecorators: { init: [] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBbUMsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7O0FBVS9FLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7SUFLakUsWUFDRSxnQkFBa0MsRUFDMUIsMEJBQXNELEVBQ3RELDBCQUFzRCxFQUN0RCwrQkFBZ0UsRUFDaEUsbUNBQXdFLEVBQ3hFLHFDQUE0RSxFQUM1RSxpQ0FBb0UsRUFDcEUsMkJBQXdELEVBQ3hELDZCQUE0RDtRQUVwRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVRoQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNoRSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBQ3hFLDBDQUFxQyxHQUFyQyxxQ0FBcUMsQ0FBdUM7UUFDNUUsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNwRSxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FB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TUFBTTtBQXdGbEI7SUFSQyxvQkFBb0IsQ0FBQztRQUNwQixZQUFZLEVBQUU7WUFDWixjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7U0FDdEI7UUFDRCxpQkFBaUIsRUFBRTtZQUNqQixZQUFZLEVBQUUsS0FBSztTQUNwQjtLQUNGLENBQUM7a0RBd0JEOzJGQTdHVSxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CO21kQXVGUSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyB0aHJvd0Vycm9yLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSwgTW9ua2V5VXRpbHMgfSBmcm9tICdtb25rZXktc3R5bGUtZ3VpZGUnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hpMThuQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWkxOG4tY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hMb2dzQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWxvZ3MtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LXNlcnZpY2Utd29ya2VyLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LXNlY3VyaXR5LWNvbnNvbGUtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1tYWludGVuYW5jZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycy9tb25rZXllY3gtZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9ucy9tb25rZXllY3gtY29tbW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9tb25rZXllY3gtY29uZmlnJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29uZmlnQm9vc3RyYXAgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21vbmtleWVjeC1jb25maWctYm9vc3RyYXAnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5ZWN4LXNlcnZpY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeEVycm9yQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWVycm9yLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeENvbmZpZ1NlcnZpY2UgZXh0ZW5kcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeENvbmZpZz47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQm9vc3RyYXBTdWJqZWN0JDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeENvbmZpZz47XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgbW9ua2V5ZWN4U2VydmljZTogTW9ua2V5RWN4U2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4aTE4bkNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeGkxOG5Db25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hMb2dzQ29uZmlnU2VydmljZTogTW9ua2V5RWN4TG9nc0NvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZTogTW9ua2V5RWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZTogTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZTogTW9ua2V5RWN4RmVhdHVyZVRvZ2dsZVNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKG1vbmtleWVjeFNlcnZpY2UpO1xyXG4gICAgdGhpcy5jb25maWdTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG4gICAgdGhpcy5jb25maWdCb29zdHJhcFN1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGludGVybmFsVmFsaWRhdGlvbnMoLi4uYXJnczogYW55W10pIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbW9ua2V5ZWN4U2VydmljZVdvcmtlckNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeFNlY3VyaXR5Q29uc29sZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZVxyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCBjb25maWdCb29zdHJhcCA9IGFyZ3NbMF07XHJcbiAgICBjb25zdCBjYWxsYmFjayA9IGFyZ3NbMV07XHJcbiAgICBtb25rZXllY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlLmFwcGx5KCk7XHJcbiAgICBtb25rZXllY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZS5hcHBseShjb25maWdCb29zdHJhcCk7XHJcbiAgICBtb25rZXllY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2UuYXBwbHkoY29uZmlnQm9vc3RyYXApO1xyXG4gICAgY29uc29sZS5sb2coJ2NvbmZpZ0Jvb3N0cmFwJylcclxuICAgIGNvbnNvbGUubG9nKGNvbmZpZ0Jvb3N0cmFwKVxyXG4gICAgY2FsbGJhY2soY29uZmlnQm9vc3RyYXApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRXaGl0ZUxhYmVsU2V0dGluZ3MoXHJcbiAgICBtb25rZXllY3hDb2RlOiBzdHJpbmcsXHJcbiAgICBjb25maWdCb29zdHJhcDogTW9ua2V5RWN4Q29uZmlnQm9vc3RyYXAsXHJcbiAgICBjYWxsYmFjazogRnVuY3Rpb24sXHJcbiAgICBlbnZpcm9ubWVudDogYW55LFxyXG4gICAgaWRlbnRpZnlDb2RlOiBzdHJpbmdcclxuICApIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbW9ua2V5ZWN4U2VydmljZSxcclxuICAgICAgbW9ua2V5ZWN4aTE4bkNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIGNvbmZpZ1N1YmplY3QkLFxyXG4gICAgICBtb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLFxyXG4gICAgICBtb25rZXllY3hMb2dzQ29uZmlnU2VydmljZSxcclxuICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLFxyXG4gICAgICBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZSxcclxuICAgICAgaW50ZXJuYWxWYWxpZGF0aW9uc1xyXG4gICAgfSA9IHRoaXM7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtlbnZpcm9ubWVudC51cmxBc3NldHN9YDtcclxuICAgIG1vbmtleWVjeFNlcnZpY2U/LmdldDxhbnk+KGAke3VybH0vJHttb25rZXllY3hDb2RlLnRvTG93ZXJDYXNlKCl9L3doaXRlLWxhYmVsLmpzb25gKT8uc3Vic2NyaWJlKFxyXG4gICAgICAoY29uZmlnOiBNb25rZXlFY3hDb25maWcpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAnKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGNvbmZpZylcclxuICAgICAgICBjb25zb2xlLmxvZyhgJHt1cmx9LyR7bW9ua2V5ZWN4Q29kZS50b0xvd2VyQ2FzZSgpfS9tb25rZXktc3R5bGUtZ3VpZGUtc2V0dGluZ3MuanNvbmApXHJcbiAgICAgICAgY29uc29sZS5sb2coJ0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAJylcclxuICAgICAgICBtb25rZXllY3hpMThuQ29uZmlnU2VydmljZS5hcHBseShjb25maWcsIGVudmlyb25tZW50KTtcclxuICAgICAgICBtb25rZXllY3hMb2dzQ29uZmlnU2VydmljZS5hcHBseShjb25maWcsIGNvbmZpZ0Jvb3N0cmFwLCBlbnZpcm9ubWVudCwgaWRlbnRpZnlDb2RlKTtcclxuICAgICAgICBtb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZS5hcHBseShjb25maWdTdWJqZWN0JCwgZW52aXJvbm1lbnQpO1xyXG4gICAgICAgIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UuYm9vc3RyYXAoXHJcbiAgICAgICAgICBgJHt1cmx9LyR7bW9ua2V5ZWN4Q29kZS50b0xvd2VyQ2FzZSgpfS9tb25rZXktc3R5bGUtZ3VpZGUtc2V0dGluZ3MuanNvbmAsXHJcbiAgICAgICAgICBpbnRlcm5hbFZhbGlkYXRpb25zLmJpbmQodGhpcywgY29uZmlnQm9vc3RyYXAsIGNhbGxiYWNrLCBlbnZpcm9ubWVudClcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbmZpZ1N1YmplY3QkLm5leHQoY29uZmlnKTtcclxuICAgICAgfSxcclxuICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBtb25rZXllY3hFcnJvckNvbmZpZ1NlcnZpY2UuYXBwbHkoJ3RoZW1lJyk7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignUHJvZ3JhbSBDb25maWd1cmF0aW9uIG5vdCBmb3VuZCEnKTtcclxuICAgICAgICB0aHJvd0Vycm9yKGVycik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBATW9ua2V5RWN4Q29yZVNlcnZpY2Uoe1xyXG4gICAgaHR0cFJlc3BvbnNlOiB7XHJcbiAgICAgIGh0dHBDb2RlSWdub3JlOiBbNDA0XVxyXG4gICAgfSxcclxuICAgIHJlcXVlc3RJblByb2dyZXNzOiB7XHJcbiAgICAgIHNob3dQcm9ncmVzczogZmFsc2VcclxuICAgIH1cclxuICB9KVxyXG4gIHB1YmxpYyBpbml0KGNhbGxiYWNrOiBGdW5jdGlvbiwgZW52aXJvbm1lbnQ6IGFueSwgaWRlbnRpZnlDb2RlOiBzdHJpbmcsIG1vbmtleWVjeENvZGU/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHsgbW9ua2V5ZWN4U2VydmljZSwgY29uZmlnQm9vc3RyYXBTdWJqZWN0JCwgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlIH0gPSB0aGlzO1xyXG5cclxuICAgIG1vbmtleWVjeFNlcnZpY2U/LmdldChgJHtlbnZpcm9ubWVudC5ib29zdHJhcEFzc2V0c30/dD0ke01vbmtleVV0aWxzLmdldFJhbmRvbVN0cmluZygzMCl9YCwge1xyXG4gICAgICAgIG9ic2VydmU6ICdyZXNwb25zZSdcclxuICAgICAgfSk/LnN1YnNjcmliZShcclxuICAgICAgICAocmVzcDogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB7IGhlYWRlcnMsIGJvZHkgfSA9IHJlc3A7XHJcbiAgICAgICAgICBjb25zdCBtb25rZXlDb2RlID0gaGVhZGVycy5nZXQoJ21vbmtleS1jb2RlJykgfHwgbW9ua2V5ZWN4Q29kZTtcclxuICAgICAgICAgIGlmIChtb25rZXlDb2RlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0V2hpdGVMYWJlbFNldHRpbmdzKG1vbmtleUNvZGUsIGJvZHksIGNhbGxiYWNrLCBlbnZpcm9ubWVudCwgaWRlbnRpZnlDb2RlKTtcclxuICAgICAgICAgICAgY29uZmlnQm9vc3RyYXBTdWJqZWN0JC5uZXh0KGJvZHkpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLmFwcGx5KCd0aGVtZScpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBCb29zdHJhcCAke21vbmtleUNvZGV9IENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIWApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZS5hcHBseSgndGhlbWUnKTtcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jvb3N0cmFwIENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIScpO1xyXG4gICAgICAgICAgdGhyb3dFcnJvcihlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb25maWcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJvb3N0cmFwQ29uZmlnKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdCb29zdHJhcFN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2NvbmZpZy9tb25rZXllY3gtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBbUMsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7O0FBVS9FLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSx1QkFBdUI7SUFLakUsWUFDRSxnQkFBa0MsRUFDMUIsMEJBQXNELEVBQ3RELDBCQUFzRCxFQUN0RCwrQkFBZ0UsRUFDaEUsbUNBQXdFLEVBQ3hFLHFDQUE0RSxFQUM1RSxpQ0FBb0UsRUFDcEUsMkJBQXdELEVBQ3hELDZCQUE0RDtRQUVwRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQVRoQiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBQ3RELCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBNEI7UUFDdEQsb0NBQStCLEdBQS9CLCtCQUErQixDQUFpQztRQUNoRSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBQ3hFLDBDQUFxQyxHQUFyQyxxQ0FBcUMsQ0FBdUM7UUFDNUUsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNwRSxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTZCO1FBQ3hELGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FB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bUZRLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRocm93RXJyb3IsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBNb25rZXlTdHlsZUd1aWRlU2V0dGluZ3NTZXJ2aWNlLCBNb25rZXlVdGlscyB9IGZyb20gJ21vbmtleS1zdHlsZS1ndWlkZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeGkxOG5Db25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtaTE4bi1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeExvZ3NDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtbG9ncy1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtc2VydmljZS13b3JrZXItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtc2VjdXJpdHktY29uc29sZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vbmtleUVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LW1haW50ZW5hbmNlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29yZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kZWNvcmF0b3JzL21vbmtleWVjeC1kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb25zL21vbmtleWVjeC1jb21tb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL21vbmtleWVjeC1jb25maWcnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdCb29zdHJhcCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvbW9ua2V5ZWN4LWNvbmZpZy1ib29zdHJhcCc7XHJcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtc2VydmljZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9ua2V5RWN4RXJyb3JDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtZXJyb3ItY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWZlYXR1cmUtdG9nZ2xlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Q29uZmlnU2VydmljZSBleHRlbmRzIE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1N1YmplY3QkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4Q29uZmlnPjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdCb29zdHJhcFN1YmplY3QkOiBCZWhhdmlvclN1YmplY3Q8TW9ua2V5RWN4Q29uZmlnPjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBtb25rZXllY3hTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hpMThuQ29uZmlnU2VydmljZTogTW9ua2V5RWN4aTE4bkNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleWVjeExvZ3NDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hMb2dzQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4U2VydmljZVdvcmtlckNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hTZWN1cml0eUNvbnNvbGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb25rZXllY3hNYWludGVuYW5jZUNvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlOiBNb25rZXlFY3hFcnJvckNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1vbmtleUVjeEZlYXR1cmVUb2dnbGVTZXJ2aWNlOiBNb25rZXlFY3hGZWF0dXJlVG9nZ2xlU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIobW9ua2V5ZWN4U2VydmljZSk7XHJcbiAgICB0aGlzLmNvbmZpZ1N1YmplY3QkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XHJcbiAgICB0aGlzLmNvbmZpZ0Jvb3N0cmFwU3ViamVjdCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW50ZXJuYWxWYWxpZGF0aW9ucyguLi5hcmdzOiBhbnlbXSkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBtb25rZXllY3hTZXJ2aWNlV29ya2VyQ29uZmlnU2VydmljZSxcclxuICAgICAgbW9ua2V5ZWN4U2VjdXJpdHlDb25zb2xlQ29uZmlnU2VydmljZSxcclxuICAgICAgbW9ua2V5ZWN4TWFpbnRlbmFuY2VDb25maWdTZXJ2aWNlXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGNvbnN0IGNvbmZpZ0Jvb3N0cmFwID0gYXJnc1swXTtcclxuICAgIGNvbnN0IGNhbGxiYWNrID0gYXJnc1sxXTtcclxuICAgIG1vbmtleWVjeFNlY3VyaXR5Q29uc29sZUNvbmZpZ1NlcnZpY2UuYXBwbHkoKTtcclxuICAgIG1vbmtleWVjeFNlcnZpY2VXb3JrZXJDb25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZ0Jvb3N0cmFwKTtcclxuICAgIG1vbmtleWVjeE1haW50ZW5hbmNlQ29uZmlnU2VydmljZS5hcHBseShjb25maWdCb29zdHJhcCk7XHJcbiAgICBjb25zb2xlLmxvZygnY29uZmlnQm9vc3RyYXAnKVxyXG4gICAgY29uc29sZS5sb2coY29uZmlnQm9vc3RyYXApXHJcbiAgICBjYWxsYmFjayhjb25maWdCb29zdHJhcCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFdoaXRlTGFiZWxTZXR0aW5ncyhcclxuICAgIG1vbmtleWVjeENvZGU6IHN0cmluZyxcclxuICAgIGNvbmZpZ0Jvb3N0cmFwOiBNb25rZXlFY3hDb25maWdCb29zdHJhcCxcclxuICAgIGNhbGxiYWNrOiBGdW5jdGlvbixcclxuICAgIGVudmlyb25tZW50OiBhbnksXHJcbiAgICBpZGVudGlmeUNvZGU6IHN0cmluZ1xyXG4gICkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBtb25rZXllY3hTZXJ2aWNlLFxyXG4gICAgICBtb25rZXllY3hpMThuQ29uZmlnU2VydmljZSxcclxuICAgICAgY29uZmlnU3ViamVjdCQsXHJcbiAgICAgIG1vbmtleVN0eWxlR3VpZGVTZXR0aW5nc1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleWVjeExvZ3NDb25maWdTZXJ2aWNlLFxyXG4gICAgICBtb25rZXllY3hFcnJvckNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgIG1vbmtleUVjeEZlYXR1cmVUb2dnbGVTZXJ2aWNlLFxyXG4gICAgICBpbnRlcm5hbFZhbGlkYXRpb25zXHJcbiAgICB9ID0gdGhpcztcclxuICAgIGNvbnN0IHVybCA9IGAke2Vudmlyb25tZW50LnVybEFzc2V0c31gO1xyXG4gICAgbW9ua2V5ZWN4U2VydmljZT8uZ2V0PGFueT4oYCR7dXJsfS8ke21vbmtleWVjeENvZGUudG9Mb3dlckNhc2UoKX0vd2hpdGUtbGFiZWwuanNvbmApPy5zdWJzY3JpYmUoXHJcbiAgICAgIChjb25maWc6IE1vbmtleUVjeENvbmZpZykgPT4ge1xyXG4gICAgICAgIG1vbmtleWVjeGkxOG5Db25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZywgZW52aXJvbm1lbnQpO1xyXG4gICAgICAgIG1vbmtleWVjeExvZ3NDb25maWdTZXJ2aWNlLmFwcGx5KGNvbmZpZywgY29uZmlnQm9vc3RyYXAsIGVudmlyb25tZW50LCBpZGVudGlmeUNvZGUpO1xyXG4gICAgICAgIG1vbmtleUVjeEZlYXR1cmVUb2dnbGVTZXJ2aWNlLmFwcGx5KGNvbmZpZ1N1YmplY3QkLCBlbnZpcm9ubWVudCk7XHJcbiAgICAgICAgbW9ua2V5U3R5bGVHdWlkZVNldHRpbmdzU2VydmljZS5ib29zdHJhcChcclxuICAgICAgICAgIGAke3VybH0vJHttb25rZXllY3hDb2RlLnRvTG93ZXJDYXNlKCl9L21vbmtleS1zdHlsZS1ndWlkZS1zZXR0aW5ncy5qc29uYCxcclxuICAgICAgICAgIGludGVybmFsVmFsaWRhdGlvbnMuYmluZCh0aGlzLCBjb25maWdCb29zdHJhcCwgY2FsbGJhY2ssIGVudmlyb25tZW50KVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uZmlnU3ViamVjdCQubmV4dChjb25maWcpO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIG1vbmtleWVjeEVycm9yQ29uZmlnU2VydmljZS5hcHBseSgndGhlbWUnKTtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdQcm9ncmFtIENvbmZpZ3VyYXRpb24gbm90IGZvdW5kIScpO1xyXG4gICAgICAgIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBNb25rZXlFY3hDb3JlU2VydmljZSh7XHJcbiAgICBodHRwUmVzcG9uc2U6IHtcclxuICAgICAgaHR0cENvZGVJZ25vcmU6IFs0MDRdXHJcbiAgICB9LFxyXG4gICAgcmVxdWVzdEluUHJvZ3Jlc3M6IHtcclxuICAgICAgc2hvd1Byb2dyZXNzOiBmYWxzZVxyXG4gICAgfVxyXG4gIH0pXHJcbiAgcHVibGljIGluaXQoY2FsbGJhY2s6IEZ1bmN0aW9uLCBlbnZpcm9ubWVudDogYW55LCBpZGVudGlmeUNvZGU6IHN0cmluZywgbW9ua2V5ZWN4Q29kZT86IHN0cmluZykge1xyXG4gICAgY29uc3QgeyBtb25rZXllY3hTZXJ2aWNlLCBjb25maWdCb29zdHJhcFN1YmplY3QkLCBtb25rZXllY3hFcnJvckNvbmZpZ1NlcnZpY2UgfSA9IHRoaXM7XHJcblxyXG4gICAgbW9ua2V5ZWN4U2VydmljZT8uZ2V0KGAke2Vudmlyb25tZW50LmJvb3N0cmFwQXNzZXRzfT90PSR7TW9ua2V5VXRpbHMuZ2V0UmFuZG9tU3RyaW5nKDMwKX1gLCB7XHJcbiAgICAgICAgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ1xyXG4gICAgICB9KT8uc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXNwOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHsgaGVhZGVycywgYm9keSB9ID0gcmVzcDtcclxuICAgICAgICAgIGNvbnN0IG1vbmtleUNvZGUgPSBoZWFkZXJzLmdldCgnbW9ua2V5LWNvZGUnKSB8fCBtb25rZXllY3hDb2RlO1xyXG4gICAgICAgICAgaWYgKG1vbmtleUNvZGUpIHtcclxuICAgICAgICAgICAgdGhpcy5nZXRXaGl0ZUxhYmVsU2V0dGluZ3MobW9ua2V5Q29kZSwgYm9keSwgY2FsbGJhY2ssIGVudmlyb25tZW50LCBpZGVudGlmeUNvZGUpO1xyXG4gICAgICAgICAgICBjb25maWdCb29zdHJhcFN1YmplY3QkLm5leHQoYm9keSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtb25rZXllY3hFcnJvckNvbmZpZ1NlcnZpY2UuYXBwbHkoJ3RoZW1lJyk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEJvb3N0cmFwICR7bW9ua2V5Q29kZX0gQ29uZmlndXJhdGlvbiBub3QgZm91bmQhYCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgbW9ua2V5ZWN4RXJyb3JDb25maWdTZXJ2aWNlLmFwcGx5KCd0aGVtZScpO1xyXG4gICAgICAgICAgY29uc29sZS5lcnJvcignQm9vc3RyYXAgQ29uZmlndXJhdGlvbiBub3QgZm91bmQhJyk7XHJcbiAgICAgICAgICB0aHJvd0Vycm9yKGVycik7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbmZpZygpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYm9vc3RyYXBDb25maWcoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ0Jvb3N0cmFwU3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -15,10 +15,12 @@ export class MonkeyEcxErrorHandlingService {
15
15
  const handlingService = injector.get(MonkeyEcxHandlingService);
16
16
  const httpErrorHandlingService = injector.get(MonkeyEcxHttpErrorHandlingService);
17
17
  const othersErrorsHandlingService = injector.get(MonkeyEcxOthersErrorsHandlingService);
18
- console.log('error');
18
+ console.log('======error');
19
19
  console.log(error);
20
20
  if (error instanceof HttpErrorResponse) {
21
21
  const sCredentials = handlingService?.getMonkeyEcxServiceCredentials() || {};
22
+ console.log('sCredentials');
23
+ console.log(sCredentials);
22
24
  if (MonkeyEcxUtils.persistNullEmptyUndefined(type) && type === 'refresh_token') {
23
25
  httpErrorHandlingService.handleErrorRefreshToken(error, sCredentials);
24
26
  }
@@ -38,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
38
40
  providedIn: 'root'
39
41
  }]
40
42
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvZXJyb3IvbW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1uRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsWUFBWTtJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVSxFQUFFLElBQWE7UUFDbkMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDL0QsTUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDakYsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFFdkYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5CLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFO1lBQ3RDLE1BQU0sWUFBWSxHQUNoQixlQUFlLEVBQUUsOEJBQThCLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDMUQsSUFBSSxjQUFjLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLGVBQWUsRUFBRTtnQkFDOUUsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQ3ZFOztnQkFBTSx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQ2xFO2FBQU07WUFDTCwyQkFBMkIsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDOzswSEF2QlUsNkJBQTZCOzhIQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIEVycm9ySGFuZGxlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBNb25rZXlFY3hIdHRwRXJyb3JIYW5kbGluZ1NlcnZpY2UgfSBmcm9tICcuL21vbmtleWVjeC1odHRwLWVycm9yLWhhbmRsaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4SGFuZGxpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5ZWN4LWhhbmRsaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9ua2V5RWN4T3RoZXJzRXJyb3JzSGFuZGxpbmdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtb3RoZXJzLWVycm9ycy1oYW5kbGluZy5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1vbmtleUVjeEVycm9ySGFuZGxpbmdTZXJ2aWNlIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIGhhbmRsZUVycm9yKGVycm9yOiBhbnksIHR5cGU/OiBzdHJpbmcpIHtcbiAgICBjb25zdCB7IGluamVjdG9yIH0gPSB0aGlzO1xuICAgIGNvbnN0IGhhbmRsaW5nU2VydmljZSA9IGluamVjdG9yLmdldChNb25rZXlFY3hIYW5kbGluZ1NlcnZpY2UpO1xuICAgIGNvbnN0IGh0dHBFcnJvckhhbmRsaW5nU2VydmljZSA9IGluamVjdG9yLmdldChNb25rZXlFY3hIdHRwRXJyb3JIYW5kbGluZ1NlcnZpY2UpO1xuICAgIGNvbnN0IG90aGVyc0Vycm9yc0hhbmRsaW5nU2VydmljZSA9IGluamVjdG9yLmdldChNb25rZXlFY3hPdGhlcnNFcnJvcnNIYW5kbGluZ1NlcnZpY2UpO1xuXG4gICAgY29uc29sZS5sb2coJ2Vycm9yJyk7XG4gICAgY29uc29sZS5sb2coZXJyb3IpO1xuXG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgIGNvbnN0IHNDcmVkZW50aWFsczogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzID1cbiAgICAgICAgaGFuZGxpbmdTZXJ2aWNlPy5nZXRNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMoKSB8fCB7fTtcbiAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHR5cGUpICYmIHR5cGUgPT09ICdyZWZyZXNoX3Rva2VuJykge1xuICAgICAgICBodHRwRXJyb3JIYW5kbGluZ1NlcnZpY2UuaGFuZGxlRXJyb3JSZWZyZXNoVG9rZW4oZXJyb3IsIHNDcmVkZW50aWFscyk7XG4gICAgICB9IGVsc2UgaHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yLCBzQ3JlZGVudGlhbHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvdGhlcnNFcnJvcnNIYW5kbGluZ1NlcnZpY2UuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvZXJyb3IvbW9ua2V5ZWN4LWVycm9yLWhhbmRsaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU1uRCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsWUFBWTtJQUNkLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVSxFQUFFLElBQWE7UUFDbkMsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDL0QsTUFBTSx3QkFBd0IsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDakYsTUFBTSwyQkFBMkIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFFdkYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBRWxCLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFO1lBQ3RDLE1BQU0sWUFBWSxHQUNoQixlQUFlLEVBQUUsOEJBQThCLEVBQUUsSUFBSSxFQUFFLENBQUM7WUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtZQUMzQixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQ3pCLElBQUksY0FBYyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxlQUFlLEVBQUU7Z0JBQzlFLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQzthQUN2RTs7Z0JBQU0sd0JBQXdCLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNsRTthQUFNO1lBQ0wsMkJBQTJCLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzs7MEhBekJVLDZCQUE2Qjs4SEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBFcnJvckhhbmRsZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgTW9ua2V5RWN4SHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlIH0gZnJvbSAnLi9tb25rZXllY3gtaHR0cC1lcnJvci1oYW5kbGluZy5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeEhhbmRsaW5nU2VydmljZSB9IGZyb20gJy4uL21vbmtleWVjeC1oYW5kbGluZy5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeE90aGVyc0Vycm9yc0hhbmRsaW5nU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LW90aGVycy1lcnJvcnMtaGFuZGxpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hFcnJvckhhbmRsaW5nU2VydmljZSBpbXBsZW1lbnRzIEVycm9ySGFuZGxlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBoYW5kbGVFcnJvcihlcnJvcjogYW55LCB0eXBlPzogc3RyaW5nKSB7XG4gICAgY29uc3QgeyBpbmplY3RvciB9ID0gdGhpcztcbiAgICBjb25zdCBoYW5kbGluZ1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoTW9ua2V5RWN4SGFuZGxpbmdTZXJ2aWNlKTtcbiAgICBjb25zdCBodHRwRXJyb3JIYW5kbGluZ1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoTW9ua2V5RWN4SHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlKTtcbiAgICBjb25zdCBvdGhlcnNFcnJvcnNIYW5kbGluZ1NlcnZpY2UgPSBpbmplY3Rvci5nZXQoTW9ua2V5RWN4T3RoZXJzRXJyb3JzSGFuZGxpbmdTZXJ2aWNlKTtcblxuICAgIGNvbnNvbGUubG9nKCc9PT09PT1lcnJvcicpXG4gICAgY29uc29sZS5sb2coZXJyb3IpXG5cbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgY29uc3Qgc0NyZWRlbnRpYWxzOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMgPVxuICAgICAgICBoYW5kbGluZ1NlcnZpY2U/LmdldE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscygpIHx8IHt9O1xuICAgICAgY29uc29sZS5sb2coJ3NDcmVkZW50aWFscycpXG4gICAgICBjb25zb2xlLmxvZyhzQ3JlZGVudGlhbHMpXG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh0eXBlKSAmJiB0eXBlID09PSAncmVmcmVzaF90b2tlbicpIHtcbiAgICAgICAgaHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yUmVmcmVzaFRva2VuKGVycm9yLCBzQ3JlZGVudGlhbHMpO1xuICAgICAgfSBlbHNlIGh0dHBFcnJvckhhbmRsaW5nU2VydmljZS5oYW5kbGVFcnJvcihlcnJvciwgc0NyZWRlbnRpYWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3RoZXJzRXJyb3JzSGFuZGxpbmdTZXJ2aWNlLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -40,7 +40,6 @@ export class MonkeyEcxHttpErrorHandlingService extends MonkeyEcxCommonsService {
40
40
  }
41
41
  showMessage(message, error, mkc) {
42
42
  const { snackbarService } = this;
43
- console.log('==================');
44
43
  if (!this.isHttpCodeIgnoreMessage(mkc, error.status)) {
45
44
  snackbarService.show({
46
45
  title: this.__i18n?.TITLE,
@@ -125,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
125
124
  providedIn: 'root'
126
125
  }]
127
126
  }], ctorParameters: function () { return [{ type: i1.MonkeyEcxService }, { type: i2.MonkeyEcxTokenStorageService }, { type: i3.MonkeyEcxAuthenticationService }, { type: i4.Router }, { type: i5.MonkeyStyleGuideSnackbarService }, { type: i6.TranslateService }]; } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWh0dHAtZXJyb3ItaGFuZGxpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9lcnJvci9tb25rZXllY3gtaHR0cC1lcnJvci1oYW5kbGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUW5ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBS25ELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx1QkFBdUI7SUFDNUUsWUFDRSxnQkFBa0MsRUFDbEMsWUFBMEMsRUFDbEMsOEJBQThELEVBQzlELE1BQWMsRUFDZCxlQUFnRCxFQUNoRCxnQkFBa0M7UUFFMUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTDlCLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQUNoRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSTFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLHVCQUF1QixDQUFDLEVBQStCLEVBQUUsUUFBZ0I7UUFDL0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUU7WUFDdEUsT0FBTyxL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QztJQUNkLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxLQUF3QixFQUFFLEdBQWdDO1FBQ3ZGLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsOEJBQThCLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNqRjthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7OzhIQXhJVSxpQ0FBaUM7a0lBQWpDLGlDQUFpQyxjQUZoQyxNQUFNOzJGQUVQLGlDQUFpQztrQkFIN0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE1vbmtleVN0eWxlR3VpZGVTbmFja2JhclNlcnZpY2UgfSBmcm9tICdtb25rZXktc3R5bGUtZ3VpZGUnO1xuaW1wb3J0IHsgTW9ua2V5RWN4QXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aCc7XG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlIH0gZnJvbSAnLi4vbW9ua2V5ZWN4LXNlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb21tb25zU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbnMnO1xuaW1wb3J0IHsgTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4SHR0cEVycm9ySGFuZGxpbmdTZXJ2aWNlIGV4dGVuZHMgTW9ua2V5RWN4Q29tbW9uc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBtb25rZXllY3hTZXJ2aWNlOiBNb25rZXlFY3hTZXJ2aWNlLFxuICAgIHRva2VuU3RvcmFnZTogTW9ua2V5RWN4VG9rZW5TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIG1vbmtleWVjeEF1dGhlbnRpY2F0aW9uU2VydmljZTogTW9ua2V5RWN4QXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBzbmFja2JhclNlcnZpY2U6IE1vbmtleVN0eWxlR3VpZGVTbmFja2JhclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKG1vbmtleWVjeFNlcnZpY2UsIHRva2VuU3RvcmFnZSk7XG5cbiAgICBzdXBlci5yZXNvbHZlKG51bGwsIG51bGwpO1xuXG4gICAgdGhpcy5nZXRpMThuKHRoaXMudHJhbnNsYXRlU2VydmljZSwgJ1NFUlZJQ0VTLldBUk5JTkcnKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNIdHRwQ29kZUlnbm9yZU1lc3NhZ2UodHA6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscywgaHR0cENvZGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICghTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh0cCkgJiYgIXRwPy5odHRwUmVzcG9uc2UpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3VuZCA9ICh0cD8uaHR0cFJlc3BvbnNlPy5odHRwQ29kZUlnbm9yZSB8fCBbXSk/LmluZGV4T2YoaHR0cENvZGUpID4gLTE7XG5cbiAgICByZXR1cm4gZm91bmQ7XG4gIH1cblxuICBwcml2YXRlIGlzSHR0cENvZGVJZ25vcmVSZWRpcmVjdChcbiAgICB0cDogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzLFxuICAgIGh0dHBDb2RlOiBudW1iZXJcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHRwKSAmJiAhdHA/Lmh0dHBSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGZvdW5kID0gKHRwPy5odHRwUmVzcG9uc2U/Lmh0dHBDb2RlSWdub3JlUmVkaXJlY3QgfHwgW10pPy5pbmRleE9mKGh0dHBDb2RlKSA+IC0xO1xuXG4gICAgcmV0dXJuIGZvdW5kO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZXNzYWdlVHlwZShzdGF0dXM6IG51bWJlcik6ICd0aGVtZScgfCAnd2FybmluZycgfCAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3F1ZXN0aW9uJyB7XG4gICAgaWYgKHN0YXR1cyA9PT0gNDA5IHx8IHN0YXR1cyA9PT0gNDAwKSB7XG4gICAgICByZXR1cm4gJ3dhcm5pbmcnO1xuICAgIH1cblxuICAgIHJldHVybiAnZXJyb3InO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93TWVzc2FnZShcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIG1rYzogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzXG4gICkge1xuICAgIGNvbnN0IHsgc25hY2tiYXJTZXJ2aWNlIH0gPSB0aGlzO1xuICAgIGNvbnNvbGUubG9nKCc9PT09PT09PT09PT09PT09PT0nKTtcbiAgICBpZiAoIXRoaXMuaXNIdHRwQ29kZUlnbm9yZU1lc3NhZ2UobWtjLCBlcnJvci5zdGF0dXMpKSB7XG4gICAgICBzbmFja2JhclNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIHRpdGxlOiB0aGlzLl9faTE4bj8uVElUTEUsXG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIHR5cGU6IHRoaXMuZ2V0TWVzc2FnZVR5cGUoZXJyb3Iuc3RhdHVzKSxcbiAgICAgICAgZHVyYXRpb246IDQwMDAsXG4gICAgICAgIGhvcml6b250YWxQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICAgIHZlcnRpY2FsUG9zaXRpb246ICd0b3AnXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU1lc3NhZ2UoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBta2M6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICBjb25zdCB7IG5vdGlmaWNhdGlvbnMsIGVycm9yX2Rlc2NyaXB0aW9uLCBtZXNzYWdlIH0gPSBlcnJvci5lcnJvcjtcbiAgICBsZXQgY3VzdG9tTWVzc2FnZSA9ICcnO1xuXG4gICAgaWYgKG1lc3NhZ2UpIHtcbiAgICAgIGN1c3RvbU1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICBpZiAoZXJyb3JfZGVzY3JpcHRpb24pIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjYW1lbGNhc2VcbiAgICAgIGN1c3RvbU1lc3NhZ2UgPSBlcnJvcl9kZXNjcmlwdGlvbjtcbiAgICB9XG5cbiAgICBpZiAobm90aWZpY2F0aW9ucykge1xuICAgICAgY3VzdG9tTWVzc2FnZSA9IG5vdGlmaWNhdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKCFjdXN0b21NZXNzYWdlKSB7XG4gICAgICBpZiAoZXJyb3IuZXJyb3IgaW5zdGFuY2VvZiBCbG9iKSB7XG4gICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbZXJyb3IuZXJyb3JdLCB7XG4gICAgICAgICAgdHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignbG9hZGVuZCcsIChlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGU/LnRhcmdldD8ucmVzdWx0O1xuICAgICAgICAgIGNvbnN0IGpzb25SZXNwID0gSlNPTi5wYXJzZSh0ZXh0IGFzIHN0cmluZyk7XG4gICAgICAgICAgY3VzdG9tTWVzc2FnZSA9IGpzb25SZXNwLm5vdGlmaWNhdGlvbnM7XG4gICAgICAgICAgdGhpcy5zaG93TWVzc2FnZShjdXN0b21NZXNzYWdlLCBlcnJvciwgbWtjKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGJsb2IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93TWVzc2FnZSh0aGlzLl9faTE4blsnRVJST1ItSEFORExJTkcnXT8uRVJST1IsIGVycm9yLCBta2MpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3dNZXNzYWdlKGN1c3RvbU1lc3NhZ2UsIGVycm9yLCBta2MpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIG1rYzogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzKSB7XG4gICAgY29uc3QgeyByb3V0ZXIgfSA9IHRoaXM7XG4gICAgY29uc3QgeyBzdGF0dXMgfSA9IGVycm9yO1xuXG4gICAgY29uc3Qgcm91dGVzOiBhbnkgPSB7XG4gICAgICA0MDM6ICdmb3JiaWRkZW4nLFxuICAgICAgNTAwOiAnc2VydmljZS1wcm9ibGVtcycsXG4gICAgICA1MDM6ICdzZXJ2aWNlLXByb2JsZW1zJ1xuICAgIH07XG5cbiAgICBjb25zdCBmb3VuZCA9IHJvdXRlc1tzdGF0dXNdO1xuICAgIGxldCB0aW1lb3V0ID0gMDtcblxuICAgIGlmIChmb3VuZCAmJiAhdGhpcy5pc0h0dHBDb2RlSWdub3JlUmVkaXJlY3QobWtjLCBlcnJvcj8uc3RhdHVzKSkge1xuICAgICAgY29uc3Qgcm91dGUgPSBgL2FwcC9wYWdlcy8ke2ZvdW5kfWAudG9Mb3dlckNhc2UoKTtcbiAgICAgIHRpbWVvdXQgPSA4MDA7XG4gICAgICByb3V0ZXIubmF2aWdhdGUoW3JvdXRlXSk7XG4gICAgfVxuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZU1lc3NhZ2UoZXJyb3IsIG1rYyk7XG4gICAgfSwgdGltZW91dCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlRXJyb3JSZWZyZXNoVG9rZW4oZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBta2M6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscykge1xuICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMSB8fCBlcnJvci5zdGF0dXMgPT09IDQwMCkge1xuICAgICAgTmdab25lLmNhbGwodGhpcy5tb25rZXllY3hBdXRoZW50aWNhdGlvblNlcnZpY2UucmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrKCksIHt9KTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzSHR0cENvZGVJZ25vcmVNZXNzYWdlKG1rYywgZXJyb3Iuc3RhdHVzKSkge1xuICAgICAgdGhpcy5oYW5kbGVNZXNzYWdlKGVycm9yLCBta2MpO1xuICAgIH1cbiAgfVxufVxuIl19
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWh0dHAtZXJyb3ItaGFuZGxpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9lcnJvci9tb25rZXllY3gtaHR0cC1lcnJvci1oYW5kbGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUW5ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBS25ELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSx1QkFBdUI7SUFDNUUsWUFDRSxnQkFBa0MsRUFDbEMsWUFBMEMsRUFDbEMsOEJBQThELEVBQzlELE1BQWMsRUFDZCxlQUFnRCxFQUNoRCxnQkFBa0M7UUFFMUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTDlCLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBZ0M7UUFDOUQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFpQztRQUNoRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSTFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLHVCQUF1QixDQUFDLEVBQStCLEVBQUUsUUFBZ0I7UUFDL0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUU7WUFDdEUsT0FBTyxL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Z0M7UUFDdkYsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyx3QkFBd0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2pGO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQzs7OEhBdklVLGlDQUFpQztrSUFBakMsaUNBQWlDLGNBRmhDLE1BQU07MkZBRVAsaUNBQWlDO2tCQUg3QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTW9ua2V5U3R5bGVHdWlkZVNuYWNrYmFyU2VydmljZSB9IGZyb20gJ21vbmtleS1zdHlsZS1ndWlkZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hdXRoJztcbmltcG9ydCB7IE1vbmtleUVjeFNlcnZpY2UgfSBmcm9tICcuLi9tb25rZXllY3gtc2VydmljZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vbmtleUVjeFRva2VuU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yYWdlJztcbmltcG9ydCB7IE1vbmtleUVjeENvbW1vbnNTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9ucyc7XG5pbXBvcnQgeyBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE1vbmtleUVjeFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hIdHRwRXJyb3JIYW5kbGluZ1NlcnZpY2UgZXh0ZW5kcyBNb25rZXlFY3hDb21tb25zU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1vbmtleWVjeFNlcnZpY2U6IE1vbmtleUVjeFNlcnZpY2UsXG4gICAgdG9rZW5TdG9yYWdlOiBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9ua2V5ZWN4QXV0aGVudGljYXRpb25TZXJ2aWNlOiBNb25rZXlFY3hBdXRoZW50aWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHNuYWNrYmFyU2VydmljZTogTW9ua2V5U3R5bGVHdWlkZVNuYWNrYmFyU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIobW9ua2V5ZWN4U2VydmljZSwgdG9rZW5TdG9yYWdlKTtcblxuICAgIHN1cGVyLnJlc29sdmUobnVsbCwgbnVsbCk7XG5cbiAgICB0aGlzLmdldGkxOG4odGhpcy50cmFuc2xhdGVTZXJ2aWNlLCAnU0VSVklDRVMuV0FSTklORycpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0h0dHBDb2RlSWdub3JlTWVzc2FnZSh0cDogTW9ua2V5RWN4U2VydmljZUNyZWRlbnRpYWxzLCBodHRwQ29kZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgaWYgKCFNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHRwKSAmJiAhdHA/Lmh0dHBSZXNwb25zZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGZvdW5kID0gKHRwPy5odHRwUmVzcG9uc2U/Lmh0dHBDb2RlSWdub3JlIHx8IFtdKT8uaW5kZXhPZihodHRwQ29kZSkgPiAtMTtcblxuICAgIHJldHVybiBmb3VuZDtcbiAgfVxuXG4gIHByaXZhdGUgaXNIdHRwQ29kZUlnbm9yZVJlZGlyZWN0KFxuICAgIHRwOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMsXG4gICAgaHR0cENvZGU6IG51bWJlclxuICApOiBib29sZWFuIHtcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodHApICYmICF0cD8uaHR0cFJlc3BvbnNlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgZm91bmQgPSAodHA/Lmh0dHBSZXNwb25zZT8uaHR0cENvZGVJZ25vcmVSZWRpcmVjdCB8fCBbXSk/LmluZGV4T2YoaHR0cENvZGUpID4gLTE7XG5cbiAgICByZXR1cm4gZm91bmQ7XG4gIH1cblxuICBwcml2YXRlIGdldE1lc3NhZ2VUeXBlKHN0YXR1czogbnVtYmVyKTogJ3RoZW1lJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgfCAncXVlc3Rpb24nIHtcbiAgICBpZiAoc3RhdHVzID09PSA0MDkgfHwgc3RhdHVzID09PSA0MDApIHtcbiAgICAgIHJldHVybiAnd2FybmluZyc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdlcnJvcic7XG4gIH1cblxuICBwcml2YXRlIHNob3dNZXNzYWdlKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgbWtjOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHNcbiAgKSB7XG4gICAgY29uc3QgeyBzbmFja2JhclNlcnZpY2UgfSA9IHRoaXM7XG4gICAgaWYgKCF0aGlzLmlzSHR0cENvZGVJZ25vcmVNZXNzYWdlKG1rYywgZXJyb3Iuc3RhdHVzKSkge1xuICAgICAgc25hY2tiYXJTZXJ2aWNlLnNob3coe1xuICAgICAgICB0aXRsZTogdGhpcy5fX2kxOG4/LlRJVExFLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICB0eXBlOiB0aGlzLmdldE1lc3NhZ2VUeXBlKGVycm9yLnN0YXR1cyksXG4gICAgICAgIGR1cmF0aW9uOiA0MDAwLFxuICAgICAgICBob3Jpem9udGFsUG9zaXRpb246ICdjZW50ZXInLFxuICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uOiAndG9wJ1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVNZXNzYWdlKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSwgbWtjOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXG4gICAgY29uc3QgeyBub3RpZmljYXRpb25zLCBlcnJvcl9kZXNjcmlwdGlvbiwgbWVzc2FnZSB9ID0gZXJyb3IuZXJyb3I7XG4gICAgbGV0IGN1c3RvbU1lc3NhZ2UgPSAnJztcblxuICAgIGlmIChtZXNzYWdlKSB7XG4gICAgICBjdXN0b21NZXNzYWdlID0gbWVzc2FnZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXG4gICAgaWYgKGVycm9yX2Rlc2NyaXB0aW9uKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FtZWxjYXNlXG4gICAgICBjdXN0b21NZXNzYWdlID0gZXJyb3JfZGVzY3JpcHRpb247XG4gICAgfVxuXG4gICAgaWYgKG5vdGlmaWNhdGlvbnMpIHtcbiAgICAgIGN1c3RvbU1lc3NhZ2UgPSBub3RpZmljYXRpb25zO1xuICAgIH1cblxuICAgIGlmICghY3VzdG9tTWVzc2FnZSkge1xuICAgICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgQmxvYikge1xuICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW2Vycm9yLmVycm9yXSwge1xuICAgICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCAoZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBlPy50YXJnZXQ/LnJlc3VsdDtcbiAgICAgICAgICBjb25zdCBqc29uUmVzcCA9IEpTT04ucGFyc2UodGV4dCBhcyBzdHJpbmcpO1xuICAgICAgICAgIGN1c3RvbU1lc3NhZ2UgPSBqc29uUmVzcC5ub3RpZmljYXRpb25zO1xuICAgICAgICAgIHRoaXMuc2hvd01lc3NhZ2UoY3VzdG9tTWVzc2FnZSwgZXJyb3IsIG1rYyk7XG4gICAgICAgIH0pO1xuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvd01lc3NhZ2UodGhpcy5fX2kxOG5bJ0VSUk9SLUhBTkRMSU5HJ10/LkVSUk9SLCBlcnJvciwgbWtjKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93TWVzc2FnZShjdXN0b21NZXNzYWdlLCBlcnJvciwgbWtjKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlRXJyb3IoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBta2M6IE1vbmtleUVjeFNlcnZpY2VDcmVkZW50aWFscykge1xuICAgIGNvbnN0IHsgcm91dGVyIH0gPSB0aGlzO1xuICAgIGNvbnN0IHsgc3RhdHVzIH0gPSBlcnJvcjtcblxuICAgIGNvbnN0IHJvdXRlczogYW55ID0ge1xuICAgICAgNDAzOiAnZm9yYmlkZGVuJyxcbiAgICAgIDUwMDogJ3NlcnZpY2UtcHJvYmxlbXMnLFxuICAgICAgNTAzOiAnc2VydmljZS1wcm9ibGVtcydcbiAgICB9O1xuXG4gICAgY29uc3QgZm91bmQgPSByb3V0ZXNbc3RhdHVzXTtcbiAgICBsZXQgdGltZW91dCA9IDA7XG5cbiAgICBpZiAoZm91bmQgJiYgIXRoaXMuaXNIdHRwQ29kZUlnbm9yZVJlZGlyZWN0KG1rYywgZXJyb3I/LnN0YXR1cykpIHtcbiAgICAgIGNvbnN0IHJvdXRlID0gYC9hcHAvcGFnZXMvJHtmb3VuZH1gLnRvTG93ZXJDYXNlKCk7XG4gICAgICB0aW1lb3V0ID0gODAwO1xuICAgICAgcm91dGVyLm5hdmlnYXRlKFtyb3V0ZV0pO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVNZXNzYWdlKGVycm9yLCBta2MpO1xuICAgIH0sIHRpbWVvdXQpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUVycm9yUmVmcmVzaFRva2VuKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSwgbWtjOiBNb25rZXlFY3hTZXJ2aWNlQ3JlZGVudGlhbHMpIHtcbiAgICBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDEgfHwgZXJyb3Iuc3RhdHVzID09PSA0MDApIHtcbiAgICAgIE5nWm9uZS5jYWxsKHRoaXMubW9ua2V5ZWN4QXV0aGVudGljYXRpb25TZXJ2aWNlLnJlZGlyZWN0TG9naW5XZWxjb21lQmFjaygpLCB7fSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5pc0h0dHBDb2RlSWdub3JlTWVzc2FnZShta2MsIGVycm9yLnN0YXR1cykpIHtcbiAgICAgIHRoaXMuaGFuZGxlTWVzc2FnZShlcnJvciwgbWtjKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -39,13 +39,16 @@ export class MonkeyEcxTokenStorageService {
39
39
  token$.next(token);
40
40
  }
41
41
  getAllTokens() {
42
- const { token } = this;
42
+ const { token, config } = this;
43
43
  const handledToken = {
44
44
  ...token
45
45
  };
46
46
  Object.entries(token || {}).forEach(([key, value]) => {
47
47
  handledToken[key] = localStorage.getItem(key);
48
48
  });
49
+ if (config?.program) {
50
+ handledToken.program = config?.program?.token;
51
+ }
49
52
  return handledToken;
50
53
  }
51
54
  setAllMe(me) {
@@ -119,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
119
122
  providedIn: 'root'
120
123
  }]
121
124
  }], ctorParameters: function () { return [{ type: i1.MonkeyEcxConfigService }]; } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sNEJBQTRCO0lBU3ZDLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRjFELFdBQU0sR0FBMkIsSUFBSSxDQUFDO1FBRzVDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsRUFBRTtZQUNSLFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO2FBQ2hDO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxJ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VixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlnL21vbmtleWVjeC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZywgTW9ua2V5RWN4TWVDcmVkZW50aWFscywgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IG51bGw7XG5cbiAgcHJpdmF0ZSB0b2tlbiQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgYW55PjtcblxuICBwcml2YXRlIG1lJDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeE1lQ3JlZGVudGlhbHMgfCBhbnk+O1xuXG4gIHByaXZhdGUgY29uZmlnOiBNb25rZXlFY3hDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vbmtleWVjeENvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLnRva2VuID0ge1xuICAgICAgdXNlcm5hbWU6ICcnLFxuICAgICAgcHJvZ3JhbTogJycsXG4gICAgICBhY2Nlc3NUb2tlbjogJycsXG4gICAgICByZWZyZXNoVG9rZW46ICcnLFxuICAgICAgY29tcGFueUlkOiAnJyxcbiAgICAgIGdvdmVybm1lbnRJZDogJycsXG4gICAgICBjb21wYW55VHlwZVVybDogJycsXG4gICAgICBjb21wYW55VHlwZTogJycsXG4gICAgICBwcm9ncmFtQWRtaW46IGZhbHNlLFxuICAgICAgcHJvZ3JhbVR5cGU6ICcnLFxuICAgICAgcm9sZTogJycsXG4gICAgICBfY2xlYXJJZ25vcmU6IHtcbiAgICAgICAgaWdub3JlOiBbJ3VzZXJuYW1lJywgJ3Byb2dyYW0nXVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy50b2tlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICAgIHRoaXMubWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICAgIHRoaXMubW9ua2V5ZWN4Q29uZmlnU2VydmljZS5jb25maWcoKS5zdWJzY3JpYmUoKF86IE1vbmtleUVjeENvbmZpZykgPT4ge1xuICAgICAgdGhpcy5jb25maWcgPSBfO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxUb2tlbnModG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMpIHtcbiAgICBjb25zdCB7IHRva2VuJCB9ID0gdGhpcztcbiAgICBPYmplY3QuZW50cmllcyh0b2tlbikuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdG9rZW4kLm5leHQodG9rZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxUb2tlbnMoKTogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB7XG4gICAgY29uc3QgeyB0b2tlbiB9ID0gdGhpcztcbiAgICBjb25zdCBoYW5kbGVkVG9rZW46IGFueSA9IHtcbiAgICAgIC4uLnRva2VuXG4gICAgfTtcbiAgICBPYmplY3QuZW50cmllcyh0b2tlbiB8fCB7fSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBoYW5kbGVkVG9rZW5ba2V5XSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaGFuZGxlZFRva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIGNvbnN0IHsgbWUkIH0gPSB0aGlzO1xuICAgIGxldCBwcmV2aW91c01lID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2U/LmdldEl0ZW0oJ21lJykgfHwgJycpO1xuICAgIE9iamVjdC5lbnRyaWVzKG1lKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICBwcmV2aW91c01lID0ge1xuICAgICAgICAgIC4uLnByZXZpb3VzTWUsXG4gICAgICAgICAgW2tleV06IHZhbHVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbWUnLCBKU09OLnN0cmluZ2lmeShwcmV2aW91c01lKSk7XG4gICAgbWUkLm5leHQocHJldmlvdXNNZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbE1lKCk6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMge1xuICAgIGNvbnN0IG1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21lJyk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobWUgfHwgJycpIGFzIE1vbmtleUVjeE1lQ3JlZGVudGlhbHM7XG4gIH1cblxuICBwdWJsaWMgdG9rZW5IYXNDaGFuZ2VkKCk6IE9ic2VydmFibGU8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscz4ge1xuICAgIHJldHVybiB0aGlzLnRva2VuJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBtZUhhc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxNb25rZXlFY3hNZUNyZWRlbnRpYWxzPiB7XG4gICAgcmV0dXJuIHRoaXMubWUkLmFzT2JzZXJ2YWJsZSgpIHx8IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW4oKTogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsVG9rZW5zKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWUoKTogTW9ua2V5RWN4TWVDcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsTWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsVG9rZW5zKHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsTWUobWUpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKGZvcmNlPzogYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdG9rZW4gfSA9IHRoaXM7XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0b2tlbj8uX2NsZWFySWdub3JlPy5pZ25vcmUgfHwgW10pLmZpbHRlcigodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtleTtcbiAgICAgICAgICB9KS5sZW5ndGggPD0gMCB8fFxuICAgICAgICAgIGZvcmNlID09PSB0cnVlXG4gICAgICAgICkge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ21lJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZmllbGRzICh0aGUgbmFtZSBvZiBmaWVsZHMgeW91IHdhbnQgdG8gY2xlYXIuIGllOiBbJ2NvbXBhbnlJZCcsICdyb2xlJywgLi4uXSlcbiAgICovXG4gIHB1YmxpYyBjbGVhckNyZWRlbnRpYWxzKGZpZWxkcyA9IFsnY29tcGFueUlkJywgJ2dvdmVybm1lbnRJZCcsICdjb21wYW55VHlwZScsICdwcm9ncmFtQWRtaW4nLCAncm9sZSddKSB7XG4gICAgZmllbGRzPy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LXRva2VuLXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21vbmtleS1mcm9udC1jb3JlL3NyYy9saWIvY29yZS9zZXJ2aWNlcy9zdG9yYWdlL21vbmtleWVjeC10b2tlbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sNEJBQTRCO0lBU3ZDLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBRjFELFdBQU0sR0FBMkIsSUFBSSxDQUFDO1FBRzVDLElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsRUFBRTtZQUNaLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixTQUFTLEVBQUUsRUFBRTtZQUNiLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGNBQWMsRUFBRSxFQUFFO1lBQ2xCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsV0FBVyxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsRUFBRTtZQUNSLFlBQVksRUFBRTtnQkFDWixNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO2FBQ2hDO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxJ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QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lIQXBJVSw0QkFBNEI7NkhBQTVCLDRCQUE0QixjQUYzQixNQUFNOzJGQUVQLDRCQUE0QjtrQkFIeEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNb25rZXlFY3hDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29uZmlnL21vbmtleWVjeC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE1vbmtleUVjeENvbmZpZywgTW9ua2V5RWN4TWVDcmVkZW50aWFscywgTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hUb2tlblN0b3JhZ2VTZXJ2aWNlIHtcbiAgcHJpdmF0ZSB0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB8IG51bGw7XG5cbiAgcHJpdmF0ZSB0b2tlbiQ6IEJlaGF2aW9yU3ViamVjdDxNb25rZXlFY3hUb2tlbkNyZWRlbnRpYWxzIHwgYW55PjtcblxuICBwcml2YXRlIG1lJDogQmVoYXZpb3JTdWJqZWN0PE1vbmtleUVjeE1lQ3JlZGVudGlhbHMgfCBhbnk+O1xuXG4gIHByaXZhdGUgY29uZmlnOiBNb25rZXlFY3hDb25maWcgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vbmtleWVjeENvbmZpZ1NlcnZpY2U6IE1vbmtleUVjeENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLnRva2VuID0ge1xuICAgICAgdXNlcm5hbWU6ICcnLFxuICAgICAgcHJvZ3JhbTogJycsXG4gICAgICBhY2Nlc3NUb2tlbjogJycsXG4gICAgICByZWZyZXNoVG9rZW46ICcnLFxuICAgICAgY29tcGFueUlkOiAnJyxcbiAgICAgIGdvdmVybm1lbnRJZDogJycsXG4gICAgICBjb21wYW55VHlwZVVybDogJycsXG4gICAgICBjb21wYW55VHlwZTogJycsXG4gICAgICBwcm9ncmFtQWRtaW46IGZhbHNlLFxuICAgICAgcHJvZ3JhbVR5cGU6ICcnLFxuICAgICAgcm9sZTogJycsXG4gICAgICBfY2xlYXJJZ25vcmU6IHtcbiAgICAgICAgaWdub3JlOiBbJ3VzZXJuYW1lJywgJ3Byb2dyYW0nXVxuICAgICAgfVxuICAgIH07XG4gICAgdGhpcy50b2tlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICAgIHRoaXMubWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICAgIHRoaXMubW9ua2V5ZWN4Q29uZmlnU2VydmljZS5jb25maWcoKS5zdWJzY3JpYmUoKF86IE1vbmtleUVjeENvbmZpZykgPT4ge1xuICAgICAgdGhpcy5jb25maWcgPSBfO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxUb2tlbnModG9rZW46IE1vbmtleUVjeFRva2VuQ3JlZGVudGlhbHMpIHtcbiAgICBjb25zdCB7IHRva2VuJCB9ID0gdGhpcztcbiAgICBPYmplY3QuZW50cmllcyh0b2tlbikuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoTW9ua2V5RWN4VXRpbHMucGVyc2lzdE51bGxFbXB0eVVuZGVmaW5lZCh2YWx1ZSkpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdG9rZW4kLm5leHQodG9rZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxUb2tlbnMoKTogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB7XG4gICAgY29uc3QgeyB0b2tlbiwgY29uZmlnIH0gPSB0aGlzO1xuICAgIGNvbnN0IGhhbmRsZWRUb2tlbjogYW55ID0ge1xuICAgICAgLi4udG9rZW5cbiAgICB9O1xuICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGhhbmRsZWRUb2tlbltrZXldID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICB9KTtcblxuICAgIGlmIChjb25maWc/LnByb2dyYW0pIHtcbiAgICAgIGhhbmRsZWRUb2tlbi5wcm9ncmFtID0gY29uZmlnPy5wcm9ncmFtPy50b2tlbjtcbiAgICB9XG5cbiAgICByZXR1cm4gaGFuZGxlZFRva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRBbGxNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIGNvbnN0IHsgbWUkIH0gPSB0aGlzO1xuICAgIGxldCBwcmV2aW91c01lID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2U/LmdldEl0ZW0oJ21lJykgfHwgJycpO1xuICAgIE9iamVjdC5lbnRyaWVzKG1lKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGlmIChNb25rZXlFY3hVdGlscy5wZXJzaXN0TnVsbEVtcHR5VW5kZWZpbmVkKHZhbHVlKSkge1xuICAgICAgICBwcmV2aW91c01lID0ge1xuICAgICAgICAgIC4uLnByZXZpb3VzTWUsXG4gICAgICAgICAgW2tleV06IHZhbHVlXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbWUnLCBKU09OLnN0cmluZ2lmeShwcmV2aW91c01lKSk7XG4gICAgbWUkLm5leHQocHJldmlvdXNNZSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbE1lKCk6IE1vbmtleUVjeE1lQ3JlZGVudGlhbHMge1xuICAgIGNvbnN0IG1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21lJyk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobWUgfHwgJycpIGFzIE1vbmtleUVjeE1lQ3JlZGVudGlhbHM7XG4gIH1cblxuICBwdWJsaWMgdG9rZW5IYXNDaGFuZ2VkKCk6IE9ic2VydmFibGU8TW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscz4ge1xuICAgIHJldHVybiB0aGlzLnRva2VuJC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBtZUhhc0NoYW5nZWQoKTogT2JzZXJ2YWJsZTxNb25rZXlFY3hNZUNyZWRlbnRpYWxzPiB7XG4gICAgcmV0dXJuIHRoaXMubWUkLmFzT2JzZXJ2YWJsZSgpIHx8IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW4oKTogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsVG9rZW5zKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWUoKTogTW9ua2V5RWN4TWVDcmVkZW50aWFscyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsTWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUb2tlbih0b2tlbjogTW9ua2V5RWN4VG9rZW5DcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsVG9rZW5zKHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRNZShtZTogTW9ua2V5RWN4TWVDcmVkZW50aWFscykge1xuICAgIHRoaXMuc2V0QWxsTWUobWUpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKGZvcmNlPzogYm9vbGVhbik6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgdG9rZW4gfSA9IHRoaXM7XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5lbnRyaWVzKHRva2VuIHx8IHt9KS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0b2tlbj8uX2NsZWFySWdub3JlPy5pZ25vcmUgfHwgW10pLmZpbHRlcigodmFsOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtleTtcbiAgICAgICAgICB9KS5sZW5ndGggPD0gMCB8fFxuICAgICAgICAgIGZvcmNlID09PSB0cnVlXG4gICAgICAgICkge1xuICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ21lJyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBvZihmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gZmllbGRzICh0aGUgbmFtZSBvZiBmaWVsZHMgeW91IHdhbnQgdG8gY2xlYXIuIGllOiBbJ2NvbXBhbnlJZCcsICdyb2xlJywgLi4uXSlcbiAgICovXG4gIHB1YmxpYyBjbGVhckNyZWRlbnRpYWxzKGZpZWxkcyA9IFsnY29tcGFueUlkJywgJ2dvdmVybm1lbnRJZCcsICdjb21wYW55VHlwZScsICdwcm9ncmFtQWRtaW4nLCAncm9sZSddKSB7XG4gICAgZmllbGRzPy5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9KTtcbiAgfVxufVxuIl19