@skyux/core 6.16.0 → 6.18.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 (79) hide show
  1. package/documentation.json +1042 -892
  2. package/esm2020/lib/modules/adapter-service/adapter.service.mjs +21 -22
  3. package/esm2020/lib/modules/affix/affix-offset.mjs +1 -1
  4. package/esm2020/lib/modules/affix/affix.directive.mjs +38 -23
  5. package/esm2020/lib/modules/affix/affixer.mjs +266 -260
  6. package/esm2020/lib/modules/affix/dom-utils.mjs +7 -7
  7. package/esm2020/lib/modules/dock/dock-dom-adapter.service.mjs +48 -44
  8. package/esm2020/lib/modules/dock/dock-item.mjs +10 -5
  9. package/esm2020/lib/modules/dock/dock.component.mjs +55 -31
  10. package/esm2020/lib/modules/dock/dock.service.mjs +40 -36
  11. package/esm2020/lib/modules/dynamic-component/dynamic-component.service.mjs +37 -22
  12. package/esm2020/lib/modules/log/log.service.mjs +37 -37
  13. package/esm2020/lib/modules/media-query/media-query.service.mjs +50 -47
  14. package/esm2020/lib/modules/mutation/mutation-observer-service.mjs +3 -1
  15. package/esm2020/lib/modules/numeric/numeric.pipe.mjs +26 -19
  16. package/esm2020/lib/modules/numeric/numeric.service.mjs +84 -99
  17. package/esm2020/lib/modules/overlay/overlay-adapter.service.mjs +23 -17
  18. package/esm2020/lib/modules/overlay/overlay-instance.mjs +18 -9
  19. package/esm2020/lib/modules/overlay/overlay.component.mjs +79 -55
  20. package/esm2020/lib/modules/overlay/overlay.service.mjs +55 -49
  21. package/esm2020/lib/modules/percent-pipe/percent.pipe.mjs +32 -21
  22. package/esm2020/lib/modules/resize-observer/resize-observer-media-query.service.mjs +38 -46
  23. package/esm2020/lib/modules/scrollable-host/scrollable-host.service.mjs +66 -67
  24. package/esm2020/lib/modules/title/title.service.mjs +8 -4
  25. package/esm2020/lib/modules/trim/trim.directive.mjs +10 -11
  26. package/esm2020/lib/modules/viewkeeper/viewkeeper-boundary-info.mjs +1 -1
  27. package/esm2020/lib/modules/viewkeeper/viewkeeper.directive.mjs +75 -60
  28. package/esm2020/lib/modules/viewkeeper/viewkeeper.mjs +166 -156
  29. package/esm2020/lib/modules/viewkeeper/viewkeeper.service.mjs +7 -3
  30. package/esm2020/testing/core-testing.module.mjs +4 -1
  31. package/esm2020/testing/mock-media-query.service.mjs +4 -1
  32. package/esm2020/testing/mock-ui-config.service.mjs +4 -1
  33. package/esm2020/testing/overlay/overlay-harness-filters.mjs +1 -1
  34. package/esm2020/testing/overlay/overlay-harness.mjs +2 -1
  35. package/esm2020/testing/shared/component-harness.mjs +4 -1
  36. package/esm2020/testing/shared/harness-filters.mjs +1 -1
  37. package/fesm2015/skyux-core-testing.mjs +13 -0
  38. package/fesm2015/skyux-core-testing.mjs.map +1 -1
  39. package/fesm2015/skyux-core.mjs +1276 -1151
  40. package/fesm2015/skyux-core.mjs.map +1 -1
  41. package/fesm2020/skyux-core-testing.mjs +13 -0
  42. package/fesm2020/skyux-core-testing.mjs.map +1 -1
  43. package/fesm2020/skyux-core.mjs +1278 -1150
  44. package/fesm2020/skyux-core.mjs.map +1 -1
  45. package/lib/modules/adapter-service/adapter.service.d.ts +3 -5
  46. package/lib/modules/affix/affix-offset.d.ts +1 -1
  47. package/lib/modules/affix/affix.directive.d.ts +12 -13
  48. package/lib/modules/affix/affixer.d.ts +2 -34
  49. package/lib/modules/affix/dom-utils.d.ts +3 -3
  50. package/lib/modules/dock/dock-dom-adapter.service.d.ts +2 -9
  51. package/lib/modules/dock/dock-item.d.ts +1 -1
  52. package/lib/modules/dock/dock.component.d.ts +2 -10
  53. package/lib/modules/dock/dock.service.d.ts +2 -5
  54. package/lib/modules/dynamic-component/dynamic-component.service.d.ts +2 -7
  55. package/lib/modules/log/log.service.d.ts +2 -6
  56. package/lib/modules/media-query/media-query.service.d.ts +1 -8
  57. package/lib/modules/numeric/numeric.pipe.d.ts +2 -8
  58. package/lib/modules/numeric/numeric.service.d.ts +3 -36
  59. package/lib/modules/overlay/overlay-adapter.service.d.ts +1 -3
  60. package/lib/modules/overlay/overlay-instance.d.ts +1 -2
  61. package/lib/modules/overlay/overlay.component.d.ts +1 -14
  62. package/lib/modules/overlay/overlay.service.d.ts +1 -7
  63. package/lib/modules/percent-pipe/percent.pipe.d.ts +2 -9
  64. package/lib/modules/resize-observer/resize-observer-media-query.service.d.ts +2 -7
  65. package/lib/modules/scrollable-host/scrollable-host.service.d.ts +2 -11
  66. package/lib/modules/title/title.service.d.ts +2 -2
  67. package/lib/modules/trim/trim.directive.d.ts +0 -2
  68. package/lib/modules/viewkeeper/viewkeeper-boundary-info.d.ts +1 -1
  69. package/lib/modules/viewkeeper/viewkeeper.d.ts +2 -24
  70. package/lib/modules/viewkeeper/viewkeeper.directive.d.ts +4 -16
  71. package/lib/modules/viewkeeper/viewkeeper.service.d.ts +1 -1
  72. package/package.json +2 -2
  73. package/testing/core-testing.module.d.ts +3 -0
  74. package/testing/mock-media-query.service.d.ts +3 -0
  75. package/testing/mock-ui-config.service.d.ts +3 -0
  76. package/testing/overlay/overlay-harness-filters.d.ts +1 -0
  77. package/testing/overlay/overlay-harness.d.ts +1 -0
  78. package/testing/shared/component-harness.d.ts +3 -0
  79. package/testing/shared/harness-filters.d.ts +1 -0
@@ -1,3 +1,5 @@
1
+ var _SkyPercentPipe_instances, _SkyPercentPipe_defaultFormat, _SkyPercentPipe_defaultLocale, _SkyPercentPipe_format, _SkyPercentPipe_formattedValue, _SkyPercentPipe_locale, _SkyPercentPipe_ngUnsubscribe, _SkyPercentPipe_value, _SkyPercentPipe_updateFormattedValue;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Pipe } from '@angular/core';
2
4
  import { SkyAppLocaleProvider, SkyIntlNumberFormatStyle } from '@skyux/i18n';
3
5
  import { Subject } from 'rxjs';
@@ -7,35 +9,44 @@ import * as i0 from "@angular/core";
7
9
  import * as i1 from "@skyux/i18n";
8
10
  export class SkyPercentPipe {
9
11
  constructor(localeProvider) {
10
- this.localeProvider = localeProvider;
11
- this.defaultFormat = '1.0-2';
12
- this.defaultLocale = 'en-US';
13
- this.ngUnsubscribe = new Subject();
14
- this.localeProvider
12
+ _SkyPercentPipe_instances.add(this);
13
+ _SkyPercentPipe_defaultFormat.set(this, '1.0-2');
14
+ _SkyPercentPipe_defaultLocale.set(this, 'en-US');
15
+ _SkyPercentPipe_format.set(this, void 0);
16
+ _SkyPercentPipe_formattedValue.set(this, '');
17
+ _SkyPercentPipe_locale.set(this, void 0);
18
+ _SkyPercentPipe_ngUnsubscribe.set(this, new Subject());
19
+ _SkyPercentPipe_value.set(this, void 0);
20
+ localeProvider
15
21
  .getLocaleInfo()
16
- .pipe(takeUntil(this.ngUnsubscribe))
22
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyPercentPipe_ngUnsubscribe, "f")))
17
23
  .subscribe((localeInfo) => {
18
- this.defaultLocale = localeInfo.locale;
19
- this.updateFormattedValue();
24
+ __classPrivateFieldSet(this, _SkyPercentPipe_defaultLocale, localeInfo.locale, "f");
25
+ __classPrivateFieldGet(this, _SkyPercentPipe_instances, "m", _SkyPercentPipe_updateFormattedValue).call(this);
20
26
  });
21
27
  }
28
+ get defaultLocale() {
29
+ return __classPrivateFieldGet(this, _SkyPercentPipe_defaultLocale, "f");
30
+ }
22
31
  ngOnDestroy() {
23
- this.ngUnsubscribe.next();
24
- this.ngUnsubscribe.complete();
32
+ __classPrivateFieldGet(this, _SkyPercentPipe_ngUnsubscribe, "f").next();
33
+ __classPrivateFieldGet(this, _SkyPercentPipe_ngUnsubscribe, "f").complete();
25
34
  }
26
35
  transform(value, format, locale) {
27
- this.value = value;
28
- this.format = format;
29
- this.locale = locale;
30
- this.updateFormattedValue();
31
- return this.formattedValue;
32
- }
33
- updateFormattedValue() {
34
- const locale = this.locale || this.defaultLocale;
35
- const format = this.format || this.defaultFormat;
36
- this.formattedValue = SkyNumberFormatUtility.formatNumber(locale, this.value, SkyIntlNumberFormatStyle.Percent, format);
36
+ __classPrivateFieldSet(this, _SkyPercentPipe_value, value, "f");
37
+ __classPrivateFieldSet(this, _SkyPercentPipe_format, format, "f");
38
+ __classPrivateFieldSet(this, _SkyPercentPipe_locale, locale, "f");
39
+ __classPrivateFieldGet(this, _SkyPercentPipe_instances, "m", _SkyPercentPipe_updateFormattedValue).call(this);
40
+ return __classPrivateFieldGet(this, _SkyPercentPipe_formattedValue, "f");
37
41
  }
38
42
  }
43
+ _SkyPercentPipe_defaultFormat = new WeakMap(), _SkyPercentPipe_defaultLocale = new WeakMap(), _SkyPercentPipe_format = new WeakMap(), _SkyPercentPipe_formattedValue = new WeakMap(), _SkyPercentPipe_locale = new WeakMap(), _SkyPercentPipe_ngUnsubscribe = new WeakMap(), _SkyPercentPipe_value = new WeakMap(), _SkyPercentPipe_instances = new WeakSet(), _SkyPercentPipe_updateFormattedValue = function _SkyPercentPipe_updateFormattedValue() {
44
+ const locale = __classPrivateFieldGet(this, _SkyPercentPipe_locale, "f") || __classPrivateFieldGet(this, _SkyPercentPipe_defaultLocale, "f");
45
+ const format = __classPrivateFieldGet(this, _SkyPercentPipe_format, "f") || __classPrivateFieldGet(this, _SkyPercentPipe_defaultFormat, "f");
46
+ __classPrivateFieldSet(this, _SkyPercentPipe_formattedValue, __classPrivateFieldGet(this, _SkyPercentPipe_value, "f")
47
+ ? SkyNumberFormatUtility.formatNumber(locale, __classPrivateFieldGet(this, _SkyPercentPipe_value, "f"), SkyIntlNumberFormatStyle.Percent, format)
48
+ : '', "f");
49
+ };
39
50
  SkyPercentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPercentPipe, deps: [{ token: i1.SkyAppLocaleProvider }], target: i0.ɵɵFactoryTarget.Pipe });
40
51
  SkyPercentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPercentPipe, name: "skyPercent", pure: false });
41
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyPercentPipe, decorators: [{
@@ -45,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
45
56
  pure: false,
46
57
  }]
