@scion/workbench 17.0.0-beta.8 → 18.0.0-beta.1

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 (194) hide show
  1. package/esm2022/lib/activation-instant.provider.mjs +3 -3
  2. package/esm2022/lib/common/asserts.util.mjs +1 -1
  3. package/esm2022/lib/common/coerce-observable.pipe.mjs +3 -3
  4. package/esm2022/lib/common/dom.util.mjs +1 -1
  5. package/esm2022/lib/common/filter-by-predicate.pipe.mjs +3 -3
  6. package/esm2022/lib/common/filter-by-text.pipe.mjs +3 -3
  7. package/esm2022/lib/common/grid-element-if-visible.pipe.mjs +4 -4
  8. package/esm2022/lib/common/instanceof.pipe.mjs +3 -3
  9. package/esm2022/lib/common/map-coerce.pipe.mjs +3 -3
  10. package/esm2022/lib/common/null-if-empty.pipe.mjs +4 -4
  11. package/esm2022/lib/common/observables.mjs +1 -1
  12. package/esm2022/lib/common/stringify-error.util.mjs +1 -1
  13. package/esm2022/lib/common/typeof.pipe.mjs +3 -3
  14. package/esm2022/lib/common//311/265destroy-ref.mjs +1 -1
  15. package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
  16. package/esm2022/lib/content-projection/content-projection.directive.mjs +4 -4
  17. package/esm2022/lib/content-projection/view-container.reference.mjs +1 -1
  18. package/esm2022/lib/dialog/dialog-footer/dialog-action-filter.pipe.mjs +3 -3
  19. package/esm2022/lib/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
  20. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-action.directive.mjs +9 -6
  21. package/esm2022/lib/dialog/dialog-footer/workbench-dialog-footer.directive.mjs +9 -6
  22. package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -3
  23. package/esm2022/lib/dialog/dialog-header/workbench-dialog-header.directive.mjs +9 -6
  24. package/esm2022/lib/dialog/movable.directive.mjs +4 -4
  25. package/esm2022/lib/dialog/resizable.directive.mjs +4 -4
  26. package/esm2022/lib/dialog/workbench-dialog.component.mjs +53 -24
  27. package/esm2022/lib/dialog/workbench-dialog.registry.mjs +4 -4
  28. package/esm2022/lib/dialog/workbench-dialog.service.mjs +3 -3
  29. package/esm2022/lib/dialog//311/265workbench-dialog.mjs +2 -2
  30. package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +4 -4
  31. package/esm2022/lib/executor/single-task-executor.mjs +26 -7
  32. package/esm2022/lib/filter-field/filter-field.component.mjs +4 -4
  33. package/esm2022/lib/glass-pane/glass-pane.directive.mjs +15 -7
  34. package/esm2022/lib/layout/grid-element/grid-element.component.mjs +4 -4
  35. package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +3 -3
  36. package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +4 -4
  37. package/esm2022/lib/layout/migration/workbench-layout-migration-v4.service.mjs +4 -4
  38. package/esm2022/lib/layout/workbench-layout.component.mjs +3 -3
  39. package/esm2022/lib/layout/workbench-layout.factory.mjs +3 -3
  40. package/esm2022/lib/layout/workbench-layout.service.mjs +3 -3
  41. package/esm2022/lib/layout/workbench-layouts.util.mjs +1 -1
  42. package/esm2022/lib/layout/workench-layout-serializer.service.mjs +4 -6
  43. package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +3 -3
  44. package/esm2022/lib/layout//311/265workbench-layout.mjs +7 -7
  45. package/esm2022/lib/logging/console-appender.service.mjs +4 -4
  46. package/esm2022/lib/logging/logger.mjs +3 -3
  47. package/esm2022/lib/logging/logging.model.mjs +3 -3
  48. package/esm2022/lib/logging//311/265logger.mjs +4 -4
  49. package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +4 -4
  50. package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
  51. package/esm2022/lib/message-box/workbench-message-box.component.mjs +15 -6
  52. package/esm2022/lib/message-box/workbench-message-box.service.mjs +3 -3
  53. package/esm2022/lib/message-box//311/265workbench-message-box.service.mjs +4 -4
  54. package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +1 -1
  55. package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +26 -13
  56. package/esm2022/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.mjs +3 -3
  57. package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +25 -13
  58. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +4 -4
  59. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.mjs +11 -11
  60. package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +5 -5
  61. package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +9 -7
  62. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +112 -0
  63. package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +43 -0
  64. package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +11 -9
  65. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +34 -0
  66. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.mjs +88 -0
  67. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.mjs +32 -0
  68. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +121 -0
  69. package/esm2022/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.service.mjs +3 -3
  70. package/esm2022/lib/microfrontend-platform/microfrontend-platform-config-loader.mjs +3 -3
  71. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +4 -4
  72. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +9 -6
  73. package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +9 -15
  74. package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
  75. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +4 -4
  76. package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +16 -9
  77. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +4 -4
  78. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +4 -4
  79. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +4 -4
  80. package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +1 -1
  81. package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +43 -14
  82. package/esm2022/lib/migration/workbench-migrator.mjs +1 -1
  83. package/esm2022/lib/notification/notification-css-classes.pipe.mjs +3 -3
  84. package/esm2022/lib/notification/notification-list.component.mjs +3 -3
  85. package/esm2022/lib/notification/notification.component.mjs +4 -4
  86. package/esm2022/lib/notification/notification.service.mjs +4 -4
  87. package/esm2022/lib/notification/text-notification.component.mjs +3 -3
  88. package/esm2022/lib/notification//311/265notification.mjs +1 -1
  89. package/esm2022/lib/page-not-found/format-url.pipe.mjs +3 -3
  90. package/esm2022/lib/page-not-found/page-not-found.component.mjs +3 -3
  91. package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +3 -3
  92. package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +3 -3
  93. package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
  94. package/esm2022/lib/part/part-bar/part-bar.component.mjs +4 -4
  95. package/esm2022/lib/part/part-portal.pipe.mjs +4 -4
  96. package/esm2022/lib/part/part.component.mjs +3 -3
  97. package/esm2022/lib/part/view-context-menu/accelerator-format.pipe.mjs +4 -4
  98. package/esm2022/lib/part/view-context-menu/text.component.mjs +3 -3
  99. package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +4 -4
  100. package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +4 -4
  101. package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +4 -4
  102. package/esm2022/lib/part/view-list/view-list.component.mjs +3 -3
  103. package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +4 -4
  104. package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +3 -3
  105. package/esm2022/lib/part/view-tab/view-tab.component.mjs +4 -4
  106. package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +3 -3
  107. package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +3 -3
  108. package/esm2022/lib/part/workbench-part-action.registry.mjs +3 -3
  109. package/esm2022/lib/part/workbench-part.registry.mjs +3 -3
  110. package/esm2022/lib/part//311/265workbench-part.model.mjs +1 -1
  111. package/esm2022/lib/perspective/migration/workbench-perspective-migration-v2.service.mjs +4 -4
  112. package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +4 -4
  113. package/esm2022/lib/perspective/workbench-perspective-storage.service.mjs +4 -4
  114. package/esm2022/lib/perspective/workbench-perspective-view-conflict-resolver.service.mjs +4 -4
  115. package/esm2022/lib/perspective/workbench-perspective.registry.mjs +3 -3
  116. package/esm2022/lib/perspective/workbench-perspective.service.mjs +4 -4
  117. package/esm2022/lib/perspective/workench-perspective-serializer.service.mjs +4 -4
  118. package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +1 -1
  119. package/esm2022/lib/popup/popup.component.mjs +22 -10
  120. package/esm2022/lib/popup/popup.config.mjs +3 -1
  121. package/esm2022/lib/popup/popup.service.mjs +4 -4
  122. package/esm2022/lib/portal/wb-component-portal.mjs +1 -1
  123. package/esm2022/lib/portal/workbench-portal-outlet.directive.mjs +4 -4
  124. package/esm2022/lib/registry/workbench-object-registry.mjs +1 -1
  125. package/esm2022/lib/routing/empty-outlet/empty-outlet.component.mjs +3 -3
  126. package/esm2022/lib/routing/router.util.mjs +8 -2
  127. package/esm2022/lib/routing/routing.model.mjs +1 -1
  128. package/esm2022/lib/routing/url-segment-matcher.mjs +1 -1
  129. package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +4 -4
  130. package/esm2022/lib/routing/workbench-dialog-differ.mjs +5 -5
  131. package/esm2022/lib/routing/workbench-layout-differ.mjs +3 -3
  132. package/esm2022/lib/routing/workbench-message-box-differ.mjs +51 -0
  133. package/esm2022/lib/routing/workbench-popup-differ.mjs +3 -3
  134. package/esm2022/lib/routing/workbench-router-link.directive.mjs +5 -5
  135. package/esm2022/lib/routing/workbench-router.service.mjs +3 -3
  136. package/esm2022/lib/routing/workbench-url-observer.service.mjs +52 -69
  137. package/esm2022/lib/routing//311/265location.mjs +3 -3
  138. package/esm2022/lib/routing//311/265workbench-router.service.mjs +9 -12
  139. package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
  140. package/esm2022/lib/startup/workbench-initializer.mjs +1 -1
  141. package/esm2022/lib/startup/workbench-launcher.service.mjs +7 -7
  142. package/esm2022/lib/storage/workbench-storage.mjs +3 -3
  143. package/esm2022/lib/testing/workbench-testing.module.mjs +4 -4
  144. package/esm2022/lib/testing/workbench.provider.mjs +3 -3
  145. package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +4 -4
  146. package/esm2022/lib/view/view-move-handler.service.mjs +4 -4
  147. package/esm2022/lib/view/view-portal.pipe.mjs +4 -4
  148. package/esm2022/lib/view/view.component.mjs +17 -10
  149. package/esm2022/lib/view/workbench-view-route-guards.mjs +1 -1
  150. package/esm2022/lib/view/workbench-view.registry.mjs +3 -3
  151. package/esm2022/lib/view//311/265workbench-view.model.mjs +1 -1
  152. package/esm2022/lib/view-dnd/grid-drop-targets.util.mjs +1 -1
  153. package/esm2022/lib/view-dnd/requires-drop-zone.pipe.mjs +4 -4
  154. package/esm2022/lib/view-dnd/view-drag.service.mjs +4 -4
  155. package/esm2022/lib/view-dnd/view-drop-placeholder-renderer.service.mjs +3 -3
  156. package/esm2022/lib/view-dnd/view-drop-zone.directive.mjs +4 -4
  157. package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +5 -5
  158. package/esm2022/lib/workbench.component.mjs +10 -6
  159. package/esm2022/lib/workbench.constants.mjs +5 -1
  160. package/esm2022/lib/workbench.module.mjs +4 -4
  161. package/esm2022/lib/workbench.provider.mjs +1 -1
  162. package/esm2022/lib/workbench.service.mjs +3 -3
  163. package/esm2022/lib//311/265workbench.service.mjs +3 -3
  164. package/fesm2022/scion-workbench.mjs +1179 -714
  165. package/fesm2022/scion-workbench.mjs.map +1 -1
  166. package/lib/common/objects.util.d.ts +2 -2
  167. package/lib/dialog/workbench-dialog.component.d.ts +16 -7
  168. package/lib/executor/single-task-executor.d.ts +6 -1
  169. package/lib/glass-pane/glass-pane.directive.d.ts +21 -0
  170. package/lib/message-box/workbench-message-box.component.d.ts +3 -0
  171. package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +7 -1
  172. package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +1 -0
  173. package/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.d.ts +39 -0
  174. package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +25 -0
  175. package/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.d.ts +3 -2
  176. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.d.ts +10 -0
  177. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.d.ts +28 -0
  178. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.d.ts +11 -0
  179. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.d.ts +48 -0
  180. package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +3 -7
  181. package/lib/microfrontend-platform/workbench-microfrontend-support.d.ts +1 -1
  182. package/lib/popup/popup.component.d.ts +1 -0
  183. package/lib/routing/router.util.d.ts +4 -0
  184. package/lib/routing/workbench-message-box-differ.d.ts +25 -0
  185. package/lib/routing/workbench-url-observer.service.d.ts +7 -25
  186. package/lib/routing//311/265workbench-router.service.d.ts +3 -4
  187. package/lib/workbench.constants.d.ts +4 -0
  188. package/package.json +10 -10
  189. package/esm2022/lib/layout/migration/model/workbench-layout-migration-v1.model.mjs +0 -11
  190. package/esm2022/lib/layout/migration/workbench-layout-migration-v2.service.mjs +0 -59
  191. package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.service.mjs +0 -46
  192. package/lib/layout/migration/model/workbench-layout-migration-v1.model.d.ts +0 -16
  193. package/lib/layout/migration/workbench-layout-migration-v2.service.d.ts +0 -13
  194. package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.service.d.ts +0 -17
@@ -7,13 +7,13 @@
7
7
  *
8
8
  * SPDX-License-Identifier: EPL-2.0
9
9
  */
10
- import { Component, HostBinding, ViewChild } from '@angular/core';
10
+ import { Component, HostBinding, inject, ViewChild } from '@angular/core';
11
11
  import { ɵPopup } from './popup.config';
12
12
  import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
