geonetwork-ui 2.7.0-dev.11d7e81c0 → 2.7.0-dev.1296cd46b

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 (41) hide show
  1. package/esm2022/libs/api/repository/src/lib/gn4/gn4.provider.mjs +7 -3
  2. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +20 -6
  3. package/esm2022/libs/common/domain/src/lib/platform.service.interface.mjs +1 -1
  4. package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +24 -17
  5. package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +33 -8
  6. package/esm2022/translations/de.json +1 -0
  7. package/esm2022/translations/en.json +1 -0
  8. package/esm2022/translations/es.json +1 -0
  9. package/esm2022/translations/fr.json +1 -0
  10. package/esm2022/translations/it.json +1 -0
  11. package/esm2022/translations/nl.json +1 -0
  12. package/esm2022/translations/pt.json +1 -0
  13. package/esm2022/translations/sk.json +1 -0
  14. package/fesm2022/geonetwork-ui.mjs +88 -30
  15. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  16. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts +5 -1
  17. package/libs/api/repository/src/lib/gn4/gn4.provider.d.ts.map +1 -1
  18. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts +6 -2
  19. package/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.d.ts.map +1 -1
  20. package/libs/common/domain/src/lib/platform.service.interface.d.ts +1 -0
  21. package/libs/common/domain/src/lib/platform.service.interface.d.ts.map +1 -1
  22. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +1 -0
  23. package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
  24. package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
  25. package/libs/ui/elements/src/lib/external-link-card/external-link-card.component.d.ts +1 -1
  26. package/libs/util/shared/src/lib/links/link-utils.d.ts +25 -7
  27. package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/libs/api/repository/src/lib/gn4/gn4.provider.ts +13 -2
  30. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +17 -6
  31. package/src/libs/common/domain/src/lib/platform.service.interface.ts +1 -0
  32. package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +23 -16
  33. package/src/libs/util/shared/src/lib/links/link-utils.ts +32 -7
  34. package/translations/de.json +1 -0
  35. package/translations/en.json +1 -0
  36. package/translations/es.json +1 -0
  37. package/translations/fr.json +1 -0
  38. package/translations/it.json +1 -0
  39. package/translations/nl.json +1 -0
  40. package/translations/pt.json +1 -0
  41. package/translations/sk.json +1 -0
@@ -1,5 +1,5 @@
1
1
  import { PlatformServiceInterface } from '../../../../../../libs/common/domain/src/lib/platform.service.interface';
2
- import { Gn4PlatformService } from './platform/gn4-platform.service';
2
+ import { DISABLE_AUTH, Gn4PlatformService, } from './platform/gn4-platform.service';
3
3
  import { Gn4PlatformMapper } from './platform/gn4-platform.mapper';
4
4
  import { RecordsRepositoryInterface } from '../../../../../../libs/common/domain/src/lib/repository/records-repository.interface';
5
5
  import { Gn4Repository } from './gn4-repository';
@@ -9,8 +9,12 @@ import { ORGANIZATIONS_STRATEGY, organizationsServiceFactory, } from './organiza
9
9
  import { ElasticsearchService } from './elasticsearch';
10
10
  import { GroupsApiService, SearchApiService, } from '../../../../../../libs/data-access/gn4/src';
11
11
  import { TranslateService } from '@ngx-translate/core';