47
58
  }], ctorParameters: function () { return [{ type: i1.SkyAppLocaleProvider }]; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOzs7QUFNdkYsTUFBTSxPQUFPLGNBQWM7SUFlekIsWUFBb0IsY0FBb0M7UUFBcEMsbUJBQWMsR0FBZCxjQUFjLENBQXNCO1FBZGhELGtCQUFhLEdBQUcsT0FBTyxDQUFDO1FBSXhCLGtCQUFhLEdBQUcsT0FBTyxDQUFDO1FBUXhCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUcxQyxJQUFJLENBQUMsY0FBYzthQUNoQixhQUFhLEVBQUU7YUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQyxTQUFTLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDdkMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxLQUFhLEVBQUUsTUFBZSxFQUFFLE1BQWU7UUFDOUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFckIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFFNUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVqRCxJQUFJLENBQUMsY0FBYyxHQUFHLHNCQUFzQixDQUFDLFlBQVksQ0FDdkQsTUFBTSxFQUNOLElBQUksQ0FBQyxLQUFLLEVBQ1Ysd0JBQXdCLENBQUMsT0FBTyxFQUNoQyxNQUFNLENBQ1AsQ0FBQztJQUNKLENBQUM7OzJHQWxEVSxjQUFjO3lHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUFwcExvY2FsZVByb3ZpZGVyLCBTa3lJbnRsTnVtYmVyRm9ybWF0U3R5bGUgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TnVtYmVyRm9ybWF0VXRpbGl0eSB9IGZyb20gJy4uL3NoYXJlZC9udW1iZXItZm9ybWF0L251bWJlci1mb3JtYXQtdXRpbGl0eSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NreVBlcmNlbnQnLFxuICBwdXJlOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UGVyY2VudFBpcGUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIGRlZmF1bHRGb3JtYXQgPSAnMS4wLTInO1xuXG4gIHByaXZhdGUgZm9ybWF0OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBkZWZhdWx0TG9jYWxlID0gJ2VuLVVTJztcblxuICBwcml2YXRlIGxvY2FsZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgdmFsdWU6IHN0cmluZztcblxuICBwcml2YXRlIGZvcm1hdHRlZFZhbHVlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvY2FsZVByb3ZpZGVyOiBTa3lBcHBMb2NhbGVQcm92aWRlcikge1xuICAgIHRoaXMubG9jYWxlUHJvdmlkZXJcbiAgICAgIC5nZXRMb2NhbGVJbmZvKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICB0aGlzLmRlZmF1bHRMb2NhbGUgPSBsb2NhbGVJbmZvLmxvY2FsZTtcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtYXR0ZWRWYWx1ZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgZm9ybWF0Pzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLmZvcm1hdCA9IGZvcm1hdDtcbiAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZTtcblxuICAgIHRoaXMudXBkYXRlRm9ybWF0dGVkVmFsdWUoKTtcblxuICAgIHJldHVybiB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVGb3JtYXR0ZWRWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBsb2NhbGUgPSB0aGlzLmxvY2FsZSB8fCB0aGlzLmRlZmF1bHRMb2NhbGU7XG4gICAgY29uc3QgZm9ybWF0ID0gdGhpcy5mb3JtYXQgfHwgdGhpcy5kZWZhdWx0Rm9ybWF0O1xuXG4gICAgdGhpcy5mb3JtYXR0ZWRWYWx1ZSA9IFNreU51bWJlckZvcm1hdFV0aWxpdHkuZm9ybWF0TnVtYmVyKFxuICAgICAgbG9jYWxlLFxuICAgICAgdGhpcy52YWx1ZSxcbiAgICAgIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5QZXJjZW50LFxuICAgICAgZm9ybWF0XG4gICAgKTtcbiAgfVxufVxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyY2VudC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL3BlcmNlbnQtcGlwZS9wZXJjZW50LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQWEsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0NBQStDLENBQUM7OztBQU12RixNQUFNLE9BQU8sY0FBYztJQW1CekIsWUFBWSxjQUFvQzs7UUFkaEQsd0NBQWlCLE9BQU8sRUFBQztRQUV6Qix3Q0FBaUIsT0FBTyxFQUFDO1FBRXpCLHlDQUE0QjtRQUU1Qix5Q0FBa0IsRUFBRSxFQUFDO1FBRXJCLHlDQUE0QjtRQUU1Qix3Q0FBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUVyQyx3Q0FBMkI7UUFHekIsY0FBYzthQUNYLGFBQWEsRUFBRTthQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSxxQ0FBZSxDQUFDLENBQUM7YUFDcEMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDeEIsdUJBQUEsSUFBSSxpQ0FBa0IsVUFBVSxDQUFDLE1BQU0sTUFBQSxDQUFDO1lBQ3hDLHVCQUFBLElBQUksdUVBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUExQkQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sdUJBQUEsSUFBSSxxQ0FBZSxDQUFDO0lBQzdCLENBQUM7SUEwQk0sV0FBVztRQUNoQix1QkFBQSxJQUFJLHFDQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsdUJBQUEsSUFBSSxxQ0FBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBYSxFQUFFLE1BQWUsRUFBRSxNQUFlO1FBQzlELHVCQUFBLElBQUkseUJBQVUsS0FBSyxNQUFBLENBQUM7UUFDcEIsdUJBQUEsSUFBSSwwQkFBVyxNQUFNLE1BQUEsQ0FBQztRQUN0Qix1QkFBQSxJQUFJLDBCQUFXLE1BQU0sTUFBQSxDQUFDO1FBRXRCLHVCQUFBLElBQUksdUVBQXNCLE1BQTFCLElBQUksQ0FBd0IsQ0FBQztRQUU3QixPQUFPLHVCQUFBLElBQUksc0NBQWdCLENBQUM7SUFDOUIsQ0FBQzs7O0lBR0MsTUFBTSxNQUFNLEdBQUcsdUJBQUEsSUFBSSw4QkFBUSxJQUFJLHVCQUFBLElBQUkscUNBQWUsQ0FBQztJQUNuRCxNQUFNLE1BQU0sR0FBRyx1QkFBQSxJQUFJLDhCQUFRLElBQUksdUJBQUEsSUFBSSxxQ0FBZSxDQUFDO0lBRW5ELHVCQUFBLElBQUksa0NBQW1CLHVCQUFBLElBQUksNkJBQU87UUFDaEMsQ0FBQyxDQUFFLHNCQUFzQixDQUFDLFlBQVksQ0FDbEMsTUFBTSxFQUNOLHVCQUFBLElBQUksNkJBQU8sRUFDWCx3QkFBd0IsQ0FBQyxPQUFPLEVBQ2hDLE1BQU0sQ0FDSTtRQUNkLENBQUMsQ0FBQyxFQUFFLE1BQUEsQ0FBQztBQUNULENBQUM7MkdBeERVLGNBQWM7eUdBQWQsY0FBYzsyRkFBZCxjQUFjO2tCQUoxQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO29CQUNsQixJQUFJLEVBQUUsS0FBSztpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uRGVzdHJveSwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5QXBwTG9jYWxlUHJvdmlkZXIsIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lOdW1iZXJGb3JtYXRVdGlsaXR5IH0gZnJvbSAnLi4vc2hhcmVkL251bWJlci1mb3JtYXQvbnVtYmVyLWZvcm1hdC11dGlsaXR5JztcblxuQFBpcGUoe1xuICBuYW1lOiAnc2t5UGVyY2VudCcsXG4gIHB1cmU6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQZXJjZW50UGlwZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyBnZXQgZGVmYXVsdExvY2FsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNkZWZhdWx0TG9jYWxlO1xuICB9XG5cbiAgI2RlZmF1bHRGb3JtYXQgPSAnMS4wLTInO1xuXG4gICNkZWZhdWx0TG9jYWxlID0gJ2VuLVVTJztcblxuICAjZm9ybWF0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgI2Zvcm1hdHRlZFZhbHVlID0gJyc7XG5cbiAgI2xvY2FsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihsb2NhbGVQcm92aWRlcjogU2t5QXBwTG9jYWxlUHJvdmlkZXIpIHtcbiAgICBsb2NhbGVQcm92aWRlclxuICAgICAgLmdldExvY2FsZUluZm8oKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobG9jYWxlSW5mbykgPT4ge1xuICAgICAgICB0aGlzLiNkZWZhdWx0TG9jYWxlID0gbG9jYWxlSW5mby5sb2NhbGU7XG4gICAgICAgIHRoaXMuI3VwZGF0ZUZvcm1hdHRlZFZhbHVlKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGZvcm1hdD86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB0aGlzLiN2YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuI2Zvcm1hdCA9IGZvcm1hdDtcbiAgICB0aGlzLiNsb2NhbGUgPSBsb2NhbGU7XG5cbiAgICB0aGlzLiN1cGRhdGVGb3JtYXR0ZWRWYWx1ZSgpO1xuXG4gICAgcmV0dXJuIHRoaXMuI2Zvcm1hdHRlZFZhbHVlO1xuICB9XG5cbiAgI3VwZGF0ZUZvcm1hdHRlZFZhbHVlKCk6IHZvaWQge1xuICAgIGNvbnN0IGxvY2FsZSA9IHRoaXMuI2xvY2FsZSB8fCB0aGlzLiNkZWZhdWx0TG9jYWxlO1xuICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuI2Zvcm1hdCB8fCB0aGlzLiNkZWZhdWx0Rm9ybWF0O1xuXG4gICAgdGhpcy4jZm9ybWF0dGVkVmFsdWUgPSB0aGlzLiN2YWx1ZVxuICAgICAgPyAoU2t5TnVtYmVyRm9ybWF0VXRpbGl0eS5mb3JtYXROdW1iZXIoXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHRoaXMuI3ZhbHVlLFxuICAgICAgICAgIFNreUludGxOdW1iZXJGb3JtYXRTdHlsZS5QZXJjZW50LFxuICAgICAgICAgIGZvcm1hdFxuICAgICAgICApIGFzIHN0cmluZylcbiAgICAgIDogJyc7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- var _SkyResizeObserverMediaQueryService_breakpoints, _SkyResizeObserverMediaQueryService_currentBreakpointObservable, _SkyResizeObserverMediaQueryService_stopListening, _SkyResizeObserverMediaQueryService_target;
1
+ var _SkyResizeObserverMediaQueryService_instances, _SkyResizeObserverMediaQueryService_breakpoints, _SkyResizeObserverMediaQueryService_currentBreakpoint, _SkyResizeObserverMediaQueryService_currentBreakpointObs, _SkyResizeObserverMediaQueryService_ngUnsubscribe, _SkyResizeObserverMediaQueryService_resizeObserverSvc, _SkyResizeObserverMediaQueryService_target, _SkyResizeObserverMediaQueryService_updateBreakpoint, _SkyResizeObserverMediaQueryService_checkBreakpoint, _SkyResizeObserverMediaQueryService_checkWidth;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { Injectable } from '@angular/core';
4
4
  import { ReplaySubject, Subject } from 'rxjs';
@@ -7,12 +7,13 @@ import { SkyMediaBreakpoints } from '../media-query/media-breakpoints';
7
7
  import { SkyResizeObserverService } from './resize-observer.service';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "./resize-observer.service";
10
+ const DEFAULT_BREAKPOINT = SkyMediaBreakpoints.md;
10
11
  /**
11
12
  * Acts like `SkyMediaQueryService` for a container element, emitting the same responsive breakpoints.
12
13
  */
13
14
  export class SkyResizeObserverMediaQueryService {
14
- constructor(resizeObserverService) {
15
- this.resizeObserverService = resizeObserverService;
15
+ constructor(resizeObserverSvc) {
16
+ _SkyResizeObserverMediaQueryService_instances.add(this);
16
17
  _SkyResizeObserverMediaQueryService_breakpoints.set(this, [
17
18
  {
18
19
  check: (width) => width > 0 && width <= 767,
@@ -31,25 +32,23 @@ export class SkyResizeObserverMediaQueryService {
31
32
  name: SkyMediaBreakpoints.lg,
32
33
  },
33
34
  ]);
34
- _SkyResizeObserverMediaQueryService_currentBreakpointObservable.set(this, new ReplaySubject(1));
35
- _SkyResizeObserverMediaQueryService_stopListening.set(this, new Subject());
35
+ _SkyResizeObserverMediaQueryService_currentBreakpoint.set(this, DEFAULT_BREAKPOINT);
36
+ _SkyResizeObserverMediaQueryService_currentBreakpointObs.set(this, new ReplaySubject(1));
37
+ _SkyResizeObserverMediaQueryService_ngUnsubscribe.set(this, new Subject());
38
+ _SkyResizeObserverMediaQueryService_resizeObserverSvc.set(this, void 0);
36
39
  _SkyResizeObserverMediaQueryService_target.set(this, void 0);
37
- __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_stopListening, "f").subscribe(() => {
38
- __classPrivateFieldSet(this, _SkyResizeObserverMediaQueryService_target, undefined, "f");
39
- this.updateBreakpoint(undefined);
40
- });
40
+ __classPrivateFieldSet(this, _SkyResizeObserverMediaQueryService_resizeObserverSvc, resizeObserverSvc, "f");
41
41
  }
42
42
  /**
43
43
  * Returns the current breakpoint.
44
44
  */
45
45
  get current() {
46
- return this._currentBreakpoint;
46
+ return __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_currentBreakpoint, "f");
47
47
  }
48
48
  ngOnDestroy() {
49
- __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_stopListening, "f").next();
50
- this._currentBreakpoint = undefined;
51
- __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_stopListening, "f").complete();
52
- __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_currentBreakpointObservable, "f").complete();
49
+ this.unobserve();
50
+ __classPrivateFieldSet(this, _SkyResizeObserverMediaQueryService_target, undefined, "f");
51
+ __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_currentBreakpointObs, "f").complete();
53
52
  }
