@eui/core 13.0.0-rc.5 → 13.0.0-rc.9

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.
Files changed (27) hide show
  1. package/docs/dependencies.html +0 -2
  2. package/docs/js/search/search_index.js +2 -2
  3. package/esm2020/lib/eui-core.module.mjs +2 -2
  4. package/esm2020/lib/interceptors/add-lang-param.interceptor.mjs +1 -2
  5. package/esm2020/lib/services/errors/global-error-handler.mjs +1 -2
  6. package/esm2020/lib/services/errors/http-error-handler.interceptor.mjs +2 -3
  7. package/esm2020/lib/services/i18n/i18n.loader.mjs +1 -3
  8. package/esm2020/lib/services/i18n/i18n.service.mjs +1 -4
  9. package/esm2020/lib/services/locale/locale.service.mjs +2 -4
  10. package/esm2020/lib/services/log/log.service.mjs +2 -2
  11. package/esm2020/lib/services/permission/permission.service.mjs +1 -3
  12. package/esm2020/lib/services/queue/api-queue.service.mjs +1 -4
  13. package/esm2020/lib/services/storage/local-forage.service.mjs +1 -2
  14. package/esm2020/lib/services/storage/local-storage.service.mjs +1 -2
  15. package/esm2020/lib/services/storage/session-storage.service.mjs +1 -2
  16. package/esm2020/lib/services/store/effects/app.effects.mjs +6 -12
  17. package/esm2020/lib/services/store/store.service.mjs +1 -3
  18. package/esm2020/lib/services/user/user.service.mjs +1 -2
  19. package/esm2020/lib/services/ux-app-shell.service.mjs +2 -5
  20. package/esm2020/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs +2 -2
  21. package/esm2020/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +1 -3
  22. package/esm2020/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +1 -3
  23. package/fesm2015/eui-core.mjs +4 -7
  24. package/fesm2015/eui-core.mjs.map +1 -1
  25. package/fesm2020/eui-core.mjs +47 -50
  26. package/fesm2020/eui-core.mjs.map +1 -1
  27. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { Injector, NgModule, Optional, SkipSelf, InjectionToken, Inject, } from '@angular/core';
1
+ import { NgModule, Optional, SkipSelf, InjectionToken, Inject, } from '@angular/core';
2
2
  import { HttpClientModule } from '@angular/common/http';
3
3
  import { MODULE_CONFIG_TOKEN, MODULE_NAME_TOKEN } from './services/config/tokens';
4
4
  import { getCoreChildProviders, getCoreProviders } from './services/app/eui-startup';
@@ -80,4 +80,4 @@ export class EuiCoreRootGuardClass {
80
80
  export function euiCoreRootGuardClass() {
81
81
  return new EuiCoreRootGuardClass();
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9ldWktY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFFBQVEsRUFFUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixjQUFjLEVBQ2QsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxZQUFZLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUM3Qyw4QkFBOEIsQ0FDakMsQ0FBQztBQU9GLE1BQU0sT0FBTyxVQUFVO0lBOEJuQixZQUFpRCxLQUFVLEVBQTBCLFlBQXdCLEVBQUUsUUFBa0I7UUFDN0gsZ0ZBQWdGO1FBQ2hGLElBQUksWUFBWSxFQUFFO1lBQ2Qsc0RBQXNEO1lBQ3RELHNHQUFzRztZQUN0RyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ2hELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNuRCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDdkQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLCtCQUErQixDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztTQUM1RjtJQUNMLENBQUM7SUF2Q0Q7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsVUFBVTtZQUNwQixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLHFCQUFxQjtvQkFDOUIsVUFBVSxFQUFFLHFCQUFxQjtvQkFDakMsSUFBSSxFQUFFLEVBQUU7aUJBQ1g7Z0JBQ0Q7b0JBQ0ksT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLFVBQVUsRUFBRSxzQkFBc0I7b0JBQ2xDLElBQUksRUFBRSxDQUFDLENBQUMscUJBQXFCLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7aUJBQ2xFO2dCQUNELEdBQUcsZ0JBQWdCLEVBQUU7YUFDeEI7U0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBa0I7UUFDOUIsT0FBTztZQUNILFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxVQUFVLENBQUM7U0FDL0MsQ0FBQztJQUNOLENBQUM7O2tKQTVCUSxVQUFVLGtCQThCYSxlQUFlLDZCQUFvRCxVQUFVO21KQTlCcEcsVUFBVSxZQUhmLGdCQUFnQjttSkFHWCxVQUFVLFlBSlY7WUFDTCxnQkFBZ0I7U0FDbkI7Z0dBRVEsVUFBVTtrQkFMdEIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsZ0JBQWdCO3FCQUNuQjtpQkFDSjs7MEJBK0JnQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7OEJBQW9ELFVBQVU7MEJBQS9DLFFBQVE7OzBCQUFJLFFBQVE7O0FBYXRGLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxJQUFJO0lBQ3ZDLElBQUksSUFBSSxFQUFFO1FBQ04sTUFBTSxJQUFJLFNBQVMsQ0FDZiwrRkFBK0YsQ0FDbEcsQ0FBQztLQUNMO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQztBQUVELE1BQU0sT0FBTyxxQkFBcUI7SUFDOUI7SUFDQSxDQUFDO0NBQ0o7QUFFRCxNQUFNLFVBQVUscUJBQXFCO0lBQ2pDLE9BQU8sSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0FBQ3ZDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEluamVjdG9yLFxuICAgIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gICAgTmdNb2R1bGUsXG4gICAgT3B0aW9uYWwsXG4gICAgU2tpcFNlbGYsXG4gICAgSW5qZWN0aW9uVG9rZW4sXG4gICAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IE1PRFVMRV9DT05GSUdfVE9LRU4sIE1PRFVMRV9OQU1FX1RPS0VOIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IGdldENvcmVDaGlsZFByb3ZpZGVycywgZ2V0Q29yZVByb3ZpZGVycyB9IGZyb20gJy4vc2VydmljZXMvYXBwL2V1aS1zdGFydHVwJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgQWRkQXBwTG9hZGVkQ29uZmlnTW9kdWxlc0FjdGlvbiB9IGZyb20gJy4vc2VydmljZXMvc3RvcmUvaW5kZXgnO1xuXG5leHBvcnQgY29uc3QgQ09SRV9ST09UX0dVQVJEID0gbmV3IEluamVjdGlvblRva2VuPHZvaWQ+KFxuICAgICdJbnRlcm5hbCBUaGVtZSBGb3JSb290IEd1YXJkJyxcbik7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIENvcmVNb2R1bGUge1xuICAgIC8qKlxuICAgICAqIE5vIG1vcmUgcHJvdmlkaW5nIGNvbmZpZyBmcm9tIGZvclJvb3QsIHlvdSBoYXZlIHRvIHVzZSBFVUlfQ09ORklHX1RPS0VOIHRvIHBhc3MgY29uZmlnIHZpYSBwcm92aWRlcnMuXG4gICAgICovXG4gICAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb3JlTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQ29yZU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogRXVpQ29yZVJvb3RHdWFyZENsYXNzLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBldWlDb3JlUm9vdEd1YXJkQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBDT1JFX1JPT1RfR1VBUkQsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZUV1aUNvcmVSb290R3VhcmQsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtbRXVpQ29yZVJvb3RHdWFyZENsYXNzLCBuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCldXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC4uLmdldENvcmVQcm92aWRlcnMoKSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc3RhdGljIGZvckNoaWxkKG1vZHVsZU5hbWU6IHN0cmluZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29yZU1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IENvcmVNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IGdldENvcmVDaGlsZFByb3ZpZGVycyhtb2R1bGVOYW1lKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KENPUkVfUk9PVF9HVUFSRCkgZ3VhcmQ6IGFueSwgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50TW9kdWxlOiBDb3JlTW9kdWxlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgLy8gaWYgdGhlcmUgaXMgYSBwYXJlbnRNb2R1bGUsIGEgbmV3IGluc3RhbmNlIGlzIGNyZWF0ZWQgaW4gYSBsYXp5IGxvYWRlZCBtb2R1bGVcbiAgICAgICAgaWYgKHBhcmVudE1vZHVsZSkge1xuICAgICAgICAgICAgLy8gZXh0cmFjdCB0aGUgaTE4biBzZXJ2aWNlIGFuZCB0aGUgaTE4biBsb2FkZXIgY29uZmlnXG4gICAgICAgICAgICAvLyB0b2RvLCB0aGlzIHRoaW5nIHNob3VsZCBiZSBhY2hpZXZlZCBieSBzdG9yZSwgYW5kIGxvY2FsaXphdGlvbiBzZXJ2aWNlIGRlcGVuZGVuY3kgc2hvdWxkIGJlIHJlbW92ZWRcbiAgICAgICAgICAgIGNvbnN0IHN0b3JlU2VydmljZSA9IGluamVjdG9yLmdldChTdG9yZVNlcnZpY2UpO1xuICAgICAgICAgICAgY29uc3QgbW9kdWxlTmFtZSA9IGluamVjdG9yLmdldChNT0RVTEVfTkFNRV9UT0tFTik7XG4gICAgICAgICAgICBjb25zdCBtb2R1bGVDb25maWcgPSBpbmplY3Rvci5nZXQoTU9EVUxFX0NPTkZJR19UT0tFTik7XG4gICAgICAgICAgICBzdG9yZVNlcnZpY2UuZGlzcGF0Y2gobmV3IEFkZEFwcExvYWRlZENvbmZpZ01vZHVsZXNBY3Rpb24oeyBtb2R1bGVOYW1lLCBtb2R1bGVDb25maWcgfSkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRXVpQ29yZVJvb3RHdWFyZChjb3JlKSB7XG4gICAgaWYgKGNvcmUpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgIGBDb3JlTW9kdWxlLmZvclJvb3QoKSBjYWxsZWQgdHdpY2UuIEZlYXR1cmUgbW9kdWxlcyBzaG91bGQgdXNlIFRoZW1lTW9kdWxlLmZvckNoaWxkKCkgaW5zdGVhZC5gLFxuICAgICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gJ2d1YXJkZWQnO1xufVxuXG5leHBvcnQgY2xhc3MgRXVpQ29yZVJvb3RHdWFyZENsYXNzIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBldWlDb3JlUm9vdEd1YXJkQ2xhc3MoKSB7XG4gICAgcmV0dXJuIG5ldyBFdWlDb3JlUm9vdEd1YXJkQ2xhc3MoKTtcbn1cbiJdfQ==
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLWNvcmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9ldWktY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdILFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLGNBQWMsRUFDZCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckYsT0FBTyxFQUFFLFlBQVksRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUV2RixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQzdDLDhCQUE4QixDQUNqQyxDQUFDO0FBT0YsTUFBTSxPQUFPLFVBQVU7SUE4Qm5CLFlBQWlELEtBQVUsRUFBMEIsWUFBd0IsRUFBRSxRQUFrQjtRQUM3SCxnRkFBZ0Y7UUFDaEYsSUFBSSxZQUFZLEVBQUU7WUFDZCxzREFBc0Q7WUFDdEQsc0dBQXNHO1lBQ3RHLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDaEQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUN2RCxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksK0JBQStCLENBQUMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzVGO0lBQ0wsQ0FBQztJQXZDRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTztZQUNILFFBQVEsRUFBRSxVQUFVO1lBQ3BCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUscUJBQXFCO29CQUM5QixVQUFVLEVBQUUscUJBQXFCO29CQUNqQyxJQUFJLEVBQUUsRUFBRTtpQkFDWDtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLHNCQUFzQjtvQkFDbEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztpQkFDbEU7Z0JBQ0QsR0FBRyxnQkFBZ0IsRUFBRTthQUN4QjtTQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFrQjtRQUM5QixPQUFPO1lBQ0gsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFLHFCQUFxQixDQUFDLFVBQVUsQ0FBQztTQUMvQyxDQUFDO0lBQ04sQ0FBQzs7a0pBNUJRLFVBQVUsa0JBOEJhLGVBQWUsNkJBQW9ELFVBQVU7bUpBOUJwRyxVQUFVLFlBSGYsZ0JBQWdCO21KQUdYLFVBQVUsWUFKVjtZQUNMLGdCQUFnQjtTQUNuQjtnR0FFUSxVQUFVO2tCQUx0QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxnQkFBZ0I7cUJBQ25CO2lCQUNKOzswQkErQmdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZTs4QkFBb0QsVUFBVTswQkFBL0MsUUFBUTs7MEJBQUksUUFBUTs7QUFhdEYsTUFBTSxVQUFVLHNCQUFzQixDQUFDLElBQUk7SUFDdkMsSUFBSSxJQUFJLEVBQUU7UUFDTixNQUFNLElBQUksU0FBUyxDQUNmLCtGQUErRixDQUNsRyxDQUFDO0tBQ0w7SUFDRCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDO0FBRUQsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QjtJQUNBLENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxxQkFBcUI7SUFDakMsT0FBTyxJQUFJLHFCQUFxQixFQUFFLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW5qZWN0b3IsXG4gICAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgICBOZ01vZHVsZSxcbiAgICBPcHRpb25hbCxcbiAgICBTa2lwU2VsZixcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgTU9EVUxFX0NPTkZJR19UT0tFTiwgTU9EVUxFX05BTUVfVE9LRU4gfSBmcm9tICcuL3NlcnZpY2VzL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgZ2V0Q29yZUNoaWxkUHJvdmlkZXJzLCBnZXRDb3JlUHJvdmlkZXJzIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHAvZXVpLXN0YXJ0dXAnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlLCBBZGRBcHBMb2FkZWRDb25maWdNb2R1bGVzQWN0aW9uIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdG9yZS9pbmRleCc7XG5cbmV4cG9ydCBjb25zdCBDT1JFX1JPT1RfR1VBUkQgPSBuZXcgSW5qZWN0aW9uVG9rZW48dm9pZD4oXG4gICAgJ0ludGVybmFsIFRoZW1lIEZvclJvb3QgR3VhcmQnLFxuKTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZU1vZHVsZSB7XG4gICAgLyoqXG4gICAgICogTm8gbW9yZSBwcm92aWRpbmcgY29uZmlnIGZyb20gZm9yUm9vdCwgeW91IGhhdmUgdG8gdXNlIEVVSV9DT05GSUdfVE9LRU4gdG8gcGFzcyBjb25maWcgdmlhIHByb3ZpZGVycy5cbiAgICAgKi9cbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPENvcmVNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBDb3JlTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBFdWlDb3JlUm9vdEd1YXJkQ2xhc3MsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGV1aUNvcmVSb290R3VhcmRDbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW10sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IENPUkVfUk9PVF9HVUFSRCxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogY3JlYXRlRXVpQ29yZVJvb3RHdWFyZCxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW1tFdWlDb3JlUm9vdEd1YXJkQ2xhc3MsIG5ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKV1dLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgLi4uZ2V0Q29yZVByb3ZpZGVycygpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZm9yQ2hpbGQobW9kdWxlTmFtZTogc3RyaW5nKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb3JlTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQ29yZU1vZHVsZSxcbiAgICAgICAgICAgIHByb3ZpZGVyczogZ2V0Q29yZUNoaWxkUHJvdmlkZXJzKG1vZHVsZU5hbWUpLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoQ09SRV9ST09UX0dVQVJEKSBndWFyZDogYW55LCBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBwYXJlbnRNb2R1bGU6IENvcmVNb2R1bGUsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICAvLyBpZiB0aGVyZSBpcyBhIHBhcmVudE1vZHVsZSwgYSBuZXcgaW5zdGFuY2UgaXMgY3JlYXRlZCBpbiBhIGxhenkgbG9hZGVkIG1vZHVsZVxuICAgICAgICBpZiAocGFyZW50TW9kdWxlKSB7XG4gICAgICAgICAgICAvLyBleHRyYWN0IHRoZSBpMThuIHNlcnZpY2UgYW5kIHRoZSBpMThuIGxvYWRlciBjb25maWdcbiAgICAgICAgICAgIC8vIHRvZG8sIHRoaXMgdGhpbmcgc2hvdWxkIGJlIGFjaGlldmVkIGJ5IHN0b3JlLCBhbmQgbG9jYWxpemF0aW9uIHNlcnZpY2UgZGVwZW5kZW5jeSBzaG91bGQgYmUgcmVtb3ZlZFxuICAgICAgICAgICAgY29uc3Qgc3RvcmVTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFN0b3JlU2VydmljZSk7XG4gICAgICAgICAgICBjb25zdCBtb2R1bGVOYW1lID0gaW5qZWN0b3IuZ2V0KE1PRFVMRV9OQU1FX1RPS0VOKTtcbiAgICAgICAgICAgIGNvbnN0IG1vZHVsZUNvbmZpZyA9IGluamVjdG9yLmdldChNT0RVTEVfQ09ORklHX1RPS0VOKTtcbiAgICAgICAgICAgIHN0b3JlU2VydmljZS5kaXNwYXRjaChuZXcgQWRkQXBwTG9hZGVkQ29uZmlnTW9kdWxlc0FjdGlvbih7IG1vZHVsZU5hbWUsIG1vZHVsZUNvbmZpZyB9KSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFdWlDb3JlUm9vdEd1YXJkKGNvcmUpIHtcbiAgICBpZiAoY29yZSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgYENvcmVNb2R1bGUuZm9yUm9vdCgpIGNhbGxlZCB0d2ljZS4gRmVhdHVyZSBtb2R1bGVzIHNob3VsZCB1c2UgVGhlbWVNb2R1bGUuZm9yQ2hpbGQoKSBpbnN0ZWFkLmAsXG4gICAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAnZ3VhcmRlZCc7XG59XG5cbmV4cG9ydCBjbGFzcyBFdWlDb3JlUm9vdEd1YXJkQ2xhc3Mge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV1aUNvcmVSb290R3VhcmRDbGFzcygpIHtcbiAgICByZXR1cm4gbmV3IEV1aUNvcmVSb290R3VhcmRDbGFzcygpO1xufVxuIl19
@@ -1,5 +1,4 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { TranslateService } from '@ngx-translate/core';
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@ngx-translate/core";
5
4
  export const LANG_PARAM_KEY = 'X-Lang-Param';
@@ -33,4 +32,4 @@ export class AddLangParamInterceptor {
33
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.0", ngImport: i0, type: AddLangParamInterceptor, decorators: [{
34
33
  type: Injectable
35
34
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxhbmctcGFyYW0uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2ludGVyY2VwdG9ycy9hZGQtbGFuZy1wYXJhbS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFFdkQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQztBQUU3Qzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBRWhDLFlBQXNCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUU5QyxxREFBcUQ7UUFDckQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFbEQsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFFRCx1REFBdUQ7UUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztRQUVwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUN6Qiw0Q0FBNEM7WUFDNUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztZQUMzQyxzQ0FBc0M7WUFDdEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7U0FDL0MsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzsrSkF4QlEsdUJBQXVCO21LQUF2Qix1QkFBdUI7Z0dBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBMQU5HX1BBUkFNX0tFWSA9ICdYLUxhbmctUGFyYW0nO1xuXG4vKipcbiAqIEludGVyY2VwdG9yIGZvciBhZGRpbmcgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYXMgcGFyYW1ldGVyXG4gKiBBZGQgdGhlIGhlYWRlciAoTEFOR19QQVJBTV9LRVksIDxsYW5ndWFnZSBwYXJhbWV0ZXI+KSB0byB5b3VyIHJlcXVlc3QgaHR0cCBoZWFkZXJzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBZGRMYW5nUGFyYW1JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIH1cblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuXG4gICAgICAgIC8vIHRha2UgdGhlIGxhbmcgcGFyYW0gbmFtZSBmcm9tIGhlYWRlciwgaWYgc3BlY2lmaWVkXG4gICAgICAgIGNvbnN0IGxhbmdQYXJhbSA9IHJlcS5oZWFkZXJzLmdldChMQU5HX1BBUkFNX0tFWSk7XG5cbiAgICAgICAgLy8gaWYgbm90IHNwZWNpZmllZCwgZG8gbm90aGluZ1xuICAgICAgICBpZiAoIWxhbmdQYXJhbSkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0YWtlIHRoZSBjdXJyZW50IGxhbmd1YWdlIGZyb20gdGhlIHRyYW5zbGF0ZSBzZXJ2aWNlXG4gICAgICAgIGNvbnN0IGxhbmdWYWx1ZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxLmNsb25lKHtcbiAgICAgICAgICAgIC8vIHJlbW92ZSB0aGUgbGFuZyBwYXJhbSBoZWFkZXIgZnJvbSBoZWFkZXJzXG4gICAgICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5kZWxldGUoTEFOR19QQVJBTV9LRVkpLFxuICAgICAgICAgICAgLy8gc2V0IHRoZSBsYW5nIHZhbHVlIGFzIG5ldyBwYXJhbWV0ZXJcbiAgICAgICAgICAgIHBhcmFtczogcmVxLnBhcmFtcy5zZXQobGFuZ1BhcmFtLCBsYW5nVmFsdWUpLFxuICAgICAgICB9KSk7XG4gICAgfVxufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxhbmctcGFyYW0uaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2ludGVyY2VwdG9ycy9hZGQtbGFuZy1wYXJhbS5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLM0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQztBQUU3Qzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sdUJBQXVCO0lBRWhDLFlBQXNCLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQ3hELENBQUM7SUFFRCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUU5QyxxREFBcUQ7UUFDckQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFbEQsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFFRCx1REFBdUQ7UUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQztRQUVwRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUN6Qiw0Q0FBNEM7WUFDNUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztZQUMzQyxzQ0FBc0M7WUFDdEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUM7U0FDL0MsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzsrSkF4QlEsdUJBQXVCO21LQUF2Qix1QkFBdUI7Z0dBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBMQU5HX1BBUkFNX0tFWSA9ICdYLUxhbmctUGFyYW0nO1xuXG4vKipcbiAqIEludGVyY2VwdG9yIGZvciBhZGRpbmcgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgYXMgcGFyYW1ldGVyXG4gKiBBZGQgdGhlIGhlYWRlciAoTEFOR19QQVJBTV9LRVksIDxsYW5ndWFnZSBwYXJhbWV0ZXI+KSB0byB5b3VyIHJlcXVlc3QgaHR0cCBoZWFkZXJzXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBZGRMYW5nUGFyYW1JbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIH1cblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuXG4gICAgICAgIC8vIHRha2UgdGhlIGxhbmcgcGFyYW0gbmFtZSBmcm9tIGhlYWRlciwgaWYgc3BlY2lmaWVkXG4gICAgICAgIGNvbnN0IGxhbmdQYXJhbSA9IHJlcS5oZWFkZXJzLmdldChMQU5HX1BBUkFNX0tFWSk7XG5cbiAgICAgICAgLy8gaWYgbm90IHNwZWNpZmllZCwgZG8gbm90aGluZ1xuICAgICAgICBpZiAoIWxhbmdQYXJhbSkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0YWtlIHRoZSBjdXJyZW50IGxhbmd1YWdlIGZyb20gdGhlIHRyYW5zbGF0ZSBzZXJ2aWNlXG4gICAgICAgIGNvbnN0IGxhbmdWYWx1ZSA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcblxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxLmNsb25lKHtcbiAgICAgICAgICAgIC8vIHJlbW92ZSB0aGUgbGFuZyBwYXJhbSBoZWFkZXIgZnJvbSBoZWFkZXJzXG4gICAgICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5kZWxldGUoTEFOR19QQVJBTV9LRVkpLFxuICAgICAgICAgICAgLy8gc2V0IHRoZSBsYW5nIHZhbHVlIGFzIG5ldyBwYXJhbWV0ZXJcbiAgICAgICAgICAgIHBhcmFtczogcmVxLnBhcmFtcy5zZXQobGFuZ1BhcmFtLCBsYW5nVmFsdWUpLFxuICAgICAgICB9KSk7XG4gICAgfVxufVxuIl19
@@ -1,5 +1,4 @@
1
1
  import { ErrorHandler, Injectable } from '@angular/core';
2
- import { LogService } from '../log/index';
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "../log/index";
5
4
  export class GlobalErrorHandler extends ErrorHandler {
@@ -22,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.0", ng
22
21
  providedIn: 'root',
23
22
  }]
24
23
  }], ctorParameters: function () { return [{ type: i1.LogService }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Vycm9ycy9nbG9iYWwtZXJyb3ItaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFLMUMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFDaEQsWUFBc0IsVUFBc0I7UUFDeEMsS0FBSyxFQUFFLENBQUM7UUFEVSxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRTVDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBVTtRQUNsQixZQUFZO1FBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUV6RCxlQUFlO1FBQ2YsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDOzswSkFYUSxrQkFBa0I7OEpBQWxCLGtCQUFrQixjQUZmLE1BQU07Z0dBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9ySGFuZGxlciwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2luZGV4JztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR2xvYmFsRXJyb3JIYW5kbGVyIGV4dGVuZHMgRXJyb3JIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpIHtcbiAgICAgICAgLy8gbG9nIGVycm9yXG4gICAgICAgIHRoaXMubG9nU2VydmljZS5lcnJvcihlcnJvci5tZXNzYWdlIHx8IGVycm9yLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgIC8vIHRocm93IGVycm9yO1xuICAgICAgICBzdXBlci5oYW5kbGVFcnJvcihlcnJvcik7XG4gICAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Vycm9ycy9nbG9iYWwtZXJyb3ItaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBQ2hELFlBQXNCLFVBQXNCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBRFUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUU1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsWUFBWTtRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFekQsZUFBZTtRQUNmLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7MEpBWFEsa0JBQWtCOzhKQUFsQixrQkFBa0IsY0FGZixNQUFNO2dHQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvckhhbmRsZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9pbmRleCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdsb2JhbEVycm9ySGFuZGxlciBleHRlbmRzIEVycm9ySGFuZGxlciB7XG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIC8vIGxvZyBlcnJvclxuICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuZXJyb3IoZXJyb3IubWVzc2FnZSB8fCBlcnJvci50b1N0cmluZygpKTtcblxuICAgICAgICAvLyB0aHJvdyBlcnJvcjtcbiAgICAgICAgc3VwZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,5 @@
1
- import { Inject, Injectable, Injector } from '@angular/core';
1
+ import { Inject, Injectable } from '@angular/core';
2
2
  import { HttpErrorResponse } from '@angular/common/http';
3
- import { Router } from '@angular/router';
4
3
  import { tap } from 'rxjs/operators';
5
4
  import { HTTP_ERROR_HANDLER_CONFIG_TOKEN } from '../config/tokens';
6
5
  import { DEFAULT_HTTP_ERROR_HANDLER_CONFIG } from '../config/defaults';
@@ -54,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.0", ng
54
53
  type: Inject,
55
54
  args: [HTTP_ERROR_HANDLER_CONFIG_TOKEN]
56
55
  }] }, { type: i0.Injector }, { type: i1.Router }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQXdELE1BQU0sc0JBQXNCLENBQUM7QUFDL0csT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1yQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBR3ZFLE1BQU0sT0FBTywyQkFBMkI7SUFFcEMsWUFDdUQsU0FBaUMsaUNBQWlDLEVBQzNHLFFBQWtCLEVBQ2xCLE1BQWM7UUFGMkIsV0FBTSxHQUFOLE1BQU0sQ0FBNEQ7UUFDM0csYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBRTVCLENBQUM7SUFFRCxTQUFTLENBQUMsR0FBcUIsRUFBRSxJQUFpQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ2xCLElBQUksQ0FDRCxHQUFHLENBQUMsR0FBRyxFQUFFO1FBQ1QsQ0FBQyxFQUFFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDZCx3QkFBd0I7WUFDeEIsSUFBSSxLQUFLLFlBQVksaUJBQWlCLEVBQUU7Z0JBQ3BDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9DLE1BQU0sSUFBSSxHQUFHLFdBQVcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUUvRSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtvQkFDMUIscUJBQXFCO29CQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ2hDO3FCQUFNLElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFFO29CQUNuQyxvQkFBb0I7b0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQ3pDO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sY0FBYyxDQUFDLEtBQXdCO1FBQzdDLG9CQUFvQjtRQUNwQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssV0FBVyxJQUFJLE9BQU8sS0FBSyxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUMsQ0FBQztRQUN6SCxDQUFDLENBQUMsQ0FBQztRQUNILDBDQUEwQztRQUMxQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNoRCxDQUFDOzttS0EzQ1EsMkJBQTJCLGtCQUd4QiwrQkFBK0I7dUtBSGxDLDJCQUEyQjtnR0FBM0IsMkJBQTJCO2tCQUR2QyxVQUFVOzswQkFJRixNQUFNOzJCQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwRXZlbnQsIEh0dHBIYW5kbGVyLCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBIdHRwRXJyb3JIYW5kbGVyQ29uZmlnLFxuICAgIEh0dHBFcnJvclJvdXRlQ29uZmlnLFxufSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgSFRUUF9FUlJPUl9IQU5ETEVSX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9IVFRQX0VSUk9SX0hBTkRMRVJfQ09ORklHIH0gZnJvbSAnLi4vY29uZmlnL2RlZmF1bHRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvckhhbmRsZXJJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChIVFRQX0VSUk9SX0hBTkRMRVJfQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgY29uZmlnOiBIdHRwRXJyb3JIYW5kbGVyQ29uZmlnID0gREVGQVVMVF9IVFRQX0VSUk9SX0hBTkRMRVJfQ09ORklHLFxuICAgICAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIsXG4gICAgKSB7XG4gICAgfVxuXG4gICAgaW50ZXJjZXB0KHJlcTogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXEpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIH0sIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgaHR0cCBlcnJvclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm91dGVDb25maWcgPSB0aGlzLmdldFJvdXRlQ29uZmlnKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJ1bGUgPSByb3V0ZUNvbmZpZyAmJiAocm91dGVDb25maWdbZXJyb3Iuc3RhdHVzXSB8fCByb3V0ZUNvbmZpZy5kZWZhdWx0KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBydWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBlcmZvcm0gYSByZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtydWxlXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBydWxlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2FsbGJhY2sgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLmNhbGwobnVsbCwgZXJyb3IsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlYXJjaCBpbiB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGZpcnN0IG1hdGNoaW5nIHJvdXRlXG4gICAgICogQHBhcmFtIGVycm9yIGh0dHAgZXJyb3IgcmVzcG9uc2VcbiAgICAgKiBAcmV0dXJucyBIdHRwRXJyb3JSb3V0ZUNvbmZpZyBvciBudWxsXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldFJvdXRlQ29uZmlnKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IEh0dHBFcnJvclJvdXRlQ29uZmlnIHwgbnVsbCB7XG4gICAgICAgIC8vIGZpbHRlciB0aGUgcm91dGVzXG4gICAgICAgIGNvbnN0IHJvdXRlcyA9IHRoaXMuY29uZmlnLnJvdXRlcy5maWx0ZXIoKHJvdXRlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoJ14nICsgcm91dGUucGF0aC5zcGxpdCgnKicpLmpvaW4oJy4qJykgKyAnJCcpO1xuICAgICAgICAgICAgcmV0dXJuIHJlZ2V4LnRlc3QoZXJyb3IudXJsKSAmJiAodHlwZW9mIHJvdXRlW2Vycm9yLnN0YXR1c10gIT09ICd1bmRlZmluZWQnIHx8IHR5cGVvZiByb3V0ZS5kZWZhdWx0ICE9PSAndW5kZWZpbmVkJyk7XG4gICAgICAgIH0pO1xuICAgICAgICAvLyByZXR1cm4gdGhlIGZpcnN0IG1hdGNoaW5nIHJvdXRlLCBpZiBhbnlcbiAgICAgICAgcmV0dXJuIHJvdXRlcy5sZW5ndGggPiAwID8gcm91dGVzWzBdIDogbnVsbDtcbiAgICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0QsTUFBTSxzQkFBc0IsQ0FBQztBQUcvRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNckMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUd2RSxNQUFNLE9BQU8sMkJBQTJCO0lBRXBDLFlBQ3VELFNBQWlDLGlDQUFpQyxFQUMzRyxRQUFrQixFQUNsQixNQUFjO1FBRjJCLFdBQU0sR0FBTixNQUFNLENBQTREO1FBQzNHLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUU1QixDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUNsQixJQUFJLENBQ0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNULENBQUMsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2Qsd0JBQXdCO1lBQ3hCLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFO2dCQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLElBQUksR0FBRyxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFL0UsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7b0JBQzFCLHFCQUFxQjtvQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNoQztxQkFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtvQkFDbkMsb0JBQW9CO29CQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN6QzthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGNBQWMsQ0FBQyxLQUF3QjtRQUM3QyxvQkFBb0I7UUFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN2RSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFdBQVcsSUFBSSxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDekgsQ0FBQyxDQUFDLENBQUM7UUFDSCwwQ0FBMEM7UUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEQsQ0FBQzs7bUtBM0NRLDJCQUEyQixrQkFHeEIsK0JBQStCO3VLQUhsQywyQkFBMkI7Z0dBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBSUYsTUFBTTsyQkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgSHR0cEVycm9ySGFuZGxlckNvbmZpZyxcbiAgICBIdHRwRXJyb3JSb3V0ZUNvbmZpZyxcbn0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEhUVFBfRVJST1JfSEFORExFUl9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IERFRkFVTFRfSFRUUF9FUlJPUl9IQU5ETEVSX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JIYW5kbGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoSFRUUF9FUlJPUl9IQU5ETEVSX0NPTkZJR19UT0tFTikgcHJvdGVjdGVkIGNvbmZpZzogSHR0cEVycm9ySGFuZGxlckNvbmZpZyA9IERFRkFVTFRfSFRUUF9FUlJPUl9IQU5ETEVSX0NPTkZJRyxcbiAgICAgICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICAgICkge1xuICAgIH1cblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB9LCAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIG9mIGh0dHAgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJvdXRlQ29uZmlnID0gdGhpcy5nZXRSb3V0ZUNvbmZpZyhlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBydWxlID0gcm91dGVDb25maWcgJiYgKHJvdXRlQ29uZmlnW2Vycm9yLnN0YXR1c10gfHwgcm91dGVDb25maWcuZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcnVsZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBwZXJmb3JtIGEgcmVkaXJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcnVsZV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcnVsZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhbGxiYWNrIGZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS5jYWxsKG51bGwsIGVycm9yLCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWFyY2ggaW4gdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBmaXJzdCBtYXRjaGluZyByb3V0ZVxuICAgICAqIEBwYXJhbSBlcnJvciBodHRwIGVycm9yIHJlc3BvbnNlXG4gICAgICogQHJldHVybnMgSHR0cEVycm9yUm91dGVDb25maWcgb3IgbnVsbFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRSb3V0ZUNvbmZpZyhlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBIdHRwRXJyb3JSb3V0ZUNvbmZpZyB8IG51bGwge1xuICAgICAgICAvLyBmaWx0ZXIgdGhlIHJvdXRlc1xuICAgICAgICBjb25zdCByb3V0ZXMgPSB0aGlzLmNvbmZpZy5yb3V0ZXMuZmlsdGVyKChyb3V0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKCdeJyArIHJvdXRlLnBhdGguc3BsaXQoJyonKS5qb2luKCcuKicpICsgJyQnKTtcbiAgICAgICAgICAgIHJldHVybiByZWdleC50ZXN0KGVycm9yLnVybCkgJiYgKHR5cGVvZiByb3V0ZVtlcnJvci5zdGF0dXNdICE9PSAndW5kZWZpbmVkJyB8fCB0eXBlb2Ygcm91dGUuZGVmYXVsdCAhPT0gJ3VuZGVmaW5lZCcpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gcmV0dXJuIHRoZSBmaXJzdCBtYXRjaGluZyByb3V0ZSwgaWYgYW55XG4gICAgICAgIHJldHVybiByb3V0ZXMubGVuZ3RoID4gMCA/IHJvdXRlc1swXSA6IG51bGw7XG4gICAgfVxufVxuIl19