12
- export function provideGn4() {
12
+ export function provideGn4(provideOptions) {
13
13
  return [
14
+ {
15
+ provide: DISABLE_AUTH,
16
+ useValue: provideOptions?.disableAuth,
17
+ },
14
18
  {
15
19
  provide: PlatformServiceInterface,
16
20
  useClass: Gn4PlatformService,
@@ -35,4 +39,4 @@ export function provideGn4() {
35
39
  },
36
40
  ];
37
41
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9nbjQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUVBQXlFLENBQUE7QUFDbEgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0ZBQXNGLENBQUE7QUFDakksT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDaEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOEVBQThFLENBQUE7QUFDNUgsT0FBTyxFQUNMLHNCQUFzQixFQUN0QiwyQkFBMkIsR0FDNUIsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0RCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNqQixNQUFNLDRDQUE0QyxDQUFBO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXRELE1BQU0sVUFBVSxVQUFVO0lBQ3hCLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFLGtCQUFrQjtTQUM3QjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUUsYUFBYTtTQUN4QjtRQUNELGlCQUFpQjtRQUNqQixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFO1FBQzlEO1lBQ0UsT0FBTyxFQUFFLDZCQUE2QjtZQUN0QyxVQUFVLEVBQUUsMkJBQTJCO1lBQ3ZDLElBQUksRUFBRTtnQkFDSixzQkFBc0I7Z0JBQ3RCLG9CQUFvQjtnQkFDcEIsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsd0JBQXdCO2FBQ3pCO1NBQ0Y7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgR240UGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9wbGF0Zm9ybS9nbjQtcGxhdGZvcm0uc2VydmljZSdcbmltcG9ydCB7IEduNFBsYXRmb3JtTWFwcGVyIH0gZnJvbSAnLi9wbGF0Zm9ybS9nbjQtcGxhdGZvcm0ubWFwcGVyJ1xuaW1wb3J0IHsgUmVjb3Jkc1JlcG9zaXRvcnlJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9yZXBvc2l0b3J5L3JlY29yZHMtcmVwb3NpdG9yeS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBHbjRSZXBvc2l0b3J5IH0gZnJvbSAnLi9nbjQtcmVwb3NpdG9yeSdcbmltcG9ydCB7IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UsIEdyYXZhdGFyU2VydmljZSB9IGZyb20gJy4vYXV0aCdcbmltcG9ydCB7IE9yZ2FuaXphdGlvbnNTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvb3JnYW5pemF0aW9ucy5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7XG4gIE9SR0FOSVpBVElPTlNfU1RSQVRFR1ksXG4gIG9yZ2FuaXphdGlvbnNTZXJ2aWNlRmFjdG9yeSxcbn0gZnJvbSAnLi9vcmdhbml6YXRpb25zJ1xuaW1wb3J0IHsgRWxhc3RpY3NlYXJjaFNlcnZpY2UgfSBmcm9tICcuL2VsYXN0aWNzZWFyY2gnXG5pbXBvcnQge1xuICBHcm91cHNBcGlTZXJ2aWNlLFxuICBTZWFyY2hBcGlTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL2duNC9zcmMnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVHbjQoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlLFxuICAgICAgdXNlQ2xhc3M6IEduNFBsYXRmb3JtU2VydmljZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlLFxuICAgICAgdXNlQ2xhc3M6IEduNFJlcG9zaXRvcnksXG4gICAgfSxcbiAgICBHbjRQbGF0Zm9ybU1hcHBlcixcbiAgICB7IHByb3ZpZGU6IEF2YXRhclNlcnZpY2VJbnRlcmZhY2UsIHVzZUNsYXNzOiBHcmF2YXRhclNlcnZpY2UgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSxcbiAgICAgIHVzZUZhY3Rvcnk6IG9yZ2FuaXphdGlvbnNTZXJ2aWNlRmFjdG9yeSxcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgT1JHQU5JWkFUSU9OU19TVFJBVEVHWSxcbiAgICAgICAgRWxhc3RpY3NlYXJjaFNlcnZpY2UsXG4gICAgICAgIFNlYXJjaEFwaVNlcnZpY2UsXG4gICAgICAgIEdyb3Vwc0FwaVNlcnZpY2UsXG4gICAgICAgIFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXVxufVxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvcmVwb3NpdG9yeS9zcmMvbGliL2duNC9nbjQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUVBQXlFLENBQUE7QUFDbEgsT0FBTyxFQUNMLFlBQVksRUFDWixrQkFBa0IsR0FDbkIsTUFBTSxpQ0FBaUMsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQTtBQUNqSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDaEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQTtBQUM1SCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLDJCQUEyQixHQUM1QixNQUFNLGlCQUFpQixDQUFBO0FBQ3hCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ3RELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEdBQ2pCLE1BQU0sNENBQTRDLENBQUE7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFNdEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxjQUFrQztJQUMzRCxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsWUFBWTtZQUNyQixRQUFRLEVBQUUsY0FBYyxFQUFFLFdBQVc7U0FDdEM7UUFDRDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFLGtCQUFrQjtTQUM3QjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUUsYUFBYTtTQUN4QjtRQUNELGlCQUFpQjtRQUNqQixFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFO1FBQzlEO1lBQ0UsT0FBTyxFQUFFLDZCQUE2QjtZQUN0QyxVQUFVLEVBQUUsMkJBQTJCO1lBQ3ZDLElBQUksRUFBRTtnQkFDSixzQkFBc0I7Z0JBQ3RCLG9CQUFvQjtnQkFDcEIsZ0JBQWdCO2dCQUNoQixnQkFBZ0I7Z0JBQ2hCLGdCQUFnQjtnQkFDaEIsd0JBQXdCO2FBQ3pCO1NBQ0Y7S0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHtcbiAgRElTQUJMRV9BVVRILFxuICBHbjRQbGF0Zm9ybVNlcnZpY2UsXG59IGZyb20gJy4vcGxhdGZvcm0vZ240LXBsYXRmb3JtLnNlcnZpY2UnXG5pbXBvcnQgeyBHbjRQbGF0Zm9ybU1hcHBlciB9IGZyb20gJy4vcGxhdGZvcm0vZ240LXBsYXRmb3JtLm1hcHBlcidcbmltcG9ydCB7IFJlY29yZHNSZXBvc2l0b3J5SW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcmVwb3NpdG9yeS9yZWNvcmRzLXJlcG9zaXRvcnkuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgR240UmVwb3NpdG9yeSB9IGZyb20gJy4vZ240LXJlcG9zaXRvcnknXG5pbXBvcnQgeyBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlLCBHcmF2YXRhclNlcnZpY2UgfSBmcm9tICcuL2F1dGgnXG5pbXBvcnQgeyBPcmdhbml6YXRpb25zU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL29yZ2FuaXphdGlvbnMuc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQge1xuICBPUkdBTklaQVRJT05TX1NUUkFURUdZLFxuICBvcmdhbml6YXRpb25zU2VydmljZUZhY3RvcnksXG59IGZyb20gJy4vb3JnYW5pemF0aW9ucydcbmltcG9ydCB7IEVsYXN0aWNzZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi9lbGFzdGljc2VhcmNoJ1xuaW1wb3J0IHtcbiAgR3JvdXBzQXBpU2VydmljZSxcbiAgU2VhcmNoQXBpU2VydmljZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9nbjQvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5cbmludGVyZmFjZSBHbjRQcm92aWRlT3B0aW9ucyB7XG4gIGRpc2FibGVBdXRoPzogYm9vbGVhblxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUduNChwcm92aWRlT3B0aW9ucz86IEduNFByb3ZpZGVPcHRpb25zKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRElTQUJMRV9BVVRILFxuICAgICAgdXNlVmFsdWU6IHByb3ZpZGVPcHRpb25zPy5kaXNhYmxlQXV0aCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgICAgIHVzZUNsYXNzOiBHbjRQbGF0Zm9ybVNlcnZpY2UsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBSZWNvcmRzUmVwb3NpdG9yeUludGVyZmFjZSxcbiAgICAgIHVzZUNsYXNzOiBHbjRSZXBvc2l0b3J5LFxuICAgIH0sXG4gICAgR240UGxhdGZvcm1NYXBwZXIsXG4gICAgeyBwcm92aWRlOiBBdmF0YXJTZXJ2aWNlSW50ZXJmYWNlLCB1c2VDbGFzczogR3JhdmF0YXJTZXJ2aWNlIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogT3JnYW5pemF0aW9uc1NlcnZpY2VJbnRlcmZhY2UsXG4gICAgICB1c2VGYWN0b3J5OiBvcmdhbml6YXRpb25zU2VydmljZUZhY3RvcnksXG4gICAgICBkZXBzOiBbXG4gICAgICAgIE9SR0FOSVpBVElPTlNfU1RSQVRFR1ksXG4gICAgICAgIEVsYXN0aWNzZWFyY2hTZXJ2aWNlLFxuICAgICAgICBTZWFyY2hBcGlTZXJ2aWNlLFxuICAgICAgICBHcm91cHNBcGlTZXJ2aWNlLFxuICAgICAgICBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgICBdLFxuICAgIH0sXG4gIF1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
2
2
  import { catchError, filter, map, mergeMap, shareReplay, tap, } from 'rxjs/operators';
3
3
  import { MeApiService, RecordsApiService, RegistriesApiService, ToolsApiService, UserfeedbackApiService, UsersApiService, } from '../../../../../../../libs/data-access/gn4/src';
4
4
  import { Gn4PlatformMapper } from './gn4-platform.mapper';
@@ -16,11 +16,14 @@ import * as i3 from "@ngx-translate/core";
16
16
  import * as i4 from "@angular/common/http";
17
17
  import * as i5 from "../settings/gn4-settings.service";
18
18
  const minApiVersion = '4.2.2';
19
+ export const DISABLE_AUTH = new InjectionToken('gnDisableAuth', {
20
+ factory: () => false,
21
+ });
19
22
  export class Gn4PlatformService {
20
23
  get lang3() {
21
24
  return toLang3(this.translateService.currentLang);
22
25
  }
23
- constructor(meApi, usersApi, mapper, toolsApiService, registriesApiService, translateService, userfeedbackApiService, httpClient, recordsApiService, settingsService) {
26
+ constructor(meApi, usersApi, mapper, toolsApiService, registriesApiService, translateService, userfeedbackApiService, httpClient, recordsApiService, settingsService, disableAuth) {
24
27
  this.meApi = meApi;
25
28
  this.usersApi = usersApi;
26
29
  this.mapper = mapper;
@@ -31,6 +34,7 @@ export class Gn4PlatformService {
31
34
  this.httpClient = httpClient;
32
35
  this.recordsApiService = recordsApiService;
33
36
  this.settingsService = settingsService;
37
+ this.disableAuth = disableAuth;
34
38
  this.type = 'GeoNetwork';
35
39
  this.gnParseVersion = '4.2.5';
36
40
  this.keyTranslations$ = this.toolsApiService
@@ -49,7 +53,9 @@ export class Gn4PlatformService {
49
53
  .pipe(map((thesaurus) => {
50
54
  return thesaurus[0];
51
55
  }), shareReplay(1));
52
- this.me$ = this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay({ bufferSize: 1, refCount: true }));
56
+ this.me$ = this.disableAuth
57
+ ? of(null)
58
+ : this.meApi.getMe().pipe(switchMap((apiUser) => this.mapper.userFromMeApi(apiUser)), shareReplay({ bufferSize: 1, refCount: true }));
53
59
  this.isUserAnonymous$ = this.me$.pipe(map((user) => !user || !('id' in user)));
54
60
  this.users$ = this.usersApi.getUsers().pipe(map((users) => users.map((user) => this.mapper.userFromApi(user))), shareReplay());
55
61
  }
@@ -247,10 +253,18 @@ export class Gn4PlatformService {
247
253
  }
248
254
  }));
249
255
  }
250
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, deps: [{ token: i1.MeApiService }, { token: i1.UsersApiService }, { token: i2.Gn4PlatformMapper }, { token: i1.ToolsApiService }, { token: i1.RegistriesApiService }, { token: i3.TranslateService }, { token: i1.UserfeedbackApiService }, { token: i4.HttpClient }, { token: i1.RecordsApiService }, { token: i5.Gn4SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
256
+ supportsAuthentication() {
257
+ return !this.disableAuth;
258
+ }
259
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, deps: [{ token: i1.MeApiService }, { token: i1.UsersApiService }, { token: i2.Gn4PlatformMapper }, { token: i1.ToolsApiService }, { token: i1.RegistriesApiService }, { token: i3.TranslateService }, { token: i1.UserfeedbackApiService }, { token: i4.HttpClient }, { token: i1.RecordsApiService }, { token: i5.Gn4SettingsService }, { token: DISABLE_AUTH, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
251
260
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService }); }
252
261
  }
253
262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Gn4PlatformService, decorators: [{
254
263
  type: Injectable
255
- }], ctorParameters: () => [{ type: i1.MeApiService }, { type: i1.UsersApiService }, { type: i2.Gn4PlatformMapper }, { type: i1.ToolsApiService }, { type: i1.RegistriesApiService }, { type: i3.TranslateService }, { type: i1.UserfeedbackApiService }, { type: i4.HttpClient }, { type: i1.RecordsApiService }, { type: i5.Gn4SettingsService }] });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXBsYXRmb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYy9saWIvZ240L3BsYXRmb3JtL2duNC1wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUNILFFBQVEsRUFDUixXQUFXLEVBQ1gsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsZUFBZSxHQUNoQixNQUFNLCtDQUErQyxDQUFBO0FBWXRELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQU1oRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUMvRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLFFBQVEsRUFFUixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQTtBQUNiLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7Ozs7OztBQUVyRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUE7QUFHN0IsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsSUFBWSxLQUFL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LElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtvQkFDaEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtnQkFDOUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUE7Z0JBQzlELE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUNyRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQzlDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQzsrR0E1WFUsa0JBQWtCO21IQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBtZXJnZU1hcCxcbiAgc2hhcmVSZXBsYXksXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQge1xuICBNZUFwaVNlcnZpY2UsXG4gIFJlY29yZHNBcGlTZXJ2aWNlLFxuICBSZWdpc3RyaWVzQXBpU2VydmljZSxcbiAgVG9vbHNBcGlTZXJ2aWNlLFxuICBVc2VyZmVlZGJhY2tBcGlTZXJ2aWNlLFxuICBVc2Vyc0FwaVNlcnZpY2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0YS1hY2Nlc3MvZ240L3NyYydcbmltcG9ydCB7XG4gIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgVXBsb2FkRXZlbnQsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UuaW50ZXJmYWNlJ1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvdXNlci91c2VyLm1vZGVsJ1xuaW1wb3J0IHtcbiAgQ2F0YWxvZ1JlY29yZCxcbiAgS2V5d29yZCxcbiAgT3JnYW5pemF0aW9uLFxuICBVc2VyRmVlZGJhY2ssXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3JlY29yZCdcbmltcG9ydCB7IEduNFBsYXRmb3JtTWFwcGVyIH0gZnJvbSAnLi9nbjQtcGxhdGZvcm0ubWFwcGVyJ1xuaW1wb3J0IHsgbHRyIH0gZnJvbSAnc2VtdmVyJ1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHtcbiAgS2V5d29yZEFwaVJlc3BvbnNlLFxuICBUaGVzYXVydXNBcGlSZXNwb25zZSxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcGkvbWV0YWRhdGEtY29udmVydGVyL3NyYydcbmltcG9ydCB7IEtleXdvcmRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvdGhlc2F1cnVzJ1xuaW1wb3J0IHsgbm9EdXBsaWNhdGVGaWxlTmFtZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHtcbiAgY29tYmluZUxhdGVzdCxcbiAgZm9ya0pvaW4sXG4gIE9ic2VydmFibGUsXG4gIG9mLFxuICBzd2l0Y2hNYXAsXG4gIHRocm93RXJyb3IsXG59IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IHRvTGFuZzMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvaTE4bi9zcmMnXG5pbXBvcnQgeyBHbjRTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9zZXR0aW5ncy9nbjQtc2V0dGluZ3Muc2VydmljZSdcblxuY29uc3QgbWluQXBpVmVyc2lvbiA9ICc0LjIuMidcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEduNFBsYXRmb3JtU2VydmljZSBpbXBsZW1lbnRzIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHlwZSA9ICdHZW9OZXR3b3JrJ1xuICBwcml2YXRlIHJlYWRvbmx5IG1lJDogT2JzZXJ2YWJsZTxVc2VyTW9kZWw+XG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPlxuICBwcml2YXRlIHJlYWRvbmx5IGlzVXNlckFub255bW91cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgcHJpdmF0ZSByZWFkb25seSBnblBhcnNlVmVyc2lvbiA9ICc0LjIuNSdcblxuICBwcml2YXRlIGtleVRyYW5zbGF0aW9ucyQgPSB0aGlzLnRvb2xzQXBpU2VydmljZVxuICAgIC5nZXRUcmFuc2xhdGlvbnNQYWNrYWdlMSgnZ251aScpXG4gICAgLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdFcnJvciB3aGlsZSBsb2FkaW5nIGdudWkgbGFuZ3VhZ2UgcGFja2FnZScpXG4gICAgICAgIHJldHVybiBvZih7fSlcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBhbHJlYWR5IGxvYWRlZCB0aGVzYXVyaSAoZ3JvdXBzIG9mIGtleXdvcmRzKTsgdGhlIGtleSBpcyBhIFVSSVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBrZXl3b3Jkc0J5VGhlc2F1cmk6IFJlY29yZDxzdHJpbmcsIE9ic2VydmFibGU8S2V5d29yZFtdPj4gPSB7fVxuXG4gIHByaXZhdGUgZ2V0IGxhbmczKCkge1xuICAgIHJldHVybiB0b0xhbmczKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZylcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWVBcGk6IE1lQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJzQXBpOiBVc2Vyc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBwZXI6IEduNFBsYXRmb3JtTWFwcGVyLFxuICAgIHByaXZhdGUgdG9vbHNBcGlTZXJ2aWNlOiBUb29sc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWdpc3RyaWVzQXBpU2VydmljZTogUmVnaXN0cmllc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlcmZlZWRiYWNrQXBpU2VydmljZTogVXNlcmZlZWRiYWNrQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWNvcmRzQXBpU2VydmljZTogUmVjb3Jkc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZXR0aW5nc1NlcnZpY2U6IEduNFNldHRpbmdzU2VydmljZVxuICApIHtcbiAgICB0aGlzLm1lJCA9IHRoaXMubWVBcGkuZ2V0TWUoKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChhcGlVc2VyKSA9PiB0aGlzLm1hcHBlci51c2VyRnJvbU1lQXBpKGFwaVVzZXIpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSlcbiAgICApXG5cbiAgICB0aGlzLmlzVXNlckFub255bW91cyQgPSB0aGlzLm1lJC5waXBlKFxuICAgICAgbWFwKCh1c2VyKSA9PiAhdXNlciB8fCAhKCdpZCcgaW4gdXNlcikpXG4gICAgKVxuXG4gICAgdGhpcy51c2VycyQgPSB0aGlzLnVzZXJzQXBpLmdldFVzZXJzKCkucGlwZShcbiAgICAgIG1hcCgodXNlcnMpID0+IHVzZXJzLm1hcCgodXNlcikgPT4gdGhpcy5tYXBwZXIudXNlckZyb21BcGkodXNlcikpKSxcbiAgICAgIHNoYXJlUmVwbGF5KClcbiAgICApXG4gIH1cblxuICBnZXRGZWVkYmFja3NBbGxvd2VkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS5hbGxvd0ZlZWRiYWNrcyRcbiAgfVxuXG4gIGdldEFsbG93RWRpdEhhcnZlc3RlZE1kKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS5hbGxvd0VkaXRIYXJ2ZXN0ZWQkXG4gIH1cblxuICBnZXRUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHlwZVxuICB9XG5cbiAgZ2V0QXBpVmVyc2lvbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9uJC5waXBlKFxuICAgICAgdGFwKCh2ZXJzaW9uKSA9PiB7XG4gICAgICAgIGlmIChsdHIodmVyc2lvbiwgbWluQXBpVmVyc2lvbikpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgR240IEFQSSB2ZXJzaW9uIGlzIG5vdCBjb21wYXRpYmxlLlxcbk1pbmltdW06ICR7bWluQXBpVmVyc2lvbn1cXG5Zb3VyIHZlcnNpb246ICR7dmVyc2lvbn1gXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldE1lKCk6IE9ic2VydmFibGU8VXNlck1vZGVsPiB7XG4gICAgcmV0dXJuIHRoaXMubWUkXG4gIH1cblxuICBpc0Fub255bW91cygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pc1VzZXJBbm9ueW1vdXMkXG4gIH1cblxuICBnZXRPcmdhbml6YXRpb25zKCk6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uW10+IHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBnZXRVc2Vyc0J5T3JnYW5pemF0aW9uKG9yZ2FuaXNhdGlvbjogT3JnYW5pemF0aW9uKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldFVzZXJzKCk6IE9ic2VydmFibGU8VXNlck1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy51c2VycyRcbiAgfVxuXG4gIHRyYW5zbGF0ZUtleShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgLy8gaWYgdGhlIGtleSBpcyBhIFVSSSwgdXNlIHRoZSByZWdpc3RyaWVzIEFQSSB0byBsb29rIGZvciB0aGUgdHJhbnNsYXRpb25cbiAgICBpZiAoa2V5Lm1hdGNoKC9eaHR0cHM/OlxcL1xcLy8pKSB7XG4gICAgICAvLyB0aGUgdGhlc2F1cnVzIFVSSSBpcyBpbmZlcnJlZCBieSByZW1vdmluZyBhIHBhcnQgb2YgdGhlIGtleXdvcmQgVVJJXG4gICAgICAvLyB0aGlzIGlzIG5vdCBleGFjdCBzY2llbmNlIGJ1dCBpdCdzIE9LLCB3ZSdsbCBzdGlsbCBlbmQgdXAgbG9hZGluZyBhIGJ1bmNoIG9mIGtleXdvcmRzIGF0IG9uY2UgYW55d2F5XG4gICAgICBjb25zdCB0aGVzYXVydXNVcmkgPSBrZXkucmVwbGFjZSgvXFwvKFteL10rKSQvLCAnLycpXG4gICAgICByZXR1cm4gdGhpcy5nZXRLZXl3b3Jkc0J5VXJpKHRoZXNhdXJ1c1VyaSkucGlwZShcbiAgICAgICAgbWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhlc2F1cnVzKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5rZXkgPT09IGtleSkgcmV0dXJuIGl0ZW0ubGFiZWxcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGtleVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5rZXlUcmFuc2xhdGlvbnMkLnBpcGUobWFwKCh0cmFuc2xhdGlvbnMpID0+IHRyYW5zbGF0aW9uc1trZXldKSlcbiAgfVxuXG4gIHByaXZhdGUgYWxsVGhlc2F1cnVzJCA9IHRoaXMuaHR0cENsaWVudFxuICAgIC5nZXQoXG4gICAgICBgJHt0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLmNvbmZpZ3VyYXRpb24uYmFzZVBhdGh9L3RoZXNhdXJ1cz9fY29udGVudF90eXBlPWpzb25gXG4gICAgKVxuICAgIC5waXBlKFxuICAgICAgbWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoZXNhdXJ1c1swXSBhcyBUaGVzYXVydXNBcGlSZXNwb25zZVtdXG4gICAgICB9KSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpXG4gICAgKVxuXG4gIHNlYXJjaEtleXdvcmRzKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAga2V5d29yZFR5cGVzOiBLZXl3b3JkVHlwZVtdXG4gICk6IE9ic2VydmFibGU8S2V5d29yZFtdPiB7XG4gICAgY29uc3Qga2V5d29yZHMkOiBPYnNlcnZhYmxlPEtleXdvcmRBcGlSZXNwb25zZVtdPiA9IHRoaXMuYWxsVGhlc2F1cnVzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0aGVzYXVydXMpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUaGVzYXVyaSA9IFtdXG4gICAgICAgIGtleXdvcmRUeXBlcy5tYXAoKGtleXdvcmRUeXBlKSA9PiB7XG4gICAgICAgICAgc2VsZWN0ZWRUaGVzYXVyaS5wdXNoKFxuICAgICAgICAgICAgLi4udGhlc2F1cnVzLmZpbHRlcigodGhlcykgPT4gdGhlcy5kbmFtZSA9PT0ga2V5d29yZFR5cGUpXG4gICAgICAgICAgKVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLnNlYXJjaEtleXdvcmRzKFxuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIHRoaXMubGFuZzMsXG4gICAgICAgICAgMTAsXG4gICAgICAgICAgMCxcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIHNlbGVjdGVkVGhlc2F1cmkubWFwKCh0aGVzKSA9PiB0aGVzLmtleSksXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBgKiR7cXVlcnl9KmBcbiAgICAgICAgKSBhcyBPYnNlcnZhYmxlPEtleXdvcmRBcGlSZXNwb25zZVtdPlxuICAgICAgfSlcbiAgICApXG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChba2V5d29yZHMkLCB0aGlzLmFsbFRoZXNhdXJ1cyRdKS5waXBlKFxuICAgICAgbWFwKChba2V5d29yZHMsIHRoZXNhdXJ1c10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwcGVyLmtleXdvcmRzRnJvbUFwaShrZXl3b3JkcywgdGhlc2F1cnVzLCB0aGlzLmxhbmczKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBnZXRLZXl3b3Jkc0J5VXJpKHVyaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+IHtcbiAgICBpZiAodGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXSkge1xuICAgICAgcmV0dXJuIHRoaXMua2V5d29yZHNCeVRoZXNhdXJpW3VyaV1cbiAgICB9XG4gICAgY29uc3Qga2V5d29yZHMkID0gdGhpcy5yZWdpc3RyaWVzQXBpU2VydmljZS5zZWFyY2hLZXl3b3JkcyhcbiAgICAgIG51bGwsXG4gICAgICB0aGlzLmxhbmczLFxuICAgICAgMTAwMCxcbiAgICAgIDAsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIG51bGwsXG4gICAgICBgJHt1cml9KmBcbiAgICApIGFzIE9ic2VydmFibGU8S2V5d29yZEFwaVJlc3BvbnNlW10+XG5cbiAgICB0aGlzLmtleXdvcmRzQnlUaGVzYXVyaVt1cmldID0gY29tYmluZUxhdGVzdChbXG4gICAgICBrZXl3b3JkcyQsXG4gICAgICB0aGlzLmFsbFRoZXNhdXJ1cyQsXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2tleXdvcmRzLCB0aGVzYXVydXNdKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1hcHBlci5rZXl3b3Jkc0Zyb21BcGkoa2V5d29yZHMsIHRoZXNhdXJ1cywgdGhpcy5sYW5nMylcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG5cbiAgICByZXR1cm4gdGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXVxuICB9XG5cbiAgc2VhcmNoS2V5d29yZHNJblRoZXNhdXJ1cyhxdWVyeTogc3RyaW5nLCB0aGVzYXVydXNJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsVGhlc2F1cnVzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0aGVzYXVyaSkgPT4ge1xuICAgICAgICBjb25zdCBzdHJpcHBlZFRoZXNhdXJ1c0lkID0gdGhlc2F1cnVzSWQucmVwbGFjZShcbiAgICAgICAgICAnZ2VvbmV0d29yay50aGVzYXVydXMuJyxcbiAgICAgICAgICAnJ1xuICAgICAgICApXG4gICAgICAgIGlmICghdGhlc2F1cmkuZmluZCgodGhlcykgPT4gdGhlcy5rZXkgPT09IHN0cmlwcGVkVGhlc2F1cnVzSWQpKVxuICAgICAgICAgIHJldHVybiBvZihbXSlcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cmllc0FwaVNlcnZpY2VcbiAgICAgICAgICAuc2VhcmNoS2V5d29yZHMoXG4gICAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICAgIHRoaXMubGFuZzMsXG4gICAgICAgICAgICAxMDAsXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIFtzdHJpcHBlZFRoZXNhdXJ1c0lkXSxcbiAgICAgICAgICAgIG51bGxcbiAgICAgICAgICApXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGtleXdvcmRzOiBLZXl3b3JkQXBpUmVzcG9uc2VbXSkgPT5cbiAgICAgICAgICAgICAgdGhpcy5tYXBwZXIua2V5d29yZHNGcm9tQXBpKGtleXdvcmRzLCB0aGVzYXVyaSwgdGhpcy5sYW5nMylcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldFVzZXJGZWVkYmFja3ModXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyRmVlZGJhY2tbXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJmZWVkYmFja0FwaVNlcnZpY2UuZ2V0VXNlckNvbW1lbnRzKHV1aWQpLnBpcGUoXG4gICAgICBtYXAoKHVzZXJGZWVkYmFja3MpID0+XG4gICAgICAgIHVzZXJGZWVkYmFja3MubWFwKHRoaXMubWFwcGVyLnVzZXJGZWVkYmFja3NGcm9tQXBpKVxuICAgICAgKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIHVzZXIgZmVlZGJhY2tzOicsIGVycm9yKVxuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwb3N0VXNlckZlZWRiYWNrcyh1c2VyRmVlZGJhY2s6IFVzZXJGZWVkYmFjayk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IG1hcHBlZFVzZXJGZWVkQmFjayA9IHRoaXMubWFwcGVyLnVzZXJGZWVkYmFja3NUb0FwaSh1c2VyRmVlZGJhY2spXG4gICAgcmV0dXJuIHRoaXMudXNlcmZlZWRiYWNrQXBpU2VydmljZS5uZXdVc2VyRmVlZGJhY2sobWFwcGVkVXNlckZlZWRCYWNrKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHVuZGVmaW5lZCksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwb3N0aW5nIHVzZXIgZmVlZGJhY2s6JywgZXJyb3IpXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldFJlY29yZEF0dGFjaG1lbnRzKHJlY29yZFV1aWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmdldEFsbFJlc291cmNlcyhyZWNvcmRVdWlkKS5waXBlKFxuICAgICAgbWFwKChyZXNvdXJjZXMpID0+XG4gICAgICAgIHJlc291cmNlcy5tYXAoKHIpID0+ICh7XG4gICAgICAgICAgdXJsOiBuZXcgVVJMKHIudXJsKSxcbiAgICAgICAgICBmaWxlTmFtZTogci5maWxlbmFtZSxcbiAgICAgICAgfSkpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgY2xlYW5SZWNvcmRBdHRhY2htZW50cyhyZWNvcmQ6IENhdGFsb2dSZWNvcmQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmdldEFzc29jaWF0ZWRSZXNvdXJjZXMocmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpLFxuICAgICAgdGhpcy5yZWNvcmRzQXBpU2VydmljZS5nZXRBbGxSZXNvdXJjZXMocmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFthc3NvY2lhdGVkLCBhdHRhY2htZW50c10pID0+IHtcbiAgICAgICAgY29uc3QgeyBvbmxpbmVzID0gW10sIHRodW1ibmFpbHMgPSBbXSB9ID0gYXNzb2NpYXRlZFxuXG4gICAgICAgIGNvbnN0IHVybHNUb0tlZXAgPSBbXG4gICAgICAgICAgLi4uKEFycmF5LmlzQXJyYXkob25saW5lcykgPyBvbmxpbmVzIDogW10pLFxuICAgICAgICAgIC4uLihBcnJheS5pc0FycmF5KHRodW1ibmFpbHMpID8gdGh1bWJuYWlscyA6IFtdKSxcbiAgICAgICAgXS5tYXAoKHJlc291cmNlKSA9PiBPYmplY3QudmFsdWVzKHJlc291cmNlLnVybClbMF0pXG4gICAgICAgIGNvbnN0IGZpbGVUb0RlbGV0ZSA9IGF0dGFjaG1lbnRzLnJlZHVjZTxzdHJpbmdbXT4oKGFjYywgYXR0YWNobWVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICF1cmxzVG9LZWVwLmluY2x1ZGVzKGF0dGFjaG1lbnQudXJsKSAmJlxuICAgICAgICAgICAgYXR0YWNobWVudC5maWxlbmFtZSAhPT0gJ2RhdGF2aXpDb25maWcuanNvbidcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGFjYy5wdXNoKGF0dGFjaG1lbnQuZmlsZW5hbWUpXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBhY2NcbiAgICAgICAgfSwgW10pXG5cbiAgICAgICAgcmV0dXJuIGZpbGVUb0RlbGV0ZVxuICAgICAgfSksXG4gICAgICBtZXJnZU1hcCgoZmlsZXNUb0RlbGV0ZSkgPT5cbiAgICAgICAgZmlsZXNUb0RlbGV0ZS5sZW5ndGhcbiAgICAgICAgICA/IGZvcmtKb2luKFxuICAgICAgICAgICAgICBmaWxlc1RvRGVsZXRlLm1hcCgoZmlsZW5hbWUpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5yZWNvcmRzQXBpU2VydmljZS5kZWxSZXNvdXJjZShcbiAgICAgICAgICAgICAgICAgIHJlY29yZC51bmlxdWVJZGVudGlmaWVyLFxuICAgICAgICAgICAgICAgICAgZmlsZW5hbWVcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkucGlwZShtYXAoKCkgPT4gdW5kZWZpbmVkKSlcbiAgICAgICAgICA6IG9mKHVuZGVmaW5lZClcbiAgICAgICksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciB3aGlsZSBjbGVhbmluZyBhdHRhY2htZW50czonLCBlcnJvcilcbiAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSB1cGxvYWRGaWxlKHJlY29yZFV1aWQ6IHN0cmluZywgZmlsZTogRmlsZSk6IE9ic2VydmFibGU8VXBsb2FkRXZlbnQ+IHtcbiAgICBsZXQgc2l6ZUJ5dGVzID0gLTFcbiAgICByZXR1cm4gdGhpcy5yZWNvcmRzQXBpU2VydmljZVxuICAgICAgLnB1dFJlc291cmNlKHJlY29yZFV1aWQsIGZpbGUsICdwdWJsaWMnLCB1bmRlZmluZWQsICdldmVudHMnLCB0cnVlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzcykge1xuICAgICAgICAgICAgc2l6ZUJ5dGVzID0gZXZlbnQudG90YWxcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdwcm9ncmVzcycsXG4gICAgICAgICAgICAgIHByb2dyZXNzOiBldmVudC50b3RhbFxuICAgICAgICAgICAgICAgID8gTWF0aC5yb3VuZCgoMTAwICogZXZlbnQubG9hZGVkKSAvIGV2ZW50LnRvdGFsKVxuICAgICAgICAgICAgICAgIDogMCxcbiAgICAgICAgICAgIH0gYXMgVXBsb2FkRXZlbnRcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgYXR0YWNobWVudDoge1xuICAgICAgICAgICAgICAgIHVybDogbmV3IFVSTChldmVudC5ib2R5LnVybCksXG4gICAgICAgICAgICAgICAgZmlsZU5hbWU6IGV2ZW50LmJvZHkuZmlsZW5hbWUsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHNpemVCeXRlcyxcbiAgICAgICAgICAgIH0gYXMgVXBsb2FkRXZlbnRcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9KSxcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gISFldmVudCksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoXG4gICAgICAgICAgICAoKSA9PiBuZXcgRXJyb3IoZXJyb3IuZXJyb3I/Lm1lc3NhZ2UgPz8gZXJyb3IubWVzc2FnZSlcbiAgICAgICAgICApXG4gICAgICAgIH0pXG4gICAgICApXG4gIH1cbiAgZ2V0RmlsZUNvbnRlbnQodXJsOiBVUkwgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuaHR0cENsaWVudC5nZXQodXJsLnRvU3RyaW5nKCksIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSksXG4gICAgICB0aGlzLmdldEFwaVZlcnNpb24oKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbdGV4dCwgdmVyc2lvbl0pID0+IHtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZSh0ZXh0KVxuXG4gICAgICAgIGlmICh2ZXJzaW9uID4gdGhpcy5nblBhcnNlVmVyc2lvbikge1xuICAgICAgICAgIHJldHVybiBwYXJzZWRcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSB0aGlzLmRlY29kZUJhc2U2NChwYXJzZWQpXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZWQpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGRlY29kZUJhc2U2NChiYXNlNjQpIHtcbiAgICBjb25zdCB0ZXh0ID0gYXRvYihiYXNlNjQpXG4gICAgY29uc3QgbGVuZ3RoID0gdGV4dC5sZW5ndGhcbiAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGxlbmd0aClcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICBieXRlc1tpXSA9IHRleHQuY2hhckNvZGVBdChpKVxuICAgIH1cbiAgICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKClcbiAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGUoYnl0ZXMpXG4gIH1cblxuICBhdHRhY2hGaWxlVG9SZWNvcmQoXG4gICAgcmVjb3JkVXVpZDogc3RyaW5nLFxuICAgIGZpbGU6IEZpbGUsXG4gICAgcmVtb3ZlRHVwbGljYXRlID0gZmFsc2VcbiAgKTogT2JzZXJ2YWJsZTxVcGxvYWRFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLmdldFJlY29yZEF0dGFjaG1lbnRzKHJlY29yZFV1aWQpLnBpcGUoXG4gICAgICBtYXAoKHJlY29yZEF0dGFjaG1lbnRzKSA9PiByZWNvcmRBdHRhY2htZW50cy5tYXAoKHIpID0+IHIuZmlsZU5hbWUpKSxcbiAgICAgIHN3aXRjaE1hcCgoZmlsZU5hbWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZmlsZS5uYW1lXG5cbiAgICAgICAgaWYgKHJlbW92ZUR1cGxpY2F0ZSAmJiBmaWxlTmFtZXMuaW5jbHVkZXMoZmlsZS5uYW1lKSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmRlbFJlc291cmNlKHJlY29yZFV1aWQsIGZpbGVOYW1lKS5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmlsZUNvcHkgPSBuZXcgRmlsZShbZmlsZV0sIGZpbGVOYW1lLCB7IHR5cGU6IGZpbGUudHlwZSB9KVxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRGaWxlKHJlY29yZFV1aWQsIGZpbGVDb3B5KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgZmluYWxGaWxlTmFtZSA9IG5vRHVwbGljYXRlRmlsZU5hbWUoZmlsZU5hbWUsIGZpbGVOYW1lcylcbiAgICAgICAgICBjb25zdCBmaWxlQ29weSA9IG5ldyBGaWxlKFtmaWxlXSwgZmluYWxGaWxlTmFtZSwgeyB0eXBlOiBmaWxlLnR5cGUgfSlcbiAgICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRGaWxlKHJlY29yZFV1aWQsIGZpbGVDb3B5KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIClcbiAgfVxufVxuIl19
264
+ }], ctorParameters: () => [{ type: i1.MeApiService }, { type: i1.UsersApiService }, { type: i2.Gn4PlatformMapper }, { type: i1.ToolsApiService }, { type: i1.RegistriesApiService }, { type: i3.TranslateService }, { type: i1.UserfeedbackApiService }, { type: i4.HttpClient }, { type: i1.RecordsApiService }, { type: i5.Gn4SettingsService }, { type: undefined, decorators: [{
265
+ type: Inject,
266
+ args: [DISABLE_AUTH]
267
+ }, {
268
+ type: Optional
269
+ }] }] });
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ240LXBsYXRmb3JtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwaS9yZXBvc2l0b3J5L3NyYy9saWIvZ240L3BsYXRmb3JtL2duNC1wbGF0Zm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDNUUsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sR0FBRyxFQUNILFFBQVEsRUFDUixXQUFXLEVBQ1gsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUNMLFlBQVksRUFDWixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsZUFBZSxHQUNoQixNQUFNLCtDQUErQyxDQUFBO0FBWXRELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQU1oRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQTtBQUMvRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLFFBQVEsRUFFUixFQUFFLEVBQ0YsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQTtBQUNiLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTs7Ozs7OztBQUVyRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUE7QUFFN0IsTUFB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QUUxQixJQUFJLGVBQWUsSUFBSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNyRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDbEUsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDYixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtvQkFDaEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQTtnQkFDOUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUE7Z0JBQzlELE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUNyRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQzlDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUMxQixDQUFDOytHQW5ZVSxrQkFBa0Isb1ZBcUNuQixZQUFZO21IQXJDWCxrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVU7OzBCQXNDTixNQUFNOzJCQUFDLFlBQVk7OzBCQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBjYXRjaEVycm9yLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgbWVyZ2VNYXAsXG4gIHNoYXJlUmVwbGF5LFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHtcbiAgTWVBcGlTZXJ2aWNlLFxuICBSZWNvcmRzQXBpU2VydmljZSxcbiAgUmVnaXN0cmllc0FwaVNlcnZpY2UsXG4gIFRvb2xzQXBpU2VydmljZSxcbiAgVXNlcmZlZWRiYWNrQXBpU2VydmljZSxcbiAgVXNlcnNBcGlTZXJ2aWNlLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2RhdGEtYWNjZXNzL2duNC9zcmMnXG5pbXBvcnQge1xuICBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gIFVwbG9hZEV2ZW50LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZSdcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3VzZXIvdXNlci5tb2RlbCdcbmltcG9ydCB7XG4gIENhdGFsb2dSZWNvcmQsXG4gIEtleXdvcmQsXG4gIE9yZ2FuaXphdGlvbixcbiAgVXNlckZlZWRiYWNrLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBHbjRQbGF0Zm9ybU1hcHBlciB9IGZyb20gJy4vZ240LXBsYXRmb3JtLm1hcHBlcidcbmltcG9ydCB7IGx0ciB9IGZyb20gJ3NlbXZlcidcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7XG4gIEtleXdvcmRBcGlSZXNwb25zZSxcbiAgVGhlc2F1cnVzQXBpUmVzcG9uc2UsXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL21ldGFkYXRhLWNvbnZlcnRlci9zcmMnXG5pbXBvcnQgeyBLZXl3b3JkVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL2RvbWFpbi9zcmMvbGliL21vZGVsL3RoZXNhdXJ1cydcbmltcG9ydCB7IG5vRHVwbGljYXRlRmlsZU5hbWUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcbmltcG9ydCB7XG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZvcmtKb2luLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgc3dpdGNoTWFwLFxuICB0aHJvd0Vycm9yLFxufSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyB0b0xhbmczIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91dGlsL2kxOG4vc3JjJ1xuaW1wb3J0IHsgR240U2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2V0dGluZ3MvZ240LXNldHRpbmdzLnNlcnZpY2UnXG5cbmNvbnN0IG1pbkFwaVZlcnNpb24gPSAnNC4yLjInXG5cbmV4cG9ydCBjb25zdCBESVNBQkxFX0FVVEggPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ2duRGlzYWJsZUF1dGgnLCB7XG4gIGZhY3Rvcnk6ICgpID0+IGZhbHNlLFxufSlcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEduNFBsYXRmb3JtU2VydmljZSBpbXBsZW1lbnRzIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHlwZSA9ICdHZW9OZXR3b3JrJ1xuICBwcml2YXRlIHJlYWRvbmx5IG1lJDogT2JzZXJ2YWJsZTxVc2VyTW9kZWw+XG4gIHByaXZhdGUgcmVhZG9ubHkgdXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPlxuICBwcml2YXRlIHJlYWRvbmx5IGlzVXNlckFub255bW91cyQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgcHJpdmF0ZSByZWFkb25seSBnblBhcnNlVmVyc2lvbiA9ICc0LjIuNSdcblxuICBwcml2YXRlIGtleVRyYW5zbGF0aW9ucyQgPSB0aGlzLnRvb2xzQXBpU2VydmljZVxuICAgIC5nZXRUcmFuc2xhdGlvbnNQYWNrYWdlMSgnZ251aScpXG4gICAgLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKCgpID0+IHtcbiAgICAgICAgY29uc29sZS53YXJuKCdFcnJvciB3aGlsZSBsb2FkaW5nIGdudWkgbGFuZ3VhZ2UgcGFja2FnZScpXG4gICAgICAgIHJldHVybiBvZih7fSlcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG4gIC8qKlxuICAgKiBBIG1hcCBvZiBhbHJlYWR5IGxvYWRlZCB0aGVzYXVyaSAoZ3JvdXBzIG9mIGtleXdvcmRzKTsgdGhlIGtleSBpcyBhIFVSSVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBrZXl3b3Jkc0J5VGhlc2F1cmk6IFJlY29yZDxzdHJpbmcsIE9ic2VydmFibGU8S2V5d29yZFtdPj4gPSB7fVxuXG4gIHByaXZhdGUgZ2V0IGxhbmczKCkge1xuICAgIHJldHVybiB0b0xhbmczKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZylcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWVBcGk6IE1lQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHVzZXJzQXBpOiBVc2Vyc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXBwZXI6IEduNFBsYXRmb3JtTWFwcGVyLFxuICAgIHByaXZhdGUgdG9vbHNBcGlTZXJ2aWNlOiBUb29sc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWdpc3RyaWVzQXBpU2VydmljZTogUmVnaXN0cmllc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXNlcmZlZWRiYWNrQXBpU2VydmljZTogVXNlcmZlZWRiYWNrQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSByZWNvcmRzQXBpU2VydmljZTogUmVjb3Jkc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzZXR0aW5nc1NlcnZpY2U6IEduNFNldHRpbmdzU2VydmljZSxcbiAgICBASW5qZWN0KERJU0FCTEVfQVVUSCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkaXNhYmxlQXV0aDogYm9vbGVhblxuICApIHtcbiAgICB0aGlzLm1lJCA9IHRoaXMuZGlzYWJsZUF1dGhcbiAgICAgID8gb2YobnVsbClcbiAgICAgIDogdGhpcy5tZUFwaS5nZXRNZSgpLnBpcGUoXG4gICAgICAgICAgc3dpdGNoTWFwKChhcGlVc2VyKSA9PiB0aGlzLm1hcHBlci51c2VyRnJvbU1lQXBpKGFwaVVzZXIpKSxcbiAgICAgICAgICBzaGFyZVJlcGxheSh7IGJ1ZmZlclNpemU6IDEsIHJlZkNvdW50OiB0cnVlIH0pXG4gICAgICAgIClcblxuICAgIHRoaXMuaXNVc2VyQW5vbnltb3VzJCA9IHRoaXMubWUkLnBpcGUoXG4gICAgICBtYXAoKHVzZXIpID0+ICF1c2VyIHx8ICEoJ2lkJyBpbiB1c2VyKSlcbiAgICApXG5cbiAgICB0aGlzLnVzZXJzJCA9IHRoaXMudXNlcnNBcGkuZ2V0VXNlcnMoKS5waXBlKFxuICAgICAgbWFwKCh1c2VycykgPT4gdXNlcnMubWFwKCh1c2VyKSA9PiB0aGlzLm1hcHBlci51c2VyRnJvbUFwaSh1c2VyKSkpLFxuICAgICAgc2hhcmVSZXBsYXkoKVxuICAgIClcbiAgfVxuXG4gIGdldEZlZWRiYWNrc0FsbG93ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFsbG93RmVlZGJhY2tzJFxuICB9XG5cbiAgZ2V0QWxsb3dFZGl0SGFydmVzdGVkTWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFsbG93RWRpdEhhcnZlc3RlZCRcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlXG4gIH1cblxuICBnZXRBcGlWZXJzaW9uKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb24kLnBpcGUoXG4gICAgICB0YXAoKHZlcnNpb24pID0+IHtcbiAgICAgICAgaWYgKGx0cih2ZXJzaW9uLCBtaW5BcGlWZXJzaW9uKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBHbjQgQVBJIHZlcnNpb24gaXMgbm90IGNvbXBhdGlibGUuXFxuTWluaW11bTogJHttaW5BcGlWZXJzaW9ufVxcbllvdXIgdmVyc2lvbjogJHt2ZXJzaW9ufWBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0TWUoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5tZSRcbiAgfVxuXG4gIGlzQW5vbnltb3VzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmlzVXNlckFub255bW91cyRcbiAgfVxuXG4gIGdldE9yZ2FuaXphdGlvbnMoKTogT2JzZXJ2YWJsZTxPcmdhbml6YXRpb25bXT4ge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGdldFVzZXJzQnlPcmdhbml6YXRpb24ob3JnYW5pc2F0aW9uOiBPcmdhbml6YXRpb24pOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG5cbiAgZ2V0VXNlcnMoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLnVzZXJzJFxuICB9XG5cbiAgdHJhbnNsYXRlS2V5KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAvLyBpZiB0aGUga2V5IGlzIGEgVVJJLCB1c2UgdGhlIHJlZ2lzdHJpZXMgQVBJIHRvIGxvb2sgZm9yIHRoZSB0cmFuc2xhdGlvblxuICAgIGlmIChrZXkubWF0Y2goL15odHRwcz86XFwvXFwvLykpIHtcbiAgICAgIC8vIHRoZSB0aGVzYXVydXMgVVJJIGlzIGluZmVycmVkIGJ5IHJlbW92aW5nIGEgcGFydCBvZiB0aGUga2V5d29yZCBVUklcbiAgICAgIC8vIHRoaXMgaXMgbm90IGV4YWN0IHNjaWVuY2UgYnV0IGl0J3MgT0ssIHdlJ2xsIHN0aWxsIGVuZCB1cCBsb2FkaW5nIGEgYnVuY2ggb2Yga2V5d29yZHMgYXQgb25jZSBhbnl3YXlcbiAgICAgIGNvbnN0IHRoZXNhdXJ1c1VyaSA9IGtleS5yZXBsYWNlKC9cXC8oW14vXSspJC8sICcvJylcbiAgICAgIHJldHVybiB0aGlzLmdldEtleXdvcmRzQnlVcmkodGhlc2F1cnVzVXJpKS5waXBlKFxuICAgICAgICBtYXAoKHRoZXNhdXJ1cykgPT4ge1xuICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGVzYXVydXMpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmtleSA9PT0ga2V5KSByZXR1cm4gaXRlbS5sYWJlbFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4ga2V5XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmtleVRyYW5zbGF0aW9ucyQucGlwZShtYXAoKHRyYW5zbGF0aW9ucykgPT4gdHJhbnNsYXRpb25zW2tleV0pKVxuICB9XG5cbiAgcHJpdmF0ZSBhbGxUaGVzYXVydXMkID0gdGhpcy5odHRwQ2xpZW50XG4gICAgLmdldChcbiAgICAgIGAke3RoaXMucmVnaXN0cmllc0FwaVNlcnZpY2UuY29uZmlndXJhdGlvbi5iYXNlUGF0aH0vdGhlc2F1cnVzP19jb250ZW50X3R5cGU9anNvbmBcbiAgICApXG4gICAgLnBpcGUoXG4gICAgICBtYXAoKHRoZXNhdXJ1cykgPT4ge1xuICAgICAgICByZXR1cm4gdGhlc2F1cnVzWzBdIGFzIFRoZXNhdXJ1c0FwaVJlc3BvbnNlW11cbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApXG5cbiAgc2VhcmNoS2V5d29yZHMoXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICBrZXl3b3JkVHlwZXM6IEtleXdvcmRUeXBlW11cbiAgKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+IHtcbiAgICBjb25zdCBrZXl3b3JkcyQ6IE9ic2VydmFibGU8S2V5d29yZEFwaVJlc3BvbnNlW10+ID0gdGhpcy5hbGxUaGVzYXVydXMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHRoZXNhdXJ1cykgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZFRoZXNhdXJpID0gW11cbiAgICAgICAga2V5d29yZFR5cGVzLm1hcCgoa2V5d29yZFR5cGUpID0+IHtcbiAgICAgICAgICBzZWxlY3RlZFRoZXNhdXJpLnB1c2goXG4gICAgICAgICAgICAuLi50aGVzYXVydXMuZmlsdGVyKCh0aGVzKSA9PiB0aGVzLmRuYW1lID09PSBrZXl3b3JkVHlwZSlcbiAgICAgICAgICApXG4gICAgICAgIH0pXG5cbiAgICAgICAgcmV0dXJuIHRoaXMucmVnaXN0cmllc0FwaVNlcnZpY2Uuc2VhcmNoS2V5d29yZHMoXG4gICAgICAgICAgcXVlcnksXG4gICAgICAgICAgdGhpcy5sYW5nMyxcbiAgICAgICAgICAxMCxcbiAgICAgICAgICAwLFxuICAgICAgICAgIG51bGwsXG4gICAgICAgICAgc2VsZWN0ZWRUaGVzYXVyaS5tYXAoKHRoZXMpID0+IHRoZXMua2V5KSxcbiAgICAgICAgICBudWxsLFxuICAgICAgICAgIGAqJHtxdWVyeX0qYFxuICAgICAgICApIGFzIE9ic2VydmFibGU8S2V5d29yZEFwaVJlc3BvbnNlW10+XG4gICAgICB9KVxuICAgIClcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtrZXl3b3JkcyQsIHRoaXMuYWxsVGhlc2F1cnVzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtrZXl3b3JkcywgdGhlc2F1cnVzXSkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tYXBwZXIua2V5d29yZHNGcm9tQXBpKGtleXdvcmRzLCB0aGVzYXVydXMsIHRoaXMubGFuZzMpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIGdldEtleXdvcmRzQnlVcmkodXJpOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEtleXdvcmRbXT4ge1xuICAgIGlmICh0aGlzLmtleXdvcmRzQnlUaGVzYXVyaVt1cmldKSB7XG4gICAgICByZXR1cm4gdGhpcy5rZXl3b3Jkc0J5VGhlc2F1cmlbdXJpXVxuICAgIH1cbiAgICBjb25zdCBrZXl3b3JkcyQgPSB0aGlzLnJlZ2lzdHJpZXNBcGlTZXJ2aWNlLnNlYXJjaEtleXdvcmRzKFxuICAgICAgbnVsbCxcbiAgICAgIHRoaXMubGFuZzMsXG4gICAgICAxMDAwLFxuICAgICAgMCxcbiAgICAgIG51bGwsXG4gICAgICBudWxsLFxuICAgICAgbnVsbCxcbiAgICAgIGAke3VyaX0qYFxuICAgICkgYXMgT2JzZXJ2YWJsZTxLZXl3b3JkQXBpUmVzcG9uc2VbXT5cblxuICAgIHRoaXMua2V5d29yZHNCeVRoZXNhdXJpW3VyaV0gPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIGtleXdvcmRzJCxcbiAgICAgIHRoaXMuYWxsVGhlc2F1cnVzJCxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChba2V5d29yZHMsIHRoZXNhdXJ1c10pID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWFwcGVyLmtleXdvcmRzRnJvbUFwaShrZXl3b3JkcywgdGhlc2F1cnVzLCB0aGlzLmxhbmczKVxuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgIClcblxuICAgIHJldHVybiB0aGlzLmtleXdvcmRzQnlUaGVzYXVyaVt1cmldXG4gIH1cblxuICBzZWFyY2hLZXl3b3Jkc0luVGhlc2F1cnVzKHF1ZXJ5OiBzdHJpbmcsIHRoZXNhdXJ1c0lkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hbGxUaGVzYXVydXMkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHRoZXNhdXJpKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0cmlwcGVkVGhlc2F1cnVzSWQgPSB0aGVzYXVydXNJZC5yZXBsYWNlKFxuICAgICAgICAgICdnZW9uZXR3b3JrLnRoZXNhdXJ1cy4nLFxuICAgICAgICAgICcnXG4gICAgICAgIClcbiAgICAgICAgaWYgKCF0aGVzYXVyaS5maW5kKCh0aGVzKSA9PiB0aGVzLmtleSA9PT0gc3RyaXBwZWRUaGVzYXVydXNJZCkpXG4gICAgICAgICAgcmV0dXJuIG9mKFtdKVxuICAgICAgICByZXR1cm4gdGhpcy5yZWdpc3RyaWVzQXBpU2VydmljZVxuICAgICAgICAgIC5zZWFyY2hLZXl3b3JkcyhcbiAgICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgICAgdGhpcy5sYW5nMyxcbiAgICAgICAgICAgIDEwMCxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgW3N0cmlwcGVkVGhlc2F1cnVzSWRdLFxuICAgICAgICAgICAgbnVsbFxuICAgICAgICAgIClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoa2V5d29yZHM6IEtleXdvcmRBcGlSZXNwb25zZVtdKSA9PlxuICAgICAgICAgICAgICB0aGlzLm1hcHBlci5rZXl3b3Jkc0Zyb21BcGkoa2V5d29yZHMsIHRoZXNhdXJpLCB0aGlzLmxhbmczKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0VXNlckZlZWRiYWNrcyh1dWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJGZWVkYmFja1tdPiB7XG4gICAgcmV0dXJuIHRoaXMudXNlcmZlZWRiYWNrQXBpU2VydmljZS5nZXRVc2VyQ29tbWVudHModXVpZCkucGlwZShcbiAgICAgIG1hcCgodXNlckZlZWRiYWNrcykgPT5cbiAgICAgICAgdXNlckZlZWRiYWNrcy5tYXAodGhpcy5tYXBwZXIudXNlckZlZWRiYWNrc0Zyb21BcGkpXG4gICAgICApLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgdXNlciBmZWVkYmFja3M6JywgZXJyb3IpXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHBvc3RVc2VyRmVlZGJhY2tzKHVzZXJGZWVkYmFjazogVXNlckZlZWRiYWNrKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3QgbWFwcGVkVXNlckZlZWRCYWNrID0gdGhpcy5tYXBwZXIudXNlckZlZWRiYWNrc1RvQXBpKHVzZXJGZWVkYmFjaylcbiAgICByZXR1cm4gdGhpcy51c2VyZmVlZGJhY2tBcGlTZXJ2aWNlLm5ld1VzZXJGZWVkYmFjayhtYXBwZWRVc2VyRmVlZEJhY2spLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gdW5kZWZpbmVkKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBvc3RpbmcgdXNlciBmZWVkYmFjazonLCBlcnJvcilcbiAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0UmVjb3JkQXR0YWNobWVudHMocmVjb3JkVXVpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjb3Jkc0FwaVNlcnZpY2UuZ2V0QWxsUmVzb3VyY2VzKHJlY29yZFV1aWQpLnBpcGUoXG4gICAgICBtYXAoKHJlc291cmNlcykgPT5cbiAgICAgICAgcmVzb3VyY2VzLm1hcCgocikgPT4gKHtcbiAgICAgICAgICB1cmw6IG5ldyBVUkwoci51cmwpLFxuICAgICAgICAgIGZpbGVOYW1lOiByLmZpbGVuYW1lLFxuICAgICAgICB9KSlcbiAgICAgIClcbiAgICApXG4gIH1cblxuICBjbGVhblJlY29yZEF0dGFjaG1lbnRzKHJlY29yZDogQ2F0YWxvZ1JlY29yZCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMucmVjb3Jkc0FwaVNlcnZpY2UuZ2V0QXNzb2NpYXRlZFJlc291cmNlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllciksXG4gICAgICB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmdldEFsbFJlc291cmNlcyhyZWNvcmQudW5pcXVlSWRlbnRpZmllciksXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2Fzc29jaWF0ZWQsIGF0dGFjaG1lbnRzXSkgPT4ge1xuICAgICAgICBjb25zdCB7IG9ubGluZXMgPSBbXSwgdGh1bWJuYWlscyA9IFtdIH0gPSBhc3NvY2lhdGVkXG5cbiAgICAgICAgY29uc3QgdXJsc1RvS2VlcCA9IFtcbiAgICAgICAgICAuLi4oQXJyYXkuaXNBcnJheShvbmxpbmVzKSA/IG9ubGluZXMgOiBbXSksXG4gICAgICAgICAgLi4uKEFycmF5LmlzQXJyYXkodGh1bWJuYWlscykgPyB0aHVtYm5haWxzIDogW10pLFxuICAgICAgICBdLm1hcCgocmVzb3VyY2UpID0+IE9iamVjdC52YWx1ZXMocmVzb3VyY2UudXJsKVswXSlcbiAgICAgICAgY29uc3QgZmlsZVRvRGVsZXRlID0gYXR0YWNobWVudHMucmVkdWNlPHN0cmluZ1tdPigoYWNjLCBhdHRhY2htZW50KSA9PiB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXVybHNUb0tlZXAuaW5jbHVkZXMoYXR0YWNobWVudC51cmwpICYmXG4gICAgICAgICAgICBhdHRhY2htZW50LmZpbGVuYW1lICE9PSAnZGF0YXZpekNvbmZpZy5qc29uJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgYWNjLnB1c2goYXR0YWNobWVudC5maWxlbmFtZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGFjY1xuICAgICAgICB9LCBbXSlcblxuICAgICAgICByZXR1cm4gZmlsZVRvRGVsZXRlXG4gICAgICB9KSxcbiAgICAgIG1lcmdlTWFwKChmaWxlc1RvRGVsZXRlKSA9PlxuICAgICAgICBmaWxlc1RvRGVsZXRlLmxlbmd0aFxuICAgICAgICAgID8gZm9ya0pvaW4oXG4gICAgICAgICAgICAgIGZpbGVzVG9EZWxldGUubWFwKChmaWxlbmFtZSkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlLmRlbFJlc291cmNlKFxuICAgICAgICAgICAgICAgICAgcmVjb3JkLnVuaXF1ZUlkZW50aWZpZXIsXG4gICAgICAgICAgICAgICAgICBmaWxlbmFtZVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKS5waXBlKG1hcCgoKSA9PiB1bmRlZmluZWQpKVxuICAgICAgICAgIDogb2YodW5kZWZpbmVkKVxuICAgICAgKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHdoaWxlIGNsZWFuaW5nIGF0dGFjaG1lbnRzOicsIGVycm9yKVxuICAgICAgICB0aHJvdyBlcnJvclxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwcml2YXRlIHVwbG9hZEZpbGUocmVjb3JkVXVpZDogc3RyaW5nLCBmaWxlOiBGaWxlKTogT2JzZXJ2YWJsZTxVcGxvYWRFdmVudD4ge1xuICAgIGxldCBzaXplQnl0ZXMgPSAtMVxuICAgIHJldHVybiB0aGlzLnJlY29yZHNBcGlTZXJ2aWNlXG4gICAgICAucHV0UmVzb3VyY2UocmVjb3JkVXVpZCwgZmlsZSwgJ3B1YmxpYycsIHVuZGVmaW5lZCwgJ2V2ZW50cycsIHRydWUpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzKSB7XG4gICAgICAgICAgICBzaXplQnl0ZXMgPSBldmVudC50b3RhbFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3Byb2dyZXNzJyxcbiAgICAgICAgICAgICAgcHJvZ3Jlc3M6IGV2ZW50LnRvdGFsXG4gICAgICAgICAgICAgICAgPyBNYXRoLnJvdW5kKCgxMDAgKiBldmVudC5sb2FkZWQpIC8gZXZlbnQudG90YWwpXG4gICAgICAgICAgICAgICAgOiAwLFxuICAgICAgICAgICAgfSBhcyBVcGxvYWRFdmVudFxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICBhdHRhY2htZW50OiB7XG4gICAgICAgICAgICAgICAgdXJsOiBuZXcgVVJMKGV2ZW50LmJvZHkudXJsKSxcbiAgICAgICAgICAgICAgICBmaWxlTmFtZTogZXZlbnQuYm9keS5maWxlbmFtZSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc2l6ZUJ5dGVzLFxuICAgICAgICAgICAgfSBhcyBVcGxvYWRFdmVudFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiAhIWV2ZW50KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihcbiAgICAgICAgICAgICgpID0+IG5ldyBFcnJvcihlcnJvci5lcnJvcj8ubWVzc2FnZSA/PyBlcnJvci5tZXNzYWdlKVxuICAgICAgICAgIClcbiAgICAgICAgfSlcbiAgICAgIClcbiAgfVxuICBnZXRGaWxlQ29udGVudCh1cmw6IFVSTCB8IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5odHRwQ2xpZW50LmdldCh1cmwudG9TdHJpbmcoKSwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KSxcbiAgICAgIHRoaXMuZ2V0QXBpVmVyc2lvbigpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFt0ZXh0LCB2ZXJzaW9uXSkgPT4ge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKHRleHQpXG5cbiAgICAgICAgaWYgKHZlcnNpb24gPiB0aGlzLmduUGFyc2VWZXJzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIHBhcnNlZFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjb2RlZCA9IHRoaXMuZGVjb2RlQmFzZTY0KHBhcnNlZClcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UoZGVjb2RlZClcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZGVjb2RlQmFzZTY0KGJhc2U2NCkge1xuICAgIGNvbnN0IHRleHQgPSBhdG9iKGJhc2U2NClcbiAgICBjb25zdCBsZW5ndGggPSB0ZXh0Lmxlbmd0aFxuICAgIGNvbnN0IGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuZ3RoKVxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIGJ5dGVzW2ldID0gdGV4dC5jaGFyQ29kZUF0KGkpXG4gICAgfVxuICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKVxuICAgIHJldHVybiBkZWNvZGVyLmRlY29kZShieXRlcylcbiAgfVxuXG4gIGF0dGFjaEZpbGVUb1JlY29yZChcbiAgICByZWNvcmRVdWlkOiBzdHJpbmcsXG4gICAgZmlsZTogRmlsZSxcbiAgICByZW1vdmVEdXBsaWNhdGUgPSBmYWxzZVxuICApOiBPYnNlcnZhYmxlPFVwbG9hZEV2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVjb3JkQXR0YWNobWVudHMocmVjb3JkVXVpZCkucGlwZShcbiAgICAgIG1hcCgocmVjb3JkQXR0YWNobWVudHMpID0+IHJlY29yZEF0dGFjaG1lbnRzLm1hcCgocikgPT4gci5maWxlTmFtZSkpLFxuICAgICAgc3dpdGNoTWFwKChmaWxlTmFtZXMpID0+IHtcbiAgICAgICAgY29uc3QgZmlsZU5hbWUgPSBmaWxlLm5hbWVcblxuICAgICAgICBpZiAocmVtb3ZlRHVwbGljYXRlICYmIGZpbGVOYW1lcy5pbmNsdWRlcyhmaWxlLm5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVjb3Jkc0FwaVNlcnZpY2UuZGVsUmVzb3VyY2UocmVjb3JkVXVpZCwgZmlsZU5hbWUpLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaWxlQ29weSA9IG5ldyBGaWxlKFtmaWxlXSwgZmlsZU5hbWUsIHsgdHlwZTogZmlsZS50eXBlIH0pXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnVwbG9hZEZpbGUocmVjb3JkVXVpZCwgZmlsZUNvcHkpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBmaW5hbEZpbGVOYW1lID0gbm9EdXBsaWNhdGVGaWxlTmFtZShmaWxlTmFtZSwgZmlsZU5hbWVzKVxuICAgICAgICAgIGNvbnN0IGZpbGVDb3B5ID0gbmV3IEZpbGUoW2ZpbGVdLCBmaW5hbEZpbGVOYW1lLCB7IHR5cGU6IGZpbGUudHlwZSB9KVxuICAgICAgICAgIHJldHVybiB0aGlzLnVwbG9hZEZpbGUocmVjb3JkVXVpZCwgZmlsZUNvcHkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgc3VwcG9ydHNBdXRoZW50aWNhdGlvbigpIHtcbiAgICByZXR1cm4gIXRoaXMuZGlzYWJsZUF1dGhcbiAgfVxufVxuIl19
@@ -1,3 +1,3 @@
1
1
  export class PlatformServiceInterface {
2
2
  }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkEsTUFBTSxPQUFnQix3QkFBd0I7Q0FzQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB0eXBlIHsgVXNlck1vZGVsIH0gZnJvbSAnLi9tb2RlbC91c2VyL3VzZXIubW9kZWwnXG5pbXBvcnQgdHlwZSB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vbW9kZWwvcmVjb3JkL29yZ2FuaXphdGlvbi5tb2RlbCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQsIEtleXdvcmQsIFVzZXJGZWVkYmFjayB9IGZyb20gJy4vbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUgfSBmcm9tICcuL21vZGVsL3RoZXNhdXJ1cydcbmltcG9ydCB7IERhdGF2aXpDb25maWdNb2RlbCB9IGZyb20gJy4vbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkQXR0YWNobWVudCB7XG4gIHVybDogVVJMXG4gIGZpbGVOYW1lOiBzdHJpbmdcbn1cbmV4cG9ydCB0eXBlIFVwbG9hZEV2ZW50ID1cbiAgfCB7XG4gICAgICB0eXBlOiAncHJvZ3Jlc3MnXG4gICAgICBwcm9ncmVzczogbnVtYmVyIC8vIGluIHBlcmNlbnRcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3N1Y2Nlc3MnXG4gICAgICBhdHRhY2htZW50OiBSZWNvcmRBdHRhY2htZW50XG4gICAgICBzaXplQnl0ZXM6IG51bWJlclxuICAgIH1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB7XG4gIGFic3RyYWN0IGdldFR5cGUoKTogc3RyaW5nXG4gIGFic3RyYWN0IGdldEFwaVZlcnNpb24oKTogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgYWJzdHJhY3QgZ2V0TWUoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWw+XG4gIGFic3RyYWN0IGlzQW5vbnltb3VzKCk6IE9ic2VydmFibGU8Ym9vbGVhbj5cbiAgYWJzdHJhY3QgZ2V0VXNlcnMoKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT5cbiAgYWJzdHJhY3QgZ2V0VXNlcnNCeU9yZ2FuaXphdGlvbihcbiAgICBvcmdhbmlzYXRpb246IE9yZ2FuaXphdGlvblxuICApOiBPYnNlcnZhYmxlPFVzZXJNb2RlbFtdPlxuICBhYnN0cmFjdCBnZXRPcmdhbml6YXRpb25zKCk6IE9ic2VydmFibGU8T3JnYW5pemF0aW9uW10+XG5cbiAgYWJzdHJhY3QgdHJhbnNsYXRlS2V5KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgYWJzdHJhY3Qgc2VhcmNoS2V5d29yZHMoXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICBrZXl3b3JkVHlwZXM6IEtleXdvcmRUeXBlW11cbiAgKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+XG4gIGFic3RyYWN0IGdldEtleXdvcmRzQnlVcmkodXJpOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEtleXdvcmRbXT5cbiAgYWJzdHJhY3Qgc2VhcmNoS2V5d29yZHNJblRoZXNhdXJ1cyhcbiAgICBxdWVyeTogc3RyaW5nLFxuICAgIHRoZXNhdXJ1c0lkOiBzdHJpbmdcbiAgKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+XG5cbiAgYWJzdHJhY3QgZ2V0VXNlckZlZWRiYWNrcyhyZWNvcmRVdWlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJGZWVkYmFja1tdPlxuICBhYnN0cmFjdCBwb3N0VXNlckZlZWRiYWNrcyhyZWNvcmRVdWlkOiBVc2VyRmVlZGJhY2spOiBPYnNlcnZhYmxlPHZvaWQ+XG5cbiAgYWJzdHJhY3QgZ2V0UmVjb3JkQXR0YWNobWVudHMoXG4gICAgcmVjb3JkVXVpZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8UmVjb3JkQXR0YWNobWVudFtdPlxuICBhYnN0cmFjdCBjbGVhblJlY29yZEF0dGFjaG1lbnRzKHJlY29yZFV1aWQ6IENhdGFsb2dSZWNvcmQpOiBPYnNlcnZhYmxlPHZvaWQ+XG4gIGFic3RyYWN0IGF0dGFjaEZpbGVUb1JlY29yZChcbiAgICByZWNvcmRVdWlkOiBzdHJpbmcsXG4gICAgZmlsZTogRmlsZSxcbiAgICByZW1vdmVEdXBsaWNhdGU/OiBib29sZWFuXG4gICk6IE9ic2VydmFibGU8VXBsb2FkRXZlbnQ+XG4gIGFic3RyYWN0IGdldEZpbGVDb250ZW50KHVybDogVVJMKTogT2JzZXJ2YWJsZTxhbnk+XG4gIGFic3RyYWN0IGdldEZlZWRiYWNrc0FsbG93ZWQoKTogT2JzZXJ2YWJsZTxib29sZWFuPlxufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzQkEsTUFBTSxPQUFnQix3QkFBd0I7Q0F1QzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB0eXBlIHsgVXNlck1vZGVsIH0gZnJvbSAnLi9tb2RlbC91c2VyL3VzZXIubW9kZWwnXG5pbXBvcnQgdHlwZSB7IE9yZ2FuaXphdGlvbiB9IGZyb20gJy4vbW9kZWwvcmVjb3JkL29yZ2FuaXphdGlvbi5tb2RlbCdcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQsIEtleXdvcmQsIFVzZXJGZWVkYmFjayB9IGZyb20gJy4vbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHsgS2V5d29yZFR5cGUgfSBmcm9tICcuL21vZGVsL3RoZXNhdXJ1cydcbmltcG9ydCB7IERhdGF2aXpDb25maWdNb2RlbCB9IGZyb20gJy4vbW9kZWwvZGF0YXZpei9kYXRhdml6LWNvbmZpZ3VyYXRpb24ubW9kZWwnXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjb3JkQXR0YWNobWVudCB7XG4gIHVybDogVVJMXG4gIGZpbGVOYW1lOiBzdHJpbmdcbn1cbmV4cG9ydCB0eXBlIFVwbG9hZEV2ZW50ID1cbiAgfCB7XG4gICAgICB0eXBlOiAncHJvZ3Jlc3MnXG4gICAgICBwcm9ncmVzczogbnVtYmVyIC8vIGluIHBlcmNlbnRcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3N1Y2Nlc3MnXG4gICAgICBhdHRhY2htZW50OiBSZWNvcmRBdHRhY2htZW50XG4gICAgICBzaXplQnl0ZXM6IG51bWJlclxuICAgIH1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsYXRmb3JtU2VydmljZUludGVyZmFjZSB7XG4gIGFic3RyYWN0IGdldFR5cGUoKTogc3RyaW5nXG4gIGFic3RyYWN0IGdldEFwaVZlcnNpb24oKTogT2JzZXJ2YWJsZTxzdHJpbmc+XG5cbiAgYWJzdHJhY3Qgc3VwcG9ydHNBdXRoZW50aWNhdGlvbigpOiBib29sZWFuXG4gIGFic3RyYWN0IGdldE1lKCk6IE9ic2VydmFibGU8VXNlck1vZGVsPlxuICBhYnN0cmFjdCBpc0Fub255bW91cygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+XG4gIGFic3RyYWN0IGdldFVzZXJzKCk6IE9ic2VydmFibGU8VXNlck1vZGVsW10+XG4gIGFic3RyYWN0IGdldFVzZXJzQnlPcmdhbml6YXRpb24oXG4gICAgb3JnYW5pc2F0aW9uOiBPcmdhbml6YXRpb25cbiAgKTogT2JzZXJ2YWJsZTxVc2VyTW9kZWxbXT5cbiAgYWJzdHJhY3QgZ2V0T3JnYW5pemF0aW9ucygpOiBPYnNlcnZhYmxlPE9yZ2FuaXphdGlvbltdPlxuXG4gIGFic3RyYWN0IHRyYW5zbGF0ZUtleShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPlxuXG4gIGFic3RyYWN0IHNlYXJjaEtleXdvcmRzKFxuICAgIHF1ZXJ5OiBzdHJpbmcsXG4gICAga2V5d29yZFR5cGVzOiBLZXl3b3JkVHlwZVtdXG4gICk6IE9ic2VydmFibGU8S2V5d29yZFtdPlxuICBhYnN0cmFjdCBnZXRLZXl3b3Jkc0J5VXJpKHVyaTogc3RyaW5nKTogT2JzZXJ2YWJsZTxLZXl3b3JkW10+XG4gIGFic3RyYWN0IHNlYXJjaEtleXdvcmRzSW5UaGVzYXVydXMoXG4gICAgcXVlcnk6IHN0cmluZyxcbiAgICB0aGVzYXVydXNJZDogc3RyaW5nXG4gICk6IE9ic2VydmFibGU8S2V5d29yZFtdPlxuXG4gIGFic3RyYWN0IGdldFVzZXJGZWVkYmFja3MocmVjb3JkVXVpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VyRmVlZGJhY2tbXT5cbiAgYWJzdHJhY3QgcG9zdFVzZXJGZWVkYmFja3MocmVjb3JkVXVpZDogVXNlckZlZWRiYWNrKTogT2JzZXJ2YWJsZTx2b2lkPlxuXG4gIGFic3RyYWN0IGdldFJlY29yZEF0dGFjaG1lbnRzKFxuICAgIHJlY29yZFV1aWQ6IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPFJlY29yZEF0dGFjaG1lbnRbXT5cbiAgYWJzdHJhY3QgY2xlYW5SZWNvcmRBdHRhY2htZW50cyhyZWNvcmRVdWlkOiBDYXRhbG9nUmVjb3JkKTogT2JzZXJ2YWJsZTx2b2lkPlxuICBhYnN0cmFjdCBhdHRhY2hGaWxlVG9SZWNvcmQoXG4gICAgcmVjb3JkVXVpZDogc3RyaW5nLFxuICAgIGZpbGU6IEZpbGUsXG4gICAgcmVtb3ZlRHVwbGljYXRlPzogYm9vbGVhblxuICApOiBPYnNlcnZhYmxlPFVwbG9hZEV2ZW50PlxuICBhYnN0cmFjdCBnZXRGaWxlQ29udGVudCh1cmw6IFVSTCk6IE9ic2VydmFibGU8YW55PlxuICBhYnN0cmFjdCBnZXRGZWVkYmFja3NBbGxvd2VkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj5cbn1cbiJdfQ==
