ontimize-web-ngx 15.1.3 → 15.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/esm2020/lib/components/input/date-input/o-date-input.component.mjs +3 -3
  2. package/esm2020/lib/components/input/email-input/o-email-input.component.mjs +3 -3
  3. package/esm2020/lib/components/input/integer-input/o-integer-input.component.mjs +3 -3
  4. package/esm2020/lib/components/input/nif-input/o-nif-input.component.mjs +3 -3
  5. package/esm2020/lib/components/input/text-input/o-text-input.component.mjs +28 -8
  6. package/esm2020/lib/components/input/textarea-input/o-textarea-input.component.mjs +3 -3
  7. package/esm2020/lib/components/table/extensions/skeleton/o-table-skeleton.component.mjs +4 -1
  8. package/esm2020/lib/config/o-providers.mjs +3 -2
  9. package/esm2020/lib/i18n/i18n.mjs +3 -3
  10. package/esm2020/lib/interfaces/index.mjs +2 -1
  11. package/esm2020/lib/interfaces/local-service.interface.mjs +2 -0
  12. package/esm2020/lib/services/factories.mjs +9 -1
  13. package/esm2020/lib/services/local-storage.service.mjs +6 -6
  14. package/esm2020/lib/services/ontimize-export-data-base-provider.service.mjs +42 -16
  15. package/esm2020/lib/types/o-inputs-options.type.mjs +1 -1
  16. package/fesm2015/ontimize-web-ngx.mjs +93 -36
  17. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  18. package/fesm2020/ontimize-web-ngx.mjs +92 -36
  19. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  20. package/lib/components/input/date-input/o-date-input.component.d.ts +2 -2
  21. package/lib/components/input/integer-input/o-integer-input.component.d.ts +2 -2
  22. package/lib/components/input/text-input/o-text-input.component.d.ts +11 -5
  23. package/lib/components/table/extensions/skeleton/o-table-skeleton.component.d.ts +1 -1
  24. package/lib/interfaces/index.d.ts +1 -0
  25. package/lib/interfaces/local-service.interface.d.ts +15 -0
  26. package/lib/services/factories.d.ts +9 -0
  27. package/lib/services/local-storage.service.d.ts +3 -1
  28. package/lib/services/ontimize-export-data-base-provider.service.d.ts +3 -0
  29. package/lib/types/o-inputs-options.type.d.ts +1 -0
  30. package/package.json +1 -1
@@ -13,9 +13,11 @@ import { OntimizeService } from './ontimize/ontimize.service';
13
13
  import { OntimizeEEPermissionsService } from './permissions/ontimize-ee-permissions.service';
14
14
  import { OntimizePermissionsService } from './permissions/ontimize-permissions.service';
15
15
  import { AbstractComponentStateService, DefaultComponentStateService } from './state/o-component-state.service';
16
+ import { LocalStorageService } from './local-storage.service';
16
17
  export const O_DATA_SERVICE = new InjectionToken('Ontimize data service');
17
18
  export const O_TRANSLATE_SERVICE = new InjectionToken('Translate service');
18
19
  export const O_FILE_SERVICE = new InjectionToken('File uploader service');
20
+ export const O_LOCALSTORAGE_SERVICE = new InjectionToken('Local storage service');
19
21
  export const O_EXPORT_SERVICE = new InjectionToken('Export service');
20
22
  export const O_PERMISSION_SERVICE = new InjectionToken('Permission service');
21
23
  export const O_AUTH_SERVICE = new InjectionToken('Authentication service');
@@ -46,6 +48,11 @@ export function fileServiceFactory(injector) {
46
48
  const service = Util.createServiceInstance(serviceClass, injector);
47
49
  return Util.isDefined(service) ? service : new OntimizeFileService(injector);
48
50
  }
