@eui/core 18.0.0-rc.4 → 18.0.0-rc.40

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 (56) hide show
  1. package/docs/classes/CssUtils.html +59 -2
  2. package/docs/dependencies.html +3 -3
  3. package/docs/index.html +1 -1
  4. package/docs/injectables/CoreAppEffects.html +24 -5
  5. package/docs/injectables/EuiAppShellService.html +13 -1
  6. package/docs/injectables/EuiDynamicMenuService.html +2 -2
  7. package/docs/injectables/EuiThemeService.html +297 -96
  8. package/docs/injectables/LocalStorageService.html +12 -1
  9. package/docs/injectables/StoreService.html +12 -1
  10. package/docs/interfaces/IEuiTheme.html +387 -0
  11. package/docs/interfaces/ThemeState.html +309 -0
  12. package/docs/js/menu-wc.js +6 -0
  13. package/docs/js/menu-wc_es5.js +1 -1
  14. package/docs/js/search/search_index.js +2 -2
  15. package/docs/miscellaneous/enumerations.html +66 -6
  16. package/docs/miscellaneous/functions.html +284 -0
  17. package/docs/miscellaneous/variables.html +119 -31
  18. package/esm2022/index.mjs +3 -1
  19. package/esm2022/lib/helpers/css-utils.mjs +74 -60
  20. package/esm2022/lib/helpers/dom-helpers.mjs +3 -9
  21. package/esm2022/lib/services/dynamic-menu/dynamic-menu.service.mjs +2 -5
  22. package/esm2022/lib/services/eui-app-shell.service.mjs +20 -16
  23. package/esm2022/lib/services/eui-theme.service.mjs +186 -26
  24. package/esm2022/lib/services/locale/locale.service.mjs +2 -1
  25. package/esm2022/lib/services/storage/local-storage.service.mjs +36 -25
  26. package/esm2022/lib/services/store/effects/app.effects.mjs +19 -7
  27. package/esm2022/lib/services/store/reducers/meta.reducers.mjs +46 -32
  28. package/esm2022/lib/services/store/store.service.mjs +17 -9
  29. package/esm2022/lib/services/store/store.service.mock.mjs +3 -2
  30. package/fesm2022/eui-core.mjs +403 -194
  31. package/fesm2022/eui-core.mjs.map +1 -1
  32. package/index.d.ts +1 -0
  33. package/index.d.ts.map +1 -1
  34. package/lib/helpers/css-utils.d.ts +24 -18
  35. package/lib/helpers/css-utils.d.ts.map +1 -1
  36. package/lib/helpers/dom-helpers.d.ts +1 -1
  37. package/lib/helpers/dom-helpers.d.ts.map +1 -1
  38. package/lib/services/dynamic-menu/dynamic-menu.service.d.ts +5 -5
  39. package/lib/services/dynamic-menu/dynamic-menu.service.d.ts.map +1 -1
  40. package/lib/services/eui-app-shell.service.d.ts +3 -2
  41. package/lib/services/eui-app-shell.service.d.ts.map +1 -1
  42. package/lib/services/eui-theme.service.d.ts +41 -15
  43. package/lib/services/eui-theme.service.d.ts.map +1 -1
  44. package/lib/services/locale/locale.service.d.ts +1 -0
  45. package/lib/services/locale/locale.service.d.ts.map +1 -1
  46. package/lib/services/storage/local-storage.service.d.ts +3 -2
  47. package/lib/services/storage/local-storage.service.d.ts.map +1 -1
  48. package/lib/services/store/effects/app.effects.d.ts +2 -1
  49. package/lib/services/store/effects/app.effects.d.ts.map +1 -1
  50. package/lib/services/store/reducers/meta.reducers.d.ts +11 -1
  51. package/lib/services/store/reducers/meta.reducers.d.ts.map +1 -1
  52. package/lib/services/store/store.service.d.ts +3 -2
  53. package/lib/services/store/store.service.d.ts.map +1 -1
  54. package/lib/services/store/store.service.mock.d.ts +1 -0
  55. package/lib/services/store/store.service.mock.d.ts.map +1 -1
  56. package/package.json +4 -4
