@talrace/ngx-noder 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/esm2022/lib/apart-components/add-link-dialog/add-link-dialog.component.mjs +21 -9
  2. package/esm2022/lib/apart-components/editor-toolbar/components/base-toolbar.component.mjs +8 -2
  3. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font/font.component.mjs +2 -2
  4. package/esm2022/lib/apart-components/editor-toolbar/components/buttons/font-size/font-size.component.mjs +3 -3
  5. package/esm2022/lib/apart-components/editor-toolbar/editor-mobile-toolbar/editor-mobile-toolbar.component.mjs +2 -2
  6. package/esm2022/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.mjs +1 -8
  7. package/esm2022/lib/editor/components/edges/edge.component.mjs +2 -2
  8. package/esm2022/lib/editor/components/edges/edges.mjs +21 -2
  9. package/esm2022/lib/editor/components/image/input-handler/image-input.handler.mjs +18 -1
  10. package/esm2022/lib/editor/components/shared/services/custom-content.service.mjs +22 -56
  11. package/esm2022/lib/editor/components/table/components/table-cell.component.mjs +6 -6
  12. package/esm2022/lib/editor/components/table/components/table.component.mjs +13 -4
  13. package/esm2022/lib/editor/components/table/models/cell-data.model.mjs +3 -4
  14. package/esm2022/lib/editor/components/table/selection/table-selection.mjs +15 -5
  15. package/esm2022/lib/editor/content/constants/editor.const.mjs +9 -1
  16. package/esm2022/lib/editor/content/display-data/display-data.mjs +839 -0
  17. package/esm2022/lib/editor/content/display-data/general-properties.model.mjs +1 -1
  18. package/esm2022/lib/editor/content/display-data/models/paragraph-info.model.mjs +8 -0
  19. package/esm2022/lib/editor/content/display-data/paragraph.mjs +5 -1
  20. package/esm2022/lib/editor/content/display-data/text-line-info.mjs +2 -1
  21. package/esm2022/lib/editor/content/display-data/toolbar-styles.interface.mjs +1 -1
  22. package/esm2022/lib/editor/content/helpers/content-style.helper.mjs +12 -30
  23. package/esm2022/lib/editor/content/helpers/display-token.helper.mjs +62 -0
  24. package/esm2022/lib/editor/content/helpers/link.helper.mjs +6 -0
  25. package/esm2022/lib/editor/display/layers/cursor.layer.mjs +9 -8
  26. package/esm2022/lib/editor/display/layers/pages.layer.mjs +5 -5
  27. package/esm2022/lib/editor/display/layers/print.text.layer.mjs +2 -2
  28. package/esm2022/lib/editor/display/layers/selection.layer.mjs +15 -9
  29. package/esm2022/lib/editor/display/layers/text.layer.mjs +29 -32
  30. package/esm2022/lib/editor/display/print/print.renderer.mjs +8 -8
  31. package/esm2022/lib/editor/display/renderer.mjs +10 -10
  32. package/esm2022/lib/editor/display/rendering.helper.mjs +2 -4
  33. package/esm2022/lib/editor/display/virtual.renderer.mjs +5 -5
  34. package/esm2022/lib/editor/execution/edit.session.mjs +211 -754
  35. package/esm2022/lib/editor/execution/editor.mjs +119 -77
  36. package/esm2022/lib/editor/execution/helpers/format-style.helper.mjs +41 -32
  37. package/esm2022/lib/editor/execution/helpers/image.helpet.mjs +12 -0
  38. package/esm2022/lib/editor/execution/helpers/paragraph.helper.mjs +11 -3
  39. package/esm2022/lib/editor/execution/regulator.service.mjs +28 -20
  40. package/esm2022/lib/editor/gadgets/numbering/numbering-paragraph-style.model.mjs +13 -0
  41. package/esm2022/lib/editor/gadgets/numbering/numbering.helper.mjs +77 -10
  42. package/esm2022/lib/editor/gadgets/search/search.mjs +6 -6
  43. package/esm2022/lib/editor/interaction/editor.service.mjs +27 -6
  44. package/esm2022/lib/editor/interaction/input.handler.mjs +8 -5
  45. package/esm2022/lib/editor/interaction/mouse.handler.mjs +2 -1
  46. package/esm2022/lib/editor/operations/helpers/format-operations.helper.mjs +32 -2
  47. package/esm2022/lib/editor/operations/helpers/link-operations.helper.mjs +67 -14
  48. package/esm2022/lib/editor/operations/operations-helper.helper.mjs +27 -20
  49. package/esm2022/lib/editor/operations/save-commands.helper.mjs +2 -2
  50. package/esm2022/lib/editor/positioning/content.helper.mjs +15 -15
  51. package/esm2022/lib/editor/positioning/line-width.helper.mjs +5 -5
  52. package/esm2022/lib/editor/positioning/position.helper.mjs +34 -32
  53. package/esm2022/lib/editor/positioning/selection.mjs +42 -32
  54. package/esm2022/lib/editor/revision.helper.mjs +4 -3
  55. package/esm2022/lib/models/generated/link.model.mjs +1 -1
  56. package/esm2022/public-api.mjs +2 -1
  57. package/fesm2022/talrace-ngx-noder.mjs +3863 -3558
  58. package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
  59. package/lib/apart-components/add-link-dialog/add-link-dialog.component.d.ts +0 -1
  60. package/lib/apart-components/editor-toolbar/shared/toolbar-styles.helper.d.ts +0 -2
  61. package/lib/editor/components/image/input-handler/image-input.handler.d.ts +3 -0
  62. package/lib/editor/components/shared/services/custom-content.service.d.ts +3 -5
  63. package/lib/editor/components/table/components/table-cell.component.d.ts +1 -1
  64. package/lib/editor/components/table/components/table.component.d.ts +1 -0
  65. package/lib/editor/components/table/models/cell-data.model.d.ts +1 -1
  66. package/lib/editor/components/table/selection/table-selection.d.ts +2 -0
  67. package/lib/editor/content/constants/editor.const.d.ts +2 -0
  68. package/lib/editor/content/display-data/display-data.d.ts +103 -0
  69. package/lib/editor/content/display-data/general-properties.model.d.ts +5 -0
  70. package/lib/editor/content/display-data/models/paragraph-info.model.d.ts +9 -0
  71. package/lib/editor/content/display-data/paragraph.d.ts +1 -0
  72. package/lib/editor/content/display-data/text-line-info.d.ts +1 -0
  73. package/lib/editor/content/display-data/toolbar-styles.interface.d.ts +1 -1
  74. package/lib/editor/content/helpers/content-style.helper.d.ts +1 -2
  75. package/lib/editor/content/helpers/display-token.helper.d.ts +6 -0
  76. package/lib/editor/content/helpers/link.helper.d.ts +4 -0
  77. package/lib/editor/display/layers/text.layer.d.ts +2 -3
  78. package/lib/editor/display/print/print.renderer.d.ts +0 -2
  79. package/lib/editor/execution/edit.session.d.ts +12 -59
  80. package/lib/editor/execution/editor.d.ts +9 -6
  81. package/lib/editor/execution/helpers/format-style.helper.d.ts +2 -2
  82. package/lib/editor/execution/helpers/image.helpet.d.ts +4 -0
  83. package/lib/editor/execution/regulator.service.d.ts +1 -1
  84. package/lib/editor/gadgets/numbering/numbering-paragraph-style.model.d.ts +6 -0
  85. package/lib/editor/gadgets/numbering/numbering.helper.d.ts +10 -3
  86. package/lib/editor/interaction/editor.service.d.ts +12 -3
  87. package/lib/editor/operations/helpers/link-operations.helper.d.ts +6 -3
  88. package/lib/editor/positioning/content.helper.d.ts +6 -5
  89. package/lib/editor/positioning/position.helper.d.ts +3 -3
  90. package/lib/editor/positioning/selection.d.ts +3 -0
  91. package/lib/models/generated/link.model.d.ts +3 -1
  92. package/package.json +8 -8
  93. package/public-api.d.ts +1 -0
  94. package/src/_ngx-noder.theme.scss +31 -2
  95. package/src/styles.scss +0 -1
  96. package/esm2022/lib/editor/content/display-data/document.mjs +0 -134
  97. package/esm2022/lib/editor/content/display-data/pages.wrap.mjs +0 -226
  98. package/esm2022/lib/editor/execution/helpers/delta.helper.mjs +0 -18
  99. package/lib/editor/content/display-data/document.d.ts +0 -56
  100. package/lib/editor/content/display-data/pages.wrap.d.ts +0 -42
  101. package/lib/editor/execution/helpers/delta.helper.d.ts +0 -6
  102. package/src/scss/_fonts.scss +0 -3
@@ -1,4 +1,4 @@
1
- import { ChangeDetectionStrategy, Component, HostBinding, Inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, HostListener, Inject } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { ReactiveFormsModule, Validators } from '@angular/forms';
4
4
  import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
@@ -29,7 +29,7 @@ export class AddLinkDialogComponent {
29
29
  this.modal = true;
30
30
  dialogRef.disableClose = true;
31
31
  this.form = this.fb.group({
32
- text: [data.text, Validators.required],
32
+ text: [data.text],
33
33
  link: [data.link, [Validators.required, ValidationHelper.urlValidator]]
34
34
  });
35
35
  }
@@ -37,25 +37,37 @@ export class AddLinkDialogComponent {
37
37
  this.dialogRef.close();
38
38
  }
39
39
  onApply() {
40
- this.dialogRef.close({ text: this.form.controls.text.value, link: this.form.controls.link.value });
41
- }
42
- onEnter() {
43
40
  if (this.form.invalid) {
44
41
  return;
45
42
  }
46
- this.onApply();
43
+ if (this.form.controls.text.value) {
44
+ this.form.controls.text.setValue(this.form.controls.text.value.trim());
45
+ }
46
+ if (!this.form.controls.text.value) {
47
+ this.form.controls.text.setValue(this.form.controls.link.value);
48
+ }
49
+ if (!this.form.controls.link.value.startsWith('http')) {
50
+ this.form.controls.link.setValue('http://' + this.form.controls.link.value);
51
+ }
52
+ this.dialogRef.close({ text: this.form.controls.text.value, link: this.form.controls.link.value });
47
53
  }
48
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddLinkDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AddLinkDialogComponent, isStandalone: true, selector: "app-nod-add-link-dialog", host: { properties: { "class.noder-modal": "this.modal" } }, ngImport: i0, template: "<div mat-dialog-title>{{ data.title }}</div>\n<div\n mat-dialog-content\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.textPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.textPlaceholder }} is required.</mat-error>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.linkPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.linkPlaceholder }} is required.</mat-error>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n Cancel\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n class=\"apply-btn\"\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n Apply\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:300px;width:430px;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.mat-mdc-dialog-title{font-weight:600;padding-top:5px}mat-form-field{width:100%}.mat-mdc-dialog-content{padding-top:10px;padding-bottom:0}.mat-mdc-dialog-actions{display:flex;justify-content:center;padding-top:5px;height:40px;margin-bottom:30px}.mat-mdc-dialog-actions button{width:30%;height:100%;letter-spacing:1px;border-radius:8px;text-transform:uppercase}.mat-mdc-dialog-actions button .apply-btn{font-weight:400}.mat-mdc-dialog-actions button .mat-icon{font-size:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AddLinkDialogComponent, isStandalone: true, selector: "app-nod-add-link-dialog", host: { listeners: { "keydown.esc": "onClose()", "keydown.enter": "onApply()" }, properties: { "class.noder-modal": "this.modal" } }, ngImport: i0, template: "<div mat-dialog-title>{{ data.title }}</div>\n<div\n mat-dialog-content\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.textPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.linkPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n required />\n <mat-error>The {{ data.linkPlaceholder }} is required.</mat-error>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n Cancel\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n class=\"apply-btn\"\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n Apply\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:300px;width:430px;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.mat-mdc-dialog-title{font-weight:600;padding-top:5px}mat-form-field{width:100%}.mat-mdc-dialog-content{padding-top:10px!important;padding-bottom:0}.mat-mdc-dialog-actions{display:flex;justify-content:center;padding-top:5px;height:40px;margin-bottom:30px}.mat-mdc-dialog-actions button{width:30%;height:100%;letter-spacing:1px;border-radius:8px;text-transform:uppercase}.mat-mdc-dialog-actions button .apply-btn{font-weight:400}.mat-mdc-dialog-actions button .mat-icon{font-size:24px;height:24px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
56
  }