54
53
  /**
55
54
  * @internal
@@ -66,18 +65,17 @@ export class SkyResizeObserverMediaQueryService {
66
65
  if (__classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_target, "f") === element) {
67
66
  return this;
68
67
  }
69
- __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_stopListening, "f").next();
68
+ this.unobserve();
70
69
  }
71
70
  __classPrivateFieldSet(this, _SkyResizeObserverMediaQueryService_target, element, "f");
72
- this.checkWidth(element);
73
- this.resizeObserverService
71
+ __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_instances, "m", _SkyResizeObserverMediaQueryService_checkWidth).call(this, element);
72
+ __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_resizeObserverSvc, "f")
74
73
  .observe(element)
75
- .pipe(takeUntil(__classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_stopListening, "f")))
74
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_ngUnsubscribe, "f")))
76
75
  .subscribe((value) => {
77
- const breakpoint = this.checkBreakpoint(value.contentRect.width);
78
- /* istanbul ignore else */
79
- if (breakpoint !== this.current) {
80
- this.updateBreakpoint(breakpoint);
76
+ const breakpoint = __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_instances, "m", _SkyResizeObserverMediaQueryService_checkBreakpoint).call(this, value.contentRect.width);
77
+ if (breakpoint && breakpoint !== this.current) {
78
+ __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_instances, "m", _SkyResizeObserverMediaQueryService_updateBreakpoint).call(this, breakpoint);
81
79
  }
82
80
  });
83
81
  return this;
@@ -86,39 +84,33 @@ export class SkyResizeObserverMediaQueryService {
86
84
  * Stop watching the container element.
87
85
  */
88
86
  unobserve() {
89
- __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_stopListening, "f").next();
87
+ __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_ngUnsubscribe, "f").next();
88
+ __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_ngUnsubscribe, "f").complete();
90
89
  }
91
90
  /**
92
91
  * Subscribes to element size changes that cross breakpoints.
93
92
  */
94
93
  subscribe(listener) {
95
- return __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_currentBreakpointObservable, "f")
96
- .pipe(takeUntil(__classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_stopListening, "f")))
94
+ return __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_currentBreakpointObs, "f")
95
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_ngUnsubscribe, "f")))
97
96
  .subscribe((value) => {
98
97
  listener(value);
99
98
  });
100
99
  }
101
- updateBreakpoint(breakpoint) {
102
- this._currentBreakpoint = breakpoint;
103
- __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_currentBreakpointObservable, "f").next(breakpoint);
104
- }
105
- checkBreakpoint(width) {
106
- const breakpoint = __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_breakpoints, "f").find((breakpoint) => breakpoint.check(width));
107
- /* istanbul ignore else */
108
- if (breakpoint) {
109
- return breakpoint.name;
110
- }
111
- }
112
- checkWidth(element) {
113
- const width = element.nativeElement.offsetWidth || 0;
114
- const breakpoint = this.checkBreakpoint(width);
115
- /* istanbul ignore else */
116
- if (breakpoint !== this._currentBreakpoint) {
117
- this.updateBreakpoint(breakpoint);
118
- }
119
- }
120
100
  }
121
- _SkyResizeObserverMediaQueryService_breakpoints = new WeakMap(), _SkyResizeObserverMediaQueryService_currentBreakpointObservable = new WeakMap(), _SkyResizeObserverMediaQueryService_stopListening = new WeakMap(), _SkyResizeObserverMediaQueryService_target = new WeakMap();
101
+ _SkyResizeObserverMediaQueryService_breakpoints = new WeakMap(), _SkyResizeObserverMediaQueryService_currentBreakpoint = new WeakMap(), _SkyResizeObserverMediaQueryService_currentBreakpointObs = new WeakMap(), _SkyResizeObserverMediaQueryService_ngUnsubscribe = new WeakMap(), _SkyResizeObserverMediaQueryService_resizeObserverSvc = new WeakMap(), _SkyResizeObserverMediaQueryService_target = new WeakMap(), _SkyResizeObserverMediaQueryService_instances = new WeakSet(), _SkyResizeObserverMediaQueryService_updateBreakpoint = function _SkyResizeObserverMediaQueryService_updateBreakpoint(breakpoint) {
102
+ __classPrivateFieldSet(this, _SkyResizeObserverMediaQueryService_currentBreakpoint, breakpoint, "f");
103
+ __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_currentBreakpointObs, "f").next(breakpoint);
104
+ }, _SkyResizeObserverMediaQueryService_checkBreakpoint = function _SkyResizeObserverMediaQueryService_checkBreakpoint(width) {
105
+ const breakpoint = __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_breakpoints, "f").find((breakpoint) => breakpoint.check(width));
106
+ return breakpoint ? breakpoint.name : undefined;
107
+ }, _SkyResizeObserverMediaQueryService_checkWidth = function _SkyResizeObserverMediaQueryService_checkWidth(el) {
108
+ const width = el.nativeElement.offsetWidth || 0;
109
+ const breakpoint = __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_instances, "m", _SkyResizeObserverMediaQueryService_checkBreakpoint).call(this, width);
110
+ if (breakpoint && breakpoint !== __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_currentBreakpoint, "f")) {
111
+ __classPrivateFieldGet(this, _SkyResizeObserverMediaQueryService_instances, "m", _SkyResizeObserverMediaQueryService_updateBreakpoint).call(this, breakpoint);
112
+ }
113
+ };
122
114
  SkyResizeObserverMediaQueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyResizeObserverMediaQueryService, deps: [{ token: i1.SkyResizeObserverService }], target: i0.ɵɵFactoryTarget.Injectable });
123
115
  SkyResizeObserverMediaQueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyResizeObserverMediaQueryService, providedIn: 'any' });
124
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyResizeObserverMediaQueryService, decorators: [{
@@ -127,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
127
119
  providedIn: 'any',
128
120
  }]