51
+ export function localStorageServiceFactory(injector) {
52
+ const serviceClass = _getInjectionTokenValue(O_LOCALSTORAGE_SERVICE, injector);
53
+ const service = Util.createServiceInstance(serviceClass, injector);
54
+ return Util.isDefined(service) ? service : new LocalStorageService(injector);
55
+ }
49
56
  export function exportServiceFactory(injector) {
50
57
  const serviceClass = _getInjectionTokenValue(O_EXPORT_SERVICE, injector);
51
58
  const service = Util.createServiceInstance(serviceClass, injector);
@@ -108,6 +115,7 @@ export const OntimizeExportServiceProvider = { provide: OntimizeExportService, u
108
115
  export const OntimizeAuthServiceProvider = { provide: AuthService, useFactory: authServiceFactory, deps: [Injector] };
109
116
  export const ComponentStateServiceProvider = { provide: AbstractComponentStateService, useFactory: componentStateFactory, deps: [Injector] };
110
117
  export const ExportDataServiceProvider = { provide: OntimizeExportDataProviderService, useFactory: exportDataFactory, deps: [Injector] };
118
+ export const OntimizeLocalStorageServiceProvider = { provide: LocalStorageService, useFactory: localStorageServiceFactory, deps: [Injector] };
111
119
  export function _getInjectionTokenValue(token, injector) {
112
120
  let service;
113
121
  try {
@@ -117,4 +125,4 @@ export function _getInjectionTokenValue(token, injector) {
117
125
  }
118
126
  return service;
119
127
  }
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL2ZhY3Rvcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFRakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBU2hILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFD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QUFDO0lBQ2YsSUFBSTtRQUNGLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQy9CO0lBQUMsT0FBTyxDQUFDLEVBQUU7S0FFWDtJQUNELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQXBwQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL2FwcC1jb25maWcnO1xuaW1wb3J0IHsgSUNoYXJ0T25EZW1hbmRTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jaGFydC1vbi1kZW1hbmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElFeHBvcnREYXRhUHJvdmlkZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4cG9ydC1kYXRhLXByb3ZpZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRXhwb3J0U2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXhwb3J0LXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWxlU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZmlsZS1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wZXJtaXNzaW9ucy1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJUmVwb3J0U2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcmVwb3J0LW9uLWRlbWFuZC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPTWF0RXJyb3JPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMvby1tYXQtZXJyb3IudHlwZSc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgT250aW1pemVBdXRoU2VydmljZSB9IGZyb20gJy4vby1hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgT0Vycm9yRGlhbG9nTWFuYWdlciB9IGZyb20gJy4vby1lcnJvci1kaWFsb2ctbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplRXhwb3J0RGF0YVByb3ZpZGVyU2VydmljZTNYIH0gZnJvbSAnLi9vbnRpbWl6ZS1leHBvcnQtZGF0YS1wcm92aWRlci0zeC5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplRXhwb3J0RGF0YVByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vb250aW1pemUtZXhwb3J0LWRhdGEtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZUVFU2VydmljZSB9IGZyb20gJy4vb250aW1pemUvb250aW1pemUtZWUuc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZUV4cG9ydFNlcnZpY2UzWCB9IGZyb20gJy4vb250aW1pemUvb250aW1pemUtZXhwb3J0LTN4eC5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplRXhwb3J0U2VydmljZSB9IGZyb20gJy4vb250aW1pemUvb250aW1pemUtZXhwb3J0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT250aW1pemVGaWxlU2VydmljZSB9IGZyb20gJy4vb250aW1pemUvb250aW1pemUtZmlsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplU2VydmljZSB9IGZyb20gJy4vb250aW1pemUvb250aW1pemUuc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZUVFUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9wZXJtaXNzaW9ucy9vbnRpbWl6ZS1lZS1wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9wZXJtaXNzaW9ucy9vbnRpbWl6ZS1wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0Q29tcG9uZW50U3RhdGVTZXJ2aWNlLCBEZWZhdWx0Q29tcG9uZW50U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9zdGF0ZS9vLWNvbXBvbmVudC1zdGF0ZS5zZXJ2aWNlJztcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSU5KRUNUSU9OIFRPS0VOUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIGRhdGEgc2VydmljZSBgT250aW1pemVTZXJ2aWNlYCBvciBgT250aW1pemVFRVNlcnZpY2VgLlxuICovXG5leHBvcnQgY29uc3QgT19EQVRBX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ09udGltaXplIGRhdGEgc2VydmljZScpO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIHRyYW5zbGF0ZSBzZXJ2aWNlIGBPVHJhbnNsYXRlU2VydmljZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBPX1RSQU5TTEFURV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuKCdUcmFuc2xhdGUgc2VydmljZScpO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIGZpbGUgc2VydmljZSBgT250aW1pemVGaWxlU2VydmljZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBPX0ZJTEVfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJRmlsZVNlcnZpY2U+KCdGaWxlIHVwbG9hZGVyIHNlcnZpY2UnKTtcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byByZXBsYWNlIHRoZSBleHBvcnRhdGlvbiBzZXJ2aWNlIGBPbnRpbWl6ZUV4cG9ydFNlcnZpY2VgLlxuICovXG5leHBvcnQgY29uc3QgT19FWFBPUlRfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJRXhwb3J0U2VydmljZT4oJ0V4cG9ydCBzZXJ2aWNlJyk7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVwbGFjZSB0aGUgcGVybWlzc2lvbiBzZXJ2aWNlIGBPbnRpbWl6ZVBlcm1pc3Npb25zU2VydmljZSBvciBPbnRpbWl6ZUVFUGVybWlzc2lvbnNTZXJ2aWNlYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE9fUEVSTUlTU0lPTl9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElQZXJtaXNzaW9uc1NlcnZpY2U+KCdQZXJtaXNzaW9uIHNlcnZpY2UnKTtcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byByZXBsYWNlIHRoZSBhdXRoZW50aWNhdGlvbiBzZXJ2aWNlIGBBdXRoU2VydmljZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBPX0FVVEhfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBdXRoU2VydmljZT4oJ0F1dGhlbnRpY2F0aW9uIHNlcnZpY2UnKTtcblxuLyoqXG4qIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIGNvbXBvbmVudCBzdGF0ZSBzZXJ2aWNlIGBEZWZhdWx0Q29tcG9uZW50U3RhdGVTZXJ2aWNlYC5cbiovXG5leHBvcnQgY29uc3QgT19DT01QT05FTlRfU1RBVEVfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEZWZhdWx0Q29tcG9uZW50U3RhdGVTZXJ2aWNlPignQ29tcG9uZW50IHN0YXRlIHNlcnZpY2UnKTtcblxuXG4vKipcbiogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVwbGFjZSB0aGUgY29tcG9uZW50IHN0YXRlIHNlcnZpY2UgYERlZmF1bHRDb21wb25lbnRTdGF0ZVNlcnZpY2VgLlxuKi9cbmV4cG9ydCBjb25zdCBPX0NIQVJUX09OX0RFTUFORF9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElDaGFydE9uRGVtYW5kU2VydmljZT4oJ0NoYXJ0IG9uIGRlbWFuZCBzZXJ2aWNlJyk7XG5cbmV4cG9ydCBjb25zdCBPX1JFUE9SVF9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElSZXBvcnRTZXJ2aWNlPignUmVwb3J0IHNlcnZpY2UnKTtcblxuZXhwb3J0IGNvbnN0IE9fRVJST1JfRElBTE9HX01BTkFHRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48T0Vycm9yRGlhbG9nTWFuYWdlcj4oJ0Vycm9yIGRpYWxvZyBtYW5hZ2VyJyk7XG5cbmV4cG9ydCBjb25zdCBPX0VYUE9SVF9EQVRBX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SUV4cG9ydERhdGFQcm92aWRlcj4oJ0V4cG9ydCBkYXRhIHByb3ZpZGVyJyk7XG5cbmV4cG9ydCBjb25zdCBPX01BVF9FUlJPUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE9NYXRFcnJvck9wdGlvbnM+KCdvLW1hdC1lcnJvci1vcHRpb25zJyk7XG5cbmV4cG9ydCBjb25zdCBPX0ZPUk1fTUVTU0FHRV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuKCdPbnRpbWl6ZSBvLWZvcm0gbWVzc2FnZSBzZXJ2aWNlJyk7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGQUNUT1JJRVMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBkYXRhIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYXRhU2VydmljZUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogYW55IHtcbiAgY29uc3Qgc2VydmljZUNsYXNzID0gX2dldEluamVjdGlvblRva2VuVmFsdWUoT19EQVRBX1NFUlZJQ0UsIGluamVjdG9yKTtcbiAgY29uc3Qgc2VydmljZSA9IFV0aWwuY3JlYXRlU2VydmljZUluc3RhbmNlKHNlcnZpY2VDbGFzcywgaW5qZWN0b3IpO1xuICBpZiAoVXRpbC5pc0RlZmluZWQoc2VydmljZSkpIHtcbiAgICByZXR1cm4gc2VydmljZTtcbiAgfVxuICBjb25zdCBjb25maWcgPSBpbmplY3Rvci5nZXQoQXBwQ29uZmlnKS5nZXRDb25maWd1cmF0aW9uKCk7XG4gIGlmICghVXRpbC5pc0RlZmluZWQoY29uZmlnLnNlcnZpY2VUeXBlKSB8fCAnT250aW1pemVFRScgPT09IGNvbmZpZy5zZXJ2aWNlVHlwZSkge1xuICAgIHJldHVybiBuZXcgT250aW1pemVFRVNlcnZpY2UoaW5qZWN0b3IpO1xuICB9IGVsc2UgaWYgKCdPbnRpbWl6ZScgPT09IGNvbmZpZy5zZXJ2aWNlVHlwZSkge1xuICAgIHJldHVybiBuZXcgT250aW1pemVTZXJ2aWNlKGluamVjdG9yKTtcbiAgfVxuICByZXR1cm4gVXRpbC5jcmVhdGVTZXJ2aWNlSW5zdGFuY2UoY29uZmlnLnNlcnZpY2VUeXBlLCBpbmplY3Rvcik7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgZmlsZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlsZVNlcnZpY2VGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IElGaWxlU2VydmljZSB7XG4gIGNvbnN0IHNlcnZpY2VDbGFzcyA9IF9nZXRJbmplY3Rpb25Ub2tlblZhbHVlKE9fRklMRV9TRVJWSUNFLCBpbmplY3Rvcik7XG4gIGNvbnN0IHNlcnZpY2UgPSBVdGlsLmNyZWF0ZVNlcnZpY2VJbnN0YW5jZShzZXJ2aWNlQ2xhc3MsIGluamVjdG9yKTtcbiAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHNlcnZpY2UpID8gc2VydmljZSA6IG5ldyBPbnRpbWl6ZUZpbGVTZXJ2aWNlKGluamVjdG9yKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBleHBvcnRhdGlvbiBzZXJ2aWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0U2VydmljZUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogSUV4cG9ydFNlcnZpY2Uge1xuICBjb25zdCBzZXJ2aWNlQ2xhc3MgPSBfZ2V0SW5qZWN0aW9uVG9rZW5WYWx1ZShPX0VYUE9SVF9TRVJWSUNFLCBpbmplY3Rvcik7XG4gIGNvbnN0IHNlcnZpY2UgPSBVdGlsLmNyZWF0ZVNlcnZpY2VJbnN0YW5jZShzZXJ2aWNlQ2xhc3MsIGluamVjdG9yKTtcbiAgaWYgKFV0aWwuaXNEZWZpbmVkKHNlcnZpY2UpKSB7XG4gICAgcmV0dXJuIHNlcnZpY2U7XG4gIH1cbiAgY29uc3QgY29uZmlnID0gaW5qZWN0b3IuZ2V0KEFwcENvbmZpZykuZ2V0Q29uZmlndXJhdGlvbigpO1xuXG4gIGlmICh0eXBlb2YgKGNvbmZpZy5leHBvcnRTZXJ2aWNlVHlwZSkgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgaWYgKGNvbmZpZy5leHBvcnRDb25maWd1cmF0aW9uKSB7XG4gICAgICByZXR1cm4gbmV3IE9udGltaXplRXhwb3J0U2VydmljZTNYKGluamVjdG9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBPbnRpbWl6ZUV4cG9ydFNlcnZpY2UoaW5qZWN0b3IpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gVXRpbC5jcmVhdGVTZXJ2aWNlSW5zdGFuY2UoY29uZmlnLmV4cG9ydFNlcnZpY2VUeXBlLCBpbmplY3Rvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBleHBvcnREYXRhRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBJRXhwb3J0RGF0YVByb3ZpZGVyIHtcbiAgY29uc3QgcHJvdmlkZXIgPSBfZ2V0SW5qZWN0aW9uVG9rZW5WYWx1ZShPX0VYUE9SVF9EQVRBX1NFUlZJQ0UsIGluamVjdG9yKTtcbiAgY29uc3Qgc2VydmljZSA9IFV0aWwuY3JlYXRlU2VydmljZUluc3RhbmNlKHByb3ZpZGVyLCBpbmplY3Rvcik7XG4gIGlmIChVdGlsLmlzRGVmaW5lZChzZXJ2aWNlKSkge1xuICAgIHJldHVybiBzZXJ2aWNlO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGNvbmZpZyA9IGluamVjdG9yLmdldChBcHBDb25maWcpLmdldENvbmZpZ3VyYXRpb24oKTtcbiAgICBpZiAodHlwZW9mIChjb25maWcuZXhwb3J0Q29uZmlndXJhdGlvbikgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gbmV3IE9udGltaXplRXhwb3J0RGF0YVByb3ZpZGVyU2VydmljZShpbmplY3Rvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgT250aW1pemVFeHBvcnREYXRhUHJvdmlkZXJTZXJ2aWNlM1goaW5qZWN0b3IpO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgcGVybWlzc2lvbiBzZXJ2aWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGVybWlzc2lvbnNTZXJ2aWNlRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBJUGVybWlzc2lvbnNTZXJ2aWNlIHtcbiAgY29uc3Qgc2VydmljZUNsYXNzID0gX2dldEluamVjdGlvblRva2VuVmFsdWUoT19QRVJNSVNTSU9OX1NFUlZJQ0UsIGluamVjdG9yKTtcbiAgY29uc3Qgc2VydmljZSA9IFV0aWwuY3JlYXRlU2VydmljZUluc3RhbmNlKHNlcnZpY2VDbGFzcywgaW5qZWN0b3IpO1xuICBpZiAoVXRpbC5pc0RlZmluZWQoc2VydmljZSkpIHtcbiAgICByZXR1cm4gc2VydmljZTtcbiAgfVxuICBjb25zdCBjb25maWcgPSBpbmplY3Rvci5nZXQoQXBwQ29uZmlnKS5nZXRDb25maWd1cmF0aW9uKCk7XG5cbiAgaWYgKCFVdGlsLmlzRGVmaW5lZChjb25maWcucGVybWlzc2lvbnNTZXJ2aWNlVHlwZSkgfHwgJ09udGltaXplRUVQZXJtaXNzaW9ucycgPT09IGNvbmZpZy5wZXJtaXNzaW9uc1NlcnZpY2VUeXBlKSB7XG4gICAgcmV0dXJuIG5ldyBPbnRpbWl6ZUVFUGVybWlzc2lvbnNTZXJ2aWNlKGluamVjdG9yKTtcbiAgfSBlbHNlIGlmICgnT250aW1pemVQZXJtaXNzaW9ucycgPT09IGNvbmZpZy5wZXJtaXNzaW9uc1NlcnZpY2VUeXBlKSB7XG4gICAgcmV0dXJuIG5ldyBPbnRpbWl6ZVBlcm1pc3Npb25zU2VydmljZShpbmplY3Rvcik7XG4gIH1cbiAgcmV0dXJuIFV0aWwuY3JlYXRlU2VydmljZUluc3RhbmNlKGNvbmZpZy5wZXJtaXNzaW9uc1NlcnZpY2VUeXBlLCBpbmplY3Rvcik7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgYXV0aGVudGljYXRpb24gc2VydmljZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1dGhTZXJ2aWNlRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBBdXRoU2VydmljZSB7XG4gIGNvbnN0IHNlcnZpY2VDbGFzcyA9IF9nZXRJbmplY3Rpb25Ub2tlblZhbHVlKE9fQVVUSF9TRVJWSUNFLCBpbmplY3Rvcik7XG4gIGNvbnN0IHNlcnZpY2UgPSBVdGlsLmNyZWF0ZVNlcnZpY2VJbnN0YW5jZShzZXJ2aWNlQ2xhc3MsIGluamVjdG9yKTtcbiAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHNlcnZpY2UpID8gc2VydmljZSA6IG5ldyBPbnRpbWl6ZUF1dGhTZXJ2aWNlKGluamVjdG9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvbmVudFN0YXRlRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBBYnN0cmFjdENvbXBvbmVudFN0YXRlU2VydmljZTxhbnksIGFueT4ge1xuICBjb25zdCBzZXJ2aWNlID0gX2dldEluamVjdGlvblRva2VuVmFsdWUoT19DT01QT05FTlRfU1RBVEVfU0VSVklDRSwgaW5qZWN0b3IpO1xuICByZXR1cm4gVXRpbC5pc0RlZmluZWQoc2VydmljZSkgPyBzZXJ2aWNlIDogbmV3IERlZmF1bHRDb21wb25lbnRTdGF0ZVNlcnZpY2UoaW5qZWN0b3IpO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQUk9WSURFUlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVc2luZyB0aGUgc2FtZSBwcm92aWRlciBtdWx0aXBsZSB0aW1lcyBhY2Nyb3NzIHRoZSBwcm9qZWN0IHByb2R1Y2VzIG5hbWVzcGFjZXMgY29uZmxpY3RzIHdoZW5cbiAqIGJ1aWxkaW5nIHdpdGggbmctcGFja2Fnciwgc28gd2UgcmV1c2VkIHRoZSBwcm92aWRlcnMgZGVmaW5lZCBoZXJlLlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5leHBvcnQgY29uc3QgT250aW1pemVTZXJ2aWNlUHJvdmlkZXIgPSB7IHByb3ZpZGU6IE9udGltaXplU2VydmljZSwgdXNlRmFjdG9yeTogZGF0YVNlcnZpY2VGYWN0b3J5LCBkZXBzOiBbSW5qZWN0b3JdIH07XG5cbmV4cG9ydCBjb25zdCBPbnRpbWl6ZUV4cG9ydFNlcnZpY2VQcm92aWRlciA9IHsgcHJvdmlkZTogT250aW1pemVFeHBvcnRTZXJ2aWNlLCB1c2VGYWN0b3J5OiBleHBvcnRTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0luamVjdG9yXSB9O1xuXG5leHBvcnQgY29uc3QgT250aW1pemVBdXRoU2VydmljZVByb3ZpZGVyID0geyBwcm92aWRlOiBBdXRoU2VydmljZSwgdXNlRmFjdG9yeTogYXV0aFNlcnZpY2VGYWN0b3J5LCBkZXBzOiBbSW5qZWN0b3JdIH07XG5cbmV4cG9ydCBjb25zdCBDb21wb25lbnRTdGF0ZVNlcnZpY2VQcm92aWRlciA9IHsgcHJvdmlkZTogQWJzdHJhY3RDb21wb25lbnRTdGF0ZVNlcnZpY2UsIHVzZUZhY3Rvcnk6IGNvbXBvbmVudFN0YXRlRmFjdG9yeSwgZGVwczogW0luamVjdG9yXSB9O1xuXG5leHBvcnQgY29uc3QgRXhwb3J0RGF0YVNlcnZpY2VQcm92aWRlciA9IHsgcHJvdmlkZTogT250aW1pemVFeHBvcnREYXRhUHJvdmlkZXJTZXJ2aWNlLCB1c2VGYWN0b3J5OiBleHBvcnREYXRhRmFjdG9yeSwgZGVwczogW0luamVjdG9yXSB9O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBVdGlsaXR5IG1ldGhvZHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qKlxuICogUmV0dXJucyB0aGUgdmFsdWUgZm9yIHRoZSBwcm92aWRlZCBpbmplY3Rpb24gdG9rZW5cbiAqIEBwYXJhbSB0b2tlbiB0aGUgaW5qZWN0aW9uIHRva2VuXG4gKiBAcGFyYW0gaW5qZWN0b3IgdGhlIGluamVjdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBfZ2V0SW5qZWN0aW9uVG9rZW5WYWx1ZTxUPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VD4sIGluamVjdG9yOiBJbmplY3Rvcik6IFQge1xuICBsZXQgc2VydmljZTogVDtcbiAgdHJ5IHtcbiAgICBzZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KHRva2VuKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIE5vIHZhbHVlIHByb3ZpZGVkIGZvciB0aGUgaW5qZWN0aW9uIHRva2VuXG4gIH1cbiAgcmV0dXJuIHNlcnZpY2U7XG59XG5cblxuIl19
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL2ZhY3Rvcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFRakQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkQsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQzdGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBVTlELE1BQU0sQ0FBQyxN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LDJCQUEyQixHQUFHLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUV0SCxNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxVQUFVLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUU3SSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxFQUFFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUV6SSxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsMEJBQTBCLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQVU5SSxNQUFNLFVBQVUsdUJBQXVCLENBQUksS0FBd0IsRUFBRSxRQUFrQjtJQUNyRixJQUFJLE9BQVUsQ0FBQztJQUNmLElBQUk7UUFDRixPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUMvQjtJQUFDLE9BQU8sQ0FBQyxFQUFFO0tBRVg7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IElDaGFydE9uRGVtYW5kU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvY2hhcnQtb24tZGVtYW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRXhwb3J0RGF0YVByb3ZpZGVyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHBvcnQtZGF0YS1wcm92aWRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUV4cG9ydFNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4cG9ydC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsZVNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ZpbGUtc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvcGVybWlzc2lvbnMtc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSVJlcG9ydFNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3JlcG9ydC1vbi1kZW1hbmQtc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgT01hdEVycm9yT3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzL28tbWF0LWVycm9yLnR5cGUnO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gJy4uL3V0aWwvdXRpbCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplQXV0aFNlcnZpY2UgfSBmcm9tICcuL28tYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IE9FcnJvckRpYWxvZ01hbmFnZXIgfSBmcm9tICcuL28tZXJyb3ItZGlhbG9nLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZUV4cG9ydERhdGFQcm92aWRlclNlcnZpY2UzWCB9IGZyb20gJy4vb250aW1pemUtZXhwb3J0LWRhdGEtcHJvdmlkZXItM3guc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZUV4cG9ydERhdGFQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL29udGltaXplLWV4cG9ydC1kYXRhLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgT250aW1pemVFRVNlcnZpY2UgfSBmcm9tICcuL29udGltaXplL29udGltaXplLWVlLnNlcnZpY2UnO1xuaW1wb3J0IHsgT250aW1pemVFeHBvcnRTZXJ2aWNlM1ggfSBmcm9tICcuL29udGltaXplL29udGltaXplLWV4cG9ydC0zeHguc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZUV4cG9ydFNlcnZpY2UgfSBmcm9tICcuL29udGltaXplL29udGltaXplLWV4cG9ydC5zZXJ2aWNlJztcbmltcG9ydCB7IE9udGltaXplRmlsZVNlcnZpY2UgfSBmcm9tICcuL29udGltaXplL29udGltaXplLWZpbGUuc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZVNlcnZpY2UgfSBmcm9tICcuL29udGltaXplL29udGltaXplLnNlcnZpY2UnO1xuaW1wb3J0IHsgT250aW1pemVFRVBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbnMvb250aW1pemUtZWUtcGVybWlzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBPbnRpbWl6ZVBlcm1pc3Npb25zU2VydmljZSB9IGZyb20gJy4vcGVybWlzc2lvbnMvb250aW1pemUtcGVybWlzc2lvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudFN0YXRlU2VydmljZSwgRGVmYXVsdENvbXBvbmVudFN0YXRlU2VydmljZSB9IGZyb20gJy4vc3RhdGUvby1jb21wb25lbnQtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUxvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2xvY2FsLXNlcnZpY2UuaW50ZXJmYWNlJztcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSU5KRUNUSU9OIFRPS0VOUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIGRhdGEgc2VydmljZSBgT250aW1pemVTZXJ2aWNlYCBvciBgT250aW1pemVFRVNlcnZpY2VgLlxuICovXG5leHBvcnQgY29uc3QgT19EQVRBX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ09udGltaXplIGRhdGEgc2VydmljZScpO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIHRyYW5zbGF0ZSBzZXJ2aWNlIGBPVHJhbnNsYXRlU2VydmljZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBPX1RSQU5TTEFURV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuKCdUcmFuc2xhdGUgc2VydmljZScpO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIGZpbGUgc2VydmljZSBgT250aW1pemVGaWxlU2VydmljZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBPX0ZJTEVfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJRmlsZVNlcnZpY2U+KCdGaWxlIHVwbG9hZGVyIHNlcnZpY2UnKTtcblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byByZXBsYWNlIHRoZSBsb2NhbHN0b3JhZ2Ugc2VydmljZSBgTG9jYWxTdG9yYWdlU2VydmljZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBPX0xPQ0FMU1RPUkFHRV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElMb2NhbFN0b3JhZ2VTZXJ2aWNlPignTG9jYWwgc3RvcmFnZSBzZXJ2aWNlJyk7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVwbGFjZSB0aGUgZXhwb3J0YXRpb24gc2VydmljZSBgT250aW1pemVFeHBvcnRTZXJ2aWNlYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE9fRVhQT1JUX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48SUV4cG9ydFNlcnZpY2U+KCdFeHBvcnQgc2VydmljZScpO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIHBlcm1pc3Npb24gc2VydmljZSBgT250aW1pemVQZXJtaXNzaW9uc1NlcnZpY2Ugb3IgT250aW1pemVFRVBlcm1pc3Npb25zU2VydmljZWAuXG4gKi9cbmV4cG9ydCBjb25zdCBPX1BFUk1JU1NJT05fU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJUGVybWlzc2lvbnNTZXJ2aWNlPignUGVybWlzc2lvbiBzZXJ2aWNlJyk7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHRoYXQgY2FuIGJlIHVzZWQgdG8gcmVwbGFjZSB0aGUgYXV0aGVudGljYXRpb24gc2VydmljZSBgQXV0aFNlcnZpY2VgLlxuICovXG5leHBvcnQgY29uc3QgT19BVVRIX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXV0aFNlcnZpY2U+KCdBdXRoZW50aWNhdGlvbiBzZXJ2aWNlJyk7XG5cbi8qKlxuKiBJbmplY3Rpb24gdG9rZW4gdGhhdCBjYW4gYmUgdXNlZCB0byByZXBsYWNlIHRoZSBjb21wb25lbnQgc3RhdGUgc2VydmljZSBgRGVmYXVsdENvbXBvbmVudFN0YXRlU2VydmljZWAuXG4qL1xuZXhwb3J0IGNvbnN0IE9fQ09NUE9ORU5UX1NUQVRFX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGVmYXVsdENvbXBvbmVudFN0YXRlU2VydmljZT4oJ0NvbXBvbmVudCBzdGF0ZSBzZXJ2aWNlJyk7XG5cblxuLyoqXG4qIEluamVjdGlvbiB0b2tlbiB0aGF0IGNhbiBiZSB1c2VkIHRvIHJlcGxhY2UgdGhlIGNvbXBvbmVudCBzdGF0ZSBzZXJ2aWNlIGBEZWZhdWx0Q29tcG9uZW50U3RhdGVTZXJ2aWNlYC5cbiovXG5leHBvcnQgY29uc3QgT19DSEFSVF9PTl9ERU1BTkRfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQ2hhcnRPbkRlbWFuZFNlcnZpY2U+KCdDaGFydCBvbiBkZW1hbmQgc2VydmljZScpO1xuXG5leHBvcnQgY29uc3QgT19SRVBPUlRfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJUmVwb3J0U2VydmljZT4oJ1JlcG9ydCBzZXJ2aWNlJyk7XG5cbmV4cG9ydCBjb25zdCBPX0VSUk9SX0RJQUxPR19NQU5BR0VSID0gbmV3IEluamVjdGlvblRva2VuPE9FcnJvckRpYWxvZ01hbmFnZXI+KCdFcnJvciBkaWFsb2cgbWFuYWdlcicpO1xuXG5leHBvcnQgY29uc3QgT19FWFBPUlRfREFUQV9TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPElFeHBvcnREYXRhUHJvdmlkZXI+KCdFeHBvcnQgZGF0YSBwcm92aWRlcicpO1xuXG5leHBvcnQgY29uc3QgT19NQVRfRVJST1JfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPTWF0RXJyb3JPcHRpb25zPignby1tYXQtZXJyb3Itb3B0aW9ucycpO1xuXG5leHBvcnQgY29uc3QgT19GT1JNX01FU1NBR0VfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbignT250aW1pemUgby1mb3JtIG1lc3NhZ2Ugc2VydmljZScpO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRkFDVE9SSUVTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgZGF0YSBzZXJ2aWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGF0YVNlcnZpY2VGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IGFueSB7XG4gIGNvbnN0IHNlcnZpY2VDbGFzcyA9IF9nZXRJbmplY3Rpb25Ub2tlblZhbHVlKE9fREFUQV9TRVJWSUNFLCBpbmplY3Rvcik7XG4gIGNvbnN0IHNlcnZpY2UgPSBVdGlsLmNyZWF0ZVNlcnZpY2VJbnN0YW5jZShzZXJ2aWNlQ2xhc3MsIGluamVjdG9yKTtcbiAgaWYgKFV0aWwuaXNEZWZpbmVkKHNlcnZpY2UpKSB7XG4gICAgcmV0dXJuIHNlcnZpY2U7XG4gIH1cbiAgY29uc3QgY29uZmlnID0gaW5qZWN0b3IuZ2V0KEFwcENvbmZpZykuZ2V0Q29uZmlndXJhdGlvbigpO1xuICBpZiAoIVV0aWwuaXNEZWZpbmVkKGNvbmZpZy5zZXJ2aWNlVHlwZSkgfHwgJ09udGltaXplRUUnID09PSBjb25maWcuc2VydmljZVR5cGUpIHtcbiAgICByZXR1cm4gbmV3IE9udGltaXplRUVTZXJ2aWNlKGluamVjdG9yKTtcbiAgfSBlbHNlIGlmICgnT250aW1pemUnID09PSBjb25maWcuc2VydmljZVR5cGUpIHtcbiAgICByZXR1cm4gbmV3IE9udGltaXplU2VydmljZShpbmplY3Rvcik7XG4gIH1cbiAgcmV0dXJuIFV0aWwuY3JlYXRlU2VydmljZUluc3RhbmNlKGNvbmZpZy5zZXJ2aWNlVHlwZSwgaW5qZWN0b3IpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGZpbGUgc2VydmljZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbGVTZXJ2aWNlRmFjdG9yeShpbmplY3RvcjogSW5qZWN0b3IpOiBJRmlsZVNlcnZpY2Uge1xuICBjb25zdCBzZXJ2aWNlQ2xhc3MgPSBfZ2V0SW5qZWN0aW9uVG9rZW5WYWx1ZShPX0ZJTEVfU0VSVklDRSwgaW5qZWN0b3IpO1xuICBjb25zdCBzZXJ2aWNlID0gVXRpbC5jcmVhdGVTZXJ2aWNlSW5zdGFuY2Uoc2VydmljZUNsYXNzLCBpbmplY3Rvcik7XG4gIHJldHVybiBVdGlsLmlzRGVmaW5lZChzZXJ2aWNlKSA/IHNlcnZpY2UgOiBuZXcgT250aW1pemVGaWxlU2VydmljZShpbmplY3Rvcik7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgbG9jYWwgc3RvcmFnZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxTdG9yYWdlU2VydmljZUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogSUxvY2FsU3RvcmFnZVNlcnZpY2Uge1xuICBjb25zdCBzZXJ2aWNlQ2xhc3MgPSBfZ2V0SW5qZWN0aW9uVG9rZW5WYWx1ZShPX0xPQ0FMU1RPUkFHRV9TRVJWSUNFLCBpbmplY3Rvcik7XG4gIGNvbnN0IHNlcnZpY2UgPSBVdGlsLmNyZWF0ZVNlcnZpY2VJbnN0YW5jZShzZXJ2aWNlQ2xhc3MsIGluamVjdG9yKTtcbiAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHNlcnZpY2UpID8gc2VydmljZSA6IG5ldyBMb2NhbFN0b3JhZ2VTZXJ2aWNlKGluamVjdG9yKTtcbn1cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgZXhwb3J0YXRpb24gc2VydmljZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cG9ydFNlcnZpY2VGYWN0b3J5KGluamVjdG9yOiBJbmplY3Rvcik6IElFeHBvcnRTZXJ2aWNlIHtcbiAgY29uc3Qgc2VydmljZUNsYXNzID0gX2dldEluamVjdGlvblRva2VuVmFsdWUoT19FWFBPUlRfU0VSVklDRSwgaW5qZWN0b3IpO1xuICBjb25zdCBzZXJ2aWNlID0gVXRpbC5jcmVhdGVTZXJ2aWNlSW5zdGFuY2Uoc2VydmljZUNsYXNzLCBpbmplY3Rvcik7XG4gIGlmIChVdGlsLmlzRGVmaW5lZChzZXJ2aWNlKSkge1xuICAgIHJldHVybiBzZXJ2aWNlO1xuICB9XG4gIGNvbnN0IGNvbmZpZyA9IGluamVjdG9yLmdldChBcHBDb25maWcpLmdldENvbmZpZ3VyYXRpb24oKTtcblxuICBpZiAodHlwZW9mIChjb25maWcuZXhwb3J0U2VydmljZVR5cGUpID09PSAndW5kZWZpbmVkJykge1xuICAgIGlmIChjb25maWcuZXhwb3J0Q29uZmlndXJhdGlvbikge1xuICAgICAgcmV0dXJuIG5ldyBPbnRpbWl6ZUV4cG9ydFNlcnZpY2UzWChpbmplY3Rvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBuZXcgT250aW1pemVFeHBvcnRTZXJ2aWNlKGluamVjdG9yKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFV0aWwuY3JlYXRlU2VydmljZUluc3RhbmNlKGNvbmZpZy5leHBvcnRTZXJ2aWNlVHlwZSwgaW5qZWN0b3IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXhwb3J0RGF0YUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogSUV4cG9ydERhdGFQcm92aWRlciB7XG4gIGNvbnN0IHByb3ZpZGVyID0gX2dldEluamVjdGlvblRva2VuVmFsdWUoT19FWFBPUlRfREFUQV9TRVJWSUNFLCBpbmplY3Rvcik7XG4gIGNvbnN0IHNlcnZpY2UgPSBVdGlsLmNyZWF0ZVNlcnZpY2VJbnN0YW5jZShwcm92aWRlciwgaW5qZWN0b3IpO1xuICBpZiAoVXRpbC5pc0RlZmluZWQoc2VydmljZSkpIHtcbiAgICByZXR1cm4gc2VydmljZTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBjb25maWcgPSBpbmplY3Rvci5nZXQoQXBwQ29uZmlnKS5nZXRDb25maWd1cmF0aW9uKCk7XG4gICAgaWYgKHR5cGVvZiAoY29uZmlnLmV4cG9ydENvbmZpZ3VyYXRpb24pID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIG5ldyBPbnRpbWl6ZUV4cG9ydERhdGFQcm92aWRlclNlcnZpY2UoaW5qZWN0b3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IE9udGltaXplRXhwb3J0RGF0YVByb3ZpZGVyU2VydmljZTNYKGluamVjdG9yKTtcbiAgICB9XG4gIH1cblxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIHBlcm1pc3Npb24gc2VydmljZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBlcm1pc3Npb25zU2VydmljZUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogSVBlcm1pc3Npb25zU2VydmljZSB7XG4gIGNvbnN0IHNlcnZpY2VDbGFzcyA9IF9nZXRJbmplY3Rpb25Ub2tlblZhbHVlKE9fUEVSTUlTU0lPTl9TRVJWSUNFLCBpbmplY3Rvcik7XG4gIGNvbnN0IHNlcnZpY2UgPSBVdGlsLmNyZWF0ZVNlcnZpY2VJbnN0YW5jZShzZXJ2aWNlQ2xhc3MsIGluamVjdG9yKTtcbiAgaWYgKFV0aWwuaXNEZWZpbmVkKHNlcnZpY2UpKSB7XG4gICAgcmV0dXJuIHNlcnZpY2U7XG4gIH1cbiAgY29uc3QgY29uZmlnID0gaW5qZWN0b3IuZ2V0KEFwcENvbmZpZykuZ2V0Q29uZmlndXJhdGlvbigpO1xuXG4gIGlmICghVXRpbC5pc0RlZmluZWQoY29uZmlnLnBlcm1pc3Npb25zU2VydmljZVR5cGUpIHx8ICdPbnRpbWl6ZUVFUGVybWlzc2lvbnMnID09PSBjb25maWcucGVybWlzc2lvbnNTZXJ2aWNlVHlwZSkge1xuICAgIHJldHVybiBuZXcgT250aW1pemVFRVBlcm1pc3Npb25zU2VydmljZShpbmplY3Rvcik7XG4gIH0gZWxzZSBpZiAoJ09udGltaXplUGVybWlzc2lvbnMnID09PSBjb25maWcucGVybWlzc2lvbnNTZXJ2aWNlVHlwZSkge1xuICAgIHJldHVybiBuZXcgT250aW1pemVQZXJtaXNzaW9uc1NlcnZpY2UoaW5qZWN0b3IpO1xuICB9XG4gIHJldHVybiBVdGlsLmNyZWF0ZVNlcnZpY2VJbnN0YW5jZShjb25maWcucGVybWlzc2lvbnNTZXJ2aWNlVHlwZSwgaW5qZWN0b3IpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIGF1dGhlbnRpY2F0aW9uIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdXRoU2VydmljZUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogQXV0aFNlcnZpY2Uge1xuICBjb25zdCBzZXJ2aWNlQ2xhc3MgPSBfZ2V0SW5qZWN0aW9uVG9rZW5WYWx1ZShPX0FVVEhfU0VSVklDRSwgaW5qZWN0b3IpO1xuICBjb25zdCBzZXJ2aWNlID0gVXRpbC5jcmVhdGVTZXJ2aWNlSW5zdGFuY2Uoc2VydmljZUNsYXNzLCBpbmplY3Rvcik7XG4gIHJldHVybiBVdGlsLmlzRGVmaW5lZChzZXJ2aWNlKSA/IHNlcnZpY2UgOiBuZXcgT250aW1pemVBdXRoU2VydmljZShpbmplY3Rvcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wb25lbnRTdGF0ZUZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogQWJzdHJhY3RDb21wb25lbnRTdGF0ZVNlcnZpY2U8YW55LCBhbnk+IHtcbiAgY29uc3Qgc2VydmljZSA9IF9nZXRJbmplY3Rpb25Ub2tlblZhbHVlKE9fQ09NUE9ORU5UX1NUQVRFX1NFUlZJQ0UsIGluamVjdG9yKTtcbiAgcmV0dXJuIFV0aWwuaXNEZWZpbmVkKHNlcnZpY2UpID8gc2VydmljZSA6IG5ldyBEZWZhdWx0Q29tcG9uZW50U3RhdGVTZXJ2aWNlKGluamVjdG9yKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUFJPVklERVJTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVXNpbmcgdGhlIHNhbWUgcHJvdmlkZXIgbXVsdGlwbGUgdGltZXMgYWNjcm9zcyB0aGUgcHJvamVjdCBwcm9kdWNlcyBuYW1lc3BhY2VzIGNvbmZsaWN0cyB3aGVuXG4gKiBidWlsZGluZyB3aXRoIG5nLXBhY2thZ3IsIHNvIHdlIHJldXNlZCB0aGUgcHJvdmlkZXJzIGRlZmluZWQgaGVyZS5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuZXhwb3J0IGNvbnN0IE9udGltaXplU2VydmljZVByb3ZpZGVyID0geyBwcm92aWRlOiBPbnRpbWl6ZVNlcnZpY2UsIHVzZUZhY3Rvcnk6IGRhdGFTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0luamVjdG9yXSB9O1xuXG5leHBvcnQgY29uc3QgT250aW1pemVFeHBvcnRTZXJ2aWNlUHJvdmlkZXIgPSB7IHByb3ZpZGU6IE9udGltaXplRXhwb3J0U2VydmljZSwgdXNlRmFjdG9yeTogZXhwb3J0U2VydmljZUZhY3RvcnksIGRlcHM6IFtJbmplY3Rvcl0gfTtcblxuZXhwb3J0IGNvbnN0IE9udGltaXplQXV0aFNlcnZpY2VQcm92aWRlciA9IHsgcHJvdmlkZTogQXV0aFNlcnZpY2UsIHVzZUZhY3Rvcnk6IGF1dGhTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0luamVjdG9yXSB9O1xuXG5leHBvcnQgY29uc3QgQ29tcG9uZW50U3RhdGVTZXJ2aWNlUHJvdmlkZXIgPSB7IHByb3ZpZGU6IEFic3RyYWN0Q29tcG9uZW50U3RhdGVTZXJ2aWNlLCB1c2VGYWN0b3J5OiBjb21wb25lbnRTdGF0ZUZhY3RvcnksIGRlcHM6IFtJbmplY3Rvcl0gfTtcblxuZXhwb3J0IGNvbnN0IEV4cG9ydERhdGFTZXJ2aWNlUHJvdmlkZXIgPSB7IHByb3ZpZGU6IE9udGltaXplRXhwb3J0RGF0YVByb3ZpZGVyU2VydmljZSwgdXNlRmFjdG9yeTogZXhwb3J0RGF0YUZhY3RvcnksIGRlcHM6IFtJbmplY3Rvcl0gfTtcblxuZXhwb3J0IGNvbnN0IE9udGltaXplTG9jYWxTdG9yYWdlU2VydmljZVByb3ZpZGVyID0geyBwcm92aWRlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLCB1c2VGYWN0b3J5OiBsb2NhbFN0b3JhZ2VTZXJ2aWNlRmFjdG9yeSwgZGVwczogW0luamVjdG9yXSB9O1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVXRpbGl0eSBtZXRob2RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHZhbHVlIGZvciB0aGUgcHJvdmlkZWQgaW5qZWN0aW9uIHRva2VuXG4gKiBAcGFyYW0gdG9rZW4gdGhlIGluamVjdGlvbiB0b2tlblxuICogQHBhcmFtIGluamVjdG9yIHRoZSBpbmplY3RvclxuICovXG5leHBvcnQgZnVuY3Rpb24gX2dldEluamVjdGlvblRva2VuVmFsdWU8VD4odG9rZW46IEluamVjdGlvblRva2VuPFQ+LCBpbmplY3RvcjogSW5qZWN0b3IpOiBUIHtcbiAgbGV0IHNlcnZpY2U6IFQ7XG4gIHRyeSB7XG4gICAgc2VydmljZSA9IGluamVjdG9yLmdldCh0b2tlbik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBObyB2YWx1ZSBwcm92aWRlZCBmb3IgdGhlIGluamVjdGlvbiB0b2tlblxuICB9XG4gIHJldHVybiBzZXJ2aWNlO1xufVxuXG5cbiJdfQ==
@@ -161,16 +161,16 @@ export class LocalStorageService {
161
161
  console.error("Cannot set new item in localStorage. Error: " + e);
162
162
  }
163
163
  }
164
+ removeStoredData() {
165
+ localStorage.removeItem(this._config.uuid);
166
+ }
164
167
  }
165
168
  LocalStorageService.COMPONENTS_STORAGE_KEY = 'components';
166
169
  LocalStorageService.USERS_STORAGE_KEY = 'users';
167
170
  LocalStorageService.SESSION_STORAGE_KEY = 'session';
168
171
  LocalStorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalStorageService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
169
- LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalStorageService, providedIn: 'root' });
172
+ LocalStorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalStorageService });
170
173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalStorageService, decorators: [{
171
- type: Injectable,
172
- args: [{
173
- providedIn: 'root'
174
- }]
174
+ type: Injectable
175
175
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU03QyxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFSakMsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVEvRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFZLFNBQTRCLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVMsTUFBc0IsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQWMsV0FBZ0MsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLE1B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aXR0ZXIsIEluamVjdGFibGUsIEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IElMb2NhbFN0b3JhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2xvY2FsLXN0b3JhZ2UtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi90eXBlcy9jb25maWcudHlwZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3R5cGVzL3Nlc3Npb24taW5mby50eXBlJztcbmltcG9ydCB7IE9ic2VydmFibGVXcmFwcGVyIH0gZnJvbSAnLi4vdXRpbC9hc3luYyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2Uge1xuICBzdGF0aWMgQ09NUE9ORU5UU19TVE9SQUdFX0tFWTogc3RyaW5nID0gJ2NvbXBvbmVudHMnO1xuICBzdGF0aWMgVVNFUlNfU1RPUkFHRV9LRVk6IHN0cmluZyA9ICd1c2Vycyc7XG4gIHN0YXRpYyBTRVNTSU9OX1NUT1JBR0VfS0VZOiBzdHJpbmcgPSAnc2Vzc2lvbic7XG5cbiAgcHVibGljIG9uUm91dGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwdWJsaWMgb25TZXRMb2NhbFN0b3JhZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgX2NvbmZpZzogQ29uZmlnO1xuICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcjtcbiAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2U7XG5cblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5fY29uZmlnID0gdGhpcy5pbmplY3Rvci5nZXQ8QXBwQ29uZmlnPihBcHBDb25maWcgYXMgVHlwZTxBcHBDb25maWc+KS5nZXRDb25maWd1cmF0aW9uKCk7XG4gICAgdGhpcy5fcm91dGVyID0gdGhpcy5pbmplY3Rvci5nZXQ8Um91dGVyPihSb3V0ZXIgYXMgVHlwZTxSb3V0ZXI+KTtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQ8QXV0aFNlcnZpY2U+KEF1dGhTZXJ2aWNlIGFzIFR5cGU8QXV0aFNlcnZpY2U+KTtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcbiAgICAgICAgT2JzZXJ2YWJsZVdyYXBwZXIuY2FsbEVtaXQoc2VsZi5vblJvdXRlQ2hhbmdlLCB7fSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRDb21wb25lbnRTdG9yYWdlKGNvbXA6IElMb2NhbFN0b3JhZ2VDb21wb25lbnQsIHJvdXRlS2V5Pzogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCBjb21wb25lbnRLZXkgPSBjb21wLmdldENvbXBvbmVudEtleSgpO1xuICAgIGxldCBjb21wbGV0ZUtleSA9IGNvbXBvbmVudEtleTtcbiAgICBpZiAocm91dGVLZXkpIHtcbiAgICAgIGNvbXBsZXRlS2V5ICs9ICdfJyArIHJvdXRlS2V5O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRBcHBDb21wb25lbnREYXRhKGNvbXBsZXRlS2V5KSB8fCB7fTtcbiAgfVxuXG4gIHVwZGF0ZUNvbXBvbmVudFN0b3JhZ2UoY29tcDogSUxvY2FsU3RvcmFnZUNvbXBvbmVudCwgcm91dGVLZXk/OiBzdHJpbmcpIHtcbiAgICBjb25zdCBkYXRhVG9TdG9yZSA9IGNvbXAuZ2V0RGF0YVRvU3RvcmUoKTtcbiAgICBjb25zdCBjb21wb25lbnRLZXkgPSBjb21wLmdldENvbXBvbmVudEtleSgpO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQoY29tcG9uZW50S2V5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgY29tcGxldGVLZXkgPSBjb21wb25lbnRLZXk7XG4gICAgaWYgKHJvdXRlS2V5KSB7XG4gICAgICBjb21wbGV0ZUtleSArPSAnXycgKyByb3V0ZUtleTtcbiAgICB9XG4gICAgY29uc3Qgc3RvcmVkT2JqZWN0ID0ge307XG4gICAgZm9yIChjb25zdCBwcm9wIGluIGRhdGFUb1N0b3JlKSB7XG4gICAgICBpZiAoZGF0YVRvU3RvcmUuaGFzT3duUHJvcGVydHkocHJvcCkpIHtcbiAgICAgICAgc3RvcmVkT2JqZWN0W3Byb3BdID0gZGF0YVRvU3RvcmVbcHJvcF07XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMudXBkYXRlQXBwQ29tcG9uZW50U3RvcmFnZShjb21wbGV0ZUtleSwgc3RvcmVkT2JqZWN0KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXBwQ29tcG9uZW50RGF0YShrZXk6IHN0cmluZyk6IG9iamVjdCB7XG4gICAgbGV0IGNvbXBvbmVudERhdGE7XG4gICAgY29uc3Qgc3RvcmVkQ29tcG9uZW50czogb2JqZWN0ID0gdGhpcy5nZXRTZXNzaW9uVXNlckNvbXBvbmVudHNEYXRhKCkgfHwge307XG4gICAgaWYgKHN0b3JlZENvbXBvbmVudHNba2V5XSkge1xuICAgICAgaWYgKE9iamVjdC5rZXlzKHN0b3JlZENvbXBvbmVudHNba2V5XSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIGNvbnN0IGRlY29kZWQgPSBhdG9iKChzdG9yZWRDb21wb25lbnRzW2tleV0pKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb21wb25lbnREYXRhID0gSlNPTi5wYXJzZShkZWNvZGVkKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbXBvbmVudERhdGEgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgfVxuICAgIHJldHVybiBjb21wb25lbnREYXRhO1xuICB9XG5cbiAgdXBkYXRlQXBwQ29tcG9uZW50U3RvcmFnZShjb21wb25lbnRLZXk6IHN0cmluZywgY29tcG9uZW50RGF0YTogb2JqZWN0KSB7XG4gICAgbGV0IGNvbXBvbmVudERhdGFCNjQ7XG4gICAgdHJ5IHtcbiAgICAgIGNvbXBvbmVudERhdGFCNjQgPSBidG9hKFV0aWwuc3RyaW5naWZ5KGNvbXBvbmVudERhdGEpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb21wb25lbnREYXRhQjY0ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnN0b3JlQ29tcG9uZW50SW5TZXNzaW9uVXNlcihjb21wb25lbnRLZXksIGNvbXBvbmVudERhdGFCNjQpO1xuICB9XG5cbiAgcHVibGljIGdldFNlc3Npb25Vc2VyQ29tcG9uZW50c0RhdGEoKTogb2JqZWN0IHtcbiAgICBsZXQgc3RvcmVkQ29tcG9uZW50c0J5VXNlciA9IHt9O1xuICAgIGNvbnN0IGFwcERhdGEgPSB0aGlzLmdldFN0b3JlZERhdGEoKTtcbiAgICBjb25zdCBzZXNzaW9uOiBTZXNzaW9uSW5mbyA9IGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5TRVNTSU9OX1NUT1JBR0VfS0VZXSB8fCB7fTtcbiAgICBjb25zdCB1c2VycyA9IGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5VU0VSU19TVE9SQUdFX0tFWV0gfHwge307XG4gICAgc3RvcmVkQ29tcG9uZW50c0J5VXNlciA9ICh1c2Vyc1tzZXNzaW9uLnVzZXJdIHx8IHt9KVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLkNPTVBPTkVOVFNfU1RPUkFHRV9LRVldIHx8IHt9O1xuICAgIHJldHVybiBzdG9yZWRDb21wb25lbnRzQnlVc2VyO1xuICB9XG5cbiAgcHVibGljIHN0b3JlU2Vzc2lvblVzZXJDb21wb25lbnRzRGF0YShjb21wb25lbnRzRGF0YTogb2JqZWN0KSB7XG4gICAgY29uc3QgYXBwRGF0YSA9IHRoaXMuZ2V0U3RvcmVkRGF0YSgpO1xuICAgIGNvbnN0IHNlc3Npb246IFNlc3Npb25JbmZvID0gYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlNFU1NJT05fU1RPUkFHRV9LRVldIHx8IHt9O1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQoYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlVTRVJTX1NUT1JBR0VfS0VZXSkpIHtcbiAgICAgIGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5VU0VSU19TVE9SQUdFX0tFWV0gPSB7fTtcbiAgICB9XG4gICAgY29uc3QgdXNlckRhdGEgPSBhcHBEYXRhW0xvY2FsU3RvcmFnZVNlcnZpY2UuVVNFUlNfU1RPUkFHRV9LRVldW3Nlc3Npb24udXNlcl0gfHwge307XG4gICAgdXNlckRhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5DT01QT05FTlRTX1NUT1JBR0VfS0VZXSA9IGNvbXBvbmVudHNEYXRhO1xuICAgIGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5VU0VSU19TVE9SQUdFX0tFWV1bc2Vzc2lvbi51c2VyXSA9IHVzZXJEYXRhO1xuICAgIHRoaXMuc2V0TG9jYWxTdG9yYWdlKGFwcERhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9yZUNvbXBvbmVudEluU2Vzc2lvblVzZXIoY29tcG9uZW50S2V5LCBjb21wb25lbnREYXRhQjY0KSB7XG4gICAgY29uc3QgYXBwRGF0YSA9IHRoaXMuZ2V0U3RvcmVkRGF0YSgpO1xuICAgIGNvbnN0IHNlc3Npb24gPSBhcHBEYXRhW0xvY2FsU3RvcmFnZVNlcnZpY2UuU0VTU0lPTl9TVE9SQUdFX0tFWV0gfHwge307IC8vIHV1aWQgLT4gc2Vzc2lvblxuICAgIGlmICghVXRpbC5pc0RlZmluZWQodGhpcy5hdXRoU2VydmljZSkpIHtcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxBdXRoU2VydmljZT4oQXV0aFNlcnZpY2UgYXMgVHlwZTxBdXRoU2VydmljZT4pO1xuICAgIH1cbiAgICBjb25zdCB1c2VycyA9IGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5VU0VSU19TVE9SQUdFX0tFWV0gfHwge307IC8vIHV1aWQgLT4gdXNlcnNcbiAgICBjb25zdCBpZFVzZXIgPSBzZXNzaW9uLnVzZXIgfHwgdGhpcy5hdXRoU2VydmljZS5nZXRTZXNzaW9uSW5mbygpPy51c2VyO1xuICAgIGlmICghVXRpbC5pc0RlZmluZWQoaWRVc2VyKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB1c2VyID0gdXNlcnNbaWRVc2VyXSB8fCB7fTsgLy8gdXVpZCAtPiB1c2Vycy0+IHVzZXJcblxuICAgIGxldCBjb21wb25lbnRzRGF0YSA9IHt9O1xuICAgIGlmICh1c2Vyc1tpZFVzZXJdKSB7XG4gICAgICBjb21wb25lbnRzRGF0YSA9IHVzZXJzW2lkVXNlcl1bTG9jYWxTdG9yYWdlU2VydmljZS5DT01QT05FTlRTX1NUT1JBR0VfS0VZXSB8fCB7fTtcbiAgICB9XG4gICAgY29tcG9uZW50c0RhdGFbY29tcG9uZW50S2V5XSA9IGNvbXBvbmVudERhdGFCNjQgfHwge307XG5cbiAgICB1c2VyW0xvY2FsU3RvcmFnZVNlcnZpY2UuQ09NUE9ORU5UU19TVE9SQUdFX0tFWV0gPSBjb21wb25lbnRzRGF0YTtcbiAgICB1c2Vyc1tpZFVzZXJdID0gdXNlcjtcbiAgICBhcHBEYXRhW0xvY2FsU3RvcmFnZVNlcnZpY2UuVVNFUlNfU1RPUkFHRV9LRVldID0gdXNlcnM7XG5cbiAgICB0aGlzLnNldExvY2FsU3RvcmFnZShhcHBEYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdG9yZWREYXRhKCk6IG9iamVjdCB7XG4gICAgbGV0IGFwcERhdGEgPSB7fTtcbiAgICBjb25zdCBhcHBTdG9yZWREYXRhID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5fY29uZmlnLnV1aWQpO1xuICAgIGlmIChhcHBTdG9yZWREYXRhKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhcHBEYXRhID0gSlNPTi5wYXJzZShhcHBTdG9yZWREYXRhKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgYXBwRGF0YSA9IHt9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYXBwRGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRCYWNrd2FyZENvbXBhdGliaWxpdHkoKSB7XG4gICAgY29uc3QgYXBwRGF0YSA9IHRoaXMuZ2V0U3RvcmVkRGF0YSgpO1xuICAgIGNvbnN0IHNlc3Npb24gPSBhcHBEYXRhW0xvY2FsU3RvcmFnZVNlcnZpY2UuU0VTU0lPTl9TVE9SQUdFX0tFWV07XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChzZXNzaW9uKSB8fCAhVXRpbC5pc0RlZmluZWQoc2Vzc2lvbi51c2VyKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjb21wb25lbnRzSW5mbyA9IGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5DT01QT05FTlRTX1NUT1JBR0VfS0VZXSB8fCB7fTtcbiAgICBsZXQgdXNlcnNPYmplY3QgPSB7fTtcbiAgICBjb25zdCBleGlzdHNVc2Vyc1RhZyA9IFV0aWwuaXNEZWZpbmVkKGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5VU0VSU19TVE9SQUdFX0tFWV0pO1xuICAgIGxldCBjcmVhdGVVc2VySW5mbyA9IGV4aXN0c1VzZXJzVGFnO1xuICAgIGlmIChleGlzdHNVc2Vyc1RhZykge1xuICAgICAgdXNlcnNPYmplY3QgPSBhcHBEYXRhW0xvY2FsU3RvcmFnZVNlcnZpY2UuVVNFUlNfU1RPUkFHRV9LRVldO1xuICAgICAgY3JlYXRlVXNlckluZm8gPSAhVXRpbC5pc0RlZmluZWQoYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlVTRVJTX1NUT1JBR0VfS0VZXVtzZXNzaW9uLnVzZXJdKTtcbiAgICB9XG4gICAgaWYgKGNyZWF0ZVVzZXJJbmZvKSB7XG4gICAgICB1c2Vyc09iamVjdFtzZXNzaW9uLnVzZXJdID0ge307XG4gICAgICB1c2Vyc09iamVjdFtzZXNzaW9uLnVzZXJdW0xvY2FsU3RvcmFnZVNlcnZpY2UuQ09NUE9ORU5UU19TVE9SQUdFX0tFWV0gPSBjb21wb25lbnRzSW5mbztcblxuICAgICAgYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlVTRVJTX1NUT1JBR0VfS0VZXSA9IHVzZXJzT2JqZWN0O1xuICAgICAgdHJ5IHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fY29uZmlnLnV1aWQsIFV0aWwuc3RyaW5naWZ5KGFwcERhdGEpKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkNhbm5vdCBzZXQgbmV3IGl0ZW0gaW4gbG9jYWxTdG9yYWdlLiBFcnJvcjogXCIgKyBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRMb2NhbFN0b3JhZ2UoYXBwRGF0YTogYW55KSB7XG4gICAgdGhpcy5vblNldExvY2FsU3RvcmFnZS5lbWl0KCk7XG4gICAgdHJ5IHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuX2NvbmZpZy51dWlkLCBVdGlsLnN0cmluZ2lmeShhcHBEYXRhKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihcIkNhbm5vdCBzZXQgbmV3IGl0ZW0gaW4gbG9jYWxTdG9yYWdlLiBFcnJvcjogXCIgKyBlKTtcbiAgICB9XG4gIH1cblxufVxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtc3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL2xvY2FsLXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUk3QyxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFSakMsa0JBQWEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN0RCxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVEvRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFZLFNBQTRCLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVMsTUFBc0IsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQWMsV0FBZ0MsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLE1B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QVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIEluamVjdG9yLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IEFwcENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy9hcHAtY29uZmlnJztcbmltcG9ydCB7IElMb2NhbFN0b3JhZ2VDb21wb25lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2xvY2FsLXN0b3JhZ2UtY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi90eXBlcy9jb25maWcudHlwZSc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3R5cGVzL3Nlc3Npb24taW5mby50eXBlJztcbmltcG9ydCB7IE9ic2VydmFibGVXcmFwcGVyIH0gZnJvbSAnLi4vdXRpbC9hc3luYyc7XG5pbXBvcnQgeyBVdGlsIH0gZnJvbSAnLi4vdXRpbC91dGlsJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgSUxvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2xvY2FsLXNlcnZpY2UuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVNlcnZpY2UgaW1wbGVtZW50cyBJTG9jYWxTdG9yYWdlU2VydmljZSB7XG4gIHN0YXRpYyBDT01QT05FTlRTX1NUT1JBR0VfS0VZOiBzdHJpbmcgPSAnY29tcG9uZW50cyc7XG4gIHN0YXRpYyBVU0VSU19TVE9SQUdFX0tFWTogc3RyaW5nID0gJ3VzZXJzJztcbiAgc3RhdGljIFNFU1NJT05fU1RPUkFHRV9LRVk6IHN0cmluZyA9ICdzZXNzaW9uJztcblxuICBwdWJsaWMgb25Sb3V0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIHB1YmxpYyBvblNldExvY2FsU3RvcmFnZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBfY29uZmlnOiBDb25maWc7XG4gIHByaXZhdGUgX3JvdXRlcjogUm91dGVyO1xuICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZTtcblxuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLl9jb25maWcgPSB0aGlzLmluamVjdG9yLmdldDxBcHBDb25maWc+KEFwcENvbmZpZyBhcyBUeXBlPEFwcENvbmZpZz4pLmdldENvbmZpZ3VyYXRpb24oKTtcbiAgICB0aGlzLl9yb3V0ZXIgPSB0aGlzLmluamVjdG9yLmdldDxSb3V0ZXI+KFJvdXRlciBhcyBUeXBlPFJvdXRlcj4pO1xuICAgIHRoaXMuYXV0aFNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxBdXRoU2VydmljZT4oQXV0aFNlcnZpY2UgYXMgVHlwZTxBdXRoU2VydmljZT4pO1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMuX3JvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xuICAgICAgICBPYnNlcnZhYmxlV3JhcHBlci5jYWxsRW1pdChzZWxmLm9uUm91dGVDaGFuZ2UsIHt9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldENvbXBvbmVudFN0b3JhZ2UoY29tcDogSUxvY2FsU3RvcmFnZUNvbXBvbmVudCwgcm91dGVLZXk/OiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IGNvbXBvbmVudEtleSA9IGNvbXAuZ2V0Q29tcG9uZW50S2V5KCk7XG4gICAgbGV0IGNvbXBsZXRlS2V5ID0gY29tcG9uZW50S2V5O1xuICAgIGlmIChyb3V0ZUtleSkge1xuICAgICAgY29tcGxldGVLZXkgKz0gJ18nICsgcm91dGVLZXk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldEFwcENvbXBvbmVudERhdGEoY29tcGxldGVLZXkpIHx8IHt9O1xuICB9XG5cbiAgdXBkYXRlQ29tcG9uZW50U3RvcmFnZShjb21wOiBJTG9jYWxTdG9yYWdlQ29tcG9uZW50LCByb3V0ZUtleT86IHN0cmluZykge1xuICAgIGNvbnN0IGRhdGFUb1N0b3JlID0gY29tcC5nZXREYXRhVG9TdG9yZSgpO1xuICAgIGNvbnN0IGNvbXBvbmVudEtleSA9IGNvbXAuZ2V0Q29tcG9uZW50S2V5KCk7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChjb21wb25lbnRLZXkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjb21wbGV0ZUtleSA9IGNvbXBvbmVudEtleTtcbiAgICBpZiAocm91dGVLZXkpIHtcbiAgICAgIGNvbXBsZXRlS2V5ICs9ICdfJyArIHJvdXRlS2V5O1xuICAgIH1cbiAgICBjb25zdCBzdG9yZWRPYmplY3QgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZGF0YVRvU3RvcmUpIHtcbiAgICAgIGlmIChkYXRhVG9TdG9yZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xuICAgICAgICBzdG9yZWRPYmplY3RbcHJvcF0gPSBkYXRhVG9TdG9yZVtwcm9wXTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy51cGRhdGVBcHBDb21wb25lbnRTdG9yYWdlKGNvbXBsZXRlS2V5LCBzdG9yZWRPYmplY3QpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBcHBDb21wb25lbnREYXRhKGtleTogc3RyaW5nKTogb2JqZWN0IHtcbiAgICBsZXQgY29tcG9uZW50RGF0YTtcbiAgICBjb25zdCBzdG9yZWRDb21wb25lbnRzOiBvYmplY3QgPSB0aGlzLmdldFNlc3Npb25Vc2VyQ29tcG9uZW50c0RhdGEoKSB8fCB7fTtcbiAgICBpZiAoc3RvcmVkQ29tcG9uZW50c1trZXldKSB7XG4gICAgICBpZiAoT2JqZWN0LmtleXMoc3RvcmVkQ29tcG9uZW50c1trZXldKS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgY29uc3QgZGVjb2RlZCA9IGF0b2IoKHN0b3JlZENvbXBvbmVudHNba2V5XSkpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbXBvbmVudERhdGEgPSBKU09OLnBhcnNlKGRlY29kZWQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29tcG9uZW50RGF0YSA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cbiAgICB9XG4gICAgcmV0dXJuIGNvbXBvbmVudERhdGE7XG4gIH1cblxuICB1cGRhdGVBcHBDb21wb25lbnRTdG9yYWdlKGNvbXBvbmVudEtleTogc3RyaW5nLCBjb21wb25lbnREYXRhOiBvYmplY3QpIHtcbiAgICBsZXQgY29tcG9uZW50RGF0YUI2NDtcbiAgICB0cnkge1xuICAgICAgY29tcG9uZW50RGF0YUI2NCA9IGJ0b2EoVXRpbC5zdHJpbmdpZnkoY29tcG9uZW50RGF0YSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbXBvbmVudERhdGFCNjQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMuc3RvcmVDb21wb25lbnRJblNlc3Npb25Vc2VyKGNvbXBvbmVudEtleSwgY29tcG9uZW50RGF0YUI2NCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2Vzc2lvblVzZXJDb21wb25lbnRzRGF0YSgpOiBvYmplY3Qge1xuICAgIGxldCBzdG9yZWRDb21wb25lbnRzQnlVc2VyID0ge307XG4gICAgY29uc3QgYXBwRGF0YSA9IHRoaXMuZ2V0U3RvcmVkRGF0YSgpO1xuICAgIGNvbnN0IHNlc3Npb246IFNlc3Npb25JbmZvID0gYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlNFU1NJT05fU1RPUkFHRV9LRVldIHx8IHt9O1xuICAgIGNvbnN0IHVzZXJzID0gYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlVTRVJTX1NUT1JBR0VfS0VZXSB8fCB7fTtcbiAgICBzdG9yZWRDb21wb25lbnRzQnlVc2VyID0gKHVzZXJzW3Nlc3Npb24udXNlcl0gfHwge30pW0xvY2FsU3RvcmFnZVNlcnZpY2UuQ09NUE9ORU5UU19TVE9SQUdFX0tFWV0gfHwge307XG4gICAgcmV0dXJuIHN0b3JlZENvbXBvbmVudHNCeVVzZXI7XG4gIH1cblxuICBwdWJsaWMgc3RvcmVTZXNzaW9uVXNlckNvbXBvbmVudHNEYXRhKGNvbXBvbmVudHNEYXRhOiBvYmplY3QpIHtcbiAgICBjb25zdCBhcHBEYXRhID0gdGhpcy5nZXRTdG9yZWREYXRhKCk7XG4gICAgY29uc3Qgc2Vzc2lvbjogU2Vzc2lvbkluZm8gPSBhcHBEYXRhW0xvY2FsU3RvcmFnZVNlcnZpY2UuU0VTU0lPTl9TVE9SQUdFX0tFWV0gfHwge307XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChhcHBEYXRhW0xvY2FsU3RvcmFnZVNlcnZpY2UuVVNFUlNfU1RPUkFHRV9LRVldKSkge1xuICAgICAgYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlVTRVJTX1NUT1JBR0VfS0VZXSA9IHt9O1xuICAgIH1cbiAgICBjb25zdCB1c2VyRGF0YSA9IGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5VU0VSU19TVE9SQUdFX0tFWV1bc2Vzc2lvbi51c2VyXSB8fCB7fTtcbiAgICB1c2VyRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLkNPTVBPTkVOVFNfU1RPUkFHRV9LRVldID0gY29tcG9uZW50c0RhdGE7XG4gICAgYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlVTRVJTX1NUT1JBR0VfS0VZXVtzZXNzaW9uLnVzZXJdID0gdXNlckRhdGE7XG4gICAgdGhpcy5zZXRMb2NhbFN0b3JhZ2UoYXBwRGF0YSk7XG4gIH1cblxuICBwcml2YXRlIHN0b3JlQ29tcG9uZW50SW5TZXNzaW9uVXNlcihjb21wb25lbnRLZXksIGNvbXBvbmVudERhdGFCNjQpIHtcbiAgICBjb25zdCBhcHBEYXRhID0gdGhpcy5nZXRTdG9yZWREYXRhKCk7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5TRVNTSU9OX1NUT1JBR0VfS0VZXSB8fCB7fTsgLy8gdXVpZCAtPiBzZXNzaW9uXG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZCh0aGlzLmF1dGhTZXJ2aWNlKSkge1xuICAgICAgdGhpcy5hdXRoU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0PEF1dGhTZXJ2aWNlPihBdXRoU2VydmljZSBhcyBUeXBlPEF1dGhTZXJ2aWNlPik7XG4gICAgfVxuICAgIGNvbnN0IHVzZXJzID0gYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlVTRVJTX1NUT1JBR0VfS0VZXSB8fCB7fTsgLy8gdXVpZCAtPiB1c2Vyc1xuICAgIGNvbnN0IGlkVXNlciA9IHNlc3Npb24udXNlciB8fCB0aGlzLmF1dGhTZXJ2aWNlLmdldFNlc3Npb25JbmZvKCk/LnVzZXI7XG4gICAgaWYgKCFVdGlsLmlzRGVmaW5lZChpZFVzZXIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHVzZXIgPSB1c2Vyc1tpZFVzZXJdIHx8IHt9OyAvLyB1dWlkIC0+IHVzZXJzLT4gdXNlclxuXG4gICAgbGV0IGNvbXBvbmVudHNEYXRhID0ge307XG4gICAgaWYgKHVzZXJzW2lkVXNlcl0pIHtcbiAgICAgIGNvbXBvbmVudHNEYXRhID0gdXNlcnNbaWRVc2VyXVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLkNPTVBPTkVOVFNfU1RPUkFHRV9LRVldIHx8IHt9O1xuICAgIH1cbiAgICBjb21wb25lbnRzRGF0YVtjb21wb25lbnRLZXldID0gY29tcG9uZW50RGF0YUI2NCB8fCB7fTtcblxuICAgIHVzZXJbTG9jYWxTdG9yYWdlU2VydmljZS5DT01QT05FTlRTX1NUT1JBR0VfS0VZXSA9IGNvbXBvbmVudHNEYXRhO1xuICAgIHVzZXJzW2lkVXNlcl0gPSB1c2VyO1xuICAgIGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5VU0VSU19TVE9SQUdFX0tFWV0gPSB1c2VycztcblxuICAgIHRoaXMuc2V0TG9jYWxTdG9yYWdlKGFwcERhdGEpO1xuICB9XG5cbiAgcHVibGljIGdldFN0b3JlZERhdGEoKTogb2JqZWN0IHtcbiAgICBsZXQgYXBwRGF0YSA9IHt9O1xuICAgIGNvbnN0IGFwcFN0b3JlZERhdGEgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLl9jb25maWcudXVpZCk7XG4gICAgaWYgKGFwcFN0b3JlZERhdGEpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGFwcERhdGEgPSBKU09OLnBhcnNlKGFwcFN0b3JlZERhdGEpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBhcHBEYXRhID0ge307XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhcHBEYXRhO1xuICB9XG5cbiAgcHVibGljIHNldEJhY2t3YXJkQ29tcGF0aWJpbGl0eSgpIHtcbiAgICBjb25zdCBhcHBEYXRhID0gdGhpcy5nZXRTdG9yZWREYXRhKCk7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5TRVNTSU9OX1NUT1JBR0VfS0VZXTtcbiAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKHNlc3Npb24pIHx8ICFVdGlsLmlzRGVmaW5lZChzZXNzaW9uLnVzZXIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGNvbXBvbmVudHNJbmZvID0gYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLkNPTVBPTkVOVFNfU1RPUkFHRV9LRVldIHx8IHt9O1xuICAgIGxldCB1c2Vyc09iamVjdCA9IHt9O1xuICAgIGNvbnN0IGV4aXN0c1VzZXJzVGFnID0gVXRpbC5pc0RlZmluZWQoYXBwRGF0YVtMb2NhbFN0b3JhZ2VTZXJ2aWNlLlVTRVJTX1NUT1JBR0VfS0VZXSk7XG4gICAgbGV0IGNyZWF0ZVVzZXJJbmZvID0gZXhpc3RzVXNlcnNUYWc7XG4gICAgaWYgKGV4aXN0c1VzZXJzVGFnKSB7XG4gICAgICB1c2Vyc09iamVjdCA9IGFwcERhdGFbTG9jYWxTdG9yYWdlU2VydmljZS5VU0VSU19TVE9SQUdFX0tFWV07XG4gICAgICBjcmVhdGVVc2VySW5mbyA9ICFVdGlsLmlzRGVmaW5lZChhcHBEYXRhW0xvY2FsU3RvcmFnZVNlcnZpY2UuVVNFUlNfU1RPUkFHRV9LRVldW3Nlc3Npb24udXNlcl0pO1xuICAgIH1cbiAgICBpZiAoY3JlYXRlVXNlckluZm8pIHtcbiAgICAgIHVzZXJzT2JqZWN0W3Nlc3Npb24udXNlcl0gPSB7fTtcbiAgICAgIHVzZXJzT2JqZWN0W3Nlc3Npb24udXNlcl1bTG9jYWxTdG9yYWdlU2VydmljZS5DT01QT05FTlRTX1NUT1JBR0VfS0VZXSA9IGNvbXBvbmVudHNJbmZvO1xuXG4gICAgICBhcHBEYXRhW0xvY2FsU3RvcmFnZVNlcnZpY2UuVVNFUlNfU1RPUkFHRV9LRVldID0gdXNlcnNPYmplY3Q7XG4gICAgICB0cnkge1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLl9jb25maWcudXVpZCwgVXRpbC5zdHJpbmdpZnkoYXBwRGF0YSkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiQ2Fubm90IHNldCBuZXcgaXRlbSBpbiBsb2NhbFN0b3JhZ2UuIEVycm9yOiBcIiArIGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldExvY2FsU3RvcmFnZShhcHBEYXRhOiBhbnkpIHtcbiAgICB0aGlzLm9uU2V0TG9jYWxTdG9yYWdlLmVtaXQoKTtcbiAgICB0cnkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5fY29uZmlnLnV1aWQsIFV0aWwuc3RyaW5naWZ5KGFwcERhdGEpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiQ2Fubm90IHNldCBuZXcgaXRlbSBpbiBsb2NhbFN0b3JhZ2UuIEVycm9yOiBcIiArIGUpO1xuICAgIH1cbiAgfVxuXG4gIHJlbW92ZVN0b3JlZERhdGEoKSB7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5fY29uZmlnLnV1aWQpO1xuICB9XG59XG4iXX0=
@@ -19,32 +19,58 @@ export class OntimizeExportDataBaseProviderService {
19
19
  this.filter = this.getFilterWithBasicExpression();
20
20
  }
21
21
  getFilterWithBasicExpression() {
22
- let filter = this.table.getComponentFilter();
22
+ let filter = {};
23
+ let parentKeysfilter = this.table.getComponentFilter();
24
+ filter = this.applyParentItemExpression(filter);
25
+ filter = this.applyColumnFilters(filter);
26
+ filter = Object.assign(filter || {}, parentKeysfilter);
27
+ if (!this.table.pageable) {
28
+ filter = this.applyQuickAndBuilderFilters(filter);
29
+ }
30
+ return filter;
31
+ }
32
+ applyParentItemExpression(filter) {
23
33
  if (Object.keys(filter).length > 0) {
24
34
  const parentItemExpr = FilterExpressionUtils.buildExpressionFromObject(filter);
25
35
  filter = {};
26
36
  filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY] = parentItemExpr;
27
37
  }
38
+ return filter;
39
+ }
40
+ applyColumnFilters(filter) {
28
41
  const beColFilter = this.table.getColumnFiltersExpression();
29
- if (beColFilter && !Util.isDefined(filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY])) {
30
- filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY] = beColFilter;
42
+ if (beColFilter) {
43
+ const currentFilterExpr = filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY];
44
+ if (!Util.isDefined(currentFilterExpr)) {
45
+ filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY] = beColFilter;
46
+ }
47
+ else {
48
+ filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY] =
49
+ FilterExpressionUtils.buildComplexExpression(currentFilterExpr, beColFilter, FilterExpressionUtils.OP_AND);
50
+ }
31
51
  }