@@ -1,5 +1,4 @@
1
1
  import { Inject, Injectable, Optional } from '@angular/core';
2
- import { HttpClient } from '@angular/common/http';
3
2
  import { TranslateLoader } from '@ngx-translate/core';
4
3
  import { forkJoin, of } from 'rxjs';
5
4
  import { catchError, map } from 'rxjs/operators';
@@ -7,7 +6,6 @@ import { getI18nLoaderConfig, } from '@eui/base';
7
6
  import { I18nResourceImpl } from './i18n.resource';
8
7
  import { mergeAll } from '@eui/base';
9
8
  import { CONFIG_TOKEN } from '../config/tokens';
10
- import { LogService } from '../log/log.service';
11
9
  import * as i0 from "@angular/core";
12
10
  import * as i1 from "@angular/common/http";
13
11
  import * as i2 from "../log/log.service";
@@ -174,4 +172,4 @@ export const translateConfig = {
174
172
  useClass: I18nLoader,
175
173
  },
176
174
  };
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2kxOG4vaTE4bi5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWtCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakQsT0FBTyxFQUVILG1CQUFtQixHQUl0QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFxQmhELE1BQU0sT0FBTyxVQUFVO0lBR25CLFlBQXNCLElBQWdCLEVBQ0osVUFBc0IsRUFDWixZQUEwQjtRQUZoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0osZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNaLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBSjVELGNBQVMsR0FBdUIsRUFBRSxDQUFDO1FBS3pDLDhDQUE4QztRQUM5QyxNQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDekYsTUFBTSxnQkFBZ0Is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LE9BQU8sRUFBRSxlQUFlO1FBQ3hCLFFBQVEsRUFBRSxVQUFVO0tBQ3ZCO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBHbG9iYWxDb25maWcsXG4gICAgZ2V0STE4bkxvYWRlckNvbmZpZyxcbiAgICBJMThuUmVzb3VyY2UsXG4gICAgSTE4blNlcnZpY2VDb25maWcsXG4gICAgRXVpQXBwQ29uZmlnLFxufSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgSTE4blJlc291cmNlSW1wbCB9IGZyb20gJy4vaTE4bi5yZXNvdXJjZSc7XG5pbXBvcnQgeyBtZXJnZUFsbCB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBJMThuTG9hZGVyQ29uZmlnLCBJMThuQ29uZmlnLCBUcmFuc2xhdGlvbnNDb21waWxlciB9IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBDT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuXG4vLyBleHBvcnQgY29uc3QgSTE4Tl9MT0FERVJfQ09ORklHX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEkxOG5Mb2FkZXJDb25maWc+KCdJMThOX0xPQURFUl9DT05GSUcnKTtcbmludGVyZmFjZSBSZXNvdXJjZUVycm9yIHtcbiAgICBpc0Vycm9yOiBib29sZWFuO1xuICAgIGVycm9yPzogc3RyaW5nO1xuICAgIHJlc291cmNlPzogSTE4blJlc291cmNlSW1wbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkZWRSZXNvdXJjZXMge1xuICAgIHRyYW5zbGF0aW9uczogb2JqZWN0O1xuICAgIGhhc0Vycm9yOiBib29sZWFuO1xuICAgIGVycm9ycz86IEFycmF5PExvYWRlZFJlc291cmNlc0Vycm9yPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkZWRSZXNvdXJjZXNFcnJvciB7XG4gICAgcmVzb3VyY2U6IEkxOG5SZXNvdXJjZUltcGw7XG4gICAgZXJyb3I6IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEkxOG5Mb2FkZXIgaW1wbGVtZW50cyBUcmFuc2xhdGVMb2FkZXIge1xuICAgIHByb3RlY3RlZCByZXNvdXJjZXM6IEkxOG5SZXNvdXJjZUltcGxbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgQEluamVjdChDT05GSUdfVE9LRU4pIHByb3RlY3RlZCBldWlBcHBDb25maWc6IEV1aUFwcENvbmZpZykge1xuICAgICAgICAvLyBjcmVhdGUgdGhlIHJlc291cmNlcyBmcm9tIHRoZSBjb25maWcgb2JqZWN0XG4gICAgICAgIGNvbnN0IGkxOG5Db25maWc6IEkxOG5Db25maWcgPSB0aGlzLmV1aUFwcENvbmZpZy5nbG9iYWwgJiYgdGhpcy5ldWlBcHBDb25maWcuZ2xvYmFsLmkxOG47XG4gICAgICAgIGNvbnN0IGkxOG5Mb2FkZXJDb25maWc6IEkxOG5Mb2FkZXJDb25maWcgPSBpMThuQ29uZmlnICYmIGkxOG5Db25maWcuaTE4bkxvYWRlcjtcbiAgICAgICAgdGhpcy5yZXNvdXJjZXMucHVzaCguLi50aGlzLmNyZWF0ZVJlc291cmNlcyhpMThuTG9hZGVyQ29uZmlnKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdHJhbnNsYXRpb25zIGZyb20gdGhlIHNlcnZlclxuICAgICAqIEBwYXJhbSBsYW5nXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAgICovXG4gICAgcHVibGljIGdldFRyYW5zbGF0aW9uKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRSZXNvdXJjZXModGhpcy5yZXNvdXJjZXMsIGxhbmcpLnBpcGUobWFwKChsb2FkZWRSZXNvdXJjZXM6IExvYWRlZFJlc291cmNlcykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGxvYWRlZFJlc291cmNlcy50cmFuc2xhdGlvbnM7XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIHJlc291cmNlc1xuICAgICAqIEBwYXJhbSBjb25maWcgbG9hZGVyIGNvbmZpZ3VyYXRpb25cbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT4gfCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRSZXNvdXJjZXMoY29uZmlnOiBJMThuTG9hZGVyQ29uZmlnKTogSTE4blJlc291cmNlSW1wbFtdIHtcblxuICAgICAgICAvLyBjcmVhdGUgdGhlIHJlc291cmNlc1xuICAgICAgICBsZXQgcmVzb3VyY2VzID0gdGhpcy5jcmVhdGVSZXNvdXJjZXMoY29uZmlnKTtcblxuICAgICAgICAvLyBmaWx0ZXIgdGhlIHJlc291cmNlcyBmaXJzdCwgdG8gYXZvaWQgZHVwbGljYXRlc1xuICAgICAgICByZXNvdXJjZXMgPSByZXNvdXJjZXMuZmlsdGVyKHJlc291cmNlID0+ICF0aGlzLnJlc291cmNlcy5zb21lKHJlcyA9PiByZXMuZXF1YWxzKHJlc291cmNlKSkpO1xuXG4gICAgICAgIC8vIGFkZCB0aGUgbmV3IHJlc291cmNlcyB0byB0aGUgbGlzdCBvZiBleGlzdGluZyByZXNvdXJjZXNcbiAgICAgICAgdGhpcy5yZXNvdXJjZXMucHVzaCguLi5yZXNvdXJjZXMpO1xuXG4gICAgICAgIC8vIHJldHVybiB0aGUgZmlsdGVyZWQgcmVzb3VyY2VzXG4gICAgICAgIHJldHVybiByZXNvdXJjZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyByZXNvdXJjZXMgZnJvbSB0aGUgbG9hZGVyIGluc3RhbmNlXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZVJlc291cmNlcyhyZW1vdmVkUmVzb3VyY2VzOiBJMThuUmVzb3VyY2VJbXBsW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNvdXJjZXMgPSB0aGlzLnJlc291cmNlcy5maWx0ZXIocmVzID0+ICFyZW1vdmVkUmVzb3VyY2VzLnNvbWUoKHJlbW92ZWRSZXNvdXJjZSkgPT4gcmVtb3ZlZFJlc291cmNlLmVxdWFscyhyZXMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgYW4gYXJyYXkgb2YgcmVzb3VyY2VzLCBieSBsYW5ndWFnZVxuICAgICAqIEBwYXJhbSByZXNvdXJjZXMgdGhlIGRlZmluaXRpb24gb2YgdGhlIHJlc291cmNlc1xuICAgICAqIEBwYXJhbSBsYW5nIHRoZSByZXNvdXJjZSBsYW5ndWFnZSB0byBsb2FkXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAgICovXG4gICAgcHVibGljIGxvYWRSZXNvdXJjZXMocmVzb3VyY2VzOiBJMThuUmVzb3VyY2VJbXBsW10sIGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgLy8gaWYgdGhlcmUgYXJlIHJlc291cmNlcyB0byBsb2FkXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc291cmNlcykgJiYgcmVzb3VyY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIGxvYWQgYWxsIHRoZSByZXNvdXJjZXMgaW4gYW4gYXJyYXkgb2YgT2JzZXJ2YWJsZVxuICAgICAgICAgICAgY29uc3QgcmVxdWVzdHMgPSByZXNvdXJjZXMubWFwKHJlc291cmNlID0+IHRoaXMubG9hZFJlc291cmNlKHJlc291cmNlLCBsYW5nKSk7XG4gICAgICAgICAgICAvLyBncm91cCBhbGwgdGhlIG9ic2VydmFibGVzIHdpdGggZm9ya0pvaW4gYW5kIGRlZXAgbWVyZ2UgdGhlbVxuICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3RzKS5waXBlKG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3VjY2Vzc1Jlc3AgPSBbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJSZXNwOiBBcnJheTxMb2FkZWRSZXNvdXJjZXNFcnJvcj4gPSBbXTtcbiAgICAgICAgICAgICAgICByZXNwb25zZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgoPFJlc291cmNlRXJyb3I+aXRlbSkuaXNFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyUmVzcC5wdXNoKHsgcmVzb3VyY2U6ICg8UmVzb3VyY2VFcnJvcj5pdGVtKS5yZXNvdXJjZSwgZXJyb3I6ICg8UmVzb3VyY2VFcnJvcj5pdGVtKS5lcnJvciB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NSZXNwLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoc3VjY2Vzc1Jlc3AubGVuZ3RoID09PSByZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaGFzRXJyb3I6IGZhbHNlLCB0cmFuc2xhdGlvbnM6IG1lcmdlQWxsKHN1Y2Nlc3NSZXNwKSB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGhhc0Vycm9yOiB0cnVlLCB0cmFuc2xhdGlvbnM6IG1lcmdlQWxsKHN1Y2Nlc3NSZXNwKSwgZXJyb3JzOiBlcnJSZXNwIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gbm8gcmVzb3VyY2VzIHRvIGxvYWRcbiAgICAgICAgICAgIHJldHVybiBvZih7IGhhc0Vycm9yOiBmYWxzZSwgdHJhbnNsYXRpb25zOiB7fSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSByZXNvdXJjZXMgZnJvbSBhIGNvbmZpZyBmaWxlXG4gICAgICogQHBhcmFtIGNvbmZpZyBsb2FkZXIgY29uZmlndXJhdGlvblxuICAgICAqIEByZXR1cm5zIEkxOG5SZXNvdXJjZUltcGxbXSByZXNvdXJjZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VzKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZyk6IEkxOG5SZXNvdXJjZUltcGxbXSB7XG4gICAgICAgIC8vIHVzZSB0aGUgZGVmYXVsdCBjb25maWcgYXMgYSByZWZlcmVuY2UgYmFzZVxuICAgICAgICBjb25maWcgPSBnZXRJMThuTG9hZGVyQ29uZmlnKGNvbmZpZyk7XG5cbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gW107XG5cbiAgICAgICAgLy8gZXh0cmFjdCB0aGUgaTE4biBmb2xkZXJzIGZyb20gY29uZmlnXG4gICAgICAgIGNvbnN0IGkxOG5Gb2xkZXJzOiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkoY29uZmlnLmkxOG5Gb2xkZXJzKSA/XG4gICAgICAgICAgICBjb25maWcuaTE4bkZvbGRlcnMgOiAoY29uZmlnLmkxOG5Gb2xkZXJzID8gW2NvbmZpZy5pMThuRm9sZGVyc10gOiBbXSk7XG4gICAgICAgIGlmIChpMThuRm9sZGVycykge1xuICAgICAgICAgICAgLy8gYWRkIHRoZSBpMThuIGZvbGRlcnMgdG8gcmVzb3VyY2VzXG4gICAgICAgICAgICByZXNvdXJjZXMucHVzaCguLi5pMThuRm9sZGVycy5tYXAoZm9sZGVyID0+IG5ldyBJMThuUmVzb3VyY2VJbXBsKGBhc3NldHMvJHtmb2xkZXJ9L2AsICcuanNvbicpKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBleHRyYWN0IHRoZSBpMThuIHNlcnZpY2VzIGZyb20gY29uZmlnXG4gICAgICAgIGNvbnN0IGkxOG5TZXJ2aWNlczogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KGNvbmZpZy5pMThuU2VydmljZXMpID9cbiAgICAgICAgICAgIGNvbmZpZy5pMThuU2VydmljZXMgOiAoY29uZmlnLmkxOG5TZXJ2aWNlcyA/IFtjb25maWcuaTE4blNlcnZpY2VzXSA6IFtdKTtcbiAgICAgICAgaWYgKGkxOG5TZXJ2aWNlcykge1xuICAgICAgICAgICAgLy8gYWRkIHRoZSBpMThuIHNlcnZpY2VzIHRvIHJlc291cmNlc1xuICAgICAgICAgICAgcmVzb3VyY2VzLnB1c2goLi4uaTE4blNlcnZpY2VzLm1hcChzZXJ2aWNlID0+IG5ldyBJMThuUmVzb3VyY2VJbXBsKHNlcnZpY2UpKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBleHRyYWN0IHRoZSBpMThuIHJlc291cmNlcyBmcm9tIGNvbmZpZ1xuICAgICAgICBjb25zdCBpMThuUmVzb3VyY2VzOiBJMThuUmVzb3VyY2VbXSA9IEFycmF5LmlzQXJyYXkoY29uZmlnLmkxOG5SZXNvdXJjZXMpID9cbiAgICAgICAgICAgIGNvbmZpZy5pMThuUmVzb3VyY2VzIDogKGNvbmZpZy5pMThuUmVzb3VyY2VzID8gW2NvbmZpZy5pMThuUmVzb3VyY2VzXSA6IFtdKTtcbiAgICAgICAgaWYgKGkxOG5SZXNvdXJjZXMpIHtcbiAgICAgICAgICAgIC8vIGFkZCB0aGUgaTE4biByZXNvdXJjZXMgdG8gcmVzb3VyY2VzXG4gICAgICAgICAgICByZXNvdXJjZXMucHVzaCguLi5pMThuUmVzb3VyY2VzLm1hcChyZXNvdXJjZSA9PiBuZXcgSTE4blJlc291cmNlSW1wbChcbiAgICAgICAgICAgICAgICByZXNvdXJjZS5wcmVmaXgsIHJlc291cmNlLnN1ZmZpeCwgdGhpcy5nZXRSZXNvdXJjZUNvbXBpbGVGdW5jdGlvbihyZXNvdXJjZS5jb21waWxlVHJhbnNsYXRpb25zKSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXNvdXJjZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgYSByZXNvdXJjZSwgYnkgbGFuZ3VhZ2VcbiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgdGhlIGRlZmluaXRpb24gb2YgdGhlIHJlc291cmNlXG4gICAgICogQHBhcmFtIGxhbmcgdGhlIHJlc291cmNlIGxhbmd1YWdlIHRvIGxvYWRcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgbG9hZFJlc291cmNlKHJlc291cmNlOiBJMThuUmVzb3VyY2VJbXBsLCBsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIC8vIHRoZSBwYXRoIHRvIHRoZSByZXNvdXJjZVxuICAgICAgICBjb25zdCBwYXRoID0gcmVzb3VyY2UuZ2V0UGF0aChsYW5nKTtcblxuICAgICAgICAvLyBsb2FkIHRoZSB0cmFuc2xhdGlvbnMgZnJvbSB0aGUgcGF0aFxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChwYXRoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gcHJlcHJvY2VzcyB0aGUgdHJhbnNsYXRpb25zIHVzaW5nIHRoZSByZXNvdXJjZSBjb21waWxlclxuICAgICAgICAgICAgICAgIG1hcCgodHJhbnNsYXRpb25zOiBhbnkpID0+IHJlc291cmNlLmNvbXBpbGVUcmFuc2xhdGlvbnModHJhbnNsYXRpb25zLCBsYW5nKSksXG4gICAgICAgICAgICAgICAgbWFwKCh0cmFuc2xhdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyByZXNvdXJjZSBsb2FkZWQgcHJvcGVybHksIHNlbmQgYSBpbmZvIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nU2VydmljZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gcmVzb3VyY2UgbG9hZGVkIGZyb20gcGF0aCAke3BhdGh9YCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJuIHRoZSB0cmFuc2xhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9ucztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVzb3VyY2Ugbm90IGxvYWRlZCBwcm9wZXJseSwgc2VuZCBhIHdhcm5pbmcgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2Uud2FybihgSTE4biByZXNvdXJjZSBOT1QgbG9hZGVkIGZyb20gcGF0aCAke3BhdGh9YCwgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNvdXJjZUVycm9yOiBSZXNvdXJjZUVycm9yID0geyBlcnJvcjogYEkxOG4gcmVzb3VyY2UgTk9UIGxvYWRlZCBmcm9tIHBhdGggJHtwYXRofWAsIHJlc291cmNlLCBpc0Vycm9yOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihyZXNvdXJjZUVycm9yKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXNvdXJjZUNvbXBpbGVGdW5jdGlvbihpZDogc3RyaW5nKTogVHJhbnNsYXRpb25zQ29tcGlsZXIge1xuICAgICAgICBjb25zdCBjdXN0b21IYW5kbGVycyA9IHRoaXMuZXVpQXBwQ29uZmlnLmN1c3RvbUhhbmRsZXI7XG4gICAgICAgIGlmIChjdXN0b21IYW5kbGVycyAmJiB0eXBlb2YgY3VzdG9tSGFuZGxlcnNbaWRdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VzdG9tSGFuZGxlcnNbaWRdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlQ29uZmlnID0ge1xuICAgIGxvYWRlcjoge1xuICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgICAgIHVzZUNsYXNzOiBJMThuTG9hZGVyLFxuICAgIH0sXG59O1xuIl19
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2kxOG4vaTE4bi5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWtCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBRUgsbUJBQW1CLEdBSXRCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBc0JoRCxNQUFNLE9BQU8sVUFBVTtJQUduQixZQUFzQixJQUFnQixFQUNKLFVBQXNCLEVBQ1osWUFBMEI7UUFGaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNKLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDWixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUo1RCxjQUFTLEdBQXVCLEVBQUUsQ0FBQztRQUt6Qyw4Q0FBOEM7UUFDOUMsTUFBTSxVQUFVLEdBQWUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3pGLE1BQU0sZ0JBQWdCLEdBQXFCLFVBQVUsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQy9FLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFD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Y3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgR2xvYmFsQ29uZmlnLFxuICAgIGdldEkxOG5Mb2FkZXJDb25maWcsXG4gICAgSTE4blJlc291cmNlLFxuICAgIEkxOG5TZXJ2aWNlQ29uZmlnLFxuICAgIEV1aUFwcENvbmZpZyxcbn0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEkxOG5SZXNvdXJjZUltcGwgfSBmcm9tICcuL2kxOG4ucmVzb3VyY2UnO1xuaW1wb3J0IHsgbWVyZ2VBbGwgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgSTE4bkxvYWRlckNvbmZpZywgSTE4bkNvbmZpZywgVHJhbnNsYXRpb25zQ29tcGlsZXIgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vY29uZmlnL3Rva2Vucyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcblxuLy8gZXhwb3J0IGNvbnN0IEkxOE5fTE9BREVSX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJMThuTG9hZGVyQ29uZmlnPignSTE4Tl9MT0FERVJfQ09ORklHJyk7XG5pbnRlcmZhY2UgUmVzb3VyY2VFcnJvciB7XG4gICAgaXNFcnJvcjogYm9vbGVhbjtcbiAgICBlcnJvcj86IHN0cmluZztcbiAgICByZXNvdXJjZT86IEkxOG5SZXNvdXJjZUltcGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVkUmVzb3VyY2VzIHtcbiAgICB0cmFuc2xhdGlvbnM6IG9iamVjdDtcbiAgICBoYXNFcnJvcjogYm9vbGVhbjtcbiAgICBlcnJvcnM/OiBBcnJheTxMb2FkZWRSZXNvdXJjZXNFcnJvcj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVkUmVzb3VyY2VzRXJyb3Ige1xuICAgIHJlc291cmNlOiBJMThuUmVzb3VyY2VJbXBsO1xuICAgIGVycm9yOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJMThuTG9hZGVyIGltcGxlbWVudHMgVHJhbnNsYXRlTG9hZGVyIHtcbiAgICBwcm90ZWN0ZWQgcmVzb3VyY2VzOiBJMThuUmVzb3VyY2VJbXBsW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgZXVpQXBwQ29uZmlnOiBFdWlBcHBDb25maWcpIHtcbiAgICAgICAgLy8gY3JlYXRlIHRoZSByZXNvdXJjZXMgZnJvbSB0aGUgY29uZmlnIG9iamVjdFxuICAgICAgICBjb25zdCBpMThuQ29uZmlnOiBJMThuQ29uZmlnID0gdGhpcy5ldWlBcHBDb25maWcuZ2xvYmFsICYmIHRoaXMuZXVpQXBwQ29uZmlnLmdsb2JhbC5pMThuO1xuICAgICAgICBjb25zdCBpMThuTG9hZGVyQ29uZmlnOiBJMThuTG9hZGVyQ29uZmlnID0gaTE4bkNvbmZpZyAmJiBpMThuQ29uZmlnLmkxOG5Mb2FkZXI7XG4gICAgICAgIHRoaXMucmVzb3VyY2VzLnB1c2goLi4udGhpcy5jcmVhdGVSZXNvdXJjZXMoaTE4bkxvYWRlckNvbmZpZykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRyYW5zbGF0aW9ucyBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgKiBAcGFyYW0gbGFuZ1xuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkUmVzb3VyY2VzKHRoaXMucmVzb3VyY2VzLCBsYW5nKS5waXBlKG1hcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBsb2FkZWRSZXNvdXJjZXMudHJhbnNsYXRpb25zO1xuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyByZXNvdXJjZXNcbiAgICAgKiBAcGFyYW0gY29uZmlnIGxvYWRlciBjb25maWd1cmF0aW9uXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+IHwgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkUmVzb3VyY2VzKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZyk6IEkxOG5SZXNvdXJjZUltcGxbXSB7XG5cbiAgICAgICAgLy8gY3JlYXRlIHRoZSByZXNvdXJjZXNcbiAgICAgICAgbGV0IHJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2VzKGNvbmZpZyk7XG5cbiAgICAgICAgLy8gZmlsdGVyIHRoZSByZXNvdXJjZXMgZmlyc3QsIHRvIGF2b2lkIGR1cGxpY2F0ZXNcbiAgICAgICAgcmVzb3VyY2VzID0gcmVzb3VyY2VzLmZpbHRlcihyZXNvdXJjZSA9PiAhdGhpcy5yZXNvdXJjZXMuc29tZShyZXMgPT4gcmVzLmVxdWFscyhyZXNvdXJjZSkpKTtcblxuICAgICAgICAvLyBhZGQgdGhlIG5ldyByZXNvdXJjZXMgdG8gdGhlIGxpc3Qgb2YgZXhpc3RpbmcgcmVzb3VyY2VzXG4gICAgICAgIHRoaXMucmVzb3VyY2VzLnB1c2goLi4ucmVzb3VyY2VzKTtcblxuICAgICAgICAvLyByZXR1cm4gdGhlIGZpbHRlcmVkIHJlc291cmNlc1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgcmVzb3VyY2VzIGZyb20gdGhlIGxvYWRlciBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVSZXNvdXJjZXMocmVtb3ZlZFJlc291cmNlczogSTE4blJlc291cmNlSW1wbFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzb3VyY2VzID0gdGhpcy5yZXNvdXJjZXMuZmlsdGVyKHJlcyA9PiAhcmVtb3ZlZFJlc291cmNlcy5zb21lKChyZW1vdmVkUmVzb3VyY2UpID0+IHJlbW92ZWRSZXNvdXJjZS5lcXVhbHMocmVzKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIGFuIGFycmF5IG9mIHJlc291cmNlcywgYnkgbGFuZ3VhZ2VcbiAgICAgKiBAcGFyYW0gcmVzb3VyY2VzIHRoZSBkZWZpbml0aW9uIG9mIHRoZSByZXNvdXJjZXNcbiAgICAgKiBAcGFyYW0gbGFuZyB0aGUgcmVzb3VyY2UgbGFuZ3VhZ2UgdG8gbG9hZFxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkUmVzb3VyY2VzKHJlc291cmNlczogSTE4blJlc291cmNlSW1wbFtdLCBsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIC8vIGlmIHRoZXJlIGFyZSByZXNvdXJjZXMgdG8gbG9hZFxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNvdXJjZXMpICYmIHJlc291cmNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAvLyBsb2FkIGFsbCB0aGUgcmVzb3VyY2VzIGluIGFuIGFycmF5IG9mIE9ic2VydmFibGVcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RzID0gcmVzb3VyY2VzLm1hcChyZXNvdXJjZSA9PiB0aGlzLmxvYWRSZXNvdXJjZShyZXNvdXJjZSwgbGFuZykpO1xuICAgICAgICAgICAgLy8gZ3JvdXAgYWxsIHRoZSBvYnNlcnZhYmxlcyB3aXRoIGZvcmtKb2luIGFuZCBkZWVwIG1lcmdlIHRoZW1cbiAgICAgICAgICAgIHJldHVybiBmb3JrSm9pbihyZXF1ZXN0cykucGlwZShtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3NSZXNwID0gW107XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyUmVzcDogQXJyYXk8TG9hZGVkUmVzb3VyY2VzRXJyb3I+ID0gW107XG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoKDxSZXNvdXJjZUVycm9yPml0ZW0pLmlzRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVyclJlc3AucHVzaCh7IHJlc291cmNlOiAoPFJlc291cmNlRXJyb3I+aXRlbSkucmVzb3VyY2UsIGVycm9yOiAoPFJlc291cmNlRXJyb3I+aXRlbSkuZXJyb3IgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzUmVzcC5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3NSZXNwLmxlbmd0aCA9PT0gcmVzcG9uc2UubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGhhc0Vycm9yOiBmYWxzZSwgdHJhbnNsYXRpb25zOiBtZXJnZUFsbChzdWNjZXNzUmVzcCkgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBoYXNFcnJvcjogdHJ1ZSwgdHJhbnNsYXRpb25zOiBtZXJnZUFsbChzdWNjZXNzUmVzcCksIGVycm9yczogZXJyUmVzcCB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIG5vIHJlc291cmNlcyB0byBsb2FkXG4gICAgICAgICAgICByZXR1cm4gb2YoeyBoYXNFcnJvcjogZmFsc2UsIHRyYW5zbGF0aW9uczoge30gfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgcmVzb3VyY2VzIGZyb20gYSBjb25maWcgZmlsZVxuICAgICAqIEBwYXJhbSBjb25maWcgbG9hZGVyIGNvbmZpZ3VyYXRpb25cbiAgICAgKiBAcmV0dXJucyBJMThuUmVzb3VyY2VJbXBsW10gcmVzb3VyY2VzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGNyZWF0ZVJlc291cmNlcyhjb25maWc6IEkxOG5Mb2FkZXJDb25maWcpOiBJMThuUmVzb3VyY2VJbXBsW10ge1xuICAgICAgICAvLyB1c2UgdGhlIGRlZmF1bHQgY29uZmlnIGFzIGEgcmVmZXJlbmNlIGJhc2VcbiAgICAgICAgY29uZmlnID0gZ2V0STE4bkxvYWRlckNvbmZpZyhjb25maWcpO1xuXG4gICAgICAgIGNvbnN0IHJlc291cmNlcyA9IFtdO1xuXG4gICAgICAgIC8vIGV4dHJhY3QgdGhlIGkxOG4gZm9sZGVycyBmcm9tIGNvbmZpZ1xuICAgICAgICBjb25zdCBpMThuRm9sZGVyczogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KGNvbmZpZy5pMThuRm9sZGVycykgP1xuICAgICAgICAgICAgY29uZmlnLmkxOG5Gb2xkZXJzIDogKGNvbmZpZy5pMThuRm9sZGVycyA/IFtjb25maWcuaTE4bkZvbGRlcnNdIDogW10pO1xuICAgICAgICBpZiAoaTE4bkZvbGRlcnMpIHtcbiAgICAgICAgICAgIC8vIGFkZCB0aGUgaTE4biBmb2xkZXJzIHRvIHJlc291cmNlc1xuICAgICAgICAgICAgcmVzb3VyY2VzLnB1c2goLi4uaTE4bkZvbGRlcnMubWFwKGZvbGRlciA9PiBuZXcgSTE4blJlc291cmNlSW1wbChgYXNzZXRzLyR7Zm9sZGVyfS9gLCAnLmpzb24nKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXh0cmFjdCB0aGUgaTE4biBzZXJ2aWNlcyBmcm9tIGNvbmZpZ1xuICAgICAgICBjb25zdCBpMThuU2VydmljZXM6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheShjb25maWcuaTE4blNlcnZpY2VzKSA/XG4gICAgICAgICAgICBjb25maWcuaTE4blNlcnZpY2VzIDogKGNvbmZpZy5pMThuU2VydmljZXMgPyBbY29uZmlnLmkxOG5TZXJ2aWNlc10gOiBbXSk7XG4gICAgICAgIGlmIChpMThuU2VydmljZXMpIHtcbiAgICAgICAgICAgIC8vIGFkZCB0aGUgaTE4biBzZXJ2aWNlcyB0byByZXNvdXJjZXNcbiAgICAgICAgICAgIHJlc291cmNlcy5wdXNoKC4uLmkxOG5TZXJ2aWNlcy5tYXAoc2VydmljZSA9PiBuZXcgSTE4blJlc291cmNlSW1wbChzZXJ2aWNlKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZXh0cmFjdCB0aGUgaTE4biByZXNvdXJjZXMgZnJvbSBjb25maWdcbiAgICAgICAgY29uc3QgaTE4blJlc291cmNlczogSTE4blJlc291cmNlW10gPSBBcnJheS5pc0FycmF5KGNvbmZpZy5pMThuUmVzb3VyY2VzKSA/XG4gICAgICAgICAgICBjb25maWcuaTE4blJlc291cmNlcyA6IChjb25maWcuaTE4blJlc291cmNlcyA/IFtjb25maWcuaTE4blJlc291cmNlc10gOiBbXSk7XG4gICAgICAgIGlmIChpMThuUmVzb3VyY2VzKSB7XG4gICAgICAgICAgICAvLyBhZGQgdGhlIGkxOG4gcmVzb3VyY2VzIHRvIHJlc291cmNlc1xuICAgICAgICAgICAgcmVzb3VyY2VzLnB1c2goLi4uaTE4blJlc291cmNlcy5tYXAocmVzb3VyY2UgPT4gbmV3IEkxOG5SZXNvdXJjZUltcGwoXG4gICAgICAgICAgICAgICAgcmVzb3VyY2UucHJlZml4LCByZXNvdXJjZS5zdWZmaXgsIHRoaXMuZ2V0UmVzb3VyY2VDb21waWxlRnVuY3Rpb24ocmVzb3VyY2UuY29tcGlsZVRyYW5zbGF0aW9ucykpKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzb3VyY2VzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIGEgcmVzb3VyY2UsIGJ5IGxhbmd1YWdlXG4gICAgICogQHBhcmFtIHJlc291cmNlIHRoZSBkZWZpbml0aW9uIG9mIHRoZSByZXNvdXJjZVxuICAgICAqIEBwYXJhbSBsYW5nIHRoZSByZXNvdXJjZSBsYW5ndWFnZSB0byBsb2FkXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxvYWRSZXNvdXJjZShyZXNvdXJjZTogSTE4blJlc291cmNlSW1wbCwgbGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICAvLyB0aGUgcGF0aCB0byB0aGUgcmVzb3VyY2VcbiAgICAgICAgY29uc3QgcGF0aCA9IHJlc291cmNlLmdldFBhdGgobGFuZyk7XG5cbiAgICAgICAgLy8gbG9hZCB0aGUgdHJhbnNsYXRpb25zIGZyb20gdGhlIHBhdGhcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQocGF0aClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIHByZXByb2Nlc3MgdGhlIHRyYW5zbGF0aW9ucyB1c2luZyB0aGUgcmVzb3VyY2UgY29tcGlsZXJcbiAgICAgICAgICAgICAgICBtYXAoKHRyYW5zbGF0aW9uczogYW55KSA9PiByZXNvdXJjZS5jb21waWxlVHJhbnNsYXRpb25zKHRyYW5zbGF0aW9ucywgbGFuZykpLFxuICAgICAgICAgICAgICAgIG1hcCgodHJhbnNsYXRpb25zOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVzb3VyY2UgbG9hZGVkIHByb3Blcmx5LCBzZW5kIGEgaW5mbyBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS5pbmZvKGBJMThuIHJlc291cmNlIGxvYWRlZCBmcm9tIHBhdGggJHtwYXRofWApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHJldHVybiB0aGUgdHJhbnNsYXRpb25zXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cmFuc2xhdGlvbnM7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlc291cmNlIG5vdCBsb2FkZWQgcHJvcGVybHksIHNlbmQgYSB3YXJuaW5nIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nU2VydmljZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLndhcm4oYEkxOG4gcmVzb3VyY2UgTk9UIGxvYWRlZCBmcm9tIHBhdGggJHtwYXRofWAsIGVycik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzb3VyY2VFcnJvcjogUmVzb3VyY2VFcnJvciA9IHsgZXJyb3I6IGBJMThuIHJlc291cmNlIE5PVCBsb2FkZWQgZnJvbSBwYXRoICR7cGF0aH1gLCByZXNvdXJjZSwgaXNFcnJvcjogdHJ1ZSB9O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YocmVzb3VyY2VFcnJvcik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UmVzb3VyY2VDb21waWxlRnVuY3Rpb24oaWQ6IHN0cmluZyk6IFRyYW5zbGF0aW9uc0NvbXBpbGVyIHtcbiAgICAgICAgY29uc3QgY3VzdG9tSGFuZGxlcnMgPSB0aGlzLmV1aUFwcENvbmZpZy5jdXN0b21IYW5kbGVyO1xuICAgICAgICBpZiAoY3VzdG9tSGFuZGxlcnMgJiYgdHlwZW9mIGN1c3RvbUhhbmRsZXJzW2lkXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIGN1c3RvbUhhbmRsZXJzW2lkXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn1cblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZUNvbmZpZyA9IHtcbiAgICBsb2FkZXI6IHtcbiAgICAgICAgcHJvdmlkZTogVHJhbnNsYXRlTG9hZGVyLFxuICAgICAgICB1c2VDbGFzczogSTE4bkxvYWRlcixcbiAgICB9LFxufTtcbiJdfQ==
@@ -1,13 +1,10 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
2
  import { Inject, Injectable, Optional } from '@angular/core';