129
121
  }], ctorParameters: function () { return [{ type: i1.SkyResizeObserverService }]; } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvcmVzaXplLW9ic2VydmVyL3Jlc2l6ZS1vYnNlcnZlci1tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFjLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFckU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0NBQWtDO0lBd0M3QyxZQUFvQixxQkFBK0M7UUFBL0MsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUEwQjtRQWhDbkUsMERBR007WUFDSjtnQkFDRSxLQUFLLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLEdBQUc7Z0JBQ25ELElBQUksRUFBRSxtQkFBbUIsQ0FBQyxFQUFFO2FBQzdCO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLEtBQUssSUFBSSxHQUFHO2dCQUNyRCxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtZQUNEO2dCQUNFLEtBQUssRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUksSUFBSTtnQkFDdEQsSUFBSSxFQUFFLG1C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QWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUN2RCxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUN4QixDQUFDO1FBRUYsMEJBQTBCO1FBQzFCLElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FBQyxPQUFtQjtRQUNwQyxNQUFNLEtBQUssR0FBSSxPQUFPLENBQUMsYUFBNkIsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsMEJBQTBCO1FBQzFCLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDOzs7K0hBcElVLGtDQUFrQzttSUFBbEMsa0NBQWtDLGNBRmpDLEtBQUs7MkZBRU4sa0NBQWtDO2tCQUg5QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4uL21lZGlhLXF1ZXJ5L21lZGlhLWJyZWFrcG9pbnRzJztcbmltcG9ydCB7IFNreU1lZGlhUXVlcnlMaXN0ZW5lciB9IGZyb20gJy4uL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5LWxpc3RlbmVyJztcblxuaW1wb3J0IHsgU2t5UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5cbi8qKlxuICogQWN0cyBsaWtlIGBTa3lNZWRpYVF1ZXJ5U2VydmljZWAgZm9yIGEgY29udGFpbmVyIGVsZW1lbnQsIGVtaXR0aW5nIHRoZSBzYW1lIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBicmVha3BvaW50LlxuICAgKi9cbiAgcHVibGljIGdldCBjdXJyZW50KCk6IFNreU1lZGlhQnJlYWtwb2ludHMgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jdXJyZW50QnJlYWtwb2ludDtcbiAgfVxuXG4gICNicmVha3BvaW50czoge1xuICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gYm9vbGVhbjtcbiAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzO1xuICB9W10gPSBbXG4gICAge1xuICAgICAgY2hlY2s6ICh3aWR0aDogbnVtYmVyKSA9PiB3aWR0aCA+IDAgJiYgd2lkdGggPD0gNzY3LFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy54cyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gd2lkdGggPiA3NjcgJiYgd2lkdGggPD0gOTkxLFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy5zbSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gd2lkdGggPiA5OTEgJiYgd2lkdGggPD0gMTE5OSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGVjazogKHdpZHRoOiBudW1iZXIpID0+IHdpZHRoID4gMTE5OSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubGcsXG4gICAgfSxcbiAgXTtcblxuICAjY3VycmVudEJyZWFrcG9pbnRPYnNlcnZhYmxlID0gbmV3IFJlcGxheVN1YmplY3Q8XG4gICAgU2t5TWVkaWFCcmVha3BvaW50cyB8IHVuZGVmaW5lZFxuICA+KDEpO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRCcmVha3BvaW50OiBTa3lNZWRpYUJyZWFrcG9pbnRzO1xuXG4gICNzdG9wTGlzdGVuaW5nID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjdGFyZ2V0OiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJTZXJ2aWNlOiBTa3lSZXNpemVPYnNlcnZlclNlcnZpY2UpIHtcbiAgICB0aGlzLiNzdG9wTGlzdGVuaW5nLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLiN0YXJnZXQgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnVwZGF0ZUJyZWFrcG9pbnQodW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNzdG9wTGlzdGVuaW5nLm5leHQoKTtcbiAgICB0aGlzLl9jdXJyZW50QnJlYWtwb2ludCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLiNzdG9wTGlzdGVuaW5nLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jY3VycmVudEJyZWFrcG9pbnRPYnNlcnZhYmxlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nT25EZXN0cm95KCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgY29udGFpbmVyIGVsZW1lbnQgdG8gd2F0Y2guIFRoZSBgU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZWAgd2lsbCBvbmx5IG9ic2VydmUgb25lIGVsZW1lbnQgYXQgYVxuICAgKiB0aW1lLiBBbnkgcHJldmlvdXMgc3Vic2NyaXB0aW9ucyB3aWxsIGJlIHVuc3Vic2NyaWJlZCB3aGVuIGEgbmV3IGVsZW1lbnQgaXMgb2JzZXJ2ZWQuXG4gICAqL1xuICBwdWJsaWMgb2JzZXJ2ZShlbGVtZW50OiBFbGVtZW50UmVmKTogU2t5UmVzaXplT2JzZXJ2ZXJNZWRpYVF1ZXJ5U2VydmljZSB7XG4gICAgaWYgKHRoaXMuI3RhcmdldCkge1xuICAgICAgaWYgKHRoaXMuI3RhcmdldCA9PT0gZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cblxuICAgICAgdGhpcy4jc3RvcExpc3RlbmluZy5uZXh0KCk7XG4gICAgfVxuXG4gICAgdGhpcy4jdGFyZ2V0ID0gZWxlbWVudDtcblxuICAgIHRoaXMuY2hlY2tXaWR0aChlbGVtZW50KTtcblxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXJTZXJ2aWNlXG4gICAgICAub2JzZXJ2ZShlbGVtZW50KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI3N0b3BMaXN0ZW5pbmcpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgYnJlYWtwb2ludCA9IHRoaXMuY2hlY2tCcmVha3BvaW50KHZhbHVlLmNvbnRlbnRSZWN0LndpZHRoKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGJyZWFrcG9pbnQgIT09IHRoaXMuY3VycmVudCkge1xuICAgICAgICAgIHRoaXMudXBkYXRlQnJlYWtwb2ludChicmVha3BvaW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCB3YXRjaGluZyB0aGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgdW5vYnNlcnZlKCk6IHZvaWQge1xuICAgIHRoaXMuI3N0b3BMaXN0ZW5pbmcubmV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gZWxlbWVudCBzaXplIGNoYW5nZXMgdGhhdCBjcm9zcyBicmVha3BvaW50cy5cbiAgICovXG4gIHB1YmxpYyBzdWJzY3JpYmUobGlzdGVuZXI6IFNreU1lZGlhUXVlcnlMaXN0ZW5lcik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRCcmVha3BvaW50T2JzZXJ2YWJsZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI3N0b3BMaXN0ZW5pbmcpKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgbGlzdGVuZXIodmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUJyZWFrcG9pbnQoYnJlYWtwb2ludDogU2t5TWVkaWFCcmVha3BvaW50cykge1xuICAgIHRoaXMuX2N1cnJlbnRCcmVha3BvaW50ID0gYnJlYWtwb2ludDtcbiAgICB0aGlzLiNjdXJyZW50QnJlYWtwb2ludE9ic2VydmFibGUubmV4dChicmVha3BvaW50KTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tCcmVha3BvaW50KHdpZHRoOiBudW1iZXIpOiBTa3lNZWRpYUJyZWFrcG9pbnRzIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBicmVha3BvaW50ID0gdGhpcy4jYnJlYWtwb2ludHMuZmluZCgoYnJlYWtwb2ludCkgPT5cbiAgICAgIGJyZWFrcG9pbnQuY2hlY2sod2lkdGgpXG4gICAgKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKGJyZWFrcG9pbnQpIHtcbiAgICAgIHJldHVybiBicmVha3BvaW50Lm5hbWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1dpZHRoKGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgICBjb25zdCB3aWR0aCA9IChlbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoIHx8IDA7XG4gICAgY29uc3QgYnJlYWtwb2ludCA9IHRoaXMuY2hlY2tCcmVha3BvaW50KHdpZHRoKTtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChicmVha3BvaW50ICE9PSB0aGlzLl9jdXJyZW50QnJlYWtwb2ludCkge1xuICAgICAgdGhpcy51cGRhdGVCcmVha3BvaW50KGJyZWFrcG9pbnQpO1xuICAgIH1cbiAgfVxufVxuIl19
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLW1lZGlhLXF1ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvcmVzaXplLW9ic2VydmVyL3Jlc2l6ZS1vYnNlcnZlci1tZWRpYS1xdWVyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFjLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFFckUsTUFBTSxrQkFBa0IsR0FBRyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7QUFFbEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0NBQWtDO0lBd0M3QyxZQUFZLGlCQUEyQzs7UUFoQ3ZELDBEQUdNO1lBQ0o7Z0JBQ0UsS0FBSyxFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxHQUFHO2dCQUNuRCxJQUFJLEVBQUUsbUJBQW1CLENBQUMsRUFBRTthQUM3QjtZQUNEO2dCQUNFLEtBQUssRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUksR0FBRztnQkFDckQsSUFBSSxFQUFFLG1CQUFtQixDQUFDLEVBQUU7YUFDN0I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxHQUFHLElBQUksS0FBSyxJQUFJLElBQUk7Z0JBQ3RE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QUFLLENBQUMsS0FBSyxDQUFDLENBQ3hCLENBQUM7SUFFRixPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ2xELENBQUMsMkdBRVcsRUFBYztJQUN4QixNQUFNLEtBQUssR0FBSSxFQUFFLENBQUMsYUFBNkIsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDO0lBQ2pFLE1BQU0sVUFBVSxHQUFHLHVCQUFBLElBQUksMEdBQWlCLE1BQXJCLElBQUksRUFBa0IsS0FBSyxDQUFDLENBQUM7SUFFaEQsSUFBSSxVQUFVLElBQUksVUFBVSxLQUFLLHVCQUFBLElBQUksNkRBQW1CLEVBQUU7UUFDeEQsdUJBQUEsSUFBSSwyR0FBa0IsTUFBdEIsSUFBSSxFQUFtQixVQUFVLENBQUMsQ0FBQztLQUNwQztBQUNILENBQUM7K0hBOUhVLGtDQUFrQzttSUFBbEMsa0NBQWtDLGNBRmpDLEtBQUs7MkZBRU4sa0NBQWtDO2tCQUg5QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5TWVkaWFCcmVha3BvaW50cyB9IGZyb20gJy4uL21lZGlhLXF1ZXJ5L21lZGlhLWJyZWFrcG9pbnRzJztcbmltcG9ydCB7IFNreU1lZGlhUXVlcnlMaXN0ZW5lciB9IGZyb20gJy4uL21lZGlhLXF1ZXJ5L21lZGlhLXF1ZXJ5LWxpc3RlbmVyJztcblxuaW1wb3J0IHsgU2t5UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5cbmNvbnN0IERFRkFVTFRfQlJFQUtQT0lOVCA9IFNreU1lZGlhQnJlYWtwb2ludHMubWQ7XG5cbi8qKlxuICogQWN0cyBsaWtlIGBTa3lNZWRpYVF1ZXJ5U2VydmljZWAgZm9yIGEgY29udGFpbmVyIGVsZW1lbnQsIGVtaXR0aW5nIHRoZSBzYW1lIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueScsXG59KVxuZXhwb3J0IGNsYXNzIFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBicmVha3BvaW50LlxuICAgKi9cbiAgcHVibGljIGdldCBjdXJyZW50KCk6IFNreU1lZGlhQnJlYWtwb2ludHMge1xuICAgIHJldHVybiB0aGlzLiNjdXJyZW50QnJlYWtwb2ludDtcbiAgfVxuXG4gICNicmVha3BvaW50czoge1xuICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gYm9vbGVhbjtcbiAgICBuYW1lOiBTa3lNZWRpYUJyZWFrcG9pbnRzO1xuICB9W10gPSBbXG4gICAge1xuICAgICAgY2hlY2s6ICh3aWR0aDogbnVtYmVyKSA9PiB3aWR0aCA+IDAgJiYgd2lkdGggPD0gNzY3LFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy54cyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gd2lkdGggPiA3NjcgJiYgd2lkdGggPD0gOTkxLFxuICAgICAgbmFtZTogU2t5TWVkaWFCcmVha3BvaW50cy5zbSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoZWNrOiAod2lkdGg6IG51bWJlcikgPT4gd2lkdGggPiA5OTEgJiYgd2lkdGggPD0gMTE5OSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubWQsXG4gICAgfSxcbiAgICB7XG4gICAgICBjaGVjazogKHdpZHRoOiBudW1iZXIpID0+IHdpZHRoID4gMTE5OSxcbiAgICAgIG5hbWU6IFNreU1lZGlhQnJlYWtwb2ludHMubGcsXG4gICAgfSxcbiAgXTtcblxuICAjY3VycmVudEJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHMgPSBERUZBVUxUX0JSRUFLUE9JTlQ7XG5cbiAgI2N1cnJlbnRCcmVha3BvaW50T2JzID0gbmV3IFJlcGxheVN1YmplY3Q8U2t5TWVkaWFCcmVha3BvaW50cz4oMSk7XG5cbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICNyZXNpemVPYnNlcnZlclN2YzogU2t5UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlO1xuXG4gICN0YXJnZXQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocmVzaXplT2JzZXJ2ZXJTdmM6IFNreVJlc2l6ZU9ic2VydmVyU2VydmljZSkge1xuICAgIHRoaXMuI3Jlc2l6ZU9ic2VydmVyU3ZjID0gcmVzaXplT2JzZXJ2ZXJTdmM7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy51bm9ic2VydmUoKTtcblxuICAgIHRoaXMuI3RhcmdldCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLiNjdXJyZW50QnJlYWtwb2ludE9icy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ09uRGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbnRhaW5lciBlbGVtZW50IHRvIHdhdGNoLiBUaGUgYFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2VgIHdpbGwgb25seSBvYnNlcnZlIG9uZSBlbGVtZW50IGF0IGFcbiAgICogdGltZS4gQW55IHByZXZpb3VzIHN1YnNjcmlwdGlvbnMgd2lsbCBiZSB1bnN1YnNjcmliZWQgd2hlbiBhIG5ldyBlbGVtZW50IGlzIG9ic2VydmVkLlxuICAgKi9cbiAgcHVibGljIG9ic2VydmUoZWxlbWVudDogRWxlbWVudFJlZik6IFNreVJlc2l6ZU9ic2VydmVyTWVkaWFRdWVyeVNlcnZpY2Uge1xuICAgIGlmICh0aGlzLiN0YXJnZXQpIHtcbiAgICAgIGlmICh0aGlzLiN0YXJnZXQgPT09IGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudW5vYnNlcnZlKCk7XG4gICAgfVxuXG4gICAgdGhpcy4jdGFyZ2V0ID0gZWxlbWVudDtcblxuICAgIHRoaXMuI2NoZWNrV2lkdGgoZWxlbWVudCk7XG5cbiAgICB0aGlzLiNyZXNpemVPYnNlcnZlclN2Y1xuICAgICAgLm9ic2VydmUoZWxlbWVudClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB0aGlzLiNjaGVja0JyZWFrcG9pbnQodmFsdWUuY29udGVudFJlY3Qud2lkdGgpO1xuICAgICAgICBpZiAoYnJlYWtwb2ludCAmJiBicmVha3BvaW50ICE9PSB0aGlzLmN1cnJlbnQpIHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVCcmVha3BvaW50KGJyZWFrcG9pbnQpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIHdhdGNoaW5nIHRoZSBjb250YWluZXIgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyB1bm9ic2VydmUoKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gZWxlbWVudCBzaXplIGNoYW5nZXMgdGhhdCBjcm9zcyBicmVha3BvaW50cy5cbiAgICovXG4gIHB1YmxpYyBzdWJzY3JpYmUobGlzdGVuZXI6IFNreU1lZGlhUXVlcnlMaXN0ZW5lcik6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuI2N1cnJlbnRCcmVha3BvaW50T2JzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBsaXN0ZW5lcih2YWx1ZSk7XG4gICAgICB9KTtcbiAgfVxuXG4gICN1cGRhdGVCcmVha3BvaW50KGJyZWFrcG9pbnQ6IFNreU1lZGlhQnJlYWtwb2ludHMpIHtcbiAgICB0aGlzLiNjdXJyZW50QnJlYWtwb2ludCA9IGJyZWFrcG9pbnQ7XG4gICAgdGhpcy4jY3VycmVudEJyZWFrcG9pbnRPYnMubmV4dChicmVha3BvaW50KTtcbiAgfVxuXG4gICNjaGVja0JyZWFrcG9pbnQod2lkdGg6IG51bWJlcik6IFNreU1lZGlhQnJlYWtwb2ludHMgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGJyZWFrcG9pbnQgPSB0aGlzLiNicmVha3BvaW50cy5maW5kKChicmVha3BvaW50KSA9PlxuICAgICAgYnJlYWtwb2ludC5jaGVjayh3aWR0aClcbiAgICApO1xuXG4gICAgcmV0dXJuIGJyZWFrcG9pbnQgPyBicmVha3BvaW50Lm5hbWUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAjY2hlY2tXaWR0aChlbDogRWxlbWVudFJlZik6IHZvaWQge1xuICAgIGNvbnN0IHdpZHRoID0gKGVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoIHx8IDA7XG4gICAgY29uc3QgYnJlYWtwb2ludCA9IHRoaXMuI2NoZWNrQnJlYWtwb2ludCh3aWR0aCk7XG5cbiAgICBpZiAoYnJlYWtwb2ludCAmJiBicmVha3BvaW50ICE9PSB0aGlzLiNjdXJyZW50QnJlYWtwb2ludCkge1xuICAgICAgdGhpcy4jdXBkYXRlQnJlYWtwb2ludChicmVha3BvaW50KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +1,5 @@
1
+ var _SkyScrollableHostService_instances, _SkyScrollableHostService_mutationObserverSvc, _SkyScrollableHostService_windowRef, _SkyScrollableHostService_findScrollableHost, _SkyScrollableHostService_observeDocumentHiddenElementChanges, _SkyScrollableHostService_observeForScrollableHostChanges, _SkyScrollableHostService_isElementVisible;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Injectable } from '@angular/core';
2
4
  import { Observable, Subject, fromEvent } from 'rxjs';
3
5
  import { takeUntil } from 'rxjs/operators';
@@ -13,8 +15,11 @@ function notifySubscribers(subscribers, item) {
13
15
  }