32
- else if (beColFilter) {
33
- filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY] =
34
- FilterExpressionUtils.buildComplexExpression(filter[FilterExpressionUtils.FILTER_EXPRESSION_KEY], beColFilter, FilterExpressionUtils.OP_AND);
35
- }
36
- const quickFilterExpr = Util.isDefined(this.table.oTableQuickFilterComponent) ? this.table.oTableQuickFilterComponent.filterExpression : undefined;
37
- const filterBuilderExpr = Util.isDefined(this.table.filterBuilder) ? this.table.filterBuilder.getExpression() : undefined;
52
+ return filter;
53
+ }
54
+ applyQuickAndBuilderFilters(filter) {
55
+ const quickFilterExpr = Util.isDefined(this.table.oTableQuickFilterComponent)
56
+ ? this.table.oTableQuickFilterComponent.filterExpression
57
+ : undefined;
58
+ const filterBuilderExpr = Util.isDefined(this.table.filterBuilder)
59
+ ? this.table.filterBuilder.getExpression()
60
+ : undefined;
38
61
  let complexExpr = quickFilterExpr || filterBuilderExpr;
39
62
  if (quickFilterExpr && filterBuilderExpr) {
40
63
  complexExpr = FilterExpressionUtils.buildComplexExpression(quickFilterExpr, filterBuilderExpr, FilterExpressionUtils.OP_AND);
41
64
  }
42
- if (complexExpr && !Util.isDefined(filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY])) {
43
- filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY] = complexExpr;
44
- }
45
- else if (complexExpr) {
46
- filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY] =
47
- FilterExpressionUtils.buildComplexExpression(filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY], complexExpr, FilterExpressionUtils.OP_AND);
65
+ if (complexExpr) {
66
+ const currentBasicExpr = filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY];
67
+ if (!Util.isDefined(currentBasicExpr)) {
68
+ filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY] = complexExpr;
69
+ }
70
+ else {
71
+ filter[FilterExpressionUtils.BASIC_EXPRESSION_KEY] =
72
+ FilterExpressionUtils.buildComplexExpression(currentBasicExpr, complexExpr, FilterExpressionUtils.OP_AND);
73
+ }
48
74
  }