51
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AddLinkDialogComponent, decorators: [{
52
58
  type: Component,
53
- args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatDialogModule, MatFormFieldModule, MatIconModule, MatInputModule, ReactiveFormsModule], selector: 'app-nod-add-link-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div mat-dialog-title>{{ data.title }}</div>\n<div\n mat-dialog-content\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.textPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.textPlaceholder }} is required.</mat-error>\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.linkPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n (keydown.enter)=\"onEnter()\"\n required />\n <mat-error>The {{ data.linkPlaceholder }} is required.</mat-error>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n Cancel\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n class=\"apply-btn\"\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n Apply\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:300px;width:430px;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.mat-mdc-dialog-title{font-weight:600;padding-top:5px}mat-form-field{width:100%}.mat-mdc-dialog-content{padding-top:10px;padding-bottom:0}.mat-mdc-dialog-actions{display:flex;justify-content:center;padding-top:5px;height:40px;margin-bottom:30px}.mat-mdc-dialog-actions button{width:30%;height:100%;letter-spacing:1px;border-radius:8px;text-transform:uppercase}.mat-mdc-dialog-actions button .apply-btn{font-weight:400}.mat-mdc-dialog-actions button .mat-icon{font-size:24px;height:24px}\n"] }]
59
+ args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatDialogModule, MatFormFieldModule, MatIconModule, MatInputModule, ReactiveFormsModule], selector: 'app-nod-add-link-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div mat-dialog-title>{{ data.title }}</div>\n<div\n mat-dialog-content\n [formGroup]=\"form\">\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.textPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.text\" />\n </mat-form-field>\n <mat-form-field appearance=\"outline\">\n <mat-label>{{ data.linkPlaceholder }}</mat-label>\n <input\n matInput\n [formControl]=\"form.controls.link\"\n required />\n <mat-error>The {{ data.linkPlaceholder }} is required.</mat-error>\n </mat-form-field>\n</div>\n<div mat-dialog-actions>\n <button\n mat-button\n (click)=\"onClose()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-cancel-thin\" />\n Cancel\n </button>\n <button\n mat-raised-button\n color=\"primary\"\n class=\"apply-btn\"\n [disabled]=\"form.invalid\"\n (click)=\"onApply()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-done-thin\" />\n Apply\n </button>\n</div>\n", styles: [":host{display:flex;flex-direction:column;height:300px;width:430px;overflow:hidden}:host ::ng-deep .mdc-text-field--outlined{--mdc-outlined-text-field-container-shape: 12px;height:48px}:host ::ng-deep .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:12px}.mat-mdc-dialog-title{font-weight:600;padding-top:5px}mat-form-field{width:100%}.mat-mdc-dialog-content{padding-top:10px!important;padding-bottom:0}.mat-mdc-dialog-actions{display:flex;justify-content:center;padding-top:5px;height:40px;margin-bottom:30px}.mat-mdc-dialog-actions button{width:30%;height:100%;letter-spacing:1px;border-radius:8px;text-transform:uppercase}.mat-mdc-dialog-actions button .apply-btn{font-weight:400}.mat-mdc-dialog-actions button .mat-icon{font-size:24px;height:24px}\n"] }]
54
60
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: AddLinkDialogOptions, decorators: [{
55
61
  type: Inject,
56
62
  args: [MAT_DIALOG_DATA]
57
63
  }] }, { type: i2.FormBuilder }], propDecorators: { modal: [{
58
64
  type: HostBinding,
59
65
  args: ['class.noder-modal']
66
+ }], onClose: [{
67
+ type: HostListener,
68
+ args: ['keydown.esc']
69
+ }], onApply: [{
70
+ type: HostListener,
71
+ args: ['keydown.enter']
60
72
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxpbmstZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvYWRkLWxpbmstZGlhbG9nL2FkZC1saW5rLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2FkZC1saW5rLWRpYWxvZy9hZGQtbGluay1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVDLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQUV2RCxNQUFNLE9BQU8sb0JBQW9CO0lBTzdCLFlBQW1CLE1BQXNDO1FBQ3JELElBQUksTUFBTSxFQUFFO1lBQ1IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDL0I7SUFDTCxDQUFDO0NBQ0o7QUFVRCxNQUFNLE9BQU8sc0JBQXNCO0lBSy9CLFlBQ1csU0FBK0MsRUFDdEIsSUFBMEIsRUFDbEQsRUFBZTtRQUZoQixjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFzQjtRQUNsRCxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBUE8sVUFBSyxHQUFHLElBQUksQ0FBQztRQVMzQyxTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3RCLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN0QyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMxRSxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsT0FBTztRQUNILElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDbkIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7K0dBL0JRLHNCQUFzQiw4Q0FPbkIsZUFBZTttR0FQbEIsc0JBQXNCLGdKQ2pDbkMsNDBDQTRDQSx5MEJEakJjLFlBQVksOEJBQUUsZUFBZSwyTkFBRSxlQUFlLHliQUFFLGtCQUFrQix1WUFBRSxhQUFhLG1MQUFFLGNBQWMsMFdBQUUsbUJBQW1COzs0RkFNdkgsc0JBQXNCO2tCQVJsQyxTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLENBQUMsWUFDdkgseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOzswQkFTMUMsTUFBTTsyQkFBQyxlQUFlO21FQU5PLEtBQUs7c0JBQXRDLFdBQVc7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuaW1wb3J0IHsgVmFsaWRhdGlvbkhlbHBlciB9IGZyb20gJy4vdmFsaWRhdGlvbi5oZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgQWRkTGlua0RpYWxvZ09wdGlvbnMge1xuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XG4gICAgcHVibGljIHRleHRQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIHB1YmxpYyBsaW5rOiBzdHJpbmc7XG4gICAgcHVibGljIGxpbmtQbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGZpZWxkcz86IFBhcnRpYWw8QWRkTGlua0RpYWxvZ09wdGlvbnM+KSB7XG4gICAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZmllbGRzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWFkZC1saW5rLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICdhZGQtbGluay1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydhZGQtbGluay1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBZGRMaW5rRGlhbG9nQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vZGVyLW1vZGFsJykgbW9kYWwgPSB0cnVlO1xuXG4gICAgZm9ybTogRm9ybUdyb3VwPHsgdGV4dDogRm9ybUNvbnRyb2w8c3RyaW5nPjsgbGluazogRm9ybUNvbnRyb2w8c3RyaW5nPiB9PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkTGlua0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQWRkTGlua0RpYWxvZ09wdGlvbnMsXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyXG4gICAgKSB7XG4gICAgICAgIGRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIHRleHQ6IFtkYXRhLnRleHQsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgICAgICAgbGluazogW2RhdGEubGluaywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRpb25IZWxwZXIudXJsVmFsaWRhdG9yXV1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IHRleHQ6IHRoaXMuZm9ybS5jb250cm9scy50ZXh0LnZhbHVlLCBsaW5rOiB0aGlzLmZvcm0uY29udHJvbHMubGluay52YWx1ZSB9KTtcbiAgICB9XG5cbiAgICBvbkVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25BcHBseSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgbWF0LWRpYWxvZy10aXRsZT57eyBkYXRhLnRpdGxlIH19PC9kaXY+XG48ZGl2XG4gICAgbWF0LWRpYWxvZy1jb250ZW50XG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+e3sgZGF0YS50ZXh0UGxhY2Vob2xkZXIgfX08L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uY29udHJvbHMudGV4dFwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkVudGVyKClcIlxuICAgICAgICAgICAgcmVxdWlyZWQgLz5cbiAgICAgICAgPG1hdC1lcnJvcj5UaGUge3sgZGF0YS50ZXh0UGxhY2Vob2xkZXIgfX0gaXMgcmVxdWlyZWQuPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBkYXRhLmxpbmtQbGFjZWhvbGRlciB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5jb250cm9scy5saW5rXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uRW50ZXIoKVwiXG4gICAgICAgICAgICByZXF1aXJlZCAvPlxuICAgICAgICA8bWF0LWVycm9yPlRoZSB7eyBkYXRhLmxpbmtQbGFjZWhvbGRlciB9fSBpcyByZXF1aXJlZC48L21hdC1lcnJvcj5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG48ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1jYW5jZWwtdGhpblwiIC8+XG4gICAgICAgIENhbmNlbFxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgY2xhc3M9XCJhcHBseS1idG5cIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQXBwbHkoKVwiPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGZvbnRTZXQ9XCJub2Rlci1pY29uXCJcbiAgICAgICAgICAgIGZvbnRJY29uPVwiaWNvbi1kb25lLXRoaW5cIiAvPlxuICAgICAgICBBcHBseVxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLWxpbmstZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvYWRkLWxpbmstZGlhbG9nL2FkZC1saW5rLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9hcGFydC1jb21wb25lbnRzL2FkZC1saW5rLWRpYWxvZy9hZGQtbGluay1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUF1QyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFFdkQsTUFBTSxPQUFPLG9CQUFvQjtJQU83QixZQUFtQixNQUFzQztRQUNyRCxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQy9C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dGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuaW1wb3J0IHsgVmFsaWRhdGlvbkhlbHBlciB9IGZyb20gJy4vdmFsaWRhdGlvbi5oZWxwZXInO1xuXG5leHBvcnQgY2xhc3MgQWRkTGlua0RpYWxvZ09wdGlvbnMge1xuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICAgIHB1YmxpYyB0ZXh0OiBzdHJpbmc7XG4gICAgcHVibGljIHRleHRQbGFjZWhvbGRlcjogc3RyaW5nO1xuICAgIHB1YmxpYyBsaW5rOiBzdHJpbmc7XG4gICAgcHVibGljIGxpbmtQbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGZpZWxkcz86IFBhcnRpYWw8QWRkTGlua0RpYWxvZ09wdGlvbnM+KSB7XG4gICAgICAgIGlmIChmaWVsZHMpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZmllbGRzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXRJbnB1dE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWFkZC1saW5rLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICdhZGQtbGluay1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydhZGQtbGluay1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBZGRMaW5rRGlhbG9nQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vZGVyLW1vZGFsJykgbW9kYWwgPSB0cnVlO1xuXG4gICAgZm9ybTogRm9ybUdyb3VwPHsgdGV4dDogRm9ybUNvbnRyb2w8c3RyaW5nPjsgbGluazogRm9ybUNvbnRyb2w8c3RyaW5nPiB9PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8QWRkTGlua0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQWRkTGlua0RpYWxvZ09wdGlvbnMsXG4gICAgICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyXG4gICAgKSB7XG4gICAgICAgIGRpYWxvZ1JlZi5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgIHRleHQ6IFtkYXRhLnRleHRdLFxuICAgICAgICAgICAgbGluazogW2RhdGEubGluaywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRpb25IZWxwZXIudXJsVmFsaWRhdG9yXV1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnKVxuICAgIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicpXG4gICAgb25BcHBseSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybS5pbnZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtLmNvbnRyb2xzLnRleHQudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9scy50ZXh0LnNldFZhbHVlKHRoaXMuZm9ybS5jb250cm9scy50ZXh0LnZhbHVlLnRyaW0oKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZm9ybS5jb250cm9scy50ZXh0LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHMudGV4dC5zZXRWYWx1ZSh0aGlzLmZvcm0uY29udHJvbHMubGluay52YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuZm9ybS5jb250cm9scy5saW5rLnZhbHVlLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmxpbmsuc2V0VmFsdWUoJ2h0dHA6Ly8nICsgdGhpcy5mb3JtLmNvbnRyb2xzLmxpbmsudmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyB0ZXh0OiB0aGlzLmZvcm0uY29udHJvbHMudGV4dC52YWx1ZSwgbGluazogdGhpcy5mb3JtLmNvbnRyb2xzLmxpbmsudmFsdWUgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBtYXQtZGlhbG9nLXRpdGxlPnt7IGRhdGEudGl0bGUgfX08L2Rpdj5cbjxkaXZcbiAgICBtYXQtZGlhbG9nLWNvbnRlbnRcbiAgICBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIj5cbiAgICAgICAgPG1hdC1sYWJlbD57eyBkYXRhLnRleHRQbGFjZWhvbGRlciB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5jb250cm9scy50ZXh0XCIgLz5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7IGRhdGEubGlua1BsYWNlaG9sZGVyIH19PC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmNvbnRyb2xzLmxpbmtcIlxuICAgICAgICAgICAgcmVxdWlyZWQgLz5cbiAgICAgICAgPG1hdC1lcnJvcj5UaGUge3sgZGF0YS5saW5rUGxhY2Vob2xkZXIgfX0gaXMgcmVxdWlyZWQuPC9tYXQtZXJyb3I+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIChjbGljayk9XCJvbkNsb3NlKClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tY2FuY2VsLXRoaW5cIiAvPlxuICAgICAgICBDYW5jZWxcbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgIGNsYXNzPVwiYXBwbHktYnRuXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgICAgIChjbGljayk9XCJvbkFwcGx5KClcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tZG9uZS10aGluXCIgLz5cbiAgICAgICAgQXBwbHlcbiAgICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -4,6 +4,7 @@ import { DEFAULT_FONT_SIZE } from '../../../editor/content/constants/editor.cons
4
4
  import { DestroyComponent } from '../../../editor/components/shared/abstract/destroy.component';
5
5
  import { ElementDataModel } from '../../../editor/components/external-element/models/element-data.model';
6
6
  import { EXTERNAL_ELEMENT_SERVICE } from '../../../editor/components/external-element/external-elements.const';
7
+ import { NumberingType } from '../shared/enums/numbering-type.enum';
7
8
  import { TextStyleModel } from '../../../models/generated/text-style.model';
8
9
  import { ToolbarStylesHelper } from '../shared/toolbar-styles.helper';
9
10
  import * as i0 from "@angular/core";
@@ -75,7 +76,12 @@ export class BaseToolbarComponent extends DestroyComponent {
75
76
  stylesSubscription() {
76
77
  this.editorService.styles$.pipe(takeUntil(this.destroy$)).subscribe(styles => {
77
78
  this.styles = styles;
78
- this.numberingType = ToolbarStylesHelper.getNumberingType(styles.isBulletMarker);
79
+ if (styles.numberingType === NumberingType.Bullet) {
80
+ this.numberingType = NumberingType.Bullet;
81
+ }
82
+ else {
83
+ this.numberingType = styles.numberingType ? NumberingType.Number : null;
84
+ }
79
85
  this.numberingTemplateType = ToolbarStylesHelper.getNumberingTemplateType(styles.numberingLevelsStyles);
80
86
  this.cdr.markForCheck();
81
87
  });
@@ -108,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
108
114
  }], insertTable: [{
109
115
  type: Output
110
116
  }] } });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy9iYXNlLXRvb2xiYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdqQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUVoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQU8vRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFHdEUsTUFBTSxPQUFnQixvQkFBcUIsU0FBUSxnQkFBZ0I7SUFtQy9ELFlBQ1ksaUJBQW9DLEVBQ3BDLFFBQWtCLEVBQ2hCLEdBQXNCLEVBQ3RCLGFBQTRCO1FBRXRDLEtBQUssRUFBRSxDQUFDO1FBTEEsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2hCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBdENoQyxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVqQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVoQyxTQUFJLEdB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c0JBQWQsTUFBTTtnQkFFRyxJQUFJO3NCQUFiLE1BQU07Z0JBRUcsSUFBSTtzQkFBYixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFFRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBRUcsd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5qZWN0b3IsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEN1c3RvbUljb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL3NlcnZpY2VzL2N1c3RvbS1pY29uLnNlcnZpY2UnO1xuaW1wb3J0IHsgREVGQVVMVF9GT05UX1NJWkUgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvY29udGVudC9jb25zdGFudHMvZWRpdG9yLmNvbnN0JztcbmltcG9ydCB7IERlc3Ryb3lDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvY29tcG9uZW50cy9zaGFyZWQvYWJzdHJhY3QvZGVzdHJveS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWRpdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2VkaXRvci9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBFbGVtZW50RGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZWRpdG9yL2NvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9tb2RlbHMvZWxlbWVudC1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEVYVEVSTkFMX0VMRU1FTlRfU0VSVklDRSB9IGZyb20gJy4uLy4uLy4uL2VkaXRvci9jb21wb25lbnRzL2V4dGVybmFsLWVsZW1lbnQvZXh0ZXJuYWwtZWxlbWVudHMuY29uc3QnO1xuaW1wb3J0IHsgRXh0ZXJuYWxFbGVtZW50TW9kZWwgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvY29tcG9uZW50cy9leHRlcm5hbC1lbGVtZW50L21vZGVscy9leHRlcm5hbC1lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IElUb29sYmFyU3R5bGVzIH0gZnJvbSAnLi4vLi4vLi4vZWRpdG9yL2NvbnRlbnQvZGlzcGxheS1kYXRhL3Rvb2xiYXItc3R5bGVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOdW1iZXJpbmdMZXZlbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC9udW1iZXJpbmctbGV2ZWwubW9kZWwnO1xuaW1wb3J0IHsgTnVtYmVyaW5nVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2VudW1zL251bWJlcmluZy10ZW1wbGF0ZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgTnVtYmVyaW5nVHlwZSB9IGZyb20gJy4uL3NoYXJlZC9lbnVtcy9udW1iZXJpbmctdHlwZS5lbnVtJztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL3BhcmFncmFwaC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBUZXh0U3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvdGV4dC1zdHlsZS5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyU3R5bGVzSGVscGVyIH0gZnJvbSAnLi4vc2hhcmVkL3Rvb2xiYXItc3R5bGVzLmhlbHBlcic7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUb29sYmFyQ29tcG9uZW50IGV4dGVuZHMgRGVzdHJveUNvbXBvbmVudCB7XG4gICAgQE91dHB1dCgpIHByaW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIHJlZG8gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgdW5kbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKSBjcmVhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxFbGVtZW50RGF0YU1vZGVsPigpO1xuXG4gICAgQE91dHB1dCgpIGNoYW5nZVRleHRTdHlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGV4dFN0eWxlTW9kZWw+KCk7XG5cbiAgICBAT3V0cHV0KCkgY2hhbmdlUGFyYWdyYXBoU3R5bGUgPSBuZXcgRXZlbnRFbWl0dGVyPFBhcmFncmFwaFN0eWxlTW9kZWw+KCk7XG5cbiAgICBAT3V0cHV0KCkgc2V0TnVtYmVyaW5nVGVtcGxhdGVUeXBlID0gbmV3IEV2ZW50RW1pdHRlcjxOdW1iZXJpbmdMZXZlbE1vZGVsW10+KCk7XG5cbiAgICBAT3V0cHV0KCkgcmVtb3ZlTnVtYmVyaW5ncyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKSBpbnNlcnRJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKSBpbnNlcnRMaW5rID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIGluc2VydFRhYmxlID0gbmV3IEV2ZW50RW1pdHRlcjx7IHJvd3M6IG51bWJlcjsgY29sdW1uczogbnVtYmVyIH0+KCk7XG5cbiAgICBzdHlsZXM6IElUb29sYmFyU3R5bGVzO1xuXG4gICAgY2FuVW5kbzogYm9vbGVhbjtcblxuICAgIGNhblJlZG86IGJvb2xlYW47XG5cbiAgICBudW1iZXJpbmdUeXBlOiBOdW1iZXJpbmdUeXBlIHwgbnVsbDtcblxuICAgIG51bWJlcmluZ1RlbXBsYXRlVHlwZTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlIHwgbnVsbDtcblxuICAgIGVsZW1lbnRzOiBFeHRlcm5hbEVsZW1lbnRNb2RlbFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY3VzdG9tSWNvblNlcnZpY2U6IEN1c3RvbUljb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudHMgPSB0aGlzLmluamVjdG9yLmdldChFWFRFUk5BTF9FTEVNRU5UX1NFUlZJQ0UpLmVsZW1lbnRzO1xuICAgICAgICB0aGlzLmN1c3RvbUljb25TZXJ2aWNlLnJlZ2lzdGVyKCk7XG4gICAgICAgIHRoaXMuaGlzdG9yeUluZm9TdWJzY3JpcHRpb24oKTtcbiAgICAgICAgdGhpcy5zdHlsZXNTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5Qm9sZCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYm9sZCA9ICF0aGlzLnN0eWxlcy5ib2xkO1xuICAgICAgICB0aGlzLmNoZWNrRm9udExvYWRlZEFuZEFwcGx5U3R5bGUobmV3IFRleHRTdHlsZU1vZGVsKHsgYm9sZCB9KSk7XG4gICAgfVxuXG4gICAgb25BcHBseVVuZGVybGluZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdW5kZXJsaW5lID0gIXRoaXMuc3R5bGVzLnVuZGVybGluZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VUZXh0U3R5bGUuZW1pdChuZXcgVGV4dFN0eWxlTW9kZWwoeyB1bmRlcmxpbmUgfSkpO1xuICAgIH1cblxuICAgIG9uQXBwbHlJdGFsaWMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0YWxpYyA9ICF0aGlzLnN0eWxlcy5pdGFsaWM7XG4gICAgICAgIHRoaXMuY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShuZXcgVGV4dFN0eWxlTW9kZWwoeyBpdGFsaWMgfSkpO1xuICAgIH1cblxuICAgIGFzeW5jIG9uQ3JlYXRlRWxlbWVudChtb2RlbDogRXh0ZXJuYWxFbGVtZW50TW9kZWwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IG1vZGVsLmZhY3RvcnlNZXRob2QoKTtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IG5ldyBFbGVtZW50RGF0YU1vZGVsKG1vZGVsLnR5cGUsIGRhdGEud2lkdGgsIGRhdGEuaGVpZ2h0LCBkYXRhLmd1aWQpO1xuICAgICAgICB0aGlzLmNyZWF0ZUVsZW1lbnQuZW1pdChlbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShzdHlsZTogVGV4dFN0eWxlTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV3U3R5bGVzID0geyAuLi50aGlzLnN0eWxlcywgLi4uc3R5bGUgfTtcbiAgICAgICAgY29uc3QgaXRhbGljID0gbmV3U3R5bGVzLml0YWxpYyA/ICdpdGFsaWMgJyA6ICcnO1xuICAgICAgICBjb25zdCBib2xkID0gbmV3U3R5bGVzLmJvbGQgPyAnYm9sZCAnIDogJyc7XG4gICAgICAgIGNvbnN0IGZvbnRTdHlsZXMgPSBgJHtpdGFsaWN9JHtib2xkfSR7bmV3U3R5bGVzLmZvbnRTaXplID8/IERFRkFVTFRfRk9OVF9TSVpFfXB0ICR7bmV3U3R5bGVzLmZvbnRGYW1pbHl9YDtcblxuICAgICAgICBpZiAoZG9jdW1lbnQuZm9udHMuY2hlY2soZm9udFN0eWxlcykpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlVGV4dFN0eWxlLmVtaXQoc3R5bGUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZG9jdW1lbnQuZm9udHNcbiAgICAgICAgICAgIC5sb2FkKGZvbnRTdHlsZXMpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLmNoYW5nZVRleHRTdHlsZS5lbWl0KHN0eWxlKSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gY29udGludWUgcmVnYXJkbGVzcyBvZiBlcnJvclxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaXN0b3J5SW5mb1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmhpc3RvcnlJbmZvJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKGhpc3RvcnlJbmZvID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FuVW5kbyA9IGhpc3RvcnlJbmZvLnN0ZXAgIT09IC0xO1xuICAgICAgICAgICAgdGhpcy5jYW5SZWRvID0gaGlzdG9yeUluZm8uc3RlcCA8IGhpc3RvcnlJbmZvLmxhc3RTdGVwO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3R5bGVzU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3R5bGVzJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHN0eWxlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0eWxlcyA9IHN0eWxlcztcbiAgICAgICAgICAgIHRoaXMubnVtYmVyaW5nVHlwZSA9IFRvb2xiYXJTdHlsZXNIZWxwZXIuZ2V0TnVtYmVyaW5nVHlwZShzdHlsZXMuaXNCdWxsZXRNYXJrZXIpO1xuICAgICAgICAgICAgdGhpcy5udW1iZXJpbmdUZW1wbGF0ZVR5cGUgPSBUb29sYmFyU3R5bGVzSGVscGVyLmdldE51bWJlcmluZ1RlbXBsYXRlVHlwZShzdHlsZXMubnVtYmVyaW5nTGV2ZWxzU3R5bGVzKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy9iYXNlLXRvb2xiYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLFlBQVksRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUdqQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUVoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1RUFBdUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUsvRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBR3RFLE1BQU0sT0FBZ0Isb0JBQXFCLFNBQVEsZ0JBQWdCO0lBbUMvRCxZQUNZLGlCQUFvQyxFQUNwQyxRQUFrQixFQUNoQixHQUFzQixFQUN0QixhQUE0QjtRQUV0QyxLQUFLLEVBQUUsQ0FBQztRQUxBLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNoQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXRDaEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFakMs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LHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3hHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQTNHaUIsb0JBQW9CO21HQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBRHpDLFNBQVM7eUtBRUksS0FBSztzQkFBZCxNQUFNO2dCQUVHLElBQUk7c0JBQWIsTUFBTTtnQkFFRyxJQUFJO3NCQUFiLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFFRyxlQUFlO3NCQUF4QixNQUFNO2dCQUVHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFFRyx3QkFBd0I7c0JBQWpDLE1BQU07Z0JBRUcsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ3VzdG9tSWNvblNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvc2VydmljZXMvY3VzdG9tLWljb24uc2VydmljZSc7XG5pbXBvcnQgeyBERUZBVUxUX0ZPTlRfU0laRSB9IGZyb20gJy4uLy4uLy4uL2VkaXRvci9jb250ZW50L2NvbnN0YW50cy9lZGl0b3IuY29uc3QnO1xuaW1wb3J0IHsgRGVzdHJveUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2VkaXRvci9jb21wb25lbnRzL3NoYXJlZC9hYnN0cmFjdC9kZXN0cm95LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZWRpdG9yL2ludGVyYWN0aW9uL2VkaXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEVsZW1lbnREYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvY29tcG9uZW50cy9leHRlcm5hbC1lbGVtZW50L21vZGVscy9lbGVtZW50LWRhdGEubW9kZWwnO1xuaW1wb3J0IHsgRVhURVJOQUxfRUxFTUVOVF9TRVJWSUNFIH0gZnJvbSAnLi4vLi4vLi4vZWRpdG9yL2NvbXBvbmVudHMvZXh0ZXJuYWwtZWxlbWVudC9leHRlcm5hbC1lbGVtZW50cy5jb25zdCc7XG5pbXBvcnQgeyBFeHRlcm5hbEVsZW1lbnRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2VkaXRvci9jb21wb25lbnRzL2V4dGVybmFsLWVsZW1lbnQvbW9kZWxzL2V4dGVybmFsLWVsZW1lbnQubW9kZWwnO1xuaW1wb3J0IHsgSVRvb2xiYXJTdHlsZXMgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvY29udGVudC9kaXNwbGF5LWRhdGEvdG9vbGJhci1zdHlsZXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE51bWJlcmluZ0xldmVsTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL251bWJlcmluZy1sZXZlbC5tb2RlbCc7XG5pbXBvcnQgeyBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUgfSBmcm9tICcuLi9zaGFyZWQvZW51bXMvbnVtYmVyaW5nLXRlbXBsYXRlLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBOdW1iZXJpbmdUeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2VudW1zL251bWJlcmluZy10eXBlLmVudW0nO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9nZW5lcmF0ZWQvcGFyYWdyYXBoLXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFRleHRTdHlsZU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2dlbmVyYXRlZC90ZXh0LXN0eWxlLm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJTdHlsZXNIZWxwZXIgfSBmcm9tICcuLi9zaGFyZWQvdG9vbGJhci1zdHlsZXMuaGVscGVyJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVRvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBEZXN0cm95Q29tcG9uZW50IHtcbiAgICBAT3V0cHV0KCkgcHJpbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgcmVkbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoKSB1bmRvID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIGNyZWF0ZUVsZW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPEVsZW1lbnREYXRhTW9kZWw+KCk7XG5cbiAgICBAT3V0cHV0KCkgY2hhbmdlVGV4dFN0eWxlID0gbmV3IEV2ZW50RW1pdHRlcjxUZXh0U3R5bGVNb2RlbD4oKTtcblxuICAgIEBPdXRwdXQoKSBjaGFuZ2VQYXJhZ3JhcGhTdHlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGFyYWdyYXBoU3R5bGVNb2RlbD4oKTtcblxuICAgIEBPdXRwdXQoKSBzZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUgPSBuZXcgRXZlbnRFbWl0dGVyPE51bWJlcmluZ0xldmVsTW9kZWxbXT4oKTtcblxuICAgIEBPdXRwdXQoKSByZW1vdmVOdW1iZXJpbmdzID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIGluc2VydEltYWdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQE91dHB1dCgpIGluc2VydExpbmsgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAT3V0cHV0KCkgaW5zZXJ0VGFibGUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgcm93czogbnVtYmVyOyBjb2x1bW5zOiBudW1iZXIgfT4oKTtcblxuICAgIHN0eWxlczogSVRvb2xiYXJTdHlsZXM7XG5cbiAgICBjYW5VbmRvOiBib29sZWFuO1xuXG4gICAgY2FuUmVkbzogYm9vbGVhbjtcblxuICAgIG51bWJlcmluZ1R5cGU6IE51bWJlcmluZ1R5cGUgfCBudWxsO1xuXG4gICAgbnVtYmVyaW5nVGVtcGxhdGVUeXBlOiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUgfCBudWxsO1xuXG4gICAgZWxlbWVudHM6IEV4dGVybmFsRWxlbWVudE1vZGVsW107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjdXN0b21JY29uU2VydmljZTogQ3VzdG9tSWNvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IHRoaXMuaW5qZWN0b3IuZ2V0KEVYVEVSTkFMX0VMRU1FTlRfU0VSVklDRSkuZWxlbWVudHM7XG4gICAgICAgIHRoaXMuY3VzdG9tSWNvblNlcnZpY2UucmVnaXN0ZXIoKTtcbiAgICAgICAgdGhpcy5oaXN0b3J5SW5mb1N1YnNjcmlwdGlvbigpO1xuICAgICAgICB0aGlzLnN0eWxlc1N1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIG9uQXBwbHlCb2xkKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBib2xkID0gIXRoaXMuc3R5bGVzLmJvbGQ7XG4gICAgICAgIHRoaXMuY2hlY2tGb250TG9hZGVkQW5kQXBwbHlTdHlsZShuZXcgVGV4dFN0eWxlTW9kZWwoeyBib2xkIH0pKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5VW5kZXJsaW5lKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1bmRlcmxpbmUgPSAhdGhpcy5zdHlsZXMudW5kZXJsaW5lO1xuICAgICAgICB0aGlzLmNoYW5nZVRleHRTdHlsZS5lbWl0KG5ldyBUZXh0U3R5bGVNb2RlbCh7IHVuZGVybGluZSB9KSk7XG4gICAgfVxuXG4gICAgb25BcHBseUl0YWxpYygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRhbGljID0gIXRoaXMuc3R5bGVzLml0YWxpYztcbiAgICAgICAgdGhpcy5jaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKG5ldyBUZXh0U3R5bGVNb2RlbCh7IGl0YWxpYyB9KSk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25DcmVhdGVFbGVtZW50KG1vZGVsOiBFeHRlcm5hbEVsZW1lbnRNb2RlbCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgbW9kZWwuZmFjdG9yeU1ldGhvZCgpO1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gbmV3IEVsZW1lbnREYXRhTW9kZWwobW9kZWwudHlwZSwgZGF0YS53aWR0aCwgZGF0YS5oZWlnaHQsIGRhdGEuZ3VpZCk7XG4gICAgICAgIHRoaXMuY3JlYXRlRWxlbWVudC5lbWl0KGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjaGVja0ZvbnRMb2FkZWRBbmRBcHBseVN0eWxlKHN0eWxlOiBUZXh0U3R5bGVNb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXdTdHlsZXMgPSB7IC4uLnRoaXMuc3R5bGVzLCAuLi5zdHlsZSB9O1xuICAgICAgICBjb25zdCBpdGFsaWMgPSBuZXdTdHlsZXMuaXRhbGljID8gJ2l0YWxpYyAnIDogJyc7XG4gICAgICAgIGNvbnN0IGJvbGQgPSBuZXdTdHlsZXMuYm9sZCA/ICdib2xkICcgOiAnJztcbiAgICAgICAgY29uc3QgZm9udFN0eWxlcyA9IGAke2l0YWxpY30ke2JvbGR9JHtuZXdTdHlsZXMuZm9udFNpemUgPz8gREVGQVVMVF9GT05UX1NJWkV9cHQgJHtuZXdTdHlsZXMuZm9udEZhbWlseX1gO1xuXG4gICAgICAgIGlmIChkb2N1bWVudC5mb250cy5jaGVjayhmb250U3R5bGVzKSkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VUZXh0U3R5bGUuZW1pdChzdHlsZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBkb2N1bWVudC5mb250c1xuICAgICAgICAgICAgLmxvYWQoZm9udFN0eWxlcylcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMuY2hhbmdlVGV4dFN0eWxlLmVtaXQoc3R5bGUpKVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBjb250aW51ZSByZWdhcmRsZXNzIG9mIGVycm9yXG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpc3RvcnlJbmZvU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuaGlzdG9yeUluZm8kLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoaGlzdG9yeUluZm8gPT4ge1xuICAgICAgICAgICAgdGhpcy5jYW5VbmRvID0gaGlzdG9yeUluZm8uc3RlcCAhPT0gLTE7XG4gICAgICAgICAgICB0aGlzLmNhblJlZG8gPSBoaXN0b3J5SW5mby5zdGVwIDwgaGlzdG9yeUluZm8ubGFzdFN0ZXA7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdHlsZXNTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zdHlsZXMkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoc3R5bGVzID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVzID0gc3R5bGVzO1xuICAgICAgICAgICAgaWYgKHN0eWxlcy5udW1iZXJpbmdUeXBlID09PSBOdW1iZXJpbmdUeXBlLkJ1bGxldCkge1xuICAgICAgICAgICAgICAgIHRoaXMubnVtYmVyaW5nVHlwZSA9IE51bWJlcmluZ1R5cGUuQnVsbGV0O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlcmluZ1R5cGUgPSBzdHlsZXMubnVtYmVyaW5nVHlwZSA/IE51bWJlcmluZ1R5cGUuTnVtYmVyIDogbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubnVtYmVyaW5nVGVtcGxhdGVUeXBlID0gVG9vbGJhclN0eWxlc0hlbHBlci5nZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUoc3R5bGVzLm51bWJlcmluZ0xldmVsc1N0eWxlcyk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -34,11 +34,11 @@ export class FontComponent {
34
34
  this.selectFont.emit(font);
35
35
  }