3
- import { TranslateService } from '@ngx-translate/core';
4
3
  import { BehaviorSubject, forkJoin, of } from 'rxjs';
5
4
  import { catchError, filter, map, take, tap, switchMap } from 'rxjs/operators';
6
5
  import { EuiLazyService, getI18nServiceConfigFromBase, getI18nState, getActiveLang, getLastAddedModule, getBrowserDefaultLanguage, UxEuLanguages, } from '@eui/base';
7
6
  import { I18nLoader } from './i18n.loader';
8
7
  import { GLOBAL_CONFIG_TOKEN } from '../config/tokens';
9
- import { LogService } from '../log/log.service';
10
- import { StoreService } from '../store/store.service';
11
8
  import { UpdateI18nStateAction } from '../store/actions/i18n.actions';
12
9
  import { DEFAULT_I18N_SERVICE_CONFIG } from '../config/defaults';
13
10
  import * as i0 from "@angular/core";
@@ -219,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.0", ng
219
216
  type: Inject,
220
217
  args: [DOCUMENT]
221
218
  }] }]; } });
222
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUVILGNBQWMsRUFFZCw0QkFBNEIsRUFDNUIsWUFBWSxFQUNaLGFBQWEsRUFDYixrQkFBa0IsRUFLbEIseUJBQXlCLEVBQ3pCLGFBQWEsR0FDaEIsTUFBTSxXQUFXLENBQUM7QUFFbkIsT0FBTyxFQUFFLFVBQVUsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFXakUsTUFBTSxPQUFPLFdBQTZDLFNBQVEsY0FBNkI7SUFLM0YsWUFDMkMsZ0JBQThCLEVBQzNELGdCQUFrQyxFQUN0QixVQUFz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QUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGlCQUFpQixDQUFDLElBQVk7UUFDbEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUM5QyxDQUFDOzttSkFwT1EsV0FBVyxrQkFNUixtQkFBbUIsbUhBSW5CLFFBQVE7dUpBVlgsV0FBVyxjQUZSLE1BQU07Z0dBRVQsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU9RLE1BQU07MkJBQUMsbUJBQW1COzswQkFFMUIsUUFBUTt5REFFMkIsUUFBUTswQkFBM0MsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ0NoYW5nZUV2ZW50LCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRha2UsIHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBHbG9iYWxDb25maWcsXG4gICAgRXVpTGF6eVNlcnZpY2UsXG4gICAgRXVpU2VydmljZVN0YXR1cyxcbiAgICBnZXRJMThuU2VydmljZUNvbmZpZ0Zyb21CYXNlLFxuICAgIGdldEkxOG5TdGF0ZSxcbiAgICBnZXRBY3RpdmVMYW5nLFxuICAgIGdldExhc3RBZGRlZE1vZHVsZSxcbiAgICBJMThuTG9hZGVyQ29uZmlnLFxuICAgIEkxOG5TZXJ2aWNlQ29uZmlnLFxuICAgIEkxOG5TdGF0ZSxcbiAgICBNb2R1bGVDb25maWcsXG4gICAgZ2V0QnJvd3NlckRlZmF1bHRMYW5ndWFnZSxcbiAgICBVeEV1TGFuZ3VhZ2VzLFxufSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5pbXBvcnQgeyBJMThuTG9hZGVyLCBMb2FkZWRSZXNvdXJjZXMgfSBmcm9tICcuL2kxOG4ubG9hZGVyJztcbmltcG9ydCB7IEdMT0JBTF9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVJMThuU3RhdGVBY3Rpb24gfSBmcm9tICcuLi9zdG9yZS9hY3Rpb25zL2kxOG4uYWN0aW9ucyc7XG5pbXBvcnQgeyBERUZBVUxUX0kxOE5fU0VSVklDRV9DT05GSUcgfSBmcm9tICcuLi9jb25maWcvZGVmYXVsdHMnO1xuXG5pbnRlcmZhY2UgTW9kdWxlTG9hZEV2ZW50IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZXJyb3I/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlPFQgZXh0ZW5kcyBJMThuU3RhdGUgPSBJMThuU3RhdGU+IGV4dGVuZHMgRXVpTGF6eVNlcnZpY2U8VCB8IEkxOG5TdGF0ZT4ge1xuXG4gICAgcHJvdGVjdGVkIGNvbmZpZzogSTE4blNlcnZpY2VDb25maWc7XG4gICAgcHJvdGVjdGVkIG9uTW9kdWxlTG9hZDogQmVoYXZpb3JTdWJqZWN0PE1vZHVsZUxvYWRFdmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChHTE9CQUxfQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgYmFzZUdsb2JhbENvbmZpZzogR2xvYmFsQ29uZmlnLFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoeyBhY3RpdmVMYW5nOiAnZW4nIH0pO1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGdldEkxOG5TZXJ2aWNlQ29uZmlnRnJvbUJhc2UodGhpcy5iYXNlR2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1vZHVsZUxvYWRFdmVudD4oeyByZWFkeTogZmFsc2UsIG5hbWU6IG51bGwgfSk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGU8SyA9IFQ+KG1hcEZuPzogKHN0YXRlOiBUKSA9PiBLKTogT2JzZXJ2YWJsZTxLPjtcbiAgICBnZXRTdGF0ZTxhIGV4dGVuZHMga2V5b2YgVD4oa2V5PzogYSk6IE9ic2VydmFibGU8VFthXT47XG4gICAgZ2V0U3RhdGU8Sz4oa2V5T3JNYXBGbj86ICgoc3RhdGU6IFQpID0+IEspIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRJMThuU3RhdGUpO1xuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKGxhbmdTdGF0ZTogVCB8IEkxOG5TdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhUTUxET01MYW5nKGxhbmdTdGF0ZS5hY3RpdmVMYW5nKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlSTE4blN0YXRlQWN0aW9uKGxhbmdTdGF0ZSkpO1xuICAgIH1cblxuICAgIGluaXQobGFuZ1N0YXRlPzogVCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpbml0TGFuZyA9IGxhbmdTdGF0ZSAmJiBsYW5nU3RhdGUuYWN0aXZlTGFuZyA/IGxhbmdTdGF0ZS5hY3RpdmVMYW5nIDogdGhpcy5wcmVwYXJlZERlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICBjb25zdCBpbml0U3RhdGUgPSB7XG4gICAgICAgICAgICAuLi5sYW5nU3RhdGUsXG4gICAgICAgICAgICBhY3RpdmVMYW5nOiBpbml0TGFuZyxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR5cGVvZiBpbml0TGFuZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKHRoaXMuc3RvcmUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShpbml0U3RhdGUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dXAoaW5pdExhbmcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0luaXRpYWwgYWN0aXZlIGxhbmcgc2hvdWxkIGJlIHN0cmluZycgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBwaXBlIGZ1bmN0aW9uIHRoYXQgY291bGQgc2VydmUgYXMgYSB3cmFwcGVyIG9mIGFub3RoZXIgb2JzZXJ2YWJsZVxuICAgICAqIGUuZy4gbmd4LXRyYW5zbGF0ZSBpMThuLm9uUmVhZHkoJ215X21vZHVsZScpLnBpcGUoc3dpdGNoTWFwKCgpPT50cmFuc2xhdGUuZ2V0KCdldWkuS0VZJykpKTtcbiAgICAgKiBXQVJOSU5HOiBvblJlYWR5IHdpbGwgZW1pdCBvbmx5IG9uY2UgZm9yIGEgbG9hZGVkIE1vZHVsZSwgZ29pbmcgdG8gYW5vdGhlciBhbmQgdGhlbiBnb2luZyBiYWNrIHdpbGwgbm90IHJlc3VsdFxuICAgICAqIGludG8gYW5vdGhlciBlbWlzc2lvbi5cbiAgICAgKiBAcGFyYW0gbW9kdWxlTmFtZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRoYXQgaGFzIGJlZW4gZ2l2ZW4gdGhyb3VnaCB0aGUgZVVJIGdsb2JhbENvbmZpZy4gSW4gY2FzZSBub24gcHJvdmlkZWRcbiAgICAgKiBmZXRjaCBtb2R1bGUgbmFtZSBmcm9tIHRoZSBzdGF0ZS5cbiAgICAgKi9cbiAgICBvblJlYWR5KG1vZHVsZU5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vbk1vZHVsZUxvYWQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoZXZ0OiBNb2R1bGVMb2FkRXZlbnQpID0+IG1vZHVsZU5hbWUgPyBvZihldnQpIDpcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRMYXN0QWRkZWRNb2R1bGUpLnBpcGUodGFwKG0gPT4gbW9kdWxlTmFtZSA9IG0pLCBtYXAoKCkgPT4gZXZ0KSkpLFxuICAgICAgICAgICAgLy8gZW1pdCBvbmx5IGlmIGV2ZW50IGVtaXR0ZWQgbWF0Y2hlcyB0aGUgbW9kdWxlIG5hbWUgYW5kIGlzIHJlYWR5XG4gICAgICAgICAgICBmaWx0ZXIoKGV2dDogTW9kdWxlTG9hZEV2ZW50KSA9PiBldnQucmVhZHkgPT09IHRydWUgJiYgZXZ0Lm5hbWUgPT09IG1vZHVsZU5hbWUpLFxuICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgb2JzZXJ2YWJsZSBjb21wbGV0ZXNcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGxhenlMb2FkKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBtb2R1bGVJZCA9IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiAxMDAwMDApICsgMSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGNvbmZpZywgbW9kdWxlSWQpO1xuICAgIH1cblxuICAgIGxhenlMb2FkSW5pdChtb2R1bGVDb25maWc6IE1vZHVsZUNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpMThuTG9hZGVyQ29uZmlnID0gbW9kdWxlQ29uZmlnIGFzIEkxOG5Mb2FkZXJDb25maWc7XG4gICAgICAgIC8vIGFkZCByZXNvdXJjZXNcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCByZXNvdXJjZXMgYmFzZWQgb2YgYSBjb25maWcgbG9hZGVyXG4gICAgICogQHBhcmFtIGNvbmZpZyBJMThuTG9hZGVyQ29uZmlnXG4gICAgICogQHJldHVybiBQcm9taXNlPEV1aVNlcnZpY2VTdGF0dXM+IGFuIEV1aVNlcnZpY2VTdGF0dXMgd2hlbiB0cmFuc2xhdGlvbiBoYXMgZnVsbHkgbG9hZGVkXG4gICAgICovXG4gICAgcHVibGljIGFkZFJlc291cmNlcyhjb25maWc6IEkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcblxuICAgICAgICAvLyBlbWl0IHRoYXQgbW9kdWxlIGlzIGxvYWRpbmdcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiBmYWxzZSwgbmFtZTogbW9kdWxlTmFtZSB9KTtcblxuICAgICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlcjtcbiAgICAgICAgaWYgKGxvYWRlciBpbnN0YW5jZW9mIEkxOG5Mb2FkZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmdTdWJzY3JpcHRpb246IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgICAgICAgICBjb25zdCBpMThuTG9hZGVyID0gPEkxOG5Mb2FkZXI+bG9hZGVyO1xuXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJlc291cmNlcyB0byB0aGUgbG9hZGVyXG4gICAgICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBpMThuTG9hZGVyLmFkZFJlc291cmNlcyhjb25maWcpO1xuXG4gICAgICAgICAgICAvLyBtYW51YWxseSBsb2FkIHRoZSByZXNvdXJjZXMgZm9yIHRoZSBDVVJSRU5UIGxhbmd1YWdlIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcbiAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChpMThuTG9hZGVyLmxvYWRSZXNvdXJjZXMocmVzb3VyY2VzLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCB0aGUgbmV3IHNldCBvZiB0cmFuc2xhdGlvbnMgdG8gdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcsIGxvYWRlZFJlc291cmNlcy50cmFuc2xhdGlvbnMsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxvYWRlZFJlc291cmNlcy5oYXNFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkxOG5Mb2FkZXIucmVtb3ZlUmVzb3VyY2VzKGxvYWRlZFJlc291cmNlcy5lcnJvcnMubWFwKGVyciA9PiBlcnIucmVzb3VyY2UpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSk7XG5cbiAgICAgICAgICAgIC8vIGlmIHRoZSBjdXJyZW50IGxhbmd1YWdlIGlzIGRpZmZlcmVudCB0aGFuIHRoZSBERUZBVUxUIGxhbmd1YWdlXG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nICE9PSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZGVmYXVsdExhbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBtYW51YWxseSBsb2FkIHRoZSByZXNvdXJjZXMgZm9yIHRoZSBkZWZhdWx0IGxhbmd1YWdlIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcbiAgICAgICAgICAgICAgICBsYW5nU3Vic2NyaXB0aW9uLnB1c2goaTE4bkxvYWRlci5sb2FkUmVzb3VyY2VzKHJlc291cmNlcywgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmRlZmF1bHRMYW5nKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoKGxvYWRlZFJlc291cmNlczogTG9hZGVkUmVzb3VyY2VzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldFRyYW5zbGF0aW9uKHRoaXMudHJhbnNsYXRlU2VydmljZS5kZWZhdWx0TGFuZywgbG9hZGVkUmVzb3VyY2VzLnRyYW5zbGF0aW9ucywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxvYWRlZFJlc291cmNlcy5oYXNFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpMThuTG9hZGVyLnJlbW92ZVJlc291cmNlcyhsb2FkZWRSZXNvdXJjZXMuZXJyb3JzLm1hcChlcnIgPT4gZXJyLnJlc291cmNlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZm9ya0pvaW4obGFuZ1N1YnNjcmlwdGlvbikucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGxvYWRlZFJlc291cmNlc0FycjogTG9hZGVkUmVzb3VyY2VzW10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFsb2FkZWRSZXNvdXJjZXNBcnJbMF0uaGFzRXJyb3IgP1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBzdWNjZXNzOiB0cnVlIH0gOlxuICAgICAgICAgICAgICAgICAgICAgICAgeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGxvYWRlZFJlc291cmNlc0FyclswXS5lcnJvcnMgfTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbWl0IHN0YXR1cyBvZiBtb2R1bGUgbG9hZGluZyBwcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTW9kdWxlTG9hZC5uZXh0KHsgcmVhZHk6IHRydWUsIG5hbWU6IG1vZHVsZU5hbWUgfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVtaXQgc3RhdHVzIG9mIG1vZHVsZSBsb2FkaW5nIHByb2dyZXNzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Nb2R1bGVMb2FkLm5leHQoeyByZWFkeTogdHJ1ZSwgbmFtZTogbW9kdWxlTmFtZSwgZXJyb3I6IGVycm9yIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGVycm9yIH0pO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ2N1cnJlbnRMb2FkZXIgaXMgbm90IGFuIEkxOG5Mb2FkZXIuJyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXBhcmVzIHRoZSBkZWZhdWx0IGxhbmd1YWdlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcmVwYXJlZERlZmF1bHRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBicm93c2VyUHJlZiA9IGdldEJyb3dzZXJEZWZhdWx0TGFuZ3VhZ2UoKTtcbiAgICAgICAgLy8gSWYgdXNlciBoYXMgYnJvd3NlciBwcmVmZXJyZWQgbGFuZywgYW5kIHRoYXQgbGFuZ3VhZ2UgaXMgcGFydCBvZiB0aGUgbGFuZ3VhZ2VzIGFycmF5XG4gICAgICAgIGlmIChicm93c2VyUHJlZiAmJiB0aGlzLmNvbmZpZy5sYW5ndWFnZXMgJiYgVXhFdUxhbmd1YWdlcy5nZXRMYW5ndWFnZUNvZGVzKHRoaXMuY29uZmlnLmxhbmd1YWdlcykuaW5jbHVkZXMoYnJvd3NlclByZWYpKSB7XG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlclByZWY7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGVmYXVsdF9sYW5ndWFnZSBpZiBnaXZlbiBkZWZhdWx0IGxhbmd1YWdlIHRvIG92ZXJyaWRlIGRlZmF1bHQgbGFuZ3VhZ2UgY29taW5nIGZyb20gdGhlXG4gICAgICogY29uZmlndXJhdGlvbiB0b2tlbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldHVwKGluaXRMYW5ndWFnZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIC8vIHVzZSB0aGUgZGVmYXVsdCBjb25maWcgYXMgYSByZWZlcmVuY2UgYmFzZVxuICAgICAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfSTE4Tl9TRVJWSUNFX0NPTkZJRywgdGhpcy5jb25maWcpO1xuICAgICAgICAvLyBjb25maWd1cmUgdGhlIHRyYW5zbGF0ZSBjb25maWcgc2VydmljZVxuICAgICAgICBpZiAodGhpcy5jb25maWcubGFuZ3VhZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ3MoVXhFdUxhbmd1YWdlcy5nZXRMYW5ndWFnZUNvZGVzKHRoaXMuY29uZmlnLmxhbmd1YWdlcykpO1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nU2VydmljZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS5pbmZvKGBJMThuIGFjY2VwdGVkIGxhbmd1YWdlcyBzZXQgdG8gJHtVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UsIGNhdXNpbmcgdG8gbG9hZCB0cmFuc2xhdGlvbnNcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgICAgICAgICAgLnVzZShpbml0TGFuZ3VhZ2UpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJpbmRBY3RpdmVMYW5nU3RhdGVUb1RyYW5zbGF0ZVNlcnZpY2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdExhbmd1YWdlKHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kQWN0aXZlTGFuZ1N0YXRlVG9UcmFuc2xhdGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRBY3RpdmVMYW5nKS5zdWJzY3JpYmUoKGxhbmc6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGxhbmcgIT09IG51bGwgJiYgKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyAhPT0gbGFuZykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZShsYW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6IExhbmdDaGFuZ2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGVJbnN0YW5jZS5hY3RpdmVMYW5nICE9PSBldmVudC5sYW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7IGFjdGl2ZUxhbmc6IGV2ZW50LmxhbmcgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gY3VycmVudCBsYW5ndWFnZSBzZXQgdG8gJHtldmVudC5sYW5nfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRMYW5ndWFnZShkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZykge1xuICAgICAgICAvLyByZW1vdmVkLCBjdXJyZW50IGxhbmd1YWdlIGlzIGFscmVhZHkgY2FsY3VsYXRlZCBpbiBpbml0LCBzZXR1cCBmdW5jdGlvbiBmaWxsIHVzZSBpdCBkaXJlY3RseSwgbm90IGRlZmF1bHRcbiAgICAgICAgLy8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID0gZGVmYXVsdF9sYW5ndWFnZSB8fCB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2U7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXREZWZhdWx0TGFuZyhkZWZhdWx0TGFuZ3VhZ2UpO1xuICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biBkZWZhdWx0IGxhbmd1YWdlIHNldCB0byAke2RlZmF1bHRMYW5ndWFnZX1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoYW5nZSB0aGUgY3VycmVudGx5IHVzZWQgbGFuZ3VhZ2VcbiAgICAgKiBAcGFyYW0gbGFuZyBpcyB0aGUgbGFuZ3VhZ2UgY29kZSBiYXNlZCBvbiB0aGUgY29udmVudGlvbiB5b3UgdXNlZCBlLmcuIChlbiBvciBlbi1FTilcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgY29udGFpbiB0aGUgb2JqZWN0IHRyYW5zbGF0aW9uIGZvciBnaXZlbiBsYW5ndWFnZSBhZnRlciBsYW5ndWFnZVxuICAgICAqIGZ1bGx5IGxvYWRlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVzZShsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB1cGRhdGVzIHRoZSBIVE1MIGVsZW1lbnQgbGFuZyBhdHRyaWJ1dGVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlSFRNTERPTUxhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5nO1xuICAgIH1cbn1cbiJdfQ==
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBRUgsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osYUFBYSxFQUNiLGtCQUFrQixFQUtsQix5QkFBeUIsRUFDekIsYUFBYSxHQUNoQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFXakUsTUFBTSxPQUFPLFdBQTZDLFNBQVEsY0FBNkI7SUFLM0YsWUFDMkMsZ0JBQThCLEVBQzNELGdCQUFrQyxFQUN0QixVQUFzQixFQUNsQyxLQUFtQixFQUNILFFBQWtCO1FBRTVDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBTlcscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFjO1FBQzNELHFCQUFnQixHQUFoQixnQkFBZ0Is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VyxrQkFNUixtQkFBbUIsbUhBSW5CLFFBQVE7dUpBVlgsV0FBVyxjQUZSLE1BQU07Z0dBRVQsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU9RLE1BQU07MkJBQUMsbUJBQW1COzswQkFFMUIsUUFBUTt5REFFMkIsUUFBUTswQkFBM0MsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ0NoYW5nZUV2ZW50LCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRha2UsIHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBHbG9iYWxDb25maWcsXG4gICAgRXVpTGF6eVNlcnZpY2UsXG4gICAgRXVpU2VydmljZVN0YXR1cyxcbiAgICBnZXRJMThuU2VydmljZUNvbmZpZ0Zyb21CYXNlLFxuICAgIGdldEkxOG5TdGF0ZSxcbiAgICBnZXRBY3RpdmVMYW5nLFxuICAgIGdldExhc3RBZGRlZE1vZHVsZSxcbiAgICBJMThuTG9hZGVyQ29uZmlnLFxuICAgIEkxOG5TZXJ2aWNlQ29uZmlnLFxuICAgIEkxOG5TdGF0ZSxcbiAgICBNb2R1bGVDb25maWcsXG4gICAgZ2V0QnJvd3NlckRlZmF1bHRMYW5ndWFnZSxcbiAgICBVeEV1TGFuZ3VhZ2VzLFxufSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5pbXBvcnQgeyBJMThuTG9hZGVyLCBMb2FkZWRSZXNvdXJjZXMgfSBmcm9tICcuL2kxOG4ubG9hZGVyJztcbmltcG9ydCB7IEdMT0JBTF9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVJMThuU3RhdGVBY3Rpb24gfSBmcm9tICcuLi9zdG9yZS9hY3Rpb25zL2kxOG4uYWN0aW9ucyc7XG5pbXBvcnQgeyBERUZBVUxUX0kxOE5fU0VSVklDRV9DT05GSUcgfSBmcm9tICcuLi9jb25maWcvZGVmYXVsdHMnO1xuXG5pbnRlcmZhY2UgTW9kdWxlTG9hZEV2ZW50IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZXJyb3I/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlPFQgZXh0ZW5kcyBJMThuU3RhdGUgPSBJMThuU3RhdGU+IGV4dGVuZHMgRXVpTGF6eVNlcnZpY2U8VCB8IEkxOG5TdGF0ZT4ge1xuXG4gICAgcHJvdGVjdGVkIGNvbmZpZzogSTE4blNlcnZpY2VDb25maWc7XG4gICAgcHJvdGVjdGVkIG9uTW9kdWxlTG9hZDogQmVoYXZpb3JTdWJqZWN0PE1vZHVsZUxvYWRFdmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChHTE9CQUxfQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgYmFzZUdsb2JhbENvbmZpZzogR2xvYmFsQ29uZmlnLFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoeyBhY3RpdmVMYW5nOiAnZW4nIH0pO1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGdldEkxOG5TZXJ2aWNlQ29uZmlnRnJvbUJhc2UodGhpcy5iYXNlR2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1vZHVsZUxvYWRFdmVudD4oeyByZWFkeTogZmFsc2UsIG5hbWU6IG51bGwgfSk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGU8SyA9IFQ+KG1hcEZuPzogKHN0YXRlOiBUKSA9PiBLKTogT2JzZXJ2YWJsZTxLPjtcbiAgICBnZXRTdGF0ZTxhIGV4dGVuZHMga2V5b2YgVD4oa2V5PzogYSk6IE9ic2VydmFibGU8VFthXT47XG4gICAgZ2V0U3RhdGU8Sz4oa2V5T3JNYXBGbj86ICgoc3RhdGU6IFQpID0+IEspIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRJMThuU3RhdGUpO1xuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKGxhbmdTdGF0ZTogVCB8IEkxOG5TdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhUTUxET01MYW5nKGxhbmdTdGF0ZS5hY3RpdmVMYW5nKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlSTE4blN0YXRlQWN0aW9uKGxhbmdTdGF0ZSkpO1xuICAgIH1cblxuICAgIGluaXQobGFuZ1N0YXRlPzogVCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpbml0TGFuZyA9IGxhbmdTdGF0ZSAmJiBsYW5nU3RhdGUuYWN0aXZlTGFuZyA/IGxhbmdTdGF0ZS5hY3RpdmVMYW5nIDogdGhpcy5wcmVwYXJlZERlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICBjb25zdCBpbml0U3RhdGUgPSB7XG4gICAgICAgICAgICAuLi5sYW5nU3RhdGUsXG4gICAgICAgICAgICBhY3RpdmVMYW5nOiBpbml0TGFuZyxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR5cGVvZiBpbml0TGFuZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKHRoaXMuc3RvcmUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShpbml0U3RhdGUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dXAoaW5pdExhbmcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0luaXRpYWwgYWN0aXZlIGxhbmcgc2hvdWxkIGJlIHN0cmluZycgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBwaXBlIGZ1bmN0aW9uIHRoYXQgY291bGQgc2VydmUgYXMgYSB3cmFwcGVyIG9mIGFub3RoZXIgb2JzZXJ2YWJsZVxuICAgICAqIGUuZy4gbmd4LXRyYW5zbGF0ZSBpMThuLm9uUmVhZHkoJ215X21vZHVsZScpLnBpcGUoc3dpdGNoTWFwKCgpPT50cmFuc2xhdGUuZ2V0KCdldWkuS0VZJykpKTtcbiAgICAgKiBXQVJOSU5HOiBvblJlYWR5IHdpbGwgZW1pdCBvbmx5IG9uY2UgZm9yIGEgbG9hZGVkIE1vZHVsZSwgZ29pbmcgdG8gYW5vdGhlciBhbmQgdGhlbiBnb2luZyBiYWNrIHdpbGwgbm90IHJlc3VsdFxuICAgICAqIGludG8gYW5vdGhlciBlbWlzc2lvbi5cbiAgICAgKiBAcGFyYW0gbW9kdWxlTmFtZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRoYXQgaGFzIGJlZW4gZ2l2ZW4gdGhyb3VnaCB0aGUgZVVJIGdsb2JhbENvbmZpZy4gSW4gY2FzZSBub24gcHJvdmlkZWRcbiAgICAgKiBmZXRjaCBtb2R1bGUgbmFtZSBmcm9tIHRoZSBzdGF0ZS5cbiAgICAgKi9cbiAgICBvblJlYWR5KG1vZHVsZU5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vbk1vZHVsZUxvYWQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoZXZ0OiBNb2R1bGVMb2FkRXZlbnQpID0+IG1vZHVsZU5hbWUgPyBvZihldnQpIDpcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRMYXN0QWRkZWRNb2R1bGUpLnBpcGUodGFwKG0gPT4gbW9kdWxlTmFtZSA9IG0pLCBtYXAoKCkgPT4gZXZ0KSkpLFxuICAgICAgICAgICAgLy8gZW1pdCBvbmx5IGlmIGV2ZW50IGVtaXR0ZWQgbWF0Y2hlcyB0aGUgbW9kdWxlIG5hbWUgYW5kIGlzIHJlYWR5XG4gICAgICAgICAgICBmaWx0ZXIoKGV2dDogTW9kdWxlTG9hZEV2ZW50KSA9PiBldnQucmVhZHkgPT09IHRydWUgJiYgZXZ0Lm5hbWUgPT09IG1vZHVsZU5hbWUpLFxuICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgb2JzZXJ2YWJsZSBjb21wbGV0ZXNcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGxhenlMb2FkKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBtb2R1bGVJZCA9IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiAxMDAwMDApICsgMSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGNvbmZpZywgbW9kdWxlSWQpO1xuICAgIH1cblxuICAgIGxhenlMb2FkSW5pdChtb2R1bGVDb25maWc6IE1vZHVsZUNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpMThuTG9hZGVyQ29uZmlnID0gbW9kdWxlQ29uZmlnIGFzIEkxOG5Mb2FkZXJDb25maWc7XG4gICAgICAgIC8vIGFkZCByZXNvdXJjZXNcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCByZXNvdXJjZXMgYmFzZWQgb2YgYSBjb25maWcgbG9hZGVyXG4gICAgICogQHBhcmFtIGNvbmZpZyBJMThuTG9hZGVyQ29uZmlnXG4gICAgICogQHJldHVybiBQcm9taXNlPEV1aVNlcnZpY2VTdGF0dXM+IGFuIEV1aVNlcnZpY2VTdGF0dXMgd2hlbiB0cmFuc2xhdGlvbiBoYXMgZnVsbHkgbG9hZGVkXG4gICAgICovXG4gICAgcHVibGljIGFkZFJlc291cmNlcyhjb25maWc6IEkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcblxuICAgICAgICAvLyBlbWl0IHRoYXQgbW9kdWxlIGlzIGxvYWRpbmdcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiBmYWxzZSwgbmFtZTogbW9kdWxlTmFtZSB9KTtcblxuICAgICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlcjtcbiAgICAgICAgaWYgKGxvYWRlciBpbnN0YW5jZW9mIEkxOG5Mb2FkZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmdTdWJzY3JpcHRpb246IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgICAgICAgICBjb25zdCBpMThuTG9hZGVyID0gPEkxOG5Mb2FkZXI+bG9hZGVyO1xuXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJlc291cmNlcyB0byB0aGUgbG9hZGVyXG4gICAgICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBpMThuTG9hZGVyLmFkZFJlc291cmNlcyhjb25maWcpO1xuXG4gICAgICAgICAgICAvLyBtYW51YWxseSBsb2FkIHRoZSByZXNvdXJjZXMgZm9yIHRoZSBDVVJSRU5UIGxhbmd1YWdlIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcbiAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChpMThuTG9hZGVyLmxvYWRSZXNvdXJjZXMocmVzb3VyY2VzLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCB0aGUgbmV3IHNldCBvZiB0cmFuc2xhdGlvbnMgdG8gdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcsIGxvYWRlZFJlc291cmNlcy50cmFuc2xhdGlvbnMsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxvYWRlZFJlc291cmNlcy5oYXNFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkxOG5Mb2FkZXIucmVtb3ZlUmVzb3VyY2VzKGxvYWRlZFJlc291cmNlcy5lcnJvcnMubWFwKGVyciA9PiBlcnIucmVzb3VyY2UpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSk7XG5cbiAgICAgICAgICAgIC8vIGlmIHRoZSBjdXJyZW50IGxhbmd1YWdlIGlzIGRpZmZlcmVudCB0aGFuIHRoZSBERUZBVUxUIGxhbmd1YWdlXG4gICAgICAgICAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nICE9PSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZGVmYXVsdExhbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBtYW51YWxseSBsb2FkIHRoZSByZXNvdXJjZXMgZm9yIHRoZSBkZWZhdWx0IGxhbmd1YWdlIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcbiAgICAgICAgICAgICAgICBsYW5nU3Vic2NyaXB0aW9uLnB1c2goaTE4bkxvYWRlci5sb2FkUmVzb3VyY2VzKHJlc291cmNlcywgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmRlZmF1bHRMYW5nKVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YXAoKGxvYWRlZFJlc291cmNlczogTG9hZGVkUmVzb3VyY2VzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldFRyYW5zbGF0aW9uKHRoaXMudHJhbnNsYXRlU2VydmljZS5kZWZhdWx0TGFuZywgbG9hZGVkUmVzb3VyY2VzLnRyYW5zbGF0aW9ucywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxvYWRlZFJlc291cmNlcy5oYXNFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpMThuTG9hZGVyLnJlbW92ZVJlc291cmNlcyhsb2FkZWRSZXNvdXJjZXMuZXJyb3JzLm1hcChlcnIgPT4gZXJyLnJlc291cmNlKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZm9ya0pvaW4obGFuZ1N1YnNjcmlwdGlvbikucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGxvYWRlZFJlc291cmNlc0FycjogTG9hZGVkUmVzb3VyY2VzW10pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICFsb2FkZWRSZXNvdXJjZXNBcnJbMF0uaGFzRXJyb3IgP1xuICAgICAgICAgICAgICAgICAgICAgICAgeyBzdWNjZXNzOiB0cnVlIH0gOlxuICAgICAgICAgICAgICAgICAgICAgICAgeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGxvYWRlZFJlc291cmNlc0FyclswXS5lcnJvcnMgfTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbWl0IHN0YXR1cyBvZiBtb2R1bGUgbG9hZGluZyBwcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTW9kdWxlTG9hZC5uZXh0KHsgcmVhZHk6IHRydWUsIG5hbWU6IG1vZHVsZU5hbWUgfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVtaXQgc3RhdHVzIG9mIG1vZHVsZSBsb2FkaW5nIHByb2dyZXNzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Nb2R1bGVMb2FkLm5leHQoeyByZWFkeTogdHJ1ZSwgbmFtZTogbW9kdWxlTmFtZSwgZXJyb3I6IGVycm9yIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGVycm9yIH0pO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ2N1cnJlbnRMb2FkZXIgaXMgbm90IGFuIEkxOG5Mb2FkZXIuJyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXBhcmVzIHRoZSBkZWZhdWx0IGxhbmd1YWdlXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcmVwYXJlZERlZmF1bHRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBicm93c2VyUHJlZiA9IGdldEJyb3dzZXJEZWZhdWx0TGFuZ3VhZ2UoKTtcbiAgICAgICAgLy8gSWYgdXNlciBoYXMgYnJvd3NlciBwcmVmZXJyZWQgbGFuZywgYW5kIHRoYXQgbGFuZ3VhZ2UgaXMgcGFydCBvZiB0aGUgbGFuZ3VhZ2VzIGFycmF5XG4gICAgICAgIGlmIChicm93c2VyUHJlZiAmJiB0aGlzLmNvbmZpZy5sYW5ndWFnZXMgJiYgVXhFdUxhbmd1YWdlcy5nZXRMYW5ndWFnZUNvZGVzKHRoaXMuY29uZmlnLmxhbmd1YWdlcykuaW5jbHVkZXMoYnJvd3NlclByZWYpKSB7XG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlclByZWY7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAcGFyYW0gZGVmYXVsdF9sYW5ndWFnZSBpZiBnaXZlbiBkZWZhdWx0IGxhbmd1YWdlIHRvIG92ZXJyaWRlIGRlZmF1bHQgbGFuZ3VhZ2UgY29taW5nIGZyb20gdGhlXG4gICAgICogY29uZmlndXJhdGlvbiB0b2tlbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIHNldHVwKGluaXRMYW5ndWFnZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIC8vIHVzZSB0aGUgZGVmYXVsdCBjb25maWcgYXMgYSByZWZlcmVuY2UgYmFzZVxuICAgICAgICB0aGlzLmNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfSTE4Tl9TRVJWSUNFX0NPTkZJRywgdGhpcy5jb25maWcpO1xuICAgICAgICAvLyBjb25maWd1cmUgdGhlIHRyYW5zbGF0ZSBjb25maWcgc2VydmljZVxuICAgICAgICBpZiAodGhpcy5jb25maWcubGFuZ3VhZ2VzKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ3MoVXhFdUxhbmd1YWdlcy5nZXRMYW5ndWFnZUNvZGVzKHRoaXMuY29uZmlnLmxhbmd1YWdlcykpO1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nU2VydmljZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS5pbmZvKGBJMThuIGFjY2VwdGVkIGxhbmd1YWdlcyBzZXQgdG8gJHtVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBzZXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UsIGNhdXNpbmcgdG8gbG9hZCB0cmFuc2xhdGlvbnNcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZVxuICAgICAgICAgICAgLnVzZShpbml0TGFuZ3VhZ2UpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJpbmRBY3RpdmVMYW5nU3RhdGVUb1RyYW5zbGF0ZVNlcnZpY2UoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RGVmYXVsdExhbmd1YWdlKHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kQWN0aXZlTGFuZ1N0YXRlVG9UcmFuc2xhdGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRBY3RpdmVMYW5nKS5zdWJzY3JpYmUoKGxhbmc6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGxhbmcgIT09IG51bGwgJiYgKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyAhPT0gbGFuZykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZShsYW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6IExhbmdDaGFuZ2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGVJbnN0YW5jZS5hY3RpdmVMYW5nICE9PSBldmVudC5sYW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7IGFjdGl2ZUxhbmc6IGV2ZW50LmxhbmcgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gY3VycmVudCBsYW5ndWFnZSBzZXQgdG8gJHtldmVudC5sYW5nfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRMYW5ndWFnZShkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZykge1xuICAgICAgICAvLyByZW1vdmVkLCBjdXJyZW50IGxhbmd1YWdlIGlzIGFscmVhZHkgY2FsY3VsYXRlZCBpbiBpbml0LCBzZXR1cCBmdW5jdGlvbiBmaWxsIHVzZSBpdCBkaXJlY3RseSwgbm90IGRlZmF1bHRcbiAgICAgICAgLy8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID0gZGVmYXVsdF9sYW5ndWFnZSB8fCB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2U7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXREZWZhdWx0TGFuZyhkZWZhdWx0TGFuZ3VhZ2UpO1xuICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biBkZWZhdWx0IGxhbmd1YWdlIHNldCB0byAke2RlZmF1bHRMYW5ndWFnZX1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoYW5nZSB0aGUgY3VycmVudGx5IHVzZWQgbGFuZ3VhZ2VcbiAgICAgKiBAcGFyYW0gbGFuZyBpcyB0aGUgbGFuZ3VhZ2UgY29kZSBiYXNlZCBvbiB0aGUgY29udmVudGlvbiB5b3UgdXNlZCBlLmcuIChlbiBvciBlbi1FTilcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgY29udGFpbiB0aGUgb2JqZWN0IHRyYW5zbGF0aW9uIGZvciBnaXZlbiBsYW5ndWFnZSBhZnRlciBsYW5ndWFnZVxuICAgICAqIGZ1bGx5IGxvYWRlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVzZShsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB1cGRhdGVzIHRoZSBIVE1MIGVsZW1lbnQgbGFuZyBhdHRyaWJ1dGVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlSFRNTERPTUxhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5nO1xuICAgIH1cbn1cbiJdfQ==
@@ -14,9 +14,7 @@ import { getLocaleId, registerLocaleData } from '@angular/common';
14
14
  import { EuiService, getLocaleState, getLocaleServiceConfigFromBase, } from '@eui/base';