49
75
  return filter;
50
76
  }
@@ -54,4 +80,4 @@ OntimizeExportDataBaseProviderService.ɵprov = i0.ɵɵngDeclareInjectable({ minV
54
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeExportDataBaseProviderService, decorators: [{
55
81
  type: Injectable
56
82
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtZXhwb3J0LWRhdGEtYmFzZS1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL29udGltaXplLWV4cG9ydC1kYXRhLWJhc2UtcHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUlwQyxNQUFNLE9BQU8scUNBQXFDO0lBV2hELFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBSSxDQUFDO0lBRzdDLGtCQUFrQixDQUFDLEtBQWlCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO1FBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRy9GLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLElBQUks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Q0FBcUM7dUlBQXJDLHFDQUFxQzs0RkFBckMscUNBQXFDO2tCQURqRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgT1RhYmxlQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL3RhYmxlL28tdGFibGUtYmFzZS5jbGFzc1wiO1xuaW1wb3J0IHsgRmlsdGVyRXhwcmVzc2lvblV0aWxzIH0gZnJvbSBcIi4uL3V0aWwvZmlsdGVyLWV4cHJlc3Npb24udXRpbHNcIjtcbmltcG9ydCB7IFV0aWwgfSBmcm9tIFwiLi4vdXRpbC91dGlsXCI7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9udGltaXplRXhwb3J0RGF0YUJhc2VQcm92aWRlclNlcnZpY2Uge1xuXG4gIHRhYmxlOiBPVGFibGVCYXNlO1xuICBjb2x1bW5zOiBhbnk7XG4gIGNvbHNOb3RJbmNsdWRlZDogc3RyaW5nW11cbiAgY29sdW1uTmFtZXM6IGFueTtcbiAgc3FsVHlwZXM6IGFueTtcbiAgZW50aXR5OiBzdHJpbmc7XG4gIHNlcnZpY2U6IHN0cmluZztcbiAgZmlsdGVyOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcikgeyB9XG5cblxuICBpbml0aWFsaXplUHJvdmlkZXIodGFibGU6IE9UYWJsZUJhc2UpIHtcbiAgICB0aGlzLnRhYmxlID0gdGFibGU7XG4gICAgLy8gVGFibGUgY29sdW1uc1xuICAgIGNvbnN0IHRhYmxlT3B0aW9ucyA9IHRoaXMudGFibGUub1RhYmxlT3B0aW9ucztcbiAgICB0aGlzLmNvbHNOb3RJbmNsdWRlZCA9IHRoaXMudGFibGUuZ2V0Q29sdW1uc05vdEluY2x1ZGVkKClcbiAgICB0aGlzLmNvbHVtbnMgPSB0YWJsZU9wdGlvbnMudmlzaWJsZUNvbHVtbnMuZmlsdGVyKGMgPT4gdGhpcy5jb2xzTm90SW5jbHVkZWQuaW5kZXhPZihjKSA9PT0gLTEpO1xuXG4gICAgLy8gVGFibGUgY29sdW1uIG5hbWVzXG4gICAgY29uc3QgdGFibGVDb2x1bW5OYW1lcyA9IHRhYmxlT3B0aW9ucy52aXNpYmxlQ29sdW1ucy5maWx0ZXIoYyA9PiB0aGlzLmNvbHNOb3RJbmNsdWRlZC5pbmRleE9mKGMpID09PSAtMSk7XG4gICAgdGhpcy5jb2x1bW5OYW1lcyA9IHRoaXMudGFibGUuZ2V0Q29sdW1uTmFtZXModGFibGVDb2x1bW5OYW1lcyk7XG5cbiAgICAvLyBUYWJsZSBjb2x1bW4gc3FsVHlwZXNcbiAgICB0aGlzLnNxbFR5cGVzID0gdGhpcy50YWJsZS5nZXRTcWxUeXBlcygpO1xuXG4gICAgLy8gVGFibGUgZW50aXR5XG4gICAgdGhpcy5lbnRpdHkgPSB0aGlzLnRhYmxlLmVudGl0eTtcblxuICAgIC8vIFRhYmxlIHNlcnZpY2VcbiAgICB0aGlzLnNlcnZpY2UgPSB0aGlzLnRhYmxlLnNlcnZpY2U7XG5cbiAgICAvLyBUYWJsZSBmaWx0ZXJcbiAgICB0aGlzLmZpbHRlciA9IHRoaXMuZ2V0RmlsdGVyV2l0aEJhc2ljRXhwcmVzc2lvbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpbHRlcldpdGhCYXNpY0V4cHJlc3Npb24oKTogYW55IHtcbiAgICBsZXQgZmlsdGVyID0gdGhpcy50YWJsZS5nZXRDb21wb25lbnRGaWx0ZXIoKTtcblxuICAgIGlmIChPYmplY3Qua2V5cyhmaWx0ZXIpLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhcmVudEl0ZW1FeHByID0gRmlsdGVyRXhwcmVzc2lvblV0aWxzLmJ1aWxkRXhwcmVzc2lvbkZyb21PYmplY3QoZmlsdGVyKTtcbiAgICAgIGZpbHRlciA9IHt9O1xuICAgICAgZmlsdGVyW0ZpbHRlckV4cHJlc3Npb25VdGlscy5GSUxURVJfRVhQUkVTU0lPTl9LRVldID0gcGFyZW50SXRlbUV4cHI7XG4gICAgfVxuICAgIGNvbnN0IGJlQ29sRmlsdGVyID0gdGhpcy50YWJsZS5nZXRDb2x1bW5GaWx0ZXJzRXhwcmVzc2lvbigpO1xuICAgIC8vIEFkZCBjb2x1bW4gZmlsdGVycyBiYXNpYyBleHByZXNzaW9uIHRvIGN1cnJlbnQgZmlsdGVyXG4gICAgaWYgKGJlQ29sRmlsdGVyICYmICFVdGlsLmlzRGVmaW5lZChmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkZJTFRFUl9FWFBSRVNTSU9OX0tFWV0pKSB7XG4gICAgICBmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkZJTFRFUl9FWFBSRVNTSU9OX0tFWV0gPSBiZUNvbEZpbHRlcjtcbiAgICB9IGVsc2UgaWYgKGJlQ29sRmlsdGVyKSB7XG4gICAgICBmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkZJTFRFUl9FWFBSRVNTSU9OX0tFWV0gPVxuICAgICAgICBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuYnVpbGRDb21wbGV4RXhwcmVzc2lvbihmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkZJTFRFUl9FWFBSRVNTSU9OX0tFWV0sIGJlQ29sRmlsdGVyLCBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuT1BfQU5EKTtcblxuICAgIH1cbiAgICBjb25zdCBxdWlja0ZpbHRlckV4cHIgPSBVdGlsLmlzRGVmaW5lZCh0aGlzLnRhYmxlLm9UYWJsZVF1aWNrRmlsdGVyQ29tcG9uZW50KSA/IHRoaXMudGFibGUub1RhYmxlUXVpY2tGaWx0ZXJDb21wb25lbnQuZmlsdGVyRXhwcmVzc2lvbiA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGZpbHRlckJ1aWxkZXJFeHByID0gVXRpbC5pc0RlZmluZWQodGhpcy50YWJsZS5maWx0ZXJCdWlsZGVyKSA/IHRoaXMudGFibGUuZmlsdGVyQnVpbGRlci5nZXRFeHByZXNzaW9uKCkgOiB1bmRlZmluZWQ7XG4gICAgbGV0IGNvbXBsZXhFeHByID0gcXVpY2tGaWx0ZXJFeHByIHx8IGZpbHRlckJ1aWxkZXJFeHByO1xuICAgIGlmIChxdWlja0ZpbHRlckV4cHIgJiYgZmlsdGVyQnVpbGRlckV4cHIpIHtcbiAgICAgIGNvbXBsZXhFeHByID0gRmlsdGVyRXhwcmVzc2lvblV0aWxzLmJ1aWxkQ29tcGxleEV4cHJlc3Npb24ocXVpY2tGaWx0ZXJFeHByLCBmaWx0ZXJCdWlsZGVyRXhwciwgRmlsdGVyRXhwcmVzc2lvblV0aWxzLk9QX0FORCk7XG4gICAgfVxuXG4gICAgaWYgKGNvbXBsZXhFeHByICYmICFVdGlsLmlzRGVmaW5lZChmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkJBU0lDX0VYUFJFU1NJT05fS0VZXSkpIHtcbiAgICAgIGZpbHRlcltGaWx0ZXJFeHByZXNzaW9uVXRpbHMuQkFTSUNfRVhQUkVTU0lPTl9LRVldID0gY29tcGxleEV4cHI7XG4gICAgfSBlbHNlIGlmIChjb21wbGV4RXhwcikge1xuICAgICAgZmlsdGVyW0ZpbHRlckV4cHJlc3Npb25VdGlscy5CQVNJQ19FWFBSRVNTSU9OX0tFWV0gPVxuICAgICAgICBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuYnVpbGRDb21wbGV4RXhwcmVzc2lvbihmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkJBU0lDX0VYUFJFU1NJT05fS0VZXSwgY29tcGxleEV4cHIsIEZpbHRlckV4cHJlc3Npb25VdGlscy5PUF9BTkQpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cbn0iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtZXhwb3J0LWRhdGEtYmFzZS1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL29udGltaXplLWV4cG9ydC1kYXRhLWJhc2UtcHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUlwQyxNQUFNLE9BQU8scUNBQXFDO0lBV2hELFlBQXNCLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBSSxDQUFDO0lBRzdDLGtCQUFrQixDQUFDLEtBQWlCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO1FBQ3pELElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRy9GLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pHLElBQUks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QUN2RCxJQUFJLGVBQWUsSUFBSSxpQkFBaUIsRUFBRTtZQUN4QyxXQUFXLEdBQUcscUJBQXFCLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzlIO1FBRUQsSUFBSSxXQUFXLEVBQUU7WUFDZixNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBRTVFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7Z0JBQ3JDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLFdBQVcsQ0FBQzthQUNsRTtpQkFBTTtnQkFDTCxNQUFNLENBQUMscUJBQXFCLENBQUMsb0JBQW9CLENBQUM7b0JBQ2hELHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM3RztTQUNGO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7bUlBMUdVLHFDQUFxQzt1SUFBckMscUNBQXFDOzRGQUFyQyxxQ0FBcUM7a0JBRGpELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBPVGFibGVCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvdGFibGUvby10YWJsZS1iYXNlLmNsYXNzXCI7XG5pbXBvcnQgeyBGaWx0ZXJFeHByZXNzaW9uVXRpbHMgfSBmcm9tIFwiLi4vdXRpbC9maWx0ZXItZXhwcmVzc2lvbi51dGlsc1wiO1xuaW1wb3J0IHsgVXRpbCB9IGZyb20gXCIuLi91dGlsL3V0aWxcIjtcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT250aW1pemVFeHBvcnREYXRhQmFzZVByb3ZpZGVyU2VydmljZSB7XG5cbiAgdGFibGU6IE9UYWJsZUJhc2U7XG4gIGNvbHVtbnM6IGFueTtcbiAgY29sc05vdEluY2x1ZGVkOiBzdHJpbmdbXVxuICBjb2x1bW5OYW1lczogYW55O1xuICBzcWxUeXBlczogYW55O1xuICBlbnRpdHk6IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBmaWx0ZXI6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cblxuXG4gIGluaXRpYWxpemVQcm92aWRlcih0YWJsZTogT1RhYmxlQmFzZSkge1xuICAgIHRoaXMudGFibGUgPSB0YWJsZTtcbiAgICAvLyBUYWJsZSBjb2x1bW5zXG4gICAgY29uc3QgdGFibGVPcHRpb25zID0gdGhpcy50YWJsZS5vVGFibGVPcHRpb25zO1xuICAgIHRoaXMuY29sc05vdEluY2x1ZGVkID0gdGhpcy50YWJsZS5nZXRDb2x1bW5zTm90SW5jbHVkZWQoKVxuICAgIHRoaXMuY29sdW1ucyA9IHRhYmxlT3B0aW9ucy52aXNpYmxlQ29sdW1ucy5maWx0ZXIoYyA9PiB0aGlzLmNvbHNOb3RJbmNsdWRlZC5pbmRleE9mKGMpID09PSAtMSk7XG5cbiAgICAvLyBUYWJsZSBjb2x1bW4gbmFtZXNcbiAgICBjb25zdCB0YWJsZUNvbHVtbk5hbWVzID0gdGFibGVPcHRpb25zLnZpc2libGVDb2x1bW5zLmZpbHRlcihjID0+IHRoaXMuY29sc05vdEluY2x1ZGVkLmluZGV4T2YoYykgPT09IC0xKTtcbiAgICB0aGlzLmNvbHVtbk5hbWVzID0gdGhpcy50YWJsZS5nZXRDb2x1bW5OYW1lcyh0YWJsZUNvbHVtbk5hbWVzKTtcblxuICAgIC8vIFRhYmxlIGNvbHVtbiBzcWxUeXBlc1xuICAgIHRoaXMuc3FsVHlwZXMgPSB0aGlzLnRhYmxlLmdldFNxbFR5cGVzKCk7XG5cbiAgICAvLyBUYWJsZSBlbnRpdHlcbiAgICB0aGlzLmVudGl0eSA9IHRoaXMudGFibGUuZW50aXR5O1xuXG4gICAgLy8gVGFibGUgc2VydmljZVxuICAgIHRoaXMuc2VydmljZSA9IHRoaXMudGFibGUuc2VydmljZTtcblxuICAgIC8vIFRhYmxlIGZpbHRlclxuICAgIHRoaXMuZmlsdGVyID0gdGhpcy5nZXRGaWx0ZXJXaXRoQmFzaWNFeHByZXNzaW9uKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RmlsdGVyV2l0aEJhc2ljRXhwcmVzc2lvbigpOiBhbnkge1xuICAgIGxldCBmaWx0ZXIgPSB7fTtcbiAgICBsZXQgcGFyZW50S2V5c2ZpbHRlciA9IHRoaXMudGFibGUuZ2V0Q29tcG9uZW50RmlsdGVyKCk7XG5cbiAgICBmaWx0ZXIgPSB0aGlzLmFwcGx5UGFyZW50SXRlbUV4cHJlc3Npb24oZmlsdGVyKTtcbiAgICBmaWx0ZXIgPSB0aGlzLmFwcGx5Q29sdW1uRmlsdGVycyhmaWx0ZXIpO1xuXG4gICAgZmlsdGVyID0gT2JqZWN0LmFzc2lnbihmaWx0ZXIgfHwge30sIHBhcmVudEtleXNmaWx0ZXIpO1xuXG4gICAgaWYgKCF0aGlzLnRhYmxlLnBhZ2VhYmxlKSB7XG4gICAgICBmaWx0ZXIgPSB0aGlzLmFwcGx5UXVpY2tBbmRCdWlsZGVyRmlsdGVycyhmaWx0ZXIpO1xuICAgIH1cblxuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5UGFyZW50SXRlbUV4cHJlc3Npb24oZmlsdGVyOiBhbnkpOiBhbnkge1xuICAgIGlmIChPYmplY3Qua2V5cyhmaWx0ZXIpLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBhcmVudEl0ZW1FeHByID0gRmlsdGVyRXhwcmVzc2lvblV0aWxzLmJ1aWxkRXhwcmVzc2lvbkZyb21PYmplY3QoZmlsdGVyKTtcbiAgICAgIGZpbHRlciA9IHt9O1xuICAgICAgZmlsdGVyW0ZpbHRlckV4cHJlc3Npb25VdGlscy5GSUxURVJfRVhQUkVTU0lPTl9LRVldID0gcGFyZW50SXRlbUV4cHI7XG4gICAgfVxuICAgIHJldHVybiBmaWx0ZXI7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Q29sdW1uRmlsdGVycyhmaWx0ZXI6IGFueSk6IGFueSB7XG4gICAgY29uc3QgYmVDb2xGaWx0ZXIgPSB0aGlzLnRhYmxlLmdldENvbHVtbkZpbHRlcnNFeHByZXNzaW9uKCk7XG5cbiAgICBpZiAoYmVDb2xGaWx0ZXIpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRGaWx0ZXJFeHByID0gZmlsdGVyW0ZpbHRlckV4cHJlc3Npb25VdGlscy5GSUxURVJfRVhQUkVTU0lPTl9LRVldO1xuXG4gICAgICBpZiAoIVV0aWwuaXNEZWZpbmVkKGN1cnJlbnRGaWx0ZXJFeHByKSkge1xuICAgICAgICBmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkZJTFRFUl9FWFBSRVNTSU9OX0tFWV0gPSBiZUNvbEZpbHRlcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpbHRlcltGaWx0ZXJFeHByZXNzaW9uVXRpbHMuRklMVEVSX0VYUFJFU1NJT05fS0VZXSA9XG4gICAgICAgICAgRmlsdGVyRXhwcmVzc2lvblV0aWxzLmJ1aWxkQ29tcGxleEV4cHJlc3Npb24oY3VycmVudEZpbHRlckV4cHIsIGJlQ29sRmlsdGVyLCBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuT1BfQU5EKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmlsdGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBseVF1aWNrQW5kQnVpbGRlckZpbHRlcnMoZmlsdGVyOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHF1aWNrRmlsdGVyRXhwciA9IFV0aWwuaXNEZWZpbmVkKHRoaXMudGFibGUub1RhYmxlUXVpY2tGaWx0ZXJDb21wb25lbnQpXG4gICAgICA/IHRoaXMudGFibGUub1RhYmxlUXVpY2tGaWx0ZXJDb21wb25lbnQuZmlsdGVyRXhwcmVzc2lvblxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBmaWx0ZXJCdWlsZGVyRXhwciA9IFV0aWwuaXNEZWZpbmVkKHRoaXMudGFibGUuZmlsdGVyQnVpbGRlcilcbiAgICAgID8gdGhpcy50YWJsZS5maWx0ZXJCdWlsZGVyLmdldEV4cHJlc3Npb24oKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBsZXQgY29tcGxleEV4cHIgPSBxdWlja0ZpbHRlckV4cHIgfHwgZmlsdGVyQnVpbGRlckV4cHI7XG4gICAgaWYgKHF1aWNrRmlsdGVyRXhwciAmJiBmaWx0ZXJCdWlsZGVyRXhwcikge1xuICAgICAgY29tcGxleEV4cHIgPSBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuYnVpbGRDb21wbGV4RXhwcmVzc2lvbihxdWlja0ZpbHRlckV4cHIsIGZpbHRlckJ1aWxkZXJFeHByLCBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuT1BfQU5EKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcGxleEV4cHIpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRCYXNpY0V4cHIgPSBmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkJBU0lDX0VYUFJFU1NJT05fS0VZXTtcblxuICAgICAgaWYgKCFVdGlsLmlzRGVmaW5lZChjdXJyZW50QmFzaWNFeHByKSkge1xuICAgICAgICBmaWx0ZXJbRmlsdGVyRXhwcmVzc2lvblV0aWxzLkJBU0lDX0VYUFJFU1NJT05fS0VZXSA9IGNvbXBsZXhFeHByO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVyW0ZpbHRlckV4cHJlc3Npb25VdGlscy5CQVNJQ19FWFBSRVNTSU9OX0tFWV0gPVxuICAgICAgICAgIEZpbHRlckV4cHJlc3Npb25VdGlscy5idWlsZENvbXBsZXhFeHByZXNzaW9uKGN1cnJlbnRCYXNpY0V4cHIsIGNvbXBsZXhFeHByLCBGaWx0ZXJFeHByZXNzaW9uVXRpbHMuT1BfQU5EKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmlsdGVyO1xuICB9XG5cbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1pbnB1dHMtb3B0aW9ucy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3R5cGVzL28taW5wdXRzLW9wdGlvbnMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgT0lucHV0c0NvbG9yID0gJ3ByaW1hcnknIHwgJ2FjY2VudCc7XG5cbmV4cG9ydCB0eXBlIE9JbnB1dHNPcHRpb25zID0ge1xuICBpY29uQ29sb3I/OiBPSW5wdXRzQ29sb3IsXG4gIHNlbGVjdEFsbE9uQ2xpY2s/OiBib29sZWFuXG59O1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1pbnB1dHMtb3B0aW9ucy50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3R5cGVzL28taW5wdXRzLW9wdGlvbnMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgT0lucHV0c0NvbG9yID0gJ3ByaW1hcnknIHwgJ2FjY2VudCc7XG5cbmV4cG9ydCB0eXBlIE9JbnB1dHNPcHRpb25zID0ge1xuICBpY29uQ29sb3I/OiBPSW5wdXRzQ29sb3IsXG4gIHNlbGVjdEFsbE9uQ2xpY2s/OiBib29sZWFuLFxuICBzdHJpbmdDYXNlPzogJ3VwcGVyY2FzZScgfCAnbG93ZXJjYXNlJyB8ICdkZWZhdWx0Jztcbn07XG4iXX0=