14
16
  export class SkyScrollableHostService {
15
17
  constructor(mutationObserverSvc, windowRef) {
16
- this.mutationObserverSvc = mutationObserverSvc;
17
- this.windowRef = windowRef;
18
+ _SkyScrollableHostService_instances.add(this);
19
+ _SkyScrollableHostService_mutationObserverSvc.set(this, void 0);
20
+ _SkyScrollableHostService_windowRef.set(this, void 0);
21
+ __classPrivateFieldSet(this, _SkyScrollableHostService_mutationObserverSvc, mutationObserverSvc, "f");
22
+ __classPrivateFieldSet(this, _SkyScrollableHostService_windowRef, windowRef, "f");
18
23
  }
19
24
  /**
20
25
  * Returns the given element's current scrollable host
@@ -22,7 +27,7 @@ export class SkyScrollableHostService {
22
27
  * @returns The current scrollable host
23
28
  */
24
29
  getScrollableHost(elementRef) {
25
- return this.findScrollableHost(elementRef.nativeElement);
30
+ return __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_findScrollableHost).call(this, elementRef.nativeElement);
26
31
  }
27
32
  /**
28
33
  * Returns an observable which emits the given element's current scrollable host
@@ -36,30 +41,31 @@ export class SkyScrollableHostService {
36
41
  let documentHiddenElementMutationObserver;
37
42
  return new Observable((subscriber) => {
38
43
  subscribers.push(subscriber);
39
- let scrollableHost = this.findScrollableHost(elementRef.nativeElement);
44
+ let scrollableHost = __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_findScrollableHost).call(this, elementRef.nativeElement);
40
45
  // Setup mutation observers only once, for all subscribers.
41
46
  if (subscribers.length === 1) {
42
- parentMutationObserver = this.mutationObserverSvc.create(() => {
43
- const newScrollableHost = this.findScrollableHost(elementRef.nativeElement);
47
+ parentMutationObserver = __classPrivateFieldGet(this, _SkyScrollableHostService_mutationObserverSvc, "f").create(() => {
48
+ const newScrollableHost = __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_findScrollableHost).call(this, elementRef.nativeElement);
44
49
  // Reset observer if scrollable host changes.
45
50
  if (newScrollableHost !== scrollableHost &&
46
- this.isElementVisible(elementRef)) {
51
+ __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_isElementVisible).call(this, elementRef)) {
47
52
  scrollableHost = newScrollableHost;
48
- this.observeForScrollableHostChanges(scrollableHost, parentMutationObserver);
53
+ __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_observeForScrollableHostChanges).call(this, scrollableHost, parentMutationObserver);
49
54
  notifySubscribers(subscribers, scrollableHost);
50
55
  }
51
56
  });
52
- this.observeForScrollableHostChanges(scrollableHost, parentMutationObserver);
53
- documentHiddenElementMutationObserver = this.mutationObserverSvc.create(() => {
54
- if (scrollableHost && !this.isElementVisible(elementRef)) {
55
- // If the scrollable host is not visible, set it to undefined and unsubscribe from its mutation changes.
56
- // Then, observe the document element so that a new scrollable host can be found.
57
- scrollableHost = undefined;
58
- this.observeForScrollableHostChanges(scrollableHost, parentMutationObserver);
59
- notifySubscribers(subscribers, scrollableHost);
60
- }
61
- });
62
- this.observeDocumentHiddenElementChanges(documentHiddenElementMutationObserver);
57
+ __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_observeForScrollableHostChanges).call(this, scrollableHost, parentMutationObserver);
58
+ documentHiddenElementMutationObserver =
59
+ __classPrivateFieldGet(this, _SkyScrollableHostService_mutationObserverSvc, "f").create(() => {
60
+ if (scrollableHost && !__classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_isElementVisible).call(this, elementRef)) {
61
+ // If the scrollable host is not visible, set it to undefined and unsubscribe from its mutation changes.
62
+ // Then, observe the document element so that a new scrollable host can be found.
63
+ scrollableHost = undefined;
64
+ __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_observeForScrollableHostChanges).call(this, scrollableHost, parentMutationObserver);
65
+ notifySubscribers(subscribers, scrollableHost);
66
+ }
67
+ });
68
+ __classPrivateFieldGet(this, _SkyScrollableHostService_instances, "m", _SkyScrollableHostService_observeDocumentHiddenElementChanges).call(this, documentHiddenElementMutationObserver);
63
69
  }
64
70
  // Emit the scrollable host to the subscriber.
65
71
  subscriber.next(scrollableHost);
@@ -126,56 +132,49 @@ export class SkyScrollableHostService {
126
132
  });
127
133
  });
128
134
  }
129
- findScrollableHost(element) {
130
- const regex = /(auto|scroll)/;
131
- const windowObj = this.windowRef.nativeWindow;
132
- const bodyObj = windowObj.document.body;
133
- if (!element) {
134
- return windowObj;
135
- }
136
- let style = windowObj.getComputedStyle(element);
137
- let parent = element;
138
- do {
139
- parent = parent.parentNode;
140
- // Return `window` if the parent element has been removed from the DOM.
141
- if (!(parent instanceof HTMLElement)) {
142
- return windowObj;
143
- }
144
- style = windowObj.getComputedStyle(parent);
145
- } while (!regex.test(style.overflow) &&
146
- !regex.test(style.overflowY) &&
147
- parent !== bodyObj);
148
- if (parent === bodyObj) {
135
+ }
136
+ _SkyScrollableHostService_mutationObserverSvc = new WeakMap(), _SkyScrollableHostService_windowRef = new WeakMap(), _SkyScrollableHostService_instances = new WeakSet(), _SkyScrollableHostService_findScrollableHost = function _SkyScrollableHostService_findScrollableHost(element) {
137
+ const regex = /(auto|scroll)/;
138
+ const windowObj = __classPrivateFieldGet(this, _SkyScrollableHostService_windowRef, "f").nativeWindow;
139
+ const bodyObj = windowObj.document.body;
140
+ if (!element) {
141
+ return windowObj;
142
+ }
143
+ let style = windowObj.getComputedStyle(element);
144
+ let parent = element;
145
+ do {
146
+ parent = parent.parentNode;
147
+ // Return `window` if the parent element has been removed from the DOM.
148
+ if (!(parent instanceof HTMLElement)) {
149
149
  return windowObj;
150
150
  }
151
- return parent;
151
+ style = windowObj.getComputedStyle(parent);
152
+ } while (!regex.test(style.overflow) &&
153
+ !regex.test(style.overflowY) &&
154
+ parent !== bodyObj);
155
+ if (parent === bodyObj) {
156
+ return windowObj;
152
157
  }
153
- observeDocumentHiddenElementChanges(mutationObserver) {
154
- mutationObserver.observe(document.documentElement, {
155
- attributes: true,
156
- attributeFilter: ['class', 'style', 'hidden'],
157
- childList: true,
158
- subtree: true,
159
- });
160
- }
161
- observeForScrollableHostChanges(element, mutationObserver) {
162
- mutationObserver.disconnect();
163
- const target = element instanceof HTMLElement ? element : document.documentElement;
164
- mutationObserver.observe(target, {
165
- attributes: true,
166
- attributeFilter: ['class', 'style'],
167
- childList: true,
168
- subtree: true,
169
- });
170
- }
171
- /**
172
- * Determines if an element is "visible" in the DOM.
173
- * @see https://stackoverflow.com/a/11639664/6178885
174
- */
175
- isElementVisible(elementRef) {
176
- return elementRef.nativeElement.offsetParent;
177
- }
178
- }
158
+ return parent;
159
+ }, _SkyScrollableHostService_observeDocumentHiddenElementChanges = function _SkyScrollableHostService_observeDocumentHiddenElementChanges(mutationObserver) {
160
+ mutationObserver.observe(document.documentElement, {
161
+ attributes: true,
162
+ attributeFilter: ['class', 'style', 'hidden'],
163
+ childList: true,
164
+ subtree: true,
165
+ });
166
+ }, _SkyScrollableHostService_observeForScrollableHostChanges = function _SkyScrollableHostService_observeForScrollableHostChanges(element, mutationObserver) {
167
+ mutationObserver.disconnect();
168
+ const target = element instanceof HTMLElement ? element : document.documentElement;
169
+ mutationObserver.observe(target, {
170
+ attributes: true,
171
+ attributeFilter: ['class', 'style'],
172
+ childList: true,
173
+ subtree: true,
174
+ });
175
+ }, _SkyScrollableHostService_isElementVisible = function _SkyScrollableHostService_isElementVisible(elementRef) {
176
+ return elementRef.nativeElement.offsetParent;
177
+ };
179
178
  SkyScrollableHostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyScrollableHostService, deps: [{ token: i1.MutationObserverService }, { token: i2.SkyAppWindowRef }], target: i0.ɵɵFactoryTarget.Injectable });
180
179
  SkyScrollableHostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyScrollableHostService, providedIn: 'root' });
181
180
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyScrollableHostService, decorators: [{
@@ -184,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
184
183
  providedIn: 'root',
185
184
  }]