15
15
  import { forkJoin, of, Subject, from, throwError } from 'rxjs';
16
16
  import { catchError, filter, map, mergeMap, switchMap, take, takeUntil, tap } from 'rxjs/operators';
17
- import { StoreService, UpdateLocaleStateAction } from '../store';
18
- import { LogService } from '../log';
19
- import { I18nService } from '../i18n';
17
+ import { UpdateLocaleStateAction } from '../store';
20
18
  import { GLOBAL_CONFIG_TOKEN } from '../config/tokens';
21
19
  import * as i0 from "@angular/core";
22
20
  import * as i1 from "../store";
@@ -247,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.0", ng
247
245
  }] }, { type: i3.LogService, decorators: [{
248
246
  type: Optional
249
247
  }] }]; } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvY2FsZS9sb2NhbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCxVQUFVLEVBRVYsY0FBYyxFQUNkLDhCQUE4QixHQUtqQyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQUd2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBZSxnQkFBZ0IsQ0FBQyxDQUFDO0FBS25GLE1BQU0sT0FBTyxhQUFjLFNBQVEsVUFBdUI7SUFLdEQsWUFBc0IsS0FBbUIsRUFDVSxnQkFBOEIsRUFDeEMsU0FBaUIsRUFDQSxZQUEwQixFQUNw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LENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQ3RFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDdEQsQ0FBQyxDQUNKLENBQUMsQ0FBQztJQUNYLENBQUM7O3FKQXhQUSxhQUFhLDhDQU1GLG1CQUFtQixhQUNuQixTQUFTLGFBQ0csZ0JBQWdCO3lKQVJ2QyxhQUFhLGNBRlYsTUFBTTtnR0FFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT2dCLE1BQU07MkJBQUMsbUJBQW1COzswQkFDMUIsTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUNuQyxRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBbmd1bGFyIGlzIHVzaW5nIGEgZ3VscCB0YXNrIHRvIGdlbmVyYXRlIHRoZSBsb2NhbGVzIHRoYXQgd2UgZHluYW1pY2FsbHkgaW1wb3J0LiBUaGlzIHRhc2sgY2FuIGJlIGZvdW5kIGhlcmVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9tYXN0ZXIvdG9vbHMvZ3VscC10YXNrcy9jbGRyL2NsZHItZGF0YS5qc1xuICogVGhhdCB0YXNrIGlzIHV0aWxpemluZyB0aGUgQ0xEUiBsaWJyYXJ5IHRvIGxvYWQgYW5kIGNvbnN0cnVjdCB0aGUgbG9jYWxlIGZvciBlYWNoIHJlZ2lvbi4gVGhpcyBzZXJ2aWNlIGlzIHJlc3BvbnNpYmxlXG4gKiB0byBsb2FkIHRob3NlIGxvY2FsZSBkeW5hbWljYWxseSB1cG9uIHJlcXVlc3QgYW5kIHRvIHVwZGF0ZSB0aGUgc3RhdGUgb2YgdGhlIGVVSSBhcHAuXG4gKlxuICogUGFydHMgdGhhdCBhcmUgaGFuZGxlcyB0aHJvdWdoIGNvbmZpZ3VyYXRpb246XG4gKiAgLSB1cGRhdGUgb2YgdGhlIExPQ0FMRV9JRCB0b2tlblxuICogIC0gaW5pdGlhbCBkeW5hbWljYWwgbG9hZCBvZiBsb2NhbGVzXG4gKiAgLSBiaW5kIHRvIHRyYW5zbGF0aW9uIHNlcnZpY2UgZm9yIGxvY2FsZSBjaGFuZ2VzXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgTE9DQUxFX0lELCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRMb2NhbGVJZCwgcmVnaXN0ZXJMb2NhbGVEYXRhIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgRXVpU2VydmljZSxcbiAgICBFdWlTZXJ2aWNlU3RhdHVzLFxuICAgIGdldExvY2FsZVN0YXRlLFxuICAgIGdldExvY2FsZVNlcnZpY2VDb25maWdGcm9tQmFzZSxcbiAgICBHbG9iYWxDb25maWcsXG4gICAgTG9jYWxlU2VydmljZUNvbmZpZyxcbiAgICBMb2NhbGVTdGF0ZSxcbiAgICBMb2dnZXIsXG59IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QsIGZyb20sIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgbWFwLCBtZXJnZU1hcCwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSwgVXBkYXRlTG9jYWxlU3RhdGVBY3Rpb24gfSBmcm9tICcuLi9zdG9yZSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bic7XG5pbXBvcnQgeyBHTE9CQUxfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vY29uZmlnL3Rva2Vucyc7XG5cbmV4cG9ydCB0eXBlIExvY2FsZU1hcHBlciA9IChsb2NhbGU6IHN0cmluZykgPT4gYW55O1xuZXhwb3J0IGNvbnN0IExPQ0FMRV9JRF9NQVBQRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9jYWxlTWFwcGVyPignbG9jYWxlSWRNYXBwZXInKTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGVTZXJ2aWNlIGV4dGVuZHMgRXVpU2VydmljZTxMb2NhbGVTdGF0ZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG4gICAgcHJpdmF0ZSBzdWJOb3RpZmllcjogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcbiAgICBwcm90ZWN0ZWQgY29uZmlnOiBMb2NhbGVTZXJ2aWNlQ29uZmlnO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQEluamVjdChHTE9CQUxfQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgYmFzZUdsb2JhbENvbmZpZzogR2xvYmFsQ29uZmlnLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoTE9DQUxFX0lEKSBwcm90ZWN0ZWQgbG9jYWxlX2lkOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChMT0NBTEVfSURfTUFQUEVSKSBwcml2YXRlIGxvY2FsZU1hcHBlcjogTG9jYWxlTWFwcGVyLFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgaTE4bjogSTE4blNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBsb2c6IExvZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoeyBpZDogZ2V0TG9jYWxlSWQobG9jYWxlX2lkKSB9KTtcbiAgICAgICAgaWYgKGxvZykge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIgPSBsb2cuZ2V0TG9nZ2VyKCdjb3JlLkxvY2FsZVNlcnZpY2UnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY29uZmlnID0gZ2V0TG9jYWxlU2VydmljZUNvbmZpZ0Zyb21CYXNlKHRoaXMuYmFzZUdsb2JhbENvbmZpZyk7XG4gICAgICAgIC8vIGluIGNhc2Ugbm8gbG9jYWxlTWFwcGVyIHByb3ZpZGVkLCBzZXQgdGhlIGFuZ3VsYXIgZ2V0TG9jYWxlSWQgYXMgZGVmYXVsdFxuICAgICAgICBpZiAoIXRoaXMubG9jYWxlTWFwcGVyKSB7XG4gICAgICAgICAgICB0aGlzLmxvY2FsZU1hcHBlciA9IGdldExvY2FsZUlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3ViTm90aWZpZXIubmV4dCh2b2lkIDApO1xuICAgICAgICB0aGlzLnN1Yk5vdGlmaWVyLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGUoKTogT2JzZXJ2YWJsZTxMb2NhbGVTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yZS5zZWxlY3QoZ2V0TG9jYWxlU3RhdGUpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICAvLyBpbiBjYXNlIHNlcnZpY2UgZGlkbid0IGluaXQgZmFsbGJhY2sgdG8gTE9DQUxFX0lEIHRva2VuIHZhbHVlXG4gICAgICAgICAgICBtYXAoc3RhdGUgPT4gc3RhdGUgPyBzdGF0ZSA6IHRoaXMuc3RhdGVJbnN0YW5jZSA/IHRoaXMuc3RhdGVJbnN0YW5jZSA6IHRoaXMubG9jYWxlX2lkKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGluaXQoc3RhdGU/OiBMb2NhbGVTdGF0ZSB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBzdXBlci5pbml0RXVpU2VydmljZSgpO1xuXG4gICAgICAgIGlmIChzdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUluc3RhbmNlID0gc3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBiaW5kIGxhbmd1YWdlIGNoYW5nZXMgdG8gbG9jYWxlIGNoYW5nZXNcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnPy5iaW5kV2l0aFRyYW5zbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5iaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBkeW5hbWljYWxseSBsb2FkIGxvY2FsZSBiYXNlZCBvbiBwcm92aWRlZCBjb25maWd1cmF0aW9uXG4gICAgICAgIGNvbnN0IGF2YWlsYWJsZUxvY2FsZXMgPSBzdGF0ZT8uYXZhaWxhYmxlIHx8IHRoaXMuY29uZmlnPy5hdmFpbGFibGUgfHwgdGhpcy5nZXRCcm93c2VyTG9jYWxlcygpIHx8IFt0aGlzLmN1cnJlbnRMb2NhbGVdO1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkTG9jYWxlKGF2YWlsYWJsZUxvY2FsZXMpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy51cGRhdGVTdGF0ZSh7IGlkOiB0aGlzLmN1cnJlbnRMb2NhbGUgfSkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGR5bmFtaWNhbGx5IGxvYWQgbG9jYWxlIGFuZCB1cGRhdGUgdGhlIHN0YXRlXG4gICAgICovXG4gICAgdXBkYXRlU3RhdGUoc3RhdGU6IExvY2FsZVN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBpZCA9IGdldExvY2FsZUlkKHN0YXRlLmlkKTtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZUxvY2FsZVN0YXRlQWN0aW9uKHsgLi4uc3RhdGUsIGlkIH0pKTtcbiAgICAgICAgICAgIC8vIHVwZGF0ZSBnbG9iYWwgVE9LRU4gSUQgYmFzZWQgb24gY29uZmlndXJhdGlvblxuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmFmZmVjdEdsb2JhbExvY2FsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxlX2lkID0gaWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgTG9jYWxlIGZvciAnJHtzdGF0ZS5pZH0nIGlzIG5vdCBhdmFpbGFibGUuXG4gICAgICAgICAgICAgICAgIFBsZWFzZSB1c2UgYWRkTG9jYWxlKCcke3N0YXRlLmlkfScpIGZpcnN0YDtcbiAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmluZm8obWVzc2FnZSwgZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGRMb2NhbGUoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkTG9jYWxlKGlkKTtcbiAgICB9XG5cbiAgICBnZXQgY3VycmVudExvY2FsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluc3RhbmNlLmlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxvYWQgYW5kIHJlZ2lzdGVyIGxvY2FsZSBkYXRhIGR5bmFtaWNhbGx5XG4gICAgICogQHBhcmFtIGxvY2FsZSBhcnJheSBvZiBsb2NhbGUgdG8gbG9hZFxuICAgICAqL1xuICAgIHByaXZhdGUgbG9hZExvY2FsZShsb2NhbGU6IHN0cmluZ1tdIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIGxvY2FsZSA9IEFycmF5LmlzQXJyYXkobG9jYWxlKSA/IGxvY2FsZSA6IFtsb2NhbGVdO1xuICAgICAgICBjb25zdCBsb2NhbGVJbXBvcnRzOiBPYnNlcnZhYmxlPHsgZGF0YTogYW55LCBsb2NhbGVJZDogc3RyaW5nLCBleHRyYURhdGE6IGFueSB9PltdXG4gICAgICAgICAgICA9IHRoaXMuZmlsdGVyUmVnaXN0ZXJlZExvY2FsZXMobG9jYWxlKS5tYXAodGhpcy5pbXBvcnREYXRhQW5kRXh0cmFMb2NhbGUuYmluZCh0aGlzKSk7XG5cbiAgICAgICAgLy8gaW4gY2FzZSBsb2NhbGVJbXBvcnRzIGFycmF5IGlzIGVtcHR5IGJlY2F1c2UgbG9jYWxlIGV4aXN0cywgT2JzZXJ2YWJsZSBzdGlsbCBuZWVkcyB0byBjb21wbGV0ZVxuICAgICAgICBpZiAobG9jYWxlSW1wb3J0cy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKC4uLmxvY2FsZUltcG9ydHMpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICBtYXAobG9jYWxlRGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBudWxsIHJlc3VsdHMgYW5kIHJlZ2lzdGVyTG9jYWxlRGF0YSBpbmNsdWRpbmcgZXh0cmFcbiAgICAgICAgICAgICAgICBsb2NhbGVEYXRhLmZpbHRlcigoeyBkYXRhIH0pID0+IGRhdGEpXG4gICAgICAgICAgICAgICAgICAgIC5mb3JFYWNoKCh7IGRhdGEsIGxvY2FsZUlkLCBleHRyYURhdGEgfSkgPT4gcmVnaXN0ZXJMb2NhbGVEYXRhKGRhdGEsIGxvY2FsZUlkLCBleHRyYURhdGEpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgTG9jYWxlIGxvYWQgZXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogZXJyb3IgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGxpc3RlbiBmb3IgbGFuZ3VhZ2UgY2hhbmdlcyBhbmQgZHluYW1pY2FsbHkgc2V0IGxvY2FsZSBhY2NvcmRpbmdseS4gSW4gY2FzZSBvZiBub24gcmVnaXN0ZXJlZCBsb2NhbGUgcmVnaXN0ZXIgaXRcbiAgICAgKiBkeW5hbWljYWxseS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGJpbmRUcmFuc2xhdGVTZXJ2aWNlTGFuZ0NoYW5nZVRvU3RhdGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmkxOG4pIHtcbiAgICAgICAgICAgIHRoaXMuaTE4bi5vblN0YXRlQ2hhbmdlLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuc3ViTm90aWZpZXIpLFxuICAgICAgICAgICAgICAgIC8vIEJFV0FSRTogZmlsdGVyIGlzIGJhc2VkIG9uIGNvbnZlbnRpb24gdGhhdCBsb2NhbGUgaWQgc2xpY2VkKDIpIHdpbGwgbWF0Y2ggYWN0aXZlTGFuZyBlLmcuIGVuLVVTID0+IGVuXG4gICAgICAgICAgICAgICAgLy8gQWxzbywgaWYgYWN0aXZlTGFuZyBpcyAnZW4nIGFuZCBsb2NhbGUgaXMgJ2VuLUdCJyBpdCB3aWxsIG5vdCB0cmlnZ2VyIGxvY2FsZSBjaGFuZ2VcbiAgICAgICAgICAgICAgICBmaWx0ZXIoc3RhdGUgPT4gc3RhdGU/LmFjdGl2ZUxhbmc/LnRvTG93ZXJDYXNlKCkgIT09IHRoaXMuc3RhdGVJbnN0YW5jZT8uaWQuc2xpY2UoMCwgMikudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICAgICAgICAgLy8gdG8gY2hlY2sgaWYgcmVnaXN0cmF0aW9uIG9mIGxvY2FsZSBvdGhlcndpc2UgcmVnaXN0ZXIgaXRcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAodmFsdWUgPT4gb2YodmFsdWUpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIC8vIGdldExvY2FsZUlkIG1heSB0aHJvdyBFcnJvcihgTWlzc2luZyBsb2NhbGUgZGF0YSBmb3IgdGhlIGxvY2FsZSBcIiR7bG9jYWxlfVwiLmApO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoaTE4c3RhdGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgYWN0aXZlTGFuZyBpcyBudWxsIG9yIHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpMThzdGF0ZS5hY3RpdmVMYW5nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoJ0hhcyBpMThuU2VydmljZSBpbml0aWFsaXplZD8gSWYgbm90IG1ha2Ugc3VyZSBpMThuU2VydmljZS5pbml0KCkuc3Vic2NyaWJlKC4uKScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHRoaXMubG9jYWxlTWFwcGVyKGkxOHN0YXRlLmFjdGl2ZUxhbmcpKTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZExvY2FsZSh2YWx1ZS5hY3RpdmVMYW5nKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcigoczogRXVpU2VydmljZVN0YXR1cykgPT4gcy5zdWNjZXNzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5sb2NhbGVNYXBwZXIodmFsdWUuYWN0aXZlTGFuZykpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1NvbWV0aGluZyB3ZW50IHRlcnJpYmx5IHJlYWxseSB3cm9uZyBkdXJpbmcgbG9jYWxlIGxvYWRpbmcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuZXJyLm1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgICAgICAvLyB1cGRhdGUgdGhlIFwiYXZhaWxhYmxlXCIgYXJyYXkgYXR0cmlidXRlIHdpdGggbmV3bHkgcmVnaXN0ZXJlZFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChpZCA9PiB0aGlzLmdldFN0YXRlKCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKChzdGF0ZTogTG9jYWxlU3RhdGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZSA9IHN0YXRlPy5hdmFpbGFibGUgPyBzdGF0ZS5hdmFpbGFibGUgOiBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBpZCwgYXZhaWxhYmxlOiBBcnJheS5mcm9tKG5ldyBTZXQoWy4uLmF2YWlsYWJsZSwgaWRdKSkgfTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHN0YXRlOiBMb2NhbGVTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU3RhdGUoc3RhdGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXRyaWV2ZSBsb2NhbGVzIGZyb20gYnJvd3NlclxuICAgICAqIEBwYXJhbSBvcHRpb25zXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRCcm93c2VyTG9jYWxlcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IGJyb3dzZXJMb2NhbGVzID0gbmF2aWdhdG9yLmxhbmd1YWdlcyA9PT0gdW5kZWZpbmVkID8gW25hdmlnYXRvci5sYW5ndWFnZV0gOiBuYXZpZ2F0b3IubGFuZ3VhZ2VzO1xuXG4gICAgICAgIGlmICghYnJvd3NlckxvY2FsZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYnJvd3NlckxvY2FsZXMubWFwKGxvY2FsZSA9PiBsb2NhbGUudHJpbSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpZiBsb2NhbGUgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGZpbHRlcmVkIG91dC5cbiAgICAgKiBAcGFyYW0gbG9jYWxlcyBBIHN0cmluZyBhcnJheSBjb250YWlucyBhbGwgbG9jYWxlIGlkIGUuZy4gW1wiZWxcIiwgXCJlbC1DWVwiXVxuICAgICAqL1xuICAgIHByaXZhdGUgZmlsdGVyUmVnaXN0ZXJlZExvY2FsZXMobG9jYWxlczogc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBsb2NhbGVzLmZpbHRlcigobG9jOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgZ2V0TG9jYWxlSWQobG9jKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB3aGljaCBsb2FkcyB0aGUgbG9jYWxlIGJhc2VkIG9uIHByb3ZpZGVkIElEXG4gICAgICogQHBhcmFtIGlkIHRoZSBsb2NhbGUgaWQgZS5nLiBlbiwgZWwtQ1lcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW1wb3J0TG9jYWxlKGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICAvLyBpbiBjYXNlIG9mIGFuIGVycm9yLCBjYXRjaCBpdCBhbmQgcmV0dXJuIG51bGxcbiAgICAgICAgcmV0dXJuIGltcG9ydChcbiAgICAgICAgICAgIC8qIHdlYnBhY2tJZ25vcmU6IHRydWUgKi9cbiAgICAgICAgICAgIGBAYW5ndWxhci9jb21tb24vbG9jYWxlcy8ke2lkfWApXG4gICAgICAgICAgICAudGhlbihtID0+IG0uZGVmYXVsdClcbiAgICAgICAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBMb2NhbGUgd2l0aCBJRDogXCIke2lkfVwiIGZhaWxlZCB0byBsb2FkLiBFcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm5zIGEgUHJvbWlzZSB3aGljaCBsb2FkcyB0aGUgbG9jYWxlIGJhc2VkIG9uIHByb3ZpZGVkIElEXG4gICAgICogQHBhcmFtIGlkIHRoZSBsb2NhbGUgaWQgZS5nLiBlbiwgZWwtQ1lcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW1wb3J0RXh0cmFMb2NhbGUoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIC8vIGluIGNhc2Ugb2YgYW4gZXJyb3IsIGNhdGNoIGl0IGFuZCByZXR1cm4gbnVsbFxuICAgICAgICByZXR1cm4gaW1wb3J0KFxuICAgICAgICAgICAgLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqL1xuICAgICAgICAgICAgYEBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2V4dHJhLyR7aWR9YClcbiAgICAgICAgICAgIC50aGVuKG0gPT4gbS5kZWZhdWx0KVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYEV4dHJhIExvY2FsZSB3aXRoIElEOiBcIiR7aWR9XCIgZmFpbGVkIHRvIGxvYWQuIEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEltcG9ydHMgTG9jYWxlIGFuZCB0aGVuIEV4dHJhLiBJdCByZXR1cm5zIHRoZSBPYmplY3Qgd2hpY2ggcmVnaXN0ZXJMb2NhbGUoLi4uKSBmdW5jdGlvbiBuZWVkcy5cbiAgICAgKiBAcGFyYW0gbG9jYWxlSWQgVGhlIGlkIG9mIHRoZSBsb2NhbGVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW1wb3J0RGF0YUFuZEV4dHJhTG9jYWxlKGxvY2FsZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgZGF0YTogYW55LCBsb2NhbGVJZDogc3RyaW5nLCBleHRyYURhdGE6IGFueSB9PiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuaW1wb3J0TG9jYWxlKGxvY2FsZUlkKSkucGlwZShtZXJnZU1hcChcbiAgICAgICAgICAgICAgICAoKSA9PiBmcm9tKHRoaXMuaW1wb3J0RXh0cmFMb2NhbGUobG9jYWxlSWQpKS5waXBlKG1hcCgoZGF0YSwgZXh0cmFEYXRhKSA9PlxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCB7IGRhdGEsIGxvY2FsZUlkLCBleHRyYURhdGEgfSkpKSxcbiAgICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApKTtcbiAgICB9XG59XG4iXX0=
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvY2FsZS9sb2NhbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDSCxVQUFVLEVBRVYsY0FBYyxFQUNkLDhCQUE4QixHQUtqQyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBZ0IsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0FBR3ZELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFlLGdCQUFnQixDQUFDLENBQUM7QUFLbkYsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUF1QjtJQUt0RCxZQUFzQixLQUFtQixFQUNVLGdCQUE4QixFQUN4QyxTQUFpQixFQUNBLFlBQTBCLEVBQ3BELElBQWlCLEVBQ2pCLEdBQWU7UUFDM0MsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFOcEIs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dEUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUN0RCxDQUFDLENBQ0osQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7cUpBeFBRLGFBQWEsOENBTUYsbUJBQW1CLGFBQ25CLFNBQVMsYUFDRyxnQkFBZ0I7eUpBUnZDLGFBQWEsY0FGVixNQUFNO2dHQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFPZ0IsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUMxQixNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGdCQUFnQjs7MEJBQ25DLFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFuZ3VsYXIgaXMgdXNpbmcgYSBndWxwIHRhc2sgdG8gZ2VuZXJhdGUgdGhlIGxvY2FsZXMgdGhhdCB3ZSBkeW5hbWljYWxseSBpbXBvcnQuIFRoaXMgdGFzayBjYW4gYmUgZm91bmQgaGVyZVxuICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9ibG9iL21hc3Rlci90b29scy9ndWxwLXRhc2tzL2NsZHIvY2xkci1kYXRhLmpzXG4gKiBUaGF0IHRhc2sgaXMgdXRpbGl6aW5nIHRoZSBDTERSIGxpYnJhcnkgdG8gbG9hZCBhbmQgY29uc3RydWN0IHRoZSBsb2NhbGUgZm9yIGVhY2ggcmVnaW9uLiBUaGlzIHNlcnZpY2UgaXMgcmVzcG9uc2libGVcbiAqIHRvIGxvYWQgdGhvc2UgbG9jYWxlIGR5bmFtaWNhbGx5IHVwb24gcmVxdWVzdCBhbmQgdG8gdXBkYXRlIHRoZSBzdGF0ZSBvZiB0aGUgZVVJIGFwcC5cbiAqXG4gKiBQYXJ0cyB0aGF0IGFyZSBoYW5kbGVzIHRocm91Z2ggY29uZmlndXJhdGlvbjpcbiAqICAtIHVwZGF0ZSBvZiB0aGUgTE9DQUxFX0lEIHRva2VuXG4gKiAgLSBpbml0aWFsIGR5bmFtaWNhbCBsb2FkIG9mIGxvY2FsZXNcbiAqICAtIGJpbmQgdG8gdHJhbnNsYXRpb24gc2VydmljZSBmb3IgbG9jYWxlIGNoYW5nZXNcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBMT0NBTEVfSUQsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldExvY2FsZUlkLCByZWdpc3RlckxvY2FsZURhdGEgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBFdWlTZXJ2aWNlLFxuICAgIEV1aVNlcnZpY2VTdGF0dXMsXG4gICAgZ2V0TG9jYWxlU3RhdGUsXG4gICAgZ2V0TG9jYWxlU2VydmljZUNvbmZpZ0Zyb21CYXNlLFxuICAgIEdsb2JhbENvbmZpZyxcbiAgICBMb2NhbGVTZXJ2aWNlQ29uZmlnLFxuICAgIExvY2FsZVN0YXRlLFxuICAgIExvZ2dlcixcbn0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgZnJvbSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlLCBVcGRhdGVMb2NhbGVTdGF0ZUFjdGlvbiB9IGZyb20gJy4uL3N0b3JlJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9pMThuJztcbmltcG9ydCB7IEdMT0JBTF9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb25maWcvdG9rZW5zJztcblxuZXhwb3J0IHR5cGUgTG9jYWxlTWFwcGVyID0gKGxvY2FsZTogc3RyaW5nKSA9PiBhbnk7XG5leHBvcnQgY29uc3QgTE9DQUxFX0lEX01BUFBFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2NhbGVNYXBwZXI+KCdsb2NhbGVJZE1hcHBlcicpO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsZVNlcnZpY2UgZXh0ZW5kcyBFdWlTZXJ2aWNlPExvY2FsZVN0YXRlPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcbiAgICBwcml2YXRlIHN1Yk5vdGlmaWVyOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICAgIHByb3RlY3RlZCBjb25maWc6IExvY2FsZVNlcnZpY2VDb25maWc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KEdMT0JBTF9DT05GSUdfVE9LRU4pIHByb3RlY3RlZCBiYXNlR2xvYmFsQ29uZmlnOiBHbG9iYWxDb25maWcsXG4gICAgICAgICAgICAgICAgQEluamVjdChMT0NBTEVfSUQpIHByb3RlY3RlZCBsb2NhbGVfaWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExPQ0FMRV9JRF9NQVBQRVIpIHByaXZhdGUgbG9jYWxlTWFwcGVyOiBMb2NhbGVNYXBwZXIsXG4gICAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBpMThuOiBJMThuU2VydmljZSxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGxvZzogTG9nU2VydmljZSkge1xuICAgICAgICBzdXBlcih7IGlkOiBnZXRMb2NhbGVJZChsb2NhbGVfaWQpIH0pO1xuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlciA9IGxvZy5nZXRMb2dnZXIoJ2NvcmUuTG9jYWxlU2VydmljZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb25maWcgPSBnZXRMb2NhbGVTZXJ2aWNlQ29uZmlnRnJvbUJhc2UodGhpcy5iYXNlR2xvYmFsQ29uZmlnKTtcbiAgICAgICAgLy8gaW4gY2FzZSBubyBsb2NhbGVNYXBwZXIgcHJvdmlkZWQsIHNldCB0aGUgYW5ndWxhciBnZXRMb2NhbGVJZCBhcyBkZWZhdWx0XG4gICAgICAgIGlmICghdGhpcy5sb2NhbGVNYXBwZXIpIHtcbiAgICAgICAgICAgIHRoaXMubG9jYWxlTWFwcGVyID0gZ2V0TG9jYWxlSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJOb3RpZmllci5uZXh0KHZvaWQgMCk7XG4gICAgICAgIHRoaXMuc3ViTm90aWZpZXIuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBnZXRTdGF0ZSgpOiBPYnNlcnZhYmxlPExvY2FsZVN0YXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRMb2NhbGVTdGF0ZSkucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnN1Yk5vdGlmaWVyKSxcbiAgICAgICAgICAgIC8vIGluIGNhc2Ugc2VydmljZSBkaWRuJ3QgaW5pdCBmYWxsYmFjayB0byBMT0NBTEVfSUQgdG9rZW4gdmFsdWVcbiAgICAgICAgICAgIG1hcChzdGF0ZSA9PiBzdGF0ZSA/IHN0YXRlIDogdGhpcy5zdGF0ZUluc3RhbmNlID8gdGhpcy5zdGF0ZUluc3RhbmNlIDogdGhpcy5sb2NhbGVfaWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaW5pdChzdGF0ZT86IExvY2FsZVN0YXRlIHwgdW5kZWZpbmVkKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKCk7XG5cbiAgICAgICAgaWYgKHN0YXRlKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlSW5zdGFuY2UgPSBzdGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGJpbmQgbGFuZ3VhZ2UgY2hhbmdlcyB0byBsb2NhbGUgY2hhbmdlc1xuICAgICAgICBpZiAodGhpcy5jb25maWc/LmJpbmRXaXRoVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLmJpbmRUcmFuc2xhdGVTZXJ2aWNlTGFuZ0NoYW5nZVRvU3RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGR5bmFtaWNhbGx5IGxvYWQgbG9jYWxlIGJhc2VkIG9uIHByb3ZpZGVkIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgY29uc3QgYXZhaWxhYmxlTG9jYWxlcyA9IHN0YXRlPy5hdmFpbGFibGUgfHwgdGhpcy5jb25maWc/LmF2YWlsYWJsZSB8fCB0aGlzLmdldEJyb3dzZXJMb2NhbGVzKCkgfHwgW3RoaXMuY3VycmVudExvY2FsZV07XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRMb2NhbGUoYXZhaWxhYmxlTG9jYWxlcykucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnN1Yk5vdGlmaWVyKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZVN0YXRlKHsgaWQ6IHRoaXMuY3VycmVudExvY2FsZSB9KSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZHluYW1pY2FsbHkgbG9hZCBsb2NhbGUgYW5kIHVwZGF0ZSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICB1cGRhdGVTdGF0ZShzdGF0ZTogTG9jYWxlU3RhdGUpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gZ2V0TG9jYWxlSWQoc3RhdGUuaWQpO1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlTG9jYWxlU3RhdGVBY3Rpb24oeyAuLi5zdGF0ZSwgaWQgfSkpO1xuICAgICAgICAgICAgLy8gdXBkYXRlIGdsb2JhbCBUT0tFTiBJRCBiYXNlZCBvbiBjb25maWd1cmF0aW9uXG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWcuYWZmZWN0R2xvYmFsTG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGVfaWQgPSBpZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBMb2NhbGUgZm9yICcke3N0YXRlLmlkfScgaXMgbm90IGF2YWlsYWJsZS5cbiAgICAgICAgICAgICAgICAgUGxlYXNlIHVzZSBhZGRMb2NhbGUoJyR7c3RhdGUuaWR9JykgZmlyc3RgO1xuICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhtZXNzYWdlLCBlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFkZExvY2FsZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRMb2NhbGUoaWQpO1xuICAgIH1cblxuICAgIGdldCBjdXJyZW50TG9jYWxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlSW5zdGFuY2UuaWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbG9hZCBhbmQgcmVnaXN0ZXIgbG9jYWxlIGRhdGEgZHluYW1pY2FsbHlcbiAgICAgKiBAcGFyYW0gbG9jYWxlIGFycmF5IG9mIGxvY2FsZSB0byBsb2FkXG4gICAgICovXG4gICAgcHJpdmF0ZSBsb2FkTG9jYWxlKGxvY2FsZTogc3RyaW5nW10gfCBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgbG9jYWxlID0gQXJyYXkuaXNBcnJheShsb2NhbGUpID8gbG9jYWxlIDogW2xvY2FsZV07XG4gICAgICAgIGNvbnN0IGxvY2FsZUltcG9ydHM6IE9ic2VydmFibGU8eyBkYXRhOiBhbnksIGxvY2FsZUlkOiBzdHJpbmcsIGV4dHJhRGF0YTogYW55IH0+W11cbiAgICAgICAgICAgID0gdGhpcy5maWx0ZXJSZWdpc3RlcmVkTG9jYWxlcyhsb2NhbGUpLm1hcCh0aGlzLmltcG9ydERhdGFBbmRFeHRyYUxvY2FsZS5iaW5kKHRoaXMpKTtcblxuICAgICAgICAvLyBpbiBjYXNlIGxvY2FsZUltcG9ydHMgYXJyYXkgaXMgZW1wdHkgYmVjYXVzZSBsb2NhbGUgZXhpc3RzLCBPYnNlcnZhYmxlIHN0aWxsIG5lZWRzIHRvIGNvbXBsZXRlXG4gICAgICAgIGlmIChsb2NhbGVJbXBvcnRzLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZm9ya0pvaW4oLi4ubG9jYWxlSW1wb3J0cykucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnN1Yk5vdGlmaWVyKSxcbiAgICAgICAgICAgIG1hcChsb2NhbGVEYXRhID0+IHtcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgb3V0IG51bGwgcmVzdWx0cyBhbmQgcmVnaXN0ZXJMb2NhbGVEYXRhIGluY2x1ZGluZyBleHRyYVxuICAgICAgICAgICAgICAgIGxvY2FsZURhdGEuZmlsdGVyKCh7IGRhdGEgfSkgPT4gZGF0YSlcbiAgICAgICAgICAgICAgICAgICAgLmZvckVhY2goKHsgZGF0YSwgbG9jYWxlSWQsIGV4dHJhRGF0YSB9KSA9PiByZWdpc3RlckxvY2FsZURhdGEoZGF0YSwgbG9jYWxlSWQsIGV4dHJhRGF0YSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBMb2NhbGUgbG9hZCBlcnJvcjogJHtlcnJvci5tZXNzYWdlfWAsIGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogbGlzdGVuIGZvciBsYW5ndWFnZSBjaGFuZ2VzIGFuZCBkeW5hbWljYWxseSBzZXQgbG9jYWxlIGFjY29yZGluZ2x5LiBJbiBjYXNlIG9mIG5vbiByZWdpc3RlcmVkIGxvY2FsZSByZWdpc3RlciBpdFxuICAgICAqIGR5bmFtaWNhbGx5LlxuICAgICAqL1xuICAgIHByaXZhdGUgYmluZFRyYW5zbGF0ZVNlcnZpY2VMYW5nQ2hhbmdlVG9TdGF0ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaTE4bikge1xuICAgICAgICAgICAgdGhpcy5pMThuLm9uU3RhdGVDaGFuZ2UucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5zdWJOb3RpZmllciksXG4gICAgICAgICAgICAgICAgLy8gQkVXQVJFOiBmaWx0ZXIgaXMgYmFzZWQgb24gY29udmVudGlvbiB0aGF0IGxvY2FsZSBpZCBzbGljZWQoMikgd2lsbCBtYXRjaCBhY3RpdmVMYW5nIGUuZy4gZW4tVVMgPT4gZW5cbiAgICAgICAgICAgICAgICAvLyBBbHNvLCBpZiBhY3RpdmVMYW5nIGlzICdlbicgYW5kIGxvY2FsZSBpcyAnZW4tR0InIGl0IHdpbGwgbm90IHRyaWdnZXIgbG9jYWxlIGNoYW5nZVxuICAgICAgICAgICAgICAgIGZpbHRlcihzdGF0ZSA9PiBzdGF0ZT8uYWN0aXZlTGFuZz8udG9Mb3dlckNhc2UoKSAhPT0gdGhpcy5zdGF0ZUluc3RhbmNlPy5pZC5zbGljZSgwLCAyKS50b0xvd2VyQ2FzZSgpKSxcbiAgICAgICAgICAgICAgICAvLyB0byBjaGVjayBpZiByZWdpc3RyYXRpb24gb2YgbG9jYWxlIG90aGVyd2lzZSByZWdpc3RlciBpdFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCh2YWx1ZSA9PiBvZih2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgLy8gZ2V0TG9jYWxlSWQgbWF5IHRocm93IEVycm9yKGBNaXNzaW5nIGxvY2FsZSBkYXRhIGZvciB0aGUgbG9jYWxlIFwiJHtsb2NhbGV9XCIuYCk7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcChpMThzdGF0ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiBhY3RpdmVMYW5nIGlzIG51bGwgb3IgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWkxOHN0YXRlLmFjdGl2ZUxhbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcignSGFzIGkxOG5TZXJ2aWNlIGluaXRpYWxpemVkPyBJZiBub3QgbWFrZSBzdXJlIGkxOG5TZXJ2aWNlLmluaXQoKS5zdWJzY3JpYmUoLi4pJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodGhpcy5sb2NhbGVNYXBwZXIoaTE4c3RhdGUuYWN0aXZlTGFuZykpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkTG9jYWxlKHZhbHVlLmFjdGl2ZUxhbmcpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKChzOiBFdWlTZXJ2aWNlU3RhdHVzKSA9PiBzLnN1Y2Nlc3MpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmxvY2FsZU1hcHBlcih2YWx1ZS5hY3RpdmVMYW5nKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcihlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU29tZXRoaW5nIHdlbnQgdGVycmlibHkgcmVhbGx5IHdyb25nIGR1cmluZyBsb2NhbGUgbG9hZGluZycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5lcnIubWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgXCJhdmFpbGFibGVcIiBhcnJheSBhdHRyaWJ1dGUgd2l0aCBuZXdseSByZWdpc3RlcmVkXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGlkID0+IHRoaXMuZ2V0U3RhdGUoKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHN0YXRlOiBMb2NhbGVTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYXZhaWxhYmxlID0gc3RhdGU/LmF2YWlsYWJsZSA/IHN0YXRlLmF2YWlsYWJsZSA6IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIGlkLCBhdmFpbGFibGU6IEFycmF5LmZyb20obmV3IFNldChbLi4uYXZhaWxhYmxlLCBpZF0pKSB9O1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICApLnN1YnNjcmliZSgoc3RhdGU6IExvY2FsZVN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShzdGF0ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHJpZXZlIGxvY2FsZXMgZnJvbSBicm93c2VyXG4gICAgICogQHBhcmFtIG9wdGlvbnNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldEJyb3dzZXJMb2NhbGVzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgYnJvd3NlckxvY2FsZXMgPSBuYXZpZ2F0b3IubGFuZ3VhZ2VzID09PSB1bmRlZmluZWQgPyBbbmF2aWdhdG9yLmxhbmd1YWdlXSA6IG5hdmlnYXRvci5sYW5ndWFnZXM7XG5cbiAgICAgICAgaWYgKCFicm93c2VyTG9jYWxlcykge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBicm93c2VyTG9jYWxlcy5tYXAobG9jYWxlID0+IGxvY2FsZS50cmltKCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGlmIGxvY2FsZSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgZmlsdGVyZWQgb3V0LlxuICAgICAqIEBwYXJhbSBsb2NhbGVzIEEgc3RyaW5nIGFycmF5IGNvbnRhaW5zIGFsbCBsb2NhbGUgaWQgZS5nLiBbXCJlbFwiLCBcImVsLUNZXCJdXG4gICAgICovXG4gICAgcHJpdmF0ZSBmaWx0ZXJSZWdpc3RlcmVkTG9jYWxlcyhsb2NhbGVzOiBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZXMuZmlsdGVyKChsb2M6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBnZXRMb2NhbGVJZChsb2MpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJucyBhbiBPYnNlcnZhYmxlIHdoaWNoIGxvYWRzIHRoZSBsb2NhbGUgYmFzZWQgb24gcHJvdmlkZWQgSURcbiAgICAgKiBAcGFyYW0gaWQgdGhlIGxvY2FsZSBpZCBlLmcuIGVuLCBlbC1DWVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbXBvcnRMb2NhbGUoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIC8vIGluIGNhc2Ugb2YgYW4gZXJyb3IsIGNhdGNoIGl0IGFuZCByZXR1cm4gbnVsbFxuICAgICAgICByZXR1cm4gaW1wb3J0KFxuICAgICAgICAgICAgLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqL1xuICAgICAgICAgICAgYEBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzLyR7aWR9YClcbiAgICAgICAgICAgIC50aGVuKG0gPT4gbS5kZWZhdWx0KVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYExvY2FsZSB3aXRoIElEOiBcIiR7aWR9XCIgZmFpbGVkIHRvIGxvYWQuIEVycm9yOiAke2Vycm9yLm1lc3NhZ2V9YCwgZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgYSBQcm9taXNlIHdoaWNoIGxvYWRzIHRoZSBsb2NhbGUgYmFzZWQgb24gcHJvdmlkZWQgSURcbiAgICAgKiBAcGFyYW0gaWQgdGhlIGxvY2FsZSBpZCBlLmcuIGVuLCBlbC1DWVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbXBvcnRFeHRyYUxvY2FsZShpZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgLy8gaW4gY2FzZSBvZiBhbiBlcnJvciwgY2F0Y2ggaXQgYW5kIHJldHVybiBudWxsXG4gICAgICAgIHJldHVybiBpbXBvcnQoXG4gICAgICAgICAgICAvKiB3ZWJwYWNrSWdub3JlOiB0cnVlICovXG4gICAgICAgICAgICBgQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZXh0cmEvJHtpZH1gKVxuICAgICAgICAgICAgLnRoZW4obSA9PiBtLmRlZmF1bHQpXG4gICAgICAgICAgICAuY2F0Y2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgRXh0cmEgTG9jYWxlIHdpdGggSUQ6IFwiJHtpZH1cIiBmYWlsZWQgdG8gbG9hZC4gRXJyb3I6ICR7ZXJyb3IubWVzc2FnZX1gLCBlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW1wb3J0cyBMb2NhbGUgYW5kIHRoZW4gRXh0cmEuIEl0IHJldHVybnMgdGhlIE9iamVjdCB3aGljaCByZWdpc3RlckxvY2FsZSguLi4pIGZ1bmN0aW9uIG5lZWRzLlxuICAgICAqIEBwYXJhbSBsb2NhbGVJZCBUaGUgaWQgb2YgdGhlIGxvY2FsZVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBpbXBvcnREYXRhQW5kRXh0cmFMb2NhbGUobG9jYWxlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8eyBkYXRhOiBhbnksIGxvY2FsZUlkOiBzdHJpbmcsIGV4dHJhRGF0YTogYW55IH0+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5pbXBvcnRMb2NhbGUobG9jYWxlSWQpKS5waXBlKG1lcmdlTWFwKFxuICAgICAgICAgICAgICAgICgpID0+IGZyb20odGhpcy5pbXBvcnRFeHRyYUxvY2FsZShsb2NhbGVJZCkpLnBpcGUobWFwKChkYXRhLCBleHRyYURhdGEpID0+XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oe30sIHsgZGF0YSwgbG9jYWxlSWQsIGV4dHJhRGF0YSB9KSkpLFxuICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICkpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Inject, Injectable, InjectionToken } from '@angular/core';
2
- import { Logger, LogLevel } from '@eui/base';
2
+ import { Logger } from '@eui/base';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@eui/base";
5
5
  export const BASE_LOGGER_NAME_TOKEN = new InjectionToken('BASE_LOGGER_NAME');
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.0", ng
47
47
  type: Inject,
