@scion/workbench 18.0.0-beta.1 → 18.0.0-beta.10
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.
- package/_index.scss +7 -5
- package/design/_workbench-global-styles.scss +18 -0
- package/design/_workbench-icon-font.scss +1 -1
- package/design/_workbench-popup-global-styles.scss +1 -1
- package/design/{_workbench-view-drag-image-global-styles.scss → _workbench-view-global-styles.scss} +1 -2
- package/esm2022/lib/common/class-list.mjs +67 -29
- package/esm2022/lib/common/math.util.mjs +16 -0
- package/esm2022/lib/common/objects.util.mjs +7 -1
- package/esm2022/lib/common/operators.mjs +1 -12
- package/esm2022/lib/common/uid.util.mjs +22 -0
- package/esm2022/lib/content-projection/content-as-overlay.component.mjs +85 -28
- package/esm2022/lib/content-projection/workbench-element-references.mjs +32 -0
- package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -8
- package/esm2022/lib/dialog/movable.directive.mjs +3 -3
- package/esm2022/lib/dialog/resizable.directive.mjs +3 -3
- package/esm2022/lib/dialog/workbench-dialog.component.mjs +25 -23
- package/esm2022/lib/dialog/workbench-dialog.mjs +61 -1
- package/esm2022/lib/dialog//311/265workbench-dialog.mjs +98 -60
- package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +26 -23
- package/esm2022/lib/executor/latest-task-executor.mjs +55 -0
- package/esm2022/lib/executor/single-task-executor.mjs +9 -19
- package/esm2022/lib/filter-field/filter-field.component.mjs +5 -5
- package/esm2022/lib/layout/grid-element/grid-element.component.mjs +8 -18
- package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +18 -21
- package/esm2022/lib/layout/migration/model/workbench-layout-migration-v5.model.mjs +11 -0
- package/esm2022/lib/layout/migration/model/workbench-layout-migration-v6.model.mjs +11 -0
- package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +4 -4
- package/esm2022/lib/layout/migration/workbench-layout-migration-v5.service.mjs +67 -0
- package/esm2022/lib/layout/migration/workbench-layout-migration-v6.service.mjs +59 -0
- package/esm2022/lib/layout/stringifier.mjs +70 -0
- package/esm2022/lib/layout/workbench-layout.component.mjs +18 -22
- package/esm2022/lib/layout/workbench-layout.mjs +1 -1
- package/esm2022/lib/layout/workbench-layout.model.mjs +1 -1
- package/esm2022/lib/layout/workbench-layout.service.mjs +26 -24
- package/esm2022/lib/layout/workbench-layouts.util.mjs +1 -9
- package/esm2022/lib/layout/workench-layout-serializer.service.mjs +19 -27
- package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +3 -2
- package/esm2022/lib/layout//311/265workbench-layout.mjs +73 -62
- package/esm2022/lib/logging/logging-support.mjs +7 -13
- package/esm2022/lib/logging//311/265logger.mjs +10 -10
- package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +7 -6
- package/esm2022/lib/message-box/message-box-header/message-box-header.component.mjs +3 -3
- package/esm2022/lib/message-box/workbench-message-box.component.mjs +2 -2
- package/esm2022/lib/message-box//311/265workbench-message-box.service.mjs +3 -2
- package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +22 -6
- package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +28 -21
- package/esm2022/lib/microfrontend-platform/initialization/ng-zone-observable-decorator.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/initialization/workbench-host-manifest-interceptor.service.mjs +11 -1
- package/esm2022/lib/microfrontend-platform/manifest-object-cache.service.mjs +63 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +5 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +6 -10
- package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +18 -9
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +7 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +15 -13
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +3 -2
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +6 -11
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-capability-validator.interceptor.mjs +39 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.mjs +120 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.mjs +55 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-perspective/workbench-perspective-data.mjs +19 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +4 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +11 -12
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +12 -28
- package/esm2022/lib/microfrontend-platform/microfrontend-splash/microfrontend-splash.component.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.mjs +11 -27
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +91 -71
- package/esm2022/lib/microfrontend-platform/public_api.mjs +2 -1
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +5 -4
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +18 -16
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +30 -8
- package/esm2022/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.mjs +32 -0
- package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +26 -8
- package/esm2022/lib/notification/notification-list.component.mjs +4 -8
- package/esm2022/lib/notification/notification.component.mjs +4 -5
- package/esm2022/lib/notification/notification.service.mjs +5 -4
- package/esm2022/lib/page-not-found/page-not-found.component.mjs +5 -7
- package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +11 -19
- package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
- package/esm2022/lib/part/part-bar/part-bar.component.mjs +333 -264
- package/esm2022/lib/part/part-portal.pipe.mjs +8 -8
- package/esm2022/lib/part/part.component.mjs +33 -42
- package/esm2022/lib/part/view-context-menu/text.component.mjs +16 -12
- package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +4 -6
- package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +2 -2
- package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +48 -49
- package/esm2022/lib/part/view-list/view-list.component.mjs +41 -48
- package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +22 -26
- package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +15 -17
- package/esm2022/lib/part/view-tab/view-tab.component.mjs +99 -110
- package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +3 -4
- package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +16 -17
- package/esm2022/lib/part/workbench-part-action.registry.mjs +18 -42
- package/esm2022/lib/part/workbench-part.model.mjs +10 -1
- package/esm2022/lib/part/workbench-part.registry.mjs +11 -45
- package/esm2022/lib/part//311/265workbench-part.model.mjs +71 -55
- package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +3 -3
- package/esm2022/lib/perspective/workbench-perspective.model.mjs +1 -1
- package/esm2022/lib/perspective/workbench-perspective.registry.mjs +11 -43
- package/esm2022/lib/perspective/workbench-perspective.service.mjs +71 -62
- package/esm2022/lib/perspective/workench-perspective-serializer.service.mjs +2 -2
- package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +62 -47
- package/esm2022/lib/popup/popup.component.mjs +3 -3
- package/esm2022/lib/popup/popup.config.mjs +27 -25
- package/esm2022/lib/popup/popup.service.mjs +169 -174
- package/esm2022/lib/portal/wb-component-portal.mjs +18 -17
- package/esm2022/lib/public_api.mjs +1 -1
- package/esm2022/lib/registry/workbench-object-registry.mjs +38 -17
- package/esm2022/lib/routing/public_api.mjs +2 -2
- package/esm2022/lib/routing/routing.model.mjs +1 -1
- package/esm2022/lib/routing/routing.util.mjs +215 -0
- package/esm2022/lib/routing/workbench-auxiliary-route-installer.service.mjs +110 -0
- package/esm2022/lib/routing/workbench-dialog-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-layout-differ.mjs +3 -10
- package/esm2022/lib/routing/workbench-message-box-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-navigational-states.mjs +2 -2
- package/esm2022/lib/routing/workbench-popup-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-route-guards.mjs +57 -0
- package/esm2022/lib/routing/workbench-url-observer.service.mjs +140 -148
- package/esm2022/lib/routing/workbench-view-outlet-differ.mjs +58 -0
- package/esm2022/lib/routing//311/265workbench-router.service.mjs +119 -74
- package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
- package/esm2022/lib/startup/workbench-launcher.service.mjs +22 -10
- package/esm2022/lib/testing/workbench.provider.mjs +2 -2
- package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +15 -19
- package/esm2022/lib/view/public_api.mjs +1 -2
- package/esm2022/lib/view/view-move-handler.service.mjs +71 -56
- package/esm2022/lib/view/view-portal.pipe.mjs +7 -7
- package/esm2022/lib/view/view.component.mjs +54 -42
- package/esm2022/lib/view/workbench-view.model.mjs +1 -1
- package/esm2022/lib/view/workbench-view.registry.mjs +11 -45
- package/esm2022/lib/view//311/265workbench-view.model.mjs +183 -153
- package/esm2022/lib/view-dnd/grid-drop-targets.util.mjs +2 -2
- package/esm2022/lib/view-dnd/view-drag.service.mjs +87 -71
- package/esm2022/lib/view-dnd/view-drop-placeholder-renderer.service.mjs +6 -6
- package/esm2022/lib/view-dnd/view-drop-zone.directive.mjs +6 -6
- package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +43 -56
- package/esm2022/lib/workbench-config.mjs +2 -2
- package/esm2022/lib/workbench-id.mjs +3 -3
- package/esm2022/lib/workbench.component.mjs +66 -54
- package/esm2022/lib/workbench.constants.mjs +1 -5
- package/esm2022/lib/workbench.model.mjs +1 -1
- package/esm2022/lib/workbench.provider.mjs +3 -9
- package/esm2022/lib/workbench.service.mjs +1 -1
- package/esm2022/lib//311/265workbench.service.mjs +38 -42
- package/fesm2022/scion-workbench.mjs +4054 -3276
- package/fesm2022/scion-workbench.mjs.map +1 -1
- package/lib/common/class-list.d.ts +35 -22
- package/lib/common/math.util.d.ts +7 -0
- package/lib/common/objects.util.d.ts +4 -0
- package/lib/common/operators.d.ts +1 -6
- package/lib/common/uid.util.d.ts +9 -0
- package/lib/content-projection/content-as-overlay.component.d.ts +39 -22
- package/lib/content-projection/workbench-element-references.d.ts +13 -0
- package/lib/dialog/workbench-dialog.component.d.ts +3 -2
- package/lib/dialog/workbench-dialog.d.ts +57 -13
- package/lib/dialog//311/265workbench-dialog.d.ts +38 -24
- package/lib/dialog//311/265workbench-dialog.service.d.ts +10 -11
- package/lib/executor/latest-task-executor.d.ts +26 -0
- package/lib/executor/single-task-executor.d.ts +5 -8
- package/lib/filter-field/filter-field.component.d.ts +1 -1
- package/lib/layout/grid-element/grid-element.component.d.ts +1 -8
- package/lib/layout/main-area-layout/main-area-layout.component.d.ts +0 -4
- package/lib/layout/migration/model/workbench-layout-migration-v5.model.d.ts +36 -0
- package/lib/layout/migration/model/workbench-layout-migration-v6.model.d.ts +35 -0
- package/lib/layout/migration/workbench-layout-migration-v5.service.d.ts +12 -0
- package/lib/layout/migration/workbench-layout-migration-v6.service.d.ts +12 -0
- package/lib/layout/stringifier.d.ts +26 -0
- package/lib/layout/workbench-layout.component.d.ts +4 -5
- package/lib/layout/workbench-layout.d.ts +9 -6
- package/lib/layout/workbench-layout.model.d.ts +4 -3
- package/lib/layout/workbench-layout.service.d.ts +14 -16
- package/lib/layout/workbench-layouts.util.d.ts +0 -6
- package/lib/layout/workench-layout-serializer.service.d.ts +13 -16
- package/lib/layout//311/265workbench-layout.d.ts +18 -19
- package/lib/layout//311/265workbench-layout.factory.d.ts +3 -2
- package/lib/logging//311/265logger.d.ts +2 -3
- package/lib/microfrontend-platform/common/microfrontend.util.d.ts +5 -1
- package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +7 -3
- package/lib/microfrontend-platform/manifest-object-cache.service.d.ts +33 -0
- package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +3 -6
- package/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.d.ts +2 -1
- package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +1 -1
- package/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.d.ts +2 -1
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-capability-validator.interceptor.d.ts +10 -0
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-installer.service.d.ts +24 -0
- package/lib/microfrontend-platform/microfrontend-perspective/microfrontend-perspective-intent-handler.interceptor.d.ts +20 -0
- package/lib/microfrontend-platform/microfrontend-perspective/workbench-perspective-data.d.ts +9 -0
- package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.d.ts +4 -8
- package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +0 -4
- package/lib/microfrontend-platform/microfrontend-view/microfrontend-view-command-handler.service.d.ts +5 -12
- package/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.d.ts +23 -33
- package/lib/microfrontend-platform/public_api.d.ts +1 -0
- package/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.d.ts +1 -1
- package/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.d.ts +3 -7
- package/lib/microfrontend-platform/routing/microfrontend-view-routes.d.ts +9 -2
- package/lib/microfrontend-platform/stable-capability-id-assigner.interceptor.d.ts +11 -0
- package/lib/notification/notification-list.component.d.ts +0 -2
- package/lib/page-not-found/page-not-found.component.d.ts +1 -0
- package/lib/part/part-action-bar/part-action-bar.component.d.ts +3 -4
- package/lib/part/part-action-bar/part-action.directive.d.ts +2 -2
- package/lib/part/part-bar/part-bar.component.d.ts +73 -63
- package/lib/part/part-portal.pipe.d.ts +3 -5
- package/lib/part/part.component.d.ts +9 -12
- package/lib/part/view-context-menu/text.component.d.ts +3 -4
- package/lib/part/view-context-menu/view-menu.directive.d.ts +1 -1
- package/lib/part/view-context-menu/view-menu.service.d.ts +13 -17
- package/lib/part/view-list/view-list.component.d.ts +8 -21
- package/lib/part/view-list-button/view-list-button.component.d.ts +8 -11
- package/lib/part/view-list-item/view-list-item.component.d.ts +3 -7
- package/lib/part/view-tab/view-tab.component.d.ts +19 -29
- package/lib/part/view-tab-drag-image/view-tab-drag-image.component.d.ts +4 -4
- package/lib/part/workbench-part-action.registry.d.ts +3 -23
- package/lib/part/workbench-part.model.d.ts +8 -27
- package/lib/part/workbench-part.registry.d.ts +3 -26
- package/lib/part//311/265workbench-part.model.d.ts +23 -17
- package/lib/perspective/workbench-perspective.model.d.ts +18 -25
- package/lib/perspective/workbench-perspective.registry.d.ts +3 -26
- package/lib/perspective/workbench-perspective.service.d.ts +16 -14
- package/lib/perspective/workench-perspective-serializer.service.d.ts +1 -1
- package/lib/perspective//311/265workbench-perspective.model.d.ts +30 -21
- package/lib/popup/popup.config.d.ts +11 -10
- package/lib/popup/popup.service.d.ts +15 -28
- package/lib/portal/wb-component-portal.d.ts +21 -5
- package/lib/public_api.d.ts +1 -1
- package/lib/registry/workbench-object-registry.d.ts +10 -6
- package/lib/routing/public_api.d.ts +2 -2
- package/lib/routing/routing.model.d.ts +25 -13
- package/lib/routing/{router.util.d.ts → routing.util.d.ts} +28 -1
- package/lib/routing/{workbench-auxiliary-routes-registrator.service.d.ts → workbench-auxiliary-route-installer.service.d.ts} +10 -3
- package/lib/routing/workbench-layout-differ.d.ts +1 -2
- package/lib/routing/workbench-navigational-states.d.ts +8 -4
- package/lib/{view/workbench-view-route-guards.d.ts → routing/workbench-route-guards.d.ts} +8 -2
- package/lib/routing/workbench-url-observer.service.d.ts +31 -55
- package/lib/routing/workbench-view-outlet-differ.d.ts +32 -0
- package/lib/routing//311/265workbench-router.service.d.ts +22 -18
- package/lib/startup/workbench-launcher.service.d.ts +4 -5
- package/lib/testing/workbench.provider.d.ts +3 -1
- package/lib/theme/workbench-theme-switcher.service.d.ts +4 -6
- package/lib/view/public_api.d.ts +0 -1
- package/lib/view/view-move-handler.service.d.ts +16 -14
- package/lib/view/view-portal.pipe.d.ts +1 -3
- package/lib/view/view.component.d.ts +21 -12
- package/lib/view/workbench-view.model.d.ts +88 -36
- package/lib/view/workbench-view.registry.d.ts +3 -27
- package/lib/view//311/265workbench-view.model.d.ts +62 -71
- package/lib/view-dnd/view-drag.service.d.ts +79 -49
- package/lib/view-dnd/view-drop-placeholder-renderer.service.d.ts +1 -1
- package/lib/view-dnd/view-tab-drag-image-renderer.service.d.ts +12 -36
- package/lib/workbench-config.d.ts +19 -7
- package/lib/workbench.component.d.ts +16 -30
- package/lib/workbench.constants.d.ts +0 -5
- package/lib/workbench.model.d.ts +31 -3
- package/lib/workbench.service.d.ts +58 -56
- package/lib//311/265workbench.service.d.ts +18 -31
- package/package.json +5 -5
- package/esm2022/lib/common/filter-by-predicate.pipe.mjs +0 -27
- package/esm2022/lib/common/filter-by-text.pipe.mjs +0 -39
- package/esm2022/lib/common/uuid.util.mjs +0 -17
- package/esm2022/lib/content-projection/content-projection.directive.mjs +0 -101
- package/esm2022/lib/content-projection/view-container.reference.mjs +0 -68
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +0 -41
- package/esm2022/lib/page-not-found/format-url.pipe.mjs +0 -26
- package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +0 -26
- package/esm2022/lib/routing/router.util.mjs +0 -126
- package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +0 -94
- package/esm2022/lib/view/workbench-view-route-guards.mjs +0 -47
- package/lib/common/filter-by-predicate.pipe.d.ts +0 -10
- package/lib/common/filter-by-text.pipe.d.ts +0 -12
- package/lib/common/uuid.util.d.ts +0 -8
- package/lib/content-projection/content-projection.directive.d.ts +0 -30
- package/lib/content-projection/view-container.reference.d.ts +0 -42
- package/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.d.ts +0 -10
- package/lib/page-not-found/format-url.pipe.d.ts +0 -11
- package/lib/part/part-action-bar/part-action-filter.pipe.d.ts +0 -11
|
@@ -7,9 +7,8 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
|
-
import { createComponent, EnvironmentInjector, inject, Injector } from '@angular/core';
|
|
10
|
+
import { assertNotInReactiveContext, createComponent, EnvironmentInjector, inject, Injector, signal } from '@angular/core';
|
|
11
11
|
import { Logger, LoggerNames } from '../logging';
|
|
12
|
-
import { BehaviorSubject } from 'rxjs';
|
|
13
12
|
/**
|
|
14
13
|
* Like the Angular CDK 'ComponentPortal' but does not destroy the component on detach.
|
|
15
14
|
*
|
|
@@ -25,7 +24,7 @@ export class WbComponentPortal {
|
|
|
25
24
|
this._componentType = _componentType;
|
|
26
25
|
this._options = _options;
|
|
27
26
|
this._logger = inject(Logger);
|
|
28
|
-
this._attached
|
|
27
|
+
this._attached = signal(false);
|
|
29
28
|
// Do not construct the component here but the time attaching it to the Angular component tree. See the comment above.
|
|
30
29
|
}
|
|
31
30
|
/**
|
|
@@ -51,6 +50,8 @@ export class WbComponentPortal {
|
|
|
51
50
|
throw Error(`[PortalConstructError] Component already constructed. [component=${this._componentType}]`);
|
|
52
51
|
}
|
|
53
52
|
this._componentRef = this.createComponent(injectionContext);
|
|
53
|
+
// Trigger change detection to complete the initialization of the component, necessary for components detached from the Angular component tree.
|
|
54
|
+
this._componentRef.changeDetectorRef.detectChanges();
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
56
57
|
* Attaches this portal to the given {@link ViewContainerRef} according to the following rules:
|
|
@@ -60,18 +61,20 @@ export class WbComponentPortal {
|
|
|
60
61
|
* - If already attached to a different view container, detaches it first.
|
|
61
62
|
*/
|
|
62
63
|
attach(viewContainerRef) {
|
|
64
|
+
assertNotInReactiveContext(this.attach);
|
|
63
65
|
if (this.isAttachedTo(viewContainerRef)) {
|
|
64
66
|
return;
|
|
65
67
|
}
|
|
66
|
-
if (this.
|
|
68
|
+
if (this.attached()) {
|
|
67
69
|
this.detach();
|
|
68
70
|
}
|
|
69
71
|
this._viewContainerRef = viewContainerRef;
|
|
70
72
|
this._componentRef = this._componentRef || this.createComponent(this._viewContainerRef.injector);
|
|
73
|
+
this._logger.debug(() => 'Attaching portal', LoggerNames.LIFECYCLE, this._componentRef);
|
|
71
74
|
this._componentRef.changeDetectorRef.reattach();
|
|
72
75
|
this._viewContainerRef.insert(this._componentRef.hostView);
|
|
73
|
-
this._attached
|
|
74
|
-
this.
|
|
76
|
+
this._attached.set(true);
|
|
77
|
+
this._componentRef.instance?.onAttach();
|
|
75
78
|
}
|
|
76
79
|
/**
|
|
77
80
|
* Detaches this portal from its view container without destroying it. Does nothing if not attached.
|
|
@@ -80,23 +83,22 @@ export class WbComponentPortal {
|
|
|
80
83
|
* so it will not be checked for changes until it is reattached.
|
|
81
84
|
*/
|
|
82
85
|
detach() {
|
|
83
|
-
|
|
86
|
+
assertNotInReactiveContext(this.detach);
|
|
87
|
+
if (!this.attached()) {
|
|
84
88
|
return;
|
|
85
89
|
}
|
|
86
90
|
this._logger.debug(() => 'Detaching portal', LoggerNames.LIFECYCLE, this._componentRef);
|
|
91
|
+
this._componentRef.instance?.onDetach();
|
|
87
92
|
const index = this._viewContainerRef.indexOf(this._componentRef.hostView);
|
|
88
93
|
this._viewContainerRef.detach(index);
|
|
89
94
|
this._componentRef.changeDetectorRef.detach();
|
|
90
|
-
this._attached
|
|
95
|
+
this._attached.set(false);
|
|
91
96
|
}
|
|
92
97
|
get isConstructed() {
|
|
93
98
|
return !!this._componentRef;
|
|
94
99
|
}
|
|
95
|
-
get isAttached() {
|
|
96
|
-
return this._attached$.value;
|
|
97
|
-
}
|
|
98
100
|
isAttachedTo(viewContainerRef) {
|
|
99
|
-
return this._viewContainerRef === viewContainerRef && this.
|
|
101
|
+
return this._viewContainerRef === viewContainerRef && this.attached();
|
|
100
102
|
}
|
|
101
103
|
get isDestroyed() {
|
|
102
104
|
return this._componentRef === null;
|
|
@@ -110,14 +112,13 @@ export class WbComponentPortal {
|
|
|
110
112
|
}
|
|
111
113
|
return this._componentRef;
|
|
112
114
|
}
|
|
113
|
-
get attached
|
|
114
|
-
return this._attached
|
|
115
|
+
get attached() {
|
|
116
|
+
return this._attached;
|
|
115
117
|
}
|
|
116
118
|
onDestroy() {
|
|
117
119
|
this._componentRef = null;
|
|
118
120
|
this._viewContainerRef = null;
|
|
119
|
-
this._attached
|
|
120
|
-
this._attached$.complete();
|
|
121
|
+
this._attached.set(false);
|
|
121
122
|
}
|
|
122
123
|
/**
|
|
123
124
|
* Destroys the component instance and all the data structures associated with it.
|
|
@@ -126,4 +127,4 @@ export class WbComponentPortal {
|
|
|
126
127
|
this._componentRef?.destroy();
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ItY29tcG9uZW50LXBvcnRhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BvcnRhbC93Yi1jb21wb25lbnQtcG9ydGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBR0gsT0FBTyxFQUFlLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBRWpEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsWUFBb0IsY0FBZ0MsRUFBVSxRQUF3QjtRQUFsRSxtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUg5RSxZQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUd2RCxzSEFBc0g7SUFDeEgsQ0FBQztJQUVEOztPQUVHO0lBQ0ssZUFBZSxDQUFDLGVBQXlCO1FBQy9DLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hELGVBQWUsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUMvQixJQUFJLEVBQUUsMkJBQTJCO2dCQUNqQyxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxJQUFJLEVBQUU7YUFDMUMsQ0FBQztZQUNGLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7U0FDOUQsQ0FBQyxDQUFDO1FBQ0gsWUFBWSxD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SSxDQUFDLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxNQUFNLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtDb21wb25lbnRSZWYsIGNyZWF0ZUNvbXBvbmVudCwgRW52aXJvbm1lbnRJbmplY3RvciwgaW5qZWN0LCBJbmplY3RvciwgUHJvdmlkZXIsIFZpZXdDb250YWluZXJSZWZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXIsIExvZ2dlck5hbWVzfSBmcm9tICcuLi9sb2dnaW5nJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBMaWtlIHRoZSBBbmd1bGFyIENESyAnQ29tcG9uZW50UG9ydGFsJyBidXQgZG9lcyBub3QgZGVzdHJveSB0aGUgY29tcG9uZW50IG9uIGRldGFjaC5cbiAqXG4gKiBJTVBPUlRBTlQ6IEluIG9yZGVyIGZvciB0aGUgY29tcG9uZW50IHRvIGhhdmUgdGhlIFwiY29ycmVjdFwiIGluamVjdGlvbiBjb250ZXh0LCBjb25zdHJ1Y3QgaXQgdGhlIHRpbWUgYXR0YWNoaW5nIGl0IHRvIHRoZSBBbmd1bGFyIGNvbXBvbmVudCB0cmVlLFxuICogb3IgYnkgY2FsbGluZyB7QGxpbmsgY3JlYXRlQ29tcG9uZW50RnJvbUluamVjdGlvbkNvbnRleHR9LiBUaGUgXCJjb3JyZWN0XCIgaW5qZWN0aW9uIGNvbnRleHQgaXMgY3J1Y2lhbCwgZm9yIGV4YW1wbGUsIGlmIHRoZSBwb3J0YWwgaXMgZGlzcGxheWVkXG4gKiBpbiBhIHJvdXRlciBvdXRsZXQsIHNvIHRoYXQgY2hpbGQgb3V0bGV0cyBjYW4gcmVnaXN0ZXIgd2l0aCB0aGVpciBsb2dpY2FsIHBhcmVudCBvdXRsZXQuIFRoZSBBbmd1bGFyIHJvdXRlciB1c2VzIHRoZSBsb2dpY2FsIG91dGxldCBoaWVyYXJjaHkgdG9cbiAqIHJlc29sdmUgYW5kIGFjdGl2YXRlIGNoaWxkIHJvdXRlcy5cbiAqXG4gKiBAc2VlIFdiQ29tcG9uZW50UG9ydGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBXYkNvbXBvbmVudFBvcnRhbDxUID0gYW55PiB7XG5cbiAgcHJpdmF0ZSBfdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX2NvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFQ+IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbG9nZ2VyID0gaW5qZWN0KExvZ2dlcik7XG4gIHByaXZhdGUgX2F0dGFjaGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8VD4sIHByaXZhdGUgX29wdGlvbnM/OiBQb3J0YWxPcHRpb25zKSB7XG4gICAgLy8gRG8gbm90IGNvbnN0cnVjdCB0aGUgY29tcG9uZW50IGhlcmUgYnV0IHRoZSB0aW1lIGF0dGFjaGluZyBpdCB0byB0aGUgQW5ndWxhciBjb21wb25lbnQgdHJlZS4gU2VlIHRoZSBjb21tZW50IGFib3ZlLlxuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgdGhlIHBvcnRhbCdzIGNvbXBvbmVudCB1c2luZyBnaXZlbiBpbmplY3Rpb24gY29udGV4dC5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQ29tcG9uZW50KGVsZW1lbnRJbmplY3RvcjogSW5qZWN0b3IpOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudCh0aGlzLl9jb21wb25lbnRUeXBlLCB7XG4gICAgICBlbGVtZW50SW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIG5hbWU6ICdXYkNvbXBvbmVudFBvcnRhbEluamVjdG9yJyxcbiAgICAgICAgcGFyZW50OiBlbGVtZW50SW5qZWN0b3IsXG4gICAgICAgIHByb3ZpZGVyczogdGhpcy5fb3B0aW9ucz8ucHJvdmlkZXJzIHx8IFtdLFxuICAgICAgfSksXG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBlbGVtZW50SW5qZWN0b3IuZ2V0KEVudmlyb25tZW50SW5qZWN0b3IpLFxuICAgIH0pO1xuICAgIGNvbXBvbmVudFJlZi5vbkRlc3Ryb3koKCkgPT4gdGhpcy5vbkRlc3Ryb3koKSk7XG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIHRoZSBwb3J0YWwncyBjb21wb25lbnQgdXNpbmcgdGhlIGdpdmVuIGluamVjdGlvbiBjb250ZXh0LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUNvbXBvbmVudEZyb21JbmplY3Rpb25Db250ZXh0KGluamVjdGlvbkNvbnRleHQ6IEluamVjdG9yKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDb25zdHJ1Y3RlZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYFtQb3J0YWxDb25zdHJ1Y3RFcnJvcl0gQ29tcG9uZW50IGFscmVhZHkgY29uc3RydWN0ZWQuIFtjb21wb25lbnQ9JHt0aGlzLl9jb21wb25lbnRUeXBlfV1gKTtcbiAgICB9XG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnQoaW5qZWN0aW9uQ29udGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgdGhpcyBwb3J0YWwgdG8gdGhlIGdpdmVuIHtAbGluayBWaWV3Q29udGFpbmVyUmVmfSBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBydWxlczpcbiAgICpcbiAgICogLSBJZiB0aGUgY29tcG9uZW50IGlzIG5vdCB5ZXQgY29uc3RydWN0ZWQsIGNvbnN0cnVjdHMgaXQgYmFzZWQgb24gdGhlIGdpdmVuIHZpZXcgY29udGFpbmVyJ3MgaW5qZWN0aW9uIGNvbnRleHQuXG4gICAqIC0gSWYgYWxyZWFkeSBhdHRhY2hlZCB0byB0aGUgZ2l2ZW4gdmlldyBjb250YWluZXIsIGRvZXMgbm90aGluZy5cbiAgICogLSBJZiBhbHJlYWR5IGF0dGFjaGVkIHRvIGEgZGlmZmVyZW50IHZpZXcgY29udGFpbmVyLCBkZXRhY2hlcyBpdCBmaXJzdC5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2godmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZik6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQXR0YWNoZWRUbyh2aWV3Q29udGFpbmVyUmVmKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0F0dGFjaGVkKSB7XG4gICAgICB0aGlzLmRldGFjaCgpO1xuICAgIH1cblxuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYgPSB2aWV3Q29udGFpbmVyUmVmO1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMuX2NvbXBvbmVudFJlZiB8fCB0aGlzLmNyZWF0ZUNvbXBvbmVudCh0aGlzLl92aWV3Q29udGFpbmVyUmVmLmluamVjdG9yKTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYucmVhdHRhY2goKTtcbiAgICB0aGlzLl92aWV3Q29udGFpbmVyUmVmLmluc2VydCh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIHRoaXMuX2F0dGFjaGVkJC5uZXh0KHRydWUpO1xuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiAnQXR0YWNoaW5nIHBvcnRhbCcsIExvZ2dlck5hbWVzLkxJRkVDWUNMRSwgdGhpcy5fY29tcG9uZW50UmVmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRhY2hlcyB0aGlzIHBvcnRhbCBmcm9tIGl0cyB2aWV3IGNvbnRhaW5lciB3aXRob3V0IGRlc3Ryb3lpbmcgaXQuIERvZXMgbm90aGluZyBpZiBub3QgYXR0YWNoZWQuXG4gICAqXG4gICAqIFRoZSBwb3J0YWwgaXMgcmVtb3ZlZCBmcm9tIHRoZSBET00gYW5kIGl0cyBjaGFuZ2UgZGV0ZWN0b3IgZGV0YWNoZWQgZnJvbSB0aGUgQW5ndWxhciBjaGFuZ2UgZGV0ZWN0b3IgdHJlZSxcbiAgICogc28gaXQgd2lsbCBub3QgYmUgY2hlY2tlZCBmb3IgY2hhbmdlcyB1bnRpbCBpdCBpcyByZWF0dGFjaGVkLlxuICAgKi9cbiAgcHVibGljIGRldGFjaCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNBdHRhY2hlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiAnRGV0YWNoaW5nIHBvcnRhbCcsIExvZ2dlck5hbWVzLkxJRkVDWUNMRSwgdGhpcy5fY29tcG9uZW50UmVmKTtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYhLmluZGV4T2YodGhpcy5fY29tcG9uZW50UmVmIS5ob3N0Vmlldyk7XG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZiEuZGV0YWNoKGluZGV4KTtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYhLmNoYW5nZURldGVjdG9yUmVmLmRldGFjaCgpO1xuICAgIHRoaXMuX2F0dGFjaGVkJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNDb25zdHJ1Y3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLl9jb21wb25lbnRSZWY7XG4gIH1cblxuICBwcml2YXRlIGdldCBpc0F0dGFjaGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRhY2hlZCQudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgaXNBdHRhY2hlZFRvKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmlld0NvbnRhaW5lclJlZiA9PT0gdmlld0NvbnRhaW5lclJlZiAmJiB0aGlzLmlzQXR0YWNoZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGVzdHJveWVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRSZWYgPT09IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvbXBvbmVudFJlZigpOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYgPT09IG51bGwpIHtcbiAgICAgIHRocm93IEVycm9yKCdbTnVsbFBvcnRhbEVycm9yXSBQb3J0YWwgZGVzdHJveWVkLicpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IEVycm9yKCdbTnVsbFBvcnRhbEVycm9yXSBDb21wb25lbnQgbm90IGNvbnN0cnVjdGVkIHlldC4nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXR0YWNoZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRhY2hlZCQ7XG4gIH1cblxuICBwcml2YXRlIG9uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWYgPSBudWxsO1xuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYgPSBudWxsO1xuICAgIHRoaXMuX2F0dGFjaGVkJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLl9hdHRhY2hlZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgY29tcG9uZW50IGluc3RhbmNlIGFuZCBhbGwgdGhlIGRhdGEgc3RydWN0dXJlcyBhc3NvY2lhdGVkIHdpdGggaXQuXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnRyb2xzIGluc3RhbnRpYXRpb24gb2YgdGhlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb3J0YWxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVycyByZWdpc3RlcmVkIHdpdGggdGhlIGluamVjdG9yIGZvciB0aGUgaW5zdGFudGlhdGlvbiBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdmlkZXJzPzogUHJvdmlkZXJbXTtcbn1cbiJdfQ==
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ItY29tcG9uZW50LXBvcnRhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3BvcnRhbC93Yi1jb21wb25lbnQtcG9ydGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBR0gsT0FBTyxFQUFDLDBCQUEwQixFQUFnQixlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBb0IsTUFBTSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUMzSyxPQUFPLEVBQUMsTUFBTSxFQUFFLFdBQVcsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUUvQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBTzVCLFlBQW9CLGNBQWdDLEVBQVUsUUFBd0I7UUFBbEUsbUJBQWMsR0FBZCxjQUFjLENBQWtCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFIOUUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBR2hDLHNIQUFzSDtJQUN4SCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxlQUFlLENBQUMsZUFBeUI7UUFDL0MsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEQsZUFBZSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQy9CLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLElBQUksRUFBRTthQUMxQyxDQUFDO1lBQ0YsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztTQUM5RCxDQUFDLENBQUM7UUFDSCxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFB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VyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEMsTUFBTSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRU8sU0FBUztRQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHthc3NlcnROb3RJblJlYWN0aXZlQ29udGV4dCwgQ29tcG9uZW50UmVmLCBjcmVhdGVDb21wb25lbnQsIEVudmlyb25tZW50SW5qZWN0b3IsIGluamVjdCwgSW5qZWN0b3IsIFByb3ZpZGVyLCBTaWduYWwsIHNpZ25hbCwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyTmFtZXN9IGZyb20gJy4uL2xvZ2dpbmcnO1xuXG4vKipcbiAqIExpa2UgdGhlIEFuZ3VsYXIgQ0RLICdDb21wb25lbnRQb3J0YWwnIGJ1dCBkb2VzIG5vdCBkZXN0cm95IHRoZSBjb21wb25lbnQgb24gZGV0YWNoLlxuICpcbiAqIElNUE9SVEFOVDogSW4gb3JkZXIgZm9yIHRoZSBjb21wb25lbnQgdG8gaGF2ZSB0aGUgXCJjb3JyZWN0XCIgaW5qZWN0aW9uIGNvbnRleHQsIGNvbnN0cnVjdCBpdCB0aGUgdGltZSBhdHRhY2hpbmcgaXQgdG8gdGhlIEFuZ3VsYXIgY29tcG9uZW50IHRyZWUsXG4gKiBvciBieSBjYWxsaW5nIHtAbGluayBjcmVhdGVDb21wb25lbnRGcm9tSW5qZWN0aW9uQ29udGV4dH0uIFRoZSBcImNvcnJlY3RcIiBpbmplY3Rpb24gY29udGV4dCBpcyBjcnVjaWFsLCBmb3IgZXhhbXBsZSwgaWYgdGhlIHBvcnRhbCBpcyBkaXNwbGF5ZWRcbiAqIGluIGEgcm91dGVyIG91dGxldCwgc28gdGhhdCBjaGlsZCBvdXRsZXRzIGNhbiByZWdpc3RlciB3aXRoIHRoZWlyIGxvZ2ljYWwgcGFyZW50IG91dGxldC4gVGhlIEFuZ3VsYXIgcm91dGVyIHVzZXMgdGhlIGxvZ2ljYWwgb3V0bGV0IGhpZXJhcmNoeSB0b1xuICogcmVzb2x2ZSBhbmQgYWN0aXZhdGUgY2hpbGQgcm91dGVzLlxuICpcbiAqIEBzZWUgV2JDb21wb25lbnRQb3J0YWxcbiAqL1xuZXhwb3J0IGNsYXNzIFdiQ29tcG9uZW50UG9ydGFsPFQgPSBhbnk+IHtcblxuICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8VD4gfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sb2dnZXIgPSBpbmplY3QoTG9nZ2VyKTtcbiAgcHJpdmF0ZSBfYXR0YWNoZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGU8VD4sIHByaXZhdGUgX29wdGlvbnM/OiBQb3J0YWxPcHRpb25zKSB7XG4gICAgLy8gRG8gbm90IGNvbnN0cnVjdCB0aGUgY29tcG9uZW50IGhlcmUgYnV0IHRoZSB0aW1lIGF0dGFjaGluZyBpdCB0byB0aGUgQW5ndWxhciBjb21wb25lbnQgdHJlZS4gU2VlIHRoZSBjb21tZW50IGFib3ZlLlxuICB9XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgdGhlIHBvcnRhbCdzIGNvbXBvbmVudCB1c2luZyBnaXZlbiBpbmplY3Rpb24gY29udGV4dC5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQ29tcG9uZW50KGVsZW1lbnRJbmplY3RvcjogSW5qZWN0b3IpOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGNyZWF0ZUNvbXBvbmVudCh0aGlzLl9jb21wb25lbnRUeXBlLCB7XG4gICAgICBlbGVtZW50SW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgIG5hbWU6ICdXYkNvbXBvbmVudFBvcnRhbEluamVjdG9yJyxcbiAgICAgICAgcGFyZW50OiBlbGVtZW50SW5qZWN0b3IsXG4gICAgICAgIHByb3ZpZGVyczogdGhpcy5fb3B0aW9ucz8ucHJvdmlkZXJzIHx8IFtdLFxuICAgICAgfSksXG4gICAgICBlbnZpcm9ubWVudEluamVjdG9yOiBlbGVtZW50SW5qZWN0b3IuZ2V0KEVudmlyb25tZW50SW5qZWN0b3IpLFxuICAgIH0pO1xuICAgIGNvbXBvbmVudFJlZi5vbkRlc3Ryb3koKCkgPT4gdGhpcy5vbkRlc3Ryb3koKSk7XG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIHRoZSBwb3J0YWwncyBjb21wb25lbnQgdXNpbmcgdGhlIGdpdmVuIGluamVjdGlvbiBjb250ZXh0LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZUNvbXBvbmVudEZyb21JbmplY3Rpb25Db250ZXh0KGluamVjdGlvbkNvbnRleHQ6IEluamVjdG9yKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDb25zdHJ1Y3RlZCkge1xuICAgICAgdGhyb3cgRXJyb3IoYFtQb3J0YWxDb25zdHJ1Y3RFcnJvcl0gQ29tcG9uZW50IGFscmVhZHkgY29uc3RydWN0ZWQuIFtjb21wb25lbnQ9JHt0aGlzLl9jb21wb25lbnRUeXBlfV1gKTtcbiAgICB9XG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVDb21wb25lbnQoaW5qZWN0aW9uQ29udGV4dCk7XG4gICAgLy8gVHJpZ2dlciBjaGFuZ2UgZGV0ZWN0aW9uIHRvIGNvbXBsZXRlIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgY29tcG9uZW50LCBuZWNlc3NhcnkgZm9yIGNvbXBvbmVudHMgZGV0YWNoZWQgZnJvbSB0aGUgQW5ndWxhciBjb21wb25lbnQgdHJlZS5cbiAgICB0aGlzLl9jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIHRoaXMgcG9ydGFsIHRvIHRoZSBnaXZlbiB7QGxpbmsgVmlld0NvbnRhaW5lclJlZn0gYWNjb3JkaW5nIHRvIHRoZSBmb2xsb3dpbmcgcnVsZXM6XG4gICAqXG4gICAqIC0gSWYgdGhlIGNvbXBvbmVudCBpcyBub3QgeWV0IGNvbnN0cnVjdGVkLCBjb25zdHJ1Y3RzIGl0IGJhc2VkIG9uIHRoZSBnaXZlbiB2aWV3IGNvbnRhaW5lcidzIGluamVjdGlvbiBjb250ZXh0LlxuICAgKiAtIElmIGFscmVhZHkgYXR0YWNoZWQgdG8gdGhlIGdpdmVuIHZpZXcgY29udGFpbmVyLCBkb2VzIG5vdGhpbmcuXG4gICAqIC0gSWYgYWxyZWFkeSBhdHRhY2hlZCB0byBhIGRpZmZlcmVudCB2aWV3IGNvbnRhaW5lciwgZGV0YWNoZXMgaXQgZmlyc3QuXG4gICAqL1xuICBwdWJsaWMgYXR0YWNoKHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpOiB2b2lkIHtcbiAgICBhc3NlcnROb3RJblJlYWN0aXZlQ29udGV4dCh0aGlzLmF0dGFjaCk7XG4gICAgaWYgKHRoaXMuaXNBdHRhY2hlZFRvKHZpZXdDb250YWluZXJSZWYpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmF0dGFjaGVkKCkpIHtcbiAgICAgIHRoaXMuZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZiA9IHZpZXdDb250YWluZXJSZWY7XG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5fY29tcG9uZW50UmVmIHx8IHRoaXMuY3JlYXRlQ29tcG9uZW50KHRoaXMuX3ZpZXdDb250YWluZXJSZWYuaW5qZWN0b3IpO1xuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiAnQXR0YWNoaW5nIHBvcnRhbCcsIExvZ2dlck5hbWVzLkxJRkVDWUNMRSwgdGhpcy5fY29tcG9uZW50UmVmKTtcblxuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5yZWF0dGFjaCgpO1xuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYuaW5zZXJ0KHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG4gICAgdGhpcy5fYXR0YWNoZWQuc2V0KHRydWUpO1xuICAgICh0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UgYXMgT25BdHRhY2gpPy5vbkF0dGFjaCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGFjaGVzIHRoaXMgcG9ydGFsIGZyb20gaXRzIHZpZXcgY29udGFpbmVyIHdpdGhvdXQgZGVzdHJveWluZyBpdC4gRG9lcyBub3RoaW5nIGlmIG5vdCBhdHRhY2hlZC5cbiAgICpcbiAgICogVGhlIHBvcnRhbCBpcyByZW1vdmVkIGZyb20gdGhlIERPTSBhbmQgaXRzIGNoYW5nZSBkZXRlY3RvciBkZXRhY2hlZCBmcm9tIHRoZSBBbmd1bGFyIGNoYW5nZSBkZXRlY3RvciB0cmVlLFxuICAgKiBzbyBpdCB3aWxsIG5vdCBiZSBjaGVja2VkIGZvciBjaGFuZ2VzIHVudGlsIGl0IGlzIHJlYXR0YWNoZWQuXG4gICAqL1xuICBwdWJsaWMgZGV0YWNoKCk6IHZvaWQge1xuICAgIGFzc2VydE5vdEluUmVhY3RpdmVDb250ZXh0KHRoaXMuZGV0YWNoKTtcbiAgICBpZiAoIXRoaXMuYXR0YWNoZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiAnRGV0YWNoaW5nIHBvcnRhbCcsIExvZ2dlck5hbWVzLkxJRkVDWUNMRSwgdGhpcy5fY29tcG9uZW50UmVmKTtcbiAgICAodGhpcy5fY29tcG9uZW50UmVmIS5pbnN0YW5jZSBhcyBPbkRldGFjaCk/Lm9uRGV0YWNoKCk7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl92aWV3Q29udGFpbmVyUmVmIS5pbmRleE9mKHRoaXMuX2NvbXBvbmVudFJlZiEuaG9zdFZpZXcpO1xuICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYhLmRldGFjaChpbmRleCk7XG4gICAgdGhpcy5fY29tcG9uZW50UmVmIS5jaGFuZ2VEZXRlY3RvclJlZi5kZXRhY2goKTtcbiAgICB0aGlzLl9hdHRhY2hlZC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc0NvbnN0cnVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbXBvbmVudFJlZjtcbiAgfVxuXG4gIHB1YmxpYyBpc0F0dGFjaGVkVG8odmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92aWV3Q29udGFpbmVyUmVmID09PSB2aWV3Q29udGFpbmVyUmVmICYmIHRoaXMuYXR0YWNoZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNEZXN0cm95ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbXBvbmVudFJlZiA9PT0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcG9uZW50UmVmKCk6IENvbXBvbmVudFJlZjxUPiB7XG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZiA9PT0gbnVsbCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1tOdWxsUG9ydGFsRXJyb3JdIFBvcnRhbCBkZXN0cm95ZWQuJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ1tOdWxsUG9ydGFsRXJyb3JdIENvbXBvbmVudCBub3QgY29uc3RydWN0ZWQgeWV0LicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY29tcG9uZW50UmVmO1xuICB9XG5cbiAgcHVibGljIGdldCBhdHRhY2hlZCgpOiBTaWduYWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9hdHRhY2hlZDtcbiAgfVxuXG4gIHByaXZhdGUgb25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZiA9IG51bGw7XG4gICAgdGhpcy5fYXR0YWNoZWQuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0cm95cyB0aGUgY29tcG9uZW50IGluc3RhbmNlIGFuZCBhbGwgdGhlIGRhdGEgc3RydWN0dXJlcyBhc3NvY2lhdGVkIHdpdGggaXQuXG4gICAqL1xuICBwdWJsaWMgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnRyb2xzIGluc3RhbnRpYXRpb24gb2YgdGhlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb3J0YWxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVycyByZWdpc3RlcmVkIHdpdGggdGhlIGluamVjdG9yIGZvciB0aGUgaW5zdGFudGlhdGlvbiBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdmlkZXJzPzogUHJvdmlkZXJbXTtcbn1cblxuLyoqXG4gKiBMaWZlY3ljbGUgaG9vayBmb3IgY29tcG9uZW50IHJlbmRlcmVkIGJ5IHtAbGluayBXYkNvbXBvbmVudFBvcnRhbH0gd2hlbiBhdHRhY2hpbmcgdG8gdGhlIERPTS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbkF0dGFjaCB7XG5cbiAgLyoqXG4gICAqIE1ldGhvZCBpbnZva2VkIGFmdGVyIGF0dGFjaGVkIHRoaXMgY29tcG9uZW50IHRvIHRoZSBET00uXG4gICAqL1xuICBvbkF0dGFjaCgpOiB2b2lkO1xufVxuXG4vKipcbiAqIExpZmVjeWNsZSBob29rIGZvciBjb21wb25lbnQgcmVuZGVyZWQgYnkge0BsaW5rIFdiQ29tcG9uZW50UG9ydGFsfSB3aGVuIGRldGFjaGluZyBmcm9tIHRoZSBET00uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT25EZXRhY2gge1xuXG4gIC8qKlxuICAgKiBNZXRob2QgaW52b2tlZCBiZWZvcmUgZGV0YWNoaW5nIHRoaXMgY29tcG9uZW50IGZyb20gdGhlIERPTS5cbiAgICovXG4gIG9uRGV0YWNoKCk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -29,4 +29,4 @@ export * from './startup/public_api';
|
|
|
29
29
|
export * from './logging/public_api';
|
|
30
30
|
export * from './storage/public_api';
|
|
31
31
|
export * from './testing/public_api';
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsZUFBZSxFQUFzQyxNQUFNLG9CQUFvQixDQUFDO0FBQ3hGLE9BQU8sRUFBQyxlQUFlLEVBQXdCLE1BQU0sb0JBQW9CLENBQUM7QUFDMUUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBQywwQkFBMEIsRUFBMEIsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuZXhwb3J0IHtXb3JrYmVuY2hDb25maWcsIE1lbnVJdGVtQ29uZmlnLCBWaWV3TWVudUl0ZW1zQ29uZmlnfSBmcm9tICcuL3dvcmtiZW5jaC1jb25maWcnO1xuZXhwb3J0IHtXb3JrYmVuY2hNb2R1bGUsIFdvcmtiZW5jaE1vZHVsZUNvbmZpZ30gZnJvbSAnLi93b3JrYmVuY2gubW9kdWxlJztcbmV4cG9ydCB7cHJvdmlkZVdvcmtiZW5jaH0gZnJvbSAnLi93b3JrYmVuY2gucHJvdmlkZXInO1xuZXhwb3J0IHtXb3JrYmVuY2hTZXJ2aWNlfSBmcm9tICcuL3dvcmtiZW5jaC5zZXJ2aWNlJztcbmV4cG9ydCB7V09SS0JFTkNIX0lEfSBmcm9tICcuL3dvcmtiZW5jaC1pZCc7XG5leHBvcnQge1dvcmtiZW5jaFBhcnRBY3Rpb24sIFdvcmtiZW5jaFRoZW1lLCBDYW5NYXRjaFBhcnRGbiwgV29ya2JlbmNoTWVudUl0ZW0sIFdvcmtiZW5jaE1lbnVJdGVtRmFjdG9yeUZuLCBDYW5DbG9zZSwgQ2FuQ2xvc2VGbiwgQ2FuQ2xvc2VSZWZ9IGZyb20gJy4vd29ya2JlbmNoLm1vZGVsJztcbmV4cG9ydCB7V29ya2JlbmNoQ29tcG9uZW50fSBmcm9tICcuL3dvcmtiZW5jaC5jb21wb25lbnQnO1xuZXhwb3J0IHtWSUVXX1RBQl9SRU5ERVJJTkdfQ09OVEVYVCwgVmlld1RhYlJlbmRlcmluZ0NvbnRleHR9IGZyb20gJy4vd29ya2JlbmNoLmNvbnN0YW50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0L3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJzcGVjdGl2ZS9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vcGFydC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdmlldy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGluZy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZS1ib3gvcHVibGljX2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2RpYWxvZy9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9wb3B1cC9wdWJsaWNfYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zdGFydHVwL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9sb2dnaW5nL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlL3B1YmxpY19hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90ZXN0aW5nL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import { map, startWith } from 'rxjs/operators';
|
|
10
|
+
import { DestroyRef, inject, signal } from '@angular/core';
|
|
12
11
|
/**
|
|
13
12
|
* Provides a registry for workbench model objects.
|
|
14
13
|
*/
|
|
@@ -16,18 +15,23 @@ export class WorkbenchObjectRegistry {
|
|
|
16
15
|
/**
|
|
17
16
|
* Creates an instance of the registry.
|
|
18
17
|
*
|
|
18
|
+
* This registry must be constructed within an injection context. Destroying the injection context will also destroy the registry,
|
|
19
|
+
* invoking the specified `onUnregister` function for each object in the registry.
|
|
20
|
+
*
|
|
19
21
|
* @param config - Controls the creation of the registry.
|
|
20
22
|
* @param config.keyFn - Function to extract the key of an object.
|
|
21
23
|
* @param config.nullObjectErrorFn - Function to provide an error when looking up an object not contained in the registry.
|
|
24
|
+
* @param config.onUnregister - Function invoked when an object is unregistered.
|
|
22
25
|
*/
|
|
23
26
|
constructor(config) {
|
|
24
|
-
this._objects =
|
|
27
|
+
this._objects = signal([]);
|
|
25
28
|
this._objectsById = new Map();
|
|
26
|
-
this.
|
|
29
|
+
this.objects = this._objects.asReadonly();
|
|
27
30
|
this._keyFn = config.keyFn;
|
|
28
|
-
this._nullObjectErrorFn = config.nullObjectErrorFn;
|
|
29
|
-
this.
|
|
30
|
-
|
|
31
|
+
this._nullObjectErrorFn = config.nullObjectErrorFn ?? ((key) => Error(`[NullObjectError] Object '${key}' not found.`));
|
|
32
|
+
this._onUnregister = config.onUnregister;
|
|
33
|
+
// Clear registry when the current injection context is destroyed.
|
|
34
|
+
inject(DestroyRef).onDestroy(() => this.clear());
|
|
31
35
|
}
|
|
32
36
|
/**
|
|
33
37
|
* Registers given object, replacing any previously registered object with the same key.
|
|
@@ -35,9 +39,19 @@ export class WorkbenchObjectRegistry {
|
|
|
35
39
|
register(object) {
|
|
36
40
|
const key = this._keyFn(object);
|
|
37
41
|
const prevObject = this._objectsById.get(key);
|
|
42
|
+
// Add to Map.
|
|
38
43
|
this._objectsById.set(key, object);
|
|
39
|
-
|
|
40
|
-
this.
|
|
44
|
+
// Add to Signal.
|
|
45
|
+
this._objects.update(objects => {
|
|
46
|
+
const copy = [...objects];
|
|
47
|
+
if (prevObject) {
|
|
48
|
+
copy.splice(copy.indexOf(prevObject), 1, object); // Replace object.
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
copy.push(object); // Append object.
|
|
52
|
+
}
|
|
53
|
+
return copy;
|
|
54
|
+
});
|
|
41
55
|
}
|
|
42
56
|
/**
|
|
43
57
|
* Unregisters specified object.
|
|
@@ -47,9 +61,16 @@ export class WorkbenchObjectRegistry {
|
|
|
47
61
|
if (!object) {
|
|
48
62
|
return null;
|
|
49
63
|
}
|
|
64
|
+
// Invoke unregister function.
|
|
65
|
+
this._onUnregister?.(object);
|
|
66
|
+
// Remove from Map.
|
|
50
67
|
this._objectsById.delete(key);
|
|
51
|
-
|
|
52
|
-
this.
|
|
68
|
+
// Remove from Signal.
|
|
69
|
+
this._objects.update(objects => {
|
|
70
|
+
const copy = [...objects];
|
|
71
|
+
copy.splice(copy.indexOf(object), 1);
|
|
72
|
+
return copy;
|
|
73
|
+
});
|
|
53
74
|
return object;
|
|
54
75
|
}
|
|
55
76
|
get(key, options) {
|
|
@@ -66,18 +87,18 @@ export class WorkbenchObjectRegistry {
|
|
|
66
87
|
return this._objectsById.has(key);
|
|
67
88
|
}
|
|
68
89
|
/**
|
|
69
|
-
*
|
|
90
|
+
* Indicates whether this registry is empty.
|
|
70
91
|
*/
|
|
71
|
-
|
|
72
|
-
return this.
|
|
92
|
+
isEmpty() {
|
|
93
|
+
return this._objectsById.size === 0;
|
|
73
94
|
}
|
|
74
95
|
/**
|
|
75
96
|
* Clears this registry.
|
|
76
97
|
*/
|
|
77
98
|
clear() {
|
|
99
|
+
this._onUnregister && this.objects().forEach(this._onUnregister);
|
|
78
100
|
this._objectsById.clear();
|
|
79
|
-
this._objects.
|
|
80
|
-
this._change$.next();
|
|
101
|
+
this._objects.set([]);
|
|
81
102
|
}
|
|
82
103
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2JlbmNoLW9iamVjdC1yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3JlZ2lzdHJ5L3dvcmtiZW5jaC1vYmplY3QtcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDOzs7Ozs7Ozs7O09BVUc7SUFDSCxZQUFZLE1BQWdIO1FBcEIzRyxhQUFRLEdBQUcsTUFBTSxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztRQU1sQyxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQWNuRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUM1SCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFFekMsa0VBQWtFO1FBQ2xFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUSxDQUFDLE1BQVM7UUFDdkIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5QyxjQUFjO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRW5DLGlCQUFpQjtRQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM3QixNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFDMUIsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsa0JBQWtCO1lBQ3RFLENBQUM7aUJBQ0ksQ0FBQztnQkFDSixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1lBQ3RDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLEdBQVE7UUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsOEJBQThCO1FBQzlCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3QixtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzdCLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFPTSxHQUFHLENBQUMsR0FBUSxFQUFFLE9BQXdCO1FBQzNDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsT0FBTyxNQUFNLElBQUksSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNJLEdBQUcsQ0FBQyxHQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDVixJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIzIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0Rlc3Ryb3lSZWYsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBQcm92aWRlcyBhIHJlZ2lzdHJ5IGZvciB3b3JrYmVuY2ggbW9kZWwgb2JqZWN0cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtiZW5jaE9iamVjdFJlZ2lzdHJ5PEtFWSwgVD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX29iamVjdHMgPSBzaWduYWw8VFtdPihbXSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29iamVjdHNCeUlkID0gbmV3IE1hcDxLRVksIFQ+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfa2V5Rm46IChvYmplY3Q6IFQpID0+IEtFWTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbnVsbE9iamVjdEVycm9yRm46IChrZXk6IEtFWSkgPT4gRXJyb3I7XG4gIHByaXZhdGUgcmVhZG9ubHkgX29uVW5yZWdpc3RlcjogKChvYmplY3Q6IFQpID0+IHZvaWQpIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyByZWFkb25seSBvYmplY3RzID0gdGhpcy5fb2JqZWN0cy5hc1JlYWRvbmx5KCk7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhlIHJlZ2lzdHJ5LlxuICAgKlxuICAgKiBUaGlzIHJlZ2lzdHJ5IG11c3QgYmUgY29uc3RydWN0ZWQgd2l0aGluIGFuIGluamVjdGlvbiBjb250ZXh0LiBEZXN0cm95aW5nIHRoZSBpbmplY3Rpb24gY29udGV4dCB3aWxsIGFsc28gZGVzdHJveSB0aGUgcmVnaXN0cnksXG4gICAqIGludm9raW5nIHRoZSBzcGVjaWZpZWQgYG9uVW5yZWdpc3RlcmAgZnVuY3Rpb24gZm9yIGVhY2ggb2JqZWN0IGluIHRoZSByZWdpc3RyeS5cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyAtIENvbnRyb2xzIHRoZSBjcmVhdGlvbiBvZiB0aGUgcmVnaXN0cnkuXG4gICAqIEBwYXJhbSBjb25maWcua2V5Rm4gLSBGdW5jdGlvbiB0byBleHRyYWN0IHRoZSBrZXkgb2YgYW4gb2JqZWN0LlxuICAgKiBAcGFyYW0gY29uZmlnLm51bGxPYmplY3RFcnJvckZuIC0gRnVuY3Rpb24gdG8gcHJvdmlkZSBhbiBlcnJvciB3aGVuIGxvb2tpbmcgdXAgYW4gb2JqZWN0IG5vdCBjb250YWluZWQgaW4gdGhlIHJlZ2lzdHJ5LlxuICAgKiBAcGFyYW0gY29uZmlnLm9uVW5yZWdpc3RlciAtIEZ1bmN0aW9uIGludm9rZWQgd2hlbiBhbiBvYmplY3QgaXMgdW5yZWdpc3RlcmVkLlxuICAgKi9cbiAgY29uc3RydWN0b3IoY29uZmlnOiB7a2V5Rm46IChvYmplY3Q6IFQpID0+IEtFWTsgbnVsbE9iamVjdEVycm9yRm4/OiAoa2V5OiBLRVkpID0+IEVycm9yOyBvblVucmVnaXN0ZXI/OiAob2JqZWN0OiBUKSA9PiB2b2lkfSkge1xuICAgIHRoaXMuX2tleUZuID0gY29uZmlnLmtleUZuO1xuICAgIHRoaXMuX251bGxPYmplY3RFcnJvckZuID0gY29uZmlnLm51bGxPYmplY3RFcnJvckZuID8/ICgoa2V5OiBLRVkpID0+IEVycm9yKGBbTnVsbE9iamVjdEVycm9yXSBPYmplY3QgJyR7a2V5fScgbm90IGZvdW5kLmApKTtcbiAgICB0aGlzLl9vblVucmVnaXN0ZXIgPSBjb25maWcub25VbnJlZ2lzdGVyO1xuXG4gICAgLy8gQ2xlYXIgcmVnaXN0cnkgd2hlbiB0aGUgY3VycmVudCBpbmplY3Rpb24gY29udGV4dCBpcyBkZXN0cm95ZWQuXG4gICAgaW5qZWN0KERlc3Ryb3lSZWYpLm9uRGVzdHJveSgoKSA9PiB0aGlzLmNsZWFyKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBnaXZlbiBvYmplY3QsIHJlcGxhY2luZyBhbnkgcHJldmlvdXNseSByZWdpc3RlcmVkIG9iamVjdCB3aXRoIHRoZSBzYW1lIGtleS5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlcihvYmplY3Q6IFQpOiB2b2lkIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLl9rZXlGbihvYmplY3QpO1xuICAgIGNvbnN0IHByZXZPYmplY3QgPSB0aGlzLl9vYmplY3RzQnlJZC5nZXQoa2V5KTtcblxuICAgIC8vIEFkZCB0byBNYXAuXG4gICAgdGhpcy5fb2JqZWN0c0J5SWQuc2V0KGtleSwgb2JqZWN0KTtcblxuICAgIC8vIEFkZCB0byBTaWduYWwuXG4gICAgdGhpcy5fb2JqZWN0cy51cGRhdGUob2JqZWN0cyA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLm9iamVjdHNdO1xuICAgICAgaWYgKHByZXZPYmplY3QpIHtcbiAgICAgICAgY29weS5zcGxpY2UoY29weS5pbmRleE9mKHByZXZPYmplY3QpLCAxLCBvYmplY3QpOyAvLyBSZXBsYWNlIG9iamVjdC5cbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBjb3B5LnB1c2gob2JqZWN0KTsgLy8gQXBwZW5kIG9iamVjdC5cbiAgICAgIH1cbiAgICAgIHJldHVybiBjb3B5O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVucmVnaXN0ZXJzIHNwZWNpZmllZCBvYmplY3QuXG4gICAqL1xuICBwdWJsaWMgdW5yZWdpc3RlcihrZXk6IEtFWSk6IFQgfCBudWxsIHtcbiAgICBjb25zdCBvYmplY3QgPSB0aGlzLl9vYmplY3RzQnlJZC5nZXQoa2V5KTtcbiAgICBpZiAoIW9iamVjdCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gSW52b2tlIHVucmVnaXN0ZXIgZnVuY3Rpb24uXG4gICAgdGhpcy5fb25VbnJlZ2lzdGVyPy4ob2JqZWN0KTtcblxuICAgIC8vIFJlbW92ZSBmcm9tIE1hcC5cbiAgICB0aGlzLl9vYmplY3RzQnlJZC5kZWxldGUoa2V5KTtcbiAgICAvLyBSZW1vdmUgZnJvbSBTaWduYWwuXG4gICAgdGhpcy5fb2JqZWN0cy51cGRhdGUob2JqZWN0cyA9PiB7XG4gICAgICBjb25zdCBjb3B5ID0gWy4uLm9iamVjdHNdO1xuICAgICAgY29weS5zcGxpY2UoY29weS5pbmRleE9mKG9iamVjdCksIDEpO1xuICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBvYmplY3Qgb2YgdGhlIGdpdmVuIGlkZW50aXR5LiBJZiBub3QgZm91bmQsIGJ5IGRlZmF1bHQsIHRocm93cyBhbiBlcnJvciB1bmxlc3Mgc2V0dGluZyB0aGUgYG9yRWxzZU51bGxgIG9wdGlvbi5cbiAgICovXG4gIHB1YmxpYyBnZXQoa2V5OiBLRVkpOiBUO1xuICBwdWJsaWMgZ2V0KGtleTogS0VZLCBvcHRpb25zPzoge29yRWxzZTogbnVsbH0pOiBUIHwgbnVsbDtcbiAgcHVibGljIGdldChrZXk6IEtFWSwgb3B0aW9ucz86IHtvckVsc2U6IG51bGx9KTogVCB8IG51bGwge1xuICAgIGNvbnN0IG9iamVjdCA9IHRoaXMuX29iamVjdHNCeUlkLmdldChrZXkpO1xuICAgIGlmICghb2JqZWN0ICYmICFvcHRpb25zKSB7XG4gICAgICB0aHJvdyB0aGlzLl9udWxsT2JqZWN0RXJyb3JGbihrZXkpO1xuICAgIH1cbiAgICByZXR1cm4gb2JqZWN0ID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgYW4gb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCBrZXkgZXhpc3RzIG9yIG5vdC5cbiAgICovXG4gIHB1YmxpYyBoYXMoa2V5OiBLRVkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fb2JqZWN0c0J5SWQuaGFzKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhpcyByZWdpc3RyeSBpcyBlbXB0eS5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9vYmplY3RzQnlJZC5zaXplID09PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGlzIHJlZ2lzdHJ5LlxuICAgKi9cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX29uVW5yZWdpc3RlciAmJiB0aGlzLm9iamVjdHMoKS5mb3JFYWNoKHRoaXMuX29uVW5yZWdpc3Rlcik7XG4gICAgdGhpcy5fb2JqZWN0c0J5SWQuY2xlYXIoKTtcbiAgICB0aGlzLl9vYmplY3RzLnNldChbXSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
*/
|
|
10
10
|
export { WorkbenchRouter } from './workbench-router.service';
|
|
11
11
|
export { WorkbenchRouterLinkDirective } from './workbench-router-link.directive';
|
|
12
|
-
export { WorkbenchAuxiliaryRoutesRegistrator } from './workbench-auxiliary-routes-registrator.service';
|
|
13
12
|
export { WorkbenchRouteData } from './workbench-route-data';
|
|
14
|
-
|
|
13
|
+
export { canMatchWorkbenchView, canMatchWorkbenchPerspective } from './workbench-route-guards';
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3JvdXRpbmcvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRCxPQUFPLEVBQUMscUJBQXFCLEVBQUUsNEJBQTRCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMyBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuZXhwb3J0IHtXb3JrYmVuY2hSb3V0ZXJ9IGZyb20gJy4vd29ya2JlbmNoLXJvdXRlci5zZXJ2aWNlJztcbmV4cG9ydCB7V29ya2JlbmNoUm91dGVyTGlua0RpcmVjdGl2ZX0gZnJvbSAnLi93b3JrYmVuY2gtcm91dGVyLWxpbmsuZGlyZWN0aXZlJztcbmV4cG9ydCB7V29ya2JlbmNoUm91dGVEYXRhfSBmcm9tICcuL3dvcmtiZW5jaC1yb3V0ZS1kYXRhJztcbmV4cG9ydCB7Q29tbWFuZHMsIE5hdmlnYXRpb25EYXRhLCBOYXZpZ2F0aW9uU3RhdGUsIFdvcmtiZW5jaE5hdmlnYXRpb25FeHRyYXMsIE5hdmlnYXRlRm59IGZyb20gJy4vcm91dGluZy5tb2RlbCc7XG5leHBvcnQge2Nhbk1hdGNoV29ya2JlbmNoVmlldywgY2FuTWF0Y2hXb3JrYmVuY2hQZXJzcGVjdGl2ZX0gZnJvbSAnLi93b3JrYmVuY2gtcm91dGUtZ3VhcmRzJztcbiJdfQ==
|
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
* SPDX-License-Identifier: EPL-2.0
|
|
9
9
|
*/
|
|
10
10
|
export {};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3JvdXRpbmcvcm91dGluZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzLCBVcmxTZWdtZW50fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtWaWV3SWR9IGZyb20gJy4uL3ZpZXcvd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaExheW91dH0gZnJvbSAnLi4vbGF5b3V0L8m1d29ya2JlbmNoLWxheW91dCc7XG5pbXBvcnQge1dvcmtiZW5jaExheW91dERpZmZ9IGZyb20gJy4vd29ya2JlbmNoLWxheW91dC1kaWZmZXInO1xuaW1wb3J0IHtXb3JrYmVuY2hQb3B1cERpZmZ9IGZyb20gJy4vd29ya2JlbmNoLXBvcHVwLWRpZmZlcic7XG5pbXBvcnQge1dvcmtiZW5jaERpYWxvZ0RpZmZ9IGZyb20gJy4vd29ya2JlbmNoLWRpYWxvZy1kaWZmZXInO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXR9IGZyb20gJy4uL2xheW91dC93b3JrYmVuY2gtbGF5b3V0JztcbmltcG9ydCB7V29ya2JlbmNoTWVzc2FnZUJveERpZmZ9IGZyb20gJy4vd29ya2JlbmNoLW1lc3NhZ2UtYm94LWRpZmZlcic7XG5cbi8qKlxuICogT3B0aW9ucyB0byBjb250cm9sIHRoZSBuYXZpZ2F0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtiZW5jaE5hdmlnYXRpb25FeHRyYXMgZXh0ZW5kcyBOYXZpZ2F0aW9uRXh0cmFzIHtcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXJlIHRvIG9wZW4gdGhlIHZpZXcuIERlZmF1bHQgaXMgYGF1dG9gLlxuICAgKlxuICAgKiBPbmUgb2Y6XG4gICAqIC0gJ2F1dG8nOiAgIE5hdmlnYXRlcyBleGlzdGluZyB2aWV3cyB0aGF0IG1hdGNoIHRoZSBwYXRoLCBvciBvcGVucyBhIG5ldyB2aWV3IG90aGVyd2lzZS4gTWF0cml4IHBhcmFtcyBkbyBub3QgYWZmZWN0IHZpZXcgcmVzb2x1dGlvbi5cbiAgICogLSAnYmxhbmsnOiAgTmF2aWdhdGVzIGluIGEgbmV3IHZpZXcuXG4gICAqIC0gPHZpZXdJZD46IE5hdmlnYXRlcyB0aGUgc3BlY2lmaWVkIHZpZXcuIElmIGFscmVhZHkgb3BlbmVkLCByZXBsYWNlcyBpdCwgb3Igb3BlbnMgYSBuZXcgdmlldyBvdGhlcndpc2UuXG4gICAqL1xuICB0YXJnZXQ/OiBWaWV3SWQgfCBzdHJpbmcgfCAnYmxhbmsnIHwgJ2F1dG8nO1xuICAvKipcbiAgICogQ29udHJvbHMgd2hpY2ggcGFydCB0byBuYXZpZ2F0ZSB2aWV3cyBpbi5cbiAgICpcbiAgICogSWYgdGFyZ2V0IGlzIGBibGFua2AsIG9wZW5zIHRoZSB2aWV3IGluIHRoZSBzcGVjaWZpZWQgcGFydC5cbiAgICogSWYgdGFyZ2V0IGlzIGBhdXRvYCwgbmF2aWdhdGVzIG1hdGNoaW5nIHZpZXdzIGluIHRoZSBzcGVjaWZpZWQgcGFydCwgb3Igb3BlbnMgYSBuZXcgdmlldyBpbiB0aGF0IHBhcnQgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBJZiB0aGUgc3BlY2lmaWVkIHBhcnQgaXMgbm90IGluIHRoZSBsYXlvdXQsIG9wZW5zIHRoZSB2aWV3IGluIHRoZSBhY3RpdmUgcGFydCwgd2l0aCB0aGUgYWN0aXZlIHBhcnQgb2YgdGhlIG1haW4gYXJlYSB0YWtpbmcgcHJlY2VkZW5jZS5cbiAgICovXG4gIHBhcnRJZD86IHN0cmluZztcbiAgLyoqXG4gICAqIFNldHMgYSBoaW50IHRvIGNvbnRyb2wgbmF2aWdhdGlvbiwgZS5nLiwgZm9yIHVzZSBpbiBhIGBDYW5NYXRjaGAgZ3VhcmQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHJvdXRlcyB3aXRoIGFuIGlkZW50aWNhbCBwYXRoLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgdmlld3Mgb2YgdGhlIGluaXRpYWwgbGF5b3V0IG9yIGEgcGVyc3BlY3RpdmUgYXJlIHVzdWFsbHkgbmF2aWdhdGVkIHRvIHRoZSBlbXB0eSBwYXRoIHJvdXRlIHRvIGF2b2lkIGNsdXR0ZXJpbmcgdGhlIFVSTCxcbiAgICogcmVxdWlyaW5nIGEgbmF2aWdhdGlvbiBoaW50IHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0aGUgcm91dGVzLiBTZWUge0BsaW5rIGNhbk1hdGNoV29ya2JlbmNoVmlld30gZm9yIGFuIGV4YW1wbGUuXG4gICAqXG4gICAqIExpa2UgdGhlIHBhdGgsIGEgaGludCBhZmZlY3RzIHZpZXcgcmVzb2x1dGlvbi4gSWYgc2V0LCB0aGUgcm91dGVyIHdpbGwgb25seSBuYXZpZ2F0ZSB2aWV3cyB3aXRoIGFuIGVxdWl2YWxlbnQgaGludCwgb3IgaWYgbm90IHNldCwgdmlld3Mgd2l0aG91dCBhIGhpbnQuXG4gICAqXG4gICAqIEBzZWUgY2FuTWF0Y2hXb3JrYmVuY2hWaWV3XG4gICAqL1xuICBoaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogSW5zdHJ1Y3RzIHRoZSByb3V0ZXIgdG8gYWN0aXZhdGUgdGhlIHZpZXcuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgYWN0aXZhdGU/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXJlIHRvIGluc2VydCB0aGUgdmlldyBpbnRvIHRoZSB0YWIgYmFyLiBIYXMgbm8gZWZmZWN0IGlmIG5hdmlnYXRpbmcgYW4gZXhpc3Rpbmcgdmlldy4gRGVmYXVsdCBpcyBhZnRlciB0aGUgYWN0aXZlIHZpZXcuXG4gICAqL1xuICBwb3NpdGlvbj86IG51bWJlciB8ICdzdGFydCcgfCAnZW5kJyB8ICdiZWZvcmUtYWN0aXZlLXZpZXcnIHwgJ2FmdGVyLWFjdGl2ZS12aWV3JztcbiAgLyoqXG4gICAqIEFzc29jaWF0ZXMgYXJiaXRyYXJ5IHN0YXRlIHdpdGggYSB2aWV3IG5hdmlnYXRpb24uXG4gICAqXG4gICAqIE5hdmlnYXRpb25hbCBzdGF0ZSBpcyBzdG9yZWQgaW4gdGhlIGJyb3dzZXIncyBzZXNzaW9uIGhpc3RvcnksIHN1cHBvcnRpbmcgYmFjay9mb3J3YXJkIG5hdmlnYXRpb24sIGJ1dCBpcyBsb3N0IG9uIHBhZ2UgcmVsb2FkLlxuICAgKiBUaGVyZWZvcmUsIGEgdmlldyBtdXN0IGJlIGFibGUgdG8gcmVzdG9yZSBpdHMgc3RhdGUgd2l0aG91dCByZWx5aW5nIG9uIG5hdmlnYXRpb25hbCBzdGF0ZS5cbiAgICpcbiAgICogTmF2aWdhdGlvbmFsIHN0YXRlIGNhbiBiZSByZWFkIGZyb20ge0BsaW5rIFdvcmtiZW5jaFZpZXcuc3RhdGV9IG9yIHRoZSBicm93c2VyJ3Mgc2Vzc2lvbiBoaXN0b3J5IHZpYSBgaGlzdG9yeS5zdGF0ZWAuXG4gICAqL1xuICBzdGF0ZT86IFZpZXdTdGF0ZTtcbiAgLyoqXG4gICAqIENsb3NlcyB2aWV3cyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgcGF0aCBhbmQgbmF2aWdhdGlvbiBoaW50LiBNYXRyaXggcGFyYW1ldGVycyBkbyBub3QgYWZmZWN0IHZpZXcgcmVzb2x1dGlvbi5cbiAgICogVGhlIHBhdGggc3VwcG9ydHMgdGhlIGFzdGVyaXNrIHdpbGRjYXJkIHNlZ21lbnQgKGAqYCkgdG8gbWF0Y2ggdmlld3Mgd2l0aCBhbnkgdmFsdWUgaW4gYSBzZWdtZW50LlxuICAgKiBUbyBjbG9zZSBhIHNwZWNpZmljIHZpZXcsIHNldCBhIHZpZXcgdGFyZ2V0IGluc3RlYWQgb2YgYSBwYXRoLlxuICAgKi9cbiAgY2xvc2U/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmaWVzIENTUyBjbGFzcyhlcykgdG8gYWRkIHRvIHRoZSB2aWV3LCBlLmcuLCB0byBsb2NhdGUgdGhlIHZpZXcgaW4gdGVzdHMuXG4gICAqL1xuICBjc3NDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENvbnRleHR1YWwgZGF0YSBvZiBhIHdvcmtiZW5jaCBuYXZpZ2F0aW9uIGF2YWlsYWJsZSBpbiB0aGUgcm91dGVyIGR1cmluZyBuYXZpZ2F0aW9uLlxuICpcbiAqIEBzZWUgV29ya2JlbmNoVXJsT2JzZXJ2ZXJcbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrYmVuY2hOYXZpZ2F0aW9uQ29udGV4dCB7XG4gIC8qKlxuICAgKiBMYXlvdXQgdG8gYmUgYXBwbGllZCBhZnRlciBzdWNjZXNzZnVsIG5hdmlnYXRpb24uXG4gICAqL1xuICBsYXlvdXQ6IMm1V29ya2JlbmNoTGF5b3V0O1xuICAvKipcbiAgICogV29ya2JlbmNoIGxheW91dCBlbGVtZW50cyBhZGRlZCBvciByZW1vdmVkIGJ5IHRoZSBjdXJyZW50IG5hdmlnYXRpb24uXG4gICAqL1xuICBsYXlvdXREaWZmOiBXb3JrYmVuY2hMYXlvdXREaWZmO1xuICAvKipcbiAgICogUG9wdXBzIGFkZGVkIG9yIHJlbW92ZWQgYnkgdGhlIGN1cnJlbnQgbmF2aWdhdGlvbi5cbiAgICovXG4gIHBvcHVwRGlmZjogV29ya2JlbmNoUG9wdXBEaWZmO1xuICAvKipcbiAgICogRGlhbG9ncyBhZGRlZCBvciByZW1vdmVkIGJ5IHRoZSBjdXJyZW50IG5hdmlnYXRpb24uXG4gICAqL1xuICBkaWFsb2dEaWZmOiBXb3JrYmVuY2hEaWFsb2dEaWZmO1xuXG4gIC8qKlxuICAgKiBNZXNzYWdlIGJveGVzIGFkZGVkIG9yIHJlbW92ZWQgYnkgdGhlIGN1cnJlbnQgbmF2aWdhdGlvbi5cbiAgICovXG4gIG1lc3NhZ2VCb3hEaWZmOiBXb3JrYmVuY2hNZXNzYWdlQm94RGlmZjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIG9yZGVyZWQgbGlzdCBvZiBwYXRoIHNlZ21lbnRzIGluc3RydWN0aW5nIHRoZSByb3V0ZXIgd2hpY2ggcm91dGUgdG8gbmF2aWdhdGUgdG8uXG4gKlxuICogQSBjb21tYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhbiBvYmplY3QgbGl0ZXJhbC4gQSBzdHJpbmcgcmVwcmVzZW50cyBhIHBhdGggc2VnbWVudCwgYW4gb2JqZWN0IGxpdGVyYWwgYXNzb2NpYXRlcyBtYXRyaXggcGFyYW1ldGVycyB3aXRoIHRoZSBwcmVjZWRpbmcgc2VnbWVudC5cbiAqIE11bHRpcGxlIHNlZ21lbnRzIGNhbiBiZSBjb21iaW5lZCBpbnRvIGEgc2luZ2xlIGNvbW1hbmQsIHNlcGFyYXRlZCBieSBhIGZvcndhcmQgc2xhc2guXG4gKlxuICogVGhlIGZpcnN0IHBhdGggc2VnbWVudCBzdXBwb3J0cyB0aGUgdXNhZ2Ugb2YgbmF2aWdhdGlvbmFsIHN5bWJvbHMgc3VjaCBhcyBgL2AsIGAuL2AsIG9yIGAuLi9gLlxuICpcbiAqIEV4YW1wbGVzOlxuICogLSBOYXZpZ2F0ZXMgdG8gdGhlIHBhdGggJ3BhdGgvdG8vdmlldycsIHBhc3NpbmcgdHdvIHBhcmFtZXRlcnM6XG4gKiAgIFsncGF0aCcsICd0bycsICd2aWV3Jywge3BhcmFtMTogJ3ZhbHVlMScsIHBhcmFtMjogJ3ZhbHVlMid9XVxuICogLSBBbHRlcm5hdGl2ZSBzeW50YXggdXNpbmcgYSBjb21iaW5lZCBzZWdtZW50OlxuICogICBbJ3BhdGgvdG8vdmlldycsIHtwYXJhbTE6ICd2YWx1ZTEnLCBwYXJhbTI6ICd2YWx1ZTInfV1cbiAqL1xuZXhwb3J0IHR5cGUgQ29tbWFuZHMgPSBhbnlbXTtcblxuLyoqXG4gKiBVUkwgc2VnbWVudHMgb2Ygdmlld3MgY29udGFpbmVkIGluIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICovXG5leHBvcnQgdHlwZSBWaWV3T3V0bGV0cyA9IHtbdmlld0lkOiBWaWV3SWRdOiBVcmxTZWdtZW50W119O1xuXG4vKipcbiAqIE5hdmlnYXRpb25hbCB2aWV3IHN0YXRlcyBhc3NvY2lhdGVkIHdpdGggYSB3b3JrYmVuY2ggbmF2aWdhdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgVmlld1N0YXRlcyA9IHtbdmlld0lkOiBWaWV3SWRdOiBWaWV3U3RhdGV9O1xuXG4vKipcbiAqIFN0YXRlIGFzc29jaWF0ZWQgd2l0aCBhIHZpZXcgbmF2aWdhdGlvbi5cbiAqXG4gKiBOYXZpZ2F0aW9uYWwgc3RhdGUgaXMgc3RvcmVkIGluIHRoZSBicm93c2VyJ3Mgc2Vzc2lvbiBoaXN0b3J5LCBzdXBwb3J0aW5nIGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uLCBidXQgaXMgbG9zdCBvbiBwYWdlIHJlbG9hZC5cbiAqIFRoZXJlZm9yZSwgYSB2aWV3IG11c3QgYmUgYWJsZSB0byByZXN0b3JlIGl0cyBzdGF0ZSB3aXRob3V0IHJlbHlpbmcgb24gbmF2aWdhdGlvbmFsIHN0YXRlLlxuICpcbiAqIE5hdmlnYXRpb25hbCBzdGF0ZSBjYW4gYmUgcmVhZCBmcm9tIHtAbGluayBXb3JrYmVuY2hWaWV3LnN0YXRlfSBvciB0aGUgYnJvd3NlcidzIHNlc3Npb24gaGlzdG9yeSB2aWEgYGhpc3Rvcnkuc3RhdGVgLlxuICovXG5leHBvcnQgdHlwZSBWaWV3U3RhdGUgPSB7W2tleTogc3RyaW5nXTogdW5rbm93bn07XG4vKipcbiAqIFNpZ25hdHVyZSBvZiBhIGZ1bmN0aW9uIHRvIG1vZGlmeSB0aGUgd29ya2JlbmNoIGxheW91dC5cbiAqXG4gKiBUaGUgcm91dGVyIHdpbGwgaW52b2tlIHRoaXMgZnVuY3Rpb24gd2l0aCB0aGUgY3VycmVudCB3b3JrYmVuY2ggbGF5b3V0LiBUaGUgbGF5b3V0IGhhcyBtZXRob2RzIGZvciBtb2RpZnlpbmcgaXQuXG4gKiBUaGUgbGF5b3V0IGlzIGltbXV0YWJsZSwgc28gZWFjaCBtb2RpZmljYXRpb24gY3JlYXRlcyBhIG5ldyBpbnN0YW5jZS4gVXNlIHRoZSBpbnN0YW5jZSBmb3IgZnVydGhlciBtb2RpZmljYXRpb25zIGFuZCBmaW5hbGx5IHJldHVybiBpdC5cbiAqXG4gKiBUaGUgZnVuY3Rpb24gY2FuIGNhbGwgYGluamVjdGAgdG8gZ2V0IGFueSByZXF1aXJlZCBkZXBlbmRlbmNpZXMuXG4gKlxuICogIyMgV29ya2JlbmNoIExheW91dFxuICogVGhlIHdvcmtiZW5jaCBsYXlvdXQgaXMgYSBncmlkIG9mIHBhcnRzLiBQYXJ0cyBhcmUgYWxpZ25lZCByZWxhdGl2ZSB0byBlYWNoIG90aGVyLiBBIHBhcnQgaXMgYSBzdGFjayBvZiB2aWV3cy4gQ29udGVudCBpcyBkaXNwbGF5ZWQgaW4gdmlld3MuXG4gKlxuICogIyMgRXhhbXBsZVxuICogVGhlIGZvbGxvd2luZyBleGFtcGxlIGFkZHMgYSBwYXJ0IHRvIHRoZSBsZWZ0IG9mIHRoZSBtYWluIGFyZWEsIGluc2VydHMgYSB2aWV3IGFuZCBuYXZpZ2F0ZXMgaXQuXG4gKlxuICogYGBgdHNcbiAqIGluamVjdChXb3JrYmVuY2hSb3V0ZXIpLm5hdmlnYXRlKGxheW91dCA9PiBsYXlvdXRcbiAqICAgLmFkZFBhcnQoJ2xlZnQnLCB7cmVsYXRpdmVUbzogTUFJTl9BUkVBLCBhbGlnbjogJ2xlZnQnfSlcbiAqICAgLmFkZFZpZXcoJ25hdmlnYXRvcicsIHtwYXJ0SWQ6ICdsZWZ0J30pXG4gKiAgIC5uYXZpZ2F0ZVZpZXcoJ25hdmlnYXRvcicsIFsncGF0aC90by92aWV3J10pXG4gKiAgIC5hY3RpdmF0ZVZpZXcoJ25hdmlnYXRvcicpXG4gKiApO1xuICogYGBgXG4gKlxuICogQHBhcmFtIGxheW91dCAtIFJlZmVyZW5jZSB0byB0aGUgY3VycmVudCB3b3JrYmVuY2ggbGF5b3V0IGZvciBtb2RpZmljYXRpb24uXG4gKiBAcmV0dXJuIE1vZGlmaWVkIGxheW91dCwgb3IgYG51bGxgIHRvIGNhbmNlbCBuYXZpZ2F0aW9uLlxuICovXG5leHBvcnQgdHlwZSBOYXZpZ2F0ZUZuID0gKGxheW91dDogV29ya2JlbmNoTGF5b3V0KSA9PiBQcm9taXNlPFdvcmtiZW5jaExheW91dCB8IG51bGw+IHwgV29ya2JlbmNoTGF5b3V0IHwgbnVsbDtcbiJdfQ==
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL3JvdXRpbmcvcm91dGluZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyNCBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtOYXZpZ2F0aW9uRXh0cmFzLCBVcmxTZWdtZW50fSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtWaWV3SWR9IGZyb20gJy4uL3ZpZXcvd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaExheW91dH0gZnJvbSAnLi4vbGF5b3V0L8m1d29ya2JlbmNoLWxheW91dCc7XG5pbXBvcnQge1dvcmtiZW5jaExheW91dERpZmZ9IGZyb20gJy4vd29ya2JlbmNoLWxheW91dC1kaWZmZXInO1xuaW1wb3J0IHtXb3JrYmVuY2hQb3B1cERpZmZ9IGZyb20gJy4vd29ya2JlbmNoLXBvcHVwLWRpZmZlcic7XG5pbXBvcnQge1dvcmtiZW5jaERpYWxvZ0RpZmZ9IGZyb20gJy4vd29ya2JlbmNoLWRpYWxvZy1kaWZmZXInO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXR9IGZyb20gJy4uL2xheW91dC93b3JrYmVuY2gtbGF5b3V0JztcbmltcG9ydCB7V29ya2JlbmNoTWVzc2FnZUJveERpZmZ9IGZyb20gJy4vd29ya2JlbmNoLW1lc3NhZ2UtYm94LWRpZmZlcic7XG5pbXBvcnQge1dvcmtiZW5jaFZpZXdPdXRsZXREaWZmfSBmcm9tICcuL3dvcmtiZW5jaC12aWV3LW91dGxldC1kaWZmZXInO1xuXG4vKipcbiAqIE9wdGlvbnMgdG8gY29udHJvbCB0aGUgbmF2aWdhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrYmVuY2hOYXZpZ2F0aW9uRXh0cmFzIGV4dGVuZHMgTmF2aWdhdGlvbkV4dHJhcyB7XG4gIC8qKlxuICAgKiBDb250cm9scyB3aGVyZSB0byBvcGVuIHRoZSB2aWV3LiBEZWZhdWx0IGlzIGBhdXRvYC5cbiAgICpcbiAgICogT25lIG9mOlxuICAgKiAtICdhdXRvJzogICBOYXZpZ2F0ZXMgZXhpc3Rpbmcgdmlld3MgdGhhdCBtYXRjaCB0aGUgcGF0aCwgb3Igb3BlbnMgYSBuZXcgdmlldyBvdGhlcndpc2UuIE1hdHJpeCBwYXJhbXMgZG8gbm90IGFmZmVjdCB2aWV3IHJlc29sdXRpb24uXG4gICAqIC0gJ2JsYW5rJzogIE5hdmlnYXRlcyBpbiBhIG5ldyB2aWV3LlxuICAgKiAtIDx2aWV3SWQ+OiBOYXZpZ2F0ZXMgdGhlIHNwZWNpZmllZCB2aWV3LiBJZiBhbHJlYWR5IG9wZW5lZCwgcmVwbGFjZXMgaXQsIG9yIG9wZW5zIGEgbmV3IHZpZXcgb3RoZXJ3aXNlLlxuICAgKi9cbiAgdGFyZ2V0PzogVmlld0lkIHwgc3RyaW5nIHwgJ2JsYW5rJyB8ICdhdXRvJztcbiAgLyoqXG4gICAqIENvbnRyb2xzIHdoaWNoIHBhcnQgdG8gbmF2aWdhdGUgdmlld3MgaW4uXG4gICAqXG4gICAqIElmIHRhcmdldCBpcyBgYmxhbmtgLCBvcGVucyB0aGUgdmlldyBpbiB0aGUgc3BlY2lmaWVkIHBhcnQuXG4gICAqIElmIHRhcmdldCBpcyBgYXV0b2AsIG5hdmlnYXRlcyBtYXRjaGluZyB2aWV3cyBpbiB0aGUgc3BlY2lmaWVkIHBhcnQsIG9yIG9wZW5zIGEgbmV3IHZpZXcgaW4gdGhhdCBwYXJ0IG90aGVyd2lzZS5cbiAgICpcbiAgICogSWYgdGhlIHNwZWNpZmllZCBwYXJ0IGlzIG5vdCBpbiB0aGUgbGF5b3V0LCBvcGVucyB0aGUgdmlldyBpbiB0aGUgYWN0aXZlIHBhcnQsIHdpdGggdGhlIGFjdGl2ZSBwYXJ0IG9mIHRoZSBtYWluIGFyZWEgdGFraW5nIHByZWNlZGVuY2UuXG4gICAqL1xuICBwYXJ0SWQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTZXRzIGEgaGludCB0byBjb250cm9sIG5hdmlnYXRpb24sIGUuZy4sIGZvciB1c2UgaW4gYSBgQ2FuTWF0Y2hgIGd1YXJkIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiByb3V0ZXMgd2l0aCBhbiBpZGVudGljYWwgcGF0aC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIHZpZXdzIG9mIHRoZSBpbml0aWFsIGxheW91dCBvciBhIHBlcnNwZWN0aXZlIGFyZSB1c3VhbGx5IG5hdmlnYXRlZCB0byB0aGUgZW1wdHkgcGF0aCByb3V0ZSB0byBhdm9pZCBjbHV0dGVyaW5nIHRoZSBVUkwsXG4gICAqIHJlcXVpcmluZyBhIG5hdmlnYXRpb24gaGludCB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdGhlIHJvdXRlcy4gU2VlIHtAbGluayBjYW5NYXRjaFdvcmtiZW5jaFZpZXd9IGZvciBhbiBleGFtcGxlLlxuICAgKlxuICAgKiBMaWtlIHRoZSBwYXRoLCBhIGhpbnQgYWZmZWN0cyB2aWV3IHJlc29sdXRpb24uIElmIHNldCwgdGhlIHJvdXRlciB3aWxsIG9ubHkgbmF2aWdhdGUgdmlld3Mgd2l0aCBhbiBlcXVpdmFsZW50IGhpbnQsIG9yIGlmIG5vdCBzZXQsIHZpZXdzIHdpdGhvdXQgYSBoaW50LlxuICAgKlxuICAgKiBAc2VlIGNhbk1hdGNoV29ya2JlbmNoVmlld1xuICAgKi9cbiAgaGludD86IHN0cmluZztcbiAgLyoqXG4gICAqIEluc3RydWN0cyB0aGUgcm91dGVyIHRvIGFjdGl2YXRlIHRoZSB2aWV3LiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIGFjdGl2YXRlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGVyZSB0byBpbnNlcnQgdGhlIHZpZXcgaW50byB0aGUgdGFiIGJhci4gSGFzIG5vIGVmZmVjdCBpZiBuYXZpZ2F0aW5nIGFuIGV4aXN0aW5nIHZpZXcuIERlZmF1bHQgaXMgYWZ0ZXIgdGhlIGFjdGl2ZSB2aWV3LlxuICAgKi9cbiAgcG9zaXRpb24/OiBudW1iZXIgfCAnc3RhcnQnIHwgJ2VuZCcgfCAnYmVmb3JlLWFjdGl2ZS12aWV3JyB8ICdhZnRlci1hY3RpdmUtdmlldyc7XG4gIC8qKlxuICAgKiBBc3NvY2lhdGVzIGRhdGEgd2l0aCBhIHZpZXcgbmF2aWdhdGlvbi5cbiAgICpcbiAgICogVW5saWtlIG1hdHJpeCBwYXJhbWV0ZXJzLCBuYXZpZ2F0aW9uIGRhdGEgaXMgc3RvcmVkIGluIHRoZSBsYXlvdXQgYW5kIG5vdCBhZGRlZCB0byB0aGUgcGF0aCwgYWxsb3dpbmcgZGF0YSB0byBiZSBwYXNzZWQgdG8gZW1wdHkgcGF0aCBuYXZpZ2F0aW9ucy5cbiAgICpcbiAgICogRGF0YSBtdXN0IGJlIEpTT04gc2VyaWFsaXphYmxlLiBEYXRhIGNhbiBiZSByZWFkIGZyb20ge0BsaW5rIFdvcmtiZW5jaFZpZXcubmF2aWdhdGlvbkRhdGF9LlxuICAgKi9cbiAgZGF0YT86IE5hdmlnYXRpb25EYXRhO1xuICAvKipcbiAgICogUGFzc2VzIHN0YXRlIHRvIGEgdmlldyBuYXZpZ2F0aW9uLlxuICAgKlxuICAgKiBTdGF0ZSBpcyBub3QgcGVyc2lzdGVudCwgdW5saWtlIHtAbGluayBkYXRhfSwgaXQgaXMgb25seSBhZGRlZCB0byB0aGUgYnJvd3NlcidzIHNlc3Npb24gaGlzdG9yeSB0byBzdXBwb3J0IGJhY2svZm9yd2FyZCBicm93c2VyIG5hdmlnYXRpb24uXG4gICAqIFN0YXRlIGNhbiBiZSByZWFkIGZyb20ge0BsaW5rIFdvcmtiZW5jaFZpZXcubmF2aWdhdGlvblN0YXRlfSBvciBmcm9tIHRoZSBicm93c2VyJ3Mgc2Vzc2lvbiBoaXN0b3J5IHZpYSBgaGlzdG9yeS5zdGF0ZWAuXG4gICAqL1xuICBzdGF0ZT86IE5hdmlnYXRpb25TdGF0ZTtcbiAgLyoqXG4gICAqIENsb3NlcyB2aWV3cyB0aGF0IG1hdGNoIHRoZSBzcGVjaWZpZWQgcGF0aCBhbmQgbmF2aWdhdGlvbiBoaW50LiBNYXRyaXggcGFyYW1ldGVycyBkbyBub3QgYWZmZWN0IHZpZXcgcmVzb2x1dGlvbi5cbiAgICogVGhlIHBhdGggc3VwcG9ydHMgdGhlIGFzdGVyaXNrIHdpbGRjYXJkIHNlZ21lbnQgKGAqYCkgdG8gbWF0Y2ggdmlld3Mgd2l0aCBhbnkgdmFsdWUgaW4gYSBzZWdtZW50LlxuICAgKiBUbyBjbG9zZSBhIHNwZWNpZmljIHZpZXcsIHNldCBhIHZpZXcgdGFyZ2V0IGluc3RlYWQgb2YgYSBwYXRoLlxuICAgKi9cbiAgY2xvc2U/OiBib29sZWFuO1xuICAvKipcbiAgICogU3BlY2lmaWVzIENTUyBjbGFzcyhlcykgdG8gYWRkIHRvIHRoZSB2aWV3LCBlLmcuLCB0byBsb2NhdGUgdGhlIHZpZXcgaW4gdGVzdHMuXG4gICAqL1xuICBjc3NDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENvbnRleHR1YWwgZGF0YSBvZiBhIHdvcmtiZW5jaCBuYXZpZ2F0aW9uIGF2YWlsYWJsZSBpbiB0aGUgcm91dGVyIGR1cmluZyBuYXZpZ2F0aW9uLlxuICpcbiAqIEBzZWUgV29ya2JlbmNoVXJsT2JzZXJ2ZXJcbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrYmVuY2hOYXZpZ2F0aW9uQ29udGV4dCB7XG4gIC8qKlxuICAgKiBMYXlvdXQgdG8gYmUgYXBwbGllZCBhZnRlciBzdWNjZXNzZnVsIG5hdmlnYXRpb24uXG4gICAqL1xuICBsYXlvdXQ6IMm1V29ya2JlbmNoTGF5b3V0O1xuICAvKipcbiAgICogTGF5b3V0IGJlZm9yZSB0aGUgbmF2aWdhdGlvbi5cbiAgICovXG4gIHByZXZpb3VzTGF5b3V0OiDJtVdvcmtiZW5jaExheW91dCB8IG51bGw7XG4gIC8qKlxuICAgKiBXb3JrYmVuY2ggbGF5b3V0IGVsZW1lbnRzIGFkZGVkIG9yIHJlbW92ZWQgYnkgdGhlIGN1cnJlbnQgbmF2aWdhdGlvbi5cbiAgICovXG4gIGxheW91dERpZmY6IFdvcmtiZW5jaExheW91dERpZmY7XG4gIC8qKlxuICAgKiBWaWV3IGF1eGlsaWFyeSByb3V0ZXMgdG8gcmVnaXN0ZXIgb3IgdW5yZWdpc3RlciBieSB0aGUgY3VycmVudCBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgdmlld091dGxldERpZmY6IFdvcmtiZW5jaFZpZXdPdXRsZXREaWZmO1xuICAvKipcbiAgICogUG9wdXBzIGFkZGVkIG9yIHJlbW92ZWQgYnkgdGhlIGN1cnJlbnQgbmF2aWdhdGlvbi5cbiAgICovXG4gIHBvcHVwRGlmZjogV29ya2JlbmNoUG9wdXBEaWZmO1xuICAvKipcbiAgICogRGlhbG9ncyBhZGRlZCBvciByZW1vdmVkIGJ5IHRoZSBjdXJyZW50IG5hdmlnYXRpb24uXG4gICAqL1xuICBkaWFsb2dEaWZmOiBXb3JrYmVuY2hEaWFsb2dEaWZmO1xuICAvKipcbiAgICogTWVzc2FnZSBib3hlcyBhZGRlZCBvciByZW1vdmVkIGJ5IHRoZSBjdXJyZW50IG5hdmlnYXRpb24uXG4gICAqL1xuICBtZXNzYWdlQm94RGlmZjogV29ya2JlbmNoTWVzc2FnZUJveERpZmY7XG5cbiAgLyoqXG4gICAqIFJldmVydHMgY2hhbmdlcyBtYWRlIGR1cmluZyB0aGUgbmF2aWdhdGlvbiBpZiBpdCBmYWlscyBvciBpcyBjYW5jZWxsZWQuXG4gICAqL1xuICB1bmRvQ2hhbmdlcygpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSdW5zIHBvc3QgbmF2aWdhdGlvbiBhY3Rpb25zLlxuICAgKi9cbiAgcnVuUG9zdE5hdmlnYXRpb25BY3Rpb25zKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhbiBhY3Rpb24gdG8gYmUgdW5kb25lIGlmIHRoZSBuYXZpZ2F0aW9uIGZhaWxzIG9yIGlzIGNhbmNlbGxlZC5cbiAgICovXG4gIHJlZ2lzdGVyVW5kb0FjdGlvbihhY3Rpb246ICgpID0+IHZvaWQpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYW4gYWN0aW9uIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIHN1Y2Nlc3NmdWwgbmF2aWdhdGlvbi5cbiAgICovXG4gIHJlZ2lzdGVyUG9zdE5hdmlnYXRpb25BY3Rpb24oYWN0aW9uOiAoKSA9PiB2b2lkKTogdm9pZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIG9yZGVyZWQgbGlzdCBvZiBwYXRoIHNlZ21lbnRzIGluc3RydWN0aW5nIHRoZSByb3V0ZXIgd2hpY2ggcm91dGUgdG8gbmF2aWdhdGUgdG8uXG4gKlxuICogQSBjb21tYW5kIGNhbiBiZSBhIHN0cmluZyBvciBhbiBvYmplY3QgbGl0ZXJhbC4gQSBzdHJpbmcgcmVwcmVzZW50cyBhIHBhdGggc2VnbWVudCwgYW4gb2JqZWN0IGxpdGVyYWwgYXNzb2NpYXRlcyBtYXRyaXggcGFyYW1ldGVycyB3aXRoIHRoZSBwcmVjZWRpbmcgc2VnbWVudC5cbiAqIE11bHRpcGxlIHNlZ21lbnRzIGNhbiBiZSBjb21iaW5lZCBpbnRvIGEgc2luZ2xlIGNvbW1hbmQsIHNlcGFyYXRlZCBieSBhIGZvcndhcmQgc2xhc2guXG4gKlxuICogVGhlIGZpcnN0IHBhdGggc2VnbWVudCBzdXBwb3J0cyB0aGUgdXNhZ2Ugb2YgbmF2aWdhdGlvbmFsIHN5bWJvbHMgc3VjaCBhcyBgL2AsIGAuL2AsIG9yIGAuLi9gLlxuICpcbiAqIEV4YW1wbGVzOlxuICogLSBOYXZpZ2F0ZXMgdG8gdGhlIHBhdGggJ3BhdGgvdG8vdmlldycsIHBhc3NpbmcgdHdvIHBhcmFtZXRlcnM6XG4gKiAgIFsncGF0aCcsICd0bycsICd2aWV3Jywge3BhcmFtMTogJ3ZhbHVlMScsIHBhcmFtMjogJ3ZhbHVlMid9XVxuICogLSBBbHRlcm5hdGl2ZSBzeW50YXggdXNpbmcgYSBjb21iaW5lZCBzZWdtZW50OlxuICogICBbJ3BhdGgvdG8vdmlldycsIHtwYXJhbTE6ICd2YWx1ZTEnLCBwYXJhbTI6ICd2YWx1ZTInfV1cbiAqL1xuZXhwb3J0IHR5cGUgQ29tbWFuZHMgPSBhbnlbXTtcblxuLyoqXG4gKiBVUkwgc2VnbWVudHMgb2Ygdmlld3MgY29udGFpbmVkIGluIHRoZSB3b3JrYmVuY2ggbGF5b3V0LlxuICovXG5leHBvcnQgdHlwZSBWaWV3T3V0bGV0cyA9IHtbdmlld0lkOiBWaWV3SWRdOiBVcmxTZWdtZW50W119O1xuXG4vKipcbiAqIFN0YXRlcyBhc3NvY2lhdGVkIHdpdGggdmlldyBuYXZpZ2F0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgTmF2aWdhdGlvblN0YXRlcyA9IHtbdmlld0lkOiBWaWV3SWRdOiBOYXZpZ2F0aW9uU3RhdGV9O1xuXG4vKipcbiAqIFN0YXRlIHBhc3NlZCB0byBhIHZpZXcgbmF2aWdhdGlvbi5cbiAqXG4gKiBTdGF0ZSBpcyBub3QgcGVyc2lzdGVudCwgdW5saWtlIHtAbGluayBkYXRhfSwgaXQgaXMgb25seSBhZGRlZCB0byB0aGUgYnJvd3NlcidzIHNlc3Npb24gaGlzdG9yeSB0byBzdXBwb3J0IGJhY2svZm9yd2FyZCBicm93c2VyIG5hdmlnYXRpb24uXG4gKiBTdGF0ZSBjYW4gYmUgcmVhZCBmcm9tIHtAbGluayBXb3JrYmVuY2hWaWV3Lm5hdmlnYXRpb25TdGF0ZX0gb3IgZnJvbSB0aGUgYnJvd3NlcidzIHNlc3Npb24gaGlzdG9yeSB2aWEgYGhpc3Rvcnkuc3RhdGVgLlxuICovXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uU3RhdGUgPSB7W2tleTogc3RyaW5nXTogdW5rbm93bn07XG5cbi8qKlxuICogRGF0YSBhc3NvY2lhdGVkIHdpdGggYSB2aWV3IG5hdmlnYXRpb24uXG4gKlxuICogRGF0YSBjYW4gYmUgcmVhZCBmcm9tIHtAbGluayBXb3JrYmVuY2hWaWV3Lm5hdmlnYXRpb25EYXRhfS4gRGF0YSBtdXN0IGJlIEpTT04gc2VyaWFsaXphYmxlLlxuICovXG5leHBvcnQgdHlwZSBOYXZpZ2F0aW9uRGF0YSA9IHtba2V5OiBzdHJpbmddOiB1bmtub3dufTtcblxuLyoqXG4gKiBTaWduYXR1cmUgb2YgYSBmdW5jdGlvbiB0byBtb2RpZnkgdGhlIHdvcmtiZW5jaCBsYXlvdXQuXG4gKlxuICogVGhlIHJvdXRlciB3aWxsIGludm9rZSB0aGlzIGZ1bmN0aW9uIHdpdGggdGhlIGN1cnJlbnQgd29ya2JlbmNoIGxheW91dC4gVGhlIGxheW91dCBoYXMgbWV0aG9kcyBmb3IgbW9kaWZ5aW5nIGl0LlxuICogVGhlIGxheW91dCBpcyBpbW11dGFibGUsIHNvIGVhY2ggbW9kaWZpY2F0aW9uIGNyZWF0ZXMgYSBuZXcgaW5zdGFuY2UuIFVzZSB0aGUgaW5zdGFuY2UgZm9yIGZ1cnRoZXIgbW9kaWZpY2F0aW9ucyBhbmQgZmluYWxseSByZXR1cm4gaXQuXG4gKlxuICogVGhlIGZ1bmN0aW9uIGNhbiBjYWxsIGBpbmplY3RgIHRvIGdldCBhbnkgcmVxdWlyZWQgZGVwZW5kZW5jaWVzLlxuICpcbiAqICMjIFdvcmtiZW5jaCBMYXlvdXRcbiAqIFRoZSB3b3JrYmVuY2ggbGF5b3V0IGlzIGEgZ3JpZCBvZiBwYXJ0cy4gUGFydHMgYXJlIGFsaWduZWQgcmVsYXRpdmUgdG8gZWFjaCBvdGhlci4gQSBwYXJ0IGlzIGEgc3RhY2sgb2Ygdmlld3MuIENvbnRlbnQgaXMgZGlzcGxheWVkIGluIHZpZXdzLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqIFRoZSBmb2xsb3dpbmcgZXhhbXBsZSBhZGRzIGEgcGFydCB0byB0aGUgbGVmdCBvZiB0aGUgbWFpbiBhcmVhLCBpbnNlcnRzIGEgdmlldyBhbmQgbmF2aWdhdGVzIGl0LlxuICpcbiAqIGBgYHRzXG4gKiBpbmplY3QoV29ya2JlbmNoUm91dGVyKS5uYXZpZ2F0ZShsYXlvdXQgPT4gbGF5b3V0XG4gKiAgIC5hZGRQYXJ0KCdsZWZ0Jywge3JlbGF0aXZlVG86IE1BSU5fQVJFQSwgYWxpZ246ICdsZWZ0J30pXG4gKiAgIC5hZGRWaWV3KCduYXZpZ2F0b3InLCB7cGFydElkOiAnbGVmdCd9KVxuICogICAubmF2aWdhdGVWaWV3KCduYXZpZ2F0b3InLCBbJ3BhdGgvdG8vdmlldyddKVxuICogICAuYWN0aXZhdGVWaWV3KCduYXZpZ2F0b3InKVxuICogKTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBsYXlvdXQgLSBSZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQgd29ya2JlbmNoIGxheW91dCBmb3IgbW9kaWZpY2F0aW9uLlxuICogQHJldHVybiBNb2RpZmllZCBsYXlvdXQsIG9yIGBudWxsYCB0byBjYW5jZWwgbmF2aWdhdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgTmF2aWdhdGVGbiA9IChsYXlvdXQ6IFdvcmtiZW5jaExheW91dCkgPT4gUHJvbWlzZTxXb3JrYmVuY2hMYXlvdXQgfCBudWxsPiB8IFdvcmtiZW5jaExheW91dCB8IG51bGw7XG4iXX0=
|