36
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FontComponent, isStandalone: true, selector: "app-nod-font", inputs: { isDisabled: "isDisabled", styles: "styles" }, outputs: { selectFont: "selectFont" }, ngImport: i0, template: "<button\n mat-button\n [matMenuTriggerFor]=\"fontMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <div class=\"font-menu\">\n <span>{{ font }}</span>\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </div>\n</button>\n<mat-menu\n #fontMenu=\"matMenu\"\n class=\"noder-modal\">\n <ng-container *ngFor=\"let font of fonts\">\n <button\n mat-menu-item\n [disabled]=\"isDisabled\"\n (click)=\"onSelectFont(font)\">\n {{ font }}\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".font-menu{display:flex;justify-content:space-between;align-items:center;min-width:130px}span{padding-left:10%}button{height:28px;margin:0 4px}mat-icon{margin-right:5%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FontComponent, isStandalone: true, selector: "app-nod-font", inputs: { isDisabled: "isDisabled", styles: "styles" }, outputs: { selectFont: "selectFont" }, ngImport: i0, template: "<button\n mat-button\n [matMenuTriggerFor]=\"fontMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <div class=\"font-menu\">\n <span>{{ font }}</span>\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </div>\n</button>\n<mat-menu\n #fontMenu=\"matMenu\"\n class=\"noder-modal\">\n <ng-container *ngFor=\"let font of fonts\">\n <button\n mat-menu-item\n [disabled]=\"isDisabled\"\n (click)=\"onSelectFont(font)\">\n {{ font }}\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".font-menu{display:flex;justify-content:space-between;align-items:center;width:130px}span{flex:1;overflow:hidden;text-overflow:ellipsis}button{height:28px;margin:0 4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
38
  }
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontComponent, decorators: [{
40
40
  type: Component,
41
- args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule, MatMenuModule], selector: 'app-nod-font', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n mat-button\n [matMenuTriggerFor]=\"fontMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <div class=\"font-menu\">\n <span>{{ font }}</span>\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </div>\n</button>\n<mat-menu\n #fontMenu=\"matMenu\"\n class=\"noder-modal\">\n <ng-container *ngFor=\"let font of fonts\">\n <button\n mat-menu-item\n [disabled]=\"isDisabled\"\n (click)=\"onSelectFont(font)\">\n {{ font }}\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".font-menu{display:flex;justify-content:space-between;align-items:center;min-width:130px}span{padding-left:10%}button{height:28px;margin:0 4px}mat-icon{margin-right:5%}\n"] }]
41
+ args: [{ standalone: true, imports: [CommonModule, MatButtonModule, MatIconModule, MatMenuModule], selector: 'app-nod-font', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n mat-button\n [matMenuTriggerFor]=\"fontMenu\"\n [matMenuTriggerRestoreFocus]=\"false\">\n <div class=\"font-menu\">\n <span>{{ font }}</span>\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-arrow-dropdown\"></mat-icon>\n </div>\n</button>\n<mat-menu\n #fontMenu=\"matMenu\"\n class=\"noder-modal\">\n <ng-container *ngFor=\"let font of fonts\">\n <button\n mat-menu-item\n [disabled]=\"isDisabled\"\n (click)=\"onSelectFont(font)\">\n {{ font }}\n </button>\n </ng-container>\n</mat-menu>\n", styles: [".font-menu{display:flex;justify-content:space-between;align-items:center;width:130px}span{flex:1;overflow:hidden;text-overflow:ellipsis}button{height:28px;margin:0 4px}\n"] }]
42
42
  }], propDecorators: { isDisabled: [{
43
43
  type: Input
44
44
  }], styles: [{
@@ -72,11 +72,11 @@ export class FontSizeComponent {
72
72
  }
73
73
  }
74
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontSizeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FontSizeComponent, isStandalone: true, selector: "app-nod-font-size", inputs: { isDisabled: "isDisabled", fontSize: "fontSize" }, outputs: { selectFontSize: "selectFontSize" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onDecrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\"></mat-icon>\n</button>\n<input\n type=\"text\"\n [formControl]=\"fontSizeControl\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"onSetFontSize()\"\n (blur)=\"resetFontSize()\" />\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"60\"\n disableRipple=\"false\"\n hideSingleSelectionIndicator=\"true\">\n <mat-option\n *ngFor=\"let fontSize of fontSizes\"\n [value]=\"fontSize\"\n (click)=\"onSelectFontSize(fontSize)\">\n {{ fontSize }}\n </mat-option>\n</mat-autocomplete>\n<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onIncrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n</button>\n", styles: ["button{margin:4px}input{width:48px;height:32px;text-align:center;border-color:transparent;outline-color:#1b84e0}.mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}.mat-mdc-option{padding-left:6px;padding-right:6px;min-height:30px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FontSizeComponent, isStandalone: true, selector: "app-nod-font-size", inputs: { isDisabled: "isDisabled", fontSize: "fontSize" }, outputs: { selectFontSize: "selectFontSize" }, viewQueries: [{ propertyName: "autocomplete", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onDecrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\"></mat-icon>\n</button>\n<input\n type=\"text\"\n [formControl]=\"fontSizeControl\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"onSetFontSize()\"\n (blur)=\"resetFontSize()\" />\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"60\"\n disableRipple=\"false\"\n hideSingleSelectionIndicator=\"true\">\n <mat-option\n *ngFor=\"let fontSize of fontSizes\"\n [value]=\"fontSize\"\n (click)=\"onSelectFontSize(fontSize)\">\n {{ fontSize }}\n </mat-option>\n</mat-autocomplete>\n<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onIncrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n</button>\n", styles: ["input{width:48px;height:32px;text-align:center;border-color:transparent}button.mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}.mat-mdc-option{padding-left:6px;padding-right:6px;min-height:30px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
76
  }
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FontSizeComponent, decorators: [{
78
78
  type: Component,
79
- args: [{ standalone: true, imports: [CommonModule, MatAutocompleteModule, MatButtonModule, MatIconModule, MatSelectModule, ReactiveFormsModule], selector: 'app-nod-font-size', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onDecrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\"></mat-icon>\n</button>\n<input\n type=\"text\"\n [formControl]=\"fontSizeControl\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"onSetFontSize()\"\n (blur)=\"resetFontSize()\" />\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"60\"\n disableRipple=\"false\"\n hideSingleSelectionIndicator=\"true\">\n <mat-option\n *ngFor=\"let fontSize of fontSizes\"\n [value]=\"fontSize\"\n (click)=\"onSelectFontSize(fontSize)\">\n {{ fontSize }}\n </mat-option>\n</mat-autocomplete>\n<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onIncrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n</button>\n", styles: ["button{margin:4px}input{width:48px;height:32px;text-align:center;border-color:transparent;outline-color:#1b84e0}.mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}.mat-mdc-option{padding-left:6px;padding-right:6px;min-height:30px}\n"] }]
79
+ args: [{ standalone: true, imports: [CommonModule, MatAutocompleteModule, MatButtonModule, MatIconModule, MatSelectModule, ReactiveFormsModule], selector: 'app-nod-font-size', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onDecrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-remove\"></mat-icon>\n</button>\n<input\n type=\"text\"\n [formControl]=\"fontSizeControl\"\n [matAutocomplete]=\"auto\"\n (keyup.enter)=\"onSetFontSize()\"\n (blur)=\"resetFontSize()\" />\n<mat-autocomplete\n #auto=\"matAutocomplete\"\n panelWidth=\"60\"\n disableRipple=\"false\"\n hideSingleSelectionIndicator=\"true\">\n <mat-option\n *ngFor=\"let fontSize of fontSizes\"\n [value]=\"fontSize\"\n (click)=\"onSelectFontSize(fontSize)\">\n {{ fontSize }}\n </mat-option>\n</mat-autocomplete>\n<button\n mat-button\n [disabled]=\"!fontSize || isDisabled\"\n (click)=\"onIncrementFontSize()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-add\"></mat-icon>\n</button>\n", styles: ["input{width:48px;height:32px;text-align:center;border-color:transparent}button.mdc-button{min-width:32px;min-height:32px;width:32px;height:32px;padding:0}.mat-mdc-button>.mat-icon{margin-right:0;font-size:24px;height:24px;width:24px}.mat-mdc-option{padding-left:6px;padding-right:6px;min-height:30px}\n"] }]
80
80
  }], propDecorators: { isDisabled: [{
81
81
  type: Input
82
82
  }], fontSize: [{
@@ -87,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
87
87
  type: ViewChild,
88
88
  args: ['auto']
89
89
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zaXplLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy9idXR0b25zL2ZvbnQtc2l6ZS9mb250LXNpemUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvZm9udC1zaXplL2ZvbnQtc2l6ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7QUFVekYsTUFBTSxPQUFPLGlCQUFpQjtJQVI5QjtRQWlDYyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFJdEQsb0JBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBUyxDQUFDLENB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MUcsaUJBQWlCO2tCQVI3QixTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxZQUMxRyxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFHbEMsVUFBVTtzQkFBdEIsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUs7Z0JBV0ksY0FBYztzQkFBdkIsTUFBTTtnQkFFWSxZQUFZO3NCQUE5QixTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlLCBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB7IERFRkFVTFRfRk9OVF9TSVpFIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZWRpdG9yL2NvbnRlbnQvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWZvbnQtc2l6ZScsXG4gICAgdGVtcGxhdGVVcmw6ICdmb250LXNpemUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydmb250LXNpemUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb250U2l6ZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faXNEaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9udFNpemVDb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9udFNpemVDb250cm9sLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEaXNhYmxlZDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaXNEaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZvbnRTaXplKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5mb250U2l6ZUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLl9mb250U2l6ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmhpZ2hsaWdodEZvbnRTaXplKCk7XG4gICAgfVxuICAgIGdldCBmb250U2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9udFNpemU7XG4gICAgfVxuICAgIHByaXZhdGUgX2ZvbnRTaXplOiBudW1iZXI7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0Rm9udFNpemUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2F1dG8nKSBhdXRvY29tcGxldGU6IE1hdEF1dG9jb21wbGV0ZTtcblxuICAgIGZvbnRTaXplQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KDApO1xuXG4gICAgZm9udFNpemVzID0gWzgsIDksIDEwLCAxMSwgMTIsIERFRkFVTFRfRk9OVF9TSVpFLCAxOCwgMjQsIDMwLCAzNiwgNDgsIDYwLCA3MiwgOTZdO1xuXG4gICAgb25JbmNyZW1lbnRGb250U2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9udFNpemUgPj0gNDAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdEZvbnRTaXplLmVtaXQodGhpcy5mb250U2l6ZSArIDEpO1xuICAgIH1cblxuICAgIG9uRGVjcmVtZW50Rm9udFNpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvbnRTaXplIDw9IDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0Rm9udFNpemUuZW1pdCh0aGlzLmZvbnRTaXplIC0gMSk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RGb250U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGb250U2l6ZS5lbWl0KHNpemUpO1xuICAgIH1cblxuICAgIG9uU2V0Rm9udFNpemUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvbnRTaXplID0gK3RoaXMuZm9udFNpemVDb250cm9sLnZhbHVlO1xuICAgICAgICBpZiAoIWZvbnRTaXplIHx8IGZvbnRTaXplIDwgMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RGb250U2l6ZS5lbWl0KGZvbnRTaXplID4gNDAwID8gNDAwIDogZm9udFNpemUpO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZS5zaG93UGFuZWwgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXNldEZvbnRTaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvbnRTaXplQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvbnRTaXplKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZ2hsaWdodEZvbnRTaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLm9wdGlvbnMuZmluZCh4ID0+IHguc2VsZWN0ZWQpPy5kZXNlbGVjdCgpO1xuICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGUub3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gdGhpcy5mb250U2l6ZSk/LnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIG1hdC1idXR0b25cbiAgICBbZGlzYWJsZWRdPVwiIWZvbnRTaXplIHx8IGlzRGlzYWJsZWRcIlxuICAgIChjbGljayk9XCJvbkRlY3JlbWVudEZvbnRTaXplKClcIj5cbiAgICA8bWF0LWljb25cbiAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICBmb250SWNvbj1cImljb24tcmVtb3ZlXCI+PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtmb3JtQ29udHJvbF09XCJmb250U2l6ZUNvbnRyb2xcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgKGtleXVwLmVudGVyKT1cIm9uU2V0Rm9udFNpemUoKVwiXG4gICAgKGJsdXIpPVwicmVzZXRGb250U2l6ZSgpXCIgLz5cbjxtYXQtYXV0b2NvbXBsZXRlXG4gICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgIHBhbmVsV2lkdGg9XCI2MFwiXG4gICAgZGlzYWJsZVJpcHBsZT1cImZhbHNlXCJcbiAgICBoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yPVwidHJ1ZVwiPlxuICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBmb250U2l6ZSBvZiBmb250U2l6ZXNcIlxuICAgICAgICBbdmFsdWVdPVwiZm9udFNpemVcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RGb250U2l6ZShmb250U2l6ZSlcIj5cbiAgICAgICAge3sgZm9udFNpemUgfX1cbiAgICA8L21hdC1vcHRpb24+XG48L21hdC1hdXRvY29tcGxldGU+XG48YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhZm9udFNpemUgfHwgaXNEaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cIm9uSW5jcmVtZW50Rm9udFNpemUoKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgIGZvbnRJY29uPVwiaWNvbi1hZGRcIj48L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9udC1zaXplLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2FwYXJ0LWNvbXBvbmVudHMvZWRpdG9yLXRvb2xiYXIvY29tcG9uZW50cy9idXR0b25zL2ZvbnQtc2l6ZS9mb250LXNpemUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9jb21wb25lbnRzL2J1dHRvbnMvZm9udC1zaXplL2ZvbnQtc2l6ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7QUFVekYsTUFBTSxPQUFPLGlCQUFpQjtJQVI5QjtRQWlDYyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFJdEQsb0JBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBUyxDQUFDLENB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MUcsaUJBQWlCO2tCQVI3QixTQUFTO2lDQUNNLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxZQUMxRyxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFHbEMsVUFBVTtzQkFBdEIsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUs7Z0JBV0ksY0FBYztzQkFBdkIsTUFBTTtnQkFFWSxZQUFZO3NCQUE5QixTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlLCBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB7IERFRkFVTFRfRk9OVF9TSVpFIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZWRpdG9yL2NvbnRlbnQvY29uc3RhbnRzL2VkaXRvci5jb25zdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgc2VsZWN0b3I6ICdhcHAtbm9kLWZvbnQtc2l6ZScsXG4gICAgdGVtcGxhdGVVcmw6ICdmb250LXNpemUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydmb250LXNpemUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb250U2l6ZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgc2V0IGlzRGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faXNEaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZm9udFNpemVDb250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9udFNpemVDb250cm9sLmVuYWJsZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNEaXNhYmxlZDtcbiAgICB9XG4gICAgcHJpdmF0ZSBfaXNEaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGZvbnRTaXplKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5mb250U2l6ZUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLl9mb250U2l6ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmhpZ2hsaWdodEZvbnRTaXplKCk7XG4gICAgfVxuICAgIGdldCBmb250U2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9udFNpemU7XG4gICAgfVxuICAgIHByaXZhdGUgX2ZvbnRTaXplOiBudW1iZXI7XG5cbiAgICBAT3V0cHV0KCkgc2VsZWN0Rm9udFNpemUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2F1dG8nKSBhdXRvY29tcGxldGU6IE1hdEF1dG9jb21wbGV0ZTtcblxuICAgIGZvbnRTaXplQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxudW1iZXI+KDApO1xuXG4gICAgZm9udFNpemVzID0gWzgsIDksIDEwLCAxMSwgMTIsIERFRkFVTFRfRk9OVF9TSVpFLCAxOCwgMjQsIDMwLCAzNiwgNDgsIDYwLCA3MiwgOTZdO1xuXG4gICAgb25JbmNyZW1lbnRGb250U2l6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9udFNpemUgPj0gNDAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdEZvbnRTaXplLmVtaXQodGhpcy5mb250U2l6ZSArIDEpO1xuICAgIH1cblxuICAgIG9uRGVjcmVtZW50Rm9udFNpemUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvbnRTaXplIDw9IDEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2VsZWN0Rm9udFNpemUuZW1pdCh0aGlzLmZvbnRTaXplIC0gMSk7XG4gICAgfVxuXG4gICAgb25TZWxlY3RGb250U2l6ZShzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RGb250U2l6ZS5lbWl0KHNpemUpO1xuICAgIH1cblxuICAgIG9uU2V0Rm9udFNpemUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvbnRTaXplID0gK3RoaXMuZm9udFNpemVDb250cm9sLnZhbHVlO1xuICAgICAgICBpZiAoIWZvbnRTaXplIHx8IGZvbnRTaXplIDwgMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RGb250U2l6ZS5lbWl0KGZvbnRTaXplID4gNDAwID8gNDAwIDogZm9udFNpemUpO1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZS5zaG93UGFuZWwgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXNldEZvbnRTaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvbnRTaXplQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmZvbnRTaXplKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZ2hsaWdodEZvbnRTaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5hdXRvY29tcGxldGUpIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlLm9wdGlvbnMuZmluZCh4ID0+IHguc2VsZWN0ZWQpPy5kZXNlbGVjdCgpO1xuICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGUub3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gdGhpcy5mb250U2l6ZSk/LnNlbGVjdCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIG1hdC1idXR0b25cbiAgICBbZGlzYWJsZWRdPVwiIWZvbnRTaXplIHx8IGlzRGlzYWJsZWRcIlxuICAgIChjbGljayk9XCJvbkRlY3JlbWVudEZvbnRTaXplKClcIj5cbiAgICA8bWF0LWljb25cbiAgICAgICAgZm9udFNldD1cIm5vZGVyLWljb25cIlxuICAgICAgICBmb250SWNvbj1cImljb24tcmVtb3ZlXCI+PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPGlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIFtmb3JtQ29udHJvbF09XCJmb250U2l6ZUNvbnRyb2xcIlxuICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiXG4gICAgKGtleXVwLmVudGVyKT1cIm9uU2V0Rm9udFNpemUoKVwiXG4gICAgKGJsdXIpPVwicmVzZXRGb250U2l6ZSgpXCIgLz5cbjxtYXQtYXV0b2NvbXBsZXRlXG4gICAgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAgIHBhbmVsV2lkdGg9XCI2MFwiXG4gICAgZGlzYWJsZVJpcHBsZT1cImZhbHNlXCJcbiAgICBoaWRlU2luZ2xlU2VsZWN0aW9uSW5kaWNhdG9yPVwidHJ1ZVwiPlxuICAgIDxtYXQtb3B0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBmb250U2l6ZSBvZiBmb250U2l6ZXNcIlxuICAgICAgICBbdmFsdWVdPVwiZm9udFNpemVcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RGb250U2l6ZShmb250U2l6ZSlcIj5cbiAgICAgICAge3sgZm9udFNpemUgfX1cbiAgICA8L21hdC1vcHRpb24+XG48L21hdC1hdXRvY29tcGxldGU+XG48YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIFtkaXNhYmxlZF09XCIhZm9udFNpemUgfHwgaXNEaXNhYmxlZFwiXG4gICAgKGNsaWNrKT1cIm9uSW5jcmVtZW50Rm9udFNpemUoKVwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgICBmb250U2V0PVwibm9kZXItaWNvblwiXG4gICAgICAgIGZvbnRJY29uPVwiaWNvbi1hZGRcIj48L21hdC1pY29uPlxuPC9idXR0b24+XG4iXX0=
@@ -61,11 +61,11 @@ export class EditorMobileToolbarComponent extends ToolbarActionsComponent {
61
61
  };
62
62
  }
63
63
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorMobileToolbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.CustomIconService }, { token: i2.EditorService }, { token: i0.Injector }, { token: i3.ToolbarCoreService }], target: i0.ɵɵFactoryTarget.Component }); }
64
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EditorMobileToolbarComponent, selector: "app-nod-editor-mobile-toolbar", outputs: { openFileFromDisk: "openFileFromDisk", createDocument: "createDocument", saveAs: "saveAs", rename: "rename", delete: "delete", insertPageBreak: "insertPageBreak", textFormat: "textFormat" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"{ mode: toolbarCoreService.mode$ | async, isViewOnly: editorService.isViewOnly$ | async } as data\">\n <div class=\"menu-action\">\n <button\n *ngIf=\"data.mode === editorToolbarMode.Base; else back\"\n mat-button\n id=\"editor-mobile-toolbar-sandwich\"\n (click)=\"toolbarCoreService.openBurgerMenu()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-sandwich\" />\n </button>\n <ng-template #back>\n <div class=\"back-container\">\n <button\n mat-button\n id=\"editor-mobile-toolbar-back\"\n (click)=\"toolbarCoreService.back()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-back\" />\n </button>\n <div class=\"back-title\">{{ toolbarCoreService.backTitle }}</div>\n </div>\n </ng-template>\n </div>\n <div\n *ngIf=\"styles && !data.isViewOnly && actionsMenuMods.includes(data.mode)\"\n class=\"actions\">\n <app-nod-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n <div class=\"separator\"></div>\n <div\n class=\"main-actions\"\n [ngSwitch]=\"data.mode\">\n <ng-container *ngSwitchCase=\"editorToolbarMode.Base\">\n <button\n mat-button\n id=\"editor-mobile-toolbar-text-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.TextFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-text\" />\n </button>\n <button\n mat-button\n id=\"editor-mobile-toolbar-style-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.StyleFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-combined\" />\n </button>\n <button\n mat-button\n id=\"editor-mobile-toolbar-align-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.AlignFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignleft\" />\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.TextFormat\">\n <app-nod-font\n [isDisabled]=\"data.isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-size\n [isDisabled]=\"data.isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.StyleFormat\">\n <app-nod-font-style\n [isDisabled]=\"data.isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n (toggleBold)=\"onApplyBold($event)\"\n (toggleItalic)=\"onApplyItalic($event)\"\n (toggleUnderline)=\"onApplyUnderline($event)\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.AlignFormat\">\n <app-nod-format\n [isDisabled]=\"data.isViewOnly\"\n [alignment]=\"styles.alignment\"\n (selectAlignment)=\"onApplyAlignment($event)\" />\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: ["button.mdc-button{min-width:28px;min-height:28px;height:28px;padding:0;margin:0 4px}button.mdc-button mat-icon{font-size:24px;height:24px;width:24px;margin:0}:host::ng-deep{display:flex;position:relative;width:100%;height:32px}:host::ng-deep mat-button-toggle,:host::ng-deep .mat-button-toggle-button{height:32px;width:32px;border-radius:4px}:host::ng-deep mat-button-toggle mat-icon,:host::ng-deep .mat-button-toggle-button mat-icon{font-size:24px;height:24px;width:24px;border-radius:4px}:host::ng-deep mat-button-toggle .mat-button-toggle-label-content,:host::ng-deep .mat-button-toggle-button .mat-button-toggle-label-content{padding:0 2px}.menu-action{z-index:1}.actions{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.main-actions{display:flex;align-items:center;height:100%}.separator{border-left:1px solid;opacity:.1;height:100%;margin:0 8px}app-nod-font{max-width:142px}.back-container{display:flex}.back-title{font-size:14px;font-weight:400;padding-left:10px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i5.FontComponent, selector: "app-nod-font", inputs: ["isDisabled", "styles"], outputs: ["selectFont"] }, { kind: "component", type: i6.FontSizeComponent, selector: "app-nod-font-size", inputs: ["isDisabled", "fontSize"], outputs: ["selectFontSize"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.FontStyleComponent, selector: "app-nod-font-style", inputs: ["isDisabled", "bold", "italic", "underline", "fontColor", "highlightColor"], outputs: ["toggleBold", "toggleItalic", "toggleUnderline", "selectFontColor", "selectHighlightColor"] }, { kind: "component", type: i10.FormatComponent, selector: "app-nod-format", inputs: ["isDisabled", "alignment"], outputs: ["selectAlignment"] }, { kind: "component", type: i11.UndoRedoComponent, selector: "app-nod-undo-redo", inputs: ["canUndo", "canRedo"], outputs: ["undo", "redo"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EditorMobileToolbarComponent, selector: "app-nod-editor-mobile-toolbar", outputs: { openFileFromDisk: "openFileFromDisk", createDocument: "createDocument", saveAs: "saveAs", rename: "rename", delete: "delete", insertPageBreak: "insertPageBreak", textFormat: "textFormat" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"{ mode: toolbarCoreService.mode$ | async, isViewOnly: editorService.isViewOnly$ | async } as data\">\n <div class=\"menu-action\">\n <button\n *ngIf=\"data.mode === editorToolbarMode.Base; else back\"\n mat-button\n id=\"editor-mobile-toolbar-sandwich\"\n (click)=\"toolbarCoreService.openBurgerMenu()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-sandwich\" />\n </button>\n <ng-template #back>\n <div class=\"back-container\">\n <button\n mat-button\n id=\"editor-mobile-toolbar-back\"\n (click)=\"toolbarCoreService.back()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-back\" />\n </button>\n <div class=\"back-title\">{{ toolbarCoreService.backTitle }}</div>\n </div>\n </ng-template>\n </div>\n <div\n *ngIf=\"styles && !data.isViewOnly && actionsMenuMods.includes(data.mode)\"\n class=\"actions\">\n <app-nod-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n <div class=\"separator\"></div>\n <div\n class=\"main-actions\"\n [ngSwitch]=\"data.mode\">\n <ng-container *ngSwitchCase=\"editorToolbarMode.Base\">\n <button\n mat-button\n id=\"editor-mobile-toolbar-text-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.TextFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-text\" />\n </button>\n <button\n mat-button\n id=\"editor-mobile-toolbar-style-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.StyleFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-combined\" />\n </button>\n <button\n mat-button\n id=\"editor-mobile-toolbar-align-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.AlignFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignleft\" />\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.TextFormat\">\n <app-nod-font\n [isDisabled]=\"data.isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-size\n [isDisabled]=\"data.isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.StyleFormat\">\n <app-nod-font-style\n [isDisabled]=\"data.isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n (toggleBold)=\"onApplyBold($event)\"\n (toggleItalic)=\"onApplyItalic($event)\"\n (toggleUnderline)=\"onApplyUnderline($event)\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.AlignFormat\">\n <app-nod-format\n [isDisabled]=\"data.isViewOnly\"\n [alignment]=\"styles.alignment\"\n (selectAlignment)=\"onApplyAlignment($event)\" />\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: ["button.mdc-button{min-width:28px;min-height:28px;height:28px;padding:0;margin:0 4px}button.mdc-button mat-icon{font-size:24px;height:24px;width:24px;margin:0}:host::ng-deep{display:flex;position:relative;width:100%;height:32px}:host::ng-deep mat-button-toggle,:host::ng-deep .mat-button-toggle-button{height:32px;width:32px;border-radius:4px}:host::ng-deep mat-button-toggle mat-icon,:host::ng-deep .mat-button-toggle-button mat-icon{font-size:24px;height:24px;width:24px;border-radius:4px}:host::ng-deep mat-button-toggle .mat-button-toggle-label-content,:host::ng-deep .mat-button-toggle-button .mat-button-toggle-label-content{padding:0 2px}.menu-action{display:flex;align-items:center;z-index:1}.actions{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.main-actions{display:flex;align-items:center;height:100%}.separator{border-left:1px solid;opacity:.1;height:100%;margin:0 8px}app-nod-font{max-width:142px}.back-container{display:flex}.back-title{font-size:14px;font-weight:400;padding-left:10px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i5.FontComponent, selector: "app-nod-font", inputs: ["isDisabled", "styles"], outputs: ["selectFont"] }, { kind: "component", type: i6.FontSizeComponent, selector: "app-nod-font-size", inputs: ["isDisabled", "fontSize"], outputs: ["selectFontSize"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.FontStyleComponent, selector: "app-nod-font-style", inputs: ["isDisabled", "bold", "italic", "underline", "fontColor", "highlightColor"], outputs: ["toggleBold", "toggleItalic", "toggleUnderline", "selectFontColor", "selectHighlightColor"] }, { kind: "component", type: i10.FormatComponent, selector: "app-nod-format", inputs: ["isDisabled", "alignment"], outputs: ["selectAlignment"] }, { kind: "component", type: i11.UndoRedoComponent, selector: "app-nod-undo-redo", inputs: ["canUndo", "canRedo"], outputs: ["undo", "redo"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
65
65
  }
66
66
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EditorMobileToolbarComponent, decorators: [{
67
67
  type: Component,
68
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-editor-mobile-toolbar', template: "<ng-container *ngIf=\"{ mode: toolbarCoreService.mode$ | async, isViewOnly: editorService.isViewOnly$ | async } as data\">\n <div class=\"menu-action\">\n <button\n *ngIf=\"data.mode === editorToolbarMode.Base; else back\"\n mat-button\n id=\"editor-mobile-toolbar-sandwich\"\n (click)=\"toolbarCoreService.openBurgerMenu()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-sandwich\" />\n </button>\n <ng-template #back>\n <div class=\"back-container\">\n <button\n mat-button\n id=\"editor-mobile-toolbar-back\"\n (click)=\"toolbarCoreService.back()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-back\" />\n </button>\n <div class=\"back-title\">{{ toolbarCoreService.backTitle }}</div>\n </div>\n </ng-template>\n </div>\n <div\n *ngIf=\"styles && !data.isViewOnly && actionsMenuMods.includes(data.mode)\"\n class=\"actions\">\n <app-nod-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n <div class=\"separator\"></div>\n <div\n class=\"main-actions\"\n [ngSwitch]=\"data.mode\">\n <ng-container *ngSwitchCase=\"editorToolbarMode.Base\">\n <button\n mat-button\n id=\"editor-mobile-toolbar-text-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.TextFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-text\" />\n </button>\n <button\n mat-button\n id=\"editor-mobile-toolbar-style-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.StyleFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-combined\" />\n </button>\n <button\n mat-button\n id=\"editor-mobile-toolbar-align-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.AlignFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignleft\" />\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.TextFormat\">\n <app-nod-font\n [isDisabled]=\"data.isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-size\n [isDisabled]=\"data.isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.StyleFormat\">\n <app-nod-font-style\n [isDisabled]=\"data.isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n (toggleBold)=\"onApplyBold($event)\"\n (toggleItalic)=\"onApplyItalic($event)\"\n (toggleUnderline)=\"onApplyUnderline($event)\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.AlignFormat\">\n <app-nod-format\n [isDisabled]=\"data.isViewOnly\"\n [alignment]=\"styles.alignment\"\n (selectAlignment)=\"onApplyAlignment($event)\" />\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: ["button.mdc-button{min-width:28px;min-height:28px;height:28px;padding:0;margin:0 4px}button.mdc-button mat-icon{font-size:24px;height:24px;width:24px;margin:0}:host::ng-deep{display:flex;position:relative;width:100%;height:32px}:host::ng-deep mat-button-toggle,:host::ng-deep .mat-button-toggle-button{height:32px;width:32px;border-radius:4px}:host::ng-deep mat-button-toggle mat-icon,:host::ng-deep .mat-button-toggle-button mat-icon{font-size:24px;height:24px;width:24px;border-radius:4px}:host::ng-deep mat-button-toggle .mat-button-toggle-label-content,:host::ng-deep .mat-button-toggle-button .mat-button-toggle-label-content{padding:0 2px}.menu-action{z-index:1}.actions{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.main-actions{display:flex;align-items:center;height:100%}.separator{border-left:1px solid;opacity:.1;height:100%;margin:0 8px}app-nod-font{max-width:142px}.back-container{display:flex}.back-title{font-size:14px;font-weight:400;padding-left:10px}\n"] }]
68
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'app-nod-editor-mobile-toolbar', template: "<ng-container *ngIf=\"{ mode: toolbarCoreService.mode$ | async, isViewOnly: editorService.isViewOnly$ | async } as data\">\n <div class=\"menu-action\">\n <button\n *ngIf=\"data.mode === editorToolbarMode.Base; else back\"\n mat-button\n id=\"editor-mobile-toolbar-sandwich\"\n (click)=\"toolbarCoreService.openBurgerMenu()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-sandwich\" />\n </button>\n <ng-template #back>\n <div class=\"back-container\">\n <button\n mat-button\n id=\"editor-mobile-toolbar-back\"\n (click)=\"toolbarCoreService.back()\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-back\" />\n </button>\n <div class=\"back-title\">{{ toolbarCoreService.backTitle }}</div>\n </div>\n </ng-template>\n </div>\n <div\n *ngIf=\"styles && !data.isViewOnly && actionsMenuMods.includes(data.mode)\"\n class=\"actions\">\n <app-nod-undo-redo\n [canUndo]=\"canUndo\"\n [canRedo]=\"canRedo\"\n (undo)=\"undo.emit()\"\n (redo)=\"redo.emit()\" />\n <div class=\"separator\"></div>\n <div\n class=\"main-actions\"\n [ngSwitch]=\"data.mode\">\n <ng-container *ngSwitchCase=\"editorToolbarMode.Base\">\n <button\n mat-button\n id=\"editor-mobile-toolbar-text-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.TextFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-text\" />\n </button>\n <button\n mat-button\n id=\"editor-mobile-toolbar-style-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.StyleFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-combined\" />\n </button>\n <button\n mat-button\n id=\"editor-mobile-toolbar-align-format\"\n (click)=\"toolbarCoreService.mode = editorToolbarMode.AlignFormat\">\n <mat-icon\n fontSet=\"noder-icon\"\n fontIcon=\"icon-format-alignleft\" />\n </button>\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.TextFormat\">\n <app-nod-font\n [isDisabled]=\"data.isViewOnly\"\n [styles]=\"styles\"\n (selectFont)=\"onApplyFontFamily($event)\" />\n <div class=\"separator\"></div>\n <app-nod-font-size\n [isDisabled]=\"data.isViewOnly\"\n [fontSize]=\"styles.fontSize\"\n (selectFontSize)=\"onApplyFontSize($event)\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.StyleFormat\">\n <app-nod-font-style\n [isDisabled]=\"data.isViewOnly\"\n [bold]=\"styles.bold\"\n [italic]=\"styles.italic\"\n [underline]=\"styles.underline\"\n (toggleBold)=\"onApplyBold($event)\"\n (toggleItalic)=\"onApplyItalic($event)\"\n (toggleUnderline)=\"onApplyUnderline($event)\" />\n </ng-container>\n <ng-container *ngSwitchCase=\"editorToolbarMode.AlignFormat\">\n <app-nod-format\n [isDisabled]=\"data.isViewOnly\"\n [alignment]=\"styles.alignment\"\n (selectAlignment)=\"onApplyAlignment($event)\" />\n </ng-container>\n </div>\n </div>\n</ng-container>\n", styles: ["button.mdc-button{min-width:28px;min-height:28px;height:28px;padding:0;margin:0 4px}button.mdc-button mat-icon{font-size:24px;height:24px;width:24px;margin:0}:host::ng-deep{display:flex;position:relative;width:100%;height:32px}:host::ng-deep mat-button-toggle,:host::ng-deep .mat-button-toggle-button{height:32px;width:32px;border-radius:4px}:host::ng-deep mat-button-toggle mat-icon,:host::ng-deep .mat-button-toggle-button mat-icon{font-size:24px;height:24px;width:24px;border-radius:4px}:host::ng-deep mat-button-toggle .mat-button-toggle-label-content,:host::ng-deep .mat-button-toggle-button .mat-button-toggle-label-content{padding:0 2px}.menu-action{display:flex;align-items:center;z-index:1}.actions{display:flex;position:absolute;align-items:center;justify-content:center;width:100%;height:100%}.main-actions{display:flex;align-items:center;height:100%}.separator{border-left:1px solid;opacity:.1;height:100%;margin:0 8px}app-nod-font{max-width:142px}.back-container{display:flex}.back-title{font-size:14px;font-weight:400;padding-left:10px}\n"] }]
69
69
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.CustomIconService }, { type: i2.EditorService }, { type: i0.Injector }, { type: i3.ToolbarCoreService }], propDecorators: { openFileFromDisk: [{
70
70
  type: Output
71
71
  }], createDocument: [{
@@ -1,13 +1,6 @@
1
1
  import { NumberingMarkerType } from '../../../editor/gadgets/numbering/numbering-marker-type.enum';
2
2
  import { NumberingTemplateType } from './enums/numbering-template-type.enum';
3
- import { NumberingType } from './enums/numbering-type.enum';
4
3
  export class ToolbarStylesHelper {
5
- static getNumberingType(isBulletMarker) {
6
- if (isBulletMarker === null) {
7
- return null;
8
- }
9
- return isBulletMarker ? NumberingType.Bullet : NumberingType.Number;
10
- }
11
4
  static getNumberingTemplateType(levelsMarkersStyles) {
12
5
  const type = NumberingMarkerType;
13
6
  const bulletMarkerStyles1 = `●${type.Bullet}○${type.Bullet}■${type.Bullet}●${type.Bullet}○${type.Bullet}■${type.Bullet}●${type.Bullet}○${type.Bullet}■${type.Bullet}`;
@@ -52,4 +45,4 @@ export class ToolbarStylesHelper {
52
45
  }
53
46
  }
54
47
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1zdHlsZXMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9zaGFyZWQvdG9vbGJhci1zdHlsZXMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU1RCxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUE4QjtRQUNsRCxJQUFJLGNBQWMsS0FBSyxJQUFJLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsbUJBQTJCO1FBQ3ZELE1BQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDO1FBQ2pDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RLLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RLLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RLLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RLLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RLLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxN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QkFBcUIsQ0FBQyxXQUFXLENBQUM7WUFDN0MsS0FBSyxtQkFBbUI7Z0JBQ3BCLE9BQU8scUJBQXFCLENBQUMsV0FBVyxDQUFDO1lBQzdDLEtBQUssbUJBQW1CO2dCQUNwQixPQUFPLHFCQUFxQixDQUFDLFdBQVcsQ0FBQztZQUM3QyxLQUFLLG1CQUFtQjtnQkFDcEIsT0FBTyxxQkFBcUIsQ0FBQyxXQUFXLENBQUM7WUFDN0MsS0FBSyxtQkFBbUI7Z0JBQ3BCLE9BQU8scUJBQXFCLENBQUMsV0FBVyxDQUFDO1lBQzdDO2dCQUNJLE9BQU8sSUFBSSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTnVtYmVyaW5nTWFya2VyVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VkaXRvci9nYWRnZXRzL251bWJlcmluZy9udW1iZXJpbmctbWFya2VyLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUgfSBmcm9tICcuL2VudW1zL251bWJlcmluZy10ZW1wbGF0ZS10eXBlLmVudW0nO1xuaW1wb3J0IHsgTnVtYmVyaW5nVHlwZSB9IGZyb20gJy4vZW51bXMvbnVtYmVyaW5nLXR5cGUuZW51bSc7XG5cbmV4cG9ydCBjbGFzcyBUb29sYmFyU3R5bGVzSGVscGVyIHtcbiAgICBzdGF0aWMgZ2V0TnVtYmVyaW5nVHlwZShpc0J1bGxldE1hcmtlcjogYm9vbGVhbiB8IG51bGwpOiBOdW1iZXJpbmdUeXBlIHwgbnVsbCB7XG4gICAgICAgIGlmIChpc0J1bGxldE1hcmtlciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gaXNCdWxsZXRNYXJrZXIgPyBOdW1iZXJpbmdUeXBlLkJ1bGxldCA6IE51bWJlcmluZ1R5cGUuTnVtYmVyO1xuICAgIH1cblxuICAgIHN0YXRpYyBnZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUobGV2ZWxzTWFya2Vyc1N0eWxlczogc3RyaW5nKTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBOdW1iZXJpbmdNYXJrZXJUeXBlO1xuICAgICAgICBjb25zdCBidWxsZXRNYXJrZXJTdHlsZXMxID0gYOKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0fWA7XG4gICAgICAgIGNvbnN0IGJ1bGxldE1hcmtlclN0eWxlczIgPSBg4pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR94pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR94pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR9YDtcbiAgICAgICAgY29uc3QgYnVsbGV0TWFya2VyU3R5bGVzMyA9IGDil4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3il4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3il4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH1gO1xuICAgICAgICBjb25zdCBidWxsZXRNYXJrZXJTdHlsZXM0ID0gYOKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0feKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0feKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0fWA7XG4gICAgICAgIGNvbnN0IGJ1bGxldE1hcmtlclN0eWxlczUgPSBg4piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR94piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR94piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR9YDtcbiAgICAgICAgY29uc3QgYnVsbGV0TWFya2VyU3R5bGVzNiA9IGDinqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3inqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3inqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczEgPSBgJTEuJHt0eXBlLkRlY2ltYWx9JTIuJHt0eXBlLkxvd2VyTGV0dGVyfSUzLiR7dHlwZS5Mb3dlclJvbWFufSU0LiR7dHlwZS5EZWNpbWFsfSU1LiR7dHlwZS5Mb3dlckxldHRlcn0lNi4ke3R5cGUuTG93ZXJSb21hbn0lNy4ke3R5cGUuRGVjaW1hbH0lOC4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTkuJHt0eXBlLkxvd2VyUm9tYW59YDtcbiAgICAgICAgY29uc3QgbnVtYmVyZWRNYXJrZXJTdHlsZXMyID0gYCUxKSR7dHlwZS5EZWNpbWFsfSUyKSR7dHlwZS5Mb3dlckxldHRlcn0lMykke3R5cGUuTG93ZXJSb21hbn0oJTQpJHt0eXBlLkRlY2ltYWx9KCU1KSR7dHlwZS5Mb3dlckxldHRlcn0oJTYpJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG4gICAgICAgIGNvbnN0IG51bWJlcmVkTWFya2VyU3R5bGVzMyA9IGAlMS4ke3R5cGUuRGVjaW1hbH0lMS4lMi4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4lOC4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4lOC4lOS4ke3R5cGUuRGVjaW1hbH1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczQgPSBgJTEuJHt0eXBlLlVwcGVyTGV0dGVyfSUyLiR7dHlwZS5Mb3dlckxldHRlcn0lMy4ke3R5cGUuTG93ZXJSb21hbn0lNC4ke3R5cGUuRGVjaW1hbH0lNS4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTYuJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG4gICAgICAgIGNvbnN0IG51bWJlcmVkTWFya2VyU3R5bGVzNSA9IGAlMS4ke3R5cGUuVXBwZXJSb21hbn0lMi4ke3R5cGUuVXBwZXJMZXR0ZXJ9JTMuJHt0eXBlLkRlY2ltYWx9JTQpJHt0eXBlLkxvd2VyTGV0dGVyfSglNSkke3R5cGUuRGVjaW1hbH0oJTYpJHt0eXBlLkxvd2VyTGV0dGVyfSglNykke3R5cGUuTG93ZXJSb21hbn0oJTgpJHt0eXBlLkxvd2VyTGV0dGVyfSglOSkke3R5cGUuTG93ZXJSb21hbn1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczYgPSBgJTEuJHt0eXBlLkRlY2ltYWxaZXJvfSUyLiR7dHlwZS5Mb3dlckxldHRlcn0lMy4ke3R5cGUuTG93ZXJSb21hbn0lNC4ke3R5cGUuRGVjaW1hbH0lNS4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTYuJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG5cbiAgICAgICAgc3dpdGNoIChsZXZlbHNNYXJrZXJzU3R5bGVzKSB7XG4gICAgICAgICAgICBjYXNlIG51bWJlcmVkTWFya2VyU3R5bGVzMTpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QxO1xuICAgICAgICAgICAgY2FzZSBudW1iZXJlZE1hcmtlclN0eWxlczI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0MjtcbiAgICAgICAgICAgIGNhc2UgbnVtYmVyZWRNYXJrZXJTdHlsZXMzOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDM7XG4gICAgICAgICAgICBjYXNlIG51bWJlcmVkTWFya2VyU3R5bGVzNDpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3Q0O1xuICAgICAgICAgICAgY2FzZSBudW1iZXJlZE1hcmtlclN0eWxlczU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0NTtcbiAgICAgICAgICAgIGNhc2UgbnVtYmVyZWRNYXJrZXJTdHlsZXM2OlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDY7XG4gICAgICAgICAgICBjYXNlIGJ1bGxldE1hcmtlclN0eWxlczE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MTtcbiAgICAgICAgICAgIGNhc2UgYnVsbGV0TWFya2VyU3R5bGVzMjpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QyO1xuICAgICAgICAgICAgY2FzZSBidWxsZXRNYXJrZXJTdHlsZXMzOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDM7XG4gICAgICAgICAgICBjYXNlIGJ1bGxldE1hcmtlclN0eWxlczQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NDtcbiAgICAgICAgICAgIGNhc2UgYnVsbGV0TWFya2VyU3R5bGVzNTpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3Q1O1xuICAgICAgICAgICAgY2FzZSBidWxsZXRNYXJrZXJTdHlsZXM2OlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDY7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1zdHlsZXMuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW5vZGVyL3NyYy9saWIvYXBhcnQtY29tcG9uZW50cy9lZGl0b3ItdG9vbGJhci9zaGFyZWQvdG9vbGJhci1zdHlsZXMuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTdFLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsTUFBTSxDQUFDLHdCQUF3QixDQUFDLG1CQUEyQjtRQUN2RCxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FBQztRQUNqQyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLG1CQUFtQixHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0SyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxNQUFNLElBQUksQ0FBQyxVQUFVLE1BQU0sSUFBSSxDQUFDLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxNQUFNLElB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Q0FBQztZQUM3QztnQkFDSSxPQUFPLElBQUksQ0FBQztTQUNuQjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE51bWJlcmluZ01hcmtlclR5cGUgfSBmcm9tICcuLi8uLi8uLi9lZGl0b3IvZ2FkZ2V0cy9udW1iZXJpbmcvbnVtYmVyaW5nLW1hcmtlci10eXBlLmVudW0nO1xuaW1wb3J0IHsgTnVtYmVyaW5nVGVtcGxhdGVUeXBlIH0gZnJvbSAnLi9lbnVtcy9udW1iZXJpbmctdGVtcGxhdGUtdHlwZS5lbnVtJztcblxuZXhwb3J0IGNsYXNzIFRvb2xiYXJTdHlsZXNIZWxwZXIge1xuICAgIHN0YXRpYyBnZXROdW1iZXJpbmdUZW1wbGF0ZVR5cGUobGV2ZWxzTWFya2Vyc1N0eWxlczogc3RyaW5nKTogTnVtYmVyaW5nVGVtcGxhdGVUeXBlIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHR5cGUgPSBOdW1iZXJpbmdNYXJrZXJUeXBlO1xuICAgICAgICBjb25zdCBidWxsZXRNYXJrZXJTdHlsZXMxID0gYOKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3ilqAke3R5cGUuQnVsbGV0fWA7XG4gICAgICAgIGNvbnN0IGJ1bGxldE1hcmtlclN0eWxlczIgPSBg4pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR94pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR94pagJHt0eXBlLkJ1bGxldH3ilqEke3R5cGUuQnVsbGV0feKXiyR7dHlwZS5CdWxsZXR9YDtcbiAgICAgICAgY29uc3QgYnVsbGV0TWFya2VyU3R5bGVzMyA9IGDil4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3il4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3il4Yke3R5cGUuQnVsbGV0feKXhyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH1gO1xuICAgICAgICBjb25zdCBidWxsZXRNYXJrZXJTdHlsZXM0ID0gYOKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0feKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0feKeoiR7dHlwZS5CdWxsZXR94peGJHt0eXBlLkJ1bGxldH3il48ke3R5cGUuQnVsbGV0fWA7XG4gICAgICAgIGNvbnN0IGJ1bGxldE1hcmtlclN0eWxlczUgPSBg4piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR94piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR94piFJHt0eXBlLkJ1bGxldH3il4ske3R5cGUuQnVsbGV0feKWoSR7dHlwZS5CdWxsZXR9YDtcbiAgICAgICAgY29uc3QgYnVsbGV0TWFya2VyU3R5bGVzNiA9IGDinqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3inqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH3inqIke3R5cGUuQnVsbGV0feKXjyR7dHlwZS5CdWxsZXR94peLJHt0eXBlLkJ1bGxldH1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczEgPSBgJTEuJHt0eXBlLkRlY2ltYWx9JTIuJHt0eXBlLkxvd2VyTGV0dGVyfSUzLiR7dHlwZS5Mb3dlclJvbWFufSU0LiR7dHlwZS5EZWNpbWFsfSU1LiR7dHlwZS5Mb3dlckxldHRlcn0lNi4ke3R5cGUuTG93ZXJSb21hbn0lNy4ke3R5cGUuRGVjaW1hbH0lOC4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTkuJHt0eXBlLkxvd2VyUm9tYW59YDtcbiAgICAgICAgY29uc3QgbnVtYmVyZWRNYXJrZXJTdHlsZXMyID0gYCUxKSR7dHlwZS5EZWNpbWFsfSUyKSR7dHlwZS5Mb3dlckxldHRlcn0lMykke3R5cGUuTG93ZXJSb21hbn0oJTQpJHt0eXBlLkRlY2ltYWx9KCU1KSR7dHlwZS5Mb3dlckxldHRlcn0oJTYpJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG4gICAgICAgIGNvbnN0IG51bWJlcmVkTWFya2VyU3R5bGVzMyA9IGAlMS4ke3R5cGUuRGVjaW1hbH0lMS4lMi4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4lOC4ke3R5cGUuRGVjaW1hbH0lMS4lMi4lMy4lNC4lNS4lNi4lNy4lOC4lOS4ke3R5cGUuRGVjaW1hbH1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczQgPSBgJTEuJHt0eXBlLlVwcGVyTGV0dGVyfSUyLiR7dHlwZS5Mb3dlckxldHRlcn0lMy4ke3R5cGUuTG93ZXJSb21hbn0lNC4ke3R5cGUuRGVjaW1hbH0lNS4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTYuJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG4gICAgICAgIGNvbnN0IG51bWJlcmVkTWFya2VyU3R5bGVzNSA9IGAlMS4ke3R5cGUuVXBwZXJSb21hbn0lMi4ke3R5cGUuVXBwZXJMZXR0ZXJ9JTMuJHt0eXBlLkRlY2ltYWx9JTQpJHt0eXBlLkxvd2VyTGV0dGVyfSglNSkke3R5cGUuRGVjaW1hbH0oJTYpJHt0eXBlLkxvd2VyTGV0dGVyfSglNykke3R5cGUuTG93ZXJSb21hbn0oJTgpJHt0eXBlLkxvd2VyTGV0dGVyfSglOSkke3R5cGUuTG93ZXJSb21hbn1gO1xuICAgICAgICBjb25zdCBudW1iZXJlZE1hcmtlclN0eWxlczYgPSBgJTEuJHt0eXBlLkRlY2ltYWxaZXJvfSUyLiR7dHlwZS5Mb3dlckxldHRlcn0lMy4ke3R5cGUuTG93ZXJSb21hbn0lNC4ke3R5cGUuRGVjaW1hbH0lNS4ke3R5cGUuTG93ZXJMZXR0ZXJ9JTYuJHt0eXBlLkxvd2VyUm9tYW59JTcuJHt0eXBlLkRlY2ltYWx9JTguJHt0eXBlLkxvd2VyTGV0dGVyfSU5LiR7dHlwZS5Mb3dlclJvbWFufWA7XG5cbiAgICAgICAgc3dpdGNoIChsZXZlbHNNYXJrZXJzU3R5bGVzKSB7XG4gICAgICAgICAgICBjYXNlIG51bWJlcmVkTWFya2VyU3R5bGVzMTpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3QxO1xuICAgICAgICAgICAgY2FzZSBudW1iZXJlZE1hcmtlclN0eWxlczI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0MjtcbiAgICAgICAgICAgIGNhc2UgbnVtYmVyZWRNYXJrZXJTdHlsZXMzOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDM7XG4gICAgICAgICAgICBjYXNlIG51bWJlcmVkTWFya2VyU3R5bGVzNDpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLk51bWJlckxpc3Q0O1xuICAgICAgICAgICAgY2FzZSBudW1iZXJlZE1hcmtlclN0eWxlczU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5OdW1iZXJMaXN0NTtcbiAgICAgICAgICAgIGNhc2UgbnVtYmVyZWRNYXJrZXJTdHlsZXM2OlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuTnVtYmVyTGlzdDY7XG4gICAgICAgICAgICBjYXNlIGJ1bGxldE1hcmtlclN0eWxlczE6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0MTtcbiAgICAgICAgICAgIGNhc2UgYnVsbGV0TWFya2VyU3R5bGVzMjpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3QyO1xuICAgICAgICAgICAgY2FzZSBidWxsZXRNYXJrZXJTdHlsZXMzOlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDM7XG4gICAgICAgICAgICBjYXNlIGJ1bGxldE1hcmtlclN0eWxlczQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIE51bWJlcmluZ1RlbXBsYXRlVHlwZS5CdWxsZXRMaXN0NDtcbiAgICAgICAgICAgIGNhc2UgYnVsbGV0TWFya2VyU3R5bGVzNTpcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyaW5nVGVtcGxhdGVUeXBlLkJ1bGxldExpc3Q1O1xuICAgICAgICAgICAgY2FzZSBidWxsZXRNYXJrZXJTdHlsZXM2OlxuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXJpbmdUZW1wbGF0ZVR5cGUuQnVsbGV0TGlzdDY7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -28,7 +28,7 @@ export class NoderEdgeComponent extends DestroyComponent {
28
28
  return this.edgeSession.renderer;
29
29
  }
30
30
  get height() {
31
- return this.session.pagesWrap.defaultVerticalData.contentHeight;
31
+ return this.session.displayData.defaultVerticalData.contentHeight;
32
32
  }
33
33
  constructor(regulatorService, editorService) {
34
34
  super();
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
96
96
  type: ViewChild,
97
97
  args: ['locationType', { static: true }]
98
98
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9lZGdlcy9lZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2VkZ2VzL2VkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFnQjVDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxnQkFBZ0I7SUFXcEQsSUFDSSxJQUFJLENBQUMsR0FBYTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLEdBQUcsS0FBSyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLENBQUM7WUFDeEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztTQUN0QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztZQUN4QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsUUFBUSxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0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LGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsR0FBRyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7SUFDdEgsQ0FBQzsrR0FoR1Esa0JBQWtCO21HQUFsQixrQkFBa0IsNmdCQ3RCL0IsMEhBTUE7OzRGRGdCYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNO2lIQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBaUJOLFNBQVM7c0JBRFIsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBcUJPLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFSyxhQUFhO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERlc3Ryb3lDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvYWJzdHJhY3QvZGVzdHJveS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9tSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvZG9tLmhlbHBlcic7XG5pbXBvcnQgeyBFZGdlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2VkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRWRnZVR5cGUgfSBmcm9tICcuL2VkZ2UtdHlwZS5lbnVtJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi9lZGl0LnNlc3Npb24nO1xuaW1wb3J0IHsgR2VuZXJhbFByb3BlcnRpZXNNb2RlbCB9IGZyb20gJy4uLy4uL2NvbnRlbnQvZGlzcGxheS1kYXRhL2dlbmVyYWwtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBNYXJnaW5Nb2RlbCB9IGZyb20gJy4uLy4uL2NvbnRlbnQvbWFyZ2luLm1vZGVsJztcbmltcG9ydCB7IFJlZ3VsYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9leGVjdXRpb24vcmVndWxhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVuZGVyZXIgfSBmcm9tICcuLi8uLi9kaXNwbGF5L3JlbmRlcmVyJztcbmltcG9ydCB7IFNlc3Npb25Nb2RlbCB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi90YXJnZXRpbmcvc2Vzc2lvbi5tb2RlbCc7XG5pbXBvcnQgeyBWaXJ0dWFsUmVuZGVyZXIgfSBmcm9tICcuLi8uLi9kaXNwbGF5L3ZpcnR1YWwucmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1ub2QtZWRnZScsXG4gICAgdGVtcGxhdGVVcmw6ICdlZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnZWRnZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVyRWRnZUNvbXBvbmVudCBleHRlbmRzIERlc3Ryb3lDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIG1vZGVsOiBFZGdlTW9kZWw7XG5cbiAgICBASW5wdXQoKSBnZW5lcmFsUHJvcGVydGllczogR2VuZXJhbFByb3BlcnRpZXNNb2RlbDtcblxuICAgIEBJbnB1dCgpIG1hcmdpbnM6IE1hcmdpbk1vZGVsO1xuXG4gICAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIHBhcmVudFNlc3Npb25JZDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdHlwZSh2YWw6IEVkZ2VUeXBlKSB7XG4gICAgICAgIHRoaXMuX3R5cGUgPSB2YWw7XG4gICAgICAgIGlmICh2YWwgPT09IEVkZ2VUeXBlLkhlYWRlcikge1xuICAgICAgICAgICAgdGhpcy5lZGl0TW9kZUNsYXNzID0gJ2hlYWRlci1lZGl0LW1vZGUnO1xuICAgICAgICAgICAgdGhpcy50eXBlQ29udGFpbmVyUG9zaXRpb24gPSAndG9wJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdE1vZGVDbGFzcyA9ICdmb290ZXItZWRpdC1tb2RlJztcbiAgICAgICAgICAgIHRoaXMudHlwZUNvbnRhaW5lclBvc2l0aW9uID0gJ2JvdHRvbSc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHR5cGUoKTogRWRnZVR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfdHlwZTogRWRnZVR5cGU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zZXNzaW9uLWlkJylcbiAgICBzZXNzaW9uSWQ6IG51bWJlcjtcblxuICAgIGVkZ2VTZXNzaW9uOiBTZXNzaW9uTW9kZWw7XG5cbiAgICBlZGl0TW9kZUNsYXNzOiBzdHJpbmc7XG5cbiAgICB0eXBlQ29udGFpbmVyUG9zaXRpb246IHN0cmluZztcblxuICAgIGdldCBzZXNzaW9uKCk6IEVkaXRTZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRnZVNlc3Npb24uc2Vzc2lvbjtcbiAgICB9XG5cbiAgICBnZXQgcmVuZGVyZXIoKTogUmVuZGVyZXIgfCBWaXJ0dWFsUmVuZGVyZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGdlU2Vzc2lvbi5yZW5kZXJlcjtcbiAgICB9XG5cbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24ucGFnZXNXcmFwLmRlZmF1bHRWZXJ0aWNhbERhdGEuY29udGVudEhlaWdodDtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnbG9jYXRpb25UeXBlJywgeyBzdGF0aWM6IHRydWUgfSkgdHlwZUNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBwcml2YXRlIF9wcmV2aW91c0hlaWdodDogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWd1bGF0b3JTZXJ2aWNlOiBSZWd1bGF0b3JTZXJ2aWNlLCBwcml2YXRlIGVkaXRvclNlcnZpY2U6IEVkaXRvclNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWd1bGF0b3JTZXJ2aWNlLnJlbW92ZVNlc3Npb24odGhpcy5zZXNzaW9uSWQpO1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRnZVNlc3Npb24gPSB0aGlzLnJlZ3VsYXRvclNlcnZpY2UuYWRkRWRnZVNlc3Npb24odGhpcyk7XG4gICAgICAgIHRoaXMuc2Vzc2lvbklkID0gdGhpcy5lZGdlU2Vzc2lvbi5zZXNzaW9uSWQ7XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzSGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLCAnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLnR5cGVDb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZSwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XG4gICAgICAgIHRoaXMuc2V0VHlwZUNvbnRhaW5lclBvc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5yZW5kZXJlclVwZGF0ZWQkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoeCA9PiB0aGlzLnJlbmRlcmVyVXBkYXRlZCh4KSk7XG4gICAgfVxuXG4gICAgZW50ZXJFZGl0TW9kZSgpOiB2b2lkIHtcbiAgICAgICAgRG9tSGVscGVyLmFkZENzc0NsYXNzKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZWRpdE1vZGVDbGFzcyk7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLnR5cGVDb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZSwgJ3Zpc2liaWxpdHknLCAndmlzaWJsZScpO1xuICAgIH1cblxuICAgIGxlYXZlRWRpdE1vZGUoKTogdm9pZCB7XG4gICAgICAgIERvbUhlbHBlci5yZW1vdmVDc3NDbGFzcyh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCB0aGlzLmVkaXRNb2RlQ2xhc3MpO1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy50eXBlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xuICAgIH1cblxuICAgIHJlbmRlcmVyVXBkYXRlZChzZXNzaW9uSWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoc2Vzc2lvbklkICE9PSB0aGlzLnNlc3Npb25JZCB8fCB0aGlzLmhlaWdodCA9PT0gdGhpcy5fcHJldmlvdXNIZWlnaHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jaGFuZ2VkRWRnZUhlaWdodCh0aGlzLnR5cGUpO1xuICAgICAgICB0aGlzLl9wcmV2aW91c0hlaWdodCA9IHRoaXMuaGVpZ2h0O1xuICAgICAgICB0aGlzLnNldFR5cGVDb250YWluZXJQb3NpdGlvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0VHlwZUNvbnRhaW5lclBvc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZW5kZXJlZEVkZ2VIZWlnaHQgPSB0aGlzLmhlaWdodCA+IHRoaXMuZ2VuZXJhbFByb3BlcnRpZXMubWF4RWRnZUhlaWdodCA/IHRoaXMuZ2VuZXJhbFByb3BlcnRpZXMubWF4RWRnZUhlaWdodCA6IHRoaXMuaGVpZ2h0O1xuICAgICAgICBEb21IZWxwZXIuc2V0U3R5bGUodGhpcy50eXBlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUsIHRoaXMudHlwZUNvbnRhaW5lclBvc2l0aW9uLCBgJHtyZW5kZXJlZEVkZ2VIZWlnaHR9cHhgKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2NvbnRhaW5lclxuICAgIGNsYXNzPVwiZWRpdC1jb250YWluZXJcIj48L2Rpdj5cbjxkaXZcbiAgICAjbG9jYXRpb25UeXBlXG4gICAgY2xhc3M9XCJsb2NhdGlvbi10eXBlXCI+PC9kaXY+XG4iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi9lZGl0b3IvY29tcG9uZW50cy9lZGdlcy9lZGdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliL2VkaXRvci9jb21wb25lbnRzL2VkZ2VzL2VkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFnQjVDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxnQkFBZ0I7SUFXcEQsSUFDSSxJQUFJLENBQUMsR0FBYTtRQUNsQixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztRQUNqQixJQUFJLEdBQUcsS0FBSyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLENBQUM7WUFDeEMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztTQUN0QzthQUFNO1lBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztZQUN4QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsUUFBUSxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0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LGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuSSxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMscUJBQXFCLEVBQUUsR0FBRyxrQkFBa0IsSUFBSSxDQUFDLENBQUM7SUFDdEgsQ0FBQzsrR0FoR1Esa0JBQWtCO21HQUFsQixrQkFBa0IsNmdCQ3RCL0IsMEhBTUE7OzRGRGdCYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBQ0ksY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNO2lIQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFHRixJQUFJO3NCQURQLEtBQUs7Z0JBaUJOLFNBQVM7c0JBRFIsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBcUJPLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFSyxhQUFhO3NCQUF6RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IERlc3Ryb3lDb21wb25lbnQgfSBmcm9tICcuLi9zaGFyZWQvYWJzdHJhY3QvZGVzdHJveS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRG9tSGVscGVyIH0gZnJvbSAnLi4vLi4vZXhlY3V0aW9uL2hlbHBlcnMvZG9tLmhlbHBlcic7XG5pbXBvcnQgeyBFZGdlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZ2VuZXJhdGVkL2VkZ2UubW9kZWwnO1xuaW1wb3J0IHsgRWRnZVR5cGUgfSBmcm9tICcuL2VkZ2UtdHlwZS5lbnVtJztcbmltcG9ydCB7IEVkaXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmFjdGlvbi9lZGl0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0U2Vzc2lvbiB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi9lZGl0LnNlc3Npb24nO1xuaW1wb3J0IHsgR2VuZXJhbFByb3BlcnRpZXNNb2RlbCB9IGZyb20gJy4uLy4uL2NvbnRlbnQvZGlzcGxheS1kYXRhL2dlbmVyYWwtcHJvcGVydGllcy5tb2RlbCc7XG5pbXBvcnQgeyBNYXJnaW5Nb2RlbCB9IGZyb20gJy4uLy4uL2NvbnRlbnQvbWFyZ2luLm1vZGVsJztcbmltcG9ydCB7IFJlZ3VsYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9leGVjdXRpb24vcmVndWxhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVuZGVyZXIgfSBmcm9tICcuLi8uLi9kaXNwbGF5L3JlbmRlcmVyJztcbmltcG9ydCB7IFNlc3Npb25Nb2RlbCB9IGZyb20gJy4uLy4uL2V4ZWN1dGlvbi90YXJnZXRpbmcvc2Vzc2lvbi5tb2RlbCc7XG5pbXBvcnQgeyBWaXJ0dWFsUmVuZGVyZXIgfSBmcm9tICcuLi8uLi9kaXNwbGF5L3ZpcnR1YWwucmVuZGVyZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1ub2QtZWRnZScsXG4gICAgdGVtcGxhdGVVcmw6ICdlZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnZWRnZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVyRWRnZUNvbXBvbmVudCBleHRlbmRzIERlc3Ryb3lDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIG1vZGVsOiBFZGdlTW9kZWw7XG5cbiAgICBASW5wdXQoKSBnZW5lcmFsUHJvcGVydGllczogR2VuZXJhbFByb3BlcnRpZXNNb2RlbDtcblxuICAgIEBJbnB1dCgpIG1hcmdpbnM6IE1hcmdpbk1vZGVsO1xuXG4gICAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIHBhcmVudFNlc3Npb25JZDogbnVtYmVyO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgdHlwZSh2YWw6IEVkZ2VUeXBlKSB7XG4gICAgICAgIHRoaXMuX3R5cGUgPSB2YWw7XG4gICAgICAgIGlmICh2YWwgPT09IEVkZ2VUeXBlLkhlYWRlcikge1xuICAgICAgICAgICAgdGhpcy5lZGl0TW9kZUNsYXNzID0gJ2hlYWRlci1lZGl0LW1vZGUnO1xuICAgICAgICAgICAgdGhpcy50eXBlQ29udGFpbmVyUG9zaXRpb24gPSAndG9wJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdE1vZGVDbGFzcyA9ICdmb290ZXItZWRpdC1tb2RlJztcbiAgICAgICAgICAgIHRoaXMudHlwZUNvbnRhaW5lclBvc2l0aW9uID0gJ2JvdHRvbSc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHR5cGUoKTogRWRnZVR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfdHlwZTogRWRnZVR5cGU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS1zZXNzaW9uLWlkJylcbiAgICBzZXNzaW9uSWQ6IG51bWJlcjtcblxuICAgIGVkZ2VTZXNzaW9uOiBTZXNzaW9uTW9kZWw7XG5cbiAgICBlZGl0TW9kZUNsYXNzOiBzdHJpbmc7XG5cbiAgICB0eXBlQ29udGFpbmVyUG9zaXRpb246IHN0cmluZztcblxuICAgIGdldCBzZXNzaW9uKCk6IEVkaXRTZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRnZVNlc3Npb24uc2Vzc2lvbjtcbiAgICB9XG5cbiAgICBnZXQgcmVuZGVyZXIoKTogUmVuZGVyZXIgfCBWaXJ0dWFsUmVuZGVyZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5lZGdlU2Vzc2lvbi5yZW5kZXJlcjtcbiAgICB9XG5cbiAgICBnZXQgaGVpZ2h0KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZGlzcGxheURhdGEuZGVmYXVsdFZlcnRpY2FsRGF0YS5jb250ZW50SGVpZ2h0O1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdsb2NhdGlvblR5cGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSB0eXBlQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgX3ByZXZpb3VzSGVpZ2h0OiBudW1iZXI7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZ3VsYXRvclNlcnZpY2U6IFJlZ3VsYXRvclNlcnZpY2UsIHByaXZhdGUgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ3VsYXRvclNlcnZpY2UucmVtb3ZlU2Vzc2lvbih0aGlzLnNlc3Npb25JZCk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGdlU2Vzc2lvbiA9IHRoaXMucmVndWxhdG9yU2VydmljZS5hZGRFZGdlU2Vzc2lvbih0aGlzKTtcbiAgICAgICAgdGhpcy5zZXNzaW9uSWQgPSB0aGlzLmVkZ2VTZXNzaW9uLnNlc3Npb25JZDtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNIZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc3R5bGUsICdvdmVyZmxvdycsICdoaWRkZW4nKTtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMudHlwZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICAgICAgdGhpcy5zZXRUeXBlQ29udGFpbmVyUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnJlbmRlcmVyVXBkYXRlZCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh4ID0+IHRoaXMucmVuZGVyZXJVcGRhdGVkKHgpKTtcbiAgICB9XG5cbiAgICBlbnRlckVkaXRNb2RlKCk6IHZvaWQge1xuICAgICAgICBEb21IZWxwZXIuYWRkQ3NzQ2xhc3ModGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudCwgdGhpcy5lZGl0TW9kZUNsYXNzKTtcbiAgICAgICAgRG9tSGVscGVyLnNldFN0eWxlKHRoaXMudHlwZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnN0eWxlLCAndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XG4gICAgfVxuXG4gICAgbGVhdmVFZGl0TW9kZSgpOiB2b2lkIHtcbiAgICAgICAgRG9tSGVscGVyLnJlbW92ZUNzc0NsYXNzKHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsIHRoaXMuZWRpdE1vZGVDbGFzcyk7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLnR5cGVDb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZSwgJ3Zpc2liaWxpdHknLCAnaGlkZGVuJyk7XG4gICAgfVxuXG4gICAgcmVuZGVyZXJVcGRhdGVkKHNlc3Npb25JZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChzZXNzaW9uSWQgIT09IHRoaXMuc2Vzc2lvbklkIHx8IHRoaXMuaGVpZ2h0ID09PSB0aGlzLl9wcmV2aW91c0hlaWdodCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmNoYW5nZWRFZGdlSGVpZ2h0KHRoaXMudHlwZSk7XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzSGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XG4gICAgICAgIHRoaXMuc2V0VHlwZUNvbnRhaW5lclBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRUeXBlQ29udGFpbmVyUG9zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlbmRlcmVkRWRnZUhlaWdodCA9IHRoaXMuaGVpZ2h0ID4gdGhpcy5nZW5lcmFsUHJvcGVydGllcy5tYXhFZGdlSGVpZ2h0ID8gdGhpcy5nZW5lcmFsUHJvcGVydGllcy5tYXhFZGdlSGVpZ2h0IDogdGhpcy5oZWlnaHQ7XG4gICAgICAgIERvbUhlbHBlci5zZXRTdHlsZSh0aGlzLnR5cGVDb250YWluZXIubmF0aXZlRWxlbWVudC5zdHlsZSwgdGhpcy50eXBlQ29udGFpbmVyUG9zaXRpb24sIGAke3JlbmRlcmVkRWRnZUhlaWdodH1weGApO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAjY29udGFpbmVyXG4gICAgY2xhc3M9XCJlZGl0LWNvbnRhaW5lclwiPjwvZGl2PlxuPGRpdlxuICAgICNsb2NhdGlvblR5cGVcbiAgICBjbGFzcz1cImxvY2F0aW9uLXR5cGVcIj48L2Rpdj5cbiJdfQ==