48
48
  args: [LOG_APPENDERS_TOKEN]
49
49
  }] }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy9sb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFlLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUUxRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBVyxXQUFXLENBQUMsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBZ0IsZUFBZSxDQUFDLENBQUM7QUFFdEY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sVUFBVyxTQUFRLE1BQU07SUFLbEMsWUFDOEMsSUFBWSxFQUNuQixLQUFlLEVBQ1gsU0FBd0I7UUFFL0QsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFKWSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDWCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBTm5FLHFDQUFxQztRQUMzQixZQUFPLEdBQUcsRUFBRSxDQUFDO0lBUXZCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFNBQVMsQ0FBQyxVQUFrQixFQUFFLFVBQW1CLEtBQUs7UUFDbEQsa0NBQWtDO1FBQ2xDLE1BQU0sTUFBTSxHQUFHLE9BQU8sSUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVqSCx3RUFBd0U7UUFDeEUsSUFBSSxPQUFPLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztTQUNyQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7O2tKQTdCUSxVQUFVLGtCQU1QLHNCQUFzQixhQUN0QixlQUFlLGFBQ2YsbUJBQW1CO3NKQVJ0QixVQUFVO2dHQUFWLFVBQVU7a0JBRHRCLFVBQVU7OzBCQU9GLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsTUFBTTsyQkFBQyxlQUFlOzswQkFDdEIsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dBcHBlbmRlciwgTG9nZ2VyLCBMb2dMZXZlbCB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbmV4cG9ydCBjb25zdCBCQVNFX0xPR0dFUl9OQU1FX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0JBU0VfTE9HR0VSX05BTUUnKTtcbmV4cG9ydCBjb25zdCBMT0dfTEVWRUxfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9nTGV2ZWw+KCdMT0dfTEVWRUwnKTtcbmV4cG9ydCBjb25zdCBMT0dfQVBQRU5ERVJTX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPExvZ0FwcGVuZGVyW10+KCdMT0dfQVBQRU5ERVJTJyk7XG5cbi8qKlxuICogTG9nIHNlcnZpY2UsIHJlc3BvbnNpYmxlIGZvciBnZXR0aW5nIG9yIGNyZWF0aW5nIGxvZ2dlcnMuIEl0IGl0c2VsZiBhY3RzIGFzIGEgYmFzZSBsb2dnZXJcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvZ1NlcnZpY2UgZXh0ZW5kcyBMb2dnZXIge1xuXG4gICAgLyoqIHRoZSBsaXN0IG9mIHBlcnNpc3RlbnQgbG9nZ2VycyAqL1xuICAgIHByb3RlY3RlZCBsb2dnZXJzID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChCQVNFX0xPR0dFUl9OQU1FX1RPS0VOKSBwcm90ZWN0ZWQgbmFtZTogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KExPR19MRVZFTF9UT0tFTikgcHJvdGVjdGVkIGxldmVsOiBMb2dMZXZlbCxcbiAgICAgICAgQEluamVjdChMT0dfQVBQRU5ERVJTX1RPS0VOKSBwcm90ZWN0ZWQgYXBwZW5kZXJzOiBMb2dBcHBlbmRlcltdLFxuICAgICkge1xuICAgICAgICBzdXBlcihuYW1lLCBsZXZlbCwgYXBwZW5kZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgbG9nZ2VyIGJ5IG5hbWUuIElmIHRoZSBsb2dnZXIgZG9lcyBub3QgZXhpc3QsIGl0IGlzIGNyZWF0ZWRcbiAgICAgKiBAcGFyYW0gbG9nZ2VyTmFtZSBsb2dnZXIgbmFtZVxuICAgICAqIEBwYXJhbSBwZXJzaXN0IG9wdGlvbmFsIHBhcmFtZXRlci4gU2V0IGl0IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gcmV1c2UgdGhlIGxvZ2dlci4gQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIGZhbHNlXG4gICAgICogQHJldHVybnMgdGhlIGxvZ2dlclxuICAgICAqL1xuICAgIGdldExvZ2dlcihsb2dnZXJOYW1lOiBzdHJpbmcsIHBlcnNpc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IExvZ2dlciB7XG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgbG9nZ2VyLCBpZiBuZWNlc3NhcnlcbiAgICAgICAgY29uc3QgbG9nZ2VyID0gcGVyc2lzdCAmJiA8TG9nZ2VyPnRoaXMubG9nZ2Vyc1tsb2dnZXJOYW1lXSB8fCBuZXcgTG9nZ2VyKGxvZ2dlck5hbWUsIHRoaXMubGV2ZWwsIHRoaXMuYXBwZW5kZXJzKTtcblxuICAgICAgICAvLyBpZiB0aGUgbG9nZ2VyIGlzIHBlcnNpc3RlbnQsIGFkZCBpdCB0byB0aGUgbGlzdCBvZiBwZXJzaXN0ZW50IGxvZ2dlcnNcbiAgICAgICAgaWYgKHBlcnNpc3QpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2Vyc1tsb2dnZXJOYW1lXSA9IGxvZ2dlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsb2dnZXI7XG4gICAgfVxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xvZy9sb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFlLE1BQU0sRUFBWSxNQUFNLFdBQVcsQ0FBQzs7O0FBRTFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUFTLGtCQUFrQixDQUFDLENBQUM7QUFDckYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLElBQUksY0FBYyxDQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztBQUV0Rjs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsTUFBTTtJQUtsQyxZQUM4QyxJQUFZLEVBQ25CLEtBQWUsRUFDWCxTQUF3QjtRQUUvRCxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUpZLFNBQUksR0FBSixJQUFJLENBQVE7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBVTtRQUNYLGNBQVMsR0FBVCxTQUFTLENBQWU7UUFObkUscUNBQXFDO1FBQzNCLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFRdkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLFVBQWtCLEVBQUUsVUFBbUIsS0FBSztRQUNsRCxrQ0FBa0M7UUFDbEMsTUFBTSxNQUFNLEdBQUcsT0FBTyxJQUFZLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpILHdFQUF3RTtRQUN4RSxJQUFJLE9BQU8sRUFBRTtZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzs7a0pBN0JRLFVBQVUsa0JBTVAsc0JBQXNCLGFBQ3RCLGVBQWUsYUFDZixtQkFBbUI7c0pBUnRCLFVBQVU7Z0dBQVYsVUFBVTtrQkFEdEIsVUFBVTs7MEJBT0YsTUFBTTsyQkFBQyxzQkFBc0I7OzBCQUM3QixNQUFNOzJCQUFDLGVBQWU7OzBCQUN0QixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ0FwcGVuZGVyLCBMb2dnZXIsIExvZ0xldmVsIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuZXhwb3J0IGNvbnN0IEJBU0VfTE9HR0VSX05BTUVfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignQkFTRV9MT0dHRVJfTkFNRScpO1xuZXhwb3J0IGNvbnN0IExPR19MRVZFTF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxMb2dMZXZlbD4oJ0xPR19MRVZFTCcpO1xuZXhwb3J0IGNvbnN0IExPR19BUFBFTkRFUlNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48TG9nQXBwZW5kZXJbXT4oJ0xPR19BUFBFTkRFUlMnKTtcblxuLyoqXG4gKiBMb2cgc2VydmljZSwgcmVzcG9uc2libGUgZm9yIGdldHRpbmcgb3IgY3JlYXRpbmcgbG9nZ2Vycy4gSXQgaXRzZWxmIGFjdHMgYXMgYSBiYXNlIGxvZ2dlclxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTG9nU2VydmljZSBleHRlbmRzIExvZ2dlciB7XG5cbiAgICAvKiogdGhlIGxpc3Qgb2YgcGVyc2lzdGVudCBsb2dnZXJzICovXG4gICAgcHJvdGVjdGVkIGxvZ2dlcnMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEJBU0VfTE9HR0VSX05BTUVfVE9LRU4pIHByb3RlY3RlZCBuYW1lOiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoTE9HX0xFVkVMX1RPS0VOKSBwcm90ZWN0ZWQgbGV2ZWw6IExvZ0xldmVsLFxuICAgICAgICBASW5qZWN0KExPR19BUFBFTkRFUlNfVE9LRU4pIHByb3RlY3RlZCBhcHBlbmRlcnM6IExvZ0FwcGVuZGVyW10sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5hbWUsIGxldmVsLCBhcHBlbmRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBsb2dnZXIgYnkgbmFtZS4gSWYgdGhlIGxvZ2dlciBkb2VzIG5vdCBleGlzdCwgaXQgaXMgY3JlYXRlZFxuICAgICAqIEBwYXJhbSBsb2dnZXJOYW1lIGxvZ2dlciBuYW1lXG4gICAgICogQHBhcmFtIHBlcnNpc3Qgb3B0aW9uYWwgcGFyYW1ldGVyLiBTZXQgaXQgdG8gdHJ1ZSBpZiB5b3Ugd2FudCB0byByZXVzZSB0aGUgbG9nZ2VyLiBCeSBkZWZhdWx0LCBpdCBpcyBzZXQgdG8gZmFsc2VcbiAgICAgKiBAcmV0dXJucyB0aGUgbG9nZ2VyXG4gICAgICovXG4gICAgZ2V0TG9nZ2VyKGxvZ2dlck5hbWU6IHN0cmluZywgcGVyc2lzdDogYm9vbGVhbiA9IGZhbHNlKTogTG9nZ2VyIHtcbiAgICAgICAgLy8gY3JlYXRlIHRoZSBsb2dnZXIsIGlmIG5lY2Vzc2FyeVxuICAgICAgICBjb25zdCBsb2dnZXIgPSBwZXJzaXN0ICYmIDxMb2dnZXI+dGhpcy5sb2dnZXJzW2xvZ2dlck5hbWVdIHx8IG5ldyBMb2dnZXIobG9nZ2VyTmFtZSwgdGhpcy5sZXZlbCwgdGhpcy5hcHBlbmRlcnMpO1xuXG4gICAgICAgIC8vIGlmIHRoZSBsb2dnZXIgaXMgcGVyc2lzdGVudCwgYWRkIGl0IHRvIHRoZSBsaXN0IG9mIHBlcnNpc3RlbnQgbG9nZ2Vyc1xuICAgICAgICBpZiAocGVyc2lzdCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXJzW2xvZ2dlck5hbWVdID0gbG9nZ2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxvZ2dlcjtcbiAgICB9XG59XG4iXX0=