13
13
  import { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';
14
14
  import { noop } from 'rxjs';
15
15
  import { SciViewportComponent } from '@scion/components/viewport';
16
- import { GLASS_PANE_BLOCKABLE, GlassPaneDirective } from '../glass-pane/glass-pane.directive';
16
+ import { GLASS_PANE_BLOCKABLE, GLASS_PANE_OPTIONS, GlassPaneDirective } from '../glass-pane/glass-pane.directive';
17
17
  import * as i0 from "@angular/core";
18
18
  import * as i1 from "./popup.config";
19
19
  import * as i2 from "../glass-pane/glass-pane.directive";
@@ -47,6 +47,9 @@ export class PopupComponent {
47
47
  get cssClasses() {
48
48
  return this._popup.cssClasses.join(' ');
49
49
  }
50
+ get id() {
51
+ return this._popup.id;
52
+ }
50
53
  constructor(_popup, injector) {
51
54
  this._popup = _popup;
52
55
  this.portal = new ComponentPortal(this._popup.component, this._popup.viewContainerRef, injector);
@@ -59,12 +62,12 @@ export class PopupComponent {
59
62
  // the popup loses focus by clicking on an element in a microfrontend.
60
63
  this._cdkTrapFocus.focusTrap.focusInitialElementWhenReady().then(noop);
61
64
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PopupComponent, deps: [{ token: i1.ɵPopup }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: PopupComponent, isStandalone: true, selector: "wb-popup", host: { properties: { "style.width": "this.popupWidth", "style.min-width": "this.popupMinWidth", "style.max-width": "this.popupMaxWidth", "style.height": "this.popupHeight", "style.min-height": "this.popupMinHeight", "style.max-height": "this.popupMaxHeight", "attr.class": "this.cssClasses" } }, providers: [
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: PopupComponent, deps: [{ token: i1.ɵPopup }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: PopupComponent, isStandalone: true, selector: "wb-popup", host: { properties: { "style.width": "this.popupWidth", "style.min-width": "this.popupMinWidth", "style.max-width": "this.popupMaxWidth", "style.height": "this.popupHeight", "style.min-height": "this.popupMinHeight", "style.max-height": "this.popupMaxHeight", "attr.class": "this.cssClasses", "attr.data-popupid": "this.id" } }, providers: [
64
67
  configurePopupGlassPane(),
65
68
  ], viewQueries: [{ propertyName: "_cdkTrapFocus", first: true, predicate: ["focus_trap"], descendants: true, read: CdkTrapFocus, static: true }], hostDirectives: [{ directive: i2.GlassPaneDirective }], ngImport: i0, template: "<sci-viewport cdkTrapFocus class=\"e2e-popup-viewport\" #focus_trap>\n <ng-container *cdkPortalOutlet=\"portal\"></ng-container>\n</sci-viewport>\n", styles: [":host{display:grid;grid-template-columns:100%;grid-template-rows:100%;outline:none;border-radius:var(--sci-corner);overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i3.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: SciViewportComponent, selector: "sci-viewport", inputs: ["scrollbarStyle"], outputs: ["scroll"] }] }); }
66
69
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PopupComponent, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: PopupComponent, decorators: [{
68
71
  type: Component,
69
72
  args: [{ selector: 'wb-popup', standalone: true, imports: [
70
73
  A11yModule,
@@ -99,14 +102,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
99
102
  }], cssClasses: [{
100
103
  type: HostBinding,
101
104
  args: ['attr.class']
105
+ }], id: [{
106
+ type: HostBinding,
107
+ args: ['attr.data-popupid']
102
108
  }] } });
103
109
  /**
104
110
  * Blocks this popup when dialog(s) overlay it.
105
111
  */
106
112
  function configurePopupGlassPane() {
107
- return {
108
- provide: GLASS_PANE_BLOCKABLE,
109
- useExisting: ɵPopup,
110
- };
113
+ return [
114
+ {
115
+ provide: GLASS_PANE_BLOCKABLE,
116
+ useExisting: ɵPopup,
117
+ },
118
+ {
119
+ provide: GLASS_PANE_OPTIONS,
120
+ useFactory: () => ({ attributes: { 'data-popupid': inject(ɵPopup).id } }),
121
+ },
122
+ ];
111
123
  }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcG9wdXAvcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcG9wdXAvcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBOEIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBRTVGOzs7OztHQUtHO0FBa0JILE1BQU0sT0FBTyxjQUFjO0lBT3pCLElBQ1csVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFDVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFDVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUNXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ1csVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsWUFBb0IsTUFBYyxFQUFFLFFBQWtCO1FBQWxDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFFTSxRQUFRO1FBQ2IsMkdBQTJHO1FBQzNHLDhHQUE4RztRQUM5RywrR0FBK0c7UUFDL0csK0dBQStHO1FBQy9HLHNFQUFzRTtRQUN0RSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQXJEVSxjQUFjO2tHQUFkLGNBQWMsZ1dBSmQ7WUFDVCx1QkFBdUIsRUFBRTtTQUMxQixrSEFNNkMsWUFBWSxtR0M3QzVELHNKQUdBLDhMRDJCSSxVQUFVLHlMQUNWLFlBQVksa01BQ1osb0JBQW9COzsyRkFTWCxjQUFjO2tCQWpCMUIsU0FBUzsrQkFDRSxVQUFVLGNBR1IsSUFBSSxXQUNQO3dCQUNQLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixvQkFBb0I7cUJBQ3JCLGtCQUNlO3dCQUNkLGtCQUFrQjtxQkFDbkIsYUFDVTt3QkFDVCx1QkFBdUIsRUFBRTtxQkFDMUI7a0dBT08sYUFBYTtzQkFEcEIsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUM7Z0JBSWhELFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsYUFBYTtnQkFNZixhQUFhO3NCQUR2QixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNbkIsYUFBYTtzQkFEdkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTW5CLFdBQVc7c0JBRHJCLFdBQVc7dUJBQUMsY0FBYztnQkFNaEIsY0FBYztzQkFEeEIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTXBCLGNBQWM7c0JBRHhCLFdBQVc7dUJBQUMsa0JBQWtCO2dCQU1wQixVQUFVO3NCQURwQixXQUFXO3VCQUFDLFlBQVk7O0FBbUIzQjs7R0FFRztBQUNILFNBQVMsdUJBQXVCO0lBQzlCLE9BQU87UUFDTCxPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLFdBQVcsRUFBRSxNQUFNO0tBQ3BCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdG9yLCBPbkluaXQsIFByb3ZpZGVyLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHvJtVBvcHVwfSBmcm9tICcuL3BvcHVwLmNvbmZpZyc7XG5pbXBvcnQge0NvbXBvbmVudFBvcnRhbCwgUG9ydGFsTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7QTExeU1vZHVsZSwgQ2RrVHJhcEZvY3VzfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge25vb3B9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtTY2lWaWV3cG9ydENvbXBvbmVudH0gZnJvbSAnQHNjaW9uL2NvbXBvbmVudHMvdmlld3BvcnQnO1xuaW1wb3J0IHtHTEFTU19QQU5FX0JMT0NLQUJMRSwgR2xhc3NQYW5lRGlyZWN0aXZlfSBmcm9tICcuLi9nbGFzcy1wYW5lL2dsYXNzLXBhbmUuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBEaXNwbGF5cyB0aGUgY29uZmlndXJlZCBwb3B1cCBjb21wb25lbnQgaW4gdGhlIHBvcHVwIG92ZXJsYXkuXG4gKlxuICogVGhlIGNvbXBvbmVudCBpcyBhZGRlZCB0byBhIHZpZXdwb3J0IHNvIHRoYXQgaXQgc2Nyb2xscyB3aGVuIGl0IGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZCBwb3B1cCBvdmVybGF5IHNpemUuXG4gKiBBIGZvY3VzIHRyYXAgaXMgaW5zdGFsbGVkIGFuZCB0aGUgaW5pdGlhbCBmb2N1cyBpcyBzZXQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3diLXBvcHVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcG9wdXAuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEExMXlNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIFNjaVZpZXdwb3J0Q29tcG9uZW50LFxuICBdLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIEdsYXNzUGFuZURpcmVjdGl2ZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgY29uZmlndXJlUG9wdXBHbGFzc1BhbmUoKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxhbnk+O1xuXG4gIEBWaWV3Q2hpbGQoJ2ZvY3VzX3RyYXAnLCB7c3RhdGljOiB0cnVlLCByZWFkOiBDZGtUcmFwRm9jdXN9KVxuICBwcml2YXRlIF9jZGtUcmFwRm9jdXMhOiBDZGtUcmFwRm9jdXM7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpXG4gIHB1YmxpYyBnZXQgcG9wdXBXaWR0aCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wb3B1cC5zaXplPy53aWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJylcbiAgcHVibGljIGdldCBwb3B1cE1pbldpZHRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3BvcHVwLnNpemU/Lm1pbldpZHRoO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtd2lkdGgnKVxuICBwdWJsaWMgZ2V0IHBvcHVwTWF4V2lkdGgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcG9wdXAuc2l6ZT8ubWF4V2lkdGg7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmhlaWdodCcpXG4gIHB1YmxpYyBnZXQgcG9wdXBIZWlnaHQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcG9wdXAuc2l6ZT8uaGVpZ2h0O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5taW4taGVpZ2h0JylcbiAgcHVibGljIGdldCBwb3B1cE1pbkhlaWdodCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wb3B1cC5zaXplPy5taW5IZWlnaHQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1heC1oZWlnaHQnKVxuICBwdWJsaWMgZ2V0IHBvcHVwTWF4SGVpZ2h0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3BvcHVwLnNpemU/Lm1heEhlaWdodDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnYXR0ci5jbGFzcycpXG4gIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wb3B1cC5jc3NDbGFzc2VzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BvcHVwOiDJtVBvcHVwLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLnBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5fcG9wdXAuY29tcG9uZW50LCB0aGlzLl9wb3B1cC52aWV3Q29udGFpbmVyUmVmLCBpbmplY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gW0FuZ3VsYXIgMTRdIFRoZSBpbml0aWFsIGZvY3VzIG11c3Qgbm90IGJlIHJlcXVlc3RlZCB2aWEgYGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlYCBhcyB0aGlzIHdvdWxkIHJlc3RvcmVcbiAgICAvLyBmb2N1cyB0byB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQgd2hlbiB0aGUgYEZvY3VzVHJhcGAgaXMgZGVzdHJveWVkLiBUaGlzIGJlaGF2aW9yIGlzIHVud2FudGVkIGlmIHRoZVxuICAgIC8vIHBvcHVwIGlzIGNsb3NlZCBieSBsb3NpbmcgZm9jdXMuIE90aGVyd2lzZSwgdGhlIG5ld2x5IGZvY3VzZWQgZWxlbWVudCB0aGF0IGNhdXNlZCB0aGUgbG9zcyBvZiBmb2N1cyBhbmQgdGh1c1xuICAgIC8vIHRoZSBjbG9zaW5nIG9mIHRoZSBwb3B1cCB3b3VsZCBpbW1lZGlhdGVseSBiZWNvbWUgdW5mb2N1c2VkIGFnYWluLiBUaGlzIGJlaGF2aW9yIGNvdWxkIG9ubHkgYmUgb2JzZXJ2ZWQgd2hlblxuICAgIC8vIHRoZSBwb3B1cCBsb3NlcyBmb2N1cyBieSBjbGlja2luZyBvbiBhbiBlbGVtZW50IGluIGEgbWljcm9mcm9udGVuZC5cbiAgICB0aGlzLl9jZGtUcmFwRm9jdXMuZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKS50aGVuKG5vb3ApO1xuICB9XG59XG5cbi8qKlxuICogQmxvY2tzIHRoaXMgcG9wdXAgd2hlbiBkaWFsb2cocykgb3ZlcmxheSBpdC5cbiAqL1xuZnVuY3Rpb24gY29uZmlndXJlUG9wdXBHbGFzc1BhbmUoKTogUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IEdMQVNTX1BBTkVfQkxPQ0tBQkxFLFxuICAgIHVzZUV4aXN0aW5nOiDJtVBvcHVwLFxuICB9O1xufVxuIiwiPHNjaS12aWV3cG9ydCBjZGtUcmFwRm9jdXMgY2xhc3M9XCJlMmUtcG9wdXAtdmlld3BvcnRcIiAjZm9jdXNfdHJhcD5cbiAgPG5nLWNvbnRhaW5lciAqY2RrUG9ydGFsT3V0bGV0PVwicG9ydGFsXCI+PC9uZy1jb250YWluZXI+XG48L3NjaS12aWV3cG9ydD5cbiJdfQ==
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcG9wdXAvcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcG9wdXAvcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQThCLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFDLGVBQWUsRUFBRSxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFFLFlBQVksRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFtQixNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFFbEk7Ozs7O0dBS0c7QUFrQkgsTUFBTSxPQUFPLGNBQWM7SUFPekIsSUFDVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUNXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFDVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUNXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUM7SUFDckMsQ0FBQztJQUVELElBQ1csY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFDVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUNXLEVBQUU7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxZQUFvQixNQUFjLEVBQUUsUUFBa0I7UUFBbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVNLFFBQVE7UUFDYiwyR0FBMkc7UUFDM0csOEdBQThHO1FBQzlHLCtHQUErRztRQUMvRywrR0FBK0c7UUFDL0csc0VBQXNFO1FBQ3RFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLDRCQUE0QixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OEdBMURVLGNBQWM7a0dBQWQsY0FBYyxnWUFKZDtZQUNULHVCQUF1QixFQUFFO1NBQzFCLGtIQU02QyxZQUFZLG1HQzdDNUQsc0pBR0EsOExEMkJJLFVBQVUseUxBQ1YsWUFBWSxrTUFDWixvQkFBb0I7OzJGQVNYLGNBQWM7a0JBakIxQixTQUFTOytCQUNFLFVBQVUsY0FHUixJQUFJLFdBQ1A7d0JBQ1AsVUFBVTt3QkFDVixZQUFZO3dCQUNaLG9CQUFvQjtxQkFDckIsa0JBQ2U7d0JBQ2Qsa0JBQWtCO3FCQUNuQixhQUNVO3dCQUNULHVCQUF1QixFQUFFO3FCQUMxQjtrR0FPTyxhQUFhO3NCQURwQixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBQztnQkFJaEQsVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxhQUFhO2dCQU1mLGFBQWE7c0JBRHZCLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU1uQixhQUFhO3NCQUR2QixXQUFXO3VCQUFDLGlCQUFpQjtnQkFNbkIsV0FBVztzQkFEckIsV0FBVzt1QkFBQyxjQUFjO2dCQU1oQixjQUFjO3NCQUR4QixXQUFXO3VCQUFDLGtCQUFrQjtnQkFNcEIsY0FBYztzQkFEeEIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBTXBCLFVBQVU7c0JBRHBCLFdBQVc7dUJBQUMsWUFBWTtnQkFNZCxFQUFFO3NCQURaLFdBQVc7dUJBQUMsbUJBQW1COztBQW1CbEM7O0dBRUc7QUFDSCxTQUFTLHVCQUF1QjtJQUM5QixPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFdBQVcsRUFBRSxNQUFNO1NBQ3BCO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLFVBQVUsRUFBRSxHQUFxQixFQUFFLENBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBRSxFQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFDLEVBQUMsQ0FBQztTQUN4RjtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCwgUHJvdmlkZXIsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge8m1UG9wdXB9IGZyb20gJy4vcG9wdXAuY29uZmlnJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsLCBQb3J0YWxNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtBMTF5TW9kdWxlLCBDZGtUcmFwRm9jdXN9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7bm9vcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NjaVZpZXdwb3J0Q29tcG9uZW50fSBmcm9tICdAc2Npb24vY29tcG9uZW50cy92aWV3cG9ydCc7XG5pbXBvcnQge0dMQVNTX1BBTkVfQkxPQ0tBQkxFLCBHTEFTU19QQU5FX09QVElPTlMsIEdsYXNzUGFuZURpcmVjdGl2ZSwgR2xhc3NQYW5lT3B0aW9uc30gZnJvbSAnLi4vZ2xhc3MtcGFuZS9nbGFzcy1wYW5lLmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogRGlzcGxheXMgdGhlIGNvbmZpZ3VyZWQgcG9wdXAgY29tcG9uZW50IGluIHRoZSBwb3B1cCBvdmVybGF5LlxuICpcbiAqIFRoZSBjb21wb25lbnQgaXMgYWRkZWQgdG8gYSB2aWV3cG9ydCBzbyB0aGF0IGl0IHNjcm9sbHMgd2hlbiBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIGFsbG93ZWQgcG9wdXAgb3ZlcmxheSBzaXplLlxuICogQSBmb2N1cyB0cmFwIGlzIGluc3RhbGxlZCBhbmQgdGhlIGluaXRpYWwgZm9jdXMgaXMgc2V0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3Yi1wb3B1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BvcHVwLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBBMTF5TW9kdWxlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBTY2lWaWV3cG9ydENvbXBvbmVudCxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICBHbGFzc1BhbmVEaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIGNvbmZpZ3VyZVBvcHVwR2xhc3NQYW5lKCksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8YW55PjtcblxuICBAVmlld0NoaWxkKCdmb2N1c190cmFwJywge3N0YXRpYzogdHJ1ZSwgcmVhZDogQ2RrVHJhcEZvY3VzfSlcbiAgcHJpdmF0ZSBfY2RrVHJhcEZvY3VzITogQ2RrVHJhcEZvY3VzO1xuXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKVxuICBwdWJsaWMgZ2V0IHBvcHVwV2lkdGgoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcG9wdXAuc2l6ZT8ud2lkdGg7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLm1pbi13aWR0aCcpXG4gIHB1YmxpYyBnZXQgcG9wdXBNaW5XaWR0aCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wb3B1cC5zaXplPy5taW5XaWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJylcbiAgcHVibGljIGdldCBwb3B1cE1heFdpZHRoKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3BvcHVwLnNpemU/Lm1heFdpZHRoO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5oZWlnaHQnKVxuICBwdWJsaWMgZ2V0IHBvcHVwSGVpZ2h0KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3BvcHVwLnNpemU/LmhlaWdodDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLWhlaWdodCcpXG4gIHB1YmxpYyBnZXQgcG9wdXBNaW5IZWlnaHQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fcG9wdXAuc2l6ZT8ubWluSGVpZ2h0O1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5tYXgtaGVpZ2h0JylcbiAgcHVibGljIGdldCBwb3B1cE1heEhlaWdodCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9wb3B1cC5zaXplPy5tYXhIZWlnaHQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKVxuICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fcG9wdXAuY3NzQ2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1wb3B1cGlkJylcbiAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9wb3B1cC5pZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BvcHVwOiDJtVBvcHVwLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLnBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5fcG9wdXAuY29tcG9uZW50LCB0aGlzLl9wb3B1cC52aWV3Q29udGFpbmVyUmVmLCBpbmplY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gW0FuZ3VsYXIgMTRdIFRoZSBpbml0aWFsIGZvY3VzIG11c3Qgbm90IGJlIHJlcXVlc3RlZCB2aWEgYGNka1RyYXBGb2N1c0F1dG9DYXB0dXJlYCBhcyB0aGlzIHdvdWxkIHJlc3RvcmVcbiAgICAvLyBmb2N1cyB0byB0aGUgcHJldmlvdXNseSBmb2N1c2VkIGVsZW1lbnQgd2hlbiB0aGUgYEZvY3VzVHJhcGAgaXMgZGVzdHJveWVkLiBUaGlzIGJlaGF2aW9yIGlzIHVud2FudGVkIGlmIHRoZVxuICAgIC8vIHBvcHVwIGlzIGNsb3NlZCBieSBsb3NpbmcgZm9jdXMuIE90aGVyd2lzZSwgdGhlIG5ld2x5IGZvY3VzZWQgZWxlbWVudCB0aGF0IGNhdXNlZCB0aGUgbG9zcyBvZiBmb2N1cyBhbmQgdGh1c1xuICAgIC8vIHRoZSBjbG9zaW5nIG9mIHRoZSBwb3B1cCB3b3VsZCBpbW1lZGlhdGVseSBiZWNvbWUgdW5mb2N1c2VkIGFnYWluLiBUaGlzIGJlaGF2aW9yIGNvdWxkIG9ubHkgYmUgb2JzZXJ2ZWQgd2hlblxuICAgIC8vIHRoZSBwb3B1cCBsb3NlcyBmb2N1cyBieSBjbGlja2luZyBvbiBhbiBlbGVtZW50IGluIGEgbWljcm9mcm9udGVuZC5cbiAgICB0aGlzLl9jZGtUcmFwRm9jdXMuZm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKS50aGVuKG5vb3ApO1xuICB9XG59XG5cbi8qKlxuICogQmxvY2tzIHRoaXMgcG9wdXAgd2hlbiBkaWFsb2cocykgb3ZlcmxheSBpdC5cbiAqL1xuZnVuY3Rpb24gY29uZmlndXJlUG9wdXBHbGFzc1BhbmUoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogR0xBU1NfUEFORV9CTE9DS0FCTEUsXG4gICAgICB1c2VFeGlzdGluZzogybVQb3B1cCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEdMQVNTX1BBTkVfT1BUSU9OUyxcbiAgICAgIHVzZUZhY3Rvcnk6ICgpOiBHbGFzc1BhbmVPcHRpb25zID0+ICh7YXR0cmlidXRlczogeydkYXRhLXBvcHVwaWQnOiBpbmplY3QoybVQb3B1cCkuaWR9fSksXG4gICAgfSxcbiAgXTtcbn1cbiIsIjxzY2ktdmlld3BvcnQgY2RrVHJhcEZvY3VzIGNsYXNzPVwiZTJlLXBvcHVwLXZpZXdwb3J0XCIgI2ZvY3VzX3RyYXA+XG4gIDxuZy1jb250YWluZXIgKmNka1BvcnRhbE91dGxldD1cInBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxuPC9zY2ktdmlld3BvcnQ+XG4iXX0=
@@ -14,6 +14,7 @@ import { WorkbenchDialogRegistry } from '../dialog/workbench-dialog.registry';
14
14
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
15
15
  import { map } from 'rxjs/operators';
16
16
  import { ɵDestroyRef } from '../common/ɵdestroy-ref';
17
+ import { randomUUID } from '../common/uuid.util';
17
18
  /**
18
19
  * Configures the content to be displayed in a popup.
19
20
  *
@@ -41,6 +42,7 @@ export class ɵPopup {
41
42
  * Indicates whether this popup is blocked by dialog(s) that overlay it.
42
43
  */
43
44
  this.blockedBy$ = new BehaviorSubject(null);
45
+ this.id = this._config.id ?? randomUUID();
44
46
  this.cssClasses = Arrays.coerce(this._config.cssClass);
45
47
  this.blockWhenDialogOpened();
46
48
  }
@@ -93,4 +95,4 @@ export class ɵPopupErrorResult {
93
95
  this.error = error;
94
96
  }
95
97
  }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcG9wdXAvcG9wdXAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFhLE1BQU0sRUFBbUQsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUtuRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQWdCLFdBQVc7Q0FnR2hDO0FBaUREOzs7R0FHRztBQUNILE1BQU0sT0FBZ0IsS0FBSztDQStCMUI7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxNQUFNO0lBV2pCLFlBQW9CLE9BQW9CLEVBQWtCLFFBQXVCO1FBQTdELFlBQU8sR0FBUCxPQUFPLENBQWE7UUFBa0IsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQVRqRSxlQUFVLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUcvQzs7V0FFRztRQUNhLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBMEIsSUFBSSxDQUFDLENBQUM7UUFJOUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0sscUJBQXFCO1FBQzNCLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsTUFBTSxVQUFVLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztRQUUvRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQzthQUN6RCxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDM0Msa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNwQzthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQjtJQUNYLEtBQUssQ0FBQyxNQUE0QjtRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQVcsQ0FBQztRQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtJQUNYLGNBQWMsQ0FBQyxLQUFxQjtRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsZ0JBQWdCLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW1CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdG9yLCBTdGF0aWNQcm92aWRlciwgVHlwZSwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1BvcHVwT3JpZ2lufSBmcm9tICcuL3BvcHVwLm9yaWdpbic7XG5pbXBvcnQge0FycmF5c30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge1dvcmtiZW5jaERpYWxvZ1JlZ2lzdHJ5fSBmcm9tICcuLi9kaWFsb2cvd29ya2JlbmNoLWRpYWxvZy5yZWdpc3RyeSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7ybVEZXN0cm95UmVmfSBmcm9tICcuLi9jb21tb24vybVkZXN0cm95LXJlZic7XG5pbXBvcnQge8m1V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi9kaWFsb2cvybV3b3JrYmVuY2gtZGlhbG9nJztcbmltcG9ydCB7QmxvY2thYmxlfSBmcm9tICcuLi9nbGFzcy1wYW5lL2Jsb2NrYWJsZSc7XG5pbXBvcnQge1ZpZXdJZH0gZnJvbSAnLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5cbi8qKlxuICogQ29uZmlndXJlcyB0aGUgY29udGVudCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBwb3B1cC5cbiAqXG4gKiBBIHBvcHVwIGlzIGEgdmlzdWFsIHdvcmtiZW5jaCBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgY29udGVudCBhYm92ZSBvdGhlciBjb250ZW50LiBJdCBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIGFuIGFuY2hvcixcbiAqIHdoaWNoIGNhbiBiZSBlaXRoZXIgYSBwYWdlIGNvb3JkaW5hdGUgKHgveSkgb3IgYW4gSFRNTCBlbGVtZW50LiBXaGVuIHVzaW5nIGFuIGVsZW1lbnQgYXMgdGhlIHBvcHVwIGFuY2hvciwgdGhlIHBvcHVwIGFsc29cbiAqIG1vdmVzIHdoZW4gdGhlIGFuY2hvciBlbGVtZW50IG1vdmVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9wdXBDb25maWcge1xuICAvKipcbiAgICogQ29udHJvbHMgd2hlcmUgdG8gb3BlbiB0aGUgcG9wdXAuXG4gICAqXG4gICAqIFByb3ZpZGUgZWl0aGVyIGEgY29vcmRpbmF0ZSBvciBhbiBlbGVtZW50IHRvIHNlcnZlIGFzIHRoZSBwb3B1cCBhbmNob3IuIFRoZSBhbGlnbiBzZXR0aW5nIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2xcbiAgICogdGhlIHJlZ2lvbiB3aGVyZSB0byBvcGVuIHRoZSBwb3B1cCByZWxhdGl2ZSB0byB0aGUgYW5jaG9yLlxuICAgKlxuICAgKiBJZiB5b3UgdXNlIGFuIGVsZW1lbnQgYXMgdGhlIHBvcHVwIGFuY2hvciwgdGhlIHBvcHVwIGFsc28gbW92ZXMgd2hlbiB0aGUgYW5jaG9yIGVsZW1lbnQgbW92ZXMuIElmIHlvdSB1c2UgYSBjb29yZGluYXRlXG4gICAqIGFuZCBvcGVuIHRoZSBwb3B1cCBpbiB0aGUgY29udGV4dCBvZiBhIHZpZXcsIHRoZSBwb3B1cCBvcGVucyByZWxhdGl2ZSB0byB0aGUgYm91bmRzIG9mIHRoYXQgdmlldy4gT3RoZXJ3aXNlLCBpdFxuICAgKiBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBwYWdlIHZpZXdwb3J0LiBJZiB5b3UgbW92ZSBvciByZXNpemUgdGhlIHZpZXcgb3IgdGhlIHBhZ2UsIHRoZSBwb3B1cCB3aWxsIGFsc28gYmUgbW92ZWRcbiAgICogZGVwZW5kaW5nIG9uIHRoZSBwYWlyIG9mIGNvb3JkaW5hdGVzIHVzZWQuXG4gICAqXG4gICAqIFRoZSBmb2xsb3dpbmcgY29vcmRpbmF0ZSBwYWlycyBhcmUgc3VwcG9ydGVkOlxuICAgKiAtIHgveTogcmVsYXRpdmUgdG8gdGhlIFwidG9wL2xlZnRcIiBjb3JuZXIgb2YgdGhlIHZpZXcgb3IgcGFnZSB2aWV3cG9ydFxuICAgKiAtIHRvcC9sZWZ0OiBlcXVpdmFsZW50IHRvIHBhc3NpbmcgYSBcIngveVwiIGNvb3JkaW5hdGVcbiAgICogLSB0b3AvcmlnaHQ6IHJlbGF0aXZlIHRvIHRoZSBcInRvcC9yaWdodFwiIGNvcm5lciBvZiB0aGUgdmlldyBvciBwYWdlIHZpZXdwb3J0XG4gICAqIC0gYm90dG9tL2xlZnQ6IHJlbGF0aXZlIHRvIHRoZSBcImJvdHRvbS9sZWZ0XCIgY29ybmVyIG9mIHRoZSB2aWV3IG9yIHBhZ2Ugdmlld3BvcnRcbiAgICogLSBib3R0b20vcmlnaHQ6IHJlbGF0aXZlIHRvIHRoZSBcImJvdHRvbS9yaWdodFwiIGNvcm5lciBvZiB0aGUgdmlldyBvciBwYWdlIHZpZXdwb3J0XG4gICAqXG4gICAqIFBvc2l0aW9uaW5nIHRoZSBwb3B1cCB1c2luZyBjb29yZGluYXRlcyBhbGxvd3MgdG8gcGFzcyBhbiBPYnNlcnZhYmxlIHRvIHVwZGF0ZSB0aGUgcG9wdXAgcG9zaXRpb24uIE5vdGUgdGhhdCB0aGUgcG9wdXBcbiAgICogd2lsbCBub3QgZGlzcGxheSB1bnRpbCB0aGUgT2JzZXJ2YWJsZSBlbWl0cyB0aGUgZmlyc3QgY29vcmRpbmF0ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBhbmNob3I6IEVsZW1lbnRSZWY8RWxlbWVudD4gfCBFbGVtZW50IHwgUG9wdXBPcmlnaW4gfCBPYnNlcnZhYmxlPFBvcHVwT3JpZ2luPjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY29tcG9uZW50IHRvIGRpc3BsYXkgaW4gdGhlIHBvcHVwLlxuICAgKlxuICAgKiBJbiB0aGUgY29tcG9uZW50LCB5b3UgY2FuIGluamVjdCB0aGUgcG9wdXAgaGFuZGxlIHtAbGluayBQb3B1cH0gdG8gaW50ZXJhY3Qgd2l0aCB0aGUgcG9wdXAsIHN1Y2ggYXMgdG8gY2xvc2UgaXRcbiAgICogb3Igb2J0YWluIGl0cyBpbnB1dCBkYXRhLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNvbXBvbmVudDogVHlwZTxhbnk+O1xuICAvKipcbiAgICogSW5zdHJ1Y3RzIEFuZ3VsYXIgaG93IHRvIGNvbnN0cnVjdCB0aGUgY29tcG9uZW50LiBJbiBtb3N0IGNhc2VzLCBjb25zdHJ1Y3Qgb3B0aW9ucyBuZWVkIG5vdCB0byBiZSBzZXQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50Q29uc3RydWN0T3B0aW9ucz86IHtcbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBpbmplY3RvciBmb3IgdGhlIGluc3RhbnRpYXRpb24gb2YgdGhlIHBvcHVwIGNvbXBvbmVudCwgZ2l2aW5nIHlvdSBjb250cm9sIG92ZXIgdGhlIG9iamVjdHMgYXZhaWxhYmxlXG4gICAgICogZm9yIGluamVjdGlvbiBpbnRvIHRoZSBwb3B1cCBjb21wb25lbnQuIElmIG5vdCBzcGVjaWZpZWQsIHVzZXMgdGhlIGFwcGxpY2F0aW9uJ3Mgcm9vdCBpbmplY3Rvciwgb3IgdGhlIHZpZXcnc1xuICAgICAqIGluamVjdG9yIGlmIG9wZW5lZCBpbiB0aGUgY29udGV4dCBvZiBhIHZpZXcuXG4gICAgICpcbiAgICAgKiBgYGB0c1xuICAgICAqIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICogICBwYXJlbnQ6IC4uLixcbiAgICAgKiAgIHByb3ZpZGVyczogW1xuICAgICAqICAgIHtwcm92aWRlOiA8RGlUb2tlbj4sIHVzZVZhbHVlOiA8dmFsdWU+fVxuICAgICAqICAgXSxcbiAgICAgKiB9KVxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIGluamVjdG9yPzogSW5qZWN0b3I7XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHByb3ZpZGVycyB0byBiZSByZWdpc3RlcmVkIHdpdGggdGhlIHBvcHVwIGluamVjdG9yLiBVbmxpa2UgcHJvdmlkZXJzIHRoYXQgYXJlIHJlZ2lzdGVyZWQgdmlhIGEgc2VwYXJhdGUge0BsaW5rIGluamVjdG9yfSxcbiAgICAgKiBwYXNzZWQgcHJvdmlkZXJzIGFyZSByZWdpc3RlcmVkIGluIHRoZSBzYW1lIGluamVjdG9yIGFzIHRoZSBwb3B1cCBoYW5kbGUgaXRzZWxmLCBhbGxvd2luZyBmb3IgZGVwZW5kZW5jeSBpbmplY3Rpb24gb2YgdGhlIHBvcHVwIGhhbmRsZS5cbiAgICAgKi9cbiAgICBwcm92aWRlcnM/OiBTdGF0aWNQcm92aWRlcltdO1xuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIGNvbXBvbmVudCdzIGF0dGFjaG1lbnQgcG9pbnQgaW4gQW5ndWxhcidzIGxvZ2ljYWwgY29tcG9uZW50IHRyZWUgKG5vdCB0aGUgRE9NIHRyZWUgdXNlZCBmb3IgcmVuZGVyaW5nKSwgZWZmZWN0aW5nIHdoZW5cbiAgICAgKiBBbmd1bGFyIGNoZWNrcyB0aGUgY29tcG9uZW50IGZvciBjaGFuZ2VzIGR1cmluZyBhIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGUuIElmIG5vdCBzZXQsIGluc2VydHMgdGhlIGNvbXBvbmVudCBhdCB0aGUgdG9wIGxldmVsXG4gICAgICogaW4gdGhlIGNvbXBvbmVudCB0cmVlLlxuICAgICAqL1xuICAgIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmO1xuICB9O1xuICAvKipcbiAgICogSGludCB3aGVyZSB0byBhbGlnbiB0aGUgcG9wdXAgcmVsYXRpdmUgdG8gdGhlIHBvcHVwIGFuY2hvciwgdW5sZXNzIHRoZXJlIGlzIG5vdCBlbm91Z2ggc3BhY2UgYXZhaWxhYmxlIGluIHRoYXQgYXJlYS4gQnkgZGVmYXVsdCxcbiAgICogaWYgbm90IHNwZWNpZmllZCwgdGhlIHBvcHVwIG9wZW5zIG5vcnRoIG9mIHRoZSBhbmNob3IuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYWxpZ24/OiAnZWFzdCcgfCAnd2VzdCcgfCAnbm9ydGgnIHwgJ3NvdXRoJztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRhdGEgdG8gcGFzcyB0byB0aGUgcG9wdXAgY29tcG9uZW50LiBJbiB0aGUgY29tcG9uZW50LCB5b3UgY2FuIGluamVjdCB0aGUgcG9wdXAgaGFuZGxlIHtAbGluayBQb3B1cH0gdG8gcmVhZCBpbnB1dCBkYXRhLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlucHV0PzogYW55O1xuICAvKipcbiAgICogQ29udHJvbHMgd2hlbiB0byBjbG9zZSB0aGUgcG9wdXAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2xvc2VTdHJhdGVneT86IENsb3NlU3RyYXRlZ3k7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHByZWZlcnJlZCBwb3B1cCBzaXplLiBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgcG9wdXAgYWRqdXN0cyBpdHMgc2l6ZSB0byB0aGUgY29udGVudCBzaXplLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNpemU/OiBQb3B1cFNpemU7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgQ1NTIGNsYXNzKGVzKSB0byBhZGQgdG8gdGhlIHBvcHVwLCBlLmcuLCB0byBsb2NhdGUgdGhlIHBvcHVwIGluIHRlc3RzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGNvbnRleHQgaW4gd2hpY2ggdG8gb3BlbiB0aGUgcG9wdXAuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGV4dD86IHtcbiAgICAvKipcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHZpZXcgdGhlIHBvcHVwIGJlbG9uZ3MgdG8uXG4gICAgICpcbiAgICAgKiBCaW5kcyB0aGUgcG9wdXAgdG8gdGhlIGxpZmVjeWNsZSBvZiBhIHZpZXcgc28gdGhhdCBpdCBkaXNwbGF5cyBvbmx5IGlmIHRoZSB2aWV3IGlzIGFjdGl2ZSBhbmQgY2xvc2VzIHdoZW4gdGhlIHZpZXcgaXMgY2xvc2VkLlxuICAgICAqXG4gICAgICogQnkgZGVmYXVsdCwgaWYgb3BlbmluZyB0aGUgcG9wdXAgaW4gdGhlIGNvbnRleHQgb2YgYSB2aWV3LCB0aGF0IHZpZXcgaXMgdXNlZCBhcyB0aGUgcG9wdXAncyBjb250ZXh0dWFsIHZpZXcuXG4gICAgICogSWYgeW91IHNldCB0aGUgdmlldyBpZCB0byBgbnVsbGAsIHRoZSBwb3B1cCB3aWxsIG9wZW4gd2l0aG91dCByZWZlcnJpbmcgdG8gdGhlIGNvbnRleHR1YWwgdmlldy5cbiAgICAgKi9cbiAgICB2aWV3SWQ/OiBWaWV3SWQgfCBudWxsO1xuICB9O1xufVxuXG4vKipcbiAqIFNwZWNpZmllcyB3aGVuIHRvIGNsb3NlIHRoZSBwb3B1cC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbG9zZVN0cmF0ZWd5IHtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgd2hpY2ggaXMgYnkgZGVmYXVsdCwgd2lsbCBjbG9zZSB0aGUgcG9wdXAgb24gZm9jdXMgbG9zcy5cbiAgICogTm8gcmV0dXJuIHZhbHVlIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBwb3B1cCBvcGVuZXIuXG4gICAqL1xuICBvbkZvY3VzTG9zdD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHdoaWNoIGlzIGJ5IGRlZmF1bHQsIHdpbGwgY2xvc2UgdGhlIHBvcHVwIHdoZW4gdGhlIHVzZXJcbiAgICogaGl0cyB0aGUgZXNjYXBlIGtleS4gTm8gcmV0dXJuIHZhbHVlIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBwb3B1cFxuICAgKiBvcGVuZXIuXG4gICAqL1xuICBvbkVzY2FwZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgcHJlZmVycmVkIHBvcHVwIHNpemUgYXMgc3BlY2lmaWVkIGJ5IHRoZSBwb3B1cCBvcGVuZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9wdXBTaXplIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWluLWhlaWdodCBvZiB0aGUgcG9wdXAuXG4gICAqL1xuICBtaW5IZWlnaHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGhlaWdodCBvZiB0aGUgcG9wdXAuXG4gICAqL1xuICBoZWlnaHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1heC1oZWlnaHQgb2YgdGhlIHBvcHVwLlxuICAgKi9cbiAgbWF4SGVpZ2h0Pzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtaW4td2lkdGggb2YgdGhlIHBvcHVwLlxuICAgKi9cbiAgbWluV2lkdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIHdpZHRoIG9mIHRoZSBwb3B1cC5cbiAgICovXG4gIHdpZHRoPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXgtd2lkdGggb2YgdGhlIHBvcHVwLlxuICAgKi9cbiAgbWF4V2lkdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGhhbmRsZSB0aGF0IGEgcG9wdXAgY29tcG9uZW50IGNhbiBpbmplY3QgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgcG9wdXAsIGZvciBleGFtcGxlLFxuICogdG8gcmVhZCBpbnB1dCBkYXRhIG9yIHRoZSBjb25maWd1cmVkIHNpemUsIG9yIHRvIGNsb3NlIHRoZSBwb3B1cC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBvcHVwPFQgPSBhbnk+IHtcblxuICAvKipcbiAgICogSW5wdXQgZGF0YSBhcyBwYXNzZWQgYnkgdGhlIHBvcHVwIG9wZW5lciB3aGVuIG9wZW5lZCB0aGUgcG9wdXAsIG9yIGB1bmRlZmluZWRgIGlmIG5vdCBwYXNzZWQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgaW5wdXQ6IFQgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFByZWZlcnJlZCBwb3B1cCBzaXplIGFzIHNwZWNpZmllZCBieSB0aGUgcG9wdXAgb3BlbmVyLCBvciBgdW5kZWZpbmVkYCBpZiBub3Qgc2V0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNpemU6IFBvcHVwU2l6ZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogUHJvdmlkZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbnRleHQgaW4gd2hpY2ggdGhpcyBwb3B1cCB3YXMgb3BlbmVkLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHJlZmVycmVyOiBQb3B1cFJlZmVycmVyO1xuXG4gIC8qKlxuICAgKiBDU1MgY2xhc3NlcyBhc3NvY2lhdGVkIHdpdGggdGhlIHBvcHVwLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGNzc0NsYXNzZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIHBvcHVwLiBPcHRpb25hbGx5LCBwYXNzIGEgcmVzdWx0IHRvIHRoZSBwb3B1cCBvcGVuZXIuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY2xvc2U8UiA9IGFueT4ocmVzdWx0PzogUiB8IHVuZGVmaW5lZCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgcG9wdXAgcmV0dXJuaW5nIHRoZSBnaXZlbiBlcnJvciB0byB0aGUgcG9wdXAgb3BlbmVyLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb3NlV2l0aEVycm9yKGVycm9yOiBFcnJvciB8IHN0cmluZyk6IHZvaWQ7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyDJtVBvcHVwPFIgPSB1bmtub3duPiBpbXBsZW1lbnRzIFBvcHVwLCBCbG9ja2FibGUge1xuXG4gIHB1YmxpYyByZWFkb25seSBkZXN0cm95UmVmID0gbmV3IMm1RGVzdHJveVJlZigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY3NzQ2xhc3Nlczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgcG9wdXAgaXMgYmxvY2tlZCBieSBkaWFsb2cocykgdGhhdCBvdmVybGF5IGl0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJsb2NrZWRCeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PMm1V29ya2JlbmNoRGlhbG9nIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZXN1bHQ6IFIgfCDJtVBvcHVwRXJyb3JSZXN1bHQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY29uZmlnOiBQb3B1cENvbmZpZywgcHVibGljIHJlYWRvbmx5IHJlZmVycmVyOiBQb3B1cFJlZmVycmVyKSB7XG4gICAgdGhpcy5jc3NDbGFzc2VzID0gQXJyYXlzLmNvZXJjZSh0aGlzLl9jb25maWcuY3NzQ2xhc3MpO1xuICAgIHRoaXMuYmxvY2tXaGVuRGlhbG9nT3BlbmVkKCk7XG4gIH1cblxuICAvKipcbiAgICogQmxvY2tzIHRoaXMgcG9wdXAgd2hlbiBhIGRpYWxvZyBvdmVybGF5cyBpdC5cbiAgICovXG4gIHByaXZhdGUgYmxvY2tXaGVuRGlhbG9nT3BlbmVkKCk6IHZvaWQge1xuICAgIGNvbnN0IHdvcmtiZW5jaERpYWxvZ1JlZ2lzdHJ5ID0gaW5qZWN0KFdvcmtiZW5jaERpYWxvZ1JlZ2lzdHJ5KTtcbiAgICBjb25zdCBpbml0aWFsVG9wID0gd29ya2JlbmNoRGlhbG9nUmVnaXN0cnkudG9wKHt2aWV3SWQ6IHRoaXMucmVmZXJyZXIudmlld0lkfSk7XG5cbiAgICB3b3JrYmVuY2hEaWFsb2dSZWdpc3RyeS50b3AkKHt2aWV3SWQ6IHRoaXMucmVmZXJyZXIudmlld0lkfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAodG9wID0+IHRvcCA9PT0gaW5pdGlhbFRvcCA/IG51bGwgOiB0b3ApLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5ibG9ja2VkQnkkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgY2xvc2UocmVzdWx0PzogdW5rbm93biB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0ID0gcmVzdWx0IGFzIFI7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGNsb3NlV2l0aEVycm9yKGVycm9yOiBFcnJvciB8IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0ID0gbmV3IMm1UG9wdXBFcnJvclJlc3VsdChlcnJvcik7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldCBpbnB1dCgpOiB1bmtub3duIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLmlucHV0O1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXQgc2l6ZSgpOiBQb3B1cFNpemUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcuc2l6ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50KCk6IFR5cGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5jb21wb25lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpZXdDb250YWluZXJSZWYoKTogVmlld0NvbnRhaW5lclJlZiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5jb21wb25lbnRDb25zdHJ1Y3RPcHRpb25zPy52aWV3Q29udGFpbmVyUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoaXMgZGlhbG9nIGFuZCBhc3NvY2lhdGVkIHJlc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveVJlZi5kZXN0cm95KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIMm1UG9wdXBFcnJvclJlc3VsdCB7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGVycm9yOiBzdHJpbmcgfCBFcnJvcikge1xuICB9XG59XG5cbi8qKlxuICogSW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbnRleHQgaW4gd2hpY2ggYSBwb3B1cCB3YXMgb3BlbmVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvcHVwUmVmZXJyZXIge1xuICAvKipcbiAgICogSWRlbnRpdHkgb2YgdGhlIHZpZXcgaWYgb3BlbmVkIGluIHRoZSBjb250ZXh0IG9mIGEgdmlldy5cbiAgICovXG4gIHZpZXdJZD86IFZpZXdJZDtcbn1cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcG9wdXAvcG9wdXAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFhLE1BQU0sRUFBbUQsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUVqRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUluRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFL0M7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFnQixXQUFXO0NBc0doQztBQWlERDs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLEtBQUs7Q0ErQjFCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sTUFBTTtJQWNqQixZQUFvQixPQUFvQixFQUFrQixRQUF1QjtRQUE3RCxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQWtCLGFBQVEsR0FBUixRQUFRLENBQWU7UUFUakUsZUFBVSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFHL0M7O1dBRUc7UUFDYSxlQUFVLEdBQUcsSUFBSSxlQUFlLENBQTBCLElBQUksQ0FBQyxDQUFDO1FBSTlFLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksVUFBVSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0sscUJBQXFCO1FBQzNCLE1BQU0sdUJBQXVCLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDaEUsTUFBTSxVQUFVLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEVBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQztRQUUvRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQzthQUN6RCxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDM0Msa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNwQzthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQjtJQUNYLEtBQUssQ0FBVSxNQUFzQjtRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGtCQUFrQjtJQUNYLGNBQWMsQ0FBQyxLQUFxQjtRQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCO0lBQ2xCLElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsZ0JBQWdCLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW1CLEtBQXFCO1FBQXJCLFVBQUssR0FBTCxLQUFLLENBQWdCO0lBQ3hDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtFbGVtZW50UmVmLCBpbmplY3QsIEluamVjdG9yLCBTdGF0aWNQcm92aWRlciwgVHlwZSwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1BvcHVwT3JpZ2lufSBmcm9tICcuL3BvcHVwLm9yaWdpbic7XG5pbXBvcnQge0FycmF5c30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge1dvcmtiZW5jaERpYWxvZ1JlZ2lzdHJ5fSBmcm9tICcuLi9kaWFsb2cvd29ya2JlbmNoLWRpYWxvZy5yZWdpc3RyeSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7ybVEZXN0cm95UmVmfSBmcm9tICcuLi9jb21tb24vybVkZXN0cm95LXJlZic7XG5pbXBvcnQge8m1V29ya2JlbmNoRGlhbG9nfSBmcm9tICcuLi9kaWFsb2cvybV3b3JrYmVuY2gtZGlhbG9nJztcbmltcG9ydCB7QmxvY2thYmxlfSBmcm9tICcuLi9nbGFzcy1wYW5lL2Jsb2NrYWJsZSc7XG5pbXBvcnQge1ZpZXdJZH0gZnJvbSAnLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge3JhbmRvbVVVSUR9IGZyb20gJy4uL2NvbW1vbi91dWlkLnV0aWwnO1xuXG4vKipcbiAqIENvbmZpZ3VyZXMgdGhlIGNvbnRlbnQgdG8gYmUgZGlzcGxheWVkIGluIGEgcG9wdXAuXG4gKlxuICogQSBwb3B1cCBpcyBhIHZpc3VhbCB3b3JrYmVuY2ggY29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGNvbnRlbnQgYWJvdmUgb3RoZXIgY29udGVudC4gSXQgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byBhbiBhbmNob3IsXG4gKiB3aGljaCBjYW4gYmUgZWl0aGVyIGEgcGFnZSBjb29yZGluYXRlICh4L3kpIG9yIGFuIEhUTUwgZWxlbWVudC4gV2hlbiB1c2luZyBhbiBlbGVtZW50IGFzIHRoZSBwb3B1cCBhbmNob3IsIHRoZSBwb3B1cCBhbHNvXG4gKiBtb3ZlcyB3aGVuIHRoZSBhbmNob3IgZWxlbWVudCBtb3Zlcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBvcHVwQ29uZmlnIHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdW5pcXVlIGlkZW50aXR5IG9mIHRoZSBwb3B1cC4gSWYgbm90IHNwZWNpZmllZCwgYXNzaWducyB0aGUgcG9wdXAgYSBVVUlELlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBpZD86IHN0cmluZztcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXJlIHRvIG9wZW4gdGhlIHBvcHVwLlxuICAgKlxuICAgKiBQcm92aWRlIGVpdGhlciBhIGNvb3JkaW5hdGUgb3IgYW4gZWxlbWVudCB0byBzZXJ2ZSBhcyB0aGUgcG9wdXAgYW5jaG9yLiBUaGUgYWxpZ24gc2V0dGluZyBjYW4gYmUgdXNlZCB0byBjb250cm9sXG4gICAqIHRoZSByZWdpb24gd2hlcmUgdG8gb3BlbiB0aGUgcG9wdXAgcmVsYXRpdmUgdG8gdGhlIGFuY2hvci5cbiAgICpcbiAgICogSWYgeW91IHVzZSBhbiBlbGVtZW50IGFzIHRoZSBwb3B1cCBhbmNob3IsIHRoZSBwb3B1cCBhbHNvIG1vdmVzIHdoZW4gdGhlIGFuY2hvciBlbGVtZW50IG1vdmVzLiBJZiB5b3UgdXNlIGEgY29vcmRpbmF0ZVxuICAgKiBhbmQgb3BlbiB0aGUgcG9wdXAgaW4gdGhlIGNvbnRleHQgb2YgYSB2aWV3LCB0aGUgcG9wdXAgb3BlbnMgcmVsYXRpdmUgdG8gdGhlIGJvdW5kcyBvZiB0aGF0IHZpZXcuIE90aGVyd2lzZSwgaXRcbiAgICogaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgcGFnZSB2aWV3cG9ydC4gSWYgeW91IG1vdmUgb3IgcmVzaXplIHRoZSB2aWV3IG9yIHRoZSBwYWdlLCB0aGUgcG9wdXAgd2lsbCBhbHNvIGJlIG1vdmVkXG4gICAqIGRlcGVuZGluZyBvbiB0aGUgcGFpciBvZiBjb29yZGluYXRlcyB1c2VkLlxuICAgKlxuICAgKiBUaGUgZm9sbG93aW5nIGNvb3JkaW5hdGUgcGFpcnMgYXJlIHN1cHBvcnRlZDpcbiAgICogLSB4L3k6IHJlbGF0aXZlIHRvIHRoZSBcInRvcC9sZWZ0XCIgY29ybmVyIG9mIHRoZSB2aWV3IG9yIHBhZ2Ugdmlld3BvcnRcbiAgICogLSB0b3AvbGVmdDogZXF1aXZhbGVudCB0byBwYXNzaW5nIGEgXCJ4L3lcIiBjb29yZGluYXRlXG4gICAqIC0gdG9wL3JpZ2h0OiByZWxhdGl2ZSB0byB0aGUgXCJ0b3AvcmlnaHRcIiBjb3JuZXIgb2YgdGhlIHZpZXcgb3IgcGFnZSB2aWV3cG9ydFxuICAgKiAtIGJvdHRvbS9sZWZ0OiByZWxhdGl2ZSB0byB0aGUgXCJib3R0b20vbGVmdFwiIGNvcm5lciBvZiB0aGUgdmlldyBvciBwYWdlIHZpZXdwb3J0XG4gICAqIC0gYm90dG9tL3JpZ2h0OiByZWxhdGl2ZSB0byB0aGUgXCJib3R0b20vcmlnaHRcIiBjb3JuZXIgb2YgdGhlIHZpZXcgb3IgcGFnZSB2aWV3cG9ydFxuICAgKlxuICAgKiBQb3NpdGlvbmluZyB0aGUgcG9wdXAgdXNpbmcgY29vcmRpbmF0ZXMgYWxsb3dzIHRvIHBhc3MgYW4gT2JzZXJ2YWJsZSB0byB1cGRhdGUgdGhlIHBvcHVwIHBvc2l0aW9uLiBOb3RlIHRoYXQgdGhlIHBvcHVwXG4gICAqIHdpbGwgbm90IGRpc3BsYXkgdW50aWwgdGhlIE9ic2VydmFibGUgZW1pdHMgdGhlIGZpcnN0IGNvb3JkaW5hdGUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgYW5jaG9yOiBFbGVtZW50UmVmPEVsZW1lbnQ+IHwgRWxlbWVudCB8IFBvcHVwT3JpZ2luIHwgT2JzZXJ2YWJsZTxQb3B1cE9yaWdpbj47XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGNvbXBvbmVudCB0byBkaXNwbGF5IGluIHRoZSBwb3B1cC5cbiAgICpcbiAgICogSW4gdGhlIGNvbXBvbmVudCwgeW91IGNhbiBpbmplY3QgdGhlIHBvcHVwIGhhbmRsZSB7QGxpbmsgUG9wdXB9IHRvIGludGVyYWN0IHdpdGggdGhlIHBvcHVwLCBzdWNoIGFzIHRvIGNsb3NlIGl0XG4gICAqIG9yIG9idGFpbiBpdHMgaW5wdXQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjb21wb25lbnQ6IFR5cGU8YW55PjtcbiAgLyoqXG4gICAqIEluc3RydWN0cyBBbmd1bGFyIGhvdyB0byBjb25zdHJ1Y3QgdGhlIGNvbXBvbmVudC4gSW4gbW9zdCBjYXNlcywgY29uc3RydWN0IG9wdGlvbnMgbmVlZCBub3QgdG8gYmUgc2V0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbXBvbmVudENvbnN0cnVjdE9wdGlvbnM/OiB7XG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgaW5qZWN0b3IgZm9yIHRoZSBpbnN0YW50aWF0aW9uIG9mIHRoZSBwb3B1cCBjb21wb25lbnQsIGdpdmluZyB5b3UgY29udHJvbCBvdmVyIHRoZSBvYmplY3RzIGF2YWlsYWJsZVxuICAgICAqIGZvciBpbmplY3Rpb24gaW50byB0aGUgcG9wdXAgY29tcG9uZW50LiBJZiBub3Qgc3BlY2lmaWVkLCB1c2VzIHRoZSBhcHBsaWNhdGlvbidzIHJvb3QgaW5qZWN0b3IsIG9yIHRoZSB2aWV3J3NcbiAgICAgKiBpbmplY3RvciBpZiBvcGVuZWQgaW4gdGhlIGNvbnRleHQgb2YgYSB2aWV3LlxuICAgICAqXG4gICAgICogYGBgdHNcbiAgICAgKiBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAqICAgcGFyZW50OiAuLi4sXG4gICAgICogICBwcm92aWRlcnM6IFtcbiAgICAgKiAgICB7cHJvdmlkZTogPERpVG9rZW4+LCB1c2VWYWx1ZTogPHZhbHVlPn1cbiAgICAgKiAgIF0sXG4gICAgICogfSlcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBpbmplY3Rvcj86IEluamVjdG9yO1xuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyBwcm92aWRlcnMgdG8gYmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBwb3B1cCBpbmplY3Rvci4gVW5saWtlIHByb3ZpZGVycyB0aGF0IGFyZSByZWdpc3RlcmVkIHZpYSBhIHNlcGFyYXRlIHtAbGluayBpbmplY3Rvcn0sXG4gICAgICogcGFzc2VkIHByb3ZpZGVycyBhcmUgcmVnaXN0ZXJlZCBpbiB0aGUgc2FtZSBpbmplY3RvciBhcyB0aGUgcG9wdXAgaGFuZGxlIGl0c2VsZiwgYWxsb3dpbmcgZm9yIGRlcGVuZGVuY3kgaW5qZWN0aW9uIG9mIHRoZSBwb3B1cCBoYW5kbGUuXG4gICAgICovXG4gICAgcHJvdmlkZXJzPzogU3RhdGljUHJvdmlkZXJbXTtcbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBjb21wb25lbnQncyBhdHRhY2htZW50IHBvaW50IGluIEFuZ3VsYXIncyBsb2dpY2FsIGNvbXBvbmVudCB0cmVlIChub3QgdGhlIERPTSB0cmVlIHVzZWQgZm9yIHJlbmRlcmluZyksIGVmZmVjdGluZyB3aGVuXG4gICAgICogQW5ndWxhciBjaGVja3MgdGhlIGNvbXBvbmVudCBmb3IgY2hhbmdlcyBkdXJpbmcgYSBjaGFuZ2UgZGV0ZWN0aW9uIGN5Y2xlLiBJZiBub3Qgc2V0LCBpbnNlcnRzIHRoZSBjb21wb25lbnQgYXQgdGhlIHRvcCBsZXZlbFxuICAgICAqIGluIHRoZSBjb21wb25lbnQgdHJlZS5cbiAgICAgKi9cbiAgICB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZjtcbiAgfTtcbiAgLyoqXG4gICAqIEhpbnQgd2hlcmUgdG8gYWxpZ24gdGhlIHBvcHVwIHJlbGF0aXZlIHRvIHRoZSBwb3B1cCBhbmNob3IsIHVubGVzcyB0aGVyZSBpcyBub3QgZW5vdWdoIHNwYWNlIGF2YWlsYWJsZSBpbiB0aGF0IGFyZWEuIEJ5IGRlZmF1bHQsXG4gICAqIGlmIG5vdCBzcGVjaWZpZWQsIHRoZSBwb3B1cCBvcGVucyBub3J0aCBvZiB0aGUgYW5jaG9yLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFsaWduPzogJ2Vhc3QnIHwgJ3dlc3QnIHwgJ25vcnRoJyB8ICdzb3V0aCc7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBkYXRhIHRvIHBhc3MgdG8gdGhlIHBvcHVwIGNvbXBvbmVudC4gSW4gdGhlIGNvbXBvbmVudCwgeW91IGNhbiBpbmplY3QgdGhlIHBvcHVwIGhhbmRsZSB7QGxpbmsgUG9wdXB9IHRvIHJlYWQgaW5wdXQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnB1dD86IGFueTtcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZW4gdG8gY2xvc2UgdGhlIHBvcHVwLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNsb3NlU3RyYXRlZ3k/OiBDbG9zZVN0cmF0ZWd5O1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBwcmVmZXJyZWQgcG9wdXAgc2l6ZS4gSWYgbm90IHNwZWNpZmllZCwgdGhlIHBvcHVwIGFkanVzdHMgaXRzIHNpemUgdG8gdGhlIGNvbnRlbnQgc2l6ZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzaXplPzogUG9wdXBTaXplO1xuICAvKipcbiAgICogU3BlY2lmaWVzIENTUyBjbGFzcyhlcykgdG8gYWRkIHRvIHRoZSBwb3B1cCwgZS5nLiwgdG8gbG9jYXRlIHRoZSBwb3B1cCBpbiB0ZXN0cy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjc3NDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBjb250ZXh0IGluIHdoaWNoIHRvIG9wZW4gdGhlIHBvcHVwLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbnRleHQ/OiB7XG4gICAgLyoqXG4gICAgICogU3BlY2lmaWVzIHRoZSB2aWV3IHRoZSBwb3B1cCBiZWxvbmdzIHRvLlxuICAgICAqXG4gICAgICogQmluZHMgdGhlIHBvcHVwIHRvIHRoZSBsaWZlY3ljbGUgb2YgYSB2aWV3IHNvIHRoYXQgaXQgZGlzcGxheXMgb25seSBpZiB0aGUgdmlldyBpcyBhY3RpdmUgYW5kIGNsb3NlcyB3aGVuIHRoZSB2aWV3IGlzIGNsb3NlZC5cbiAgICAgKlxuICAgICAqIEJ5IGRlZmF1bHQsIGlmIG9wZW5pbmcgdGhlIHBvcHVwIGluIHRoZSBjb250ZXh0IG9mIGEgdmlldywgdGhhdCB2aWV3IGlzIHVzZWQgYXMgdGhlIHBvcHVwJ3MgY29udGV4dHVhbCB2aWV3LlxuICAgICAqIElmIHlvdSBzZXQgdGhlIHZpZXcgaWQgdG8gYG51bGxgLCB0aGUgcG9wdXAgd2lsbCBvcGVuIHdpdGhvdXQgcmVmZXJyaW5nIHRvIHRoZSBjb250ZXh0dWFsIHZpZXcuXG4gICAgICovXG4gICAgdmlld0lkPzogVmlld0lkIHwgbnVsbDtcbiAgfTtcbn1cblxuLyoqXG4gKiBTcGVjaWZpZXMgd2hlbiB0byBjbG9zZSB0aGUgcG9wdXAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xvc2VTdHJhdGVneSB7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHdoaWNoIGlzIGJ5IGRlZmF1bHQsIHdpbGwgY2xvc2UgdGhlIHBvcHVwIG9uIGZvY3VzIGxvc3MuXG4gICAqIE5vIHJldHVybiB2YWx1ZSB3aWxsIGJlIHBhc3NlZCB0byB0aGUgcG9wdXAgb3BlbmVyLlxuICAgKi9cbiAgb25Gb2N1c0xvc3Q/OiBib29sZWFuO1xuICAvKipcbiAgICogSWYgYHRydWVgLCB3aGljaCBpcyBieSBkZWZhdWx0LCB3aWxsIGNsb3NlIHRoZSBwb3B1cCB3aGVuIHRoZSB1c2VyXG4gICAqIGhpdHMgdGhlIGVzY2FwZSBrZXkuIE5vIHJldHVybiB2YWx1ZSB3aWxsIGJlIHBhc3NlZCB0byB0aGUgcG9wdXBcbiAgICogb3BlbmVyLlxuICAgKi9cbiAgb25Fc2NhcGU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHByZWZlcnJlZCBwb3B1cCBzaXplIGFzIHNwZWNpZmllZCBieSB0aGUgcG9wdXAgb3BlbmVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvcHVwU2l6ZSB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1pbi1oZWlnaHQgb2YgdGhlIHBvcHVwLlxuICAgKi9cbiAgbWluSGVpZ2h0Pzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBoZWlnaHQgb2YgdGhlIHBvcHVwLlxuICAgKi9cbiAgaGVpZ2h0Pzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtYXgtaGVpZ2h0IG9mIHRoZSBwb3B1cC5cbiAgICovXG4gIG1heEhlaWdodD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWluLXdpZHRoIG9mIHRoZSBwb3B1cC5cbiAgICovXG4gIG1pbldpZHRoPzogc3RyaW5nO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB3aWR0aCBvZiB0aGUgcG9wdXAuXG4gICAqL1xuICB3aWR0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbWF4LXdpZHRoIG9mIHRoZSBwb3B1cC5cbiAgICovXG4gIG1heFdpZHRoPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBoYW5kbGUgdGhhdCBhIHBvcHVwIGNvbXBvbmVudCBjYW4gaW5qZWN0IHRvIGludGVyYWN0IHdpdGggdGhlIHBvcHVwLCBmb3IgZXhhbXBsZSxcbiAqIHRvIHJlYWQgaW5wdXQgZGF0YSBvciB0aGUgY29uZmlndXJlZCBzaXplLCBvciB0byBjbG9zZSB0aGUgcG9wdXAuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb3B1cDxUID0gYW55PiB7XG5cbiAgLyoqXG4gICAqIElucHV0IGRhdGEgYXMgcGFzc2VkIGJ5IHRoZSBwb3B1cCBvcGVuZXIgd2hlbiBvcGVuZWQgdGhlIHBvcHVwLCBvciBgdW5kZWZpbmVkYCBpZiBub3QgcGFzc2VkLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGlucHV0OiBUIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBQcmVmZXJyZWQgcG9wdXAgc2l6ZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHBvcHVwIG9wZW5lciwgb3IgYHVuZGVmaW5lZGAgaWYgbm90IHNldC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzaXplOiBQb3B1cFNpemUgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb250ZXh0IGluIHdoaWNoIHRoaXMgcG9wdXAgd2FzIG9wZW5lZC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByZWZlcnJlcjogUG9wdXBSZWZlcnJlcjtcblxuICAvKipcbiAgICogQ1NTIGNsYXNzZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBwb3B1cC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjc3NDbGFzc2VzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBwb3B1cC4gT3B0aW9uYWxseSwgcGFzcyBhIHJlc3VsdCB0byB0aGUgcG9wdXAgb3BlbmVyLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb3NlPFIgPSBhbnk+KHJlc3VsdD86IFIgfCB1bmRlZmluZWQpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIHBvcHVwIHJldHVybmluZyB0aGUgZ2l2ZW4gZXJyb3IgdG8gdGhlIHBvcHVwIG9wZW5lci5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjbG9zZVdpdGhFcnJvcihlcnJvcjogRXJyb3IgfCBzdHJpbmcpOiB2b2lkO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgybVQb3B1cDxUID0gdW5rbm93bj4gaW1wbGVtZW50cyBQb3B1cDxUPiwgQmxvY2thYmxlIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZGVudGl0eSBvZiB0aGlzIHBvcHVwLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBkZXN0cm95UmVmID0gbmV3IMm1RGVzdHJveVJlZigpO1xuICBwdWJsaWMgcmVhZG9ubHkgY3NzQ2xhc3Nlczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoaXMgcG9wdXAgaXMgYmxvY2tlZCBieSBkaWFsb2cocykgdGhhdCBvdmVybGF5IGl0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJsb2NrZWRCeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PMm1V29ya2JlbmNoRGlhbG9nIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZXN1bHQ6IHVua25vd24gfCDJtVBvcHVwRXJyb3JSZXN1bHQgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY29uZmlnOiBQb3B1cENvbmZpZywgcHVibGljIHJlYWRvbmx5IHJlZmVycmVyOiBQb3B1cFJlZmVycmVyKSB7XG4gICAgdGhpcy5pZCA9IHRoaXMuX2NvbmZpZy5pZCA/PyByYW5kb21VVUlEKCk7XG4gICAgdGhpcy5jc3NDbGFzc2VzID0gQXJyYXlzLmNvZXJjZSh0aGlzLl9jb25maWcuY3NzQ2xhc3MpO1xuICAgIHRoaXMuYmxvY2tXaGVuRGlhbG9nT3BlbmVkKCk7XG4gIH1cblxuICAvKipcbiAgICogQmxvY2tzIHRoaXMgcG9wdXAgd2hlbiBhIGRpYWxvZyBvdmVybGF5cyBpdC5cbiAgICovXG4gIHByaXZhdGUgYmxvY2tXaGVuRGlhbG9nT3BlbmVkKCk6IHZvaWQge1xuICAgIGNvbnN0IHdvcmtiZW5jaERpYWxvZ1JlZ2lzdHJ5ID0gaW5qZWN0KFdvcmtiZW5jaERpYWxvZ1JlZ2lzdHJ5KTtcbiAgICBjb25zdCBpbml0aWFsVG9wID0gd29ya2JlbmNoRGlhbG9nUmVnaXN0cnkudG9wKHt2aWV3SWQ6IHRoaXMucmVmZXJyZXIudmlld0lkfSk7XG5cbiAgICB3b3JrYmVuY2hEaWFsb2dSZWdpc3RyeS50b3AkKHt2aWV3SWQ6IHRoaXMucmVmZXJyZXIudmlld0lkfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAodG9wID0+IHRvcCA9PT0gaW5pdGlhbFRvcCA/IG51bGwgOiB0b3ApLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5ibG9ja2VkQnkkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgY2xvc2U8UiA9IGFueT4ocmVzdWx0PzogUiB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0ID0gcmVzdWx0O1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBjbG9zZVdpdGhFcnJvcihlcnJvcjogRXJyb3IgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdCA9IG5ldyDJtVBvcHVwRXJyb3JSZXN1bHQoZXJyb3IpO1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyBnZXQgaW5wdXQoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5pbnB1dDtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0IHNpemUoKTogUG9wdXBTaXplIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLnNpemU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudCgpOiBUeXBlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcuY29tcG9uZW50O1xuICB9XG5cbiAgcHVibGljIGdldCB2aWV3Q29udGFpbmVyUmVmKCk6IFZpZXdDb250YWluZXJSZWYgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcuY29tcG9uZW50Q29uc3RydWN0T3B0aW9ucz8udmlld0NvbnRhaW5lclJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGlzIGRpYWxvZyBhbmQgYXNzb2NpYXRlZCByZXNvdXJjZXMuXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lSZWYuZGVzdHJveSgpO1xuICB9XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyDJtVBvcHVwRXJyb3JSZXN1bHQge1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlcnJvcjogc3RyaW5nIHwgRXJyb3IpIHtcbiAgfVxufVxuXG4vKipcbiAqIEluZm9ybWF0aW9uIGFib3V0IHRoZSBjb250ZXh0IGluIHdoaWNoIGEgcG9wdXAgd2FzIG9wZW5lZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb3B1cFJlZmVycmVyIHtcbiAgLyoqXG4gICAqIElkZW50aXR5IG9mIHRoZSB2aWV3IGlmIG9wZW5lZCBpbiB0aGUgY29udGV4dCBvZiBhIHZpZXcuXG4gICAqL1xuICB2aWV3SWQ/OiBWaWV3SWQ7XG59XG4iXX0=
@@ -321,10 +321,10 @@ export class PopupService {
321
321
  }
322
322
  throw Error('[PopupOriginError] Illegal popup origin; must be "Point", "TopLeftPoint", "TopRightPoint", "BottomLeftPoint" or "BottomRightPoint".');
323
323
  }
324
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PopupService, deps: [{ token: i0.Injector }, { token: i1.Overlay }, { token: i2.FocusMonitor }, { token: i3.WorkbenchViewRegistry }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i4.ɵWorkbenchView, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
325
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PopupService, providedIn: 'root' }); }
324
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: PopupService, deps: [{ token: i0.Injector }, { token: i1.Overlay }, { token: i2.FocusMonitor }, { token: i3.WorkbenchViewRegistry }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i4.ɵWorkbenchView, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
325
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: PopupService, providedIn: 'root' }); }
326
326
  }
