@covalent/markdown-navigator 11.19.3 → 11.19.5
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.
|
@@ -257,10 +257,11 @@ class TdMarkdownNavigatorComponent {
|
|
|
257
257
|
markdownLoaderError;
|
|
258
258
|
childrenUrlError;
|
|
259
259
|
clickListener(event) {
|
|
260
|
-
const element = event.
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
260
|
+
const element = event.target;
|
|
261
|
+
// Use closest() to handle clicks on nested elements inside links
|
|
262
|
+
const anchor = element.closest('a[href]');
|
|
263
|
+
if (anchor && isMarkdownHref(anchor)) {
|
|
264
|
+
this.handleLinkClick(event, anchor);
|
|
264
265
|
}
|
|
265
266
|
}
|
|
266
267
|
get showGoBackButton() {
|
|
@@ -442,8 +443,8 @@ class TdMarkdownNavigatorComponent {
|
|
|
442
443
|
}
|
|
443
444
|
return (removeLeadingHash(item.anchor ?? '') ||
|
|
444
445
|
item.title ||
|
|
445
|
-
getTitleFromUrl(item.url ?? '') ||
|
|
446
446
|
getTitleFromMarkdownString(item.markdownString ?? '') ||
|
|
447
|
+
getTitleFromUrl(item.url ?? '') ||
|
|
447
448
|
'').trim();
|
|
448
449
|
}
|
|
449
450
|
getIcon(item) {
|
|
@@ -463,7 +464,7 @@ class TdMarkdownNavigatorComponent {
|
|
|
463
464
|
this.markdownLoaderError = error ? error.message : '';
|
|
464
465
|
this._changeDetectorRef.markForCheck();
|
|
465
466
|
}
|
|
466
|
-
async _jumpTo(itemOrPath, children) {
|
|
467
|
+
async _jumpTo(itemOrPath, children, shouldReset = true) {
|
|
467
468
|
const historyStack = this.historyStack;
|
|
468
469
|
let path = [];
|
|
469
470
|
if (this.items?.length) {
|
|
@@ -477,12 +478,21 @@ class TdMarkdownNavigatorComponent {
|
|
|
477
478
|
else {
|
|
478
479
|
path = this.findPath(this.items, itemOrPath);
|
|
479
480
|
}
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
481
|
+
// When navigating through internal links (shouldReset = false),
|
|
482
|
+
// only navigate to the final destination, not the entire path,
|
|
483
|
+
// to avoid duplicating parent items already in historyStack
|
|
484
|
+
if (!shouldReset && path.length > 0) {
|
|
485
|
+
const destination = path[path.length - 1];
|
|
486
|
+
this.handleItemSelected(destination);
|
|
487
|
+
}
|
|
488
|
+
else {
|
|
489
|
+
path.forEach((pathItem, index) => {
|
|
490
|
+
if (index === 0 && shouldReset) {
|
|
491
|
+
this.reset();
|
|
492
|
+
}
|
|
493
|
+
this.handleItemSelected(pathItem);
|
|
494
|
+
});
|
|
495
|
+
}
|
|
486
496
|
}
|
|
487
497
|
return !!path.length;
|
|
488
498
|
}
|
|
@@ -517,6 +527,12 @@ class TdMarkdownNavigatorComponent {
|
|
|
517
527
|
if (item && compareWith(child, item)) {
|
|
518
528
|
return [child];
|
|
519
529
|
}
|
|
530
|
+
// Also try to match by URL filename pattern for internal links
|
|
531
|
+
if (item?.url &&
|
|
532
|
+
child.url &&
|
|
533
|
+
this.urlsMatchByFilename(child.url, item.url)) {
|
|
534
|
+
return [child];
|
|
535
|
+
}
|
|
520
536
|
const ancestors = this.findPath(child.children, item);
|
|
521
537
|
if (ancestors.length) {
|
|
522
538
|
return [child, ...ancestors];
|
|
@@ -525,22 +541,45 @@ class TdMarkdownNavigatorComponent {
|
|
|
525
541
|
}
|
|
526
542
|
return [];
|
|
527
543
|
}
|
|
528
|
-
|
|
544
|
+
urlsMatchByFilename(url1, url2) {
|
|
545
|
+
try {
|
|
546
|
+
// Extract filename and strip query params (?...) and hash fragments (#...)
|
|
547
|
+
const filename1 = url1.split('/').pop()?.split('?')[0].split('#')[0] ?? '';
|
|
548
|
+
const filename2 = url2.split('/').pop()?.split('?')[0].split('#')[0] ?? '';
|
|
549
|
+
return filename1 !== '' && filename2 !== '' && filename1 === filename2;
|
|
550
|
+
}
|
|
551
|
+
catch {
|
|
552
|
+
return false;
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
async handleLinkClick(event, link) {
|
|
529
556
|
event.preventDefault();
|
|
530
|
-
const link = event.target;
|
|
531
557
|
const url = new URL(link.href);
|
|
532
558
|
const urlParts = url.href.split('/');
|
|
533
559
|
const id = urlParts[urlParts.length - 1].split('.md')[0];
|
|
560
|
+
// Capture link text for better UX - Phase 1
|
|
561
|
+
const linkText = link.textContent?.trim() || '';
|
|
534
562
|
this.loading = true;
|
|
535
563
|
this._changeDetectorRef.markForCheck();
|
|
536
|
-
|
|
564
|
+
// Try to find by ID first (relative navigation, preserve history)
|
|
565
|
+
const pathFound = await this._jumpTo({ id }, undefined, false);
|
|
537
566
|
if (pathFound) {
|
|
538
567
|
return;
|
|
539
568
|
}
|
|
569
|
+
// Try to find by URL pattern - Phase 2 (relative navigation, preserve history)
|
|
570
|
+
const filename = urlParts[urlParts.length - 1];
|
|
571
|
+
const pathFoundByUrl = await this._jumpTo({ url: filename }, undefined, false);
|
|
572
|
+
if (pathFoundByUrl) {
|
|
573
|
+
return;
|
|
574
|
+
}
|
|
540
575
|
try {
|
|
541
576
|
const markdownString = await this._markdownUrlLoaderService.load(url.href);
|
|
542
|
-
//
|
|
543
|
-
this.handleItemSelected({
|
|
577
|
+
// Pass link text as title for immediate UX improvement - Phase 1
|
|
578
|
+
this.handleItemSelected({
|
|
579
|
+
markdownString,
|
|
580
|
+
url: url.href,
|
|
581
|
+
title: linkText || undefined, // Use link text if available
|
|
582
|
+
});
|
|
544
583
|
this.markdownWrapper.nativeElement.scrollTop = 0;
|
|
545
584
|
}
|
|
546
585
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"covalent-markdown-navigator.mjs","sources":["../tmp-esm2022/markdown-navigator.component.js","../tmp-esm2022/markdown-navigator-window/markdown-navigator-window.component.js","../tmp-esm2022/markdown-navigator-window-service/markdown-navigator-window.service.js","../tmp-esm2022/markdown-navigator-window-directive/markdown-navigator-window.directive.js","../tmp-esm2022/markdown-navigator.module.js","../tmp-esm2022/covalent-markdown-navigator.js"],"sourcesContent":["import { Component, Input, HostListener, ViewChild, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy, Output, EventEmitter, SecurityContext, inject, } from '@angular/core';\nimport { removeLeadingHash, isAnchorLink, TdMarkdownLoaderService, } from '@covalent/markdown';\nimport { TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent, } from '@covalent/flavored-markdown';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport { firstValueFrom } from 'rxjs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { TdMessageComponent } from '@covalent/core/message';\nimport { TdBreadcrumbsComponent, TdBreadcrumbComponent, } from '@covalent/core/breadcrumbs';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/tooltip\";\nimport * as i3 from \"@angular/material/list\";\nimport * as i4 from \"@angular/material/icon\";\nimport * as i5 from \"@angular/material/progress-bar\";\nconst _c0 = [\"markdownWrapper\"];\nconst _c1 = () => ({});\nconst _forTrack0 = ($index, $item) => $item.id ?? $index;\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-progress-bar\", 2);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_For_4_Template(rf, ctx) { if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"a\", 12);\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_For_4_Template_a_click_0_listener() { const ɵ$index_13_r4 = i0.ɵɵrestoreView(_r3).$index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.goBack(ctx_r1.historyStack.length - ɵ$index_13_r4)); });\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const item_r5 = ctx.$implicit;\n const ɵ$index_13_r4 = ctx.$index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵattribute(\"data-test\", \"back-button-\" + ɵ$index_13_r4);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.getTitle(item_r5));\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-breadcrumbs\", 8)(1, \"a\", 9);\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.reset()); });\n i0.ɵɵtext(2, \"Home\");\n i0.ɵɵelementEnd();\n i0.ɵɵrepeaterCreate(3, TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_For_4_Template, 2, 2, \"a\", 10, _forTrack0);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"div\", 11);\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"matTooltip\", ctx_r1.goHomeLabel ?? \"\");\n i0.ɵɵattribute(\"data-test\", \"home-button\");\n i0.ɵɵadvance(2);\n i0.ɵɵrepeater(ctx_r1.navigationBreadcrumbs);\n i0.ɵɵadvance(2);\n i0.ɵɵattribute(\"data-test\", \"title\");\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.currentItemTitle, \" \");\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"td-message\", 5);\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"sublabel\", ctx_r1.markdownLoaderError);\n i0.ɵɵattribute(\"data-test\", \"markdown-loader-error\");\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-flavored-markdown-loader\", 15);\n i0.ɵɵlistener(\"loadFailed\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_3_Template_td_flavored_markdown_loader_loadFailed_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleMarkdownLoaderError($event)); })(\"buttonClicked\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_3_Template_td_flavored_markdown_loader_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"url\", ctx_r1.url ?? \"\")(\"httpOptions\", ctx_r1.httpOptions ?? i0.ɵɵpureFunction0(5, _c1))(\"anchor\", ctx_r1.anchor ?? \"\")(\"copyCodeToClipboard\", ctx_r1.copyCodeToClipboard)(\"copyCodeTooltips\", ctx_r1.copyCodeTooltips);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-flavored-markdown\", 16);\n i0.ɵɵlistener(\"buttonClicked\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_4_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"content\", ctx_r1.markdownString ?? \"\")(\"hostedUrl\", ctx_r1.url ?? \"\")(\"anchor\", ctx_r1.anchor ?? \"\")(\"copyCodeToClipboard\", ctx_r1.copyCodeToClipboard)(\"copyCodeTooltips\", ctx_r1.copyCodeTooltips);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 4, 0);\n i0.ɵɵconditionalCreate(2, TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_2_Template, 1, 2, \"td-message\", 5);\n i0.ɵɵconditionalCreate(3, TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_3_Template, 1, 6, \"td-flavored-markdown-loader\", 13);\n i0.ɵɵconditionalCreate(4, TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_4_Template, 1, 5, \"td-flavored-markdown\", 14);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx_r1.markdownLoaderError ? 2 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.showTdMarkdownLoader ? 3 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.showTdMarkdown ? 4 : -1);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_5_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"td-message\", 5);\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"sublabel\", ctx_r1.childrenUrlError);\n i0.ɵɵattribute(\"data-test\", \"children-url-error\");\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_For_3_Template(rf, ctx) { if (rf & 1) {\n const _r8 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 18);\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_For_3_Template_button_click_0_listener() { const item_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleItemSelected(item_r9)); });\n i0.ɵɵelementStart(1, \"mat-icon\", 19);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 20);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"span\", 21);\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(7, \"mat-divider\");\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const item_r9 = ctx.$implicit;\n const ɵ$index_42_r10 = ctx.$index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"id\", \"td-markdown-navigator-list-item-\" + (item_r9.id ? item_r9.id : ɵ$index_42_r10))(\"matTooltip\", ctx_r1.getTitle(item_r9));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"fontSet\", ctx_r1.isCovalentIcon(item_r9) ? \"covalent-icons\" : \"\");\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.getIcon(item_r9), \" \");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.getTitle(item_r9), \" \");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", item_r9.description, \" \");\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 6)(1, \"mat-action-list\");\n i0.ɵɵrepeaterCreate(2, TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_For_3_Template, 8, 6, \"button\", 17, _forTrack0);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(2);\n i0.ɵɵrepeater(ctx_r1.currentMenuItems);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_ng_container_7_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainer(0);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵconditionalCreate(1, TdMarkdownNavigatorComponent_Conditional_0_Conditional_1_Template, 1, 0, \"mat-progress-bar\", 2);\n i0.ɵɵconditionalCreate(2, TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_Template, 7, 4);\n i0.ɵɵelementStart(3, \"div\", 3);\n i0.ɵɵconditionalCreate(4, TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Template, 5, 3, \"div\", 4);\n i0.ɵɵconditionalCreate(5, TdMarkdownNavigatorComponent_Conditional_0_Conditional_5_Template, 1, 2, \"td-message\", 5);\n i0.ɵɵconditionalCreate(6, TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_Template, 4, 0, \"div\", 6);\n i0.ɵɵtemplate(7, TdMarkdownNavigatorComponent_Conditional_0_ng_container_7_Template, 1, 0, \"ng-container\", 7);\n i0.ɵɵelementEnd();\n i0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.loading ? 1 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.showHeader ? 2 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx_r1.showTdMarkdownLoader || ctx_r1.showTdMarkdown ? 4 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.childrenUrlError ? 5 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.showMenu ? 6 : -1);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngComponentOutlet\", ctx_r1.footerComponent);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1)(1, \"mat-icon\", 22);\n i0.ɵɵtext(2, \"subject\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"h2\");\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵtextInterpolate(ctx_r1.emptyStateLabel);\n} }\nexport const DEFAULT_MARKDOWN_NAVIGATOR_LABELS = {\n goHome: 'Go home',\n goBack: 'Go back',\n emptyState: 'No item(s) to display',\n};\nexport class TdMarkdownNavigatorComponent {\n _markdownUrlLoaderService = inject(TdMarkdownLoaderService);\n _changeDetectorRef = inject(ChangeDetectorRef);\n _sanitizer = inject(DomSanitizer);\n _http = inject(HttpClient);\n _iconRegistry = inject(MatIconRegistry);\n constructor() {\n this._iconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons mat-ligature-font');\n }\n /**\n * items: IMarkdownNavigatorItem[]\n *\n * List of IMarkdownNavigatorItems to be rendered\n */\n items;\n /**\n * labels?: IMarkdownNavigatorLabels\n *\n * Translated labels\n */\n labels;\n /**\n * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n *\n * Item or path to start at\n */\n startAt;\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n copyCodeTooltips = {};\n /**\n * footer?: Type<any>\n *\n * Component to be displayed in footer\n */\n footer;\n /**\n * compareWith?: IMarkdownNavigatorCompareWith\n *\n * Function used to find startAt item\n * Defaults to comparison by strict equality (===)\n */\n compareWith;\n buttonClicked = new EventEmitter();\n itemSelected = new EventEmitter();\n markdownWrapper;\n historyStack = []; // history\n currentMarkdownItem; // currently rendered\n currentMenuItems = []; // current menu items\n loading = false;\n markdownLoaderError;\n childrenUrlError;\n clickListener(event) {\n const element = event.srcElement;\n if (element.matches('a[href]') &&\n isMarkdownHref(element)) {\n this.handleLinkClick(event);\n }\n }\n get showGoBackButton() {\n return this.historyStack.length > 0;\n }\n get showHeader() {\n return !!this.currentItemTitle;\n }\n get showMenu() {\n const showMenu = this.currentMenuItems && this.currentMenuItems.length > 0;\n return showMenu ?? false;\n }\n get showTdMarkdownLoader() {\n return (!!this.currentMarkdownItem &&\n !!this.currentMarkdownItem.url &&\n !this.showTdMarkdown);\n }\n get showTdMarkdown() {\n return (!!this.currentMarkdownItem && !!this.currentMarkdownItem.markdownString);\n }\n get url() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.url;\n }\n return undefined;\n }\n get footerComponent() {\n if (this.currentMarkdownItem && this.currentMarkdownItem.footer) {\n return this.currentMarkdownItem.footer;\n }\n return this.footer;\n }\n get httpOptions() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.httpOptions;\n }\n return undefined;\n }\n get markdownString() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.markdownString;\n }\n return undefined;\n }\n get anchor() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.anchor;\n }\n return undefined;\n }\n get showEmptyState() {\n return !this.items || this.items.length < 1;\n }\n get goHomeLabel() {\n return ((this.labels && this.labels.goHome) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goHome);\n }\n get goBackLabel() {\n return ((this.labels && this.labels.goBack) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goBack);\n }\n get emptyStateLabel() {\n return ((this.labels && this.labels.emptyState) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.emptyState);\n }\n get currentItemTitle() {\n if (this.currentMarkdownItem) {\n return this.getTitle(this.currentMarkdownItem);\n }\n else if (this.historyStack.length > 0) {\n return this.getTitle(this.historyStack[this.historyStack.length - 1]);\n }\n return '';\n }\n get navigationBreadcrumbs() {\n return this.historyStack.slice(0, -1);\n }\n async ngOnChanges(changes) {\n if (changes['items']) {\n this.reset();\n }\n if (changes['startAt'] && this.items && this.startAt) {\n this._jumpTo(this.startAt, undefined);\n }\n }\n hasChildrenOrChildrenUrl(item) {\n return (item.children && item.children.length > 0) || !!item.childrenUrl;\n }\n clearErrors() {\n this.markdownLoaderError = undefined;\n this.childrenUrlError = undefined;\n }\n reset() {\n this.loading = false;\n this.clearErrors();\n // if single item and no children\n if (this.items &&\n this.items.length === 1 &&\n !this.hasChildrenOrChildrenUrl(this.items[0])) {\n this.currentMenuItems = [];\n this.currentMarkdownItem = this.items[0];\n }\n else {\n this.currentMenuItems = this.items;\n this.currentMarkdownItem = undefined;\n }\n this.historyStack = [];\n this.itemSelected.emit(undefined);\n this._changeDetectorRef.markForCheck();\n }\n goBack(goBackLength = 2) {\n this.loading = false;\n this.clearErrors();\n let parent = this.historyStack[this.historyStack.length - goBackLength];\n if (parent?.startAtLink) {\n parent = this.historyStack[this.historyStack.length - 3]\n ? this.historyStack[this.historyStack.length - 3]\n : undefined;\n this.historyStack = this.historyStack.slice(0, -goBackLength);\n }\n if (parent) {\n this.currentMarkdownItem = parent;\n this.historyStack = this.historyStack.slice(0, this.historyStack.length - goBackLength + 1);\n this.setChildrenAsCurrentMenuItems(parent);\n }\n else {\n this.reset();\n }\n this.itemSelected.emit(parent);\n this._changeDetectorRef.markForCheck();\n }\n handleItemSelected(item) {\n this.clearErrors();\n this.currentMarkdownItem = item;\n this.historyStack = [...this.historyStack, item];\n this.setChildrenAsCurrentMenuItems(item);\n this.itemSelected.emit(item);\n this._changeDetectorRef.markForCheck();\n }\n async setChildrenAsCurrentMenuItems(item) {\n this.currentMenuItems = [];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n const stackSnapshot = this.historyStack;\n let children = [];\n if (item.children) {\n children = item.children;\n }\n else if (item.childrenUrl) {\n children = await this.loadChildrenUrl(item);\n }\n if (children && children.length && item.startAtLink) {\n this._jumpTo(item.startAtLink, children);\n }\n const newStackSnapshot = this.historyStack;\n if (stackSnapshot.length === newStackSnapshot.length &&\n stackSnapshot.every((stackItem, index) => stackItem === newStackSnapshot[index])) {\n this.currentMenuItems = children;\n }\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n async loadChildrenUrl(item) {\n const sanitizedUrl = this._sanitizer.sanitize(SecurityContext.URL, item.childrenUrl ?? null) ??\n '';\n try {\n return await firstValueFrom(this._http.get(sanitizedUrl, {\n ...item.httpOptions,\n }));\n }\n catch (error) {\n this.handleChildrenUrlError(error);\n return [];\n }\n }\n getTitle(item) {\n if (!item) {\n return '';\n }\n return (removeLeadingHash(item.anchor ?? '') ||\n item.title ||\n getTitleFromUrl(item.url ?? '') ||\n getTitleFromMarkdownString(item.markdownString ?? '') ||\n '').trim();\n }\n getIcon(item) {\n const icon = item?.icon || 'subject';\n return icon.split(';')[0];\n }\n isCovalentIcon(item) {\n if (!item?.icon)\n return false;\n return item?.icon.includes(';covalent');\n }\n handleChildrenUrlError(error) {\n this.childrenUrlError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n handleMarkdownLoaderError(error) {\n this.markdownLoaderError = error ? error.message : '';\n this._changeDetectorRef.markForCheck();\n }\n async _jumpTo(itemOrPath, children) {\n const historyStack = this.historyStack;\n let path = [];\n if (this.items?.length) {\n if (Array.isArray(itemOrPath)) {\n path = await this.followPath(this.items, itemOrPath);\n }\n else if (children && children.length > 0) {\n this.historyStack = historyStack;\n path = this.findPath(children, itemOrPath);\n }\n else {\n path = this.findPath(this.items, itemOrPath);\n }\n path.forEach((pathItem, index) => {\n if (index === 0) {\n this.reset();\n }\n this.handleItemSelected(pathItem);\n });\n }\n return !!path.length;\n }\n async followPath(items, path) {\n let pathItems = [];\n let currentLevel = items;\n const compareWith = this.compareWith || defaultCompareWith;\n for (const pathItem of path) {\n const foundItem = currentLevel.find((item) => compareWith(pathItem, item));\n if (foundItem) {\n pathItems = [...pathItems, foundItem];\n if (foundItem.children) {\n currentLevel = foundItem.children;\n }\n else if (foundItem.childrenUrl) {\n currentLevel = await this.loadChildrenUrl(foundItem);\n }\n }\n else {\n break;\n }\n }\n if (pathItems.length !== path.length) {\n pathItems = [];\n }\n return pathItems;\n }\n findPath(items, item) {\n const compareWith = this.compareWith || defaultCompareWith;\n if (items) {\n for (const child of items) {\n if (item && compareWith(child, item)) {\n return [child];\n }\n const ancestors = this.findPath(child.children, item);\n if (ancestors.length) {\n return [child, ...ancestors];\n }\n }\n }\n return [];\n }\n async handleLinkClick(event) {\n event.preventDefault();\n const link = event.target;\n const url = new URL(link.href);\n const urlParts = url.href.split('/');\n const id = urlParts[urlParts.length - 1].split('.md')[0];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n const pathFound = await this._jumpTo({ id });\n if (pathFound) {\n return;\n }\n try {\n const markdownString = await this._markdownUrlLoaderService.load(url.href);\n // pass in url to be able to use currentMarkdownItem.url later on\n this.handleItemSelected({ markdownString, url: url.href });\n this.markdownWrapper.nativeElement.scrollTop = 0;\n }\n catch (error) {\n const win = window.open(url.href, '_blank');\n win?.focus();\n }\n finally {\n this.loading = false;\n }\n this._changeDetectorRef.markForCheck();\n }\n static ɵfac = function TdMarkdownNavigatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdMarkdownNavigatorComponent, selectors: [[\"td-markdown-navigator\"]], viewQuery: function TdMarkdownNavigatorComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.markdownWrapper = _t.first);\n } }, hostBindings: function TdMarkdownNavigatorComponent_HostBindings(rf, ctx) { if (rf & 1) {\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_click_HostBindingHandler($event) { return ctx.clickListener($event); });\n } }, inputs: { items: \"items\", labels: \"labels\", startAt: \"startAt\", copyCodeToClipboard: \"copyCodeToClipboard\", copyCodeTooltips: \"copyCodeTooltips\", footer: \"footer\", compareWith: \"compareWith\" }, outputs: { buttonClicked: \"buttonClicked\", itemSelected: \"itemSelected\" }, features: [i0.ɵɵProvidersFeature([TdMarkdownLoaderService]), i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [[\"markdownWrapper\", \"\"], [\"layout\", \"column\", \"layout-align\", \"center center\", 1, \"empty-state\"], [\"mode\", \"indeterminate\", \"color\", \"accent\"], [\"id\", \"td-markdown-navigator-content\", 1, \"scroll-area\"], [1, \"markdown-wrapper\"], [\"color\", \"warn\", \"icon\", \"error\", 3, \"sublabel\"], [1, \"td-markdown-list\"], [4, \"ngComponentOutlet\"], [\"size\", \"caption\"], [\"td-breadcrumb\", \"\", 3, \"click\", \"matTooltip\"], [\"td-breadcrumb\", \"\"], [1, \"breadcrumb-current-title\"], [\"td-breadcrumb\", \"\", 3, \"click\"], [3, \"url\", \"httpOptions\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [3, \"content\", \"hostedUrl\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [3, \"loadFailed\", \"buttonClicked\", \"url\", \"httpOptions\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [3, \"buttonClicked\", \"content\", \"hostedUrl\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [\"mat-list-item\", \"\", \"matTooltipPosition\", \"before\", \"matTooltipShowDelay\", \"500\", 3, \"id\", \"matTooltip\"], [\"mat-list-item\", \"\", \"matTooltipPosition\", \"before\", \"matTooltipShowDelay\", \"500\", 3, \"click\", \"id\", \"matTooltip\"], [\"matListItemIcon\", \"\", 3, \"fontSet\"], [\"matListItemTitle\", \"\", 1, \"truncate\"], [\"matListItemLine\", \"\", 1, \"truncate\"], [\"matListItemAvatar\", \"\"]], template: function TdMarkdownNavigatorComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵconditionalCreate(0, TdMarkdownNavigatorComponent_Conditional_0_Template, 8, 6, \"ng-container\");\n i0.ɵɵconditionalCreate(1, TdMarkdownNavigatorComponent_Conditional_1_Template, 5, 1, \"div\", 1);\n } if (rf & 2) {\n i0.ɵɵconditional(!ctx.showEmptyState ? 0 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.showEmptyState ? 1 : -1);\n } }, dependencies: [CommonModule, i1.NgComponentOutlet, MatButtonModule,\n MatTooltipModule, i2.MatTooltip, MatListModule, i3.MatActionList, i3.MatListItem, i3.MatListItemAvatar, i3.MatListItemIcon, i3.MatDivider, i3.MatListItemLine, i3.MatListItemTitle, MatIconModule, i4.MatIcon, MatProgressBarModule, i5.MatProgressBar, TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdMessageComponent,\n TdBreadcrumbsComponent,\n TdBreadcrumbComponent], styles: [\"[_nghost-%COMP%]{position:relative;height:inherit;height:100%;box-sizing:border-box;display:flex;flex-direction:column}[_nghost-%COMP%] .breadcrumb-current-title[_ngcontent-%COMP%]{margin-bottom:16px;padding-left:16px}[_nghost-%COMP%] .breadcrumb-end-icon[_ngcontent-%COMP%]{margin-left:8px;font-size:16px;width:16px;height:16px}[_nghost-%COMP%] .scroll-area[_ngcontent-%COMP%]{min-height:1px;overflow-y:auto;flex:1;box-sizing:border-box}[_nghost-%COMP%] .markdown-wrapper[_ngcontent-%COMP%]{padding:16px 16px 0}[_nghost-%COMP%] .td-markdown-list[_ngcontent-%COMP%] > .mat-list[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] td-breadcrumbs[_ngcontent-%COMP%]{padding:8px 8px 0 16px}[_nghost-%COMP%] td-flavored-markdown-loader[_ngcontent-%COMP%] .mat-progress-bar{top:0;left:0;right:0;position:absolute}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;margin:8px 0;padding-left:16px}.truncate[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state[_ngcontent-%COMP%]{padding:32px}.empty-state[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:4em}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorComponent, [{\n type: Component,\n args: [{ selector: 'td-markdown-navigator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n CommonModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatIconModule,\n MatProgressBarModule,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdMessageComponent,\n TdBreadcrumbsComponent,\n TdBreadcrumbComponent,\n ], providers: [TdMarkdownLoaderService], template: \"@if (!showEmptyState) {\\n <ng-container>\\n @if (loading) {\\n <mat-progress-bar mode=\\\"indeterminate\\\" color=\\\"accent\\\"></mat-progress-bar>\\n }\\n\\n @if (showHeader) {\\n <td-breadcrumbs size=\\\"caption\\\">\\n <a\\n td-breadcrumb\\n [matTooltip]=\\\"goHomeLabel ?? ''\\\"\\n (click)=\\\"reset()\\\"\\n [attr.data-test]=\\\"'home-button'\\\"\\n >Home</a\\n >\\n\\n @for (\\n item of navigationBreadcrumbs;\\n let index = $index;\\n track item.id ?? index\\n ) {\\n <a\\n td-breadcrumb\\n (click)=\\\"goBack(historyStack.length - index)\\\"\\n [attr.data-test]=\\\"'back-button-' + index\\\"\\n >{{ getTitle(item) }}</a\\n >\\n }\\n </td-breadcrumbs>\\n\\n <div class=\\\"breadcrumb-current-title\\\" [attr.data-test]=\\\"'title'\\\">\\n {{ currentItemTitle }}\\n </div>\\n }\\n\\n <div class=\\\"scroll-area\\\" id=\\\"td-markdown-navigator-content\\\">\\n @if (showTdMarkdownLoader || showTdMarkdown) {\\n <div class=\\\"markdown-wrapper\\\" #markdownWrapper>\\n @if (markdownLoaderError) {\\n <td-message\\n [sublabel]=\\\"markdownLoaderError\\\"\\n color=\\\"warn\\\"\\n icon=\\\"error\\\"\\n [attr.data-test]=\\\"'markdown-loader-error'\\\"\\n ></td-message>\\n }\\n\\n @if (showTdMarkdownLoader) {\\n <td-flavored-markdown-loader\\n [url]=\\\"url ?? ''\\\"\\n [httpOptions]=\\\"httpOptions ?? {}\\\"\\n [anchor]=\\\"anchor ?? ''\\\"\\n [copyCodeToClipboard]=\\\"copyCodeToClipboard\\\"\\n [copyCodeTooltips]=\\\"copyCodeTooltips\\\"\\n (loadFailed)=\\\"handleMarkdownLoaderError($event)\\\"\\n (buttonClicked)=\\\"buttonClicked.emit($event)\\\"\\n ></td-flavored-markdown-loader>\\n }\\n\\n @if (showTdMarkdown) {\\n <td-flavored-markdown\\n [content]=\\\"markdownString ?? ''\\\"\\n [hostedUrl]=\\\"url ?? ''\\\"\\n [anchor]=\\\"anchor ?? ''\\\"\\n [copyCodeToClipboard]=\\\"copyCodeToClipboard\\\"\\n [copyCodeTooltips]=\\\"copyCodeTooltips\\\"\\n (buttonClicked)=\\\"buttonClicked.emit($event)\\\"\\n ></td-flavored-markdown>\\n }\\n </div>\\n }\\n\\n @if (childrenUrlError) {\\n <td-message\\n [sublabel]=\\\"childrenUrlError\\\"\\n color=\\\"warn\\\"\\n icon=\\\"error\\\"\\n [attr.data-test]=\\\"'children-url-error'\\\"\\n ></td-message>\\n }\\n\\n @if (showMenu) {\\n <div class=\\\"td-markdown-list\\\">\\n <mat-action-list>\\n @for (\\n item of currentMenuItems;\\n let index = $index;\\n track item.id ?? index\\n ) {\\n <button\\n [id]=\\\"\\n 'td-markdown-navigator-list-item-' +\\n (item.id ? item.id : index)\\n \\\"\\n (click)=\\\"handleItemSelected(item)\\\"\\n mat-list-item\\n [matTooltip]=\\\"getTitle(item)\\\"\\n matTooltipPosition=\\\"before\\\"\\n matTooltipShowDelay=\\\"500\\\"\\n >\\n <mat-icon\\n matListItemIcon\\n [fontSet]=\\\"isCovalentIcon(item) ? 'covalent-icons' : ''\\\"\\n >\\n {{ getIcon(item) }}\\n </mat-icon>\\n <span matListItemTitle class=\\\"truncate\\\">\\n {{ getTitle(item) }}\\n </span>\\n <span matListItemLine class=\\\"truncate\\\">\\n {{ item.description }}\\n </span>\\n <mat-divider></mat-divider>\\n </button>\\n }\\n </mat-action-list>\\n </div>\\n }\\n <ng-container *ngComponentOutlet=\\\"footerComponent\\\"></ng-container>\\n </div>\\n </ng-container>\\n}\\n\\n@if (showEmptyState) {\\n <div layout=\\\"column\\\" layout-align=\\\"center center\\\" class=\\\"empty-state\\\">\\n <mat-icon matListItemAvatar>subject</mat-icon>\\n <h2>{{ emptyStateLabel }}</h2>\\n </div>\\n}\\n\", styles: [\":host{position:relative;height:inherit;height:100%;box-sizing:border-box;display:flex;flex-direction:column}:host .breadcrumb-current-title{margin-bottom:16px;padding-left:16px}:host .breadcrumb-end-icon{margin-left:8px;font-size:16px;width:16px;height:16px}:host .scroll-area{min-height:1px;overflow-y:auto;flex:1;box-sizing:border-box}:host .markdown-wrapper{padding:16px 16px 0}:host .td-markdown-list>.mat-list{padding-top:0}:host td-breadcrumbs{padding:8px 8px 0 16px}:host td-flavored-markdown-loader ::ng-deep .mat-progress-bar{top:0;left:0;right:0;position:absolute}:host .title{display:inline-block;vertical-align:middle;margin:8px 0;padding-left:16px}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{padding:32px}.empty-state mat-icon{font-size:4em}\\n\"] }]\n }], () => [], { items: [{\n type: Input\n }], labels: [{\n type: Input\n }], startAt: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], footer: [{\n type: Input\n }], compareWith: [{\n type: Input\n }], buttonClicked: [{\n type: Output\n }], itemSelected: [{\n type: Output\n }], markdownWrapper: [{\n type: ViewChild,\n args: ['markdownWrapper']\n }], clickListener: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorComponent, { className: \"TdMarkdownNavigatorComponent\", filePath: \"markdown-navigator.component.ts\", lineNumber: 95 }); })();\nfunction getTitleFromUrl(url) {\n if (url) {\n const temp = new URL(url);\n if (temp.hash) {\n return removeLeadingHash(temp.hash);\n }\n else {\n const path = temp.pathname.split('/');\n const fileName = path[path.length - 1];\n return fileName.replace(/\\.[^/.]+$/, ''); // remove .md\n }\n }\n return '';\n}\nfunction getTitleFromMarkdownString(markdownString) {\n if (markdownString) {\n const firstLine = markdownString.split(/[\\r\\n]+/).find((line) => !!line) ?? '';\n return removeLeadingHash(firstLine).trim();\n }\n return '';\n}\nfunction isMarkdownHref(anchor) {\n return !isAnchorLink(anchor) && anchor.pathname.endsWith('.md');\n}\nfunction defaultCompareWith(o1, o2) {\n if (o1.id && o2.id) {\n return o1.id === o2.id;\n }\n return o1 === o2;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixZQUFZLEVBQ1osZUFBZSxFQUNmLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWix1QkFBdUIsR0FDeEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBRUwsMkJBQTJCLEVBQzNCLGlDQUFpQyxHQUNsQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixxQkFBcUIsR0FDdEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7O0lDckN6QyxzQ0FBeUU7Ozs7SUFrQnJFLDZCQUlHO0lBRkQsNk9BQVMseURBQW1DLEtBQUM7SUFFNUMsWUFBb0I7SUFBQSxpQkFDdEI7Ozs7OztJQURFLGNBQW9CO0lBQXBCLDhDQUFvQjs7OztJQWpCekIsQUFERix5Q0FBK0IsV0FNMUI7SUFGRCwwTUFBUyxjQUFPLEtBQUM7SUFFaEIsb0JBQUk7SUFBQSxpQkFDTjtJQUVELDBIQVdDO0lBQ0gsaUJBQWlCO0lBRWpCLCtCQUFpRTtJQUMvRCxZQUNGO0lBQUEsaUJBQU07OztJQXRCRixjQUFnQztJQUFoQyxxREFBZ0M7O0lBTWxDLGVBV0M7SUFYRCwyQ0FXQztJQUdtQyxlQUEwQjs7SUFDOUQsY0FDRjtJQURFLHdEQUNGOzs7SUFPTSxnQ0FLYzs7O0lBSloscURBQWdDOzs7OztJQVFsQyx1REFRQztJQURDLEFBREEsa1FBQWMsd0NBQWlDLEtBQUMsMlBBQy9CLGlDQUEwQixLQUFDO0lBQzdDLGlCQUE4Qjs7O0lBSDdCLEFBREEsQUFEQSxBQURBLEFBREEsc0NBQWlCLGlFQUNnQiwrQkFDVixtREFDb0IsNkNBQ047Ozs7SUFPdkMsZ0RBT0M7SUFEQyxpUUFBaUIsaUNBQTBCLEtBQUM7SUFDN0MsaUJBQXVCOzs7SUFGdEIsQUFEQSxBQURBLEFBREEsQUFEQSxxREFBZ0MsK0JBQ1QsK0JBQ0EsbURBQ29CLDZDQUNOOzs7SUE1QjNDLGlDQUErQztJQUM3QyxpSUFBMkI7SUFTM0IsbUpBQTRCO0lBWTVCLDRJQUFzQjtJQVV4QixpQkFBTTs7O0lBL0JKLGVBT0M7SUFQRCxxREFPQztJQUVELGNBVUM7SUFWRCxzREFVQztJQUVELGNBU0M7SUFURCxnREFTQzs7O0lBS0gsZ0NBS2M7OztJQUpaLGtEQUE2Qjs7Ozs7SUFlekIsa0NBVUM7SUFMQywrT0FBUyxrQ0FBd0IsS0FBQztJQU1sQyxvQ0FHQztJQUNDLFlBQ0Y7SUFBQSxpQkFBVztJQUNYLGdDQUF3QztJQUN0QyxZQUNGO0lBQUEsaUJBQU87SUFDUCxnQ0FBdUM7SUFDckMsWUFDRjtJQUFBLGlCQUFPO0lBQ1AsOEJBQTJCO0lBQzdCLGlCQUFTOzs7OztJQWpCUCxBQU5BLG9HQUdDLHdDQUc0QjtJQU0zQixjQUF3RDtJQUF4RCxnRkFBd0Q7SUFFeEQsY0FDRjtJQURFLHdEQUNGO0lBRUUsZUFDRjtJQURFLHlEQUNGO0lBRUUsZUFDRjtJQURFLG9EQUNGOzs7SUE1Qk4sQUFERiw4QkFBOEIsc0JBQ1g7SUFDZiwrSEE4QkM7SUFFTCxBQURFLGlCQUFrQixFQUNkOzs7SUFoQ0YsZUE4QkM7SUE5QkQsc0NBOEJDOzs7SUFJUCx3QkFBa0U7OztJQXJIdEUsNkJBQWM7SUFDWix5SEFBZTtJQUlmLGtHQUFrQjtJQTZCbEIsOEJBQTREO0lBQzFELDRHQUE4QztJQW9DOUMsbUhBQXdCO0lBU3hCLDRHQUFnQjtJQXFDaEIsNkdBQW1EO0lBQ3JELGlCQUFNOzs7O0lBckhOLGNBRUM7SUFGRCx5Q0FFQztJQUVELGNBMkJDO0lBM0JELDRDQTJCQztJQUdDLGVBa0NDO0lBbENELCtFQWtDQztJQUVELGNBT0M7SUFQRCxrREFPQztJQUVELGNBb0NDO0lBcENELDBDQW9DQztJQUNjLGNBQWtDO0lBQWxDLDBEQUFrQzs7O0lBT25ELEFBREYsOEJBQXNFLG1CQUN4QztJQUFBLHVCQUFPO0lBQUEsaUJBQVc7SUFDOUMsMEJBQUk7SUFBQSxZQUFxQjtJQUMzQixBQUQyQixpQkFBSyxFQUMxQjs7O0lBREEsZUFBcUI7SUFBckIsNENBQXFCOztBRDFEN0IsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQTZCO0lBQ3pFLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLFVBQVUsRUFBRSx1QkFBdUI7Q0FDcEMsQ0FBQztBQXNCRixNQUFNLE9BQU8sNEJBQTRCO0lBQy9CLHlCQUF5QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzVELGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9DLFVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQixhQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWhEO1FBQ0UsSUFBSSxDQUFDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FDdkMsZ0JBQWdCLEVBQ2hCLGtDQUFrQyxDQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDTSxLQUFLLENBQTRCO0lBRTFDOzs7O09BSUc7SUFDTSxNQUFNLENBQTRCO0lBRTNDOzs7O09BSUc7SUFDTSxPQUFPLENBQXFEO0lBRXJFOzs7OztPQUtHO0lBQ00sbUJBQW1CLEdBQUksS0FBSyxDQUFDO0lBRXRDOzs7O09BSUc7SUFDTSxnQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO0lBRW5EOzs7O09BSUc7SUFDTSxNQUFNLENBQU87SUFFdEI7Ozs7O09BS0c7SUFDTSxXQUFXLENBQWlDO0lBRTNDLGFBQWEsR0FDckIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNYLFlBQVksR0FDcEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVTLGVBQWUsQ0FBYztJQUUzRCxZQUFZLEdBQTZCLEVBQUUsQ0FBQyxDQUFDLFVBQVU7SUFDdkQsbUJBQW1CLENBQTBCLENBQUMscUJBQXFCO0lBQ25FLGdCQUFnQixHQUE4QixFQUFFLENBQUMsQ0FBQyxxQkFBcUI7SUFDdkUsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUVoQixtQkFBbUIsQ0FBVTtJQUM3QixnQkFBZ0IsQ0FBVTtJQUcxQixhQUFhLENBQUMsS0FBWTtRQUN4QixNQUFNLE9BQU8sR0FBNkIsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUMzRCxJQUNFLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQzFCLGNBQWMsQ0FBb0IsT0FBTyxDQUFDLEVBQzFDLENBQUM7WUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzNFLE9BQU8sUUFBUSxJQUFJLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxDQUNMLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CO1lBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRztZQUM5QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO1FBQ3RDLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoRSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDekMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxXQUFXO1FBQ2IsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUN6QyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDbkMsaUNBQWlDLENBQUMsTUFBTSxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDbkMsaUNBQWlDLENBQUMsTUFBTSxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLENBQ0wsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ3ZDLGlDQUFpQyxDQUFDLFVBQVUsQ0FDN0MsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqRCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQXNCO1FBQ3RDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLElBQTRCO1FBQ25ELE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzNFLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLGlDQUFpQztRQUNqQyxJQUNFLElBQUksQ0FBQyxLQUFLO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN2QixDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQzdDLENBQUM7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksTUFBTSxHQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFFN0QsSUFBSSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUN0RCxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2pELENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQztZQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUN6QyxDQUFDLEVBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsWUFBWSxHQUFHLENBQUMsQ0FDNUMsQ0FBQztZQUNGLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQTRCO1FBQzdDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSyxDQUFDLDZCQUE2QixDQUNqQyxJQUE0QjtRQUU1QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV2QyxNQUFNLGFBQWEsR0FBNkIsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNsRSxJQUFJLFFBQVEsR0FBNkIsRUFBRSxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELE1BQU0sZ0JBQWdCLEdBQTZCLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDckUsSUFDRSxhQUFhLENBQUMsTUFBTSxLQUFLLGdCQUFnQixDQUFDLE1BQU07WUFDaEQsYUFBYSxDQUFDLEtBQUssQ0FDakIsQ0FBQyxTQUFpQyxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQ25ELFNBQVMsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FDeEMsRUFDRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUNuQixJQUE0QjtRQUU1QixNQUFNLFlBQVksR0FDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQztZQUN2RSxFQUFFLENBQUM7UUFDTCxJQUFJLENBQUM7WUFDSCxPQUFPLE1BQU0sY0FBYyxDQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBMkIsWUFBWSxFQUFFO2dCQUNyRCxHQUFHLElBQUksQ0FBQyxXQUFXO2FBQ3BCLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sS0FBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsSUFBNEI7UUFDbkMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsT0FBTyxDQUNMLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxLQUFLO1lBQ1YsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDO1lBQy9CLDBCQUEwQixDQUFDLElBQUksQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1lBQ3JELEVBQUUsQ0FDSCxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ1gsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUE0QjtRQUNsQyxNQUFNLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxJQUFJLFNBQVMsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUE0QjtRQUN6QyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUk7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUM5QixPQUFPLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBWTtRQUNwQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFTyxLQUFLLENBQUMsT0FBTyxDQUNuQixVQUE2RCxFQUM3RCxRQUFtQztRQUVuQyxNQUFNLFlBQVksR0FBNkIsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNqRSxJQUFJLElBQUksR0FBNkIsRUFBRSxDQUFDO1FBRXhDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN2QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7aUJBQU0sSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7Z0JBQ2pDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQWdDLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3ZELElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNoQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsQ0FBQztnQkFFRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRU8sS0FBSyxDQUFDLFVBQVUsQ0FDdEIsS0FBK0IsRUFDL0IsSUFBOEI7UUFFOUIsSUFBSSxTQUFTLEdBQTZCLEVBQUUsQ0FBQztRQUM3QyxJQUFJLFlBQVksR0FBNkIsS0FBSyxDQUFDO1FBQ25ELE1BQU0sV0FBVyxHQUNmLElBQUksQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUM7UUFDekMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM1QixNQUFNLFNBQVMsR0FBdUMsWUFBWSxDQUFDLElBQUksQ0FDckUsQ0FBQyxJQUE0QixFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUM5RCxDQUFDO1lBRUYsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxTQUFTLEdBQUcsQ0FBQyxHQUFHLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFFdEMsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3ZCLFlBQVksR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO2dCQUNwQyxDQUFDO3FCQUFNLElBQUksU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNqQyxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN2RCxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU07WUFDUixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVPLFFBQVEsQ0FDZCxLQUFnQyxFQUNoQyxJQUE2QjtRQUU3QixNQUFNLFdBQVcsR0FDZixJQUFJLENBQUMsV0FBVyxJQUFJLGtCQUFrQixDQUFDO1FBQ3pDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixLQUFLLE1BQU0sS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUMxQixJQUFJLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQ3JDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakIsQ0FBQztnQkFDRCxNQUFNLFNBQVMsR0FBNkIsSUFBSSxDQUFDLFFBQVEsQ0FDdkQsS0FBSyxDQUFDLFFBQVEsRUFDZCxJQUFJLENBQ0wsQ0FBQztnQkFDRixJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDckIsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQVk7UUFDeEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxHQUF5QyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ2hFLE1BQU0sR0FBRyxHQUFRLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFN0MsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxjQUFjLEdBQVcsTUFBTSxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUN0RSxHQUFHLENBQUMsSUFBSSxDQUNULENBQUM7WUFDRixpRUFBaUU7WUFDakUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzVDLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNmLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztzSEF2Y1UsNEJBQTRCOzZEQUE1Qiw0QkFBNEI7Ozs7OztZQUE1Qix1R0FBQSx5QkFBcUIsSUFBTzsyVEFGNUIsQ0FBQyx1QkFBdUIsQ0FBQztZQzVGdEMsb0dBQXVCO1lBMkh2Qiw4RkFBc0I7O1lBM0h0Qiw4Q0F5SEM7WUFFRCxjQUtDO1lBTEQsNkNBS0M7NEJEaERHLFlBQVksd0JBQ1osZUFBZTtZQUNmLGdCQUFnQixpQkFDaEIsYUFBYSxzSUFDYixhQUFhLGNBQ2Isb0JBQW9CLHFCQUNwQiwyQkFBMkI7WUFDM0IsaUNBQWlDO1lBQ2pDLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIscUJBQXFCOztpRkFJWiw0QkFBNEI7Y0FwQnhDLFNBQVM7MkJBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO29CQUNQLFlBQVk7b0JBQ1osZUFBZTtvQkFDZixnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixvQkFBb0I7b0JBQ3BCLDJCQUEyQjtvQkFDM0IsaUNBQWlDO29CQUNqQyxrQkFBa0I7b0JBQ2xCLHNCQUFzQjtvQkFDdEIscUJBQXFCO2lCQUN0QixhQUNVLENBQUMsdUJBQXVCLENBQUM7O2tCQXFCbkMsS0FBSzs7a0JBT0wsS0FBSzs7a0JBT0wsS0FBSzs7a0JBUUwsS0FBSzs7a0JBT0wsS0FBSzs7a0JBT0wsS0FBSzs7a0JBUUwsS0FBSzs7a0JBRUwsTUFBTTs7a0JBRU4sTUFBTTs7a0JBR04sU0FBUzttQkFBQyxpQkFBaUI7O2tCQVUzQixZQUFZO21CQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzs7a0ZBaEZ0Qiw0QkFBNEI7QUEwY3pDLFNBQVMsZUFBZSxDQUFDLEdBQVc7SUFDbEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNSLE1BQU0sSUFBSSxHQUFRLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksR0FBYSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNoRCxNQUFNLFFBQVEsR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYTtRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVELFNBQVMsMEJBQTBCLENBQUMsY0FBc0I7SUFDeEQsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNuQixNQUFNLFNBQVMsR0FDYixjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2RSxPQUFPLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUF5QjtJQUMvQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFDRCxTQUFTLGtCQUFrQixDQUN6QixFQUEwQixFQUMxQixFQUEwQjtJQUUxQixJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ25CLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgSG9zdExpc3RlbmVyLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVHlwZSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNlY3VyaXR5Q29udGV4dCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHJlbW92ZUxlYWRpbmdIYXNoLFxuICBpc0FuY2hvckxpbmssXG4gIFRkTWFya2Rvd25Mb2FkZXJTZXJ2aWNlLFxufSBmcm9tICdAY292YWxlbnQvbWFya2Rvd24nO1xuaW1wb3J0IHtcbiAgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQsXG4gIFRkRmxhdm9yZWRNYXJrZG93bkNvbXBvbmVudCxcbiAgVGRGbGF2b3JlZE1hcmtkb3duTG9hZGVyQ29tcG9uZW50LFxufSBmcm9tICdAY292YWxlbnQvZmxhdm9yZWQtbWFya2Rvd24nO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSwgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBUZE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICdAY292YWxlbnQvY29yZS9tZXNzYWdlJztcbmltcG9ydCB7XG4gIFRkQnJlYWRjcnVtYnNDb21wb25lbnQsXG4gIFRkQnJlYWRjcnVtYkNvbXBvbmVudCxcbn0gZnJvbSAnQGNvdmFsZW50L2NvcmUvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG4gIGh0dHBPcHRpb25zPzogb2JqZWN0O1xuICBtYXJrZG93blN0cmluZz86IHN0cmluZzsgLy8gcmF3IG1hcmtkb3duXG4gIGFuY2hvcj86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW107XG4gIGNoaWxkcmVuVXJsPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZm9vdGVyPzogVHlwZTxhbnk+O1xuICBzdGFydEF0TGluaz86IElNYXJrZG93bk5hdmlnYXRvckl0ZW07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hcmtkb3duTmF2aWdhdG9yTGFiZWxzIHtcbiAgZ29Ib21lPzogc3RyaW5nO1xuICBnb0JhY2s/OiBzdHJpbmc7XG4gIGVtcHR5U3RhdGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIElNYXJrZG93bk5hdmlnYXRvckNvbXBhcmVXaXRoID0gKFxuICBvMTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgbzI6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4pID0+IGJvb2xlYW47XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9MQUJFTFM6IElNYXJrZG93bk5hdmlnYXRvckxhYmVscyA9IHtcbiAgZ29Ib21lOiAnR28gaG9tZScsXG4gIGdvQmFjazogJ0dvIGJhY2snLFxuICBlbXB0eVN0YXRlOiAnTm8gaXRlbShzKSB0byBkaXNwbGF5Jyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLW1hcmtkb3duLW5hdmlnYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi1uYXZpZ2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1uYXZpZ2F0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIFRkRmxhdm9yZWRNYXJrZG93bkNvbXBvbmVudCxcbiAgICBUZEZsYXZvcmVkTWFya2Rvd25Mb2FkZXJDb21wb25lbnQsXG4gICAgVGRNZXNzYWdlQ29tcG9uZW50LFxuICAgIFRkQnJlYWRjcnVtYnNDb21wb25lbnQsXG4gICAgVGRCcmVhZGNydW1iQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtUZE1hcmtkb3duTG9hZGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRkTWFya2Rvd25OYXZpZ2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcml2YXRlIF9tYXJrZG93blVybExvYWRlclNlcnZpY2UgPSBpbmplY3QoVGRNYXJrZG93bkxvYWRlclNlcnZpY2UpO1xuICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgX3Nhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICBwcml2YXRlIF9odHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwcml2YXRlIF9pY29uUmVnaXN0cnkgPSBpbmplY3QoTWF0SWNvblJlZ2lzdHJ5KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9pY29uUmVnaXN0cnkucmVnaXN0ZXJGb250Q2xhc3NBbGlhcyhcbiAgICAgICdjb3ZhbGVudC1pY29ucycsXG4gICAgICAnY292YWxlbnQtaWNvbnMgbWF0LWxpZ2F0dXJlLWZvbnQnLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogaXRlbXM6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXVxuICAgKlxuICAgKiBMaXN0IG9mIElNYXJrZG93bk5hdmlnYXRvckl0ZW1zIHRvIGJlIHJlbmRlcmVkXG4gICAqL1xuICBASW5wdXQoKSBpdGVtcz86IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcblxuICAvKipcbiAgICogbGFiZWxzPzogSU1hcmtkb3duTmF2aWdhdG9yTGFiZWxzXG4gICAqXG4gICAqIFRyYW5zbGF0ZWQgbGFiZWxzXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbHM/OiBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHM7XG5cbiAgLyoqXG4gICAqIHN0YXJ0QXQ/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICAgKlxuICAgKiBJdGVtIG9yIHBhdGggdG8gc3RhcnQgYXRcbiAgICovXG4gIEBJbnB1dCgpIHN0YXJ0QXQ/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuXG4gIC8qKlxuICAgKiBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhblxuICAgKlxuICAgKiBEaXNwbGF5IGNvcHkgYnV0dG9uIG9uIGNvZGUgc25pcHBldHMgdG8gY29weSBjb2RlIHRvIGNsaXBib2FyZC5cbiAgICpcbiAgICovXG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9DbGlwYm9hcmQ/ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwc1xuICAgKlxuICAgKiBUb29sdGlwcyBmb3IgY29weSBidXR0b24gdG8gY29weSBhbmQgdXBvbiBjb3B5aW5nLlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgLyoqXG4gICAqIGZvb3Rlcj86IFR5cGU8YW55PlxuICAgKlxuICAgKiBDb21wb25lbnQgdG8gYmUgZGlzcGxheWVkIGluIGZvb3RlclxuICAgKi9cbiAgQElucHV0KCkgZm9vdGVyPzogYW55O1xuXG4gIC8qKlxuICAgKiBjb21wYXJlV2l0aD86IElNYXJrZG93bk5hdmlnYXRvckNvbXBhcmVXaXRoXG4gICAqXG4gICAqIEZ1bmN0aW9uIHVzZWQgdG8gZmluZCBzdGFydEF0IGl0ZW1cbiAgICogRGVmYXVsdHMgdG8gY29tcGFyaXNvbiBieSBzdHJpY3QgZXF1YWxpdHkgKD09PSlcbiAgICovXG4gIEBJbnB1dCgpIGNvbXBhcmVXaXRoPzogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGg7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZDogRXZlbnRFbWl0dGVyPElNYXJrZG93bk5hdmlnYXRvckl0ZW0+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnbWFya2Rvd25XcmFwcGVyJykgbWFya2Rvd25XcmFwcGVyITogRWxlbWVudFJlZjtcblxuICBoaXN0b3J5U3RhY2s6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSA9IFtdOyAvLyBoaXN0b3J5XG4gIGN1cnJlbnRNYXJrZG93bkl0ZW0/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtOyAvLyBjdXJyZW50bHkgcmVuZGVyZWRcbiAgY3VycmVudE1lbnVJdGVtcz86IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSA9IFtdOyAvLyBjdXJyZW50IG1lbnUgaXRlbXNcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIG1hcmtkb3duTG9hZGVyRXJyb3I/OiBzdHJpbmc7XG4gIGNoaWxkcmVuVXJsRXJyb3I/OiBzdHJpbmc7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBjbGlja0xpc3RlbmVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gPEhUTUxFbGVtZW50PmV2ZW50LnNyY0VsZW1lbnQ7XG4gICAgaWYgKFxuICAgICAgZWxlbWVudC5tYXRjaGVzKCdhW2hyZWZdJykgJiZcbiAgICAgIGlzTWFya2Rvd25IcmVmKDxIVE1MQW5jaG9yRWxlbWVudD5lbGVtZW50KVxuICAgICkge1xuICAgICAgdGhpcy5oYW5kbGVMaW5rQ2xpY2soZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaG93R29CYWNrQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhpc3RvcnlTdGFjay5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHNob3dIZWFkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jdXJyZW50SXRlbVRpdGxlO1xuICB9XG5cbiAgZ2V0IHNob3dNZW51KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNob3dNZW51ID0gdGhpcy5jdXJyZW50TWVudUl0ZW1zICYmIHRoaXMuY3VycmVudE1lbnVJdGVtcy5sZW5ndGggPiAwO1xuICAgIHJldHVybiBzaG93TWVudSA/PyBmYWxzZTtcbiAgfVxuXG4gIGdldCBzaG93VGRNYXJrZG93bkxvYWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gJiZcbiAgICAgICEhdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtLnVybCAmJlxuICAgICAgIXRoaXMuc2hvd1RkTWFya2Rvd25cbiAgICApO1xuICB9XG5cbiAgZ2V0IHNob3dUZE1hcmtkb3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMuY3VycmVudE1hcmtkb3duSXRlbSAmJiAhIXRoaXMuY3VycmVudE1hcmtkb3duSXRlbS5tYXJrZG93blN0cmluZ1xuICAgICk7XG4gIH1cblxuICBnZXQgdXJsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1hcmtkb3duSXRlbS51cmw7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgZm9vdGVyQ29tcG9uZW50KCk6IGFueSB7XG4gICAgaWYgKHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSAmJiB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0uZm9vdGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtLmZvb3RlcjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZm9vdGVyO1xuICB9XG4gIGdldCBodHRwT3B0aW9ucygpOiBvYmplY3QgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0uaHR0cE9wdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgZ2V0IG1hcmtkb3duU3RyaW5nKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1hcmtkb3duSXRlbS5tYXJrZG93blN0cmluZztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBhbmNob3IoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50TWFya2Rvd25JdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtLmFuY2hvcjtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBzaG93RW1wdHlTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXRlbXMgfHwgdGhpcy5pdGVtcy5sZW5ndGggPCAxO1xuICB9XG5cbiAgZ2V0IGdvSG9tZUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5nb0hvbWUpIHx8XG4gICAgICBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9MQUJFTFMuZ29Ib21lXG4gICAgKTtcbiAgfVxuXG4gIGdldCBnb0JhY2tMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMuZ29CYWNrKSB8fFxuICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfTEFCRUxTLmdvQmFja1xuICAgICk7XG4gIH1cblxuICBnZXQgZW1wdHlTdGF0ZUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5lbXB0eVN0YXRlKSB8fFxuICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfTEFCRUxTLmVtcHR5U3RhdGVcbiAgICApO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRJdGVtVGl0bGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jdXJyZW50TWFya2Rvd25JdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUaXRsZSh0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oaXN0b3J5U3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VGl0bGUodGhpcy5oaXN0b3J5U3RhY2tbdGhpcy5oaXN0b3J5U3RhY2subGVuZ3RoIC0gMV0pO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXQgbmF2aWdhdGlvbkJyZWFkY3J1bWJzKCk6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMuaGlzdG9yeVN0YWNrLnNsaWNlKDAsIC0xKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSkge1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc3RhcnRBdCddICYmIHRoaXMuaXRlbXMgJiYgdGhpcy5zdGFydEF0KSB7XG4gICAgICB0aGlzLl9qdW1wVG8odGhpcy5zdGFydEF0LCB1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIGhhc0NoaWxkcmVuT3JDaGlsZHJlblVybChpdGVtOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCkgfHwgISFpdGVtLmNoaWxkcmVuVXJsO1xuICB9XG4gIGNsZWFyRXJyb3JzKCk6IHZvaWQge1xuICAgIHRoaXMubWFya2Rvd25Mb2FkZXJFcnJvciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNoaWxkcmVuVXJsRXJyb3IgPSB1bmRlZmluZWQ7XG4gIH1cblxuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgLy8gaWYgc2luZ2xlIGl0ZW0gYW5kIG5vIGNoaWxkcmVuXG4gICAgaWYgKFxuICAgICAgdGhpcy5pdGVtcyAmJlxuICAgICAgdGhpcy5pdGVtcy5sZW5ndGggPT09IDEgJiZcbiAgICAgICF0aGlzLmhhc0NoaWxkcmVuT3JDaGlsZHJlblVybCh0aGlzLml0ZW1zWzBdKVxuICAgICkge1xuICAgICAgdGhpcy5jdXJyZW50TWVudUl0ZW1zID0gW107XG4gICAgICB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gPSB0aGlzLml0ZW1zWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRNZW51SXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLmhpc3RvcnlTdGFjayA9IFtdO1xuICAgIHRoaXMuaXRlbVNlbGVjdGVkLmVtaXQodW5kZWZpbmVkKTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdvQmFjayhnb0JhY2tMZW5ndGggPSAyKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jbGVhckVycm9ycygpO1xuICAgIGxldCBwYXJlbnQ6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0gfCB1bmRlZmluZWQgPVxuICAgICAgdGhpcy5oaXN0b3J5U3RhY2tbdGhpcy5oaXN0b3J5U3RhY2subGVuZ3RoIC0gZ29CYWNrTGVuZ3RoXTtcblxuICAgIGlmIChwYXJlbnQ/LnN0YXJ0QXRMaW5rKSB7XG4gICAgICBwYXJlbnQgPSB0aGlzLmhpc3RvcnlTdGFja1t0aGlzLmhpc3RvcnlTdGFjay5sZW5ndGggLSAzXVxuICAgICAgICA/IHRoaXMuaGlzdG9yeVN0YWNrW3RoaXMuaGlzdG9yeVN0YWNrLmxlbmd0aCAtIDNdXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5oaXN0b3J5U3RhY2sgPSB0aGlzLmhpc3RvcnlTdGFjay5zbGljZSgwLCAtZ29CYWNrTGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAocGFyZW50KSB7XG4gICAgICB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gPSBwYXJlbnQ7XG4gICAgICB0aGlzLmhpc3RvcnlTdGFjayA9IHRoaXMuaGlzdG9yeVN0YWNrLnNsaWNlKFxuICAgICAgICAwLFxuICAgICAgICB0aGlzLmhpc3RvcnlTdGFjay5sZW5ndGggLSBnb0JhY2tMZW5ndGggKyAxLFxuICAgICAgKTtcbiAgICAgIHRoaXMuc2V0Q2hpbGRyZW5Bc0N1cnJlbnRNZW51SXRlbXMocGFyZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KHBhcmVudCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBoYW5kbGVJdGVtU2VsZWN0ZWQoaXRlbTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJFcnJvcnMoKTtcbiAgICB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gPSBpdGVtO1xuICAgIHRoaXMuaGlzdG9yeVN0YWNrID0gWy4uLnRoaXMuaGlzdG9yeVN0YWNrLCBpdGVtXTtcbiAgICB0aGlzLnNldENoaWxkcmVuQXNDdXJyZW50TWVudUl0ZW1zKGl0ZW0pO1xuICAgIHRoaXMuaXRlbVNlbGVjdGVkLmVtaXQoaXRlbSk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBhc3luYyBzZXRDaGlsZHJlbkFzQ3VycmVudE1lbnVJdGVtcyhcbiAgICBpdGVtOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmN1cnJlbnRNZW51SXRlbXMgPSBbXTtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgY29uc3Qgc3RhY2tTbmFwc2hvdDogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gdGhpcy5oaXN0b3J5U3RhY2s7XG4gICAgbGV0IGNoaWxkcmVuOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSBbXTtcbiAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jaGlsZHJlblVybCkge1xuICAgICAgY2hpbGRyZW4gPSBhd2FpdCB0aGlzLmxvYWRDaGlsZHJlblVybChpdGVtKTtcbiAgICB9XG4gICAgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCAmJiBpdGVtLnN0YXJ0QXRMaW5rKSB7XG4gICAgICB0aGlzLl9qdW1wVG8oaXRlbS5zdGFydEF0TGluaywgY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBuZXdTdGFja1NuYXBzaG90OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSB0aGlzLmhpc3RvcnlTdGFjaztcbiAgICBpZiAoXG4gICAgICBzdGFja1NuYXBzaG90Lmxlbmd0aCA9PT0gbmV3U3RhY2tTbmFwc2hvdC5sZW5ndGggJiZcbiAgICAgIHN0YWNrU25hcHNob3QuZXZlcnkoXG4gICAgICAgIChzdGFja0l0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgICAgc3RhY2tJdGVtID09PSBuZXdTdGFja1NuYXBzaG90W2luZGV4XSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuY3VycmVudE1lbnVJdGVtcyA9IGNoaWxkcmVuO1xuICAgIH1cblxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXN5bmMgbG9hZENoaWxkcmVuVXJsKFxuICAgIGl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4gICk6IFByb21pc2U8SU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdPiB7XG4gICAgY29uc3Qgc2FuaXRpemVkVXJsID1cbiAgICAgIHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuVVJMLCBpdGVtLmNoaWxkcmVuVXJsID8/IG51bGwpID8/XG4gICAgICAnJztcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGZpcnN0VmFsdWVGcm9tPElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXT4oXG4gICAgICAgIHRoaXMuX2h0dHAuZ2V0PElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXT4oc2FuaXRpemVkVXJsLCB7XG4gICAgICAgICAgLi4uaXRlbS5odHRwT3B0aW9ucyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2hpbGRyZW5VcmxFcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0VGl0bGUoaXRlbTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSk6IHN0cmluZyB7XG4gICAgaWYgKCFpdGVtKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICByZW1vdmVMZWFkaW5nSGFzaChpdGVtLmFuY2hvciA/PyAnJykgfHxcbiAgICAgIGl0ZW0udGl0bGUgfHxcbiAgICAgIGdldFRpdGxlRnJvbVVybChpdGVtLnVybCA/PyAnJykgfHxcbiAgICAgIGdldFRpdGxlRnJvbU1hcmtkb3duU3RyaW5nKGl0ZW0ubWFya2Rvd25TdHJpbmcgPz8gJycpIHx8XG4gICAgICAnJ1xuICAgICkudHJpbSgpO1xuICB9XG5cbiAgZ2V0SWNvbihpdGVtOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBpY29uID0gaXRlbT8uaWNvbiB8fCAnc3ViamVjdCc7XG4gICAgcmV0dXJuIGljb24uc3BsaXQoJzsnKVswXTtcbiAgfVxuXG4gIGlzQ292YWxlbnRJY29uKGl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0pOiBib29sZWFuIHtcbiAgICBpZiAoIWl0ZW0/Lmljb24pIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gaXRlbT8uaWNvbi5pbmNsdWRlcygnO2NvdmFsZW50Jyk7XG4gIH1cblxuICBoYW5kbGVDaGlsZHJlblVybEVycm9yKGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRyZW5VcmxFcnJvciA9IGVycm9yLm1lc3NhZ2U7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBoYW5kbGVNYXJrZG93bkxvYWRlckVycm9yKGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMubWFya2Rvd25Mb2FkZXJFcnJvciA9IGVycm9yID8gZXJyb3IubWVzc2FnZSA6ICcnO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfanVtcFRvKFxuICAgIGl0ZW1PclBhdGg6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0gfCBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10sXG4gICAgY2hpbGRyZW4/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGhpc3RvcnlTdGFjazogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gdGhpcy5oaXN0b3J5U3RhY2s7XG4gICAgbGV0IHBhdGg6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSA9IFtdO1xuXG4gICAgaWYgKHRoaXMuaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbU9yUGF0aCkpIHtcbiAgICAgICAgcGF0aCA9IGF3YWl0IHRoaXMuZm9sbG93UGF0aCh0aGlzLml0ZW1zLCBpdGVtT3JQYXRoKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmhpc3RvcnlTdGFjayA9IGhpc3RvcnlTdGFjaztcbiAgICAgICAgcGF0aCA9IHRoaXMuZmluZFBhdGgoY2hpbGRyZW4sIGl0ZW1PclBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF0aCA9IHRoaXMuZmluZFBhdGgodGhpcy5pdGVtcywgaXRlbU9yUGF0aCk7XG4gICAgICB9XG4gICAgICBwYXRoLmZvckVhY2goKHBhdGhJdGVtOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhbmRsZUl0ZW1TZWxlY3RlZChwYXRoSXRlbSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gISFwYXRoLmxlbmd0aDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZm9sbG93UGF0aChcbiAgICBpdGVtczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdLFxuICAgIHBhdGg6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSxcbiAgKTogUHJvbWlzZTxJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10+IHtcbiAgICBsZXQgcGF0aEl0ZW1zOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSBbXTtcbiAgICBsZXQgY3VycmVudExldmVsOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSBpdGVtcztcbiAgICBjb25zdCBjb21wYXJlV2l0aDogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGggPVxuICAgICAgdGhpcy5jb21wYXJlV2l0aCB8fCBkZWZhdWx0Q29tcGFyZVdpdGg7XG4gICAgZm9yIChjb25zdCBwYXRoSXRlbSBvZiBwYXRoKSB7XG4gICAgICBjb25zdCBmb3VuZEl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0gfCB1bmRlZmluZWQgPSBjdXJyZW50TGV2ZWwuZmluZChcbiAgICAgICAgKGl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0pID0+IGNvbXBhcmVXaXRoKHBhdGhJdGVtLCBpdGVtKSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChmb3VuZEl0ZW0pIHtcbiAgICAgICAgcGF0aEl0ZW1zID0gWy4uLnBhdGhJdGVtcywgZm91bmRJdGVtXTtcblxuICAgICAgICBpZiAoZm91bmRJdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgY3VycmVudExldmVsID0gZm91bmRJdGVtLmNoaWxkcmVuO1xuICAgICAgICB9IGVsc2UgaWYgKGZvdW5kSXRlbS5jaGlsZHJlblVybCkge1xuICAgICAgICAgIGN1cnJlbnRMZXZlbCA9IGF3YWl0IHRoaXMubG9hZENoaWxkcmVuVXJsKGZvdW5kSXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocGF0aEl0ZW1zLmxlbmd0aCAhPT0gcGF0aC5sZW5ndGgpIHtcbiAgICAgIHBhdGhJdGVtcyA9IFtdO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aEl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUGF0aChcbiAgICBpdGVtcz86IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSxcbiAgICBpdGVtPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgKTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdIHtcbiAgICBjb25zdCBjb21wYXJlV2l0aDogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGggPVxuICAgICAgdGhpcy5jb21wYXJlV2l0aCB8fCBkZWZhdWx0Q29tcGFyZVdpdGg7XG4gICAgaWYgKGl0ZW1zKSB7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGl0ZW1zKSB7XG4gICAgICAgIGlmIChpdGVtICYmIGNvbXBhcmVXaXRoKGNoaWxkLCBpdGVtKSkge1xuICAgICAgICAgIHJldHVybiBbY2hpbGRdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFuY2VzdG9yczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gdGhpcy5maW5kUGF0aChcbiAgICAgICAgICBjaGlsZC5jaGlsZHJlbixcbiAgICAgICAgICBpdGVtLFxuICAgICAgICApO1xuICAgICAgICBpZiAoYW5jZXN0b3JzLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiBbY2hpbGQsIC4uLmFuY2VzdG9yc107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVMaW5rQ2xpY2soZXZlbnQ6IEV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBjb25zdCBsaW5rOiBIVE1MQW5jaG9yRWxlbWVudCA9IDxIVE1MQW5jaG9yRWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgY29uc3QgdXJsOiBVUkwgPSBuZXcgVVJMKGxpbmsuaHJlZik7XG4gICAgY29uc3QgdXJsUGFydHMgPSB1cmwuaHJlZi5zcGxpdCgnLycpO1xuICAgIGNvbnN0IGlkID0gdXJsUGFydHNbdXJsUGFydHMubGVuZ3RoIC0gMV0uc3BsaXQoJy5tZCcpWzBdO1xuICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgY29uc3QgcGF0aEZvdW5kID0gYXdhaXQgdGhpcy5fanVtcFRvKHsgaWQgfSk7XG5cbiAgICBpZiAocGF0aEZvdW5kKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1hcmtkb3duU3RyaW5nOiBzdHJpbmcgPSBhd2FpdCB0aGlzLl9tYXJrZG93blVybExvYWRlclNlcnZpY2UubG9hZChcbiAgICAgICAgdXJsLmhyZWYsXG4gICAgICApO1xuICAgICAgLy8gcGFzcyBpbiB1cmwgdG8gYmUgYWJsZSB0byB1c2UgY3VycmVudE1hcmtkb3duSXRlbS51cmwgbGF0ZXIgb25cbiAgICAgIHRoaXMuaGFuZGxlSXRlbVNlbGVjdGVkKHsgbWFya2Rvd25TdHJpbmcsIHVybDogdXJsLmhyZWYgfSk7XG4gICAgICB0aGlzLm1hcmtkb3duV3JhcHBlci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IDA7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IHdpbiA9IHdpbmRvdy5vcGVuKHVybC5ocmVmLCAnX2JsYW5rJyk7XG4gICAgICB3aW4/LmZvY3VzKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRUaXRsZUZyb21VcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAodXJsKSB7XG4gICAgY29uc3QgdGVtcDogVVJMID0gbmV3IFVSTCh1cmwpO1xuICAgIGlmICh0ZW1wLmhhc2gpIHtcbiAgICAgIHJldHVybiByZW1vdmVMZWFkaW5nSGFzaCh0ZW1wLmhhc2gpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwYXRoOiBzdHJpbmdbXSA9IHRlbXAucGF0aG5hbWUuc3BsaXQoJy8nKTtcbiAgICAgIGNvbnN0IGZpbGVOYW1lOiBzdHJpbmcgPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV07XG4gICAgICByZXR1cm4gZmlsZU5hbWUucmVwbGFjZSgvXFwuW14vLl0rJC8sICcnKTsgLy8gcmVtb3ZlIC5tZFxuICAgIH1cbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGdldFRpdGxlRnJvbU1hcmtkb3duU3RyaW5nKG1hcmtkb3duU3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAobWFya2Rvd25TdHJpbmcpIHtcbiAgICBjb25zdCBmaXJzdExpbmU6IHN0cmluZyA9XG4gICAgICBtYXJrZG93blN0cmluZy5zcGxpdCgvW1xcclxcbl0rLykuZmluZCgobGluZTogc3RyaW5nKSA9PiAhIWxpbmUpID8/ICcnO1xuICAgIHJldHVybiByZW1vdmVMZWFkaW5nSGFzaChmaXJzdExpbmUpLnRyaW0oKTtcbiAgfVxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGlzTWFya2Rvd25IcmVmKGFuY2hvcjogSFRNTEFuY2hvckVsZW1lbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuICFpc0FuY2hvckxpbmsoYW5jaG9yKSAmJiBhbmNob3IucGF0aG5hbWUuZW5kc1dpdGgoJy5tZCcpO1xufVxuZnVuY3Rpb24gZGVmYXVsdENvbXBhcmVXaXRoKFxuICBvMTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgbzI6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4pOiBib29sZWFuIHtcbiAgaWYgKG8xLmlkICYmIG8yLmlkKSB7XG4gICAgcmV0dXJuIG8xLmlkID09PSBvMi5pZDtcbiAgfVxuICByZXR1cm4gbzEgPT09IG8yO1xufVxuIiwiQGlmICghc2hvd0VtcHR5U3RhdGUpIHtcbiAgPG5nLWNvbnRhaW5lcj5cbiAgICBAaWYgKGxvYWRpbmcpIHtcbiAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgY29sb3I9XCJhY2NlbnRcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgfVxuXG4gICAgQGlmIChzaG93SGVhZGVyKSB7XG4gICAgICA8dGQtYnJlYWRjcnVtYnMgc2l6ZT1cImNhcHRpb25cIj5cbiAgICAgICAgPGFcbiAgICAgICAgICB0ZC1icmVhZGNydW1iXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ29Ib21lTGFiZWwgPz8gJydcIlxuICAgICAgICAgIChjbGljayk9XCJyZXNldCgpXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiJ2hvbWUtYnV0dG9uJ1wiXG4gICAgICAgICAgPkhvbWU8L2FcbiAgICAgICAgPlxuXG4gICAgICAgIEBmb3IgKFxuICAgICAgICAgIGl0ZW0gb2YgbmF2aWdhdGlvbkJyZWFkY3J1bWJzO1xuICAgICAgICAgIGxldCBpbmRleCA9ICRpbmRleDtcbiAgICAgICAgICB0cmFjayBpdGVtLmlkID8/IGluZGV4XG4gICAgICAgICkge1xuICAgICAgICAgIDxhXG4gICAgICAgICAgICB0ZC1icmVhZGNydW1iXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29CYWNrKGhpc3RvcnlTdGFjay5sZW5ndGggLSBpbmRleClcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIidiYWNrLWJ1dHRvbi0nICsgaW5kZXhcIlxuICAgICAgICAgICAgPnt7IGdldFRpdGxlKGl0ZW0pIH19PC9hXG4gICAgICAgICAgPlxuICAgICAgICB9XG4gICAgICA8L3RkLWJyZWFkY3J1bWJzPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiYnJlYWRjcnVtYi1jdXJyZW50LXRpdGxlXCIgW2F0dHIuZGF0YS10ZXN0XT1cIid0aXRsZSdcIj5cbiAgICAgICAge3sgY3VycmVudEl0ZW1UaXRsZSB9fVxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGRpdiBjbGFzcz1cInNjcm9sbC1hcmVhXCIgaWQ9XCJ0ZC1tYXJrZG93bi1uYXZpZ2F0b3ItY29udGVudFwiPlxuICAgICAgQGlmIChzaG93VGRNYXJrZG93bkxvYWRlciB8fCBzaG93VGRNYXJrZG93bikge1xuICAgICAgICA8ZGl2IGNsYXNzPVwibWFya2Rvd24td3JhcHBlclwiICNtYXJrZG93bldyYXBwZXI+XG4gICAgICAgICAgQGlmIChtYXJrZG93bkxvYWRlckVycm9yKSB7XG4gICAgICAgICAgICA8dGQtbWVzc2FnZVxuICAgICAgICAgICAgICBbc3VibGFiZWxdPVwibWFya2Rvd25Mb2FkZXJFcnJvclwiXG4gICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgIGljb249XCJlcnJvclwiXG4gICAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdF09XCInbWFya2Rvd24tbG9hZGVyLWVycm9yJ1wiXG4gICAgICAgICAgICA+PC90ZC1tZXNzYWdlPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAoc2hvd1RkTWFya2Rvd25Mb2FkZXIpIHtcbiAgICAgICAgICAgIDx0ZC1mbGF2b3JlZC1tYXJrZG93bi1sb2FkZXJcbiAgICAgICAgICAgICAgW3VybF09XCJ1cmwgPz8gJydcIlxuICAgICAgICAgICAgICBbaHR0cE9wdGlvbnNdPVwiaHR0cE9wdGlvbnMgPz8ge31cIlxuICAgICAgICAgICAgICBbYW5jaG9yXT1cImFuY2hvciA/PyAnJ1wiXG4gICAgICAgICAgICAgIFtjb3B5Q29kZVRvQ2xpcGJvYXJkXT1cImNvcHlDb2RlVG9DbGlwYm9hcmRcIlxuICAgICAgICAgICAgICBbY29weUNvZGVUb29sdGlwc109XCJjb3B5Q29kZVRvb2x0aXBzXCJcbiAgICAgICAgICAgICAgKGxvYWRGYWlsZWQpPVwiaGFuZGxlTWFya2Rvd25Mb2FkZXJFcnJvcigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgKGJ1dHRvbkNsaWNrZWQpPVwiYnV0dG9uQ2xpY2tlZC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgPjwvdGQtZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAoc2hvd1RkTWFya2Rvd24pIHtcbiAgICAgICAgICAgIDx0ZC1mbGF2b3JlZC1tYXJrZG93blxuICAgICAgICAgICAgICBbY29udGVudF09XCJtYXJrZG93blN0cmluZyA/PyAnJ1wiXG4gICAgICAgICAgICAgIFtob3N0ZWRVcmxdPVwidXJsID8/ICcnXCJcbiAgICAgICAgICAgICAgW2FuY2hvcl09XCJhbmNob3IgPz8gJydcIlxuICAgICAgICAgICAgICBbY29weUNvZGVUb0NsaXBib2FyZF09XCJjb3B5Q29kZVRvQ2xpcGJvYXJkXCJcbiAgICAgICAgICAgICAgW2NvcHlDb2RlVG9vbHRpcHNdPVwiY29weUNvZGVUb29sdGlwc1wiXG4gICAgICAgICAgICAgIChidXR0b25DbGlja2VkKT1cImJ1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3RkLWZsYXZvcmVkLW1hcmtkb3duPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoY2hpbGRyZW5VcmxFcnJvcikge1xuICAgICAgICA8dGQtbWVzc2FnZVxuICAgICAgICAgIFtzdWJsYWJlbF09XCJjaGlsZHJlblVybEVycm9yXCJcbiAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgIGljb249XCJlcnJvclwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIidjaGlsZHJlbi11cmwtZXJyb3InXCJcbiAgICAgICAgPjwvdGQtbWVzc2FnZT5cbiAgICAgIH1cblxuICAgICAgQGlmIChzaG93TWVudSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwidGQtbWFya2Rvd24tbGlzdFwiPlxuICAgICAgICAgIDxtYXQtYWN0aW9uLWxpc3Q+XG4gICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgaXRlbSBvZiBjdXJyZW50TWVudUl0ZW1zO1xuICAgICAgICAgICAgICBsZXQgaW5kZXggPSAkaW5kZXg7XG4gICAgICAgICAgICAgIHRyYWNrIGl0ZW0uaWQgPz8gaW5kZXhcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgW2lkXT1cIlxuICAgICAgICAgICAgICAgICAgJ3RkLW1hcmtkb3duLW5hdmlnYXRvci1saXN0LWl0ZW0tJyArXG4gICAgICAgICAgICAgICAgICAoaXRlbS5pZCA/IGl0ZW0uaWQgOiBpbmRleClcbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVJdGVtU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgICAgICAgICAgIG1hdC1saXN0LWl0ZW1cbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJnZXRUaXRsZShpdGVtKVwiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYmVmb3JlXCJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgbWF0TGlzdEl0ZW1JY29uXG4gICAgICAgICAgICAgICAgICBbZm9udFNldF09XCJpc0NvdmFsZW50SWNvbihpdGVtKSA/ICdjb3ZhbGVudC1pY29ucycgOiAnJ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3sgZ2V0SWNvbihpdGVtKSB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gbWF0TGlzdEl0ZW1UaXRsZSBjbGFzcz1cInRydW5jYXRlXCI+XG4gICAgICAgICAgICAgICAgICB7eyBnZXRUaXRsZShpdGVtKSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBtYXRMaXN0SXRlbUxpbmUgY2xhc3M9XCJ0cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAge3sgaXRlbS5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtYWN0aW9uLWxpc3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJmb290ZXJDb21wb25lbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG59XG5cbkBpZiAoc2hvd0VtcHR5U3RhdGUpIHtcbiAgPGRpdiBsYXlvdXQ9XCJjb2x1bW5cIiBsYXlvdXQtYWxpZ249XCJjZW50ZXIgY2VudGVyXCIgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiPlxuICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUF2YXRhcj5zdWJqZWN0PC9tYXQtaWNvbj5cbiAgICA8aDI+e3sgZW1wdHlTdGF0ZUxhYmVsIH19PC9oMj5cbiAgPC9kaXY+XG59XG4iXX0=","import { Component, Output, EventEmitter, Input, ChangeDetectionStrategy, Type, } from '@angular/core';\nimport { TdMarkdownNavigatorComponent, } from '../markdown-navigator.component';\nimport { TdWindowDialogComponent } from '@covalent/core/dialogs';\nimport * as i0 from \"@angular/core\";\nexport const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS = {\n title: 'Help',\n close: 'Close',\n dock: 'Dock',\n unDock: 'Undock',\n};\nexport class TdMarkdownNavigatorWindowComponent {\n items;\n labels;\n toolbarColor = 'primary';\n startAt;\n compareWith;\n docked = false;\n copyCodeToClipboard = false;\n copyCodeTooltips = {};\n footer;\n closed = new EventEmitter();\n dockToggled = new EventEmitter();\n buttonClicked = new EventEmitter();\n itemSelected = new EventEmitter();\n get markdownNavigatorLabels() {\n if (!this.labels) {\n return undefined;\n }\n const { goHome, goBack, emptyState } = this.labels;\n return {\n goHome,\n goBack,\n emptyState,\n };\n }\n get titleLabel() {\n return ((this.labels && this.labels.title) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title);\n }\n get closeLabel() {\n return ((this.labels && this.labels.close) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close);\n }\n get toggleDockedStateLabel() {\n if (this.docked) {\n return ((this.labels && this.labels.unDock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock);\n }\n else {\n return ((this.labels && this.labels.dock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock);\n }\n }\n toggleDockedState() {\n this.dockToggled.emit(this.docked);\n }\n static ɵfac = function TdMarkdownNavigatorWindowComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorWindowComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdMarkdownNavigatorWindowComponent, selectors: [[\"td-markdown-navigator-window\"]], inputs: { items: \"items\", labels: \"labels\", toolbarColor: \"toolbarColor\", startAt: \"startAt\", compareWith: \"compareWith\", docked: \"docked\", copyCodeToClipboard: \"copyCodeToClipboard\", copyCodeTooltips: \"copyCodeTooltips\", footer: \"footer\" }, outputs: { closed: \"closed\", dockToggled: \"dockToggled\", buttonClicked: \"buttonClicked\", itemSelected: \"itemSelected\" }, decls: 2, vars: 14, consts: [[3, \"dockToggled\", \"closed\", \"toolbarColor\", \"docked\", \"title\", \"toggleDockedStateLabel\", \"closeLabel\"], [3, \"buttonClicked\", \"itemSelected\", \"items\", \"labels\", \"startAt\", \"compareWith\", \"footer\", \"copyCodeToClipboard\", \"copyCodeTooltips\"]], template: function TdMarkdownNavigatorWindowComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"td-window-dialog\", 0);\n i0.ɵɵlistener(\"dockToggled\", function TdMarkdownNavigatorWindowComponent_Template_td_window_dialog_dockToggled_0_listener() { return ctx.toggleDockedState(); })(\"closed\", function TdMarkdownNavigatorWindowComponent_Template_td_window_dialog_closed_0_listener() { return ctx.closed.emit(); });\n i0.ɵɵelementStart(1, \"td-markdown-navigator\", 1);\n i0.ɵɵlistener(\"buttonClicked\", function TdMarkdownNavigatorWindowComponent_Template_td_markdown_navigator_buttonClicked_1_listener($event) { return ctx.buttonClicked.emit($event); })(\"itemSelected\", function TdMarkdownNavigatorWindowComponent_Template_td_markdown_navigator_itemSelected_1_listener($event) { return ctx.itemSelected.emit($event); });\n i0.ɵɵelementEnd()();\n } if (rf & 2) {\n i0.ɵɵproperty(\"toolbarColor\", ctx.toolbarColor)(\"docked\", ctx.docked)(\"title\", ctx.titleLabel)(\"toggleDockedStateLabel\", ctx.toggleDockedStateLabel)(\"closeLabel\", ctx.closeLabel);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"display\", ctx.docked ? \"none\" : \"inherit\");\n i0.ɵɵproperty(\"items\", ctx.items)(\"labels\", ctx.markdownNavigatorLabels)(\"startAt\", ctx.startAt)(\"compareWith\", ctx.compareWith)(\"footer\", ctx.footer)(\"copyCodeToClipboard\", ctx.copyCodeToClipboard)(\"copyCodeTooltips\", ctx.copyCodeTooltips);\n } }, dependencies: [TdWindowDialogComponent, TdMarkdownNavigatorComponent], styles: [\"[_nghost-%COMP%]{height:100%;display:flex;flex-direction:column}td-markdown-navigator[_ngcontent-%COMP%]{height:calc(100% - 56px)}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorWindowComponent, [{\n type: Component,\n args: [{ selector: 'td-markdown-navigator-window', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TdWindowDialogComponent, TdMarkdownNavigatorComponent], template: \"<td-window-dialog\\n [toolbarColor]=\\\"toolbarColor\\\"\\n [docked]=\\\"docked\\\"\\n [title]=\\\"titleLabel\\\"\\n [toggleDockedStateLabel]=\\\"toggleDockedStateLabel\\\"\\n [closeLabel]=\\\"closeLabel\\\"\\n (dockToggled)=\\\"toggleDockedState()\\\"\\n (closed)=\\\"closed.emit()\\\"\\n>\\n <td-markdown-navigator\\n [items]=\\\"items\\\"\\n [labels]=\\\"markdownNavigatorLabels\\\"\\n [style.display]=\\\"docked ? 'none' : 'inherit'\\\"\\n [startAt]=\\\"startAt\\\"\\n [compareWith]=\\\"compareWith\\\"\\n [footer]=\\\"footer\\\"\\n [copyCodeToClipboard]=\\\"copyCodeToClipboard\\\"\\n [copyCodeTooltips]=\\\"copyCodeTooltips\\\"\\n (buttonClicked)=\\\"buttonClicked.emit($event)\\\"\\n (itemSelected)=\\\"itemSelected.emit($event)\\\"\\n ></td-markdown-navigator>\\n</td-window-dialog>\\n\", styles: [\":host{height:100%;display:flex;flex-direction:column}td-markdown-navigator{height:calc(100% - 56px)}\\n\"] }]\n }], null, { items: [{\n type: Input\n }], labels: [{\n type: Input\n }], toolbarColor: [{\n type: Input\n }], startAt: [{\n type: Input\n }], compareWith: [{\n type: Input\n }], docked: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], footer: [{\n type: Input\n }], closed: [{\n type: Output\n }], dockToggled: [{\n type: Output\n }], buttonClicked: [{\n type: Output\n }], itemSelected: [{\n type: Output\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorWindowComponent, { className: \"TdMarkdownNavigatorWindowComponent\", filePath: \"markdown-navigator-window/markdown-navigator-window.component.ts\", lineNumber: 42 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLW5hdmlnYXRvci9zcmMvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93L21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFJTCw0QkFBNEIsR0FDN0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUd6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFTakUsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQ25EO0lBQ0UsS0FBSyxFQUFFLE1BQU07SUFDYixLQUFLLEVBQUUsT0FBTztJQUNkLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7Q0FDakIsQ0FBQztBQVNKLE1BQU0sT0FBTyxrQ0FBa0M7SUFDcEMsS0FBSyxDQUE0QjtJQUNqQyxNQUFNLENBQWtDO0lBQ3hDLFlBQVksR0FBaUIsU0FBUyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBcUQ7SUFDNUQsV0FBVyxDQUFpQztJQUM1QyxNQUFNLEdBQUksS0FBSyxDQUFDO0lBQ2hCLG1CQUFtQixHQUFJLEtBQUssQ0FBQztJQUM3QixnQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO0lBQzFDLE1BQU0sQ0FBYTtJQUVsQixNQUFNLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDaEQsV0FBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3hELGFBQWEsR0FDckIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNYLFlBQVksR0FDcEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVyQixJQUFJLHVCQUF1QjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNkLE9BQU87WUFDTCxNQUFNO1lBQ04sTUFBTTtZQUNOLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDbEMsd0NBQXdDLENBQUMsS0FBSyxDQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDbEMsd0NBQXdDLENBQUMsS0FBSyxDQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ25DLHdDQUF3QyxDQUFDLE1BQU0sQ0FDaEQsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDakMsd0NBQXdDLENBQUMsSUFBSSxDQUM5QyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQzs0SEE3RFUsa0NBQWtDOzZEQUFsQyxrQ0FBa0M7WUN6Qy9DLDJDQVFDO1lBREMsQUFEQSxxSUFBZSx1QkFBbUIsSUFBQyw4R0FDekIsaUJBQWEsSUFBQztZQUV4QixnREFXQztZQURDLEFBREEsb0pBQWlCLDhCQUEwQixJQUFDLHFJQUM1Qiw2QkFBeUIsSUFBQztZQUU5QyxBQURHLGlCQUF3QixFQUNSOztZQWhCakIsQUFEQSxBQURBLEFBREEsQUFEQSwrQ0FBNkIsc0JBQ1oseUJBQ0csc0RBQzZCLDhCQUN4QjtZQU92QixjQUE2QztZQUE3QywwREFBNkM7WUFLN0MsQUFEQSxBQURBLEFBREEsQUFEQSxBQUZBLEFBREEsaUNBQWUsdUNBQ21CLHdCQUVmLGdDQUNRLHNCQUNWLGdEQUMwQiwwQ0FDTjs0QkRzQjdCLHVCQUF1QixFQUFFLDRCQUE0Qjs7aUZBRXBELGtDQUFrQztjQVA5QyxTQUFTOzJCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLHVCQUF1QixFQUFFLDRCQUE0QixDQUFDOztrQkFHL0QsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBRUwsTUFBTTs7a0JBQ04sTUFBTTs7a0JBQ04sTUFBTTs7a0JBRU4sTUFBTTs7a0ZBZkksa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtcbiAgSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgSU1hcmtkb3duTmF2aWdhdG9yTGFiZWxzLFxuICBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCxcbiAgVGRNYXJrZG93bk5hdmlnYXRvckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudCB9IGZyb20gJ0Bjb3ZhbGVudC9mbGF2b3JlZC1tYXJrZG93bic7XG5pbXBvcnQgeyBJQ29weUNvZGVUb29sdGlwcyB9IGZyb20gJ0Bjb3ZhbGVudC9oaWdobGlnaHQnO1xuaW1wb3J0IHsgVGRXaW5kb3dEaWFsb2dDb21wb25lbnQgfSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHNcbiAgZXh0ZW5kcyBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICB0aXRsZT86IHN0cmluZztcbiAgY2xvc2U/OiBzdHJpbmc7XG4gIGRvY2s/OiBzdHJpbmc7XG4gIHVuRG9jaz86IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPVxuICB7XG4gICAgdGl0bGU6ICdIZWxwJyxcbiAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICBkb2NrOiAnRG9jaycsXG4gICAgdW5Eb2NrOiAnVW5kb2NrJyxcbiAgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1RkV2luZG93RGlhbG9nQ29tcG9uZW50LCBUZE1hcmtkb3duTmF2aWdhdG9yQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBASW5wdXQoKSBsYWJlbHM/OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHM7XG4gIEBJbnB1dCgpIHRvb2xiYXJDb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBzdGFydEF0PzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgQElucHV0KCkgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcbiAgQElucHV0KCkgZG9ja2VkPyA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvQ2xpcGJvYXJkPyA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHMgPSB7fTtcbiAgQElucHV0KCkgZm9vdGVyPzogVHlwZTxhbnk+O1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRvY2tUb2dnbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxJTWFya2Rvd25OYXZpZ2F0b3JJdGVtPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGdldCBtYXJrZG93bk5hdmlnYXRvckxhYmVscygpOiBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5sYWJlbHMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgeyBnb0hvbWUsIGdvQmFjaywgZW1wdHlTdGF0ZSB9OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPVxuICAgICAgdGhpcy5sYWJlbHM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdvSG9tZSxcbiAgICAgIGdvQmFjayxcbiAgICAgIGVtcHR5U3RhdGUsXG4gICAgfTtcbiAgfVxuICBnZXQgdGl0bGVMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMudGl0bGUpIHx8XG4gICAgICBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLnRpdGxlXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjbG9zZUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5jbG9zZSkgfHxcbiAgICAgIERFRkFVTFRfTUFSS0RPV05fTkFWSUdBVE9SX1dJTkRPV19MQUJFTFMuY2xvc2VcbiAgICApO1xuICB9XG5cbiAgZ2V0IHRvZ2dsZURvY2tlZFN0YXRlTGFiZWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5kb2NrZWQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy51bkRvY2spIHx8XG4gICAgICAgIERFRkFVTFRfTUFSS0RPV05fTkFWSUdBVE9SX1dJTkRPV19MQUJFTFMudW5Eb2NrXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMuZG9jaykgfHxcbiAgICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfV0lORE9XX0xBQkVMUy5kb2NrXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZURvY2tlZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZG9ja1RvZ2dsZWQuZW1pdCh0aGlzLmRvY2tlZCk7XG4gIH1cbn1cbiIsIjx0ZC13aW5kb3ctZGlhbG9nXG4gIFt0b29sYmFyQ29sb3JdPVwidG9vbGJhckNvbG9yXCJcbiAgW2RvY2tlZF09XCJkb2NrZWRcIlxuICBbdGl0bGVdPVwidGl0bGVMYWJlbFwiXG4gIFt0b2dnbGVEb2NrZWRTdGF0ZUxhYmVsXT1cInRvZ2dsZURvY2tlZFN0YXRlTGFiZWxcIlxuICBbY2xvc2VMYWJlbF09XCJjbG9zZUxhYmVsXCJcbiAgKGRvY2tUb2dnbGVkKT1cInRvZ2dsZURvY2tlZFN0YXRlKClcIlxuICAoY2xvc2VkKT1cImNsb3NlZC5lbWl0KClcIlxuPlxuICA8dGQtbWFya2Rvd24tbmF2aWdhdG9yXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbbGFiZWxzXT1cIm1hcmtkb3duTmF2aWdhdG9yTGFiZWxzXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCJkb2NrZWQgPyAnbm9uZScgOiAnaW5oZXJpdCdcIlxuICAgIFtzdGFydEF0XT1cInN0YXJ0QXRcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlV2l0aFwiXG4gICAgW2Zvb3Rlcl09XCJmb290ZXJcIlxuICAgIFtjb3B5Q29kZVRvQ2xpcGJvYXJkXT1cImNvcHlDb2RlVG9DbGlwYm9hcmRcIlxuICAgIFtjb3B5Q29kZVRvb2x0aXBzXT1cImNvcHlDb2RlVG9vbHRpcHNcIlxuICAgIChidXR0b25DbGlja2VkKT1cImJ1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAoaXRlbVNlbGVjdGVkKT1cIml0ZW1TZWxlY3RlZC5lbWl0KCRldmVudClcIlxuICA+PC90ZC1tYXJrZG93bi1uYXZpZ2F0b3I+XG48L3RkLXdpbmRvdy1kaWFsb2c+XG4iXX0=","import { Injectable, RendererFactory2, inject, } from '@angular/core';\nimport { TdMarkdownNavigatorWindowComponent, } from '../markdown-navigator-window/markdown-navigator-window.component';\nimport { TdDialogService, ResizableDraggableDialog, } from '@covalent/core/dialogs';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nconst CDK_OVERLAY_CUSTOM_CLASS = 'td-window-dialog';\nconst DEFAULT_POSITION = { bottom: '0px', right: '0px' };\nconst DEFAULT_WIDTH = '360px';\nconst DEFAULT_HEIGHT = '75vh';\nconst MAX_WIDTH = '100vw';\nconst DEFAULT_DRAGGABLE_DIALOG_CONFIG = {\n hasBackdrop: false,\n closeOnNavigation: true,\n panelClass: [CDK_OVERLAY_CUSTOM_CLASS],\n position: DEFAULT_POSITION,\n height: DEFAULT_HEIGHT,\n width: DEFAULT_WIDTH,\n maxWidth: MAX_WIDTH,\n};\nexport class TdMarkdownNavigatorWindowService {\n _tdDialogService = inject(TdDialogService);\n _document = inject(DOCUMENT);\n rendererFactory = inject(RendererFactory2);\n _renderer2;\n dragRef;\n resizableDraggableDialog;\n markdownNavigatorWindowDialog;\n markdownNavigatorWindowDialogsOpen = 0;\n constructor() {\n const rendererFactory = this.rendererFactory;\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n open(config) {\n this.close();\n const configClass = config?.dialogConfig?.panelClass;\n const panelClass = configClass && !Array.isArray(configClass) ? [configClass] : [];\n const draggableConfig = {\n ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,\n ...config.dialogConfig,\n ...panelClass,\n };\n const { matDialogRef, dragRefSubject, } = this._tdDialogService.openDraggable({\n component: TdMarkdownNavigatorWindowComponent,\n config: draggableConfig,\n dragHandleSelectors: ['.td-window-dialog-toolbar'],\n draggableClass: 'td-draggable-markdown-navigator-window',\n });\n this.markdownNavigatorWindowDialog = matDialogRef;\n this.markdownNavigatorWindowDialog.componentInstance.items = config.items;\n this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;\n this.markdownNavigatorWindowDialog.componentInstance.startAt =\n config.startAt;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard =\n config.copyCodeToClipboard;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips =\n config.copyCodeTooltips;\n this.markdownNavigatorWindowDialog.componentInstance.compareWith =\n config.compareWith;\n this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =\n 'toolbarColor' in config ? config.toolbarColor : 'primary';\n this.markdownNavigatorWindowDialogsOpen++;\n this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;\n dragRefSubject.subscribe((dragRf) => {\n this.dragRef = dragRf;\n this.resizableDraggableDialog = new ResizableDraggableDialog(this._document, this._renderer2, this.markdownNavigatorWindowDialog, this.dragRef);\n });\n this._handleEvents();\n return this.markdownNavigatorWindowDialog;\n }\n close() {\n if (this.markdownNavigatorWindowDialog) {\n if (this.resizableDraggableDialog) {\n this.resizableDraggableDialog.detach();\n }\n this.markdownNavigatorWindowDialog.close();\n }\n }\n get isOpen() {\n return this.markdownNavigatorWindowDialogsOpen > 0;\n }\n _handleEvents() {\n this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() => this.close());\n this.markdownNavigatorWindowDialog\n .afterClosed()\n .toPromise()\n .then(() => {\n this.markdownNavigatorWindowDialogsOpen--;\n });\n }\n static ɵfac = function TdMarkdownNavigatorWindowService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorWindowService)(); };\n static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TdMarkdownNavigatorWindowService, factory: TdMarkdownNavigatorWindowService.ɵfac });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorWindowService, [{\n type: Injectable\n }], () => [], null); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctc2VydmljZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixnQkFBZ0IsRUFHaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFDTCxrQ0FBa0MsR0FFbkMsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsZUFBZSxFQUVmLHdCQUF3QixHQUN6QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFtQjNDLE1BQU0sd0JBQXdCLEdBQUcsa0JBQWtCLENBQUM7QUFFcEQsTUFBTSxnQkFBZ0IsR0FBbUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUN6RSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFDOUIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0FBQzlCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQztBQUUxQixNQUFNLCtCQUErQixHQUFvQjtJQUN2RCxXQUFXLEVBQUUsS0FBSztJQUNsQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFVBQVUsRUFBRSxDQUFDLHdCQUF3QixDQUFDO0lBQ3RDLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsTUFBTSxFQUFFLGNBQWM7SUFDdEIsS0FBSyxFQUFFLGFBQWE7SUFDcEIsUUFBUSxFQUFFLFNBQVM7Q0FDcEIsQ0FBQztBQUdGLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDbkMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFD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NkIsQ0FBQztJQUM1QyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDdkMsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLENBQUM7WUFDRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ3pFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FDYixDQUFDO1FBRUYsSUFBSSxDQUFDLDZCQUE2QjthQUMvQixXQUFXLEVBQUU7YUFDYixTQUFTLEVBQUU7YUFDWCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzBIQTdGVSxnQ0FBZ0M7Z0VBQWhDLGdDQUFnQyxXQUFoQyxnQ0FBZ0M7O2lGQUFoQyxnQ0FBZ0M7Y0FENUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIFJlbmRlcmVyMixcbiAgVHlwZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1hdERpYWxvZ1JlZixcbiAgTWF0RGlhbG9nQ29uZmlnLFxuICBEaWFsb2dQb3NpdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtcbiAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCxcbiAgSU1hcmtkb3duTmF2aWdhdG9yV2luZG93TGFiZWxzLFxufSBmcm9tICcuLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93L21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRkRGlhbG9nU2VydmljZSxcbiAgSURyYWdnYWJsZVJlZnMsXG4gIFJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyxcbn0gZnJvbSAnQGNvdmFsZW50L2NvcmUvZGlhbG9ncyc7XG5pbXBvcnQgeyBEcmFnUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLFxuICBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQ29weUNvZGVUb29sdGlwcyB9IGZyb20gJ0Bjb3ZhbGVudC9oaWdobGlnaHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbmZpZyB7XG4gIGl0ZW1zOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW107XG4gIGRpYWxvZ0NvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgbGFiZWxzPzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93TGFiZWxzO1xuICB0b29sYmFyQ29sb3I/OiBUaGVtZVBhbGV0dGU7XG4gIHN0YXJ0QXQ/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBjb21wYXJlV2l0aD86IElNYXJrZG93bk5hdmlnYXRvckNvbXBhcmVXaXRoO1xuICBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhbjtcbiAgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzO1xuICBmb290ZXI/OiBUeXBlPGFueT47XG59XG5cbmNvbnN0IENES19PVkVSTEFZX0NVU1RPTV9DTEFTUyA9ICd0ZC13aW5kb3ctZGlhbG9nJztcblxuY29uc3QgREVGQVVMVF9QT1NJVElPTjogRGlhbG9nUG9zaXRpb24gPSB7IGJvdHRvbTogJzBweCcsIHJpZ2h0OiAnMHB4JyB9O1xuY29uc3QgREVGQVVMVF9XSURUSCA9ICczNjBweCc7XG5jb25zdCBERUZBVUxUX0hFSUdIVCA9ICc3NXZoJztcbmNvbnN0IE1BWF9XSURUSCA9ICcxMDB2dyc7XG5cbmNvbnN0IERFRkFVTFRfRFJBR0dBQkxFX0RJQUxPR19DT05GSUc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgcGFuZWxDbGFzczogW0NES19PVkVSTEFZX0NVU1RPTV9DTEFTU10sXG4gIHBvc2l0aW9uOiBERUZBVUxUX1BPU0lUSU9OLFxuICBoZWlnaHQ6IERFRkFVTFRfSEVJR0hULFxuICB3aWR0aDogREVGQVVMVF9XSURUSCxcbiAgbWF4V2lkdGg6IE1BWF9XSURUSCxcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93U2VydmljZSB7XG4gIHByaXZhdGUgX3RkRGlhbG9nU2VydmljZSA9IGluamVjdChUZERpYWxvZ1NlcnZpY2UpO1xuICBwcml2YXRlIF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5ID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpO1xuXG4gIHByaXZhdGUgX3JlbmRlcmVyMjogUmVuZGVyZXIyO1xuICBwcml2YXRlIGRyYWdSZWYhOiBEcmFnUmVmO1xuICBwcml2YXRlIHJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyE6IFJlc2l6YWJsZURyYWdnYWJsZURpYWxvZztcbiAgcHJpdmF0ZSBtYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZyE6IE1hdERpYWxvZ1JlZjxUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50PjtcbiAgcHJpdmF0ZSBtYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCByZW5kZXJlckZhY3RvcnkgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeTtcblxuICAgIHRoaXMuX3JlbmRlcmVyMiA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgY29uZmlnOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcsXG4gICk6IE1hdERpYWxvZ1JlZjxUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50PiB7XG4gICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgY29uc3QgY29uZmlnQ2xhc3MgPSBjb25maWc/LmRpYWxvZ0NvbmZpZz8ucGFuZWxDbGFzcztcbiAgICBjb25zdCBwYW5lbENsYXNzID1cbiAgICAgIGNvbmZpZ0NsYXNzICYmICFBcnJheS5pc0FycmF5KGNvbmZpZ0NsYXNzKSA/IFtjb25maWdDbGFzc10gOiBbXTtcblxuICAgIGNvbnN0IGRyYWdnYWJsZUNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgLi4uREVGQVVMVF9EUkFHR0FCTEVfRElBTE9HX0NPTkZJRyxcbiAgICAgIC4uLmNvbmZpZy5kaWFsb2dDb25maWcsXG4gICAgICAuLi5wYW5lbENsYXNzLFxuICAgIH07XG4gICAgY29uc3Qge1xuICAgICAgbWF0RGlhbG9nUmVmLFxuICAgICAgZHJhZ1JlZlN1YmplY3QsXG4gICAgfTogSURyYWdnYWJsZVJlZnM8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4gPVxuICAgICAgdGhpcy5fdGREaWFsb2dTZXJ2aWNlLm9wZW5EcmFnZ2FibGUoe1xuICAgICAgICBjb21wb25lbnQ6IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gICAgICAgIGNvbmZpZzogZHJhZ2dhYmxlQ29uZmlnLFxuICAgICAgICBkcmFnSGFuZGxlU2VsZWN0b3JzOiBbJy50ZC13aW5kb3ctZGlhbG9nLXRvb2xiYXInXSxcbiAgICAgICAgZHJhZ2dhYmxlQ2xhc3M6ICd0ZC1kcmFnZ2FibGUtbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdycsXG4gICAgICB9KTtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nID0gbWF0RGlhbG9nUmVmO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuaXRlbXMgPSBjb25maWcuaXRlbXM7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5sYWJlbHMgPSBjb25maWcubGFiZWxzO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2Uuc3RhcnRBdCA9XG4gICAgICBjb25maWcuc3RhcnRBdDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9DbGlwYm9hcmQgPVxuICAgICAgY29uZmlnLmNvcHlDb2RlVG9DbGlwYm9hcmQ7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5jb3B5Q29kZVRvb2x0aXBzID1cbiAgICAgIGNvbmZpZy5jb3B5Q29kZVRvb2x0aXBzO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuY29tcGFyZVdpdGggPVxuICAgICAgY29uZmlnLmNvbXBhcmVXaXRoO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UudG9vbGJhckNvbG9yID1cbiAgICAgICd0b29sYmFyQ29sb3InIGluIGNvbmZpZyA/IGNvbmZpZy50b29sYmFyQ29sb3IgOiAncHJpbWFyeSc7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuKys7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5mb290ZXIgPSBjb25maWcuZm9vdGVyO1xuICAgIGRyYWdSZWZTdWJqZWN0LnN1YnNjcmliZSgoZHJhZ1JmOiBEcmFnUmVmKSA9PiB7XG4gICAgICB0aGlzLmRyYWdSZWYgPSBkcmFnUmY7XG4gICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyA9IG5ldyBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2coXG4gICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIsXG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2csXG4gICAgICAgIHRoaXMuZHJhZ1JlZixcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGhpcy5faGFuZGxlRXZlbnRzKCk7XG4gICAgcmV0dXJuIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2c7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cpIHtcbiAgICAgIGlmICh0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZykge1xuICAgICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZy5kZXRhY2goKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMuY2xvc2UoKSxcbiAgICApO1xuXG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ1xuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nc09wZW4tLTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=","import { Directive, HostListener, Input, inject } from '@angular/core';\nimport { TdMarkdownNavigatorWindowService, } from '../markdown-navigator-window-service/markdown-navigator-window.service';\nimport * as i0 from \"@angular/core\";\nexport class TdMarkdownNavigatorWindowDirective {\n _markdownNavigatorWindowService = inject(TdMarkdownNavigatorWindowService);\n config;\n disabled = false;\n click() {\n if (!this.disabled && this.config) {\n this._markdownNavigatorWindowService.open(this.config);\n }\n }\n static ɵfac = function TdMarkdownNavigatorWindowDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorWindowDirective)(); };\n static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TdMarkdownNavigatorWindowDirective, selectors: [[\"\", \"tdMarkdownNavigatorWindow\", \"\"]], hostBindings: function TdMarkdownNavigatorWindowDirective_HostBindings(rf, ctx) { if (rf & 1) {\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorWindowDirective_click_HostBindingHandler() { return ctx.click(); });\n } }, inputs: { config: [0, \"tdMarkdownNavigatorWindow\", \"config\"], disabled: \"disabled\" } });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorWindowDirective, [{\n type: Directive,\n args: [{\n selector: '[tdMarkdownNavigatorWindow]',\n }]\n }], null, { config: [{\n type: Input,\n args: ['tdMarkdownNavigatorWindow']\n }], disabled: [{\n type: Input\n }], click: [{\n type: HostListener,\n args: ['click']\n }] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLW5hdmlnYXRvci9zcmMvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy1kaXJlY3RpdmUvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsZ0NBQWdDLEdBRWpDLE1BQU0sd0VBQXdFLENBQUM7O0FBS2hGLE1BQU0sT0FBTyxrQ0FBa0M7SUFDckMsK0JBQStCLEdBQUcsTUFBTSxDQUM5QyxnQ0FBZ0MsQ0FDakMsQ0FBQztJQUVrQyxNQUFNLENBQWtDO0lBQ25FLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFSCxLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQzs0SEFaVSxrQ0FBa0M7NkRBQWxDLGtDQUFrQztZQUFsQyx1R0FBQSxXQUFPLElBQTJCOzs7aUZBQWxDLGtDQUFrQztjQUg5QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjthQUN4Qzs7a0JBTUUsS0FBSzttQkFBQywyQkFBMkI7O2tCQUNqQyxLQUFLOztrQkFFTCxZQUFZO21CQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2UsXG4gIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbmZpZyxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy1zZXJ2aWNlL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZE1hcmtkb3duTmF2aWdhdG9yV2luZG93XScsXG59KVxuZXhwb3J0IGNsYXNzIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaXJlY3RpdmUge1xuICBwcml2YXRlIF9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2UgPSBpbmplY3QoXG4gICAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2UsXG4gICk7XG5cbiAgQElucHV0KCd0ZE1hcmtkb3duTmF2aWdhdG9yV2luZG93JykgY29uZmlnPzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmIHRoaXMuY29uZmlnKSB7XG4gICAgICB0aGlzLl9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uub3Blbih0aGlzLmNvbmZpZyk7XG4gICAgfVxuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TdMarkdownNavigatorComponent } from './markdown-navigator.component';\nimport { TdMarkdownNavigatorWindowComponent } from './markdown-navigator-window/markdown-navigator-window.component';\nimport { TdMarkdownNavigatorWindowDirective } from './markdown-navigator-window-directive/markdown-navigator-window.directive';\nimport { TdMarkdownNavigatorWindowService } from './markdown-navigator-window-service/markdown-navigator-window.service';\nimport { TdDialogService } from '@covalent/core/dialogs';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/icon\";\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\nexport class CovalentMarkdownNavigatorModule {\n constructor(iconRegistry) {\n iconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons mat-ligature-font');\n }\n static ɵfac = function CovalentMarkdownNavigatorModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentMarkdownNavigatorModule)(i0.ɵɵinject(i1.MatIconRegistry)); };\n static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentMarkdownNavigatorModule });\n static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [TdMarkdownNavigatorWindowService, TdDialogService], imports: [CommonModule,\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CovalentMarkdownNavigatorModule, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n exports: [\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n providers: [TdMarkdownNavigatorWindowService, TdDialogService],\n }]\n }], () => [{ type: i1.MatIconRegistry }], null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentMarkdownNavigatorModule, { imports: [CommonModule,\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective], exports: [TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUV6RDs7O0dBR0c7QUFnQkgsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxZQUFZLFlBQTZCO1FBQ3ZDLFlBQVksQ0FBQyxzQkFBc0IsQ0FDakMsZ0JBQWdCLEVBQ2hCLGtDQUFrQyxDQUNuQyxDQUFDO0lBQ0osQ0FBQzt5SEFOVSwrQkFBK0I7NERBQS9CLCtCQUErQjtpRUFGL0IsQ0FBQyxnQ0FBZ0MsRUFBRSxlQUFlLENBQUMsWUFYNUQsWUFBWTtZQUVaLDRCQUE0QjtZQUM1QixrQ0FBa0M7O2lGQVV6QiwrQkFBK0I7Y0FmM0MsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUVaLDRCQUE0QjtvQkFDNUIsa0NBQWtDO29CQUNsQyxrQ0FBa0M7aUJBQ25DO2dCQUNELE9BQU8sRUFBRTtvQkFDUCw0QkFBNEI7b0JBQzVCLGtDQUFrQztvQkFDbEMsa0NBQWtDO2lCQUNuQztnQkFDRCxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRSxlQUFlLENBQUM7YUFDL0Q7O3dGQUNZLCtCQUErQixjQWJ4QyxZQUFZO1FBRVosNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxrQ0FBa0MsYUFHbEMsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRkTWFya2Rvd25OYXZpZ2F0b3JDb21wb25lbnQgfSBmcm9tICcuL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCB9IGZyb20gJy4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlyZWN0aXZlIH0gZnJvbSAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LWRpcmVjdGl2ZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93U2VydmljZSB9IGZyb20gJy4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy1zZXJ2aWNlL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuc2VydmljZSc7XG5pbXBvcnQgeyBUZERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuXG4gKiBQbGVhc2UgbWlncmF0ZSB0byB1c2luZyBzdGFuZGFsb25lIGNvbXBvbmVudHMgYXMgc29vbiBhcyBwb3NzaWJsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcblxuICAgIFRkTWFya2Rvd25OYXZpZ2F0b3JDb21wb25lbnQsXG4gICAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCxcbiAgICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGRNYXJrZG93bk5hdmlnYXRvckNvbXBvbmVudCxcbiAgICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50LFxuICAgIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1RkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlLCBUZERpYWxvZ1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudE1hcmtkb3duTmF2aWdhdG9yTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnkpIHtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJGb250Q2xhc3NBbGlhcyhcbiAgICAgICdjb3ZhbGVudC1pY29ucycsXG4gICAgICAnY292YWxlbnQtaWNvbnMgbWF0LWxpZ2F0dXJlLWZvbnQnLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtbWFya2Rvd24tbmF2aWdhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL2NvdmFsZW50LW1hcmtkb3duLW5hdmlnYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":["i4","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"covalent-markdown-navigator.mjs","sources":["../tmp-esm2022/markdown-navigator.component.js","../tmp-esm2022/markdown-navigator-window/markdown-navigator-window.component.js","../tmp-esm2022/markdown-navigator-window-service/markdown-navigator-window.service.js","../tmp-esm2022/markdown-navigator-window-directive/markdown-navigator-window.directive.js","../tmp-esm2022/markdown-navigator.module.js","../tmp-esm2022/covalent-markdown-navigator.js"],"sourcesContent":["import { Component, Input, HostListener, ViewChild, ElementRef, ChangeDetectorRef, ChangeDetectionStrategy, Output, EventEmitter, SecurityContext, inject, } from '@angular/core';\nimport { removeLeadingHash, isAnchorLink, TdMarkdownLoaderService, } from '@covalent/markdown';\nimport { TdFlavoredMarkdownComponent, TdFlavoredMarkdownLoaderComponent, } from '@covalent/flavored-markdown';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { HttpClient } from '@angular/common/http';\nimport { firstValueFrom } from 'rxjs';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatListModule } from '@angular/material/list';\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { TdMessageComponent } from '@covalent/core/message';\nimport { TdBreadcrumbsComponent, TdBreadcrumbComponent, } from '@covalent/core/breadcrumbs';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/material/tooltip\";\nimport * as i3 from \"@angular/material/list\";\nimport * as i4 from \"@angular/material/icon\";\nimport * as i5 from \"@angular/material/progress-bar\";\nconst _c0 = [\"markdownWrapper\"];\nconst _c1 = () => ({});\nconst _forTrack0 = ($index, $item) => $item.id ?? $index;\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"mat-progress-bar\", 2);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_For_4_Template(rf, ctx) { if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"a\", 12);\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_For_4_Template_a_click_0_listener() { const ɵ$index_13_r4 = i0.ɵɵrestoreView(_r3).$index; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.goBack(ctx_r1.historyStack.length - ɵ$index_13_r4)); });\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const item_r5 = ctx.$implicit;\n const ɵ$index_13_r4 = ctx.$index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵattribute(\"data-test\", \"back-button-\" + ɵ$index_13_r4);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.getTitle(item_r5));\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_Template(rf, ctx) { if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-breadcrumbs\", 8)(1, \"a\", 9);\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.reset()); });\n i0.ɵɵtext(2, \"Home\");\n i0.ɵɵelementEnd();\n i0.ɵɵrepeaterCreate(3, TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_For_4_Template, 2, 2, \"a\", 10, _forTrack0);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"div\", 11);\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"matTooltip\", ctx_r1.goHomeLabel ?? \"\");\n i0.ɵɵattribute(\"data-test\", \"home-button\");\n i0.ɵɵadvance(2);\n i0.ɵɵrepeater(ctx_r1.navigationBreadcrumbs);\n i0.ɵɵadvance(2);\n i0.ɵɵattribute(\"data-test\", \"title\");\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.currentItemTitle, \" \");\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"td-message\", 5);\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"sublabel\", ctx_r1.markdownLoaderError);\n i0.ɵɵattribute(\"data-test\", \"markdown-loader-error\");\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-flavored-markdown-loader\", 15);\n i0.ɵɵlistener(\"loadFailed\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_3_Template_td_flavored_markdown_loader_loadFailed_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleMarkdownLoaderError($event)); })(\"buttonClicked\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_3_Template_td_flavored_markdown_loader_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"url\", ctx_r1.url ?? \"\")(\"httpOptions\", ctx_r1.httpOptions ?? i0.ɵɵpureFunction0(5, _c1))(\"anchor\", ctx_r1.anchor ?? \"\")(\"copyCodeToClipboard\", ctx_r1.copyCodeToClipboard)(\"copyCodeTooltips\", ctx_r1.copyCodeTooltips);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_4_Template(rf, ctx) { if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"td-flavored-markdown\", 16);\n i0.ɵɵlistener(\"buttonClicked\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_4_Template_td_flavored_markdown_buttonClicked_0_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.buttonClicked.emit($event)); });\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"content\", ctx_r1.markdownString ?? \"\")(\"hostedUrl\", ctx_r1.url ?? \"\")(\"anchor\", ctx_r1.anchor ?? \"\")(\"copyCodeToClipboard\", ctx_r1.copyCodeToClipboard)(\"copyCodeTooltips\", ctx_r1.copyCodeTooltips);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 4, 0);\n i0.ɵɵconditionalCreate(2, TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_2_Template, 1, 2, \"td-message\", 5);\n i0.ɵɵconditionalCreate(3, TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_3_Template, 1, 6, \"td-flavored-markdown-loader\", 13);\n i0.ɵɵconditionalCreate(4, TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Conditional_4_Template, 1, 5, \"td-flavored-markdown\", 14);\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx_r1.markdownLoaderError ? 2 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.showTdMarkdownLoader ? 3 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.showTdMarkdown ? 4 : -1);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_5_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelement(0, \"td-message\", 5);\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"sublabel\", ctx_r1.childrenUrlError);\n i0.ɵɵattribute(\"data-test\", \"children-url-error\");\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_For_3_Template(rf, ctx) { if (rf & 1) {\n const _r8 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 18);\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_For_3_Template_button_click_0_listener() { const item_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleItemSelected(item_r9)); });\n i0.ɵɵelementStart(1, \"mat-icon\", 19);\n i0.ɵɵtext(2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 20);\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(5, \"span\", 21);\n i0.ɵɵtext(6);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(7, \"mat-divider\");\n i0.ɵɵelementEnd();\n} if (rf & 2) {\n const item_r9 = ctx.$implicit;\n const ɵ$index_42_r10 = ctx.$index;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"id\", \"td-markdown-navigator-list-item-\" + (item_r9.id ? item_r9.id : ɵ$index_42_r10))(\"matTooltip\", ctx_r1.getTitle(item_r9));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"fontSet\", ctx_r1.isCovalentIcon(item_r9) ? \"covalent-icons\" : \"\");\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.getIcon(item_r9), \" \");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.getTitle(item_r9), \" \");\n i0.ɵɵadvance(2);\n i0.ɵɵtextInterpolate1(\" \", item_r9.description, \" \");\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 6)(1, \"mat-action-list\");\n i0.ɵɵrepeaterCreate(2, TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_For_3_Template, 8, 6, \"button\", 17, _forTrack0);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance(2);\n i0.ɵɵrepeater(ctx_r1.currentMenuItems);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_ng_container_7_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainer(0);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵconditionalCreate(1, TdMarkdownNavigatorComponent_Conditional_0_Conditional_1_Template, 1, 0, \"mat-progress-bar\", 2);\n i0.ɵɵconditionalCreate(2, TdMarkdownNavigatorComponent_Conditional_0_Conditional_2_Template, 7, 4);\n i0.ɵɵelementStart(3, \"div\", 3);\n i0.ɵɵconditionalCreate(4, TdMarkdownNavigatorComponent_Conditional_0_Conditional_4_Template, 5, 3, \"div\", 4);\n i0.ɵɵconditionalCreate(5, TdMarkdownNavigatorComponent_Conditional_0_Conditional_5_Template, 1, 2, \"td-message\", 5);\n i0.ɵɵconditionalCreate(6, TdMarkdownNavigatorComponent_Conditional_0_Conditional_6_Template, 4, 0, \"div\", 6);\n i0.ɵɵtemplate(7, TdMarkdownNavigatorComponent_Conditional_0_ng_container_7_Template, 1, 0, \"ng-container\", 7);\n i0.ɵɵelementEnd();\n i0.ɵɵelementContainerEnd();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.loading ? 1 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.showHeader ? 2 : -1);\n i0.ɵɵadvance(2);\n i0.ɵɵconditional(ctx_r1.showTdMarkdownLoader || ctx_r1.showTdMarkdown ? 4 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.childrenUrlError ? 5 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx_r1.showMenu ? 6 : -1);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngComponentOutlet\", ctx_r1.footerComponent);\n} }\nfunction TdMarkdownNavigatorComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 1)(1, \"mat-icon\", 22);\n i0.ɵɵtext(2, \"subject\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"h2\");\n i0.ɵɵtext(4);\n i0.ɵɵelementEnd()();\n} if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵtextInterpolate(ctx_r1.emptyStateLabel);\n} }\nexport const DEFAULT_MARKDOWN_NAVIGATOR_LABELS = {\n goHome: 'Go home',\n goBack: 'Go back',\n emptyState: 'No item(s) to display',\n};\nexport class TdMarkdownNavigatorComponent {\n _markdownUrlLoaderService = inject(TdMarkdownLoaderService);\n _changeDetectorRef = inject(ChangeDetectorRef);\n _sanitizer = inject(DomSanitizer);\n _http = inject(HttpClient);\n _iconRegistry = inject(MatIconRegistry);\n constructor() {\n this._iconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons mat-ligature-font');\n }\n /**\n * items: IMarkdownNavigatorItem[]\n *\n * List of IMarkdownNavigatorItems to be rendered\n */\n items;\n /**\n * labels?: IMarkdownNavigatorLabels\n *\n * Translated labels\n */\n labels;\n /**\n * startAt?: IMarkdownNavigatorItem | IMarkdownNavigatorItem[];\n *\n * Item or path to start at\n */\n startAt;\n /**\n * copyCodeToClipboard?: boolean\n *\n * Display copy button on code snippets to copy code to clipboard.\n *\n */\n copyCodeToClipboard = false;\n /**\n * copyCodeTooltips?: ICopyCodeTooltips\n *\n * Tooltips for copy button to copy and upon copying.\n */\n copyCodeTooltips = {};\n /**\n * footer?: Type<any>\n *\n * Component to be displayed in footer\n */\n footer;\n /**\n * compareWith?: IMarkdownNavigatorCompareWith\n *\n * Function used to find startAt item\n * Defaults to comparison by strict equality (===)\n */\n compareWith;\n buttonClicked = new EventEmitter();\n itemSelected = new EventEmitter();\n markdownWrapper;\n historyStack = []; // history\n currentMarkdownItem; // currently rendered\n currentMenuItems = []; // current menu items\n loading = false;\n markdownLoaderError;\n childrenUrlError;\n clickListener(event) {\n const element = event.target;\n // Use closest() to handle clicks on nested elements inside links\n const anchor = element.closest('a[href]');\n if (anchor && isMarkdownHref(anchor)) {\n this.handleLinkClick(event, anchor);\n }\n }\n get showGoBackButton() {\n return this.historyStack.length > 0;\n }\n get showHeader() {\n return !!this.currentItemTitle;\n }\n get showMenu() {\n const showMenu = this.currentMenuItems && this.currentMenuItems.length > 0;\n return showMenu ?? false;\n }\n get showTdMarkdownLoader() {\n return (!!this.currentMarkdownItem &&\n !!this.currentMarkdownItem.url &&\n !this.showTdMarkdown);\n }\n get showTdMarkdown() {\n return (!!this.currentMarkdownItem && !!this.currentMarkdownItem.markdownString);\n }\n get url() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.url;\n }\n return undefined;\n }\n get footerComponent() {\n if (this.currentMarkdownItem && this.currentMarkdownItem.footer) {\n return this.currentMarkdownItem.footer;\n }\n return this.footer;\n }\n get httpOptions() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.httpOptions;\n }\n return undefined;\n }\n get markdownString() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.markdownString;\n }\n return undefined;\n }\n get anchor() {\n if (this.currentMarkdownItem) {\n return this.currentMarkdownItem.anchor;\n }\n return undefined;\n }\n get showEmptyState() {\n return !this.items || this.items.length < 1;\n }\n get goHomeLabel() {\n return ((this.labels && this.labels.goHome) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goHome);\n }\n get goBackLabel() {\n return ((this.labels && this.labels.goBack) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.goBack);\n }\n get emptyStateLabel() {\n return ((this.labels && this.labels.emptyState) ||\n DEFAULT_MARKDOWN_NAVIGATOR_LABELS.emptyState);\n }\n get currentItemTitle() {\n if (this.currentMarkdownItem) {\n return this.getTitle(this.currentMarkdownItem);\n }\n else if (this.historyStack.length > 0) {\n return this.getTitle(this.historyStack[this.historyStack.length - 1]);\n }\n return '';\n }\n get navigationBreadcrumbs() {\n return this.historyStack.slice(0, -1);\n }\n async ngOnChanges(changes) {\n if (changes['items']) {\n this.reset();\n }\n if (changes['startAt'] && this.items && this.startAt) {\n this._jumpTo(this.startAt, undefined);\n }\n }\n hasChildrenOrChildrenUrl(item) {\n return (item.children && item.children.length > 0) || !!item.childrenUrl;\n }\n clearErrors() {\n this.markdownLoaderError = undefined;\n this.childrenUrlError = undefined;\n }\n reset() {\n this.loading = false;\n this.clearErrors();\n // if single item and no children\n if (this.items &&\n this.items.length === 1 &&\n !this.hasChildrenOrChildrenUrl(this.items[0])) {\n this.currentMenuItems = [];\n this.currentMarkdownItem = this.items[0];\n }\n else {\n this.currentMenuItems = this.items;\n this.currentMarkdownItem = undefined;\n }\n this.historyStack = [];\n this.itemSelected.emit(undefined);\n this._changeDetectorRef.markForCheck();\n }\n goBack(goBackLength = 2) {\n this.loading = false;\n this.clearErrors();\n let parent = this.historyStack[this.historyStack.length - goBackLength];\n if (parent?.startAtLink) {\n parent = this.historyStack[this.historyStack.length - 3]\n ? this.historyStack[this.historyStack.length - 3]\n : undefined;\n this.historyStack = this.historyStack.slice(0, -goBackLength);\n }\n if (parent) {\n this.currentMarkdownItem = parent;\n this.historyStack = this.historyStack.slice(0, this.historyStack.length - goBackLength + 1);\n this.setChildrenAsCurrentMenuItems(parent);\n }\n else {\n this.reset();\n }\n this.itemSelected.emit(parent);\n this._changeDetectorRef.markForCheck();\n }\n handleItemSelected(item) {\n this.clearErrors();\n this.currentMarkdownItem = item;\n this.historyStack = [...this.historyStack, item];\n this.setChildrenAsCurrentMenuItems(item);\n this.itemSelected.emit(item);\n this._changeDetectorRef.markForCheck();\n }\n async setChildrenAsCurrentMenuItems(item) {\n this.currentMenuItems = [];\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n const stackSnapshot = this.historyStack;\n let children = [];\n if (item.children) {\n children = item.children;\n }\n else if (item.childrenUrl) {\n children = await this.loadChildrenUrl(item);\n }\n if (children && children.length && item.startAtLink) {\n this._jumpTo(item.startAtLink, children);\n }\n const newStackSnapshot = this.historyStack;\n if (stackSnapshot.length === newStackSnapshot.length &&\n stackSnapshot.every((stackItem, index) => stackItem === newStackSnapshot[index])) {\n this.currentMenuItems = children;\n }\n this.loading = false;\n this._changeDetectorRef.markForCheck();\n }\n async loadChildrenUrl(item) {\n const sanitizedUrl = this._sanitizer.sanitize(SecurityContext.URL, item.childrenUrl ?? null) ??\n '';\n try {\n return await firstValueFrom(this._http.get(sanitizedUrl, {\n ...item.httpOptions,\n }));\n }\n catch (error) {\n this.handleChildrenUrlError(error);\n return [];\n }\n }\n getTitle(item) {\n if (!item) {\n return '';\n }\n return (removeLeadingHash(item.anchor ?? '') ||\n item.title ||\n getTitleFromMarkdownString(item.markdownString ?? '') ||\n getTitleFromUrl(item.url ?? '') ||\n '').trim();\n }\n getIcon(item) {\n const icon = item?.icon || 'subject';\n return icon.split(';')[0];\n }\n isCovalentIcon(item) {\n if (!item?.icon)\n return false;\n return item?.icon.includes(';covalent');\n }\n handleChildrenUrlError(error) {\n this.childrenUrlError = error.message;\n this._changeDetectorRef.markForCheck();\n }\n handleMarkdownLoaderError(error) {\n this.markdownLoaderError = error ? error.message : '';\n this._changeDetectorRef.markForCheck();\n }\n async _jumpTo(itemOrPath, children, shouldReset = true) {\n const historyStack = this.historyStack;\n let path = [];\n if (this.items?.length) {\n if (Array.isArray(itemOrPath)) {\n path = await this.followPath(this.items, itemOrPath);\n }\n else if (children && children.length > 0) {\n this.historyStack = historyStack;\n path = this.findPath(children, itemOrPath);\n }\n else {\n path = this.findPath(this.items, itemOrPath);\n }\n // When navigating through internal links (shouldReset = false),\n // only navigate to the final destination, not the entire path,\n // to avoid duplicating parent items already in historyStack\n if (!shouldReset && path.length > 0) {\n const destination = path[path.length - 1];\n this.handleItemSelected(destination);\n }\n else {\n path.forEach((pathItem, index) => {\n if (index === 0 && shouldReset) {\n this.reset();\n }\n this.handleItemSelected(pathItem);\n });\n }\n }\n return !!path.length;\n }\n async followPath(items, path) {\n let pathItems = [];\n let currentLevel = items;\n const compareWith = this.compareWith || defaultCompareWith;\n for (const pathItem of path) {\n const foundItem = currentLevel.find((item) => compareWith(pathItem, item));\n if (foundItem) {\n pathItems = [...pathItems, foundItem];\n if (foundItem.children) {\n currentLevel = foundItem.children;\n }\n else if (foundItem.childrenUrl) {\n currentLevel = await this.loadChildrenUrl(foundItem);\n }\n }\n else {\n break;\n }\n }\n if (pathItems.length !== path.length) {\n pathItems = [];\n }\n return pathItems;\n }\n findPath(items, item) {\n const compareWith = this.compareWith || defaultCompareWith;\n if (items) {\n for (const child of items) {\n if (item && compareWith(child, item)) {\n return [child];\n }\n // Also try to match by URL filename pattern for internal links\n if (item?.url &&\n child.url &&\n this.urlsMatchByFilename(child.url, item.url)) {\n return [child];\n }\n const ancestors = this.findPath(child.children, item);\n if (ancestors.length) {\n return [child, ...ancestors];\n }\n }\n }\n return [];\n }\n urlsMatchByFilename(url1, url2) {\n try {\n // Extract filename and strip query params (?...) and hash fragments (#...)\n const filename1 = url1.split('/').pop()?.split('?')[0].split('#')[0] ?? '';\n const filename2 = url2.split('/').pop()?.split('?')[0].split('#')[0] ?? '';\n return filename1 !== '' && filename2 !== '' && filename1 === filename2;\n }\n catch {\n return false;\n }\n }\n async handleLinkClick(event, link) {\n event.preventDefault();\n const url = new URL(link.href);\n const urlParts = url.href.split('/');\n const id = urlParts[urlParts.length - 1].split('.md')[0];\n // Capture link text for better UX - Phase 1\n const linkText = link.textContent?.trim() || '';\n this.loading = true;\n this._changeDetectorRef.markForCheck();\n // Try to find by ID first (relative navigation, preserve history)\n const pathFound = await this._jumpTo({ id }, undefined, false);\n if (pathFound) {\n return;\n }\n // Try to find by URL pattern - Phase 2 (relative navigation, preserve history)\n const filename = urlParts[urlParts.length - 1];\n const pathFoundByUrl = await this._jumpTo({ url: filename }, undefined, false);\n if (pathFoundByUrl) {\n return;\n }\n try {\n const markdownString = await this._markdownUrlLoaderService.load(url.href);\n // Pass link text as title for immediate UX improvement - Phase 1\n this.handleItemSelected({\n markdownString,\n url: url.href,\n title: linkText || undefined, // Use link text if available\n });\n this.markdownWrapper.nativeElement.scrollTop = 0;\n }\n catch (error) {\n const win = window.open(url.href, '_blank');\n win?.focus();\n }\n finally {\n this.loading = false;\n }\n this._changeDetectorRef.markForCheck();\n }\n static ɵfac = function TdMarkdownNavigatorComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdMarkdownNavigatorComponent, selectors: [[\"td-markdown-navigator\"]], viewQuery: function TdMarkdownNavigatorComponent_Query(rf, ctx) { if (rf & 1) {\n i0.ɵɵviewQuery(_c0, 5);\n } if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.markdownWrapper = _t.first);\n } }, hostBindings: function TdMarkdownNavigatorComponent_HostBindings(rf, ctx) { if (rf & 1) {\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorComponent_click_HostBindingHandler($event) { return ctx.clickListener($event); });\n } }, inputs: { items: \"items\", labels: \"labels\", startAt: \"startAt\", copyCodeToClipboard: \"copyCodeToClipboard\", copyCodeTooltips: \"copyCodeTooltips\", footer: \"footer\", compareWith: \"compareWith\" }, outputs: { buttonClicked: \"buttonClicked\", itemSelected: \"itemSelected\" }, features: [i0.ɵɵProvidersFeature([TdMarkdownLoaderService]), i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [[\"markdownWrapper\", \"\"], [\"layout\", \"column\", \"layout-align\", \"center center\", 1, \"empty-state\"], [\"mode\", \"indeterminate\", \"color\", \"accent\"], [\"id\", \"td-markdown-navigator-content\", 1, \"scroll-area\"], [1, \"markdown-wrapper\"], [\"color\", \"warn\", \"icon\", \"error\", 3, \"sublabel\"], [1, \"td-markdown-list\"], [4, \"ngComponentOutlet\"], [\"size\", \"caption\"], [\"td-breadcrumb\", \"\", 3, \"click\", \"matTooltip\"], [\"td-breadcrumb\", \"\"], [1, \"breadcrumb-current-title\"], [\"td-breadcrumb\", \"\", 3, \"click\"], [3, \"url\", \"httpOptions\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [3, \"content\", \"hostedUrl\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [3, \"loadFailed\", \"buttonClicked\", \"url\", \"httpOptions\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [3, \"buttonClicked\", \"content\", \"hostedUrl\", \"anchor\", \"copyCodeToClipboard\", \"copyCodeTooltips\"], [\"mat-list-item\", \"\", \"matTooltipPosition\", \"before\", \"matTooltipShowDelay\", \"500\", 3, \"id\", \"matTooltip\"], [\"mat-list-item\", \"\", \"matTooltipPosition\", \"before\", \"matTooltipShowDelay\", \"500\", 3, \"click\", \"id\", \"matTooltip\"], [\"matListItemIcon\", \"\", 3, \"fontSet\"], [\"matListItemTitle\", \"\", 1, \"truncate\"], [\"matListItemLine\", \"\", 1, \"truncate\"], [\"matListItemAvatar\", \"\"]], template: function TdMarkdownNavigatorComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵconditionalCreate(0, TdMarkdownNavigatorComponent_Conditional_0_Template, 8, 6, \"ng-container\");\n i0.ɵɵconditionalCreate(1, TdMarkdownNavigatorComponent_Conditional_1_Template, 5, 1, \"div\", 1);\n } if (rf & 2) {\n i0.ɵɵconditional(!ctx.showEmptyState ? 0 : -1);\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.showEmptyState ? 1 : -1);\n } }, dependencies: [CommonModule, i1.NgComponentOutlet, MatButtonModule,\n MatTooltipModule, i2.MatTooltip, MatListModule, i3.MatActionList, i3.MatListItem, i3.MatListItemAvatar, i3.MatListItemIcon, i3.MatDivider, i3.MatListItemLine, i3.MatListItemTitle, MatIconModule, i4.MatIcon, MatProgressBarModule, i5.MatProgressBar, TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdMessageComponent,\n TdBreadcrumbsComponent,\n TdBreadcrumbComponent], styles: [\"[_nghost-%COMP%]{position:relative;height:inherit;height:100%;box-sizing:border-box;display:flex;flex-direction:column}[_nghost-%COMP%] .breadcrumb-current-title[_ngcontent-%COMP%]{margin-bottom:16px;padding-left:16px}[_nghost-%COMP%] .breadcrumb-end-icon[_ngcontent-%COMP%]{margin-left:8px;font-size:16px;width:16px;height:16px}[_nghost-%COMP%] .scroll-area[_ngcontent-%COMP%]{min-height:1px;overflow-y:auto;flex:1;box-sizing:border-box}[_nghost-%COMP%] .markdown-wrapper[_ngcontent-%COMP%]{padding:16px 16px 0}[_nghost-%COMP%] .td-markdown-list[_ngcontent-%COMP%] > .mat-list[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] td-breadcrumbs[_ngcontent-%COMP%]{padding:8px 8px 0 16px}[_nghost-%COMP%] td-flavored-markdown-loader[_ngcontent-%COMP%] .mat-progress-bar{top:0;left:0;right:0;position:absolute}[_nghost-%COMP%] .title[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;margin:8px 0;padding-left:16px}.truncate[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state[_ngcontent-%COMP%]{padding:32px}.empty-state[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:4em}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorComponent, [{\n type: Component,\n args: [{ selector: 'td-markdown-navigator', changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n CommonModule,\n MatButtonModule,\n MatTooltipModule,\n MatListModule,\n MatIconModule,\n MatProgressBarModule,\n TdFlavoredMarkdownComponent,\n TdFlavoredMarkdownLoaderComponent,\n TdMessageComponent,\n TdBreadcrumbsComponent,\n TdBreadcrumbComponent,\n ], providers: [TdMarkdownLoaderService], template: \"@if (!showEmptyState) {\\n <ng-container>\\n @if (loading) {\\n <mat-progress-bar mode=\\\"indeterminate\\\" color=\\\"accent\\\"></mat-progress-bar>\\n }\\n\\n @if (showHeader) {\\n <td-breadcrumbs size=\\\"caption\\\">\\n <a\\n td-breadcrumb\\n [matTooltip]=\\\"goHomeLabel ?? ''\\\"\\n (click)=\\\"reset()\\\"\\n [attr.data-test]=\\\"'home-button'\\\"\\n >Home</a\\n >\\n\\n @for (\\n item of navigationBreadcrumbs;\\n let index = $index;\\n track item.id ?? index\\n ) {\\n <a\\n td-breadcrumb\\n (click)=\\\"goBack(historyStack.length - index)\\\"\\n [attr.data-test]=\\\"'back-button-' + index\\\"\\n >{{ getTitle(item) }}</a\\n >\\n }\\n </td-breadcrumbs>\\n\\n <div class=\\\"breadcrumb-current-title\\\" [attr.data-test]=\\\"'title'\\\">\\n {{ currentItemTitle }}\\n </div>\\n }\\n\\n <div class=\\\"scroll-area\\\" id=\\\"td-markdown-navigator-content\\\">\\n @if (showTdMarkdownLoader || showTdMarkdown) {\\n <div class=\\\"markdown-wrapper\\\" #markdownWrapper>\\n @if (markdownLoaderError) {\\n <td-message\\n [sublabel]=\\\"markdownLoaderError\\\"\\n color=\\\"warn\\\"\\n icon=\\\"error\\\"\\n [attr.data-test]=\\\"'markdown-loader-error'\\\"\\n ></td-message>\\n }\\n\\n @if (showTdMarkdownLoader) {\\n <td-flavored-markdown-loader\\n [url]=\\\"url ?? ''\\\"\\n [httpOptions]=\\\"httpOptions ?? {}\\\"\\n [anchor]=\\\"anchor ?? ''\\\"\\n [copyCodeToClipboard]=\\\"copyCodeToClipboard\\\"\\n [copyCodeTooltips]=\\\"copyCodeTooltips\\\"\\n (loadFailed)=\\\"handleMarkdownLoaderError($event)\\\"\\n (buttonClicked)=\\\"buttonClicked.emit($event)\\\"\\n ></td-flavored-markdown-loader>\\n }\\n\\n @if (showTdMarkdown) {\\n <td-flavored-markdown\\n [content]=\\\"markdownString ?? ''\\\"\\n [hostedUrl]=\\\"url ?? ''\\\"\\n [anchor]=\\\"anchor ?? ''\\\"\\n [copyCodeToClipboard]=\\\"copyCodeToClipboard\\\"\\n [copyCodeTooltips]=\\\"copyCodeTooltips\\\"\\n (buttonClicked)=\\\"buttonClicked.emit($event)\\\"\\n ></td-flavored-markdown>\\n }\\n </div>\\n }\\n\\n @if (childrenUrlError) {\\n <td-message\\n [sublabel]=\\\"childrenUrlError\\\"\\n color=\\\"warn\\\"\\n icon=\\\"error\\\"\\n [attr.data-test]=\\\"'children-url-error'\\\"\\n ></td-message>\\n }\\n\\n @if (showMenu) {\\n <div class=\\\"td-markdown-list\\\">\\n <mat-action-list>\\n @for (\\n item of currentMenuItems;\\n let index = $index;\\n track item.id ?? index\\n ) {\\n <button\\n [id]=\\\"\\n 'td-markdown-navigator-list-item-' +\\n (item.id ? item.id : index)\\n \\\"\\n (click)=\\\"handleItemSelected(item)\\\"\\n mat-list-item\\n [matTooltip]=\\\"getTitle(item)\\\"\\n matTooltipPosition=\\\"before\\\"\\n matTooltipShowDelay=\\\"500\\\"\\n >\\n <mat-icon\\n matListItemIcon\\n [fontSet]=\\\"isCovalentIcon(item) ? 'covalent-icons' : ''\\\"\\n >\\n {{ getIcon(item) }}\\n </mat-icon>\\n <span matListItemTitle class=\\\"truncate\\\">\\n {{ getTitle(item) }}\\n </span>\\n <span matListItemLine class=\\\"truncate\\\">\\n {{ item.description }}\\n </span>\\n <mat-divider></mat-divider>\\n </button>\\n }\\n </mat-action-list>\\n </div>\\n }\\n <ng-container *ngComponentOutlet=\\\"footerComponent\\\"></ng-container>\\n </div>\\n </ng-container>\\n}\\n\\n@if (showEmptyState) {\\n <div layout=\\\"column\\\" layout-align=\\\"center center\\\" class=\\\"empty-state\\\">\\n <mat-icon matListItemAvatar>subject</mat-icon>\\n <h2>{{ emptyStateLabel }}</h2>\\n </div>\\n}\\n\", styles: [\":host{position:relative;height:inherit;height:100%;box-sizing:border-box;display:flex;flex-direction:column}:host .breadcrumb-current-title{margin-bottom:16px;padding-left:16px}:host .breadcrumb-end-icon{margin-left:8px;font-size:16px;width:16px;height:16px}:host .scroll-area{min-height:1px;overflow-y:auto;flex:1;box-sizing:border-box}:host .markdown-wrapper{padding:16px 16px 0}:host .td-markdown-list>.mat-list{padding-top:0}:host td-breadcrumbs{padding:8px 8px 0 16px}:host td-flavored-markdown-loader ::ng-deep .mat-progress-bar{top:0;left:0;right:0;position:absolute}:host .title{display:inline-block;vertical-align:middle;margin:8px 0;padding-left:16px}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-state{padding:32px}.empty-state mat-icon{font-size:4em}\\n\"] }]\n }], () => [], { items: [{\n type: Input\n }], labels: [{\n type: Input\n }], startAt: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], footer: [{\n type: Input\n }], compareWith: [{\n type: Input\n }], buttonClicked: [{\n type: Output\n }], itemSelected: [{\n type: Output\n }], markdownWrapper: [{\n type: ViewChild,\n args: ['markdownWrapper']\n }], clickListener: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorComponent, { className: \"TdMarkdownNavigatorComponent\", filePath: \"markdown-navigator.component.ts\", lineNumber: 95 }); })();\nfunction getTitleFromUrl(url) {\n if (url) {\n const temp = new URL(url);\n if (temp.hash) {\n return removeLeadingHash(temp.hash);\n }\n else {\n const path = temp.pathname.split('/');\n const fileName = path[path.length - 1];\n return fileName.replace(/\\.[^/.]+$/, ''); // remove .md\n }\n }\n return '';\n}\nfunction getTitleFromMarkdownString(markdownString) {\n if (markdownString) {\n const firstLine = markdownString.split(/[\\r\\n]+/).find((line) => !!line) ?? '';\n return removeLeadingHash(firstLine).trim();\n }\n return '';\n}\nfunction isMarkdownHref(anchor) {\n return !isAnchorLink(anchor) && anchor.pathname.endsWith('.md');\n}\nfunction defaultCompareWith(o1, o2) {\n if (o1.id && o2.id) {\n return o1.id === o2.id;\n }\n return o1 === o2;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsdUJBQXVCLEVBRXZCLE1BQU0sRUFDTixZQUFZLEVBQ1osZUFBZSxFQUNmLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWix1QkFBdUIsR0FDeEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBRUwsMkJBQTJCLEVBQzNCLGlDQUFpQyxHQUNsQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFF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QUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxNQUF5QjtJQUMvQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFDRCxTQUFTLGtCQUFrQixDQUN6QixFQUEwQixFQUMxQixFQUEwQjtJQUUxQixJQUFJLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ25CLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgSG9zdExpc3RlbmVyLFxuICBWaWV3Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVHlwZSxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNlY3VyaXR5Q29udGV4dCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHJlbW92ZUxlYWRpbmdIYXNoLFxuICBpc0FuY2hvckxpbmssXG4gIFRkTWFya2Rvd25Mb2FkZXJTZXJ2aWNlLFxufSBmcm9tICdAY292YWxlbnQvbWFya2Rvd24nO1xuaW1wb3J0IHtcbiAgSVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQsXG4gIFRkRmxhdm9yZWRNYXJrZG93bkNvbXBvbmVudCxcbiAgVGRGbGF2b3JlZE1hcmtkb3duTG9hZGVyQ29tcG9uZW50LFxufSBmcm9tICdAY292YWxlbnQvZmxhdm9yZWQtbWFya2Rvd24nO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSUNvcHlDb2RlVG9vbHRpcHMgfSBmcm9tICdAY292YWxlbnQvaGlnaGxpZ2h0JztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSwgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBUZE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICdAY292YWxlbnQvY29yZS9tZXNzYWdlJztcbmltcG9ydCB7XG4gIFRkQnJlYWRjcnVtYnNDb21wb25lbnQsXG4gIFRkQnJlYWRjcnVtYkNvbXBvbmVudCxcbn0gZnJvbSAnQGNvdmFsZW50L2NvcmUvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG4gIGh0dHBPcHRpb25zPzogb2JqZWN0O1xuICBtYXJrZG93blN0cmluZz86IHN0cmluZzsgLy8gcmF3IG1hcmtkb3duXG4gIGFuY2hvcj86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW107XG4gIGNoaWxkcmVuVXJsPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgZm9vdGVyPzogVHlwZTxhbnk+O1xuICBzdGFydEF0TGluaz86IElNYXJrZG93bk5hdmlnYXRvckl0ZW07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hcmtkb3duTmF2aWdhdG9yTGFiZWxzIHtcbiAgZ29Ib21lPzogc3RyaW5nO1xuICBnb0JhY2s/OiBzdHJpbmc7XG4gIGVtcHR5U3RhdGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIElNYXJrZG93bk5hdmlnYXRvckNvbXBhcmVXaXRoID0gKFxuICBvMTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgbzI6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4pID0+IGJvb2xlYW47XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9MQUJFTFM6IElNYXJrZG93bk5hdmlnYXRvckxhYmVscyA9IHtcbiAgZ29Ib21lOiAnR28gaG9tZScsXG4gIGdvQmFjazogJ0dvIGJhY2snLFxuICBlbXB0eVN0YXRlOiAnTm8gaXRlbShzKSB0byBkaXNwbGF5Jyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLW1hcmtkb3duLW5hdmlnYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi1uYXZpZ2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXJrZG93bi1uYXZpZ2F0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxuICAgIFRkRmxhdm9yZWRNYXJrZG93bkNvbXBvbmVudCxcbiAgICBUZEZsYXZvcmVkTWFya2Rvd25Mb2FkZXJDb21wb25lbnQsXG4gICAgVGRNZXNzYWdlQ29tcG9uZW50LFxuICAgIFRkQnJlYWRjcnVtYnNDb21wb25lbnQsXG4gICAgVGRCcmVhZGNydW1iQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtUZE1hcmtkb3duTG9hZGVyU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFRkTWFya2Rvd25OYXZpZ2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcml2YXRlIF9tYXJrZG93blVybExvYWRlclNlcnZpY2UgPSBpbmplY3QoVGRNYXJrZG93bkxvYWRlclNlcnZpY2UpO1xuICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgX3Nhbml0aXplciA9IGluamVjdChEb21TYW5pdGl6ZXIpO1xuICBwcml2YXRlIF9odHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICBwcml2YXRlIF9pY29uUmVnaXN0cnkgPSBpbmplY3QoTWF0SWNvblJlZ2lzdHJ5KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9pY29uUmVnaXN0cnkucmVnaXN0ZXJGb250Q2xhc3NBbGlhcyhcbiAgICAgICdjb3ZhbGVudC1pY29ucycsXG4gICAgICAnY292YWxlbnQtaWNvbnMgbWF0LWxpZ2F0dXJlLWZvbnQnLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogaXRlbXM6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXVxuICAgKlxuICAgKiBMaXN0IG9mIElNYXJrZG93bk5hdmlnYXRvckl0ZW1zIHRvIGJlIHJlbmRlcmVkXG4gICAqL1xuICBASW5wdXQoKSBpdGVtcz86IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcblxuICAvKipcbiAgICogbGFiZWxzPzogSU1hcmtkb3duTmF2aWdhdG9yTGFiZWxzXG4gICAqXG4gICAqIFRyYW5zbGF0ZWQgbGFiZWxzXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbHM/OiBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHM7XG5cbiAgLyoqXG4gICAqIHN0YXJ0QXQ/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICAgKlxuICAgKiBJdGVtIG9yIHBhdGggdG8gc3RhcnQgYXRcbiAgICovXG4gIEBJbnB1dCgpIHN0YXJ0QXQ/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuXG4gIC8qKlxuICAgKiBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhblxuICAgKlxuICAgKiBEaXNwbGF5IGNvcHkgYnV0dG9uIG9uIGNvZGUgc25pcHBldHMgdG8gY29weSBjb2RlIHRvIGNsaXBib2FyZC5cbiAgICpcbiAgICovXG4gIEBJbnB1dCgpIGNvcHlDb2RlVG9DbGlwYm9hcmQ/ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIGNvcHlDb2RlVG9vbHRpcHM/OiBJQ29weUNvZGVUb29sdGlwc1xuICAgKlxuICAgKiBUb29sdGlwcyBmb3IgY29weSBidXR0b24gdG8gY29weSBhbmQgdXBvbiBjb3B5aW5nLlxuICAgKi9cbiAgQElucHV0KCkgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzID0ge307XG5cbiAgLyoqXG4gICAqIGZvb3Rlcj86IFR5cGU8YW55PlxuICAgKlxuICAgKiBDb21wb25lbnQgdG8gYmUgZGlzcGxheWVkIGluIGZvb3RlclxuICAgKi9cbiAgQElucHV0KCkgZm9vdGVyPzogYW55O1xuXG4gIC8qKlxuICAgKiBjb21wYXJlV2l0aD86IElNYXJrZG93bk5hdmlnYXRvckNvbXBhcmVXaXRoXG4gICAqXG4gICAqIEZ1bmN0aW9uIHVzZWQgdG8gZmluZCBzdGFydEF0IGl0ZW1cbiAgICogRGVmYXVsdHMgdG8gY29tcGFyaXNvbiBieSBzdHJpY3QgZXF1YWxpdHkgKD09PSlcbiAgICovXG4gIEBJbnB1dCgpIGNvbXBhcmVXaXRoPzogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGg7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3RlZDogRXZlbnRFbWl0dGVyPElNYXJrZG93bk5hdmlnYXRvckl0ZW0+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZCgnbWFya2Rvd25XcmFwcGVyJykgbWFya2Rvd25XcmFwcGVyITogRWxlbWVudFJlZjtcblxuICBoaXN0b3J5U3RhY2s6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSA9IFtdOyAvLyBoaXN0b3J5XG4gIGN1cnJlbnRNYXJrZG93bkl0ZW0/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtOyAvLyBjdXJyZW50bHkgcmVuZGVyZWRcbiAgY3VycmVudE1lbnVJdGVtcz86IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSA9IFtdOyAvLyBjdXJyZW50IG1lbnUgaXRlbXNcbiAgbG9hZGluZyA9IGZhbHNlO1xuXG4gIG1hcmtkb3duTG9hZGVyRXJyb3I/OiBzdHJpbmc7XG4gIGNoaWxkcmVuVXJsRXJyb3I/OiBzdHJpbmc7XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBjbGlja0xpc3RlbmVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldDtcbiAgICAvLyBVc2UgY2xvc2VzdCgpIHRvIGhhbmRsZSBjbGlja3Mgb24gbmVzdGVkIGVsZW1lbnRzIGluc2lkZSBsaW5rc1xuICAgIGNvbnN0IGFuY2hvcjogSFRNTEFuY2hvckVsZW1lbnQgfCBudWxsID0gZWxlbWVudC5jbG9zZXN0KCdhW2hyZWZdJyk7XG5cbiAgICBpZiAoYW5jaG9yICYmIGlzTWFya2Rvd25IcmVmKGFuY2hvcikpIHtcbiAgICAgIHRoaXMuaGFuZGxlTGlua0NsaWNrKGV2ZW50LCBhbmNob3IpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaG93R29CYWNrQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhpc3RvcnlTdGFjay5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0IHNob3dIZWFkZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jdXJyZW50SXRlbVRpdGxlO1xuICB9XG5cbiAgZ2V0IHNob3dNZW51KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHNob3dNZW51ID0gdGhpcy5jdXJyZW50TWVudUl0ZW1zICYmIHRoaXMuY3VycmVudE1lbnVJdGVtcy5sZW5ndGggPiAwO1xuICAgIHJldHVybiBzaG93TWVudSA/PyBmYWxzZTtcbiAgfVxuXG4gIGdldCBzaG93VGRNYXJrZG93bkxvYWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gJiZcbiAgICAgICEhdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtLnVybCAmJlxuICAgICAgIXRoaXMuc2hvd1RkTWFya2Rvd25cbiAgICApO1xuICB9XG5cbiAgZ2V0IHNob3dUZE1hcmtkb3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMuY3VycmVudE1hcmtkb3duSXRlbSAmJiAhIXRoaXMuY3VycmVudE1hcmtkb3duSXRlbS5tYXJrZG93blN0cmluZ1xuICAgICk7XG4gIH1cblxuICBnZXQgdXJsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1hcmtkb3duSXRlbS51cmw7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXQgZm9vdGVyQ29tcG9uZW50KCk6IGFueSB7XG4gICAgaWYgKHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSAmJiB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0uZm9vdGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtLmZvb3RlcjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZm9vdGVyO1xuICB9XG4gIGdldCBodHRwT3B0aW9ucygpOiBvYmplY3QgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0pIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0uaHR0cE9wdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgZ2V0IG1hcmtkb3duU3RyaW5nKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudE1hcmtkb3duSXRlbSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudE1hcmtkb3duSXRlbS5tYXJrZG93blN0cmluZztcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBhbmNob3IoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5jdXJyZW50TWFya2Rvd25JdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtLmFuY2hvcjtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldCBzaG93RW1wdHlTdGF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXRlbXMgfHwgdGhpcy5pdGVtcy5sZW5ndGggPCAxO1xuICB9XG5cbiAgZ2V0IGdvSG9tZUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5nb0hvbWUpIHx8XG4gICAgICBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9MQUJFTFMuZ29Ib21lXG4gICAgKTtcbiAgfVxuXG4gIGdldCBnb0JhY2tMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMuZ29CYWNrKSB8fFxuICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfTEFCRUxTLmdvQmFja1xuICAgICk7XG4gIH1cblxuICBnZXQgZW1wdHlTdGF0ZUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5lbXB0eVN0YXRlKSB8fFxuICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfTEFCRUxTLmVtcHR5U3RhdGVcbiAgICApO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRJdGVtVGl0bGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5jdXJyZW50TWFya2Rvd25JdGVtKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUaXRsZSh0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oaXN0b3J5U3RhY2subGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0VGl0bGUodGhpcy5oaXN0b3J5U3RhY2tbdGhpcy5oaXN0b3J5U3RhY2subGVuZ3RoIC0gMV0pO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXQgbmF2aWdhdGlvbkJyZWFkY3J1bWJzKCk6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMuaGlzdG9yeVN0YWNrLnNsaWNlKDAsIC0xKTtcbiAgfVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoY2hhbmdlc1snaXRlbXMnXSkge1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc3RhcnRBdCddICYmIHRoaXMuaXRlbXMgJiYgdGhpcy5zdGFydEF0KSB7XG4gICAgICB0aGlzLl9qdW1wVG8odGhpcy5zdGFydEF0LCB1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIGhhc0NoaWxkcmVuT3JDaGlsZHJlblVybChpdGVtOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChpdGVtLmNoaWxkcmVuICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID4gMCkgfHwgISFpdGVtLmNoaWxkcmVuVXJsO1xuICB9XG4gIGNsZWFyRXJyb3JzKCk6IHZvaWQge1xuICAgIHRoaXMubWFya2Rvd25Mb2FkZXJFcnJvciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNoaWxkcmVuVXJsRXJyb3IgPSB1bmRlZmluZWQ7XG4gIH1cblxuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLmNsZWFyRXJyb3JzKCk7XG4gICAgLy8gaWYgc2luZ2xlIGl0ZW0gYW5kIG5vIGNoaWxkcmVuXG4gICAgaWYgKFxuICAgICAgdGhpcy5pdGVtcyAmJlxuICAgICAgdGhpcy5pdGVtcy5sZW5ndGggPT09IDEgJiZcbiAgICAgICF0aGlzLmhhc0NoaWxkcmVuT3JDaGlsZHJlblVybCh0aGlzLml0ZW1zWzBdKVxuICAgICkge1xuICAgICAgdGhpcy5jdXJyZW50TWVudUl0ZW1zID0gW107XG4gICAgICB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gPSB0aGlzLml0ZW1zWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRNZW51SXRlbXMgPSB0aGlzLml0ZW1zO1xuICAgICAgdGhpcy5jdXJyZW50TWFya2Rvd25JdGVtID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLmhpc3RvcnlTdGFjayA9IFtdO1xuICAgIHRoaXMuaXRlbVNlbGVjdGVkLmVtaXQodW5kZWZpbmVkKTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdvQmFjayhnb0JhY2tMZW5ndGggPSAyKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jbGVhckVycm9ycygpO1xuICAgIGxldCBwYXJlbnQ6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0gfCB1bmRlZmluZWQgPVxuICAgICAgdGhpcy5oaXN0b3J5U3RhY2tbdGhpcy5oaXN0b3J5U3RhY2subGVuZ3RoIC0gZ29CYWNrTGVuZ3RoXTtcblxuICAgIGlmIChwYXJlbnQ/LnN0YXJ0QXRMaW5rKSB7XG4gICAgICBwYXJlbnQgPSB0aGlzLmhpc3RvcnlTdGFja1t0aGlzLmhpc3RvcnlTdGFjay5sZW5ndGggLSAzXVxuICAgICAgICA/IHRoaXMuaGlzdG9yeVN0YWNrW3RoaXMuaGlzdG9yeVN0YWNrLmxlbmd0aCAtIDNdXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy5oaXN0b3J5U3RhY2sgPSB0aGlzLmhpc3RvcnlTdGFjay5zbGljZSgwLCAtZ29CYWNrTGVuZ3RoKTtcbiAgICB9XG5cbiAgICBpZiAocGFyZW50KSB7XG4gICAgICB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gPSBwYXJlbnQ7XG4gICAgICB0aGlzLmhpc3RvcnlTdGFjayA9IHRoaXMuaGlzdG9yeVN0YWNrLnNsaWNlKFxuICAgICAgICAwLFxuICAgICAgICB0aGlzLmhpc3RvcnlTdGFjay5sZW5ndGggLSBnb0JhY2tMZW5ndGggKyAxLFxuICAgICAgKTtcbiAgICAgIHRoaXMuc2V0Q2hpbGRyZW5Bc0N1cnJlbnRNZW51SXRlbXMocGFyZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cbiAgICB0aGlzLml0ZW1TZWxlY3RlZC5lbWl0KHBhcmVudCk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBoYW5kbGVJdGVtU2VsZWN0ZWQoaXRlbTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJFcnJvcnMoKTtcbiAgICB0aGlzLmN1cnJlbnRNYXJrZG93bkl0ZW0gPSBpdGVtO1xuICAgIHRoaXMuaGlzdG9yeVN0YWNrID0gWy4uLnRoaXMuaGlzdG9yeVN0YWNrLCBpdGVtXTtcbiAgICB0aGlzLnNldENoaWxkcmVuQXNDdXJyZW50TWVudUl0ZW1zKGl0ZW0pO1xuICAgIHRoaXMuaXRlbVNlbGVjdGVkLmVtaXQoaXRlbSk7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBhc3luYyBzZXRDaGlsZHJlbkFzQ3VycmVudE1lbnVJdGVtcyhcbiAgICBpdGVtOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmN1cnJlbnRNZW51SXRlbXMgPSBbXTtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgY29uc3Qgc3RhY2tTbmFwc2hvdDogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gdGhpcy5oaXN0b3J5U3RhY2s7XG4gICAgbGV0IGNoaWxkcmVuOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSBbXTtcbiAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xuICAgICAgY2hpbGRyZW4gPSBpdGVtLmNoaWxkcmVuO1xuICAgIH0gZWxzZSBpZiAoaXRlbS5jaGlsZHJlblVybCkge1xuICAgICAgY2hpbGRyZW4gPSBhd2FpdCB0aGlzLmxvYWRDaGlsZHJlblVybChpdGVtKTtcbiAgICB9XG4gICAgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCAmJiBpdGVtLnN0YXJ0QXRMaW5rKSB7XG4gICAgICB0aGlzLl9qdW1wVG8oaXRlbS5zdGFydEF0TGluaywgY2hpbGRyZW4pO1xuICAgIH1cbiAgICBjb25zdCBuZXdTdGFja1NuYXBzaG90OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSB0aGlzLmhpc3RvcnlTdGFjaztcbiAgICBpZiAoXG4gICAgICBzdGFja1NuYXBzaG90Lmxlbmd0aCA9PT0gbmV3U3RhY2tTbmFwc2hvdC5sZW5ndGggJiZcbiAgICAgIHN0YWNrU25hcHNob3QuZXZlcnkoXG4gICAgICAgIChzdGFja0l0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sIGluZGV4OiBudW1iZXIpID0+XG4gICAgICAgICAgc3RhY2tJdGVtID09PSBuZXdTdGFja1NuYXBzaG90W2luZGV4XSxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuY3VycmVudE1lbnVJdGVtcyA9IGNoaWxkcmVuO1xuICAgIH1cblxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgYXN5bmMgbG9hZENoaWxkcmVuVXJsKFxuICAgIGl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4gICk6IFByb21pc2U8SU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdPiB7XG4gICAgY29uc3Qgc2FuaXRpemVkVXJsID1cbiAgICAgIHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuVVJMLCBpdGVtLmNoaWxkcmVuVXJsID8/IG51bGwpID8/XG4gICAgICAnJztcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IGZpcnN0VmFsdWVGcm9tPElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXT4oXG4gICAgICAgIHRoaXMuX2h0dHAuZ2V0PElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXT4oc2FuaXRpemVkVXJsLCB7XG4gICAgICAgICAgLi4uaXRlbS5odHRwT3B0aW9ucyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHRoaXMuaGFuZGxlQ2hpbGRyZW5VcmxFcnJvcihlcnJvcik7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgZ2V0VGl0bGUoaXRlbTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSk6IHN0cmluZyB7XG4gICAgaWYgKCFpdGVtKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICByZW1vdmVMZWFkaW5nSGFzaChpdGVtLmFuY2hvciA/PyAnJykgfHxcbiAgICAgIGl0ZW0udGl0bGUgfHxcbiAgICAgIGdldFRpdGxlRnJvbU1hcmtkb3duU3RyaW5nKGl0ZW0ubWFya2Rvd25TdHJpbmcgPz8gJycpIHx8XG4gICAgICBnZXRUaXRsZUZyb21VcmwoaXRlbS51cmwgPz8gJycpIHx8XG4gICAgICAnJ1xuICAgICkudHJpbSgpO1xuICB9XG5cbiAgZ2V0SWNvbihpdGVtOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtKTogc3RyaW5nIHtcbiAgICBjb25zdCBpY29uID0gaXRlbT8uaWNvbiB8fCAnc3ViamVjdCc7XG4gICAgcmV0dXJuIGljb24uc3BsaXQoJzsnKVswXTtcbiAgfVxuXG4gIGlzQ292YWxlbnRJY29uKGl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0pOiBib29sZWFuIHtcbiAgICBpZiAoIWl0ZW0/Lmljb24pIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gaXRlbT8uaWNvbi5pbmNsdWRlcygnO2NvdmFsZW50Jyk7XG4gIH1cblxuICBoYW5kbGVDaGlsZHJlblVybEVycm9yKGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuY2hpbGRyZW5VcmxFcnJvciA9IGVycm9yLm1lc3NhZ2U7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBoYW5kbGVNYXJrZG93bkxvYWRlckVycm9yKGVycm9yOiBFcnJvcik6IHZvaWQge1xuICAgIHRoaXMubWFya2Rvd25Mb2FkZXJFcnJvciA9IGVycm9yID8gZXJyb3IubWVzc2FnZSA6ICcnO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfanVtcFRvKFxuICAgIGl0ZW1PclBhdGg6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0gfCBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10sXG4gICAgY2hpbGRyZW4/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10sXG4gICAgc2hvdWxkUmVzZXQgPSB0cnVlLFxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBoaXN0b3J5U3RhY2s6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSA9IHRoaXMuaGlzdG9yeVN0YWNrO1xuICAgIGxldCBwYXRoOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSBbXTtcblxuICAgIGlmICh0aGlzLml0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW1PclBhdGgpKSB7XG4gICAgICAgIHBhdGggPSBhd2FpdCB0aGlzLmZvbGxvd1BhdGgodGhpcy5pdGVtcywgaXRlbU9yUGF0aCk7XG4gICAgICB9IGVsc2UgaWYgKGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5oaXN0b3J5U3RhY2sgPSBoaXN0b3J5U3RhY2s7XG4gICAgICAgIHBhdGggPSB0aGlzLmZpbmRQYXRoKGNoaWxkcmVuLCBpdGVtT3JQYXRoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhdGggPSB0aGlzLmZpbmRQYXRoKHRoaXMuaXRlbXMsIGl0ZW1PclBhdGgpO1xuICAgICAgfVxuXG4gICAgICAvLyBXaGVuIG5hdmlnYXRpbmcgdGhyb3VnaCBpbnRlcm5hbCBsaW5rcyAoc2hvdWxkUmVzZXQgPSBmYWxzZSksXG4gICAgICAvLyBvbmx5IG5hdmlnYXRlIHRvIHRoZSBmaW5hbCBkZXN0aW5hdGlvbiwgbm90IHRoZSBlbnRpcmUgcGF0aCxcbiAgICAgIC8vIHRvIGF2b2lkIGR1cGxpY2F0aW5nIHBhcmVudCBpdGVtcyBhbHJlYWR5IGluIGhpc3RvcnlTdGFja1xuICAgICAgaWYgKCFzaG91bGRSZXNldCAmJiBwYXRoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgZGVzdGluYXRpb24gPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV07XG4gICAgICAgIHRoaXMuaGFuZGxlSXRlbVNlbGVjdGVkKGRlc3RpbmF0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhdGguZm9yRWFjaCgocGF0aEl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgaWYgKGluZGV4ID09PSAwICYmIHNob3VsZFJlc2V0KSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5oYW5kbGVJdGVtU2VsZWN0ZWQocGF0aEl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gISFwYXRoLmxlbmd0aDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZm9sbG93UGF0aChcbiAgICBpdGVtczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdLFxuICAgIHBhdGg6IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSxcbiAgKTogUHJvbWlzZTxJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10+IHtcbiAgICBsZXQgcGF0aEl0ZW1zOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSBbXTtcbiAgICBsZXQgY3VycmVudExldmVsOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW10gPSBpdGVtcztcbiAgICBjb25zdCBjb21wYXJlV2l0aDogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGggPVxuICAgICAgdGhpcy5jb21wYXJlV2l0aCB8fCBkZWZhdWx0Q29tcGFyZVdpdGg7XG4gICAgZm9yIChjb25zdCBwYXRoSXRlbSBvZiBwYXRoKSB7XG4gICAgICBjb25zdCBmb3VuZEl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0gfCB1bmRlZmluZWQgPSBjdXJyZW50TGV2ZWwuZmluZChcbiAgICAgICAgKGl0ZW06IElNYXJrZG93bk5hdmlnYXRvckl0ZW0pID0+IGNvbXBhcmVXaXRoKHBhdGhJdGVtLCBpdGVtKSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChmb3VuZEl0ZW0pIHtcbiAgICAgICAgcGF0aEl0ZW1zID0gWy4uLnBhdGhJdGVtcywgZm91bmRJdGVtXTtcblxuICAgICAgICBpZiAoZm91bmRJdGVtLmNoaWxkcmVuKSB7XG4gICAgICAgICAgY3VycmVudExldmVsID0gZm91bmRJdGVtLmNoaWxkcmVuO1xuICAgICAgICB9IGVsc2UgaWYgKGZvdW5kSXRlbS5jaGlsZHJlblVybCkge1xuICAgICAgICAgIGN1cnJlbnRMZXZlbCA9IGF3YWl0IHRoaXMubG9hZENoaWxkcmVuVXJsKGZvdW5kSXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocGF0aEl0ZW1zLmxlbmd0aCAhPT0gcGF0aC5sZW5ndGgpIHtcbiAgICAgIHBhdGhJdGVtcyA9IFtdO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aEl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUGF0aChcbiAgICBpdGVtcz86IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXSxcbiAgICBpdGVtPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgKTogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdIHtcbiAgICBjb25zdCBjb21wYXJlV2l0aDogSU1hcmtkb3duTmF2aWdhdG9yQ29tcGFyZVdpdGggPVxuICAgICAgdGhpcy5jb21wYXJlV2l0aCB8fCBkZWZhdWx0Q29tcGFyZVdpdGg7XG4gICAgaWYgKGl0ZW1zKSB7XG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGl0ZW1zKSB7XG4gICAgICAgIGlmIChpdGVtICYmIGNvbXBhcmVXaXRoKGNoaWxkLCBpdGVtKSkge1xuICAgICAgICAgIHJldHVybiBbY2hpbGRdO1xuICAgICAgICB9XG4gICAgICAgIC8vIEFsc28gdHJ5IHRvIG1hdGNoIGJ5IFVSTCBmaWxlbmFtZSBwYXR0ZXJuIGZvciBpbnRlcm5hbCBsaW5rc1xuICAgICAgICBpZiAoXG4gICAgICAgICAgaXRlbT8udXJsICYmXG4gICAgICAgICAgY2hpbGQudXJsICYmXG4gICAgICAgICAgdGhpcy51cmxzTWF0Y2hCeUZpbGVuYW1lKGNoaWxkLnVybCwgaXRlbS51cmwpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBbY2hpbGRdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFuY2VzdG9yczogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdID0gdGhpcy5maW5kUGF0aChcbiAgICAgICAgICBjaGlsZC5jaGlsZHJlbixcbiAgICAgICAgICBpdGVtLFxuICAgICAgICApO1xuICAgICAgICBpZiAoYW5jZXN0b3JzLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiBbY2hpbGQsIC4uLmFuY2VzdG9yc107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHJpdmF0ZSB1cmxzTWF0Y2hCeUZpbGVuYW1lKHVybDE6IHN0cmluZywgdXJsMjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEV4dHJhY3QgZmlsZW5hbWUgYW5kIHN0cmlwIHF1ZXJ5IHBhcmFtcyAoPy4uLikgYW5kIGhhc2ggZnJhZ21lbnRzICgjLi4uKVxuICAgICAgY29uc3QgZmlsZW5hbWUxID1cbiAgICAgICAgdXJsMS5zcGxpdCgnLycpLnBvcCgpPy5zcGxpdCgnPycpWzBdLnNwbGl0KCcjJylbMF0gPz8gJyc7XG4gICAgICBjb25zdCBmaWxlbmFtZTIgPVxuICAgICAgICB1cmwyLnNwbGl0KCcvJykucG9wKCk/LnNwbGl0KCc/JylbMF0uc3BsaXQoJyMnKVswXSA/PyAnJztcbiAgICAgIHJldHVybiBmaWxlbmFtZTEgIT09ICcnICYmIGZpbGVuYW1lMiAhPT0gJycgJiYgZmlsZW5hbWUxID09PSBmaWxlbmFtZTI7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVMaW5rQ2xpY2soXG4gICAgZXZlbnQ6IEV2ZW50LFxuICAgIGxpbms6IEhUTUxBbmNob3JFbGVtZW50LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IHVybDogVVJMID0gbmV3IFVSTChsaW5rLmhyZWYpO1xuICAgIGNvbnN0IHVybFBhcnRzID0gdXJsLmhyZWYuc3BsaXQoJy8nKTtcbiAgICBjb25zdCBpZCA9IHVybFBhcnRzW3VybFBhcnRzLmxlbmd0aCAtIDFdLnNwbGl0KCcubWQnKVswXTtcblxuICAgIC8vIENhcHR1cmUgbGluayB0ZXh0IGZvciBiZXR0ZXIgVVggLSBQaGFzZSAxXG4gICAgY29uc3QgbGlua1RleHQgPSBsaW5rLnRleHRDb250ZW50Py50cmltKCkgfHwgJyc7XG5cbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgLy8gVHJ5IHRvIGZpbmQgYnkgSUQgZmlyc3QgKHJlbGF0aXZlIG5hdmlnYXRpb24sIHByZXNlcnZlIGhpc3RvcnkpXG4gICAgY29uc3QgcGF0aEZvdW5kID0gYXdhaXQgdGhpcy5fanVtcFRvKHsgaWQgfSwgdW5kZWZpbmVkLCBmYWxzZSk7XG5cbiAgICBpZiAocGF0aEZvdW5kKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVHJ5IHRvIGZpbmQgYnkgVVJMIHBhdHRlcm4gLSBQaGFzZSAyIChyZWxhdGl2ZSBuYXZpZ2F0aW9uLCBwcmVzZXJ2ZSBoaXN0b3J5KVxuICAgIGNvbnN0IGZpbGVuYW1lID0gdXJsUGFydHNbdXJsUGFydHMubGVuZ3RoIC0gMV07XG4gICAgY29uc3QgcGF0aEZvdW5kQnlVcmwgPSBhd2FpdCB0aGlzLl9qdW1wVG8oXG4gICAgICB7IHVybDogZmlsZW5hbWUgfSxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGZhbHNlLFxuICAgICk7XG5cbiAgICBpZiAocGF0aEZvdW5kQnlVcmwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgbWFya2Rvd25TdHJpbmc6IHN0cmluZyA9IGF3YWl0IHRoaXMuX21hcmtkb3duVXJsTG9hZGVyU2VydmljZS5sb2FkKFxuICAgICAgICB1cmwuaHJlZixcbiAgICAgICk7XG4gICAgICAvLyBQYXNzIGxpbmsgdGV4dCBhcyB0aXRsZSBmb3IgaW1tZWRpYXRlIFVYIGltcHJvdmVtZW50IC0gUGhhc2UgMVxuICAgICAgdGhpcy5oYW5kbGVJdGVtU2VsZWN0ZWQoe1xuICAgICAgICBtYXJrZG93blN0cmluZyxcbiAgICAgICAgdXJsOiB1cmwuaHJlZixcbiAgICAgICAgdGl0bGU6IGxpbmtUZXh0IHx8IHVuZGVmaW5lZCwgLy8gVXNlIGxpbmsgdGV4dCBpZiBhdmFpbGFibGVcbiAgICAgIH0pO1xuICAgICAgdGhpcy5tYXJrZG93bldyYXBwZXIubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCB3aW4gPSB3aW5kb3cub3Blbih1cmwuaHJlZiwgJ19ibGFuaycpO1xuICAgICAgd2luPy5mb2N1cygpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0VGl0bGVGcm9tVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHVybCkge1xuICAgIGNvbnN0IHRlbXA6IFVSTCA9IG5ldyBVUkwodXJsKTtcbiAgICBpZiAodGVtcC5oYXNoKSB7XG4gICAgICByZXR1cm4gcmVtb3ZlTGVhZGluZ0hhc2godGVtcC5oYXNoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcGF0aDogc3RyaW5nW10gPSB0ZW1wLnBhdGhuYW1lLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCBmaWxlTmFtZTogc3RyaW5nID0gcGF0aFtwYXRoLmxlbmd0aCAtIDFdO1xuICAgICAgcmV0dXJuIGZpbGVOYW1lLnJlcGxhY2UoL1xcLlteLy5dKyQvLCAnJyk7IC8vIHJlbW92ZSAubWRcbiAgICB9XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBnZXRUaXRsZUZyb21NYXJrZG93blN0cmluZyhtYXJrZG93blN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKG1hcmtkb3duU3RyaW5nKSB7XG4gICAgY29uc3QgZmlyc3RMaW5lOiBzdHJpbmcgPVxuICAgICAgbWFya2Rvd25TdHJpbmcuc3BsaXQoL1tcXHJcXG5dKy8pLmZpbmQoKGxpbmU6IHN0cmluZykgPT4gISFsaW5lKSA/PyAnJztcbiAgICByZXR1cm4gcmVtb3ZlTGVhZGluZ0hhc2goZmlyc3RMaW5lKS50cmltKCk7XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBpc01hcmtkb3duSHJlZihhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiAhaXNBbmNob3JMaW5rKGFuY2hvcikgJiYgYW5jaG9yLnBhdGhuYW1lLmVuZHNXaXRoKCcubWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDb21wYXJlV2l0aChcbiAgbzE6IElNYXJrZG93bk5hdmlnYXRvckl0ZW0sXG4gIG8yOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLFxuKTogYm9vbGVhbiB7XG4gIGlmIChvMS5pZCAmJiBvMi5pZCkge1xuICAgIHJldHVybiBvMS5pZCA9PT0gbzIuaWQ7XG4gIH1cbiAgcmV0dXJuIG8xID09PSBvMjtcbn1cbiIsIkBpZiAoIXNob3dFbXB0eVN0YXRlKSB7XG4gIDxuZy1jb250YWluZXI+XG4gICAgQGlmIChsb2FkaW5nKSB7XG4gICAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGNvbG9yPVwiYWNjZW50XCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgIH1cblxuICAgIEBpZiAoc2hvd0hlYWRlcikge1xuICAgICAgPHRkLWJyZWFkY3J1bWJzIHNpemU9XCJjYXB0aW9uXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgdGQtYnJlYWRjcnVtYlxuICAgICAgICAgIFttYXRUb29sdGlwXT1cImdvSG9tZUxhYmVsID8/ICcnXCJcbiAgICAgICAgICAoY2xpY2spPVwicmVzZXQoKVwiXG4gICAgICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cIidob21lLWJ1dHRvbidcIlxuICAgICAgICAgID5Ib21lPC9hXG4gICAgICAgID5cblxuICAgICAgICBAZm9yIChcbiAgICAgICAgICBpdGVtIG9mIG5hdmlnYXRpb25CcmVhZGNydW1icztcbiAgICAgICAgICBsZXQgaW5kZXggPSAkaW5kZXg7XG4gICAgICAgICAgdHJhY2sgaXRlbS5pZCA/PyBpbmRleFxuICAgICAgICApIHtcbiAgICAgICAgICA8YVxuICAgICAgICAgICAgdGQtYnJlYWRjcnVtYlxuICAgICAgICAgICAgKGNsaWNrKT1cImdvQmFjayhoaXN0b3J5U3RhY2subGVuZ3RoIC0gaW5kZXgpXCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtdGVzdF09XCInYmFjay1idXR0b24tJyArIGluZGV4XCJcbiAgICAgICAgICAgID57eyBnZXRUaXRsZShpdGVtKSB9fTwvYVxuICAgICAgICAgID5cbiAgICAgICAgfVxuICAgICAgPC90ZC1icmVhZGNydW1icz5cblxuICAgICAgPGRpdiBjbGFzcz1cImJyZWFkY3J1bWItY3VycmVudC10aXRsZVwiIFthdHRyLmRhdGEtdGVzdF09XCIndGl0bGUnXCI+XG4gICAgICAgIHt7IGN1cnJlbnRJdGVtVGl0bGUgfX1cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJzY3JvbGwtYXJlYVwiIGlkPVwidGQtbWFya2Rvd24tbmF2aWdhdG9yLWNvbnRlbnRcIj5cbiAgICAgIEBpZiAoc2hvd1RkTWFya2Rvd25Mb2FkZXIgfHwgc2hvd1RkTWFya2Rvd24pIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hcmtkb3duLXdyYXBwZXJcIiAjbWFya2Rvd25XcmFwcGVyPlxuICAgICAgICAgIEBpZiAobWFya2Rvd25Mb2FkZXJFcnJvcikge1xuICAgICAgICAgICAgPHRkLW1lc3NhZ2VcbiAgICAgICAgICAgICAgW3N1YmxhYmVsXT1cIm1hcmtkb3duTG9hZGVyRXJyb3JcIlxuICAgICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgICAgICBpY29uPVwiZXJyb3JcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiJ21hcmtkb3duLWxvYWRlci1lcnJvcidcIlxuICAgICAgICAgICAgPjwvdGQtbWVzc2FnZT5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKHNob3dUZE1hcmtkb3duTG9hZGVyKSB7XG4gICAgICAgICAgICA8dGQtZmxhdm9yZWQtbWFya2Rvd24tbG9hZGVyXG4gICAgICAgICAgICAgIFt1cmxdPVwidXJsID8/ICcnXCJcbiAgICAgICAgICAgICAgW2h0dHBPcHRpb25zXT1cImh0dHBPcHRpb25zID8/IHt9XCJcbiAgICAgICAgICAgICAgW2FuY2hvcl09XCJhbmNob3IgPz8gJydcIlxuICAgICAgICAgICAgICBbY29weUNvZGVUb0NsaXBib2FyZF09XCJjb3B5Q29kZVRvQ2xpcGJvYXJkXCJcbiAgICAgICAgICAgICAgW2NvcHlDb2RlVG9vbHRpcHNdPVwiY29weUNvZGVUb29sdGlwc1wiXG4gICAgICAgICAgICAgIChsb2FkRmFpbGVkKT1cImhhbmRsZU1hcmtkb3duTG9hZGVyRXJyb3IoJGV2ZW50KVwiXG4gICAgICAgICAgICAgIChidXR0b25DbGlja2VkKT1cImJ1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L3RkLWZsYXZvcmVkLW1hcmtkb3duLWxvYWRlcj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgKHNob3dUZE1hcmtkb3duKSB7XG4gICAgICAgICAgICA8dGQtZmxhdm9yZWQtbWFya2Rvd25cbiAgICAgICAgICAgICAgW2NvbnRlbnRdPVwibWFya2Rvd25TdHJpbmcgPz8gJydcIlxuICAgICAgICAgICAgICBbaG9zdGVkVXJsXT1cInVybCA/PyAnJ1wiXG4gICAgICAgICAgICAgIFthbmNob3JdPVwiYW5jaG9yID8/ICcnXCJcbiAgICAgICAgICAgICAgW2NvcHlDb2RlVG9DbGlwYm9hcmRdPVwiY29weUNvZGVUb0NsaXBib2FyZFwiXG4gICAgICAgICAgICAgIFtjb3B5Q29kZVRvb2x0aXBzXT1cImNvcHlDb2RlVG9vbHRpcHNcIlxuICAgICAgICAgICAgICAoYnV0dG9uQ2xpY2tlZCk9XCJidXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC90ZC1mbGF2b3JlZC1tYXJrZG93bj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAaWYgKGNoaWxkcmVuVXJsRXJyb3IpIHtcbiAgICAgICAgPHRkLW1lc3NhZ2VcbiAgICAgICAgICBbc3VibGFiZWxdPVwiY2hpbGRyZW5VcmxFcnJvclwiXG4gICAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICBpY29uPVwiZXJyb3JcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdGVzdF09XCInY2hpbGRyZW4tdXJsLWVycm9yJ1wiXG4gICAgICAgID48L3RkLW1lc3NhZ2U+XG4gICAgICB9XG5cbiAgICAgIEBpZiAoc2hvd01lbnUpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cInRkLW1hcmtkb3duLWxpc3RcIj5cbiAgICAgICAgICA8bWF0LWFjdGlvbi1saXN0PlxuICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgIGl0ZW0gb2YgY3VycmVudE1lbnVJdGVtcztcbiAgICAgICAgICAgICAgbGV0IGluZGV4ID0gJGluZGV4O1xuICAgICAgICAgICAgICB0cmFjayBpdGVtLmlkID8/IGluZGV4XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIFtpZF09XCJcbiAgICAgICAgICAgICAgICAgICd0ZC1tYXJrZG93bi1uYXZpZ2F0b3ItbGlzdC1pdGVtLScgK1xuICAgICAgICAgICAgICAgICAgKGl0ZW0uaWQgPyBpdGVtLmlkIDogaW5kZXgpXG4gICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlSXRlbVNlbGVjdGVkKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICBtYXQtbGlzdC1pdGVtXG4gICAgICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiZ2V0VGl0bGUoaXRlbSlcIlxuICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlZm9yZVwiXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgIG1hdExpc3RJdGVtSWNvblxuICAgICAgICAgICAgICAgICAgW2ZvbnRTZXRdPVwiaXNDb3ZhbGVudEljb24oaXRlbSkgPyAnY292YWxlbnQtaWNvbnMnIDogJydcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IGdldEljb24oaXRlbSkgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuIG1hdExpc3RJdGVtVGl0bGUgY2xhc3M9XCJ0cnVuY2F0ZVwiPlxuICAgICAgICAgICAgICAgICAge3sgZ2V0VGl0bGUoaXRlbSkgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gbWF0TGlzdEl0ZW1MaW5lIGNsYXNzPVwidHJ1bmNhdGVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbWF0LWFjdGlvbi1saXN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiZm9vdGVyQ29tcG9uZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxufVxuXG5AaWYgKHNob3dFbXB0eVN0YXRlKSB7XG4gIDxkaXYgbGF5b3V0PVwiY29sdW1uXCIgbGF5b3V0LWFsaWduPVwiY2VudGVyIGNlbnRlclwiIGNsYXNzPVwiZW1wdHktc3RhdGVcIj5cbiAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1BdmF0YXI+c3ViamVjdDwvbWF0LWljb24+XG4gICAgPGgyPnt7IGVtcHR5U3RhdGVMYWJlbCB9fTwvaDI+XG4gIDwvZGl2PlxufVxuIl19","import { Component, Output, EventEmitter, Input, ChangeDetectionStrategy, Type, } from '@angular/core';\nimport { TdMarkdownNavigatorComponent, } from '../markdown-navigator.component';\nimport { TdWindowDialogComponent } from '@covalent/core/dialogs';\nimport * as i0 from \"@angular/core\";\nexport const DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS = {\n title: 'Help',\n close: 'Close',\n dock: 'Dock',\n unDock: 'Undock',\n};\nexport class TdMarkdownNavigatorWindowComponent {\n items;\n labels;\n toolbarColor = 'primary';\n startAt;\n compareWith;\n docked = false;\n copyCodeToClipboard = false;\n copyCodeTooltips = {};\n footer;\n closed = new EventEmitter();\n dockToggled = new EventEmitter();\n buttonClicked = new EventEmitter();\n itemSelected = new EventEmitter();\n get markdownNavigatorLabels() {\n if (!this.labels) {\n return undefined;\n }\n const { goHome, goBack, emptyState } = this.labels;\n return {\n goHome,\n goBack,\n emptyState,\n };\n }\n get titleLabel() {\n return ((this.labels && this.labels.title) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.title);\n }\n get closeLabel() {\n return ((this.labels && this.labels.close) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.close);\n }\n get toggleDockedStateLabel() {\n if (this.docked) {\n return ((this.labels && this.labels.unDock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.unDock);\n }\n else {\n return ((this.labels && this.labels.dock) ||\n DEFAULT_MARKDOWN_NAVIGATOR_WINDOW_LABELS.dock);\n }\n }\n toggleDockedState() {\n this.dockToggled.emit(this.docked);\n }\n static ɵfac = function TdMarkdownNavigatorWindowComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorWindowComponent)(); };\n static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TdMarkdownNavigatorWindowComponent, selectors: [[\"td-markdown-navigator-window\"]], inputs: { items: \"items\", labels: \"labels\", toolbarColor: \"toolbarColor\", startAt: \"startAt\", compareWith: \"compareWith\", docked: \"docked\", copyCodeToClipboard: \"copyCodeToClipboard\", copyCodeTooltips: \"copyCodeTooltips\", footer: \"footer\" }, outputs: { closed: \"closed\", dockToggled: \"dockToggled\", buttonClicked: \"buttonClicked\", itemSelected: \"itemSelected\" }, decls: 2, vars: 14, consts: [[3, \"dockToggled\", \"closed\", \"toolbarColor\", \"docked\", \"title\", \"toggleDockedStateLabel\", \"closeLabel\"], [3, \"buttonClicked\", \"itemSelected\", \"items\", \"labels\", \"startAt\", \"compareWith\", \"footer\", \"copyCodeToClipboard\", \"copyCodeTooltips\"]], template: function TdMarkdownNavigatorWindowComponent_Template(rf, ctx) { if (rf & 1) {\n i0.ɵɵelementStart(0, \"td-window-dialog\", 0);\n i0.ɵɵlistener(\"dockToggled\", function TdMarkdownNavigatorWindowComponent_Template_td_window_dialog_dockToggled_0_listener() { return ctx.toggleDockedState(); })(\"closed\", function TdMarkdownNavigatorWindowComponent_Template_td_window_dialog_closed_0_listener() { return ctx.closed.emit(); });\n i0.ɵɵelementStart(1, \"td-markdown-navigator\", 1);\n i0.ɵɵlistener(\"buttonClicked\", function TdMarkdownNavigatorWindowComponent_Template_td_markdown_navigator_buttonClicked_1_listener($event) { return ctx.buttonClicked.emit($event); })(\"itemSelected\", function TdMarkdownNavigatorWindowComponent_Template_td_markdown_navigator_itemSelected_1_listener($event) { return ctx.itemSelected.emit($event); });\n i0.ɵɵelementEnd()();\n } if (rf & 2) {\n i0.ɵɵproperty(\"toolbarColor\", ctx.toolbarColor)(\"docked\", ctx.docked)(\"title\", ctx.titleLabel)(\"toggleDockedStateLabel\", ctx.toggleDockedStateLabel)(\"closeLabel\", ctx.closeLabel);\n i0.ɵɵadvance();\n i0.ɵɵstyleProp(\"display\", ctx.docked ? \"none\" : \"inherit\");\n i0.ɵɵproperty(\"items\", ctx.items)(\"labels\", ctx.markdownNavigatorLabels)(\"startAt\", ctx.startAt)(\"compareWith\", ctx.compareWith)(\"footer\", ctx.footer)(\"copyCodeToClipboard\", ctx.copyCodeToClipboard)(\"copyCodeTooltips\", ctx.copyCodeTooltips);\n } }, dependencies: [TdWindowDialogComponent, TdMarkdownNavigatorComponent], styles: [\"[_nghost-%COMP%]{height:100%;display:flex;flex-direction:column}td-markdown-navigator[_ngcontent-%COMP%]{height:calc(100% - 56px)}\"], changeDetection: 0 });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorWindowComponent, [{\n type: Component,\n args: [{ selector: 'td-markdown-navigator-window', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TdWindowDialogComponent, TdMarkdownNavigatorComponent], template: \"<td-window-dialog\\n [toolbarColor]=\\\"toolbarColor\\\"\\n [docked]=\\\"docked\\\"\\n [title]=\\\"titleLabel\\\"\\n [toggleDockedStateLabel]=\\\"toggleDockedStateLabel\\\"\\n [closeLabel]=\\\"closeLabel\\\"\\n (dockToggled)=\\\"toggleDockedState()\\\"\\n (closed)=\\\"closed.emit()\\\"\\n>\\n <td-markdown-navigator\\n [items]=\\\"items\\\"\\n [labels]=\\\"markdownNavigatorLabels\\\"\\n [style.display]=\\\"docked ? 'none' : 'inherit'\\\"\\n [startAt]=\\\"startAt\\\"\\n [compareWith]=\\\"compareWith\\\"\\n [footer]=\\\"footer\\\"\\n [copyCodeToClipboard]=\\\"copyCodeToClipboard\\\"\\n [copyCodeTooltips]=\\\"copyCodeTooltips\\\"\\n (buttonClicked)=\\\"buttonClicked.emit($event)\\\"\\n (itemSelected)=\\\"itemSelected.emit($event)\\\"\\n ></td-markdown-navigator>\\n</td-window-dialog>\\n\", styles: [\":host{height:100%;display:flex;flex-direction:column}td-markdown-navigator{height:calc(100% - 56px)}\\n\"] }]\n }], null, { items: [{\n type: Input\n }], labels: [{\n type: Input\n }], toolbarColor: [{\n type: Input\n }], startAt: [{\n type: Input\n }], compareWith: [{\n type: Input\n }], docked: [{\n type: Input\n }], copyCodeToClipboard: [{\n type: Input\n }], copyCodeTooltips: [{\n type: Input\n }], footer: [{\n type: Input\n }], closed: [{\n type: Output\n }], dockToggled: [{\n type: Output\n }], buttonClicked: [{\n type: Output\n }], itemSelected: [{\n type: Output\n }] }); })();\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassDebugInfo(TdMarkdownNavigatorWindowComponent, { className: \"TdMarkdownNavigatorWindowComponent\", filePath: \"markdown-navigator-window/markdown-navigator-window.component.ts\", lineNumber: 42 }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLW5hdmlnYXRvci9zcmMvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93L21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCx1QkFBdUIsRUFDdkIsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFJTCw0QkFBNEIsR0FDN0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUd6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFTakUsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQ25EO0lBQ0UsS0FBSyxFQUFFLE1BQU07SUFDYixLQUFLLEVBQUUsT0FBTztJQUNkLElBQUksRUFBRSxNQUFNO0lBQ1osTUFBTSxFQUFFLFFBQVE7Q0FDakIsQ0FBQztBQVNKLE1BQU0sT0FBTyxrQ0FBa0M7SUFDcEMsS0FBSyxDQUE0QjtJQUNqQyxNQUFNLENBQWtDO0lBQ3hDLFlBQVksR0FBaUIsU0FBUyxDQUFDO0lBQ3ZDLE9BQU8sQ0FBcUQ7SUFDNUQsV0FBVyxDQUFpQztJQUM1QyxNQUFNLEdBQUksS0FBSyxDQUFDO0lBQ2hCLG1CQUFtQixHQUFJLEtBQUssQ0FBQztJQUM3QixnQkFBZ0IsR0FBdUIsRUFBRSxDQUFDO0lBQzFDLE1BQU0sQ0FBYTtJQUVsQixNQUFNLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDaEQsV0FBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3hELGFBQWEsR0FDckIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUNYLFlBQVksR0FDcEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVyQixJQUFJLHVCQUF1QjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNkLE9BQU87WUFDTCxNQUFNO1lBQ04sTUFBTTtZQUNOLFVBQVU7U0FDWCxDQUFDO0lBQ0osQ0FBQztJQUNELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDbEMsd0NBQXdDLENBQUMsS0FBSyxDQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDbEMsd0NBQXdDLENBQUMsS0FBSyxDQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksc0JBQXNCO1FBQ3hCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7Z0JBQ25DLHdDQUF3QyxDQUFDLE1BQU0sQ0FDaEQsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztnQkFDakMsd0NBQXdDLENBQUMsSUFBSSxDQUM5QyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQzs0SEE3RFUsa0NBQWtDOzZEQUFsQyxrQ0FBa0M7WUN6Qy9DLDJDQVFDO1lBREMsQUFEQSxxSUFBZSx1QkFBbUIsSUFBQyw4R0FDekIsaUJBQWEsSUFBQztZQUV4QixnREFXQztZQURDLEFBREEsb0pBQWlCLDhCQUEwQixJQUFDLHFJQUM1Qiw2QkFBeUIsSUFBQztZQUU5QyxBQURHLGlCQUF3QixFQUNSOztZQWhCakIsQUFEQSxBQURBLEFBREEsQUFEQSwrQ0FBNkIsc0JBQ1oseUJBQ0csc0RBQzZCLDhCQUN4QjtZQU92QixjQUE2QztZQUE3QywwREFBNkM7WUFLN0MsQUFEQSxBQURBLEFBREEsQUFEQSxBQUZBLEFBREEsaUNBQWUsdUNBQ21CLHdCQUVmLGdDQUNRLHNCQUNWLGdEQUMwQiwwQ0FDTjs0QkRzQjdCLHVCQUF1QixFQUFFLDRCQUE0Qjs7aUZBRXBELGtDQUFrQztjQVA5QyxTQUFTOzJCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLHVCQUF1QixFQUFFLDRCQUE0QixDQUFDOztrQkFHL0QsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBQ0wsS0FBSzs7a0JBRUwsTUFBTTs7a0JBQ04sTUFBTTs7a0JBQ04sTUFBTTs7a0JBRU4sTUFBTTs7a0ZBZkksa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtcbiAgSU1hcmtkb3duTmF2aWdhdG9ySXRlbSxcbiAgSU1hcmtkb3duTmF2aWdhdG9yTGFiZWxzLFxuICBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCxcbiAgVGRNYXJrZG93bk5hdmlnYXRvckNvbXBvbmVudCxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJVGRGbGF2b3JlZE1hcmtkb3duQnV0dG9uQ2xpY2tFdmVudCB9IGZyb20gJ0Bjb3ZhbGVudC9mbGF2b3JlZC1tYXJrZG93bic7XG5pbXBvcnQgeyBJQ29weUNvZGVUb29sdGlwcyB9IGZyb20gJ0Bjb3ZhbGVudC9oaWdobGlnaHQnO1xuaW1wb3J0IHsgVGRXaW5kb3dEaWFsb2dDb21wb25lbnQgfSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcblxuZXhwb3J0IGludGVyZmFjZSBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHNcbiAgZXh0ZW5kcyBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMge1xuICB0aXRsZT86IHN0cmluZztcbiAgY2xvc2U/OiBzdHJpbmc7XG4gIGRvY2s/OiBzdHJpbmc7XG4gIHVuRG9jaz86IHN0cmluZztcbn1cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPVxuICB7XG4gICAgdGl0bGU6ICdIZWxwJyxcbiAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICBkb2NrOiAnRG9jaycsXG4gICAgdW5Eb2NrOiAnVW5kb2NrJyxcbiAgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1RkV2luZG93RGlhbG9nQ29tcG9uZW50LCBUZE1hcmtkb3duTmF2aWdhdG9yQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zPzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBASW5wdXQoKSBsYWJlbHM/OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHM7XG4gIEBJbnB1dCgpIHRvb2xiYXJDb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICBASW5wdXQoKSBzdGFydEF0PzogSU1hcmtkb3duTmF2aWdhdG9ySXRlbSB8IElNYXJrZG93bk5hdmlnYXRvckl0ZW1bXTtcbiAgQElucHV0KCkgY29tcGFyZVdpdGg/OiBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aDtcbiAgQElucHV0KCkgZG9ja2VkPyA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvQ2xpcGJvYXJkPyA9IGZhbHNlO1xuICBASW5wdXQoKSBjb3B5Q29kZVRvb2x0aXBzPzogSUNvcHlDb2RlVG9vbHRpcHMgPSB7fTtcbiAgQElucHV0KCkgZm9vdGVyPzogVHlwZTxhbnk+O1xuXG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGRvY2tUb2dnbGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBidXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8SVRkRmxhdm9yZWRNYXJrZG93bkJ1dHRvbkNsaWNrRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxJTWFya2Rvd25OYXZpZ2F0b3JJdGVtPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGdldCBtYXJrZG93bk5hdmlnYXRvckxhYmVscygpOiBJTWFya2Rvd25OYXZpZ2F0b3JMYWJlbHMgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5sYWJlbHMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgeyBnb0hvbWUsIGdvQmFjaywgZW1wdHlTdGF0ZSB9OiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dMYWJlbHMgPVxuICAgICAgdGhpcy5sYWJlbHM7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdvSG9tZSxcbiAgICAgIGdvQmFjayxcbiAgICAgIGVtcHR5U3RhdGUsXG4gICAgfTtcbiAgfVxuICBnZXQgdGl0bGVMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMudGl0bGUpIHx8XG4gICAgICBERUZBVUxUX01BUktET1dOX05BVklHQVRPUl9XSU5ET1dfTEFCRUxTLnRpdGxlXG4gICAgKTtcbiAgfVxuXG4gIGdldCBjbG9zZUxhYmVsKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy5jbG9zZSkgfHxcbiAgICAgIERFRkFVTFRfTUFSS0RPV05fTkFWSUdBVE9SX1dJTkRPV19MQUJFTFMuY2xvc2VcbiAgICApO1xuICB9XG5cbiAgZ2V0IHRvZ2dsZURvY2tlZFN0YXRlTGFiZWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5kb2NrZWQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICh0aGlzLmxhYmVscyAmJiB0aGlzLmxhYmVscy51bkRvY2spIHx8XG4gICAgICAgIERFRkFVTFRfTUFSS0RPV05fTkFWSUdBVE9SX1dJTkRPV19MQUJFTFMudW5Eb2NrXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAodGhpcy5sYWJlbHMgJiYgdGhpcy5sYWJlbHMuZG9jaykgfHxcbiAgICAgICAgREVGQVVMVF9NQVJLRE9XTl9OQVZJR0FUT1JfV0lORE9XX0xBQkVMUy5kb2NrXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZURvY2tlZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZG9ja1RvZ2dsZWQuZW1pdCh0aGlzLmRvY2tlZCk7XG4gIH1cbn1cbiIsIjx0ZC13aW5kb3ctZGlhbG9nXG4gIFt0b29sYmFyQ29sb3JdPVwidG9vbGJhckNvbG9yXCJcbiAgW2RvY2tlZF09XCJkb2NrZWRcIlxuICBbdGl0bGVdPVwidGl0bGVMYWJlbFwiXG4gIFt0b2dnbGVEb2NrZWRTdGF0ZUxhYmVsXT1cInRvZ2dsZURvY2tlZFN0YXRlTGFiZWxcIlxuICBbY2xvc2VMYWJlbF09XCJjbG9zZUxhYmVsXCJcbiAgKGRvY2tUb2dnbGVkKT1cInRvZ2dsZURvY2tlZFN0YXRlKClcIlxuICAoY2xvc2VkKT1cImNsb3NlZC5lbWl0KClcIlxuPlxuICA8dGQtbWFya2Rvd24tbmF2aWdhdG9yXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbbGFiZWxzXT1cIm1hcmtkb3duTmF2aWdhdG9yTGFiZWxzXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCJkb2NrZWQgPyAnbm9uZScgOiAnaW5oZXJpdCdcIlxuICAgIFtzdGFydEF0XT1cInN0YXJ0QXRcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlV2l0aFwiXG4gICAgW2Zvb3Rlcl09XCJmb290ZXJcIlxuICAgIFtjb3B5Q29kZVRvQ2xpcGJvYXJkXT1cImNvcHlDb2RlVG9DbGlwYm9hcmRcIlxuICAgIFtjb3B5Q29kZVRvb2x0aXBzXT1cImNvcHlDb2RlVG9vbHRpcHNcIlxuICAgIChidXR0b25DbGlja2VkKT1cImJ1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAoaXRlbVNlbGVjdGVkKT1cIml0ZW1TZWxlY3RlZC5lbWl0KCRldmVudClcIlxuICA+PC90ZC1tYXJrZG93bi1uYXZpZ2F0b3I+XG48L3RkLXdpbmRvdy1kaWFsb2c+XG4iXX0=","import { Injectable, RendererFactory2, inject, } from '@angular/core';\nimport { TdMarkdownNavigatorWindowComponent, } from '../markdown-navigator-window/markdown-navigator-window.component';\nimport { TdDialogService, ResizableDraggableDialog, } from '@covalent/core/dialogs';\nimport { DOCUMENT } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nconst CDK_OVERLAY_CUSTOM_CLASS = 'td-window-dialog';\nconst DEFAULT_POSITION = { bottom: '0px', right: '0px' };\nconst DEFAULT_WIDTH = '360px';\nconst DEFAULT_HEIGHT = '75vh';\nconst MAX_WIDTH = '100vw';\nconst DEFAULT_DRAGGABLE_DIALOG_CONFIG = {\n hasBackdrop: false,\n closeOnNavigation: true,\n panelClass: [CDK_OVERLAY_CUSTOM_CLASS],\n position: DEFAULT_POSITION,\n height: DEFAULT_HEIGHT,\n width: DEFAULT_WIDTH,\n maxWidth: MAX_WIDTH,\n};\nexport class TdMarkdownNavigatorWindowService {\n _tdDialogService = inject(TdDialogService);\n _document = inject(DOCUMENT);\n rendererFactory = inject(RendererFactory2);\n _renderer2;\n dragRef;\n resizableDraggableDialog;\n markdownNavigatorWindowDialog;\n markdownNavigatorWindowDialogsOpen = 0;\n constructor() {\n const rendererFactory = this.rendererFactory;\n this._renderer2 = rendererFactory.createRenderer(undefined, null);\n }\n open(config) {\n this.close();\n const configClass = config?.dialogConfig?.panelClass;\n const panelClass = configClass && !Array.isArray(configClass) ? [configClass] : [];\n const draggableConfig = {\n ...DEFAULT_DRAGGABLE_DIALOG_CONFIG,\n ...config.dialogConfig,\n ...panelClass,\n };\n const { matDialogRef, dragRefSubject, } = this._tdDialogService.openDraggable({\n component: TdMarkdownNavigatorWindowComponent,\n config: draggableConfig,\n dragHandleSelectors: ['.td-window-dialog-toolbar'],\n draggableClass: 'td-draggable-markdown-navigator-window',\n });\n this.markdownNavigatorWindowDialog = matDialogRef;\n this.markdownNavigatorWindowDialog.componentInstance.items = config.items;\n this.markdownNavigatorWindowDialog.componentInstance.labels = config.labels;\n this.markdownNavigatorWindowDialog.componentInstance.startAt =\n config.startAt;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeToClipboard =\n config.copyCodeToClipboard;\n this.markdownNavigatorWindowDialog.componentInstance.copyCodeTooltips =\n config.copyCodeTooltips;\n this.markdownNavigatorWindowDialog.componentInstance.compareWith =\n config.compareWith;\n this.markdownNavigatorWindowDialog.componentInstance.toolbarColor =\n 'toolbarColor' in config ? config.toolbarColor : 'primary';\n this.markdownNavigatorWindowDialogsOpen++;\n this.markdownNavigatorWindowDialog.componentInstance.footer = config.footer;\n dragRefSubject.subscribe((dragRf) => {\n this.dragRef = dragRf;\n this.resizableDraggableDialog = new ResizableDraggableDialog(this._document, this._renderer2, this.markdownNavigatorWindowDialog, this.dragRef);\n });\n this._handleEvents();\n return this.markdownNavigatorWindowDialog;\n }\n close() {\n if (this.markdownNavigatorWindowDialog) {\n if (this.resizableDraggableDialog) {\n this.resizableDraggableDialog.detach();\n }\n this.markdownNavigatorWindowDialog.close();\n }\n }\n get isOpen() {\n return this.markdownNavigatorWindowDialogsOpen > 0;\n }\n _handleEvents() {\n this.markdownNavigatorWindowDialog.componentInstance.closed.subscribe(() => this.close());\n this.markdownNavigatorWindowDialog\n .afterClosed()\n .toPromise()\n .then(() => {\n this.markdownNavigatorWindowDialogsOpen--;\n });\n }\n static ɵfac = function TdMarkdownNavigatorWindowService_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorWindowService)(); };\n static ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TdMarkdownNavigatorWindowService, factory: TdMarkdownNavigatorWindowService.ɵfac });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorWindowService, [{\n type: Injectable\n }], () => [], null); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3ctc2VydmljZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixnQkFBZ0IsRUFHaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFDTCxrQ0FBa0MsR0FFbkMsTUFBTSxrRUFBa0UsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsZUFBZSxFQUVmLHdCQUF3QixHQUN6QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFtQjNDLE1BQU0sd0JBQXdCLEdBQUcsa0JBQWtCLENBQUM7QUFFcEQsTUFBTSxnQkFBZ0IsR0FBbUIsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUN6RSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFDOUIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDO0FBQzlCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQztBQUUxQixNQUFNLCtCQUErQixHQUFvQjtJQUN2RCxXQUFXLEVBQUUsS0FBSztJQUNsQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLFVBQVUsRUFBRSxDQUFDLHdCQUF3QixDQUFDO0lBQ3RDLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsTUFBTSxFQUFFLGNBQWM7SUFDdEIsS0FBSyxFQUFFLGFBQWE7SUFDcEIsUUFBUSxFQUFFLFNBQVM7Q0FDcEIsQ0FBQztBQUdGLE1BQU0sT0FBTyxnQ0FBZ0M7SUFDbkMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFD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NkIsQ0FBQztJQUM1QyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDdkMsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLENBQUM7WUFDRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxrQ0FBa0MsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLGFBQWE7UUFDbkIsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ3pFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FDYixDQUFDO1FBRUYsSUFBSSxDQUFDLDZCQUE2QjthQUMvQixXQUFXLEVBQUU7YUFDYixTQUFTLEVBQUU7YUFDWCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxDQUFDLGtDQUFrQyxFQUFFLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzBIQTdGVSxnQ0FBZ0M7Z0VBQWhDLGdDQUFnQyxXQUFoQyxnQ0FBZ0M7O2lGQUFoQyxnQ0FBZ0M7Y0FENUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIFJlbmRlcmVyRmFjdG9yeTIsXG4gIFJlbmRlcmVyMixcbiAgVHlwZSxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE1hdERpYWxvZ1JlZixcbiAgTWF0RGlhbG9nQ29uZmlnLFxuICBEaWFsb2dQb3NpdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtcbiAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCxcbiAgSU1hcmtkb3duTmF2aWdhdG9yV2luZG93TGFiZWxzLFxufSBmcm9tICcuLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93L21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIFRkRGlhbG9nU2VydmljZSxcbiAgSURyYWdnYWJsZVJlZnMsXG4gIFJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyxcbn0gZnJvbSAnQGNvdmFsZW50L2NvcmUvZGlhbG9ncyc7XG5pbXBvcnQgeyBEcmFnUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtLFxuICBJTWFya2Rvd25OYXZpZ2F0b3JDb21wYXJlV2l0aCxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJQ29weUNvZGVUb29sdGlwcyB9IGZyb20gJ0Bjb3ZhbGVudC9oaWdobGlnaHQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbmZpZyB7XG4gIGl0ZW1zOiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtW107XG4gIGRpYWxvZ0NvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgbGFiZWxzPzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93TGFiZWxzO1xuICB0b29sYmFyQ29sb3I/OiBUaGVtZVBhbGV0dGU7XG4gIHN0YXJ0QXQ/OiBJTWFya2Rvd25OYXZpZ2F0b3JJdGVtIHwgSU1hcmtkb3duTmF2aWdhdG9ySXRlbVtdO1xuICBjb21wYXJlV2l0aD86IElNYXJrZG93bk5hdmlnYXRvckNvbXBhcmVXaXRoO1xuICBjb3B5Q29kZVRvQ2xpcGJvYXJkPzogYm9vbGVhbjtcbiAgY29weUNvZGVUb29sdGlwcz86IElDb3B5Q29kZVRvb2x0aXBzO1xuICBmb290ZXI/OiBUeXBlPGFueT47XG59XG5cbmNvbnN0IENES19PVkVSTEFZX0NVU1RPTV9DTEFTUyA9ICd0ZC13aW5kb3ctZGlhbG9nJztcblxuY29uc3QgREVGQVVMVF9QT1NJVElPTjogRGlhbG9nUG9zaXRpb24gPSB7IGJvdHRvbTogJzBweCcsIHJpZ2h0OiAnMHB4JyB9O1xuY29uc3QgREVGQVVMVF9XSURUSCA9ICczNjBweCc7XG5jb25zdCBERUZBVUxUX0hFSUdIVCA9ICc3NXZoJztcbmNvbnN0IE1BWF9XSURUSCA9ICcxMDB2dyc7XG5cbmNvbnN0IERFRkFVTFRfRFJBR0dBQkxFX0RJQUxPR19DT05GSUc6IE1hdERpYWxvZ0NvbmZpZyA9IHtcbiAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgcGFuZWxDbGFzczogW0NES19PVkVSTEFZX0NVU1RPTV9DTEFTU10sXG4gIHBvc2l0aW9uOiBERUZBVUxUX1BPU0lUSU9OLFxuICBoZWlnaHQ6IERFRkFVTFRfSEVJR0hULFxuICB3aWR0aDogREVGQVVMVF9XSURUSCxcbiAgbWF4V2lkdGg6IE1BWF9XSURUSCxcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93U2VydmljZSB7XG4gIHByaXZhdGUgX3RkRGlhbG9nU2VydmljZSA9IGluamVjdChUZERpYWxvZ1NlcnZpY2UpO1xuICBwcml2YXRlIF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVuZGVyZXJGYWN0b3J5ID0gaW5qZWN0KFJlbmRlcmVyRmFjdG9yeTIpO1xuXG4gIHByaXZhdGUgX3JlbmRlcmVyMjogUmVuZGVyZXIyO1xuICBwcml2YXRlIGRyYWdSZWYhOiBEcmFnUmVmO1xuICBwcml2YXRlIHJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyE6IFJlc2l6YWJsZURyYWdnYWJsZURpYWxvZztcbiAgcHJpdmF0ZSBtYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZyE6IE1hdERpYWxvZ1JlZjxUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50PjtcbiAgcHJpdmF0ZSBtYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCByZW5kZXJlckZhY3RvcnkgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeTtcblxuICAgIHRoaXMuX3JlbmRlcmVyMiA9IHJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIG51bGwpO1xuICB9XG5cbiAgcHVibGljIG9wZW4oXG4gICAgY29uZmlnOiBJTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb25maWcsXG4gICk6IE1hdERpYWxvZ1JlZjxUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50PiB7XG4gICAgdGhpcy5jbG9zZSgpO1xuXG4gICAgY29uc3QgY29uZmlnQ2xhc3MgPSBjb25maWc/LmRpYWxvZ0NvbmZpZz8ucGFuZWxDbGFzcztcbiAgICBjb25zdCBwYW5lbENsYXNzID1cbiAgICAgIGNvbmZpZ0NsYXNzICYmICFBcnJheS5pc0FycmF5KGNvbmZpZ0NsYXNzKSA/IFtjb25maWdDbGFzc10gOiBbXTtcblxuICAgIGNvbnN0IGRyYWdnYWJsZUNvbmZpZzogTWF0RGlhbG9nQ29uZmlnID0ge1xuICAgICAgLi4uREVGQVVMVF9EUkFHR0FCTEVfRElBTE9HX0NPTkZJRyxcbiAgICAgIC4uLmNvbmZpZy5kaWFsb2dDb25maWcsXG4gICAgICAuLi5wYW5lbENsYXNzLFxuICAgIH07XG4gICAgY29uc3Qge1xuICAgICAgbWF0RGlhbG9nUmVmLFxuICAgICAgZHJhZ1JlZlN1YmplY3QsXG4gICAgfTogSURyYWdnYWJsZVJlZnM8VGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudD4gPVxuICAgICAgdGhpcy5fdGREaWFsb2dTZXJ2aWNlLm9wZW5EcmFnZ2FibGUoe1xuICAgICAgICBjb21wb25lbnQ6IFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dDb21wb25lbnQsXG4gICAgICAgIGNvbmZpZzogZHJhZ2dhYmxlQ29uZmlnLFxuICAgICAgICBkcmFnSGFuZGxlU2VsZWN0b3JzOiBbJy50ZC13aW5kb3ctZGlhbG9nLXRvb2xiYXInXSxcbiAgICAgICAgZHJhZ2dhYmxlQ2xhc3M6ICd0ZC1kcmFnZ2FibGUtbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdycsXG4gICAgICB9KTtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nID0gbWF0RGlhbG9nUmVmO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuaXRlbXMgPSBjb25maWcuaXRlbXM7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5sYWJlbHMgPSBjb25maWcubGFiZWxzO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2Uuc3RhcnRBdCA9XG4gICAgICBjb25maWcuc3RhcnRBdDtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNvcHlDb2RlVG9DbGlwYm9hcmQgPVxuICAgICAgY29uZmlnLmNvcHlDb2RlVG9DbGlwYm9hcmQ7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5jb3B5Q29kZVRvb2x0aXBzID1cbiAgICAgIGNvbmZpZy5jb3B5Q29kZVRvb2x0aXBzO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UuY29tcGFyZVdpdGggPVxuICAgICAgY29uZmlnLmNvbXBhcmVXaXRoO1xuICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY29tcG9uZW50SW5zdGFuY2UudG9vbGJhckNvbG9yID1cbiAgICAgICd0b29sYmFyQ29sb3InIGluIGNvbmZpZyA/IGNvbmZpZy50b29sYmFyQ29sb3IgOiAncHJpbWFyeSc7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuKys7XG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZy5jb21wb25lbnRJbnN0YW5jZS5mb290ZXIgPSBjb25maWcuZm9vdGVyO1xuICAgIGRyYWdSZWZTdWJqZWN0LnN1YnNjcmliZSgoZHJhZ1JmOiBEcmFnUmVmKSA9PiB7XG4gICAgICB0aGlzLmRyYWdSZWYgPSBkcmFnUmY7XG4gICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZyA9IG5ldyBSZXNpemFibGVEcmFnZ2FibGVEaWFsb2coXG4gICAgICAgIHRoaXMuX2RvY3VtZW50LFxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIsXG4gICAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2csXG4gICAgICAgIHRoaXMuZHJhZ1JlZixcbiAgICAgICk7XG4gICAgfSk7XG4gICAgdGhpcy5faGFuZGxlRXZlbnRzKCk7XG4gICAgcmV0dXJuIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2c7XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cpIHtcbiAgICAgIGlmICh0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZykge1xuICAgICAgICB0aGlzLnJlc2l6YWJsZURyYWdnYWJsZURpYWxvZy5kZXRhY2goKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaWFsb2cuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ3NPcGVuID4gMDtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nLmNvbXBvbmVudEluc3RhbmNlLmNsb3NlZC5zdWJzY3JpYmUoKCkgPT5cbiAgICAgIHRoaXMuY2xvc2UoKSxcbiAgICApO1xuXG4gICAgdGhpcy5tYXJrZG93bk5hdmlnYXRvcldpbmRvd0RpYWxvZ1xuICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgIC50b1Byb21pc2UoKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlhbG9nc09wZW4tLTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=","import { Directive, HostListener, Input, inject } from '@angular/core';\nimport { TdMarkdownNavigatorWindowService, } from '../markdown-navigator-window-service/markdown-navigator-window.service';\nimport * as i0 from \"@angular/core\";\nexport class TdMarkdownNavigatorWindowDirective {\n _markdownNavigatorWindowService = inject(TdMarkdownNavigatorWindowService);\n config;\n disabled = false;\n click() {\n if (!this.disabled && this.config) {\n this._markdownNavigatorWindowService.open(this.config);\n }\n }\n static ɵfac = function TdMarkdownNavigatorWindowDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TdMarkdownNavigatorWindowDirective)(); };\n static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TdMarkdownNavigatorWindowDirective, selectors: [[\"\", \"tdMarkdownNavigatorWindow\", \"\"]], hostBindings: function TdMarkdownNavigatorWindowDirective_HostBindings(rf, ctx) { if (rf & 1) {\n i0.ɵɵlistener(\"click\", function TdMarkdownNavigatorWindowDirective_click_HostBindingHandler() { return ctx.click(); });\n } }, inputs: { config: [0, \"tdMarkdownNavigatorWindow\", \"config\"], disabled: \"disabled\" } });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TdMarkdownNavigatorWindowDirective, [{\n type: Directive,\n args: [{\n selector: '[tdMarkdownNavigatorWindow]',\n }]\n }], null, { config: [{\n type: Input,\n args: ['tdMarkdownNavigatorWindow']\n }], disabled: [{\n type: Input\n }], click: [{\n type: HostListener,\n args: ['click']\n }] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL21hcmtkb3duLW5hdmlnYXRvci9zcmMvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy1kaXJlY3RpdmUvbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsZ0NBQWdDLEdBRWpDLE1BQU0sd0VBQXdFLENBQUM7O0FBS2hGLE1BQU0sT0FBTyxrQ0FBa0M7SUFDckMsK0JBQStCLEdBQUcsTUFBTSxDQUM5QyxnQ0FBZ0MsQ0FDakMsQ0FBQztJQUVrQyxNQUFNLENBQWtDO0lBQ25FLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFFSCxLQUFLO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQzs0SEFaVSxrQ0FBa0M7NkRBQWxDLGtDQUFrQztZQUFsQyx1R0FBQSxXQUFPLElBQTJCOzs7aUZBQWxDLGtDQUFrQztjQUg5QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjthQUN4Qzs7a0JBTUUsS0FBSzttQkFBQywyQkFBMkI7O2tCQUNqQyxLQUFLOztrQkFFTCxZQUFZO21CQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2UsXG4gIElNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbmZpZyxcbn0gZnJvbSAnLi4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy1zZXJ2aWNlL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t0ZE1hcmtkb3duTmF2aWdhdG9yV2luZG93XScsXG59KVxuZXhwb3J0IGNsYXNzIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaXJlY3RpdmUge1xuICBwcml2YXRlIF9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2UgPSBpbmplY3QoXG4gICAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2UsXG4gICk7XG5cbiAgQElucHV0KCd0ZE1hcmtkb3duTmF2aWdhdG9yV2luZG93JykgY29uZmlnPzogSU1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29uZmlnO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJykgY2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmIHRoaXMuY29uZmlnKSB7XG4gICAgICB0aGlzLl9tYXJrZG93bk5hdmlnYXRvcldpbmRvd1NlcnZpY2Uub3Blbih0aGlzLmNvbmZpZyk7XG4gICAgfVxuICB9XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TdMarkdownNavigatorComponent } from './markdown-navigator.component';\nimport { TdMarkdownNavigatorWindowComponent } from './markdown-navigator-window/markdown-navigator-window.component';\nimport { TdMarkdownNavigatorWindowDirective } from './markdown-navigator-window-directive/markdown-navigator-window.directive';\nimport { TdMarkdownNavigatorWindowService } from './markdown-navigator-window-service/markdown-navigator-window.service';\nimport { TdDialogService } from '@covalent/core/dialogs';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/material/icon\";\n/**\n * @deprecated This module is deprecated and will be removed in future versions.\n * Please migrate to using standalone components as soon as possible.\n */\nexport class CovalentMarkdownNavigatorModule {\n constructor(iconRegistry) {\n iconRegistry.registerFontClassAlias('covalent-icons', 'covalent-icons mat-ligature-font');\n }\n static ɵfac = function CovalentMarkdownNavigatorModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CovalentMarkdownNavigatorModule)(i0.ɵɵinject(i1.MatIconRegistry)); };\n static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: CovalentMarkdownNavigatorModule });\n static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [TdMarkdownNavigatorWindowService, TdDialogService], imports: [CommonModule,\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent] });\n}\n(() => { (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(CovalentMarkdownNavigatorModule, [{\n type: NgModule,\n args: [{\n imports: [\n CommonModule,\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n exports: [\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective,\n ],\n providers: [TdMarkdownNavigatorWindowService, TdDialogService],\n }]\n }], () => [{ type: i1.MatIconRegistry }], null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && i0.ɵɵsetNgModuleScope(CovalentMarkdownNavigatorModule, { imports: [CommonModule,\n TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective], exports: [TdMarkdownNavigatorComponent,\n TdMarkdownNavigatorWindowComponent,\n TdMarkdownNavigatorWindowDirective] }); })();\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2Rvd24tbmF2aWdhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvbWFya2Rvd24tbmF2aWdhdG9yL3NyYy9tYXJrZG93bi1uYXZpZ2F0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQy9ILE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3pILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUV6RDs7O0dBR0c7QUFnQkgsTUFBTSxPQUFPLCtCQUErQjtJQUMxQyxZQUFZLFlBQTZCO1FBQ3ZDLFlBQVksQ0FBQyxzQkFBc0IsQ0FDakMsZ0JBQWdCLEVBQ2hCLGtDQUFrQyxDQUNuQyxDQUFDO0lBQ0osQ0FBQzt5SEFOVSwrQkFBK0I7NERBQS9CLCtCQUErQjtpRUFGL0IsQ0FBQyxnQ0FBZ0MsRUFBRSxlQUFlLENBQUMsWUFYNUQsWUFBWTtZQUVaLDRCQUE0QjtZQUM1QixrQ0FBa0M7O2lGQVV6QiwrQkFBK0I7Y0FmM0MsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUVaLDRCQUE0QjtvQkFDNUIsa0NBQWtDO29CQUNsQyxrQ0FBa0M7aUJBQ25DO2dCQUNELE9BQU8sRUFBRTtvQkFDUCw0QkFBNEI7b0JBQzVCLGtDQUFrQztvQkFDbEMsa0NBQWtDO2lCQUNuQztnQkFDRCxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBRSxlQUFlLENBQUM7YUFDL0Q7O3dGQUNZLCtCQUErQixjQWJ4QyxZQUFZO1FBRVosNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxrQ0FBa0MsYUFHbEMsNEJBQTRCO1FBQzVCLGtDQUFrQztRQUNsQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRkTWFya2Rvd25OYXZpZ2F0b3JDb21wb25lbnQgfSBmcm9tICcuL21hcmtkb3duLW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCB9IGZyb20gJy4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlyZWN0aXZlIH0gZnJvbSAnLi9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LWRpcmVjdGl2ZS9tYXJrZG93bi1uYXZpZ2F0b3Itd2luZG93LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93U2VydmljZSB9IGZyb20gJy4vbWFya2Rvd24tbmF2aWdhdG9yLXdpbmRvdy1zZXJ2aWNlL21hcmtkb3duLW5hdmlnYXRvci13aW5kb3cuc2VydmljZSc7XG5pbXBvcnQgeyBUZERpYWxvZ1NlcnZpY2UgfSBmcm9tICdAY292YWxlbnQvY29yZS9kaWFsb2dzJztcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFRoaXMgbW9kdWxlIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBmdXR1cmUgdmVyc2lvbnMuXG4gKiBQbGVhc2UgbWlncmF0ZSB0byB1c2luZyBzdGFuZGFsb25lIGNvbXBvbmVudHMgYXMgc29vbiBhcyBwb3NzaWJsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcblxuICAgIFRkTWFya2Rvd25OYXZpZ2F0b3JDb21wb25lbnQsXG4gICAgVGRNYXJrZG93bk5hdmlnYXRvcldpbmRvd0NvbXBvbmVudCxcbiAgICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93RGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGRNYXJrZG93bk5hdmlnYXRvckNvbXBvbmVudCxcbiAgICBUZE1hcmtkb3duTmF2aWdhdG9yV2luZG93Q29tcG9uZW50LFxuICAgIFRkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dEaXJlY3RpdmUsXG4gIF0sXG4gIHByb3ZpZGVyczogW1RkTWFya2Rvd25OYXZpZ2F0b3JXaW5kb3dTZXJ2aWNlLCBUZERpYWxvZ1NlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudE1hcmtkb3duTmF2aWdhdG9yTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoaWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnkpIHtcbiAgICBpY29uUmVnaXN0cnkucmVnaXN0ZXJGb250Q2xhc3NBbGlhcyhcbiAgICAgICdjb3ZhbGVudC1pY29ucycsXG4gICAgICAnY292YWxlbnQtaWNvbnMgbWF0LWxpZ2F0dXJlLWZvbnQnLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public_api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY292YWxlbnQtbWFya2Rvd24tbmF2aWdhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9tYXJrZG93bi1uYXZpZ2F0b3Ivc3JjL2NvdmFsZW50LW1hcmtkb3duLW5hdmlnYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19"],"names":["i4","i1"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -121,6 +121,7 @@ declare class TdMarkdownNavigatorComponent implements OnChanges {
|
|
|
121
121
|
private _jumpTo;
|
|
122
122
|
private followPath;
|
|
123
123
|
private findPath;
|
|
124
|
+
private urlsMatchByFilename;
|
|
124
125
|
private handleLinkClick;
|
|
125
126
|
static ɵfac: i0.ɵɵFactoryDeclaration<TdMarkdownNavigatorComponent, never>;
|
|
126
127
|
static ɵcmp: i0.ɵɵComponentDeclaration<TdMarkdownNavigatorComponent, "td-markdown-navigator", never, { "items": { "alias": "items"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "startAt": { "alias": "startAt"; "required": false; }; "copyCodeToClipboard": { "alias": "copyCodeToClipboard"; "required": false; }; "copyCodeTooltips": { "alias": "copyCodeTooltips"; "required": false; }; "footer": { "alias": "footer"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; }, { "buttonClicked": "buttonClicked"; "itemSelected": "itemSelected"; }, never, never, true, never>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@covalent/markdown-navigator",
|
|
3
|
-
"version": "11.19.
|
|
3
|
+
"version": "11.19.5",
|
|
4
4
|
"description": "Teradata UI Platform Markdown Navigator Module",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"@angular/core": "20.x.x",
|
|
29
29
|
"@angular/material": "20.x.x",
|
|
30
30
|
"@angular/cdk": "20.x.x",
|
|
31
|
-
"@covalent/core": "11.19.
|
|
32
|
-
"@covalent/flavored-markdown": "11.19.
|
|
33
|
-
"@covalent/highlight": "11.19.
|
|
31
|
+
"@covalent/core": "11.19.5",
|
|
32
|
+
"@covalent/flavored-markdown": "11.19.5",
|
|
33
|
+
"@covalent/highlight": "11.19.5"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"tslib": "^2.8.1"
|