@@ -1,111 +1,125 @@
1
+ import { isPlatformBrowser, isPlatformServer } from '@angular/common';
1
2
  export class CssUtils {
2
- static { this.getCssVarValue = (inputProperty) => {
3
- return getComputedStyle(document.documentElement).getPropertyValue(inputProperty);
3
+ /**
4
+ * Get the value of a CSS variable. Using getComputedStyle to get the value of the CSS variable (Browser Specific API)
5
+ * @param inputProperty
6
+ * @param document
7
+ * @param platform
8
+ */
9
+ static { this.getCssVarValue = (inputProperty, document, platform) => {
10
+ if (isPlatformServer(platform)) {
11
+ return document.documentElement.style.getPropertyValue(inputProperty);
12
+ }
13
+ else {
14
+ return getComputedStyle(document.documentElement).getPropertyValue(inputProperty);
15
+ }
4
16
  }; }
5
- static { this.setCssVarValue = (propertyName, propertyValue) => {
17
+ static { this.setCssVarValue = (propertyName, propertyValue, document) => {
6
18
  document.documentElement.style.setProperty(propertyName, propertyValue);
7
19
  }; }
8
- static { this.setCssVar = (inputProperty, outputProperty) => {
9
- const cssVarValue = this.getCssVarValue(inputProperty);
10
- this.setCssVarValue(outputProperty, cssVarValue);
20
+ static { this.setCssVar = (inputProperty, outputProperty, document, platform) => {
21
+ const cssVarValue = this.getCssVarValue(inputProperty, document, platform);
22
+ this.setCssVarValue(outputProperty, cssVarValue, document);
11
23
  }; }
12
- static { this.initCssVars = () => {
13
- this.setCssVar('--eui-app-header-height-default', '--eui-app-header-height');
14
- this.setCssVar('--eui-app-breadcrumb-height-default', '--eui-app-breadcrumb-height');
15
- this.setCssVar('--eui-app-top-message-height-default', '--eui-app-top-message-height');
16
- this.setCssVar('--eui-app-toolbar-height-default', '--eui-app-toolbar-height');
17
- this.setCssVar('--eui-app-sidebar-width-default', '--eui-app-sidebar-width');
18
- this.setCssVar('--eui-app-sidebar-width-close-default', '--eui-app-sidebar-width-close');
19
- this.setCssVar('--eui-app-sidebar-header-height-default', '--eui-app-sidebar-header-height');
20
- this.setCssVar('--eui-app-sidebar-footer-height-default', '--eui-app-sidebar-footer-height');
24
+ static { this.initCssVars = (document, platform) => {
25
+ this.setCssVar('--eui-app-header-height-default', '--eui-app-header-height', document, platform);
26
+ this.setCssVar('--eui-app-breadcrumb-height-default', '--eui-app-breadcrumb-height', document, platform);
27
+ this.setCssVar('--eui-app-top-message-height-default', '--eui-app-top-message-height', document, platform);
28
+ this.setCssVar('--eui-app-toolbar-height-default', '--eui-app-toolbar-height', document, platform);
29
+ this.setCssVar('--eui-app-sidebar-width-default', '--eui-app-sidebar-width', document, platform);
30
+ this.setCssVar('--eui-app-sidebar-width-close-default', '--eui-app-sidebar-width-close', document, platform);
31
+ this.setCssVar('--eui-app-sidebar-header-height-default', '--eui-app-sidebar-header-height', document, platform);
32
+ this.setCssVar('--eui-app-sidebar-footer-height-default', '--eui-app-sidebar-footer-height', document, platform);
21
33
  }; }
22
34
  // eslint-disable-next-line
23
- static { this.getBreakpointValues = () => {
35
+ static { this.getBreakpointValues = (document, platform) => {
24
36
  const breakpoints = [];
25
- const xs = this.getCssVarValue('--eui-bp-xs');
37
+ const xs = this.getCssVarValue('--eui-bp-xs', document, platform);
26
38
  breakpoints.push({ bkp: 'xs', pxValue: xs, value: xs.replace('px', '') });
27
- const sm = this.getCssVarValue('--eui-bp-sm');
39
+ const sm = this.getCssVarValue('--eui-bp-sm', document, platform);
28
40
  breakpoints.push({ bkp: 'sm', pxValue: sm, value: sm.replace('px', '') });
29
- const md = this.getCssVarValue('--eui-bp-md');
41
+ const md = this.getCssVarValue('--eui-bp-md', document, platform);
30
42
  breakpoints.push({ bkp: 'md', pxValue: md, value: md.replace('px', '') });
31
- const lg = this.getCssVarValue('--eui-bp-lg');
43
+ const lg = this.getCssVarValue('--eui-bp-lg', document, platform);
32
44
  breakpoints.push({ bkp: 'lg', pxValue: lg, value: lg.replace('px', '') });
33
- const xl = this.getCssVarValue('--eui-bp-xl');
45
+ const xl = this.getCssVarValue('--eui-bp-xl', document, platform);
34
46
  breakpoints.push({ bkp: 'xl', pxValue: xl, value: xl.replace('px', '') });
35
- const xxl = this.getCssVarValue('--eui-bp-xxl');
47
+ const xxl = this.getCssVarValue('--eui-bp-xxl', document, platform);
36
48
  breakpoints.push({ bkp: 'xxl', pxValue: xxl, value: xxl.replace('px', '') });
37
- const fhd = this.getCssVarValue('--eui-bp-fhd');
49
+ const fhd = this.getCssVarValue('--eui-bp-fhd', document, platform);
38
50
  breakpoints.push({ bkp: 'fhd', pxValue: fhd, value: fhd.replace('px', '') });
39
- const twok = this.getCssVarValue('--eui-bp-2k');
51
+ const twok = this.getCssVarValue('--eui-bp-2k', document, platform);
40
52
  breakpoints.push({ bkp: '2k', pxValue: twok, value: twok.replace('px', '') });
41
- const fourk = this.getCssVarValue('--eui-bp-4k');
53
+ const fourk = this.getCssVarValue('--eui-bp-4k', document, platform);
42
54
  breakpoints.push({ bkp: '4k', pxValue: fourk, value: fourk.replace('px', '') });
43
55
  return breakpoints;
44
56
  }; }
45
- static { this.activateEditModeCssVars = (isActive) => {
57
+ static { this.activateEditModeCssVars = (isActive, document) => {
46
58
  if (isActive) {
47
- this.setCssVarValue('--eui-docpage-navigation-z-index', 'inherit'); // Reset doc-page-navigation-column z-index
48
- this.setCssVarValue('--eui-z-index-sidebar', 'inherit'); // Reset eui-app-sidebar z-index
49
- this.setCssVarValue('--eui-z-index-root', 'inherit'); // Reset eui-app-main-content z-index
59
+ this.setCssVarValue('--eui-docpage-navigation-z-index', 'inherit', document); // Reset doc-page-navigation-column z-index
60
+ this.setCssVarValue('--eui-z-index-sidebar', 'inherit', document); // Reset eui-app-sidebar z-index
61
+ this.setCssVarValue('--eui-z-index-root', 'inherit', document); // Reset eui-app-main-content z-index
50
62
  }
51
63
  else {
52
- this.setCssVarValue('--eui-docpage-navigation-z-index', '2'); // Restore doc-page-navigation-column z-index
53
- this.setCssVarValue('--eui-z-index-sidebar', '1044'); // Restore eui-app-sidebar z-index
54
- this.setCssVarValue('--eui-z-index-root', '1'); // Restore eui-app-main-content z-index
64
+ this.setCssVarValue('--eui-docpage-navigation-z-index', '2', document); // Restore doc-page-navigation-column z-index
65
+ this.setCssVarValue('--eui-z-index-sidebar', '1044', document); // Restore eui-app-sidebar z-index
66
+ this.setCssVarValue('--eui-z-index-root', '1', document); // Restore eui-app-main-content z-index
55
67
  }
56
68
  }; }
57
- static { this.activateHeaderCssVars = () => {
58
- this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height');
69
+ static { this.activateHeaderCssVars = (document, platform) => {
70
+ this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height', document, platform);
59
71
  }; }
60
- static { this.activateBreadcrumbCssVars = () => {
61
- this.setCssVar('--eui-app-breadcrumb-height-active', '--eui-app-breadcrumb-height');
72
+ static { this.activateBreadcrumbCssVars = (document, platform) => {
73
+ this.setCssVar('--eui-app-breadcrumb-height-active', '--eui-app-breadcrumb-height', document, platform);
62
74
  }; }
63
- static { this.activateTopMessageCssVars = (height) => {
64
- this.setCssVarValue('--eui-app-top-message-height', `${height}px`);
75
+ static { this.activateTopMessageCssVars = (height, document) => {
76
+ this.setCssVarValue('--eui-app-top-message-height', `${height}px`, document);
65
77
  }; }
66
- static { this.activateToolbarCssVars = () => {
67
- this.setCssVar('--eui-app-toolbar-height-active', '--eui-app-toolbar-height');
78
+ static { this.activateToolbarCssVars = (document, platform) => {
79
+ this.setCssVar('--eui-app-toolbar-height-active', '--eui-app-toolbar-height', document, platform);
68
80
  }; }
69
- static { this.activateFooterCssVars = () => {
70
- this.setCssVar('--eui-app-footer-height-active', '--eui-app-footer-height');
81
+ static { this.activateFooterCssVars = (document, platform) => {
82
+ this.setCssVar('--eui-app-footer-height-active', '--eui-app-footer-height', document, platform);
71
83
  }; }
72
- static { this.setHeaderShrinkCssVar = (active) => {
84
+ static { this.setHeaderShrinkCssVar = (active, document, platform) => {
73
85
  if (active) {
74
- this.setCssVar('--eui-app-header-height-shrink', '--eui-app-header-height');
86
+ this.setCssVar('--eui-app-header-height-shrink', '--eui-app-header-height', document, platform);
75
87
  }
76
88
  else {
77
- this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height');
89
+ this.setCssVar('--eui-app-header-height-active', '--eui-app-header-height', document, platform);
78
90
  }
79
91
  }; }
80
- static { this.activateSidebarCssVars = () => {
81
- this.setCssVar('--eui-app-sidebar-width-active', '--eui-app-sidebar-width');
82
- this.setCssVar('--eui-app-sidebar-width-close-active', '--eui-app-sidebar-width-close');
92
+ static { this.activateSidebarCssVars = (document, platform) => {
93
+ this.setCssVar('--eui-app-sidebar-width-active', '--eui-app-sidebar-width', document, platform);
94
+ this.setCssVar('--eui-app-sidebar-width-close-active', '--eui-app-sidebar-width-close', document, platform);
83
95
  }; }
84
- static { this.removeSidebarCssVars = () => {
96
+ static { this.removeSidebarCssVars = (document) => {
85
97
  document.documentElement.style.removeProperty('--eui-app-sidebar-header-height');
86
98
  document.documentElement.style.removeProperty('--eui-app-sidebar-footer-height');
87
99
  document.documentElement.style.removeProperty('--eui-app-sidebar-width');
88
100
  document.documentElement.style.removeProperty('--eui-app-sidebar-width-close');
89
101
  }; }
90
- static { this.activateSidebarHeaderCssVars = () => {
91
- this.setCssVar('--eui-app-sidebar-header-height-active', '--eui-app-sidebar-header-height');
102
+ static { this.activateSidebarHeaderCssVars = (document, platform) => {
103
+ this.setCssVar('--eui-app-sidebar-header-height-active', '--eui-app-sidebar-header-height', document, platform);
92
104
  }; }
93
- static { this.activateSidebarFooterCssVars = () => {
94
- this.setCssVar('--eui-app-sidebar-footer-height-active', '--eui-app-sidebar-footer-height');
105
+ static { this.activateSidebarFooterCssVars = (document, platform) => {
106
+ this.setCssVar('--eui-app-sidebar-footer-height-active', '--eui-app-sidebar-footer-height', document, platform);
95
107
  }; }
96
108
  /**
97
- * Gets the viewport height and width and multiple it by 1% to get a value for a vh/vw unit
109
+ * Gets the viewport height and width and multiply it by 1% to get a value for a vh/vw unit
98
110
  * Sets the value in the --eui-app-vh custom property to the root of the document
99
111
  * Sets the value in the --eui-app-vw custom property to the root of the document
100
112
  * Example for 100% height: calc(var(--eui-app-vh, 1vh) * 100);
101
113
  * Example for 50% height: calc(var(--eui-app-vh, 1vh) * 50);
102
114
  * Example for 50% width: calc(var(--eui-app-vw, 1vw) * 50);
103
115
  */
104
- static setAppViewportCssVars() {
105
- const vh = window.innerHeight * 0.01;
106
- const vw = window.innerWidth * 0.01;
107
- this.setCssVarValue('--eui-app-vh', `${vh}px`);
108
- this.setCssVarValue('--eui-app-vw', `${vw}px`);
116
+ static setAppViewportCssVars(platform) {
117
+ if (isPlatformBrowser(platform)) {
118
+ const vh = window.innerHeight * 0.01;
119
+ const vw = window.innerWidth * 0.01;
120
+ this.setCssVarValue('--eui-app-vh', `${vh}px`, document);
121
+ this.setCssVarValue('--eui-app-vw', `${vw}px`, document);
122
+ }
109
123
  }
110
124
  }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXJzL2Nzcy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQWdCLFFBQVE7YUFDSCxtQkFBYyxHQUFHLENBQUMsYUFBcUIsRUFBVSxFQUFFO1FBQ3RFLE9BQU8sZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RGLENBQUMsQ0FBQTthQUVzQixtQkFBYyxHQUFHLENBQUMsWUFBb0IsRUFBRSxhQUFxQixFQUFRLEVBQUU7UUFDMUYsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM1RSxDQUFDLENBQUE7YUFFc0IsY0FBUyxHQUFHLENBQUMsYUFBcUIsRUFBRSxjQUFzQixFQUFRLEVBQUU7UUFDdkYsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUE7YUFFc0IsZ0JBQVcsR0FBRyxHQUFTLEVBQUU7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQ0FBaUMsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxTQUFTLENBQUMscUNBQXFDLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsU0FBUyxDQUFDLHNDQUFzQyxFQUFFLDhCQUE4QixDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0MsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxTQUFTLENBQUMsaUNBQWlDLEVBQUUseUJBQXlCLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsU0FBUyxDQUFDLHVDQUF1QyxFQUFFLCtCQUErQixDQUFDLENBQUM7UUFDekYsSUFBSSxDQUFDLFNBQVMsQ0FBQyx5Q0FBeUMsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO1FBQzdGLElBQUksQ0FBQyxTQUFTLENBQUMseUNBQXlDLEVBQUUsaUNBQWlDLENBQUMsQ0FBQztJQUNqRyxDQUFDLENBQUE7SUFFRCwyQkFBMkI7YUFDSix3QkFBbUIsR0FBRyxHQUFRLEVBQUU7UUFDbkQsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBRXZCLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sS0FBSyxHQUFHLElBQUks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LENBQUM7UUFDekUsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLCtCQUErQixDQUFDLENBQUM7SUFDbkYsQ0FBQyxDQUFBO2FBRXNCLGlDQUE0QixHQUFHLEdBQVMsRUFBRTtRQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLHdDQUF3QyxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDaEcsQ0FBQyxDQUFBO2FBRXNCLGlDQUE0QixHQUFHLEdBQVMsRUFBRTtRQUM3RCxJQUFJLENBQUMsU0FBUyxDQUFDLHdDQUF3QyxFQUFFLGlDQUFpQyxDQUFDLENBQUM7SUFDaEcsQ0FBQyxDQUFBO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxxQkFBcUI7UUFDL0IsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDckMsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIENzc1V0aWxzIHtcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGdldENzc1ZhclZhbHVlID0gKGlucHV0UHJvcGVydHk6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgICAgIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShpbnB1dFByb3BlcnR5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHNldENzc1ZhclZhbHVlID0gKHByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eVZhbHVlOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KHByb3BlcnR5TmFtZSwgcHJvcGVydHlWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBzZXRDc3NWYXIgPSAoaW5wdXRQcm9wZXJ0eTogc3RyaW5nLCBvdXRwdXRQcm9wZXJ0eTogc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IGNzc1ZhclZhbHVlID0gdGhpcy5nZXRDc3NWYXJWYWx1ZShpbnB1dFByb3BlcnR5KTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZShvdXRwdXRQcm9wZXJ0eSwgY3NzVmFyVmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgaW5pdENzc1ZhcnMgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1kZWZhdWx0JywgJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0Jyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtYnJlYWRjcnVtYi1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtYnJlYWRjcnVtYi1oZWlnaHQnKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC10b3AtbWVzc2FnZS1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtdG9wLW1lc3NhZ2UtaGVpZ2h0Jyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQnKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWRlZmF1bHQnLCAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgnKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWNsb3NlLWRlZmF1bHQnLCAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UnKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0Jyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0LWRlZmF1bHQnLCAnLS1ldWktYXBwLXNpZGViYXItZm9vdGVyLWhlaWdodCcpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZ2V0QnJlYWtwb2ludFZhbHVlcyA9ICgpOiBhbnkgPT4ge1xuICAgICAgICBjb25zdCBicmVha3BvaW50cyA9IFtdO1xuXG4gICAgICAgIGNvbnN0IHhzID0gdGhpcy5nZXRDc3NWYXJWYWx1ZSgnLS1ldWktYnAteHMnKTtcbiAgICAgICAgYnJlYWtwb2ludHMucHVzaCh7IGJrcDogJ3hzJywgcHhWYWx1ZTogeHMsIHZhbHVlOiB4cy5yZXBsYWNlKCdweCcsICcnKSB9KTtcbiAgICAgICAgY29uc3Qgc20gPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC1zbScpO1xuICAgICAgICBicmVha3BvaW50cy5wdXNoKHsgYmtwOiAnc20nLCBweFZhbHVlOiBzbSwgdmFsdWU6IHNtLnJlcGxhY2UoJ3B4JywgJycpIH0pO1xuICAgICAgICBjb25zdCBtZCA9IHRoaXMuZ2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWJwLW1kJyk7XG4gICAgICAgIGJyZWFrcG9pbnRzLnB1c2goeyBia3A6ICdtZCcsIHB4VmFsdWU6IG1kLCB2YWx1ZTogbWQucmVwbGFjZSgncHgnLCAnJykgfSk7XG4gICAgICAgIGNvbnN0IGxnID0gdGhpcy5nZXRDc3NWYXJWYWx1ZSgnLS1ldWktYnAtbGcnKTtcbiAgICAgICAgYnJlYWtwb2ludHMucHVzaCh7IGJrcDogJ2xnJywgcHhWYWx1ZTogbGcsIHZhbHVlOiBsZy5yZXBsYWNlKCdweCcsICcnKSB9KTtcbiAgICAgICAgY29uc3QgeGwgPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC14bCcpO1xuICAgICAgICBicmVha3BvaW50cy5wdXNoKHsgYmtwOiAneGwnLCBweFZhbHVlOiB4bCwgdmFsdWU6IHhsLnJlcGxhY2UoJ3B4JywgJycpIH0pO1xuICAgICAgICBjb25zdCB4eGwgPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC14eGwnKTtcbiAgICAgICAgYnJlYWtwb2ludHMucHVzaCh7IGJrcDogJ3h4bCcsIHB4VmFsdWU6IHh4bCwgdmFsdWU6IHh4bC5yZXBsYWNlKCdweCcsICcnKSB9KTtcbiAgICAgICAgY29uc3QgZmhkID0gdGhpcy5nZXRDc3NWYXJWYWx1ZSgnLS1ldWktYnAtZmhkJyk7XG4gICAgICAgIGJyZWFrcG9pbnRzLnB1c2goeyBia3A6ICdmaGQnLCBweFZhbHVlOiBmaGQsIHZhbHVlOiBmaGQucmVwbGFjZSgncHgnLCAnJykgfSk7XG4gICAgICAgIGNvbnN0IHR3b2sgPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC0yaycpO1xuICAgICAgICBicmVha3BvaW50cy5wdXNoKHsgYmtwOiAnMmsnLCBweFZhbHVlOiB0d29rLCB2YWx1ZTogdHdvay5yZXBsYWNlKCdweCcsICcnKSB9KTtcbiAgICAgICAgY29uc3QgZm91cmsgPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC00aycpO1xuICAgICAgICBicmVha3BvaW50cy5wdXNoKHsgYmtwOiAnNGsnLCBweFZhbHVlOiBmb3VyaywgdmFsdWU6IGZvdXJrLnJlcGxhY2UoJ3B4JywgJycpIH0pO1xuXG4gICAgICAgIHJldHVybiBicmVha3BvaW50cztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGFjdGl2YXRlRWRpdE1vZGVDc3NWYXJzID0gKGlzQWN0aXZlOiBib29sZWFuKTogdm9pZCA9PiB7XG4gICAgICAgIGlmIChpc0FjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktZG9jcGFnZS1uYXZpZ2F0aW9uLXotaW5kZXgnLCAnaW5oZXJpdCcpOyAvLyBSZXNldCBkb2MtcGFnZS1uYXZpZ2F0aW9uLWNvbHVtbiB6LWluZGV4XG4gICAgICAgICAgICB0aGlzLnNldENzc1ZhclZhbHVlKCctLWV1aS16LWluZGV4LXNpZGViYXInLCAnaW5oZXJpdCcpOyAvLyBSZXNldCBldWktYXBwLXNpZGViYXIgei1pbmRleFxuICAgICAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktei1pbmRleC1yb290JywgJ2luaGVyaXQnKTsgLy8gUmVzZXQgZXVpLWFwcC1tYWluLWNvbnRlbnQgei1pbmRleFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktZG9jcGFnZS1uYXZpZ2F0aW9uLXotaW5kZXgnLCAnMicpOyAvLyBSZXN0b3JlIGRvYy1wYWdlLW5hdmlnYXRpb24tY29sdW1uIHotaW5kZXhcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtc2lkZWJhcicsICcxMDQ0Jyk7IC8vIFJlc3RvcmUgZXVpLWFwcC1zaWRlYmFyIHotaW5kZXhcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtcm9vdCcsICcxJyk7IC8vIFJlc3RvcmUgZXVpLWFwcC1tYWluLWNvbnRlbnQgei1pbmRleFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBhY3RpdmF0ZUhlYWRlckNzc1ZhcnMgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1hY3RpdmUnLCAnLS1ldWktYXBwLWhlYWRlci1oZWlnaHQnKTtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBhY3RpdmF0ZUJyZWFkY3J1bWJDc3NWYXJzID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLWJyZWFkY3J1bWItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtYnJlYWRjcnVtYi1oZWlnaHQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGFjdGl2YXRlVG9wTWVzc2FnZUNzc1ZhcnMgPSAoaGVpZ2h0OiBudW1iZXIpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktYXBwLXRvcC1tZXNzYWdlLWhlaWdodCcsIGAke2hlaWdodH1weGApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgYWN0aXZhdGVUb29sYmFyQ3NzVmFycyA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC10b29sYmFyLWhlaWdodC1hY3RpdmUnLCAnLS1ldWktYXBwLXRvb2xiYXItaGVpZ2h0Jyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBhY3RpdmF0ZUZvb3RlckNzc1ZhcnMgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtZm9vdGVyLWhlaWdodC1hY3RpdmUnLCAnLS1ldWktYXBwLWZvb3Rlci1oZWlnaHQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHNldEhlYWRlclNocmlua0Nzc1ZhciA9IChhY3RpdmU6IGJvb2xlYW4pOiB2b2lkID0+IHtcbiAgICAgICAgaWYgKGFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0LXNocmluaycsICctLWV1aS1hcHAtaGVhZGVyLWhlaWdodCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtaGVhZGVyLWhlaWdodCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBhY3RpdmF0ZVNpZGViYXJDc3NWYXJzID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLXNpZGViYXItd2lkdGgtYWN0aXZlJywgJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoJyk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci13aWR0aC1jbG9zZS1hY3RpdmUnLCAnLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHJlbW92ZVNpZGViYXJDc3NWYXJzID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQnKTtcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0Jyk7XG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1ldWktYXBwLXNpZGViYXItd2lkdGgnKTtcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWV1aS1hcHAtc2lkZWJhci13aWR0aC1jbG9zZScpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgYWN0aXZhdGVTaWRlYmFySGVhZGVyQ3NzVmFycyA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQtYWN0aXZlJywgJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGFjdGl2YXRlU2lkZWJhckZvb3RlckNzc1ZhcnMgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmlld3BvcnQgaGVpZ2h0IGFuZCB3aWR0aCBhbmQgbXVsdGlwbGUgaXQgYnkgMSUgdG8gZ2V0IGEgdmFsdWUgZm9yIGEgdmgvdncgdW5pdFxuICAgICAqIFNldHMgdGhlIHZhbHVlIGluIHRoZSAtLWV1aS1hcHAtdmggY3VzdG9tIHByb3BlcnR5IHRvIHRoZSByb290IG9mIHRoZSBkb2N1bWVudFxuICAgICAqIFNldHMgdGhlIHZhbHVlIGluIHRoZSAtLWV1aS1hcHAtdncgY3VzdG9tIHByb3BlcnR5IHRvIHRoZSByb290IG9mIHRoZSBkb2N1bWVudFxuICAgICAqIEV4YW1wbGUgZm9yIDEwMCUgaGVpZ2h0OiBjYWxjKHZhcigtLWV1aS1hcHAtdmgsIDF2aCkgKiAxMDApO1xuICAgICAqIEV4YW1wbGUgZm9yIDUwJSBoZWlnaHQ6IGNhbGModmFyKC0tZXVpLWFwcC12aCwgMXZoKSAqIDUwKTtcbiAgICAgKiBFeGFtcGxlIGZvciA1MCUgd2lkdGg6IGNhbGModmFyKC0tZXVpLWFwcC12dywgMXZ3KSAqIDUwKTtcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHNldEFwcFZpZXdwb3J0Q3NzVmFycygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmggPSB3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjAxO1xuICAgICAgICBjb25zdCB2dyA9IHdpbmRvdy5pbm5lcldpZHRoICogMC4wMTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktYXBwLXZoJywgYCR7dmh9cHhgKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktYXBwLXZ3JywgYCR7dnd9cHhgKTtcbiAgICB9XG59XG5cbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9oZWxwZXJzL2Nzcy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0RSxNQUFNLE9BQWdCLFFBQVE7SUFDMUI7Ozs7O09BS0c7YUFDb0IsbUJBQWMsR0FBRyxDQUFDLGFBQXFCLEVBQUUsUUFBa0IsRUFBRSxRQUFpQixFQUFVLEVBQUU7UUFDN0csSUFBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUUsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RixDQUFDO0lBQ0wsQ0FBQyxDQUFBO2FBRXNCLG1CQUFjLEdBQUcsQ0FBQyxZQUFvQixFQUFFLGFBQXFCLEVBQUUsUUFBa0IsRUFBUSxFQUFFO1FBQzlHLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDNUUsQ0FBQyxDQUFBO2FBRXNCLGNBQVMsR0FBRyxDQUFDLGFBQXFCLEVBQUUsY0FBc0IsRUFBRSxRQUFrQixFQUFFLFFBQWlCLEVBQVEsRUFBRTtRQUM5SCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQTthQUVzQixnQkFBVyxHQUFHLENBQUMsUUFBa0IsRUFBRSxRQUFpQixFQUFRLEVBQUU7UUFDakYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQ0FBaUMsRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQ0FBcUMsRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDekcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQ0FBc0MsRUFBRSw4QkFBOEIsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQ0FBa0MsRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQ0FBaUMsRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1Q0FBdUMsRUFBRSwrQkFBK0IsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0csSUFBSSxDQUFDLFNBQVMsQ0FBQyx5Q0FBeUMsRUFBRSxpQ0FBaUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakgsSUFBSSxDQUFDLFNBQVMsQ0FBQyx5Q0FBeUMsRUFBRSxpQ0FBaUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckgsQ0FBQyxDQUFBO0lBRUQsMkJBQTJCO2FBQ0osd0JBQW1CLEdBQUcsQ0FBQyxRQUFrQixFQUFFLFFBQWlCLEVBQU8sRUFBRTtRQUN4RixNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdkIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2xFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEUsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNsRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2xFLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEUsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFD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QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyLCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENzc1V0aWxzIHtcbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHZhbHVlIG9mIGEgQ1NTIHZhcmlhYmxlLiBVc2luZyBnZXRDb21wdXRlZFN0eWxlIHRvIGdldCB0aGUgdmFsdWUgb2YgdGhlIENTUyB2YXJpYWJsZSAoQnJvd3NlciBTcGVjaWZpYyBBUEkpXG4gICAgICogQHBhcmFtIGlucHV0UHJvcGVydHlcbiAgICAgKiBAcGFyYW0gZG9jdW1lbnRcbiAgICAgKiBAcGFyYW0gcGxhdGZvcm1cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGdldENzc1ZhclZhbHVlID0gKGlucHV0UHJvcGVydHk6IHN0cmluZywgZG9jdW1lbnQ6IERvY3VtZW50LCBwbGF0Zm9ybTogdW5rbm93bik6IHN0cmluZyA9PiB7XG4gICAgICAgIGlmKGlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm0pKSB7XG4gICAgICAgICAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmdldFByb3BlcnR5VmFsdWUoaW5wdXRQcm9wZXJ0eSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoaW5wdXRQcm9wZXJ0eSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHNldENzc1ZhclZhbHVlID0gKHByb3BlcnR5TmFtZTogc3RyaW5nLCBwcm9wZXJ0eVZhbHVlOiBzdHJpbmcsIGRvY3VtZW50OiBEb2N1bWVudCk6IHZvaWQgPT4ge1xuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCBwcm9wZXJ0eVZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHNldENzc1ZhciA9IChpbnB1dFByb3BlcnR5OiBzdHJpbmcsIG91dHB1dFByb3BlcnR5OiBzdHJpbmcsIGRvY3VtZW50OiBEb2N1bWVudCwgcGxhdGZvcm06IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgY3NzVmFyVmFsdWUgPSB0aGlzLmdldENzc1ZhclZhbHVlKGlucHV0UHJvcGVydHksIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyVmFsdWUob3V0cHV0UHJvcGVydHksIGNzc1ZhclZhbHVlLCBkb2N1bWVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBpbml0Q3NzVmFycyA9IChkb2N1bWVudDogRG9jdW1lbnQsIHBsYXRmb3JtOiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1kZWZhdWx0JywgJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0JywgZG9jdW1lbnQsIHBsYXRmb3JtKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1icmVhZGNydW1iLWhlaWdodC1kZWZhdWx0JywgJy0tZXVpLWFwcC1icmVhZGNydW1iLWhlaWdodCcsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtdG9wLW1lc3NhZ2UtaGVpZ2h0LWRlZmF1bHQnLCAnLS1ldWktYXBwLXRvcC1tZXNzYWdlLWhlaWdodCcsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQnLCBkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLXNpZGViYXItd2lkdGgtZGVmYXVsdCcsICctLWV1aS1hcHAtc2lkZWJhci13aWR0aCcsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtc2lkZWJhci13aWR0aC1jbG9zZS1kZWZhdWx0JywgJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWNsb3NlJywgZG9jdW1lbnQsIHBsYXRmb3JtKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLWhlYWRlci1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0JywgZG9jdW1lbnQsIHBsYXRmb3JtKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQtZGVmYXVsdCcsICctLWV1aS1hcHAtc2lkZWJhci1mb290ZXItaGVpZ2h0JywgZG9jdW1lbnQsIHBsYXRmb3JtKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGdldEJyZWFrcG9pbnRWYWx1ZXMgPSAoZG9jdW1lbnQ6IERvY3VtZW50LCBwbGF0Zm9ybTogdW5rbm93bik6IGFueSA9PiB7XG4gICAgICAgIGNvbnN0IGJyZWFrcG9pbnRzID0gW107XG5cbiAgICAgICAgY29uc3QgeHMgPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC14cycsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgICAgIGJyZWFrcG9pbnRzLnB1c2goeyBia3A6ICd4cycsIHB4VmFsdWU6IHhzLCB2YWx1ZTogeHMucmVwbGFjZSgncHgnLCAnJykgfSk7XG4gICAgICAgIGNvbnN0IHNtID0gdGhpcy5nZXRDc3NWYXJWYWx1ZSgnLS1ldWktYnAtc20nLCBkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgICAgICBicmVha3BvaW50cy5wdXNoKHsgYmtwOiAnc20nLCBweFZhbHVlOiBzbSwgdmFsdWU6IHNtLnJlcGxhY2UoJ3B4JywgJycpIH0pO1xuICAgICAgICBjb25zdCBtZCA9IHRoaXMuZ2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWJwLW1kJywgZG9jdW1lbnQsIHBsYXRmb3JtKTtcbiAgICAgICAgYnJlYWtwb2ludHMucHVzaCh7IGJrcDogJ21kJywgcHhWYWx1ZTogbWQsIHZhbHVlOiBtZC5yZXBsYWNlKCdweCcsICcnKSB9KTtcbiAgICAgICAgY29uc3QgbGcgPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC1sZycsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgICAgIGJyZWFrcG9pbnRzLnB1c2goeyBia3A6ICdsZycsIHB4VmFsdWU6IGxnLCB2YWx1ZTogbGcucmVwbGFjZSgncHgnLCAnJykgfSk7XG4gICAgICAgIGNvbnN0IHhsID0gdGhpcy5nZXRDc3NWYXJWYWx1ZSgnLS1ldWktYnAteGwnLCBkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgICAgICBicmVha3BvaW50cy5wdXNoKHsgYmtwOiAneGwnLCBweFZhbHVlOiB4bCwgdmFsdWU6IHhsLnJlcGxhY2UoJ3B4JywgJycpIH0pO1xuICAgICAgICBjb25zdCB4eGwgPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC14eGwnLCBkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgICAgICBicmVha3BvaW50cy5wdXNoKHsgYmtwOiAneHhsJywgcHhWYWx1ZTogeHhsLCB2YWx1ZTogeHhsLnJlcGxhY2UoJ3B4JywgJycpIH0pO1xuICAgICAgICBjb25zdCBmaGQgPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC1maGQnLCBkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgICAgICBicmVha3BvaW50cy5wdXNoKHsgYmtwOiAnZmhkJywgcHhWYWx1ZTogZmhkLCB2YWx1ZTogZmhkLnJlcGxhY2UoJ3B4JywgJycpIH0pO1xuICAgICAgICBjb25zdCB0d29rID0gdGhpcy5nZXRDc3NWYXJWYWx1ZSgnLS1ldWktYnAtMmsnLCBkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgICAgICBicmVha3BvaW50cy5wdXNoKHsgYmtwOiAnMmsnLCBweFZhbHVlOiB0d29rLCB2YWx1ZTogdHdvay5yZXBsYWNlKCdweCcsICcnKSB9KTtcbiAgICAgICAgY29uc3QgZm91cmsgPSB0aGlzLmdldENzc1ZhclZhbHVlKCctLWV1aS1icC00aycsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgICAgIGJyZWFrcG9pbnRzLnB1c2goeyBia3A6ICc0aycsIHB4VmFsdWU6IGZvdXJrLCB2YWx1ZTogZm91cmsucmVwbGFjZSgncHgnLCAnJykgfSk7XG5cbiAgICAgICAgcmV0dXJuIGJyZWFrcG9pbnRzO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgYWN0aXZhdGVFZGl0TW9kZUNzc1ZhcnMgPSAoaXNBY3RpdmU6IGJvb2xlYW4sIGRvY3VtZW50OiBEb2N1bWVudCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWRvY3BhZ2UtbmF2aWdhdGlvbi16LWluZGV4JywgJ2luaGVyaXQnLCBkb2N1bWVudCk7IC8vIFJlc2V0IGRvYy1wYWdlLW5hdmlnYXRpb24tY29sdW1uIHotaW5kZXhcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtc2lkZWJhcicsICdpbmhlcml0JywgZG9jdW1lbnQpOyAvLyBSZXNldCBldWktYXBwLXNpZGViYXIgei1pbmRleFxuICAgICAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktei1pbmRleC1yb290JywgJ2luaGVyaXQnLCBkb2N1bWVudCk7IC8vIFJlc2V0IGV1aS1hcHAtbWFpbi1jb250ZW50IHotaW5kZXhcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWRvY3BhZ2UtbmF2aWdhdGlvbi16LWluZGV4JywgJzInLCBkb2N1bWVudCk7IC8vIFJlc3RvcmUgZG9jLXBhZ2UtbmF2aWdhdGlvbi1jb2x1bW4gei1pbmRleFxuICAgICAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktei1pbmRleC1zaWRlYmFyJywgJzEwNDQnLCBkb2N1bWVudCk7IC8vIFJlc3RvcmUgZXVpLWFwcC1zaWRlYmFyIHotaW5kZXhcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLXotaW5kZXgtcm9vdCcsICcxJywgZG9jdW1lbnQpOyAvLyBSZXN0b3JlIGV1aS1hcHAtbWFpbi1jb250ZW50IHotaW5kZXhcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgYWN0aXZhdGVIZWFkZXJDc3NWYXJzID0gKGRvY3VtZW50OiBEb2N1bWVudCwgcGxhdGZvcm06IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtaGVhZGVyLWhlaWdodCcsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgfVxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgYWN0aXZhdGVCcmVhZGNydW1iQ3NzVmFycyA9IChkb2N1bWVudDogRG9jdW1lbnQsIHBsYXRmb3JtOiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtYnJlYWRjcnVtYi1oZWlnaHQtYWN0aXZlJywgJy0tZXVpLWFwcC1icmVhZGNydW1iLWhlaWdodCcsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBhY3RpdmF0ZVRvcE1lc3NhZ2VDc3NWYXJzID0gKGhlaWdodDogbnVtYmVyLCBkb2N1bWVudDogRG9jdW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktYXBwLXRvcC1tZXNzYWdlLWhlaWdodCcsIGAke2hlaWdodH1weGAsIGRvY3VtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGFjdGl2YXRlVG9vbGJhckNzc1ZhcnMgPSAoZG9jdW1lbnQ6IERvY3VtZW50LCBwbGF0Zm9ybTogdW5rbm93bik6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLXRvb2xiYXItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtdG9vbGJhci1oZWlnaHQnLCBkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgYWN0aXZhdGVGb290ZXJDc3NWYXJzID0gKGRvY3VtZW50OiBEb2N1bWVudCwgcGxhdGZvcm06IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1mb290ZXItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtZm9vdGVyLWhlaWdodCcsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBzZXRIZWFkZXJTaHJpbmtDc3NWYXIgPSAoYWN0aXZlOiBib29sZWFuLCBkb2N1bWVudDogRG9jdW1lbnQsIHBsYXRmb3JtOiB1bmtub3duKTogdm9pZCA9PiB7XG4gICAgICAgIGlmIChhY3RpdmUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyKCctLWV1aS1hcHAtaGVhZGVyLWhlaWdodC1zaHJpbmsnLCAnLS1ldWktYXBwLWhlYWRlci1oZWlnaHQnLCBkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1oZWFkZXItaGVpZ2h0LWFjdGl2ZScsICctLWV1aS1hcHAtaGVhZGVyLWhlaWdodCcsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGFjdGl2YXRlU2lkZWJhckNzc1ZhcnMgPSAoZG9jdW1lbnQ6IERvY3VtZW50LCBwbGF0Zm9ybTogdW5rbm93bik6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLXNpZGViYXItd2lkdGgtYWN0aXZlJywgJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoJywgZG9jdW1lbnQsIHBsYXRmb3JtKTtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoLWNsb3NlLWFjdGl2ZScsICctLWV1aS1hcHAtc2lkZWJhci13aWR0aC1jbG9zZScsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSByZW1vdmVTaWRlYmFyQ3NzVmFycyA9IChkb2N1bWVudDogRG9jdW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLWV1aS1hcHAtc2lkZWJhci1oZWFkZXItaGVpZ2h0Jyk7XG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1ldWktYXBwLXNpZGViYXItZm9vdGVyLWhlaWdodCcpO1xuICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tZXVpLWFwcC1zaWRlYmFyLXdpZHRoJyk7XG4gICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1ldWktYXBwLXNpZGViYXItd2lkdGgtY2xvc2UnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGFjdGl2YXRlU2lkZWJhckhlYWRlckNzc1ZhcnMgPSAoZG9jdW1lbnQ6IERvY3VtZW50LCBwbGF0Zm9ybTogdW5rbm93bik6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnNldENzc1ZhcignLS1ldWktYXBwLXNpZGViYXItaGVhZGVyLWhlaWdodC1hY3RpdmUnLCAnLS1ldWktYXBwLXNpZGViYXItaGVhZGVyLWhlaWdodCcsIGRvY3VtZW50LCBwbGF0Zm9ybSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByZWFkb25seSBhY3RpdmF0ZVNpZGViYXJGb290ZXJDc3NWYXJzID0gKGRvY3VtZW50OiBEb2N1bWVudCwgcGxhdGZvcm06IHVua25vd24pOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5zZXRDc3NWYXIoJy0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQtYWN0aXZlJywgJy0tZXVpLWFwcC1zaWRlYmFyLWZvb3Rlci1oZWlnaHQnLCBkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZpZXdwb3J0IGhlaWdodCBhbmQgd2lkdGggYW5kIG11bHRpcGx5IGl0IGJ5IDElIHRvIGdldCBhIHZhbHVlIGZvciBhIHZoL3Z3IHVuaXRcbiAgICAgKiBTZXRzIHRoZSB2YWx1ZSBpbiB0aGUgLS1ldWktYXBwLXZoIGN1c3RvbSBwcm9wZXJ0eSB0byB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnRcbiAgICAgKiBTZXRzIHRoZSB2YWx1ZSBpbiB0aGUgLS1ldWktYXBwLXZ3IGN1c3RvbSBwcm9wZXJ0eSB0byB0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnRcbiAgICAgKiBFeGFtcGxlIGZvciAxMDAlIGhlaWdodDogY2FsYyh2YXIoLS1ldWktYXBwLXZoLCAxdmgpICogMTAwKTtcbiAgICAgKiBFeGFtcGxlIGZvciA1MCUgaGVpZ2h0OiBjYWxjKHZhcigtLWV1aS1hcHAtdmgsIDF2aCkgKiA1MCk7XG4gICAgICogRXhhbXBsZSBmb3IgNTAlIHdpZHRoOiBjYWxjKHZhcigtLWV1aS1hcHAtdncsIDF2dykgKiA1MCk7XG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBzZXRBcHBWaWV3cG9ydENzc1ZhcnMocGxhdGZvcm06IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgaWYoaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm0pKSB7XG4gICAgICAgICAgICBjb25zdCB2aCA9IHdpbmRvdy5pbm5lckhlaWdodCAqIDAuMDE7XG4gICAgICAgICAgICBjb25zdCB2dyA9IHdpbmRvdy5pbm5lcldpZHRoICogMC4wMTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3NzVmFyVmFsdWUoJy0tZXVpLWFwcC12aCcsIGAke3ZofXB4YCwgZG9jdW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5zZXRDc3NWYXJWYWx1ZSgnLS1ldWktYXBwLXZ3JywgYCR7dnd9cHhgLCBkb2N1bWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiJdfQ==
@@ -34,16 +34,10 @@ export const offset = (nativeEl) => {
34
34
  };
35
35
  };
36
36
  // PRIVATE FUNCTIONS
37
- // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
38
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
37
  const getStyle = (nativeEl, cssProp) => {
40
- // IE
41
38
  /* istanbul ignore if */
42
- if (nativeEl.currentStyle) {
43
- return nativeEl.currentStyle[cssProp];
44
- }
45
- if (window.getComputedStyle) {
46
- return window.getComputedStyle(nativeEl)[cssProp];
39
+ if (getComputedStyle(nativeEl)) {
40
+ return getComputedStyle(nativeEl)[cssProp];
47
41
  }
48
42
  // finally try and get inline style
49
43
  /* istanbul ignore next */
@@ -89,4 +83,4 @@ export const closestMatchingParent = (target, className) => {
89
83
  }
90
84
  return null;
91
85
  };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvZG9tLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSS9DOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQXFCLEVBQWdFLEVBQUU7SUFDNUcsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLElBQUksZUFBZSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDMUMsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELElBQUksY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLGVBQWUsR0FBRyxNQUFNLENBQUMsY0FBNkIsQ0FBQyxDQUFDO1FBQ3hELGVBQWUsQ0FBQyxHQUFHLElBQUssY0FBMEIsQ0FBQyxTQUFTLEdBQUksY0FBMEIsQ0FBQyxTQUFTLENBQUM7UUFDckcsZUFBZSxDQUFDLElBQUksSUFBSyxjQUEwQixDQUFDLFVBQVUsR0FBSSxjQUEwQixDQUFDLFVBQVUsQ0FBQztJQUM1RyxDQUFDO0lBRUQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM1RCxPQUFPO1FBQ0gsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsV0FBVztRQUN2RCxNQUFNLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxZQUFZO1FBQzFELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxHQUFHO1FBQ3BDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJO0tBQzFD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LEVBQUUsVUFBeUIsRUFBRSxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBbUIsRUFBRSxTQUFpQixFQUFzQixFQUFFO0lBQ2hHLElBQUksT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUVyQixPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBQcm92aWRlcyByZWFkLW9ubHkgZXF1aXZhbGVudCBvZiBqUXVlcnkncyBwb3NpdGlvbiBmdW5jdGlvbjpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5LmNvbS9wb3NpdGlvbi9cbiAqL1xuZXhwb3J0IGNvbnN0IHBvc2l0aW9uID0gKG5hdGl2ZUVsOiBIVE1MRWxlbWVudCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXI7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSA9PiB7XG4gICAgY29uc3QgZWxCQ1IgPSBvZmZzZXQobmF0aXZlRWwpO1xuICAgIGxldCBvZmZzZXRQYXJlbnRCQ1IgPSB7IHRvcDogMCwgbGVmdDogMCB9O1xuICAgIGNvbnN0IG9mZnNldFBhcmVudEVsID0gcGFyZW50T2Zmc2V0RWwobmF0aXZlRWwpO1xuICAgIGlmIChvZmZzZXRQYXJlbnRFbCAhPT0gZG9jdW1lbnQpIHtcbiAgICAgICAgb2Zmc2V0UGFyZW50QkNSID0gb2Zmc2V0KG9mZnNldFBhcmVudEVsIGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgb2Zmc2V0UGFyZW50QkNSLnRvcCArPSAob2Zmc2V0UGFyZW50RWwgYXMgRWxlbWVudCkuY2xpZW50VG9wIC0gKG9mZnNldFBhcmVudEVsIGFzIEVsZW1lbnQpLnNjcm9sbFRvcDtcbiAgICAgICAgb2Zmc2V0UGFyZW50QkNSLmxlZnQgKz0gKG9mZnNldFBhcmVudEVsIGFzIEVsZW1lbnQpLmNsaWVudExlZnQgLSAob2Zmc2V0UGFyZW50RWwgYXMgRWxlbWVudCkuc2Nyb2xsTGVmdDtcbiAgICB9XG5cbiAgICBjb25zdCBib3VuZGluZ0NsaWVudFJlY3QgPSBuYXRpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aDogYm91bmRpbmdDbGllbnRSZWN0LndpZHRoIHx8IG5hdGl2ZUVsLm9mZnNldFdpZHRoLFxuICAgICAgICBoZWlnaHQ6IGJvdW5kaW5nQ2xpZW50UmVjdC5oZWlnaHQgfHwgbmF0aXZlRWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgICB0b3A6IGVsQkNSLnRvcCAtIG9mZnNldFBhcmVudEJDUi50b3AsXG4gICAgICAgIGxlZnQ6IGVsQkNSLmxlZnQgLSBvZmZzZXRQYXJlbnRCQ1IubGVmdCxcbiAgICB9O1xufTtcblxuLyoqXG4gKiBQcm92aWRlcyByZWFkLW9ubHkgZXF1aXZhbGVudCBvZiBqUXVlcnkncyBvZmZzZXQgZnVuY3Rpb246XG4gKiBodHRwOi8vYXBpLmpxdWVyeS5jb20vb2Zmc2V0L1xuICovXG5leHBvcnQgY29uc3Qgb2Zmc2V0ID0gKG5hdGl2ZUVsOiBIVE1MRWxlbWVudCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXI7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSA9PiB7XG4gICAgY29uc3QgYm91bmRpbmdDbGllbnRSZWN0ID0gbmF0aXZlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IGJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCB8fCBuYXRpdmVFbC5vZmZzZXRXaWR0aCxcbiAgICAgICAgaGVpZ2h0OiBib3VuZGluZ0NsaWVudFJlY3QuaGVpZ2h0IHx8IG5hdGl2ZUVsLm9mZnNldEhlaWdodCxcbiAgICAgICAgdG9wOiBib3VuZGluZ0NsaWVudFJlY3QudG9wICsgKHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wKSxcbiAgICAgICAgbGVmdDogYm91bmRpbmdDbGllbnRSZWN0LmxlZnQgKyAod2luZG93LnBhZ2VYT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0KSxcbiAgICB9O1xufTtcblxuLy8gUFJJVkFURSBGVU5DVElPTlNcbi8vIFRPRE86IGZpbmQgdGhlIGNvcnJlY3QgdHlwZSBvciB0dXJuIGludG8gYSBnZW5lcmljLCBodHRwczovL3d3dy50eXBlc2NyaXB0bGFuZy5vcmcvZG9jcy9oYW5kYm9vay8yL2dlbmVyaWNzLmh0bWxcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCBnZXRTdHlsZSA9IChuYXRpdmVFbDogYW55LCBjc3NQcm9wOiBzdHJpbmcpOiBDU1NTdHlsZURlY2xhcmF0aW9uID0+IHtcbiAgICAvLyBJRVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChuYXRpdmVFbC5jdXJyZW50U3R5bGUpIHtcbiAgICAgICAgcmV0dXJuIG5hdGl2ZUVsLmN1cnJlbnRTdHlsZVtjc3NQcm9wXTtcbiAgICB9XG5cbiAgICBpZiAod2luZG93LmdldENvbXB1dGVkU3R5bGUpIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5hdGl2ZUVsKVtjc3NQcm9wXTtcbiAgICB9XG4gICAgLy8gZmluYWxseSB0cnkgYW5kIGdldCBpbmxpbmUgc3R5bGVcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBuYXRpdmVFbC5zdHlsZVtjc3NQcm9wXTtcbn07XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4vKipcbiAqIENoZWNrcyBpZiBhIGdpdmVuIGVsZW1lbnQgaXMgc3RhdGljYWxseSBwb3NpdGlvbmVkXG4gKi9cbmNvbnN0IGlzU3RhdGljUG9zaXRpb25lZCA9IChuYXRpdmVFbDogRWxlbWVudCk6IGJvb2xlYW4gPT4gKGdldFN0eWxlKG5hdGl2ZUVsLCAncG9zaXRpb24nKSB8fCAnc3RhdGljJykgPT09ICdzdGF0aWMnO1xuXG4vKipcbiAqIHJldHVybnMgdGhlIGNsb3Nlc3QsIG5vbi1zdGF0aWNhbGx5IHBvc2l0aW9uZWQgcGFyZW50T2Zmc2V0IG9mIGEgZ2l2ZW4gZWxlbWVudFxuICogQHBhcmFtIG5hdGl2ZUVsXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJlbnRPZmZzZXRFbCA9IChuYXRpdmVFbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50IHwgRG9jdW1lbnQgPT4ge1xuICAgIGxldCBvZmZzZXRQYXJlbnQgPSBuYXRpdmVFbC5vZmZzZXRQYXJlbnQgfHwgZG9jdW1lbnQ7XG4gICAgd2hpbGUgKG9mZnNldFBhcmVudCAmJiBvZmZzZXRQYXJlbnQgIT09IGRvY3VtZW50ICYmIGlzU3RhdGljUG9zaXRpb25lZChvZmZzZXRQYXJlbnQgYXMgRWxlbWVudCkpIHtcbiAgICAgICAgb2Zmc2V0UGFyZW50ID0gKG9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudCkub2Zmc2V0UGFyZW50O1xuICAgIH1cbiAgICByZXR1cm4gb2Zmc2V0UGFyZW50IHx8IGRvY3VtZW50O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFZpZXdFbGVtZW50ID0gPEY+KGZpeHR1cmU6IENvbXBvbmVudEZpeHR1cmU8Rj4sIGNvbXBvbmVudENsYXNzLCBrbGFzcz8pOiB7ZGU6IERlYnVnRWxlbWVudCwgZWw6IEhUTUxFbGVtZW50LCBkb21FbGVtZW50OiBIVE1MRWxlbWVudH0gPT4ge1xuICAgIGxldCBlbDogSFRNTEVsZW1lbnQsIGRvbUVsZW1lbnQ6IE5vZGVMaXN0IHwgSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdCBkZSA9IGZpeHR1cmUuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcyhjb21wb25lbnRDbGFzcykpO1xuICAgIGlmIChkZSkge1xuICAgICAgICBlbCA9IGRlLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGVsICYmIGtsYXNzKSB7XG4gICAgICAgICAgICBkb21FbGVtZW50ID0gZWwucXVlcnlTZWxlY3RvckFsbChrbGFzcyk7XG5cbiAgICAgICAgICAgIGlmIChkb21FbGVtZW50Lmxlbmd0aCA8PSAxKSB7XG4gICAgICAgICAgICAgICAgZG9tRWxlbWVudCA9IGVsLnF1ZXJ5U2VsZWN0b3Ioa2xhc3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZGUsIGVsLCBkb21FbGVtZW50OiBkb21FbGVtZW50IGFzIEhUTUxFbGVtZW50IH07XG59O1xuXG5leHBvcnQgY29uc3QgY2xvc2VzdE1hdGNoaW5nUGFyZW50ID0gKHRhcmdldDogSFRNTEVsZW1lbnQsIGNsYXNzTmFtZTogc3RyaW5nKTogSFRNTEVsZW1lbnQgfCBudWxsID0+IHtcbiAgICBsZXQgZWxlbWVudCA9IHRhcmdldDtcblxuICAgIHdoaWxlIChlbGVtZW50ICYmIGVsZW1lbnQubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59O1xuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlbHBlcnMvZG9tLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSS9DOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLFFBQXFCLEVBQWdFLEVBQUU7SUFDNUcsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9CLElBQUksZUFBZSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDMUMsTUFBTSxjQUFjLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELElBQUksY0FBYyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLGVBQWUsR0FBRyxNQUFNLENBQUMsY0FBNkIsQ0FBQyxDQUFDO1FBQ3hELGVBQWUsQ0FBQyxHQUFHLElBQUssY0FBMEIsQ0FBQyxTQUFTLEdBQUksY0FBMEIsQ0FBQyxTQUFTLENBQUM7UUFDckcsZUFBZSxDQUFDLElBQUksSUFBSyxjQUEwQixDQUFDLFVBQVUsR0FBSSxjQUEwQixDQUFDLFVBQVUsQ0FBQztJQUM1RyxDQUFDO0lBRUQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM1RCxPQUFPO1FBQ0gsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsV0FBVztRQUN2RCxNQUFNLEVBQUUsa0JBQWtCLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxZQUFZO1FBQzFELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxHQUFHO1FBQ3BDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQyxJQUFJO0tBQzFD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Q0FBQztJQUVyQixPQUFPLE9BQU8sSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCeSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50Rml4dHVyZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvdGVzdGluZyc7XG5pbXBvcnQgeyBEZWJ1Z0VsZW1lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBQcm92aWRlcyByZWFkLW9ubHkgZXF1aXZhbGVudCBvZiBqUXVlcnkncyBwb3NpdGlvbiBmdW5jdGlvbjpcbiAqIGh0dHA6Ly9hcGkuanF1ZXJ5LmNvbS9wb3NpdGlvbi9cbiAqL1xuZXhwb3J0IGNvbnN0IHBvc2l0aW9uID0gKG5hdGl2ZUVsOiBIVE1MRWxlbWVudCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXI7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSA9PiB7XG4gICAgY29uc3QgZWxCQ1IgPSBvZmZzZXQobmF0aXZlRWwpO1xuICAgIGxldCBvZmZzZXRQYXJlbnRCQ1IgPSB7IHRvcDogMCwgbGVmdDogMCB9O1xuICAgIGNvbnN0IG9mZnNldFBhcmVudEVsID0gcGFyZW50T2Zmc2V0RWwobmF0aXZlRWwpO1xuICAgIGlmIChvZmZzZXRQYXJlbnRFbCAhPT0gZG9jdW1lbnQpIHtcbiAgICAgICAgb2Zmc2V0UGFyZW50QkNSID0gb2Zmc2V0KG9mZnNldFBhcmVudEVsIGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgb2Zmc2V0UGFyZW50QkNSLnRvcCArPSAob2Zmc2V0UGFyZW50RWwgYXMgRWxlbWVudCkuY2xpZW50VG9wIC0gKG9mZnNldFBhcmVudEVsIGFzIEVsZW1lbnQpLnNjcm9sbFRvcDtcbiAgICAgICAgb2Zmc2V0UGFyZW50QkNSLmxlZnQgKz0gKG9mZnNldFBhcmVudEVsIGFzIEVsZW1lbnQpLmNsaWVudExlZnQgLSAob2Zmc2V0UGFyZW50RWwgYXMgRWxlbWVudCkuc2Nyb2xsTGVmdDtcbiAgICB9XG5cbiAgICBjb25zdCBib3VuZGluZ0NsaWVudFJlY3QgPSBuYXRpdmVFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aDogYm91bmRpbmdDbGllbnRSZWN0LndpZHRoIHx8IG5hdGl2ZUVsLm9mZnNldFdpZHRoLFxuICAgICAgICBoZWlnaHQ6IGJvdW5kaW5nQ2xpZW50UmVjdC5oZWlnaHQgfHwgbmF0aXZlRWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgICB0b3A6IGVsQkNSLnRvcCAtIG9mZnNldFBhcmVudEJDUi50b3AsXG4gICAgICAgIGxlZnQ6IGVsQkNSLmxlZnQgLSBvZmZzZXRQYXJlbnRCQ1IubGVmdCxcbiAgICB9O1xufTtcblxuLyoqXG4gKiBQcm92aWRlcyByZWFkLW9ubHkgZXF1aXZhbGVudCBvZiBqUXVlcnkncyBvZmZzZXQgZnVuY3Rpb246XG4gKiBodHRwOi8vYXBpLmpxdWVyeS5jb20vb2Zmc2V0L1xuICovXG5leHBvcnQgY29uc3Qgb2Zmc2V0ID0gKG5hdGl2ZUVsOiBIVE1MRWxlbWVudCk6IHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXI7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSA9PiB7XG4gICAgY29uc3QgYm91bmRpbmdDbGllbnRSZWN0ID0gbmF0aXZlRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgd2lkdGg6IGJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCB8fCBuYXRpdmVFbC5vZmZzZXRXaWR0aCxcbiAgICAgICAgaGVpZ2h0OiBib3VuZGluZ0NsaWVudFJlY3QuaGVpZ2h0IHx8IG5hdGl2ZUVsLm9mZnNldEhlaWdodCxcbiAgICAgICAgdG9wOiBib3VuZGluZ0NsaWVudFJlY3QudG9wICsgKHdpbmRvdy5wYWdlWU9mZnNldCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wKSxcbiAgICAgICAgbGVmdDogYm91bmRpbmdDbGllbnRSZWN0LmxlZnQgKyAod2luZG93LnBhZ2VYT2Zmc2V0IHx8IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0KSxcbiAgICB9O1xufTtcblxuLy8gUFJJVkFURSBGVU5DVElPTlNcbmNvbnN0IGdldFN0eWxlID0gKG5hdGl2ZUVsOiBFbGVtZW50LCBjc3NQcm9wOiBrZXlvZiBDU1NTdHlsZURlY2xhcmF0aW9uKTogc3RyaW5nID0+IHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShuYXRpdmVFbCkpIHtcbiAgICAgICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUobmF0aXZlRWwpW2Nzc1Byb3BdIGFzIHN0cmluZztcbiAgICB9XG5cbiAgICAvLyBmaW5hbGx5IHRyeSBhbmQgZ2V0IGlubGluZSBzdHlsZVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIChuYXRpdmVFbCBhcyBIVE1MRWxlbWVudCkuc3R5bGVbY3NzUHJvcF0gYXMgc3RyaW5nO1xufTtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbi8qKlxuICogQ2hlY2tzIGlmIGEgZ2l2ZW4gZWxlbWVudCBpcyBzdGF0aWNhbGx5IHBvc2l0aW9uZWRcbiAqL1xuY29uc3QgaXNTdGF0aWNQb3NpdGlvbmVkID0gKG5hdGl2ZUVsOiBFbGVtZW50KTogYm9vbGVhbiA9PiAoZ2V0U3R5bGUobmF0aXZlRWwsICdwb3NpdGlvbicpIHx8ICdzdGF0aWMnKSA9PT0gJ3N0YXRpYyc7XG5cbi8qKlxuICogcmV0dXJucyB0aGUgY2xvc2VzdCwgbm9uLXN0YXRpY2FsbHkgcG9zaXRpb25lZCBwYXJlbnRPZmZzZXQgb2YgYSBnaXZlbiBlbGVtZW50XG4gKiBAcGFyYW0gbmF0aXZlRWxcbiAqL1xuZXhwb3J0IGNvbnN0IHBhcmVudE9mZnNldEVsID0gKG5hdGl2ZUVsOiBIVE1MRWxlbWVudCk6IEVsZW1lbnQgfCBEb2N1bWVudCA9PiB7XG4gICAgbGV0IG9mZnNldFBhcmVudCA9IG5hdGl2ZUVsLm9mZnNldFBhcmVudCB8fCBkb2N1bWVudDtcbiAgICB3aGlsZSAob2Zmc2V0UGFyZW50ICYmIG9mZnNldFBhcmVudCAhPT0gZG9jdW1lbnQgJiYgaXNTdGF0aWNQb3NpdGlvbmVkKG9mZnNldFBhcmVudCBhcyBFbGVtZW50KSkge1xuICAgICAgICBvZmZzZXRQYXJlbnQgPSAob2Zmc2V0UGFyZW50IGFzIEhUTUxFbGVtZW50KS5vZmZzZXRQYXJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBvZmZzZXRQYXJlbnQgfHwgZG9jdW1lbnQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Vmlld0VsZW1lbnQgPSA8Rj4oZml4dHVyZTogQ29tcG9uZW50Rml4dHVyZTxGPiwgY29tcG9uZW50Q2xhc3M6IHN0cmluZywga2xhc3M/OiBzdHJpbmcpOiB7ZGU6IERlYnVnRWxlbWVudCwgZWw6IEhUTUxFbGVtZW50LCBkb21FbGVtZW50OiBIVE1MRWxlbWVudH0gPT4ge1xuICAgIGxldCBlbDogSFRNTEVsZW1lbnQsIGRvbUVsZW1lbnQ6IE5vZGVMaXN0IHwgSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdCBkZSA9IGZpeHR1cmUuZGVidWdFbGVtZW50LnF1ZXJ5KEJ5LmNzcyhjb21wb25lbnRDbGFzcykpO1xuICAgIGlmIChkZSkge1xuICAgICAgICBlbCA9IGRlLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGVsICYmIGtsYXNzKSB7XG4gICAgICAgICAgICBkb21FbGVtZW50ID0gZWwucXVlcnlTZWxlY3RvckFsbChrbGFzcyk7XG5cbiAgICAgICAgICAgIGlmIChkb21FbGVtZW50Lmxlbmd0aCA8PSAxKSB7XG4gICAgICAgICAgICAgICAgZG9tRWxlbWVudCA9IGVsLnF1ZXJ5U2VsZWN0b3Ioa2xhc3MpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgZGUsIGVsLCBkb21FbGVtZW50OiBkb21FbGVtZW50IGFzIEhUTUxFbGVtZW50IH07XG59O1xuXG5leHBvcnQgY29uc3QgY2xvc2VzdE1hdGNoaW5nUGFyZW50ID0gKHRhcmdldDogSFRNTEVsZW1lbnQsIGNsYXNzTmFtZTogc3RyaW5nKTogSFRNTEVsZW1lbnQgfCBudWxsID0+IHtcbiAgICBsZXQgZWxlbWVudCA9IHRhcmdldDtcblxuICAgIHdoaWxlIChlbGVtZW50ICYmIGVsZW1lbnQubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFKSB7XG4gICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG59O1xuIl19
@@ -3,11 +3,8 @@ import { getUserState } from '@eui/base';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../permission/permission.service";
5
5
  import * as i2 from "../store";
6
- // TODO: Type of LINK should be UxLink or something relevant. Do we need that service anymore?
7
- // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
6
  export class EuiDynamicMenuService {
10
- // TODO: it should be moved euiservice, or it should be static
7
+ // TODO: it should be moved euiService, or it should be static
11
8
  // TODO: can we moved that service inside the module of the component that's using it?
12
9
  constructor(euiPermission, store) {
13
10
  this.euiPermission = euiPermission;
@@ -66,4 +63,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
66
63
  providedIn: 'root',
67
64
  }]
68
65
  }], ctorParameters: () => [{ type: i1.EuiPermissionService }, { type: i2.StoreService }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2R5bmFtaWMtbWVudS9keW5hbWljLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxXQUFXLENBQUM7Ozs7QUFPdEQsOEZBQThGO0FBQzlGLG1IQUFtSDtBQUNuSCw4REFBOEQ7QUFDOUQsTUFBTSxPQUFPLHFCQUFxQjtJQUc5Qiw4REFBOEQ7SUFDOUQsc0ZBQXNGO0lBQ3RGLFlBQ1ksYUFBbUMsRUFDbkMsS0FBbUI7UUFEbkIsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLFVBQUssR0FBTCxLQUFLLENBQWM7UUFOL0IsY0FBUyxHQUFnQixFQUFFLENBQUM7UUFReEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBeUI7UUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckUsQ0FBQztZQUVELDRDQUE0QztZQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztvQkFDcEQsT0FBTyxLQUFLLENBQUM7Z0JBQ2pCLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUM5QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7d0JBQy9DLE9BQU8sS0FBSyxDQUFDO29CQUNqQixDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1lBRUQsZ0VBQWdFO1lBQ2hFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM5RCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssTUFBTSxjQUFjLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUNoRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7d0JBQ2hELE9BQU8sSUFBSSxDQUFDO29CQUNoQixDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsNERBQTREO2dCQUM1RCxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1lBRUQsNkRBQTZEO1lBQzdELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F6RFEscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FMbEIsTUFBTTs7MkZBS1QscUJBQXFCO2tCQU5qQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldFVzZXJTdGF0ZSwgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuLy8gVE9ETzogVHlwZSBvZiBMSU5LIHNob3VsZCBiZSBVeExpbmsgb3Igc29tZXRoaW5nIHJlbGV2YW50LiBEbyB3ZSBuZWVkIHRoYXQgc2VydmljZSBhbnltb3JlP1xuLy8gVE9ETzogZmluZCB0aGUgY29ycmVjdCB0eXBlIG9yIHR1cm4gaW50byBhIGdlbmVyaWMsIGh0dHBzOi8vd3d3LnR5cGVzY3JpcHRsYW5nLm9yZy9kb2NzL2hhbmRib29rLzIvZ2VuZXJpY3MuaHRtbFxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBjbGFzcyBFdWlEeW5hbWljTWVudVNlcnZpY2U8TElOSyA9IGFueT4ge1xuICAgIG1lbnVMaW5rczogQXJyYXk8TElOSz4gPSBbXTtcblxuICAgIC8vIFRPRE86IGl0IHNob3VsZCBiZSBtb3ZlZCBldWlzZXJ2aWNlLCBvciBpdCBzaG91bGQgYmUgc3RhdGljXG4gICAgLy8gVE9ETzogY2FuIHdlIG1vdmVkIHRoYXQgc2VydmljZSBpbnNpZGUgdGhlIG1vZHVsZSBvZiB0aGUgY29tcG9uZW50IHRoYXQncyB1c2luZyBpdD9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBldWlQZXJtaXNzaW9uOiBFdWlQZXJtaXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRVc2VyU3RhdGUpLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHVzZXIubWVudUxpbmtzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51TGlua3MgPSB1c2VyLm1lbnVMaW5rcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TWVudUxpbmtzKCk6IExJTktbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lbnVMaW5rcztcbiAgICB9XG5cbiAgICBmaWx0ZXJFdWlNZW51SXRlbXNXaXRoUmlnaHRzKGxpbmtzOiBBcnJheTxFdWlNZW51SXRlbT4pOiBBcnJheTxFdWlNZW51SXRlbT4ge1xuICAgICAgICByZXR1cm4gbGlua3MuZmlsdGVyKChsaW5rKSA9PiB7XG4gICAgICAgICAgICBpZiAobGluay5jaGlsZHJlbiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgbGluay5jaGlsZHJlbiA9IHRoaXMuZmlsdGVyRXVpTWVudUl0ZW1zV2l0aFJpZ2h0cyhsaW5rLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRmlyc3QgY2hlY2sgaWYgdGhlIHVzZXIgaXMgZGVuaWVkIGFjY2VzczpcbiAgICAgICAgICAgIGlmIChsaW5rLmRlbmllZFJpZ2h0SWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlQZXJtaXNzaW9uLmNoZWNrUmlnaHQobGluay5kZW5pZWRSaWdodElkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxpbmsuZGVuaWVkUmlnaHRJZHMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGRlbmllZFJpZ2h0SWQgb2YgbGluay5kZW5pZWRSaWdodElkcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlQZXJtaXNzaW9uLmNoZWNrUmlnaHQoZGVuaWVkUmlnaHRJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gVGhlbiBjaGVjayBpZiB0aGUgdXNlciBuZWVkcyB0byBiZSBhbGxvd2VkIGFjY2VzcyBleHBsaWNpdGx5OlxuICAgICAgICAgICAgaWYgKGxpbmsuYWxsb3dlZFJpZ2h0SWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ldWlQZXJtaXNzaW9uLmNoZWNrUmlnaHQobGluay5hbGxvd2VkUmlnaHRJZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGluay5hbGxvd2VkUmlnaHRJZHMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGFsbG93ZWRSaWdodElkIG9mIGxpbmsuYWxsb3dlZFJpZ2h0SWRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVBlcm1pc3Npb24uY2hlY2tSaWdodChhbGxvd2VkUmlnaHRJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIFVzZXIgZG9lc24ndCBoYXZlIG9uZSBvZiB0aGUgYWxsb3dlZCByaWdodHMuIERlbnkgYWNjZXNzOlxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWNjZXNzIHRvIHRoZSBtZW51IGl0ZW0gaXMgbm90IGRlbmllZCwgdGhlcmVmb3JlIGFsbG93IGl0OlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2R5bmFtaWMtbWVudS9keW5hbWljLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxXQUFXLENBQUM7Ozs7QUFPdEQsTUFBTSxPQUFPLHFCQUFxQjtJQUc5Qiw4REFBOEQ7SUFDOUQsc0ZBQXNGO0lBQ3RGLFlBQ1ksYUFBbUMsRUFDbkMsS0FBbUI7UUFEbkIsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLFVBQUssR0FBTCxLQUFLLENBQWM7UUFOL0IsY0FBUyxHQUF1QixFQUFFLENBQUM7UUFRL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDL0MsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNwQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBeUI7UUFDbEQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckUsQ0FBQztZQUVELDRDQUE0QztZQUM1QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztvQkFDcEQsT0FBTyxLQUFLLENBQUM7Z0JBQ2pCLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLEtBQUssTUFBTSxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUM5QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7d0JBQy9DLE9BQU8sS0FBSyxDQUFDO29CQUNqQixDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1lBRUQsZ0VBQWdFO1lBQ2hFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN0QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM5RCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLEtBQUssTUFBTSxjQUFjLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUNoRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7d0JBQ2hELE9BQU8sSUFBSSxDQUFDO29CQUNoQixDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsNERBQTREO2dCQUM1RCxPQUFPLEtBQUssQ0FBQztZQUNqQixDQUFDO1lBRUQsNkRBQTZEO1lBQzdELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0F6RFEscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7MkZBRVQscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGdldFVzZXJTdGF0ZSwgRXVpTWVudUl0ZW0gfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgRXVpUGVybWlzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9wZXJtaXNzaW9uL3Blcm1pc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aUR5bmFtaWNNZW51U2VydmljZSB7XG4gICAgbWVudUxpbmtzOiBBcnJheTxFdWlNZW51SXRlbT4gPSBbXTtcblxuICAgIC8vIFRPRE86IGl0IHNob3VsZCBiZSBtb3ZlZCBldWlTZXJ2aWNlLCBvciBpdCBzaG91bGQgYmUgc3RhdGljXG4gICAgLy8gVE9ETzogY2FuIHdlIG1vdmVkIHRoYXQgc2VydmljZSBpbnNpZGUgdGhlIG1vZHVsZSBvZiB0aGUgY29tcG9uZW50IHRoYXQncyB1c2luZyBpdD9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBldWlQZXJtaXNzaW9uOiBFdWlQZXJtaXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRVc2VyU3RhdGUpLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHVzZXIubWVudUxpbmtzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51TGlua3MgPSB1c2VyLm1lbnVMaW5rcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TWVudUxpbmtzKCk6IEV1aU1lbnVJdGVtW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5tZW51TGlua3M7XG4gICAgfVxuXG4gICAgZmlsdGVyRXVpTWVudUl0ZW1zV2l0aFJpZ2h0cyhsaW5rczogQXJyYXk8RXVpTWVudUl0ZW0+KTogQXJyYXk8RXVpTWVudUl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIGxpbmtzLmZpbHRlcigobGluaykgPT4ge1xuICAgICAgICAgICAgaWYgKGxpbmsuY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGxpbmsuY2hpbGRyZW4gPSB0aGlzLmZpbHRlckV1aU1lbnVJdGVtc1dpdGhSaWdodHMobGluay5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZpcnN0IGNoZWNrIGlmIHRoZSB1c2VyIGlzIGRlbmllZCBhY2Nlc3M6XG4gICAgICAgICAgICBpZiAobGluay5kZW5pZWRSaWdodElkKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpUGVybWlzc2lvbi5jaGVja1JpZ2h0KGxpbmsuZGVuaWVkUmlnaHRJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsaW5rLmRlbmllZFJpZ2h0SWRzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBkZW5pZWRSaWdodElkIG9mIGxpbmsuZGVuaWVkUmlnaHRJZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpUGVybWlzc2lvbi5jaGVja1JpZ2h0KGRlbmllZFJpZ2h0SWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRoZW4gY2hlY2sgaWYgdGhlIHVzZXIgbmVlZHMgdG8gYmUgYWxsb3dlZCBhY2Nlc3MgZXhwbGljaXRseTpcbiAgICAgICAgICAgIGlmIChsaW5rLmFsbG93ZWRSaWdodElkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXVpUGVybWlzc2lvbi5jaGVja1JpZ2h0KGxpbmsuYWxsb3dlZFJpZ2h0SWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGxpbmsuYWxsb3dlZFJpZ2h0SWRzKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBhbGxvd2VkUmlnaHRJZCBvZiBsaW5rLmFsbG93ZWRSaWdodElkcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5ldWlQZXJtaXNzaW9uLmNoZWNrUmlnaHQoYWxsb3dlZFJpZ2h0SWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBVc2VyIGRvZXNuJ3QgaGF2ZSBvbmUgb2YgdGhlIGFsbG93ZWQgcmlnaHRzLiBEZW55IGFjY2VzczpcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEFjY2VzcyB0byB0aGUgbWVudSBpdGVtIGlzIG5vdCBkZW5pZWQsIHRoZXJlZm9yZSBhbGxvdyBpdDpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=