186
185
  }], ctorParameters: function () { return [{ type: i1.MutationObserverService }, { type: i2.SkyAppWindowRef }]; } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS1ob3N0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvc2Nyb2xsYWJsZS1ob3N0L3Njcm9sbGFibGUtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQTRCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRXZELFNBQVMsaUJBQWlCLENBQUMsV0FBa0MsRUFBRSxJQUFjO0lBQzNFLEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxFQUFFO1FBQ3BDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdkI7QUFDSCxDQUFDO0FBS0QsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNVLG1CQUE0QyxFQUM1QyxTQUEwQjtRQUQxQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXlCO1FBQzVDLGNBQVMsR0FBVCxTQUFTLENBQWlCO0lBQ2pDLENBQUM7SUFFSjs7OztPQUlHO0lBQ0ksaUJBQWlCLENBQUMsVUFBc0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLG1CQUFtQixDQUN4QixVQUFzQjtRQUV0QixNQUFNLFdBQVcsR0FBdUMsRUFBRSxDQUFDO1FBRTNELElBQUksc0JBQXdDLENBQUM7UUFDN0Ms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QztZQUM3QyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLCtCQUErQixDQUNyQyxPQUF5QyxFQUN6QyxnQkFBa0M7UUFFbEMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFOUIsTUFBTSxNQUFNLEdBQ1YsT0FBTyxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBRXRFLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDL0IsVUFBVSxFQUFFLElBQUk7WUFDaEIsZUFBZSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztZQUNuQyxTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdCQUFnQixDQUFDLFVBQXNCO1FBQzdDLE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDL0MsQ0FBQzs7cUhBOU9VLHdCQUF3Qjt5SEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07MkZBRVAsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaWJlciwgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTXV0YXRpb25PYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi9tdXRhdGlvbi9tdXRhdGlvbi1vYnNlcnZlci1zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiB9IGZyb20gJy4uL3dpbmRvdy93aW5kb3ctcmVmJztcblxuZnVuY3Rpb24gbm90aWZ5U3Vic2NyaWJlcnMoc3Vic2NyaWJlcnM6IFN1YnNjcmliZXI8dW5rbm93bj5bXSwgaXRlbT86IHVua25vd24pIHtcbiAgZm9yIChjb25zdCBzdWJzY3JpYmVyIG9mIHN1YnNjcmliZXJzKSB7XG4gICAgc3Vic2NyaWJlci5uZXh0KGl0ZW0pO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTY3JvbGxhYmxlSG9zdFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXJTdmM6IE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWZcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBnaXZlbiBlbGVtZW50J3MgY3VycmVudCBzY3JvbGxhYmxlIGhvc3RcbiAgICogQHBhcmFtIGVsZW1lbnRSZWYgVGhlIGVsZW1lbnQgd2hvc2Ugc2Nyb2xsYWJsZSBob3N0IGlzIGJlaW5nIHJlcXVlc3RlZFxuICAgKiBAcmV0dXJucyBUaGUgY3VycmVudCBzY3JvbGxhYmxlIGhvc3RcbiAgICovXG4gIHB1YmxpYyBnZXRTY3JvbGxhYmxlSG9zdChlbGVtZW50UmVmOiBFbGVtZW50UmVmKTogSFRNTEVsZW1lbnQgfCBXaW5kb3cge1xuICAgIHJldHVybiB0aGlzLmZpbmRTY3JvbGxhYmxlSG9zdChlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB0aGUgZ2l2ZW4gZWxlbWVudCdzIGN1cnJlbnQgc2Nyb2xsYWJsZSBob3N0XG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIFRoZSBlbGVtZW50IHdob3NlIHNjcm9sbGFibGUgaG9zdCBpcyBiZWluZyByZXF1ZXN0ZWRcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB0aGUgY3VycmVudCBzY3JvbGxhYmxlIGhvc3QgZWxlbWVudC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgd2F0Y2hTY3JvbGxhYmxlSG9zdChcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICk6IE9ic2VydmFibGU8SFRNTEVsZW1lbnQgfCBXaW5kb3cgfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCBzdWJzY3JpYmVyczogU3Vic2NyaWJlcjxIVE1MRWxlbWVudCB8IFdpbmRvdz5bXSA9IFtdO1xuXG4gICAgbGV0IHBhcmVudE11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgbGV0IGRvY3VtZW50SGlkZGVuRWxlbWVudE11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIHN1YnNjcmliZXJzLnB1c2goc3Vic2NyaWJlcik7XG5cbiAgICAgIGxldCBzY3JvbGxhYmxlSG9zdCA9IHRoaXMuZmluZFNjcm9sbGFibGVIb3N0KGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIC8vIFNldHVwIG11dGF0aW9uIG9ic2VydmVycyBvbmx5IG9uY2UsIGZvciBhbGwgc3Vic2NyaWJlcnMuXG4gICAgICBpZiAoc3Vic2NyaWJlcnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHBhcmVudE11dGF0aW9uT2JzZXJ2ZXIgPSB0aGlzLm11dGF0aW9uT2JzZXJ2ZXJTdmMuY3JlYXRlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdTY3JvbGxhYmxlSG9zdCA9IHRoaXMuZmluZFNjcm9sbGFibGVIb3N0KFxuICAgICAgICAgICAgZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgICAgICAgKTtcblxuICAgICAgICAgIC8vIFJlc2V0IG9ic2VydmVyIGlmIHNjcm9sbGFibGUgaG9zdCBjaGFuZ2VzLlxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIG5ld1Njcm9sbGFibGVIb3N0ICE9PSBzY3JvbGxhYmxlSG9zdCAmJlxuICAgICAgICAgICAgdGhpcy5pc0VsZW1lbnRWaXNpYmxlKGVsZW1lbnRSZWYpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzY3JvbGxhYmxlSG9zdCA9IG5ld1Njcm9sbGFibGVIb3N0O1xuXG4gICAgICAgICAgICB0aGlzLm9ic2VydmVGb3JTY3JvbGxhYmxlSG9zdENoYW5nZXMoXG4gICAgICAgICAgICAgIHNjcm9sbGFibGVIb3N0LFxuICAgICAgICAgICAgICBwYXJlbnRNdXRhdGlvbk9ic2VydmVyXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVycywgc2Nyb2xsYWJsZUhvc3QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vYnNlcnZlRm9yU2Nyb2xsYWJsZUhvc3RDaGFuZ2VzKFxuICAgICAgICAgIHNjcm9sbGFibGVIb3N0LFxuICAgICAgICAgIHBhcmVudE11dGF0aW9uT2JzZXJ2ZXJcbiAgICAgICAgKTtcblxuICAgICAgICBkb2N1bWVudEhpZGRlbkVsZW1lbnRNdXRhdGlvbk9ic2VydmVyID0gdGhpcy5tdXRhdGlvbk9ic2VydmVyU3ZjLmNyZWF0ZShcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZUhvc3QgJiYgIXRoaXMuaXNFbGVtZW50VmlzaWJsZShlbGVtZW50UmVmKSkge1xuICAgICAgICAgICAgICAvLyBJZiB0aGUgc2Nyb2xsYWJsZSBob3N0IGlzIG5vdCB2aXNpYmxlLCBzZXQgaXQgdG8gdW5kZWZpbmVkIGFuZCB1bnN1YnNjcmliZSBmcm9tIGl0cyBtdXRhdGlvbiBjaGFuZ2VzLlxuICAgICAgICAgICAgICAvLyBUaGVuLCBvYnNlcnZlIHRoZSBkb2N1bWVudCBlbGVtZW50IHNvIHRoYXQgYSBuZXcgc2Nyb2xsYWJsZSBob3N0IGNhbiBiZSBmb3VuZC5cbiAgICAgICAgICAgICAgc2Nyb2xsYWJsZUhvc3QgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgICAgICAgdGhpcy5vYnNlcnZlRm9yU2Nyb2xsYWJsZUhvc3RDaGFuZ2VzKFxuICAgICAgICAgICAgICAgIHNjcm9sbGFibGVIb3N0LFxuICAgICAgICAgICAgICAgIHBhcmVudE11dGF0aW9uT2JzZXJ2ZXJcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVycywgc2Nyb2xsYWJsZUhvc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLm9ic2VydmVEb2N1bWVudEhpZGRlbkVsZW1lbnRDaGFuZ2VzKFxuICAgICAgICAgIGRvY3VtZW50SGlkZGVuRWxlbWVudE11dGF0aW9uT2JzZXJ2ZXJcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gRW1pdCB0aGUgc2Nyb2xsYWJsZSBob3N0IHRvIHRoZSBzdWJzY3JpYmVyLlxuICAgICAgc3Vic2NyaWJlci5uZXh0KHNjcm9sbGFibGVIb3N0KTtcblxuICAgICAgLy8gVGVhcmRvd24gY2FsbGJhY2sgZm9yIHRoZSBzdWJzY3JpcHRpb24uXG4gICAgICBzdWJzY3JpYmVyLmFkZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YkluZGV4ID0gc3Vic2NyaWJlcnMuaW5kZXhPZihzdWJzY3JpYmVyKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoc3ViSW5kZXggPj0gMCkge1xuICAgICAgICAgIHN1YnNjcmliZXJzLnNwbGljZShzdWJJbmRleCwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3Vic2NyaWJlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgZG9jdW1lbnRIaWRkZW5FbGVtZW50TXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgcGFyZW50TXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB3aGVuZXZlciB0aGUgZWxlbWVudCdzIHNjcm9sbGFibGUgaG9zdCBlbWl0cyBhIHNjcm9sbCBldmVudC4gVGhlIG9ic2VydmFibGUgd2lsbCBhbHdheXMgZW1pdCB0aGUgc2Nyb2xsIGV2ZW50cyBmcm9tIHRoZSBlbGVtZW50cyBjdXJyZW50IHNjcm9sbGFibGUgaG9zdCBhbmQgd2lsbCB1cGRhdGUgYmFzZWQgb24gYW55IHNjcm9sbGFibGUgaG9zdCBjaGFuZ2VzLiBUaGUgb2JzZXJ2YWJsZSB3aWxsIGFsc28gZW1pdCBvbmNlIHdoZW5ldmVyIHRoZSBzY3JvbGxhYmxlIGhvc3QgY2hhbmdlcy5cbiAgICogQHBhcmFtIGVsZW1lbnRSZWYgVGhlIGVsZW1lbnQgd2hvc2Ugc2Nyb2xsYWJsZSBob3N0IHNjcm9sbCBldmVudHMgYXJlIGJlaW5nIHJlcXVlc3RlZFxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHdoaWNoIGVtaXRzIHdoZW4gdGhlIGVsZW1lbnRzIHNjcm9sbGFibGUgaG9zdCBpcyBzY3JvbGxlZCBvciBpcyBjaGFuZ2VkXG4gICAqL1xuICBwdWJsaWMgd2F0Y2hTY3JvbGxhYmxlSG9zdFNjcm9sbEV2ZW50cyhcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHN1YnNjcmliZXJzOiBTdWJzY3JpYmVyPHZvaWQ+W10gPSBbXTtcblxuICAgIGxldCBzY3JvbGxhYmxlSG9zdDogSFRNTEVsZW1lbnQgfCBXaW5kb3c7XG5cbiAgICBsZXQgbmV3U2Nyb2xsYWJsZUhvc3RPYnNlcnZhYmxlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBsZXQgc2Nyb2xsYWJsZUhvc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBsZXQgc2Nyb2xsRXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgc3Vic2NyaWJlcnMucHVzaChzdWJzY3JpYmVyKTtcblxuICAgICAgLy8gU2V0dXAgbXV0YXRpb24gb2JzZXJ2ZXJzIG9ubHkgb25jZSwgZm9yIGFsbCBzdWJzY3JpYmVycy5cbiAgICAgIGlmIChzdWJzY3JpYmVycy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgc2Nyb2xsYWJsZUhvc3RTdWJzY3JpcHRpb24gPSB0aGlzLndhdGNoU2Nyb2xsYWJsZUhvc3QoXG4gICAgICAgICAgZWxlbWVudFJlZlxuICAgICAgICApLnN1YnNjcmliZSgobmV3U2Nyb2xsYWJsZUhvc3QpID0+IHtcbiAgICAgICAgICBuZXdTY3JvbGxhYmxlSG9zdE9ic2VydmFibGUubmV4dCgpO1xuICAgICAgICAgIG5ld1Njcm9sbGFibGVIb3N0T2JzZXJ2YWJsZS5jb21wbGV0ZSgpO1xuXG4gICAgICAgICAgaWYgKHNjcm9sbGFibGVIb3N0ICYmIHNjcm9sbGFibGVIb3N0ICE9PSBuZXdTY3JvbGxhYmxlSG9zdCkge1xuICAgICAgICAgICAgbm90aWZ5U3Vic2NyaWJlcnMoc3Vic2NyaWJlcnMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNjcm9sbGFibGVIb3N0ID0gbmV3U2Nyb2xsYWJsZUhvc3Q7XG4gICAgICAgICAgbmV3U2Nyb2xsYWJsZUhvc3RPYnNlcnZhYmxlID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICAgIC8vIE9ubHkgc3Vic2NyaWJlIHRvIHNjcm9sbCBldmVudHMgaWYgdGhlIGhvc3QgZWxlbWVudCBpcyBkZWZpbmVkLlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKG5ld1Njcm9sbGFibGVIb3N0KSB7XG4gICAgICAgICAgICBzY3JvbGxFdmVudFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudChuZXdTY3JvbGxhYmxlSG9zdCwgJ3Njcm9sbCcpXG4gICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbChuZXdTY3JvbGxhYmxlSG9zdE9ic2VydmFibGUpKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVycyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFRlYXJkb3duIGNhbGxiYWNrIGZvciB0aGUgc3Vic2NyaXB0aW9uLlxuICAgICAgc3Vic2NyaWJlci5hZGQoKCkgPT4ge1xuICAgICAgICBjb25zdCBzdWJJbmRleCA9IHN1YnNjcmliZXJzLmluZGV4T2Yoc3Vic2NyaWJlcik7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHN1YkluZGV4ID49IDApIHtcbiAgICAgICAgICBzdWJzY3JpYmVycy5zcGxpY2Uoc3ViSW5kZXgsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN1YnNjcmliZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHNjcm9sbGFibGVIb3N0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgc2Nyb2xsRXZlbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBuZXdTY3JvbGxhYmxlSG9zdE9ic2VydmFibGUuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGZpbmRTY3JvbGxhYmxlSG9zdChcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuICApOiBIVE1MRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgY29uc3QgcmVnZXggPSAvKGF1dG98c2Nyb2xsKS87XG4gICAgY29uc3Qgd2luZG93T2JqID0gdGhpcy53aW5kb3dSZWYubmF0aXZlV2luZG93O1xuICAgIGNvbnN0IGJvZHlPYmogPSB3aW5kb3dPYmouZG9jdW1lbnQuYm9keTtcblxuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgcmV0dXJuIHdpbmRvd09iajtcbiAgICB9XG5cbiAgICBsZXQgc3R5bGUgPSB3aW5kb3dPYmouZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICBsZXQgcGFyZW50ID0gZWxlbWVudDtcblxuICAgIGRvIHtcbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAvLyBSZXR1cm4gYHdpbmRvd2AgaWYgdGhlIHBhcmVudCBlbGVtZW50IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgRE9NLlxuICAgICAgaWYgKCEocGFyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3dPYmo7XG4gICAgICB9XG5cbiAgICAgIHN0eWxlID0gd2luZG93T2JqLmdldENvbXB1dGVkU3R5bGUocGFyZW50KTtcbiAgICB9IHdoaWxlIChcbiAgICAgICFyZWdleC50ZXN0KHN0eWxlLm92ZXJmbG93KSAmJlxuICAgICAgIXJlZ2V4LnRlc3Qoc3R5bGUub3ZlcmZsb3dZKSAmJlxuICAgICAgcGFyZW50ICE9PSBib2R5T2JqXG4gICAgKTtcblxuICAgIGlmIChwYXJlbnQgPT09IGJvZHlPYmopIHtcbiAgICAgIHJldHVybiB3aW5kb3dPYmo7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmVudDtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZURvY3VtZW50SGlkZGVuRWxlbWVudENoYW5nZXMoXG4gICAgbXV0YXRpb25PYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlclxuICApIHtcbiAgICBtdXRhdGlvbk9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJywgJ3N0eWxlJywgJ2hpZGRlbiddLFxuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb2JzZXJ2ZUZvclNjcm9sbGFibGVIb3N0Q2hhbmdlcyhcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCB8IFdpbmRvdyB8IHVuZGVmaW5lZCxcbiAgICBtdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyXG4gICkge1xuICAgIG11dGF0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgY29uc3QgdGFyZ2V0ID1cbiAgICAgIGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IGVsZW1lbnQgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG5cbiAgICBtdXRhdGlvbk9ic2VydmVyLm9ic2VydmUodGFyZ2V0LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJywgJ3N0eWxlJ10sXG4gICAgICBjaGlsZExpc3Q6IHRydWUsXG4gICAgICBzdWJ0cmVlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYW4gZWxlbWVudCBpcyBcInZpc2libGVcIiBpbiB0aGUgRE9NLlxuICAgKiBAc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMTYzOTY2NC82MTc4ODg1XG4gICAqL1xuICBwcml2YXRlIGlzRWxlbWVudFZpc2libGUoZWxlbWVudFJlZjogRWxlbWVudFJlZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0UGFyZW50O1xuICB9XG59XG4iXX0=
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYWJsZS1ob3N0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29yZS9zcmMvbGliL21vZHVsZXMvc2Nyb2xsYWJsZS1ob3N0L3Njcm9sbGFibGUtaG9zdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBNEIsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFFdkQsU0FBUyxpQkFBaUIsQ0FBQyxXQUFrQyxFQUFFLElBQWM7SUFDM0UsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7UUFDcEMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN2QjtBQUNILENBQUM7QUFLRCxNQUFNLE9BQU8sd0JBQXdCO0lBS25DLFlBQ0UsbUJBQTRDLEVBQzVDLFNBQTBCOztRQU41QixnRUFBOEM7UUFFOUMsc0RBQTRCO1FBTTFCLHVCQUFBLElBQUksaURBQXdCLG1CQUFtQixNQUFBLENBQUM7UUFDaEQsdUJBQUEsSUFBSSx1Q0FBYyxTQUFTLE1BQUEsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLFVBQXNCO1FBQzdDLE9BQU8sdUJBQUEsSUFBSSx5RkFBb0IsTUFBeEIsSUFBSSxFQUFxQixVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksbUJBQW1CLENBQ3hCLFVBQXNC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QUNoQixDQUFDLHlJQUVvQyxnQkFBa0M7SUFDckUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFDakQsVUFBVSxFQUFFLElBQUk7UUFDaEIsZUFBZSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFDN0MsU0FBUyxFQUFFLElBQUk7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsaUlBR0MsT0FBeUMsRUFDekMsZ0JBQWtDO0lBRWxDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRTlCLE1BQU0sTUFBTSxHQUNWLE9BQU8sWUFBWSxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztJQUV0RSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQy9CLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLGVBQWUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDbkMsU0FBUyxFQUFFLElBQUk7UUFDZixPQUFPLEVBQUUsSUFBSTtLQUNkLENBQUMsQ0FBQztBQUNMLENBQUMsbUdBTWlCLFVBQXNCO0lBQ3RDLE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7QUFDL0MsQ0FBQztxSEFqUFUsd0JBQXdCO3lIQUF4Qix3QkFBd0IsY0FGdkIsTUFBTTsyRkFFUCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpYmVyLCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBNdXRhdGlvbk9ic2VydmVyU2VydmljZSB9IGZyb20gJy4uL211dGF0aW9uL211dGF0aW9uLW9ic2VydmVyLXNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5QXBwV2luZG93UmVmIH0gZnJvbSAnLi4vd2luZG93L3dpbmRvdy1yZWYnO1xuXG5mdW5jdGlvbiBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVyczogU3Vic2NyaWJlcjx1bmtub3duPltdLCBpdGVtPzogdW5rbm93bikge1xuICBmb3IgKGNvbnN0IHN1YnNjcmliZXIgb2Ygc3Vic2NyaWJlcnMpIHtcbiAgICBzdWJzY3JpYmVyLm5leHQoaXRlbSk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreVNjcm9sbGFibGVIb3N0U2VydmljZSB7XG4gICNtdXRhdGlvbk9ic2VydmVyU3ZjOiBNdXRhdGlvbk9ic2VydmVyU2VydmljZTtcblxuICAjd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbXV0YXRpb25PYnNlcnZlclN2YzogTXV0YXRpb25PYnNlcnZlclNlcnZpY2UsXG4gICAgd2luZG93UmVmOiBTa3lBcHBXaW5kb3dSZWZcbiAgKSB7XG4gICAgdGhpcy4jbXV0YXRpb25PYnNlcnZlclN2YyA9IG11dGF0aW9uT2JzZXJ2ZXJTdmM7XG4gICAgdGhpcy4jd2luZG93UmVmID0gd2luZG93UmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGdpdmVuIGVsZW1lbnQncyBjdXJyZW50IHNjcm9sbGFibGUgaG9zdFxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiBUaGUgZWxlbWVudCB3aG9zZSBzY3JvbGxhYmxlIGhvc3QgaXMgYmVpbmcgcmVxdWVzdGVkXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IHNjcm9sbGFibGUgaG9zdFxuICAgKi9cbiAgcHVibGljIGdldFNjcm9sbGFibGVIb3N0KGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiBIVE1MRWxlbWVudCB8IFdpbmRvdyB7XG4gICAgcmV0dXJuIHRoaXMuI2ZpbmRTY3JvbGxhYmxlSG9zdChlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB0aGUgZ2l2ZW4gZWxlbWVudCdzIGN1cnJlbnQgc2Nyb2xsYWJsZSBob3N0XG4gICAqIEBwYXJhbSBlbGVtZW50UmVmIFRoZSBlbGVtZW50IHdob3NlIHNjcm9sbGFibGUgaG9zdCBpcyBiZWluZyByZXF1ZXN0ZWRcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB0aGUgY3VycmVudCBzY3JvbGxhYmxlIGhvc3QgZWxlbWVudC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgd2F0Y2hTY3JvbGxhYmxlSG9zdChcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICk6IE9ic2VydmFibGU8SFRNTEVsZW1lbnQgfCBXaW5kb3c+IHtcbiAgICBjb25zdCBzdWJzY3JpYmVyczogU3Vic2NyaWJlcjxIVE1MRWxlbWVudCB8IFdpbmRvdz5bXSA9IFtdO1xuXG4gICAgbGV0IHBhcmVudE11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgbGV0IGRvY3VtZW50SGlkZGVuRWxlbWVudE11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICAgIHN1YnNjcmliZXJzLnB1c2goc3Vic2NyaWJlcik7XG5cbiAgICAgIGxldCBzY3JvbGxhYmxlSG9zdDogSFRNTEVsZW1lbnQgfCBXaW5kb3cgfCB1bmRlZmluZWQgPVxuICAgICAgICB0aGlzLiNmaW5kU2Nyb2xsYWJsZUhvc3QoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgLy8gU2V0dXAgbXV0YXRpb24gb2JzZXJ2ZXJzIG9ubHkgb25jZSwgZm9yIGFsbCBzdWJzY3JpYmVycy5cbiAgICAgIGlmIChzdWJzY3JpYmVycy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcGFyZW50TXV0YXRpb25PYnNlcnZlciA9IHRoaXMuI211dGF0aW9uT2JzZXJ2ZXJTdmMuY3JlYXRlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdTY3JvbGxhYmxlSG9zdCA9IHRoaXMuI2ZpbmRTY3JvbGxhYmxlSG9zdChcbiAgICAgICAgICAgIGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvLyBSZXNldCBvYnNlcnZlciBpZiBzY3JvbGxhYmxlIGhvc3QgY2hhbmdlcy5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBuZXdTY3JvbGxhYmxlSG9zdCAhPT0gc2Nyb2xsYWJsZUhvc3QgJiZcbiAgICAgICAgICAgIHRoaXMuI2lzRWxlbWVudFZpc2libGUoZWxlbWVudFJlZilcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHNjcm9sbGFibGVIb3N0ID0gbmV3U2Nyb2xsYWJsZUhvc3Q7XG5cbiAgICAgICAgICAgIHRoaXMuI29ic2VydmVGb3JTY3JvbGxhYmxlSG9zdENoYW5nZXMoXG4gICAgICAgICAgICAgIHNjcm9sbGFibGVIb3N0LFxuICAgICAgICAgICAgICBwYXJlbnRNdXRhdGlvbk9ic2VydmVyXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVycywgc2Nyb2xsYWJsZUhvc3QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy4jb2JzZXJ2ZUZvclNjcm9sbGFibGVIb3N0Q2hhbmdlcyhcbiAgICAgICAgICBzY3JvbGxhYmxlSG9zdCxcbiAgICAgICAgICBwYXJlbnRNdXRhdGlvbk9ic2VydmVyXG4gICAgICAgICk7XG5cbiAgICAgICAgZG9jdW1lbnRIaWRkZW5FbGVtZW50TXV0YXRpb25PYnNlcnZlciA9XG4gICAgICAgICAgdGhpcy4jbXV0YXRpb25PYnNlcnZlclN2Yy5jcmVhdGUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNjcm9sbGFibGVIb3N0ICYmICF0aGlzLiNpc0VsZW1lbnRWaXNpYmxlKGVsZW1lbnRSZWYpKSB7XG4gICAgICAgICAgICAgIC8vIElmIHRoZSBzY3JvbGxhYmxlIGhvc3QgaXMgbm90IHZpc2libGUsIHNldCBpdCB0byB1bmRlZmluZWQgYW5kIHVuc3Vic2NyaWJlIGZyb20gaXRzIG11dGF0aW9uIGNoYW5nZXMuXG4gICAgICAgICAgICAgIC8vIFRoZW4sIG9ic2VydmUgdGhlIGRvY3VtZW50IGVsZW1lbnQgc28gdGhhdCBhIG5ldyBzY3JvbGxhYmxlIGhvc3QgY2FuIGJlIGZvdW5kLlxuICAgICAgICAgICAgICBzY3JvbGxhYmxlSG9zdCA9IHVuZGVmaW5lZDtcblxuICAgICAgICAgICAgICB0aGlzLiNvYnNlcnZlRm9yU2Nyb2xsYWJsZUhvc3RDaGFuZ2VzKFxuICAgICAgICAgICAgICAgIHNjcm9sbGFibGVIb3N0LFxuICAgICAgICAgICAgICAgIHBhcmVudE11dGF0aW9uT2JzZXJ2ZXJcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVycywgc2Nyb2xsYWJsZUhvc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuI29ic2VydmVEb2N1bWVudEhpZGRlbkVsZW1lbnRDaGFuZ2VzKFxuICAgICAgICAgIGRvY3VtZW50SGlkZGVuRWxlbWVudE11dGF0aW9uT2JzZXJ2ZXJcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gRW1pdCB0aGUgc2Nyb2xsYWJsZSBob3N0IHRvIHRoZSBzdWJzY3JpYmVyLlxuICAgICAgc3Vic2NyaWJlci5uZXh0KHNjcm9sbGFibGVIb3N0KTtcblxuICAgICAgLy8gVGVhcmRvd24gY2FsbGJhY2sgZm9yIHRoZSBzdWJzY3JpcHRpb24uXG4gICAgICBzdWJzY3JpYmVyLmFkZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN1YkluZGV4ID0gc3Vic2NyaWJlcnMuaW5kZXhPZihzdWJzY3JpYmVyKTtcblxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICBpZiAoc3ViSW5kZXggPj0gMCkge1xuICAgICAgICAgIHN1YnNjcmliZXJzLnNwbGljZShzdWJJbmRleCwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3Vic2NyaWJlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgZG9jdW1lbnRIaWRkZW5FbGVtZW50TXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgICAgcGFyZW50TXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB3aGljaCBlbWl0cyB3aGVuZXZlciB0aGUgZWxlbWVudCdzIHNjcm9sbGFibGUgaG9zdCBlbWl0cyBhIHNjcm9sbCBldmVudC4gVGhlIG9ic2VydmFibGUgd2lsbCBhbHdheXMgZW1pdCB0aGUgc2Nyb2xsIGV2ZW50cyBmcm9tIHRoZSBlbGVtZW50cyBjdXJyZW50IHNjcm9sbGFibGUgaG9zdCBhbmQgd2lsbCB1cGRhdGUgYmFzZWQgb24gYW55IHNjcm9sbGFibGUgaG9zdCBjaGFuZ2VzLiBUaGUgb2JzZXJ2YWJsZSB3aWxsIGFsc28gZW1pdCBvbmNlIHdoZW5ldmVyIHRoZSBzY3JvbGxhYmxlIGhvc3QgY2hhbmdlcy5cbiAgICogQHBhcmFtIGVsZW1lbnRSZWYgVGhlIGVsZW1lbnQgd2hvc2Ugc2Nyb2xsYWJsZSBob3N0IHNjcm9sbCBldmVudHMgYXJlIGJlaW5nIHJlcXVlc3RlZFxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIHdoaWNoIGVtaXRzIHdoZW4gdGhlIGVsZW1lbnRzIHNjcm9sbGFibGUgaG9zdCBpcyBzY3JvbGxlZCBvciBpcyBjaGFuZ2VkXG4gICAqL1xuICBwdWJsaWMgd2F0Y2hTY3JvbGxhYmxlSG9zdFNjcm9sbEV2ZW50cyhcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNvbnN0IHN1YnNjcmliZXJzOiBTdWJzY3JpYmVyPHZvaWQ+W10gPSBbXTtcblxuICAgIGxldCBzY3JvbGxhYmxlSG9zdDogSFRNTEVsZW1lbnQgfCBXaW5kb3c7XG5cbiAgICBsZXQgbmV3U2Nyb2xsYWJsZUhvc3RPYnNlcnZhYmxlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBsZXQgc2Nyb2xsYWJsZUhvc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBsZXQgc2Nyb2xsRXZlbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgc3Vic2NyaWJlcnMucHVzaChzdWJzY3JpYmVyKTtcblxuICAgICAgLy8gU2V0dXAgbXV0YXRpb24gb2JzZXJ2ZXJzIG9ubHkgb25jZSwgZm9yIGFsbCBzdWJzY3JpYmVycy5cbiAgICAgIGlmIChzdWJzY3JpYmVycy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgc2Nyb2xsYWJsZUhvc3RTdWJzY3JpcHRpb24gPSB0aGlzLndhdGNoU2Nyb2xsYWJsZUhvc3QoXG4gICAgICAgICAgZWxlbWVudFJlZlxuICAgICAgICApLnN1YnNjcmliZSgobmV3U2Nyb2xsYWJsZUhvc3QpID0+IHtcbiAgICAgICAgICBuZXdTY3JvbGxhYmxlSG9zdE9ic2VydmFibGUubmV4dCgpO1xuICAgICAgICAgIG5ld1Njcm9sbGFibGVIb3N0T2JzZXJ2YWJsZS5jb21wbGV0ZSgpO1xuXG4gICAgICAgICAgaWYgKHNjcm9sbGFibGVIb3N0ICYmIHNjcm9sbGFibGVIb3N0ICE9PSBuZXdTY3JvbGxhYmxlSG9zdCkge1xuICAgICAgICAgICAgbm90aWZ5U3Vic2NyaWJlcnMoc3Vic2NyaWJlcnMpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNjcm9sbGFibGVIb3N0ID0gbmV3U2Nyb2xsYWJsZUhvc3Q7XG4gICAgICAgICAgbmV3U2Nyb2xsYWJsZUhvc3RPYnNlcnZhYmxlID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICAgIC8vIE9ubHkgc3Vic2NyaWJlIHRvIHNjcm9sbCBldmVudHMgaWYgdGhlIGhvc3QgZWxlbWVudCBpcyBkZWZpbmVkLlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKG5ld1Njcm9sbGFibGVIb3N0KSB7XG4gICAgICAgICAgICBzY3JvbGxFdmVudFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudChuZXdTY3JvbGxhYmxlSG9zdCwgJ3Njcm9sbCcpXG4gICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbChuZXdTY3JvbGxhYmxlSG9zdE9ic2VydmFibGUpKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBub3RpZnlTdWJzY3JpYmVycyhzdWJzY3JpYmVycyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFRlYXJkb3duIGNhbGxiYWNrIGZvciB0aGUgc3Vic2NyaXB0aW9uLlxuICAgICAgc3Vic2NyaWJlci5hZGQoKCkgPT4ge1xuICAgICAgICBjb25zdCBzdWJJbmRleCA9IHN1YnNjcmliZXJzLmluZGV4T2Yoc3Vic2NyaWJlcik7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKHN1YkluZGV4ID49IDApIHtcbiAgICAgICAgICBzdWJzY3JpYmVycy5zcGxpY2Uoc3ViSW5kZXgsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN1YnNjcmliZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHNjcm9sbGFibGVIb3N0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgc2Nyb2xsRXZlbnRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICBuZXdTY3JvbGxhYmxlSG9zdE9ic2VydmFibGUuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAjZmluZFNjcm9sbGFibGVIb3N0KGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkKTogSFRNTEVsZW1lbnQgfCBXaW5kb3cge1xuICAgIGNvbnN0IHJlZ2V4ID0gLyhhdXRvfHNjcm9sbCkvO1xuICAgIGNvbnN0IHdpbmRvd09iaiA9IHRoaXMuI3dpbmRvd1JlZi5uYXRpdmVXaW5kb3c7XG4gICAgY29uc3QgYm9keU9iaiA9IHdpbmRvd09iai5kb2N1bWVudC5ib2R5O1xuXG4gICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICByZXR1cm4gd2luZG93T2JqO1xuICAgIH1cblxuICAgIGxldCBzdHlsZSA9IHdpbmRvd09iai5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIGxldCBwYXJlbnQgPSBlbGVtZW50O1xuXG4gICAgZG8ge1xuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudE5vZGUgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgIC8vIFJldHVybiBgd2luZG93YCBpZiB0aGUgcGFyZW50IGVsZW1lbnQgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBET00uXG4gICAgICBpZiAoIShwYXJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvd09iajtcbiAgICAgIH1cblxuICAgICAgc3R5bGUgPSB3aW5kb3dPYmouZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQpO1xuICAgIH0gd2hpbGUgKFxuICAgICAgIXJlZ2V4LnRlc3Qoc3R5bGUub3ZlcmZsb3cpICYmXG4gICAgICAhcmVnZXgudGVzdChzdHlsZS5vdmVyZmxvd1kpICYmXG4gICAgICBwYXJlbnQgIT09IGJvZHlPYmpcbiAgICApO1xuXG4gICAgaWYgKHBhcmVudCA9PT0gYm9keU9iaikge1xuICAgICAgcmV0dXJuIHdpbmRvd09iajtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyZW50O1xuICB9XG5cbiAgI29ic2VydmVEb2N1bWVudEhpZGRlbkVsZW1lbnRDaGFuZ2VzKG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIpIHtcbiAgICBtdXRhdGlvbk9ic2VydmVyLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7XG4gICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ2NsYXNzJywgJ3N0eWxlJywgJ2hpZGRlbiddLFxuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gICNvYnNlcnZlRm9yU2Nyb2xsYWJsZUhvc3RDaGFuZ2VzKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgV2luZG93IHwgdW5kZWZpbmVkLFxuICAgIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXJcbiAgKSB7XG4gICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7XG5cbiAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gZWxlbWVudCA6IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcblxuICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQsIHtcbiAgICAgIGF0dHJpYnV0ZXM6IHRydWUsXG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsnY2xhc3MnLCAnc3R5bGUnXSxcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBhbiBlbGVtZW50IGlzIFwidmlzaWJsZVwiIGluIHRoZSBET00uXG4gICAqIEBzZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzExNjM5NjY0LzYxNzg4ODVcbiAgICovXG4gICNpc0VsZW1lbnRWaXNpYmxlKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFBhcmVudDtcbiAgfVxufVxuIl19
@@ -1,3 +1,5 @@
1
+ var _SkyAppTitleService_title;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { Injectable } from '@angular/core';
2
4
  import { Title } from '@angular/platform-browser';
