@eui/core 18.0.0-next.2 → 18.0.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/dependencies.html +31 -45
- package/docs/index.html +1 -1
- package/docs/js/menu-wc.js +0 -3
- package/docs/js/menu-wc_es5.js +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/docs/miscellaneous/variables.html +0 -32
- package/esm2022/lib/eui-core.module.mjs +5 -5
- package/esm2022/lib/helpers/dom-helpers.mjs +1 -1
- package/esm2022/lib/helpers/event-helpers.mjs +1 -1
- package/esm2022/lib/helpers/form-helpers.mjs +1 -1
- package/esm2022/lib/helpers/format-helpers.mjs +1 -1
- package/esm2022/lib/interceptors/add-lang-param.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/cache-prevention.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/cors-security.interceptor.mjs +3 -3
- package/esm2022/lib/interceptors/csrf-prevention.interceptor.mjs +3 -3
- package/esm2022/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/ux-request-error-model.interceptor.mjs +4 -4
- package/esm2022/lib/services/app/eui-init-app.mjs +1 -1
- package/esm2022/lib/services/app/eui-pre-init-app.mjs +1 -1
- package/esm2022/lib/services/config/tokens.mjs +1 -1
- package/esm2022/lib/services/dynamic-component/dynamic-component.service.mjs +4 -4
- package/esm2022/lib/services/dynamic-menu/dynamic-menu.service.mjs +4 -4
- package/esm2022/lib/services/errors/eui.error.mjs +1 -1
- package/esm2022/lib/services/errors/global-error-handler.mjs +3 -3
- package/esm2022/lib/services/errors/http-error-handler.interceptor.mjs +4 -4
- package/esm2022/lib/services/eui-app-shell.service.mjs +4 -4
- package/esm2022/lib/services/eui-timezone.service.mjs +4 -4
- package/esm2022/lib/services/growl/eui-growl.service.mjs +4 -4
- package/esm2022/lib/services/i18n/i18n.loader.mjs +4 -4
- package/esm2022/lib/services/i18n/i18n.service.mjs +4 -4
- package/esm2022/lib/services/loader/eui-loader.service.mjs +4 -4
- package/esm2022/lib/services/locale/locale.service.mjs +4 -4
- package/esm2022/lib/services/locale/locale.service.mock.mjs +4 -4
- package/esm2022/lib/services/log/log.module.mjs +4 -4
- package/esm2022/lib/services/log/log.service.mjs +4 -4
- package/esm2022/lib/services/permission/permission.service.mjs +4 -4
- package/esm2022/lib/services/queue/api-queue.service.mjs +4 -4
- package/esm2022/lib/services/storage/local-forage.service.mjs +4 -4
- package/esm2022/lib/services/storage/local-storage.service.mjs +4 -4
- package/esm2022/lib/services/storage/session-storage.service.mjs +4 -4
- package/esm2022/lib/services/store/index.mjs +2 -2
- package/esm2022/lib/services/store/reducers/app.reducers.mjs +1 -1
- package/esm2022/lib/services/store/reducers/i18n.reducers.mjs +1 -1
- package/esm2022/lib/services/store/reducers/locale.reducers.mjs +1 -1
- package/esm2022/lib/services/store/reducers/meta.reducers.mjs +1 -1
- package/esm2022/lib/services/store/reducers/notifications.reducers.mjs +1 -1
- package/esm2022/lib/services/store/reducers/user.reducers.mjs +1 -1
- package/esm2022/lib/services/store/store.service.mjs +4 -4
- package/esm2022/lib/services/store/store.service.mock.mjs +3 -3
- package/esm2022/lib/services/user/user.service.mjs +4 -4
- package/esm2022/lib/services/user/user.service.mock.mjs +3 -3
- package/fesm2022/eui-core.mjs +325 -383
- package/fesm2022/eui-core.mjs.map +4 -4
- package/lib/helpers/dom-helpers.d.ts.map +1 -1
- package/lib/helpers/utils.d.ts +1 -1
- package/lib/helpers/utils.d.ts.map +1 -1
- package/lib/services/store/index.d.ts +0 -1
- package/lib/services/store/index.d.ts.map +1 -1
- package/lib/services/store/reducers/meta.reducers.d.ts.map +1 -1
- package/package.json +9 -9
- package/docs/injectables/CoreAppEffects.html +0 -448
- package/esm2022/lib/services/store/effects/app.effects.mjs +0 -55
- package/esm2022/lib/services/store/effects/index.mjs +0 -4
- package/lib/services/store/effects/app.effects.d.ts +0 -20
- package/lib/services/store/effects/app.effects.d.ts.map +0 -1
- package/lib/services/store/effects/index.d.ts +0 -4
- package/lib/services/store/effects/index.d.ts.map +0 -1
|
@@ -33,10 +33,10 @@ export class LogService extends Logger {
|
|
|
33
33
|
}
|
|
34
34
|
return logger;
|
|
35
35
|
}
|
|
36
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
37
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
36
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: LogService, deps: [{ token: BASE_LOGGER_NAME_TOKEN }, { token: LOG_LEVEL_TOKEN }, { token: LOG_APPENDERS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: LogService }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: LogService, decorators: [{
|
|
40
40
|
type: Injectable
|
|
41
41
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
42
42
|
type: Inject,
|
|
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
48
48
|
type: Inject,
|
|
49
49
|
args: [LOG_APPENDERS_TOKEN]
|
|
50
50
|
}] }] });
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy9sb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFlLE1BQU0sRUFBWSxNQUFNLFdBQVcsQ0FBQzs7O0FBRTFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGtCQUFrQixDQUFDLENBQUM7QUFDckYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztBQUV0Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUlsQyxZQUM4QyxJQUFZLEVBQ25CLEtBQWUsRUFDWCxTQUF3QjtRQUUvRCxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUpZLFNBQUksR0FBSixJQUFJLENBQVE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFObkUscUNBQXFDO1FBQzNCLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFRdkIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFNBQVMsQ0FBQyxVQUFrQixFQUFFLE9BQU8sR0FBRyxLQUFLO1FBQ3pDLGtDQUFrQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sSUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRW5ILHdFQUF3RTtRQUN4RSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDdEMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7d0lBN0JRLFVBQVUsa0JBS1Asc0JBQXNCLGFBQ3RCLGVBQWUsYUFDZixtQkFBbUI7NElBUHRCLFVBQVU7O2tHQUFWLFVBQVU7a0JBRHRCLFVBQVU7OzBCQU1GLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dBcHBlbmRlciwgTG9nZ2VyLCBMb2dMZXZlbCB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmV4cG9ydCBjb25zdCBCQVNFX0xPR0dFUl9OQU1FX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0JBU0VfTE9HR0VSX05BTUUnKTtcbmV4cG9ydCBjb25zdCBMT0dfTEVWRUxfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9nTGV2ZWw+KCdMT0dfTEVWRUwnKTtcbmV4cG9ydCBjb25zdCBMT0dfQVBQRU5ERVJTX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPExvZ0FwcGVuZGVyW10+KCdMT0dfQVBQRU5ERVJTJyk7XG5cbi8qKlxuICogTG9nIHNlcnZpY2UsIHJlc3BvbnNpYmxlIGZvciBnZXR0aW5nIG9yIGNyZWF0aW5nIGxvZ2dlcnMuIEl0IGl0c2VsZiBhY3RzIGFzIGEgYmFzZSBsb2dnZXJcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZ1NlcnZpY2UgZXh0ZW5kcyBMb2dnZXIge1xuICAgIC8qKiB0aGUgbGlzdCBvZiBwZXJzaXN0ZW50IGxvZ2dlcnMgKi9cbiAgICBwcm90ZWN0ZWQgbG9nZ2VycyA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQkFTRV9MT0dHRVJfTkFNRV9UT0tFTikgcHJvdGVjdGVkIG5hbWU6IHN0cmluZyxcbiAgICAgICAgQEluamVjdChMT0dfTEVWRUxfVE9LRU4pIHByb3RlY3RlZCBsZXZlbDogTG9nTGV2ZWwsXG4gICAgICAgIEBJbmplY3QoTE9HX0FQUEVOREVSU19UT0tFTikgcHJvdGVjdGVkIGFwcGVuZGVyczogTG9nQXBwZW5kZXJbXSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIobmFtZSwgbGV2ZWwsIGFwcGVuZGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIGxvZ2dlciBieSBuYW1lLiBJZiB0aGUgbG9nZ2VyIGRvZXMgbm90IGV4aXN0LCBpdCBpcyBjcmVhdGVkXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbG9nZ2VyTmFtZSBsb2dnZXIgbmFtZVxuICAgICAqIEBwYXJhbSBwZXJzaXN0IG9wdGlvbmFsIHBhcmFtZXRlci4gU2V0IGl0IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gcmV1c2UgdGhlIGxvZ2dlci4gQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIGZhbHNlXG4gICAgICogQHJldHVybnMgdGhlIGxvZ2dlclxuICAgICAqL1xuICAgIGdldExvZ2dlcihsb2dnZXJOYW1lOiBzdHJpbmcsIHBlcnNpc3QgPSBmYWxzZSk6IExvZ2dlciB7XG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgbG9nZ2VyLCBpZiBuZWNlc3NhcnlcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gKHBlcnNpc3QgJiYgPExvZ2dlcj50aGlzLmxvZ2dlcnNbbG9nZ2VyTmFtZV0pIHx8IG5ldyBMb2dnZXIobG9nZ2VyTmFtZSwgdGhpcy5sZXZlbCwgdGhpcy5hcHBlbmRlcnMpO1xuXG4gICAgICAgIC8vIGlmIHRoZSBsb2dnZXIgaXMgcGVyc2lzdGVudCwgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIHBlcnNpc3RlbnQgbG9nZ2Vyc1xuICAgICAgICBpZiAocGVyc2lzdCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJzW2xvZ2dlck5hbWVdID0gbG9nZ2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxvZ2dlcjtcbiAgICB9XG59XG4iXX0=
|
|
@@ -231,10 +231,10 @@ export class EuiPermissionService extends EuiService {
|
|
|
231
231
|
}
|
|
232
232
|
return rights.every((right) => this.userRights.find((uRight) => uRight.id === right.id));
|
|
233
233
|
}
|
|
234
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
235
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
234
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EuiPermissionService, deps: [{ token: i1.LogService, optional: true }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
235
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EuiPermissionService, providedIn: 'root' }); }
|
|
236
236
|
}
|
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: EuiPermissionService, decorators: [{
|
|
238
238
|
type: Injectable,
|
|
239
239
|
args: [{
|
|
240
240
|
providedIn: 'root',
|
|
@@ -242,4 +242,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
242
242
|
}], ctorParameters: () => [{ type: i1.LogService, decorators: [{
|
|
243
243
|
type: Optional
|
|
244
244
|
}] }, { type: i2.StoreService }] });
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXdCLE1BQU0sV0FBVyxDQUFDO0FBQzlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBSUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQTBCO0lBR2hFLFlBQ3dCLEdBQWUsRUFDekIsS0FBbUI7UUFFN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBSFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRzdCLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDekQ7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BNkJHO0lBQ0gsSUFBSSxDQUFDLE1BQXNCO1FBQ3ZCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NB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LENBQUMsQ0FBQztJQUN6SCxDQUFDO3dJQS9OUSxvQkFBb0I7NElBQXBCLG9CQUFvQixjQUZqQixNQUFNOztrR0FFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFLUSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aVNlcnZpY2UsIEV1aVNlcnZpY2VTdGF0dXMsIGdldFVzZXJSaWdodHMsIEV1aVVzZXJSaWdodCwgTG9nZ2VyIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbiB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIG1hbmFnaW5nIHVzZXIgcGVybWlzc2lvbnMgd2l0aGluIHRoZSBhcHBsaWNhdGlvbi5cbiAqIFRoaXMgY2xhc3MgZXh0ZW5kcyBgRXVpU2VydmljZWAgYW5kIGlzIHJlc3BvbnNpYmxlIGZvciBoYW5kbGluZyB1c2VyIHJpZ2h0cyBhbmQgcGVybWlzc2lvbnMuXG4gKiBJdCBwcm92aWRlcyBtZXRob2RzIHRvIGluaXRpYWxpemUgdGhlIHNlcnZpY2Ugd2l0aCB1c2VyIHJpZ2h0cywgY2hlY2sgc3BlY2lmaWMgcmlnaHRzIGFuZCBwZXJtaXNzaW9ucyxcbiAqIGFuZCBzdWJzY3JpYmUgdG8gY2hhbmdlcyBpbiB0aGUgdXNlciByaWdodHMgc3RhdGUuXG4gKlxuICogQGV4dGVuZHMge0V1aVNlcnZpY2U8RXVpVXNlclJpZ2h0W10+fVxuICogQHNlZSBFdWlTZXJ2aWNlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEV4YW1wbGUgb2YgdXNpbmcgdGhlIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGluIGFuIGFwcGxpY2F0aW9uXG4gKiBjb25zdCBwZXJtaXNzaW9uU2VydmljZSA9IG5ldyBFdWlQZXJtaXNzaW9uU2VydmljZSgpO1xuICogcGVybWlzc2lvblNlcnZpY2UuaW5pdChbeyBpZDogJ0FETUlOJywgcGVybWlzc2lvbnM6IFsnQ1JFQVRFJywgJ1JFQUQnLCAnVVBEQVRFJywgJ0RFTEVURSddIH1dKTtcbiAqIGlmIChwZXJtaXNzaW9uU2VydmljZS5jaGVja1JpZ2h0KCdBRE1JTicpKSB7XG4gKiAgIGNvbnNvbGUubG9nKCdVc2VyIGhhcyBBRE1JTiByaWdodHMnKTtcbiAqIH1cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXVpUGVybWlzc2lvblNlcnZpY2UgZXh0ZW5kcyBFdWlTZXJ2aWNlPEV1aVVzZXJSaWdodFtdPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxvZzogTG9nU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKFtdKTtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2cuZ2V0TG9nZ2VyKCdjb3JlLlBlcm1pc3Npb25TZXJ2aWNlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgcGVybWlzc2lvbiBzZXJ2aWNlIHdpdGggYSBzZXQgb2YgdXNlciByaWdodHMuXG4gICAgICogVGhpcyBtZXRob2Qgc2V0cyB1cCB0aGUgaW5pdGlhbCBzdGF0ZSBvZiB0aGUgc2VydmljZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdXNlciByaWdodHMuXG4gICAgICogSXQgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgdXNpbmcgb3RoZXIgbWV0aG9kcyBvZiB0aGUgc2VydmljZSB0byBlbnN1cmUgaXQgaXMgcHJvcGVybHkgY29uZmlndXJlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXVpVXNlclJpZ2h0W119IHJpZ2h0cyAtIEFuIGFycmF5IG9mIHVzZXIgcmlnaHRzIHRvIGluaXRpYWxpemUgdGhlIHNlcnZpY2Ugd2l0aC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIGBFdWlVc2VyUmlnaHRgIG9iamVjdCBzaG91bGQgY29udGFpbiBhdCBsZWFzdCBhbiBgaWRgIHByb3BlcnR5LFxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBvcHRpb25hbGx5IGEgYHBlcm1pc3Npb25zYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc3RhdHVzIG9mIHRoZSBpbml0aWFsaXphdGlvbi5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHN0YXR1cyBvYmplY3QgaW5jbHVkZXMgYSBgc3VjY2Vzc2AgYm9vbGVhbiBpbmRpY2F0aW5nXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXRoZXIgdGhlIGluaXRpYWxpemF0aW9uIHdhcyBzdWNjZXNzZnVsLCBhbmQgYW4gYGVycm9yYCBwcm9wZXJ0eVxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIGEgbWVzc2FnZSBpbiBjYXNlIG9mIGZhaWx1cmUuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgb2YgaW5pdGlhbGl6aW5nIHRoZSBzZXJ2aWNlIHdpdGggdHdvIHVzZXIgcmlnaHRzXG4gICAgICogY29uc3QgdXNlclJpZ2h0cyA9IFtcbiAgICAgKiAgIHsgaWQ6ICdBRE1JTicsIHBlcm1pc3Npb25zOiBbJ0NSRUFURScsICdSRUFEJywgJ1VQREFURScsICdERUxFVEUnXSB9LFxuICAgICAqICAgeyBpZDogJ1VTRVInLCBwZXJtaXNzaW9uczogWydSRUFEJ10gfVxuICAgICAqIF07XG4gICAgICogcGVybWlzc2lvblNlcnZpY2UuaW5pdCh1c2VyUmlnaHRzKS5zdWJzY3JpYmUoc3RhdHVzID0+IHtcbiAgICAgKiAgIGlmIChzdGF0dXMuc3VjY2Vzcykge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnSW5pdGlhbGl6YXRpb24gc3VjY2Vzc2Z1bCcpO1xuICAgICAqICAgfSBlbHNlIHtcbiAgICAgKiAgICAgY29uc29sZS5lcnJvcignSW5pdGlhbGl6YXRpb24gZmFpbGVkOicsIHN0YXR1cy5lcnJvcik7XG4gICAgICogICB9XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBgcmlnaHRzYCBwYXJhbWV0ZXIgaXMgbm90IGFuIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgIG9iamVjdHMuXG4gICAgICovXG4gICAgaW5pdChyaWdodHM6IEV1aVVzZXJSaWdodFtdKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJpZ2h0cykpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUocmlnaHRzKTtcbiAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2dnZXIpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdJbml0IG9iamVjdCBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgQmFzZVVzZXJTdGF0ZScpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0luaXQgb2JqZWN0IHNob3VsZCBiZSBpbnN0YW5jZSBvZiBCYXNlVXNlclN0YXRlJyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgdXNlciByaWdodHMgZnJvbSB0aGUgc2VydmljZSdzIHN0YXRlLlxuICAgICAqIFRoaXMgZ2V0dGVyIHByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYXJyYXkgb2YgYEV1aVVzZXJSaWdodGAgb2JqZWN0cyB0aGF0IHJlcHJlc2VudCB0aGUgY3VycmVudCByaWdodHNcbiAgICAgKiBvZiB0aGUgdXNlci4gSXQgaXMgYSBwcm90ZWN0ZWQgbWV0aG9kLCBpbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIHdpdGhpbiB0aGUgc2VydmljZSBvciBieSBzdWJjbGFzc2VzLlxuICAgICAqXG4gICAgICogQHJldHVybnMge0V1aVVzZXJSaWdodFtdfSBBbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YCBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB1c2VyIHJpZ2h0cy5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEVhY2ggYEV1aVVzZXJSaWdodGAgb2JqZWN0IHR5cGljYWxseSBjb250YWlucyBhbiBgaWRgIHByb3BlcnR5LCBhbmQgbWF5XG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBhbHNvIGluY2x1ZGUgYSBgcGVybWlzc2lvbnNgIHByb3BlcnR5IHdoaWNoIGlzIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgb2YgYWNjZXNzaW5nIHVzZXIgcmlnaHRzIHdpdGhpbiBhIHN1YmNsYXNzIG9yIHdpdGhpbiB0aGUgc2VydmljZVxuICAgICAqIGNvbnN0IGN1cnJlbnRSaWdodHMgPSB0aGlzLnVzZXJSaWdodHM7XG4gICAgICogY3VycmVudFJpZ2h0cy5mb3JFYWNoKHJpZ2h0ID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKGBSaWdodCBJRDogJHtyaWdodC5pZH0sIFBlcm1pc3Npb25zOiAke3JpZ2h0LnBlcm1pc3Npb25zLmpvaW4oJywgJyl9YCk7XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBAcHJvdGVjdGVkXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldCB1c2VyUmlnaHRzKCk6IEV1aVVzZXJSaWdodFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdXNlciByaWdodHMgYnkgc3Vic2NyaWJpbmcgdG8gY2hhbmdlcy5cbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGFjY2VzcyB0aGUgY3VycmVudCBzdGF0ZSBvZiB1c2VyIHJpZ2h0cyBpbiB0aGUgc2VydmljZS4gSXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlXG4gICAgICogdGhhdCBlbWl0cyB0aGUgY3VycmVudCB1c2VyIHJpZ2h0cy4gVGhlIG1ldGhvZCBpcyBnZW5lcmljIGFuZCBjYW4gYmUgcGFyYW1ldGVyaXplZCB0byByZXR1cm4gYSBzcGVjaWZpY1xuICAgICAqIHR5cGUgdGhhdCBleHRlbmRzIGZyb20gYEV1aVVzZXJSaWdodFtdYC5cbiAgICAgKlxuICAgICAqIEB0ZW1wbGF0ZSBLIC0gVGhlIHR5cGUgb2YgdGhlIHVzZXIgcmlnaHRzIHN0YXRlIHRvIGJlIHJldHVybmVkLiBEZWZhdWx0cyB0byBgRXVpVXNlclJpZ2h0W11gIGlmIG5vdCBzcGVjaWZpZWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxLPn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHVzZXIgcmlnaHRzLlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgdHlwZSBvZiB0aGUgZW1pdHRlZCB2YWx1ZSBpcyBgS2AsIHdoaWNoIGlzIGBFdWlVc2VyUmlnaHRbXWAgYnkgZGVmYXVsdC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSBvZiBzdWJzY3JpYmluZyB0byB0aGUgdXNlciByaWdodHMgc3RhdGVcbiAgICAgKiBwZXJtaXNzaW9uU2VydmljZS5nZXRTdGF0ZSgpLnN1YnNjcmliZShjdXJyZW50UmlnaHRzID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdDdXJyZW50IFVzZXIgUmlnaHRzOicsIGN1cnJlbnRSaWdodHMpO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogLy8gRXhhbXBsZSB3aXRoIGEgc3BlY2lmaWMgdHlwZVxuICAgICAqIHBlcm1pc3Npb25TZXJ2aWNlLmdldFN0YXRlPEN1c3RvbVVzZXJSaWdodFR5cGVbXT4oKS5zdWJzY3JpYmUoY3VzdG9tUmlnaHRzID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdDdXN0b20gVXNlciBSaWdodHM6JywgY3VzdG9tUmlnaHRzKTtcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICBnZXRTdGF0ZTxLID0gRXVpVXNlclJpZ2h0W10+KCk6IE9ic2VydmFibGU8Sz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0VXNlclJpZ2h0cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgc3RhdGUgb2YgdGhlIHNlcnZpY2Ugd2l0aCBhIG5ldyBzZXQgb2YgdXNlciByaWdodHMuXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBtb2RpZnkgdGhlIGN1cnJlbnQgdXNlciByaWdodHMgaW4gdGhlIHNlcnZpY2UuIEl0IHRha2VzIGFuIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgXG4gICAgICogb2JqZWN0cyBhbmQgdXBkYXRlcyB0aGUgc2VydmljZSdzIHN0YXRlLiBUaGlzIGNoYW5nZSBpcyB0aGVuIHByb3BhZ2F0ZWQgdG8gYWxsIHN1YnNjcmliZXJzIG9mIHRoZSBzdGF0ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXVpVXNlclJpZ2h0W119IHJpZ2h0cyAtIEFuIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgIG9iamVjdHMgdG8gdXBkYXRlIHRoZSBzZXJ2aWNlJ3Mgc3RhdGUgd2l0aC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIGBFdWlVc2VyUmlnaHRgIG9iamVjdCBzaG91bGQgY29udGFpbiBhbiBgaWRgIHByb3BlcnR5LFxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBvcHRpb25hbGx5IGEgYHBlcm1pc3Npb25zYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIHVwZGF0aW5nIHRoZSBzZXJ2aWNlJ3Mgc3RhdGUgd2l0aCBuZXcgdXNlciByaWdodHNcbiAgICAgKiBjb25zdCBuZXdVc2VyUmlnaHRzID0gW1xuICAgICAqICAgeyBpZDogJ1VTRVInLCBwZXJtaXNzaW9uczogWydSRUFEJywgJ0NPTU1FTlQnXSB9LFxuICAgICAqICAgeyBpZDogJ01PREVSQVRPUicsIHBlcm1pc3Npb25zOiBbJ1JFQUQnLCAnV1JJVEUnLCAnREVMRVRFJ10gfVxuICAgICAqIF07XG4gICAgICogcGVybWlzc2lvblNlcnZpY2UudXBkYXRlU3RhdGUobmV3VXNlclJpZ2h0cyk7XG4gICAgICovXG4gICAgdXBkYXRlU3RhdGUocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVVc2VyUmlnaHRzQWN0aW9uKHJpZ2h0cyB8fCBbXSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUgcGVybWlzc2lvbi5cbiAgICAgKiBUaGlzIG1ldGhvZCBpbnRlcnByZXRzIGEgc3RyaW5nIHRoYXQgcmVwcmVzZW50cyBhIGNvbWJpbmF0aW9uIG9mIHJpZ2h0cyBhbmQvb3IgcGVybWlzc2lvbnNcbiAgICAgKiBhbmQgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb25zLiBUaGUgc3RyaW5nIGZvcm1hdCBjYW4gYmVcbiAgICAgKiAnUklHSFQuUEVSTUlTU0lPTicgb3IganVzdCAnUklHSFQnLiBGb3IgbXVsdGlwbGUgcmlnaHRzLCBpdCBjYW4gYmUgJ1JJR0hUMS5SSUdIVDIuUEVSTUlTU0lPTicuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHRzQW5kUGVybWlzc2lvbiAtIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgcmlnaHRzIGFuZC9vciBwZXJtaXNzaW9ucyB0byBjaGVjay5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvcm1hdCBjYW4gYmUgJ1JJR0hUJywgJ1JJR0hULlBFUk1JU1NJT04nLCBvciAnUklHSFQxLlJJR0hUMi5QRVJNSVNTSU9OJy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIGF0dHJpYnV0ZSBwZXJtaXNzaW9uLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIENoZWNrIGEgc2luZ2xlIHJpZ2h0XG4gICAgICogY29uc3QgaGFzUmlnaHQgPSBwZXJtaXNzaW9uU2VydmljZS5jaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24oJ1ZJRVcnKTtcbiAgICAgKlxuICAgICAqIC8vIENoZWNrIGEgcmlnaHQgd2l0aCBhIHNwZWNpZmljIHBlcm1pc3Npb25cbiAgICAgKiBjb25zdCBoYXNSaWdodFdpdGhQZXJtaXNzaW9uID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKCdFRElULkFQUFJPVkUnKTtcbiAgICAgKlxuICAgICAqIC8vIENoZWNrIG11bHRpcGxlIHJpZ2h0cyB3aXRoIGEgc3BlY2lmaWMgcGVybWlzc2lvblxuICAgICAqIGNvbnN0IGhhc011bHRpcGxlUmlnaHRzID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKCdBRE1JTi5WSUVXLkFQUFJPVkUnKTtcbiAgICAgKi9cbiAgICBjaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBlcm1Qcm9wcyA9IHJpZ2h0c0FuZFBlcm1pc3Npb24uc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgcmlnaHRJZCA9IHBlcm1Qcm9wc1swXTtcbiAgICAgICAgY29uc3QgaGFzUmlnaHQgPSB0aGlzLmNoZWNrUmlnaHQocmlnaHRJZCk7XG5cbiAgICAgICAgaWYgKGhhc1JpZ2h0KSB7XG4gICAgICAgICAgICBpZiAocGVybVByb3BzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgJ1JJR0hULlBFUk1JU1NJT04nXG4gICAgICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IHBlcm1Qcm9wc1sxXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb24ocmlnaHRJZCwgcGVybWlzc2lvbik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBlcm1Qcm9wcy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSBvZiAnUklHSFQxLlJJR0hUMi4uLi4uUEVSTUlTU0lPTicgc3RyaW5nIGNhbGwgcmVjdXJzaXZlbHlcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbi5zbGljZShyaWdodElkLmxlbmd0aCArIDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoYXNSaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIGEgc3BlY2lmaWMgcmlnaHQuXG4gICAgICogVGhpcyBtZXRob2QgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB1c2VyIHBvc3Nlc3NlcyBhIHBhcnRpY3VsYXIgcmlnaHQgaWRlbnRpZmllZCBieSBpdHMgSUQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHRJZCAtIFRoZSBJRCBvZiB0aGUgcmlnaHQgdG8gY2hlY2suXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCByaWdodCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBDaGVjayBpZiB0aGUgdXNlciBoYXMgdGhlICdBRE1JTicgcmlnaHRcbiAgICAgKiBjb25zdCBpc0FkbWluID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tSaWdodCgnQURNSU4nKTtcbiAgICAgKi9cbiAgICBjaGVja1JpZ2h0KHJpZ2h0SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyUmlnaHRzLnNvbWUoKHJpZ2h0KSA9PiByaWdodCAmJiByaWdodC5pZCA9PT0gcmlnaHRJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyBhIHNwZWNpZmljIHBlcm1pc3Npb24gd2l0aGluIGEgcmlnaHQuXG4gICAgICogVGhpcyBtZXRob2QgZGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSB1c2VyIGhhcyBhIHNwZWNpZmljIHBlcm1pc3Npb24gYXNzb2NpYXRlZCB3aXRoIGEgZ2l2ZW4gcmlnaHQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmlnaHRJZCAtIFRoZSBJRCBvZiB0aGUgcmlnaHQuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHBlcm1pc3Npb24gLSBUaGUgcGVybWlzc2lvbiB0byBjaGVjayB3aXRoaW4gdGhlIHJpZ2h0LlxuICAgICAqXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbiBpbiB0aGUgZ2l2ZW4gcmlnaHQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gQ2hlY2sgaWYgdGhlIHVzZXIgaGFzICdBUFBST1ZFJyBwZXJtaXNzaW9uIGluIHRoZSAnRURJVCcgcmlnaHRcbiAgICAgKiBjb25zdCBjYW5BcHByb3ZlRWRpdCA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrUGVybWlzc2lvbignRURJVCcsICdBUFBST1ZFJyk7XG4gICAgICovXG4gICAgY2hlY2tQZXJtaXNzaW9uKHJpZ2h0SWQ6IHN0cmluZywgcGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIHRoZSB1c2VyIGhhcyB0byBoYXZlIHRoYXQgcmlnaHQgYW5kIHRoYXQgcmlnaHQgaGFzIHRvIGhhdmUgdGhlIGdpdmVuIHBlcm1pc3Npb25cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclJpZ2h0cy5zb21lKFxuICAgICAgICAgICAgKHJpZ2h0KSA9PiByaWdodCAmJiByaWdodC5pZCA9PT0gcmlnaHRJZCAmJiByaWdodC5wZXJtaXNzaW9ucyAmJiByaWdodC5wZXJtaXNzaW9ucy5pbmNsdWRlcyhwZXJtaXNzaW9uKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIGFsbCB0aGUgc3BlY2lmaWVkIHJpZ2h0cy5cbiAgICAgKiBUaGlzIHByaXZhdGUgbWV0aG9kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBwb3NzZXNzZXMgYWxsIHRoZSByaWdodHMgcHJvdmlkZWQgaW4gdGhlIGFycmF5LlxuICAgICAqIEVhY2ggcmlnaHQgaW4gdGhlIGFycmF5IGlzIGNoZWNrZWQgYWdhaW5zdCB0aGUgdXNlcidzIGN1cnJlbnQgcmlnaHRzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtFdWlVc2VyUmlnaHRbXX0gcmlnaHRzIC0gQW4gYXJyYXkgb2YgcmlnaHRzIHRvIGNoZWNrIGFnYWluc3QgdGhlIHVzZXIncyByaWdodHMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdXNlciBoYXMgYWxsIHRoZSBzcGVjaWZpZWQgcmlnaHRzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2Ugd2l0aGluIHRoZSBzZXJ2aWNlXG4gICAgICogY29uc3QgcmVxdWlyZWRSaWdodHMgPSBbeyBpZDogJ1ZJRVcnIH0sIHsgaWQ6ICdFRElUJyB9XTtcbiAgICAgKiBjb25zdCBoYXNBbGxSZXF1aXJlZFJpZ2h0cyA9IHRoaXMuaGF2ZUFsbFJpZ2h0cyhyZXF1aXJlZFJpZ2h0cyk7XG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaGF2ZUFsbFJpZ2h0cyhyaWdodHM6IEV1aVVzZXJSaWdodFtdKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghaXNEZWZpbmVkKHJpZ2h0cykpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdUaGUgcmlnaHRzIHNob3VsZCBiZSBhbiBhcnJheSBidXQgaW5zdGVhZCBpdFxcJ3Mgbm90IGRlZmluZWQhJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmlnaHRzLmV2ZXJ5KChyaWdodDogRXVpVXNlclJpZ2h0KSA9PiB0aGlzLnVzZXJSaWdodHMuZmluZCgodVJpZ2h0OiBFdWlVc2VyUmlnaHQpID0+IHVSaWdodC5pZCA9PT0gcmlnaHQuaWQpKTtcbiAgICB9XG59XG4iXX0=
|
|
245
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFvQixhQUFhLEVBQXdCLE1BQU0sV0FBVyxDQUFDO0FBQzlGLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBRTFDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBSUgsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQTBCO0lBR2hFLFlBQ3dCLEdBQWUsRUFDekIsS0FBbUI7UUFFN0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBSFUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUN6QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRzdCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTZCRztJQUNILElBQUksQ0FBQyxNQUFzQjtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVB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Q0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekgsQ0FBQzt3SUEvTlEsb0JBQW9COzRJQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7a0dBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS1EsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdWlTZXJ2aWNlLCBFdWlTZXJ2aWNlU3RhdHVzLCBnZXRVc2VyUmlnaHRzLCBFdWlVc2VyUmlnaHQsIExvZ2dlciB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UsIFVwZGF0ZVVzZXJSaWdodHNBY3Rpb24gfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBtYW5hZ2luZyB1c2VyIHBlcm1pc3Npb25zIHdpdGhpbiB0aGUgYXBwbGljYXRpb24uXG4gKiBUaGlzIGNsYXNzIGV4dGVuZHMgYEV1aVNlcnZpY2VgIGFuZCBpcyByZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgdXNlciByaWdodHMgYW5kIHBlcm1pc3Npb25zLlxuICogSXQgcHJvdmlkZXMgbWV0aG9kcyB0byBpbml0aWFsaXplIHRoZSBzZXJ2aWNlIHdpdGggdXNlciByaWdodHMsIGNoZWNrIHNwZWNpZmljIHJpZ2h0cyBhbmQgcGVybWlzc2lvbnMsXG4gKiBhbmQgc3Vic2NyaWJlIHRvIGNoYW5nZXMgaW4gdGhlIHVzZXIgcmlnaHRzIHN0YXRlLlxuICpcbiAqIEBleHRlbmRzIHtFdWlTZXJ2aWNlPEV1aVVzZXJSaWdodFtdPn1cbiAqIEBzZWUgRXVpU2VydmljZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBFeGFtcGxlIG9mIHVzaW5nIHRoZSBFdWlQZXJtaXNzaW9uU2VydmljZSBpbiBhbiBhcHBsaWNhdGlvblxuICogY29uc3QgcGVybWlzc2lvblNlcnZpY2UgPSBuZXcgRXVpUGVybWlzc2lvblNlcnZpY2UoKTtcbiAqIHBlcm1pc3Npb25TZXJ2aWNlLmluaXQoW3sgaWQ6ICdBRE1JTicsIHBlcm1pc3Npb25zOiBbJ0NSRUFURScsICdSRUFEJywgJ1VQREFURScsICdERUxFVEUnXSB9XSk7XG4gKiBpZiAocGVybWlzc2lvblNlcnZpY2UuY2hlY2tSaWdodCgnQURNSU4nKSkge1xuICogICBjb25zb2xlLmxvZygnVXNlciBoYXMgQURNSU4gcmlnaHRzJyk7XG4gKiB9XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGV4dGVuZHMgRXVpU2VydmljZTxFdWlVc2VyUmlnaHRbXT4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBsb2c6IExvZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcihbXSk7XG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyID0gbG9nLmdldExvZ2dlcignY29yZS5QZXJtaXNzaW9uU2VydmljZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgdGhlIHBlcm1pc3Npb24gc2VydmljZSB3aXRoIGEgc2V0IG9mIHVzZXIgcmlnaHRzLlxuICAgICAqIFRoaXMgbWV0aG9kIHNldHMgdXAgdGhlIGluaXRpYWwgc3RhdGUgb2YgdGhlIHNlcnZpY2UgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHVzZXIgcmlnaHRzLlxuICAgICAqIEl0IHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIHVzaW5nIG90aGVyIG1ldGhvZHMgb2YgdGhlIHNlcnZpY2UgdG8gZW5zdXJlIGl0IGlzIHByb3Blcmx5IGNvbmZpZ3VyZWQuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V1aVVzZXJSaWdodFtdfSByaWdodHMgLSBBbiBhcnJheSBvZiB1c2VyIHJpZ2h0cyB0byBpbml0aWFsaXplIHRoZSBzZXJ2aWNlIHdpdGguXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWFjaCBgRXVpVXNlclJpZ2h0YCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gYXQgbGVhc3QgYW4gYGlkYCBwcm9wZXJ0eSxcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgb3B0aW9uYWxseSBhIGBwZXJtaXNzaW9uc2AgcHJvcGVydHkgd2hpY2ggaXMgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHN0YXR1cyBvZiB0aGUgaW5pdGlhbGl6YXRpb24uXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBzdGF0dXMgb2JqZWN0IGluY2x1ZGVzIGEgYHN1Y2Nlc3NgIGJvb2xlYW4gaW5kaWNhdGluZ1xuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGV0aGVyIHRoZSBpbml0aWFsaXphdGlvbiB3YXMgc3VjY2Vzc2Z1bCwgYW5kIGFuIGBlcnJvcmAgcHJvcGVydHlcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIG1lc3NhZ2UgaW4gY2FzZSBvZiBmYWlsdXJlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIGluaXRpYWxpemluZyB0aGUgc2VydmljZSB3aXRoIHR3byB1c2VyIHJpZ2h0c1xuICAgICAqIGNvbnN0IHVzZXJSaWdodHMgPSBbXG4gICAgICogICB7IGlkOiAnQURNSU4nLCBwZXJtaXNzaW9uczogWydDUkVBVEUnLCAnUkVBRCcsICdVUERBVEUnLCAnREVMRVRFJ10gfSxcbiAgICAgKiAgIHsgaWQ6ICdVU0VSJywgcGVybWlzc2lvbnM6IFsnUkVBRCddIH1cbiAgICAgKiBdO1xuICAgICAqIHBlcm1pc3Npb25TZXJ2aWNlLmluaXQodXNlclJpZ2h0cykuc3Vic2NyaWJlKHN0YXR1cyA9PiB7XG4gICAgICogICBpZiAoc3RhdHVzLnN1Y2Nlc3MpIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ0luaXRpYWxpemF0aW9uIHN1Y2Nlc3NmdWwnKTtcbiAgICAgKiAgIH0gZWxzZSB7XG4gICAgICogICAgIGNvbnNvbGUuZXJyb3IoJ0luaXRpYWxpemF0aW9uIGZhaWxlZDonLCBzdGF0dXMuZXJyb3IpO1xuICAgICAqICAgfVxuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgYHJpZ2h0c2AgcGFyYW1ldGVyIGlzIG5vdCBhbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YCBvYmplY3RzLlxuICAgICAqL1xuICAgIGluaXQocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBzdXBlci5pbml0RXVpU2VydmljZSgpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyaWdodHMpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHJpZ2h0cyk7XG4gICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9nZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignSW5pdCBvYmplY3Qgc2hvdWxkIGJlIGluc3RhbmNlIG9mIEJhc2VVc2VyU3RhdGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdJbml0IG9iamVjdCBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgQmFzZVVzZXJTdGF0ZScgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHVzZXIgcmlnaHRzIGZyb20gdGhlIHNlcnZpY2UncyBzdGF0ZS5cbiAgICAgKiBUaGlzIGdldHRlciBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGFycmF5IG9mIGBFdWlVc2VyUmlnaHRgIG9iamVjdHMgdGhhdCByZXByZXNlbnQgdGhlIGN1cnJlbnQgcmlnaHRzXG4gICAgICogb2YgdGhlIHVzZXIuIEl0IGlzIGEgcHJvdGVjdGVkIG1ldGhvZCwgaW50ZW5kZWQgZm9yIGludGVybmFsIHVzZSB3aXRoaW4gdGhlIHNlcnZpY2Ugb3IgYnkgc3ViY2xhc3Nlcy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtFdWlVc2VyUmlnaHRbXX0gQW4gYXJyYXkgb2YgYEV1aVVzZXJSaWdodGAgb2JqZWN0cyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdXNlciByaWdodHMuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBFYWNoIGBFdWlVc2VyUmlnaHRgIG9iamVjdCB0eXBpY2FsbHkgY29udGFpbnMgYW4gYGlkYCBwcm9wZXJ0eSwgYW5kIG1heVxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxzbyBpbmNsdWRlIGEgYHBlcm1pc3Npb25zYCBwcm9wZXJ0eSB3aGljaCBpcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIGFjY2Vzc2luZyB1c2VyIHJpZ2h0cyB3aXRoaW4gYSBzdWJjbGFzcyBvciB3aXRoaW4gdGhlIHNlcnZpY2VcbiAgICAgKiBjb25zdCBjdXJyZW50UmlnaHRzID0gdGhpcy51c2VyUmlnaHRzO1xuICAgICAqIGN1cnJlbnRSaWdodHMuZm9yRWFjaChyaWdodCA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZyhgUmlnaHQgSUQ6ICR7cmlnaHQuaWR9LCBQZXJtaXNzaW9uczogJHtyaWdodC5wZXJtaXNzaW9ucy5qb2luKCcsICcpfWApO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogQHByb3RlY3RlZFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXQgdXNlclJpZ2h0cygpOiBFdWlVc2VyUmlnaHRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5zdGFuY2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHVzZXIgcmlnaHRzIGJ5IHN1YnNjcmliaW5nIHRvIGNoYW5nZXMuXG4gICAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBhY2Nlc3MgdGhlIGN1cnJlbnQgc3RhdGUgb2YgdXNlciByaWdodHMgaW4gdGhlIHNlcnZpY2UuIEl0IHJldHVybnMgYW4gT2JzZXJ2YWJsZVxuICAgICAqIHRoYXQgZW1pdHMgdGhlIGN1cnJlbnQgdXNlciByaWdodHMuIFRoZSBtZXRob2QgaXMgZ2VuZXJpYyBhbmQgY2FuIGJlIHBhcmFtZXRlcml6ZWQgdG8gcmV0dXJuIGEgc3BlY2lmaWNcbiAgICAgKiB0eXBlIHRoYXQgZXh0ZW5kcyBmcm9tIGBFdWlVc2VyUmlnaHRbXWAuXG4gICAgICpcbiAgICAgKiBAdGVtcGxhdGUgSyAtIFRoZSB0eXBlIG9mIHRoZSB1c2VyIHJpZ2h0cyBzdGF0ZSB0byBiZSByZXR1cm5lZC4gRGVmYXVsdHMgdG8gYEV1aVVzZXJSaWdodFtdYCBpZiBub3Qgc3BlY2lmaWVkLlxuICAgICAqXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8Sz59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgY3VycmVudCBzdGF0ZSBvZiB1c2VyIHJpZ2h0cy5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHR5cGUgb2YgdGhlIGVtaXR0ZWQgdmFsdWUgaXMgYEtgLCB3aGljaCBpcyBgRXVpVXNlclJpZ2h0W11gIGJ5IGRlZmF1bHQuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgb2Ygc3Vic2NyaWJpbmcgdG8gdGhlIHVzZXIgcmlnaHRzIHN0YXRlXG4gICAgICogcGVybWlzc2lvblNlcnZpY2UuZ2V0U3RhdGUoKS5zdWJzY3JpYmUoY3VycmVudFJpZ2h0cyA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnQ3VycmVudCBVc2VyIFJpZ2h0czonLCBjdXJyZW50UmlnaHRzKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIC8vIEV4YW1wbGUgd2l0aCBhIHNwZWNpZmljIHR5cGVcbiAgICAgKiBwZXJtaXNzaW9uU2VydmljZS5nZXRTdGF0ZTxDdXN0b21Vc2VyUmlnaHRUeXBlW10+KCkuc3Vic2NyaWJlKGN1c3RvbVJpZ2h0cyA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnQ3VzdG9tIFVzZXIgUmlnaHRzOicsIGN1c3RvbVJpZ2h0cyk7XG4gICAgICogfSk7XG4gICAgICovXG4gICAgZ2V0U3RhdGU8SyA9IEV1aVVzZXJSaWdodFtdPigpOiBPYnNlcnZhYmxlPEs+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldFVzZXJSaWdodHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVwZGF0ZXMgdGhlIHN0YXRlIG9mIHRoZSBzZXJ2aWNlIHdpdGggYSBuZXcgc2V0IG9mIHVzZXIgcmlnaHRzLlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gbW9kaWZ5IHRoZSBjdXJyZW50IHVzZXIgcmlnaHRzIGluIHRoZSBzZXJ2aWNlLiBJdCB0YWtlcyBhbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YFxuICAgICAqIG9iamVjdHMgYW5kIHVwZGF0ZXMgdGhlIHNlcnZpY2UncyBzdGF0ZS4gVGhpcyBjaGFuZ2UgaXMgdGhlbiBwcm9wYWdhdGVkIHRvIGFsbCBzdWJzY3JpYmVycyBvZiB0aGUgc3RhdGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0V1aVVzZXJSaWdodFtdfSByaWdodHMgLSBBbiBhcnJheSBvZiBgRXVpVXNlclJpZ2h0YCBvYmplY3RzIHRvIHVwZGF0ZSB0aGUgc2VydmljZSdzIHN0YXRlIHdpdGguXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWFjaCBgRXVpVXNlclJpZ2h0YCBvYmplY3Qgc2hvdWxkIGNvbnRhaW4gYW4gYGlkYCBwcm9wZXJ0eSxcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgb3B0aW9uYWxseSBhIGBwZXJtaXNzaW9uc2AgcHJvcGVydHkgd2hpY2ggaXMgYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSBvZiB1cGRhdGluZyB0aGUgc2VydmljZSdzIHN0YXRlIHdpdGggbmV3IHVzZXIgcmlnaHRzXG4gICAgICogY29uc3QgbmV3VXNlclJpZ2h0cyA9IFtcbiAgICAgKiAgIHsgaWQ6ICdVU0VSJywgcGVybWlzc2lvbnM6IFsnUkVBRCcsICdDT01NRU5UJ10gfSxcbiAgICAgKiAgIHsgaWQ6ICdNT0RFUkFUT1InLCBwZXJtaXNzaW9uczogWydSRUFEJywgJ1dSSVRFJywgJ0RFTEVURSddIH1cbiAgICAgKiBdO1xuICAgICAqIHBlcm1pc3Npb25TZXJ2aWNlLnVwZGF0ZVN0YXRlKG5ld1VzZXJSaWdodHMpO1xuICAgICAqL1xuICAgIHVwZGF0ZVN0YXRlKHJpZ2h0czogRXVpVXNlclJpZ2h0W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbihyaWdodHMgfHwgW10pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgYXR0cmlidXRlIHBlcm1pc3Npb24uXG4gICAgICogVGhpcyBtZXRob2QgaW50ZXJwcmV0cyBhIHN0cmluZyB0aGF0IHJlcHJlc2VudHMgYSBjb21iaW5hdGlvbiBvZiByaWdodHMgYW5kL29yIHBlcm1pc3Npb25zXG4gICAgICogYW5kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCBwZXJtaXNzaW9ucy4gVGhlIHN0cmluZyBmb3JtYXQgY2FuIGJlXG4gICAgICogJ1JJR0hULlBFUk1JU1NJT04nIG9yIGp1c3QgJ1JJR0hUJy4gRm9yIG11bHRpcGxlIHJpZ2h0cywgaXQgY2FuIGJlICdSSUdIVDEuUklHSFQyLlBFUk1JU1NJT04nLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJpZ2h0c0FuZFBlcm1pc3Npb24gLSBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIHJpZ2h0cyBhbmQvb3IgcGVybWlzc2lvbnMgdG8gY2hlY2suXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3JtYXQgY2FuIGJlICdSSUdIVCcsICdSSUdIVC5QRVJNSVNTSU9OJywgb3IgJ1JJR0hUMS5SSUdIVDIuUEVSTUlTU0lPTicuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdXNlciBoYXMgdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUgcGVybWlzc2lvbiwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBDaGVjayBhIHNpbmdsZSByaWdodFxuICAgICAqIGNvbnN0IGhhc1JpZ2h0ID0gcGVybWlzc2lvblNlcnZpY2UuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKCdWSUVXJyk7XG4gICAgICpcbiAgICAgKiAvLyBDaGVjayBhIHJpZ2h0IHdpdGggYSBzcGVjaWZpYyBwZXJtaXNzaW9uXG4gICAgICogY29uc3QgaGFzUmlnaHRXaXRoUGVybWlzc2lvbiA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrQXR0cmlidXRlUGVybWlzc2lvbignRURJVC5BUFBST1ZFJyk7XG4gICAgICpcbiAgICAgKiAvLyBDaGVjayBtdWx0aXBsZSByaWdodHMgd2l0aCBhIHNwZWNpZmljIHBlcm1pc3Npb25cbiAgICAgKiBjb25zdCBoYXNNdWx0aXBsZVJpZ2h0cyA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrQXR0cmlidXRlUGVybWlzc2lvbignQURNSU4uVklFVy5BUFBST1ZFJyk7XG4gICAgICovXG4gICAgY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKHJpZ2h0c0FuZFBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBwZXJtUHJvcHMgPSByaWdodHNBbmRQZXJtaXNzaW9uLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IHJpZ2h0SWQgPSBwZXJtUHJvcHNbMF07XG4gICAgICAgIGNvbnN0IGhhc1JpZ2h0ID0gdGhpcy5jaGVja1JpZ2h0KHJpZ2h0SWQpO1xuXG4gICAgICAgIGlmIChoYXNSaWdodCkge1xuICAgICAgICAgICAgaWYgKHBlcm1Qcm9wcy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIG9mICdSSUdIVC5QRVJNSVNTSU9OJ1xuICAgICAgICAgICAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBwZXJtUHJvcHNbMV07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tQZXJtaXNzaW9uKHJpZ2h0SWQsIHBlcm1pc3Npb24pO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwZXJtUHJvcHMubGVuZ3RoID4gMikge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgJ1JJR0hUMS5SSUdIVDIuLi4uLlBFUk1JU1NJT04nIHN0cmluZyBjYWxsIHJlY3Vyc2l2ZWx5XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tBdHRyaWJ1dGVQZXJtaXNzaW9uKHJpZ2h0c0FuZFBlcm1pc3Npb24uc2xpY2UocmlnaHRJZC5sZW5ndGggKyAxKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaGFzUmlnaHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyBhIHNwZWNpZmljIHJpZ2h0LlxuICAgICAqIFRoaXMgbWV0aG9kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBwb3NzZXNzZXMgYSBwYXJ0aWN1bGFyIHJpZ2h0IGlkZW50aWZpZWQgYnkgaXRzIElELlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJpZ2h0SWQgLSBUaGUgSUQgb2YgdGhlIHJpZ2h0IHRvIGNoZWNrLlxuICAgICAqXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVzZXIgaGFzIHRoZSBzcGVjaWZpZWQgcmlnaHQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gQ2hlY2sgaWYgdGhlIHVzZXIgaGFzIHRoZSAnQURNSU4nIHJpZ2h0XG4gICAgICogY29uc3QgaXNBZG1pbiA9IHBlcm1pc3Npb25TZXJ2aWNlLmNoZWNrUmlnaHQoJ0FETUlOJyk7XG4gICAgICovXG4gICAgY2hlY2tSaWdodChyaWdodElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclJpZ2h0cy5zb21lKChyaWdodCkgPT4gcmlnaHQgJiYgcmlnaHQuaWQgPT09IHJpZ2h0SWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgdXNlciBoYXMgYSBzcGVjaWZpYyBwZXJtaXNzaW9uIHdpdGhpbiBhIHJpZ2h0LlxuICAgICAqIFRoaXMgbWV0aG9kIGRldGVybWluZXMgd2hldGhlciB0aGUgdXNlciBoYXMgYSBzcGVjaWZpYyBwZXJtaXNzaW9uIGFzc29jaWF0ZWQgd2l0aCBhIGdpdmVuIHJpZ2h0LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJpZ2h0SWQgLSBUaGUgSUQgb2YgdGhlIHJpZ2h0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwZXJtaXNzaW9uIC0gVGhlIHBlcm1pc3Npb24gdG8gY2hlY2sgd2l0aGluIHRoZSByaWdodC5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSB1c2VyIGhhcyB0aGUgc3BlY2lmaWVkIHBlcm1pc3Npb24gaW4gdGhlIGdpdmVuIHJpZ2h0LCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIENoZWNrIGlmIHRoZSB1c2VyIGhhcyAnQVBQUk9WRScgcGVybWlzc2lvbiBpbiB0aGUgJ0VESVQnIHJpZ2h0XG4gICAgICogY29uc3QgY2FuQXBwcm92ZUVkaXQgPSBwZXJtaXNzaW9uU2VydmljZS5jaGVja1Blcm1pc3Npb24oJ0VESVQnLCAnQVBQUk9WRScpO1xuICAgICAqL1xuICAgIGNoZWNrUGVybWlzc2lvbihyaWdodElkOiBzdHJpbmcsIHBlcm1pc3Npb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICAvLyB0aGUgdXNlciBoYXMgdG8gaGF2ZSB0aGF0IHJpZ2h0IGFuZCB0aGF0IHJpZ2h0IGhhcyB0byBoYXZlIHRoZSBnaXZlbiBwZXJtaXNzaW9uXG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJSaWdodHMuc29tZShcbiAgICAgICAgICAgIChyaWdodCkgPT4gcmlnaHQgJiYgcmlnaHQuaWQgPT09IHJpZ2h0SWQgJiYgcmlnaHQucGVybWlzc2lvbnMgJiYgcmlnaHQucGVybWlzc2lvbnMuaW5jbHVkZXMocGVybWlzc2lvbiksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB1c2VyIGhhcyBhbGwgdGhlIHNwZWNpZmllZCByaWdodHMuXG4gICAgICogVGhpcyBwcml2YXRlIG1ldGhvZCBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHVzZXIgcG9zc2Vzc2VzIGFsbCB0aGUgcmlnaHRzIHByb3ZpZGVkIGluIHRoZSBhcnJheS5cbiAgICAgKiBFYWNoIHJpZ2h0IGluIHRoZSBhcnJheSBpcyBjaGVja2VkIGFnYWluc3QgdGhlIHVzZXIncyBjdXJyZW50IHJpZ2h0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7RXVpVXNlclJpZ2h0W119IHJpZ2h0cyAtIEFuIGFycmF5IG9mIHJpZ2h0cyB0byBjaGVjayBhZ2FpbnN0IHRoZSB1c2VyJ3MgcmlnaHRzLlxuICAgICAqXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHVzZXIgaGFzIGFsbCB0aGUgc3BlY2lmaWVkIHJpZ2h0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlIHdpdGhpbiB0aGUgc2VydmljZVxuICAgICAqIGNvbnN0IHJlcXVpcmVkUmlnaHRzID0gW3sgaWQ6ICdWSUVXJyB9LCB7IGlkOiAnRURJVCcgfV07XG4gICAgICogY29uc3QgaGFzQWxsUmVxdWlyZWRSaWdodHMgPSB0aGlzLmhhdmVBbGxSaWdodHMocmVxdWlyZWRSaWdodHMpO1xuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhdmVBbGxSaWdodHMocmlnaHRzOiBFdWlVc2VyUmlnaHRbXSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWlzRGVmaW5lZChyaWdodHMpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignVGhlIHJpZ2h0cyBzaG91bGQgYmUgYW4gYXJyYXkgYnV0IGluc3RlYWQgaXRcXCdzIG5vdCBkZWZpbmVkIScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJpZ2h0cy5ldmVyeSgocmlnaHQ6IEV1aVVzZXJSaWdodCkgPT4gdGhpcy51c2VyUmlnaHRzLmZpbmQoKHVSaWdodDogRXVpVXNlclJpZ2h0KSA9PiB1UmlnaHQuaWQgPT09IHJpZ2h0LmlkKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -323,10 +323,10 @@ export class ApiQueueService {
|
|
|
323
323
|
buildHttpRequest(id, item) {
|
|
324
324
|
return this.http[item.method.toLowerCase()](item.uri, item.payload).pipe(tap(() => this.removeQueueItem(id)));
|
|
325
325
|
}
|
|
326
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
327
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
326
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: ApiQueueService, deps: [{ token: i1.StoreService }, { token: i2.HttpClient }, { token: i3.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
327
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: ApiQueueService, providedIn: 'root' }); }
|
|
328
328
|
}
|
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: ApiQueueService, decorators: [{
|
|
330
330
|
type: Injectable,
|
|
331
331
|
args: [{
|
|
332
332
|
providedIn: 'root',
|
|
@@ -334,4 +334,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
334
334
|
}], ctorParameters: () => [{ type: i1.StoreService }, { type: i2.HttpClient }, { type: i3.LogService, decorators: [{
|
|
335
335
|
type: Optional
|
|
336
336
|
}] }] });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3F1ZXVlL2FwaS1xdWV1ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBa0MsTUFBTSxXQUFXLENBQUM7QUFHekYsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBR3hCLFlBQ2MsS0FBbUIsRUFDbkIsSUFBZ0IsRUFDSixVQUFzQjtRQUZsQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTVDLElBQUksVUFBVSxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDOUQ7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXFCRztJQUNILFlBQVksQ0FBQyxFQUFVLEVBQUUsSUFBa0I7UUFDdkMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksY0FB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OzBCQU9RLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBmb3JrSm9pbiwgZnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAsIHRha2UsIG1hcCwgY2F0Y2hFcnJvciwgY29uY2F0TWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZ2V0QXBpUXVldWUsIGdldEFwaVF1ZXVlSXRlbSwgQXBpUXVldWUsIEFwaVF1ZXVlSXRlbSwgTG9nZ2VyIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UsIEFkZEFwaVF1ZXVlSXRlbUFjdGlvbiwgUmVtb3ZlQXBpUXVldWVJdGVtQWN0aW9uLCBFbXB0eUFwaVF1ZXVlQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgY2xhc3MgZm9yIG1hbmFnaW5nIGFuZCBwcm9jZXNzaW5nIGEgcXVldWUgb2YgQVBJIHJlcXVlc3RzLlxuICpcbiAqIFRoaXMgc2VydmljZSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IHRvIGFkZCwgcmVtb3ZlLCBwcm9jZXNzLCBhbmQgbWFuYWdlIEhUVFAgcmVxdWVzdHMgc3RvcmVkIGluIGEgcXVldWUuXG4gKiBJdCBlbmFibGVzIHNlcXVlbnRpYWwgb3IgYnVsayBwcm9jZXNzaW5nIG9mIHJlcXVlc3RzLCBlbnN1cmluZyBjb250cm9sbGVkIGV4ZWN1dGlvbiBhbmQgaGFuZGxpbmcgb2YgQVBJIGNhbGxzLlxuICogVGhlIHNlcnZpY2UgbWV0aG9kcyBvZmZlciBmZWF0dXJlcyBsaWtlIHByb2Nlc3NpbmcgaW5kaXZpZHVhbCBpdGVtcywgcHJvY2Vzc2luZyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIGVpdGhlclxuICogc2VxdWVudGlhbGx5IG9yIGFsbCBhdCBvbmNlLCBhbmQgcmVtb3ZpbmcgaXRlbXMgZnJvbSB0aGUgcXVldWUuIEVhY2ggbWV0aG9kIGlzIGRlc2lnbmVkIHRvIGhhbmRsZSBzcGVjaWZpYyBhc3BlY3RzXG4gKiBvZiBxdWV1ZSBtYW5hZ2VtZW50IGFuZCBwcm9jZXNzaW5nLCB3aXRoIGF0dGVudGlvbiB0byBkZXRhaWxzIGxpa2Ugb3JkZXIgb2YgZXhlY3V0aW9uIGFuZCBlcnJvciBoYW5kbGluZy5cbiAqXG4gKiBVc2FnZSBvZiB0aGlzIHNlcnZpY2UgaXMgaWRlYWwgaW4gc2NlbmFyaW9zIHdoZXJlIEFQSSByZXF1ZXN0cyBuZWVkIHRvIGJlIG1hbmFnZWQgaW4gYSBxdWV1ZSBzdHJ1Y3R1cmUsIGFsbG93aW5nXG4gKiBmb3IgY29udHJvbGxlZCBleGVjdXRpb24gYW5kIG1vbml0b3Jpbmcgb2YgdGhlc2UgcmVxdWVzdHMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEFkZGluZyBhIG5ldyBpdGVtIHRvIHRoZSBxdWV1ZVxuICogYXBpUXVldWVTZXJ2aWNlLmFkZFF1ZXVlSXRlbSh7IGlkOiAnaXRlbTEyNCcsIG1ldGhvZDogJ1BPU1QnLCB1cmk6ICcvYXBpL2RhdGEnLCBwYXlsb2FkOiB7Li4ufSB9KTtcbiAqXG4gKiAvLyBQcm9jZXNzaW5nIGEgc2luZ2xlIGl0ZW0gZnJvbSB0aGUgcXVldWVcbiAqIGFwaVF1ZXVlU2VydmljZS5wcm9jZXNzUXVldWVJdGVtKCdpdGVtMTIzJykuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdQcm9jZXNzZWQgaXRlbSAxMjMgd2l0aCByZXN1bHQ6JywgcmVzdWx0KTtcbiAqIH0pO1xuICpcbiAqIC8vIFByb2Nlc3NpbmcgYWxsIGl0ZW1zIGluIHRoZSBxdWV1ZSBpbiBzZXF1ZW50aWFsIG9yZGVyXG4gKiBhcGlRdWV1ZVNlcnZpY2UucHJvY2Vzc0FsbFF1ZXVlSXRlbXNTZXF1ZW50aWFsKGZhbHNlKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKCdQcm9jZXNzZWQgYWxsIGl0ZW1zIGluIGRlc2NlbmRpbmcgb3JkZXIgb2YgdGhlaXIgdGltZXN0YW1wOicsIHJlc3VsdHMpO1xuICogfSk7XG4gKlxuICogLy8gUmVtb3ZpbmcgYW4gaXRlbSBmcm9tIHRoZSBxdWV1ZVxuICogYXBpUXVldWVTZXJ2aWNlLnJlbW92ZVF1ZXVlSXRlbSgnaXRlbTEyMycpO1xuICpcbiAqIC8vIFByb2Nlc3NpbmcgYWxsIGl0ZW1zIGluIHRoZSBxdWV1ZSBhbmQgY29udGludWluZyBvbiBlcnJvclxuICogYXBpUXVldWVTZXJ2aWNlLnByb2Nlc3NBbGxRdWV1ZUl0ZW1zKHRydWUpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIHdpdGggY29udGludWF0aW9uIG9uIGVycm9yczonLCByZXN1bHRzKTtcbiAqIH0pO1xuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcGlRdWV1ZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgaWYgKGxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyID0gbG9nU2VydmljZS5nZXRMb2dnZXIoJ2NvcmUuQXBpUXVldWVTZXJ2aWNlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGFuIGl0ZW0gdG8gdGhlIHF1ZXVlIGJ5IGRpc3BhdGNoaW5nIGFuIGFjdGlvbiB0byB0aGUgc3RvcmUuXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gZW5xdWV1ZSBBUEkgY2FsbCByZXF1ZXN0cyByZXByZXNlbnRlZCBieSBgQXBpUXVldWVJdGVtYCBvYmplY3RzLlxuICAgICAqIEVhY2ggaXRlbSBpcyBpZGVudGlmaWVkIGJ5IGEgdW5pcXVlIGBpZGAsIHdoaWNoIGlzIHVzZWQgdG8gbWFuYWdlIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHF1ZXVlIGl0ZW0uIEl0J3MgY3J1Y2lhbCB0byBlbnN1cmUgdGhhdCB0aGlzIElEIGlzIHVuaXF1ZSB3aXRoaW4gdGhlIHF1ZXVlLlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgIElmIGFuIGl0ZW0gd2l0aCB0aGUgc2FtZSBJRCBhbHJlYWR5IGV4aXN0cywgdGhlIG5ldyBpdGVtIHdpbGwgb3ZlcndyaXRlIHRoZSBleGlzdGluZyBvbmUuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgV0FSTklORzogRHVwbGljYXRlIElEcyB3aWxsIGxlYWQgdG8gb3ZlcndyaXRpbmcgb2YgcXVldWUgaXRlbXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge0FwaVF1ZXVlSXRlbX0gaXRlbSAtIFRoZSBpdGVtIHRvIGJlIGVucXVldWVkLiBUaGlzIHNob3VsZCBiZSBhbiBvYmplY3Qgb2YgdHlwZSBgQXBpUXVldWVJdGVtYC5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBgbWV0aG9kYCBwcm9wZXJ0eSBvZiB0aGUgaXRlbSBtdXN0IGJlIG9uZSBvZiB0aGUgYWxsb3dlZCBtZXRob2RzICgncG9zdCcsICdwdXQnLCAnZ2V0JykuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiBhbiB1bnN1cHBvcnRlZCBtZXRob2QgaXMgcHJvdmlkZWQsIHRoZSBmdW5jdGlvbiB3aWxsIHRocm93IGFuIGVycm9yLlxuICAgICAqXG4gICAgICogQHRocm93cyB7RXJyb3J9IFRocm93cyBhbiBlcnJvciBpZiB0aGUgYG1ldGhvZGAgcHJvcGVydHkgb2YgdGhlIGBpdGVtYCBpcyBub3Qgb25lIG9mIHRoZSBhbGxvd2VkIG1ldGhvZHMuXG4gICAgICogICAgICAgICAgICAgICAgIFRoZSBlcnJvciBtZXNzYWdlIGlzOiBgW0FwaVF1ZXVlXSBtZXRob2QgXCIke2l0ZW0ubWV0aG9kfVwiIGlzIG5vdCBhbGxvd2VkYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSBvZiBhZGRpbmcgYW4gaXRlbSB0byB0aGUgQVBJIHF1ZXVlXG4gICAgICogYWRkUXVldWVJdGVtKCcxMjM0NScsIHsgbWV0aG9kOiAncG9zdCcsIHVybDogJy9hcGkvZGF0YScsIHBheWxvYWQ6IHsuLi59IH0pO1xuICAgICAqXG4gICAgICogQHJldHVybnMge3ZvaWR9IFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJuIGEgdmFsdWUuIEl0IGFkZHMgdGhlIGl0ZW0gdG8gdGhlIHF1ZXVlIHZpYSBhIGRpc3BhdGNoIGFjdGlvbi5cbiAgICAgKi9cbiAgICBhZGRRdWV1ZUl0ZW0oaWQ6IHN0cmluZywgaXRlbTogQXBpUXVldWVJdGVtKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFsbG93ZWRNZXRob2RzID0gWydwb3N0JywgJ3B1dCcsICdnZXQnXTtcblxuICAgICAgICBpZiAoYWxsb3dlZE1ldGhvZHMuaW5kZXhPZihpdGVtLm1ldGhvZCkgPCAwKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFtBcGlRdWV1ZV0gbWV0aG9kIFwiJHtpdGVtLm1ldGhvZH1cIiBpcyBub3QgYWxsb3dlZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgQWRkQXBpUXVldWVJdGVtQWN0aW9uKHsgaWQsIGl0ZW0gfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgQVBJIHF1ZXVlIGFuZCBjb252ZXJ0cyBpdCBpbnRvIGFuIGFycmF5IG9mIE9ic2VydmFibGVzLlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2Qgc3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgdG8gYWNjZXNzIHRoZSBBUEkgcXVldWUuIEl0IHRoZW4gbWFwcyB0aGUgcXVldWUgb2JqZWN0LFxuICAgICAqIHdoaWNoIGlzIGFuIGFzc29jaWF0aXZlIGFycmF5LCBpbnRvIGEgbGluZWFyIGFycmF5IG9mIEFwaVF1ZXVlSXRlbSBpbnN0YW5jZXMuIElmIHRoZSBxdWV1ZSBpcyBlbXB0eSxcbiAgICAgKiBhIHdhcm5pbmcgaXMgbG9nZ2VkLiBUaGlzIG1ldGhvZCBpcyB1c2VmdWwgZm9yIHRyYWNraW5nIHRoZSBzdGF0ZSBhbmQgY29udGVudHMgb2YgdGhlIEFQSSBxdWV1ZVxuICAgICAqIGF0IGEgZ2l2ZW4gbW9tZW50LlxuICAgICAqXG4gICAgICogTm90ZTogVGhpcyBtZXRob2QgdGFrZXMgYSBzbmFwc2hvdCBvZiB0aGUgcXVldWUgYXQgdGhlIHRpbWUgb2Ygc3Vic2NyaXB0aW9uLiBJdCBkb2VzIG5vdCBwcm92aWRlXG4gICAgICogYSBjb250aW51b3VzIHN0cmVhbSBvZiBxdWV1ZSB1cGRhdGVzLiBUbyBnZXQgcmVhbC10aW1lIHVwZGF0ZXMsIGNvbnNpZGVyIHN1YnNjcmliaW5nIGRpcmVjdGx5XG4gICAgICogdG8gdGhlIHN0b3JlJ3Mgb2JzZXJ2YWJsZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbVtdPn0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFuIGFycmF5IG9mIEFwaVF1ZXVlSXRlbS5cbiAgICAgKiBUaGUgYXJyYXkgcmVwcmVzZW50cyBhbGwgaXRlbXMgY3VycmVudGx5IGluIHRoZSBxdWV1ZS4gSWYgdGhlIHF1ZXVlIGlzIGVtcHR5LCBpdCBlbWl0cyBhbiBlbXB0eSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMuZ2V0UXVldWUoKS5zdWJzY3JpYmUocXVldWVJdGVtcyA9PiB7XG4gICAgICogICBjb25zb2xlLmxvZygnQ3VycmVudCBxdWV1ZSBpdGVtczonLCBxdWV1ZUl0ZW1zKTtcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICBnZXRRdWV1ZSgpOiBPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbVtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBtYXAoKHF1ZXVlOiBBcGlRdWV1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXVlQXJyYXkgPSBxdWV1ZSAmJiBPYmplY3QudmFsdWVzPEFwaVF1ZXVlSXRlbT4ocXVldWUpO1xuICAgICAgICAgICAgICAgIGlmICghcXVldWVBcnJheSB8fCBxdWV1ZUFycmF5Lmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oJ05vIGl0ZW1zIGluIHRoZSBxdWV1ZSBleGlzdC4nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gcXVldWVBcnJheTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGl0ZW0gZnJvbSB0aGUgQVBJIHF1ZXVlIGJ5IGl0cyBJRC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIHN1YnNjcmliZXMgdG8gdGhlIHN0b3JlIGFuZCBzZWxlY3RzIGEgc2luZ2xlIGl0ZW0gZnJvbSB0aGUgQVBJIHF1ZXVlIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBJRC5cbiAgICAgKiBJdCBlbXBsb3lzIGEgcGlwZWxpbmUgdG8gZmV0Y2ggdGhlIGl0ZW06IHRoZSBgZ2V0QXBpUXVldWVJdGVtYCBzZWxlY3RvciBpcyB1c2VkIHRvIHJldHJpZXZlIHRoZSBpdGVtLFxuICAgICAqIGFuZCBhIGBtYXBgIG9wZXJhdG9yIHByb2Nlc3NlcyB0aGUgcmVzdWx0LiBJZiB0aGUgaXRlbSB3aXRoIHRoZSBzcGVjaWZpZWQgSUQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIHF1ZXVlLFxuICAgICAqIGEgd2FybmluZyBpcyBsb2dnZWQsIGFuZCBgbnVsbGAgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBpZGVhbCBmb3IgYWNjZXNzaW5nIGEgc3BlY2lmaWMgcXVldWUgaXRlbSB3aGVuIGl0cyBJRCBpcyBrbm93biwgYWxsb3dpbmcgZm9yIHRhcmdldGVkXG4gICAgICogb3BlcmF0aW9ucyBvciBjaGVja3Mgb24gdGhhdCBwYXJ0aWN1bGFyIGl0ZW0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGl0ZW0gd2l0aGluIHRoZSBxdWV1ZS5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxBcGlRdWV1ZUl0ZW0gfCBudWxsPn0gQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcmVxdWVzdGVkIEFwaVF1ZXVlSXRlbS5cbiAgICAgKiBJZiBubyBpdGVtIHdpdGggdGhlIGdpdmVuIElEIGV4aXN0cyBpbiB0aGUgcXVldWUsIHRoZSBPYnNlcnZhYmxlIGVtaXRzIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMuZ2V0UXVldWVJdGVtKCdpdGVtMTIzJykuc3Vic2NyaWJlKGl0ZW0gPT4ge1xuICAgICAqICAgaWYgKGl0ZW0pIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ0ZvdW5kIGl0ZW06JywgaXRlbSk7XG4gICAgICogICB9IGVsc2Uge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnSXRlbSBub3QgZm91bmQgaW4gdGhlIHF1ZXVlJyk7XG4gICAgICogICB9XG4gICAgICogfSk7XG4gICAgICovXG4gICAgZ2V0UXVldWVJdGVtKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBpUXVldWVJdGVtKGlkKSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICBtYXAoKHF1ZXVlOiBBcGlRdWV1ZUl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXF1ZXVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyPy53YXJuKGBRdWV1ZSBpdGVtIHdpdGggaWQgXCIke2lkfVwiIGRvZXMgbm90IGV4aXN0YCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcXVldWU7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgc3BlY2lmaWMgaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgdXNpbmcgaXRzIElELlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2QgZGlzcGF0Y2hlcyBhbiBhY3Rpb24gdG8gcmVtb3ZlIGFuIGl0ZW0gZnJvbSB0aGUgcXVldWUsIGlkZW50aWZpZWQgYnkgdGhlIHByb3ZpZGVkIElELlxuICAgICAqIEl0IGlzIGVzc2VudGlhbCBmb3IgbWFuYWdpbmcgdGhlIHF1ZXVlIGJ5IGVsaW1pbmF0aW5nIGl0ZW1zIHRoYXQgYXJlIG5vIGxvbmdlciBuZWVkZWQgb3IgaGF2ZSBiZWVuIHByb2Nlc3NlZC5cbiAgICAgKiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJuIGFueSB2YWx1ZSwgYXMgaXQgcHJpbWFyaWx5IHRyaWdnZXJzIGFuIGFjdGlvbiB3aXRoaW4gdGhlIHN0b3JlLlxuICAgICAqXG4gICAgICogTm90ZTogVGhpcyBtZXRob2QgYXNzdW1lcyB0aGUgZXhpc3RlbmNlIG9mIHRoZSBpdGVtIGluIHRoZSBxdWV1ZS4gSXQgZG9lcyBub3QgcGVyZm9ybSBhIGNoZWNrXG4gICAgICogdG8gY29uZmlybSB0aGUgcHJlc2VuY2Ugb2YgdGhlIGl0ZW0gYmVmb3JlIGF0dGVtcHRpbmcgdG8gcmVtb3ZlIGl0LiBUaGVyZWZvcmUsIGl0J3MgcmVjb21tZW5kZWRcbiAgICAgKiB0byB2ZXJpZnkgdGhlIGl0ZW0ncyBleGlzdGVuY2UgaW4gdGhlIHF1ZXVlIGlmIHVuY2VydGFpbnR5IGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB0byBiZSByZW1vdmVkIGZyb20gdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlXG4gICAgICogdGhpcy5yZW1vdmVRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKTtcbiAgICAgKiAvLyBUaGUgaXRlbSB3aXRoIElEICdpdGVtMTIzJyB3aWxsIGJlIGRpc3BhdGNoZWQgZm9yIHJlbW92YWwgZnJvbSB0aGUgcXVldWUuXG4gICAgICovXG4gICAgcmVtb3ZlUXVldWVJdGVtKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUmVtb3ZlQXBpUXVldWVJdGVtQWN0aW9uKGlkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCBpdGVtcyBmcm9tIHRoZSBBUEkgcXVldWUuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBkaXNwYXRjaGVzIGFuIGFjdGlvbiB0byBlbXB0eSB0aGUgZW50aXJlIEFQSSBxdWV1ZSwgZWZmZWN0aXZlbHkgcmVtb3ZpbmcgYWxsIGl0ZW1zIHRoYXQgYXJlIGN1cnJlbnRseSBxdWV1ZWQuXG4gICAgICogSXQgaXMgdXNlZnVsIGZvciBzY2VuYXJpb3Mgd2hlcmUgYSBjb21wbGV0ZSByZXNldCBvZiB0aGUgcXVldWUgaXMgcmVxdWlyZWQsIHN1Y2ggYXMgZHVyaW5nIGluaXRpYWxpemF0aW9uIG9yIGFmdGVyIHByb2Nlc3NpbmdcbiAgICAgKiBhIGJhdGNoIG9mIGl0ZW1zLiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgcmV0dXJuIGFueSB2YWx1ZSwgYXMgaXRzIHByaW1hcnkgcHVycG9zZSBpcyB0byB0cmlnZ2VyIGEgc3RhdGUgY2hhbmdlIGluIHRoZSBzdG9yZS5cbiAgICAgKlxuICAgICAqIE5vdGU6IFVzZSB0aGlzIG1ldGhvZCB3aXRoIGNhdXRpb24gYXMgaXQgd2lsbCBpcnJldmVyc2libHkgY2xlYXIgYWxsIGl0ZW1zIGluIHRoZSBxdWV1ZS4gRW5zdXJlIHRoYXQgdGhpcyBhY3Rpb24gZG9lcyBub3RcbiAgICAgKiBkaXNydXB0IGFueSBvbmdvaW5nIHByb2Nlc3NlcyB0aGF0IHJlbHkgb24gdGhlIHF1ZXVlJ3MgY29udGVudHMuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2VcbiAgICAgKiB0aGlzLnJlbW92ZUFsbFF1ZXVlSXRlbSgpO1xuICAgICAqIC8vIFRoaXMgd2lsbCBkaXNwYXRjaCBhbiBhY3Rpb24gdG8gZW1wdHkgdGhlIGVudGlyZSBBUEkgcXVldWUuXG4gICAgICovXG4gICAgcmVtb3ZlQWxsUXVldWVJdGVtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBFbXB0eUFwaVF1ZXVlQWN0aW9uKG51bGwpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcm9jZXNzZXMgYW4gaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgaWRlbnRpZmllZCBieSBpdHMgSUQuXG4gICAgICpcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIHNwZWNpZmllZCBpdGVtIGZyb20gdGhlIHF1ZXVlIGFuZCBhcHBsaWVzIHByb2Nlc3NpbmcgbG9naWMgYXMgZGVmaW5lZCBpbiBgYnVpbGRIdHRwUmVxdWVzdGAuXG4gICAgICogSWYgdGhlIGl0ZW0gaXMgbm90IGZvdW5kLCBsb2dzIGEgd2FybmluZyBhbmQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIGVtaXR0aW5nIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aXRoaW4gdGhlIHF1ZXVlIHRvIGJlIHByb2Nlc3NlZC5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxhbnk+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZiBwcm9jZXNzaW5nIHRoZSBxdWV1ZSBpdGVtLlxuICAgICAqIElmIHRoZSBpdGVtIGRvZXMgbm90IGV4aXN0LCB0aGUgT2JzZXJ2YWJsZSBlbWl0cyBgbnVsbGAuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2VcbiAgICAgKiB0aGlzLnByb2Nlc3NRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgKiAgIGlmIChyZXN1bHQpIHtcbiAgICAgKiAgICAgY29uc29sZS5sb2coJ1Byb2Nlc3NpbmcgcmVzdWx0OicsIHJlc3VsdCk7XG4gICAgICogICB9IGVsc2Uge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnSXRlbSBub3QgZm91bmQgaW4gdGhlIHF1ZXVlJyk7XG4gICAgICogICB9XG4gICAgICogfSk7XG4gICAgICovXG4gICAgLy8gVE9ETzogUmVwbGFjZSBgYW55YCB3aXRoIGEgbW9yZSBzcGVjaWZpYyB0eXBlIG9yIG1ha2UgdGhlIG1ldGhvZCBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb2Nlc3NRdWV1ZUl0ZW0oaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZUl0ZW0oaWQpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocXVldWU6IEFwaVF1ZXVlSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcXVldWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oYFF1ZXVlIGl0ZW0gd2l0aCBpZCBcIiR7aWR9XCIgZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmJ1aWxkSHR0cFJlcXVlc3QoaWQsIHF1ZXVlKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbGwgaXRlbXMgaW4gdGhlIEFQSSBxdWV1ZSBhbmQgY29sbGVjdHMgdGhlaXIgcmVzcG9uc2VzLlxuICAgICAqXG4gICAgICogSXRlcmF0ZXMgb3ZlciBlYWNoIGl0ZW0gaW4gdGhlIHF1ZXVlIGFuZCBwcm9jZXNzZXMgdGhlbSB1c2luZyBgYnVpbGRIdHRwUmVxdWVzdGAuIElmIGEgcmVxdWVzdCBmYWlscyxcbiAgICAgKiB0aGUgbWV0aG9kIGNhbiBlaXRoZXIgY29udGludWUgcHJvY2Vzc2luZyB0aGUgcmVtYWluaW5nIGl0ZW1zIG9yIHN0b3AsIGJhc2VkIG9uIHRoZSBgY29udGludWVPbkVycm9yYCBwYXJhbWV0ZXIuXG4gICAgICogSXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgY29udGFpbmluZyB0aGUgcmVzcG9uc2VzIG9yIGVycm9ycyBmcm9tIGFsbCB0aGUgcHJvY2Vzc2VkIGl0ZW1zLlxuICAgICAqXG4gICAgICogVGhlIGZ1bmN0aW9uIGN1cnJlbnRseSByZXR1cm5zIGBPYnNlcnZhYmxlPGFueVtdPmAgaW5kaWNhdGluZyBhbiBhcnJheSBvZiBhbnkgdHlwZS4gRnV0dXJlIGltcHJvdmVtZW50c1xuICAgICAqIHNob3VsZCBhaW0gdG8gc3BlY2lmeSBhIG1vcmUgYWNjdXJhdGUgcmV0dXJuIHR5cGUgb3IgdXRpbGl6ZSBnZW5lcmljcyBmb3IgaW5jcmVhc2VkIHR5cGUgc2FmZXR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbY29udGludWVPbkVycm9yPXRydWVdIC0gRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgaXRlbSBpbiB0aGUgcXVldWVcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlciBhIHJlcXVlc3QgZmFpbHVyZS4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueVtdPn0gQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyBhbiBhcnJheSBvZiBlaXRoZXIgcmVzcG9uc2VzIG9yIGVycm9ycyBmcm9tIHRoZSBwcm9jZXNzZWRcbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXVlIGl0ZW1zLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnByb2Nlc3NBbGxRdWV1ZUl0ZW1zKCkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICAgICAqICAgLy8gSGFuZGxlIHRoZSBhcnJheSBvZiByZXNwb25zZXMgb3IgZXJyb3JzXG4gICAgICogfSk7XG4gICAgICovXG4gICAgLy8gVE9ETzogUmVmaW5lIHRoZSByZXR1cm4gdHlwZSB0byBiZSBtb3JlIHNwZWNpZmljIG9yIGltcGxlbWVudCBnZW5lcmljcywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcm9jZXNzQWxsUXVldWVJdGVtczxUID0gYW55Pihjb250aW51ZU9uRXJyb3IgPSB0cnVlKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgbWFwKChxdWV1ZTogQXBpUXVldWUpID0+XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMocXVldWUpLm1hcCgoW2tleSwgdmFsdWVdKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkSHR0cFJlcXVlc3Qoa2V5LCB2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyPy5lcnJvcihgUXVldWUgSXRlbSB3aXRoIGlkICR7a2V5fSBmYWlsZWQuYCwgZXJyb3IubWVzc2FnZSwgZXJyb3Iuc3RhY2spO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChvYnNRdWV1ZTogT2JzZXJ2YWJsZTxUPltdKSA9PiBmb3JrSm9pbihBcnJheS5mcm9tKG9ic1F1ZXVlKSkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIHNlcXVlbnRpYWxseSwgYmFzZWQgb24gdGhlaXIgdGltZXN0YW1wIG9yZGVyaW5nLlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2QgZmlyc3Qgb3JkZXJzIHRoZSBpdGVtcyBpbiB0aGUgQVBJIHF1ZXVlIGJ5IHRoZWlyIHRpbWVzdGFtcCwgZWl0aGVyIGluIGFzY2VuZGluZyBvciBkZXNjZW5kaW5nXG4gICAgICogb3JkZXIgYXMgc3BlY2lmaWVkIGJ5IHRoZSBgYXNjZW5kaW5nYCBwYXJhbWV0ZXIuIEl0IHRoZW4gcHJvY2Vzc2VzIGVhY2ggaXRlbSB1c2luZyBgYnVpbGRIdHRwUmVxdWVzdGAsIGVuc3VyaW5nXG4gICAgICogdGhhdCBlYWNoIHJlcXVlc3QgaXMgY29tcGxldGVkIGJlZm9yZSB0aGUgbmV4dCBiZWdpbnMuIFRoaXMgc2VxdWVudGlhbCBwcm9jZXNzaW5nIGlzIGNydWNpYWwgd2hlbiB0aGUgb3JkZXIgb2ZcbiAgICAgKiBleGVjdXRpb24gbWF0dGVycyBmb3IgSFRUUCByZXF1ZXN0cyBpbiB0aGUgcXVldWUuIFRoZSBtZXRob2QgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3BvbnNlc1xuICAgICAqIGZvbGxvd2luZyB0aGUgc2FtZSBvcmRlciBhcyB0aGUgcXVldWUgaXRlbXMgd2VyZSBwcm9jZXNzZWQuXG4gICAgICpcbiAgICAgKiBUaGUgZnVuY3Rpb24gY3VycmVudGx5IHJldHVybnMgYE9ic2VydmFibGU8YW55PmAsIGluZGljYXRpbmcgYSBicm9hZCB0eXBlLiBGdXR1cmUgaW1wcm92ZW1lbnRzIHNob3VsZCBmb2N1cyBvblxuICAgICAqIHNwZWNpZnlpbmcgYSBtb3JlIGFjY3VyYXRlIHJldHVybiB0eXBlIG9yIHV0aWxpemluZyBnZW5lcmljcyBmb3IgaW5jcmVhc2VkIHR5cGUgc2FmZXR5LlxuICAgICAqXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbYXNjZW5kaW5nPXRydWVdIC0gRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBxdWV1ZSBpdGVtcyBhcmUgcHJvY2Vzc2VkIGluIGFzY2VuZGluZyBvcmRlciBvZiB0aGVpclxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcC4gRGVmYXVsdHMgdG8gYHRydWVgLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IEFuIE9ic2VydmFibGUgZW1pdHRpbmcgdGhlIHJlc3BvbnNlcyBvZiB0aGUgSFRUUCByZXF1ZXN0cyBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIHByb2Nlc3NlZC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogdGhpcy5wcm9jZXNzQWxsUXVldWVJdGVtc1NlcXVlbnRpYWwoKS5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAqICAgLy8gSGFuZGxlIGVhY2ggcmVzcG9uc2UgaW4gdGhlIG9yZGVyIG9mIHF1ZXVlIHByb2Nlc3NpbmdcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBSZWZpbmUgdGhlIHJldHVybiB0eXBlIGZvciBtb3JlIHNwZWNpZmljIG9yIGltcGxlbWVudCBnZW5lcmljcywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcm9jZXNzQWxsUXVldWVJdGVtc1NlcXVlbnRpYWwoYXNjZW5kaW5nID0gdHJ1ZSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocXVldWU6IEFwaVF1ZXVlKSA9PlxuICAgICAgICAgICAgICAgIGZyb20oT2JqZWN0LmVudHJpZXMocXVldWUpXG4gICAgICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiAoYXNjZW5kaW5nID8gdGhpcy5zb3J0T25UaW1lc3RhbXAoYSwgYikgOiB0aGlzLnNvcnRPblRpbWVzdGFtcChiLCBhKSkpXG4gICAgICAgICAgICAgICAgICAgIC5tYXAoKFtpZCwgaXRlbV0pID0+IHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgaXRlbSkpKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShjb25jYXRNYXAoeCA9PiB4KSksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBhcmVzIHR3byBxdWV1ZSBpdGVtcyBiYXNlZCBvbiB0aGVpciB0aW1lc3RhbXAgYW5kIGRldGVybWluZXMgdGhlaXIgb3JkZXIuXG4gICAgICpcbiAgICAgKiBUaGlzIHByb3RlY3RlZCBtZXRob2QgaXMgdXNlZCB0byBzb3J0IHF1ZXVlIGl0ZW1zLiBJdCB0YWtlcyB0d28gcXVldWUgaXRlbXMgYXMgaW5wdXQsIGVhY2ggcmVwcmVzZW50ZWRcbiAgICAgKiBhcyBhIHR1cGxlIGNvbnRhaW5pbmcgYW4gaXRlbSBJRCBhbmQgdGhlIGBBcGlRdWV1ZUl0ZW1gIG9iamVjdC4gVGhlIG1ldGhvZCBjb21wYXJlcyB0aGVzZSBpdGVtcyBiYXNlZCBvblxuICAgICAqIHRoZSBgdGltZXN0YW1wYCBwcm9wZXJ0eSBvZiB0aGUgYEFwaVF1ZXVlSXRlbWAgb2JqZWN0cy4gSXQgcmV0dXJucyBhIG51bWJlciBpbmRpY2F0aW5nIHRoZSBvcmRlciBpbiB3aGljaFxuICAgICAqIHRoZXNlIGl0ZW1zIHNob3VsZCBiZSBzb3J0ZWQuXG4gICAgICpcbiAgICAgKiBBIHBvc2l0aXZlIHJldHVybiB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCB0aGUgZmlyc3QgaXRlbSBzaG91bGQgY29tZSBhZnRlciB0aGUgc2Vjb25kLCBhIG5lZ2F0aXZlIHZhbHVlXG4gICAgICogaW5kaWNhdGVzIHRoZSBvcHBvc2l0ZSwgYW5kIHplcm8gaW5kaWNhdGVzIHRoYXQgdGhleSBhcmUgZXF1YWwgaW4gdGVybXMgb2YgdGltZXN0YW1wLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dfSBhIC0gVGhlIGZpcnN0IHF1ZXVlIGl0ZW0gdHVwbGUgZm9yIGNvbXBhcmlzb24uXG4gICAgICogQHBhcmFtIHtbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dfSBiIC0gVGhlIHNlY29uZCBxdWV1ZSBpdGVtIHR1cGxlIGZvciBjb21wYXJpc29uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IEEgbnVtYmVyIGluZGljYXRpbmcgdGhlIG9yZGVyIG9mIHRoZSBpdGVtczogbmVnYXRpdmUgaWYgYGFgIGlzIGVhcmxpZXIgdGhhbiBgYmAsXG4gICAgICogICAgICAgICAgICAgICAgICBwb3NpdGl2ZSBpZiBgYWAgaXMgbGF0ZXIgdGhhbiBgYmAsIGFuZCB6ZXJvIGlmIHRoZXkgYXJlIGVxdWFsLlxuICAgICAqIEBiZXRhXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHNvcnRPblRpbWVzdGFtcChhOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dLCBiOiBbc3RyaW5nLCBBcGlRdWV1ZUl0ZW1dKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuICtuZXcgRGF0ZShhWzFdLnRpbWVzdGFtcCkgLSArbmV3IERhdGUoYlsxXS50aW1lc3RhbXApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdHMgYW5kIGV4ZWN1dGVzIGFuIEhUVFAgcmVxdWVzdCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcXVldWUgaXRlbSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogVGhpcyBwcml2YXRlIG1ldGhvZCB0YWtlcyBhbiBJRCBhbmQgYW4gYEFwaVF1ZXVlSXRlbWAgb2JqZWN0IHRvIGJ1aWxkIGFuZCBleGVjdXRlIGFuIEhUVFAgcmVxdWVzdC5cbiAgICAgKiBJdCBkZXRlcm1pbmVzIHRoZSBIVFRQIG1ldGhvZCAobGlrZSBHRVQsIFBPU1QsIGV0Yy4pIGZyb20gdGhlIGBtZXRob2RgIHByb3BlcnR5IG9mIHRoZSBgQXBpUXVldWVJdGVtYCxcbiAgICAgKiBhbmQgdXNlcyB0aGUgYHVyaWAgYW5kIGBwYXlsb2FkYCBwcm9wZXJ0aWVzIGZvciB0aGUgcmVxdWVzdCdzIFVSTCBhbmQgYm9keSwgcmVzcGVjdGl2ZWx5LiBBZnRlciB0aGVcbiAgICAgKiByZXF1ZXN0IGlzIGV4ZWN1dGVkLCB0aGUgY29ycmVzcG9uZGluZyBxdWV1ZSBpdGVtIGlzIHJlbW92ZWQgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBUaGUgbWV0aG9kIGlzIGdlbmVyaWMsIGFsbG93aW5nIHRoZSBjYWxsZXIgdG8gc3BlY2lmeSB0aGUgZXhwZWN0ZWQgcmVzcG9uc2UgdHlwZSBgVGAuIEJ5IGRlZmF1bHQsXG4gICAgICogaXQgdXNlcyBgYW55YCB0eXBlLCBidXQgc3BlY2lmeWluZyBhIG1vcmUgY29uY3JldGUgdHlwZSBlbmhhbmNlcyB0eXBlIHNhZmV0eSBhbmQgY2xhcml0eSBpbiB1c2FnZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSBJRCBvZiB0aGUgcXVldWUgaXRlbSBiZWluZyBwcm9jZXNzZWQuXG4gICAgICogQHBhcmFtIHtBcGlRdWV1ZUl0ZW19IGl0ZW0gLSBUaGUgcXVldWUgaXRlbSBjb250YWluaW5nIGRldGFpbHMgZm9yIHRoZSBIVFRQIHJlcXVlc3QuXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8VD59IEFuIE9ic2VydmFibGUgb2YgdHlwZSBULCByZXByZXNlbnRpbmcgdGhlIHJlc3BvbnNlIG9mIHRoZSBIVFRQIHJlcXVlc3QuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2UgZm9yIGEgc3BlY2lmaWMgcmVzcG9uc2UgdHlwZVxuICAgICAqIHRoaXMuYnVpbGRIdHRwUmVxdWVzdDxNeVJlc3BvbnNlVHlwZT4oJ2l0ZW0xMjMnLCBxdWV1ZUl0ZW0pXG4gICAgICogICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAqICAgICAgICAgLy8gSGFuZGxlIHRoZSByZXNwb25zZVxuICAgICAqICAgICB9KTtcbiAgICAgKlxuICAgICAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGV4cGVjdGVkIHR5cGUgb2YgdGhlIEhUVFAgcmVzcG9uc2UuIERlZmF1bHRzIHRvIGBhbnlgLlxuICAgICAqL1xuICAgIC8vIFRPRE86IGFkZCB0eXBlIGZvciBUIGFuZCBkZXByZWNhdGUgb2xkIGZ1bmN0aW9uXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJpdmF0ZSBidWlsZEh0dHBSZXF1ZXN0PFQgPSBhbnk+KGlkOiBzdHJpbmcsIGl0ZW06IEFwaVF1ZXVlSXRlbSk6IE9ic2VydmFibGU8VD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwW2l0ZW0ubWV0aG9kLnRvTG93ZXJDYXNlKCldPFQ+KGl0ZW0udXJpLCBpdGVtLnBheWxvYWQpLnBpcGUodGFwKCgpID0+IHRoaXMucmVtb3ZlUXVldWVJdGVtKGlkKSkpO1xuICAgIH1cbn1cbiJdfQ==
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXF1ZXVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3F1ZXVlL2FwaS1xdWV1ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBa0MsTUFBTSxXQUFXLENBQUM7QUFHekYsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFFOUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDRztBQUlILE1BQU0sT0FBTyxlQUFlO0lBR3hCLFlBQ2MsS0FBbUIsRUFDbkIsSUFBZ0IsRUFDSixVQUFzQjtRQUZsQyxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDSixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRTVDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxZQUFZLENBQUMsRUFBVSxFQUFFLElBQWtCO1FBQ3ZDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU5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QUFNOztrR0FFVCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT1EsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIGZvcmtKb2luLCBmcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAsIHN3aXRjaE1hcCwgdGFrZSwgbWFwLCBjYXRjaEVycm9yLCBjb25jYXRNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBnZXRBcGlRdWV1ZSwgZ2V0QXBpUXVldWVJdGVtLCBBcGlRdWV1ZSwgQXBpUXVldWVJdGVtLCBMb2dnZXIgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgQWRkQXBpUXVldWVJdGVtQWN0aW9uLCBSZW1vdmVBcGlRdWV1ZUl0ZW1BY3Rpb24sIEVtcHR5QXBpUXVldWVBY3Rpb24gfSBmcm9tICcuLi9zdG9yZSc7XG5cbi8qKlxuICogU2VydmljZSBjbGFzcyBmb3IgbWFuYWdpbmcgYW5kIHByb2Nlc3NpbmcgYSBxdWV1ZSBvZiBBUEkgcmVxdWVzdHMuXG4gKlxuICogVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gYWRkLCByZW1vdmUsIHByb2Nlc3MsIGFuZCBtYW5hZ2UgSFRUUCByZXF1ZXN0cyBzdG9yZWQgaW4gYSBxdWV1ZS5cbiAqIEl0IGVuYWJsZXMgc2VxdWVudGlhbCBvciBidWxrIHByb2Nlc3Npbmcgb2YgcmVxdWVzdHMsIGVuc3VyaW5nIGNvbnRyb2xsZWQgZXhlY3V0aW9uIGFuZCBoYW5kbGluZyBvZiBBUEkgY2FsbHMuXG4gKiBUaGUgc2VydmljZSBtZXRob2RzIG9mZmVyIGZlYXR1cmVzIGxpa2UgcHJvY2Vzc2luZyBpbmRpdmlkdWFsIGl0ZW1zLCBwcm9jZXNzaW5nIGFsbCBpdGVtcyBpbiB0aGUgcXVldWUgZWl0aGVyXG4gKiBzZXF1ZW50aWFsbHkgb3IgYWxsIGF0IG9uY2UsIGFuZCByZW1vdmluZyBpdGVtcyBmcm9tIHRoZSBxdWV1ZS4gRWFjaCBtZXRob2QgaXMgZGVzaWduZWQgdG8gaGFuZGxlIHNwZWNpZmljIGFzcGVjdHNcbiAqIG9mIHF1ZXVlIG1hbmFnZW1lbnQgYW5kIHByb2Nlc3NpbmcsIHdpdGggYXR0ZW50aW9uIHRvIGRldGFpbHMgbGlrZSBvcmRlciBvZiBleGVjdXRpb24gYW5kIGVycm9yIGhhbmRsaW5nLlxuICpcbiAqIFVzYWdlIG9mIHRoaXMgc2VydmljZSBpcyBpZGVhbCBpbiBzY2VuYXJpb3Mgd2hlcmUgQVBJIHJlcXVlc3RzIG5lZWQgdG8gYmUgbWFuYWdlZCBpbiBhIHF1ZXVlIHN0cnVjdHVyZSwgYWxsb3dpbmdcbiAqIGZvciBjb250cm9sbGVkIGV4ZWN1dGlvbiBhbmQgbW9uaXRvcmluZyBvZiB0aGVzZSByZXF1ZXN0cy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWRkaW5nIGEgbmV3IGl0ZW0gdG8gdGhlIHF1ZXVlXG4gKiBhcGlRdWV1ZVNlcnZpY2UuYWRkUXVldWVJdGVtKHsgaWQ6ICdpdGVtMTI0JywgbWV0aG9kOiAnUE9TVCcsIHVyaTogJy9hcGkvZGF0YScsIHBheWxvYWQ6IHsuLi59IH0pO1xuICpcbiAqIC8vIFByb2Nlc3NpbmcgYSBzaW5nbGUgaXRlbSBmcm9tIHRoZSBxdWV1ZVxuICogYXBpUXVldWVTZXJ2aWNlLnByb2Nlc3NRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBpdGVtIDEyMyB3aXRoIHJlc3VsdDonLCByZXN1bHQpO1xuICogfSk7XG4gKlxuICogLy8gUHJvY2Vzc2luZyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIGluIHNlcXVlbnRpYWwgb3JkZXJcbiAqIGFwaVF1ZXVlU2VydmljZS5wcm9jZXNzQWxsUXVldWVJdGVtc1NlcXVlbnRpYWwoZmFsc2UpLnN1YnNjcmliZShyZXN1bHRzID0+IHtcbiAqICAgY29uc29sZS5sb2coJ1Byb2Nlc3NlZCBhbGwgaXRlbXMgaW4gZGVzY2VuZGluZyBvcmRlciBvZiB0aGVpciB0aW1lc3RhbXA6JywgcmVzdWx0cyk7XG4gKiB9KTtcbiAqXG4gKiAvLyBSZW1vdmluZyBhbiBpdGVtIGZyb20gdGhlIHF1ZXVlXG4gKiBhcGlRdWV1ZVNlcnZpY2UucmVtb3ZlUXVldWVJdGVtKCdpdGVtMTIzJyk7XG4gKlxuICogLy8gUHJvY2Vzc2luZyBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlIGFuZCBjb250aW51aW5nIG9uIGVycm9yXG4gKiBhcGlRdWV1ZVNlcnZpY2UucHJvY2Vzc0FsbFF1ZXVlSXRlbXModHJ1ZSkuc3Vic2NyaWJlKHJlc3VsdHMgPT4ge1xuICogICBjb25zb2xlLmxvZygnUHJvY2Vzc2VkIGFsbCBpdGVtcyBpbiB0aGUgcXVldWUgd2l0aCBjb250aW51YXRpb24gb24gZXJyb3JzOicsIHJlc3VsdHMpO1xuICogfSk7XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwaVF1ZXVlU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBpZiAobG9nU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2dTZXJ2aWNlLmdldExvZ2dlcignY29yZS5BcGlRdWV1ZVNlcnZpY2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZHMgYW4gaXRlbSB0byB0aGUgcXVldWUgYnkgZGlzcGF0Y2hpbmcgYW4gYWN0aW9uIHRvIHRoZSBzdG9yZS5cbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byBlbnF1ZXVlIEFQSSBjYWxsIHJlcXVlc3RzIHJlcHJlc2VudGVkIGJ5IGBBcGlRdWV1ZUl0ZW1gIG9iamVjdHMuXG4gICAgICogRWFjaCBpdGVtIGlzIGlkZW50aWZpZWQgYnkgYSB1bmlxdWUgYGlkYCwgd2hpY2ggaXMgdXNlZCB0byBtYW5hZ2UgdGhlIHF1ZXVlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgcXVldWUgaXRlbS4gSXQncyBjcnVjaWFsIHRvIGVuc3VyZSB0aGF0IHRoaXMgSUQgaXMgdW5pcXVlIHdpdGhpbiB0aGUgcXVldWUuXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgSWYgYW4gaXRlbSB3aXRoIHRoZSBzYW1lIElEIGFscmVhZHkgZXhpc3RzLCB0aGUgbmV3IGl0ZW0gd2lsbCBvdmVyd3JpdGUgdGhlIGV4aXN0aW5nIG9uZS5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICBXQVJOSU5HOiBEdXBsaWNhdGUgSURzIHdpbGwgbGVhZCB0byBvdmVyd3JpdGluZyBvZiBxdWV1ZSBpdGVtcy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7QXBpUXVldWVJdGVtfSBpdGVtIC0gVGhlIGl0ZW0gdG8gYmUgZW5xdWV1ZWQuIFRoaXMgc2hvdWxkIGJlIGFuIG9iamVjdCBvZiB0eXBlIGBBcGlRdWV1ZUl0ZW1gLlxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGBtZXRob2RgIHByb3BlcnR5IG9mIHRoZSBpdGVtIG11c3QgYmUgb25lIG9mIHRoZSBhbGxvd2VkIG1ldGhvZHMgKCdwb3N0JywgJ3B1dCcsICdnZXQnKS5cbiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIGFuIHVuc3VwcG9ydGVkIG1ldGhvZCBpcyBwcm92aWRlZCwgdGhlIGZ1bmN0aW9uIHdpbGwgdGhyb3cgYW4gZXJyb3IuXG4gICAgICpcbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gVGhyb3dzIGFuIGVycm9yIGlmIHRoZSBgbWV0aG9kYCBwcm9wZXJ0eSBvZiB0aGUgYGl0ZW1gIGlzIG5vdCBvbmUgb2YgdGhlIGFsbG93ZWQgbWV0aG9kcy5cbiAgICAgKiAgICAgICAgICAgICAgICAgVGhlIGVycm9yIG1lc3NhZ2UgaXM6IGBbQXBpUXVldWVdIG1ldGhvZCBcIiR7aXRlbS5tZXRob2R9XCIgaXMgbm90IGFsbG93ZWRgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIG9mIGFkZGluZyBhbiBpdGVtIHRvIHRoZSBBUEkgcXVldWVcbiAgICAgKiBhZGRRdWV1ZUl0ZW0oJzEyMzQ1JywgeyBtZXRob2Q6ICdwb3N0JywgdXJsOiAnL2FwaS9kYXRhJywgcGF5bG9hZDogey4uLn0gfSk7XG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7dm9pZH0gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYSB2YWx1ZS4gSXQgYWRkcyB0aGUgaXRlbSB0byB0aGUgcXVldWUgdmlhIGEgZGlzcGF0Y2ggYWN0aW9uLlxuICAgICAqL1xuICAgIGFkZFF1ZXVlSXRlbShpZDogc3RyaW5nLCBpdGVtOiBBcGlRdWV1ZUl0ZW0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWxsb3dlZE1ldGhvZHMgPSBbJ3Bvc3QnLCAncHV0JywgJ2dldCddO1xuXG4gICAgICAgIGlmIChhbGxvd2VkTWV0aG9kcy5pbmRleE9mKGl0ZW0ubWV0aG9kKSA8IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgW0FwaVF1ZXVlXSBtZXRob2QgXCIke2l0ZW0ubWV0aG9kfVwiIGlzIG5vdCBhbGxvd2VkYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBBZGRBcGlRdWV1ZUl0ZW1BY3Rpb24oeyBpZCwgaXRlbSB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBBUEkgcXVldWUgYW5kIGNvbnZlcnRzIGl0IGludG8gYW4gYXJyYXkgb2YgT2JzZXJ2YWJsZXMuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBzdWJzY3JpYmVzIHRvIHRoZSBzdG9yZSB0byBhY2Nlc3MgdGhlIEFQSSBxdWV1ZS4gSXQgdGhlbiBtYXBzIHRoZSBxdWV1ZSBvYmplY3QsXG4gICAgICogd2hpY2ggaXMgYW4gYXNzb2NpYXRpdmUgYXJyYXksIGludG8gYSBsaW5lYXIgYXJyYXkgb2YgQXBpUXVldWVJdGVtIGluc3RhbmNlcy4gSWYgdGhlIHF1ZXVlIGlzIGVtcHR5LFxuICAgICAqIGEgd2FybmluZyBpcyBsb2dnZWQuIFRoaXMgbWV0aG9kIGlzIHVzZWZ1bCBmb3IgdHJhY2tpbmcgdGhlIHN0YXRlIGFuZCBjb250ZW50cyBvZiB0aGUgQVBJIHF1ZXVlXG4gICAgICogYXQgYSBnaXZlbiBtb21lbnQuXG4gICAgICpcbiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCB0YWtlcyBhIHNuYXBzaG90IG9mIHRoZSBxdWV1ZSBhdCB0aGUgdGltZSBvZiBzdWJzY3JpcHRpb24uIEl0IGRvZXMgbm90IHByb3ZpZGVcbiAgICAgKiBhIGNvbnRpbnVvdXMgc3RyZWFtIG9mIHF1ZXVlIHVwZGF0ZXMuIFRvIGdldCByZWFsLXRpbWUgdXBkYXRlcywgY29uc2lkZXIgc3Vic2NyaWJpbmcgZGlyZWN0bHlcbiAgICAgKiB0byB0aGUgc3RvcmUncyBvYnNlcnZhYmxlLlxuICAgICAqXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8QXBpUXVldWVJdGVtW10+fSBBbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgb2YgQXBpUXVldWVJdGVtLlxuICAgICAqIFRoZSBhcnJheSByZXByZXNlbnRzIGFsbCBpdGVtcyBjdXJyZW50bHkgaW4gdGhlIHF1ZXVlLiBJZiB0aGUgcXVldWUgaXMgZW1wdHksIGl0IGVtaXRzIGFuIGVtcHR5IGFycmF5LlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlXG4gICAgICogdGhpcy5nZXRRdWV1ZSgpLnN1YnNjcmliZShxdWV1ZUl0ZW1zID0+IHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdDdXJyZW50IHF1ZXVlIGl0ZW1zOicsIHF1ZXVlSXRlbXMpO1xuICAgICAqIH0pO1xuICAgICAqL1xuICAgIGdldFF1ZXVlKCk6IE9ic2VydmFibGU8QXBpUXVldWVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIG1hcCgocXVldWU6IEFwaVF1ZXVlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVldWVBcnJheSA9IHF1ZXVlICYmIE9iamVjdC52YWx1ZXM8QXBpUXVldWVJdGVtPihxdWV1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZUFycmF5IHx8IHF1ZXVlQXJyYXkubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybignTm8gaXRlbXMgaW4gdGhlIHF1ZXVlIGV4aXN0LicpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBxdWV1ZUFycmF5O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGEgc3BlY2lmaWMgaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgYnkgaXRzIElELlxuICAgICAqXG4gICAgICogVGhpcyBtZXRob2Qgc3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgYW5kIHNlbGVjdHMgYSBzaW5nbGUgaXRlbSBmcm9tIHRoZSBBUEkgcXVldWUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIElELlxuICAgICAqIEl0IGVtcGxveXMgYSBwaXBlbGluZSB0byBmZXRjaCB0aGUgaXRlbTogdGhlIGBnZXRBcGlRdWV1ZUl0ZW1gIHNlbGVjdG9yIGlzIHVzZWQgdG8gcmV0cmlldmUgdGhlIGl0ZW0sXG4gICAgICogYW5kIGEgYG1hcGAgb3BlcmF0b3IgcHJvY2Vzc2VzIHRoZSByZXN1bHQuIElmIHRoZSBpdGVtIHdpdGggdGhlIHNwZWNpZmllZCBJRCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgcXVldWUsXG4gICAgICogYSB3YXJuaW5nIGlzIGxvZ2dlZCwgYW5kIGBudWxsYCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGlkZWFsIGZvciBhY2Nlc3NpbmcgYSBzcGVjaWZpYyBxdWV1ZSBpdGVtIHdoZW4gaXRzIElEIGlzIGtub3duLCBhbGxvd2luZyBmb3IgdGFyZ2V0ZWRcbiAgICAgKiBvcGVyYXRpb25zIG9yIGNoZWNrcyBvbiB0aGF0IHBhcnRpY3VsYXIgaXRlbS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgaXRlbSB3aXRoaW4gdGhlIHF1ZXVlLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPEFwaVF1ZXVlSXRlbSB8IG51bGw+fSBBbiBPYnNlcnZhYmxlIGVtaXR0aW5nIHRoZSByZXF1ZXN0ZWQgQXBpUXVldWVJdGVtLlxuICAgICAqIElmIG5vIGl0ZW0gd2l0aCB0aGUgZ2l2ZW4gSUQgZXhpc3RzIGluIHRoZSBxdWV1ZSwgdGhlIE9ic2VydmFibGUgZW1pdHMgYG51bGxgLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiAvLyBFeGFtcGxlIHVzYWdlXG4gICAgICogdGhpcy5nZXRRdWV1ZUl0ZW0oJ2l0ZW0xMjMnKS5zdWJzY3JpYmUoaXRlbSA9PiB7XG4gICAgICogICBpZiAoaXRlbSkge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnRm91bmQgaXRlbTonLCBpdGVtKTtcbiAgICAgKiAgIH0gZWxzZSB7XG4gICAgICogICAgIGNvbnNvbGUubG9nKCdJdGVtIG5vdCBmb3VuZCBpbiB0aGUgcXVldWUnKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICBnZXRRdWV1ZUl0ZW0oaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8QXBpUXVldWVJdGVtPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRBcGlRdWV1ZUl0ZW0oaWQpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIG1hcCgocXVldWU6IEFwaVF1ZXVlSXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcXVldWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/Lndhcm4oYFF1ZXVlIGl0ZW0gd2l0aCBpZCBcIiR7aWR9XCIgZG9lcyBub3QgZXhpc3RgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBxdWV1ZTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSBzcGVjaWZpYyBpdGVtIGZyb20gdGhlIEFQSSBxdWV1ZSB1c2luZyBpdHMgSUQuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBkaXNwYXRjaGVzIGFuIGFjdGlvbiB0byByZW1vdmUgYW4gaXRlbSBmcm9tIHRoZSBxdWV1ZSwgaWRlbnRpZmllZCBieSB0aGUgcHJvdmlkZWQgSUQuXG4gICAgICogSXQgaXMgZXNzZW50aWFsIGZvciBtYW5hZ2luZyB0aGUgcXVldWUgYnkgZWxpbWluYXRpbmcgaXRlbXMgdGhhdCBhcmUgbm8gbG9uZ2VyIG5lZWRlZCBvciBoYXZlIGJlZW4gcHJvY2Vzc2VkLlxuICAgICAqIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYW55IHZhbHVlLCBhcyBpdCBwcmltYXJpbHkgdHJpZ2dlcnMgYW4gYWN0aW9uIHdpdGhpbiB0aGUgc3RvcmUuXG4gICAgICpcbiAgICAgKiBOb3RlOiBUaGlzIG1ldGhvZCBhc3N1bWVzIHRoZSBleGlzdGVuY2Ugb2YgdGhlIGl0ZW0gaW4gdGhlIHF1ZXVlLiBJdCBkb2VzIG5vdCBwZXJmb3JtIGEgY2hlY2tcbiAgICAgKiB0byBjb25maXJtIHRoZSBwcmVzZW5jZSBvZiB0aGUgaXRlbSBiZWZvcmUgYXR0ZW1wdGluZyB0byByZW1vdmUgaXQuIFRoZXJlZm9yZSwgaXQncyByZWNvbW1lbmRlZFxuICAgICAqIHRvIHZlcmlmeSB0aGUgaXRlbSdzIGV4aXN0ZW5jZSBpbiB0aGUgcXVldWUgaWYgdW5jZXJ0YWludHkgZXhpc3RzLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgcXVldWUuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIC8vIEV4YW1wbGUgdXNhZ2VcbiAgICAgKiB0aGlzLnJlbW92ZVF1ZXVlSXRlbSgnaXRlbTEyMycpO1xuICAgICAqIC8vIFRoZSBpdGVtIHdpdGggSUQgJ2l0ZW0xMjMnIHdpbGwgYmUgZGlzcGF0Y2hlZCBmb3IgcmVtb3ZhbCBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKi9cbiAgICByZW1vdmVRdWV1ZUl0ZW0oaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBSZW1vdmVBcGlRdWV1ZUl0ZW1BY3Rpb24oaWQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgYWxsIGl0ZW1zIGZyb20gdGhlIEFQSSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWV0aG9kIGRpc3BhdGNoZXMgYW4gYWN0aW9uIHRvIGVtcHR5IHRoZSBlbnRpcmUgQVBJIHF1ZXVlLCBlZmZlY3RpdmVseSByZW1vdmluZyBhbGwgaXRlbXMgdGhhdCBhcmUgY3VycmVudGx5IHF1ZXVlZC5cbiAgICAgKiBJdCBpcyB1c2VmdWwgZm9yIHNjZW5hcmlvcyB3aGVyZSBhIGNvbXBsZXRlIHJlc2V0IG9mIHRoZSBxdWV1ZSBpcyByZXF1aXJlZCwgc3VjaCBhcyBkdXJpbmcgaW5pdGlhbGl6YXRpb24gb3IgYWZ0ZXIgcHJvY2Vzc2luZ1xuICAgICAqIGEgYmF0Y2ggb2YgaXRlbXMuIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCByZXR1cm4gYW55IHZhbHVlLCBhcyBpdHMgcHJpbWFyeSBwdXJwb3NlIGlzIHRvIHRyaWdnZXIgYSBzdGF0ZSBjaGFuZ2UgaW4gdGhlIHN0b3JlLlxuICAgICAqXG4gICAgICogTm90ZTogVXNlIHRoaXMgbWV0aG9kIHdpdGggY2F1dGlvbiBhcyBpdCB3aWxsIGlycmV2ZXJzaWJseSBjbGVhciBhbGwgaXRlbXMgaW4gdGhlIHF1ZXVlLiBFbnN1cmUgdGhhdCB0aGlzIGFjdGlvbiBkb2VzIG5vdFxuICAgICAqIGRpc3J1cHQgYW55IG9uZ29pbmcgcHJvY2Vzc2VzIHRoYXQgcmVseSBvbiB0aGUgcXVldWUncyBjb250ZW50cy5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMucmVtb3ZlQWxsUXVldWVJdGVtKCk7XG4gICAgICogLy8gVGhpcyB3aWxsIGRpc3BhdGNoIGFuIGFjdGlvbiB0byBlbXB0eSB0aGUgZW50aXJlIEFQSSBxdWV1ZS5cbiAgICAgKi9cbiAgICByZW1vdmVBbGxRdWV1ZUl0ZW0oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEVtcHR5QXBpUXVldWVBY3Rpb24obnVsbCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2Nlc3NlcyBhbiBpdGVtIGZyb20gdGhlIEFQSSBxdWV1ZSBpZGVudGlmaWVkIGJ5IGl0cyBJRC5cbiAgICAgKlxuICAgICAqIFJldHJpZXZlcyB0aGUgc3BlY2lmaWVkIGl0ZW0gZnJvbSB0aGUgcXVldWUgYW5kIGFwcGxpZXMgcHJvY2Vzc2luZyBsb2dpYyBhcyBkZWZpbmVkIGluIGBidWlsZEh0dHBSZXF1ZXN0YC5cbiAgICAgKiBJZiB0aGUgaXRlbSBpcyBub3QgZm91bmQsIGxvZ3MgYSB3YXJuaW5nIGFuZCByZXR1cm5zIGFuIE9ic2VydmFibGUgZW1pdHRpbmcgYG51bGxgLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBpdGVtIHdpdGhpbiB0aGUgcXVldWUgdG8gYmUgcHJvY2Vzc2VkLlxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mIHByb2Nlc3NpbmcgdGhlIHF1ZXVlIGl0ZW0uXG4gICAgICogSWYgdGhlIGl0ZW0gZG9lcyBub3QgZXhpc3QsIHRoZSBPYnNlcnZhYmxlIGVtaXRzIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZVxuICAgICAqIHRoaXMucHJvY2Vzc1F1ZXVlSXRlbSgnaXRlbTEyMycpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAqICAgaWYgKHJlc3VsdCkge1xuICAgICAqICAgICBjb25zb2xlLmxvZygnUHJvY2Vzc2luZyByZXN1bHQ6JywgcmVzdWx0KTtcbiAgICAgKiAgIH0gZWxzZSB7XG4gICAgICogICAgIGNvbnNvbGUubG9nKCdJdGVtIG5vdCBmb3VuZCBpbiB0aGUgcXVldWUnKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBSZXBsYWNlIGBhbnlgIHdpdGggYSBtb3JlIHNwZWNpZmljIHR5cGUgb3IgbWFrZSB0aGUgbWV0aG9kIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcHJvY2Vzc1F1ZXVlSXRlbShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlSXRlbShpZCkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChxdWV1ZTogQXBpUXVldWVJdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFxdWV1ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlcj8ud2FybihgUXVldWUgaXRlbSB3aXRoIGlkIFwiJHtpZH1cIiBkb2VzIG5vdCBleGlzdGApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRIdHRwUmVxdWVzdChpZCwgcXVldWUpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIGFsbCBpdGVtcyBpbiB0aGUgQVBJIHF1ZXVlIGFuZCBjb2xsZWN0cyB0aGVpciByZXNwb25zZXMuXG4gICAgICpcbiAgICAgKiBJdGVyYXRlcyBvdmVyIGVhY2ggaXRlbSBpbiB0aGUgcXVldWUgYW5kIHByb2Nlc3NlcyB0aGVtIHVzaW5nIGBidWlsZEh0dHBSZXF1ZXN0YC4gSWYgYSByZXF1ZXN0IGZhaWxzLFxuICAgICAqIHRoZSBtZXRob2QgY2FuIGVpdGhlciBjb250aW51ZSBwcm9jZXNzaW5nIHRoZSByZW1haW5pbmcgaXRlbXMgb3Igc3RvcCwgYmFzZWQgb24gdGhlIGBjb250aW51ZU9uRXJyb3JgIHBhcmFtZXRlci5cbiAgICAgKiBJdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhbiBhcnJheSBjb250YWluaW5nIHRoZSByZXNwb25zZXMgb3IgZXJyb3JzIGZyb20gYWxsIHRoZSBwcm9jZXNzZWQgaXRlbXMuXG4gICAgICpcbiAgICAgKiBUaGUgZnVuY3Rpb24gY3VycmVudGx5IHJldHVybnMgYE9ic2VydmFibGU8YW55W10+YCBpbmRpY2F0aW5nIGFuIGFycmF5IG9mIGFueSB0eXBlLiBGdXR1cmUgaW1wcm92ZW1lbnRzXG4gICAgICogc2hvdWxkIGFpbSB0byBzcGVjaWZ5IGEgbW9yZSBhY2N1cmF0ZSByZXR1cm4gdHlwZSBvciB1dGlsaXplIGdlbmVyaWNzIGZvciBpbmNyZWFzZWQgdHlwZSBzYWZldHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtjb250aW51ZU9uRXJyb3I9dHJ1ZV0gLSBEZXRlcm1pbmVzIHdoZXRoZXIgdG8gY29udGludWUgd2l0aCB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZVxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyIGEgcmVxdWVzdCBmYWlsdXJlLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8YW55W10+fSBBbiBPYnNlcnZhYmxlIGVtaXR0aW5nIGFuIGFycmF5IG9mIGVpdGhlciByZXNwb25zZXMgb3IgZXJyb3JzIGZyb20gdGhlIHByb2Nlc3NlZFxuICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcXVldWUgaXRlbXMuXG4gICAgICpcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIHRoaXMucHJvY2Vzc0FsbFF1ZXVlSXRlbXMoKS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICogICAvLyBIYW5kbGUgdGhlIGFycmF5IG9mIHJlc3BvbnNlcyBvciBlcnJvcnNcbiAgICAgKiB9KTtcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBSZWZpbmUgdGhlIHJldHVybiB0eXBlIHRvIGJlIG1vcmUgc3BlY2lmaWMgb3IgaW1wbGVtZW50IGdlbmVyaWNzLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zPFQgPSBhbnk+KGNvbnRpbnVlT25FcnJvciA9IHRydWUpOiBPYnNlcnZhYmxlPFRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0QXBpUXVldWUpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHF1ZXVlOiBBcGlRdWV1ZSkgPT5cbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhxdWV1ZSkubWFwKChba2V5LCB2YWx1ZV0pID0+XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRIdHRwUmVxdWVzdChrZXksIHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXI/LmVycm9yKGBRdWV1ZSBJdGVtIHdpdGggaWQgJHtrZXl9IGZhaWxlZC5gLCBlcnJvci5tZXNzYWdlLCBlcnJvci5zdGFjayk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbnRpbnVlT25FcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKG9ic1F1ZXVlOiBPYnNlcnZhYmxlPFQ+W10pID0+IGZvcmtKb2luKEFycmF5LmZyb20ob2JzUXVldWUpKSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJvY2Vzc2VzIGFsbCBpdGVtcyBpbiB0aGUgcXVldWUgc2VxdWVudGlhbGx5LCBiYXNlZCBvbiB0aGVpciB0aW1lc3RhbXAgb3JkZXJpbmcuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBmaXJzdCBvcmRlcnMgdGhlIGl0ZW1zIGluIHRoZSBBUEkgcXVldWUgYnkgdGhlaXIgdGltZXN0YW1wLCBlaXRoZXIgaW4gYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmdcbiAgICAgKiBvcmRlciBhcyBzcGVjaWZpZWQgYnkgdGhlIGBhc2NlbmRpbmdgIHBhcmFtZXRlci4gSXQgdGhlbiBwcm9jZXNzZXMgZWFjaCBpdGVtIHVzaW5nIGBidWlsZEh0dHBSZXF1ZXN0YCwgZW5zdXJpbmdcbiAgICAgKiB0aGF0IGVhY2ggcmVxdWVzdCBpcyBjb21wbGV0ZWQgYmVmb3JlIHRoZSBuZXh0IGJlZ2lucy4gVGhpcyBzZXF1ZW50aWFsIHByb2Nlc3NpbmcgaXMgY3J1Y2lhbCB3aGVuIHRoZSBvcmRlciBvZlxuICAgICAqIGV4ZWN1dGlvbiBtYXR0ZXJzIGZvciBIVFRQIHJlcXVlc3RzIGluIHRoZSBxdWV1ZS4gVGhlIG1ldGhvZCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzcG9uc2VzXG4gICAgICogZm9sbG93aW5nIHRoZSBzYW1lIG9yZGVyIGFzIHRoZSBxdWV1ZSBpdGVtcyB3ZXJlIHByb2Nlc3NlZC5cbiAgICAgKlxuICAgICAqIFRoZSBmdW5jdGlvbiBjdXJyZW50bHkgcmV0dXJucyBgT2JzZXJ2YWJsZTxhbnk+YCwgaW5kaWNhdGluZyBhIGJyb2FkIHR5cGUuIEZ1dHVyZSBpbXByb3ZlbWVudHMgc2hvdWxkIGZvY3VzIG9uXG4gICAgICogc3BlY2lmeWluZyBhIG1vcmUgYWNjdXJhdGUgcmV0dXJuIHR5cGUgb3IgdXRpbGl6aW5nIGdlbmVyaWNzIGZvciBpbmNyZWFzZWQgdHlwZSBzYWZldHkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthc2NlbmRpbmc9dHJ1ZV0gLSBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHF1ZXVlIGl0ZW1zIGFyZSBwcm9jZXNzZWQgaW4gYXNjZW5kaW5nIG9yZGVyIG9mIHRoZWlyXG4gICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wLiBEZWZhdWx0cyB0byBgdHJ1ZWAuXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8YW55Pn0gQW4gT2JzZXJ2YWJsZSBlbWl0dGluZyB0aGUgcmVzcG9uc2VzIG9mIHRoZSBIVFRQIHJlcXVlc3RzIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgcHJvY2Vzc2VkLlxuICAgICAqXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiB0aGlzLnByb2Nlc3NBbGxRdWV1ZUl0ZW1zU2VxdWVudGlhbCgpLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICogICAvLyBIYW5kbGUgZWFjaCByZXNwb25zZSBpbiB0aGUgb3JkZXIgb2YgcXVldWUgcHJvY2Vzc2luZ1xuICAgICAqIH0pO1xuICAgICAqL1xuICAgIC8vIFRPRE86IFJlZmluZSB0aGUgcmV0dXJuIHR5cGUgZm9yIG1vcmUgc3BlY2lmaWMgb3IgaW1wbGVtZW50IGdlbmVyaWNzLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByb2Nlc3NBbGxRdWV1ZUl0ZW1zU2VxdWVudGlhbChhc2NlbmRpbmcgPSB0cnVlKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFwaVF1ZXVlKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChxdWV1ZTogQXBpUXVldWUpID0+XG4gICAgICAgICAgICAgICAgZnJvbShPYmplY3QuZW50cmllcyhxdWV1ZSlcbiAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IChhc2NlbmRpbmcgPyB0aGlzLnNvcnRPblRpbWVzdGFtcChhLCBiKSA6IHRoaXMuc29ydE9uVGltZXN0YW1wKGIsIGEpKSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoW2lkLCBpdGVtXSkgPT4gdGhpcy5idWlsZEh0dHBSZXF1ZXN0KGlkLCBpdGVtKSkpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKGNvbmNhdE1hcCh4ID0+IHgpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tcGFyZXMgdHdvIHF1ZXVlIGl0ZW1zIGJhc2VkIG9uIHRoZWlyIHRpbWVzdGFtcCBhbmQgZGV0ZXJtaW5lcyB0aGVpciBvcmRlci5cbiAgICAgKlxuICAgICAqIFRoaXMgcHJvdGVjdGVkIG1ldGhvZCBpcyB1c2VkIHRvIHNvcnQgcXVldWUgaXRlbXMuIEl0IHRha2VzIHR3byBxdWV1ZSBpdGVtcyBhcyBpbnB1dCwgZWFjaCByZXByZXNlbnRlZFxuICAgICAqIGFzIGEgdHVwbGUgY29udGFpbmluZyBhbiBpdGVtIElEIGFuZCB0aGUgYEFwaVF1ZXVlSXRlbWAgb2JqZWN0LiBUaGUgbWV0aG9kIGNvbXBhcmVzIHRoZXNlIGl0ZW1zIGJhc2VkIG9uXG4gICAgICogdGhlIGB0aW1lc3RhbXBgIHByb3BlcnR5IG9mIHRoZSBgQXBpUXVldWVJdGVtYCBvYmplY3RzLiBJdCByZXR1cm5zIGEgbnVtYmVyIGluZGljYXRpbmcgdGhlIG9yZGVyIGluIHdoaWNoXG4gICAgICogdGhlc2UgaXRlbXMgc2hvdWxkIGJlIHNvcnRlZC5cbiAgICAgKlxuICAgICAqIEEgcG9zaXRpdmUgcmV0dXJuIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSBmaXJzdCBpdGVtIHNob3VsZCBjb21lIGFmdGVyIHRoZSBzZWNvbmQsIGEgbmVnYXRpdmUgdmFsdWVcbiAgICAgKiBpbmRpY2F0ZXMgdGhlIG9wcG9zaXRlLCBhbmQgemVybyBpbmRpY2F0ZXMgdGhhdCB0aGV5IGFyZSBlcXVhbCBpbiB0ZXJtcyBvZiB0aW1lc3RhbXAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge1tzdHJpbmcsIEFwaVF1ZXVlSXRlbV19IGEgLSBUaGUgZmlyc3QgcXVldWUgaXRlbSB0dXBsZSBmb3IgY29tcGFyaXNvbi5cbiAgICAgKiBAcGFyYW0ge1tzdHJpbmcsIEFwaVF1ZXVlSXRlbV19IGIgLSBUaGUgc2Vjb25kIHF1ZXVlIGl0ZW0gdHVwbGUgZm9yIGNvbXBhcmlzb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gQSBudW1iZXIgaW5kaWNhdGluZyB0aGUgb3JkZXIgb2YgdGhlIGl0ZW1zOiBuZWdhdGl2ZSBpZiBgYWAgaXMgZWFybGllciB0aGFuIGBiYCxcbiAgICAgKiAgICAgICAgICAgICAgICAgIHBvc2l0aXZlIGlmIGBhYCBpcyBsYXRlciB0aGFuIGBiYCwgYW5kIHplcm8gaWYgdGhleSBhcmUgZXF1YWwuXG4gICAgICogQGJldGFcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc29ydE9uVGltZXN0YW1wKGE6IFtzdHJpbmcsIEFwaVF1ZXVlSXRlbV0sIGI6IFtzdHJpbmcsIEFwaVF1ZXVlSXRlbV0pOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gK25ldyBEYXRlKGFbMV0udGltZXN0YW1wKSAtICtuZXcgRGF0ZShiWzFdLnRpbWVzdGFtcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0cyBhbmQgZXhlY3V0ZXMgYW4gSFRUUCByZXF1ZXN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBxdWV1ZSBpdGVtIGRldGFpbHMuXG4gICAgICpcbiAgICAgKiBUaGlzIHByaXZhdGUgbWV0aG9kIHRha2VzIGFuIElEIGFuZCBhbiBgQXBpUXVldWVJdGVtYCBvYmplY3QgdG8gYnVpbGQgYW5kIGV4ZWN1dGUgYW4gSFRUUCByZXF1ZXN0LlxuICAgICAqIEl0IGRldGVybWluZXMgdGhlIEhUVFAgbWV0aG9kIChsaWtlIEdFVCwgUE9TVCwgZXRjLikgZnJvbSB0aGUgYG1ldGhvZGAgcHJvcGVydHkgb2YgdGhlIGBBcGlRdWV1ZUl0ZW1gLFxuICAgICAqIGFuZCB1c2VzIHRoZSBgdXJpYCBhbmQgYHBheWxvYWRgIHByb3BlcnRpZXMgZm9yIHRoZSByZXF1ZXN0J3MgVVJMIGFuZCBib2R5LCByZXNwZWN0aXZlbHkuIEFmdGVyIHRoZVxuICAgICAqIHJlcXVlc3QgaXMgZXhlY3V0ZWQsIHRoZSBjb3JyZXNwb25kaW5nIHF1ZXVlIGl0ZW0gaXMgcmVtb3ZlZCBmcm9tIHRoZSBxdWV1ZS5cbiAgICAgKlxuICAgICAqIFRoZSBtZXRob2QgaXMgZ2VuZXJpYywgYWxsb3dpbmcgdGhlIGNhbGxlciB0byBzcGVjaWZ5IHRoZSBleHBlY3RlZCByZXNwb25zZSB0eXBlIGBUYC4gQnkgZGVmYXVsdCxcbiAgICAgKiBpdCB1c2VzIGBhbnlgIHR5cGUsIGJ1dCBzcGVjaWZ5aW5nIGEgbW9yZSBjb25jcmV0ZSB0eXBlIGVuaGFuY2VzIHR5cGUgc2FmZXR5IGFuZCBjbGFyaXR5IGluIHVzYWdlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGlkIC0gVGhlIElEIG9mIHRoZSBxdWV1ZSBpdGVtIGJlaW5nIHByb2Nlc3NlZC5cbiAgICAgKiBAcGFyYW0ge0FwaVF1ZXVlSXRlbX0gaXRlbSAtIFRoZSBxdWV1ZSBpdGVtIGNvbnRhaW5pbmcgZGV0YWlscyBmb3IgdGhlIEhUVFAgcmVxdWVzdC5cbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxUPn0gQW4gT2JzZXJ2YWJsZSBvZiB0eXBlIFQsIHJlcHJlc2VudGluZyB0aGUgcmVzcG9uc2Ugb2YgdGhlIEhUVFAgcmVxdWVzdC5cbiAgICAgKlxuICAgICAqIEBleGFtcGxlXG4gICAgICogLy8gRXhhbXBsZSB1c2FnZSBmb3IgYSBzcGVjaWZpYyByZXNwb25zZSB0eXBlXG4gICAgICogdGhpcy5idWlsZEh0dHBSZXF1ZXN0PE15UmVzcG9uc2VUeXBlPignaXRlbTEyMycsIHF1ZXVlSXRlbSlcbiAgICAgKiAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICogICAgICAgICAvLyBIYW5kbGUgdGhlIHJlc3BvbnNlXG4gICAgICogICAgIH0pO1xuICAgICAqXG4gICAgICogQHRlbXBsYXRlIFQgLSBUaGUgZXhwZWN0ZWQgdHlwZSBvZiB0aGUgSFRUUCByZXNwb25zZS4gRGVmYXVsdHMgdG8gYGFueWAuXG4gICAgICovXG4gICAgLy8gVE9ETzogYWRkIHR5cGUgZm9yIFQgYW5kIGRlcHJlY2F0ZSBvbGQgZnVuY3Rpb25cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBwcml2YXRlIGJ1aWxkSHR0cFJlcXVlc3Q8VCA9IGFueT4oaWQ6IHN0cmluZywgaXRlbTogQXBpUXVldWVJdGVtKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBbaXRlbS5tZXRob2QudG9Mb3dlckNhc2UoKV08VD4oaXRlbS51cmksIGl0ZW0ucGF5bG9hZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5yZW1vdmVRdWV1ZUl0ZW0oaWQpKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -102,10 +102,10 @@ export class LocalForageService extends AsyncStorageService {
|
|
|
102
102
|
},
|
|
103
103
|
}));
|
|
104
104
|
}
|
|
105
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
106
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
105
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: LocalForageService, deps: [{ token: LOCAL_FORAGE_SERVICE_CONFIG_TOKEN, optional: true }, { token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
106
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: LocalForageService }); }
|
|
107
107
|
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: LocalForageService, decorators: [{
|
|
109
109
|
type: Injectable
|
|
110
110
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
111
111
|
type: Inject,
|
|
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.1",
|
|
|
115
115
|
}] }, { type: i1.LogService, decorators: [{
|
|
116
116
|
type: Optional
|
|
117
117
|
}] }] });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZm9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2UvbG9jYWwtZm9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUc5RCxnQkFBZ0I7QUFDaEIsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVEsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUUsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLGNBQWMsQ0FBTSw2QkFBNkIsQ0FBQyxDQUFDO0FBRXhHOzs7R0FHRztBQUVILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7YUFDaEQsU0FBSSxHQUFHLG9CQUFvQixBQUF2QixDQUF3QjtJQUVuQztJQUNJLG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDRyxNQUFXLEVBQ3RELEdBQWU7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIeUQsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUN0RCxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBR3JDLHNDQUFzQztRQUN0QyxJQUFJLE1BQU0sRUFBRTtZQUNSLFdBQVcsQ0FB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ZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyBsZiBmcm9tICdsb2NhbGZvcmFnZSc7XG5pbXBvcnQgeyBBc3luY1N0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9hc3luYy1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZyc7XG5cbi8qKiBAaW50ZXJuYWwgKi9cbi8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgY29uc3QgbG9jYWxGb3JhZ2U6IGFueSA9ICdkZWZpbmVEcml2ZXInIGluIGxmID8gbGYgOiBsZlsnZGVmYXVsdCddO1xuLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBjb25zdCBMT0NBTF9GT1JBR0VfU0VSVklDRV9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignTE9DQUxfRk9SQUdFX1NFUlZJQ0VfQ09ORklHJyk7XG5cbi8qKlxuICogbG9jYWxmb3JhZ2Ugc2VydmljZSwgdXNpbmcgdGhlIGxvY2FsRm9yYWdlIGphdmFzY3JpcHQgbGlicmFyeVxuICogaHR0cHM6Ly9sb2NhbGZvcmFnZS5naXRodWIuaW8vbG9jYWxGb3JhZ2VcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsRm9yYWdlU2VydmljZSBleHRlbmRzIEFzeW5jU3RvcmFnZVNlcnZpY2Uge1xuICAgIHN0YXRpYyBOQU1FID0gJ0xvY2FsRm9yYWdlU2VydmljZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICBASW5qZWN0KExPQ0FMX0ZPUkFHRV9TRVJWSUNFX0NPTkZJR19UT0tFTikgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGNvbmZpZzogYW55LFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nOiBMb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICAvLyBjb25maWd1cmUgbG9jYWxmb3JhZ2UsIGlmIHNwZWNpZmllZFxuICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgICBsb2NhbEZvcmFnZS5jb25maWcoY29uZmlnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHRoZSBuYW1lIG9mIHRoZSBzdG9yYWdlIHNlcnZpY2VcbiAgICAgKi9cbiAgICBuYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBMb2NhbEZvcmFnZVNlcnZpY2UuTkFNRTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZWZsZWN0cyB0aGUgcmVhZGluZXNzIG9mIHRoZSBzdG9yYWdlXG4gICAgICogQHJldHVybnMgb25lIHRpbWUgZW1pc3Npb24gT2JzZXJ2YWJsZTx2b2lkPlxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlYWR5KCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiBmcm9tKGxvY2FsRm9yYWdlLnJlYWR5KCkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgdGFwKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7IC8qIGVtcHR5ICovIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3JlYWR5JywgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXRyaWV2ZSBhbiBvYmplY3QgZnJvbSBsb2NhbGZvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHJldHVybnMgb25lIHRpbWUgZW1pc3Npb24gT2JzZXJ2YWJsZSBvZiB2YWx1ZVxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiBmcm9tKGxvY2FsRm9yYWdlLmdldEl0ZW0oa2V5KSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoXG4gICAgICAgICAgICAgICAgKCkgPT4geyAvKiBlbXB0eSAqLyB9LFxuICAgICAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ2dldCcsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIGFuIG9iamVjdCBpbiBsb2NhbGZvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHBhcmFtIHZhbHVlIHRoZSB2YWx1ZSB0byBzZXRcbiAgICAgKiBAcmV0dXJucyBvbmUgdGltZSBlbWlzc2lvbiBPYnNlcnZhYmxlXG4gICAgICovXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20obG9jYWxGb3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHsgLyogZW1wdHkgKi9cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdzZXQnLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlbW92ZXMgYW4gb2JqZWN0IGZyb20gbG9jYWxmb3JhZ2VcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBhc3NvY2lhdGVkIGtleVxuICAgICAqIEByZXR1cm5zIG9uZSB0aW1lIGVtaXNzaW9uIE9ic2VydmFibGVcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICByZW1vdmUoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gZnJvbShsb2NhbEZvcmFnZS5yZW1vdmVJdGVtKGtleSkpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgdGFwKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiB7IC8qIGVtcHR5ICovIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3JlbW92ZScsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtZm9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2UvbG9jYWwtZm9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsSUFBSSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUc5RCxnQkFBZ0I7QUFDaEIsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQVEsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDMUUsbUhBQW1IO0FBQ25ILDhEQUE4RDtBQUM5RCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLGNBQWMsQ0FBTSw2QkFBNkIsQ0FBQyxDQUFDO0FBRXhHOzs7R0FHRztBQUVILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7YUFDaEQsU0FBSSxHQUFHLG9CQUFvQixBQUF2QixDQUF3QjtJQUVuQztJQUNJLG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDRyxNQUFXLEVBQ3RELEdBQWU7UUFFckMsS0FBSyxFQUFFLENBQUM7UUFIeUQsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUN0RCxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBR3JDLHNDQUFzQztRQUN0QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNBLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEtBQUs7UUFDRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2pDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUM7WUFDQSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQWUsQ0FBQztZQUMzQixLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QyxDQUFDO1lBQ0wsQ0FBQztTQUNKLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEdBQUcsQ0FBQyxHQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDdEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FDQyxHQUFHLEVBQUUsR0FBZSxDQUFDLEVBQ3JCLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDSixJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLENBQUM7UUFDTCxDQUFDLENBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsbUhBQW1IO0lBQ25ILDhEQUE4RDtJQUM5RCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDdkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzdDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxHQUFHLENBQUM7WUFDQSxJQUFJLEVBQUUsR0FBRyxFQUFFO1lBQ1gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNYLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLENBQUM7WUFDTCxDQUFDO1NBQ0osQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDOUQsTUFBTSxDQUFDLEdBQVc7UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsR0FBRyxDQUFDO1lBQ0EsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFlLENBQUM7WUFDM0IsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1gsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztZQUNMLENBQUM7U0FDSixDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7d0lBMUdRLGtCQUFrQixrQkFNZixpQ0FBaUM7NElBTnBDLGtCQUFrQjs7a0dBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVTs7MEJBT0YsTUFBTTsyQkFBQyxpQ0FBaUM7OzBCQUFHLFFBQVE7OzBCQUNuRCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIGxmIGZyb20gJ2xvY2FsZm9yYWdlJztcbmltcG9ydCB7IEFzeW5jU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL2FzeW5jLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcblxuLyoqIEBpbnRlcm5hbCAqL1xuLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBjb25zdCBsb2NhbEZvcmFnZTogYW55ID0gJ2RlZmluZURyaXZlcicgaW4gbGYgPyBsZiA6IGxmWydkZWZhdWx0J107XG4vLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNvbnN0IExPQ0FMX0ZPUkFHRV9TRVJWSUNFX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdMT0NBTF9GT1JBR0VfU0VSVklDRV9DT05GSUcnKTtcblxuLyoqXG4gKiBsb2NhbGZvcmFnZSBzZXJ2aWNlLCB1c2luZyB0aGUgbG9jYWxGb3JhZ2UgamF2YXNjcmlwdCBsaWJyYXJ5XG4gKiBodHRwczovL2xvY2FsZm9yYWdlLmdpdGh1Yi5pby9sb2NhbEZvcmFnZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9jYWxGb3JhZ2VTZXJ2aWNlIGV4dGVuZHMgQXN5bmNTdG9yYWdlU2VydmljZSB7XG4gICAgc3RhdGljIE5BTUUgPSAnTG9jYWxGb3JhZ2VTZXJ2aWNlJztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIEBJbmplY3QoTE9DQUxfRk9SQUdFX1NFUlZJQ0VfQ09ORklHX1RPS0VOKSBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgY29uZmlnOiBhbnksXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2c6IExvZ1NlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIC8vIGNvbmZpZ3VyZSBsb2NhbGZvcmFnZSwgaWYgc3BlY2lmaWVkXG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgIGxvY2FsRm9yYWdlLmNvbmZpZyhjb25maWcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2Ugc2VydmljZVxuICAgICAqL1xuICAgIG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIExvY2FsRm9yYWdlU2VydmljZS5OQU1FO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJlZmxlY3RzIHRoZSByZWFkaW5lc3Mgb2YgdGhlIHN0b3JhZ2VcbiAgICAgKiBAcmV0dXJucyBvbmUgdGltZSBlbWlzc2lvbiBPYnNlcnZhYmxlPHZvaWQ+XG4gICAgICovXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgcmVhZHkoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20obG9jYWxGb3JhZ2UucmVhZHkoKSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHsgLyogZW1wdHkgKi8gfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAncmVhZHknLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGFuIG9iamVjdCBmcm9tIGxvY2FsZm9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcmV0dXJucyBvbmUgdGltZSBlbWlzc2lvbiBPYnNlcnZhYmxlIG9mIHZhbHVlXG4gICAgICovXG4gICAgLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20obG9jYWxGb3JhZ2UuZ2V0SXRlbShrZXkpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHRhcChcbiAgICAgICAgICAgICAgICAoKSA9PiB7IC8qIGVtcHR5ICovIH0sXG4gICAgICAgICAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAnZ2V0JywgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHNldHMgYW4gb2JqZWN0IGluIGxvY2FsZm9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHNldFxuICAgICAqIEByZXR1cm5zIG9uZSB0aW1lIGVtaXNzaW9uIE9ic2VydmFibGVcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gZnJvbShsb2NhbEZvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpKS5waXBlKFxuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgIHRhcCh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4geyAvKiBlbXB0eSAqL1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3NldCcsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVtb3ZlcyBhbiBvYmplY3QgZnJvbSBsb2NhbGZvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHJldHVybnMgb25lIHRpbWUgZW1pc3Npb24gT2JzZXJ2YWJsZVxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiBmcm9tKGxvY2FsRm9yYWdlLnJlbW92ZUl0ZW0oa2V5KSkucGlwZShcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICB0YXAoe1xuICAgICAgICAgICAgICAgIG5leHQ6ICgpID0+IHsgLyogZW1wdHkgKi8gfSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAncmVtb3ZlJywgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -68,12 +68,12 @@ export class LocalStorageService extends StorageService {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
72
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
71
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: LocalStorageService, deps: [{ token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
72
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: LocalStorageService }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: LocalStorageService, decorators: [{
|
|
75
75
|
type: Injectable
|
|
76
76
|
}], ctorParameters: () => [{ type: i1.LogService, decorators: [{
|
|
77
77
|
type: Optional
|
|
78
78
|
}] }] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yYWdlL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUduRDs7R0FFRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxjQUFjO2FBQzVDLFNBQUksR0FBRyxxQkFBcUIsQUFBeEIsQ0FBeUI7SUFFcEMsWUFBa0MsR0FBZTtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQURzQixRQUFHLEdBQUgsR0FBRyxDQUFZO0lBRWpELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUk7UUFDQSxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1IQUFtSDtJQUNuSCw4REFBOEQ7SUFDOUQsR0FBRyxDQUFDLEdBQVc7UUFDWCxJQUFJLENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLE9BQU8sVUFBVSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVDLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQztRQUNyQixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUN2QixJQUFJLENBQUM7WUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM1QyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsR0FBVztRQUNkLElBQUksQ0FBQztZQUNELFlBQVksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDWCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQy9DLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQzt3SUEvRFEsbUJBQW1COzRJQUFuQixtQkFBbUI7O2tHQUFuQixtQkFBbUI7a0JBRC9CLFVBQVU7OzBCQUlNLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcblxuLyoqXG4gKiBsb2NhbFN0b3JhZ2Ugc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlU2VydmljZSBleHRlbmRzIFN0b3JhZ2VTZXJ2aWNlIHtcbiAgICBzdGF0aWMgTkFNRSA9ICdMb2NhbFN0b3JhZ2VTZXJ2aWNlJztcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2c6IExvZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB0aGUgbmFtZSBvZiB0aGUgc3RvcmFnZSBzZXJ2aWNlXG4gICAgICovXG4gICAgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gTG9jYWxTdG9yYWdlU2VydmljZS5OQU1FO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGFuIG9iamVjdCBmcm9tIGxvY2FsIHN0b3JhZ2VcbiAgICAgKiBAcGFyYW0ga2V5IHRoZSBhc3NvY2lhdGVkIGtleVxuICAgICAqIEByZXR1cm5zIHRoZSB2YWx1ZSBvciB1bmRlZmluZWQsIGlmIGNhc2Ugb2YgZXJyb3JcbiAgICAgKi9cbiAgICAvLyBUT0RPOiBmaW5kIHRoZSBjb3JyZWN0IHR5cGUgb3IgdHVybiBpbnRvIGEgZ2VuZXJpYywgaHR0cHM6Ly93d3cudHlwZXNjcmlwdGxhbmcub3JnL2RvY3MvaGFuZGJvb2svMi9nZW5lcmljcy5odG1sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gICAgICAgICAgICByZXR1cm4gc2VyaWFsaXplZCAmJiBKU09OLnBhcnNlKHNlcmlhbGl6ZWQpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nLmVycm9yKHRoaXMubmFtZSgpLCAnZ2V0JywgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzZXRzIGFuIG9iamVjdCBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHNldFxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgc2VyaWFsaXplZCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdzZXQnLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVtb3ZlcyBhbiBvYmplY3QgZnJvbSBsb2NhbCBzdG9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKi9cbiAgICByZW1vdmUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdyZW1vdmUnLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -68,12 +68,12 @@ export class SessionStorageService extends StorageService {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
72
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
71
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: SessionStorageService, deps: [{ token: i1.LogService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
72
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: SessionStorageService }); }
|
|
73
73
|
}
|
|
74
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2", ngImport: i0, type: SessionStorageService, decorators: [{
|
|
75
75
|
type: Injectable
|
|
76
76
|
}], ctorParameters: () => [{ type: i1.LogService, decorators: [{
|
|
77
77
|
type: Optional
|
|
78
78
|
}] }] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFHbkQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsY0FBYzthQUM5QyxTQUFJLEdBQUcsdUJBQXVCLEFBQTFCLENBQTJCO0lBRXRDLFlBQWtDLEdBQWU7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEc0IsUUFBRyxHQUFILEdBQUcsQ0FBWTtJQUVqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJO1FBQ0EsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxtSEFBbUg7SUFDbkgsOERBQThEO0lBQzlELEdBQUcsQ0FBQyxHQUFXO1FBQ1gsSUFBSSxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQyxPQUFPLFVBQVUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztZQUM1QyxDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsbUhBQW1IO0lBQ25ILDhEQUE4RDtJQUM5RCxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDdkIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6QyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNYLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEdBQVc7UUFDZCxJQUFJLENBQUM7WUFDRCxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ1gsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7d0lBL0RRLHFCQUFxQjs0SUFBckIscUJBQXFCOztrR0FBckIscUJBQXFCO2tCQURqQyxVQUFVOzswQkFJTSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5cbi8qKlxuICogc2Vzc2lvblN0b3JhZ2Ugc2VydmljZVxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIGV4dGVuZHMgU3RvcmFnZVNlcnZpY2Uge1xuICAgIHN0YXRpYyBOQU1FID0gJ1Nlc3Npb25TdG9yYWdlU2VydmljZSc7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nOiBMb2dTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGhlIG5hbWUgb2YgdGhlIHN0b3JhZ2Ugc2VydmljZVxuICAgICAqL1xuICAgIG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFNlc3Npb25TdG9yYWdlU2VydmljZS5OQU1FO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGFuIG9iamVjdCBmcm9tIHNlc3Npb24gc3RvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICogQHJldHVybnMgdGhlIHZhbHVlIG9yIHVuZGVmaW5lZCwgaWYgY2FzZSBvZiBlcnJvclxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldChrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzZXJpYWxpemVkID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICAgICAgcmV0dXJuIHNlcmlhbGl6ZWQgJiYgSlNPTi5wYXJzZShzZXJpYWxpemVkKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ2dldCcsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0cyBhbiBvYmplY3QgaW4gc2Vzc2lvbiBzdG9yYWdlXG4gICAgICogQHBhcmFtIGtleSB0aGUgYXNzb2NpYXRlZCBrZXlcbiAgICAgKiBAcGFyYW0gdmFsdWUgdGhlIHZhbHVlIHRvIHNldFxuICAgICAqL1xuICAgIC8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHNldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2VyaWFsaXplZCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oa2V5LCBzZXJpYWxpemVkKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcih0aGlzLm5hbWUoKSwgJ3NldCcsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZW1vdmVzIGFuIG9iamVjdCBmcm9tIHNlc3Npb24gc3RvcmFnZVxuICAgICAqIEBwYXJhbSBrZXkgdGhlIGFzc29jaWF0ZWQga2V5XG4gICAgICovXG4gICAgcmVtb3ZlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2cuZXJyb3IodGhpcy5uYW1lKCksICdyZW1vdmUnLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './actions/index';
|
|
2
|
-
export * from './effects/index';
|
|
2
|
+
// export * from './effects/index'; // TODO - REMOVE TEMPORARY effects from v18
|
|
3
3
|
export * from './reducers/index';
|
|
4
4
|
export * from './store.service';
|
|
5
5
|
export * from './store.service.mock';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3N0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsK0VBQStFO0FBQy9FLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2luZGV4Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vZWZmZWN0cy9pbmRleCc7IC8vIFRPRE8gLSBSRU1PVkUgVEVNUE9SQVJZIGVmZmVjdHMgZnJvbSB2MThcbmV4cG9ydCAqIGZyb20gJy4vcmVkdWNlcnMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmUuc2VydmljZS5tb2NrJztcbiJdfQ==
|
|
@@ -53,4 +53,4 @@ export const coreAppReducers = (state = initialAppState, action) => {
|
|
|
53
53
|
// if the action type is not in the map, call the base reducers method
|
|
54
54
|
return state;
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yZS9yZWR1Y2Vycy9hcHAucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILGtCQUFrQixHQVVyQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFlLEVBQUUsTUFBOEIsRUFBWSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUVoSSxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBZSxFQUFFLE1BQWlDLEVBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFFeEksTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEtBQWUsRUFBRSxNQUF1QyxFQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZHLEdBQUcsS0FBSztJQUNSLG1CQUFtQixFQUFFO1FBQ2pCLGVBQWUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVU7UUFDMUMsYUFBYSxFQUFFO1lBQ1gsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsYUFBYTtZQUMxQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3pCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZO2FBQ2pDO1NBQ0o7S0FDSjtDQUNKLENBQUMsQ0FBQztBQUVILE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBZSxFQUFFLE1BQTZCLEVBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFFN0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWUsRUFBRSxNQUFpQyxFQUFZLEVBQUUsQ0FDekYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBRWhFLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBZSxFQUFFLE1BQTZCLEVBQVksRUFBRTtJQUNqRix3Q0FBd0M7SUFDeEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakcsbUJBQW1CO0lBQ25CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMxRixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWUsRUFBRSxNQUFnQyxFQUFZLEVBQUU7SUFDdkYscUdBQXFHO0lBQ3JHLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztTQUN2QyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ3JDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFlLEVBQUUsTUFBMkIsRUFBWSxFQUFFO0FBQzdFLG9DQUFvQztBQUNwQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUMvQyxNQUFNLGtCQUFrQixHQUE2RTtJQUNqRyxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsZ0JBQWdCO0lBQ3pELENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsRUFBRSxtQkFBbUI7SUFDL0QsQ0FBQyxrQkFBa0IsQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLHlCQUF5QjtJQUM3RSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsZUFBZTtJQUN2RCxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLEVBQUUsbUJBQW1CO0lBQy9ELENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsRUFBRSxlQUFlO0lBQ3hELENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsRUFBRSxrQkFBa0I7SUFDOUQsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsRUFBRSxhQUFhO0NBQ3RELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWtELENBQUMsS0FBSyxHQUFHLGVBQWUsRUFBRSxNQUFzQixFQUFFLEVBQUU7SUFDOUgsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELHNFQUFzRTtJQUN0RSxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICAgIENvcmVBcHBBY3Rpb25UeXBlcyxcbiAgICBDb3JlQXBwQWN0aW9ucyxcbiAgICBVcGRhdGVBcHBWZXJzaW9uQWN0aW9uLFxuICAgIFVwZGF0ZUFwcENvbm5lY3Rpb25BY3Rpb24sXG4gICAgQWRkQXBwTG9hZGVkQ29uZmlnTW9kdWxlc0FjdGlvbixcbiAgICBVcGRhdGVBcHBTdGF0dXNBY3Rpb24sXG4gICAgVXBkYXRlQ3VycmVudE1vZHVsZUFjdGlvbixcbiAgICBBZGRBcGlRdWV1ZUl0ZW1BY3Rpb24sXG4gICAgUmVtb3ZlQXBpUXVldWVJdGVtQWN0aW9uLFxuICAgIEVtcHR5QXBpUXVldWVBY3Rpb24sXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgQXBwU3RhdGUsIGluaXRpYWxBcHBTdGF0ZSB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmNvbnN0IHVwZGF0ZUFwcFZlcnNpb24gPSAoc3RhdGU6IEFwcFN0YXRlLCBhY3Rpb246IFVwZGF0ZUFwcFZlcnNpb25BY3Rpb24pOiBBcHBTdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgdmVyc2lvbjogYWN0aW9uLnBheWxvYWQgfSk7XG5cbmNvbnN0IHVwZGF0ZUFwcENvbm5lY3Rpb24gPSAoc3RhdGU6IEFwcFN0YXRlLCBhY3Rpb246IFVwZGF0ZUFwcENvbm5lY3Rpb25BY3Rpb24pOiBBcHBTdGF0ZSA9PiAoeyAuLi5zdGF0ZSwgY29ubmVjdGVkOiBhY3Rpb24ucGF5bG9hZCB9KTtcblxuY29uc3QgQWRkQXBwTG9hZGVkQ29uZmlnTW9kdWxlcyA9IChzdGF0ZTogQXBwU3RhdGUsIGFjdGlvbjogQWRkQXBwTG9hZGVkQ29uZmlnTW9kdWxlc0FjdGlvbik6IEFwcFN0YXRlID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9hZGVkQ29uZmlnTW9kdWxlczoge1xuICAgICAgICBsYXN0QWRkZWRNb2R1bGU6IGFjdGlvbi5wYXlsb2FkLm1vZHVsZU5hbWUsXG4gICAgICAgIG1vZHVsZXNDb25maWc6IHtcbiAgICAgICAgICAgIC4uLnN0YXRlLmxvYWRlZENvbmZpZ01vZHVsZXMubW9kdWxlc0NvbmZpZyxcbiAgICAgICAgICAgIFthY3Rpb24ucGF5bG9hZC5tb2R1bGVOYW1lXToge1xuICAgICAgICAgICAgICAgIC4uLmFjdGlvbi5wYXlsb2FkLm1vZHVsZUNvbmZpZyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfSxcbn0pO1xuXG5jb25zdCB1cGRhdGVBcHBTdGF0dXMgPSAoc3RhdGU6IEFwcFN0YXRlLCBhY3Rpb246IFVwZGF0ZUFwcFN0YXR1c0FjdGlvbik6IEFwcFN0YXRlID0+ICh7IC4uLnN0YXRlLCBzdGF0dXM6IGFjdGlvbi5wYXlsb2FkIH0pO1xuXG5jb25zdCB1cGRhdGVDdXJyZW50TW9kdWxlID0gKHN0YXRlOiBBcHBTdGF0ZSwgYWN0aW9uOiBVcGRhdGVDdXJyZW50TW9kdWxlQWN0aW9uKTogQXBwU3RhdGUgPT5cbiAgICBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyBjdXJyZW50TW9kdWxlOiBhY3Rpb24ucGF5bG9hZCB9KTtcblxuY29uc3QgYWRkQXBpUXVldWVJdGVtID0gKHN0YXRlOiBBcHBTdGF0ZSwgYWN0aW9uOiBBZGRBcGlRdWV1ZUl0ZW1BY3Rpb24pOiBBcHBTdGF0ZSA9PiB7XG4gICAgLy8gYXBwbHkgdGhlIHRpbWVzdGFtcCB0byB0aGUgcXVldWUgaXRlbVxuICAgIGNvbnN0IGFwaVF1ZXVlSXRlbSA9IE9iamVjdC5hc3NpZ24oe30sIGFjdGlvbi5wYXlsb2FkLml0ZW0sIHsgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSB9KTtcbiAgICAvLyB1cGRhdGUgdGhlIHF1ZXVlXG4gICAgY29uc3QgYXBpUXVldWUgPSBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZS5hcGlRdWV1ZSwgeyBbYWN0aW9uLnBheWxvYWQuaWRdOiBhcGlRdWV1ZUl0ZW0gfSk7XG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IGFwaVF1ZXVlIH0pO1xufTtcblxuY29uc3QgcmVtb3ZlQXBpUXVldWVJdGVtID0gKHN0YXRlOiBBcHBTdGF0ZSwgYWN0aW9uOiBSZW1vdmVBcGlRdWV1ZUl0ZW1BY3Rpb24pOiBBcHBTdGF0ZSA9PiB7XG4gICAgLy8gcmVtb3ZlIHRoZSBzcGVjaWZpZWQgaWQgZnJvbSB0aGUgbGlzdCBvZiBpdGVtIGlkcyBhbmQgcmVjcmVhdGUgdGhlIGFwaVF1ZXVlIGZyb20gdGhlIHJlbWFpbmluZyBpZHNcbiAgICBjb25zdCBhcGlRdWV1ZSA9IE9iamVjdC5rZXlzKHN0YXRlLmFwaVF1ZXVlKVxuICAgICAgICAuZmlsdGVyKChpZCkgPT4gaWQgIT09IGFjdGlvbi5wYXlsb2FkKVxuICAgICAgICAucmVkdWNlKChxdWV1ZSwga2V5KSA9PiB7XG4gICAgICAgICAgICBxdWV1ZVtrZXldID0gc3RhdGUuYXBpUXVldWVba2V5XTtcbiAgICAgICAgICAgIHJldHVybiBxdWV1ZTtcbiAgICAgICAgfSwge30pO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBzdGF0ZSwgeyBhcGlRdWV1ZSB9KTtcbn07XG5cbmNvbnN0IGVtcHR5QXBpUXVldWUgPSAoc3RhdGU6IEFwcFN0YXRlLCBhY3Rpb246IEVtcHR5QXBpUXVldWVBY3Rpb24pOiBBcHBTdGF0ZSA9PlxuICAgIC8vIHJlbW92ZSBhbGwgaXRlbXMgaW4gdGhlIEFwaSBRdWV1ZVxuICAgIE9iamVjdC5hc3NpZ24oe30sIHN0YXRlLCB7IGFwaVF1ZXVlOiB7fSB9KTtcbmNvbnN0IGFjdGlvblRvUmVkdWNlck1hcDogeyBba2V5OiBzdHJpbmddOiAoc3RhdGU6IEFwcFN0YXRlLCBhY3Rpb246IENvcmVBcHBBY3Rpb25zKSA9PiBBcHBTdGF0ZSB9ID0ge1xuICAgIFtDb3JlQXBwQWN0aW9uVHlwZXMuVVBEQVRFX0FQUF9WRVJTSU9OXTogdXBkYXRlQXBwVmVyc2lvbixcbiAgICBbQ29yZUFwcEFjdGlvblR5cGVzLlVQREFURV9BUFBfQ09OTkVDVElPTl06IHVwZGF0ZUFwcENvbm5lY3Rpb24sXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5BRERfQVBQX0xPQURFRF9DT05GSUdfTU9EVUxFU106IEFkZEFwcExvYWRlZENvbmZpZ01vZHVsZXMsXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5VUERBVEVfQVBQX1NUQVRVU106IHVwZGF0ZUFwcFN0YXR1cyxcbiAgICBbQ29yZUFwcEFjdGlvblR5cGVzLlVQREFURV9DVVJSRU5UX01PRFVMRV06IHVwZGF0ZUN1cnJlbnRNb2R1bGUsXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5BRERfQVBJX1FVRVVFX0lURU1dOiBhZGRBcGlRdWV1ZUl0ZW0sXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5SRU1PVkVfQVBJX1FVRVVFX0lURU1dOiByZW1vdmVBcGlRdWV1ZUl0ZW0sXG4gICAgW0NvcmVBcHBBY3Rpb25UeXBlcy5FTVBUWV9BUElfUVVFVUVdOiBlbXB0eUFwaVF1ZXVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGNvcmVBcHBSZWR1Y2VyczogKHN0YXRlOiBBcHBTdGF0ZSwgYWN0aW9uOiBBY3Rpb24pID0+IEFwcFN0YXRlID0gKHN0YXRlID0gaW5pdGlhbEFwcFN0YXRlLCBhY3Rpb246IENvcmVBcHBBY3Rpb25zKSA9PiB7XG4gICAgaWYgKGFjdGlvblRvUmVkdWNlck1hcFthY3Rpb24udHlwZV0pIHtcbiAgICAgICAgcmV0dXJuIGFjdGlvblRvUmVkdWNlck1hcFthY3Rpb24udHlwZV0oc3RhdGUsIGFjdGlvbik7XG4gICAgfVxuICAgIC8vIGlmIHRoZSBhY3Rpb24gdHlwZSBpcyBub3QgaW4gdGhlIG1hcCwgY2FsbCB0aGUgYmFzZSByZWR1Y2VycyBtZXRob2RcbiAgICByZXR1cm4gc3RhdGU7XG59O1xuIl19
|
|
@@ -13,4 +13,4 @@ export const corI18nReducers = (state = initialI18nState, action) => {
|
|
|
13
13
|
}
|
|
14
14
|
return state;
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvc3RvcmUvcmVkdWNlcnMvaTE4bi5yZWR1Y2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUEwQyxNQUFNLFlBQVksQ0FBQztBQUV6RixNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWdCLEVBQUUsTUFBNkIsRUFBd0IsRUFBRSxDQUFDLENBQUM7SUFDaEcsR0FBRyxLQUFLO0lBQ1IsR0FBRyxNQUFNLENBQUMsT0FBTztDQUNwQixDQUFDLENBQUM7QUFFSCxNQUFNLGtCQUFrQixHQUFnRjtJQUNwRyxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsZUFBZTtDQUMzRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFvRCxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsRUFBRSxNQUF1QixFQUFFLEVBQUU7SUFDbEksSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEkxOG5TdGF0ZSwgaW5pdGlhbEkxOG5TdGF0ZSB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBDb3JlSTE4bkFjdGlvblR5cGVzLCBDb3JlSTE4bkFjdGlvbnMsIFVwZGF0ZUkxOG5TdGF0ZUFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMnO1xuXG5jb25zdCB1cGRhdGVJMThuU3RhdGUgPSAoc3RhdGU6IEkxOG5TdGF0ZSwgYWN0aW9uOiBVcGRhdGVJMThuU3RhdGVBY3Rpb24pOiB7YWN0aXZlTGFuZzogc3RyaW5nfSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIC4uLmFjdGlvbi5wYXlsb2FkLFxufSk7XG5cbmNvbnN0IGFjdGlvblRvUmVkdWNlck1hcDogeyBba2V5OiBzdHJpbmddOiAoc3RhdGU6IEkxOG5TdGF0ZSwgYWN0aW9uOiBDb3JlSTE4bkFjdGlvbnMpID0+IEkxOG5TdGF0ZSB9ID0ge1xuICAgIFtDb3JlSTE4bkFjdGlvblR5cGVzLlVQREFURV9JMThOX1NUQVRFXTogdXBkYXRlSTE4blN0YXRlLFxufTtcblxuZXhwb3J0IGNvbnN0IGNvckkxOG5SZWR1Y2VyczogKHN0YXRlOiBJMThuU3RhdGUsIGFjdGlvbjogQWN0aW9uKSA9PiBJMThuU3RhdGUgPSAoc3RhdGUgPSBpbml0aWFsSTE4blN0YXRlLCBhY3Rpb246IENvcmVJMThuQWN0aW9ucykgPT4ge1xuICAgIGlmIChhY3Rpb25Ub1JlZHVjZXJNYXBbYWN0aW9uLnR5cGVdKSB7XG4gICAgICAgIHJldHVybiBhY3Rpb25Ub1JlZHVjZXJNYXBbYWN0aW9uLnR5cGVdKHN0YXRlLCBhY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGU7XG59O1xuIl19
|
|
@@ -13,4 +13,4 @@ export const coreLocaleReducers = (state = initialLocaleState, action) => {
|
|
|
13
13
|
}
|
|
14
14
|
return state;
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnJlZHVjZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9zdG9yZS9yZWR1Y2Vycy9sb2NhbGUucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLGtCQUFrQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBOEMsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RyxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBa0IsRUFBRSxNQUErQixFQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLEdBQUcsS0FBSztJQUNSLEdBQUcsTUFBTSxDQUFDLE9BQU87Q0FDcEIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxrQkFBa0IsR0FBc0Y7SUFDMUcsQ0FBQyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLGlCQUFpQjtDQUNqRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQXdELENBQ25GLEtBQUssR0FBRyxrQkFBa0IsRUFDMUIsTUFBeUIsRUFDM0IsRUFBRTtJQUNBLElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEMsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBMb2NhbGVTdGF0ZSwgaW5pdGlhbExvY2FsZVN0YXRlIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IENvcmVMb2NhbGVBY3Rpb25UeXBlcywgQ29yZUxvY2FsZUFjdGlvbnMsIFVwZGF0ZUxvY2FsZVN0YXRlQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9sb2NhbGUuYWN0aW9ucyc7XG5cbmNvbnN0IHVwZGF0ZUxvY2FsZVN0YXRlID0gKHN0YXRlOiBMb2NhbGVTdGF0ZSwgYWN0aW9uOiBVcGRhdGVMb2NhbGVTdGF0ZUFjdGlvbik6IExvY2FsZVN0YXRlID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgLi4uYWN0aW9uLnBheWxvYWQsXG59KTtcblxuY29uc3QgYWN0aW9uVG9SZWR1Y2VyTWFwOiB7IFtrZXk6IHN0cmluZ106IChzdGF0ZTogTG9jYWxlU3RhdGUsIGFjdGlvbjogQ29yZUxvY2FsZUFjdGlvbnMpID0+IExvY2FsZVN0YXRlIH0gPSB7XG4gICAgW0NvcmVMb2NhbGVBY3Rpb25UeXBlcy5VUERBVEVfTE9DQUxFX1NUQVRFXTogdXBkYXRlTG9jYWxlU3RhdGUsXG59O1xuXG5leHBvcnQgY29uc3QgY29yZUxvY2FsZVJlZHVjZXJzOiAoc3RhdGU6IExvY2FsZVN0YXRlLCBhY3Rpb246IEFjdGlvbikgPT4gTG9jYWxlU3RhdGUgPSAoXG4gICAgc3RhdGUgPSBpbml0aWFsTG9jYWxlU3RhdGUsXG4gICAgYWN0aW9uOiBDb3JlTG9jYWxlQWN0aW9ucyxcbikgPT4ge1xuICAgIGlmIChhY3Rpb25Ub1JlZHVjZXJNYXBbYWN0aW9uLnR5cGVdKSB7XG4gICAgICAgIHJldHVybiBhY3Rpb25Ub1JlZHVjZXJNYXBbYWN0aW9uLnR5cGVdKHN0YXRlLCBhY3Rpb24pO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGU7XG59O1xuIl19
|