@@ -1,8 +1,6 @@
1
1
  import { Injectable, Optional } from '@angular/core';
2
2
  import { EuiService, getUserRights, } from '@eui/base';
3
3
  import { of } from 'rxjs';
4
- import { LogService } from '../log/log.service';
5
- import { StoreService } from '../store/store.service';
6
4
  import { UpdateUserRightsAction } from '../store/actions/user.actions';
7
5
  import { isDefined } from '../../helpers';
8
6
  import * as i0 from "@angular/core";
@@ -112,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.0", ng
112
110
  }], ctorParameters: function () { return [{ type: i1.LogService, decorators: [{
113
111
  type: Optional
114
112
  }] }, { type: i2.StoreService }]; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsVUFBVSxFQUVWLGFBQWEsR0FHaEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFLMUMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQXlCO0lBRy9ELFlBQWdDLEdBQWUsRUFBWSxLQUFtQjtRQUMxRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFEa0IsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUFZLFVBQUssR0FBTCxLQUFLLENBQWM7UUFFMUUsSUFBSSxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsQ0FBQztTQUN6RDtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLENBQUMsTUFBcUI7UUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxDQUFDLEVBQUUs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aEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUlnQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRXVpU2VydmljZSxcbiAgICBFdWlTZXJ2aWNlU3RhdHVzLFxuICAgIGdldFVzZXJSaWdodHMsXG4gICAgVXhVc2VyUmlnaHQsXG4gICAgTG9nZ2VyLFxufSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVVc2VyUmlnaHRzQWN0aW9uIH0gZnJvbSAnLi4vc3RvcmUvYWN0aW9ucy91c2VyLmFjdGlvbnMnO1xuaW1wb3J0IHsgaXNEZWZpbmVkIH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aVBlcm1pc3Npb25TZXJ2aWNlIGV4dGVuZHMgRXVpU2VydmljZTxVeFVzZXJSaWdodFtdPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlcjtcblxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByaXZhdGUgbG9nOiBMb2dTZXJ2aWNlLCBwcm90ZWN0ZWQgc3RvcmU6IFN0b3JlU2VydmljZSkge1xuICAgICAgICBzdXBlcihbXSk7XG4gICAgICAgIGlmIChsb2cpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyID0gbG9nLmdldExvZ2dlcignY29yZS5QZXJtaXNzaW9uU2VydmljZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogaW5pdGlhbGl6ZSB0aGUgc2VydmljZSBieSBwcm92aWRpbmcgYSBzdGF0ZVxuICAgICAqIEBwYXJhbSByaWdodHNcbiAgICAgKi9cbiAgICBpbml0KHJpZ2h0czogVXhVc2VyUmlnaHRbXSk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBzdXBlci5pbml0RXVpU2VydmljZSgpO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyaWdodHMpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHJpZ2h0cyk7XG4gICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubG9nZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignSW5pdCBvYmplY3Qgc2hvdWxkIGJlIGluc3RhbmNlIG9mIEJhc2VVc2VyU3RhdGUnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdJbml0IG9iamVjdCBzaG91bGQgYmUgaW5zdGFuY2Ugb2YgQmFzZVVzZXJTdGF0ZScgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCB1c2VyUmlnaHRzKCk6IFV4VXNlclJpZ2h0W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZUluc3RhbmNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGdldCB0aGUgdXNlcidzIFJpZ2h0cyBmcm9tIHRoZSBzdGF0ZVxuICAgICAqL1xuICAgIGdldFN0YXRlPEsgPSBVeFVzZXJSaWdodFtdPigpOiBPYnNlcnZhYmxlPEs+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldFVzZXJSaWdodHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHVwZGF0ZSB0aGUgc3RhdGUgd2l0aCB0aGUgZ2l2ZW4gdXNlcidzIHJpZ2h0c1xuICAgICAqIEBwYXJhbSByaWdodHNcbiAgICAgKi9cbiAgICB1cGRhdGVTdGF0ZShyaWdodHM6IFV4VXNlclJpZ2h0W10pIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbihyaWdodHMgfHwgW10pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBhY2NlcHRzIGEgc3RyaW5nIG9mIHJpZ2h0IGFuZCBvciBhIHBlcm1pc3Npb24uIEluIHN0cmluZyBmaXJzdCBjb21lcyB0aGUgcmlnaHQgYW5kIG9yIGZvbGxvd2VkIGJ5IHBlcm1pc3Npb24gaW5cbiAgICAgKiBhIGRvdCBzZXBhcmF0ZWQgd2F5IGUuZy4gJ1JJR0hULlBFUk1JU1NJT04nIG9yICdSSUdIVCcuIFRoZSBzdHJpbmcgY2FuIGNvbnRhaW4gbW9yZSB0aGF0IDIgc2VwYXJhdGVkIGZpZWxkcy5cbiAgICAgKiBJbiB0aGF0IGNhc2UgdGhlIGxhc3QgZmllbGQgc2hvdWxkIGJlIHRoZSBwZXJtaXNzaW9uIGFuZCBhbGwgdGhlIG90aGVycyBhIFJpZ2h0LiBlLmcuICdSSUdIVDEuUklHSFQyLlBFUk1JU1NJT04nXG4gICAgICogVGhlIGxhc3QgcGFydCBpcyB1c2VmdWwgd2hlcmUgeW91IHdhbnQgYSB1c2VyIHRvIGhhdmUgbXVsdGlwbGUgcmlnaHRzIGFuZCB0aGUgcGVybWlzc2lvbiBvZiB0aGUgbGFzdCByaWdodC5cbiAgICAgKiBAcGFyYW0gcmlnaHRzQW5kUGVybWlzc2lvblxuICAgICAqL1xuICAgIGNoZWNrQXR0cmlidXRlUGVybWlzc2lvbihyaWdodHNBbmRQZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcGVybVByb3BzID0gcmlnaHRzQW5kUGVybWlzc2lvbi5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCByaWdodElkID0gcGVybVByb3BzWzBdO1xuICAgICAgICBjb25zdCBoYXNSaWdodCA9IHRoaXMuY2hlY2tSaWdodChyaWdodElkKTtcblxuICAgICAgICBpZiAoaGFzUmlnaHQpIHtcbiAgICAgICAgICAgIGlmIChwZXJtUHJvcHMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSBvZiAnUklHSFQuUEVSTUlTU0lPTidcbiAgICAgICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uID0gcGVybVByb3BzWzFdO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvbihyaWdodElkLCBwZXJtaXNzaW9uKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGVybVByb3BzLmxlbmd0aCA+IDIpIHtcbiAgICAgICAgICAgICAgICAvLyBpbiBjYXNlIG9mICdSSUdIVDEuUklHSFQyLi4uLi5QRVJNSVNTSU9OJyBzdHJpbmcgY2FsbCByZWN1cnNpdmVseVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNoZWNrQXR0cmlidXRlUGVybWlzc2lvbihyaWdodHNBbmRQZXJtaXNzaW9uLnNsaWNlKHJpZ2h0SWQubGVuZ3RoICsgMSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGhhc1JpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrIGlmIGEgdXNlciBoYXMgdGhlIHJpZ2h0LlxuICAgICAqIEBwYXJhbSByaWdodElkIHRoZSBpZCBvZiBSaWdodFxuICAgICAqL1xuICAgIGNoZWNrUmlnaHQocmlnaHRJZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJSaWdodHMuc29tZShyaWdodCA9PiByaWdodCAmJiByaWdodC5pZCA9PT0gcmlnaHRJZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2sgaWYgYSB1c2VyIGhhcyB0aGF0IHJpZ2h0IGFuZCB0aGF0IHJpZ2h0IGhhcyB0aGUgcGVybWlzc2lvbiBnaXZlbi5cbiAgICAgKiBAcGFyYW0gcmlnaHRJZCB0aGUgcmlnaHQgb2YgdGhlIHVzZXJcbiAgICAgKiBAcGFyYW0gcGVybWlzc2lvbiB0aGUgcGVybWlzc2lvbiBvZiB0aGUgcmlnaHRcbiAgICAgKi9cbiAgICBjaGVja1Blcm1pc3Npb24ocmlnaHRJZDogc3RyaW5nLCBwZXJtaXNzaW9uOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgLy8gdGhlIHVzZXIgaGFzIHRvIGhhdmUgdGhhdCByaWdodCBhbmQgdGhhdCByaWdodCBoYXMgdG8gaGF2ZSB0aGUgZ2l2ZW4gcGVybWlzc2lvblxuICAgICAgICByZXR1cm4gdGhpcy51c2VyUmlnaHRzLnNvbWUocmlnaHQgPT4gcmlnaHQgJiZcbiAgICAgICAgICAgIHJpZ2h0LmlkID09PSByaWdodElkICYmXG4gICAgICAgICAgICByaWdodC5wZXJtaXNzaW9ucyAmJlxuICAgICAgICAgICAgcmlnaHQucGVybWlzc2lvbnMuaW5jbHVkZXMocGVybWlzc2lvbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrcyB3aGV0aGVyIGEgdXNlciBoYXZlIGFsbCByaWdodHMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50XG4gICAgICogQHBhcmFtIHJpZ2h0cyBhbiBhcnJheSBvZiBVeFVzZXJSaWdodFxuICAgICAqL1xuICAgIHByaXZhdGUgaGF2ZUFsbFJpZ2h0cyhyaWdodHM6IFV4VXNlclJpZ2h0W10pOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCFpc0RlZmluZWQocmlnaHRzKSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYFRoZSByaWdodHMgc2hvdWxkIGJlIGFuIGFycmF5IGJ1dCBpbnN0ZWFkIGl0J3Mgbm90IGRlZmluZWQhYCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmlnaHRzLmV2ZXJ5KChyaWdodDogVXhVc2VyUmlnaHQpID0+XG4gICAgICAgICAgICB0aGlzLnVzZXJSaWdodHMuZmluZCgodVJpZ2h0OiBVeFVzZXJSaWdodCkgPT4gdVJpZ2h0LmlkID09PSByaWdodC5pZCkpO1xuICAgIH1cblxufVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQ0gsVUFBVSxFQUVWLGFBQWEsR0FHaEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSzFDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxVQUF5QjtJQUcvRCxZQUFnQyxHQUFlLEVBQVksS0FBbUI7UUFDMUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRGtCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFBWSxVQUFLLEdBQUwsS0FBSyxDQUFjO1FBRTFFLElBQUksR0FBRyxFQUFFO1lBQ0wsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLENBQUM7U0FDekQ7SUFDTCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxDQUFDLE1BQXFCO1FBQ3RCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLE1BQU0s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amVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEV1aVNlcnZpY2UsXG4gICAgRXVpU2VydmljZVN0YXR1cyxcbiAgICBnZXRVc2VyUmlnaHRzLFxuICAgIFV4VXNlclJpZ2h0LFxuICAgIExvZ2dlcixcbn0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3N0b3JlL3N0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXBkYXRlVXNlclJpZ2h0c0FjdGlvbiB9IGZyb20gJy4uL3N0b3JlL2FjdGlvbnMvdXNlci5hY3Rpb25zJztcbmltcG9ydCB7IGlzRGVmaW5lZCB9IGZyb20gJy4uLy4uL2hlbHBlcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFdWlQZXJtaXNzaW9uU2VydmljZSBleHRlbmRzIEV1aVNlcnZpY2U8VXhVc2VyUmlnaHRbXT4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXI7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIGxvZzogTG9nU2VydmljZSwgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoW10pO1xuICAgICAgICBpZiAobG9nKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlciA9IGxvZy5nZXRMb2dnZXIoJ2NvcmUuUGVybWlzc2lvblNlcnZpY2UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGluaXRpYWxpemUgdGhlIHNlcnZpY2UgYnkgcHJvdmlkaW5nIGEgc3RhdGVcbiAgICAgKiBAcGFyYW0gcmlnaHRzXG4gICAgICovXG4gICAgaW5pdChyaWdodHM6IFV4VXNlclJpZ2h0W10pOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgc3VwZXIuaW5pdEV1aVNlcnZpY2UoKTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmlnaHRzKSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShyaWdodHMpO1xuICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogdHJ1ZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmxvZ2dlcikge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0luaXQgb2JqZWN0IHNob3VsZCBiZSBpbnN0YW5jZSBvZiBCYXNlVXNlclN0YXRlJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiAnSW5pdCBvYmplY3Qgc2hvdWxkIGJlIGluc3RhbmNlIG9mIEJhc2VVc2VyU3RhdGUnIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgdXNlclJpZ2h0cygpOiBVeFVzZXJSaWdodFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGVJbnN0YW5jZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBnZXQgdGhlIHVzZXIncyBSaWdodHMgZnJvbSB0aGUgc3RhdGVcbiAgICAgKi9cbiAgICBnZXRTdGF0ZTxLID0gVXhVc2VyUmlnaHRbXT4oKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRVc2VyUmlnaHRzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB1cGRhdGUgdGhlIHN0YXRlIHdpdGggdGhlIGdpdmVuIHVzZXIncyByaWdodHNcbiAgICAgKiBAcGFyYW0gcmlnaHRzXG4gICAgICovXG4gICAgdXBkYXRlU3RhdGUocmlnaHRzOiBVeFVzZXJSaWdodFtdKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFVwZGF0ZVVzZXJSaWdodHNBY3Rpb24ocmlnaHRzIHx8IFtdKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogYWNjZXB0cyBhIHN0cmluZyBvZiByaWdodCBhbmQgb3IgYSBwZXJtaXNzaW9uLiBJbiBzdHJpbmcgZmlyc3QgY29tZXMgdGhlIHJpZ2h0IGFuZCBvciBmb2xsb3dlZCBieSBwZXJtaXNzaW9uIGluXG4gICAgICogYSBkb3Qgc2VwYXJhdGVkIHdheSBlLmcuICdSSUdIVC5QRVJNSVNTSU9OJyBvciAnUklHSFQnLiBUaGUgc3RyaW5nIGNhbiBjb250YWluIG1vcmUgdGhhdCAyIHNlcGFyYXRlZCBmaWVsZHMuXG4gICAgICogSW4gdGhhdCBjYXNlIHRoZSBsYXN0IGZpZWxkIHNob3VsZCBiZSB0aGUgcGVybWlzc2lvbiBhbmQgYWxsIHRoZSBvdGhlcnMgYSBSaWdodC4gZS5nLiAnUklHSFQxLlJJR0hUMi5QRVJNSVNTSU9OJ1xuICAgICAqIFRoZSBsYXN0IHBhcnQgaXMgdXNlZnVsIHdoZXJlIHlvdSB3YW50IGEgdXNlciB0byBoYXZlIG11bHRpcGxlIHJpZ2h0cyBhbmQgdGhlIHBlcm1pc3Npb24gb2YgdGhlIGxhc3QgcmlnaHQuXG4gICAgICogQHBhcmFtIHJpZ2h0c0FuZFBlcm1pc3Npb25cbiAgICAgKi9cbiAgICBjaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHBlcm1Qcm9wcyA9IHJpZ2h0c0FuZFBlcm1pc3Npb24uc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgcmlnaHRJZCA9IHBlcm1Qcm9wc1swXTtcbiAgICAgICAgY29uc3QgaGFzUmlnaHQgPSB0aGlzLmNoZWNrUmlnaHQocmlnaHRJZCk7XG5cbiAgICAgICAgaWYgKGhhc1JpZ2h0KSB7XG4gICAgICAgICAgICBpZiAocGVybVByb3BzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgJ1JJR0hULlBFUk1JU1NJT04nXG4gICAgICAgICAgICAgICAgY29uc3QgcGVybWlzc2lvbiA9IHBlcm1Qcm9wc1sxXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb24ocmlnaHRJZCwgcGVybWlzc2lvbik7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBlcm1Qcm9wcy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gY2FzZSBvZiAnUklHSFQxLlJJR0hUMi4uLi4uUEVSTUlTU0lPTicgc3RyaW5nIGNhbGwgcmVjdXJzaXZlbHlcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja0F0dHJpYnV0ZVBlcm1pc3Npb24ocmlnaHRzQW5kUGVybWlzc2lvbi5zbGljZShyaWdodElkLmxlbmd0aCArIDEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBoYXNSaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVjayBpZiBhIHVzZXIgaGFzIHRoZSByaWdodC5cbiAgICAgKiBAcGFyYW0gcmlnaHRJZCB0aGUgaWQgb2YgUmlnaHRcbiAgICAgKi9cbiAgICBjaGVja1JpZ2h0KHJpZ2h0SWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyUmlnaHRzLnNvbWUocmlnaHQgPT4gcmlnaHQgJiYgcmlnaHQuaWQgPT09IHJpZ2h0SWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrIGlmIGEgdXNlciBoYXMgdGhhdCByaWdodCBhbmQgdGhhdCByaWdodCBoYXMgdGhlIHBlcm1pc3Npb24gZ2l2ZW4uXG4gICAgICogQHBhcmFtIHJpZ2h0SWQgdGhlIHJpZ2h0IG9mIHRoZSB1c2VyXG4gICAgICogQHBhcmFtIHBlcm1pc3Npb24gdGhlIHBlcm1pc3Npb24gb2YgdGhlIHJpZ2h0XG4gICAgICovXG4gICAgY2hlY2tQZXJtaXNzaW9uKHJpZ2h0SWQ6IHN0cmluZywgcGVybWlzc2lvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIC8vIHRoZSB1c2VyIGhhcyB0byBoYXZlIHRoYXQgcmlnaHQgYW5kIHRoYXQgcmlnaHQgaGFzIHRvIGhhdmUgdGhlIGdpdmVuIHBlcm1pc3Npb25cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlclJpZ2h0cy5zb21lKHJpZ2h0ID0+IHJpZ2h0ICYmXG4gICAgICAgICAgICByaWdodC5pZCA9PT0gcmlnaHRJZCAmJlxuICAgICAgICAgICAgcmlnaHQucGVybWlzc2lvbnMgJiZcbiAgICAgICAgICAgIHJpZ2h0LnBlcm1pc3Npb25zLmluY2x1ZGVzKHBlcm1pc3Npb24pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVja3Mgd2hldGhlciBhIHVzZXIgaGF2ZSBhbGwgcmlnaHRzIHBhc3NlZCBhcyBhbiBhcmd1bWVudFxuICAgICAqIEBwYXJhbSByaWdodHMgYW4gYXJyYXkgb2YgVXhVc2VyUmlnaHRcbiAgICAgKi9cbiAgICBwcml2YXRlIGhhdmVBbGxSaWdodHMocmlnaHRzOiBVeFVzZXJSaWdodFtdKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghaXNEZWZpbmVkKHJpZ2h0cykpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBUaGUgcmlnaHRzIHNob3VsZCBiZSBhbiBhcnJheSBidXQgaW5zdGVhZCBpdCdzIG5vdCBkZWZpbmVkIWApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJpZ2h0cy5ldmVyeSgocmlnaHQ6IFV4VXNlclJpZ2h0KSA9PlxuICAgICAgICAgICAgdGhpcy51c2VyUmlnaHRzLmZpbmQoKHVSaWdodDogVXhVc2VyUmlnaHQpID0+IHVSaWdodC5pZCA9PT0gcmlnaHQuaWQpKTtcbiAgICB9XG5cbn1cbiJdfQ==