@worktile/theia 3.0.1 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/bundles/worktile-theia.umd.js +313 -377
  2. package/bundles/worktile-theia.umd.js.map +1 -1
  3. package/components/toolbar/toolbar.component.d.ts +1 -2
  4. package/components/toolbar-dropdown/toolbar-dropdown.component.d.ts +3 -13
  5. package/components/toolbar-group/toolbar-group.component.d.ts +2 -2
  6. package/components/toolbar-item/toolbar-item.component.d.ts +3 -11
  7. package/core/toolbar-item/base-toolbar-item.d.ts +29 -0
  8. package/core/utils/index.d.ts +1 -0
  9. package/core/utils/merge-array.d.ts +1 -0
  10. package/editor.module.d.ts +42 -44
  11. package/esm2015/components/inline-toolbar/inline-toolbar.component.js +2 -2
  12. package/esm2015/components/toolbar/toolbar.component.js +14 -24
  13. package/esm2015/components/toolbar-dropdown/toolbar-dropdown.component.js +11 -41
  14. package/esm2015/components/toolbar-group/toolbar-group.component.js +4 -4
  15. package/esm2015/components/toolbar-item/toolbar-item.component.js +24 -41
  16. package/esm2015/constants/auto-format-rules.js +19 -2
  17. package/esm2015/core/toolbar-item/base-toolbar-item.js +92 -0
  18. package/esm2015/core/utils/index.js +2 -1
  19. package/esm2015/core/utils/merge-array.js +18 -0
  20. package/esm2015/core/utils/merge-deep-plugins.js +1 -3
  21. package/esm2015/core/utils/merge-options.js +9 -8
  22. package/esm2015/editor.component.js +4 -3
  23. package/esm2015/editor.module.js +1 -4
  24. package/esm2015/interfaces/plugins/plugins.js +1 -1
  25. package/esm2015/interfaces/toolbar.js +2 -2
  26. package/esm2015/plugins/align/align.editor.js +3 -7
  27. package/esm2015/plugins/align/align.plugin.js +7 -4
  28. package/esm2015/plugins/autoformat/autoformat.plugin.js +1 -1
  29. package/esm2015/plugins/code/code.component.js +3 -3
  30. package/esm2015/plugins/color/color.plugin.js +6 -3
  31. package/esm2015/plugins/color/toolbar-item.component.js +14 -23
  32. package/esm2015/plugins/deserializers/deserialize-html.plugin.js +3 -3
  33. package/esm2015/plugins/font-size/font-size.editor.js +7 -13
  34. package/esm2015/plugins/heading/heading.editor.js +2 -1
  35. package/esm2015/plugins/heading/heading.plugin.js +2 -2
  36. package/esm2015/plugins/indent/indent.editor.js +1 -10
  37. package/esm2015/plugins/indent/indent.plugin.js +8 -7
  38. package/esm2015/plugins/index.js +2 -2
  39. package/esm2015/plugins/inline-code/inline-code.plugin.js +5 -2
  40. package/esm2015/plugins/link/link.plugin.js +5 -2
  41. package/esm2015/plugins/mark/mark.plugin.js +6 -3
  42. package/esm2015/plugins/public-api.js +1 -2
  43. package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +2 -2
  44. package/esm2015/plugins/table/components/table.component.js +4 -1
  45. package/esm2015/plugins/table/toolbar-item.component.js +10 -20
  46. package/esm2015/plugins/vertical-align/toolbar-item.component.js +6 -20
  47. package/esm2015/plugins/vertical-align/vertical-align.editor.js +2 -2
  48. package/esm2015/public-api.js +2 -2
  49. package/esm2015/queries/get-insert-elements-path.js +1 -1
  50. package/esm2015/queries/get-plugin-key-by-toolbar-key.js +10 -0
  51. package/esm2015/queries/get-toolbar-disabled.js +14 -0
  52. package/esm2015/queries/index.js +4 -2
  53. package/esm2015/utils/fragment.js +7 -4
  54. package/fesm2015/worktile-theia.js +277 -342
  55. package/fesm2015/worktile-theia.js.map +1 -1
  56. package/interfaces/plugins/plugins.d.ts +8 -2
  57. package/interfaces/toolbar.d.ts +2 -1
  58. package/package.json +1 -1
  59. package/plugins/autoformat/autoformat.plugin.d.ts +1 -1
  60. package/plugins/code/code.component.d.ts +1 -1
  61. package/plugins/color/toolbar-item.component.d.ts +3 -9
  62. package/plugins/font-size/font-size.editor.d.ts +0 -1
  63. package/plugins/heading/heading.plugin.d.ts +3 -3
  64. package/plugins/indent/indent.editor.d.ts +0 -1
  65. package/plugins/index.d.ts +1 -1
  66. package/plugins/public-api.d.ts +0 -1
  67. package/plugins/table/toolbar-item.component.d.ts +3 -9
  68. package/plugins/vertical-align/toolbar-item.component.d.ts +5 -13
  69. package/public-api.d.ts +1 -1
  70. package/queries/get-plugin-key-by-toolbar-key.d.ts +3 -0
  71. package/queries/get-toolbar-disabled.d.ts +4 -0
  72. package/queries/index.d.ts +3 -1
  73. package/utils/fragment.d.ts +2 -2
  74. package/components/toolbar-base-item/toolbar-base-item.component.d.ts +0 -11
  75. package/esm2015/components/toolbar-base-item/toolbar-base-item.component.js +0 -24
  76. package/esm2015/plugins/indent/toolbar-item.component.js +0 -115
  77. package/plugins/indent/toolbar-item.component.d.ts +0 -36
@@ -1,6 +1,6 @@
1
- import { Component, Input, HostListener, ViewChild, HostBinding } from '@angular/core';
1
+ import { Component, Input, HostListener, ViewChild } from '@angular/core';
2
2
  import { DropdownMode } from '../../constants/toolbar';
3
- import { TheToolbarBaseItemComponent } from '../toolbar-base-item/toolbar-base-item.component';
3
+ import { TheBaseToolbarDropdown } from '../../core/toolbar-item/base-toolbar-item';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "ngx-tethys/popover";
6
6
  import * as i2 from "@angular/cdk/overlay";
@@ -9,23 +9,14 @@ import * as i4 from "ngx-tethys/icon";
9
9
  import * as i5 from "ngx-tethys/action-menu";
10
10
  import * as i6 from "@angular/common";
11
11
  import * as i7 from "ngx-tethys/tooltip";