3
5
  import * as i0 from "@angular/core";
@@ -7,7 +9,8 @@ import * as i1 from "@angular/platform-browser";
7
9
  */
8
10
  export class SkyAppTitleService {
9
11
  constructor(title) {
10
- this.title = title;
12
+ _SkyAppTitleService_title.set(this, void 0);
13
+ __classPrivateFieldSet(this, _SkyAppTitleService_title, title, "f");
11
14
  }
12
15
  /**
13
16
  * Sets the title on the current window.
@@ -15,11 +18,12 @@ export class SkyAppTitleService {
15
18
  * each part.
16
19
  */
17
20
  setTitle(args) {
18
- if (args && args.titleParts) {
19
- this.title.setTitle(args.titleParts.join(' - '));
21
+ if (args?.titleParts) {
22
+ __classPrivateFieldGet(this, _SkyAppTitleService_title, "f").setTitle(args.titleParts.join(' - '));
20
23
  }
21
24
  }
22
25
  }
26
+ _SkyAppTitleService_title = new WeakMap();
23
27
  SkyAppTitleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAppTitleService, deps: [{ token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable });
24
28
  SkyAppTitleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAppTitleService, providedIn: 'root' });
25
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyAppTitleService, decorators: [{
@@ -28,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
28
32
  providedIn: 'root',
29
33
  }]
