@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.
- package/esm2022/lib/activation-instant.provider.mjs +3 -3
- package/esm2022/lib/common/asserts.util.mjs +1 -1
- package/esm2022/lib/common/coerce-observable.pipe.mjs +3 -3
- package/esm2022/lib/common/dom.util.mjs +1 -1
- package/esm2022/lib/common/filter-by-predicate.pipe.mjs +3 -3
- package/esm2022/lib/common/filter-by-text.pipe.mjs +3 -3
- package/esm2022/lib/common/grid-element-if-visible.pipe.mjs +4 -4
- package/esm2022/lib/common/instanceof.pipe.mjs +3 -3
- package/esm2022/lib/common/map-coerce.pipe.mjs +3 -3
- package/esm2022/lib/common/null-if-empty.pipe.mjs +4 -4
- package/esm2022/lib/common/observables.mjs +1 -1
- package/esm2022/lib/common/stringify-error.util.mjs +1 -1
- package/esm2022/lib/common/typeof.pipe.mjs +3 -3
- package/esm2022/lib/common//311/265destroy-ref.mjs +1 -1
- package/esm2022/lib/content-projection/content-as-overlay.component.mjs +3 -3
- package/esm2022/lib/content-projection/content-projection.directive.mjs +4 -4
- package/esm2022/lib/content-projection/view-container.reference.mjs +1 -1
- package/esm2022/lib/dialog/dialog-footer/dialog-action-filter.pipe.mjs +3 -3
- package/esm2022/lib/dialog/dialog-footer/dialog-footer.component.mjs +3 -3
- package/esm2022/lib/dialog/dialog-footer/workbench-dialog-action.directive.mjs +9 -6
- package/esm2022/lib/dialog/dialog-footer/workbench-dialog-footer.directive.mjs +9 -6
- package/esm2022/lib/dialog/dialog-header/dialog-header.component.mjs +3 -3
- package/esm2022/lib/dialog/dialog-header/workbench-dialog-header.directive.mjs +9 -6
- package/esm2022/lib/dialog/movable.directive.mjs +4 -4
- package/esm2022/lib/dialog/resizable.directive.mjs +4 -4
- package/esm2022/lib/dialog/workbench-dialog.component.mjs +53 -24
- package/esm2022/lib/dialog/workbench-dialog.registry.mjs +4 -4
- package/esm2022/lib/dialog/workbench-dialog.service.mjs +3 -3
- package/esm2022/lib/dialog//311/265workbench-dialog.mjs +2 -2
- package/esm2022/lib/dialog//311/265workbench-dialog.service.mjs +4 -4
- package/esm2022/lib/executor/single-task-executor.mjs +26 -7
- package/esm2022/lib/filter-field/filter-field.component.mjs +4 -4
- package/esm2022/lib/glass-pane/glass-pane.directive.mjs +15 -7
- package/esm2022/lib/layout/grid-element/grid-element.component.mjs +4 -4
- package/esm2022/lib/layout/main-area-layout/main-area-layout.component.mjs +3 -3
- package/esm2022/lib/layout/migration/workbench-layout-migration-v3.service.mjs +4 -4
- package/esm2022/lib/layout/migration/workbench-layout-migration-v4.service.mjs +4 -4
- package/esm2022/lib/layout/workbench-layout.component.mjs +3 -3
- package/esm2022/lib/layout/workbench-layout.factory.mjs +3 -3
- package/esm2022/lib/layout/workbench-layout.service.mjs +3 -3
- package/esm2022/lib/layout/workbench-layouts.util.mjs +1 -1
- package/esm2022/lib/layout/workench-layout-serializer.service.mjs +4 -6
- package/esm2022/lib/layout//311/265workbench-layout.factory.mjs +3 -3
- package/esm2022/lib/layout//311/265workbench-layout.mjs +7 -7
- package/esm2022/lib/logging/console-appender.service.mjs +4 -4
- package/esm2022/lib/logging/logger.mjs +3 -3
- package/esm2022/lib/logging/logging.model.mjs +3 -3
- package/esm2022/lib/logging//311/265logger.mjs +4 -4
- package/esm2022/lib/message-box/message-box-footer/message-box-footer.component.mjs +4 -4
- 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 +15 -6
- package/esm2022/lib/message-box/workbench-message-box.service.mjs +3 -3
- package/esm2022/lib/message-box//311/265workbench-message-box.service.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/common/microfrontend.util.mjs +1 -1
- package/esm2022/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.mjs +26 -13
- 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 +25 -13
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-capability-validator.interceptor.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog-intent-handler.interceptor.mjs +11 -11
- package/esm2022/lib/microfrontend-platform/microfrontend-dialog/microfrontend-dialog.component.mjs +5 -5
- package/esm2022/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.mjs +9 -7
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.mjs +112 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.mjs +43 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.mjs +11 -9
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.mjs +34 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.mjs +88 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.mjs +32 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.mjs +121 -0
- package/esm2022/lib/microfrontend-platform/microfrontend-notification/microfrontend-notification-intent-handler.service.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-platform-config-loader.mjs +3 -3
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-capability-validator.interceptor.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup-intent-handler.interceptor.mjs +9 -6
- package/esm2022/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.mjs +9 -15
- 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 +4 -4
- package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs +16 -9
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-id-assigner.interceptor.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-capability-validator.interceptor.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs +4 -4
- package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-routes.mjs +1 -1
- package/esm2022/lib/microfrontend-platform/workbench-microfrontend-support.mjs +43 -14
- package/esm2022/lib/migration/workbench-migrator.mjs +1 -1
- package/esm2022/lib/notification/notification-css-classes.pipe.mjs +3 -3
- package/esm2022/lib/notification/notification-list.component.mjs +3 -3
- package/esm2022/lib/notification/notification.component.mjs +4 -4
- package/esm2022/lib/notification/notification.service.mjs +4 -4
- package/esm2022/lib/notification/text-notification.component.mjs +3 -3
- package/esm2022/lib/notification//311/265notification.mjs +1 -1
- package/esm2022/lib/page-not-found/format-url.pipe.mjs +3 -3
- package/esm2022/lib/page-not-found/page-not-found.component.mjs +3 -3
- package/esm2022/lib/part/part-action-bar/part-action-bar.component.mjs +3 -3
- package/esm2022/lib/part/part-action-bar/part-action-filter.pipe.mjs +3 -3
- package/esm2022/lib/part/part-action-bar/part-action.directive.mjs +4 -4
- package/esm2022/lib/part/part-bar/part-bar.component.mjs +4 -4
- package/esm2022/lib/part/part-portal.pipe.mjs +4 -4
- package/esm2022/lib/part/part.component.mjs +3 -3
- package/esm2022/lib/part/view-context-menu/accelerator-format.pipe.mjs +4 -4
- package/esm2022/lib/part/view-context-menu/text.component.mjs +3 -3
- package/esm2022/lib/part/view-context-menu/view-menu.component.mjs +4 -4
- package/esm2022/lib/part/view-context-menu/view-menu.directive.mjs +4 -4
- package/esm2022/lib/part/view-context-menu/view-menu.service.mjs +4 -4
- package/esm2022/lib/part/view-list/view-list.component.mjs +3 -3
- package/esm2022/lib/part/view-list-button/view-list-button.component.mjs +4 -4
- package/esm2022/lib/part/view-list-item/view-list-item.component.mjs +3 -3
- package/esm2022/lib/part/view-tab/view-tab.component.mjs +4 -4
- package/esm2022/lib/part/view-tab-content/view-tab-content.component.mjs +3 -3
- package/esm2022/lib/part/view-tab-drag-image/view-tab-drag-image.component.mjs +3 -3
- package/esm2022/lib/part/workbench-part-action.registry.mjs +3 -3
- package/esm2022/lib/part/workbench-part.registry.mjs +3 -3
- package/esm2022/lib/part//311/265workbench-part.model.mjs +1 -1
- package/esm2022/lib/perspective/migration/workbench-perspective-migration-v2.service.mjs +4 -4
- package/esm2022/lib/perspective/workbench-grid-merger.service.mjs +4 -4
- package/esm2022/lib/perspective/workbench-perspective-storage.service.mjs +4 -4
- package/esm2022/lib/perspective/workbench-perspective-view-conflict-resolver.service.mjs +4 -4
- package/esm2022/lib/perspective/workbench-perspective.registry.mjs +3 -3
- package/esm2022/lib/perspective/workbench-perspective.service.mjs +4 -4
- package/esm2022/lib/perspective/workench-perspective-serializer.service.mjs +4 -4
- package/esm2022/lib/perspective//311/265workbench-perspective.model.mjs +1 -1
- package/esm2022/lib/popup/popup.component.mjs +22 -10
- package/esm2022/lib/popup/popup.config.mjs +3 -1
- package/esm2022/lib/popup/popup.service.mjs +4 -4
- package/esm2022/lib/portal/wb-component-portal.mjs +1 -1
- package/esm2022/lib/portal/workbench-portal-outlet.directive.mjs +4 -4
- package/esm2022/lib/registry/workbench-object-registry.mjs +1 -1
- package/esm2022/lib/routing/empty-outlet/empty-outlet.component.mjs +3 -3
- package/esm2022/lib/routing/router.util.mjs +8 -2
- package/esm2022/lib/routing/routing.model.mjs +1 -1
- package/esm2022/lib/routing/url-segment-matcher.mjs +1 -1
- package/esm2022/lib/routing/workbench-auxiliary-routes-registrator.service.mjs +4 -4
- package/esm2022/lib/routing/workbench-dialog-differ.mjs +5 -5
- package/esm2022/lib/routing/workbench-layout-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-message-box-differ.mjs +51 -0
- package/esm2022/lib/routing/workbench-popup-differ.mjs +3 -3
- package/esm2022/lib/routing/workbench-router-link.directive.mjs +5 -5
- package/esm2022/lib/routing/workbench-router.service.mjs +3 -3
- package/esm2022/lib/routing/workbench-url-observer.service.mjs +52 -69
- package/esm2022/lib/routing//311/265location.mjs +3 -3
- package/esm2022/lib/routing//311/265workbench-router.service.mjs +9 -12
- package/esm2022/lib/startup/splash/splash.component.mjs +3 -3
- package/esm2022/lib/startup/workbench-initializer.mjs +1 -1
- package/esm2022/lib/startup/workbench-launcher.service.mjs +7 -7
- package/esm2022/lib/storage/workbench-storage.mjs +3 -3
- package/esm2022/lib/testing/workbench-testing.module.mjs +4 -4
- package/esm2022/lib/testing/workbench.provider.mjs +3 -3
- package/esm2022/lib/theme/workbench-theme-switcher.service.mjs +4 -4
- package/esm2022/lib/view/view-move-handler.service.mjs +4 -4
- package/esm2022/lib/view/view-portal.pipe.mjs +4 -4
- package/esm2022/lib/view/view.component.mjs +17 -10
- package/esm2022/lib/view/workbench-view-route-guards.mjs +1 -1
- package/esm2022/lib/view/workbench-view.registry.mjs +3 -3
- package/esm2022/lib/view//311/265workbench-view.model.mjs +1 -1
- package/esm2022/lib/view-dnd/grid-drop-targets.util.mjs +1 -1
- package/esm2022/lib/view-dnd/requires-drop-zone.pipe.mjs +4 -4
- package/esm2022/lib/view-dnd/view-drag.service.mjs +4 -4
- package/esm2022/lib/view-dnd/view-drop-placeholder-renderer.service.mjs +3 -3
- package/esm2022/lib/view-dnd/view-drop-zone.directive.mjs +4 -4
- package/esm2022/lib/view-dnd/view-tab-drag-image-renderer.service.mjs +5 -5
- package/esm2022/lib/workbench.component.mjs +10 -6
- package/esm2022/lib/workbench.constants.mjs +5 -1
- package/esm2022/lib/workbench.module.mjs +4 -4
- package/esm2022/lib/workbench.provider.mjs +1 -1
- package/esm2022/lib/workbench.service.mjs +3 -3
- package/esm2022/lib//311/265workbench.service.mjs +3 -3
- package/fesm2022/scion-workbench.mjs +1179 -714
- package/fesm2022/scion-workbench.mjs.map +1 -1
- package/lib/common/objects.util.d.ts +2 -2
- package/lib/dialog/workbench-dialog.component.d.ts +16 -7
- package/lib/executor/single-task-executor.d.ts +6 -1
- package/lib/glass-pane/glass-pane.directive.d.ts +21 -0
- package/lib/message-box/workbench-message-box.component.d.ts +3 -0
- package/lib/microfrontend-platform/initialization/microfrontend-platform-initializer.service.d.ts +7 -1
- package/lib/microfrontend-platform/microfrontend-host-dialog/microfrontend-host-dialog.component.d.ts +1 -0
- package/lib/microfrontend-platform/microfrontend-host-message-box/microfrontend-host-message-box.component.d.ts +39 -0
- package/lib/microfrontend-platform/microfrontend-host-message-box/text-message/text-message.component.d.ts +25 -0
- package/lib/microfrontend-platform/microfrontend-host-popup/microfrontend-host-popup.component.d.ts +3 -2
- package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-capability-validator.interceptor.d.ts +10 -0
- package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.interceptor.d.ts +28 -0
- package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-legacy-intent-translator.interceptor.d.ts +11 -0
- package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box.component.d.ts +48 -0
- package/lib/microfrontend-platform/microfrontend-popup/microfrontend-popup.component.d.ts +3 -7
- package/lib/microfrontend-platform/workbench-microfrontend-support.d.ts +1 -1
- package/lib/popup/popup.component.d.ts +1 -0
- package/lib/routing/router.util.d.ts +4 -0
- package/lib/routing/workbench-message-box-differ.d.ts +25 -0
- package/lib/routing/workbench-url-observer.service.d.ts +7 -25
- package/lib/routing//311/265workbench-router.service.d.ts +3 -4
- package/lib/workbench.constants.d.ts +4 -0
- package/package.json +10 -10
- package/esm2022/lib/layout/migration/model/workbench-layout-migration-v1.model.mjs +0 -11
- package/esm2022/lib/layout/migration/workbench-layout-migration-v2.service.mjs +0 -59
- package/esm2022/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.service.mjs +0 -46
- package/lib/layout/migration/model/workbench-layout-migration-v1.model.d.ts +0 -16
- package/lib/layout/migration/workbench-layout-migration-v2.service.d.ts +0 -13
- package/lib/microfrontend-platform/microfrontend-message-box/microfrontend-message-box-intent-handler.service.d.ts +0 -17
package/esm2022/lib/microfrontend-platform/microfrontend-view/microfrontend-view.component.mjs
CHANGED
|
@@ -24,10 +24,11 @@ import { AsyncPipe, NgClass, NgComponentOutlet } from '@angular/common';
|
|
|
24
24
|
import { ContentAsOverlayComponent } from '../../content-projection/content-as-overlay.component';
|
|
25
25
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
26
26
|
import { MicrofrontendSplashComponent } from '../microfrontend-splash/microfrontend-splash.component';
|
|
27
|
-
import { GLASS_PANE_BLOCKABLE, GlassPaneDirective } from '../../glass-pane/glass-pane.directive';
|
|
27
|
+
import { GLASS_PANE_BLOCKABLE, GLASS_PANE_OPTIONS, GlassPaneDirective } from '../../glass-pane/glass-pane.directive';
|
|
28
28
|
import { MicrofrontendWorkbenchView } from './microfrontend-workbench-view.model';
|
|
29
29
|
import { Microfrontends } from '../common/microfrontend.util';
|
|
30
30
|
import { Objects } from '../../common/objects.util';
|
|
31
|
+
import { WorkbenchView } from '../../view/workbench-view.model';
|
|
31
32
|
import * as i0 from "@angular/core";
|
|
32
33
|
import * as i1 from "@angular/router";
|
|
33
34
|
import * as i2 from "@scion/microfrontend-platform";
|
|
@@ -247,12 +248,12 @@ export class MicrofrontendViewComponent {
|
|
|
247
248
|
this._outletRouter.navigate(null, { outlet: this.view.id }).then();
|
|
248
249
|
this.view.unregisterAdapter(MicrofrontendWorkbenchView);
|
|
249
250
|
}
|
|
250
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
251
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
251
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewComponent, deps: [{ token: i0.ElementRef }, { token: i1.ActivatedRoute }, { token: i2.OutletRouter }, { token: i2.ManifestService }, { token: i2.MessageClient }, { token: i0.DestroyRef }, { token: i3.Logger }, { token: i4.ViewMenuService }, { token: i5.WorkbenchLayoutService }, { token: i6.WorkbenchRouter }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: i7.ɵWorkbenchView }, { token: IFRAME_HOST }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
252
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: MicrofrontendViewComponent, isStandalone: true, selector: "wb-microfrontend-view", viewQueries: [{ propertyName: "routerOutletElement", first: true, predicate: ["router_outlet"], descendants: true, static: true }], ngImport: i0, template: "<wb-content-as-overlay [overlayHost]=\"iframeHostRef.ref$ | async\">\n <div class=\"microfrontend-view\"\n [class.workbench-drag]=\"isWorkbenchDrag\"\n [attr.data-viewid]=\"view.id\"\n wbGlassPane>\n <sci-router-outlet #router_outlet\n [name]=\"view.id\"\n [attr.data-capabilityid]=\"capability?.metadata!.id\"\n [attr.data-app]=\"capability?.metadata!.appSymbolicName\"\n [ngClass]=\"view.classList.value\"\n (focuswithin)=\"onFocusWithin($event)\"\n [keystrokes]=\"keystrokesToBubble$ | async\">\n <ng-container *ngComponentOutlet=\"splash\"></ng-container>\n </sci-router-outlet>\n </div>\n</wb-content-as-overlay>\n", styles: [":host{display:grid}div.microfrontend-view{display:grid}div.microfrontend-view.workbench-drag{pointer-events:none}div.microfrontend-view>sci-router-outlet::part(splash){display:grid}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: ContentAsOverlayComponent, selector: "wb-content-as-overlay", inputs: ["overlayHost"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: GlassPaneDirective, selector: "[wbGlassPane]" }], viewProviders: [
|
|
252
253
|
configureMicrofrontendGlassPane(),
|
|
253
254
|
] }); }
|
|
254
255
|
}
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewComponent, decorators: [{
|
|
256
257
|
type: Component,
|
|
257
258
|
args: [{ selector: 'wb-microfrontend-view', standalone: true, imports: [
|
|
258
259
|
NgClass,
|
|
@@ -274,9 +275,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
|
|
|
274
275
|
* Blocks the microfrontend outlet when dialog(s) overlay this view.
|
|
275
276
|
*/
|
|
276
277
|
function configureMicrofrontendGlassPane() {
|
|
277
|
-
return
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
278
|
+
return [
|
|
279
|
+
{
|
|
280
|
+
provide: GLASS_PANE_BLOCKABLE,
|
|
281
|
+
useExisting: ɵWorkbenchView,
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
provide: GLASS_PANE_OPTIONS,
|
|
285
|
+
useFactory: () => ({ attributes: { 'data-viewid': inject(WorkbenchView).id } }),
|
|
286
|
+
},
|
|
287
|
+
];
|
|
281
288
|
}
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC12aWV3L21pY3JvZnJvbnRlbmQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtdmlldy9taWNyb2Zyb250ZW5kLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQW9CLFNBQVMsRUFBRSxzQkFBc0IsRUFBMEIsTUFBTSxFQUFFLE1BQU0sRUFBeUMscUJBQXFCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXBNLE9BQU8sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBa0IsU0FBUyxFQUFpQixjQUFjLEVBQUUsMkJBQTJCLEVBQWdCLG1CQUFtQixFQUF1QyxNQUFNLCtCQUErQixDQUFDO0FBQzlNLE9BQU8sRUFBMEIseUJBQXlCLEVBQUUsb0JBQW9CLEVBQTRCLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0osT0FBTyxFQUFDLFlBQVksRUFBRSxJQUFJLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQVMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQXlCLE1B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QUN6QixpQkFBaUIsb1BBQ2pCLGtCQUFrQiwrQ0FFTDtZQUNiLCtCQUErQixFQUFFO1NBQ2xDOzsyRkFHVSwwQkFBMEI7a0JBakJ0QyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxTQUFTO3dCQUNULHlCQUF5Qjt3QkFDekIsaUJBQWlCO3dCQUNqQixrQkFBa0I7cUJBQ25CLGlCQUNjO3dCQUNiLCtCQUErQixFQUFFO3FCQUNsQyxXQUNRLENBQUMsc0JBQXNCLENBQUM7OzBCQTBDcEIsTUFBTTsyQkFBQyxXQUFXO3lDQXpCeEIsbUJBQW1CO3NCQUR6QixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7O0FBeVA1Qzs7R0FFRztBQUNILFNBQVMsK0JBQStCO0lBQ3RDLE9BQU87UUFDTCxPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLFdBQVcsRUFBRSxjQUFjO0tBQzVCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIERlc3Ryb3lSZWYsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0LCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQsIFByb3ZpZGVyLCBydW5JbkluamVjdGlvbkNvbnRleHQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3QsIG1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge01hbmlmZXN0U2VydmljZSwgbWFwVG9Cb2R5LCBNZXNzYWdlQ2xpZW50LCBNZXNzYWdlSGVhZGVycywgTWljcm9mcm9udGVuZFBsYXRmb3JtQ29uZmlnLCBPdXRsZXRSb3V0ZXIsIFJlc3BvbnNlU3RhdHVzQ29kZXMsIFNjaVJvdXRlck91dGxldEVsZW1lbnQsIFRvcGljTWVzc2FnZX0gZnJvbSAnQHNjaW9uL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0nO1xuaW1wb3J0IHtXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSwgybVNaWNyb2Zyb250ZW5kUm91dGVQYXJhbXMsIMm1VklFV19JRF9DT05URVhUX0tFWSwgybVWaWV3UGFyYW1zVXBkYXRlQ29tbWFuZCwgybVXb3JrYmVuY2hDb21tYW5kc30gZnJvbSAnQHNjaW9uL3dvcmtiZW5jaC1jbGllbnQnO1xuaW1wb3J0IHtEaWN0aW9uYXJpZXMsIE1hcHN9IGZyb20gJ0BzY2lvbi90b29sa2l0L3V0aWwnO1xuaW1wb3J0IHtMb2dnZXIsIExvZ2dlck5hbWVzfSBmcm9tICcuLi8uLi9sb2dnaW5nJztcbmltcG9ydCB7Q2FuQ2xvc2V9IGZyb20gJy4uLy4uL3dvcmtiZW5jaC5tb2RlbCc7XG5pbXBvcnQge0lGUkFNRV9IT1NULCBWaWV3Q29udGFpbmVyUmVmZXJlbmNlfSBmcm9tICcuLi8uLi9jb250ZW50LXByb2plY3Rpb24vdmlldy1jb250YWluZXIucmVmZXJlbmNlJztcbmltcG9ydCB7c2VyaWFsaXplRXhlY3V0aW9ufSBmcm9tICcuLi8uLi9jb21tb24vb3BlcmF0b3JzJztcbmltcG9ydCB7ybVXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi8uLi92aWV3L8m1d29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtmaWx0ZXJBcnJheSwgbWFwQXJyYXl9IGZyb20gJ0BzY2lvbi90b29sa2l0L29wZXJhdG9ycyc7XG5pbXBvcnQge1ZpZXdNZW51U2VydmljZX0gZnJvbSAnLi4vLi4vcGFydC92aWV3LWNvbnRleHQtbWVudS92aWV3LW1lbnUuc2VydmljZSc7XG5pbXBvcnQge1dvcmtiZW5jaFJvdXRlcn0gZnJvbSAnLi4vLi4vcm91dGluZy93b3JrYmVuY2gtcm91dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtzdHJpbmdpZnlFcnJvcn0gZnJvbSAnLi4vLi4vY29tbW9uL3N0cmluZ2lmeS1lcnJvci51dGlsJztcbmltcG9ydCB7TWljcm9mcm9udGVuZFZpZXdSb3V0ZXN9IGZyb20gJy4uL3JvdXRpbmcvbWljcm9mcm9udGVuZC12aWV3LXJvdXRlcyc7XG5pbXBvcnQge0FzeW5jUGlwZSwgTmdDbGFzcywgTmdDb21wb25lbnRPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NvbnRlbnRBc092ZXJsYXlDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvbnRlbnQtcHJvamVjdGlvbi9jb250ZW50LWFzLW92ZXJsYXkuY29tcG9uZW50JztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1dvcmtiZW5jaExheW91dFNlcnZpY2V9IGZyb20gJy4uLy4uL2xheW91dC93b3JrYmVuY2gtbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtDb21wb25lbnRUeXBlfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7TWljcm9mcm9udGVuZFNwbGFzaENvbXBvbmVudH0gZnJvbSAnLi4vbWljcm9mcm9udGVuZC1zcGxhc2gvbWljcm9mcm9udGVuZC1zcGxhc2guY29tcG9uZW50JztcbmltcG9ydCB7R0xBU1NfUEFORV9CTE9DS0FCTEUsIEdsYXNzUGFuZURpcmVjdGl2ZX0gZnJvbSAnLi4vLi4vZ2xhc3MtcGFuZS9nbGFzcy1wYW5lLmRpcmVjdGl2ZSc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3fSBmcm9tICcuL21pY3JvZnJvbnRlbmQtd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kc30gZnJvbSAnLi4vY29tbW9uL21pY3JvZnJvbnRlbmQudXRpbCc7XG5pbXBvcnQge09iamVjdHN9IGZyb20gJy4uLy4uL2NvbW1vbi9vYmplY3RzLnV0aWwnO1xuXG4vKipcbiAqIEVtYmVkcyB0aGUgbWljcm9mcm9udGVuZCBvZiBhIHZpZXcgY2FwYWJpbGl0eS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2ItbWljcm9mcm9udGVuZC12aWV3JyxcbiAgc3R5bGVVcmxzOiBbJy4vbWljcm9mcm9udGVuZC12aWV3LmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9taWNyb2Zyb250ZW5kLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBBc3luY1BpcGUsXG4gICAgQ29udGVudEFzT3ZlcmxheUNvbXBvbmVudCxcbiAgICBOZ0NvbXBvbmVudE91dGxldCxcbiAgICBHbGFzc1BhbmVEaXJlY3RpdmUsXG4gIF0sXG4gIHZpZXdQcm92aWRlcnM6IFtcbiAgICBjb25maWd1cmVNaWNyb2Zyb250ZW5kR2xhc3NQYW5lKCksXG4gIF0sXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSwgLy8gcmVxdWlyZWQgYmVjYXVzZSA8c2NpLXJvdXRlci1vdXRsZXQ+IGlzIGEgY3VzdG9tIGVsZW1lbnRcbn0pXG5leHBvcnQgY2xhc3MgTWljcm9mcm9udGVuZFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ2FuQ2xvc2Uge1xuXG4gIHByaXZhdGUgX3Vuc3Vic2NyaWJlUGFyYW1zVXBkYXRlciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF91bml2ZXJzYWxLZXlzdHJva2VzID0gW1xuICAgICdrZXlkb3duLmVzY2FwZScsIC8vIGFsbG93cyBjbG9zaW5nIG5vdGlmaWNhdGlvbnNcbiAgXTtcblxuICBwcm90ZWN0ZWQgY2FwYWJpbGl0eTogV29ya2JlbmNoVmlld0NhcGFiaWxpdHkgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFNwbGFzaCB0byBkaXNwbGF5IHVudGlsIHRoZSBtaWNyb2Zyb250ZW5kIHNpZ25hbHMgcmVhZGluZXNzLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNwbGFzaDogQ29tcG9uZW50VHlwZTx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKCdyb3V0ZXJfb3V0bGV0Jywge3N0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyByb3V0ZXJPdXRsZXRFbGVtZW50ITogRWxlbWVudFJlZjxTY2lSb3V0ZXJPdXRsZXRFbGVtZW50PjtcblxuICAvKipcbiAgICogS2V5c3Ryb2tlcyB3aGljaCB0byBidWJibGUgYWNyb3NzIGlmcmFtZSBib3VuZGFyaWVzIG9mIGVtYmVkZGVkIGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMga2V5c3Ryb2tlc1RvQnViYmxlJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIGEgd29ya2JlbmNoIGRyYWcgb3BlcmF0aW9uIGlzIGluIHByb2dyZXNzLCBzdWNoIGFzIHdoZW4gZHJhZ2dpbmcgYSB2aWV3IG9yIG1vdmluZyBhIHNhc2guXG4gICAqL1xuICBwdWJsaWMgaXNXb3JrYmVuY2hEcmFnID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgICAgICAgIHByaXZhdGUgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfb3V0bGV0Um91dGVyOiBPdXRsZXRSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX21hbmlmZXN0U2VydmljZTogTWFuaWZlc3RTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9tZXNzYWdlQ2xpZW50OiBNZXNzYWdlQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIF9kZXN0cm95UmVmOiBEZXN0cm95UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIF9sb2dnZXI6IExvZ2dlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfdmlld0NvbnRleHRNZW51U2VydmljZTogVmlld01lbnVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF93b3JrYmVuY2hMYXlvdXRTZXJ2aWNlOiBXb3JrYmVuY2hMYXlvdXRTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIF93b3JrYmVuY2hSb3V0ZXI6IFdvcmtiZW5jaFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIHB1YmxpYyB2aWV3OiDJtVdvcmtiZW5jaFZpZXcsXG4gICAgICAgICAgICAgIEBJbmplY3QoSUZSQU1FX0hPU1QpIHByb3RlY3RlZCBpZnJhbWVIb3N0UmVmOiBWaWV3Q29udGFpbmVyUmVmZXJlbmNlKSB7XG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+IGBDb25zdHJ1Y3RpbmcgTWljcm9mcm9udGVuZFZpZXdDb21wb25lbnQuIFt2aWV3SWQ9JHt0aGlzLnZpZXcuaWR9XWAsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkRfUk9VVElORyk7XG4gICAgdGhpcy5rZXlzdHJva2VzVG9CdWJibGUkID0gY29tYmluZUxhdGVzdChbdGhpcy52aWV3Q29udGV4dE1lbnVLZXlzdHJva2VzJCgpLCBvZih0aGlzLl91bml2ZXJzYWxLZXlzdHJva2VzKV0pXG4gICAgICAucGlwZShtYXAoa2V5c3Ryb2tlcyA9PiBuZXcgQXJyYXk8c3RyaW5nPigpLmNvbmNhdCguLi5rZXlzdHJva2VzKSkpO1xuICAgIHRoaXMuaW5zdGFsbFdvcmtiZW5jaERyYWdEZXRlY3RvcigpO1xuICAgIHRoaXMuc3BsYXNoID0gaW5qZWN0KE1pY3JvZnJvbnRlbmRQbGF0Zm9ybUNvbmZpZykuc3BsYXNoID8/IE1pY3JvZnJvbnRlbmRTcGxhc2hDb21wb25lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yb3V0ZXJPdXRsZXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2V0Q29udGV4dFZhbHVlKMm1VklFV19JRF9DT05URVhUX0tFWSwgdGhpcy52aWV3LmlkKTtcbiAgICB0aGlzLnByb3BhZ2F0ZVdvcmtiZW5jaFRoZW1lKCk7XG4gICAgdGhpcy5pbnN0YWxsTWVudUl0ZW1BY2NlbGVyYXRvcnMkKCk7XG4gICAgdGhpcy5pbnN0YWxsTmF2aWdhdG9yKCk7XG4gIH1cblxuICBwcml2YXRlIGluc3RhbGxOYXZpZ2F0b3IoKTogdm9pZCB7XG4gICAgdGhpcy5fcm91dGUucGFyYW1zXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHBhcmFtcyA9PiB0aGlzLmZldGNoQ2FwYWJpbGl0eSQocGFyYW1zW8m1TWljcm9mcm9udGVuZFJvdXRlUGFyYW1zLsm1VklFV19DQVBBQklMSVRZX0lEXSkucGlwZShtYXAoY2FwYWJpbGl0eSA9PiAoe2NhcGFiaWxpdHksIHBhcmFtc30pKSkpLFxuICAgICAgICBzZXJpYWxpemVFeGVjdXRpb24oKHtjYXBhYmlsaXR5LCBwYXJhbXN9KSA9PiB0aGlzLm9uTmF2aWdhdGUodGhpcy5jYXBhYmlsaXR5LCBjYXBhYmlsaXR5LCBwYXJhbXMpKSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBvbk5hdmlnYXRlKHByZXZDYXBhYmlsaXR5OiBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSB8IHVuZGVmaW5lZCwgY2FwYWJpbGl0eTogV29ya2JlbmNoVmlld0NhcGFiaWxpdHkgfCB1bmRlZmluZWQsIHBhcmFtczogUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFjYXBhYmlsaXR5KSB7XG4gICAgICB0aGlzLl9sb2dnZXIud2FybigoKSA9PiBgW051bGxDYXBhYmlsaXR5RXJyb3JdIE5vIGFwcGxpY2F0aW9uIGZvdW5kIHRvIHByb3ZpZGUgYSB2aWV3IGNhcGFiaWxpdHkgb2YgaWQgJyR7cGFyYW1zW8m1TWljcm9mcm9udGVuZFJvdXRlUGFyYW1zLsm1VklFV19DQVBBQklMSVRZX0lEXX0nLiBNYXliZSwgdGhlIHJlcXVlc3RlZCB2aWV3IGlzIG5vdCBwdWJsaWMgQVBJIG9yIHRoZSBwcm92aWRpbmcgYXBwbGljYXRpb24gbm90IGF2YWlsYWJsZS5gLCBMb2dnZXJOYW1lcy5NSUNST0ZST05URU5EX1JPVVRJTkcpO1xuICAgICAgYXdhaXQgdGhpcy52aWV3LmNsb3NlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jYXBhYmlsaXR5ID0gY2FwYWJpbGl0eTtcbiAgICB0aGlzLnZpZXcucmVnaXN0ZXJBZGFwdGVyKE1pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3LCBuZXcgTWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXcoY2FwYWJpbGl0eSwgcGFyYW1zKSk7XG5cbiAgICAvLyBDaGVjayBpZiBuYXZpZ2F0aW5nIHRvIGEgbmV3IG1pY3JvZnJvbnRlbmQuXG4gICAgaWYgKCFwcmV2Q2FwYWJpbGl0eSB8fCBwcmV2Q2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQgIT09IGNhcGFiaWxpdHkubWV0YWRhdGEhLmlkKSB7XG4gICAgICB0aGlzLnNldFZpZXdQcm9wZXJ0aWVzKGNhcGFiaWxpdHksIHBhcmFtcyk7XG4gICAgICB0aGlzLmluc3RhbGxQYXJhbXNVcGRhdGVyKGNhcGFiaWxpdHkpO1xuICAgIH1cblxuICAgIC8vIFNpZ25hbCB0aGUgY3VycmVudGx5IGxvYWRlZCBhcHBsaWNhdGlvbiB0byB1bmxvYWQuXG4gICAgaWYgKHByZXZDYXBhYmlsaXR5ICYmIHByZXZDYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWUgIT09IGNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZSkge1xuICAgICAgYXdhaXQgdGhpcy5fbWVzc2FnZUNsaWVudC5wdWJsaXNoKMm1V29ya2JlbmNoQ29tbWFuZHMudmlld1VubG9hZGluZ1RvcGljKHRoaXMudmlldy5pZCkpO1xuICAgIH1cblxuICAgIC8vIFBhc3MgcGFyYW1ldGVycyB0byB0aGUgbWljcm9mcm9udGVuZC5cbiAgICBhd2FpdCB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2goybVXb3JrYmVuY2hDb21tYW5kcy52aWV3UGFyYW1zVG9waWModGhpcy52aWV3LmlkKSwgTWFwcy5jb2VyY2UocGFyYW1zKSwge3JldGFpbjogdHJ1ZX0pO1xuXG4gICAgLy8gV2hlbiBuYXZpZ2F0aW5nIHRvIGFub3RoZXIgdmlldyBjYXBhYmlsaXR5IG9mIHRoZSBzYW1lIGFwcCwgd2FpdCB1bnRpbCB0cmFuc3BvcnRlZCB0aGUgcGFyYW1zIHRvIHRoZSBtaWNyb2Zyb250ZW5kIGJlZm9yZSBsb2FkaW5nIHRoZVxuICAgIC8vIG5ldyBtaWNyb2Zyb250ZW5kIGludG8gdGhlIGlmcmFtZSwgYWxsb3dpbmcgdGhlIGN1cnJlbnRseSBsb2FkZWQgbWljcm9mcm9udGVuZCB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zLlxuICAgIGlmIChwcmV2Q2FwYWJpbGl0eVxuICAgICAgJiYgcHJldkNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZSA9PT0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lXG4gICAgICAmJiBwcmV2Q2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQgIT09IGNhcGFiaWxpdHkubWV0YWRhdGEhLmlkKSB7XG4gICAgICBhd2FpdCB0aGlzLndhaXRGb3JDYXBhYmlsaXR5UGFyYW0oY2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQpO1xuICAgIH1cblxuICAgIC8vIE5hdmlnYXRlIHRvIHRoZSBtaWNyb2Zyb250ZW5kLlxuICAgIGNvbnN0IGFwcGxpY2F0aW9uID0gdGhpcy5fbWFuaWZlc3RTZXJ2aWNlLmFwcGxpY2F0aW9ucy5maW5kKGFwcCA9PiBhcHAuc3ltYm9saWNOYW1lID09PSBjYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWUpITtcbiAgICB0aGlzLl9sb2dnZXIuZGVidWcoKCkgPT4gYExvYWRpbmcgbWljcm9mcm9udGVuZCBpbnRvIHdvcmtiZW5jaCB2aWV3IFt2aWV3SWQ9JHt0aGlzLnZpZXcuaWR9LCBhcHA9JHtjYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWV9LCBiYXNlVXJsPSR7YXBwbGljYXRpb24uYmFzZVVybH0sIHBhdGg9JHsoY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnBhdGgpfV0uYCwgTG9nZ2VyTmFtZXMuTUlDUk9GUk9OVEVORF9ST1VUSU5HLCBwYXJhbXMsIGNhcGFiaWxpdHkpO1xuICAgIGF3YWl0IHRoaXMuX291dGxldFJvdXRlci5uYXZpZ2F0ZShjYXBhYmlsaXR5LnByb3BlcnRpZXMucGF0aCwge1xuICAgICAgb3V0bGV0OiB0aGlzLnZpZXcuaWQsXG4gICAgICByZWxhdGl2ZVRvOiBhcHBsaWNhdGlvbi5iYXNlVXJsLFxuICAgICAgcGFyYW1zOiBwYXJhbXMsXG4gICAgICBwdXNoU3RhdGVUb1Nlc3Npb25IaXN0b3J5U3RhY2s6IGZhbHNlLFxuICAgICAgc2hvd1NwbGFzaDogY2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnNob3dTcGxhc2gsXG4gICAgICDJtWNhcGFiaWxpdHlJZDogY2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQsXG4gICAgfSk7XG5cbiAgICAvLyBJbmFjdGl2ZSB2aWV3cyBhcmUgZGV0YWNoZWQgZnJvbSB0aGUgQW5ndWxhciBjaGFuZ2UgZGV0ZWN0aW9uIHRyZWUuXG4gICAgLy8gVGhlcmVmb3JlLCBtYW51YWxseSBkZXRlY3QgdGhpcyBjb21wb25lbnQgZm9yIGNoYW5nZXMgZm9yIHVwZGF0aW5nIGF0dHJpYnV0ZXMgb24gdGhlIGBzY2ktcm91dGVyLW91dGxldGAuXG4gICAgaWYgKCF0aGlzLnZpZXcuYWN0aXZlKSB7XG4gICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmZXRjaENhcGFiaWxpdHkkKGNhcGFiaWxpdHlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9tYW5pZmVzdFNlcnZpY2UubG9va3VwQ2FwYWJpbGl0aWVzJDxXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eT4oe2lkOiBjYXBhYmlsaXR5SWR9KS5waXBlKG1hcChjYXBhYmlsaXRpZXMgPT4gY2FwYWJpbGl0aWVzLmF0KDApKSk7XG4gIH1cblxuICBwcml2YXRlIGluc3RhbGxNZW51SXRlbUFjY2VsZXJhdG9ycyQoKTogdm9pZCB7XG4gICAgLy8gU2luY2UgdGhlIGlmcmFtZSBpcyBhZGRlZCBhdCBhIHRvcC1sZXZlbCBsb2NhdGlvbiBpbiB0aGUgRE9NLCB0aGF0IGlzLCBub3QgYXMgYSBjaGlsZCBlbGVtZW50IG9mIHRoaXMgY29tcG9uZW50LFxuICAgIC8vIHRoZSB3b3JrYmVuY2ggdmlldyBtaXNzZXMga2V5Ym9hcmQgZXZlbnRzIGZyb20gZW1iZWRkZWQgY29udGVudC4gQXMgYSByZXN1bHQsIG1lbnUgaXRlbSBhY2NlbGVyYXRvcnMgb2YgdGhlIGNvbnRleHRcbiAgICAvLyBtZW51IG9mIHRoaXMgdmlldyBkbyBub3Qgd29yaywgc28gd2UgaW5zdGFsbCB0aGUgYWNjZWxlcmF0b3JzIG9uIHRoZSByb3V0ZXIgb3V0bGV0IGFzIHdlbGwuXG4gICAgdGhpcy5fdmlld0NvbnRleHRNZW51U2VydmljZS5pbnN0YWxsTWVudUl0ZW1BY2NlbGVyYXRvcnMkKHRoaXMucm91dGVyT3V0bGV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLnZpZXcpXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlcyB0byByZXF1ZXN0cyBmcm9tIHRoZSBjdXJyZW50bHkgbG9hZGVkIG1pY3JvZnJvbnRlbmQgdG8gdXBkYXRlIGl0cyBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsUGFyYW1zVXBkYXRlcih2aWV3Q2FwYWJpbGl0eTogV29ya2JlbmNoVmlld0NhcGFiaWxpdHkpOiB2b2lkIHtcbiAgICB0aGlzLl91bnN1YnNjcmliZVBhcmFtc1VwZGF0ZXIkLm5leHQoKTtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLl9tZXNzYWdlQ2xpZW50Lm9ic2VydmUkPMm1Vmlld1BhcmFtc1VwZGF0ZUNvbW1hbmQ+KMm1V29ya2JlbmNoQ29tbWFuZHMudmlld1BhcmFtc1VwZGF0ZVRvcGljKHRoaXMudmlldy5pZCwgdmlld0NhcGFiaWxpdHkubWV0YWRhdGEhLmlkKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZVBhcmFtc1VwZGF0ZXIkKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZShhc3luYyAocmVxdWVzdDogVG9waWNNZXNzYWdlPMm1Vmlld1BhcmFtc1VwZGF0ZUNvbW1hbmQ+KSA9PiB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcnhqcy9uby1hc3luYy1zdWJzY3JpYmVcbiAgICAgICAgLy8gV2UgRE8gTk9UIG5hdmlnYXRlIGlmIHRoZSBzdWJzY3JpcHRpb24gd2FzIGNsb3NlZCwgZS5nLiwgYmVjYXVzZSBjbG9zZWQgdGhlIHZpZXcgb3IgbmF2aWdhdGVkIHRvIGFub3RoZXIgY2FwYWJpbGl0eS5cbiAgICAgICAgY29uc3QgcmVwbHlUbyA9IHJlcXVlc3QuaGVhZGVycy5nZXQoTWVzc2FnZUhlYWRlcnMuUmVwbHlUbyk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgdGhpcy5fd29ya2JlbmNoUm91dGVyLm5hdmlnYXRlKGxheW91dCA9PiB7XG4gICAgICAgICAgICAvLyBDYW5jZWwgcGVuZGluZyBuYXZpZ2F0aW9uIGlmIHRoZSBzdWJzY3JpcHRpb24gd2FzIGNsb3NlZCwgZS5nLiwgYmVjYXVzZSBjbG9zZWQgdGhlIHZpZXcgb3IgbmF2aWdhdGVkIHRvIGFub3RoZXIgY2FwYWJpbGl0eVxuICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHBhcmFtc0hhbmRsaW5nID0gcmVxdWVzdC5ib2R5IS5wYXJhbXNIYW5kbGluZztcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRQYXJhbXMgPSB0aGlzLl9yb3V0ZS5zbmFwc2hvdC5wYXJhbXM7XG4gICAgICAgICAgICBjb25zdCBuZXdQYXJhbXMgPSBEaWN0aW9uYXJpZXMuY29lcmNlKHJlcXVlc3QuYm9keSEucGFyYW1zKTsgLy8gY29lcmNlIHBhcmFtcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICAgICAgICAgICAgY29uc3QgbWVyZ2VkUGFyYW1zID0gT2JqZWN0cy53aXRob3V0VW5kZWZpbmVkRW50cmllcyhwYXJhbXNIYW5kbGluZyA9PT0gJ21lcmdlJyA/IHsuLi5jdXJyZW50UGFyYW1zLCAuLi5uZXdQYXJhbXN9IDogbmV3UGFyYW1zKTtcbiAgICAgICAgICAgIGNvbnN0IHt1cmxQYXJhbXMsIHRyYW5zaWVudFBhcmFtc30gPSBNaWNyb2Zyb250ZW5kVmlld1JvdXRlcy5zcGxpdFBhcmFtcyhtZXJnZWRQYXJhbXMsIHZpZXdDYXBhYmlsaXR5KTtcblxuICAgICAgICAgICAgcmV0dXJuIGxheW91dC5uYXZpZ2F0ZVZpZXcodGhpcy52aWV3LmlkLCBbdXJsUGFyYW1zXSwge1xuICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLl9yb3V0ZSxcbiAgICAgICAgICAgICAgc3RhdGU6IE9iamVjdHMud2l0aG91dFVuZGVmaW5lZEVudHJpZXMoe1xuICAgICAgICAgICAgICAgIFtNaWNyb2Zyb250ZW5kVmlld1JvdXRlcy5TVEFURV9UUkFOU0lFTlRfUEFSQU1TXTogdHJhbnNpZW50UGFyYW1zLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgYXdhaXQgdGhpcy5fbWVzc2FnZUNsaWVudC5wdWJsaXNoKHJlcGx5VG8sIHN1Y2Nlc3MsIHtoZWFkZXJzOiBuZXcgTWFwKCkuc2V0KE1lc3NhZ2VIZWFkZXJzLlN0YXR1cywgUmVzcG9uc2VTdGF0dXNDb2Rlcy5URVJNSU5BTCl9KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2gocmVwbHlUbywgc3RyaW5naWZ5RXJyb3IoZXJyb3IpLCB7aGVhZGVyczogbmV3IE1hcCgpLnNldChNZXNzYWdlSGVhZGVycy5TdGF0dXMsIFJlc3BvbnNlU3RhdHVzQ29kZXMuRVJST1IpfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgdGhlIHByb3BlcnRpZXMgb2YgdGhpcyB2aWV3LCBzdWNoIGFzIHRoZSB2aWV3IHRpdGxlLCBhcyBkZWZpbmVkIGJ5IHRoZSBjYXBhYmlsaXR5LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXRWaWV3UHJvcGVydGllcyh2aWV3Q2FwYWJpbGl0eTogV29ya2JlbmNoVmlld0NhcGFiaWxpdHksIHBhcmFtczogUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy52aWV3LnRpdGxlID0gTWljcm9mcm9udGVuZHMuc3Vic3RpdHV0ZU5hbWVkUGFyYW1ldGVycyh2aWV3Q2FwYWJpbGl0eS5wcm9wZXJ0aWVzLnRpdGxlLCBNYXBzLmNvZXJjZShwYXJhbXMpKSA/PyBudWxsO1xuICAgIHRoaXMudmlldy5oZWFkaW5nID0gTWljcm9mcm9udGVuZHMuc3Vic3RpdHV0ZU5hbWVkUGFyYW1ldGVycyh2aWV3Q2FwYWJpbGl0eS5wcm9wZXJ0aWVzLmhlYWRpbmcsIE1hcHMuY29lcmNlKHBhcmFtcykpID8/IG51bGw7XG4gICAgdGhpcy52aWV3LmNsYXNzTGlzdC5zZXQodmlld0NhcGFiaWxpdHkucHJvcGVydGllcy5jc3NDbGFzcywge3Njb3BlOiAnYXBwbGljYXRpb24nfSk7XG4gICAgdGhpcy52aWV3LmNsb3NhYmxlID0gdmlld0NhcGFiaWxpdHkucHJvcGVydGllcy5jbG9zYWJsZSA/PyB0cnVlO1xuICAgIHRoaXMudmlldy5kaXJ0eSA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIHBhcmFtcyBjb250YWluIHRoZSBnaXZlbiBjYXBhYmlsaXR5IGlkLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyB3YWl0Rm9yQ2FwYWJpbGl0eVBhcmFtKHZpZXdDYXBhYmlsaXR5SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHZpZXdQYXJhbXMkID0gdGhpcy5fbWVzc2FnZUNsaWVudC5vYnNlcnZlJDxNYXA8c3RyaW5nLCBzdHJpbmc+PijJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdQYXJhbXNUb3BpYyh0aGlzLnZpZXcuaWQpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcFRvQm9keSgpLFxuICAgICAgICBmaXJzdChwYXJhbXMgPT4gcGFyYW1zLmdldCjJtU1pY3JvZnJvbnRlbmRSb3V0ZVBhcmFtcy7JtVZJRVdfQ0FQQUJJTElUWV9JRCkgPT09IHZpZXdDYXBhYmlsaXR5SWQpLFxuICAgICAgKTtcbiAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh2aWV3UGFyYW1zJCk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGFzeW5jIGNhbkNsb3NlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGNhbkNsb3NlVG9waWMgPSDJtVdvcmtiZW5jaENvbW1hbmRzLmNhbkNsb3NlVG9waWModGhpcy52aWV3LmlkKTtcbiAgICBjb25zdCBsZWdhY3lDYW5DbG9zZVRvcGljID0gybVXb3JrYmVuY2hDb21tYW5kcy52aWV3Q2xvc2luZ1RvcGljKHRoaXMudmlldy5pZCk7XG5cbiAgICAvLyBJbml0aWF0ZSBhIHJlcXVlc3QtcmVzcG9uc2UgY29tbXVuaWNhdGlvbiBvbmx5IGlmIHRoZSBlbWJlZGRlZCBtaWNyb2Zyb250ZW5kIGltcGxlbWVudHMgYENhbkNsb3NlYCBndWFyZC5cbiAgICBjb25zdCBoYXNDYW5DbG9zZUd1YXJkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fbWVzc2FnZUNsaWVudC5zdWJzY3JpYmVyQ291bnQkKGNhbkNsb3NlVG9waWMpKSA+IDA7XG4gICAgY29uc3QgaGFzTGVnYWN5Q2FuQ2xvc2VHdWFyZCA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuX21lc3NhZ2VDbGllbnQuc3Vic2NyaWJlckNvdW50JChsZWdhY3lDYW5DbG9zZVRvcGljKSkgPiAwO1xuICAgIGlmICghaGFzQ2FuQ2xvc2VHdWFyZCAmJiAhaGFzTGVnYWN5Q2FuQ2xvc2VHdWFyZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9tZXNzYWdlQ2xpZW50LnJlcXVlc3QkPGJvb2xlYW4+KGhhc0NhbkNsb3NlR3VhcmQgPyBjYW5DbG9zZVRvcGljIDogbGVnYWN5Q2FuQ2xvc2VUb3BpYykucGlwZShtYXBUb0JvZHkoKSksIHtkZWZhdWx0VmFsdWU6IHRydWV9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvY3VzV2l0aGluKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHtkZXRhaWw6IGZvY3VzV2l0aGlufSA9IGV2ZW50IGFzIEN1c3RvbUV2ZW50PGJvb2xlYW4+O1xuICAgIGlmIChmb2N1c1dpdGhpbikge1xuICAgICAgdGhpcy5faG9zdC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdzY2ktbWljcm9mcm9udGVuZC1mb2N1c2luJywge2J1YmJsZXM6IHRydWV9KSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVwb24gc3Vic2NyaXB0aW9uLCBlbWl0cyB0aGUga2V5c3Ryb2tlcyByZWdpc3RlcmVkIHdpdGggbWVudSBpdGVtcyBvZiB0aGlzIHZpZXcncyBjb250ZXh0IG1lbnUsXG4gICAqIGFuZCB0aGVuIGNvbnRpbnVvdXNseSB3aGVuIHRoZXkgY2hhbmdlLiBUaGUgb2JzZXJ2YWJsZSBuZXZlciBjb21wbGV0ZXMuXG4gICAqL1xuICBwcml2YXRlIHZpZXdDb250ZXh0TWVudUtleXN0cm9rZXMkKCk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3Lm1lbnVJdGVtcyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXJBcnJheShtZW51SXRlbSA9PiAhIW1lbnVJdGVtLmFjY2VsZXJhdG9yKSxcbiAgICAgICAgbWFwQXJyYXkobWVudUl0ZW0gPT4gbWVudUl0ZW0uYWNjZWxlcmF0b3IhLm1hcChhY2NlbGVyYXRvciA9PiB7XG4gICAgICAgICAgLy8gTm9ybWFsaXplIGtleXN0cm9rZXMgYWNjb3JkaW5nIHRvIGBTY2lSb3V0ZXJPdXRsZXRFbGVtZW50I2tleXN0cm9rZXNgXG4gICAgICAgICAgc3dpdGNoIChhY2NlbGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSAnY3RybCc6XG4gICAgICAgICAgICAgIHJldHVybiAnY29udHJvbCc7XG4gICAgICAgICAgICBjYXNlICcuJzpcbiAgICAgICAgICAgICAgcmV0dXJuICdkb3QnO1xuICAgICAgICAgICAgY2FzZSAnICc6XG4gICAgICAgICAgICAgIHJldHVybiAnc3BhY2UnO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIGFjY2VsZXJhdG9yO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkpLFxuICAgICAgICBtYXBBcnJheShhY2NlbGVyYXRvciA9PiBbJ2tleWRvd24nXS5jb25jYXQoYWNjZWxlcmF0b3IpLmpvaW4oJy4nKSksXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHtAbGluayBpc1dvcmtiZW5jaERyYWd9IHByb3BlcnR5IHdoZW4gYSB3b3JrYmVuY2ggZHJhZyBvcGVyYXRpb24gaXMgZGV0ZWN0ZWQsXG4gICAqIHN1Y2ggYXMgd2hlbiBkcmFnZ2luZyBhIHZpZXcgb3IgbW92aW5nIGEgc2FzaC5cbiAgICovXG4gIHByaXZhdGUgaW5zdGFsbFdvcmtiZW5jaERyYWdEZXRlY3RvcigpOiB2b2lkIHtcbiAgICB0aGlzLl93b3JrYmVuY2hMYXlvdXRTZXJ2aWNlLmRyYWdnaW5nJFxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgdGhpcy5pc1dvcmtiZW5jaERyYWcgPSAoZXZlbnQgPT09ICdzdGFydCcpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHByb3BhZ2F0ZVdvcmtiZW5jaFRoZW1lKCk6IHZvaWQge1xuICAgIHJ1bkluSW5qZWN0aW9uQ29udGV4dCh0aGlzLl9pbmplY3RvciwgKCkgPT4gTWljcm9mcm9udGVuZHMucHJvcGFnYXRlVGhlbWUodGhpcy5yb3V0ZXJPdXRsZXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyBJbnN0cnVjdCB0aGUgbWVzc2FnZSBicm9rZXIgdG8gZGVsZXRlIHJldGFpbmVkIG1lc3NhZ2VzIHRvIGZyZWUgcmVzb3VyY2VzLlxuICAgIHRoaXMuX21lc3NhZ2VDbGllbnQucHVibGlzaCjJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdBY3RpdmVUb3BpYyh0aGlzLnZpZXcuaWQpLCB1bmRlZmluZWQsIHtyZXRhaW46IHRydWV9KS50aGVuKCk7XG4gICAgdGhpcy5fbWVzc2FnZUNsaWVudC5wdWJsaXNoKMm1V29ya2JlbmNoQ29tbWFuZHMudmlld1BhcmFtc1RvcGljKHRoaXMudmlldy5pZCksIHVuZGVmaW5lZCwge3JldGFpbjogdHJ1ZX0pLnRoZW4oKTtcbiAgICB0aGlzLl9vdXRsZXRSb3V0ZXIubmF2aWdhdGUobnVsbCwge291dGxldDogdGhpcy52aWV3LmlkfSkudGhlbigpO1xuICAgIHRoaXMudmlldy51bnJlZ2lzdGVyQWRhcHRlcihNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlldyk7XG4gIH1cbn1cblxuLyoqXG4gKiBCbG9ja3MgdGhlIG1pY3JvZnJvbnRlbmQgb3V0bGV0IHdoZW4gZGlhbG9nKHMpIG92ZXJsYXkgdGhpcyB2aWV3LlxuICovXG5mdW5jdGlvbiBjb25maWd1cmVNaWNyb2Zyb250ZW5kR2xhc3NQYW5lKCk6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBHTEFTU19QQU5FX0JMT0NLQUJMRSxcbiAgICB1c2VFeGlzdGluZzogybVXb3JrYmVuY2hWaWV3LFxuICB9O1xufVxuIiwiPHdiLWNvbnRlbnQtYXMtb3ZlcmxheSBbb3ZlcmxheUhvc3RdPVwiaWZyYW1lSG9zdFJlZi5yZWYkIHwgYXN5bmNcIj5cbiAgPGRpdiBjbGFzcz1cIm1pY3JvZnJvbnRlbmQtdmlld1wiXG4gICAgICAgW2NsYXNzLndvcmtiZW5jaC1kcmFnXT1cImlzV29ya2JlbmNoRHJhZ1wiXG4gICAgICAgW2F0dHIuZGF0YS12aWV3aWRdPVwidmlldy5pZFwiXG4gICAgICAgd2JHbGFzc1BhbmU+XG4gICAgPHNjaS1yb3V0ZXItb3V0bGV0ICNyb3V0ZXJfb3V0bGV0XG4gICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInZpZXcuaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWNhcGFiaWxpdHlpZF09XCJjYXBhYmlsaXR5Py5tZXRhZGF0YSEuaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWFwcF09XCJjYXBhYmlsaXR5Py5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwidmlldy5jbGFzc0xpc3QudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXN3aXRoaW4pPVwib25Gb2N1c1dpdGhpbigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2tleXN0cm9rZXNdPVwia2V5c3Ryb2tlc1RvQnViYmxlJCB8IGFzeW5jXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInNwbGFzaFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvc2NpLXJvdXRlci1vdXRsZXQ+XG4gIDwvZGl2PlxuPC93Yi1jb250ZW50LWFzLW92ZXJsYXk+XG4iXX0=
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vbWljcm9mcm9udGVuZC12aWV3L21pY3JvZnJvbnRlbmQtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL21pY3JvZnJvbnRlbmQtdmlldy9taWNyb2Zyb250ZW5kLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQW9CLFNBQVMsRUFBRSxzQkFBc0IsRUFBMEIsTUFBTSxFQUFFLE1BQU0sRUFBeUMscUJBQXFCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXBNLE9BQU8sRUFBQyxhQUFhLEVBQUUsY0FBYyxFQUFjLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBa0IsU0FBUyxFQUFpQixjQUFjLEVBQUUsMkJBQTJCLEVBQWdCLG1CQUFtQixFQUF1QyxNQUFNLCtCQUErQixDQUFDO0FBQzlNLE9BQU8sRUFBMEIseUJBQXlCLEVBQUUsb0JBQW9CLEVBQTRCLGtCQUFrQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0osT0FBTyxFQUFDLFlBQVksRUFBRSxJQUFJLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQVMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBQyxXQUFXLEVBQXlCLE1B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LENBQUM7UUFDakUsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBcFFVLDBCQUEwQiw2WUF3Q2pCLFdBQVc7a0dBeENwQiwwQkFBMEIscU5DM0R2QyxneEJBZ0JBLGlQRGdDSSxPQUFPLCtFQUNQLFNBQVMsOENBQ1QseUJBQXlCLDJGQUN6QixpQkFBaUIsb1BBQ2pCLGtCQUFrQiwrQ0FFTDtZQUNiLCtCQUErQixFQUFFO1NBQ2xDOzsyRkFHVSwwQkFBMEI7a0JBakJ0QyxTQUFTOytCQUNFLHVCQUF1QixjQUdyQixJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxTQUFTO3dCQUNULHlCQUF5Qjt3QkFDekIsaUJBQWlCO3dCQUNqQixrQkFBa0I7cUJBQ25CLGlCQUNjO3dCQUNiLCtCQUErQixFQUFFO3FCQUNsQyxXQUNRLENBQUMsc0JBQXNCLENBQUM7OzBCQTBDcEIsTUFBTTsyQkFBQyxXQUFXO3lDQXpCeEIsbUJBQW1CO3NCQUR6QixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7O0FBeVA1Qzs7R0FFRztBQUNILFNBQVMsK0JBQStCO0lBQ3RDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsV0FBVyxFQUFFLGNBQWM7U0FDNUI7UUFDRDtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsVUFBVSxFQUFFLEdBQXFCLEVBQUUsQ0FBQyxDQUFDLEVBQUMsVUFBVSxFQUFFLEVBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUMsRUFBQyxDQUFDO1NBQzlGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbmplY3QsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUHJvdmlkZXIsIHJ1bkluSW5qZWN0aW9uQ29udGV4dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaXJzdCwgbWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TWFuaWZlc3RTZXJ2aWNlLCBtYXBUb0JvZHksIE1lc3NhZ2VDbGllbnQsIE1lc3NhZ2VIZWFkZXJzLCBNaWNyb2Zyb250ZW5kUGxhdGZvcm1Db25maWcsIE91dGxldFJvdXRlciwgUmVzcG9uc2VTdGF0dXNDb2RlcywgU2NpUm91dGVyT3V0bGV0RWxlbWVudCwgVG9waWNNZXNzYWdlfSBmcm9tICdAc2Npb24vbWljcm9mcm9udGVuZC1wbGF0Zm9ybSc7XG5pbXBvcnQge1dvcmtiZW5jaFZpZXdDYXBhYmlsaXR5LCDJtU1pY3JvZnJvbnRlbmRSb3V0ZVBhcmFtcywgybVWSUVXX0lEX0NPTlRFWFRfS0VZLCDJtVZpZXdQYXJhbXNVcGRhdGVDb21tYW5kLCDJtVdvcmtiZW5jaENvbW1hbmRzfSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge0RpY3Rpb25hcmllcywgTWFwc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyTmFtZXN9IGZyb20gJy4uLy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHtDYW5DbG9zZX0gZnJvbSAnLi4vLi4vd29ya2JlbmNoLm1vZGVsJztcbmltcG9ydCB7SUZSQU1FX0hPU1QsIFZpZXdDb250YWluZXJSZWZlcmVuY2V9IGZyb20gJy4uLy4uL2NvbnRlbnQtcHJvamVjdGlvbi92aWV3LWNvbnRhaW5lci5yZWZlcmVuY2UnO1xuaW1wb3J0IHtzZXJpYWxpemVFeGVjdXRpb259IGZyb20gJy4uLy4uL2NvbW1vbi9vcGVyYXRvcnMnO1xuaW1wb3J0IHvJtVdvcmtiZW5jaFZpZXd9IGZyb20gJy4uLy4uL3ZpZXcvybV3b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge2ZpbHRlckFycmF5LCBtYXBBcnJheX0gZnJvbSAnQHNjaW9uL3Rvb2xraXQvb3BlcmF0b3JzJztcbmltcG9ydCB7Vmlld01lbnVTZXJ2aWNlfSBmcm9tICcuLi8uLi9wYXJ0L3ZpZXctY29udGV4dC1tZW51L3ZpZXctbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7V29ya2JlbmNoUm91dGVyfSBmcm9tICcuLi8uLi9yb3V0aW5nL3dvcmtiZW5jaC1yb3V0ZXIuc2VydmljZSc7XG5pbXBvcnQge3N0cmluZ2lmeUVycm9yfSBmcm9tICcuLi8uLi9jb21tb24vc3RyaW5naWZ5LWVycm9yLnV0aWwnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kVmlld1JvdXRlc30gZnJvbSAnLi4vcm91dGluZy9taWNyb2Zyb250ZW5kLXZpZXctcm91dGVzJztcbmltcG9ydCB7QXN5bmNQaXBlLCBOZ0NsYXNzLCBOZ0NvbXBvbmVudE91dGxldH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q29udGVudEFzT3ZlcmxheUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29udGVudC1wcm9qZWN0aW9uL2NvbnRlbnQtYXMtb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7V29ya2JlbmNoTGF5b3V0U2VydmljZX0gZnJvbSAnLi4vLi4vbGF5b3V0L3dvcmtiZW5jaC1sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge0NvbXBvbmVudFR5cGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kU3BsYXNoQ29tcG9uZW50fSBmcm9tICcuLi9taWNyb2Zyb250ZW5kLXNwbGFzaC9taWNyb2Zyb250ZW5kLXNwbGFzaC5jb21wb25lbnQnO1xuaW1wb3J0IHtHTEFTU19QQU5FX0JMT0NLQUJMRSwgR0xBU1NfUEFORV9PUFRJT05TLCBHbGFzc1BhbmVEaXJlY3RpdmUsIEdsYXNzUGFuZU9wdGlvbnN9IGZyb20gJy4uLy4uL2dsYXNzLXBhbmUvZ2xhc3MtcGFuZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlld30gZnJvbSAnLi9taWNyb2Zyb250ZW5kLXdvcmtiZW5jaC12aWV3Lm1vZGVsJztcbmltcG9ydCB7TWljcm9mcm9udGVuZHN9IGZyb20gJy4uL2NvbW1vbi9taWNyb2Zyb250ZW5kLnV0aWwnO1xuaW1wb3J0IHtPYmplY3RzfSBmcm9tICcuLi8uLi9jb21tb24vb2JqZWN0cy51dGlsJztcbmltcG9ydCB7V29ya2JlbmNoVmlld30gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5cbi8qKlxuICogRW1iZWRzIHRoZSBtaWNyb2Zyb250ZW5kIG9mIGEgdmlldyBjYXBhYmlsaXR5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3Yi1taWNyb2Zyb250ZW5kLXZpZXcnLFxuICBzdHlsZVVybHM6IFsnLi9taWNyb2Zyb250ZW5kLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL21pY3JvZnJvbnRlbmQtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIEFzeW5jUGlwZSxcbiAgICBDb250ZW50QXNPdmVybGF5Q29tcG9uZW50LFxuICAgIE5nQ29tcG9uZW50T3V0bGV0LFxuICAgIEdsYXNzUGFuZURpcmVjdGl2ZSxcbiAgXSxcbiAgdmlld1Byb3ZpZGVyczogW1xuICAgIGNvbmZpZ3VyZU1pY3JvZnJvbnRlbmRHbGFzc1BhbmUoKSxcbiAgXSxcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLCAvLyByZXF1aXJlZCBiZWNhdXNlIDxzY2ktcm91dGVyLW91dGxldD4gaXMgYSBjdXN0b20gZWxlbWVudFxufSlcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDYW5DbG9zZSB7XG5cbiAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVQYXJhbXNVcGRhdGVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3VuaXZlcnNhbEtleXN0cm9rZXMgPSBbXG4gICAgJ2tleWRvd24uZXNjYXBlJywgLy8gYWxsb3dzIGNsb3Npbmcgbm90aWZpY2F0aW9uc1xuICBdO1xuXG4gIHByb3RlY3RlZCBjYXBhYmlsaXR5OiBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogU3BsYXNoIHRvIGRpc3BsYXkgdW50aWwgdGhlIG1pY3JvZnJvbnRlbmQgc2lnbmFscyByZWFkaW5lc3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3BsYXNoOiBDb21wb25lbnRUeXBlPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ3JvdXRlcl9vdXRsZXQnLCB7c3RhdGljOiB0cnVlfSlcbiAgcHVibGljIHJvdXRlck91dGxldEVsZW1lbnQhOiBFbGVtZW50UmVmPFNjaVJvdXRlck91dGxldEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBLZXlzdHJva2VzIHdoaWNoIHRvIGJ1YmJsZSBhY3Jvc3MgaWZyYW1lIGJvdW5kYXJpZXMgb2YgZW1iZWRkZWQgY29udGVudC5cbiAgICovXG4gIHB1YmxpYyBrZXlzdHJva2VzVG9CdWJibGUkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgYSB3b3JrYmVuY2ggZHJhZyBvcGVyYXRpb24gaXMgaW4gcHJvZ3Jlc3MsIHN1Y2ggYXMgd2hlbiBkcmFnZ2luZyBhIHZpZXcgb3IgbW92aW5nIGEgc2FzaC5cbiAgICovXG4gIHB1YmxpYyBpc1dvcmtiZW5jaERyYWcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9ob3N0OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICAgICAgICBwcml2YXRlIF9vdXRsZXRSb3V0ZXI6IE91dGxldFJvdXRlcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfbWFuaWZlc3RTZXJ2aWNlOiBNYW5pZmVzdFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX21lc3NhZ2VDbGllbnQ6IE1lc3NhZ2VDbGllbnQsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2Rlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2xvZ2dlcjogTG9nZ2VyLFxuICAgICAgICAgICAgICBwcml2YXRlIF92aWV3Q29udGV4dE1lbnVTZXJ2aWNlOiBWaWV3TWVudVNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3dvcmtiZW5jaExheW91dFNlcnZpY2U6IFdvcmtiZW5jaExheW91dFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3dvcmtiZW5jaFJvdXRlcjogV29ya2JlbmNoUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHVibGljIHZpZXc6IMm1V29ya2JlbmNoVmlldyxcbiAgICAgICAgICAgICAgQEluamVjdChJRlJBTUVfSE9TVCkgcHJvdGVjdGVkIGlmcmFtZUhvc3RSZWY6IFZpZXdDb250YWluZXJSZWZlcmVuY2UpIHtcbiAgICB0aGlzLl9sb2dnZXIuZGVidWcoKCkgPT4gYENvbnN0cnVjdGluZyBNaWNyb2Zyb250ZW5kVmlld0NvbXBvbmVudC4gW3ZpZXdJZD0ke3RoaXMudmlldy5pZH1dYCwgTG9nZ2VyTmFtZXMuTUlDUk9GUk9OVEVORF9ST1VUSU5HKTtcbiAgICB0aGlzLmtleXN0cm9rZXNUb0J1YmJsZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnZpZXdDb250ZXh0TWVudUtleXN0cm9rZXMkKCksIG9mKHRoaXMuX3VuaXZlcnNhbEtleXN0cm9rZXMpXSlcbiAgICAgIC5waXBlKG1hcChrZXlzdHJva2VzID0+IG5ldyBBcnJheTxzdHJpbmc+KCkuY29uY2F0KC4uLmtleXN0cm9rZXMpKSk7XG4gICAgdGhpcy5pbnN0YWxsV29ya2JlbmNoRHJhZ0RldGVjdG9yKCk7XG4gICAgdGhpcy5zcGxhc2ggPSBpbmplY3QoTWljcm9mcm9udGVuZFBsYXRmb3JtQ29uZmlnKS5zcGxhc2ggPz8gTWljcm9mcm9udGVuZFNwbGFzaENvbXBvbmVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudC5zZXRDb250ZXh0VmFsdWUoybVWSUVXX0lEX0NPTlRFWFRfS0VZLCB0aGlzLnZpZXcuaWQpO1xuICAgIHRoaXMucHJvcGFnYXRlV29ya2JlbmNoVGhlbWUoKTtcbiAgICB0aGlzLmluc3RhbGxNZW51SXRlbUFjY2VsZXJhdG9ycyQoKTtcbiAgICB0aGlzLmluc3RhbGxOYXZpZ2F0b3IoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbE5hdmlnYXRvcigpOiB2b2lkIHtcbiAgICB0aGlzLl9yb3V0ZS5wYXJhbXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAocGFyYW1zID0+IHRoaXMuZmV0Y2hDYXBhYmlsaXR5JChwYXJhbXNbybVNaWNyb2Zyb250ZW5kUm91dGVQYXJhbXMuybVWSUVXX0NBUEFCSUxJVFlfSURdKS5waXBlKG1hcChjYXBhYmlsaXR5ID0+ICh7Y2FwYWJpbGl0eSwgcGFyYW1zfSkpKSksXG4gICAgICAgIHNlcmlhbGl6ZUV4ZWN1dGlvbigoe2NhcGFiaWxpdHksIHBhcmFtc30pID0+IHRoaXMub25OYXZpZ2F0ZSh0aGlzLmNhcGFiaWxpdHksIGNhcGFiaWxpdHksIHBhcmFtcykpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZiksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG9uTmF2aWdhdGUocHJldkNhcGFiaWxpdHk6IFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5IHwgdW5kZWZpbmVkLCBjYXBhYmlsaXR5OiBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSB8IHVuZGVmaW5lZCwgcGFyYW1zOiBQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIWNhcGFiaWxpdHkpIHtcbiAgICAgIHRoaXMuX2xvZ2dlci53YXJuKCgpID0+IGBbTnVsbENhcGFiaWxpdHlFcnJvcl0gTm8gYXBwbGljYXRpb24gZm91bmQgdG8gcHJvdmlkZSBhIHZpZXcgY2FwYWJpbGl0eSBvZiBpZCAnJHtwYXJhbXNbybVNaWNyb2Zyb250ZW5kUm91dGVQYXJhbXMuybVWSUVXX0NBUEFCSUxJVFlfSURdfScuIE1heWJlLCB0aGUgcmVxdWVzdGVkIHZpZXcgaXMgbm90IHB1YmxpYyBBUEkgb3IgdGhlIHByb3ZpZGluZyBhcHBsaWNhdGlvbiBub3QgYXZhaWxhYmxlLmAsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkRfUk9VVElORyk7XG4gICAgICBhd2FpdCB0aGlzLnZpZXcuY2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNhcGFiaWxpdHkgPSBjYXBhYmlsaXR5O1xuICAgIHRoaXMudmlldy5yZWdpc3RlckFkYXB0ZXIoTWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXcsIG5ldyBNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlldyhjYXBhYmlsaXR5LCBwYXJhbXMpKTtcblxuICAgIC8vIENoZWNrIGlmIG5hdmlnYXRpbmcgdG8gYSBuZXcgbWljcm9mcm9udGVuZC5cbiAgICBpZiAoIXByZXZDYXBhYmlsaXR5IHx8IHByZXZDYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCAhPT0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQpIHtcbiAgICAgIHRoaXMuc2V0Vmlld1Byb3BlcnRpZXMoY2FwYWJpbGl0eSwgcGFyYW1zKTtcbiAgICAgIHRoaXMuaW5zdGFsbFBhcmFtc1VwZGF0ZXIoY2FwYWJpbGl0eSk7XG4gICAgfVxuXG4gICAgLy8gU2lnbmFsIHRoZSBjdXJyZW50bHkgbG9hZGVkIGFwcGxpY2F0aW9uIHRvIHVubG9hZC5cbiAgICBpZiAocHJldkNhcGFiaWxpdHkgJiYgcHJldkNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZSAhPT0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lKSB7XG4gICAgICBhd2FpdCB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2goybVXb3JrYmVuY2hDb21tYW5kcy52aWV3VW5sb2FkaW5nVG9waWModGhpcy52aWV3LmlkKSk7XG4gICAgfVxuXG4gICAgLy8gUGFzcyBwYXJhbWV0ZXJzIHRvIHRoZSBtaWNyb2Zyb250ZW5kLlxuICAgIGF3YWl0IHRoaXMuX21lc3NhZ2VDbGllbnQucHVibGlzaCjJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdQYXJhbXNUb3BpYyh0aGlzLnZpZXcuaWQpLCBNYXBzLmNvZXJjZShwYXJhbXMpLCB7cmV0YWluOiB0cnVlfSk7XG5cbiAgICAvLyBXaGVuIG5hdmlnYXRpbmcgdG8gYW5vdGhlciB2aWV3IGNhcGFiaWxpdHkgb2YgdGhlIHNhbWUgYXBwLCB3YWl0IHVudGlsIHRyYW5zcG9ydGVkIHRoZSBwYXJhbXMgdG8gdGhlIG1pY3JvZnJvbnRlbmQgYmVmb3JlIGxvYWRpbmcgdGhlXG4gICAgLy8gbmV3IG1pY3JvZnJvbnRlbmQgaW50byB0aGUgaWZyYW1lLCBhbGxvd2luZyB0aGUgY3VycmVudGx5IGxvYWRlZCBtaWNyb2Zyb250ZW5kIHRvIGNsZWFuIHVwIHN1YnNjcmlwdGlvbnMuXG4gICAgaWYgKHByZXZDYXBhYmlsaXR5XG4gICAgICAmJiBwcmV2Q2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lID09PSBjYXBhYmlsaXR5Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWVcbiAgICAgICYmIHByZXZDYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCAhPT0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQpIHtcbiAgICAgIGF3YWl0IHRoaXMud2FpdEZvckNhcGFiaWxpdHlQYXJhbShjYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCk7XG4gICAgfVxuXG4gICAgLy8gTmF2aWdhdGUgdG8gdGhlIG1pY3JvZnJvbnRlbmQuXG4gICAgY29uc3QgYXBwbGljYXRpb24gPSB0aGlzLl9tYW5pZmVzdFNlcnZpY2UuYXBwbGljYXRpb25zLmZpbmQoYXBwID0+IGFwcC5zeW1ib2xpY05hbWUgPT09IGNhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZSkhO1xuICAgIHRoaXMuX2xvZ2dlci5kZWJ1ZygoKSA9PiBgTG9hZGluZyBtaWNyb2Zyb250ZW5kIGludG8gd29ya2JlbmNoIHZpZXcgW3ZpZXdJZD0ke3RoaXMudmlldy5pZH0sIGFwcD0ke2NhcGFiaWxpdHkubWV0YWRhdGEhLmFwcFN5bWJvbGljTmFtZX0sIGJhc2VVcmw9JHthcHBsaWNhdGlvbi5iYXNlVXJsfSwgcGF0aD0keyhjYXBhYmlsaXR5LnByb3BlcnRpZXMucGF0aCl9XS5gLCBMb2dnZXJOYW1lcy5NSUNST0ZST05URU5EX1JPVVRJTkcsIHBhcmFtcywgY2FwYWJpbGl0eSk7XG4gICAgYXdhaXQgdGhpcy5fb3V0bGV0Um91dGVyLm5hdmlnYXRlKGNhcGFiaWxpdHkucHJvcGVydGllcy5wYXRoLCB7XG4gICAgICBvdXRsZXQ6IHRoaXMudmlldy5pZCxcbiAgICAgIHJlbGF0aXZlVG86IGFwcGxpY2F0aW9uLmJhc2VVcmwsXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgIHB1c2hTdGF0ZVRvU2Vzc2lvbkhpc3RvcnlTdGFjazogZmFsc2UsXG4gICAgICBzaG93U3BsYXNoOiBjYXBhYmlsaXR5LnByb3BlcnRpZXMuc2hvd1NwbGFzaCxcbiAgICAgIMm1Y2FwYWJpbGl0eUlkOiBjYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCxcbiAgICB9KTtcblxuICAgIC8vIEluYWN0aXZlIHZpZXdzIGFyZSBkZXRhY2hlZCBmcm9tIHRoZSBBbmd1bGFyIGNoYW5nZSBkZXRlY3Rpb24gdHJlZS5cbiAgICAvLyBUaGVyZWZvcmUsIG1hbnVhbGx5IGRldGVjdCB0aGlzIGNvbXBvbmVudCBmb3IgY2hhbmdlcyBmb3IgdXBkYXRpbmcgYXR0cmlidXRlcyBvbiB0aGUgYHNjaS1yb3V0ZXItb3V0bGV0YC5cbiAgICBpZiAoIXRoaXMudmlldy5hY3RpdmUpIHtcbiAgICAgIHRoaXMuX2NkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZldGNoQ2FwYWJpbGl0eSQoY2FwYWJpbGl0eUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5IHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX21hbmlmZXN0U2VydmljZS5sb29rdXBDYXBhYmlsaXRpZXMkPFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5Pih7aWQ6IGNhcGFiaWxpdHlJZH0pLnBpcGUobWFwKGNhcGFiaWxpdGllcyA9PiBjYXBhYmlsaXRpZXMuYXQoMCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbE1lbnVJdGVtQWNjZWxlcmF0b3JzJCgpOiB2b2lkIHtcbiAgICAvLyBTaW5jZSB0aGUgaWZyYW1lIGlzIGFkZGVkIGF0IGEgdG9wLWxldmVsIGxvY2F0aW9uIGluIHRoZSBET00sIHRoYXQgaXMsIG5vdCBhcyBhIGNoaWxkIGVsZW1lbnQgb2YgdGhpcyBjb21wb25lbnQsXG4gICAgLy8gdGhlIHdvcmtiZW5jaCB2aWV3IG1pc3NlcyBrZXlib2FyZCBldmVudHMgZnJvbSBlbWJlZGRlZCBjb250ZW50LiBBcyBhIHJlc3VsdCwgbWVudSBpdGVtIGFjY2VsZXJhdG9ycyBvZiB0aGUgY29udGV4dFxuICAgIC8vIG1lbnUgb2YgdGhpcyB2aWV3IGRvIG5vdCB3b3JrLCBzbyB3ZSBpbnN0YWxsIHRoZSBhY2NlbGVyYXRvcnMgb24gdGhlIHJvdXRlciBvdXRsZXQgYXMgd2VsbC5cbiAgICB0aGlzLl92aWV3Q29udGV4dE1lbnVTZXJ2aWNlLmluc3RhbGxNZW51SXRlbUFjY2VsZXJhdG9ycyQodGhpcy5yb3V0ZXJPdXRsZXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMudmlldylcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIHJlcXVlc3RzIGZyb20gdGhlIGN1cnJlbnRseSBsb2FkZWQgbWljcm9mcm9udGVuZCB0byB1cGRhdGUgaXRzIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwcml2YXRlIGluc3RhbGxQYXJhbXNVcGRhdGVyKHZpZXdDYXBhYmlsaXR5OiBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSk6IHZvaWQge1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlUGFyYW1zVXBkYXRlciQubmV4dCgpO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX21lc3NhZ2VDbGllbnQub2JzZXJ2ZSQ8ybVWaWV3UGFyYW1zVXBkYXRlQ29tbWFuZD4oybVXb3JrYmVuY2hDb21tYW5kcy52aWV3UGFyYW1zVXBkYXRlVG9waWModGhpcy52aWV3LmlkLCB2aWV3Q2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlUGFyYW1zVXBkYXRlciQpLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKGFzeW5jIChyZXF1ZXN0OiBUb3BpY01lc3NhZ2U8ybVWaWV3UGFyYW1zVXBkYXRlQ29tbWFuZD4pID0+IHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSByeGpzL25vLWFzeW5jLXN1YnNjcmliZVxuICAgICAgICAvLyBXZSBETyBOT1QgbmF2aWdhdGUgaWYgdGhlIHN1YnNjcmlwdGlvbiB3YXMgY2xvc2VkLCBlLmcuLCBiZWNhdXNlIGNsb3NlZCB0aGUgdmlldyBvciBuYXZpZ2F0ZWQgdG8gYW5vdGhlciBjYXBhYmlsaXR5LlxuICAgICAgICBjb25zdCByZXBseVRvID0gcmVxdWVzdC5oZWFkZXJzLmdldChNZXNzYWdlSGVhZGVycy5SZXBseVRvKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCB0aGlzLl93b3JrYmVuY2hSb3V0ZXIubmF2aWdhdGUobGF5b3V0ID0+IHtcbiAgICAgICAgICAgIC8vIENhbmNlbCBwZW5kaW5nIG5hdmlnYXRpb24gaWYgdGhlIHN1YnNjcmlwdGlvbiB3YXMgY2xvc2VkLCBlLmcuLCBiZWNhdXNlIGNsb3NlZCB0aGUgdmlldyBvciBuYXZpZ2F0ZWQgdG8gYW5vdGhlciBjYXBhYmlsaXR5XG4gICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcGFyYW1zSGFuZGxpbmcgPSByZXF1ZXN0LmJvZHkhLnBhcmFtc0hhbmRsaW5nO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFBhcmFtcyA9IHRoaXMuX3JvdXRlLnNuYXBzaG90LnBhcmFtcztcbiAgICAgICAgICAgIGNvbnN0IG5ld1BhcmFtcyA9IERpY3Rpb25hcmllcy5jb2VyY2UocmVxdWVzdC5ib2R5IS5wYXJhbXMpOyAvLyBjb2VyY2UgcGFyYW1zIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gICAgICAgICAgICBjb25zdCBtZXJnZWRQYXJhbXMgPSBPYmplY3RzLndpdGhvdXRVbmRlZmluZWRFbnRyaWVzKHBhcmFtc0hhbmRsaW5nID09PSAnbWVyZ2UnID8gey4uLmN1cnJlbnRQYXJhbXMsIC4uLm5ld1BhcmFtc30gOiBuZXdQYXJhbXMpO1xuICAgICAgICAgICAgY29uc3Qge3VybFBhcmFtcywgdHJhbnNpZW50UGFyYW1zfSA9IE1pY3JvZnJvbnRlbmRWaWV3Um91dGVzLnNwbGl0UGFyYW1zKG1lcmdlZFBhcmFtcywgdmlld0NhcGFiaWxpdHkpO1xuXG4gICAgICAgICAgICByZXR1cm4gbGF5b3V0Lm5hdmlnYXRlVmlldyh0aGlzLnZpZXcuaWQsIFt1cmxQYXJhbXNdLCB7XG4gICAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMuX3JvdXRlLFxuICAgICAgICAgICAgICBzdGF0ZTogT2JqZWN0cy53aXRob3V0VW5kZWZpbmVkRW50cmllcyh7XG4gICAgICAgICAgICAgICAgW01pY3JvZnJvbnRlbmRWaWV3Um91dGVzLlNUQVRFX1RSQU5TSUVOVF9QQVJBTVNdOiB0cmFuc2llbnRQYXJhbXMsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBhd2FpdCB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2gocmVwbHlUbywgc3VjY2Vzcywge2hlYWRlcnM6IG5ldyBNYXAoKS5zZXQoTWVzc2FnZUhlYWRlcnMuU3RhdHVzLCBSZXNwb25zZVN0YXR1c0NvZGVzLlRFUk1JTkFMKX0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGF3YWl0IHRoaXMuX21lc3NhZ2VDbGllbnQucHVibGlzaChyZXBseVRvLCBzdHJpbmdpZnlFcnJvcihlcnJvciksIHtoZWFkZXJzOiBuZXcgTWFwKCkuc2V0KE1lc3NhZ2VIZWFkZXJzLlN0YXR1cywgUmVzcG9uc2VTdGF0dXNDb2Rlcy5FUlJPUil9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgcHJvcGVydGllcyBvZiB0aGlzIHZpZXcsIHN1Y2ggYXMgdGhlIHZpZXcgdGl0bGUsIGFzIGRlZmluZWQgYnkgdGhlIGNhcGFiaWxpdHkuXG4gICAqL1xuICBwcml2YXRlIHNldFZpZXdQcm9wZXJ0aWVzKHZpZXdDYXBhYmlsaXR5OiBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eSwgcGFyYW1zOiBQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXcudGl0bGUgPSBNaWNyb2Zyb250ZW5kcy5zdWJzdGl0dXRlTmFtZWRQYXJhbWV0ZXJzKHZpZXdDYXBhYmlsaXR5LnByb3BlcnRpZXMudGl0bGUsIE1hcHMuY29lcmNlKHBhcmFtcykpID8/IG51bGw7XG4gICAgdGhpcy52aWV3LmhlYWRpbmcgPSBNaWNyb2Zyb250ZW5kcy5zdWJzdGl0dXRlTmFtZWRQYXJhbWV0ZXJzKHZpZXdDYXBhYmlsaXR5LnByb3BlcnRpZXMuaGVhZGluZywgTWFwcy5jb2VyY2UocGFyYW1zKSkgPz8gbnVsbDtcbiAgICB0aGlzLnZpZXcuY2xhc3NMaXN0LnNldCh2aWV3Q2FwYWJpbGl0eS5wcm9wZXJ0aWVzLmNzc0NsYXNzLCB7c2NvcGU6ICdhcHBsaWNhdGlvbid9KTtcbiAgICB0aGlzLnZpZXcuY2xvc2FibGUgPSB2aWV3Q2FwYWJpbGl0eS5wcm9wZXJ0aWVzLmNsb3NhYmxlID8/IHRydWU7XG4gICAgdGhpcy52aWV3LmRpcnR5ID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogUHJvbWlzZSB0aGF0IHJlc29sdmVzIG9uY2UgcGFyYW1zIGNvbnRhaW4gdGhlIGdpdmVuIGNhcGFiaWxpdHkgaWQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIHdhaXRGb3JDYXBhYmlsaXR5UGFyYW0odmlld0NhcGFiaWxpdHlJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgdmlld1BhcmFtcyQgPSB0aGlzLl9tZXNzYWdlQ2xpZW50Lm9ic2VydmUkPE1hcDxzdHJpbmcsIHN0cmluZz4+KMm1V29ya2JlbmNoQ29tbWFuZHMudmlld1BhcmFtc1RvcGljKHRoaXMudmlldy5pZCkpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwVG9Cb2R5KCksXG4gICAgICAgIGZpcnN0KHBhcmFtcyA9PiBwYXJhbXMuZ2V0KMm1TWljcm9mcm9udGVuZFJvdXRlUGFyYW1zLsm1VklFV19DQVBBQklMSVRZX0lEKSA9PT0gdmlld0NhcGFiaWxpdHlJZCksXG4gICAgICApO1xuICAgIGF3YWl0IGZpcnN0VmFsdWVGcm9tKHZpZXdQYXJhbXMkKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgYXN5bmMgY2FuQ2xvc2UoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgY2FuQ2xvc2VUb3BpYyA9IMm1V29ya2JlbmNoQ29tbWFuZHMuY2FuQ2xvc2VUb3BpYyh0aGlzLnZpZXcuaWQpO1xuICAgIGNvbnN0IGxlZ2FjeUNhbkNsb3NlVG9waWMgPSDJtVdvcmtiZW5jaENvbW1hbmRzLnZpZXdDbG9zaW5nVG9waWModGhpcy52aWV3LmlkKTtcblxuICAgIC8vIEluaXRpYXRlIGEgcmVxdWVzdC1yZXNwb25zZSBjb21tdW5pY2F0aW9uIG9ubHkgaWYgdGhlIGVtYmVkZGVkIG1pY3JvZnJvbnRlbmQgaW1wbGVtZW50cyBgQ2FuQ2xvc2VgIGd1YXJkLlxuICAgIGNvbnN0IGhhc0NhbkNsb3NlR3VhcmQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLl9tZXNzYWdlQ2xpZW50LnN1YnNjcmliZXJDb3VudCQoY2FuQ2xvc2VUb3BpYykpID4gMDtcbiAgICBjb25zdCBoYXNMZWdhY3lDYW5DbG9zZUd1YXJkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5fbWVzc2FnZUNsaWVudC5zdWJzY3JpYmVyQ291bnQkKGxlZ2FjeUNhbkNsb3NlVG9waWMpKSA+IDA7XG4gICAgaWYgKCFoYXNDYW5DbG9zZUd1YXJkICYmICFoYXNMZWdhY3lDYW5DbG9zZUd1YXJkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX21lc3NhZ2VDbGllbnQucmVxdWVzdCQ8Ym9vbGVhbj4oaGFzQ2FuQ2xvc2VHdWFyZCA/IGNhbkNsb3NlVG9waWMgOiBsZWdhY3lDYW5DbG9zZVRvcGljKS5waXBlKG1hcFRvQm9keSgpKSwge2RlZmF1bHRWYWx1ZTogdHJ1ZX0pO1xuICB9XG5cbiAgcHVibGljIG9uRm9jdXNXaXRoaW4oZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qge2RldGFpbDogZm9jdXNXaXRoaW59ID0gZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8Ym9vbGVhbj47XG4gICAgaWYgKGZvY3VzV2l0aGluKSB7XG4gICAgICB0aGlzLl9ob3N0Lm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ3NjaS1taWNyb2Zyb250ZW5kLWZvY3VzaW4nLCB7YnViYmxlczogdHJ1ZX0pKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBvbiBzdWJzY3JpcHRpb24sIGVtaXRzIHRoZSBrZXlzdHJva2VzIHJlZ2lzdGVyZWQgd2l0aCBtZW51IGl0ZW1zIG9mIHRoaXMgdmlldydzIGNvbnRleHQgbWVudSxcbiAgICogYW5kIHRoZW4gY29udGludW91c2x5IHdoZW4gdGhleSBjaGFuZ2UuIFRoZSBvYnNlcnZhYmxlIG5ldmVyIGNvbXBsZXRlcy5cbiAgICovXG4gIHByaXZhdGUgdmlld0NvbnRleHRNZW51S2V5c3Ryb2tlcyQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLnZpZXcubWVudUl0ZW1zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlckFycmF5KG1lbnVJdGVtID0+ICEhbWVudUl0ZW0uYWNjZWxlcmF0b3IpLFxuICAgICAgICBtYXBBcnJheShtZW51SXRlbSA9PiBtZW51SXRlbS5hY2NlbGVyYXRvciEubWFwKGFjY2VsZXJhdG9yID0+IHtcbiAgICAgICAgICAvLyBOb3JtYWxpemUga2V5c3Ryb2tlcyBhY2NvcmRpbmcgdG8gYFNjaVJvdXRlck91dGxldEVsZW1lbnQja2V5c3Ryb2tlc2BcbiAgICAgICAgICBzd2l0Y2ggKGFjY2VsZXJhdG9yKSB7XG4gICAgICAgICAgICBjYXNlICdjdHJsJzpcbiAgICAgICAgICAgICAgcmV0dXJuICdjb250cm9sJztcbiAgICAgICAgICAgIGNhc2UgJy4nOlxuICAgICAgICAgICAgICByZXR1cm4gJ2RvdCc7XG4gICAgICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgICAgICAgcmV0dXJuICdzcGFjZSc7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gYWNjZWxlcmF0b3I7XG4gICAgICAgICAgfVxuICAgICAgICB9KSksXG4gICAgICAgIG1hcEFycmF5KGFjY2VsZXJhdG9yID0+IFsna2V5ZG93biddLmNvbmNhdChhY2NlbGVyYXRvcikuam9pbignLicpKSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUge0BsaW5rIGlzV29ya2JlbmNoRHJhZ30gcHJvcGVydHkgd2hlbiBhIHdvcmtiZW5jaCBkcmFnIG9wZXJhdGlvbiBpcyBkZXRlY3RlZCxcbiAgICogc3VjaCBhcyB3aGVuIGRyYWdnaW5nIGEgdmlldyBvciBtb3ZpbmcgYSBzYXNoLlxuICAgKi9cbiAgcHJpdmF0ZSBpbnN0YWxsV29ya2JlbmNoRHJhZ0RldGVjdG9yKCk6IHZvaWQge1xuICAgIHRoaXMuX3dvcmtiZW5jaExheW91dFNlcnZpY2UuZHJhZ2dpbmckXG4gICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICB0aGlzLmlzV29ya2JlbmNoRHJhZyA9IChldmVudCA9PT0gJ3N0YXJ0Jyk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJvcGFnYXRlV29ya2JlbmNoVGhlbWUoKTogdm9pZCB7XG4gICAgcnVuSW5JbmplY3Rpb25Db250ZXh0KHRoaXMuX2luamVjdG9yLCAoKSA9PiBNaWNyb2Zyb250ZW5kcy5wcm9wYWdhdGVUaGVtZSh0aGlzLnJvdXRlck91dGxldEVsZW1lbnQubmF0aXZlRWxlbWVudCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIEluc3RydWN0IHRoZSBtZXNzYWdlIGJyb2tlciB0byBkZWxldGUgcmV0YWluZWQgbWVzc2FnZXMgdG8gZnJlZSByZXNvdXJjZXMuXG4gICAgdGhpcy5fbWVzc2FnZUNsaWVudC5wdWJsaXNoKMm1V29ya2JlbmNoQ29tbWFuZHMudmlld0FjdGl2ZVRvcGljKHRoaXMudmlldy5pZCksIHVuZGVmaW5lZCwge3JldGFpbjogdHJ1ZX0pLnRoZW4oKTtcbiAgICB0aGlzLl9tZXNzYWdlQ2xpZW50LnB1Ymxpc2goybVXb3JrYmVuY2hDb21tYW5kcy52aWV3UGFyYW1zVG9waWModGhpcy52aWV3LmlkKSwgdW5kZWZpbmVkLCB7cmV0YWluOiB0cnVlfSkudGhlbigpO1xuICAgIHRoaXMuX291dGxldFJvdXRlci5uYXZpZ2F0ZShudWxsLCB7b3V0bGV0OiB0aGlzLnZpZXcuaWR9KS50aGVuKCk7XG4gICAgdGhpcy52aWV3LnVucmVnaXN0ZXJBZGFwdGVyKE1pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3KTtcbiAgfVxufVxuXG4vKipcbiAqIEJsb2NrcyB0aGUgbWljcm9mcm9udGVuZCBvdXRsZXQgd2hlbiBkaWFsb2cocykgb3ZlcmxheSB0aGlzIHZpZXcuXG4gKi9cbmZ1bmN0aW9uIGNvbmZpZ3VyZU1pY3JvZnJvbnRlbmRHbGFzc1BhbmUoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogR0xBU1NfUEFORV9CTE9DS0FCTEUsXG4gICAgICB1c2VFeGlzdGluZzogybVXb3JrYmVuY2hWaWV3LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogR0xBU1NfUEFORV9PUFRJT05TLFxuICAgICAgdXNlRmFjdG9yeTogKCk6IEdsYXNzUGFuZU9wdGlvbnMgPT4gKHthdHRyaWJ1dGVzOiB7J2RhdGEtdmlld2lkJzogaW5qZWN0KFdvcmtiZW5jaFZpZXcpLmlkfX0pLFxuICAgIH0sXG4gIF07XG59XG4iLCI8d2ItY29udGVudC1hcy1vdmVybGF5IFtvdmVybGF5SG9zdF09XCJpZnJhbWVIb3N0UmVmLnJlZiQgfCBhc3luY1wiPlxuICA8ZGl2IGNsYXNzPVwibWljcm9mcm9udGVuZC12aWV3XCJcbiAgICAgICBbY2xhc3Mud29ya2JlbmNoLWRyYWddPVwiaXNXb3JrYmVuY2hEcmFnXCJcbiAgICAgICBbYXR0ci5kYXRhLXZpZXdpZF09XCJ2aWV3LmlkXCJcbiAgICAgICB3YkdsYXNzUGFuZT5cbiAgICA8c2NpLXJvdXRlci1vdXRsZXQgI3JvdXRlcl9vdXRsZXRcbiAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwidmlldy5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtY2FwYWJpbGl0eWlkXT1cImNhcGFiaWxpdHk/Lm1ldGFkYXRhIS5pZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYXBwXT1cImNhcGFiaWxpdHk/Lm1ldGFkYXRhIS5hcHBTeW1ib2xpY05hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ2aWV3LmNsYXNzTGlzdC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChmb2N1c3dpdGhpbik9XCJvbkZvY3VzV2l0aGluKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICBba2V5c3Ryb2tlc109XCJrZXlzdHJva2VzVG9CdWJibGUkIHwgYXN5bmNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwic3BsYXNoXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9zY2ktcm91dGVyLW91dGxldD5cbiAgPC9kaXY+XG48L3diLWNvbnRlbnQtYXMtb3ZlcmxheT5cbiJdfQ==
|
|
@@ -16,10 +16,10 @@ export class MicrofrontendViewCapabilityIdAssigner {
|
|
|
16
16
|
metadata: { ...capability.metadata, id: stableIdentifier },
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityIdAssigner, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityIdAssigner }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityIdAssigner, decorators: [{
|
|
23
23
|
type: Injectable
|
|
24
24
|
}] });
|
|
25
25
|
/**
|
|
@@ -38,4 +38,4 @@ async function createStableViewIdentifier(capability) {
|
|
|
38
38
|
// Use the first 7 digits of the hash.
|
|
39
39
|
return identifierHash.substring(0, 7);
|
|
40
40
|
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWNhcGFiaWxpdHktaWQtYXNzaWduZXIuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi93b3JrYmVuY2gvc3JjL2xpYi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtL3JvdXRpbmcvbWljcm9mcm9udGVuZC12aWV3LWNhcGFiaWxpdHktaWQtYXNzaWduZXIuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBRTdDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHFDQUFxQztJQUV6QyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQXNCO1FBQzNDLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RFLE9BQU87WUFDTCxHQUFHLFVBQVU7WUFDYixRQUFRLEVBQUUsRUFBQyxHQUFHLFVBQVUsQ0FBQyxRQUFTLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFDO1NBQzFELENBQUM7SUFDSixDQUFDOzhHQVpVLHFDQUFxQztrSEFBckMscUNBQXFDOzsyRkFBckMscUNBQXFDO2tCQURqRCxVQUFVOztBQWdCWDs7R0FFRztBQUNILEtBQUssVUFBVSwwQkFBMEIsQ0FBQyxVQUFzQjtJQUM5RCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBVSxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxRQUFTLENBQUMsZUFBZSxDQUFDO0lBRXBELHVFQUF1RTtJQUN2RSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUN0QyxJQUFJLEVBQUU7U0FDTixNQUFNLENBQ0wsQ0FBQyxHQUFHLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQ3BGLENBQUMsTUFBTSxDQUFDLENBQ1Q7U0FDQSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFYix1QkFBdUI7SUFDdkIsTUFBTSxjQUFjLEdBQUcsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELHNDQUFzQztJQUN0QyxPQUFPLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q2FwYWJpbGl0eSwgQ2FwYWJpbGl0eUludGVyY2VwdG9yfSBmcm9tICdAc2Npb24vbWljcm9mcm9udGVuZC1wbGF0Zm9ybSc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXb3JrYmVuY2hDYXBhYmlsaXRpZXN9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcbmltcG9ydCB7Q3J5cHRvfSBmcm9tICdAc2Npb24vdG9vbGtpdC9jcnlwdG8nO1xuXG4vKipcbiAqIEFzc2lnbnMgZWFjaCB2aWV3IGNhcGFiaWxpdHkgYSBzdGFibGUgaWRlbnRpZmVyIHJlcXVpcmVkIGZvciBwZXJzaXN0ZW50IG5hdmlnYXRpb24uXG4gKi9cbkBJbmplY3RhYmxlKC8qIERPIE5PVCBQUk9WSURFIHZpYSAncHJvdmlkZWRJbicgbWV0YWRhdGEgYXMgb25seSByZWdpc3RlcmVkIGlmIG1pY3JvZnJvbnRlbmQgc3VwcG9ydCBpcyBlbmFibGVkLiAqLylcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kVmlld0NhcGFiaWxpdHlJZEFzc2lnbmVyIGltcGxlbWVudHMgQ2FwYWJpbGl0eUludGVyY2VwdG9yIHtcblxuICBwdWJsaWMgYXN5bmMgaW50ZXJjZXB0KGNhcGFiaWxpdHk6IENhcGFiaWxpdHkpOiBQcm9taXNlPENhcGFiaWxpdHk+IHtcbiAgICBpZiAoY2FwYWJpbGl0eS50eXBlICE9PSBXb3JrYmVuY2hDYXBhYmlsaXRpZXMuVmlldykge1xuICAgICAgcmV0dXJuIGNhcGFiaWxpdHk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhYmxlSWRlbnRpZmllciA9IGF3YWl0IGNyZWF0ZVN0YWJsZVZpZXdJZGVudGlmaWVyKGNhcGFiaWxpdHkpO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jYXBhYmlsaXR5LFxuICAgICAgbWV0YWRhdGE6IHsuLi5jYXBhYmlsaXR5Lm1ldGFkYXRhISwgaWQ6IHN0YWJsZUlkZW50aWZpZXJ9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgc3RhYmxlIGlkZW50aWZpZXIgZm9yIGdpdmVuIHZpZXcgY2FwYWJpbGl0eS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gY3JlYXRlU3RhYmxlVmlld0lkZW50aWZpZXIoY2FwYWJpbGl0eTogQ2FwYWJpbGl0eSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IHF1YWxpZmllciA9IGNhcGFiaWxpdHkucXVhbGlmaWVyITtcbiAgY29uc3QgdmVuZG9yID0gY2FwYWJpbGl0eS5tZXRhZGF0YSEuYXBwU3ltYm9saWNOYW1lO1xuXG4gIC8vIENyZWF0ZSBpZGVudGlmaWVyIGNvbnNpc3Rpbmcgb2YgdmVuZG9yIGFuZCBzb3J0ZWQgcXVhbGlmaWVyIGVudHJpZXMuXG4gIGNvbnN0IGlkZW50aWZpZXIgPSBPYmplY3Qua2V5cyhxdWFsaWZpZXIpXG4gICAgLnNvcnQoKVxuICAgIC5yZWR1Y2UoXG4gICAgICAoYWNjLCBxdWFsaWZpZXJLZXkpID0+IGFjYy5jb25jYXQocXVhbGlmaWVyS2V5KS5jb25jYXQoYCR7cXVhbGlmaWVyW3F1YWxpZmllcktleV19YCksXG4gICAgICBbdmVuZG9yXSxcbiAgICApXG4gICAgLmpvaW4oJzsnKTtcblxuICAvLyBIYXNoIHRoZSBpZGVudGlmaWVyLlxuICBjb25zdCBpZGVudGlmaWVySGFzaCA9IGF3YWl0IENyeXB0by5kaWdlc3QoaWRlbnRpZmllcik7XG4gIC8vIFVzZSB0aGUgZmlyc3QgNyBkaWdpdHMgb2YgdGhlIGhhc2guXG4gIHJldHVybiBpZGVudGlmaWVySGFzaC5zdWJzdHJpbmcoMCwgNyk7XG59XG4iXX0=
|
|
@@ -21,10 +21,10 @@ export class MicrofrontendViewCapabilityValidator {
|
|
|
21
21
|
}
|
|
22
22
|
return capability;
|
|
23
23
|
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
25
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityValidator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
25
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityValidator }); }
|
|
26
26
|
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewCapabilityValidator, decorators: [{
|
|
28
28
|
type: Injectable
|
|
29
29
|
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWNhcGFiaWxpdHktdmFsaWRhdG9yLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvbWljcm9mcm9udGVuZC1wbGF0Zm9ybS9yb3V0aW5nL21pY3JvZnJvbnRlbmQtdmlldy1jYXBhYmlsaXR5LXZhbGlkYXRvci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxxQkFBcUIsRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFdkY7O0dBRUc7QUFFSCxNQUFNLE9BQU8sb0NBQW9DO0lBRXhDLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBc0I7UUFDM0MsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLHFCQUFxQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ25ELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxVQUFxQyxDQUFDO1FBQzdELHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9FLE1BQU0sS0FBSyxDQUFDLHlFQUF5RSxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxSCxDQUFDO1FBRUQsaURBQWlEO1FBQ2pELE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1FBQzdDLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxLQUFLLENBQUMsc0dBQXNHLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZKLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzhHQXBCVSxvQ0FBb0M7a0hBQXBDLG9DQUFvQzs7MkZBQXBDLG9DQUFvQztrQkFEaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAyMiBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDYXBhYmlsaXR5LCBDYXBhYmlsaXR5SW50ZXJjZXB0b3J9IGZyb20gJ0BzY2lvbi9taWNyb2Zyb250ZW5kLXBsYXRmb3JtJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dvcmtiZW5jaENhcGFiaWxpdGllcywgV29ya2JlbmNoVmlld0NhcGFiaWxpdHl9IGZyb20gJ0BzY2lvbi93b3JrYmVuY2gtY2xpZW50JztcblxuLyoqXG4gKiBBc3NlcnRzIHZpZXcgY2FwYWJpbGl0aWVzIHRvIGhhdmUgcmVxdWlyZWQgcHJvcGVydGllcyBhbmQgYXNzaWducyBlYWNoIHZpZXcgY2FwYWJpbGl0eSBhIHN0YWJsZSBpZGVudGlmZXIgcmVxdWlyZWQgZm9yIHBlcnNpc3RlbnQgbmF2aWdhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoLyogRE8gTk9UIFBST1ZJREUgdmlhICdwcm92aWRlZEluJyBtZXRhZGF0YSBhcyBvbmx5IHJlZ2lzdGVyZWQgaWYgbWljcm9mcm9udGVuZCBzdXBwb3J0IGlzIGVuYWJsZWQuICovKVxuZXhwb3J0IGNsYXNzIE1pY3JvZnJvbnRlbmRWaWV3Q2FwYWJpbGl0eVZhbGlkYXRvciBpbXBsZW1lbnRzIENhcGFiaWxpdHlJbnRlcmNlcHRvciB7XG5cbiAgcHVibGljIGFzeW5jIGludGVyY2VwdChjYXBhYmlsaXR5OiBDYXBhYmlsaXR5KTogUHJvbWlzZTxDYXBhYmlsaXR5PiB7XG4gICAgaWYgKGNhcGFiaWxpdHkudHlwZSAhPT0gV29ya2JlbmNoQ2FwYWJpbGl0aWVzLlZpZXcpIHtcbiAgICAgIHJldHVybiBjYXBhYmlsaXR5O1xuICAgIH1cblxuICAgIGNvbnN0IHZpZXdDYXBhYmlsaXR5ID0gY2FwYWJpbGl0eSBhcyBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eTtcbiAgICAvLyBBc3NlcnQgdGhlIHZpZXcgY2FwYWJpbGl0eSB0byBoYXZlIGEgcXVhbGlmaWVyIHNldC5cbiAgICBpZiAoIXZpZXdDYXBhYmlsaXR5LnF1YWxpZmllciB8fCAhT2JqZWN0LmtleXModmlld0NhcGFiaWxpdHkucXVhbGlmaWVyKS5sZW5ndGgpIHtcbiAgICAgIHRocm93IEVycm9yKGBbTnVsbFF1YWxpZmllckVycm9yXSBWaWV3IGNhcGFiaWxpdHkgcmVxdWlyZXMgYSBxdWFsaWZpZXIgW2NhcGFiaWxpdHk9JHtKU09OLnN0cmluZ2lmeSh2aWV3Q2FwYWJpbGl0eSl9XWApO1xuICAgIH1cblxuICAgIC8vIEFzc2VydCB0aGUgdmlldyBjYXBhYmlsaXR5IHRvIGhhdmUgYSBwYXRoIHNldC5cbiAgICBjb25zdCBwYXRoID0gdmlld0NhcGFiaWxpdHkucHJvcGVydGllcz8ucGF0aDtcbiAgICBpZiAocGF0aCA9PT0gdW5kZWZpbmVkIHx8IHBhdGggPT09IG51bGwpIHtcbiAgICAgIHRocm93IEVycm9yKGBbTnVsbFBhdGhFcnJvcl0gVmlldyBjYXBhYmlsaXR5IHJlcXVpcmVzIGEgcGF0aCB0byB0aGUgbWljcm9mcm9udGVuZCBpbiBpdHMgcHJvcGVydGllcyBbY2FwYWJpbGl0eT0ke0pTT04uc3RyaW5naWZ5KHZpZXdDYXBhYmlsaXR5KX1dYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNhcGFiaWxpdHk7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/microfrontend-platform/routing/microfrontend-view-intent-handler.interceptor.mjs
CHANGED
|
@@ -116,10 +116,10 @@ export class MicrofrontendViewIntentHandler {
|
|
|
116
116
|
.map(view => view.id);
|
|
117
117
|
return viewIds.length ? viewIds : null;
|
|
118
118
|
}
|
|
119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
120
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewIntentHandler, deps: [{ token: i1.WorkbenchRouter }, { token: i2.WorkbenchViewRegistry }, { token: i3.Logger }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
120
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewIntentHandler }); }
|
|
121
121
|
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: MicrofrontendViewIntentHandler, decorators: [{
|
|
123
123
|
type: Injectable
|
|
124
124
|
}], ctorParameters: () => [{ type: i1.WorkbenchRouter }, { type: i2.WorkbenchViewRegistry }, { type: i3.Logger }] });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWludGVudC1oYW5kbGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvbWljcm9mcm9udGVuZC1wbGF0Zm9ybS9yb3V0aW5nL21pY3JvZnJvbnRlbmQtdmlldy1pbnRlbnQtaGFuZGxlci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBNEMsYUFBYSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzVJLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLHFCQUFxQixFQUFxRCxNQUFNLHlCQUF5QixDQUFDO0FBRWxILE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBUyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFekQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUVsRDs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyw4QkFBOEI7SUFFekMsWUFBb0IsZ0JBQWlDLEVBQ2pDLGFBQW9DLEVBQ3BDLE9BQWU7UUFGZixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FB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RUFBRTtnQkFDL0IsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUVELHVDQUF1QztZQUN2QyxJQUFJLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxRQUFTLENBQUMsRUFBRSxLQUFLLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUyxDQUFDLEVBQUUsRUFBRTtnQkFDaEcsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUVELGdEQUFnRDtZQUNoRCxPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRSxPQUFPLENBQUMsbUJBQW1CLElBQUksZ0JBQWdCLEtBQUssR0FBRyxDQUFDLElBQUksZ0JBQWdCLEtBQUssMEJBQTBCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO2FBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXhCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekMsQ0FBQzs4R0FwR1UsOEJBQThCO2tIQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBRDFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjIgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7SGFuZGxlciwgSW50ZW50SW50ZXJjZXB0b3IsIEludGVudE1lc3NhZ2UsIE1lc3NhZ2VDbGllbnQsIE1lc3NhZ2VIZWFkZXJzLCBSZXNwb25zZVN0YXR1c0NvZGVzfSBmcm9tICdAc2Npb24vbWljcm9mcm9udGVuZC1wbGF0Zm9ybSc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXb3JrYmVuY2hDYXBhYmlsaXRpZXMsIFdvcmtiZW5jaE5hdmlnYXRpb25FeHRyYXMsIFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5fSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge1dvcmtiZW5jaFJvdXRlcn0gZnJvbSAnLi4vLi4vcm91dGluZy93b3JrYmVuY2gtcm91dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kVmlld1JvdXRlc30gZnJvbSAnLi9taWNyb2Zyb250ZW5kLXZpZXctcm91dGVzJztcbmltcG9ydCB7TG9nZ2VyLCBMb2dnZXJOYW1lc30gZnJvbSAnLi4vLi4vbG9nZ2luZyc7XG5pbXBvcnQge0JlYW5zfSBmcm9tICdAc2Npb24vdG9vbGtpdC9iZWFuLW1hbmFnZXInO1xuaW1wb3J0IHtBcnJheXMsIERpY3Rpb25hcmllc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvdXRpbCc7XG5pbXBvcnQge1dvcmtiZW5jaFZpZXdSZWdpc3RyeX0gZnJvbSAnLi4vLi4vdmlldy93b3JrYmVuY2gtdmlldy5yZWdpc3RyeSc7XG5pbXBvcnQge01pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3fSBmcm9tICcuLi9taWNyb2Zyb250ZW5kLXZpZXcvbWljcm9mcm9udGVuZC13b3JrYmVuY2gtdmlldy5tb2RlbCc7XG5pbXBvcnQge09iamVjdHN9IGZyb20gJy4uLy4uL2NvbW1vbi9vYmplY3RzLnV0aWwnO1xuXG4vKipcbiAqIEhhbmRsZXMgbWljcm9mcm9udGVuZCB2aWV3IGludGVudHMsIGluc3RydWN0aW5nIHRoZSB3b3JrYmVuY2ggdG8gbmF2aWdhdGUgdG8gdGhlIG1pY3JvZnJvbnRlbmQgb2YgdGhlIHJlc29sdmVkIGNhcGFiaWxpdHkuXG4gKlxuICogVmlldyBpbnRlbnRzIGFyZSBoYW5kbGVkIGluIHRoaXMgaW50ZXJjZXB0b3IgYW5kIGFyZSBub3QgdHJhbnNwb3J0ZWQgdG8gdGhlIHByb3ZpZGluZyBhcHBsaWNhdGlvbiwgZW5hYmxpbmcgc3VwcG9ydCBmb3IgYXBwbGljYXRpb25zXG4gKiB0aGF0IGFyZSBub3QgY29ubmVjdGVkIHRvIHRoZSBTQ0lPTiBXb3JrYmVuY2guXG4gKi9cbkBJbmplY3RhYmxlKC8qIERPIE5PVCBQUk9WSURFIHZpYSAncHJvdmlkZWRJbicgbWV0YWRhdGEgYXMgb25seSByZWdpc3RlcmVkIGlmIG1pY3JvZnJvbnRlbmQgc3VwcG9ydCBpcyBlbmFibGVkLiAqLylcbmV4cG9ydCBjbGFzcyBNaWNyb2Zyb250ZW5kVmlld0ludGVudEhhbmRsZXIgaW1wbGVtZW50cyBJbnRlbnRJbnRlcmNlcHRvciB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfd29ya2JlbmNoUm91dGVyOiBXb3JrYmVuY2hSb3V0ZXIsXG4gICAgICAgICAgICAgIHByaXZhdGUgX3ZpZXdSZWdpc3RyeTogV29ya2JlbmNoVmlld1JlZ2lzdHJ5LFxuICAgICAgICAgICAgICBwcml2YXRlIF9sb2dnZXI6IExvZ2dlcikge1xuICB9XG5cbiAgLyoqXG4gICAqIFZpZXcgaW50ZW50cyBhcmUgaGFuZGxlZCBpbiB0aGlzIGludGVyY2VwdG9yIGFuZCB0aGVuIHN3YWxsb3dlZC5cbiAgICovXG4gIHB1YmxpYyBpbnRlcmNlcHQoaW50ZW50TWVzc2FnZTogSW50ZW50TWVzc2FnZSwgbmV4dDogSGFuZGxlcjxJbnRlbnRNZXNzYWdlPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChpbnRlbnRNZXNzYWdlLmludGVudC50eXBlID09PSBXb3JrYmVuY2hDYXBhYmlsaXRpZXMuVmlldykge1xuICAgICAgcmV0dXJuIHRoaXMuY29uc3VtZVZpZXdJbnRlbnQoaW50ZW50TWVzc2FnZSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKGludGVudE1lc3NhZ2UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29uc3VtZVZpZXdJbnRlbnQobWVzc2FnZTogSW50ZW50TWVzc2FnZTxXb3JrYmVuY2hOYXZpZ2F0aW9uRXh0cmFzIHwgdW5kZWZpbmVkPik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJlcGx5VG8gPSBtZXNzYWdlLmhlYWRlcnMuZ2V0KE1lc3NhZ2VIZWFkZXJzLlJlcGx5VG8pO1xuICAgIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCB0aGlzLm5hdmlnYXRlKG1lc3NhZ2UpO1xuICAgIGF3YWl0IEJlYW5zLmdldChNZXNzYWdlQ2xpZW50KS5wdWJsaXNoKHJlcGx5VG8sIHN1Y2Nlc3MsIHtoZWFkZXJzOiBuZXcgTWFwKCkuc2V0KE1lc3NhZ2VIZWFkZXJzLlN0YXR1cywgUmVzcG9uc2VTdGF0dXNDb2Rlcy5URVJNSU5BTCl9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbmF2aWdhdGUobWVzc2FnZTogSW50ZW50TWVzc2FnZTxXb3JrYmVuY2hOYXZpZ2F0aW9uRXh0cmFzIHwgdW5kZWZpbmVkPik6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHZpZXdDYXBhYmlsaXR5ID0gbWVzc2FnZS5jYXBhYmlsaXR5IGFzIFdvcmtiZW5jaFZpZXdDYXBhYmlsaXR5O1xuICAgIGNvbnN0IGludGVudCA9IG1lc3NhZ2UuaW50ZW50O1xuICAgIC8vIFRPRE8gW0FuZ3VsYXIgMjBdIHJlbW92ZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBwcm9wZXJ0eSAnYmxhbmtJbnNlcnRpb25JbmRleCdcbiAgICBjb25zdCBleHRyYXM6IFdvcmtiZW5jaE5hdmlnYXRpb25FeHRyYXMgJiB7YmxhbmtJbnNlcnRpb25JbmRleD86IG51bWJlciB8ICdzdGFydCcgfCAnZW5kJyB8ICdiZWZvcmUtYWN0aXZlLXZpZXcnIHwgJ2FmdGVyLWFjdGl2ZS12aWV3J30gPSBtZXNzYWdlLmJvZHkgPz8ge307XG5cbiAgICBjb25zdCBpbnRlbnRQYXJhbXMgPSBPYmplY3RzLndpdGhvdXRVbmRlZmluZWRFbnRyaWVzKERpY3Rpb25hcmllcy5jb2VyY2UoaW50ZW50LnBhcmFtcykpO1xuICAgIGNvbnN0IHt1cmxQYXJhbXMsIHRyYW5zaWVudFBhcmFtc30gPSBNaWNyb2Zyb250ZW5kVmlld1JvdXRlcy5zcGxpdFBhcmFtcyhpbnRlbnRQYXJhbXMsIHZpZXdDYXBhYmlsaXR5KTtcbiAgICBjb25zdCB0YXJnZXRzID0gdGhpcy5yZXNvbHZlVGFyZ2V0cyhtZXNzYWdlLCBleHRyYXMpO1xuICAgIGNvbnN0IGNvbW1hbmRzID0gZXh0cmFzLmNsb3NlID8gW10gOiBNaWNyb2Zyb250ZW5kVmlld1JvdXRlcy5jcmVhdGVNaWNyb2Zyb250ZW5kTmF2aWdhdGVDb21tYW5kcyh2aWV3Q2FwYWJpbGl0eS5tZXRhZGF0YSEuaWQsIHVybFBhcmFtcyk7XG5cbiAgICB0aGlzLl9sb2dnZXIuZGVidWcoKCkgPT4gYE5hdmlnYXRpbmcgdG86ICR7dmlld0NhcGFiaWxpdHkucHJvcGVydGllcy5wYXRofWAsIExvZ2dlck5hbWVzLk1JQ1JPRlJPTlRFTkRfUk9VVElORywgY29tbWFuZHMsIHZpZXdDYXBhYmlsaXR5LCB0cmFuc2llbnRQYXJhbXMpO1xuICAgIGNvbnN0IG5hdmlnYXRpb25zID0gYXdhaXQgUHJvbWlzZS5hbGwoQXJyYXlzLmNvZXJjZSh0YXJnZXRzKS5tYXAodGFyZ2V0ID0+IHtcbiAgICAgIHJldHVybiB0aGlzLl93b3JrYmVuY2hSb3V0ZXIubmF2aWdhdGUoY29tbWFuZHMsIHtcbiAgICAgICAgdGFyZ2V0LFxuICAgICAgICBhY3RpdmF0ZTogZXh0cmFzLmFjdGl2YXRlLFxuICAgICAgICBjbG9zZTogZXh0cmFzLmNsb3NlLFxuICAgICAgICBwb3NpdGlvbjogZXh0cmFzLnBvc2l0aW9uID8/IGV4dHJhcy5ibGFua0luc2VydGlvbkluZGV4LFxuICAgICAgICBjc3NDbGFzczogZXh0cmFzLmNzc0NsYXNzLFxuICAgICAgICBzdGF0ZTogT2JqZWN0cy53aXRob3V0VW5kZWZpbmVkRW50cmllcyh7XG4gICAgICAgICAgW01pY3JvZnJvbnRlbmRWaWV3Um91dGVzLlNUQVRFX1RSQU5TSUVOVF9QQVJBTVNdOiB0cmFuc2llbnRQYXJhbXMsXG4gICAgICAgIH0pLFxuICAgICAgfSk7XG4gICAgfSkpO1xuICAgIHJldHVybiBuYXZpZ2F0aW9ucy5ldmVyeShCb29sZWFuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyB0aGUgdGFyZ2V0KHMpIGZvciB0aGlzIG5hdmlnYXRpb24uXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVUYXJnZXRzKGludGVudE1lc3NhZ2U6IEludGVudE1lc3NhZ2UsIGV4dHJhczogV29ya2JlbmNoTmF2aWdhdGlvbkV4dHJhcyk6IHN0cmluZyB8IHN0cmluZ1tdIHtcbiAgICAvLyBDbG9zaW5nIGEgbWljcm9mcm9udGVuZCB2aWV3IGJ5IHZpZXdJZCBpcyBub3QgYWxsb3dlZCwgYXMgdGhpcyB3b3VsZCB2aW9sYXRlIHRoZSBjb25jZXB0IG9mIGludGVudC1iYXNlZCB2aWV3IG5hdmlnYXRpb24uXG4gICAgaWYgKGV4dHJhcy5jbG9zZSAmJiBleHRyYXMudGFyZ2V0KSB7XG4gICAgICB0aHJvdyBFcnJvcihgW05hdmlnYXRlRXJyb3JdIFRoZSB0YXJnZXQgbXVzdCBiZSBlbXB0eSBpZiBjbG9zaW5nIGEgdmlldyBbdGFyZ2V0PSR7KGV4dHJhcy50YXJnZXQpfV1gKTtcbiAgICB9XG4gICAgaWYgKGV4dHJhcy5jbG9zZSkge1xuICAgICAgcmV0dXJuIHRoaXMucmVzb2x2ZVByZXNlbnRWaWV3SWRzKGludGVudE1lc3NhZ2UsIHttYXRjaFdpbGRjYXJkUGFyYW1zOiB0cnVlfSkgPz8gW107XG4gICAgfVxuICAgIGlmICghZXh0cmFzLnRhcmdldCB8fCBleHRyYXMudGFyZ2V0ID09PSAnYXV0bycpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc29sdmVQcmVzZW50Vmlld0lkcyhpbnRlbnRNZXNzYWdlKSA/PyAnYmxhbmsnO1xuICAgIH1cbiAgICByZXR1cm4gZXh0cmFzLnRhcmdldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBvcGVuZWQgdmlld3Mgd2hpY2ggbWF0Y2ggdGhlIGdpdmVuIHZpZXcgaW50ZW50LlxuICAgKiBBIHZpZXcgbWF0Y2hlcyBpZiBpdHMgdmlldyBjYXBhYmlsaXR5IGFuZCBhbGwgaXRzIHJlcXVpcmVkIHBhcmFtZXRlcnMgYXJlIGVxdWFsLlxuICAgKlxuICAgKiBBbGxvd3MgbWF0Y2hpbmcgd2lsZGNhcmQgcGFyYW1ldGVycyBieSBzZXR0aW5nIHRoZSBvcHRpb24gYG1hdGNoV2lsZGNhcmRQYXJhbWV0ZXJzYCB0byBgdHJ1ZWAuXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVQcmVzZW50Vmlld0lkcyhpbnRlbnRNZXNzYWdlOiBJbnRlbnRNZXNzYWdlLCBvcHRpb25zPzoge21hdGNoV2lsZGNhcmRQYXJhbXM/OiBib29sZWFufSk6IHN0cmluZ1tdIHwgbnVsbCB7XG4gICAgY29uc3QgcmVxdWlyZWRQYXJhbXMgPSBpbnRlbnRNZXNzYWdlLmNhcGFiaWxpdHkucGFyYW1zPy5maWx0ZXIocGFyYW0gPT4gcGFyYW0ucmVxdWlyZWQpLm1hcChwYXJhbSA9PiBwYXJhbS5uYW1lKSA/PyBbXTtcbiAgICBjb25zdCBtYXRjaFdpbGRjYXJkUGFyYW1zID0gb3B0aW9ucz8ubWF0Y2hXaWxkY2FyZFBhcmFtcyA/PyBmYWxzZTtcblxuICAgIGNvbnN0IHZpZXdJZHMgPSB0aGlzLl92aWV3UmVnaXN0cnkudmlld3NcbiAgICAgIC5maWx0ZXIodmlldyA9PiB7XG4gICAgICAgIGNvbnN0IG1pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3ID0gdmlldy5hZGFwdChNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlldyk7XG4gICAgICAgIGlmICghbWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXcpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUZXN0IHdoZXRoZXIgdGhlIGNhcGFiaWxpdHkgbWF0Y2hlcy5cbiAgICAgICAgaWYgKG1pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3LmNhcGFiaWxpdHkubWV0YWRhdGEhLmlkICE9PSBpbnRlbnRNZXNzYWdlLmNhcGFiaWxpdHkubWV0YWRhdGEhLmlkKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGVzdCB3aGV0aGVyIGFsbCBcIm5hdmlnYXRpb25hbFwiIHBhcmFtcyBtYXRjaC5cbiAgICAgICAgcmV0dXJuIHJlcXVpcmVkUGFyYW1zLmV2ZXJ5KG5hbWUgPT4ge1xuICAgICAgICAgIGNvbnN0IGludGVudFBhcmFtVmFsdWUgPSBpbnRlbnRNZXNzYWdlLmludGVudC5wYXJhbXMhLmdldChuYW1lKTtcbiAgICAgICAgICByZXR1cm4gKG1hdGNoV2lsZGNhcmRQYXJhbXMgJiYgaW50ZW50UGFyYW1WYWx1ZSA9PT0gJyonKSB8fCBpbnRlbnRQYXJhbVZhbHVlID09PSBtaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlldy5wYXJhbXNbbmFtZV07XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICAgIC5tYXAodmlldyA9PiB2aWV3LmlkKTtcblxuICAgIHJldHVybiB2aWV3SWRzLmxlbmd0aCA/IHZpZXdJZHMgOiBudWxsO1xuICB9XG59XG4iXX0=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LWludGVudC1oYW5kbGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vd29ya2JlbmNoL3NyYy9saWIvbWljcm9mcm9udGVuZC1wbGF0Zm9ybS9yb3V0aW5nL21pY3JvZnJvbnRlbmQtdmlldy1pbnRlbnQtaGFuZGxlci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBNEMsYUFBYSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzVJLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLHFCQUFxQixFQUFxRCxNQUFNLHlCQUF5QixDQUFDO0FBRWxILE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBUyxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxNQUFNLEVBQUUsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFekQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDJCQUEyQixDQUFDOzs7OztBQUVsRDs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyw4QkFBOEI7SUFFekMsWUFBb0IsZ0JBQWlDLEVBQ2pDLGFBQW9DLEVBQ3BDLE9BQWU7UUFGZixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQ25DLENBQUM7SUFFRDs7T0FFRztJQUNJLFNBQVMsQ0FB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S0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztZQUVELHVDQUF1QztZQUN2QyxJQUFJLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxRQUFTLENBQUMsRUFBRSxLQUFLLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNqRyxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFFRCxnREFBZ0Q7WUFDaEQsT0FBTyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDaEUsT0FBTyxDQUFDLG1CQUFtQixJQUFJLGdCQUFnQixLQUFLLEdBQUcsQ0FBQyxJQUFJLGdCQUFnQixLQUFLLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQzthQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV4QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pDLENBQUM7OEdBcEdVLDhCQUE4QjtrSEFBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDIyIFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0hhbmRsZXIsIEludGVudEludGVyY2VwdG9yLCBJbnRlbnRNZXNzYWdlLCBNZXNzYWdlQ2xpZW50LCBNZXNzYWdlSGVhZGVycywgUmVzcG9uc2VTdGF0dXNDb2Rlc30gZnJvbSAnQHNjaW9uL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0nO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V29ya2JlbmNoQ2FwYWJpbGl0aWVzLCBXb3JrYmVuY2hOYXZpZ2F0aW9uRXh0cmFzLCBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eX0gZnJvbSAnQHNjaW9uL3dvcmtiZW5jaC1jbGllbnQnO1xuaW1wb3J0IHtXb3JrYmVuY2hSb3V0ZXJ9IGZyb20gJy4uLy4uL3JvdXRpbmcvd29ya2JlbmNoLXJvdXRlci5zZXJ2aWNlJztcbmltcG9ydCB7TWljcm9mcm9udGVuZFZpZXdSb3V0ZXN9IGZyb20gJy4vbWljcm9mcm9udGVuZC12aWV3LXJvdXRlcyc7XG5pbXBvcnQge0xvZ2dlciwgTG9nZ2VyTmFtZXN9IGZyb20gJy4uLy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHtCZWFuc30gZnJvbSAnQHNjaW9uL3Rvb2xraXQvYmVhbi1tYW5hZ2VyJztcbmltcG9ydCB7QXJyYXlzLCBEaWN0aW9uYXJpZXN9IGZyb20gJ0BzY2lvbi90b29sa2l0L3V0aWwnO1xuaW1wb3J0IHtXb3JrYmVuY2hWaWV3UmVnaXN0cnl9IGZyb20gJy4uLy4uL3ZpZXcvd29ya2JlbmNoLXZpZXcucmVnaXN0cnknO1xuaW1wb3J0IHtNaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlld30gZnJvbSAnLi4vbWljcm9mcm9udGVuZC12aWV3L21pY3JvZnJvbnRlbmQtd29ya2JlbmNoLXZpZXcubW9kZWwnO1xuaW1wb3J0IHtPYmplY3RzfSBmcm9tICcuLi8uLi9jb21tb24vb2JqZWN0cy51dGlsJztcblxuLyoqXG4gKiBIYW5kbGVzIG1pY3JvZnJvbnRlbmQgdmlldyBpbnRlbnRzLCBpbnN0cnVjdGluZyB0aGUgd29ya2JlbmNoIHRvIG5hdmlnYXRlIHRvIHRoZSBtaWNyb2Zyb250ZW5kIG9mIHRoZSByZXNvbHZlZCBjYXBhYmlsaXR5LlxuICpcbiAqIFZpZXcgaW50ZW50cyBhcmUgaGFuZGxlZCBpbiB0aGlzIGludGVyY2VwdG9yIGFuZCBhcmUgbm90IHRyYW5zcG9ydGVkIHRvIHRoZSBwcm92aWRpbmcgYXBwbGljYXRpb24sIGVuYWJsaW5nIHN1cHBvcnQgZm9yIGFwcGxpY2F0aW9uc1xuICogdGhhdCBhcmUgbm90IGNvbm5lY3RlZCB0byB0aGUgU0NJT04gV29ya2JlbmNoLlxuICovXG5ASW5qZWN0YWJsZSgvKiBETyBOT1QgUFJPVklERSB2aWEgJ3Byb3ZpZGVkSW4nIG1ldGFkYXRhIGFzIG9ubHkgcmVnaXN0ZXJlZCBpZiBtaWNyb2Zyb250ZW5kIHN1cHBvcnQgaXMgZW5hYmxlZC4gKi8pXG5leHBvcnQgY2xhc3MgTWljcm9mcm9udGVuZFZpZXdJbnRlbnRIYW5kbGVyIGltcGxlbWVudHMgSW50ZW50SW50ZXJjZXB0b3Ige1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3dvcmtiZW5jaFJvdXRlcjogV29ya2JlbmNoUm91dGVyLFxuICAgICAgICAgICAgICBwcml2YXRlIF92aWV3UmVnaXN0cnk6IFdvcmtiZW5jaFZpZXdSZWdpc3RyeSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfbG9nZ2VyOiBMb2dnZXIpIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBWaWV3IGludGVudHMgYXJlIGhhbmRsZWQgaW4gdGhpcyBpbnRlcmNlcHRvciBhbmQgdGhlbiBzd2FsbG93ZWQuXG4gICAqL1xuICBwdWJsaWMgaW50ZXJjZXB0KGludGVudE1lc3NhZ2U6IEludGVudE1lc3NhZ2UsIG5leHQ6IEhhbmRsZXI8SW50ZW50TWVzc2FnZT4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoaW50ZW50TWVzc2FnZS5pbnRlbnQudHlwZSA9PT0gV29ya2JlbmNoQ2FwYWJpbGl0aWVzLlZpZXcpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnN1bWVWaWV3SW50ZW50KGludGVudE1lc3NhZ2UpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiBuZXh0LmhhbmRsZShpbnRlbnRNZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNvbnN1bWVWaWV3SW50ZW50KG1lc3NhZ2U6IEludGVudE1lc3NhZ2U8V29ya2JlbmNoTmF2aWdhdGlvbkV4dHJhcyB8IHVuZGVmaW5lZD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCByZXBseVRvID0gbWVzc2FnZS5oZWFkZXJzLmdldChNZXNzYWdlSGVhZGVycy5SZXBseVRvKTtcbiAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgdGhpcy5uYXZpZ2F0ZShtZXNzYWdlKTtcbiAgICBhd2FpdCBCZWFucy5nZXQoTWVzc2FnZUNsaWVudCkucHVibGlzaChyZXBseVRvLCBzdWNjZXNzLCB7aGVhZGVyczogbmV3IE1hcCgpLnNldChNZXNzYWdlSGVhZGVycy5TdGF0dXMsIFJlc3BvbnNlU3RhdHVzQ29kZXMuVEVSTUlOQUwpfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG5hdmlnYXRlKG1lc3NhZ2U6IEludGVudE1lc3NhZ2U8V29ya2JlbmNoTmF2aWdhdGlvbkV4dHJhcyB8IHVuZGVmaW5lZD4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB2aWV3Q2FwYWJpbGl0eSA9IG1lc3NhZ2UuY2FwYWJpbGl0eSBhcyBXb3JrYmVuY2hWaWV3Q2FwYWJpbGl0eTtcbiAgICBjb25zdCBpbnRlbnQgPSBtZXNzYWdlLmludGVudDtcbiAgICAvLyBUT0RPIFtBbmd1bGFyIDIwXSByZW1vdmUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgcHJvcGVydHkgJ2JsYW5rSW5zZXJ0aW9uSW5kZXgnXG4gICAgY29uc3QgZXh0cmFzOiBXb3JrYmVuY2hOYXZpZ2F0aW9uRXh0cmFzICYge2JsYW5rSW5zZXJ0aW9uSW5kZXg/OiBudW1iZXIgfCAnc3RhcnQnIHwgJ2VuZCcgfCAnYmVmb3JlLWFjdGl2ZS12aWV3JyB8ICdhZnRlci1hY3RpdmUtdmlldyd9ID0gbWVzc2FnZS5ib2R5ID8/IHt9O1xuXG4gICAgY29uc3QgaW50ZW50UGFyYW1zID0gT2JqZWN0cy53aXRob3V0VW5kZWZpbmVkRW50cmllcyhEaWN0aW9uYXJpZXMuY29lcmNlKGludGVudC5wYXJhbXMpKTtcbiAgICBjb25zdCB7dXJsUGFyYW1zLCB0cmFuc2llbnRQYXJhbXN9ID0gTWljcm9mcm9udGVuZFZpZXdSb3V0ZXMuc3BsaXRQYXJhbXMoaW50ZW50UGFyYW1zLCB2aWV3Q2FwYWJpbGl0eSk7XG4gICAgY29uc3QgdGFyZ2V0cyA9IHRoaXMucmVzb2x2ZVRhcmdldHMobWVzc2FnZSwgZXh0cmFzKTtcbiAgICBjb25zdCBjb21tYW5kcyA9IGV4dHJhcy5jbG9zZSA/IFtdIDogTWljcm9mcm9udGVuZFZpZXdSb3V0ZXMuY3JlYXRlTWljcm9mcm9udGVuZE5hdmlnYXRlQ29tbWFuZHModmlld0NhcGFiaWxpdHkubWV0YWRhdGEhLmlkLCB1cmxQYXJhbXMpO1xuXG4gICAgdGhpcy5fbG9nZ2VyLmRlYnVnKCgpID0+IGBOYXZpZ2F0aW5nIHRvOiAke3ZpZXdDYXBhYmlsaXR5LnByb3BlcnRpZXMucGF0aH1gLCBMb2dnZXJOYW1lcy5NSUNST0ZST05URU5EX1JPVVRJTkcsIGNvbW1hbmRzLCB2aWV3Q2FwYWJpbGl0eSwgdHJhbnNpZW50UGFyYW1zKTtcbiAgICBjb25zdCBuYXZpZ2F0aW9ucyA9IGF3YWl0IFByb21pc2UuYWxsKEFycmF5cy5jb2VyY2UodGFyZ2V0cykubWFwKHRhcmdldCA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fd29ya2JlbmNoUm91dGVyLm5hdmlnYXRlKGNvbW1hbmRzLCB7XG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgYWN0aXZhdGU6IGV4dHJhcy5hY3RpdmF0ZSxcbiAgICAgICAgY2xvc2U6IGV4dHJhcy5jbG9zZSxcbiAgICAgICAgcG9zaXRpb246IGV4dHJhcy5wb3NpdGlvbiA/PyBleHRyYXMuYmxhbmtJbnNlcnRpb25JbmRleCxcbiAgICAgICAgY3NzQ2xhc3M6IGV4dHJhcy5jc3NDbGFzcyxcbiAgICAgICAgc3RhdGU6IE9iamVjdHMud2l0aG91dFVuZGVmaW5lZEVudHJpZXMoe1xuICAgICAgICAgIFtNaWNyb2Zyb250ZW5kVmlld1JvdXRlcy5TVEFURV9UUkFOU0lFTlRfUEFSQU1TXTogdHJhbnNpZW50UGFyYW1zLFxuICAgICAgICB9KSxcbiAgICAgIH0pO1xuICAgIH0pKTtcbiAgICByZXR1cm4gbmF2aWdhdGlvbnMuZXZlcnkoQm9vbGVhbik7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIHRhcmdldChzKSBmb3IgdGhpcyBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlVGFyZ2V0cyhpbnRlbnRNZXNzYWdlOiBJbnRlbnRNZXNzYWdlLCBleHRyYXM6IFdvcmtiZW5jaE5hdmlnYXRpb25FeHRyYXMpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XG4gICAgLy8gQ2xvc2luZyBhIG1pY3JvZnJvbnRlbmQgdmlldyBieSB2aWV3SWQgaXMgbm90IGFsbG93ZWQsIGFzIHRoaXMgd291bGQgdmlvbGF0ZSB0aGUgY29uY2VwdCBvZiBpbnRlbnQtYmFzZWQgdmlldyBuYXZpZ2F0aW9uLlxuICAgIGlmIChleHRyYXMuY2xvc2UgJiYgZXh0cmFzLnRhcmdldCkge1xuICAgICAgdGhyb3cgRXJyb3IoYFtOYXZpZ2F0ZUVycm9yXSBUaGUgdGFyZ2V0IG11c3QgYmUgZW1wdHkgaWYgY2xvc2luZyBhIHZpZXcgW3RhcmdldD0keyhleHRyYXMudGFyZ2V0KX1dYCk7XG4gICAgfVxuICAgIGlmIChleHRyYXMuY2xvc2UpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc29sdmVQcmVzZW50Vmlld0lkcyhpbnRlbnRNZXNzYWdlLCB7bWF0Y2hXaWxkY2FyZFBhcmFtczogdHJ1ZX0pID8/IFtdO1xuICAgIH1cbiAgICBpZiAoIWV4dHJhcy50YXJnZXQgfHwgZXh0cmFzLnRhcmdldCA9PT0gJ2F1dG8nKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNvbHZlUHJlc2VudFZpZXdJZHMoaW50ZW50TWVzc2FnZSkgPz8gJ2JsYW5rJztcbiAgICB9XG4gICAgcmV0dXJuIGV4dHJhcy50YXJnZXQ7XG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgb3BlbmVkIHZpZXdzIHdoaWNoIG1hdGNoIHRoZSBnaXZlbiB2aWV3IGludGVudC5cbiAgICogQSB2aWV3IG1hdGNoZXMgaWYgaXRzIHZpZXcgY2FwYWJpbGl0eSBhbmQgYWxsIGl0cyByZXF1aXJlZCBwYXJhbWV0ZXJzIGFyZSBlcXVhbC5cbiAgICpcbiAgICogQWxsb3dzIG1hdGNoaW5nIHdpbGRjYXJkIHBhcmFtZXRlcnMgYnkgc2V0dGluZyB0aGUgb3B0aW9uIGBtYXRjaFdpbGRjYXJkUGFyYW1ldGVyc2AgdG8gYHRydWVgLlxuICAgKi9cbiAgcHJpdmF0ZSByZXNvbHZlUHJlc2VudFZpZXdJZHMoaW50ZW50TWVzc2FnZTogSW50ZW50TWVzc2FnZSwgb3B0aW9ucz86IHttYXRjaFdpbGRjYXJkUGFyYW1zPzogYm9vbGVhbn0pOiBzdHJpbmdbXSB8IG51bGwge1xuICAgIGNvbnN0IHJlcXVpcmVkUGFyYW1zID0gaW50ZW50TWVzc2FnZS5jYXBhYmlsaXR5LnBhcmFtcz8uZmlsdGVyKHBhcmFtID0+IHBhcmFtLnJlcXVpcmVkKS5tYXAocGFyYW0gPT4gcGFyYW0ubmFtZSkgPz8gW107XG4gICAgY29uc3QgbWF0Y2hXaWxkY2FyZFBhcmFtcyA9IG9wdGlvbnM/Lm1hdGNoV2lsZGNhcmRQYXJhbXMgPz8gZmFsc2U7XG5cbiAgICBjb25zdCB2aWV3SWRzID0gdGhpcy5fdmlld1JlZ2lzdHJ5LnZpZXdzXG4gICAgICAuZmlsdGVyKHZpZXcgPT4ge1xuICAgICAgICBjb25zdCBtaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlldyA9IHZpZXcuYWRhcHQoTWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXcpO1xuICAgICAgICBpZiAoIW1pY3JvZnJvbnRlbmRXb3JrYmVuY2hWaWV3KSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGVzdCB3aGV0aGVyIHRoZSBjYXBhYmlsaXR5IG1hdGNoZXMuXG4gICAgICAgIGlmIChtaWNyb2Zyb250ZW5kV29ya2JlbmNoVmlldy5jYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCAhPT0gaW50ZW50TWVzc2FnZS5jYXBhYmlsaXR5Lm1ldGFkYXRhIS5pZCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRlc3Qgd2hldGhlciBhbGwgXCJuYXZpZ2F0aW9uYWxcIiBwYXJhbXMgbWF0Y2guXG4gICAgICAgIHJldHVybiByZXF1aXJlZFBhcmFtcy5ldmVyeShuYW1lID0+IHtcbiAgICAgICAgICBjb25zdCBpbnRlbnRQYXJhbVZhbHVlID0gaW50ZW50TWVzc2FnZS5pbnRlbnQucGFyYW1zIS5nZXQobmFtZSk7XG4gICAgICAgICAgcmV0dXJuIChtYXRjaFdpbGRjYXJkUGFyYW1zICYmIGludGVudFBhcmFtVmFsdWUgPT09ICcqJykgfHwgaW50ZW50UGFyYW1WYWx1ZSA9PT0gbWljcm9mcm9udGVuZFdvcmtiZW5jaFZpZXcucGFyYW1zW25hbWVdO1xuICAgICAgICB9KTtcbiAgICAgIH0pXG4gICAgICAubWFwKHZpZXcgPT4gdmlldy5pZCk7XG5cbiAgICByZXR1cm4gdmlld0lkcy5sZW5ndGggPyB2aWV3SWRzIDogbnVsbDtcbiAgfVxufVxuIl19
|
|
@@ -100,4 +100,4 @@ export const MicrofrontendViewRoutes = {
|
|
|
100
100
|
}, { urlParams: {}, transientParams: {} });
|
|
101
101
|
},
|
|
102
102
|
};
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9mcm9udGVuZC12aWV3LXJvdXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL3dvcmtiZW5jaC9zcmMvbGliL21pY3JvZnJvbnRlbmQtcGxhdGZvcm0vcm91dGluZy9taWNyb2Zyb250ZW5kLXZpZXctcm91dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUE0QyxVQUFVLEVBQWtCLE1BQU0saUJBQWlCLENBQUM7QUFDdkcsT0FBTyxFQUEwQix5QkFBeUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzNGLE9BQU8sRUFBQyxNQUFNLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBRXRFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFFckM7O09BRUc7SUFDSCxZQUFZLEVBQUUsR0FBRztJQUVqQjs7T0FFRztJQUNILHNCQUFzQixFQUFFLGlCQUFpQjtJQUV6Qzs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxnQ0FBZ0MsRUFBRSxHQUFlLEVBQUU7UUFDakQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWxDLE9BQU8sQ0FBQyxRQUFzQixFQUFFLEtBQXNCLEVBQUUsS0FBWSxFQUF5QixFQUFFO1lBQzdGLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDNUQsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQsNkJBQTZCO1lBQzdCLE1BQU0s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QyxDQUFDLENBQUM7SUFDL0QsQ0FBQztDQUNPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMjQgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7UGFyYW1zLCBSb3V0ZSwgVXJsTWF0Y2hlciwgVXJsTWF0Y2hSZXN1bHQsIFVybFNlZ21lbnQsIFVybFNlZ21lbnRHcm91cH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7V29ya2JlbmNoVmlld0NhcGFiaWxpdHksIMm1TWljcm9mcm9udGVuZFJvdXRlUGFyYW1zfSBmcm9tICdAc2Npb24vd29ya2JlbmNoLWNsaWVudCc7XG5pbXBvcnQge2luamVjdCwgSW5qZWN0b3J9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tYW5kc30gZnJvbSAnLi4vLi4vcm91dGluZy9yb3V0aW5nLm1vZGVsJztcbmltcG9ydCB7ybVXb3JrYmVuY2hSb3V0ZXJ9IGZyb20gJy4uLy4uL3JvdXRpbmcvybV3b3JrYmVuY2gtcm91dGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtXb3JrYmVuY2hMYXlvdXRzfSBmcm9tICcuLi8uLi9sYXlvdXQvd29ya2JlbmNoLWxheW91dHMudXRpbCc7XG5pbXBvcnQge1dvcmtiZW5jaFJvdXRlRGF0YX0gZnJvbSAnLi4vLi4vcm91dGluZy93b3JrYmVuY2gtcm91dGUtZGF0YSc7XG5cbi8qKlxuICogUHJvdmlkZXMgZnVuY3Rpb25zIGFuZCBjb25zdGFudHMgc3BlY2lmaWMgdG8gbWljcm9mcm9udGVuZCByb3V0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBNaWNyb2Zyb250ZW5kVmlld1JvdXRlcyA9IHtcblxuICAvKipcbiAgICogUHJlZml4IHRvIGlkZW50aWZ5IGEgbWljcm9mcm9udGVuZCByb3V0ZS5cbiAgICovXG4gIFJPVVRFX1BSRUZJWDogJ34nLFxuXG4gIC8qKlxuICAgKiBLZXkgZm9yIGFzc29jaWF0aW5nIHRyYW5zaWVudCBwYXJhbWV0ZXJzIHdpdGggYSBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgU1RBVEVfVFJBTlNJRU5UX1BBUkFNUzogJ3RyYW5zaWVudFBhcmFtcycsXG5cbiAgLyoqXG4gICAqIEN1c3RvbSBVUkwgbWF0Y2hlciBmb3IgbWljcm9mcm9udGVuZCBVUkxzLCBlbmFibGluZyB0cmFuc2llbnQgcGFyYW1ldGVycyB0byBiZSBwcm92aWRlZCBhcyByZWd1bGFyIHJvdXRlIHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIEEgbWljcm9mcm9udGVuZCByb3V0ZSBjb25zaXN0cyBvZiB0d28gc2VnbWVudHM6XG4gICAqIDEuIEFuIGlkZW50aWZpZXIgc2VnbWVudCAoYH5gKSB0byBpZGVudGlmeSBhIG1pY3JvZnJvbnRlbmQgcm91dGUuXG4gICAqIDIuIENhcGFiaWxpdHkgc2VnbWVudCB0byBpZGVudGlmeSB0aGUgbWljcm9mcm9udGVuZCBjYXBhYmlsaXR5LlxuICAgKlxuICAgKiBQYXJhbWV0ZXJzIGFyZSBpbmNsdWRlZCBpbiB0aGUgc2Vjb25kIHNlZ21lbnQgYXMgbWF0cml4IHBhcmFtZXRlcnMuXG4gICAqXG4gICAqIEV4YW1wbGUgVVJMOiBgfi9hNTM4ZDJhO3BhcmFtMT12YWx1ZTE7cGFyYW0yPXZhbHVlXG4gICAqXG4gICAqIEBzZWUgTWljcm9mcm9udGVuZFZpZXdSb3V0ZXMuY3JlYXRlTWljcm9mcm9udGVuZE5hdmlnYXRlQ29tbWFuZHNcbiAgICovXG4gIHByb3ZpZGVNaWNyb2Zyb250ZW5kUm91dGVNYXRjaGVyOiAoKTogVXJsTWF0Y2hlciA9PiB7XG4gICAgY29uc3QgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gICAgcmV0dXJuIChzZWdtZW50czogVXJsU2VnbWVudFtdLCBncm91cDogVXJsU2VnbWVudEdyb3VwLCByb3V0ZTogUm91dGUpOiBVcmxNYXRjaFJlc3VsdCB8IG51bGwgPT4ge1xuICAgICAgLy8gVGVzdCBpZiB0aGUgcGF0aCBtYXRjaGVzLlxuICAgICAgaWYgKCFNaWNyb2Zyb250ZW5kVmlld1JvdXRlcy5pc01pY3JvZnJvbnRlbmRSb3V0ZShzZWdtZW50cykpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIC8vIFRlc3QgaWYgbmF2aWdhdGluZyBhIHZpZXcuXG4gICAgICBjb25zdCBvdXRsZXQgPSByb3V0ZS5kYXRhPy5bV29ya2JlbmNoUm91dGVEYXRhLsm1b3V0bGV0XTtcbiAgICAgIGlmICghV29ya2JlbmNoTGF5b3V0cy5pc1ZpZXdJZChvdXRsZXQpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7bGF5b3V0fSA9IGluamVjdG9yLmdldCjJtVdvcmtiZW5jaFJvdXRlcikuZ2V0Q3VycmVudE5hdmlnYXRpb25Db250ZXh0KCk7XG4gICAgICBjb25zdCB2aWV3U3RhdGUgPSBsYXlvdXQudmlld1N0YXRlKHt2aWV3SWQ6IG91dGxldH0pO1xuICAgICAgY29uc3QgdHJhbnNpZW50UGFyYW1zID0gdmlld1N0YXRlW01pY3JvZnJvbnRlbmRWaWV3Um91dGVzLlNUQVRFX1RSQU5TSUVOVF9QQVJBTVNdID8/IHt9O1xuICAgICAgY29uc3QgcG9zUGFyYW1zID0gT2JqZWN0LmVudHJpZXModHJhbnNpZW50UGFyYW1zKS5tYXAoKFtuYW1lLCB2YWx1ZV0pID0+IFtuYW1lLCBuZXcgVXJsU2VnbWVudCh2YWx1ZSwge30pXSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnN1bWVkOiBzZWdtZW50cyxcbiAgICAgICAgcG9zUGFyYW1zOiB7XG4gICAgICAgICAgLi4uT2JqZWN0LmZyb21FbnRyaWVzKHBvc1BhcmFtcyksXG4gICAgICAgICAgW8m1TWljcm9mcm9udGVuZFJvdXRlUGFyYW1zLsm1VklFV19DQVBBQklMSVRZX0lEXTogc2VnbWVudHNbMV0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH07XG4gIH0sXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgcm91dGluZyBjb21tYW5kcyB0byBuYXZpZ2F0ZSBhIG1pY3JvZnJvbnRlbmQuXG4gICAqXG4gICAqIEZvcm1hdDogWyd+JywgJzxjYXBhYmlsaXR5SWQ+LCB7cGFyYW1zfV1cbiAgICpcbiAgICogQHNlZSBNaWNyb2Zyb250ZW5kVmlld1JvdXRlcy5wcm92aWRlTWljcm9mcm9udGVuZFJvdXRlTWF0Y2hlclxuICAgKi9cbiAgY3JlYXRlTWljcm9mcm9udGVuZE5hdmlnYXRlQ29tbWFuZHM6ICh2aWV3Q2FwYWJpbGl0eUlkOiBzdHJpbmcsIHBhcmFtczogUGFyYW1zKTogQ29tbWFuZHMgPT4ge1xuICAgIGlmIChPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIFtNaWNyb2Zyb250ZW5kVmlld1JvdXRlcy5ST1VURV9QUkVGSVgsIHZpZXdDYXBhYmlsaXR5SWQsIHBhcmFtc107XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIFtNaWNyb2Zyb250ZW5kVmlld1JvdXRlcy5ST1VURV9QUkVGSVgsIHZpZXdDYXBhYmlsaXR5SWRdO1xuICAgIH1cbiAgfSxcblxuICAvKipcbiAgICogVGVzdHMgZ2l2ZW4gVVJMIHRvIGJlIGEgbWljcm9mcm9udGVuZCByb3V0ZS5cbiAgICovXG4gIGlzTWljcm9mcm9udGVuZFJvdXRlOiAoc2VnbWVudHM6IFVybFNlZ21lbnRbXSk6IGJvb2xlYW4gPT4ge1xuICAgIHJldHVybiBzZWdtZW50cy5sZW5ndGggPT09IDIgJiYgc2VnbWVudHNbMF0ucGF0aCA9PT0gTWljcm9mcm9udGVuZFZpZXdSb3V0ZXMuUk9VVEVfUFJFRklYO1xuICB9LFxuXG4gIC8qKlxuICAgKiBTcGxpdHMgZ2l2ZW4gcGFyYW1zIGludG8gVVJMIGFuZCB0cmFuc2llbnQgcGFyYW1zLlxuICAgKi9cbiAgc3BsaXRQYXJhbXM6IChwYXJhbXM6IFBhcmFtcywgY2FwYWJpbGl0eTogV29ya2JlbmNoVmlld0NhcGFiaWxpdHkpOiB7dXJsUGFyYW1zOiBQYXJhbXM7IHRyYW5zaWVudFBhcmFtczogUGFyYW1zfSA9PiB7XG4gICAgY29uc3QgdHJhbnNpZW50UGFyYW1OYW1lcyA9IG5ldyBTZXQoY2FwYWJpbGl0eS5wYXJhbXM/LmZpbHRlcihwYXJhbSA9PiBwYXJhbS50cmFuc2llbnQpLm1hcChwYXJhbSA9PiBwYXJhbS5uYW1lKSk7XG5cbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMocGFyYW1zKS5yZWR1Y2UoKGdyb3VwcywgW25hbWUsIHZhbHVlXSkgPT4ge1xuICAgICAgaWYgKHRyYW5zaWVudFBhcmFtTmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIGdyb3Vwcy50cmFuc2llbnRQYXJhbXNbbmFtZV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBncm91cHMudXJsUGFyYW1zW25hbWVdID0gdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZ3JvdXBzO1xuICAgIH0sIHt1cmxQYXJhbXM6IHt9IGFzIFBhcmFtcywgdHJhbnNpZW50UGFyYW1zOiB7fSBhcyBQYXJhbXN9KTtcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
|