12
- export class TheToolbarDropdownComponent extends TheToolbarBaseItemComponent {
12
+ export class TheToolbarDropdownComponent extends TheBaseToolbarDropdown {
13
13
  constructor(elementRef, thyPopover, viewContainerRef, overlay) {
14
14
  super();
15
15
  this.elementRef = elementRef;
16
16
  this.thyPopover = thyPopover;
17
17
  this.viewContainerRef = viewContainerRef;
18
18
  this.overlay = overlay;
19
- this.mode = DropdownMode.text;
20
19
  this.dropdownMode = DropdownMode;
21
- this.disabled = false;
22
- }
23
- set item(i) {
24
- this._item = i;
25
- this.activeMenu = i;
26
- }
27
- get item() {
28
- return this._item;
29
20
  }
30
21
  get isOpen() {
31
22
  return this.dropdownPopoverRef && this.dropdownPopoverRef.getOverlayRef() && this.dropdownPopoverRef.getOverlayRef().hasAttached();
@@ -43,34 +34,24 @@ export class TheToolbarDropdownComponent extends TheToolbarBaseItemComponent {
43
34
  this.closeDropdownPopover();
44
35
  }
45
36
  }
46
- get disabledState() {
47
- return this.disabled;
48
- }
49
37
  ngOnInit() {
50
38
  var _a;
51
39
  if (!this.template) {
52
40
  this.template = this.mode === this.dropdownMode.icon ? this.iconModeTemplate : this.textModeTemplate;
53
41
  }
54
- if (!this.activeMenu) {
55
- this.activeMenu = this.menus[0];
42
+ if (!this.activeMenuItem) {
43
+ this.activeMenuItem = this.defaultDropdownItem;
56
44
  }
57
45
  if (this.toolbarItem) {
58
46
  this.elementRef.nativeElement.classList.add(`${(_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.key}`);
59
47
  }
60
48
  }
61
- statusChange(editor) {
62
- var _a, _b;
63
- this.disabled = ((_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.disable) ? (_b = this.toolbarItem) === null || _b === void 0 ? void 0 : _b.disable(editor) : false;
64
- const activeItem = this.menus.find(i => {
65
- if (i === null || i === void 0 ? void 0 : i.active) {
66
- return i === null || i === void 0 ? void 0 : i.active(editor);
67
- }
68
- });
69
- this.activeMenu = activeItem ? activeItem : this.item;
70
- }
71
49
  itemMousedown(event, item) {
72
50
  super.execute(event);
73
51
  this.closeDropdownPopover();
52
+ if (!this.toolbarItem.dropdownFixedIcon) {
53
+ this.activeMenuItem = item;
54
+ }
74
55
  if (this.itemMousedownHandle) {
75
56
  this.itemMousedownHandle(item);
76
57
  return;
@@ -120,7 +101,7 @@ export class TheToolbarDropdownComponent extends TheToolbarBaseItemComponent {
120
101
  }
121
102
  }
122
103
  TheToolbarDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheToolbarDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }, { token: i2.Overlay }], target: i0.ɵɵFactoryTarget.Component });
123
- TheToolbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: { toolbarItem: "toolbarItem", menus: "menus", mode: "mode", item: "item", itemMousedownHandle: "itemMousedownHandle" }, host: { listeners: { "mousedown": "toggleDropdown($event)", "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class.disabled": "this.disabledState" }, classAttribute: "the-toolbar-dropdown-container" }, viewQueries: [{ propertyName: "iconModeTemplate", first: true, predicate: ["iconModeTemplate"], descendants: true, static: true }, { propertyName: "textModeTemplate", first: true, predicate: ["textModeTemplate"], descendants: true, static: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n\n<ng-template #iconModeTemplate>\n <a thyIconNavLink class=\"icon-mode link-with-down\" [thyTooltip]=\"activeMenu?.name\" thyTooltipPlacement=\"top\">\n <thy-icon [thyIconName]=\"activeMenu?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</ng-template>\n\n<ng-template #textModeTemplate>\n <a thyIconNavLink class=\"text-mode\" [thyTooltip]=\"activeMenu?.name\" thyTooltipPlacement=\"top\">\n <span class=\"show-text\">{{ activeMenu?.name }}</span>\n <thy-icon class=\"text-caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</ng-template>\n\n<ng-template #dropdownTemplate>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of menus\">\n <a\n *ngIf=\"menu.key !== 'split'\"\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenu.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n [ngStyle]=\"menu?.styles\"\n >\n <span *ngIf=\"menu.icon && mode === dropdownMode.icon\" thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu.icon\"></thy-icon>\n </span>\n <span *ngIf=\"menu.name\" thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n <thy-action-menu-divider *ngIf=\"menu.key === 'split'\"></thy-action-menu-divider>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n", components: [{ type: i3.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i5.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i5.ThyActionMenuDividerComponent, selector: "thy-action-menu-divider", inputs: ["thyTitle", "thyType"] }], directives: [{ type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i5.ThyActionMenuItemActiveDirective, selector: "[thyActionMenuItemActive]", inputs: ["thyActionMenuItemActive"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i5.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }] });
104
+ TheToolbarDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarDropdownComponent, selector: "the-toolbar-dropdown", inputs: { itemMousedownHandle: "itemMousedownHandle" }, host: { listeners: { "mousedown": "toggleDropdown($event)", "document: mousedown": "handleDocumentMouseDown($event)" }, classAttribute: "the-toolbar-dropdown-container" }, viewQueries: [{ propertyName: "iconModeTemplate", first: true, predicate: ["iconModeTemplate"], descendants: true, static: true }, { propertyName: "textModeTemplate", first: true, predicate: ["textModeTemplate"], descendants: true, static: true }, { propertyName: "dropdownTemplate", first: true, predicate: ["dropdownTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template [ngTemplateOutlet]=\"template\"></ng-template>\n\n<ng-template #iconModeTemplate>\n <a thyIconNavLink class=\"icon-mode link-with-down\" [thyTooltip]=\"activeMenuItem?.name\" thyTooltipPlacement=\"top\">\n <thy-icon [thyIconName]=\"activeMenuItem?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</ng-template>\n\n<ng-template #textModeTemplate>\n <a thyIconNavLink class=\"text-mode\" [thyTooltip]=\"activeMenuItem?.name\" thyTooltipPlacement=\"top\">\n <span class=\"show-text\">{{ activeMenuItem?.name }}</span>\n <thy-icon class=\"text-caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n </a>\n</ng-template>\n\n<ng-template #dropdownTemplate>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of menus\">\n <a\n *ngIf=\"menu.key !== 'split'\"\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenuItem.key && !toolbarItem.dropdownFixedIcon\"\n (mousedown)=\"itemMousedown($event, menu)\"\n [ngStyle]=\"menu?.styles\"\n >\n <span *ngIf=\"menu.icon && mode === dropdownMode.icon\" thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu.icon\"></thy-icon>\n </span>\n <span *ngIf=\"menu.name\" thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n <thy-action-menu-divider *ngIf=\"menu.key === 'split'\"></thy-action-menu-divider>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n", components: [{ type: i3.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i4.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i5.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }, { type: i5.ThyActionMenuDividerComponent, selector: "thy-action-menu-divider", inputs: ["thyTitle", "thyType"] }], directives: [{ type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i5.ThyActionMenuItemActiveDirective, selector: "[thyActionMenuItemActive]", inputs: ["thyActionMenuItemActive"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i5.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i5.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }] });
124
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheToolbarDropdownComponent, decorators: [{
125
106
  type: Component,
126
107
  args: [{
@@ -130,15 +111,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
130
111
  class: 'the-toolbar-dropdown-container'
131
112
  }
132
113
  }]
133
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }, { type: i2.Overlay }]; }, propDecorators: { toolbarItem: [{
134
- type: Input
135
- }], menus: [{
136
- type: Input
137
- }], mode: [{
138
- type: Input
139
- }], item: [{
140
- type: Input
141
- }], itemMousedownHandle: [{
114
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ThyPopover }, { type: i0.ViewContainerRef }, { type: i2.Overlay }]; }, propDecorators: { itemMousedownHandle: [{
142
115
  type: Input
143
116
  }], iconModeTemplate: [{
144
117
  type: ViewChild,
@@ -155,8 +128,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
155
128
  }], handleDocumentMouseDown: [{
156
129
  type: HostListener,
157
130
  args: ['document: mousedown', ['$event']]
158
- }], disabledState: [{
159
- type: HostBinding,
160
- args: ['class.disabled']
161
131
  }] } });
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy90b29sYmFyLWRyb3Bkb3duL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvdG9vbGJhci1kcm9wZG93bi90b29sYmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLEtBQUssRUFBRSxZQUFZLEVBQWUsU0FBUyxFQUFvQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJMUksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtEQUFrRCxDQUFDOzs7Ozs7Ozs7QUFTL0YsTUFBTSxPQUFPLDJCQUE0QixTQUFRLDJCQUEyQjtJQTZEeEUsWUFDVyxVQUFzQixFQUNyQixVQUFzQixFQUN0QixnQkFBa0MsRUFDbEMsT0FBZ0I7UUFFeEIsS0FBSyxFQUFFLENBQUM7UUFMRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3JCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBMURuQixTQUFJLEdBQWlCLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFlaEQsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFFNUIsYUFBUSxHQUFHLEtBQUssQ0FBQztJQTRDakIsQ0FBQztJQTNERCxJQUNJLElBQUksQ0FBQyxDQUFjO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBV0QsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN2SSxDQUFDO0lBWUQsY0FBYyxDQUFDLEtBQWlCOztRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJCLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFFBQVEsS0FBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3hDLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFHRCx1QkFBdUIsQ0FBQyxLQUFpQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFxQixDQUFDLEVBQUU7WUFDdEUsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDL0I7SUFDTCxDQUFDO0lBRUQsSUFBbUMsYUFBYTtRQUM1QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQVdELFFBQVE7O1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUN4RztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQzNFO0lBQ0wsQ0FBQztJQUVNLFlBQVksQ0FBQyxNQUFjOztRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGFBQUQsQ0FBQyx1QkFBRCxDQUFDLENBQUUsTUFBTSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxhQUFELENBQUMsdUJBQUQsQ0FBQyxDQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM1QjtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUMxRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWlCLEVBQUUsSUFBaUI7UUFDOUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUU1QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0IsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsT0FBTyxFQUFFO1lBQ2YsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUI7SUFDTCxDQUFDO0lBRUQsbUJBQW1COztRQUNmLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDbEUsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3ZCLFVBQVUsRUFBRSxDQUFDLDhCQUE4QixFQUFFLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsR0FBRyxDQUFDO1lBQ25FLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsTUFBTSxFQUFFLEVBQUU7WUFDVixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLGNBQWMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRTtTQUM3RCxDQUFDLENBQUM7UUFDSCxNQUFBLElBQUksQ0FBQyxrQkFBa0IsMENBQUUsYUFBYSxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUVELG9CQUFvQjs7UUFDaEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLEtBQUssRUFBRSxDQUFDO1NBQ3BDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixNQUFNLFdBQVcsR0FBc0I7WUFDbkMsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsUUFBUTtZQUNsQixPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sRUFBRSxDQUFDLEVBQUU7U0FDZixDQUFDO1FBQ0YsTUFBTSxjQUFjLG1DQUNiLFdBQVcsS0FDZCxRQUFRLEVBQUUsS0FBSyxFQUNmLE9BQU8sRUFBRSxFQUFFLEdBQ2QsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLE9BQU87YUFDZCxRQUFRLEVBQUU7YUFDVixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3BDLHNCQUFzQixDQUFDLEtBQUssQ0FBQzthQUM3QixpQkFBaUIsQ0FBQyxLQUFLLENBQUM7YUFDeEIsUUFBUSxDQUFDLEtBQUssQ0FBQzthQUNmLGFBQWEsQ0FBQyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7O3lIQXRKUSwyQkFBMkI7NkdBQTNCLDJCQUEyQixxeUJDZnhDLG9wREFvQ0E7NEZEckJhLDJCQUEyQjtrQkFQdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxXQUFXLEVBQUUsbUNBQW1DO29CQUNoRCxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLGdDQUFnQztxQkFDMUM7aUJBQ0o7K0tBSVksV0FBVztzQkFBbkIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUdGLElBQUk7c0JBRFAsS0FBSztnQkFTRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBY04sZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUkvQyxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9DLGdCQUFnQjtzQkFEZixTQUFTO3VCQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJL0MsY0FBYztzQkFEYixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFXckMsdUJBQXVCO3NCQUR0QixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9aLGFBQWE7c0JBQS9DLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIElucHV0LCBIb3N0TGlzdGVuZXIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2RlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3Rvb2xiYXInO1xuaW1wb3J0IHsgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Rvb2xiYXInO1xuaW1wb3J0IHsgVGhlVG9vbGJhckJhc2VJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vdG9vbGJhci1iYXNlLWl0ZW0vdG9vbGJhci1iYXNlLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtdG9vbGJhci1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aGUtdG9vbGJhci1kcm9wZG93bi1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBUaGVUb29sYmFyQmFzZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHByaXZhdGUgX2l0ZW06IFRvb2xiYXJJdGVtO1xuXG4gICAgQElucHV0KCkgdG9vbGJhckl0ZW06IFRvb2xiYXJJdGVtO1xuXG4gICAgQElucHV0KCkgbWVudXM6IFRvb2xiYXJJdGVtW107XG5cbiAgICBASW5wdXQoKSBtb2RlOiBEcm9wZG93bk1vZGUgPSBEcm9wZG93bk1vZGUudGV4dDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGl0ZW0oaTogVG9vbGJhckl0ZW0pIHtcbiAgICAgICAgdGhpcy5faXRlbSA9IGk7XG4gICAgICAgIHRoaXMuYWN0aXZlTWVudSA9IGk7XG4gICAgfVxuICAgIGdldCBpdGVtKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpdGVtTW91c2Vkb3duSGFuZGxlOiAoaXRlbTogVG9vbGJhckl0ZW0pID0+IHZvaWQ7XG5cbiAgICBlZGl0b3I6IEVkaXRvcjtcbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBkcm9wZG93bk1vZGUgPSBEcm9wZG93bk1vZGU7XG4gICAgYWN0aXZlTWVudTogVG9vbGJhckl0ZW07XG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBkcm9wZG93blBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIGdldCBpc09wZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZiAmJiB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZi5nZXRPdmVybGF5UmVmKCkgJiYgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpLmhhc0F0dGFjaGVkKCk7XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZCgnaWNvbk1vZGVUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgaWNvbk1vZGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3RleHRNb2RlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRleHRNb2RlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdkcm9wZG93blRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBkcm9wZG93blRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICB0b2dnbGVEcm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBzdXBlci5leGVjdXRlKGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wZW5Ecm9wZG93blBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDogbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBoYW5kbGVEb2N1bWVudE1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2VEcm9wZG93blBvcG92ZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZGlzYWJsZWQnKSBnZXQgZGlzYWJsZWRTdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICghdGhpcy50ZW1wbGF0ZSkge1xuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZSA9IHRoaXMubW9kZSA9PT0gdGhpcy5kcm9wZG93bk1vZGUuaWNvbiA/IHRoaXMuaWNvbk1vZGVUZW1wbGF0ZSA6IHRoaXMudGV4dE1vZGVUZW1wbGF0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5hY3RpdmVNZW51KSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU1lbnUgPSB0aGlzLm1lbnVzWzBdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRvb2xiYXJJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGAke3RoaXMudG9vbGJhckl0ZW0/LmtleX1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0dXNDaGFuZ2UoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMudG9vbGJhckl0ZW0/LmRpc2FibGUgPyB0aGlzLnRvb2xiYXJJdGVtPy5kaXNhYmxlKGVkaXRvcikgOiBmYWxzZTtcbiAgICAgICAgY29uc3QgYWN0aXZlSXRlbSA9IHRoaXMubWVudXMuZmluZChpID0+IHtcbiAgICAgICAgICAgIGlmIChpPy5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaT8uYWN0aXZlKGVkaXRvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFjdGl2ZU1lbnUgPSBhY3RpdmVJdGVtID8gYWN0aXZlSXRlbSA6IHRoaXMuaXRlbTtcbiAgICB9XG5cbiAgICBpdGVtTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBUb29sYmFySXRlbSkge1xuICAgICAgICBzdXBlci5leGVjdXRlKGV2ZW50KTtcblxuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd25Qb3BvdmVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXRlbU1vdXNlZG93bkhhbmRsZSkge1xuICAgICAgICAgICAgdGhpcy5pdGVtTW91c2Vkb3duSGFuZGxlKGl0ZW0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGl0ZW0/LmV4ZWN1dGUpIHtcbiAgICAgICAgICAgIGl0ZW0/LmV4ZWN1dGUodGhpcy5lZGl0b3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlbkRyb3Bkb3duUG9wb3ZlcigpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3Blbih0aGlzLmRyb3Bkb3duVGVtcGxhdGUsIHtcbiAgICAgICAgICAgIG9yaWdpbjogdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogWyd0aGUtdG9vbGJhci1kcm9wZG93bi1wb3BvdmVyJywgdGhpcy50b29sYmFySXRlbT8ua2V5XSxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG9mZnNldDogMTAsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZj8uZ2V0T3ZlcmxheVJlZigpLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodGhpcy5jcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCkpO1xuICAgIH1cblxuICAgIGNsb3NlRHJvcGRvd25Qb3BvdmVyKCkge1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93blBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmPy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpIHtcbiAgICAgICAgY29uc3QgdG9wUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvZmZzZXRYOiAwLFxuICAgICAgICAgICAgb2Zmc2V0WTogLTE1XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGJvdHRvbVBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIC4uLnRvcFBvc2l0aW9uLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgICAgb2Zmc2V0WTogNDJcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVxuICAgICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZWxlbWVudFJlZilcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW2JvdHRvbVBvc2l0aW9uLCB0b3BQb3NpdGlvbl0pO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaWNvbk1vZGVUZW1wbGF0ZT5cbiAgICA8YSB0aHlJY29uTmF2TGluayBjbGFzcz1cImljb24tbW9kZSBsaW5rLXdpdGgtZG93blwiIFt0aHlUb29sdGlwXT1cImFjdGl2ZU1lbnU/Lm5hbWVcIiB0aHlUb29sdGlwUGxhY2VtZW50PVwidG9wXCI+XG4gICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiYWN0aXZlTWVudT8uaWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgIDx0aHktaWNvbiBjbGFzcz1cImNhcmV0LWRvd24taWNvbiBmb250LXNpemUtc20gdGV4dC1kZXNjXCIgdGh5SWNvbk5hbWU9XCJjYXJldC1kb3duXCI+PC90aHktaWNvbj5cbiAgICA8L2E+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RleHRNb2RlVGVtcGxhdGU+XG4gICAgPGEgdGh5SWNvbk5hdkxpbmsgY2xhc3M9XCJ0ZXh0LW1vZGVcIiBbdGh5VG9vbHRpcF09XCJhY3RpdmVNZW51Py5uYW1lXCIgdGh5VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNob3ctdGV4dFwiPnt7IGFjdGl2ZU1lbnU/Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDx0aHktaWNvbiBjbGFzcz1cInRleHQtY2FyZXQtZG93bi1pY29uIGZvbnQtc2l6ZS1zbSB0ZXh0LWRlc2NcIiB0aHlJY29uTmFtZT1cImNhcmV0LWRvd25cIj48L3RoeS1pY29uPlxuICAgIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25UZW1wbGF0ZT5cbiAgICA8dGh5LWFjdGlvbi1tZW51IGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51c1wiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm1lbnUua2V5ICE9PSAnc3BsaXQnXCJcbiAgICAgICAgICAgICAgICB0aHlBY3Rpb25NZW51SXRlbVxuICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgICAgIFt0aHlBY3Rpb25NZW51SXRlbUFjdGl2ZV09XCJtZW51LmtleSA9PT0gYWN0aXZlTWVudS5rZXlcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwiaXRlbU1vdXNlZG93bigkZXZlbnQsIG1lbnUpXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJtZW51Py5zdHlsZXNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWVudS5pY29uICYmIG1vZGUgPT09IGRyb3Bkb3duTW9kZS5pY29uXCIgdGh5QWN0aW9uTWVudUl0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIm1lbnUuaWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWVudS5uYW1lXCIgdGh5QWN0aW9uTWVudUl0ZW1OYW1lPnt7IG1lbnUubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDx0aHktYWN0aW9uLW1lbnUtZGl2aWRlciAqbmdJZj1cIm1lbnUua2V5ID09PSAnc3BsaXQnXCI+PC90aHktYWN0aW9uLW1lbnUtZGl2aWRlcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90aHktYWN0aW9uLW1lbnU+XG48L25nLXRlbXBsYXRlPlxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy90b29sYmFyLWRyb3Bkb3duL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvdG9vbGJhci1kcm9wZG93bi90b29sYmFyLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLEtBQUssRUFBRSxZQUFZLEVBQWUsU0FBUyxFQUFpQyxNQUFNLGVBQWUsQ0FBQztBQUkxSSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7OztBQVNuRixNQUFNLE9BQU8sMkJBQTRCLFNBQVEsc0JBQXNCO0lBc0NuRSxZQUNXLFVBQXNCLEVBQ3JCLFVBQXNCLEVBQ3RCLGdCQUFrQyxFQUNsQyxPQUFnQjtRQUV4QixLQUFLLEVBQUUsQ0FBQztRQUxELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFyQzVCLGlCQUFZLEdBQUcsWUFBWSxDQUFDO0lBd0M1QixDQUFDO0lBckNELElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkksQ0FBQztJQVlELGNBQWMsQ0FBQyxLQUFpQjs7UUFDNUIsS0FBSyxDQUFDLE9BQU8s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QVEsQ0FBQztnQkFXckMsdUJBQXVCO3NCQUR0QixZQUFZO3VCQUFDLHFCQUFxQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIElucHV0LCBIb3N0TGlzdGVuZXIsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2RlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3Rvb2xiYXInO1xuaW1wb3J0IHsgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Rvb2xiYXInO1xuaW1wb3J0IHsgVGhlQmFzZVRvb2xiYXJEcm9wZG93biB9IGZyb20gJy4uLy4uL2NvcmUvdG9vbGJhci1pdGVtL2Jhc2UtdG9vbGJhci1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtdG9vbGJhci1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Rvb2xiYXItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aGUtdG9vbGJhci1kcm9wZG93bi1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVUb29sYmFyRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlVG9vbGJhckRyb3Bkb3duIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBpdGVtTW91c2Vkb3duSGFuZGxlOiAoaXRlbTogVG9vbGJhckl0ZW0pID0+IHZvaWQ7XG5cbiAgICBlZGl0b3I6IEVkaXRvcjtcbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBkcm9wZG93bk1vZGUgPSBEcm9wZG93bk1vZGU7XG4gICAgZHJvcGRvd25Qb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBnZXQgaXNPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93blBvcG92ZXJSZWYgJiYgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpICYmIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmLmdldE92ZXJsYXlSZWYoKS5oYXNBdHRhY2hlZCgpO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoJ2ljb25Nb2RlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGljb25Nb2RlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCd0ZXh0TW9kZVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICB0ZXh0TW9kZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZCgnZHJvcGRvd25UZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgZHJvcGRvd25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgdG9nZ2xlRHJvcGRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgc3VwZXIuZXhlY3V0ZShldmVudCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yPy5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuRHJvcGRvd25Qb3BvdmVyKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6IG1vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlRG9jdW1lbnRNb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd25Qb3BvdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnRlbXBsYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlID0gdGhpcy5tb2RlID09PSB0aGlzLmRyb3Bkb3duTW9kZS5pY29uID8gdGhpcy5pY29uTW9kZVRlbXBsYXRlIDogdGhpcy50ZXh0TW9kZVRlbXBsYXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZU1lbnVJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZU1lbnVJdGVtID0gdGhpcy5kZWZhdWx0RHJvcGRvd25JdGVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudG9vbGJhckl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYCR7dGhpcy50b29sYmFySXRlbT8ua2V5fWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXRlbU1vdXNlZG93bihldmVudDogTW91c2VFdmVudCwgaXRlbTogVG9vbGJhckl0ZW0pIHtcbiAgICAgICAgc3VwZXIuZXhlY3V0ZShldmVudCk7XG5cbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duUG9wb3ZlcigpO1xuXG4gICAgICAgIGlmICghdGhpcy50b29sYmFySXRlbS5kcm9wZG93bkZpeGVkSWNvbikge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVNZW51SXRlbSA9IGl0ZW07ICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pdGVtTW91c2Vkb3duSGFuZGxlKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1Nb3VzZWRvd25IYW5kbGUoaXRlbSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXRlbT8uZXhlY3V0ZSkge1xuICAgICAgICAgICAgaXRlbT8uZXhlY3V0ZSh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuRHJvcGRvd25Qb3BvdmVyKCkge1xuICAgICAgICB0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKHRoaXMuZHJvcGRvd25UZW1wbGF0ZSwge1xuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBbJ3RoZS10b29sYmFyLWRyb3Bkb3duLXBvcG92ZXInLCB0aGlzLnRvb2xiYXJJdGVtPy5rZXldLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgb2Zmc2V0OiAxMCxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmPy5nZXRPdmVybGF5UmVmKCkudXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLmNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSk7XG4gICAgfVxuXG4gICAgY2xvc2VEcm9wZG93blBvcG92ZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXJSZWY/LmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCkge1xuICAgICAgICBjb25zdCB0b3BQb3NpdGlvbjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgICAgICBvZmZzZXRZOiAtMTVcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYm90dG9tUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgLi4udG9wUG9zaXRpb24sXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXRZOiA0MlxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5lbGVtZW50UmVmKVxuICAgICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgICAgICAud2l0aEdyb3dBZnRlck9wZW4oZmFsc2UpXG4gICAgICAgICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbYm90dG9tUG9zaXRpb24sIHRvcFBvc2l0aW9uXSk7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpY29uTW9kZVRlbXBsYXRlPlxuICAgIDxhIHRoeUljb25OYXZMaW5rIGNsYXNzPVwiaWNvbi1tb2RlIGxpbmstd2l0aC1kb3duXCIgW3RoeVRvb2x0aXBdPVwiYWN0aXZlTWVudUl0ZW0/Lm5hbWVcIiB0aHlUb29sdGlwUGxhY2VtZW50PVwidG9wXCI+XG4gICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiYWN0aXZlTWVudUl0ZW0/Lmljb25cIj48L3RoeS1pY29uPlxuICAgICAgICA8dGh5LWljb24gY2xhc3M9XCJjYXJldC1kb3duLWljb24gZm9udC1zaXplLXNtIHRleHQtZGVzY1wiIHRoeUljb25OYW1lPVwiY2FyZXQtZG93blwiPjwvdGh5LWljb24+XG4gICAgPC9hPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0ZXh0TW9kZVRlbXBsYXRlPlxuICAgIDxhIHRoeUljb25OYXZMaW5rIGNsYXNzPVwidGV4dC1tb2RlXCIgW3RoeVRvb2x0aXBdPVwiYWN0aXZlTWVudUl0ZW0/Lm5hbWVcIiB0aHlUb29sdGlwUGxhY2VtZW50PVwidG9wXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2hvdy10ZXh0XCI+e3sgYWN0aXZlTWVudUl0ZW0/Lm5hbWUgfX08L3NwYW4+XG4gICAgICAgIDx0aHktaWNvbiBjbGFzcz1cInRleHQtY2FyZXQtZG93bi1pY29uIGZvbnQtc2l6ZS1zbSB0ZXh0LWRlc2NcIiB0aHlJY29uTmFtZT1cImNhcmV0LWRvd25cIj48L3RoeS1pY29uPlxuICAgIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd25UZW1wbGF0ZT5cbiAgICA8dGh5LWFjdGlvbi1tZW51IGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudSBvZiBtZW51c1wiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cIm1lbnUua2V5ICE9PSAnc3BsaXQnXCJcbiAgICAgICAgICAgICAgICB0aHlBY3Rpb25NZW51SXRlbVxuICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgICAgICAgICAgIFt0aHlBY3Rpb25NZW51SXRlbUFjdGl2ZV09XCJtZW51LmtleSA9PT0gYWN0aXZlTWVudUl0ZW0ua2V5ICYmICF0b29sYmFySXRlbS5kcm9wZG93bkZpeGVkSWNvblwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJpdGVtTW91c2Vkb3duKCRldmVudCwgbWVudSlcIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIm1lbnU/LnN0eWxlc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtZW51Lmljb24gJiYgbW9kZSA9PT0gZHJvcGRvd25Nb2RlLmljb25cIiB0aHlBY3Rpb25NZW51SXRlbUljb24+XG4gICAgICAgICAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwibWVudS5pY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtZW51Lm5hbWVcIiB0aHlBY3Rpb25NZW51SXRlbU5hbWU+e3sgbWVudS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPHRoeS1hY3Rpb24tbWVudS1kaXZpZGVyICpuZ0lmPVwibWVudS5rZXkgPT09ICdzcGxpdCdcIj48L3RoeS1hY3Rpb24tbWVudS1kaXZpZGVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RoeS1hY3Rpb24tbWVudT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -13,7 +13,7 @@ export class TheToolbarGroupComponent {
13
13
  }
14
14
  set item(i) {
15
15
  this._item = i;
16
- this.activeMenu = i;
16
+ this.activeMenuItem = i;
17
17
  }
18
18
  get item() {
19
19
  return this._item;
@@ -44,9 +44,9 @@ export class TheToolbarGroupComponent {
44
44
  this.openGroup(event);
45
45
  }
46
46
  }
47
- statusChange(editor) {
47
+ selectionChange(editor) {
48
48
  const activeItem = this.menusActive(editor);
49
- this.activeMenu = activeItem ? activeItem : null;
49
+ this.activeMenuItem = activeItem ? activeItem : null;
50
50
  this.activeChange();
51
51
  this.colseGroup();
52
52
  }
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
112
112
  type: HostListener,
113
113
  args: ['click', ['$event']]
114
114
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy90b29sYmFyLWdyb3VwL3Rvb2xiYXItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvdG9vbGJhci1ncm91cC90b29sYmFyLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUErQixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVl4SSxNQUFNLE9BQU8sd0JBQXdCO0lBc0NqQyxZQUFtQixVQUFzQixFQUFVLFVBQXNCLEVBQVUsZ0JBQWtDO1FBQWxHLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWxCckgsV0FBTSxHQUFHLEtBQUssQ0FBQztJQWtCeUcsQ0FBQztJQWpDekgsSUFDSSxJQUFJLENBQUMsQ0FBcUI7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlILENBQUM7SUFXRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztR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QUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxtQkFBbUI7cUJBQzdCO2lCQUNKO3lKQUlZLEtBQUs7c0JBQWIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBb0JOLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9ELGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPckMsV0FBVztzQkFEVixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgT25EZXN0cm95LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRGVmYXVsdFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXRvb2xiYXItZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItZ3JvdXAnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVUb29sYmFyR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBfaXRlbTogRGVmYXVsdFRvb2xiYXJJdGVtO1xuXG4gICAgQElucHV0KCkgbWVudXM6IERlZmF1bHRUb29sYmFySXRlbVtdO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgaXRlbShpOiBEZWZhdWx0VG9vbGJhckl0ZW0pIHtcbiAgICAgICAgdGhpcy5faXRlbSA9IGk7XG4gICAgICAgIHRoaXMuYWN0aXZlTWVudSA9IGk7XG4gICAgfVxuXG4gICAgZ2V0IGl0ZW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtO1xuICAgIH1cblxuICAgIGdldCBpc09wZW5lZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3JvdXBQb3BvdmVyUmVmICYmIHRoaXMuZ3JvdXBQb3BvdmVyUmVmLmdldE92ZXJsYXlSZWYoKSAmJiB0aGlzLmdyb3VwUG9wb3ZlclJlZi5nZXRPdmVybGF5UmVmKCkuaGFzQXR0YWNoZWQoKTtcbiAgICB9XG5cbiAgICBlZGl0b3I6IEVkaXRvcjtcbiAgICBhY3RpdmUgPSBmYWxzZTtcbiAgICBhY3RpdmVNZW51OiBEZWZhdWx0VG9vbGJhckl0ZW07XG4gICAgZ3JvdXBQb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBAVmlld0NoaWxkKCdncm91cFRlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiwgc3RhdGljOiB0cnVlIH0pXG4gICAgZ3JvdXBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgbW91c2Vkb3duSGFuZGxlcihldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnRvZ2dsZUdyb3VwTWVudXMoZXZlbnQpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBjbGlja0hhbmRsZShldmVudCkge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyLCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2xzZUdyb3VwKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlR3JvdXBNZW51cyhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29sc2VHcm91cCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcGVuR3JvdXAoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXR1c0NoYW5nZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICBjb25zdCBhY3RpdmVJdGVtID0gdGhpcy5tZW51c0FjdGl2ZShlZGl0b3IpO1xuICAgICAgICB0aGlzLmFjdGl2ZU1lbnUgPSBhY3RpdmVJdGVtID8gYWN0aXZlSXRlbSA6IG51bGw7XG4gICAgICAgIHRoaXMuYWN0aXZlQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMuY29sc2VHcm91cCgpO1xuICAgIH1cblxuICAgIG1lbnVzQWN0aXZlKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lbnVzLmZpbmQoaSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbiAmJiBpPy5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaT8uYWN0aXZlKGVkaXRvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFjdGl2ZUNoYW5nZSgpIHtcbiAgICAgICAgY29uc3QgYWN0aXZlSXRlbSA9IHRoaXMubWVudXNBY3RpdmUodGhpcy5lZGl0b3IpO1xuICAgICAgICBpZiAodGhpcy5pc09wZW5lZCAmJiAhYWN0aXZlSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZSA9IGFjdGl2ZUl0ZW0gPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgb3Blbkdyb3VwKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5ncm91cFBvcG92ZXJSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3Blbih0aGlzLmdyb3VwVGVtcGxhdGUsIHtcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtdG9vbGJhci1ncm91cC1jb250YWluZXInLFxuICAgICAgICAgICAgb2Zmc2V0OiAxMCxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbVJpZ2h0JyxcbiAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ncm91cFBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVDaGFuZ2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29sc2VHcm91cCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBQb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8YSB0aHlJY29uTmF2TGluayBbdGh5SWNvbk5hdkxpbmtJY29uXT1cIml0ZW0uaWNvblwiIFt0aHlUb29sdGlwXT1cIml0ZW0/Lm5hbWVcIiB0aHlUb29sdGlwUGxhY2VtZW50PVwidG9wXCIgW3RoeUljb25OYXZMaW5rQWN0aXZlXT1cImFjdGl2ZVwiPjwvYT5cblxuPG5nLXRlbXBsYXRlICNncm91cFRlbXBsYXRlPlxuICAgIDx0aGUtdG9vbGJhciBjbGFzcz1cImdyb3VwXCIgW2VkaXRvcl09XCJlZGl0b3JcIiBbdG9vbGJhckl0ZW1zXT1cIm1lbnVzXCIgW2lzTW9yZV09XCJmYWxzZVwiPjwvdGhlLXRvb2xiYXI+XG48L25nLXRlbXBsYXRlPlxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29tcG9uZW50cy90b29sYmFyLWdyb3VwL3Rvb2xiYXItZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL2NvbXBvbmVudHMvdG9vbGJhci1ncm91cC90b29sYmFyLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUErQixZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVl4SSxNQUFNLE9BQU8sd0JBQXdCO0lBc0NqQyxZQUFtQixVQUFzQixFQUFVLFVBQXNCLEVBQVUsZ0JBQWtDO1FBQWxHLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWxCckgsV0FBTSxHQUFHLEtBQUssQ0FBQztJQWtCeUcsQ0FBQztJQWpDekgsSUFDSSxJQUFJLENBQUMsQ0FBcUI7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlILENBQUM7SUFXRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ2xCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztR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QUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxtQkFBbUI7cUJBQzdCO2lCQUNKO3lKQUlZLEtBQUs7c0JBQWIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBb0JOLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSS9ELGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPckMsV0FBVztzQkFEVixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgT25EZXN0cm95LCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRGVmYXVsdFRvb2xiYXJJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGhlLXRvb2xiYXItZ3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGhlLXRvb2xiYXItZ3JvdXAnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUaGVUb29sYmFyR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBfaXRlbTogRGVmYXVsdFRvb2xiYXJJdGVtO1xuXG4gICAgQElucHV0KCkgbWVudXM6IERlZmF1bHRUb29sYmFySXRlbVtdO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgaXRlbShpOiBEZWZhdWx0VG9vbGJhckl0ZW0pIHtcbiAgICAgICAgdGhpcy5faXRlbSA9IGk7XG4gICAgICAgIHRoaXMuYWN0aXZlTWVudUl0ZW0gPSBpO1xuICAgIH1cblxuICAgIGdldCBpdGVtKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faXRlbTtcbiAgICB9XG5cbiAgICBnZXQgaXNPcGVuZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyb3VwUG9wb3ZlclJlZiAmJiB0aGlzLmdyb3VwUG9wb3ZlclJlZi5nZXRPdmVybGF5UmVmKCkgJiYgdGhpcy5ncm91cFBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpLmhhc0F0dGFjaGVkKCk7XG4gICAgfVxuXG4gICAgZWRpdG9yOiBFZGl0b3I7XG4gICAgYWN0aXZlID0gZmFsc2U7XG4gICAgYWN0aXZlTWVudUl0ZW06IERlZmF1bHRUb29sYmFySXRlbTtcbiAgICBncm91cFBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2dyb3VwVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICBncm91cFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICBtb3VzZWRvd25IYW5kbGVyKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMudG9nZ2xlR3JvdXBNZW51cyhldmVudCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIGNsaWNrSGFuZGxlKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge31cblxuICAgIG5nT25Jbml0KCkge31cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbHNlR3JvdXAoKTtcbiAgICB9XG5cbiAgICB0b2dnbGVHcm91cE1lbnVzKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvcj8uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc09wZW5lZCkge1xuICAgICAgICAgICAgdGhpcy5jb2xzZUdyb3VwKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5Hcm91cChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2VsZWN0aW9uQ2hhbmdlKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUl0ZW0gPSB0aGlzLm1lbnVzQWN0aXZlKGVkaXRvcik7XG4gICAgICAgIHRoaXMuYWN0aXZlTWVudUl0ZW0gPSBhY3RpdmVJdGVtID8gYWN0aXZlSXRlbSA6IG51bGw7XG4gICAgICAgIHRoaXMuYWN0aXZlQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMuY29sc2VHcm91cCgpO1xuICAgIH1cblxuICAgIG1lbnVzQWN0aXZlKGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1lbnVzLmZpbmQoaSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnNlbGVjdGlvbiAmJiBpPy5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaT8uYWN0aXZlKGVkaXRvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFjdGl2ZUNoYW5nZSgpIHtcbiAgICAgICAgY29uc3QgYWN0aXZlSXRlbSA9IHRoaXMubWVudXNBY3RpdmUodGhpcy5lZGl0b3IpO1xuICAgICAgICBpZiAodGhpcy5pc09wZW5lZCAmJiAhYWN0aXZlSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZSA9IGFjdGl2ZUl0ZW0gPyB0cnVlIDogZmFsc2U7XG4gICAgfVxuXG4gICAgb3Blbkdyb3VwKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5ncm91cFBvcG92ZXJSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3Blbih0aGlzLmdyb3VwVGVtcGxhdGUsIHtcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtdG9vbGJhci1ncm91cC1jb250YWluZXInLFxuICAgICAgICAgICAgb2Zmc2V0OiAxMCxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbVJpZ2h0JyxcbiAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ncm91cFBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVDaGFuZ2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29sc2VHcm91cCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ3JvdXBQb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8YSB0aHlJY29uTmF2TGluayBbdGh5SWNvbk5hdkxpbmtJY29uXT1cIml0ZW0uaWNvblwiIFt0aHlUb29sdGlwXT1cIml0ZW0/Lm5hbWVcIiB0aHlUb29sdGlwUGxhY2VtZW50PVwidG9wXCIgW3RoeUljb25OYXZMaW5rQWN0aXZlXT1cImFjdGl2ZVwiPjwvYT5cblxuPG5nLXRlbXBsYXRlICNncm91cFRlbXBsYXRlPlxuICAgIDx0aGUtdG9vbGJhciBjbGFzcz1cImdyb3VwXCIgW2VkaXRvcl09XCJlZGl0b3JcIiBbdG9vbGJhckl0ZW1zXT1cIm1lbnVzXCIgW2lzTW9yZV09XCJmYWxzZVwiPjwvdGhlLXRvb2xiYXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -1,5 +1,5 @@
1
- import { Component, HostBinding, HostListener, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
- import { TheToolbarBaseItemComponent } from '../toolbar-base-item/toolbar-base-item.component';
1
+ import { Component, HostListener, Input, ViewChild, ViewContainerRef } from '@angular/core';
2
+ import { TheBaseToolbarItem } from '../../core/toolbar-item/base-toolbar-item';
3
3
  import { ToolbarItemMode } from '../../constants/toolbar';
4
4
  import { isComponentType } from 'slate-angular';
5
5
  import * as i0 from "@angular/core";
@@ -7,68 +7,58 @@ import * as i1 from "ngx-tethys/nav";
7
7
  import * as i2 from "ngx-tethys/icon";
8
8
  import * as i3 from "@angular/common";
9
9
  import * as i4 from "ngx-tethys/tooltip";
10
- export class TheToolbarItemComponent extends TheToolbarBaseItemComponent {
10
+ export class TheToolbarItemComponent extends TheBaseToolbarItem {
11
11
  constructor(ngZone, cfr) {
12
12
  super();
13
13
  this.ngZone = ngZone;
14
14
  this.cfr = cfr;
15
15
  this.itemMode = ToolbarItemMode.horizontal;
16
16
  this.ToolbarItemMode = ToolbarItemMode;
17
- this.active = false;
18
- this.disabled = false;
19
17
  }
20
18
  toggleDropdown(event) {
21
19
  super.execute(event);
22
20
  }
23
- get disabledState() {
24
- return this.disabled;
25
- }
26
21
  ngOnInit() {
27
22
  var _a, _b;
28
- if (((_a = this.item) === null || _a === void 0 ? void 0 : _a.quickItemComponent) && isComponentType((_b = this.item) === null || _b === void 0 ? void 0 : _b.quickItemComponent)) {
23
+ if (((_a = this.toolbarItem) === null || _a === void 0 ? void 0 : _a.quickItemComponent) && isComponentType((_b = this.toolbarItem) === null || _b === void 0 ? void 0 : _b.quickItemComponent)) {
29
24
  this.renderToolbarItem();
30
25
  }
31
26
  }
32
- statusChange(editor) {
33
- var _a, _b, _c, _d;
34
- this.disabled = ((_a = this.item) === null || _a === void 0 ? void 0 : _a.disable) ? (_b = this.item) === null || _b === void 0 ? void 0 : _b.disable(editor) : false;
35
- this.active = ((_c = this.item) === null || _c === void 0 ? void 0 : _c.active) ? (_d = this.item) === null || _d === void 0 ? void 0 : _d.active(editor) : false;
36
- }
37
27
  execute(event) {
38
28
  var _a, _b, _c;
39
29
  super.execute(event);
40
- if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) || this.disabled || !((_b = this.item) === null || _b === void 0 ? void 0 : _b.execute)) {
30
+ if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.disabled) || this.disabled || !((_b = this.toolbarItem) === null || _b === void 0 ? void 0 : _b.execute)) {
41
31
  return;
42
32
  }
43
- (_c = this.item) === null || _c === void 0 ? void 0 : _c.execute(this.editor);
33
+ (_c = this.toolbarItem) === null || _c === void 0 ? void 0 : _c.execute(this.editor);
44
34
  }
45
35
  renderToolbarItem() {
46
36
  this.ngZone.run(() => {
47
- const toolbarItemFactory = this.cfr.resolveComponentFactory(this.item.quickItemComponent);
48
- const tollbarItemRef = this.toolbarContainer.createComponent(toolbarItemFactory);
49
- tollbarItemRef.instance.editor = this.editor;
50
- tollbarItemRef.instance.item = this.item;
51
- tollbarItemRef.instance.itemMode = ToolbarItemMode.vertical;
37
+ const toolbarItemFactory = this.cfr.resolveComponentFactory(this.toolbarItem.quickItemComponent);
38
+ const toolbarItemRef = this.toolbarContainer.createComponent(toolbarItemFactory);
39
+ toolbarItemRef.instance.editor = this.editor;
40
+ toolbarItemRef.instance.item = this.toolbarItem;
41
+ toolbarItemRef.instance.itemMode = ToolbarItemMode.vertical;
52
42
  });
53
43
  }
54
44
  }
55
45
  TheToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheToolbarItemComponent, deps: [{ token: i0.NgZone }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
56
- TheToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarItemComponent, selector: "the-toolbar-item", inputs: { editor: "editor", item: "item", itemMode: "itemMode" }, host: { listeners: { "mousedown": "toggleDropdown($event)" }, properties: { "class.disabled": "this.disabledState" }, classAttribute: "the-toolbar-item" }, viewQueries: [{ propertyName: "toolbarContainer", first: true, predicate: ["toolbarContainer"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: `
46
+ TheToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheToolbarItemComponent, selector: "the-toolbar-item", inputs: { itemMode: "itemMode" }, host: { listeners: { "mousedown": "toggleDropdown($event)" }, classAttribute: "the-toolbar-item" }, viewQueries: [{ propertyName: "toolbarContainer", first: true, predicate: ["toolbarContainer"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: `
57
47
  <ng-container *ngIf="itemMode === ToolbarItemMode.horizontal; else selectionItem">
58
48
  <a
59
49
  thyIconNavLink
60
- [thyIconNavLinkIcon]="item.icon"
50
+ [thyIconNavLinkIcon]="toolbarItem.icon"
61
51
  [thyTooltip]="tooltip"
62
- [thyTooltipTemplateContext]="{ name: item.name, shortcutKey: item.shortcutKey }"
52
+ [thyTooltipTemplateContext]="{ name: toolbarItem.name, shortcutKey: toolbarItem.shortcutKey }"
63
53
  thyTooltipPlacement="top"
64
54
  [thyIconNavLinkActive]="active"
65
55
  (mousedown)="execute($event)"
66
56
  ></a>
67
57
  </ng-container>
68
58
  <ng-template #selectionItem>
69
- <ng-container *ngIf="!item?.quickItemComponent">
70
- <thy-icon [thyIconName]="item?.icon" [thyIconRotate]="0" class="quick-toolbar-icon"></thy-icon>
71
- <span class="quick-toolbar-name">{{ item?.name }}</span>
59
+ <ng-container *ngIf="!toolbarItem?.quickItemComponent">
60
+ <thy-icon [thyIconName]="toolbarItem?.icon" [thyIconRotate]="0" class="quick-toolbar-icon"></thy-icon>
61
+ <span class="quick-toolbar-name">{{ toolbarItem?.name }}</span>
72
62
  </ng-container>
73
63
  </ng-template>
74
64
  <ng-template #tooltip let-data> {{ data.name }} {{ data.shortcutKey }} </ng-template>
@@ -82,18 +72,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
82
72
  <ng-container *ngIf="itemMode === ToolbarItemMode.horizontal; else selectionItem">
83
73
  <a
84
74
  thyIconNavLink
85
- [thyIconNavLinkIcon]="item.icon"
75
+ [thyIconNavLinkIcon]="toolbarItem.icon"
86
76
  [thyTooltip]="tooltip"
87
- [thyTooltipTemplateContext]="{ name: item.name, shortcutKey: item.shortcutKey }"
77
+ [thyTooltipTemplateContext]="{ name: toolbarItem.name, shortcutKey: toolbarItem.shortcutKey }"
88
78
  thyTooltipPlacement="top"
89
79
  [thyIconNavLinkActive]="active"
90
80
  (mousedown)="execute($event)"
91
81
  ></a>
92
82
  </ng-container>
93
83
  <ng-template #selectionItem>
94
- <ng-container *ngIf="!item?.quickItemComponent">
95
- <thy-icon [thyIconName]="item?.icon" [thyIconRotate]="0" class="quick-toolbar-icon"></thy-icon>
96
- <span class="quick-toolbar-name">{{ item?.name }}</span>
84
+ <ng-container *ngIf="!toolbarItem?.quickItemComponent">
85
+ <thy-icon [thyIconName]="toolbarItem?.icon" [thyIconRotate]="0" class="quick-toolbar-icon"></thy-icon>
86
+ <span class="quick-toolbar-name">{{ toolbarItem?.name }}</span>
97
87
  </ng-container>
98
88
  </ng-template>
99
89
  <ng-template #tooltip let-data> {{ data.name }} {{ data.shortcutKey }} </ng-template>
@@ -103,11 +93,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
103
93
  class: 'the-toolbar-item'
104
94
  }
105
95
  }]
106
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { editor: [{
107
- type: Input
108
- }], item: [{
109
- type: Input
110
- }], itemMode: [{
96
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { itemMode: [{
111
97
  type: Input
112
98
  }], toolbarContainer: [{
113
99
  type: ViewChild,
@@ -115,8 +101,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
115
101
  }], toggleDropdown: [{
116
102
  type: HostListener,
117
103
  args: ['mousedown', ['$event']]
118
- }], disabledState: [{
119
- type: HostBinding,
120
- args: ['class.disabled']
121
104
  }] } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3Rvb2xiYXItaXRlbS90b29sYmFyLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBRVQsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBNkJoRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsMkJBQTJCO0lBeUJwRSxZQUFvQixNQUFjLEVBQVUsR0FBNkI7UUFDckUsS0FBSyxFQUFFLENBQUM7UUFEUSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBMEI7UUFwQmhFLGFBQVEsR0FBb0IsZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUVoRSxvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQUVsQyxXQUFNLEdBQXFCLEtBQUssQ0FBQztRQUVqQyxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBZ0JqQixDQUFDO0lBVkQsY0FBYyxDQUFDLEtBQWlCO1FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELElBQW1DLGFBQWE7UUFDNUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFNRCxRQUFROztRQUNKLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLGtCQUFrQixLQUFJLGVBQWUsQ0FBQyxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLGtCQUFrQixDQUFDLEVBQUU7WUFDakYsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQWM7O1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQSxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLE9BQU8sRUFBQyxDQUFDLENBQUMsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUN4RSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUEsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDLE1BQUEsSUFBSSxDQUFDLElBQUksMENBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFpQjs7UUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVyQixJQUFJLENBQUEsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxRQUFRLEtBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxPQUFPLENBQUEsRUFBRTtZQUMvRCxPQUFPO1NBQ1Y7UUFFRCxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELGlCQUFpQjtRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzFGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNqRixjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzdDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDekMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3FIQTFEUSx1QkFBdUI7eUdBQXZCLHVCQUF1Qix1WEFhTyxnQkFBZ0Isa0VBdEM3Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FvQlQ7NEZBS1EsdUJBQXVCO2tCQTNCbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBb0JUO29CQUNELElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsa0JBQWtCO3FCQUM1QjtpQkFDSjtvSUFFWSxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBU04sZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdkUsY0FBYztzQkFEYixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFLRixhQUFhO3NCQUEvQyxXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFRoZUVkaXRvciwgVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRoZVRvb2xiYXJCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL3Rvb2xiYXItYmFzZS1pdGVtL3Rvb2xiYXItYmFzZS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYmFySXRlbU1vZGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdG9vbGJhcic7XG5pbXBvcnQgeyBpc0NvbXBvbmVudFR5cGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtdG9vbGJhci1pdGVtJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbU1vZGUgPT09IFRvb2xiYXJJdGVtTW9kZS5ob3Jpem9udGFsOyBlbHNlIHNlbGVjdGlvbkl0ZW1cIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdGh5SWNvbk5hdkxpbmtcbiAgICAgICAgICAgICAgICBbdGh5SWNvbk5hdkxpbmtJY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgW3RoeVRvb2x0aXBdPVwidG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgW3RoeVRvb2x0aXBUZW1wbGF0ZUNvbnRleHRdPVwieyBuYW1lOiBpdGVtLm5hbWUsIHNob3J0Y3V0S2V5OiBpdGVtLnNob3J0Y3V0S2V5IH1cIlxuICAgICAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgICAgIFt0aHlJY29uTmF2TGlua0FjdGl2ZV09XCJhY3RpdmVcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwiZXhlY3V0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdGlvbkl0ZW0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0/LnF1aWNrSXRlbUNvbXBvbmVudFwiPlxuICAgICAgICAgICAgICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiaXRlbT8uaWNvblwiIFt0aHlJY29uUm90YXRlXT1cIjBcIiBjbGFzcz1cInF1aWNrLXRvb2xiYXItaWNvblwiPjwvdGh5LWljb24+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJxdWljay10b29sYmFyLW5hbWVcIj57eyBpdGVtPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcCBsZXQtZGF0YT4ge3sgZGF0YS5uYW1lIH19IHt7IGRhdGEuc2hvcnRjdXRLZXkgfX0gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAjdG9vbGJhckNvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aGUtdG9vbGJhci1pdGVtJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQgZXh0ZW5kcyBUaGVUb29sYmFyQmFzZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGVkaXRvcjogVGhlRWRpdG9yO1xuXG4gICAgQElucHV0KCkgaXRlbTogVG9vbGJhckl0ZW07XG5cbiAgICBASW5wdXQoKSBpdGVtTW9kZTogVG9vbGJhckl0ZW1Nb2RlID0gVG9vbGJhckl0ZW1Nb2RlLmhvcml6b250YWw7XG5cbiAgICBUb29sYmFySXRlbU1vZGUgPSBUb29sYmFySXRlbU1vZGU7XG5cbiAgICBhY3RpdmU6IHN0cmluZyB8IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCd0b29sYmFyQ29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgICB0b29sYmFyQ29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgICB0b2dnbGVEcm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBzdXBlci5leGVjdXRlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRpc2FibGVkJykgZ2V0IGRpc2FibGVkU3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbT8ucXVpY2tJdGVtQ29tcG9uZW50ICYmIGlzQ29tcG9uZW50VHlwZSh0aGlzLml0ZW0/LnF1aWNrSXRlbUNvbXBvbmVudCkpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyVG9vbGJhckl0ZW0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0dXNDaGFuZ2UoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuaXRlbT8uZGlzYWJsZSA/IHRoaXMuaXRlbT8uZGlzYWJsZShlZGl0b3IpIDogZmFsc2U7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy5pdGVtPy5hY3RpdmUgPyB0aGlzLml0ZW0/LmFjdGl2ZShlZGl0b3IpIDogZmFsc2U7XG4gICAgfVxuXG4gICAgZXhlY3V0ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBzdXBlci5leGVjdXRlKGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMuaXRlbT8uZXhlY3V0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pdGVtPy5leGVjdXRlKHRoaXMuZWRpdG9yKTtcbiAgICB9XG5cbiAgICByZW5kZXJUb29sYmFySXRlbSgpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHRvb2xiYXJJdGVtRmFjdG9yeSA9IHRoaXMuY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KHRoaXMuaXRlbS5xdWlja0l0ZW1Db21wb25lbnQpO1xuICAgICAgICAgICAgY29uc3QgdG9sbGJhckl0ZW1SZWYgPSB0aGlzLnRvb2xiYXJDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KHRvb2xiYXJJdGVtRmFjdG9yeSk7XG4gICAgICAgICAgICB0b2xsYmFySXRlbVJlZi5pbnN0YW5jZS5lZGl0b3IgPSB0aGlzLmVkaXRvcjtcbiAgICAgICAgICAgIHRvbGxiYXJJdGVtUmVmLmluc3RhbmNlLml0ZW0gPSB0aGlzLml0ZW07XG4gICAgICAgICAgICB0b2xsYmFySXRlbVJlZi5pbnN0YW5jZS5pdGVtTW9kZSA9IFRvb2xiYXJJdGVtTW9kZS52ZXJ0aWNhbDtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9jb21wb25lbnRzL3Rvb2xiYXItaXRlbS90b29sYmFyLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTRCLFlBQVksRUFBRSxLQUFLLEVBQWtCLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBNkJoRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBYTNELFlBQW9CLE1BQWMsRUFBVSxHQUE2QjtRQUNyRSxLQUFLLEVBQUUsQ0FBQztRQURRLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUEwQjtRQVpoRSxhQUFRLEdBQW9CLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFFaEUsb0JBQWUsR0FBRyxlQUFlLENBQUM7SUFZbEMsQ0FBQztJQU5ELGNBQWMsQ0FBQyxLQUFpQjtRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFNRCxRQUFROztRQUNKLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGtCQUFrQixLQUFJLGVBQWUsQ0FBQyxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLGtCQUFrQixDQUFDLEVBQUU7WUFDL0YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWlCOztRQUNyQixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJCLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFFBQVEsS0FBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLE9BQU8sQ0FBQSxFQUFFO1lBQ3RFLE9BQU87U0FDVjtRQUVELE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ2pCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDakcsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ2pGLGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDN0MsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNoRCxjQUFjLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7cUhBekNRLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLCtSQUtPLGdCQUFnQixrRUE5QjdDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQW9CVDs0RkFLUSx1QkFBdUI7a0JBM0JuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FvQlQ7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxrQkFBa0I7cUJBQzVCO2lCQUNKO29JQUVZLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS04sZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdkUsY0FBYztzQkFEYixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBOZ1pvbmUsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaGVCYXNlVG9vbGJhckl0ZW0gfSBmcm9tICcuLi8uLi9jb3JlL3Rvb2xiYXItaXRlbS9iYXNlLXRvb2xiYXItaXRlbSc7XG5pbXBvcnQgeyBUb29sYmFySXRlbU1vZGUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvdG9vbGJhcic7XG5pbXBvcnQgeyBpc0NvbXBvbmVudFR5cGUgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtdG9vbGJhci1pdGVtJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbU1vZGUgPT09IFRvb2xiYXJJdGVtTW9kZS5ob3Jpem9udGFsOyBlbHNlIHNlbGVjdGlvbkl0ZW1cIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdGh5SWNvbk5hdkxpbmtcbiAgICAgICAgICAgICAgICBbdGh5SWNvbk5hdkxpbmtJY29uXT1cInRvb2xiYXJJdGVtLmljb25cIlxuICAgICAgICAgICAgICAgIFt0aHlUb29sdGlwXT1cInRvb2x0aXBcIlxuICAgICAgICAgICAgICAgIFt0aHlUb29sdGlwVGVtcGxhdGVDb250ZXh0XT1cInsgbmFtZTogdG9vbGJhckl0ZW0ubmFtZSwgc2hvcnRjdXRLZXk6IHRvb2xiYXJJdGVtLnNob3J0Y3V0S2V5IH1cIlxuICAgICAgICAgICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAgICAgICAgIFt0aHlJY29uTmF2TGlua0FjdGl2ZV09XCJhY3RpdmVcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwiZXhlY3V0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2E+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdGlvbkl0ZW0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRvb2xiYXJJdGVtPy5xdWlja0l0ZW1Db21wb25lbnRcIj5cbiAgICAgICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cInRvb2xiYXJJdGVtPy5pY29uXCIgW3RoeUljb25Sb3RhdGVdPVwiMFwiIGNsYXNzPVwicXVpY2stdG9vbGJhci1pY29uXCI+PC90aHktaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInF1aWNrLXRvb2xiYXItbmFtZVwiPnt7IHRvb2xiYXJJdGVtPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjdG9vbHRpcCBsZXQtZGF0YT4ge3sgZGF0YS5uYW1lIH19IHt7IGRhdGEuc2hvcnRjdXRLZXkgfX0gPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAjdG9vbGJhckNvbnRhaW5lcj48L25nLWNvbnRhaW5lcj5cbiAgICBgLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aGUtdG9vbGJhci1pdGVtJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGhlVG9vbGJhckl0ZW1Db21wb25lbnQgZXh0ZW5kcyBUaGVCYXNlVG9vbGJhckl0ZW0gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGl0ZW1Nb2RlOiBUb29sYmFySXRlbU1vZGUgPSBUb29sYmFySXRlbU1vZGUuaG9yaXpvbnRhbDtcblxuICAgIFRvb2xiYXJJdGVtTW9kZSA9IFRvb2xiYXJJdGVtTW9kZTtcblxuICAgIEBWaWV3Q2hpbGQoJ3Rvb2xiYXJDb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRvb2xiYXJDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBASG9zdExpc3RlbmVyKCdtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIHRvZ2dsZURyb3Bkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHN1cGVyLmV4ZWN1dGUoZXZlbnQpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgY2ZyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMudG9vbGJhckl0ZW0/LnF1aWNrSXRlbUNvbXBvbmVudCAmJiBpc0NvbXBvbmVudFR5cGUodGhpcy50b29sYmFySXRlbT8ucXVpY2tJdGVtQ29tcG9uZW50KSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJUb29sYmFySXRlbSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZXhlY3V0ZShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBzdXBlci5leGVjdXRlKGV2ZW50KTtcblxuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LmRpc2FibGVkIHx8IHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMudG9vbGJhckl0ZW0/LmV4ZWN1dGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudG9vbGJhckl0ZW0/LmV4ZWN1dGUodGhpcy5lZGl0b3IpO1xuICAgIH1cblxuICAgIHJlbmRlclRvb2xiYXJJdGVtKCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdG9vbGJhckl0ZW1GYWN0b3J5ID0gdGhpcy5jZnIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkodGhpcy50b29sYmFySXRlbS5xdWlja0l0ZW1Db21wb25lbnQpO1xuICAgICAgICAgICAgY29uc3QgdG9vbGJhckl0ZW1SZWYgPSB0aGlzLnRvb2xiYXJDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KHRvb2xiYXJJdGVtRmFjdG9yeSk7XG4gICAgICAgICAgICB0b29sYmFySXRlbVJlZi5pbnN0YW5jZS5lZGl0b3IgPSB0aGlzLmVkaXRvcjtcbiAgICAgICAgICAgIHRvb2xiYXJJdGVtUmVmLmluc3RhbmNlLml0ZW0gPSB0aGlzLnRvb2xiYXJJdGVtO1xuICAgICAgICAgICAgdG9vbGJhckl0ZW1SZWYuaW5zdGFuY2UuaXRlbU1vZGUgPSBUb29sYmFySXRlbU1vZGUudmVydGljYWw7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -9,6 +9,7 @@ import { HeadingEditor } from '../plugins/heading/heading.editor';
9
9
  import { CodeEditor } from '../plugins/code/code.editor';
10
10
  export const defaultAutoFormatRules = [
11
11
  {
12
+ key: ElementKinds.heading_1,
12
13
  type: ElementKinds.heading_1,
13
14
  markup: '#',
14
15
  format: (editor) => {
@@ -16,6 +17,7 @@ export const defaultAutoFormatRules = [
16
17
  }
17
18
  },
18
19
  {
20
+ key: ElementKinds.heading_2,
19
21
  type: ElementKinds.heading_2,
20
22
  markup: '##',
21
23
  format: (editor) => {
@@ -23,6 +25,7 @@ export const defaultAutoFormatRules = [
23
25
  }
24
26
  },
25
27
  {
28
+ key: ElementKinds.heading_3,
26
29
  type: ElementKinds.heading_3,
27
30
  markup: '###',
28
31
  format: (editor) => {
@@ -30,6 +33,7 @@ export const defaultAutoFormatRules = [
30
33
  }
31
34
  },
32
35
  {
36
+ key: ElementKinds.heading_4,
33
37
  type: ElementKinds.heading_4,
34
38
  markup: '####',
35
39
  format: (editor) => {
@@ -37,6 +41,7 @@ export const defaultAutoFormatRules = [
37
41
  }
38
42
  },
39
43
  {
44
+ key: ElementKinds.heading_5,
40
45
  type: ElementKinds.heading_5,
41
46
  markup: '#####',
42
47
  format: (editor) => {
@@ -44,6 +49,7 @@ export const defaultAutoFormatRules = [
44
49
  }
45
50
  },
46
51
  {
52
+ key: ElementKinds.heading_6,
47
53
  type: ElementKinds.heading_6,
48
54
  markup: '######',
49
55
  format: (editor) => {
@@ -51,6 +57,7 @@ export const defaultAutoFormatRules = [
51
57
  }
52
58
  },
53
59
  {
60
+ key: ElementKinds.blockquote,
54
61
  type: ElementKinds.blockquote,
55
62
  markup: ['>'],
56
63
  format: (editor) => {
@@ -58,30 +65,35 @@ export const defaultAutoFormatRules = [
58
65
  }
59
66
  },
60
67
  {
68
+ key: MarkTypes.bold,
61
69
  type: MarkTypes.bold,
62
70
  between: ['**', '**'],
63
71
  mode: 'inline',
64
72
  insertTrigger: true
65
73
  },
66
74
  {
75
+ key: `${MarkTypes.bold}__`,
67
76
  type: MarkTypes.bold,
68
77
  between: ['__', '__'],
69
78
  mode: 'inline',
70
79
  insertTrigger: true
71
80
  },
72
81
  {
82
+ key: MarkTypes.italic,
73
83
  type: MarkTypes.italic,
74
84
  between: ['*', '*'],
75
85
  mode: 'inline',
76
86
  insertTrigger: true
77
87
  },
78
88
  {
89
+ key: `${MarkTypes.italic}_`,
79
90
  type: MarkTypes.italic,
80
91
  between: ['_', '_'],
81
92
  mode: 'inline',
82
93
  insertTrigger: true
83
94
  },
84
95
  {
96
+ key: ElementKinds.inlineCode,
85
97
  type: ElementKinds.inlineCode,
86
98
  between: ['`', '`'],
87
99
  mode: 'inline',
@@ -91,12 +103,14 @@ export const defaultAutoFormatRules = [
91
103
  }
92
104
  },
93
105
  {
106
+ key: MarkTypes.strike,
94
107
  type: MarkTypes.strike,
95
108
  between: ['~~', '~~'],
96
109
  mode: 'inline',
97
110
  insertTrigger: true
98
111
  },
99
112
  {
113
+ key: ElementKinds.code,
100
114
  type: ElementKinds.code,
101
115
  markup: '```',
102
116
  format: (editor) => {
@@ -104,6 +118,7 @@ export const defaultAutoFormatRules = [
104
118
  }
105
119
  },
106
120
  {
121
+ key: ElementKinds.listItem,
107
122
  type: ElementKinds.listItem,
108
123
  markup: [],
109
124
  match: (editor) => {
@@ -114,8 +129,8 @@ export const defaultAutoFormatRules = [
114
129
  }
115
130
  },
116
131
  {
117
- type: ElementKinds.listItem,
118
132
  key: ElementKinds.numberedList,
133
+ type: ElementKinds.listItem,
119
134
  markup: [],
120
135
  match: (editor, textFromBlockStart) => {
121
136
  return TheQueries.isParagraph(editor) && /^-?\d+(\.|\))$/.test(textFromBlockStart) ? [textFromBlockStart] : [];
@@ -132,6 +147,7 @@ export const defaultAutoFormatRules = [
132
147
  }
133
148
  },
134
149
  {
150
+ key: ElementKinds.checkItem,
135
151
  type: ElementKinds.checkItem,
136
152
  markup: [],
137
153
  match: (editor) => {
@@ -142,9 +158,10 @@ export const defaultAutoFormatRules = [
142
158
  }
143
159
  },
144
160
  {
161
+ key: ElementKinds.hr,
145
162
  type: ElementKinds.hr,
146
163
  markup: '---',
147
164
  insertTrigger: true
148
165
  }
149
166
  ];
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQtcnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29uc3RhbnRzL2F1dG8tZm9ybWF0LXJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBcUI7SUFDcEQ7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLEdBQUc7UUFDWCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLElBQUk7UUFDWixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLEtBQUs7UUFDYixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN2QixhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxVQUFVO1FBQzdCLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUNiLE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3ZCLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLENBQUM7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3BCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDckIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ3BCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDckIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDbkIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDbkIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxVQUFVO1FBQzdCLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUM7UUFDbkIsSUFBSSxFQUFFLFFBQVE7UUFDZCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLEVBQUU7WUFDckMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hELFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7S0FDSjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7UUFDckIsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsSUFBSTtLQUN0QjtJQUNEO1FBQ0ksSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJO1FBQ3ZCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsVUFBVSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsUUFBUTtRQUMzQixNQUFNLEVBQUUsRUFBRTtRQUNWLEtBQUssRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakUsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3ZCLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsUUFBUTtRQUMzQixHQUFHLEVBQUUsWUFBWSxDQUFDLFlBQVk7UUFDOUIsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsQ0FBQyxNQUFjLEVBQUUsa0JBQTBCLEVBQUUsRUFBRTtZQUNsRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ25ILENBQUM7UUFDRCxNQUFNLEVBQUUsQ0FBQyxNQUFjLEVBQUUsTUFBaUIsRUFBRSxFQUFFO1lBQzFDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLE1BQU0sRUFBRTtnQkFDUixVQUFVLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQXNCLENBQUM7Z0JBQzFELElBQUksVUFBVSxLQUFLLENBQUMsRUFBRTtvQkFDbEIsVUFBVSxHQUFHLENBQUMsQ0FBQztpQkFDbEI7YUFDSjtZQUNELFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekUsQ0FBQztLQUNKO0lBQ0Q7UUFDSSxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDNUIsTUFBTSxFQUFFLEVBQUU7UUFDVixLQUFLLEVBQUUsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUN0QixPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDO0tBQ0o7SUFDRDtRQUNJLElBQUksRUFBRSxZQUFZLENBQUMsRUFBRTtRQUNyQixNQUFNLEVBQUUsS0FBSztRQUNiLGFBQWEsRUFBRSxJQUFJO0tBQ3RCO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEF1dG9Gb3JtYXRSdWxlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9hdXRvLWZvcm1hdCc7XG5pbXBvcnQgeyBNYXJrVHlwZXMsIEVsZW1lbnRLaW5kcyB9IGZyb20gJy4vbm9kZS10eXBlcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgTGlzdEVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvbGlzdC9saXN0LmVkaXRvcic7XG5pbXBvcnQgeyBUb2RvSXRlbUVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvdG9kby1pdGVtL3RvZG8taXRlbS5lZGl0b3InO1xuaW1wb3J0IHsgQmxvY2txdW90ZUVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvYmxvY2txdW90ZS9ibG9ja3F1b3RlLmVkaXRvcic7XG5pbXBvcnQgeyBJbmxpbmVDb2RlRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9pbmxpbmUtY29kZS9pbmxpbmUtY29kZS5lZGl0b3InO1xuaW1wb3J0IHsgSGVhZGluZ0VkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvaGVhZGluZy9oZWFkaW5nLmVkaXRvcic7XG5pbXBvcnQgeyBDb2RlRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9jb2RlL2NvZGUuZWRpdG9yJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRBdXRvRm9ybWF0UnVsZXM6IEF1dG9Gb3JtYXRSdWxlW10gPSBbXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18xLFxuICAgICAgICBtYXJrdXA6ICcjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzEpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzIsXG4gICAgICAgIG1hcmt1cDogJyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzIpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzMsXG4gICAgICAgIG1hcmt1cDogJyMjIycsXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBIZWFkaW5nRWRpdG9yLnNldEhlYWRpbmcoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ18zKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ180LFxuICAgICAgICBtYXJrdXA6ICcjIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzUsXG4gICAgICAgIG1hcmt1cDogJyMjIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzUpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzYsXG4gICAgICAgIG1hcmt1cDogJyMjIyMjIycsXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBIZWFkaW5nRWRpdG9yLnNldEhlYWRpbmcoZWRpdG9yLCBFbGVtZW50S2luZHMuaGVhZGluZ182KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuYmxvY2txdW90ZSxcbiAgICAgICAgbWFya3VwOiBbJz4nXSxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEJsb2NrcXVvdGVFZGl0b3IudG9nZ2xlQmxvY2txdW90ZShlZGl0b3IpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5ib2xkLFxuICAgICAgICBiZXR3ZWVuOiBbJyoqJywgJyoqJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5ib2xkLFxuICAgICAgICBiZXR3ZWVuOiBbJ19fJywgJ19fJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgICAgIGJldHdlZW46IFsnKicsICcqJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgICAgIGJldHdlZW46IFsnXycsICdfJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlLFxuICAgICAgICBiZXR3ZWVuOiBbJ2AnLCAnYCddLFxuICAgICAgICBtb2RlOiAnaW5saW5lJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IsIHRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgSW5saW5lQ29kZUVkaXRvci50b2dnbGVJbmxpbmVDb2RlKGVkaXRvciwgdGV4dCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5hZnRlcihlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBNYXJrVHlwZXMuc3RyaWtlLFxuICAgICAgICBiZXR3ZWVuOiBbJ35+JywgJ35+J10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jb2RlLFxuICAgICAgICBtYXJrdXA6ICdgYGAnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgQ29kZUVkaXRvci5pbnNlcnRDb2RlKGVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICBtYXJrdXA6IFtdLFxuICAgICAgICBtYXRjaDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gVGhlUXVlcmllcy5pc1BhcmFncmFwaChlZGl0b3IpID8gWycqJywgJy0nLCAnKyddIDogW107XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBMaXN0RWRpdG9yLnRvZ2dsZUxpc3QoZWRpdG9yLCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW0sXG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCxcbiAgICAgICAgbWFya3VwOiBbXSxcbiAgICAgICAgbWF0Y2g6IChlZGl0b3I6IEVkaXRvciwgdGV4dEZyb21CbG9ja1N0YXJ0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBUaGVRdWVyaWVzLmlzUGFyYWdyYXBoKGVkaXRvcikgJiYgL14tP1xcZCsoXFwufFxcKSkkLy50ZXN0KHRleHRGcm9tQmxvY2tTdGFydCkgPyBbdGV4dEZyb21CbG9ja1N0YXJ0XSA6IFtdO1xuICAgICAgICB9LFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvciwgbWFya3VwPzogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgIGxldCBzdGFydEluZGV4ID0gMTtcbiAgICAgICAgICAgIGlmIChtYXJrdXApIHtcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gbWFya3VwWzBdLnNwbGl0KCcuJylbMF0gYXMgdW5rbm93biBhcyBudW1iZXI7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXJ0SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTGlzdEVkaXRvci50b2dnbGVMaXN0KGVkaXRvciwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCwgc3RhcnRJbmRleCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmNoZWNrSXRlbSxcbiAgICAgICAgbWFya3VwOiBbXSxcbiAgICAgICAgbWF0Y2g6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIFRoZVF1ZXJpZXMuaXNQYXJhZ3JhcGgoZWRpdG9yKSA/IFsnW10nXSA6IFtdO1xuICAgICAgICB9LFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgVG9kb0l0ZW1FZGl0b3IuaW5zZXJ0VG9kb0l0ZW0oZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaHIsXG4gICAgICAgIG1hcmt1cDogJy0tLScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9XG5dO1xuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1mb3JtYXQtcnVsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvY29uc3RhbnRzL2F1dG8tZm9ybWF0LXJ1bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBcUI7SUFDcEQ7UUFDSSxHQUFHLEVBQUUsWUFBWSxDQUFDLFNBQVM7UUFDM0IsSUFBSSxFQUFFLFlBQVksQ0FBQyxTQUFTO1FBQzVCLE1BQU0sRUFBRSxHQUFHO1FBQ1gsTUFBTSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FDSjtJQUNEO1FBQ0ksR0FBRyxFQUFFLFlBQVksQ0FBQyxTQUFTO1FBQzNCLElBQUksRUFBRSxZQUFZLENBQUMsU0FBUztRQUM1QixNQUFNLEVBQUUsSUFBSTtRQUNaLE1BQU0sRUFBRSxDQUFDLE1BQWMsRUFB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TSxFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUU7WUFDdkIsY0FBYyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDO0tBQ0o7SUFDRDtRQUNJLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRTtRQUNwQixJQUFJLEVBQUUsWUFBWSxDQUFDLEVBQUU7UUFDckIsTUFBTSxFQUFFLEtBQUs7UUFDYixhQUFhLEVBQUUsSUFBSTtLQUN0QjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBdXRvRm9ybWF0UnVsZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvYXV0by1mb3JtYXQnO1xuaW1wb3J0IHsgTWFya1R5cGVzLCBFbGVtZW50S2luZHMgfSBmcm9tICcuL25vZGUtdHlwZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IExpc3RFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2xpc3QvbGlzdC5lZGl0b3InO1xuaW1wb3J0IHsgVG9kb0l0ZW1FZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL3RvZG8taXRlbS90b2RvLWl0ZW0uZWRpdG9yJztcbmltcG9ydCB7IEJsb2NrcXVvdGVFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2Jsb2NrcXVvdGUvYmxvY2txdW90ZS5lZGl0b3InO1xuaW1wb3J0IHsgSW5saW5lQ29kZUVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvaW5saW5lLWNvZGUvaW5saW5lLWNvZGUuZWRpdG9yJztcbmltcG9ydCB7IEhlYWRpbmdFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2hlYWRpbmcvaGVhZGluZy5lZGl0b3InO1xuaW1wb3J0IHsgQ29kZUVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvY29kZS9jb2RlLmVkaXRvcic7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0QXV0b0Zvcm1hdFJ1bGVzOiBBdXRvRm9ybWF0UnVsZVtdID0gW1xuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaGVhZGluZ18xLFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18xLFxuICAgICAgICBtYXJrdXA6ICcjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzEpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLmhlYWRpbmdfMixcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfMixcbiAgICAgICAgbWFya3VwOiAnIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaGVhZGluZ18zLFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18zLFxuICAgICAgICBtYXJrdXA6ICcjIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfMyk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaGVhZGluZ180LFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ180LFxuICAgICAgICBtYXJrdXA6ICcjIyMjJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcbiAgICAgICAgICAgIEhlYWRpbmdFZGl0b3Iuc2V0SGVhZGluZyhlZGl0b3IsIEVsZW1lbnRLaW5kcy5oZWFkaW5nXzQpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLmhlYWRpbmdfNSxcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmhlYWRpbmdfNSxcbiAgICAgICAgbWFya3VwOiAnIyMjIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfNSk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuaGVhZGluZ182LFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ182LFxuICAgICAgICBtYXJrdXA6ICcjIyMjIyMnLFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvcikgPT4ge1xuICAgICAgICAgICAgSGVhZGluZ0VkaXRvci5zZXRIZWFkaW5nKGVkaXRvciwgRWxlbWVudEtpbmRzLmhlYWRpbmdfNik7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuYmxvY2txdW90ZSxcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmJsb2NrcXVvdGUsXG4gICAgICAgIG1hcmt1cDogWyc+J10sXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBCbG9ja3F1b3RlRWRpdG9yLnRvZ2dsZUJsb2NrcXVvdGUoZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IE1hcmtUeXBlcy5ib2xkLFxuICAgICAgICB0eXBlOiBNYXJrVHlwZXMuYm9sZCxcbiAgICAgICAgYmV0d2VlbjogWycqKicsICcqKiddLFxuICAgICAgICBtb2RlOiAnaW5saW5lJyxcbiAgICAgICAgaW5zZXJ0VHJpZ2dlcjogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IGAke01hcmtUeXBlcy5ib2xkfV9fYCxcbiAgICAgICAgdHlwZTogTWFya1R5cGVzLmJvbGQsXG4gICAgICAgIGJldHdlZW46IFsnX18nLCAnX18nXSxcbiAgICAgICAgbW9kZTogJ2lubGluZScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBNYXJrVHlwZXMuaXRhbGljLFxuICAgICAgICB0eXBlOiBNYXJrVHlwZXMuaXRhbGljLFxuICAgICAgICBiZXR3ZWVuOiBbJyonLCAnKiddLFxuICAgICAgICBtb2RlOiAnaW5saW5lJyxcbiAgICAgICAgaW5zZXJ0VHJpZ2dlcjogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IGAke01hcmtUeXBlcy5pdGFsaWN9X2AsXG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5pdGFsaWMsXG4gICAgICAgIGJldHdlZW46IFsnXycsICdfJ10sXG4gICAgICAgIG1vZGU6ICdpbmxpbmUnLFxuICAgICAgICBpbnNlcnRUcmlnZ2VyOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLmlubGluZUNvZGUsXG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlLFxuICAgICAgICBiZXR3ZWVuOiBbJ2AnLCAnYCddLFxuICAgICAgICBtb2RlOiAnaW5saW5lJyxcbiAgICAgICAgZm9ybWF0OiAoZWRpdG9yOiBFZGl0b3IsIHRleHQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgSW5saW5lQ29kZUVkaXRvci50b2dnbGVJbmxpbmVDb2RlKGVkaXRvciwgdGV4dCk7XG4gICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIEVkaXRvci5hZnRlcihlZGl0b3IsIGVkaXRvci5zZWxlY3Rpb24pKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IE1hcmtUeXBlcy5zdHJpa2UsXG4gICAgICAgIHR5cGU6IE1hcmtUeXBlcy5zdHJpa2UsXG4gICAgICAgIGJldHdlZW46IFsnfn4nLCAnfn4nXSxcbiAgICAgICAgbW9kZTogJ2lubGluZScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuY29kZSxcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmNvZGUsXG4gICAgICAgIG1hcmt1cDogJ2BgYCcsXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBDb2RlRWRpdG9yLmluc2VydENvZGUoZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtLFxuICAgICAgICBtYXJrdXA6IFtdLFxuICAgICAgICBtYXRjaDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gVGhlUXVlcmllcy5pc1BhcmFncmFwaChlZGl0b3IpID8gWycqJywgJy0nLCAnKyddIDogW107XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBMaXN0RWRpdG9yLnRvZ2dsZUxpc3QoZWRpdG9yLCBFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0KTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsXG4gICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgbWFya3VwOiBbXSxcbiAgICAgICAgbWF0Y2g6IChlZGl0b3I6IEVkaXRvciwgdGV4dEZyb21CbG9ja1N0YXJ0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBUaGVRdWVyaWVzLmlzUGFyYWdyYXBoKGVkaXRvcikgJiYgL14tP1xcZCsoXFwufFxcKSkkLy50ZXN0KHRleHRGcm9tQmxvY2tTdGFydCkgPyBbdGV4dEZyb21CbG9ja1N0YXJ0XSA6IFtdO1xuICAgICAgICB9LFxuICAgICAgICBmb3JtYXQ6IChlZGl0b3I6IEVkaXRvciwgbWFya3VwPzogc3RyaW5nW10pID0+IHtcbiAgICAgICAgICAgIGxldCBzdGFydEluZGV4ID0gMTtcbiAgICAgICAgICAgIGlmIChtYXJrdXApIHtcbiAgICAgICAgICAgICAgICBzdGFydEluZGV4ID0gbWFya3VwWzBdLnNwbGl0KCcuJylbMF0gYXMgdW5rbm93biBhcyBudW1iZXI7XG4gICAgICAgICAgICAgICAgaWYgKHN0YXJ0SW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRJbmRleCA9IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgTGlzdEVkaXRvci50b2dnbGVMaXN0KGVkaXRvciwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdCwgc3RhcnRJbmRleCk7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiBFbGVtZW50S2luZHMuY2hlY2tJdGVtLFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuY2hlY2tJdGVtLFxuICAgICAgICBtYXJrdXA6IFtdLFxuICAgICAgICBtYXRjaDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gVGhlUXVlcmllcy5pc1BhcmFncmFwaChlZGl0b3IpID8gWydbXSddIDogW107XG4gICAgICAgIH0sXG4gICAgICAgIGZvcm1hdDogKGVkaXRvcjogRWRpdG9yKSA9PiB7XG4gICAgICAgICAgICBUb2RvSXRlbUVkaXRvci5pbnNlcnRUb2RvSXRlbShlZGl0b3IpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGtleTogRWxlbWVudEtpbmRzLmhyLFxuICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaHIsXG4gICAgICAgIG1hcmt1cDogJy0tLScsXG4gICAgICAgIGluc2VydFRyaWdnZXI6IHRydWVcbiAgICB9XG5dO1xuIl19