30
34
  }], ctorParameters: function () { return [{ type: i1.Title }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy90aXRsZS90aXRsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFJbEQ7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQW9CLEtBQVk7UUFBWixVQUFLLEdBQUwsS0FBSyxDQUFPO0lBQUcsQ0FBQztJQUVwQzs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLElBQXdCO1FBQ3RDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNsRDtJQUNILENBQUM7OytHQVpVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IFNreUFwcFNldFRpdGxlQXJncyB9IGZyb20gJy4vc2V0LXRpdGxlLWFyZ3MnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgbWV0aG9kIGZvciBzZXR0aW5nIGEgZm9ybWF0dGVkIHRpdGxlIG9uIHRoZSBjdXJyZW50IHdpbmRvdy5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFwcFRpdGxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGl0bGU6IFRpdGxlKSB7fVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0aXRsZSBvbiB0aGUgY3VycmVudCB3aW5kb3cuXG4gICAqIEBwYXJhbSBhcmdzIEFuIGFycmF5IG9mIHRpdGxlIHBhcnRzLiBUaGUgcGFydHMgd2lsbCBiZSBjb25jYXRlbmF0ZWQgd2l0aCBhIGh5cGhlbiBiZXR3ZWVuXG4gICAqIGVhY2ggcGFydC5cbiAgICovXG4gIHB1YmxpYyBzZXRUaXRsZShhcmdzOiBTa3lBcHBTZXRUaXRsZUFyZ3MpOiB2b2lkIHtcbiAgICBpZiAoYXJncyAmJiBhcmdzLnRpdGxlUGFydHMpIHtcbiAgICAgIHRoaXMudGl0bGUuc2V0VGl0bGUoYXJncy50aXRsZVBhcnRzLmpvaW4oJyAtICcpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy90aXRsZS90aXRsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUlsRDs7R0FFRztBQUlILE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFBWSxLQUFZO1FBRnhCLDRDQUFjO1FBR1osdUJBQUEsSUFBSSw2QkFBVSxLQUFLLE1BQUEsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxJQUFvQztRQUNsRCxJQUFJLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDcEIsdUJBQUEsSUFBSSxpQ0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ25EO0lBQ0gsQ0FBQzs7OytHQWhCVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBTa3lBcHBTZXRUaXRsZUFyZ3MgfSBmcm9tICcuL3NldC10aXRsZS1hcmdzJztcblxuLyoqXG4gKiBQcm92aWRlcyBhIG1ldGhvZCBmb3Igc2V0dGluZyBhIGZvcm1hdHRlZCB0aXRsZSBvbiB0aGUgY3VycmVudCB3aW5kb3cuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBcHBUaXRsZVNlcnZpY2Uge1xuICAjdGl0bGU6IFRpdGxlO1xuXG4gIGNvbnN0cnVjdG9yKHRpdGxlOiBUaXRsZSkge1xuICAgIHRoaXMuI3RpdGxlID0gdGl0bGU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdGl0bGUgb24gdGhlIGN1cnJlbnQgd2luZG93LlxuICAgKiBAcGFyYW0gYXJncyBBbiBhcnJheSBvZiB0aXRsZSBwYXJ0cy4gVGhlIHBhcnRzIHdpbGwgYmUgY29uY2F0ZW5hdGVkIHdpdGggYSBoeXBoZW4gYmV0d2VlblxuICAgKiBlYWNoIHBhcnQuXG4gICAqL1xuICBwdWJsaWMgc2V0VGl0bGUoYXJnczogU2t5QXBwU2V0VGl0bGVBcmdzIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKGFyZ3M/LnRpdGxlUGFydHMpIHtcbiAgICAgIHRoaXMuI3RpdGxlLnNldFRpdGxlKGFyZ3MudGl0bGVQYXJ0cy5qb2luKCcgLSAnKSk7XG4gICAgfVxuICB9XG59XG4iXX0=