@@ -34,6 +34,7 @@ export class FavoriteStarComponent {
34
34
  this.displayLabel = false;
35
35
  this.displayCount = true;
36
36
  this.isFavorite$ = this.favoritesService.myFavoritesUuid$.pipe(map((favorites) => favorites.indexOf(this.record.uniqueIdentifier) > -1));
37
+ this.supportsAuthentication = this.platformService.supportsAuthentication();
37
38
  this.isAnonymous$ = this.platformService.isAnonymous();
38
39
  this.loading = false;
39
40
  this.loginUrl = this.authService.loginUrl;
@@ -43,20 +44,22 @@ export class FavoriteStarComponent {
43
44
  })));
44
45
  }
45
46
  ngAfterViewInit() {
46
- this.subscription = this.isAnonymous$
47
- .pipe(withLatestFrom(this.loginMessage$))
48
- .subscribe(([anonymous, loginMessage]) => {
49
- if (anonymous) {
50
- tippy(this.starToggleRef.nativeElement, {
51
- appendTo: () => document.body,
52
- content: loginMessage,
53
- allowHTML: true,
54
- interactive: true,
55
- zIndex: 60,
56
- maxWidth: 250,
57
- });
58
- }
59
- });
47
+ if (this.supportsAuthentication) {
48
+ this.subscription = this.isAnonymous$
49
+ .pipe(withLatestFrom(this.loginMessage$))
50
+ .subscribe(([anonymous, loginMessage]) => {
51
+ if (anonymous) {
52
+ tippy(this.starToggleRef.nativeElement, {
53
+ appendTo: () => document.body,
54
+ content: loginMessage,
55
+ allowHTML: true,
56
+ interactive: true,
57
+ zIndex: 60,
58
+ maxWidth: 250,
59
+ });
60
+ }
61
+ });
62
+ }
60
63
  this.countSubscription = this.favoritesService.myFavoritesUuid$
61
64
  .pipe(pairwise())
62
65
  .subscribe(([oldFavs, newFavs]) => {
@@ -75,8 +78,12 @@ export class FavoriteStarComponent {
75
78
  });
76
79
  }
77
80
  ngOnDestroy() {
78
- this.subscription.unsubscribe();
79
- this.countSubscription.unsubscribe();
81
+ if (this.subscription) {
82
+ this.subscription.unsubscribe();
83
+ }
84
+ if (this.countSubscription) {
85
+ this.countSubscription.unsubscribe();
86
+ }
80
87
  }
81
88
  toggleFavorite(isFavorite) {
82
89
  this.loading = true;
@@ -111,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
111
118
  type: ViewChild,
112
119
  args: [StarToggleComponent, { read: ElementRef }]
113
120
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUtc3Rhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvZmF2b3JpdGVzL2Zhdm9yaXRlLXN0YXIvZmF2b3JpdGUtc3Rhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvZmF2b3JpdGVzL2Zhdm9yaXRlLXN0YXIvZmF2b3JpdGUtc3Rhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUNMLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEtBQUssTUFBTSxVQUFVLENBQUE7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFHN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQzVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFBO0FBQ3JILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7O0FBVTlDLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsSUFBYSxNQUFNLENBQUMsS0FBSztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUNwQixJQUFJLENBQUMsYUFBYTtZQUNoQixRQUFRLElBQUksSUFBSSxDQUFDLE9B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LE9BQU8sR0FBRyxLQUFLLENBQUE7Z0JBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7WUFDckMsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7K0dBeEdVLHFCQUFxQjttR0FBckIscUJBQXFCLHdOQTZCckIsbUJBQW1CLDJCQUFVLFVBQVUsNkJDL0RwRCw4YkFjQSx5RERrQlksWUFBWSx3TEFBRSxtQkFBbUI7OzRGQUVoQyxxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO3FOQUduQyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ08sTUFBTTtzQkFBbEIsS0FBSztnQkEyQk4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBtYXAsXG4gIHBhaXJ3aXNlLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHRpcHB5IGZyb20gJ3RpcHB5LmpzJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBTdGFyVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgRmF2b3JpdGVzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjJ1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZhdm9yaXRlLXN0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmF2b3JpdGUtc3Rhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zhdm9yaXRlLXN0YXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU3RhclRvZ2dsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEZhdm9yaXRlU3RhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRpc3BsYXlMYWJlbD8gPSBmYWxzZVxuICBASW5wdXQoKSBkaXNwbGF5Q291bnQ/ID0gdHJ1ZVxuICBASW5wdXQoKSBzZXQgcmVjb3JkKHZhbHVlKSB7XG4gICAgdGhpcy5yZWNvcmRfID0gdmFsdWVcbiAgICB0aGlzLmZhdm9yaXRlQ291bnQgPVxuICAgICAgJ2V4dHJhcycgaW4gdGhpcy5yZWNvcmRfICYmICdmYXZvcml0ZUNvdW50JyBpbiB0aGlzLnJlY29yZF8uZXh0cmFzXG4gICAgICAgID8gKHRoaXMucmVjb3JkXy5leHRyYXMuZmF2b3JpdGVDb3VudCBhcyBudW1iZXIpXG4gICAgICAgIDogbnVsbFxuICB9XG4gIGdldCByZWNvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjb3JkX1xuICB9XG4gIGlzRmF2b3JpdGUkID0gdGhpcy5mYXZvcml0ZXNTZXJ2aWNlLm15RmF2b3JpdGVzVXVpZCQucGlwZShcbiAgICBtYXAoKGZhdm9yaXRlcykgPT4gZmF2b3JpdGVzLmluZGV4T2YodGhpcy5yZWNvcmQudW5pcXVlSWRlbnRpZmllcikgPiAtMSlcbiAgKVxuICBpc0Fub255bW91cyQgPSB0aGlzLnBsYXRmb3JtU2VydmljZS5pc0Fub255bW91cygpXG4gIHJlY29yZF86IFBhcnRpYWw8Q2F0YWxvZ1JlY29yZD5cbiAgZmF2b3JpdGVDb3VudDogbnVtYmVyIHwgbnVsbFxuICBsb2FkaW5nID0gZmFsc2VcbiAgbG9naW5VcmwgPSB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2luVXJsXG4gIGxvZ2luTWVzc2FnZSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2UucGlwZShcbiAgICBzdGFydFdpdGgobnVsbCksIC8vIG1ha2Ugc3VyZSB0byB3YWl0IGZvciB0cmFuc2xhdGlvbnMgdG8gYmUgbG9hZGVkIHdpdGggYW5kIHdpdGhvdXQgbGFuZ3VhZ2UgY2hhbmdlXG4gICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdmYXZvcml0ZS5ub3QuYXV0aGVudGljYXRlZC50b29sdGlwJywge1xuICAgICAgICBsaW5rOiB0aGlzLmxvZ2luVXJsLFxuICAgICAgfSlcbiAgICApXG4gIClcbiAgQFZpZXdDaGlsZChTdGFyVG9nZ2xlQ29tcG9uZW50LCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgc3RhclRvZ2dsZVJlZjogRWxlbWVudFJlZlxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvblxuICBjb3VudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uXG5cbiAgZ2V0IGhhc0Zhdm9yaXRlQ291bnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmF2b3JpdGVDb3VudCAhPT0gbnVsbFxuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYXZvcml0ZXNTZXJ2aWNlOiBGYXZvcml0ZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcGxhdGZvcm1TZXJ2aWNlOiBQbGF0Zm9ybVNlcnZpY2VJbnRlcmZhY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmlzQW5vbnltb3VzJFxuICAgICAgLnBpcGUod2l0aExhdGVzdEZyb20odGhpcy5sb2dpbk1lc3NhZ2UkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFthbm9ueW1vdXMsIGxvZ2luTWVzc2FnZV0pID0+IHtcbiAgICAgICAgaWYgKGFub255bW91cykge1xuICAgICAgICAgIHRpcHB5KHRoaXMuc3RhclRvZ2dsZVJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgICBhcHBlbmRUbzogKCkgPT4gZG9jdW1lbnQuYm9keSxcbiAgICAgICAgICAgIGNvbnRlbnQ6IGxvZ2luTWVzc2FnZSxcbiAgICAgICAgICAgIGFsbG93SFRNTDogdHJ1ZSxcbiAgICAgICAgICAgIGludGVyYWN0aXZlOiB0cnVlLFxuICAgICAgICAgICAgekluZGV4OiA2MCxcbiAgICAgICAgICAgIG1heFdpZHRoOiAyNTAsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB0aGlzLmNvdW50U3Vic2NyaXB0aW9uID0gdGhpcy5mYXZvcml0ZXNTZXJ2aWNlLm15RmF2b3JpdGVzVXVpZCRcbiAgICAgIC5waXBlKHBhaXJ3aXNlKCkpXG4gICAgICAuc3Vic2NyaWJlKChbb2xkRmF2cywgbmV3RmF2c10pID0+IHtcbiAgICAgICAgY29uc3QgZWRpdGVkRmF2cyA9IChcbiAgICAgICAgICBvbGRGYXZzLmxlbmd0aCA8IG5ld0ZhdnMubGVuZ3RoXG4gICAgICAgICAgICA/IG5ld0ZhdnMuc2xpY2UoLTEpXG4gICAgICAgICAgICA6IG9sZEZhdnMuZmlsdGVyKChmYXYpID0+ICFuZXdGYXZzLmluY2x1ZGVzKGZhdikpXG4gICAgICAgIClbMF1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuaGFzRmF2b3JpdGVDb3VudCAmJlxuICAgICAgICAgIGVkaXRlZEZhdnMgPT09IHRoaXMucmVjb3JkLnVuaXF1ZUlkZW50aWZpZXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKG5ld0ZhdnMuaW5jbHVkZXMoZWRpdGVkRmF2cykpIHtcbiAgICAgICAgICAgIHRoaXMuZmF2b3JpdGVDb3VudCArPSAxXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZmF2b3JpdGVDb3VudCArPSAtMVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB0aGlzLmNvdW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgfVxuXG4gIHRvZ2dsZUZhdm9yaXRlKGlzRmF2b3JpdGUpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlXG4gICAgOyhpc0Zhdm9yaXRlXG4gICAgICA/IHRoaXMuZmF2b3JpdGVzU2VydmljZS5hZGRUb0Zhdm9yaXRlcyhbdGhpcy5yZWNvcmQudW5pcXVlSWRlbnRpZmllcl0pXG4gICAgICA6IHRoaXMuZmF2b3JpdGVzU2VydmljZS5yZW1vdmVGcm9tRmF2b3JpdGVzKFtcbiAgICAgICAgICB0aGlzLnJlY29yZC51bmlxdWVJZGVudGlmaWVyLFxuICAgICAgICBdKVxuICAgICkuc3Vic2NyaWJlKHtcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICB9LFxuICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2VcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXggZmxleC1yb3cgaXRlbXMtY2VudGVyXCI+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJhbGlnbi10ZXh0LXRvcCBtci0xLjUgbXQtMC41XCJcbiAgICBkYXRhLXRlc3Q9XCJmYXZvcml0ZS1jb3VudFwiXG4gICAgKm5nSWY9XCJoYXNGYXZvcml0ZUNvdW50ICYmIGRpc3BsYXlDb3VudFwiXG4gICAgPnt7IGZhdm9yaXRlQ291bnQgfX08L3NwYW5cbiAgPlxuICA8Z24tdWktc3Rhci10b2dnbGVcbiAgICBbdG9nZ2xlZF09XCJpc0Zhdm9yaXRlJCB8IGFzeW5jXCJcbiAgICAobmV3VmFsdWUpPVwidG9nZ2xlRmF2b3JpdGUoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImxvYWRpbmcgfHwgKGlzQW5vbnltb3VzJCB8IGFzeW5jKVwiXG4gICAgW2Rpc3BsYXlMYWJlbF09XCJkaXNwbGF5TGFiZWxcIlxuICA+PC9nbi11aS1zdGFyLXRvZ2dsZT5cbjwvZGl2PlxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2b3JpdGUtc3Rhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvZmF2b3JpdGVzL2Zhdm9yaXRlLXN0YXIvZmF2b3JpdGUtc3Rhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ZlYXR1cmUvc2VhcmNoL3NyYy9saWIvZmF2b3JpdGVzL2Zhdm9yaXRlLXN0YXIvZmF2b3JpdGUtc3Rhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUNMLEdBQUcsRUFDSCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QixPQUFPLEtBQUssTUFBTSxVQUFVLENBQUE7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFHN0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFBO0FBQzVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRFQUE0RSxDQUFBO0FBQ3JILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTs7Ozs7O0FBVTlDLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsSUFBYSxNQUFNLENBQUMsS0FBSztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtRQUNwQixJQUFJLENBQUMsYUFBYTtZQUNoQixRQUFRLElBQUksSUFBSSxDQUFDLE9B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QUFNLENBQUMsZ0JBQWdCO2FBQzdCLENBQUMsQ0FDTCxDQUFDLFNBQVMsQ0FBQztZQUNWLFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7Z0JBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7WUFDckMsQ0FBQztZQUNELEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7Z0JBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUE7WUFDckMsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7K0dBL0dVLHFCQUFxQjttR0FBckIscUJBQXFCLHdOQThCckIsbUJBQW1CLDJCQUFVLFVBQVUsNkJDaEVwRCw4YkFjQSx5RERrQlksWUFBWSx3TEFBRSxtQkFBbUI7OzRGQUVoQyxxQkFBcUI7a0JBUmpDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO3FOQUduQyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ08sTUFBTTtzQkFBbEIsS0FBSztnQkE0Qk4sYUFBYTtzQkFEWixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBtYXAsXG4gIHBhaXJ3aXNlLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuaW1wb3J0IHRpcHB5IGZyb20gJ3RpcHB5LmpzJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBTdGFyVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IENhdGFsb2dSZWNvcmQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgRmF2b3JpdGVzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBpL3JlcG9zaXRvcnkvc3JjJ1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvcGxhdGZvcm0uc2VydmljZS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2duLXVpLWZhdm9yaXRlLXN0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmF2b3JpdGUtc3Rhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zhdm9yaXRlLXN0YXIuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU3RhclRvZ2dsZUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEZhdm9yaXRlU3RhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRpc3BsYXlMYWJlbD8gPSBmYWxzZVxuICBASW5wdXQoKSBkaXNwbGF5Q291bnQ/ID0gdHJ1ZVxuICBASW5wdXQoKSBzZXQgcmVjb3JkKHZhbHVlKSB7XG4gICAgdGhpcy5yZWNvcmRfID0gdmFsdWVcbiAgICB0aGlzLmZhdm9yaXRlQ291bnQgPVxuICAgICAgJ2V4dHJhcycgaW4gdGhpcy5yZWNvcmRfICYmICdmYXZvcml0ZUNvdW50JyBpbiB0aGlzLnJlY29yZF8uZXh0cmFzXG4gICAgICAgID8gKHRoaXMucmVjb3JkXy5leHRyYXMuZmF2b3JpdGVDb3VudCBhcyBudW1iZXIpXG4gICAgICAgIDogbnVsbFxuICB9XG4gIGdldCByZWNvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVjb3JkX1xuICB9XG4gIGlzRmF2b3JpdGUkID0gdGhpcy5mYXZvcml0ZXNTZXJ2aWNlLm15RmF2b3JpdGVzVXVpZCQucGlwZShcbiAgICBtYXAoKGZhdm9yaXRlcykgPT4gZmF2b3JpdGVzLmluZGV4T2YodGhpcy5yZWNvcmQudW5pcXVlSWRlbnRpZmllcikgPiAtMSlcbiAgKVxuICBzdXBwb3J0c0F1dGhlbnRpY2F0aW9uID0gdGhpcy5wbGF0Zm9ybVNlcnZpY2Uuc3VwcG9ydHNBdXRoZW50aWNhdGlvbigpXG4gIGlzQW5vbnltb3VzJCA9IHRoaXMucGxhdGZvcm1TZXJ2aWNlLmlzQW5vbnltb3VzKClcbiAgcmVjb3JkXzogUGFydGlhbDxDYXRhbG9nUmVjb3JkPlxuICBmYXZvcml0ZUNvdW50OiBudW1iZXIgfCBudWxsXG4gIGxvYWRpbmcgPSBmYWxzZVxuICBsb2dpblVybCA9IHRoaXMuYXV0aFNlcnZpY2UubG9naW5VcmxcbiAgbG9naW5NZXNzYWdlJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5waXBlKFxuICAgIHN0YXJ0V2l0aChudWxsKSwgLy8gbWFrZSBzdXJlIHRvIHdhaXQgZm9yIHRyYW5zbGF0aW9ucyB0byBiZSBsb2FkZWQgd2l0aCBhbmQgd2l0aG91dCBsYW5ndWFnZSBjaGFuZ2VcbiAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoJ2Zhdm9yaXRlLm5vdC5hdXRoZW50aWNhdGVkLnRvb2x0aXAnLCB7XG4gICAgICAgIGxpbms6IHRoaXMubG9naW5VcmwsXG4gICAgICB9KVxuICAgIClcbiAgKVxuICBAVmlld0NoaWxkKFN0YXJUb2dnbGVDb21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICBzdGFyVG9nZ2xlUmVmOiBFbGVtZW50UmVmXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uXG4gIGNvdW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb25cblxuICBnZXQgaGFzRmF2b3JpdGVDb3VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5mYXZvcml0ZUNvdW50ICE9PSBudWxsXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZhdm9yaXRlc1NlcnZpY2U6IEZhdm9yaXRlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBwbGF0Zm9ybVNlcnZpY2U6IFBsYXRmb3JtU2VydmljZUludGVyZmFjZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdXBwb3J0c0F1dGhlbnRpY2F0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuaXNBbm9ueW1vdXMkXG4gICAgICAgIC5waXBlKHdpdGhMYXRlc3RGcm9tKHRoaXMubG9naW5NZXNzYWdlJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKFthbm9ueW1vdXMsIGxvZ2luTWVzc2FnZV0pID0+IHtcbiAgICAgICAgICBpZiAoYW5vbnltb3VzKSB7XG4gICAgICAgICAgICB0aXBweSh0aGlzLnN0YXJUb2dnbGVSZWYubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgICAgICBhcHBlbmRUbzogKCkgPT4gZG9jdW1lbnQuYm9keSxcbiAgICAgICAgICAgICAgY29udGVudDogbG9naW5NZXNzYWdlLFxuICAgICAgICAgICAgICBhbGxvd0hUTUw6IHRydWUsXG4gICAgICAgICAgICAgIGludGVyYWN0aXZlOiB0cnVlLFxuICAgICAgICAgICAgICB6SW5kZXg6IDYwLFxuICAgICAgICAgICAgICBtYXhXaWR0aDogMjUwLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfVxuICAgIHRoaXMuY291bnRTdWJzY3JpcHRpb24gPSB0aGlzLmZhdm9yaXRlc1NlcnZpY2UubXlGYXZvcml0ZXNVdWlkJFxuICAgICAgLnBpcGUocGFpcndpc2UoKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtvbGRGYXZzLCBuZXdGYXZzXSkgPT4ge1xuICAgICAgICBjb25zdCBlZGl0ZWRGYXZzID0gKFxuICAgICAgICAgIG9sZEZhdnMubGVuZ3RoIDwgbmV3RmF2cy5sZW5ndGhcbiAgICAgICAgICAgID8gbmV3RmF2cy5zbGljZSgtMSlcbiAgICAgICAgICAgIDogb2xkRmF2cy5maWx0ZXIoKGZhdikgPT4gIW5ld0ZhdnMuaW5jbHVkZXMoZmF2KSlcbiAgICAgICAgKVswXVxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5oYXNGYXZvcml0ZUNvdW50ICYmXG4gICAgICAgICAgZWRpdGVkRmF2cyA9PT0gdGhpcy5yZWNvcmQudW5pcXVlSWRlbnRpZmllclxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAobmV3RmF2cy5pbmNsdWRlcyhlZGl0ZWRGYXZzKSkge1xuICAgICAgICAgICAgdGhpcy5mYXZvcml0ZUNvdW50ICs9IDFcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5mYXZvcml0ZUNvdW50ICs9IC0xXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgfVxuICAgIGlmICh0aGlzLmNvdW50U3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmNvdW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICB0b2dnbGVGYXZvcml0ZShpc0Zhdm9yaXRlKSB7XG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZVxuICAgIDsoaXNGYXZvcml0ZVxuICAgICAgPyB0aGlzLmZhdm9yaXRlc1NlcnZpY2UuYWRkVG9GYXZvcml0ZXMoW3RoaXMucmVjb3JkLnVuaXF1ZUlkZW50aWZpZXJdKVxuICAgICAgOiB0aGlzLmZhdm9yaXRlc1NlcnZpY2UucmVtb3ZlRnJvbUZhdm9yaXRlcyhbXG4gICAgICAgICAgdGhpcy5yZWNvcmQudW5pcXVlSWRlbnRpZmllcixcbiAgICAgICAgXSlcbiAgICApLnN1YnNjcmliZSh7XG4gICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXG4gICAgICB9LFxuICAgIH0pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGl0ZW1zLWNlbnRlclwiPlxuICA8c3BhblxuICAgIGNsYXNzPVwiYWxpZ24tdGV4dC10b3AgbXItMS41IG10LTAuNVwiXG4gICAgZGF0YS10ZXN0PVwiZmF2b3JpdGUtY291bnRcIlxuICAgICpuZ0lmPVwiaGFzRmF2b3JpdGVDb3VudCAmJiBkaXNwbGF5Q291bnRcIlxuICAgID57eyBmYXZvcml0ZUNvdW50IH19PC9zcGFuXG4gID5cbiAgPGduLXVpLXN0YXItdG9nZ2xlXG4gICAgW3RvZ2dsZWRdPVwiaXNGYXZvcml0ZSQgfCBhc3luY1wiXG4gICAgKG5ld1ZhbHVlKT1cInRvZ2dsZUZhdm9yaXRlKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nIHx8IChpc0Fub255bW91cyQgfCBhc3luYylcIlxuICAgIFtkaXNwbGF5TGFiZWxdPVwiZGlzcGxheUxhYmVsXCJcbiAgPjwvZ24tdWktc3Rhci10b2dnbGU+XG48L2Rpdj5cbiJdfQ==
@@ -63,10 +63,17 @@ export const FORMATS = {
63
63
  mimeTypes: ['application/geopackage+sqlite3'],
64
64
  },
65
65
  zip: {
66
- extensions: ['zip', 'tar.gz'],
66
+ extensions: ['zip', 'tar.gz', 'gz', '7z', '7zip'],
67
67
  priority: 8,
68
68
  color: '#B0CB52',
69
- mimeTypes: ['application/zip', 'application/x-zip'],
69
+ mimeTypes: [
70
+ 'application/zip',
71
+ 'application/x-zip',
72
+ 'application/x-compressed',
73
+ 'application/x-7z-compressed',
74
+ 'application/gzip',
75
+ 'application/x-gzip',
76
+ ],
70
77
  },
71
78
  pdf: {
72
79
  extensions: ['pdf'],
@@ -80,39 +87,57 @@ export const FORMATS = {
80
87
  color: '#C4A98F',
81
88
  mimeTypes: ['image/jpg'],
82
89
  },
90
+ png: {
91
+ extensions: ['png'],
92
+ priority: 10,
93
+ color: '#8B5A3C',
94
+ mimeTypes: ['image/png'],
95
+ },
96
+ tiff: {
97
+ extensions: ['tiff', 'tif', 'geotiff', 'geotif'],
98
+ priority: 11,
99
+ color: '#6B4423',
100
+ mimeTypes: ['image/tiff'],
101
+ },
83
102
  svg: {
84
103
  extensions: ['svg'],
85
- priority: 10,
104
+ priority: 12,
86
105
  color: '#EB6D82',
87
106
  mimeTypes: ['image/svg+xml'],
88
107
  },
89
108
  dxf: {
90
109
  extensions: ['dxf'],
91
- priority: 11,
110
+ priority: 13,
92
111
  color: '#DCCD00',
93
112
  mimeTypes: ['application/x-dxf', 'image/x-dxf'],
94
113
  },
95
114
  html: {
96
115
  extensions: ['html', 'htm'],
97
- priority: 12,
116
+ priority: 14,
98
117
  color: '#C0C9B6',
99
118
  mimeTypes: ['text/html'],
100
119
  },
101
120
  fgb: {
102
121
  extensions: ['fgb', 'flatgeobuf'],
103
- priority: 13,
122
+ priority: 15,
104
123
  color: '#A8111C',
105
124
  mimeTypes: ['application/flatgeobuf'],
106
125
  },
107
126
  jsonfg: {
108
127
  extensions: ['jsonfg', 'jsonfgc'],
109
- priority: 14,
128
+ priority: 16,
110
129
  color: '#009EE0',
111
130
  mimeTypes: [
112
131
  'application/vnd.ogc.fg+json',
113
132
  'application/vnd.ogc.fg+json;compatibility=geojson',
114
133
  ],
115
134
  },
135
+ webp: {
136
+ extensions: ['webp'],
137
+ priority: 17,
138
+ color: '#5A9E6F',
139
+ mimeTypes: ['image/webp'],
140
+ },
116
141
  };
117
142
  export function getFormatPriority(linkFormat) {
118
143
  for (const format in FORMATS) {
@@ -278,4 +303,4 @@ export function wmsLayerFlatten(layerFull) {
278
303
  export function getMimeTypeForFormat(format) {
279
304
  return format in FORMATS ? FORMATS[format.toLowerCase()].mimeTypes[0] : null;
280
305
  }
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQU1oRSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sd0JBQXdCLENBQUE7QUFFL0IsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztLQUMzQztJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRTtZQUNWLE9BQU87WUFDUCxNQUFNO1lBQ04sS0FBSztZQUNMLFVBQVU7WUFDViwrQkFBK0I7U0FDaEM7UUFDRCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRTtZQUNULDBCQUEwQjtZQUMxQixtRUFBbUU7U0FDcEU7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUN2QixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDO0tBQ2hFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3BCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsa0JB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LE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFya2VyIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJ1xuaW1wb3J0IHtcbiAgRGF0YXNldE9ubGluZVJlc291cmNlLFxuICBTZXJ2aWNlT25saW5lUmVzb3VyY2UsXG4gIFNlcnZpY2VQcm90b2NvbCxcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vZG9tYWluL3NyYy9saWIvbW9kZWwvcmVjb3JkJ1xuaW1wb3J0IHtcbiAgT2djQXBpRW5kcG9pbnQsXG4gIFdmc0VuZHBvaW50LFxuICBXbXNFbmRwb2ludCxcbiAgV210c0VuZHBvaW50LFxufSBmcm9tICdAY2FtcHRvY2FtcC9vZ2MtY2xpZW50J1xuXG5tYXJrZXIoJ2Rvd25sb2Fkcy53ZnMuZmVhdHVyZXR5cGUubm90LmZvdW5kJylcblxuZXhwb3J0IGNvbnN0IEZPUk1BVFMgPSB7XG4gIGNzdjoge1xuICAgIGV4dGVuc2lvbnM6IFsnY3N2J10sXG4gICAgcHJpb3JpdHk6IDEsXG4gICAgY29sb3I6ICcjRjZBOTI0JyxcbiAgICBtaW1lVHlwZXM6IFsndGV4dC9jc3YnLCAnYXBwbGljYXRpb24vY3N2J10sXG4gIH0sXG4gIGV4Y2VsOiB7XG4gICAgZXh0ZW5zaW9uczogW1xuICAgICAgJ2V4Y2VsJyxcbiAgICAgICd4bHN4JyxcbiAgICAgICd4bHMnLFxuICAgICAgJ21zLWV4Y2VsJyxcbiAgICAgICdvcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudCcsXG4gICAgXSxcbiAgICBwcmlvcml0eTogMixcbiAgICBjb2xvcjogJyNGRkRFMTAnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgIF0sXG4gIH0sXG4gIGdlb2pzb246IHtcbiAgICBleHRlbnNpb25zOiBbJ2dlb2pzb24nXSxcbiAgICBwcmlvcml0eTogMyxcbiAgICBjb2xvcjogJyMyOTNDNkYnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nZW8ranNvbicsICdhcHBsaWNhdGlvbi92bmQuZ2VvK2pzb24nXSxcbiAgfSxcbiAganNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzg0RDBGMCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2pzb24nXSxcbiAgfSxcbiAgc2hwOiB7XG4gICAgZXh0ZW5zaW9uczogWydzaHAnLCAnc2hhcGUnLCAnemlwcGVkLXNoYXBlZmlsZSddLFxuICAgIHByaW9yaXR5OiA0LFxuICAgIGNvbG9yOiAnIzAwOTAzNicsXG4gICAgbWltZVR5cGVzOiBbJ3gtZ2lzL3gtc2hhcGVmaWxlJ10sXG4gIH0sXG4gIGdtbDoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ21sJ10sXG4gICAgcHJpb3JpdHk6IDUsXG4gICAgY29sb3I6ICcjRTc1MTEzJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vZ21sK3htbCcsICd0ZXh0L3htbDsgc3VidHlwZT1nbWwnXSxcbiAgfSxcbiAga21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydrbWwnLCAna216J10sXG4gICAgcHJpb3JpdHk6IDYsXG4gICAgY29sb3I6ICcjRjRCNUQwJyxcbiAgICBtaW1lVHlwZXM6IFtcbiAgICAgICdhcHBsaWNhdGlvbi92bmQuZ29vZ2xlLWVhcnRoLmttbCt4bWwnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua216JyxcbiAgICBdLFxuICB9LFxuICBncGtnOiB7XG4gICAgZXh0ZW5zaW9uczogWydncGtnJywgJ2dlb3BhY2thZ2UnXSxcbiAgICBwcmlvcml0eTogNyxcbiAgICBjb2xvcjogJyM3RDVEOUYnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nZW9wYWNrYWdlK3NxbGl0ZTMnXSxcbiAgfSxcbiAgemlwOiB7XG4gICAgZXh0ZW5zaW9uczogWyd6aXAnLCAndGFyLmd6J10sXG4gICAgcHJpb3JpdHk6IDgsXG4gICAgY29sb3I6ICcjQjBDQjUyJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vemlwJywgJ2FwcGxpY2F0aW9uL3gtemlwJ10sXG4gIH0sXG4gIHBkZjoge1xuICAgIGV4dGVuc2lvbnM6IFsncGRmJ10sXG4gICAgcHJpb3JpdHk6IDksXG4gICAgY29sb3I6ICcjNDk1NzlFJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vcGRmJ10sXG4gIH0sXG4gIGpwZzoge1xuICAgIGV4dGVuc2lvbnM6IFsnanBnJywgJ2pwZWcnLCAnamZpZicsICdwanBlZycsICdwanAnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyNDNEE5OEYnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9qcGcnXSxcbiAgfSxcbiAgc3ZnOiB7XG4gICAgZXh0ZW5zaW9uczogWydzdmcnXSxcbiAgICBwcmlvcml0eTogMTAsXG4gICAgY29sb3I6ICcjRUI2RDgyJyxcbiAgICBtaW1lVHlwZXM6IFsnaW1hZ2Uvc3ZnK3htbCddLFxuICB9LFxuICBkeGY6IHtcbiAgICBleHRlbnNpb25zOiBbJ2R4ZiddLFxuICAgIHByaW9yaXR5OiAxMSxcbiAgICBjb2xvcjogJyNEQ0NEMDAnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi94LWR4ZicsICdpbWFnZS94LWR4ZiddLFxuICB9LFxuICBodG1sOiB7XG4gICAgZXh0ZW5zaW9uczogWydodG1sJywgJ2h0bSddLFxuICAgIHByaW9yaXR5OiAxMixcbiAgICBjb2xvcjogJyNDMEM5QjYnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2h0bWwnXSxcbiAgfSxcbiAgZmdiOiB7XG4gICAgZXh0ZW5zaW9uczogWydmZ2InLCAnZmxhdGdlb2J1ZiddLFxuICAgIHByaW9yaXR5OiAxMyxcbiAgICBjb2xvcjogJyNBODExMUMnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9mbGF0Z2VvYnVmJ10sXG4gIH0sXG4gIGpzb25mZzoge1xuICAgIGV4dGVuc2lvbnM6IFsnanNvbmZnJywgJ2pzb25mZ2MnXSxcbiAgICBwcmlvcml0eTogMTQsXG4gICAgY29sb3I6ICcjMDA5RUUwJyxcbiAgICBtaW1lVHlwZXM6IFtcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub2djLmZnK2pzb24nLFxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vZ2MuZmcranNvbjtjb21wYXRpYmlsaXR5PWdlb2pzb24nLFxuICAgIF0sXG4gIH0sXG59IGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIEZpbGVGb3JtYXQgPSBrZXlvZiB0eXBlb2YgRk9STUFUU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybWF0UHJpb3JpdHkobGlua0Zvcm1hdDogRmlsZUZvcm1hdCk6IG51bWJlciB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGV4dCBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7ZXh0fWAsICdpJykudGVzdChsaW5rRm9ybWF0KSkge1xuICAgICAgICBpZiAoRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5ID09PSAwKSByZXR1cm4gMFxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRk9STUFUUykubGVuZ3RoIC0gRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiAwXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rUHJpb3JpdHkoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZVxuKTogbnVtYmVyIHtcbiAgcmV0dXJuIGdldEZvcm1hdFByaW9yaXR5KGdldEZpbGVGb3JtYXQobGluaykpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0RnJvbVNlcnZpY2VPdXRwdXQoXG4gIHNlcnZpY2VPdXRwdXQ6IHN0cmluZ1xuKTogRmlsZUZvcm1hdCB8IG51bGwge1xuICBmdW5jdGlvbiBmb3JtYXRNYXRjaGVyKGZvcm1hdDogKHR5cGVvZiBGT1JNQVRTKVtGaWxlRm9ybWF0XSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG91dHB1dCA9IHNlcnZpY2VPdXRwdXQudG9Mb3dlckNhc2UoKVxuICAgIHJldHVybiAoXG4gICAgICBmb3JtYXQuZXh0ZW5zaW9ucy5zb21lKChleHRlbnNpb246IHN0cmluZykgPT5cbiAgICAgICAgb3V0cHV0LmluY2x1ZGVzKGV4dGVuc2lvbilcbiAgICAgICkgfHxcbiAgICAgIGZvcm1hdC5taW1lVHlwZXMuc29tZSgobWltZVR5cGU6IHN0cmluZykgPT4gb3V0cHV0LmluY2x1ZGVzKG1pbWVUeXBlKSlcbiAgICApXG4gIH1cbiAgZm9yIChjb25zdCBmb3JtYXROYW1lIGluIEZPUk1BVFMpIHtcbiAgICBpZiAoZm9ybWF0TWF0Y2hlcihGT1JNQVRTW2Zvcm1hdE5hbWVdKSkge1xuICAgICAgcmV0dXJuIGZvcm1hdE5hbWUgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZUZvcm1hdChcbiAgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlIHwgU2VydmljZU9ubGluZVJlc291cmNlXG4pOiBGaWxlRm9ybWF0IHtcbiAgaWYgKCdtaW1lVHlwZScgaW4gbGluaykge1xuICAgIGNvbnN0IG1pbWVUeXBlRm9ybWF0ID0gbWltZVR5cGVUb0Zvcm1hdChsaW5rLm1pbWVUeXBlKVxuICAgIGlmIChtaW1lVHlwZUZvcm1hdCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1pbWVUeXBlRm9ybWF0XG4gICAgfVxuICB9XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGFsaWFzIG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAoY2hlY2tGaWxlRm9ybWF0KGxpbmssIGFsaWFzKSkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgICBpZiAoaXNGb3JtYXRJblF1ZXJ5UGFyYW0obGluaywgYWxpYXMpKSByZXR1cm4gZm9ybWF0IGFzIEZpbGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybWF0SW5RdWVyeVBhcmFtKFxuICBsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UgfCBTZXJ2aWNlT25saW5lUmVzb3VyY2UsXG4gIGFsaWFzOiBzdHJpbmdcbik6IGJvb2xlYW4ge1xuICBjb25zdCBxdWVyeVBhcmFtcyA9IGxpbmsudXJsLnNlYXJjaFBhcmFtc1xuICBpZiAoIXF1ZXJ5UGFyYW1zKSByZXR1cm4gZmFsc2VcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnlQYXJhbXMuZW50cmllcygpKSB7XG4gICAgaWYgKGtleSA9PT0gJ2Zvcm1hdCcgfHwga2V5ID09PSAnZicpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gYWxpYXNcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgbXQgb2YgRk9STUFUU1tmb3JtYXRdLm1pbWVUeXBlcykge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBtdCkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVGb3JtYXQoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZSxcbiAgZm9ybWF0OiBGaWxlRm9ybWF0XG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICAoJ25hbWUnIGluIGxpbmsgJiZcbiAgICAgIG5ldyBSZWdFeHAoYFsuL10ke2Zvcm1hdH1gLCAnaScpLnRlc3QobGluay5uYW1lLnRvTG93ZXJDYXNlKCkpKSB8fFxuICAgICgndXJsJyBpbiBsaW5rICYmXG4gICAgICBuZXcgUmVnRXhwKGBbLi9dJHtmb3JtYXR9YCwgJ2knKS50ZXN0KGxpbmsudXJsLnRvU3RyaW5nKCkpKSB8fFxuICAgICgnbmFtZScgaW4gbGluayAmJiBsaW5rLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmb3JtYXQpKVxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYWRnZUNvbG9yKGxpbmtGb3JtYXQ6IEZpbGVGb3JtYXQpOiBzdHJpbmcge1xuICBmb3IgKGNvbnN0IGZvcm1hdCBpbiBGT1JNQVRTKSB7XG4gICAgZm9yIChjb25zdCBhbGlhcyBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7YWxpYXN9YCwgJ2knKS50ZXN0KGxpbmtGb3JtYXQpKVxuICAgICAgICByZXR1cm4gRk9STUFUU1tmb3JtYXRdLmNvbG9yXG4gICAgfVxuICB9XG4gIHJldHVybiAndmFyKC0tY29sb3ItZ3JheS03MDApJyAvLyBEZWZhdWx0IGNvbG9yID9cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpbmtJZChsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBzdHJpbmcge1xuICBjb25zdCBocmVmID0gbGluay51cmwuaHJlZiA/PyBsaW5rLnVybFxuICByZXR1cm4gYCR7Z2V0TGlua0xhYmVsKGxpbmspXG4gICAgLnJlcGxhY2UoL8ODwqkvZywgJ2UnKVxuICAgIC5yZXBsYWNlKC/Dg8KoL2csICdlJylcbiAgICAubm9ybWFsaXplKCdORkQnKVxuICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyl9LSR7aHJlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rTGFiZWwoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZVxuKTogc3RyaW5nIHtcbiAgbGV0IGZvcm1hdCA9ICcnXG4gIHN3aXRjaCAobGluay50eXBlKSB7XG4gICAgY2FzZSAnc2VydmljZSc6XG4gICAgICB7XG4gICAgICAgIHN3aXRjaCAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wpIHtcbiAgICAgICAgICBjYXNlICd3ZnMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dGUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnd21zJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXTVMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dNVFMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3Rtcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnVE1TJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICdlc3JpUmVzdCc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnUkVTVCdcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgZGVmYXVsdDpcbiAgICAgIGZvcm1hdCA9IGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuICBjb25zdCBsYWJlbCA9IGxpbmsuZGVzY3JpcHRpb24gfHwgKCduYW1lJyBpbiBsaW5rID8gbGluay5uYW1lIDogJycpXG4gIHJldHVybiBmb3JtYXQgPyBgJHtsYWJlbH0gKCR7Zm9ybWF0fSlgIDogbGFiZWxcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExheWVycyh1cmw6IHN0cmluZywgc2VydmljZVByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2wpIHtcbiAgc3dpdGNoIChzZXJ2aWNlUHJvdG9jb2wpIHtcbiAgICBjYXNlICdvZ2NGZWF0dXJlcyc6IHtcbiAgICAgIGNvbnN0IGxheWVycyA9IGF3YWl0IG5ldyBPZ2NBcGlFbmRwb2ludCh1cmwpLmFsbENvbGxlY3Rpb25zXG4gICAgICByZXR1cm4gbGF5ZXJzXG4gICAgfVxuICAgIGNhc2UgJ3dmcyc6IHtcbiAgICAgIGNvbnN0IGVuZHBvaW50V2ZzID0gYXdhaXQgbmV3IFdmc0VuZHBvaW50KHVybCkuaXNSZWFkeSgpXG4gICAgICBjb25zdCBmZWF0dXJlVHlwZXMgPSBhd2FpdCBlbmRwb2ludFdmcy5nZXRGZWF0dXJlVHlwZXMoKVxuICAgICAgY29uc3QgbGF5ZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGZlYXR1cmVUeXBlcy5tYXAoYXN5bmMgKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZW5kcG9pbnRXZnMuZ2V0RmVhdHVyZVR5cGVGdWxsKGNvbGxlY3Rpb24ubmFtZSlcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIHJldHVybiBsYXllcnNcbiAgICB9XG4gICAgY2FzZSAnd21zJzoge1xuICAgICAgY29uc3QgZW5kcG9pbnRXbXMgPSBhd2FpdCBuZXcgV21zRW5kcG9pbnQodXJsKS5pc1JlYWR5KClcbiAgICAgIGNvbnN0IGxheWVycyA9IChcbiAgICAgICAgYXdhaXQgZW5kcG9pbnRXbXNcbiAgICAgICAgICAuZ2V0TGF5ZXJzKClcbiAgICAgICAgICAuZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXG4gICAgICAgICAgLmZpbHRlcigobCkgPT4gbC5uYW1lKVxuICAgICAgKS5tYXAoKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIGVuZHBvaW50V21zLmdldExheWVyQnlOYW1lKGNvbGxlY3Rpb24ubmFtZSlcbiAgICAgIH0pXG4gICAgICByZXR1cm4gbGF5ZXJzXG4gICAgfVxuICAgIGNhc2UgJ3dtdHMnOiB7XG4gICAgICBjb25zdCBlbmRwb2ludFdtdHMgPSBhd2FpdCBuZXcgV210c0VuZHBvaW50KHVybCkuaXNSZWFkeSgpXG4gICAgICByZXR1cm4gZW5kcG9pbnRXbXRzLmdldExheWVycygpXG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdtc0xheWVyRmxhdHRlbihsYXllckZ1bGwpIHtcbiAgY29uc3QgbGF5ZXIgPSB7XG4gICAgdGl0bGU6IGxheWVyRnVsbC50aXRsZSxcbiAgICBuYW1lOiBsYXllckZ1bGwubmFtZSxcbiAgICBhYnN0cmFjdDogbGF5ZXJGdWxsLmFic3RyYWN0LFxuICB9XG5cbiAgcmV0dXJuICdjaGlsZHJlbicgaW4gbGF5ZXJGdWxsICYmIEFycmF5LmlzQXJyYXkobGF5ZXJGdWxsLmNoaWxkcmVuKVxuICAgID8gW2xheWVyLCAuLi5sYXllckZ1bGwuY2hpbGRyZW4uZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXVxuICAgIDogW2xheWVyXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWltZVR5cGVGb3JGb3JtYXQoZm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBmb3JtYXQgaW4gRk9STUFUUyA/IEZPUk1BVFNbZm9ybWF0LnRvTG93ZXJDYXNlKCldLm1pbWVUeXBlc1swXSA6IG51bGxcbn1cbiJdfQ==
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjL2xpYi9saW5rcy9saW5rLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQU1oRSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFdBQVcsRUFDWCxXQUFXLEVBQ1gsWUFBWSxHQUNiLE1BQU0sd0JBQXdCLENBQUE7QUFFL0IsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUE7QUFFN0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHO0lBQ3JCLEdBQUcsRUFBRTtRQUNILFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNuQixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQztLQUMzQztJQUNELEtBQUssRUFBRTtRQUNMLFVBQVUsRUFBRTtZQUNWLE9BQU87WUFDUCxNQUFNO1lBQ04sS0FBSztZQUNMLFVBQVU7WUFDViwrQkFBK0I7U0FDaEM7UUFDRCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRTtZQUNULDBCQUEwQjtZQUMxQixtRUFBbUU7U0FDcEU7S0FDRjtJQUNELE9BQU8sRUFBRTtRQUNQLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQztRQUN2QixRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLDBCQUEwQixDQUFDO0tBQ2hFO0lBQ0QsSUFBSSxFQUFFO1FBQ0osVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3BCLFFBQVEsRUFBRSxDQUFDO1FBQ1gsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLENBQUMsa0JB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O1FBQ2pDLENBQUM7UUFDRDtZQUNFLE9BQU8sU0FBUyxDQUFBO0lBQ3BCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxTQUFTO0lBQ3ZDLE1BQU0sS0FBSyxHQUFHO1FBQ1osS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLO1FBQ3RCLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNwQixRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVE7S0FDN0IsQ0FBQTtJQUVELE9BQU8sVUFBVSxJQUFJLFNBQVMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQWtCO0lBQ3JELE9BQU8sTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBQzlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXJrZXIgfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInXG5pbXBvcnQge1xuICBEYXRhc2V0T25saW5lUmVzb3VyY2UsXG4gIFNlcnZpY2VPbmxpbmVSZXNvdXJjZSxcbiAgU2VydmljZVByb3RvY29sLFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9kb21haW4vc3JjL2xpYi9tb2RlbC9yZWNvcmQnXG5pbXBvcnQge1xuICBPZ2NBcGlFbmRwb2ludCxcbiAgV2ZzRW5kcG9pbnQsXG4gIFdtc0VuZHBvaW50LFxuICBXbXRzRW5kcG9pbnQsXG59IGZyb20gJ0BjYW1wdG9jYW1wL29nYy1jbGllbnQnXG5cbm1hcmtlcignZG93bmxvYWRzLndmcy5mZWF0dXJldHlwZS5ub3QuZm91bmQnKVxuXG5leHBvcnQgY29uc3QgRk9STUFUUyA9IHtcbiAgY3N2OiB7XG4gICAgZXh0ZW5zaW9uczogWydjc3YnXSxcbiAgICBwcmlvcml0eTogMSxcbiAgICBjb2xvcjogJyNGNkE5MjQnLFxuICAgIG1pbWVUeXBlczogWyd0ZXh0L2NzdicsICdhcHBsaWNhdGlvbi9jc3YnXSxcbiAgfSxcbiAgZXhjZWw6IHtcbiAgICBleHRlbnNpb25zOiBbXG4gICAgICAnZXhjZWwnLFxuICAgICAgJ3hsc3gnLFxuICAgICAgJ3hscycsXG4gICAgICAnbXMtZXhjZWwnLFxuICAgICAgJ29wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50JyxcbiAgICBdLFxuICAgIHByaW9yaXR5OiAyLFxuICAgIGNvbG9yOiAnI0ZGREUxMCcsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgXSxcbiAgfSxcbiAgZ2VvanNvbjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZ2VvanNvbiddLFxuICAgIHByaW9yaXR5OiAzLFxuICAgIGNvbG9yOiAnIzI5M0M2RicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlbytqc29uJywgJ2FwcGxpY2F0aW9uL3ZuZC5nZW8ranNvbiddLFxuICB9LFxuICBqc29uOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uJ10sXG4gICAgcHJpb3JpdHk6IDMsXG4gICAgY29sb3I6ICcjODREMEYwJyxcbiAgICBtaW1lVHlwZXM6IFsnYXBwbGljYXRpb24vanNvbiddLFxuICB9LFxuICBzaHA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3NocCcsICdzaGFwZScsICd6aXBwZWQtc2hhcGVmaWxlJ10sXG4gICAgcHJpb3JpdHk6IDQsXG4gICAgY29sb3I6ICcjMDA5MDM2JyxcbiAgICBtaW1lVHlwZXM6IFsneC1naXMveC1zaGFwZWZpbGUnXSxcbiAgfSxcbiAgZ21sOiB7XG4gICAgZXh0ZW5zaW9uczogWydnbWwnXSxcbiAgICBwcmlvcml0eTogNSxcbiAgICBjb2xvcjogJyNFNzUxMTMnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9nbWwreG1sJywgJ3RleHQveG1sOyBzdWJ0eXBlPWdtbCddLFxuICB9LFxuICBrbWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ttbCcsICdrbXonXSxcbiAgICBwcmlvcml0eTogNixcbiAgICBjb2xvcjogJyNGNEI1RDAnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5nb29nbGUtZWFydGgua21sK3htbCcsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbXonLFxuICAgIF0sXG4gIH0sXG4gIGdwa2c6IHtcbiAgICBleHRlbnNpb25zOiBbJ2dwa2cnLCAnZ2VvcGFja2FnZSddLFxuICAgIHByaW9yaXR5OiA3LFxuICAgIGNvbG9yOiAnIzdENUQ5RicsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2dlb3BhY2thZ2Urc3FsaXRlMyddLFxuICB9LFxuICB6aXA6IHtcbiAgICBleHRlbnNpb25zOiBbJ3ppcCcsICd0YXIuZ3onLCAnZ3onLCAnN3onLCAnN3ppcCddLFxuICAgIHByaW9yaXR5OiA4LFxuICAgIGNvbG9yOiAnI0IwQ0I1MicsXG4gICAgbWltZVR5cGVzOiBbXG4gICAgICAnYXBwbGljYXRpb24vemlwJyxcbiAgICAgICdhcHBsaWNhdGlvbi94LXppcCcsXG4gICAgICAnYXBwbGljYXRpb24veC1jb21wcmVzc2VkJyxcbiAgICAgICdhcHBsaWNhdGlvbi94LTd6LWNvbXByZXNzZWQnLFxuICAgICAgJ2FwcGxpY2F0aW9uL2d6aXAnLFxuICAgICAgJ2FwcGxpY2F0aW9uL3gtZ3ppcCcsXG4gICAgXSxcbiAgfSxcbiAgcGRmOiB7XG4gICAgZXh0ZW5zaW9uczogWydwZGYnXSxcbiAgICBwcmlvcml0eTogOSxcbiAgICBjb2xvcjogJyM0OTU3OUUnLFxuICAgIG1pbWVUeXBlczogWydhcHBsaWNhdGlvbi9wZGYnXSxcbiAgfSxcbiAganBnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqcGcnLCAnanBlZycsICdqZmlmJywgJ3BqcGVnJywgJ3BqcCddLFxuICAgIHByaW9yaXR5OiA5LFxuICAgIGNvbG9yOiAnI0M0QTk4RicsXG4gICAgbWltZVR5cGVzOiBbJ2ltYWdlL2pwZyddLFxuICB9LFxuICBwbmc6IHtcbiAgICBleHRlbnNpb25zOiBbJ3BuZyddLFxuICAgIHByaW9yaXR5OiAxMCxcbiAgICBjb2xvcjogJyM4QjVBM0MnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9wbmcnXSxcbiAgfSxcbiAgdGlmZjoge1xuICAgIGV4dGVuc2lvbnM6IFsndGlmZicsICd0aWYnLCAnZ2VvdGlmZicsICdnZW90aWYnXSxcbiAgICBwcmlvcml0eTogMTEsXG4gICAgY29sb3I6ICcjNkI0NDIzJyxcbiAgICBtaW1lVHlwZXM6IFsnaW1hZ2UvdGlmZiddLFxuICB9LFxuICBzdmc6IHtcbiAgICBleHRlbnNpb25zOiBbJ3N2ZyddLFxuICAgIHByaW9yaXR5OiAxMixcbiAgICBjb2xvcjogJyNFQjZEODInLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS9zdmcreG1sJ10sXG4gIH0sXG4gIGR4Zjoge1xuICAgIGV4dGVuc2lvbnM6IFsnZHhmJ10sXG4gICAgcHJpb3JpdHk6IDEzLFxuICAgIGNvbG9yOiAnI0RDQ0QwMCcsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL3gtZHhmJywgJ2ltYWdlL3gtZHhmJ10sXG4gIH0sXG4gIGh0bWw6IHtcbiAgICBleHRlbnNpb25zOiBbJ2h0bWwnLCAnaHRtJ10sXG4gICAgcHJpb3JpdHk6IDE0LFxuICAgIGNvbG9yOiAnI0MwQzlCNicsXG4gICAgbWltZVR5cGVzOiBbJ3RleHQvaHRtbCddLFxuICB9LFxuICBmZ2I6IHtcbiAgICBleHRlbnNpb25zOiBbJ2ZnYicsICdmbGF0Z2VvYnVmJ10sXG4gICAgcHJpb3JpdHk6IDE1LFxuICAgIGNvbG9yOiAnI0E4MTExQycsXG4gICAgbWltZVR5cGVzOiBbJ2FwcGxpY2F0aW9uL2ZsYXRnZW9idWYnXSxcbiAgfSxcbiAganNvbmZnOiB7XG4gICAgZXh0ZW5zaW9uczogWydqc29uZmcnLCAnanNvbmZnYyddLFxuICAgIHByaW9yaXR5OiAxNixcbiAgICBjb2xvcjogJyMwMDlFRTAnLFxuICAgIG1pbWVUeXBlczogW1xuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vZ2MuZmcranNvbicsXG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9nYy5mZytqc29uO2NvbXBhdGliaWxpdHk9Z2VvanNvbicsXG4gICAgXSxcbiAgfSxcbiAgd2VicDoge1xuICAgIGV4dGVuc2lvbnM6IFsnd2VicCddLFxuICAgIHByaW9yaXR5OiAxNyxcbiAgICBjb2xvcjogJyM1QTlFNkYnLFxuICAgIG1pbWVUeXBlczogWydpbWFnZS93ZWJwJ10sXG4gIH0sXG59IGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIEZpbGVGb3JtYXQgPSBrZXlvZiB0eXBlb2YgRk9STUFUU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybWF0UHJpb3JpdHkobGlua0Zvcm1hdDogRmlsZUZvcm1hdCk6IG51bWJlciB7XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGV4dCBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7ZXh0fWAsICdpJykudGVzdChsaW5rRm9ybWF0KSkge1xuICAgICAgICBpZiAoRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5ID09PSAwKSByZXR1cm4gMFxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRk9STUFUUykubGVuZ3RoIC0gRk9STUFUU1tmb3JtYXRdLnByaW9yaXR5XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiAwXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rUHJpb3JpdHkoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZVxuKTogbnVtYmVyIHtcbiAgcmV0dXJuIGdldEZvcm1hdFByaW9yaXR5KGdldEZpbGVGb3JtYXQobGluaykpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlRm9ybWF0RnJvbVNlcnZpY2VPdXRwdXQoXG4gIHNlcnZpY2VPdXRwdXQ6IHN0cmluZ1xuKTogRmlsZUZvcm1hdCB8IG51bGwge1xuICBmdW5jdGlvbiBmb3JtYXRNYXRjaGVyKGZvcm1hdDogKHR5cGVvZiBGT1JNQVRTKVtGaWxlRm9ybWF0XSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG91dHB1dCA9IHNlcnZpY2VPdXRwdXQudG9Mb3dlckNhc2UoKVxuICAgIHJldHVybiAoXG4gICAgICBmb3JtYXQuZXh0ZW5zaW9ucy5zb21lKChleHRlbnNpb246IHN0cmluZykgPT5cbiAgICAgICAgb3V0cHV0LmluY2x1ZGVzKGV4dGVuc2lvbilcbiAgICAgICkgfHxcbiAgICAgIGZvcm1hdC5taW1lVHlwZXMuc29tZSgobWltZVR5cGU6IHN0cmluZykgPT4gb3V0cHV0LmluY2x1ZGVzKG1pbWVUeXBlKSlcbiAgICApXG4gIH1cbiAgZm9yIChjb25zdCBmb3JtYXROYW1lIGluIEZPUk1BVFMpIHtcbiAgICBpZiAoZm9ybWF0TWF0Y2hlcihGT1JNQVRTW2Zvcm1hdE5hbWVdKSkge1xuICAgICAgcmV0dXJuIGZvcm1hdE5hbWUgYXMgRmlsZUZvcm1hdFxuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZUZvcm1hdChcbiAgbGluazogRGF0YXNldE9ubGluZVJlc291cmNlIHwgU2VydmljZU9ubGluZVJlc291cmNlXG4pOiBGaWxlRm9ybWF0IHtcbiAgaWYgKCdtaW1lVHlwZScgaW4gbGluaykge1xuICAgIGNvbnN0IG1pbWVUeXBlRm9ybWF0ID0gbWltZVR5cGVUb0Zvcm1hdChsaW5rLm1pbWVUeXBlKVxuICAgIGlmIChtaW1lVHlwZUZvcm1hdCAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1pbWVUeXBlRm9ybWF0XG4gICAgfVxuICB9XG4gIGZvciAoY29uc3QgZm9ybWF0IGluIEZPUk1BVFMpIHtcbiAgICBmb3IgKGNvbnN0IGFsaWFzIG9mIEZPUk1BVFNbZm9ybWF0XS5leHRlbnNpb25zKSB7XG4gICAgICBpZiAoY2hlY2tGaWxlRm9ybWF0KGxpbmssIGFsaWFzKSkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgICBpZiAoaXNGb3JtYXRJblF1ZXJ5UGFyYW0obGluaywgYWxpYXMpKSByZXR1cm4gZm9ybWF0IGFzIEZpbGVGb3JtYXRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRm9ybWF0SW5RdWVyeVBhcmFtKFxuICBsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UgfCBTZXJ2aWNlT25saW5lUmVzb3VyY2UsXG4gIGFsaWFzOiBzdHJpbmdcbik6IGJvb2xlYW4ge1xuICBjb25zdCBxdWVyeVBhcmFtcyA9IGxpbmsudXJsLnNlYXJjaFBhcmFtc1xuICBpZiAoIXF1ZXJ5UGFyYW1zKSByZXR1cm4gZmFsc2VcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgcXVlcnlQYXJhbXMuZW50cmllcygpKSB7XG4gICAgaWYgKGtleSA9PT0gJ2Zvcm1hdCcgfHwga2V5ID09PSAnZicpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gYWxpYXNcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW1lVHlwZVRvRm9ybWF0KG1pbWVUeXBlOiBzdHJpbmcpOiBGaWxlRm9ybWF0IHtcbiAgZm9yIChjb25zdCBmb3JtYXQgaW4gRk9STUFUUykge1xuICAgIGZvciAoY29uc3QgbXQgb2YgRk9STUFUU1tmb3JtYXRdLm1pbWVUeXBlcykge1xuICAgICAgaWYgKG1pbWVUeXBlID09PSBtdCkgcmV0dXJuIGZvcm1hdCBhcyBGaWxlRm9ybWF0XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0ZpbGVGb3JtYXQoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZSxcbiAgZm9ybWF0OiBGaWxlRm9ybWF0XG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICAoJ25hbWUnIGluIGxpbmsgJiZcbiAgICAgIG5ldyBSZWdFeHAoYFsuL10ke2Zvcm1hdH1gLCAnaScpLnRlc3QobGluay5uYW1lLnRvTG93ZXJDYXNlKCkpKSB8fFxuICAgICgndXJsJyBpbiBsaW5rICYmXG4gICAgICBuZXcgUmVnRXhwKGBbLi9dJHtmb3JtYXR9YCwgJ2knKS50ZXN0KGxpbmsudXJsLnRvU3RyaW5nKCkpKSB8fFxuICAgICgnbmFtZScgaW4gbGluayAmJiBsaW5rLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmb3JtYXQpKVxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCYWRnZUNvbG9yKGxpbmtGb3JtYXQ6IEZpbGVGb3JtYXQpOiBzdHJpbmcge1xuICBmb3IgKGNvbnN0IGZvcm1hdCBpbiBGT1JNQVRTKSB7XG4gICAgZm9yIChjb25zdCBhbGlhcyBvZiBGT1JNQVRTW2Zvcm1hdF0uZXh0ZW5zaW9ucykge1xuICAgICAgaWYgKG5ldyBSZWdFeHAoYCR7YWxpYXN9YCwgJ2knKS50ZXN0KGxpbmtGb3JtYXQpKVxuICAgICAgICByZXR1cm4gRk9STUFUU1tmb3JtYXRdLmNvbG9yXG4gICAgfVxuICB9XG4gIHJldHVybiAndmFyKC0tY29sb3ItZ3JheS03MDApJyAvLyBEZWZhdWx0IGNvbG9yID9cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldExpbmtJZChsaW5rOiBEYXRhc2V0T25saW5lUmVzb3VyY2UpOiBzdHJpbmcge1xuICBjb25zdCBocmVmID0gbGluay51cmwuaHJlZiA/PyBsaW5rLnVybFxuICByZXR1cm4gYCR7Z2V0TGlua0xhYmVsKGxpbmspXG4gICAgLnJlcGxhY2UoL8ODwqkvZywgJ2UnKVxuICAgIC5yZXBsYWNlKC/Dg8KoL2csICdlJylcbiAgICAubm9ybWFsaXplKCdORkQnKVxuICAgIC5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyl9LSR7aHJlZn1gXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRMaW5rTGFiZWwoXG4gIGxpbms6IERhdGFzZXRPbmxpbmVSZXNvdXJjZSB8IFNlcnZpY2VPbmxpbmVSZXNvdXJjZVxuKTogc3RyaW5nIHtcbiAgbGV0IGZvcm1hdCA9ICcnXG4gIHN3aXRjaCAobGluay50eXBlKSB7XG4gICAgY2FzZSAnc2VydmljZSc6XG4gICAgICB7XG4gICAgICAgIHN3aXRjaCAobGluay5hY2Nlc3NTZXJ2aWNlUHJvdG9jb2wpIHtcbiAgICAgICAgICBjYXNlICd3ZnMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dGUydcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAnd21zJzpcbiAgICAgICAgICAgIGZvcm1hdCA9ICdXTVMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3dtdHMnOlxuICAgICAgICAgICAgZm9ybWF0ID0gJ1dNVFMnXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIGNhc2UgJ3Rtcyc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnVE1TJ1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICBjYXNlICdlc3JpUmVzdCc6XG4gICAgICAgICAgICBmb3JtYXQgPSAnUkVTVCdcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgZGVmYXVsdDpcbiAgICAgIGZvcm1hdCA9IGdldEZpbGVGb3JtYXQobGluaylcbiAgfVxuICBjb25zdCBsYWJlbCA9IGxpbmsuZGVzY3JpcHRpb24gfHwgKCduYW1lJyBpbiBsaW5rID8gbGluay5uYW1lIDogJycpXG4gIHJldHVybiBmb3JtYXQgPyBgJHtsYWJlbH0gKCR7Zm9ybWF0fSlgIDogbGFiZWxcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldExheWVycyh1cmw6IHN0cmluZywgc2VydmljZVByb3RvY29sOiBTZXJ2aWNlUHJvdG9jb2wpIHtcbiAgc3dpdGNoIChzZXJ2aWNlUHJvdG9jb2wpIHtcbiAgICBjYXNlICdvZ2NGZWF0dXJlcyc6IHtcbiAgICAgIGNvbnN0IGxheWVycyA9IGF3YWl0IG5ldyBPZ2NBcGlFbmRwb2ludCh1cmwpLmFsbENvbGxlY3Rpb25zXG4gICAgICByZXR1cm4gbGF5ZXJzXG4gICAgfVxuICAgIGNhc2UgJ3dmcyc6IHtcbiAgICAgIGNvbnN0IGVuZHBvaW50V2ZzID0gYXdhaXQgbmV3IFdmc0VuZHBvaW50KHVybCkuaXNSZWFkeSgpXG4gICAgICBjb25zdCBmZWF0dXJlVHlwZXMgPSBhd2FpdCBlbmRwb2ludFdmcy5nZXRGZWF0dXJlVHlwZXMoKVxuICAgICAgY29uc3QgbGF5ZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIGZlYXR1cmVUeXBlcy5tYXAoYXN5bmMgKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgICByZXR1cm4gYXdhaXQgZW5kcG9pbnRXZnMuZ2V0RmVhdHVyZVR5cGVGdWxsKGNvbGxlY3Rpb24ubmFtZSlcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIHJldHVybiBsYXllcnNcbiAgICB9XG4gICAgY2FzZSAnd21zJzoge1xuICAgICAgY29uc3QgZW5kcG9pbnRXbXMgPSBhd2FpdCBuZXcgV21zRW5kcG9pbnQodXJsKS5pc1JlYWR5KClcbiAgICAgIGNvbnN0IGxheWVycyA9IChcbiAgICAgICAgYXdhaXQgZW5kcG9pbnRXbXNcbiAgICAgICAgICAuZ2V0TGF5ZXJzKClcbiAgICAgICAgICAuZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXG4gICAgICAgICAgLmZpbHRlcigobCkgPT4gbC5uYW1lKVxuICAgICAgKS5tYXAoKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIGVuZHBvaW50V21zLmdldExheWVyQnlOYW1lKGNvbGxlY3Rpb24ubmFtZSlcbiAgICAgIH0pXG4gICAgICByZXR1cm4gbGF5ZXJzXG4gICAgfVxuICAgIGNhc2UgJ3dtdHMnOiB7XG4gICAgICBjb25zdCBlbmRwb2ludFdtdHMgPSBhd2FpdCBuZXcgV210c0VuZHBvaW50KHVybCkuaXNSZWFkeSgpXG4gICAgICByZXR1cm4gZW5kcG9pbnRXbXRzLmdldExheWVycygpXG4gICAgfVxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdtc0xheWVyRmxhdHRlbihsYXllckZ1bGwpIHtcbiAgY29uc3QgbGF5ZXIgPSB7XG4gICAgdGl0bGU6IGxheWVyRnVsbC50aXRsZSxcbiAgICBuYW1lOiBsYXllckZ1bGwubmFtZSxcbiAgICBhYnN0cmFjdDogbGF5ZXJGdWxsLmFic3RyYWN0LFxuICB9XG5cbiAgcmV0dXJuICdjaGlsZHJlbicgaW4gbGF5ZXJGdWxsICYmIEFycmF5LmlzQXJyYXkobGF5ZXJGdWxsLmNoaWxkcmVuKVxuICAgID8gW2xheWVyLCAuLi5sYXllckZ1bGwuY2hpbGRyZW4uZmxhdE1hcCh3bXNMYXllckZsYXR0ZW4pXVxuICAgIDogW2xheWVyXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWltZVR5cGVGb3JGb3JtYXQoZm9ybWF0OiBGaWxlRm9ybWF0KTogc3RyaW5nIHwgbnVsbCB7XG4gIHJldHVybiBmb3JtYXQgaW4gRk9STUFUUyA/IEZPUk1BVFNbZm9ybWF0LnRvTG93ZXJDYXNlKCldLm1pbWVUeXBlc1swXSA6IG51bGxcbn1cbiJdfQ==
@@ -522,6 +522,7 @@
522
522
  "record.metadata.usage": "Nutzung und Einschränkungen",
523
523
  "record.metadata.userFeedbacks": "",
524
524
  "record.metadata.userFeedbacks.anonymousUser": "",
525
+ "record.metadata.userFeedbacks.authDisabled": "",
525
526
  "record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
526
527
  "record.metadata.userFeedbacks.newAnswer.placeholder": "",
527
528
  "record.metadata.userFeedbacks.newComment.placeholder": "",
@@ -522,6 +522,7 @@
522
522
  "record.metadata.usage": "License and Conditions",
523
523
  "record.metadata.userFeedbacks": "Questions / Answers",
524
524
  "record.metadata.userFeedbacks.anonymousUser": "In order to leave a comment, please log in.",
525
+ "record.metadata.userFeedbacks.authDisabled": "User comments are disabled.",
525
526
  "record.metadata.userFeedbacks.newAnswer.buttonTitle": "Publish",
526
527
  "record.metadata.userFeedbacks.newAnswer.placeholder": "Answer...",
527
528
  "record.metadata.userFeedbacks.newComment.placeholder": "Write your comment here...",