327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: PopupService, decorators: [{
327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: PopupService, decorators: [{
328
328
  type: Injectable,
329
329
  args: [{ providedIn: 'root' }]
330
330
  }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.Overlay }, { type: i2.FocusMonitor }, { type: i3.WorkbenchViewRegistry }, { type: i0.NgZone }, { type: Document, decorators: [{
@@ -339,4 +339,4 @@ function isNullClientRect(clientRect) {
339
339
  function startWithNullBoundsIf(condition) {
340
340
  return condition() ? startWith({ x: 0, y: 0, width: 0, height: 0 }) : identity;
341
341
  }
342
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BvcHVwL3BvcHVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFzRyxhQUFhLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUNwSyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQXVDLE1BQU0sTUFBTSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLEtBQUssRUFBOEIsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkUsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUd4RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFD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Q0FBQyxLQUFLLENBQUM7Z0JBQ2hFLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO2FBQ25FLENBQUM7U0FDSDtRQUNELE1BQU0sS0FBSyxDQUFDLHFJQUFxSSxDQUFDLENBQUM7SUFDckosQ0FBQzs4R0F6VVUsWUFBWSx3SkFPSCxRQUFRO2tIQVBqQixZQUFZLGNBREEsTUFBTTs7MkZBQ2xCLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDOzswQkFRakIsTUFBTTsyQkFBQyxRQUFROzswQkFDZixRQUFROztBQW9VdkIsU0FBUyxnQkFBZ0IsQ0FBQyxVQUFtQjtJQUMzQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDO0FBQzVHLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLFNBQXdCO0lBQ3JELE9BQU8sU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7QUFDL0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9wdGlvbmFsLCBydW5JbkluamVjdGlvbkNvbnRleHR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIENvbm5lY3RlZFBvc2l0aW9uLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sIE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWZ9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdFdpdGgsIGZpcnN0VmFsdWVGcm9tLCBmcm9tRXZlbnQsIGlkZW50aXR5LCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7UG9wdXAsIFBvcHVwQ29uZmlnLCBQb3B1cFJlZmVycmVyLCDJtVBvcHVwLCDJtVBvcHVwRXJyb3JSZXN1bHR9IGZyb20gJy4vcG9wdXAuY29uZmlnJztcbmltcG9ydCB7Rm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtEaWN0aW9uYXJpZXMsIE9iamVjdHMsIE9ic2VydmFibGVzfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dGlsJztcbmltcG9ydCB7V29ya2JlbmNoVmlld1JlZ2lzdHJ5fSBmcm9tICcuLi92aWV3L3dvcmtiZW5jaC12aWV3LnJlZ2lzdHJ5JztcbmltcG9ydCB7ZnJvbUJvdW5kaW5nQ2xpZW50UmVjdCQsIGZyb21EaW1lbnNpb24kfSBmcm9tICdAc2Npb24vdG9vbGtpdC9vYnNlcnZhYmxlJztcbmltcG9ydCB7UG9wdXBDb21wb25lbnR9IGZyb20gJy4vcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge29ic2VydmVJbnNpZGUsIHN1YnNjcmliZUluc2lkZX0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb3BlcmF0b3JzJztcbmltcG9ydCB7ybVXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi92aWV3L8m1d29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtCb3R0b21MZWZ0UG9pbnQsIEJvdHRvbVJpZ2h0UG9pbnQsIFBvaW50LCBQb3B1cE9yaWdpbiwgVG9wTGVmdFBvaW50LCBUb3BSaWdodFBvaW50fSBmcm9tICcuL3BvcHVwLm9yaWdpbic7XG5pbXBvcnQge2NvZXJjZUVsZW1lbnR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtwcm92aWRlVmlld0NvbnRleHR9IGZyb20gJy4uL3ZpZXcvdmlldy1jb250ZXh0LXByb3ZpZGVyJztcblxuY29uc3QgTk9SVEg6IENvbm5lY3RlZFBvc2l0aW9uID0ge29yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ2JvdHRvbSd9O1xuY29uc3QgU09VVEg6IENvbm5lY3RlZFBvc2l0aW9uID0ge29yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCd9O1xuY29uc3QgV0VTVDogQ29ubmVjdGVkUG9zaXRpb24gPSB7b3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdjZW50ZXInfTtcbmNvbnN0IEVBU1Q6IENvbm5lY3RlZFBvc2l0aW9uID0ge29yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAnY2VudGVyJ307XG5cbi8qKlxuICogQWxsb3dzIGRpc3BsYXlpbmcgYSBjb21wb25lbnQgaW4gYSB3b3JrYmVuY2ggcG9wdXAuXG4gKlxuICogQSBwb3B1cCBpcyBhIHZpc3VhbCB3b3JrYmVuY2ggY29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGNvbnRlbnQgYWJvdmUgb3RoZXIgY29udGVudC4gSXQgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byBhbiBhbmNob3IsXG4gKiB3aGljaCBjYW4gYmUgZWl0aGVyIGEgY29vcmRpbmF0ZSBvciBhbiBIVE1MIGVsZW1lbnQuIFRoZSBwb3B1cCBtb3ZlcyB3aGVuIHRoZSBhbmNob3IgbW92ZXMuXG4gKlxuICogVW5saWtlIHZpZXdzLCBwb3B1cHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBwZXJzaXN0ZW50IFdvcmtiZW5jaCBuYXZpZ2F0aW9uLCBtZWFuaW5nIHRoYXQgcG9wdXBzIGRvIG5vdCBzdXJ2aXZlIGEgcGFnZSByZWxvYWQuXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFBvcHVwU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgICAgICAgICAgICBwcml2YXRlIF9mb2N1c01hbmFnZXI6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld1JlZ2lzdHJ5OiBXb3JrYmVuY2hWaWV3UmVnaXN0cnksXG4gICAgICAgICAgICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF92aWV3PzogybVXb3JrYmVuY2hWaWV3KSB7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgdGhlIHNwZWNpZmllZCBjb21wb25lbnQgaW4gYSBwb3B1cC5cbiAgICpcbiAgICogVG8gcG9zaXRpb24gdGhlIHBvcHVwLCBwcm92aWRlIGVpdGhlciBhIGNvb3JkaW5hdGUgb3IgYW4gZWxlbWVudCB0byBzZXJ2ZSBhcyB0aGUgcG9wdXAgYW5jaG9yLlxuICAgKlxuICAgKiBJZiB5b3UgdXNlIGFuIGVsZW1lbnQgYXMgdGhlIHBvcHVwIGFuY2hvciwgdGhlIHBvcHVwIGFsc28gbW92ZXMgd2hlbiB0aGUgYW5jaG9yIGVsZW1lbnQgbW92ZXMuIElmIHlvdSB1c2UgYSBjb29yZGluYXRlXG4gICAqIGFuZCBvcGVuIHRoZSBwb3B1cCBpbiB0aGUgY29udGV4dCBvZiBhIHZpZXcsIHRoZSBwb3B1cCBvcGVucyByZWxhdGl2ZSB0byB0aGUgYm91bmRzIG9mIHRoYXQgdmlldy4gT3RoZXJ3aXNlLCBpdFxuICAgKiBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBwYWdlIHZpZXdwb3J0LiBJZiB5b3UgbW92ZSBvciByZXNpemUgdGhlIHZpZXcgb3IgdGhlIHBhZ2UsIHRoZSBwb3B1cCB3aWxsIGFsc28gYmUgbW92ZWRcbiAgICogZGVwZW5kaW5nIG9uIHRoZSBwYWlyIG9mIGNvb3JkaW5hdGVzIHVzZWQuXG4gICAqXG4gICAqIEJ5IHNldHRpbmcgdGhlIGFsaWdubWVudCBvZiB0aGUgcG9wdXAsIHlvdSBjYW4gY29udHJvbCB0aGUgcmVnaW9uIHdoZXJlIHRvIG9wZW4gdGhlIHBvcHVwIHJlbGF0aXZlIHRvIGl0cyBhbmNob3IuXG4gICAqXG4gICAqIE9wdGlvbmFsbHksIHlvdSBjYW4gcGFzcyBkYXRhIHRvIHRoZSBwb3B1cCBjb21wb25lbnQuIFRoZSBjb21wb25lbnQgY2FuIGluamVjdCB0aGUgcG9wdXAgaGFuZGxlIHtAbGluayBQb3B1cH0gdG9cbiAgICogcmVhZCBpbnB1dCBkYXRhIG9yIHRvIGNsb3NlIHRoZSBwb3B1cC5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIHBvcHVwIHdpbGwgY2xvc2Ugb24gZm9jdXMgbG9zcywgb3Igd2hlbiB0aGUgdXNlciBoaXRzIHRoZSBlc2NhcGUga2V5LlxuICAgKlxuICAgKiBJZiBvcGVuaW5nIHRoZSBwb3B1cCBpbiB0aGUgY29udGV4dCBvZiBhIHZpZXcsIHRoZSBwb3B1cCBpcyBib3VuZCB0byB0aGUgbGlmZWN5Y2xlIG9mIHRoZSB2aWV3LCB0aGF0IGlzLCB0aGUgcG9wdXBcbiAgICogaXMgZGlzcGxheWVkIG9ubHkgaWYgdGhlIHZpZXcgaXMgYWN0aXZlIGFuZCBpcyBjbG9zZWQgd2hlbiB0aGUgdmlldyBpcyBjbG9zZWQuXG4gICAqXG4gICAqIEBwYXJhbSAgIGNvbmZpZyAtIENvbnRyb2xzIHBvcHVwIGJlaGF2aW9yXG4gICAqIEByZXR1cm5zIGEgcHJvbWlzZSB0aGF0OlxuICAgKiAgICAgICAgICAtIHJlc29sdmVzIHRvIHRoZSByZXN1bHQgaWYgY2xvc2VkIHdpdGggYSByZXN1bHRcbiAgICogICAgICAgICAgLSByZXNvbHZlcyB0byBgdW5kZWZpbmVkYCBpZiBjbG9zZWQgd2l0aG91dCBhIHJlc3VsdFxuICAgKi9cbiAgcHVibGljIGFzeW5jIG9wZW48Uj4oY29uZmlnOiBQb3B1cENvbmZpZyk6IFByb21pc2U8Uj4ge1xuICAgIC8vIEVuc3VyZSB0byBydW4gaW4gQW5ndWxhciB6b25lIHRvIGRpc3BsYXkgdGhlIHBvcHVwIGV2ZW4gd2hlbiBjYWxsZWQgZnJvbSBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIHpvbmUuXG4gICAgaWYgKCFOZ1pvbmUuaXNJbkFuZ3VsYXJab25lKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLl96b25lLnJ1bigoKSA9PiB0aGlzLm9wZW4oY29uZmlnKSk7XG4gICAgfVxuXG4gICAgY29uc3QgYWxpZ24gPSBjb25maWcuYWxpZ24gfHwgJ25vcnRoJztcbiAgICBjb25zdCBjb250ZXh0dWFsVmlldyA9IHRoaXMucmVzb2x2ZUNvbnRleHR1YWxWaWV3KGNvbmZpZyk7XG4gICAgY29uc3QgcmVmZXJyZXI6IFBvcHVwUmVmZXJyZXIgPSBEaWN0aW9uYXJpZXMud2l0aG91dFVuZGVmaW5lZEVudHJpZXMoe1xuICAgICAgdmlld0lkOiBjb250ZXh0dWFsVmlldz8uaWQsXG4gICAgfSk7XG5cbiAgICAvLyBTZXQgdXAgdGhlIHBvcHVwIHBvc2l0aW9uaW5nIHN0cmF0ZWd5LlxuICAgIGNvbnN0IHBvcHVwT3JpZ2luJCA9IHRoaXMub2JzZXJ2ZVBvcHVwT3JpZ2luJChjb25maWcsIGNvbnRleHR1YWxWaWV3KS5waXBlKHNoYXJlUmVwbGF5KHtidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2V9KSk7XG4gICAgY29uc3Qgb3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGF3YWl0IGZpcnN0VmFsdWVGcm9tKHBvcHVwT3JpZ2luJCkpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oZmFsc2UpIC8vIElmIGxvY2tlZCwgdGhlIHBvcHVwIHdvbid0IGF0dGVtcHQgdG8gcmVwb3NpdGlvbiBpdHNlbGYgaWYgbm90IGVub3VnaCBzcGFjZSBhdmFpbGFibGUuXG4gICAgICAud2l0aFBvc2l0aW9ucygoKCk6IENvbm5lY3RlZFBvc2l0aW9uW10gPT4ge1xuICAgICAgICBzd2l0Y2ggKGFsaWduKSB7XG4gICAgICAgICAgY2FzZSAnbm9ydGgnOlxuICAgICAgICAgICAgcmV0dXJuIFtOT1JUSCwgU09VVEgsIFdFU1QsIEVBU1RdO1xuICAgICAgICAgIGNhc2UgJ3NvdXRoJzpcbiAgICAgICAgICAgIHJldHVybiBbU09VVEgsIE5PUlRILCBXRVNULCBFQVNUXTtcbiAgICAgICAgICBjYXNlICd3ZXN0JzpcbiAgICAgICAgICAgIHJldHVybiBbV0VTVCwgRUFTVCwgTk9SVEgsIFNPVVRIXTtcbiAgICAgICAgICBjYXNlICdlYXN0JzpcbiAgICAgICAgICAgIHJldHVybiBbRUFTVCwgV0VTVCwgTk9SVEgsIFNPVVRIXTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1tQb3B1cFBvc2l0aW9uRXJyb3JdIElsbGVnYWwgcG9zaXRpb247IG11c3QgYmUgbm9ydGgsIHNvdXRoLCB3ZXN0IG9yIGVhc3QnKTtcbiAgICAgICAgfVxuICAgICAgfSkoKSk7XG5cbiAgICAvLyBDb25maWd1cmUgdGhlIHBvcHVwIG92ZXJsYXkuXG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHBhbmVsQ2xhc3M6IFtcbiAgICAgICAgJ3diLXBvcHVwJyxcbiAgICAgICAgYHdiLSR7YWxpZ259YCxcbiAgICAgIF0sXG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiBvdmVybGF5UG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIENvbnN0cnVjdCB0aGUgcG9wdXAgY29tcG9uZW50IGFuZCBhdHRhY2ggaXQgdG8gdGhlIERPTS5cbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gICAgY29uc3QgcG9wdXAgPSBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+IG5ldyDJtVBvcHVwPFI+KGNvbmZpZywgcmVmZXJyZXIpKTtcbiAgICBjb25zdCBwb3B1cFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoUG9wdXBDb21wb25lbnQsIG51bGwsIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IGNvbmZpZy5jb21wb25lbnRDb25zdHJ1Y3RPcHRpb25zPy5pbmplY3RvciB8fCB0aGlzLl9pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogybVQb3B1cCwgdXNlVmFsdWU6IHBvcHVwfSxcbiAgICAgICAge3Byb3ZpZGU6IFBvcHVwLCB1c2VFeGlzdGluZzogybVQb3B1cH0sXG4gICAgICAgIHByb3ZpZGVWaWV3Q29udGV4dChjb250ZXh0dWFsVmlldyksXG4gICAgICAgIC4uLltjb25maWcuY29tcG9uZW50Q29uc3RydWN0T3B0aW9ucz8ucHJvdmlkZXJzIHx8IFtdXSxcbiAgICAgIF0sXG4gICAgfSkpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHBvcHVwUG9ydGFsKTtcbiAgICBjb25zdCBwb3B1cEVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAvLyBNYWtlIHRoZSBwb3B1cCBmb2N1c2FibGUgYW5kIHJlcXVlc3QgdGhlIGZvY3VzLlxuICAgIHBvcHVwRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgdGhpcy5fZm9jdXNNYW5hZ2VyLmZvY3VzVmlhKHBvcHVwRWxlbWVudCwgJ3Byb2dyYW0nKTsgLy8gVG8gbm90IGNsb3NlIHRoZSBwb3B1cCBpbW1lZGlhdGVseSB3aGVuIGl0IG9wZW5zLCBpZiB1c2luZyB0aGUgJ29uRm9jdXNMb3N0JyBzdHJhdGVneS5cblxuICAgIC8vIFN5bmNocm9uaXplIHRoZSBDU1MgY2xhc3MgdGhhdCBpbmRpY2F0ZXMgd2hlcmUgdGhlIHBvcHVwIGRvY2tzIHRvIHRoZSBhbmNob3I7IGlzIG9uZSBvZiAnd2Itbm9ydGgnLCAnd2Itc291dGgnLCAnd2ItZWFzdCcsIG9yICd3Yi13ZXN0Jy5cbiAgICBvdmVybGF5UG9zaXRpb25TdHJhdGVneS5wb3NpdGlvbkNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChwb3B1cC5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlID0+IHRoaXMuc2V0UG9wdXBBbGlnbkNzc0NsYXNzKG92ZXJsYXlSZWYsIGNoYW5nZSkpO1xuXG4gICAgLy8gUmUtcG9zaXRpb24gdGhlIHBvcHVwIHdoZW4gdGhlIG9yaWdpbiBtb3Zlcy5cbiAgICBwb3B1cE9yaWdpbiRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChwb3B1cC5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKG9yaWdpbjogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5T3JpZ2luKSA9PiB7XG4gICAgICAgIG92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5LnNldE9yaWdpbihvcmlnaW4pO1xuICAgICAgICBvdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9KTtcblxuICAgIC8vIFJlcG9zaXRpb24gdGhlIHBvcHVwIHdoZW4gaXRzIHNpemUgY2hhbmdlcyAoaWYgbmVjZXNzYXJ5KS5cbiAgICBmcm9tRGltZW5zaW9uJChvdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50KVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHBvcHVwLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiBvdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCkpO1xuXG4gICAgLy8gQ2xvc2UgdGhlIHBvcHVwIGRlcGVuZGluZyBvbiB0aGUgcGFzc2VkIGNvbmZpZy5cbiAgICB0aGlzLmluc3RhbGxQb3B1cENsb3Nlcihjb25maWcsIHBvcHVwRWxlbWVudCwgcG9wdXAsIGNvbnRleHR1YWxWaWV3KTtcblxuICAgIC8vIEhpZGUgdGhlIHBvcHVwIHdoZW4gZGV0YWNoaW5nIHRoZSBjb250ZXh0dWFsIHZpZXcsIGlmIGFueS5cbiAgICBpZiAoY29udGV4dHVhbFZpZXcpIHtcbiAgICAgIHRoaXMuaGlkZVBvcHVwT25WaWV3RGV0YWNoKG92ZXJsYXlSZWYsIGNvbnRleHR1YWxWaWV3LCBwb3B1cCk7XG4gICAgfVxuXG4gICAgLy8gRGlzcG9zZSB0aGUgcG9wdXAgd2hlbiBjbG9zaW5nIGl0LlxuICAgIHBvcHVwLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgIG92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHBvcHVwLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgICAgaWYgKHBvcHVwLnJlc3VsdCBpbnN0YW5jZW9mIMm1UG9wdXBFcnJvclJlc3VsdCkge1xuICAgICAgICAgIHJlamVjdChwb3B1cC5yZXN1bHQuZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHJlc29sdmUocG9wdXAucmVzdWx0ISk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQb3B1cEFsaWduQ3NzQ2xhc3Mob3ZlcmxheVJlZjogT3ZlcmxheVJlZiwgcG9zaXRpb25DaGFuZ2U6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSk6IHZvaWQge1xuICAgIG92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnd2Itbm9ydGgnLCAnd2Itc291dGgnLCAnd2ItZWFzdCcsICd3Yi13ZXN0Jyk7XG4gICAgc3dpdGNoIChwb3NpdGlvbkNoYW5nZS5jb25uZWN0aW9uUGFpcikge1xuICAgICAgY2FzZSBOT1JUSDpcbiAgICAgICAgb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd3Yi1ub3J0aCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgU09VVEg6XG4gICAgICAgIG92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnd2Itc291dGgnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEVBU1Q6XG4gICAgICAgIG92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnd2ItZWFzdCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgV0VTVDpcbiAgICAgICAgb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd3Yi13ZXN0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIHBvcHVwIGRlcGVuZGluZyBvbiB0aGUgY29uZmlndXJlZCBwb3B1cCBjbG9zaW5nIHN0cmF0ZWd5LlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsUG9wdXBDbG9zZXIoY29uZmlnOiBQb3B1cENvbmZpZywgcG9wdXBFbGVtZW50OiBIVE1MRWxlbWVudCwgcG9wdXA6IMm1UG9wdXAsIGNvbnRleHR1YWxWaWV3OiDJtVdvcmtiZW5jaFZpZXcgfCBudWxsKTogdm9pZCB7XG4gICAgLy8gQ2xvc2UgdGhlIHBvcHVwIG9uIGVzY2FwZSBrZXlzdHJva2UuXG4gICAgaWYgKGNvbmZpZy5jbG9zZVN0cmF0ZWd5Py5vbkVzY2FwZSA/PyB0cnVlKSB7XG4gICAgICBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4ocG9wdXBFbGVtZW50LCAna2V5ZG93bicpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpLFxuICAgICAgICAgIHN1YnNjcmliZUluc2lkZShjb250aW51ZUZuID0+IHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoY29udGludWVGbikpLFxuICAgICAgICAgIG9ic2VydmVJbnNpZGUoY29udGludWVGbiA9PiB0aGlzLl96b25lLnJ1bihjb250aW51ZUZuKSksXG4gICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHBvcHVwLmRlc3Ryb3lSZWYpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gcG9wdXAuY2xvc2UoKSk7XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgdGhlIHBvcHVwIG9uIGZvY3VzIGxvc3MuXG4gICAgaWYgKGNvbmZpZy5jbG9zZVN0cmF0ZWd5Py5vbkZvY3VzTG9zdCA/PyB0cnVlKSB7XG4gICAgICB0aGlzLl9mb2N1c01hbmFnZXIubW9uaXRvcihwb3B1cEVsZW1lbnQsIHRydWUpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoZm9jdXNPcmlnaW46IEZvY3VzT3JpZ2luKSA9PiAhZm9jdXNPcmlnaW4pLFxuICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZChwb3B1cC5kZXN0cm95UmVmKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHBvcHVwLmNsb3NlKCkpO1xuICAgIH1cblxuICAgIC8vIENsb3NlIHRoZSBwb3B1cCB3aGVuIGNsb3NpbmcgdGhlIHZpZXcuXG4gICAgaWYgKGNvbnRleHR1YWxWaWV3KSB7XG4gICAgICB0aGlzLl92aWV3UmVnaXN0cnkudmlld3MkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChwb3B1cC5kZXN0cm95UmVmKSlcbiAgICAgICAgLnN1YnNjcmliZSh2aWV3cyA9PiB7XG4gICAgICAgICAgaWYgKCF2aWV3cy5zb21lKHZpZXcgPT4gdmlldy5pZCA9PT0gY29udGV4dHVhbFZpZXcuaWQpKSB7XG4gICAgICAgICAgICBwb3B1cC5jbG9zZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhpZGVzIHRoZSBwb3B1cCB3aGVuIGl0cyBjb250ZXh0dWFsIHZpZXcgaXMgZGV0YWNoZWQsIGFuZCBkaXNwbGF5cyBpdCB3aGVuIGl0IGlzIHJlYXR0YWNoZWQuIEFsc28gcmVzdG9yZXMgdGhlIGZvY3VzIG9uIHJlLWFjdGl2YXRpb24uXG4gICAqIFRoZSBjb250ZXh0dWFsIHZpZXcgaXMgZGV0YWNoZWQgaWYgbm90IGFjdGl2ZSwgb3IgbG9jYXRlZCBpbiB0aGUgcGVyaXBoZXJhbCBhcmVhIGFuZCB0aGUgbWFpbiBhcmVhIGlzIG1heGltaXplZC5cbiAgICovXG4gIHByaXZhdGUgaGlkZVBvcHVwT25WaWV3RGV0YWNoKG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIGNvbnRleHR1YWxWaWV3OiDJtVdvcmtiZW5jaFZpZXcsIHBvcHVwOiDJtVBvcHVwKTogdm9pZCB7XG4gICAgb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd3Yi12aWV3LWNvbnRleHQnKTtcblxuICAgIGxldCBhY3RpdmVFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnRleHR1YWxWaWV3LnBvcnRhbC5hdHRhY2hlZCRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChwb3B1cC5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoYXR0YWNoZWQgPT4ge1xuICAgICAgICBpZiAoYXR0YWNoZWQpIHtcbiAgICAgICAgICBvdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3diLXZpZXctYXR0YWNoZWQnKTtcbiAgICAgICAgICBhY3RpdmVFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIG92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnd2Itdmlldy1hdHRhY2hlZCcpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIC8vIFRyYWNrIHRoZSBmb2N1cyBpbiB0aGUgcG9wdXAgdG8gcmVzdG9yZSBpdCB3aGVuIGF0dGFjaGluZyB0aGUgcG9wdXAuXG4gICAgZnJvbUV2ZW50KG92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQsICdmb2N1c2luJylcbiAgICAgIC5waXBlKFxuICAgICAgICBzdWJzY3JpYmVJbnNpZGUoY29udGludWVGbiA9PiB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKGNvbnRpbnVlRm4pKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHBvcHVwLmRlc3Ryb3lSZWYpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGFjdGl2ZUVsZW1lbnQgPSB0aGlzLl9kb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgPyB0aGlzLl9kb2N1bWVudC5hY3RpdmVFbGVtZW50IDogdW5kZWZpbmVkO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT2JzZXJ2ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3B1cCBhbmNob3IuXG4gICAqXG4gICAqIFRoZSBPYnNlcnZhYmxlIGVtaXRzIHRoZSBhbmNob3IncyBpbml0aWFsIHBvc2l0aW9uLCBhbmQgZWFjaCB0aW1lIHdoZW4gaXRzIHBvc2l0aW9uIGNoYW5nZXMuXG4gICAqL1xuICBwcml2YXRlIG9ic2VydmVQb3B1cE9yaWdpbiQoY29uZmlnOiBQb3B1cENvbmZpZywgY29udGV4dHVhbFZpZXc6IMm1V29ya2JlbmNoVmlldyB8IG51bGwpOiBPYnNlcnZhYmxlPEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbj4ge1xuICAgIGlmIChjb25maWcuYW5jaG9yIGluc3RhbmNlb2YgRWxlbWVudCB8fCBjb25maWcuYW5jaG9yIGluc3RhbmNlb2YgRWxlbWVudFJlZikge1xuICAgICAgcmV0dXJuIGZyb21Cb3VuZGluZ0NsaWVudFJlY3QkKGNvZXJjZUVsZW1lbnQ8SFRNTEVsZW1lbnQ+KGNvbmZpZy5hbmNob3IgYXMgSFRNTEVsZW1lbnQpKVxuICAgICAgICAucGlwZShtYXAoY2xpZW50UmVjdCA9PiAoe3g6IGNsaWVudFJlY3QueCwgeTogY2xpZW50UmVjdC55LCB3aWR0aDogY2xpZW50UmVjdC53aWR0aCwgaGVpZ2h0OiBjbGllbnRSZWN0LmhlaWdodH0pKSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIE9ic2VydmFibGVzLmNvZXJjZShjb25maWcuYW5jaG9yKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLnZpZXdwb3J0Qm91bmRzJChjb250ZXh0dWFsVmlldykpLFxuICAgICAgICAgIG1hcCgoW3BvcHVwT3JpZ2luLCB2aWV3cG9ydEJvdW5kc10pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHt4LCB5fSA9IHRoaXMubWFwUG9wdXBPcmlnaW5Ub1BhZ2VDb29yZGluYXRlKHBvcHVwT3JpZ2luLCB2aWV3cG9ydEJvdW5kcyk7XG4gICAgICAgICAgICByZXR1cm4ge3gsIHksIHdpZHRoOiBwb3B1cE9yaWdpbi53aWR0aCwgaGVpZ2h0OiBwb3B1cE9yaWdpbi5oZWlnaHR9O1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKE9iamVjdHMuaXNFcXVhbCksXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE9ic2VydmVzIHRoZSBib3VuZHMgb2YgdGhlIHZpZXdwb3J0ICh2aWV3IG9yIHBhZ2UpIGluIHdoaWNoIHRoZSBwb3B1cCBoYXMgYmVlbiBvcGVuZWQuXG4gICAqL1xuICBwcml2YXRlIHZpZXdwb3J0Qm91bmRzJCh2aWV3OiDJtVdvcmtiZW5jaFZpZXcgfCBudWxsKTogT2JzZXJ2YWJsZTxWaWV3cG9ydEJvdW5kcz4ge1xuICAgIGlmICh2aWV3KSB7XG4gICAgICByZXR1cm4gZnJvbURpbWVuc2lvbiQodmlldy5wb3J0YWwuY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcChkaW1lbnNpb24gPT4gZGltZW5zaW9uLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLFxuICAgICAgICAgIGZpbHRlcihjbGllbnRSZWN0ID0+ICFpc051bGxDbGllbnRSZWN0KGNsaWVudFJlY3QpKSwgLy8gT21pdCB2aWV3cG9ydCBjaGFuZ2UgaWYgbm90IGhhdmluZyBhIHNpemUsIGZvciBleGFtcGxlLCBpZiB0aGUgdmlldyBpcyBkZWFjdGl2YXRlZC5cbiAgICAgICAgICBtYXAoY2xpZW50UmVjdCA9PiAoe3g6IGNsaWVudFJlY3QubGVmdCwgeTogY2xpZW50UmVjdC50b3AsIHdpZHRoOiBjbGllbnRSZWN0LndpZHRoLCBoZWlnaHQ6IGNsaWVudFJlY3QuaGVpZ2h0fSkpLFxuICAgICAgICAgIHN0YXJ0V2l0aE51bGxCb3VuZHNJZigoKSA9PiAhdmlldy5hY3RpdmUpLCAvLyBFbnN1cmUgaW5pdGlhbCBib3VuZHMgdG8gYmUgZW1pdHRlZCBldmVuIGlmIHRoZSB2aWV3IGlzIGluYWN0aXZlLiBPdGhlcndpc2UsIHRoZSBwb3B1cCB3b3VsZCBub3QgYmUgYXR0YWNoZWQgdG8gdGhlIERPTSB1bnRpbCB0aGUgdmlldyBpcyBhY3RpdmF0ZWQuXG4gICAgICAgICk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgodW5kZWZpbmVkIGFzIHZvaWQpLFxuICAgICAgICAgIG1hcCgoKSA9PiAoe3g6IDAsIHk6IDAsIHdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCwgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHR9KSksXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIHRoZSBjb250ZXh0dWFsIHZpZXcgdG8gd2hpY2ggdGhlIHBvcHVwIGlzIGJvdW5kLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlQ29udGV4dHVhbFZpZXcoY29uZmlnOiBQb3B1cENvbmZpZyk6IMm1V29ya2JlbmNoVmlldyB8IG51bGwge1xuICAgIGlmIChjb25maWcuY29udGV4dD8udmlld0lkKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdmlld1JlZ2lzdHJ5LmdldChjb25maWcuY29udGV4dC52aWV3SWQpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmNvbnRleHQ/LnZpZXdJZCA9PT0gdW5kZWZpbmVkKSB7IC8vIGBudWxsYCBtZWFucyB0byBvcGVuIHRoZSBwb3B1cCBvdXRzaWRlIHRoZSBjb250ZXh0dWFsIHZpZXdcbiAgICAgIHJldHVybiB0aGlzLl92aWV3ID8/IG51bGw7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hcHMgdGhlIHBhc3NlZCBwb3B1cCBvcmlnaW4sIHdoaWNoIGlzIHJlbGF0aXZlIHRvIHRoZSBnaXZlbiB2aWV3cG9ydCwgdG8gYSBwYWdlIGNvb3JkaW5hdGUuXG4gICAqL1xuICBwcml2YXRlIG1hcFBvcHVwT3JpZ2luVG9QYWdlQ29vcmRpbmF0ZShvcmlnaW46IFBvcHVwT3JpZ2luLCB2aWV3cG9ydEJvdW5kczogVmlld3BvcnRCb3VuZHMpOiBQb2ludCB7XG4gICAgY29uc3QgeHkgPSBvcmlnaW4gYXMgUG9pbnQ7XG4gICAgaWYgKHh5LnggIT09IHVuZGVmaW5lZCAmJiB4eS55ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IHZpZXdwb3J0Qm91bmRzLnggKyB4eS54LFxuICAgICAgICB5OiB2aWV3cG9ydEJvdW5kcy55ICsgeHkueSxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHRvcExlZnQgPSBvcmlnaW4gYXMgVG9wTGVmdFBvaW50O1xuICAgIGlmICh0b3BMZWZ0LnRvcCAhPT0gdW5kZWZpbmVkICYmIHRvcExlZnQubGVmdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiB2aWV3cG9ydEJvdW5kcy54ICsgdG9wTGVmdC5sZWZ0LFxuICAgICAgICB5OiB2aWV3cG9ydEJvdW5kcy55ICsgdG9wTGVmdC50b3AsXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB0b3BSaWdodCA9IG9yaWdpbiBhcyBUb3BSaWdodFBvaW50O1xuICAgIGlmICh0b3BSaWdodC50b3AgIT09IHVuZGVmaW5lZCAmJiB0b3BSaWdodC5yaWdodCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiB2aWV3cG9ydEJvdW5kcy54ICsgKHZpZXdwb3J0Qm91bmRzLndpZHRoIC0gdG9wUmlnaHQucmlnaHQpLFxuICAgICAgICB5OiB2aWV3cG9ydEJvdW5kcy55ICsgdG9wUmlnaHQudG9wLFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgYm90dG9tTGVmdCA9IG9yaWdpbiBhcyBCb3R0b21MZWZ0UG9pbnQ7XG4gICAgaWYgKGJvdHRvbUxlZnQuYm90dG9tICE9PSB1bmRlZmluZWQgJiYgYm90dG9tTGVmdC5sZWZ0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IHZpZXdwb3J0Qm91bmRzLnggKyBib3R0b21MZWZ0LmxlZnQsXG4gICAgICAgIHk6IHZpZXdwb3J0Qm91bmRzLnkgKyAodmlld3BvcnRCb3VuZHMuaGVpZ2h0IC0gYm90dG9tTGVmdC5ib3R0b20pLFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgYm90dG9tUmlnaHQgPSBvcmlnaW4gYXMgQm90dG9tUmlnaHRQb2ludDtcbiAgICBpZiAoYm90dG9tUmlnaHQuYm90dG9tICE9PSB1bmRlZmluZWQgJiYgYm90dG9tUmlnaHQucmlnaHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogdmlld3BvcnRCb3VuZHMueCArICh2aWV3cG9ydEJvdW5kcy53aWR0aCAtIGJvdHRvbVJpZ2h0LnJpZ2h0KSxcbiAgICAgICAgeTogdmlld3BvcnRCb3VuZHMueSArICh2aWV3cG9ydEJvdW5kcy5oZWlnaHQgLSBib3R0b21SaWdodC5ib3R0b20pLFxuICAgICAgfTtcbiAgICB9XG4gICAgdGhyb3cgRXJyb3IoJ1tQb3B1cE9yaWdpbkVycm9yXSBJbGxlZ2FsIHBvcHVwIG9yaWdpbjsgbXVzdCBiZSBcIlBvaW50XCIsIFwiVG9wTGVmdFBvaW50XCIsIFwiVG9wUmlnaHRQb2ludFwiLCBcIkJvdHRvbUxlZnRQb2ludFwiIG9yIFwiQm90dG9tUmlnaHRQb2ludFwiLicpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGlzTnVsbENsaWVudFJlY3QoY2xpZW50UmVjdDogRE9NUmVjdCk6IGJvb2xlYW4ge1xuICByZXR1cm4gY2xpZW50UmVjdC50b3AgPT09IDAgJiYgY2xpZW50UmVjdC5yaWdodCA9PT0gMCAmJiBjbGllbnRSZWN0LmJvdHRvbSA9PT0gMCAmJiBjbGllbnRSZWN0LmxlZnQgPT09IDA7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0V2l0aE51bGxCb3VuZHNJZihjb25kaXRpb246ICgpID0+IGJvb2xlYW4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248Vmlld3BvcnRCb3VuZHM+IHtcbiAgcmV0dXJuIGNvbmRpdGlvbigpID8gc3RhcnRXaXRoKHt4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwfSkgOiBpZGVudGl0eTtcbn1cblxuaW50ZXJmYWNlIFZpZXdwb3J0Qm91bmRzIHtcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xufVxuIl19
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BvcHVwL3BvcHVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFzRyxhQUFhLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUNwSyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQXVDLE1BQU0sTUFBTSxDQUFDO0FBQ2xILE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLEtBQUssRUFBOEIsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUYsT0FBTyxFQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkUsT0FBTyxFQUFDLHVCQUF1QixFQUFFLGNBQWMsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUd4RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFD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QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9wdGlvbmFsLCBydW5JbkluamVjdGlvbkNvbnRleHR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIENvbm5lY3RlZFBvc2l0aW9uLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4sIE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWZ9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdFdpdGgsIGZpcnN0VmFsdWVGcm9tLCBmcm9tRXZlbnQsIGlkZW50aXR5LCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXAsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7UG9wdXAsIFBvcHVwQ29uZmlnLCBQb3B1cFJlZmVycmVyLCDJtVBvcHVwLCDJtVBvcHVwRXJyb3JSZXN1bHR9IGZyb20gJy4vcG9wdXAuY29uZmlnJztcbmltcG9ydCB7Rm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtEaWN0aW9uYXJpZXMsIE9iamVjdHMsIE9ic2VydmFibGVzfSBmcm9tICdAc2Npb24vdG9vbGtpdC91dGlsJztcbmltcG9ydCB7V29ya2JlbmNoVmlld1JlZ2lzdHJ5fSBmcm9tICcuLi92aWV3L3dvcmtiZW5jaC12aWV3LnJlZ2lzdHJ5JztcbmltcG9ydCB7ZnJvbUJvdW5kaW5nQ2xpZW50UmVjdCQsIGZyb21EaW1lbnNpb24kfSBmcm9tICdAc2Npb24vdG9vbGtpdC9vYnNlcnZhYmxlJztcbmltcG9ydCB7UG9wdXBDb21wb25lbnR9IGZyb20gJy4vcG9wdXAuY29tcG9uZW50JztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge29ic2VydmVJbnNpZGUsIHN1YnNjcmliZUluc2lkZX0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb3BlcmF0b3JzJztcbmltcG9ydCB7ybVXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi92aWV3L8m1d29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtCb3R0b21MZWZ0UG9pbnQsIEJvdHRvbVJpZ2h0UG9pbnQsIFBvaW50LCBQb3B1cE9yaWdpbiwgVG9wTGVmdFBvaW50LCBUb3BSaWdodFBvaW50fSBmcm9tICcuL3BvcHVwLm9yaWdpbic7XG5pbXBvcnQge2NvZXJjZUVsZW1lbnR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtwcm92aWRlVmlld0NvbnRleHR9IGZyb20gJy4uL3ZpZXcvdmlldy1jb250ZXh0LXByb3ZpZGVyJztcblxuY29uc3QgTk9SVEg6IENvbm5lY3RlZFBvc2l0aW9uID0ge29yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ2JvdHRvbSd9O1xuY29uc3QgU09VVEg6IENvbm5lY3RlZFBvc2l0aW9uID0ge29yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCd9O1xuY29uc3QgV0VTVDogQ29ubmVjdGVkUG9zaXRpb24gPSB7b3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdjZW50ZXInfTtcbmNvbnN0IEVBU1Q6IENvbm5lY3RlZFBvc2l0aW9uID0ge29yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAnY2VudGVyJ307XG5cbi8qKlxuICogQWxsb3dzIGRpc3BsYXlpbmcgYSBjb21wb25lbnQgaW4gYSB3b3JrYmVuY2ggcG9wdXAuXG4gKlxuICogQSBwb3B1cCBpcyBhIHZpc3VhbCB3b3JrYmVuY2ggY29tcG9uZW50IGZvciBkaXNwbGF5aW5nIGNvbnRlbnQgYWJvdmUgb3RoZXIgY29udGVudC4gSXQgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byBhbiBhbmNob3IsXG4gKiB3aGljaCBjYW4gYmUgZWl0aGVyIGEgY29vcmRpbmF0ZSBvciBhbiBIVE1MIGVsZW1lbnQuIFRoZSBwb3B1cCBtb3ZlcyB3aGVuIHRoZSBhbmNob3IgbW92ZXMuXG4gKlxuICogVW5saWtlIHZpZXdzLCBwb3B1cHMgYXJlIG5vdCBwYXJ0IG9mIHRoZSBwZXJzaXN0ZW50IFdvcmtiZW5jaCBuYXZpZ2F0aW9uLCBtZWFuaW5nIHRoYXQgcG9wdXBzIGRvIG5vdCBzdXJ2aXZlIGEgcGFnZSByZWxvYWQuXG4gKi9cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFBvcHVwU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgICAgICAgICAgICBwcml2YXRlIF9mb2N1c01hbmFnZXI6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld1JlZ2lzdHJ5OiBXb3JrYmVuY2hWaWV3UmVnaXN0cnksXG4gICAgICAgICAgICAgIHByaXZhdGUgX3pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF92aWV3PzogybVXb3JrYmVuY2hWaWV3KSB7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgdGhlIHNwZWNpZmllZCBjb21wb25lbnQgaW4gYSBwb3B1cC5cbiAgICpcbiAgICogVG8gcG9zaXRpb24gdGhlIHBvcHVwLCBwcm92aWRlIGVpdGhlciBhIGNvb3JkaW5hdGUgb3IgYW4gZWxlbWVudCB0byBzZXJ2ZSBhcyB0aGUgcG9wdXAgYW5jaG9yLlxuICAgKlxuICAgKiBJZiB5b3UgdXNlIGFuIGVsZW1lbnQgYXMgdGhlIHBvcHVwIGFuY2hvciwgdGhlIHBvcHVwIGFsc28gbW92ZXMgd2hlbiB0aGUgYW5jaG9yIGVsZW1lbnQgbW92ZXMuIElmIHlvdSB1c2UgYSBjb29yZGluYXRlXG4gICAqIGFuZCBvcGVuIHRoZSBwb3B1cCBpbiB0aGUgY29udGV4dCBvZiBhIHZpZXcsIHRoZSBwb3B1cCBvcGVucyByZWxhdGl2ZSB0byB0aGUgYm91bmRzIG9mIHRoYXQgdmlldy4gT3RoZXJ3aXNlLCBpdFxuICAgKiBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBwYWdlIHZpZXdwb3J0LiBJZiB5b3UgbW92ZSBvciByZXNpemUgdGhlIHZpZXcgb3IgdGhlIHBhZ2UsIHRoZSBwb3B1cCB3aWxsIGFsc28gYmUgbW92ZWRcbiAgICogZGVwZW5kaW5nIG9uIHRoZSBwYWlyIG9mIGNvb3JkaW5hdGVzIHVzZWQuXG4gICAqXG4gICAqIEJ5IHNldHRpbmcgdGhlIGFsaWdubWVudCBvZiB0aGUgcG9wdXAsIHlvdSBjYW4gY29udHJvbCB0aGUgcmVnaW9uIHdoZXJlIHRvIG9wZW4gdGhlIHBvcHVwIHJlbGF0aXZlIHRvIGl0cyBhbmNob3IuXG4gICAqXG4gICAqIE9wdGlvbmFsbHksIHlvdSBjYW4gcGFzcyBkYXRhIHRvIHRoZSBwb3B1cCBjb21wb25lbnQuIFRoZSBjb21wb25lbnQgY2FuIGluamVjdCB0aGUgcG9wdXAgaGFuZGxlIHtAbGluayBQb3B1cH0gdG9cbiAgICogcmVhZCBpbnB1dCBkYXRhIG9yIHRvIGNsb3NlIHRoZSBwb3B1cC5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIHBvcHVwIHdpbGwgY2xvc2Ugb24gZm9jdXMgbG9zcywgb3Igd2hlbiB0aGUgdXNlciBoaXRzIHRoZSBlc2NhcGUga2V5LlxuICAgKlxuICAgKiBJZiBvcGVuaW5nIHRoZSBwb3B1cCBpbiB0aGUgY29udGV4dCBvZiBhIHZpZXcsIHRoZSBwb3B1cCBpcyBib3VuZCB0byB0aGUgbGlmZWN5Y2xlIG9mIHRoZSB2aWV3LCB0aGF0IGlzLCB0aGUgcG9wdXBcbiAgICogaXMgZGlzcGxheWVkIG9ubHkgaWYgdGhlIHZpZXcgaXMgYWN0aXZlIGFuZCBpcyBjbG9zZWQgd2hlbiB0aGUgdmlldyBpcyBjbG9zZWQuXG4gICAqXG4gICAqIEBwYXJhbSAgIGNvbmZpZyAtIENvbnRyb2xzIHBvcHVwIGJlaGF2aW9yXG4gICAqIEByZXR1cm5zIGEgcHJvbWlzZSB0aGF0OlxuICAgKiAgICAgICAgICAtIHJlc29sdmVzIHRvIHRoZSByZXN1bHQgaWYgY2xvc2VkIHdpdGggYSByZXN1bHRcbiAgICogICAgICAgICAgLSByZXNvbHZlcyB0byBgdW5kZWZpbmVkYCBpZiBjbG9zZWQgd2l0aG91dCBhIHJlc3VsdFxuICAgKi9cbiAgcHVibGljIGFzeW5jIG9wZW48Uj4oY29uZmlnOiBQb3B1cENvbmZpZyk6IFByb21pc2U8Uj4ge1xuICAgIC8vIEVuc3VyZSB0byBydW4gaW4gQW5ndWxhciB6b25lIHRvIGRpc3BsYXkgdGhlIHBvcHVwIGV2ZW4gd2hlbiBjYWxsZWQgZnJvbSBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIHpvbmUuXG4gICAgaWYgKCFOZ1pvbmUuaXNJbkFuZ3VsYXJab25lKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLl96b25lLnJ1bigoKSA9PiB0aGlzLm9wZW4oY29uZmlnKSk7XG4gICAgfVxuXG4gICAgY29uc3QgYWxpZ24gPSBjb25maWcuYWxpZ24gfHwgJ25vcnRoJztcbiAgICBjb25zdCBjb250ZXh0dWFsVmlldyA9IHRoaXMucmVzb2x2ZUNvbnRleHR1YWxWaWV3KGNvbmZpZyk7XG4gICAgY29uc3QgcmVmZXJyZXI6IFBvcHVwUmVmZXJyZXIgPSBEaWN0aW9uYXJpZXMud2l0aG91dFVuZGVmaW5lZEVudHJpZXMoe1xuICAgICAgdmlld0lkOiBjb250ZXh0dWFsVmlldz8uaWQsXG4gICAgfSk7XG5cbiAgICAvLyBTZXQgdXAgdGhlIHBvcHVwIHBvc2l0aW9uaW5nIHN0cmF0ZWd5LlxuICAgIGNvbnN0IHBvcHVwT3JpZ2luJCA9IHRoaXMub2JzZXJ2ZVBvcHVwT3JpZ2luJChjb25maWcsIGNvbnRleHR1YWxWaWV3KS5waXBlKHNoYXJlUmVwbGF5KHtidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2V9KSk7XG4gICAgY29uc3Qgb3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKGF3YWl0IGZpcnN0VmFsdWVGcm9tKHBvcHVwT3JpZ2luJCkpXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgIC53aXRoTG9ja2VkUG9zaXRpb24oZmFsc2UpIC8vIElmIGxvY2tlZCwgdGhlIHBvcHVwIHdvbid0IGF0dGVtcHQgdG8gcmVwb3NpdGlvbiBpdHNlbGYgaWYgbm90IGVub3VnaCBzcGFjZSBhdmFpbGFibGUuXG4gICAgICAud2l0aFBvc2l0aW9ucygoKCk6IENvbm5lY3RlZFBvc2l0aW9uW10gPT4ge1xuICAgICAgICBzd2l0Y2ggKGFsaWduKSB7XG4gICAgICAgICAgY2FzZSAnbm9ydGgnOlxuICAgICAgICAgICAgcmV0dXJuIFtOT1JUSCwgU09VVEgsIFdFU1QsIEVBU1RdO1xuICAgICAgICAgIGNhc2UgJ3NvdXRoJzpcbiAgICAgICAgICAgIHJldHVybiBbU09VVEgsIE5PUlRILCBXRVNULCBFQVNUXTtcbiAgICAgICAgICBjYXNlICd3ZXN0JzpcbiAgICAgICAgICAgIHJldHVybiBbV0VTVCwgRUFTVCwgTk9SVEgsIFNPVVRIXTtcbiAgICAgICAgICBjYXNlICdlYXN0JzpcbiAgICAgICAgICAgIHJldHVybiBbRUFTVCwgV0VTVCwgTk9SVEgsIFNPVVRIXTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ1tQb3B1cFBvc2l0aW9uRXJyb3JdIElsbGVnYWwgcG9zaXRpb247IG11c3QgYmUgbm9ydGgsIHNvdXRoLCB3ZXN0IG9yIGVhc3QnKTtcbiAgICAgICAgfVxuICAgICAgfSkoKSk7XG5cbiAgICAvLyBDb25maWd1cmUgdGhlIHBvcHVwIG92ZXJsYXkuXG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHBhbmVsQ2xhc3M6IFtcbiAgICAgICAgJ3diLXBvcHVwJyxcbiAgICAgICAgYHdiLSR7YWxpZ259YCxcbiAgICAgIF0sXG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiBvdmVybGF5UG9zaXRpb25TdHJhdGVneSxcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIENvbnN0cnVjdCB0aGUgcG9wdXAgY29tcG9uZW50IGFuZCBhdHRhY2ggaXQgdG8gdGhlIERPTS5cbiAgICBjb25zdCBvdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gICAgY29uc3QgcG9wdXAgPSBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+IG5ldyDJtVBvcHVwKGNvbmZpZywgcmVmZXJyZXIpKTtcbiAgICBjb25zdCBwb3B1cFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoUG9wdXBDb21wb25lbnQsIG51bGwsIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IGNvbmZpZy5jb21wb25lbnRDb25zdHJ1Y3RPcHRpb25zPy5pbmplY3RvciB8fCB0aGlzLl9pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7cHJvdmlkZTogybVQb3B1cCwgdXNlVmFsdWU6IHBvcHVwfSxcbiAgICAgICAge3Byb3ZpZGU6IFBvcHVwLCB1c2VFeGlzdGluZzogybVQb3B1cH0sXG4gICAgICAgIHByb3ZpZGVWaWV3Q29udGV4dChjb250ZXh0dWFsVmlldyksXG4gICAgICAgIC4uLltjb25maWcuY29tcG9uZW50Q29uc3RydWN0T3B0aW9ucz8ucHJvdmlkZXJzIHx8IFtdXSxcbiAgICAgIF0sXG4gICAgfSkpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKHBvcHVwUG9ydGFsKTtcbiAgICBjb25zdCBwb3B1cEVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAvLyBNYWtlIHRoZSBwb3B1cCBmb2N1c2FibGUgYW5kIHJlcXVlc3QgdGhlIGZvY3VzLlxuICAgIHBvcHVwRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJyk7XG4gICAgdGhpcy5fZm9jdXNNYW5hZ2VyLmZvY3VzVmlhKHBvcHVwRWxlbWVudCwgJ3Byb2dyYW0nKTsgLy8gVG8gbm90IGNsb3NlIHRoZSBwb3B1cCBpbW1lZGlhdGVseSB3aGVuIGl0IG9wZW5zLCBpZiB1c2luZyB0aGUgJ29uRm9jdXNMb3N0JyBzdHJhdGVneS5cblxuICAgIC8vIFN5bmNocm9uaXplIHRoZSBDU1MgY2xhc3MgdGhhdCBpbmRpY2F0ZXMgd2hlcmUgdGhlIHBvcHVwIGRvY2tzIHRvIHRoZSBhbmNob3I7IGlzIG9uZSBvZiAnd2Itbm9ydGgnLCAnd2Itc291dGgnLCAnd2ItZWFzdCcsIG9yICd3Yi13ZXN0Jy5cbiAgICBvdmVybGF5UG9zaXRpb25TdHJhdGVneS5wb3NpdGlvbkNoYW5nZXNcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChwb3B1cC5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlID0+IHRoaXMuc2V0UG9wdXBBbGlnbkNzc0NsYXNzKG92ZXJsYXlSZWYsIGNoYW5nZSkpO1xuXG4gICAgLy8gUmUtcG9zaXRpb24gdGhlIHBvcHVwIHdoZW4gdGhlIG9yaWdpbiBtb3Zlcy5cbiAgICBwb3B1cE9yaWdpbiRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZChwb3B1cC5kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKG9yaWdpbjogRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5T3JpZ2luKSA9PiB7XG4gICAgICAgIG92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5LnNldE9yaWdpbihvcmlnaW4pO1xuICAgICAgICBvdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICB9KTtcblxuICAgIC8vIFJlcG9zaXRpb24gdGhlIHBvcHVwIHdoZW4gaXRzIHNpemUgY2hhbmdlcyAoaWYgbmVjZXNzYXJ5KS5cbiAgICBmcm9tRGltZW5zaW9uJChvdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50KVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHBvcHVwLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiBvdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCkpO1xuXG4gICAgLy8gQ2xvc2UgdGhlIHBvcHVwIGRlcGVuZGluZyBvbiB0aGUgcGFzc2VkIGNvbmZpZy5cbiAgICB0aGlzLmluc3RhbGxQb3B1cENsb3Nlcihjb25maWcsIHBvcHVwRWxlbWVudCwgcG9wdXAsIGNvbnRleHR1YWxWaWV3KTtcblxuICAgIC8vIEhpZGUgdGhlIHBvcHVwIHdoZW4gZGV0YWNoaW5nIHRoZSBjb250ZXh0dWFsIHZpZXcsIGlmIGFueS5cbiAgICBpZiAoY29udGV4dHVhbFZpZXcpIHtcbiAgICAgIHRoaXMuaGlkZVBvcHVwT25WaWV3RGV0YWNoKG92ZXJsYXlSZWYsIGNvbnRleHR1YWxWaWV3LCBwb3B1cCk7XG4gICAgfVxuXG4gICAgLy8gRGlzcG9zZSB0aGUgcG9wdXAgd2hlbiBjbG9zaW5nIGl0LlxuICAgIHBvcHVwLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgIG92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHBvcHVwLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgICAgaWYgKHBvcHVwLnJlc3VsdCBpbnN0YW5jZW9mIMm1UG9wdXBFcnJvclJlc3VsdCkge1xuICAgICAgICAgIHJlamVjdChwb3B1cC5yZXN1bHQuZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHJlc29sdmUocG9wdXAucmVzdWx0IGFzIFIpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0UG9wdXBBbGlnbkNzc0NsYXNzKG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIHBvc2l0aW9uQ2hhbmdlOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpOiB2b2lkIHtcbiAgICBvdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3diLW5vcnRoJywgJ3diLXNvdXRoJywgJ3diLWVhc3QnLCAnd2Itd2VzdCcpO1xuICAgIHN3aXRjaCAocG9zaXRpb25DaGFuZ2UuY29ubmVjdGlvblBhaXIpIHtcbiAgICAgIGNhc2UgTk9SVEg6XG4gICAgICAgIG92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnd2Itbm9ydGgnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFNPVVRIOlxuICAgICAgICBvdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3diLXNvdXRoJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFQVNUOlxuICAgICAgICBvdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3diLWVhc3QnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFdFU1Q6XG4gICAgICAgIG92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnd2Itd2VzdCcpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBwb3B1cCBkZXBlbmRpbmcgb24gdGhlIGNvbmZpZ3VyZWQgcG9wdXAgY2xvc2luZyBzdHJhdGVneS5cbiAgICovXG4gIHByaXZhdGUgaW5zdGFsbFBvcHVwQ2xvc2VyKGNvbmZpZzogUG9wdXBDb25maWcsIHBvcHVwRWxlbWVudDogSFRNTEVsZW1lbnQsIHBvcHVwOiDJtVBvcHVwLCBjb250ZXh0dWFsVmlldzogybVXb3JrYmVuY2hWaWV3IHwgbnVsbCk6IHZvaWQge1xuICAgIC8vIENsb3NlIHRoZSBwb3B1cCBvbiBlc2NhcGUga2V5c3Ryb2tlLlxuICAgIGlmIChjb25maWcuY2xvc2VTdHJhdGVneT8ub25Fc2NhcGUgPz8gdHJ1ZSkge1xuICAgICAgZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHBvcHVwRWxlbWVudCwgJ2tleWRvd24nKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiBldmVudC5rZXkgPT09ICdFc2NhcGUnKSxcbiAgICAgICAgICBzdWJzY3JpYmVJbnNpZGUoY29udGludWVGbiA9PiB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKGNvbnRpbnVlRm4pKSxcbiAgICAgICAgICBvYnNlcnZlSW5zaWRlKGNvbnRpbnVlRm4gPT4gdGhpcy5fem9uZS5ydW4oY29udGludWVGbikpLFxuICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZChwb3B1cC5kZXN0cm95UmVmKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHBvcHVwLmNsb3NlKCkpO1xuICAgIH1cblxuICAgIC8vIENsb3NlIHRoZSBwb3B1cCBvbiBmb2N1cyBsb3NzLlxuICAgIGlmIChjb25maWcuY2xvc2VTdHJhdGVneT8ub25Gb2N1c0xvc3QgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5fZm9jdXNNYW5hZ2VyLm1vbml0b3IocG9wdXBFbGVtZW50LCB0cnVlKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKGZvY3VzT3JpZ2luOiBGb2N1c09yaWdpbikgPT4gIWZvY3VzT3JpZ2luKSxcbiAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQocG9wdXAuZGVzdHJveVJlZiksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiBwb3B1cC5jbG9zZSgpKTtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSB0aGUgcG9wdXAgd2hlbiBjbG9zaW5nIHRoZSB2aWV3LlxuICAgIGlmIChjb250ZXh0dWFsVmlldykge1xuICAgICAgdGhpcy5fdmlld1JlZ2lzdHJ5LnZpZXdzJFxuICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQocG9wdXAuZGVzdHJveVJlZikpXG4gICAgICAgIC5zdWJzY3JpYmUodmlld3MgPT4ge1xuICAgICAgICAgIGlmICghdmlld3Muc29tZSh2aWV3ID0+IHZpZXcuaWQgPT09IGNvbnRleHR1YWxWaWV3LmlkKSkge1xuICAgICAgICAgICAgcG9wdXAuY2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIaWRlcyB0aGUgcG9wdXAgd2hlbiBpdHMgY29udGV4dHVhbCB2aWV3IGlzIGRldGFjaGVkLCBhbmQgZGlzcGxheXMgaXQgd2hlbiBpdCBpcyByZWF0dGFjaGVkLiBBbHNvIHJlc3RvcmVzIHRoZSBmb2N1cyBvbiByZS1hY3RpdmF0aW9uLlxuICAgKiBUaGUgY29udGV4dHVhbCB2aWV3IGlzIGRldGFjaGVkIGlmIG5vdCBhY3RpdmUsIG9yIGxvY2F0ZWQgaW4gdGhlIHBlcmlwaGVyYWwgYXJlYSBhbmQgdGhlIG1haW4gYXJlYSBpcyBtYXhpbWl6ZWQuXG4gICAqL1xuICBwcml2YXRlIGhpZGVQb3B1cE9uVmlld0RldGFjaChvdmVybGF5UmVmOiBPdmVybGF5UmVmLCBjb250ZXh0dWFsVmlldzogybVXb3JrYmVuY2hWaWV3LCBwb3B1cDogybVQb3B1cCk6IHZvaWQge1xuICAgIG92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnd2Itdmlldy1jb250ZXh0Jyk7XG5cbiAgICBsZXQgYWN0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICBjb250ZXh0dWFsVmlldy5wb3J0YWwuYXR0YWNoZWQkXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQocG9wdXAuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKGF0dGFjaGVkID0+IHtcbiAgICAgICAgaWYgKGF0dGFjaGVkKSB7XG4gICAgICAgICAgb3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKCd3Yi12aWV3LWF0dGFjaGVkJyk7XG4gICAgICAgICAgYWN0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBvdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ3diLXZpZXctYXR0YWNoZWQnKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAvLyBUcmFjayB0aGUgZm9jdXMgaW4gdGhlIHBvcHVwIHRvIHJlc3RvcmUgaXQgd2hlbiBhdHRhY2hpbmcgdGhlIHBvcHVwLlxuICAgIGZyb21FdmVudChvdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LCAnZm9jdXNpbicpXG4gICAgICAucGlwZShcbiAgICAgICAgc3Vic2NyaWJlSW5zaWRlKGNvbnRpbnVlRm4gPT4gdGhpcy5fem9uZS5ydW5PdXRzaWRlQW5ndWxhcihjb250aW51ZUZuKSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZChwb3B1cC5kZXN0cm95UmVmKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBhY3RpdmVFbGVtZW50ID0gdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ID8gdGhpcy5fZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA6IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE9ic2VydmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgcG9wdXAgYW5jaG9yLlxuICAgKlxuICAgKiBUaGUgT2JzZXJ2YWJsZSBlbWl0cyB0aGUgYW5jaG9yJ3MgaW5pdGlhbCBwb3NpdGlvbiwgYW5kIGVhY2ggdGltZSB3aGVuIGl0cyBwb3NpdGlvbiBjaGFuZ2VzLlxuICAgKi9cbiAgcHJpdmF0ZSBvYnNlcnZlUG9wdXBPcmlnaW4kKGNvbmZpZzogUG9wdXBDb25maWcsIGNvbnRleHR1YWxWaWV3OiDJtVdvcmtiZW5jaFZpZXcgfCBudWxsKTogT2JzZXJ2YWJsZTxGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4+IHtcbiAgICBpZiAoY29uZmlnLmFuY2hvciBpbnN0YW5jZW9mIEVsZW1lbnQgfHwgY29uZmlnLmFuY2hvciBpbnN0YW5jZW9mIEVsZW1lbnRSZWYpIHtcbiAgICAgIHJldHVybiBmcm9tQm91bmRpbmdDbGllbnRSZWN0JChjb2VyY2VFbGVtZW50PEhUTUxFbGVtZW50Pihjb25maWcuYW5jaG9yIGFzIEhUTUxFbGVtZW50KSlcbiAgICAgICAgLnBpcGUobWFwKGNsaWVudFJlY3QgPT4gKHt4OiBjbGllbnRSZWN0LngsIHk6IGNsaWVudFJlY3QueSwgd2lkdGg6IGNsaWVudFJlY3Qud2lkdGgsIGhlaWdodDogY2xpZW50UmVjdC5oZWlnaHR9KSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiBPYnNlcnZhYmxlcy5jb2VyY2UoY29uZmlnLmFuY2hvcilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgY29tYmluZUxhdGVzdFdpdGgodGhpcy52aWV3cG9ydEJvdW5kcyQoY29udGV4dHVhbFZpZXcpKSxcbiAgICAgICAgICBtYXAoKFtwb3B1cE9yaWdpbiwgdmlld3BvcnRCb3VuZHNdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7eCwgeX0gPSB0aGlzLm1hcFBvcHVwT3JpZ2luVG9QYWdlQ29vcmRpbmF0ZShwb3B1cE9yaWdpbiwgdmlld3BvcnRCb3VuZHMpO1xuICAgICAgICAgICAgcmV0dXJuIHt4LCB5LCB3aWR0aDogcG9wdXBPcmlnaW4ud2lkdGgsIGhlaWdodDogcG9wdXBPcmlnaW4uaGVpZ2h0fTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZChPYmplY3RzLmlzRXF1YWwpLFxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB0aGUgYm91bmRzIG9mIHRoZSB2aWV3cG9ydCAodmlldyBvciBwYWdlKSBpbiB3aGljaCB0aGUgcG9wdXAgaGFzIGJlZW4gb3BlbmVkLlxuICAgKi9cbiAgcHJpdmF0ZSB2aWV3cG9ydEJvdW5kcyQodmlldzogybVXb3JrYmVuY2hWaWV3IHwgbnVsbCk6IE9ic2VydmFibGU8Vmlld3BvcnRCb3VuZHM+IHtcbiAgICBpZiAodmlldykge1xuICAgICAgcmV0dXJuIGZyb21EaW1lbnNpb24kKHZpZXcucG9ydGFsLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoZGltZW5zaW9uID0+IGRpbWVuc2lvbi5lbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxcbiAgICAgICAgICBmaWx0ZXIoY2xpZW50UmVjdCA9PiAhaXNOdWxsQ2xpZW50UmVjdChjbGllbnRSZWN0KSksIC8vIE9taXQgdmlld3BvcnQgY2hhbmdlIGlmIG5vdCBoYXZpbmcgYSBzaXplLCBmb3IgZXhhbXBsZSwgaWYgdGhlIHZpZXcgaXMgZGVhY3RpdmF0ZWQuXG4gICAgICAgICAgbWFwKGNsaWVudFJlY3QgPT4gKHt4OiBjbGllbnRSZWN0LmxlZnQsIHk6IGNsaWVudFJlY3QudG9wLCB3aWR0aDogY2xpZW50UmVjdC53aWR0aCwgaGVpZ2h0OiBjbGllbnRSZWN0LmhlaWdodH0pKSxcbiAgICAgICAgICBzdGFydFdpdGhOdWxsQm91bmRzSWYoKCkgPT4gIXZpZXcuYWN0aXZlKSwgLy8gRW5zdXJlIGluaXRpYWwgYm91bmRzIHRvIGJlIGVtaXR0ZWQgZXZlbiBpZiB0aGUgdmlldyBpcyBpbmFjdGl2ZS4gT3RoZXJ3aXNlLCB0aGUgcG9wdXAgd291bGQgbm90IGJlIGF0dGFjaGVkIHRvIHRoZSBET00gdW50aWwgdGhlIHZpZXcgaXMgYWN0aXZhdGVkLlxuICAgICAgICApO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCBhcyB2b2lkKSxcbiAgICAgICAgICBtYXAoKCkgPT4gKHt4OiAwLCB5OiAwLCB3aWR0aDogd2luZG93LmlubmVyV2lkdGgsIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0fSkpLFxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyB0aGUgY29udGV4dHVhbCB2aWV3IHRvIHdoaWNoIHRoZSBwb3B1cCBpcyBib3VuZC5cbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZUNvbnRleHR1YWxWaWV3KGNvbmZpZzogUG9wdXBDb25maWcpOiDJtVdvcmtiZW5jaFZpZXcgfCBudWxsIHtcbiAgICBpZiAoY29uZmlnLmNvbnRleHQ/LnZpZXdJZCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZpZXdSZWdpc3RyeS5nZXQoY29uZmlnLmNvbnRleHQudmlld0lkKTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy5jb250ZXh0Py52aWV3SWQgPT09IHVuZGVmaW5lZCkgeyAvLyBgbnVsbGAgbWVhbnMgdG8gb3BlbiB0aGUgcG9wdXAgb3V0c2lkZSB0aGUgY29udGV4dHVhbCB2aWV3XG4gICAgICByZXR1cm4gdGhpcy5fdmlldyA/PyBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXBzIHRoZSBwYXNzZWQgcG9wdXAgb3JpZ2luLCB3aGljaCBpcyByZWxhdGl2ZSB0byB0aGUgZ2l2ZW4gdmlld3BvcnQsIHRvIGEgcGFnZSBjb29yZGluYXRlLlxuICAgKi9cbiAgcHJpdmF0ZSBtYXBQb3B1cE9yaWdpblRvUGFnZUNvb3JkaW5hdGUob3JpZ2luOiBQb3B1cE9yaWdpbiwgdmlld3BvcnRCb3VuZHM6IFZpZXdwb3J0Qm91bmRzKTogUG9pbnQge1xuICAgIGNvbnN0IHh5ID0gb3JpZ2luIGFzIFBvaW50O1xuICAgIGlmICh4eS54ICE9PSB1bmRlZmluZWQgJiYgeHkueSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiB2aWV3cG9ydEJvdW5kcy54ICsgeHkueCxcbiAgICAgICAgeTogdmlld3BvcnRCb3VuZHMueSArIHh5LnksXG4gICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB0b3BMZWZ0ID0gb3JpZ2luIGFzIFRvcExlZnRQb2ludDtcbiAgICBpZiAodG9wTGVmdC50b3AgIT09IHVuZGVmaW5lZCAmJiB0b3BMZWZ0LmxlZnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogdmlld3BvcnRCb3VuZHMueCArIHRvcExlZnQubGVmdCxcbiAgICAgICAgeTogdmlld3BvcnRCb3VuZHMueSArIHRvcExlZnQudG9wLFxuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgdG9wUmlnaHQgPSBvcmlnaW4gYXMgVG9wUmlnaHRQb2ludDtcbiAgICBpZiAodG9wUmlnaHQudG9wICE9PSB1bmRlZmluZWQgJiYgdG9wUmlnaHQucmlnaHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgeDogdmlld3BvcnRCb3VuZHMueCArICh2aWV3cG9ydEJvdW5kcy53aWR0aCAtIHRvcFJpZ2h0LnJpZ2h0KSxcbiAgICAgICAgeTogdmlld3BvcnRCb3VuZHMueSArIHRvcFJpZ2h0LnRvcCxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGJvdHRvbUxlZnQgPSBvcmlnaW4gYXMgQm90dG9tTGVmdFBvaW50O1xuICAgIGlmIChib3R0b21MZWZ0LmJvdHRvbSAhPT0gdW5kZWZpbmVkICYmIGJvdHRvbUxlZnQubGVmdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB4OiB2aWV3cG9ydEJvdW5kcy54ICsgYm90dG9tTGVmdC5sZWZ0LFxuICAgICAgICB5OiB2aWV3cG9ydEJvdW5kcy55ICsgKHZpZXdwb3J0Qm91bmRzLmhlaWdodCAtIGJvdHRvbUxlZnQuYm90dG9tKSxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGJvdHRvbVJpZ2h0ID0gb3JpZ2luIGFzIEJvdHRvbVJpZ2h0UG9pbnQ7XG4gICAgaWYgKGJvdHRvbVJpZ2h0LmJvdHRvbSAhPT0gdW5kZWZpbmVkICYmIGJvdHRvbVJpZ2h0LnJpZ2h0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IHZpZXdwb3J0Qm91bmRzLnggKyAodmlld3BvcnRCb3VuZHMud2lkdGggLSBib3R0b21SaWdodC5yaWdodCksXG4gICAgICAgIHk6IHZpZXdwb3J0Qm91bmRzLnkgKyAodmlld3BvcnRCb3VuZHMuaGVpZ2h0IC0gYm90dG9tUmlnaHQuYm90dG9tKSxcbiAgICAgIH07XG4gICAgfVxuICAgIHRocm93IEVycm9yKCdbUG9wdXBPcmlnaW5FcnJvcl0gSWxsZWdhbCBwb3B1cCBvcmlnaW47IG11c3QgYmUgXCJQb2ludFwiLCBcIlRvcExlZnRQb2ludFwiLCBcIlRvcFJpZ2h0UG9pbnRcIiwgXCJCb3R0b21MZWZ0UG9pbnRcIiBvciBcIkJvdHRvbVJpZ2h0UG9pbnRcIi4nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc051bGxDbGllbnRSZWN0KGNsaWVudFJlY3Q6IERPTVJlY3QpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNsaWVudFJlY3QudG9wID09PSAwICYmIGNsaWVudFJlY3QucmlnaHQgPT09IDAgJiYgY2xpZW50UmVjdC5ib3R0b20gPT09IDAgJiYgY2xpZW50UmVjdC5sZWZ0ID09PSAwO1xufVxuXG5mdW5jdGlvbiBzdGFydFdpdGhOdWxsQm91bmRzSWYoY29uZGl0aW9uOiAoKSA9PiBib29sZWFuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFZpZXdwb3J0Qm91bmRzPiB7XG4gIHJldHVybiBjb25kaXRpb24oKSA/IHN0YXJ0V2l0aCh7eDogMCwgeTogMCwgd2lkdGg6IDAsIGhlaWdodDogMH0pIDogaWRlbnRpdHk7XG59XG5cbmludGVyZmFjZSBWaWV3cG9ydEJvdW5kcyB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -126,4 +126,4 @@ export class WbComponentPortal {
126
126
  this._componentRef?.destroy();
127
127
  }
128
128
  }
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ItY29tcG9uZW50LXBvcnRhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BvcnRhbC93Yi1jb21wb25lbnQtcG9ydGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBR0gsT0FBTyxFQUFlLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBRWpEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsWUFBb0IsY0FBZ0MsRUFBVSxRQUF3QjtRQUFsRSxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUg5RSxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUd2RCxzSEFBc0g7SUFDeEgsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLGVBQXlCO1FBQy9DLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hELGVBQWUsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUMvQixJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxJQUFJLEVBQUU7YUFDMUMsQ0FBQztZQUNGLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7U0FDOUQsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxD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QWtELENBQUMsQ0FBQztTQUNqRTtRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1osSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge0NvbXBvbmVudFJlZiwgY3JlYXRlQ29tcG9uZW50LCBFbnZpcm9ubWVudEluamVjdG9yLCBpbmplY3QsIEluamVjdG9yLCBQcm92aWRlciwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyTmFtZXN9IGZyb20gJy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIExpa2UgdGhlIEFuZ3VsYXIgQ0RLICdDb21wb25lbnRQb3J0YWwnIGJ1dCBkb2VzIG5vdCBkZXN0cm95IHRoZSBjb21wb25lbnQgb24gZGV0YWNoLlxuICpcbiAqIElNUE9SVEFOVDogSW4gb3JkZXIgZm9yIHRoZSBjb21wb25lbnQgdG8gaGF2ZSB0aGUgXCJjb3JyZWN0XCIgaW5qZWN0aW9uIGNvbnRleHQsIGNvbnN0cnVjdCBpdCB0aGUgdGltZSBhdHRhY2hpbmcgaXQgdG8gdGhlIEFuZ3VsYXIgY29tcG9uZW50IHRyZWUsXG4gKiBvciBieSBjYWxsaW5nIHtAbGluayBjcmVhdGVDb21wb25lbnRGcm9tSW5qZWN0aW9uQ29udGV4dH0uIFRoZSBcImNvcnJlY3RcIiBpbmplY3Rpb24gY29udGV4dCBpcyBjcnVjaWFsLCBmb3IgZXhhbXBsZSwgaWYgdGhlIHBvcnRhbCBpcyBkaXNwbGF5ZWRcbiAqIGluIGEgcm91dGVyIG91dGxldCwgc28gdGhhdCBjaGlsZCBvdXRsZXRzIGNhbiByZWdpc3RlciB3aXRoIHRoZWlyIGxvZ2ljYWwgcGFyZW50IG91dGxldC4gVGhlIEFuZ3VsYXIgcm91dGVyIHVzZXMgdGhlIGxvZ2ljYWwgb3V0bGV0IGhpZXJhcmNoeSB0b1xuICogcmVzb2x2ZSBhbmQgYWN0aXZhdGUgY2hpbGQgcm91dGVzLlxuICpcbiAqIEBzZWUgV2JDb21wb25lbnRQb3J0YWxcbiAqL1xuZXhwb3J0IGNsYXNzIFdiQ29tcG9uZW50UG9ydGFsPFQgPSBhbnk+IHtcblxuICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sb2dnZXIgPSBpbmplY3QoTG9nZ2VyKTtcbiAgcHJpdmF0ZSBfYXR0YWNoZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZTxUPiwgcHJpdmF0ZSBfb3B0aW9ucz86IFBvcnRhbE9wdGlvbnMpIHtcbiAgICAvLyBEbyBub3QgY29uc3RydWN0IHRoZSBjb21wb25lbnQgaGVyZSBidXQgdGhlIHRpbWUgYXR0YWNoaW5nIGl0IHRvIHRoZSBBbmd1bGFyIGNvbXBvbmVudCB0cmVlLiBTZWUgdGhlIGNvbW1lbnQgYWJvdmUuXG4gIH1cblxuICAvKipcbiAgICogQ29uc3RydWN0cyB0aGUgcG9ydGFsJ3MgY29tcG9uZW50IHVzaW5nIGdpdmVuIGluamVjdGlvbiBjb250ZXh0LlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVDb21wb25lbnQoZWxlbWVudEluamVjdG9yOiBJbmplY3Rvcik6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gY3JlYXRlQ29tcG9uZW50KHRoaXMuX2NvbXBvbmVudFR5cGUsIHtcbiAgICAgIGVsZW1lbnRJbmplY3RvcjogSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgICAgbmFtZTogJ1diQ29tcG9uZW50UG9ydGFsSW5qZWN0b3InLFxuICAgICAgICBwYXJlbnQ6IGVsZW1lbnRJbmplY3RvcixcbiAgICAgICAgcHJvdmlkZXJzOiB0aGlzLl9vcHRpb25zPy5wcm92aWRlcnMgfHwgW10sXG4gICAgICB9KSxcbiAgICAgIGVudmlyb25tZW50SW5qZWN0b3I6IGVsZW1lbnRJbmplY3Rvci5nZXQoRW52aXJvbm1lbnRJbmplY3RvciksXG4gICAgfSk7XG4gICAgY29tcG9uZW50UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLm9uRGVzdHJveSgpKTtcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgdGhlIHBvcnRhbCdzIGNvbXBvbmVudCB1c2luZyB0aGUgZ2l2ZW4gaW5qZWN0aW9uIGNvbnRleHQuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlQ29tcG9uZW50RnJvbUluamVjdGlvbkNvbnRleHQoaW5qZWN0aW9uQ29udGV4dDogSW5qZWN0b3IpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0NvbnN0cnVjdGVkKSB7XG4gICAgICB0aHJvdyBFcnJvcihgW1BvcnRhbENvbnN0cnVjdEVycm9yXSBDb21wb25lbnQgYWxyZWFkeSBjb25zdHJ1Y3RlZC4gW2NvbXBvbmVudD0ke3RoaXMuX2NvbXBvbmVudFR5cGV9XWApO1xuICAgIH1cbiAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUNvbXBvbmVudChpbmplY3Rpb25Db250ZXh0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRhY2hlcyB0aGlzIHBvcnRhbCB0byB0aGUgZ2l2ZW4ge0BsaW5rIFZpZXdDb250YWluZXJSZWZ9IGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIHJ1bGVzOlxuICAgKlxuICAgKiAtIElmIHRoZSBjb21wb25lbnQgaXMgbm90IHlldCBjb25zdHJ1Y3RlZCwgY29uc3RydWN0cyBpdCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmlldyBjb250YWluZXIncyBpbmplY3Rpb24gY29udGV4dC5cbiAgICogLSBJZiBhbHJlYWR5IGF0dGFjaGVkIHRvIHRoZSBnaXZlbiB2aWV3IGNvbnRhaW5lciwgZG9lcyBub3RoaW5nLlxuICAgKiAtIElmIGFscmVhZHkgYXR0YWNoZWQgdG8gYSBkaWZmZXJlbnQgdmlldyBjb250YWluZXIsIGRldGFjaGVzIGl0IGZpcnN0LlxuICAgKi9cbiAgcHVibGljIGF0dGFjaCh2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBdHRhY2hlZFRvKHZpZXdDb250YWluZXJSZWYpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmlzQXR0YWNoZWQpIHtcbiAgICAgIHRoaXMuZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZiA9IHZpZXdDb250YWluZXJSZWY7XG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5fY29tcG9uZW50UmVmIHx8IHRoaXMuY3JlYXRlQ29tcG9uZW50KHRoaXMuX3ZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IpO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5yZWF0dGFjaCgpO1xuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuaW5zZXJ0KHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgdGhpcy5fYXR0YWNoZWQkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+ICdBdHRhY2hpbmcgcG9ydGFsJywgTG9nZ2VyTmFtZXMuTElGRUNZQ0xFLCB0aGlzLl9jb21wb25lbnRSZWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGFjaGVzIHRoaXMgcG9ydGFsIGZyb20gaXRzIHZpZXcgY29udGFpbmVyIHdpdGhvdXQgZGVzdHJveWluZyBpdC4gRG9lcyBub3RoaW5nIGlmIG5vdCBhdHRhY2hlZC5cbiAgICpcbiAgICogVGhlIHBvcnRhbCBpcyByZW1vdmVkIGZyb20gdGhlIERPTSBhbmQgaXRzIGNoYW5nZSBkZXRlY3RvciBkZXRhY2hlZCBmcm9tIHRoZSBBbmd1bGFyIGNoYW5nZSBkZXRlY3RvciB0cmVlLFxuICAgKiBzbyBpdCB3aWxsIG5vdCBiZSBjaGVja2VkIGZvciBjaGFuZ2VzIHVudGlsIGl0IGlzIHJlYXR0YWNoZWQuXG4gICAqL1xuICBwdWJsaWMgZGV0YWNoKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0F0dGFjaGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+ICdEZXRhY2hpbmcgcG9ydGFsJywgTG9nZ2VyTmFtZXMuTElGRUNZQ0xFLCB0aGlzLl9jb21wb25lbnRSZWYpO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZiEuaW5kZXhPZih0aGlzLl9jb21wb25lbnRSZWYhLmhvc3RWaWV3KTtcbiAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmIS5kZXRhY2goaW5kZXgpO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZiEuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0YWNoKCk7XG4gICAgdGhpcy5fYXR0YWNoZWQkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0NvbnN0cnVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGlzQXR0YWNoZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dGFjaGVkJC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc0F0dGFjaGVkVG8odmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aWV3Q29udGFpbmVyUmVmID09PSB2aWV3Q29udGFpbmVyUmVmICYmIHRoaXMuaXNBdHRhY2hlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNEZXN0cm95ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZiA9PT0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50UmVmKCk6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1tOdWxsUG9ydGFsRXJyb3JdIFBvcnRhbCBkZXN0cm95ZWQuJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1tOdWxsUG9ydGFsRXJyb3JdIENvbXBvbmVudCBub3QgY29uc3RydWN0ZWQgeWV0LicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50UmVmO1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRhY2hlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2F0dGFjaGVkJDtcbiAgfVxuXG4gIHByaXZhdGUgb25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZiA9IG51bGw7XG4gICAgdGhpcy5fYXR0YWNoZWQkLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuX2F0dGFjaGVkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBjb21wb25lbnQgaW5zdGFuY2UgYW5kIGFsbCB0aGUgZGF0YSBzdHJ1Y3R1cmVzIGFzc29jaWF0ZWQgd2l0aCBpdC5cbiAgICovXG4gIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xuICB9XG59XG5cbi8qKlxuICogQ29udHJvbHMgaW5zdGFudGlhdGlvbiBvZiB0aGUgY29tcG9uZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvcnRhbE9wdGlvbnMge1xuICAvKipcbiAgICogUHJvdmlkZXJzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgaW5qZWN0b3IgZm9yIHRoZSBpbnN0YW50aWF0aW9uIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwcm92aWRlcnM/OiBQcm92aWRlcltdO1xufVxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ItY29tcG9uZW50LXBvcnRhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BvcnRhbC93Yi1jb21wb25lbnQtcG9ydGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBR0gsT0FBTyxFQUFlLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBRWpEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsWUFBb0IsY0FBZ0MsRUFBVSxRQUF3QjtRQUFsRSxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUg5RSxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUd2RCxzSEFBc0g7SUFDeEgsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLGVBQXlCO1FBQy9DLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hELGVBQWUsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUMvQixJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxJQUFJLEVBQUU7YUFDMUMsQ0FBQztZQUNGLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7U0FDOUQsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUMvQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxtQ0FBbUMsQ0FBQyxnQkFBMEI7UUFDbkUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsTUFBTSxLQUFLLENBQUMsb0VBQW9FLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO1FBQzFHLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLGdCQUFrQztRQUM5QyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxpQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGFBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVksVUFBVTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxZQUFZLENBQUMsZ0JBQWtDO1FBQ3BELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixLQUFLLGdCQUFnQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hDLE1BQU0sS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxNQUFNLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtDb21wb25lbnRSZWYsIGNyZWF0ZUNvbXBvbmVudCwgRW52aXJvbm1lbnRJbmplY3RvciwgaW5qZWN0LCBJbmplY3RvciwgUHJvdmlkZXIsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXIsIExvZ2dlck5hbWVzfSBmcm9tICcuLi9sb2dnaW5nJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBMaWtlIHRoZSBBbmd1bGFyIENESyAnQ29tcG9uZW50UG9ydGFsJyBidXQgZG9lcyBub3QgZGVzdHJveSB0aGUgY29tcG9uZW50IG9uIGRldGFjaC5cbiAqXG4gKiBJTVBPUlRBTlQ6IEluIG9yZGVyIGZvciB0aGUgY29tcG9uZW50IHRvIGhhdmUgdGhlIFwiY29ycmVjdFwiIGluamVjdGlvbiBjb250ZXh0LCBjb25zdHJ1Y3QgaXQgdGhlIHRpbWUgYXR0YWNoaW5nIGl0IHRvIHRoZSBBbmd1bGFyIGNvbXBvbmVudCB0cmVlLFxuICogb3IgYnkgY2FsbGluZyB7QGxpbmsgY3JlYXRlQ29tcG9uZW50RnJvbUluamVjdGlvbkNvbnRleHR9LiBUaGUgXCJjb3JyZWN0XCIgaW5qZWN0aW9uIGNvbnRleHQgaXMgY3J1Y2lhbCwgZm9yIGV4YW1wbGUsIGlmIHRoZSBwb3J0YWwgaXMgZGlzcGxheWVkXG4gKiBpbiBhIHJvdXRlciBvdXRsZXQsIHNvIHRoYXQgY2hpbGQgb3V0bGV0cyBjYW4gcmVnaXN0ZXIgd2l0aCB0aGVpciBsb2dpY2FsIHBhcmVudCBvdXRsZXQuIFRoZSBBbmd1bGFyIHJvdXRlciB1c2VzIHRoZSBsb2dpY2FsIG91dGxldCBoaWVyYXJjaHkgdG9cbiAqIHJlc29sdmUgYW5kIGFjdGl2YXRlIGNoaWxkIHJvdXRlcy5cbiAqXG4gKiBAc2VlIFdiQ29tcG9uZW50UG9ydGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBXYkNvbXBvbmVudFBvcnRhbDxUID0gYW55PiB7XG5cbiAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbG9nZ2VyID0gaW5qZWN0KExvZ2dlcik7XG4gIHByaXZhdGUgX2F0dGFjaGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8VD4sIHByaXZhdGUgX29wdGlvbnM/OiBQb3J0YWxPcHRpb25zKSB7XG4gICAgLy8gRG8gbm90IGNvbnN0cnVjdCB0aGUgY29tcG9uZW50IGhlcmUgYnV0IHRoZSB0aW1lIGF0dGFjaGluZyBpdCB0byB0aGUgQW5ndWxhciBjb21wb25lbnQgdHJlZS4gU2VlIHRoZSBjb21tZW50IGFib3ZlLlxuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgdGhlIHBvcnRhbCdzIGNvbXBvbmVudCB1c2luZyBnaXZlbiBpbmplY3Rpb24gY29udGV4dC5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQ29tcG9uZW50KGVsZW1lbnRJbmplY3RvcjogSW5qZWN0b3IpOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudCh0aGlzLl9jb21wb25lbnRUeXBlLCB7XG4gICAgICBlbGVtZW50SW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIG5hbWU6ICdXYkNvbXBvbmVudFBvcnRhbEluamVjdG9yJyxcbiAgICAgICAgcGFyZW50OiBlbGVtZW50SW5qZWN0b3IsXG4gICAgICAgIHByb3ZpZGVyczogdGhpcy5fb3B0aW9ucz8ucHJvdmlkZXJzIHx8IFtdLFxuICAgICAgfSksXG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBlbGVtZW50SW5qZWN0b3IuZ2V0KEVudmlyb25tZW50SW5qZWN0b3IpLFxuICAgIH0pO1xuICAgIGNvbXBvbmVudFJlZi5vbkRlc3Ryb3koKCkgPT4gdGhpcy5vbkRlc3Ryb3koKSk7XG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIHRoZSBwb3J0YWwncyBjb21wb25lbnQgdXNpbmcgdGhlIGdpdmVuIGluamVjdGlvbiBjb250ZXh0LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUNvbXBvbmVudEZyb21JbmplY3Rpb25Db250ZXh0KGluamVjdGlvbkNvbnRleHQ6IEluamVjdG9yKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDb25zdHJ1Y3RlZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYFtQb3J0YWxDb25zdHJ1Y3RFcnJvcl0gQ29tcG9uZW50IGFscmVhZHkgY29uc3RydWN0ZWQuIFtjb21wb25lbnQ9JHt0aGlzLl9jb21wb25lbnRUeXBlfV1gKTtcbiAgICB9XG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnQoaW5qZWN0aW9uQ29udGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgdGhpcyBwb3J0YWwgdG8gdGhlIGdpdmVuIHtAbGluayBWaWV3Q29udGFpbmVyUmVmfSBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBydWxlczpcbiAgICpcbiAgICogLSBJZiB0aGUgY29tcG9uZW50IGlzIG5vdCB5ZXQgY29uc3RydWN0ZWQsIGNvbnN0cnVjdHMgaXQgYmFzZWQgb24gdGhlIGdpdmVuIHZpZXcgY29udGFpbmVyJ3MgaW5qZWN0aW9uIGNvbnRleHQuXG4gICAqIC0gSWYgYWxyZWFkeSBhdHRhY2hlZCB0byB0aGUgZ2l2ZW4gdmlldyBjb250YWluZXIsIGRvZXMgbm90aGluZy5cbiAgICogLSBJZiBhbHJlYWR5IGF0dGFjaGVkIHRvIGEgZGlmZmVyZW50IHZpZXcgY29udGFpbmVyLCBkZXRhY2hlcyBpdCBmaXJzdC5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2godmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQXR0YWNoZWRUbyh2aWV3Q29udGFpbmVyUmVmKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0F0dGFjaGVkKSB7XG4gICAgICB0aGlzLmRldGFjaCgpO1xuICAgIH1cblxuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYgPSB2aWV3Q29udGFpbmVyUmVmO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMuX2NvbXBvbmVudFJlZiB8fCB0aGlzLmNyZWF0ZUNvbXBvbmVudCh0aGlzLl92aWV3Q29udGFpbmVyUmVmLmluamVjdG9yKTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYucmVhdHRhY2goKTtcbiAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmluc2VydCh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIHRoaXMuX2F0dGFjaGVkJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiAnQXR0YWNoaW5nIHBvcnRhbCcsIExvZ2dlck5hbWVzLkxJRkVDWUNMRSwgdGhpcy5fY29tcG9uZW50UmVmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRhY2hlcyB0aGlzIHBvcnRhbCBmcm9tIGl0cyB2aWV3IGNvbnRhaW5lciB3aXRob3V0IGRlc3Ryb3lpbmcgaXQuIERvZXMgbm90aGluZyBpZiBub3QgYXR0YWNoZWQuXG4gICAqXG4gICAqIFRoZSBwb3J0YWwgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00gYW5kIGl0cyBjaGFuZ2UgZGV0ZWN0b3IgZGV0YWNoZWQgZnJvbSB0aGUgQW5ndWxhciBjaGFuZ2UgZGV0ZWN0b3IgdHJlZSxcbiAgICogc28gaXQgd2lsbCBub3QgYmUgY2hlY2tlZCBmb3IgY2hhbmdlcyB1bnRpbCBpdCBpcyByZWF0dGFjaGVkLlxuICAgKi9cbiAgcHVibGljIGRldGFjaCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiAnRGV0YWNoaW5nIHBvcnRhbCcsIExvZ2dlck5hbWVzLkxJRkVDWUNMRSwgdGhpcy5fY29tcG9uZW50UmVmKTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYhLmluZGV4T2YodGhpcy5fY29tcG9uZW50UmVmIS5ob3N0Vmlldyk7XG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZiEuZGV0YWNoKGluZGV4KTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYhLmNoYW5nZURldGVjdG9yUmVmLmRldGFjaCgpO1xuICAgIHRoaXMuX2F0dGFjaGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDb25zdHJ1Y3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9jb21wb25lbnRSZWY7XG4gIH1cblxuICBwcml2YXRlIGdldCBpc0F0dGFjaGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRhY2hlZCQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgaXNBdHRhY2hlZFRvKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld0NvbnRhaW5lclJlZiA9PT0gdmlld0NvbnRhaW5lclJlZiAmJiB0aGlzLmlzQXR0YWNoZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGVzdHJveWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRSZWYgPT09IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudFJlZigpOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYgPT09IG51bGwpIHtcbiAgICAgIHRocm93IEVycm9yKCdbTnVsbFBvcnRhbEVycm9yXSBQb3J0YWwgZGVzdHJveWVkLicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IEVycm9yKCdbTnVsbFBvcnRhbEVycm9yXSBDb21wb25lbnQgbm90IGNvbnN0cnVjdGVkIHlldC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0YWNoZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRhY2hlZCQ7XG4gIH1cblxuICBwcml2YXRlIG9uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYgPSBudWxsO1xuICAgIHRoaXMuX2F0dGFjaGVkJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLl9hdHRhY2hlZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgY29tcG9uZW50IGluc3RhbmNlIGFuZCBhbGwgdGhlIGRhdGEgc3RydWN0dXJlcyBhc3NvY2lhdGVkIHdpdGggaXQuXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnRyb2xzIGluc3RhbnRpYXRpb24gb2YgdGhlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb3J0YWxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVycyByZWdpc3RlcmVkIHdpdGggdGhlIGluamVjdG9yIGZvciB0aGUgaW5zdGFudGlhdGlvbiBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdmlkZXJzPzogUHJvdmlkZXJbXTtcbn1cbiJdfQ==
@@ -55,14 +55,14 @@ export class WorkbenchPortalOutletDirective {
55
55
  ngOnDestroy() {
56
56
  this.detach();
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchPortalOutletDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
59
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.6", type: WorkbenchPortalOutletDirective, isStandalone: true, selector: "ng-template[wbPortalOutlet]", inputs: { portal: ["wbPortalOutlet", "portal"] }, ngImport: i0 }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPortalOutletDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
59
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: WorkbenchPortalOutletDirective, isStandalone: true, selector: "ng-template[wbPortalOutlet]", inputs: { portal: ["wbPortalOutlet", "portal"] }, ngImport: i0 }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: WorkbenchPortalOutletDirective, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: WorkbenchPortalOutletDirective, decorators: [{
62
62
  type: Directive,
63
63
  args: [{ selector: 'ng-template[wbPortalOutlet]', standalone: true }]
64
64
  }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }], propDecorators: { portal: [{
65
65
  type: Input,
66
66
  args: [{ alias: 'wbPortalOutlet', required: true }]
67
67
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBvcnRhbC1vdXRsZXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcG9ydGFsL3dvcmtiZW5jaC1wb3J0YWwtb3V0bGV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUEyQyxNQUFNLGVBQWUsQ0FBQzs7QUFHekY7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsTUFBTSxPQUFPLDhCQUE4QjtJQUl6QyxZQUFvQixpQkFBbUMsRUFBRSxZQUErQjtRQUFwRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBRi9DLFlBQU8sR0FBNkIsSUFBSSxDQUFDO1FBRy9DLDhGQUE4RjtRQUM5RiwwR0FBMEc7UUFDMUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN2Riw0SEFBNEg7UUFDNUgsOEhBQThIO1FBQzlILDJIQUEySDtRQUMzSCwwRkFBMEY7UUFDMUYsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFDVyxNQUFNLENBQUMsTUFBZ0M7UUFDaEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs4R0FuQ1UsOEJBQThCO2tHQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBRDFDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsNkJBQTZCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQzsrR0FrQnpELE1BQU07c0JBRGhCLEtBQUs7dUJBQUMsRUFBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0LCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V2JDb21wb25lbnRQb3J0YWx9IGZyb20gJy4vd2ItY29tcG9uZW50LXBvcnRhbCc7XG5cbi8qKlxuICogRGlyZWN0aXZlIHZlcnNpb24gb2Yge0BsaW5rIFdiQ29tcG9uZW50UG9ydGFsfSwgZW5hYmxpbmcgZGVjbGFyYXRpdmUgdXNlIGluIHRlbXBsYXRlcy5cbiAqXG4gKiBVbmxpa2UgYENka1BvcnRhbE91dGxldGAgdGhlIHBvcnRhbCBpcyBub3QgZGVzdHJveWVkIG9uIGRldGFjaC5cbiAqXG4gKiAtLS1cbiAqIFVzYWdlOlxuICpcbiAqIGBgYGh0bWxcbiAqIDxuZy1jb250YWluZXIgKndiUG9ydGFsT3V0bGV0PVwiZ3JlZXRpbmdcIi8+XG4gKiA8IS0tIG9yIC0tPlxuICogPG5nLXRlbXBsYXRlIFt3YlBvcnRhbE91dGxldF09XCJncmVldGluZ1wiLz5cbiAqIGBgYGBcbiAqXG4gKiBAc2VlIFdiQ29tcG9uZW50UG9ydGFsXG4gKi9cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnbmctdGVtcGxhdGVbd2JQb3J0YWxPdXRsZXRdJywgc3RhbmRhbG9uZTogdHJ1ZX0pXG5leHBvcnQgY2xhc3MgV29ya2JlbmNoUG9ydGFsT3V0bGV0RGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9wb3J0YWw6IFdiQ29tcG9uZW50UG9ydGFsIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgbnVsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx2b2lkPikge1xuICAgIC8vIFRvIGdldCBub3RpZmllZCBiZWZvcmUgQW5ndWxhciBkZXN0cm95cyB0aGUgcG9ydGFsLCB3ZSBpbnNlcnQgYSBwc2V1ZG8tZWxlbWVudCBhaGVhZCBvZiBpdC5cbiAgICAvLyBUaGlzIHBzZXVkby1lbGVtZW50IGdldHMgZGVzdHJveWVkIGZpcnN0LCBhbGxvd2luZyB1cyB0byBkZXRhY2ggdGhlIHBvcnRhbCBhbmQgcHJldmVudCBpdHMgZGVzdHJ1Y3Rpb24uXG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcobnVsbFRlbXBsYXRlKS5vbkRlc3Ryb3koKCkgPT4gdGhpcy5kZXRhY2goKSk7XG4gICAgLy8gQWRkaXRpb25hbGx5LCB3ZSBhZGQgYW4gZXh0cmEgZWxlbWVudCBiZXR3ZWVuIHRoZSBwc2V1ZG8tZWxlbWVudCBhbmQgdGhlIHBvcnRhbCB0byBub3QgYnJlYWsgQW5ndWxhcidzIGRlc3Ryb3kgYWxnb3JpdGhtLlxuICAgIC8vIEFuZ3VsYXIncyBkZXN0cm95IGFsZ29yaXRobSB0ZXJtaW5hdGVzIHdoZW4gYW4gZWxlbWVudCByZW1vdmVzIGl0cyBpbW1lZGlhdGUgc3VjY2Vzc29yIGR1cmluZyBkZXN0cnVjdGlvbiwgYnV0IGl0IGNvbnRpbnVlc1xuICAgIC8vIGlmIHRoZSBuZXh0IGJ1dCBvbmUgZWxlbWVudCBpcyByZW1vdmVkIGluc3RlYWQuIEl0IGlzIGNydWNpYWwgdG8gaW5zZXJ0IHRoaXMgaW50ZXJtZWRpYXJ5IGVsZW1lbnQ7IG90aGVyd2lzZSwgdW5tb3VudGluZ1xuICAgIC8vIHRoZSB3b3JrYmVuY2ggd2l0aCBvcGVuZWQgdmlld3Mgd291bGQgZmFpbCB0byBkZXN0cm95IHRoZSB3b3JrYmVuY2ggY29tcG9uZW50IGVudGlyZWx5LlxuICAgIC8vIFNlZSB0ZXN0cyBgd29ya2JlbmNoLXVtbW91bnQuZTJlLXNwZWNgLlxuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KG51bGxUZW1wbGF0ZSk7XG4gIH1cblxuICBASW5wdXQoe2FsaWFzOiAnd2JQb3J0YWxPdXRsZXQnLCByZXF1aXJlZDogdHJ1ZX0pIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBwdWJsaWMgc2V0IHBvcnRhbChwb3J0YWw6IFdiQ29tcG9uZW50UG9ydGFsIHwgbnVsbCkge1xuICAgIHRoaXMuZGV0YWNoKCk7XG4gICAgdGhpcy5fcG9ydGFsID0gcG9ydGFsO1xuICAgIHRoaXMuYXR0YWNoKCk7XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaCgpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3J0YWw/LmF0dGFjaCh0aGlzLl92aWV3Q29udGFpbmVyUmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgZGV0YWNoKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9wb3J0YWw/LmlzQXR0YWNoZWRUbyh0aGlzLl92aWV3Q29udGFpbmVyUmVmKSkge1xuICAgICAgdGhpcy5fcG9ydGFsLmRldGFjaCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRldGFjaCgpO1xuICB9XG59XG4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLXBvcnRhbC1vdXRsZXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvcG9ydGFsL3dvcmtiZW5jaC1wb3J0YWwtb3V0bGV0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUEyQyxNQUFNLGVBQWUsQ0FBQzs7QUFHekY7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsTUFBTSxPQUFPLDhCQUE4QjtJQUl6QyxZQUFvQixpQkFBbUMsRUFBRSxZQUErQjtRQUFwRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBRi9DLFlBQU8sR0FBNkIsSUFBSSxDQUFDO1FBRy9DLDhGQUE4RjtRQUM5RiwwR0FBMEc7UUFDMUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN2Riw0SEFBNEg7UUFDNUgsOEhBQThIO1FBQzlILDJIQUEySDtRQUMzSCwwRkFBMEY7UUFDMUYsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsSUFDVyxNQUFNLENBQUMsTUFBZ0M7UUFDaEQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxNQUFNO1FBQ1osSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVPLE1BQU07UUFDWixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7OEdBbkNVLDhCQUE4QjtrR0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUMsUUFBUSxFQUFFLDZCQUE2QixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUM7K0dBa0J6RCxNQUFNO3NCQURoQixLQUFLO3VCQUFDLEVBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjMgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1diQ29tcG9uZW50UG9ydGFsfSBmcm9tICcuL3diLWNvbXBvbmVudC1wb3J0YWwnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB2ZXJzaW9uIG9mIHtAbGluayBXYkNvbXBvbmVudFBvcnRhbH0sIGVuYWJsaW5nIGRlY2xhcmF0aXZlIHVzZSBpbiB0ZW1wbGF0ZXMuXG4gKlxuICogVW5saWtlIGBDZGtQb3J0YWxPdXRsZXRgIHRoZSBwb3J0YWwgaXMgbm90IGRlc3Ryb3llZCBvbiBkZXRhY2guXG4gKlxuICogLS0tXG4gKiBVc2FnZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8bmctY29udGFpbmVyICp3YlBvcnRhbE91dGxldD1cImdyZWV0aW5nXCIvPlxuICogPCEtLSBvciAtLT5cbiAqIDxuZy10ZW1wbGF0ZSBbd2JQb3J0YWxPdXRsZXRdPVwiZ3JlZXRpbmdcIi8+XG4gKiBgYGBgXG4gKlxuICogQHNlZSBXYkNvbXBvbmVudFBvcnRhbFxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ25nLXRlbXBsYXRlW3diUG9ydGFsT3V0bGV0XScsIHN0YW5kYWxvbmU6IHRydWV9KVxuZXhwb3J0IGNsYXNzIFdvcmtiZW5jaFBvcnRhbE91dGxldERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfcG9ydGFsOiBXYkNvbXBvbmVudFBvcnRhbCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIG51bGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dm9pZD4pIHtcbiAgICAvLyBUbyBnZXQgbm90aWZpZWQgYmVmb3JlIEFuZ3VsYXIgZGVzdHJveXMgdGhlIHBvcnRhbCwgd2UgaW5zZXJ0IGEgcHNldWRvLWVsZW1lbnQgYWhlYWQgb2YgaXQuXG4gICAgLy8gVGhpcyBwc2V1ZG8tZWxlbWVudCBnZXRzIGRlc3Ryb3llZCBmaXJzdCwgYWxsb3dpbmcgdXMgdG8gZGV0YWNoIHRoZSBwb3J0YWwgYW5kIHByZXZlbnQgaXRzIGRlc3RydWN0aW9uLlxuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KG51bGxUZW1wbGF0ZSkub25EZXN0cm95KCgpID0+IHRoaXMuZGV0YWNoKCkpO1xuICAgIC8vIEFkZGl0aW9uYWxseSwgd2UgYWRkIGFuIGV4dHJhIGVsZW1lbnQgYmV0d2VlbiB0aGUgcHNldWRvLWVsZW1lbnQgYW5kIHRoZSBwb3J0YWwgdG8gbm90IGJyZWFrIEFuZ3VsYXIncyBkZXN0cm95IGFsZ29yaXRobS5cbiAgICAvLyBBbmd1bGFyJ3MgZGVzdHJveSBhbGdvcml0aG0gdGVybWluYXRlcyB3aGVuIGFuIGVsZW1lbnQgcmVtb3ZlcyBpdHMgaW1tZWRpYXRlIHN1Y2Nlc3NvciBkdXJpbmcgZGVzdHJ1Y3Rpb24sIGJ1dCBpdCBjb250aW51ZXNcbiAgICAvLyBpZiB0aGUgbmV4dCBidXQgb25lIGVsZW1lbnQgaXMgcmVtb3ZlZCBpbnN0ZWFkLiBJdCBpcyBjcnVjaWFsIHRvIGluc2VydCB0aGlzIGludGVybWVkaWFyeSBlbGVtZW50OyBvdGhlcndpc2UsIHVubW91bnRpbmdcbiAgICAvLyB0aGUgd29ya2JlbmNoIHdpdGggb3BlbmVkIHZpZXdzIHdvdWxkIGZhaWwgdG8gZGVzdHJveSB0aGUgd29ya2JlbmNoIGNvbXBvbmVudCBlbnRpcmVseS5cbiAgICAvLyBTZWUgdGVzdHMgYHdvcmtiZW5jaC11bW1vdW50LmUyZS1zcGVjYC5cbiAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyhudWxsVGVtcGxhdGUpO1xuICB9XG5cbiAgQElucHV0KHthbGlhczogJ3diUG9ydGFsT3V0bGV0JywgcmVxdWlyZWQ6IHRydWV9KSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgcHVibGljIHNldCBwb3J0YWwocG9ydGFsOiBXYkNvbXBvbmVudFBvcnRhbCB8IG51bGwpIHtcbiAgICB0aGlzLmRldGFjaCgpO1xuICAgIHRoaXMuX3BvcnRhbCA9IHBvcnRhbDtcbiAgICB0aGlzLmF0dGFjaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5fcG9ydGFsPy5hdHRhY2godGhpcy5fdmlld0NvbnRhaW5lclJlZik7XG4gIH1cblxuICBwcml2YXRlIGRldGFjaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcG9ydGFsPy5pc0F0dGFjaGVkVG8odGhpcy5fdmlld0NvbnRhaW5lclJlZikpIHtcbiAgICAgIHRoaXMuX3BvcnRhbC5kZXRhY2goKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhY2goKTtcbiAgfVxufVxuIl19
@@ -80,4 +80,4 @@ export class WorkbenchObjectRegistry {
80
80
  this._change$.next();
81
81
  }
82
82
  }
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLW9iamVjdC1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3JlZ2lzdHJ5L3dvcmtiZW5jaC1vYmplY3QtcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDOzs7Ozs7T0FNRztJQUNILFlBQVksTUFBMkU7UUFoQnRFLGFBQVEsR0FBRyxJQUFJLEtBQUssRUFBSyxDQUFDO1FBQzFCLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUlqQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVk5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRO2FBQzFCLElBQUksQ0FDSCxTQUFTLENBQUMsU0FBaUIsQ0FBQyxFQUM1QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUM5QixDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLE1BQVM7UUFDdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEdBQVE7UUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFPTSxHQUFHLENBQUMsR0FBUSxFQUFFLE9BQXdCO1FBQzNDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDcEM7UUFDRCxPQUFPLE1BQU0sSUFBSSxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksR0FBRyxDQUFDLEdBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDVixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiBQcm92aWRlcyBhIHJlZ2lzdHJ5IGZvciB3b3JrYmVuY2ggbW9kZWwgb2JqZWN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5PEtFWSwgVD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29iamVjdHMgPSBuZXcgQXJyYXk8VD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfb2JqZWN0c0J5SWQgPSBuZXcgTWFwPEtFWSwgVD4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9rZXlGbjogKG9iamVjdDogVCkgPT4gS0VZO1xuICBwcml2YXRlIHJlYWRvbmx5IF9udWxsT2JqZWN0RXJyb3JGbjogKGtleTogS0VZKSA9PiBFcnJvcjtcbiAgcHJpdmF0ZSByZWFkb25seSBfY2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9iamVjdHMkOiBPYnNlcnZhYmxlPHJlYWRvbmx5IFRbXT47XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIHJlZ2lzdHJ5LlxuICAgKlxuICAgKiBAcGFyYW0gY29uZmlnIC0gQ29udHJvbHMgdGhlIGNyZWF0aW9uIG9mIHRoZSByZWdpc3RyeS5cbiAgICogQHBhcmFtIGNvbmZpZy5rZXlGbiAtIEZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhlIGtleSBvZiBhbiBvYmplY3QuXG4gICAqIEBwYXJhbSBjb25maWcubnVsbE9iamVjdEVycm9yRm4gLSBGdW5jdGlvbiB0byBwcm92aWRlIGFuIGVycm9yIHdoZW4gbG9va2luZyB1cCBhbiBvYmplY3Qgbm90IGNvbnRhaW5lZCBpbiB0aGUgcmVnaXN0cnkuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihjb25maWc6IHtrZXlGbjogKG9iamVjdDogVCkgPT4gS0VZOyBudWxsT2JqZWN0RXJyb3JGbjogKGtleTogS0VZKSA9PiBFcnJvcn0pIHtcbiAgICB0aGlzLl9rZXlGbiA9IGNvbmZpZy5rZXlGbjtcbiAgICB0aGlzLl9udWxsT2JqZWN0RXJyb3JGbiA9IGNvbmZpZy5udWxsT2JqZWN0RXJyb3JGbjtcbiAgICB0aGlzLm9iamVjdHMkID0gdGhpcy5fY2hhbmdlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQgYXMgdm9pZCksXG4gICAgICAgIG1hcCgoKSA9PiBbLi4udGhpcy5fb2JqZWN0c10pLFxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgZ2l2ZW4gb2JqZWN0LCByZXBsYWNpbmcgYW55IHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBvYmplY3Qgd2l0aCB0aGUgc2FtZSBrZXkuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXIob2JqZWN0OiBUKTogdm9pZCB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5fa2V5Rm4ob2JqZWN0KTtcbiAgICBjb25zdCBwcmV2T2JqZWN0ID0gdGhpcy5fb2JqZWN0c0J5SWQuZ2V0KGtleSk7XG4gICAgdGhpcy5fb2JqZWN0c0J5SWQuc2V0KGtleSwgb2JqZWN0KTtcbiAgICBwcmV2T2JqZWN0ID8gdGhpcy5fb2JqZWN0cy5zcGxpY2UodGhpcy5fb2JqZWN0cy5pbmRleE9mKHByZXZPYmplY3QpLCAxLCBvYmplY3QpIDogdGhpcy5fb2JqZWN0cy5wdXNoKG9iamVjdCk7XG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KCk7XG4gIH1cblxuICAvKipcbiAgICogVW5yZWdpc3RlcnMgc3BlY2lmaWVkIG9iamVjdC5cbiAgICovXG4gIHB1YmxpYyB1bnJlZ2lzdGVyKGtleTogS0VZKTogVCB8IG51bGwge1xuICAgIGNvbnN0IG9iamVjdCA9IHRoaXMuX29iamVjdHNCeUlkLmdldChrZXkpO1xuICAgIGlmICghb2JqZWN0KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLl9vYmplY3RzQnlJZC5kZWxldGUoa2V5KTtcbiAgICB0aGlzLl9vYmplY3RzLnNwbGljZSh0aGlzLl9vYmplY3RzLmluZGV4T2Yob2JqZWN0KSwgMSk7XG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KCk7XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvYmplY3Qgb2YgdGhlIGdpdmVuIGlkZW50aXR5LiBJZiBub3QgZm91bmQsIGJ5IGRlZmF1bHQsIHRocm93cyBhbiBlcnJvciB1bmxlc3Mgc2V0dGluZyB0aGUgYG9yRWxzZU51bGxgIG9wdGlvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQoa2V5OiBLRVkpOiBUO1xuICBwdWJsaWMgZ2V0KGtleTogS0VZLCBvcHRpb25zPzoge29yRWxzZTogbnVsbH0pOiBUIHwgbnVsbDtcbiAgcHVibGljIGdldChrZXk6IEtFWSwgb3B0aW9ucz86IHtvckVsc2U6IG51bGx9KTogVCB8IG51bGwge1xuICAgIGNvbnN0IG9iamVjdCA9IHRoaXMuX29iamVjdHNCeUlkLmdldChrZXkpO1xuICAgIGlmICghb2JqZWN0ICYmICFvcHRpb25zKSB7XG4gICAgICB0aHJvdyB0aGlzLl9udWxsT2JqZWN0RXJyb3JGbihrZXkpO1xuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0ID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgYW4gb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCBrZXkgZXhpc3RzIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBoYXMoa2V5OiBLRVkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb2JqZWN0c0J5SWQuaGFzKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogUmVhZG9ubHkgcmVmZXJlbmNlIHRvIHJlZ2lzdGVyZWQgb2JqZWN0cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgb2JqZWN0cygpOiByZWFkb25seSBUW10ge1xuICAgIHJldHVybiB0aGlzLl9vYmplY3RzO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGlzIHJlZ2lzdHJ5LlxuICAgKi9cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX29iamVjdHNCeUlkLmNsZWFyKCk7XG4gICAgdGhpcy5fb2JqZWN0cy5sZW5ndGggPSAwO1xuICAgIHRoaXMuX2NoYW5nZSQubmV4dCgpO1xuICB9XG59XG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLW9iamVjdC1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3JlZ2lzdHJ5L3dvcmtiZW5jaC1vYmplY3QtcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQWEsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDOzs7Ozs7T0FNRztJQUNILFlBQVksTUFBMkU7UUFoQnRFLGFBQVEsR0FBRyxJQUFJLEtBQUssRUFBSyxDQUFDO1FBQzFCLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQUlqQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVk5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRO2FBQzFCLElBQUksQ0FDSCxTQUFTLENBQUMsU0FBaUIsQ0FBQyxFQUM1QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUM5QixDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLE1BQVM7UUFDdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEdBQVE7UUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBT00sR0FBRyxDQUFDLEdBQVEsRUFBRSxPQUF3QjtRQUMzQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUNELE9BQU8sTUFBTSxJQUFJLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxHQUFHLENBQUMsR0FBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge09ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHN0YXJ0V2l0aH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgcmVnaXN0cnkgZm9yIHdvcmtiZW5jaCBtb2RlbCBvYmplY3RzLlxuICovXG5leHBvcnQgY2xhc3MgV29ya2JlbmNoT2JqZWN0UmVnaXN0cnk8S0VZLCBUPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfb2JqZWN0cyA9IG5ldyBBcnJheTxUPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9vYmplY3RzQnlJZCA9IG5ldyBNYXA8S0VZLCBUPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2tleUZuOiAob2JqZWN0OiBUKSA9PiBLRVk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX251bGxPYmplY3RFcnJvckZuOiAoa2V5OiBLRVkpID0+IEVycm9yO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgb2JqZWN0cyQ6IE9ic2VydmFibGU8cmVhZG9ubHkgVFtdPjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiB0aGUgcmVnaXN0cnkuXG4gICAqXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb250cm9scyB0aGUgY3JlYXRpb24gb2YgdGhlIHJlZ2lzdHJ5LlxuICAgKiBAcGFyYW0gY29uZmlnLmtleUZuIC0gRnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUga2V5IG9mIGFuIG9iamVjdC5cbiAgICogQHBhcmFtIGNvbmZpZy5udWxsT2JqZWN0RXJyb3JGbiAtIEZ1bmN0aW9uIHRvIHByb3ZpZGUgYW4gZXJyb3Igd2hlbiBsb29raW5nIHVwIGFuIG9iamVjdCBub3QgY29udGFpbmVkIGluIHRoZSByZWdpc3RyeS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzoge2tleUZuOiAob2JqZWN0OiBUKSA9PiBLRVk7IG51bGxPYmplY3RFcnJvckZuOiAoa2V5OiBLRVkpID0+IEVycm9yfSkge1xuICAgIHRoaXMuX2tleUZuID0gY29uZmlnLmtleUZuO1xuICAgIHRoaXMuX251bGxPYmplY3RFcnJvckZuID0gY29uZmlnLm51bGxPYmplY3RFcnJvckZuO1xuICAgIHRoaXMub2JqZWN0cyQgPSB0aGlzLl9jaGFuZ2UkXG4gICAgICAucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCBhcyB2b2lkKSxcbiAgICAgICAgbWFwKCgpID0+IFsuLi50aGlzLl9vYmplY3RzXSksXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBnaXZlbiBvYmplY3QsIHJlcGxhY2luZyBhbnkgcHJldmlvdXNseSByZWdpc3RlcmVkIG9iamVjdCB3aXRoIHRoZSBzYW1lIGtleS5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlcihvYmplY3Q6IFQpOiB2b2lkIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLl9rZXlGbihvYmplY3QpO1xuICAgIGNvbnN0IHByZXZPYmplY3QgPSB0aGlzLl9vYmplY3RzQnlJZC5nZXQoa2V5KTtcbiAgICB0aGlzLl9vYmplY3RzQnlJZC5zZXQoa2V5LCBvYmplY3QpO1xuICAgIHByZXZPYmplY3QgPyB0aGlzLl9vYmplY3RzLnNwbGljZSh0aGlzLl9vYmplY3RzLmluZGV4T2YocHJldk9iamVjdCksIDEsIG9iamVjdCkgOiB0aGlzLl9vYmplY3RzLnB1c2gob2JqZWN0KTtcbiAgICB0aGlzLl9jaGFuZ2UkLm5leHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnJlZ2lzdGVycyBzcGVjaWZpZWQgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHVucmVnaXN0ZXIoa2V5OiBLRVkpOiBUIHwgbnVsbCB7XG4gICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5fb2JqZWN0c0J5SWQuZ2V0KGtleSk7XG4gICAgaWYgKCFvYmplY3QpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHRoaXMuX29iamVjdHNCeUlkLmRlbGV0ZShrZXkpO1xuICAgIHRoaXMuX29iamVjdHMuc3BsaWNlKHRoaXMuX29iamVjdHMuaW5kZXhPZihvYmplY3QpLCAxKTtcbiAgICB0aGlzLl9jaGFuZ2UkLm5leHQoKTtcbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG9iamVjdCBvZiB0aGUgZ2l2ZW4gaWRlbnRpdHkuIElmIG5vdCBmb3VuZCwgYnkgZGVmYXVsdCwgdGhyb3dzIGFuIGVycm9yIHVubGVzcyBzZXR0aW5nIHRoZSBgb3JFbHNlTnVsbGAgb3B0aW9uLlxuICAgKi9cbiAgcHVibGljIGdldChrZXk6IEtFWSk6IFQ7XG4gIHB1YmxpYyBnZXQoa2V5OiBLRVksIG9wdGlvbnM/OiB7b3JFbHNlOiBudWxsfSk6IFQgfCBudWxsO1xuICBwdWJsaWMgZ2V0KGtleTogS0VZLCBvcHRpb25zPzoge29yRWxzZTogbnVsbH0pOiBUIHwgbnVsbCB7XG4gICAgY29uc3Qgb2JqZWN0ID0gdGhpcy5fb2JqZWN0c0J5SWQuZ2V0KGtleSk7XG4gICAgaWYgKCFvYmplY3QgJiYgIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IHRoaXMuX251bGxPYmplY3RFcnJvckZuKGtleSk7XG4gICAgfVxuICAgIHJldHVybiBvYmplY3QgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciBhbiBvYmplY3Qgd2l0aCB0aGUgc3BlY2lmaWVkIGtleSBleGlzdHMgb3Igbm90LlxuICAgKi9cbiAgcHVibGljIGhhcyhrZXk6IEtFWSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9vYmplY3RzQnlJZC5oYXMoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkb25seSByZWZlcmVuY2UgdG8gcmVnaXN0ZXJlZCBvYmplY3RzLlxuICAgKi9cbiAgcHVibGljIGdldCBvYmplY3RzKCk6IHJlYWRvbmx5IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX29iamVjdHM7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoaXMgcmVnaXN0cnkuXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5fb2JqZWN0c0J5SWQuY2xlYXIoKTtcbiAgICB0aGlzLl9vYmplY3RzLmxlbmd0aCA9IDA7XG4gICAgdGhpcy5fY2hhbmdlJC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -21,10 +21,10 @@ import * as i0 from "@angular/core";
21
21
  * For more information, see the `standardizeConfig` function in Angular.
22
22
  */
23
23
  export class ɵEmptyOutletComponent {
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: ɵEmptyOutletComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<router-outlet/>\n", styles: [":host{display:grid}:host>router-outlet{position:absolute}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ɵEmptyOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: ɵEmptyOutletComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<router-outlet/>\n", styles: [":host{display:grid}:host>router-outlet{position:absolute}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ɵEmptyOutletComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ standalone: true, imports: [RouterOutlet], template: "<router-outlet/>\n", styles: [":host{display:grid}:host>router-outlet{position:absolute}\n"] }]
30
30
  }] });