@covalent/markdown-navigator 9.1.3 → 10.0.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.
@@ -1,102 +0,0 @@
1
- import { Injectable, Inject, RendererFactory2, } from '@angular/core';
2
- import { TdMarkdownNavigatorWindowComponent, } from '../markdown-navigator-window/markdown-navigator-window.component';
3
- import { TdDialogService, ResizableDraggableDialog, } from '@covalent/core/dialogs';
4
- import { DOCUMENT } from '@angular/common';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@covalent/core/dialogs";
7
- const CDK_OVERLAY_CUSTOM_CLASS = 'td-window-dialog';
8
- const DEFAULT_POSITION = { bottom: '0px', right: '0px' };
9
- const DEFAULT_WIDTH = '360px';
10
- const DEFAULT_HEIGHT = '75vh';
11
- const MAX_WIDTH = '100vw';
12
- const DEFAULT_DRAGGABLE_DIALOG_CONFIG = {
13
- hasBackdrop: false,
14
- closeOnNavigation: true,
15
- panelClass: [CDK_OVERLAY_CUSTOM_CLASS],
16
- position: DEFAULT_POSITION,
17
- height: DEFAULT_HEIGHT,
18
- width: DEFAULT_WIDTH,
19
- maxWidth: MAX_WIDTH,
20
- };
21
- export class TdMarkdownNavigatorWindowService {
22
- _tdDialogService;
23
- _document;
24
- rendererFactory;
25
- _renderer2;
26
- dragRef;
27
- resizableDraggableDialog;
28
- markdownNavigatorWindowDialog;
29
- markdownNavigatorWindowDialogsOpen = 0;
30
- constructor(_tdDialogService, _document, rendererFactory) {
31
- this._tdDialogService = _tdDialogService;
32
- this._document = _document;
33
- this.rendererFactory = rendererFactory;
34
- this._renderer2 = rendererFactory.createRenderer(undefined, null);
35
- }
36
- open(config) {
37
- this.close();
38
- const configClass = config?.dialogConfig?.panelClass;
39
- const panelClass = configClass && !Array.isArray(configClass) ? [configClass] : [];
40
- const draggableConfig = {
41
- ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,
42
- ...config.dialogConfig,
43
- ...panelClass,
44
- };
45
- const { matDialogRef, dragRefSubject, } = this._tdDialogService.openDraggable({
46
- component: TdMarkdownNavigatorWindowComponent,
47
- config: draggableConfig,
48
- dragHandleSelectors: ['.td-window-dialog-toolbar'],
49
- draggableClass: 'td-draggable-markdown-navigator-window',
50
- });
51
- this.markdownNavigatorWindowDialog = matDialogRef;
52
- this.markdownNavigatorWindowDialog.componentInstance.items = config.items;
53
- this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;
54
- this.markdownNavigatorWindowDialog.componentInstance.startAt =
55
- config.startAt;
56
- this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard =
57
- config.copyCodeToClipboard;
58
- this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips =
59
- config.copyCodeTooltips;
60
- this.markdownNavigatorWindowDialog.componentInstance.compareWith =
61
- config.compareWith;
62
- this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =
63
- 'toolbarColor' in config ? config.toolbarColor : 'primary';
64
- this.markdownNavigatorWindowDialogsOpen++;
65
- this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;
66
- dragRefSubject.subscribe((dragRf) => {
67
- this.dragRef = dragRf;
68
- this.resizableDraggableDialog = new ResizableDraggableDialog(this._document, this._renderer2, this.markdownNavigatorWindowDialog, this.dragRef);
69
- });
70
- this._handleEvents();
71
- return this.markdownNavigatorWindowDialog;
72
- }
73
- close() {
74
- if (this.markdownNavigatorWindowDialog) {
75
- if (this.resizableDraggableDialog) {
76
- this.resizableDraggableDialog.detach();
77
- }
78
- this.markdownNavigatorWindowDialog.close();
79
- }
80
- }
81
- get isOpen() {
82
- return this.markdownNavigatorWindowDialogsOpen > 0;
83
- }
84
- _handleEvents() {
85
- this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() => this.close());
86
- this.markdownNavigatorWindowDialog
87
- .afterClosed()
88
- .toPromise()
89
- .then(() => {
90
- this.markdownNavigatorWindowDialogsOpen--;
91
- });
92
- }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TdMarkdownNavigatorWindowService, deps: [{ token: i1.TdDialogService }, { token: DOCUMENT }, { token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
94
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TdMarkdownNavigatorWindowService });
95
- }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: TdMarkdownNavigatorWindowService, decorators: [{
97
- type: Injectable
98
- }], ctorParameters: () => [{ type: i1.TdDialogService }, { type: undefined, decorators: [{
99
- type: Inject,
100
- args: [DOCUMENT]
101
- }] }, { type: i0.RendererFactory2 }] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctc2VydmljZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sZ0JBQWdCLEdBR2pCLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFDTCxrQ0FBa0MsR0FFbkMsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsZUFBZSxFQUVmLHdCQUF3QixHQUN6QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBbUIzQyxNQUFNLHdCQUF3QixHQUFHLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sZ0JBQWdCLEdBQW1CLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDekUsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDO0FBQzlCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQztBQUM5QixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUM7QUFFMUIsTUFBTSwrQkFBK0IsR0FBb0I7SUFDdkQsV0FBVyxFQUFFLEtBQUs7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixVQUFVLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztJQUN0QyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFFBQVEsRUFBRSxTQUFTO0NBQ3BCLENBQUM7QUFHRixNQUFNLE9BQU8sZ0NBQWdDO0lBUWpDO0lBQ2tCO0lBQ2xCO0lBVEYsVUFBVSxDQUFZO0lBQ3RCLE9B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QUNWLElBQUksSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDdkMsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLENBQUM7WUFDRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ3pFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FDYixDQUFDO1FBRUYsSUFBSSxDQUFDLDZCQUE2QjthQUMvQixXQUFXLEVBQUU7YUFDYixTQUFTLEVBQUU7YUFDWCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO3dHQTNGVSxnQ0FBZ0MsaURBU2pDLFFBQVE7NEdBVFAsZ0NBQWdDOzs0RkFBaEMsZ0NBQWdDO2tCQUQ1QyxVQUFVOzswQkFVTixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBJbmplY3QsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIFJlbmRlcmVyMixcbiAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNYXREaWFsb2dSZWYsXG4gIE1hdERpYWxvZ0NvbmZpZyxcbiAgRGlhbG9nUG9zaXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscyxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBUZERpYWxvZ1NlcnZpY2UsXG4gIElEcmFnZ2FibGVSZWZzLFxuICBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2csXG59IGZyb20gJ0Bjb3ZhbGVudC9jb3JlL2RpYWxvZ3MnO1xuaW1wb3J0IHsgRHJhZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGgsXG59IGZyb20gJy4uL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcge1xuICBpdGVtczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBkaWFsb2dDb25maWc/OiBNYXREaWFsb2dDb25maWc7XG4gIGxhYmVscz86IElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0xhYmVscztcbiAgdG9vbGJhckNvbG9yPzogVGhlbWVQYWxldHRlO1xuICBzdGFydEF0PzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcbiAgY29weUNvZGVUb0NsaXBib2FyZD86IGJvb2xlYW47XG4gIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwcztcbiAgZm9vdGVyPzogVHlwZTxhbnk+O1xufVxuXG5jb25zdCBDREtfT1ZFUkxBWV9DVVNUT01fQ0xBU1MgPSAndGQtd2luZG93LWRpYWxvZyc7XG5cbmNvbnN0IERFRkFVTFRfUE9TSVRJT046IERpYWxvZ1Bvc2l0aW9uID0geyBib3R0b206ICcwcHgnLCByaWdodDogJzBweCcgfTtcbmNvbnN0IERFRkFVTFRfV0lEVEggPSAnMzYwcHgnO1xuY29uc3QgREVGQVVMVF9IRUlHSFQgPSAnNzV2aCc7XG5jb25zdCBNQVhfV0lEVEggPSAnMTAwdncnO1xuXG5jb25zdCBERUZBVUxUX0RSQUdHQUJMRV9ESUFMT0dfQ09ORklHOiBNYXREaWFsb2dDb25maWcgPSB7XG4gIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gIHBhbmVsQ2xhc3M6IFtDREtfT1ZFUkxBWV9DVVNUT01fQ0xBU1NdLFxuICBwb3NpdGlvbjogREVGQVVMVF9QT1NJVElPTixcbiAgaGVpZ2h0OiBERUZBVUxUX0hFSUdIVCxcbiAgd2lkdGg6IERFRkFVTFRfV0lEVEgsXG4gIG1heFdpZHRoOiBNQVhfV0lEVEgsXG59O1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uge1xuICBwcml2YXRlIF9yZW5kZXJlcjI6IFJlbmRlcmVyMjtcbiAgcHJpdmF0ZSBkcmFnUmVmITogRHJhZ1JlZjtcbiAgcHJpdmF0ZSByZXNpemFibGVEcmFnZ2FibGVEaWFsb2chOiBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2c7XG4gIHByaXZhdGUgbWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2chOiBNYXREaWFsb2dSZWY8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD47XG4gIHByaXZhdGUgbWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2dzT3BlbiA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfdGREaWFsb2dTZXJ2aWNlOiBUZERpYWxvZ1NlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IGFueSxcbiAgICBwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5MlxuICApIHtcbiAgICB0aGlzLl9yZW5kZXJlcjIgPSByZW5kZXJlckZhY3RvcnkuY3JlYXRlUmVuZGVyZXIodW5kZWZpbmVkLCBudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKFxuICAgIGNvbmZpZzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnXG4gICk6IE1hdERpYWxvZ1JlZjxUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50PiB7XG4gICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgY29uc3QgY29uZmlnQ2xhc3MgPSBjb25maWc/LmRpYWxvZ0NvbmZpZz8ucGFuZWxDbGFzcztcbiAgICBjb25zdCBwYW5lbENsYXNzID1cbiAgICAgIGNvbmZpZ0NsYXNzICYmICFBcnJheS5pc0FycmF5KGNvbmZpZ0NsYXNzKSA/IFtjb25maWdDbGFzc10gOiBbXTtcblxuICAgIGNvbnN0IGRyYWdnYWJsZUNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgLi4uREVGQVVMVF9EUkFHR0FCTEVfRElBTE9HX0NPTkZJRyxcbiAgICAgIC4uLmNvbmZpZy5kaWFsb2dDb25maWcsXG4gICAgICAuLi5wYW5lbENsYXNzLFxuICAgIH07XG4gICAgY29uc3Qge1xuICAgICAgbWF0RGlhbG9nUmVmLFxuICAgICAgZHJhZ1JlZlN1YmplY3QsXG4gICAgfTogSURyYWdnYWJsZVJlZnM8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4gPVxuICAgICAgdGhpcy5fdGREaWFsb2dTZXJ2aWNlLm9wZW5EcmFnZ2FibGUoe1xuICAgICAgICBjb21wb25lbnQ6IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gICAgICAgIGNvbmZpZzogZHJhZ2dhYmxlQ29uZmlnLFxuICAgICAgICBkcmFnSGFuZGxlU2VsZWN0b3JzOiBbJy50ZC13aW5kb3ctZGlhbG9nLXRvb2xiYXInXSxcbiAgICAgICAgZHJhZ2dhYmxlQ2xhc3M6ICd0ZC1kcmFnZ2FibGUtbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdycsXG4gICAgICB9KTtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nID0gbWF0RGlhbG9nUmVmO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuaXRlbXMgPSBjb25maWcuaXRlbXM7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5sYWJlbHMgPSBjb25maWcubGFiZWxzO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2Uuc3RhcnRBdCA9XG4gICAgICBjb25maWcuc3RhcnRBdDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9DbGlwYm9hcmQgPVxuICAgICAgY29uZmlnLmNvcHlDb2RlVG9DbGlwYm9hcmQ7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5jb3B5Q29kZVRvb2x0aXBzID1cbiAgICAgIGNvbmZpZy5jb3B5Q29kZVRvb2x0aXBzO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuY29tcGFyZVdpdGggPVxuICAgICAgY29uZmlnLmNvbXBhcmVXaXRoO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UudG9vbGJhckNvbG9yID1cbiAgICAgICd0b29sYmFyQ29sb3InIGluIGNvbmZpZyA/IGNvbmZpZy50b29sYmFyQ29sb3IgOiAncHJpbWFyeSc7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuKys7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5mb290ZXIgPSBjb25maWcuZm9vdGVyO1xuICAgIGRyYWdSZWZTdWJqZWN0LnN1YnNjcmliZSgoZHJhZ1JmOiBEcmFnUmVmKSA9PiB7XG4gICAgICB0aGlzLmRyYWdSZWYgPSBkcmFnUmY7XG4gICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyA9IG5ldyBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2coXG4gICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIsXG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2csXG4gICAgICAgIHRoaXMuZHJhZ1JlZlxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLl9oYW5kbGVFdmVudHMoKTtcbiAgICByZXR1cm4gdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZztcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZykge1xuICAgICAgaWYgKHRoaXMucmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nKSB7XG4gICAgICAgIHRoaXMucmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nLmRldGFjaCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nc09wZW4gPiAwO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuY2xvc2VkLnN1YnNjcmliZSgoKSA9PlxuICAgICAgdGhpcy5jbG9zZSgpXG4gICAgKTtcblxuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2dcbiAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAudG9Qcm9taXNlKClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuLS07XG4gICAgICB9KTtcbiAgfVxufVxuIl19