@simpleangularcontrols/sac-bootstrap4 10.0.0-rc.26 → 10.0.0-rc.28

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 (119) hide show
  1. package/bundles/simpleangularcontrols-sac-bootstrap4.umd.js +194 -226
  2. package/bundles/simpleangularcontrols-sac-bootstrap4.umd.js.map +1 -1
  3. package/bundles/simpleangularcontrols-sac-bootstrap4.umd.min.js +1 -1
  4. package/bundles/simpleangularcontrols-sac-bootstrap4.umd.min.js.map +1 -1
  5. package/controls/checkbox/radiobuttons.d.ts +1 -1
  6. package/controls/confirm/confirm.service.d.ts +1 -1
  7. package/controls/dialog/dialog.d.ts +4 -4
  8. package/controls/form/form.d.ts +4 -4
  9. package/controls/form/inheritform.directive.d.ts +11 -11
  10. package/controls/grid/grid.d.ts +4 -4
  11. package/controls/grid/gridbutton.d.ts +5 -2
  12. package/controls/grid/gridcolumn.d.ts +1 -1
  13. package/controls/grid/gridcolumnaction.d.ts +1 -1
  14. package/controls/grid/gridimage.d.ts +0 -5
  15. package/controls/list/dropdown.d.ts +2 -14
  16. package/controls/list/dropdownoption.directive.d.ts +14 -0
  17. package/controls/list/dropdownoption.directive.ngfactory.d.ts +1 -0
  18. package/controls/list/list.token.d.ts +3 -0
  19. package/controls/list/list.token.ngfactory.d.ts +1 -0
  20. package/controls/list/listbox.d.ts +2 -14
  21. package/controls/list/listboxoption.directive.d.ts +11 -0
  22. package/controls/list/listboxoption.directive.ngfactory.d.ts +1 -0
  23. package/controls/tabs/tab.d.ts +1 -1
  24. package/controls/upload/upload.d.ts +1 -1
  25. package/controls/validation/validationsummary.d.ts +1 -1
  26. package/esm2015/controls/buttons/button.js +2 -2
  27. package/esm2015/controls/buttons/button.module.js +4 -3
  28. package/esm2015/controls/buttons/button.module.ngfactory.js +1 -1
  29. package/esm2015/controls/checkbox/checkbox.js +2 -2
  30. package/esm2015/controls/checkbox/checkbox.module.js +7 -18
  31. package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +1 -1
  32. package/esm2015/controls/checkbox/radiobuttons.js +4 -4
  33. package/esm2015/controls/confirm/confirm.service.js +4 -4
  34. package/esm2015/controls/contextmenu/contextmenu.js +2 -2
  35. package/esm2015/controls/contextmenu/contextmenu.module.js +7 -6
  36. package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +1 -1
  37. package/esm2015/controls/datetime/date.js +10 -10
  38. package/esm2015/controls/datetime/dateselector.js +2 -2
  39. package/esm2015/controls/datetime/datetime.js +2 -2
  40. package/esm2015/controls/datetime/datetime.module.js +6 -5
  41. package/esm2015/controls/datetime/datetime.module.ngfactory.js +1 -1
  42. package/esm2015/controls/datetime/time.js +2 -2
  43. package/esm2015/controls/dialog/dialog.js +14 -10
  44. package/esm2015/controls/dialog/dialog.module.js +5 -4
  45. package/esm2015/controls/dialog/dialog.module.ngfactory.js +1 -1
  46. package/esm2015/controls/form/form.js +4 -1
  47. package/esm2015/controls/form/form.module.js +5 -4
  48. package/esm2015/controls/form/form.module.ngfactory.js +1 -1
  49. package/esm2015/controls/form/inheritform.directive.js +20 -20
  50. package/esm2015/controls/grid/grid.js +4 -3
  51. package/esm2015/controls/grid/grid.module.js +6 -5
  52. package/esm2015/controls/grid/grid.module.ngfactory.js +1 -1
  53. package/esm2015/controls/grid/gridbutton.js +12 -25
  54. package/esm2015/controls/grid/gridcolumn.js +5 -4
  55. package/esm2015/controls/grid/gridcolumnaction.js +5 -4
  56. package/esm2015/controls/grid/gridimage.js +2 -16
  57. package/esm2015/controls/grid/paging.js +4 -3
  58. package/esm2015/controls/input/input.js +2 -2
  59. package/esm2015/controls/input/input.module.js +5 -4
  60. package/esm2015/controls/input/input.module.ngfactory.js +1 -1
  61. package/esm2015/controls/input/inputarea.js +2 -2
  62. package/esm2015/controls/input/inputcurrency.js +2 -2
  63. package/esm2015/controls/input/inputdecimal.js +2 -2
  64. package/esm2015/controls/input/inputemail.js +2 -2
  65. package/esm2015/controls/input/inputinteger.js +2 -2
  66. package/esm2015/controls/input/inputpassword.js +2 -2
  67. package/esm2015/controls/input/inputsearch.js +2 -2
  68. package/esm2015/controls/list/dropdown.js +7 -30
  69. package/esm2015/controls/list/dropdown.module.js +7 -9
  70. package/esm2015/controls/list/dropdown.module.ngfactory.js +1 -1
  71. package/esm2015/controls/list/dropdownoption.directive.js +27 -0
  72. package/esm2015/controls/list/dropdownoption.directive.ngfactory.js +7 -0
  73. package/esm2015/controls/list/list.module.js +7 -9
  74. package/esm2015/controls/list/list.module.ngfactory.js +1 -1
  75. package/esm2015/controls/list/list.token.js +6 -0
  76. package/esm2015/controls/list/list.token.ngfactory.js +7 -0
  77. package/esm2015/controls/list/listbox.js +7 -30
  78. package/esm2015/controls/list/listboxoption.directive.js +24 -0
  79. package/esm2015/controls/list/listboxoption.directive.ngfactory.js +7 -0
  80. package/esm2015/controls/multilanguage/multilanguage.module.js +6 -4
  81. package/esm2015/controls/multilanguage/multilanguage.module.ngfactory.js +1 -1
  82. package/esm2015/controls/multilanguage/multilanguageinput.js +3 -3
  83. package/esm2015/controls/multilanguage/multilanguageinputarea.js +3 -3
  84. package/esm2015/controls/multilanguage/multilanguagemenu.js +2 -2
  85. package/esm2015/controls/static/formcontainer.js +2 -2
  86. package/esm2015/controls/static/staticlabel.js +2 -2
  87. package/esm2015/controls/static/staticlabel.module.js +5 -4
  88. package/esm2015/controls/static/staticlabel.module.ngfactory.js +1 -1
  89. package/esm2015/controls/tabs/tab.js +5 -3
  90. package/esm2015/controls/tabs/tabs.module.js +5 -4
  91. package/esm2015/controls/tabs/tabs.module.ngfactory.js +1 -1
  92. package/esm2015/controls/tinymce/tinymce.js +3 -3
  93. package/esm2015/controls/tinymce/tinymce.module.js +7 -6
  94. package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +1 -1
  95. package/esm2015/controls/tooltip/tooltip.js +2 -2
  96. package/esm2015/controls/tooltip/tooltip.module.js +4 -3
  97. package/esm2015/controls/tooltip/tooltip.module.ngfactory.js +1 -1
  98. package/esm2015/controls/treeview/treeview.js +2 -2
  99. package/esm2015/controls/treeview/treeview.module.js +3 -2
  100. package/esm2015/controls/treeview/treeview.module.ngfactory.js +1 -1
  101. package/esm2015/controls/upload/dropzonemultiple.js +2 -2
  102. package/esm2015/controls/upload/dropzonesingle.js +2 -2
  103. package/esm2015/controls/upload/upload.js +4 -4
  104. package/esm2015/controls/upload/upload.module.js +6 -5
  105. package/esm2015/controls/upload/upload.module.ngfactory.js +1 -1
  106. package/esm2015/controls/upload/uploadmultiple.js +2 -2
  107. package/esm2015/controls/validation/validationsummary.js +3 -3
  108. package/esm2015/controls/validation/validationsummary.module.js +4 -3
  109. package/esm2015/controls/validation/validationsummary.module.ngfactory.js +1 -1
  110. package/esm2015/public_api.js +3 -1
  111. package/esm2015/simpleangularcontrols-sac-bootstrap4.js +6 -5
  112. package/fesm2015/simpleangularcontrols-sac-bootstrap4.js +180 -211
  113. package/fesm2015/simpleangularcontrols-sac-bootstrap4.js.map +1 -1
  114. package/package.json +2 -2
  115. package/public_api.d.ts +2 -0
  116. package/simpleangularcontrols-sac-bootstrap4-10.0.0-rc.28.tgz +0 -0
  117. package/simpleangularcontrols-sac-bootstrap4.d.ts +5 -4
  118. package/simpleangularcontrols-sac-bootstrap4.metadata.json +1 -1
  119. package/simpleangularcontrols-sac-bootstrap4-10.0.0-rc.26.tgz +0 -0
@@ -1,8 +1,8 @@
1
- import { Component, Directive, ElementRef, Host, Injector, Optional, Renderer2, forwardRef, } from '@angular/core';
2
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { SacListboxCommon, SacListboxOptionCommon, } from '@simpleangularcontrols/sac-common';
4
1
  import { SacFormLayoutDirective } from '../layout/formlayout.directive';
5
- // #region Classes
2
+ import { LISTBOX_TOKEN } from './list.token';
3
+ import { Component, Host, Injector, Optional, forwardRef } from '@angular/core';
4
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { SacListboxCommon } from '@simpleangularcontrols/sac-common';
6
6
  /**
7
7
  * Listbox Komponente
8
8
  */
@@ -20,9 +20,10 @@ export class SacListboxComponent extends SacListboxCommon {
20
20
  SacListboxComponent.decorators = [
21
21
  { type: Component, args: [{
22
22
  selector: 'sac-listbox',
23
- template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\"\n ><div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [size]=\"rowsize\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n {{ option[optionlabel] }}\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n {{ item[optionlabel] }}\n </option>\n </optgroup>\n </ng-container>\n </select>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
23
+ template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\"\n ><div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [size]=\"rowsize\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\"\n >{{ option[optionlabel] }}</option\n >\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n {{ item[optionlabel] }}\n </option>\n </optgroup>\n </ng-container>\n </select>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
24
24
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
25
25
  providers: [
26
+ { provide: LISTBOX_TOKEN, useExisting: SacListboxComponent },
26
27
  {
27
28
  provide: NG_VALUE_ACCESSOR,
28
29
  multi: true,
@@ -40,28 +41,4 @@ SacListboxComponent.ctorParameters = () => [
40
41
  { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
41
42
  { type: Injector }
42
43
  ];
43
- /**
44
- * Option Item in Listbox
45
- */
46
- export class SacListboxOptionDirective extends SacListboxOptionCommon {
47
- // #region Constructors
48
- /**
49
- * Konstruktor
50
- * @param elementRef Referenz auf DOM Element
51
- * @param renderer Angular Rendering Engine
52
- * @param listbox Referenz auf Listbox Komponente
53
- */
54
- constructor(elementRef, renderer, listbox) {
55
- super(elementRef, renderer, listbox);
56
- }
57
- }
58
- SacListboxOptionDirective.decorators = [
59
- { type: Directive, args: [{ selector: '[sacOption],option' },] }
60
- ];
61
- SacListboxOptionDirective.ctorParameters = () => [
62
- { type: ElementRef },
63
- { type: Renderer2 },
64
- { type: SacListboxComponent, decorators: [{ type: Optional }, { type: Host }] }
65
- ];
66
- // #endregion Classes
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9saXN0L2xpc3Rib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLElBQUksRUFDSixRQUFRLEVBQ1IsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsc0JBQXNCLEdBQ3ZCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEUsa0JBQWtCO0FBRWxCOztHQUVHO0FBa0JILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFDdkQsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQjtRQUVsQixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OztZQTlCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHdtSEFBNkI7Z0JBQzdCLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxtQkFBbUI7cUJBQ2pDO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO3FCQUNuRDtpQkFDRjthQUNGOzs7WUF2QlEsc0JBQXNCLHVCQWlDMUIsSUFBSSxZQUFJLFFBQVE7WUEzQ25CLFFBQVE7O0FBb0RWOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHNCQUFzQjtJQUNuRSx1QkFBdUI7SUFFdkI7Ozs7O09BS0c7SUFDSCxZQUNFLFVBQXNCLEVBQ3RCLFFBQW1CLEVBQ0MsT0FBNEI7UUFFaEQsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7O1lBaEJGLFNBQVMsU0FBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTs7O1lBekQzQyxVQUFVO1lBSVYsU0FBUztZQWtFc0IsbUJBQW1CLHVCQUEvQyxRQUFRLFlBQUksSUFBSTs7QUFRckIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3QsXG4gIEluamVjdG9yLFxuICBPcHRpb25hbCxcbiAgUmVuZGVyZXIyLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgU2FjTGlzdGJveENvbW1vbixcbiAgU2FjTGlzdGJveE9wdGlvbkNvbW1vbixcbn0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuXG4vLyAjcmVnaW9uIENsYXNzZXNcblxuLyoqXG4gKiBMaXN0Ym94IEtvbXBvbmVudGVcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2FjLWxpc3Rib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdGJveC5odG1sJyxcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNMaXN0Ym94Q29tcG9uZW50LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjTGlzdGJveENvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjTGlzdGJveENvbXBvbmVudCBleHRlbmRzIFNhY0xpc3Rib3hDb21tb24ge1xuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG5cbi8qKlxuICogT3B0aW9uIEl0ZW0gaW4gTGlzdGJveFxuICovXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbc2FjT3B0aW9uXSxvcHRpb24nIH0pXG5leHBvcnQgY2xhc3MgU2FjTGlzdGJveE9wdGlvbkRpcmVjdGl2ZSBleHRlbmRzIFNhY0xpc3Rib3hPcHRpb25Db21tb24ge1xuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIC8qKlxuICAgKiBLb25zdHJ1a3RvclxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVueiBhdWYgRE9NIEVsZW1lbnRcbiAgICogQHBhcmFtIHJlbmRlcmVyIEFuZ3VsYXIgUmVuZGVyaW5nIEVuZ2luZVxuICAgKiBAcGFyYW0gbGlzdGJveCBSZWZlcmVueiBhdWYgTGlzdGJveCBLb21wb25lbnRlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBsaXN0Ym94OiBTYWNMaXN0Ym94Q29tcG9uZW50XG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIHJlbmRlcmVyLCBsaXN0Ym94KTtcbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG5cbi8vICNlbmRyZWdpb24gQ2xhc3Nlc1xuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9saXN0L2xpc3Rib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFckU7O0dBRUc7QUFtQkgsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGdCQUFnQjtJQUNyRCx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQWdDLFVBQWtDLEVBQUUsUUFBa0I7UUFDbEYsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7WUE1QkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxhQUFhO2dCQUN2Qiw2cUhBQTZCO2dCQUM3QiwrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDUCxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO29CQUM1RDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsbUJBQW1CO3FCQUNuQztvQkFDRDt3QkFDSSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztxQkFDckQ7aUJBQ0o7YUFDSjs7O1lBMUJRLHNCQUFzQix1QkFtQ2QsSUFBSSxZQUFJLFFBQVE7WUFqQ1AsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTElTVEJPWF9UT0tFTiB9IGZyb20gJy4vbGlzdC50b2tlbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNMaXN0Ym94Q29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuLyoqXG4gKiBMaXN0Ym94IEtvbXBvbmVudGVcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtbGlzdGJveCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xpc3Rib3guaHRtbCcsXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBMSVNUQk9YX1RPS0VOLCB1c2VFeGlzdGluZzogU2FjTGlzdGJveENvbXBvbmVudCB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFNhY0xpc3Rib3hDb21wb25lbnQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0xpc3Rib3hDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY0xpc3Rib3hDb21wb25lbnQgZXh0ZW5kcyBTYWNMaXN0Ym94Q29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { LISTBOX_TOKEN } from './list.token';
2
+ import { Directive, ElementRef, Inject, Optional, Renderer2 } from '@angular/core';
3
+ import { SacListboxOptionCommon } from '@simpleangularcontrols/sac-common';
4
+ export class SacListboxOptionDirective extends SacListboxOptionCommon {
5
+ // #region Constructors
6
+ /**
7
+ * Konstruktor
8
+ * @param elementRef Referenz auf HTML DOM Element
9
+ * @param renderer Angular Rendering Engine
10
+ * @param listboxComponent Referenz auf DropDown Komponente
11
+ */
12
+ constructor(elementRef, renderer, listboxComponent) {
13
+ super(elementRef, renderer, listboxComponent);
14
+ }
15
+ }
16
+ SacListboxOptionDirective.decorators = [
17
+ { type: Directive, args: [{ selector: 'option,[sacOption]' },] }
18
+ ];
19
+ SacListboxOptionDirective.ctorParameters = () => [
20
+ { type: ElementRef },
21
+ { type: Renderer2 },
22
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LISTBOX_TOKEN,] }] }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveG9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbGlzdC9saXN0Ym94b3B0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRzNFLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxzQkFBc0I7SUFDakUsdUJBQXVCO0lBRXZCOzs7OztPQUtHO0lBQ0gsWUFBWSxVQUFzQixFQUFFLFFBQW1CLEVBQXFDLGdCQUFxQjtRQUM3RyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7OztZQVpKLFNBQVMsU0FBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTs7O1lBSHpCLFVBQVU7WUFBb0IsU0FBUzs0Q0FhRyxRQUFRLFlBQUksTUFBTSxTQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMSVNUQk9YX1RPS0VOIH0gZnJvbSAnLi9saXN0LnRva2VuJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5qZWN0LCBPcHRpb25hbCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWNMaXN0Ym94T3B0aW9uQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnb3B0aW9uLFtzYWNPcHRpb25dJyB9KVxuZXhwb3J0IGNsYXNzIFNhY0xpc3Rib3hPcHRpb25EaXJlY3RpdmUgZXh0ZW5kcyBTYWNMaXN0Ym94T3B0aW9uQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogS29uc3RydWt0b3JcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVueiBhdWYgSFRNTCBET00gRWxlbWVudFxuICAgICAqIEBwYXJhbSByZW5kZXJlciBBbmd1bGFyIFJlbmRlcmluZyBFbmdpbmVcbiAgICAgKiBAcGFyYW0gbGlzdGJveENvbXBvbmVudCBSZWZlcmVueiBhdWYgRHJvcERvd24gS29tcG9uZW50ZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHJlbmRlcmVyOiBSZW5kZXJlcjIsIEBPcHRpb25hbCgpIEBJbmplY3QoTElTVEJPWF9UT0tFTikgbGlzdGJveENvbXBvbmVudDogYW55KSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYsIHJlbmRlcmVyLCBsaXN0Ym94Q29tcG9uZW50KTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview This file was generated by the Angular template compiler. Do not edit.
3
+ *
4
+ * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
+ * tslint:disable
6
+ */
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveG9wdGlvbi5kaXJlY3RpdmUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2xpc3QvbGlzdGJveG9wdGlvbi5kaXJlY3RpdmUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
@@ -1,5 +1,3 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
1
  import { SACBootstrap4LayoutModule } from '../layout/layout.module';
4
2
  import { SACBootstrap4TooltipModule } from '../tooltip/tooltip.module';
5
3
  import { SacMultilanguageInputComponent } from './multilanguageinput';
@@ -8,6 +6,9 @@ import { SacMultilanguagemenuComponent } from './multilanguagemenu';
8
6
  import { SacMultilanguagemenuAnchorDirective } from './multilanguagemenuanchor';
9
7
  import { SacMultilanguagemenuContainerDirective } from './multilanguagemenucontainer';
10
8
  import { SacMultilanguagemenuItemButtonComponent } from './multilanguagemenuitembutton';
9
+ import { CommonModule } from '@angular/common';
10
+ import { NgModule } from '@angular/core';
11
+ import { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';
11
12
  export class SACBootstrap4MultilanguageModule {
12
13
  }
13
14
  SACBootstrap4MultilanguageModule.decorators = [
@@ -18,14 +19,15 @@ SACBootstrap4MultilanguageModule.decorators = [
18
19
  SacMultilanguagemenuComponent,
19
20
  SacMultilanguagemenuAnchorDirective,
20
21
  SacMultilanguagemenuContainerDirective,
21
- SacMultilanguagemenuItemButtonComponent,
22
+ SacMultilanguagemenuItemButtonComponent
22
23
  ],
23
24
  imports: [
24
25
  CommonModule,
25
26
  SACBootstrap4LayoutModule,
26
27
  SACBootstrap4TooltipModule,
28
+ SACCommonUtliltiesModule
27
29
  ],
28
30
  exports: [SacMultilanguageInputComponent, SacMultilanguageInputAreaComponent],
29
31
  },] }
30
32
  ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQWtCeEYsTUFBTSxPQUFPLGdDQUFnQzs7O1lBaEI1QyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLDhCQUE4QjtvQkFDOUIsa0NBQWtDO29CQUNsQyw2QkFBNkI7b0JBQzdCLG1DQUFtQztvQkFDbkMsc0NBQXNDO29CQUN0Qyx1Q0FBdUM7aUJBQ3hDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHlCQUF5QjtvQkFDekIsMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxrQ0FBa0MsQ0FBQzthQUM5RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0FDQm9vdHN0cmFwNExheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmltcG9ydCB7IFNBQ0Jvb3RzdHJhcDRUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VpbnB1dCc7XG5pbXBvcnQgeyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aWxhbmd1YWdlaW5wdXRhcmVhJztcbmltcG9ydCB7IFNhY011bHRpbGFuZ3VhZ2VtZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aWxhbmd1YWdlbWVudSc7XG5pbXBvcnQgeyBTYWNNdWx0aWxhbmd1YWdlbWVudUFuY2hvckRpcmVjdGl2ZSB9IGZyb20gJy4vbXVsdGlsYW5ndWFnZW1lbnVhbmNob3InO1xuaW1wb3J0IHsgU2FjTXVsdGlsYW5ndWFnZW1lbnVDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VtZW51Y29udGFpbmVyJztcbmltcG9ydCB7IFNhY011bHRpbGFuZ3VhZ2VtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbXVsdGlsYW5ndWFnZW1lbnVpdGVtYnV0dG9uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50LFxuICAgIFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnQsXG4gICAgU2FjTXVsdGlsYW5ndWFnZW1lbnVDb21wb25lbnQsXG4gICAgU2FjTXVsdGlsYW5ndWFnZW1lbnVBbmNob3JEaXJlY3RpdmUsXG4gICAgU2FjTXVsdGlsYW5ndWFnZW1lbnVDb250YWluZXJEaXJlY3RpdmUsXG4gICAgU2FjTXVsdGlsYW5ndWFnZW1lbnVJdGVtQnV0dG9uQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNBQ0Jvb3RzdHJhcDRMYXlvdXRNb2R1bGUsXG4gICAgU0FDQm9vdHN0cmFwNFRvb2x0aXBNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnQsIFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXA0TXVsdGlsYW5ndWFnZU1vZHVsZSB7fVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQW1CN0UsTUFBTSxPQUFPLGdDQUFnQzs7O1lBakI1QyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLDhCQUE4QjtvQkFDOUIsa0NBQWtDO29CQUNsQyw2QkFBNkI7b0JBQzdCLG1DQUFtQztvQkFDbkMsc0NBQXNDO29CQUN0Qyx1Q0FBdUM7aUJBQ3hDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHlCQUF5QjtvQkFDekIsMEJBQTBCO29CQUMxQix3QkFBd0I7aUJBQ3pCO2dCQUNELE9BQU8sRUFBRSxDQUFDLDhCQUE4QixFQUFFLGtDQUFrQyxDQUFDO2FBQzlFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0FDQm9vdHN0cmFwNExheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmltcG9ydCB7IFNBQ0Jvb3RzdHJhcDRUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VpbnB1dCc7XG5pbXBvcnQgeyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aWxhbmd1YWdlaW5wdXRhcmVhJztcbmltcG9ydCB7IFNhY011bHRpbGFuZ3VhZ2VtZW51Q29tcG9uZW50IH0gZnJvbSAnLi9tdWx0aWxhbmd1YWdlbWVudSc7XG5pbXBvcnQgeyBTYWNNdWx0aWxhbmd1YWdlbWVudUFuY2hvckRpcmVjdGl2ZSB9IGZyb20gJy4vbXVsdGlsYW5ndWFnZW1lbnVhbmNob3InO1xuaW1wb3J0IHsgU2FjTXVsdGlsYW5ndWFnZW1lbnVDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL211bHRpbGFuZ3VhZ2VtZW51Y29udGFpbmVyJztcbmltcG9ydCB7IFNhY011bHRpbGFuZ3VhZ2VtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbXVsdGlsYW5ndWFnZW1lbnVpdGVtYnV0dG9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0FDQ29tbW9uVXRsaWx0aWVzTW9kdWxlIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50LFxuICAgIFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnQsXG4gICAgU2FjTXVsdGlsYW5ndWFnZW1lbnVDb21wb25lbnQsXG4gICAgU2FjTXVsdGlsYW5ndWFnZW1lbnVBbmNob3JEaXJlY3RpdmUsXG4gICAgU2FjTXVsdGlsYW5ndWFnZW1lbnVDb250YWluZXJEaXJlY3RpdmUsXG4gICAgU2FjTXVsdGlsYW5ndWFnZW1lbnVJdGVtQnV0dG9uQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU0FDQm9vdHN0cmFwNExheW91dE1vZHVsZSxcbiAgICBTQUNCb290c3RyYXA0VG9vbHRpcE1vZHVsZSxcbiAgICBTQUNDb21tb25VdGxpbHRpZXNNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1NhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudCwgU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNBQ0Jvb3RzdHJhcDRNdWx0aWxhbmd1YWdlTW9kdWxlIHt9XG4iXX0=
@@ -4,4 +4,4 @@
4
4
  * @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
5
5
  * tslint:disable
6
6
  */
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZS5tb2R1bGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZS5tb2R1bGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGkxIGZyb20gJy4vbXVsdGlsYW5ndWFnZS5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCAqIGFzIGkzIGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgKiBhcyBpNCBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi9tdWx0aWxhbmd1YWdlaW5wdXQnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi9tdWx0aWxhbmd1YWdlaW5wdXRhcmVhJztcbmltcG9ydCAqIGFzIGk3IGZyb20gJy4vbXVsdGlsYW5ndWFnZW1lbnUnO1xuaW1wb3J0ICogYXMgaTggZnJvbSAnLi9tdWx0aWxhbmd1YWdlbWVudWFuY2hvcic7XG5pbXBvcnQgKiBhcyBpOSBmcm9tICcuL211bHRpbGFuZ3VhZ2VtZW51Y29udGFpbmVyJztcbmltcG9ydCAqIGFzIGkxMCBmcm9tICcuL211bHRpbGFuZ3VhZ2VtZW51aXRlbWJ1dHRvbic7XG5pbXBvcnQgKiBhcyBpMTEgZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxMiBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTMgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTQgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxNSBmcm9tICcuLi9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTYgZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5leHBvcnQgY29uc3QgU0FDQm9vdHN0cmFwNE11bHRpbGFuZ3VhZ2VNb2R1bGVOZ0ZhY3Rvcnk6aTAuTmdNb2R1bGVGYWN0b3J5PGkxLlNBQ0Jvb3RzdHJhcDRNdWx0aWxhbmd1YWdlTW9kdWxlPiA9IChudWxsIGFzIGFueSk7XG52YXIgX2RlY2wwXzA6aTIuTmdDbGFzcyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOmkyLk5nQ29tcG9uZW50T3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI6aTIuTmdGb3JPZjxhbnksYW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOmkyLk5nSWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80OmkyLk5nVGVtcGxhdGVPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTppMi5OZ1N0eWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY6aTIuTmdTd2l0Y2ggPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzppMi5OZ1N3aXRjaENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODppMi5OZ1N3aXRjaERlZmF1bHQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTppMi5OZ1BsdXJhbCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDppMi5OZ1BsdXJhbENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE6aTMuU2FjRm9ybUxheW91dERpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjppNC5TYWNUb29sdGlwQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzOmk1LlNhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDppNi5TYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1Omk3LlNhY011bHRpbGFuZ3VhZ2VtZW51Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2Omk4LlNhY011bHRpbGFuZ3VhZ2VtZW51QW5jaG9yRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3Omk5LlNhY011bHRpbGFuZ3VhZ2VtZW51Q29udGFpbmVyRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE4OmkxMC5TYWNNdWx0aWxhbmd1YWdlbWVudUl0ZW1CdXR0b25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTk6aTIuQXN5bmNQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIwOmkyLlVwcGVyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjE6aTIuTG93ZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppMi5Kc29uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMzppMi5TbGljZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjQ6aTIuRGVjaW1hbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjU6aTIuUGVyY2VudFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjY6aTIuVGl0bGVDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNzppMi5DdXJyZW5jeVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjg6aTIuRGF0ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjk6aTIuSTE4blBsdXJhbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzA6aTIuSTE4blNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzE6aTIuS2V5VmFsdWVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMyOmkxMS5TYWNUb0NvbnRyb2xIZWlnaHRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMzOmkxMi5TYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzQ6aTEzLlNhY1RvTGFiZWxIZWlnaHRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM1OmkxNC5TYWNUb0xhYmVsV2lkdGhDc3NQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM2OmkyLkNvbW1vbk1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNzppMTUuU0FDQm9vdHN0cmFwNExheW91dE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zODppMTYuU0FDQm9vdHN0cmFwNFRvb2x0aXBNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTAuVGVtcGxhdGVSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MDppMC5FbGVtZW50UmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50XzFfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTMuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ21sLTEnO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzEzLkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8zO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV8zKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzEzLlNlbGVjdGVkSWNvblR5cGUgPT09IF9kZWNsMF8xMy5JY29uVHlwZS5JbWFnZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzEzLlNlbGVjdGVkSWNvbiwnJyk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV80KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzEzLlNlbGVjdGVkSWNvblR5cGUgPT09IF9kZWNsMF8xMy5JY29uVHlwZS5Dc3NTcHJpdGUpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2FsaWduLWJhc2VsaW5lIG1yLTEgbWwtMSc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTMuU2VsZWN0ZWRJY29uO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50XzFfMigpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2J0biBkcm9wZG93bi10b2dnbGUnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbKF9kZWNsMF8xMy5Jc0FueUVtcHR5KCk/ICdidG4td2FybmluZyc6ICdidG4tc2Vjb25kYXJ5JyldO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzEzLm5hbWUgKyAnX2Ryb3Bkb3duaXRlbScpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2RlY2wwXzEzLlNlbGVjdGVkSWNvblR5cGUgPT09IF9kZWNsMF8xMy5JY29uVHlwZS5JbWFnZSk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IChfZGVjbDBfMTMuU2VsZWN0ZWRJY29uVHlwZSA9PT0gX2RlY2wwXzEzLkljb25UeXBlLkNzc1Nwcml0ZSk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgcGRfNTphbnkgPSAoKDxhbnk+X2RlY2wwXzE1LnRvZ2dsZSgpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50XzFfNigpOnZvaWQge1xuICBpZiAoKF9hbnkuSWNvblR5cGUgPT09IF9kZWNsMF8xMy5JY29uVHlwZS5JbWFnZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2RlY2wwXzEzLklzRW1wdHkoX2FueSk/ICd0ZXh0LWRhbmdlciBib3JkZXItbGVmdCBib3JkZXItZGFuZ2VyJzogJycpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9hbnkuSWNvbiwnJyk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2FueS5UZXh0LCcnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgcGRfMzphbnkgPSAoKDxhbnk+X2RlY2wwXzEzLlNlbGVjdExhbmd1YWdlKF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV83KCk6dm9pZCB7XG4gIGlmICgoX2FueS5JY29uVHlwZSA9PT0gX2RlY2wwXzEzLkljb25UeXBlLkNzc1Nwcml0ZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2RlY2wwXzEzLklzRW1wdHkoX2FueSk/ICd0ZXh0LWRhbmdlciBib3JkZXItbGVmdCBib3JkZXItZGFuZ2VyJzogJycpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9hbnkuSWNvbiwnJyk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2FueS5UZXh0LCcnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgcGRfMzphbnkgPSAoKDxhbnk+X2RlY2wwXzEzLlNlbGVjdExhbmd1YWdlKF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV81KCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2FueS5JY29uVHlwZSA9PT0gX2RlY2wwXzEzLkljb25UeXBlLkltYWdlKTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9hbnkuSWNvblR5cGUgPT09IF9kZWNsMF8xMy5JY29uVHlwZS5Dc3NTcHJpdGUpO1xuICBjdXJyVmFsXzE7XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV84KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xMy5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTMuaW52YWxpZCkgJiYgKF9kZWNsMF8xMy5kaXJ0eSB8fCBfZGVjbDBfMTMudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE5LnRyYW5zZm9ybShfZGVjbDBfMTMuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50XzFfOSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTMuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV8xMCgpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzEzLmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTMuaGVscHRleHQpICYmIF9kZWNsMF8xMy5kaXNhYmxlbGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2Zvcm0tY29udHJvbC1wbGFpbnRleHQgYWxpZ24tc2VsZi10b3AgbWwtMiBtci0xIHctYXV0byc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTMuY29tcG9uZW50SGVpZ2h0KV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTMuaGVscHRleHQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ21sLTEnO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzEzLkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF81O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTMuZGlzYWJsZWxhYmVsO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleCc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IFsoKF9kZWNsMF8xMy5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTMubGFiZWxTaXplcyk6ICdzci1vbmx5JyksXG4gICAgICBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xMy5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xMy5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzEzLmlzcmVxdWlyZWQ7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xMy5zcGxpdGxhYmVsYW5kaGVscHRleHQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xMy5sYWJlbDtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBbKChfZGVjbDBfMTMuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zMy50cmFuc2Zvcm0oX2RlY2wwXzEzLmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKCgoX2RlY2wwXzEzLmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTMuaGVscHRleHQpICYmIF9kZWNsMF8xMy5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICgoKF9kZWNsMF8xMy5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzEzLmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTMuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoX2RlY2wwXzEzLmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzEzLkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IChfZGVjbDBfMTMuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTMuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gKChfZGVjbDBfMTMuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzEzLmludmFsaWQpICYmIChfZGVjbDBfMTMuZGlydHkgfHwgX2RlY2wwXzEzLnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTMuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xMy5uYW1lLCcnKTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzEzLm5hbWUsJycpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xMy5MYW5ndWFnZVZhbHVlO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xMy5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfMTMubWF4dGV4dGxlbmd0aDtcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSAoX2RlY2wwXzEzLmludmFsaWQgJiYgKF9kZWNsMF8xMy5kaXJ0eSB8fCBfZGVjbDBfMTMudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIyO1xuICBjb25zdCBjdXJyVmFsXzIzOmFueSA9IF9kZWNsMF8xMy5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBjdXJyVmFsXzI0OmFueSA9IF9kZWNsMF8zOTtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgY3VyclZhbF8yNTphbnkgPSAnYm90dG9tLXJpZ2h0JztcbiAgY3VyclZhbF8yNTtcbiAgY29uc3QgY3VyclZhbF8yNjphbnkgPSBfZGVjbDBfMTMuTGFuZ3VhZ2VzO1xuICBjdXJyVmFsXzI2O1xuICBjb25zdCBjdXJyVmFsXzI3OmFueSA9ICgoX2RlY2wwXzEzLmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xMy5pbnZhbGlkKSAmJiAoX2RlY2wwXzEzLmRpcnR5IHx8IF9kZWNsMF8xMy50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjc7XG4gIGNvbnN0IGN1cnJWYWxfMjg6YW55ID0gKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjg7XG4gIGNvbnN0IGN1cnJWYWxfMjk6YW55ID0gKCgoX2RlY2wwXzEzLmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTMuaGVscHRleHQpICYmIF9kZWNsMF8xMy5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzI5O1xuICBjb25zdCBwZF8zMDphbnkgPSAoKDxhbnk+X2RlY2wwXzEzLm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzE6YW55ID0gKCg8YW55Pl9kZWNsMF8xMy5TZXRMYW5ndWFnZVZhbHVlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzI6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5vbkNsaWNrKF9hbnkudGFyZ2V0KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRfSG9zdF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRfMl8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAnbWwtMSc7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTQuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzM7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRfMl8zKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzE0LlNlbGVjdGVkSWNvblR5cGUgPT09IF9kZWNsMF8xNC5JY29uVHlwZS5JbWFnZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0LlNlbGVjdGVkSWNvbiwnJyk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50XzJfNCgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8xNC5TZWxlY3RlZEljb25UeXBlID09PSBfZGVjbDBfMTQuSWNvblR5cGUuQ3NzU3ByaXRlKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdhbGlnbi1iYXNlbGluZSBtci0xIG1sLTEnO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzE0LlNlbGVjdGVkSWNvbjtcbiAgICBjdXJyVmFsXzE7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRfMl8yKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnYnRuIGRyb3Bkb3duLXRvZ2dsZSc7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IFsoX2RlY2wwXzE0LklzQW55RW1wdHkoKT8gJ2J0bi13YXJuaW5nJzogJ2J0bi1zZWNvbmRhcnknKV07XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMTQubmFtZSArICdfZHJvcGRvd25pdGVtJyk7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IChfZGVjbDBfMTQuU2VsZWN0ZWRJY29uVHlwZSA9PT0gX2RlY2wwXzE0Lkljb25UeXBlLkltYWdlKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gKF9kZWNsMF8xNC5TZWxlY3RlZEljb25UeXBlID09PSBfZGVjbDBfMTQuSWNvblR5cGUuQ3NzU3ByaXRlKTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBwZF81OmFueSA9ICgoPGFueT5fZGVjbDBfMTUudG9nZ2xlKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50XzJfNigpOnZvaWQge1xuICBpZiAoKF9hbnkuSWNvblR5cGUgPT09IF9kZWNsMF8xNC5JY29uVHlwZS5JbWFnZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2RlY2wwXzE0LklzRW1wdHkoX2FueSk/ICd0ZXh0LWRhbmdlciBib3JkZXItbGVmdCBib3JkZXItZGFuZ2VyJzogJycpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9hbnkuSWNvbiwnJyk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2FueS5UZXh0LCcnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgcGRfMzphbnkgPSAoKDxhbnk+X2RlY2wwXzE0LlNlbGVjdExhbmd1YWdlKF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50XzJfNygpOnZvaWQge1xuICBpZiAoKF9hbnkuSWNvblR5cGUgPT09IF9kZWNsMF8xNC5JY29uVHlwZS5Dc3NTcHJpdGUpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKF9kZWNsMF8xNC5Jc0VtcHR5KF9hbnkpPyAndGV4dC1kYW5nZXIgYm9yZGVyLWxlZnQgYm9yZGVyLWRhbmdlcic6ICcnKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfYW55Lkljb24sJycpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9hbnkuVGV4dCwnJyk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5TZWxlY3RMYW5ndWFnZShfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF8yXzUoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfYW55Lkljb25UeXBlID09PSBfZGVjbDBfMTQuSWNvblR5cGUuSW1hZ2UpO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2FueS5JY29uVHlwZSA9PT0gX2RlY2wwXzE0Lkljb25UeXBlLkNzc1Nwcml0ZSk7XG4gIGN1cnJWYWxfMTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRfMl84KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTQuaW52YWxpZCkgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE5LnRyYW5zZm9ybShfZGVjbDBfMTQuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF8yXzkoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF8yXzEwKCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE0LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnZm9ybS1jb250cm9sLXBsYWludGV4dCBhbGlnbi1zZWxmLXRvcCBtbC0yIG1yLTEgdy1hdXRvJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IFtfZGVjbDBfMzIudHJhbnNmb3JtKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAnbWwtMSc7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTQuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzU7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTQuZGlzYWJsZWxhYmVsO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleCc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IFsoKF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTQubGFiZWxTaXplcyk6ICdzci1vbmx5JyksXG4gICAgICBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNC5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE0LmlzcmVxdWlyZWQ7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNC5zcGxpdGxhYmVsYW5kaGVscHRleHQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xNC5sYWJlbDtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBbKChfZGVjbDBfMTQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zMy50cmFuc2Zvcm0oX2RlY2wwXzE0LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTQuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE0LkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IChfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTQuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gKChfZGVjbDBfMTQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE0LmludmFsaWQpICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNC5uYW1lLCcnKTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNC5MYW5ndWFnZVZhbHVlO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNC5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfMTQucm93cztcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSBfZGVjbDBfMTQubWF4dGV4dGxlbmd0aDtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSAoX2RlY2wwXzE0LmludmFsaWQgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBjdXJyVmFsXzI0OmFueSA9IF9kZWNsMF8xNC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzI0O1xuICBjb25zdCBjdXJyVmFsXzI1OmFueSA9IF9kZWNsMF8zOTtcbiAgY3VyclZhbF8yNTtcbiAgY29uc3QgY3VyclZhbF8yNjphbnkgPSAnYm90dG9tLXJpZ2h0JztcbiAgY3VyclZhbF8yNjtcbiAgY29uc3QgY3VyclZhbF8yNzphbnkgPSBfZGVjbDBfMTQuTGFuZ3VhZ2VzO1xuICBjdXJyVmFsXzI3O1xuICBjb25zdCBjdXJyVmFsXzI4OmFueSA9ICgoX2RlY2wwXzE0LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNC5pbnZhbGlkKSAmJiAoX2RlY2wwXzE0LmRpcnR5IHx8IF9kZWNsMF8xNC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjg7XG4gIGNvbnN0IGN1cnJWYWxfMjk6YW55ID0gKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjk7XG4gIGNvbnN0IGN1cnJWYWxfMzA6YW55ID0gKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzMwO1xuICBjb25zdCBwZF8zMTphbnkgPSAoKDxhbnk+X2RlY2wwXzE0Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzI6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5TZXRMYW5ndWFnZVZhbHVlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5vbkNsaWNrKF9hbnkudGFyZ2V0KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VtZW51Q29tcG9uZW50X0hvc3RfM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IHBkXzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5vbkNsaWNrKF9hbnkudGFyZ2V0KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VtZW51Q29tcG9uZW50XzNfMSgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTUudG9nZ2xlKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlbWVudUNvbXBvbmVudF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMTUuYnV0dG9udGVtcGxhdGUgfHwgX2RlY2wwXzM5KTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzE1Lmlzb3BlbjtcbiAgY3VyclZhbF8xO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZW1lbnVJdGVtQnV0dG9uQ29tcG9uZW50X0hvc3RfNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlbWVudUl0ZW1CdXR0b25Db21wb25lbnRfNF8yKCk6dm9pZCB7XG4gIGlmICgoIV9kZWNsMF8xOC5pc2ljb25kaXNhYmxlZCAmJiBfZGVjbDBfMTguaW1hZ2UpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE4LmltYWdlO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZW1lbnVJdGVtQnV0dG9uQ29tcG9uZW50XzRfMygpOnZvaWQge1xuICBpZiAoKCFfZGVjbDBfMTguaXNpY29uZGlzYWJsZWQgJiYgX2RlY2wwXzE4Lmljb24pKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMTguaWNvbnN0eWxlICsgJyAnKSArIF9kZWNsMF8xOC5pY29uKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VtZW51SXRlbUJ1dHRvbkNvbXBvbmVudF80XzEoKTp2b2lkIHtcbiAgaWYgKCFfZGVjbDBfMTguaXNpY29uZGlzYWJsZWQpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTguaW1hZ2U7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTguaWNvbjtcbiAgICBjdXJyVmFsXzE7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VtZW51SXRlbUJ1dHRvbkNvbXBvbmVudF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdkcm9wZG93bi1pdGVtJztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzE4LmNzc2NsYXNzO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTguaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKF9kZWNsMF8xOC5pc2Rpc2FibGVkPyAnZGlzYWJsZWQnOiBudWxsKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gIV9kZWNsMF8xOC5pc2ljb25kaXNhYmxlZDtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE4LnRleHQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgcGRfNjphbnkgPSAoKDxhbnk+X2RlY2wwXzE4LmNhbGxhY3Rpb24oX2FueSkpICE9PSBmYWxzZSk7XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZS5tb2R1bGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZS5tb2R1bGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGkxIGZyb20gJy4vbXVsdGlsYW5ndWFnZS5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCAqIGFzIGkzIGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgKiBhcyBpNCBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi9tdWx0aWxhbmd1YWdlaW5wdXQnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi9tdWx0aWxhbmd1YWdlaW5wdXRhcmVhJztcbmltcG9ydCAqIGFzIGk3IGZyb20gJy4vbXVsdGlsYW5ndWFnZW1lbnUnO1xuaW1wb3J0ICogYXMgaTggZnJvbSAnLi9tdWx0aWxhbmd1YWdlbWVudWFuY2hvcic7XG5pbXBvcnQgKiBhcyBpOSBmcm9tICcuL211bHRpbGFuZ3VhZ2VtZW51Y29udGFpbmVyJztcbmltcG9ydCAqIGFzIGkxMCBmcm9tICcuL211bHRpbGFuZ3VhZ2VtZW51aXRlbWJ1dHRvbic7XG5pbXBvcnQgKiBhcyBpMTEgZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxMiBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTMgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTQgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxNSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuaW1wb3J0ICogYXMgaTE2IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmltcG9ydCAqIGFzIGkxNyBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmV4cG9ydCBjb25zdCBTQUNCb290c3RyYXA0TXVsdGlsYW5ndWFnZU1vZHVsZU5nRmFjdG9yeTppMC5OZ01vZHVsZUZhY3Rvcnk8aTEuU0FDQm9vdHN0cmFwNE11bHRpbGFuZ3VhZ2VNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy5TYWNGb3JtTGF5b3V0RGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmk0LlNhY1Rvb2x0aXBDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTUuU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0Omk2LlNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTcuU2FjTXVsdGlsYW5ndWFnZW1lbnVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY6aTguU2FjTXVsdGlsYW5ndWFnZW1lbnVBbmNob3JEaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTc6aTkuU2FjTXVsdGlsYW5ndWFnZW1lbnVDb250YWluZXJEaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTg6aTEwLlNhY011bHRpbGFuZ3VhZ2VtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOTppMi5Bc3luY1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjA6aTIuVXBwZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMTppMi5Mb3dlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIyOmkyLkpzb25QaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIzOmkyLlNsaWNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppMi5EZWNpbWFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppMi5QZXJjZW50UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNjppMi5UaXRsZUNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI3OmkyLkN1cnJlbmN5UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yODppMi5EYXRlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOTppMi5JMThuUGx1cmFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMDppMi5JMThuU2VsZWN0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppMi5LZXlWYWx1ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzI6aTExLlNhY1RvQ29udHJvbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzM6aTEyLlNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNDppMTMuU2FjVG9MYWJlbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzU6aTE0LlNhY1RvTGFiZWxXaWR0aENzc1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzY6aTE1LlNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM3OmkyLkNvbW1vbk1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zODppMTYuU0FDQm9vdHN0cmFwNExheW91dE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOTppMTcuU0FDQm9vdHN0cmFwNFRvb2x0aXBNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDA6aTE1LlNBQ0NvbW1vblV0bGlsdGllc01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MTppMC5UZW1wbGF0ZVJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQyOmkwLkVsZW1lbnRSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50X0hvc3RfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xMy5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzEzLmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMy5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAnbWwtMSc7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTMuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzM7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudF8xXzMoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMTMuU2VsZWN0ZWRJY29uVHlwZSA9PT0gX2RlY2wwXzEzLkljb25UeXBlLkltYWdlKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTMuU2VsZWN0ZWRJY29uLCcnKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudF8xXzQoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMTMuU2VsZWN0ZWRJY29uVHlwZSA9PT0gX2RlY2wwXzEzLkljb25UeXBlLkNzc1Nwcml0ZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnYWxpZ24tYmFzZWxpbmUgbXItMSBtbC0xJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMy5TZWxlY3RlZEljb247XG4gICAgY3VyclZhbF8xO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV8yKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnYnRuIGRyb3Bkb3duLXRvZ2dsZSc7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IFsoX2RlY2wwXzEzLklzQW55RW1wdHkoKT8gJ2J0bi13YXJuaW5nJzogJ2J0bi1zZWNvbmRhcnknKV07XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMTMubmFtZSArICdfZHJvcGRvd25pdGVtJyk7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IChfZGVjbDBfMTMuU2VsZWN0ZWRJY29uVHlwZSA9PT0gX2RlY2wwXzEzLkljb25UeXBlLkltYWdlKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gKF9kZWNsMF8xMy5TZWxlY3RlZEljb25UeXBlID09PSBfZGVjbDBfMTMuSWNvblR5cGUuQ3NzU3ByaXRlKTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBwZF81OmFueSA9ICgoPGFueT5fZGVjbDBfMTUudG9nZ2xlKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV82KCk6dm9pZCB7XG4gIGlmICgoX2FueS5JY29uVHlwZSA9PT0gX2RlY2wwXzEzLkljb25UeXBlLkltYWdlKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMTMuSXNFbXB0eShfYW55KT8gJ3RleHQtZGFuZ2VyIGJvcmRlci1sZWZ0IGJvcmRlci1kYW5nZXInOiAnJyk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2FueS5JY29uLCcnKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfYW55LlRleHQsJycpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMTMuU2VsZWN0TGFuZ3VhZ2UoX2FueSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudF8xXzcoKTp2b2lkIHtcbiAgaWYgKChfYW55Lkljb25UeXBlID09PSBfZGVjbDBfMTMuSWNvblR5cGUuQ3NzU3ByaXRlKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMTMuSXNFbXB0eShfYW55KT8gJ3RleHQtZGFuZ2VyIGJvcmRlci1sZWZ0IGJvcmRlci1kYW5nZXInOiAnJyk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2FueS5JY29uLCcnKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfYW55LlRleHQsJycpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMTMuU2VsZWN0TGFuZ3VhZ2UoX2FueSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudF8xXzUoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfYW55Lkljb25UeXBlID09PSBfZGVjbDBfMTMuSWNvblR5cGUuSW1hZ2UpO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2FueS5JY29uVHlwZSA9PT0gX2RlY2wwXzEzLkljb25UeXBlLkNzc1Nwcml0ZSk7XG4gIGN1cnJWYWxfMTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudF8xXzgoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzEzLmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xMy5pbnZhbGlkKSAmJiAoX2RlY2wwXzEzLmRpcnR5IHx8IF9kZWNsMF8xMy50b3VjaGVkKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTkudHJhbnNmb3JtKF9kZWNsMF8xMy5HZXRFcnJvck1lc3NhZ2UoKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnRfMV85KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xMy5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzEzLmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMy5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudF8xXzEwKCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCkgJiYgX2RlY2wwXzEzLmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnZm9ybS1jb250cm9sLXBsYWludGV4dCBhbGlnbi1zZWxmLXRvcCBtbC0yIG1yLTEgdy1hdXRvJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IFtfZGVjbDBfMzIudHJhbnNmb3JtKF9kZWNsMF8xMy5jb21wb25lbnRIZWlnaHQpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xMy5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAnbWwtMSc7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTMuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzU7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMy5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzEzLm5hbWUsX2RlY2wwXzEzLmUyZWlkZW50aWZpZXIpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleCc7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IFsoKF9kZWNsMF8xMy5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTMubGFiZWxTaXplcyk6ICdzci1vbmx5JyksXG4gICAgICBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xMy5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xMy5uYW1lLCcnKTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzEzLmlzcmVxdWlyZWQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xMy5zcGxpdGxhYmVsYW5kaGVscHRleHQ7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8xMy5sYWJlbDtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gWygoX2RlY2wwXzEzLmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xMy5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAoKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCkgJiYgX2RlY2wwXzEzLmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gKCgoX2RlY2wwXzEzLmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTMuaGVscHRleHQpICYmIF9kZWNsMF8xMy5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IChfZGVjbDBfMTMuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTMuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gKF9kZWNsMF8xMy5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xMy5Db250cm9sSGVpZ2h0LkxhcmdlKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSAoKF9kZWNsMF8xMy5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTMuaW52YWxpZCkgJiYgKF9kZWNsMF8xMy5kaXJ0eSB8fCBfZGVjbDBfMTMudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9ICdmb3JtLWNvbnRyb2wnO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IFtfZGVjbDBfMzIudHJhbnNmb3JtKF9kZWNsMF8xMy5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzEzLm5hbWUsJycpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTMubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTk7XG4gIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gX2RlY2wwXzEzLkxhbmd1YWdlVmFsdWU7XG4gIGN1cnJWYWxfMjA7XG4gIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gX2RlY2wwXzEzLnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzIxO1xuICBjb25zdCBjdXJyVmFsXzIyOmFueSA9IF9kZWNsMF8xMy5tYXh0ZXh0bGVuZ3RoO1xuICBjdXJyVmFsXzIyO1xuICBjb25zdCBjdXJyVmFsXzIzOmFueSA9IChfZGVjbDBfMTMuaW52YWxpZCAmJiAoX2RlY2wwXzEzLmRpcnR5IHx8IF9kZWNsMF8xMy50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjM7XG4gIGNvbnN0IGN1cnJWYWxfMjQ6YW55ID0gX2RlY2wwXzEzLmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMjQ7XG4gIGNvbnN0IGN1cnJWYWxfMjU6YW55ID0gX2RlY2wwXzQxO1xuICBjdXJyVmFsXzI1O1xuICBjb25zdCBjdXJyVmFsXzI2OmFueSA9ICdib3R0b20tcmlnaHQnO1xuICBjdXJyVmFsXzI2O1xuICBjb25zdCBjdXJyVmFsXzI3OmFueSA9IF9kZWNsMF8xMy5MYW5ndWFnZXM7XG4gIGN1cnJWYWxfMjc7XG4gIGNvbnN0IGN1cnJWYWxfMjg6YW55ID0gKChfZGVjbDBfMTMuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzEzLmludmFsaWQpICYmIChfZGVjbDBfMTMuZGlydHkgfHwgX2RlY2wwXzEzLnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yODtcbiAgY29uc3QgY3VyclZhbF8yOTphbnkgPSAoKF9kZWNsMF8xMy5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzEzLmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8yOTtcbiAgY29uc3QgY3VyclZhbF8zMDphbnkgPSAoKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCkgJiYgX2RlY2wwXzEzLmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMzA7XG4gIGNvbnN0IHBkXzMxOmFueSA9ICgoPGFueT5fZGVjbDBfMTMub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMjphbnkgPSAoKDxhbnk+X2RlY2wwXzEzLlNldExhbmd1YWdlVmFsdWUoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMzphbnkgPSAoKDxhbnk+X2RlY2wwXzE1Lm9uQ2xpY2soX2FueS50YXJnZXQpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF9Ib3N0XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF8yXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9ICdtbC0xJztcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNC5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMztcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF8yXzMoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMTQuU2VsZWN0ZWRJY29uVHlwZSA9PT0gX2RlY2wwXzE0Lkljb25UeXBlLkltYWdlKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQuU2VsZWN0ZWRJY29uLCcnKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRfMl80KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzE0LlNlbGVjdGVkSWNvblR5cGUgPT09IF9kZWNsMF8xNC5JY29uVHlwZS5Dc3NTcHJpdGUpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2FsaWduLWJhc2VsaW5lIG1yLTEgbWwtMSc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTQuU2VsZWN0ZWRJY29uO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF8yXzIoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdidG4gZHJvcGRvd24tdG9nZ2xlJztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gWyhfZGVjbDBfMTQuSXNBbnlFbXB0eSgpPyAnYnRuLXdhcm5pbmcnOiAnYnRuLXNlY29uZGFyeScpXTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8xNC5uYW1lICsgJ19kcm9wZG93bml0ZW0nKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKF9kZWNsMF8xNC5TZWxlY3RlZEljb25UeXBlID09PSBfZGVjbDBfMTQuSWNvblR5cGUuSW1hZ2UpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoX2RlY2wwXzE0LlNlbGVjdGVkSWNvblR5cGUgPT09IF9kZWNsMF8xNC5JY29uVHlwZS5Dc3NTcHJpdGUpO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IHBkXzU6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS50b2dnbGUoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRfMl82KCk6dm9pZCB7XG4gIGlmICgoX2FueS5JY29uVHlwZSA9PT0gX2RlY2wwXzE0Lkljb25UeXBlLkltYWdlKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMTQuSXNFbXB0eShfYW55KT8gJ3RleHQtZGFuZ2VyIGJvcmRlci1sZWZ0IGJvcmRlci1kYW5nZXInOiAnJyk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2FueS5JY29uLCcnKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfYW55LlRleHQsJycpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMTQuU2VsZWN0TGFuZ3VhZ2UoX2FueSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnRfMl83KCk6dm9pZCB7XG4gIGlmICgoX2FueS5JY29uVHlwZSA9PT0gX2RlY2wwXzE0Lkljb25UeXBlLkNzc1Nwcml0ZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2RlY2wwXzE0LklzRW1wdHkoX2FueSk/ICd0ZXh0LWRhbmdlciBib3JkZXItbGVmdCBib3JkZXItZGFuZ2VyJzogJycpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9hbnkuSWNvbiwnJyk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2FueS5UZXh0LCcnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgcGRfMzphbnkgPSAoKDxhbnk+X2RlY2wwXzE0LlNlbGVjdExhbmd1YWdlKF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50XzJfNSgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKF9hbnkuSWNvblR5cGUgPT09IF9kZWNsMF8xNC5JY29uVHlwZS5JbWFnZSk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfYW55Lkljb25UeXBlID09PSBfZGVjbDBfMTQuSWNvblR5cGUuQ3NzU3ByaXRlKTtcbiAgY3VyclZhbF8xO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF8yXzgoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE0LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNC5pbnZhbGlkKSAmJiAoX2RlY2wwXzE0LmRpcnR5IHx8IF9kZWNsMF8xNC50b3VjaGVkKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTkudHJhbnNmb3JtKF9kZWNsMF8xNC5HZXRFcnJvck1lc3NhZ2UoKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50XzJfOSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTQuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50XzJfMTAoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTQuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdmb3JtLWNvbnRyb2wtcGxhaW50ZXh0IGFsaWduLXNlbGYtdG9wIG1sLTIgbXItMSB3LWF1dG8nO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gW19kZWNsMF8zMi50cmFuc2Zvcm0oX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9ICdtbC0xJztcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNC5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfNTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNC5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzE0Lm5hbWUsX2RlY2wwXzE0LmUyZWlkZW50aWZpZXIpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleCc7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IFsoKF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTQubGFiZWxTaXplcyk6ICdzci1vbmx5JyksXG4gICAgICBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNC5uYW1lLCcnKTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE0LmlzcmVxdWlyZWQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xNC5zcGxpdGxhYmVsYW5kaGVscHRleHQ7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8xNC5sYWJlbDtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gWygoX2RlY2wwXzE0LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNC5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE0LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IChfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTQuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNC5Db250cm9sSGVpZ2h0LkxhcmdlKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSAoKF9kZWNsMF8xNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTQuaW52YWxpZCkgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9ICdmb3JtLWNvbnRyb2wnO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IFtfZGVjbDBfMzIudHJhbnNmb3JtKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTk7XG4gIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gX2RlY2wwXzE0Lkxhbmd1YWdlVmFsdWU7XG4gIGN1cnJWYWxfMjA7XG4gIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gX2RlY2wwXzE0LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzIxO1xuICBjb25zdCBjdXJyVmFsXzIyOmFueSA9IF9kZWNsMF8xNC5yb3dzO1xuICBjdXJyVmFsXzIyO1xuICBjb25zdCBjdXJyVmFsXzIzOmFueSA9IF9kZWNsMF8xNC5tYXh0ZXh0bGVuZ3RoO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBjdXJyVmFsXzI0OmFueSA9IChfZGVjbDBfMTQuaW52YWxpZCAmJiAoX2RlY2wwXzE0LmRpcnR5IHx8IF9kZWNsMF8xNC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjQ7XG4gIGNvbnN0IGN1cnJWYWxfMjU6YW55ID0gX2RlY2wwXzE0LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMjU7XG4gIGNvbnN0IGN1cnJWYWxfMjY6YW55ID0gX2RlY2wwXzQxO1xuICBjdXJyVmFsXzI2O1xuICBjb25zdCBjdXJyVmFsXzI3OmFueSA9ICdib3R0b20tcmlnaHQnO1xuICBjdXJyVmFsXzI3O1xuICBjb25zdCBjdXJyVmFsXzI4OmFueSA9IF9kZWNsMF8xNC5MYW5ndWFnZXM7XG4gIGN1cnJWYWxfMjg7XG4gIGNvbnN0IGN1cnJWYWxfMjk6YW55ID0gKChfZGVjbDBfMTQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE0LmludmFsaWQpICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yOTtcbiAgY29uc3QgY3VyclZhbF8zMDphbnkgPSAoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8zMDtcbiAgY29uc3QgY3VyclZhbF8zMTphbnkgPSAoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE0LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMzE7XG4gIGNvbnN0IHBkXzMyOmFueSA9ICgoPGFueT5fZGVjbDBfMTQub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMzphbnkgPSAoKDxhbnk+X2RlY2wwXzE0LlNldExhbmd1YWdlVmFsdWUoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zNDphbnkgPSAoKDxhbnk+X2RlY2wwXzE1Lm9uQ2xpY2soX2FueS50YXJnZXQpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZW1lbnVDb21wb25lbnRfSG9zdF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgcGRfMDphbnkgPSAoKDxhbnk+X2RlY2wwXzE1Lm9uQ2xpY2soX2FueS50YXJnZXQpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZW1lbnVDb21wb25lbnRfM18xKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IHBkXzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS50b2dnbGUoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VtZW51Q29tcG9uZW50XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKF9kZWNsMF8xNS5idXR0b250ZW1wbGF0ZSB8fCBfZGVjbDBfNDEpO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTUuaXNvcGVuO1xuICBjdXJyVmFsXzE7XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlbWVudUl0ZW1CdXR0b25Db21wb25lbnRfSG9zdF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY011bHRpbGFuZ3VhZ2VtZW51SXRlbUJ1dHRvbkNvbXBvbmVudF80XzIoKTp2b2lkIHtcbiAgaWYgKCghX2RlY2wwXzE4LmlzaWNvbmRpc2FibGVkICYmIF9kZWNsMF8xOC5pbWFnZSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTguaW1hZ2U7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNNdWx0aWxhbmd1YWdlbWVudUl0ZW1CdXR0b25Db21wb25lbnRfNF8zKCk6dm9pZCB7XG4gIGlmICgoIV9kZWNsMF8xOC5pc2ljb25kaXNhYmxlZCAmJiBfZGVjbDBfMTguaWNvbikpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8xOC5pY29uc3R5bGUgKyAnICcpICsgX2RlY2wwXzE4Lmljb24pO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZW1lbnVJdGVtQnV0dG9uQ29tcG9uZW50XzRfMSgpOnZvaWQge1xuICBpZiAoIV9kZWNsMF8xOC5pc2ljb25kaXNhYmxlZCkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOC5pbWFnZTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xOC5pY29uO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTXVsdGlsYW5ndWFnZW1lbnVJdGVtQnV0dG9uQ29tcG9uZW50XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2Ryb3Bkb3duLWl0ZW0nO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTguY3NzY2xhc3M7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xOC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoX2RlY2wwXzE4LmlzZGlzYWJsZWQ/ICdkaXNhYmxlZCc6IG51bGwpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAhX2RlY2wwXzE4LmlzaWNvbmRpc2FibGVkO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTgudGV4dDtcbiAgY3VyclZhbF81O1xuICBjb25zdCBwZF82OmFueSA9ICgoPGFueT5fZGVjbDBfMTguY2FsbGFjdGlvbihfYW55KSkgIT09IGZhbHNlKTtcbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Component, forwardRef, Host, Injector, Optional } from '@angular/core';
2
2
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { IconType, SacMultilanguageInputCommon, } from '@simpleangularcontrols/sac-common';
3
+ import { IconType, SacMultilanguageInputCommon } from '@simpleangularcontrols/sac-common';
4
4
  import { SacFormLayoutDirective } from '../layout/formlayout.directive';
5
5
  /**
6
6
  * Componente für Mehrsprache Texte
@@ -25,7 +25,7 @@ export class SacMultilanguageInputComponent extends SacMultilanguageInputCommon
25
25
  SacMultilanguageInputComponent.decorators = [
26
26
  { type: Component, args: [{
27
27
  selector: 'sac-multilanguageinput',
28
- template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n <div\n placement=\"bottom-right\"\n class=\"input-group-append\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n #contextmenu>\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <span\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></span>\n </button>\n </ng-template>\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n",
28
+ template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\" />\n <div\n placement=\"bottom-right\"\n class=\"input-group-append\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n #contextmenu>\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <span\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></span>\n </button>\n </ng-template>\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n",
29
29
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
30
30
  providers: [
31
31
  {
@@ -45,4 +45,4 @@ SacMultilanguageInputComponent.ctorParameters = () => [
45
45
  { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
46
46
  { type: Injector }
47
47
  ];
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsUUFBUSxFQUNSLDJCQUEyQixHQUM1QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFOztHQUVHO0FBa0JILE1BQU0sT0FBTyw4QkFBK0IsU0FBUSwyQkFBMkI7SUFRN0Usd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQXBCOUIscUJBQXFCO1FBRXJCOztXQUVHO1FBQ0ksYUFBUSxHQUFHLFFBQVEsQ0FBQztJQWdCM0IsQ0FBQzs7O1lBdkNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyw4M0tBQXdDO2dCQUN4QywrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsOEJBQThCO3FCQUM1QztvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztxQkFDOUQ7aUJBQ0Y7YUFDRjs7O1lBckJRLHNCQUFzQix1QkF3QzFCLElBQUksWUFBSSxRQUFRO1lBOUNpQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgSWNvblR5cGUsXG4gIFNhY011bHRpbGFuZ3VhZ2VJbnB1dENvbW1vbixcbn0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIENvbXBvbmVudGUgZsO8ciBNZWhyc3ByYWNoZSBUZXh0ZVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYWMtbXVsdGlsYW5ndWFnZWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpbGFuZ3VhZ2VpbnB1dC5odG1sJyxcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY011bHRpbGFuZ3VhZ2VJbnB1dENvbXBvbmVudCBleHRlbmRzIFNhY011bHRpbGFuZ3VhZ2VJbnB1dENvbW1vbiB7XG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gIC8qKlxuICAgKiBFbnVtIGbDvHIgSWNvblR5cGUgaW4gSFRNTCBUZW1wbGF0ZVxuICAgKi9cbiAgcHVibGljIEljb25UeXBlID0gSWNvblR5cGU7XG5cbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXG5cbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL211bHRpbGFuZ3VhZ2UvbXVsdGlsYW5ndWFnZWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsUUFBUSxFQUNOLDJCQUEyQixFQUM5QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFOztHQUVHO0FBa0JILE1BQU0sT0FBTyw4QkFBK0IsU0FBUSwyQkFBMkI7SUFRM0Usd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBZ0MsVUFBa0MsRUFBRSxRQUFrQjtRQUNsRixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBakJoQyxxQkFBcUI7UUFFckI7O1dBRUc7UUFDSSxhQUFRLEdBQUcsUUFBUSxDQUFDO0lBYTNCLENBQUM7OztZQXBDSixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsbThLQUF3QztnQkFDeEMsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLDhCQUE4QjtxQkFDNUM7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQThCLENBQUM7cUJBQzlEO2lCQUNGO2FBQ0Y7OztZQXJCUSxzQkFBc0IsdUJBdUNkLElBQUksWUFBSSxRQUFRO1lBN0NLLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJY29uVHlwZSxcbiAgICBTYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21tb24sIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlXG59IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBDb21wb25lbnRlIGbDvHIgTWVocnNwcmFjaGUgVGV4dGVcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2FjLW11bHRpbGFuZ3VhZ2VpbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aWxhbmd1YWdlaW5wdXQuaHRtbCcsXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjTXVsdGlsYW5ndWFnZUlucHV0Q29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRDb21tb24ge1xuICAgIC8vICNyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLyoqXG4gICAgICogRW51bSBmw7xyIEljb25UeXBlIGluIEhUTUwgVGVtcGxhdGVcbiAgICAgKi9cbiAgICBwdWJsaWMgSWNvblR5cGUgPSBJY29uVHlwZTtcblxuICAgIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { Component, forwardRef, Host, Injector, Optional } from '@angular/core';
2
2
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { IconType, SacMultilanguageInputAreaCommon, } from '@simpleangularcontrols/sac-common';
3
+ import { IconType, SacMultilanguageInputAreaCommon } from '@simpleangularcontrols/sac-common';
4
4
  import { SacFormLayoutDirective } from '../layout/formlayout.directive';
5
5
  /**
6
6
  * Componente für Mehrsprache Texte als mehrzeiliger Text
@@ -25,7 +25,7 @@ export class SacMultilanguageInputAreaComponent extends SacMultilanguageInputAre
25
25
  SacMultilanguageInputAreaComponent.decorators = [
26
26
  { type: Component, args: [{
27
27
  selector: 'sac-multilanguageinputarea',
28
- template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n style=\"height: auto\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.rows]=\"rows\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"></textarea>\n\n <div\n placement=\"bottom-right\"\n class=\"input-group-append\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n #contextmenu>\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <i\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></i>\n </button>\n </ng-template>\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n",
28
+ template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n class=\"input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n <textarea\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control\"\n [value]=\"LanguageValue\"\n [attr.placeholder]=\"placeholder\"\n (blur)=\"onTouch()\"\n style=\"height: auto\"\n (input)=\"SetLanguageValue($event.target.value)\"\n [attr.rows]=\"rows\"\n [attr.maxlength]=\"maxtextlength\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [disabled]=\"isdisabled\"></textarea>\n\n <div\n placement=\"bottom-right\"\n class=\"input-group-append\"\n sac-multilanguagemenu\n [buttontemplate]=\"menuButton\"\n #contextmenu>\n <ng-template #menuButton>\n <button\n sacMultilanguageMenuAnchor\n [id]=\"name + '_dropdownitem'\"\n type=\"button\"\n class=\"btn dropdown-toggle\"\n (click)=\"contextmenu.toggle()\"\n [ngClass]=\"[IsAnyEmpty() ? 'btn-warning' : 'btn-secondary']\">\n <img\n src=\"{{ SelectedIcon }}\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.Image\" />\n <i\n [ngClass]=\"SelectedIcon\"\n class=\"align-baseline mr-1 ml-1\"\n *ngIf=\"SelectedIconType === IconType.CssSprite\"></i>\n </button>\n </ng-template>\n <ng-container *ngFor=\"let sprache of Languages\">\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.Image\"\n text=\"{{ sprache.Text }}\"\n image=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n <sac-multilanguagemenubutton\n *ngIf=\"sprache.IconType === IconType.CssSprite\"\n text=\"{{ sprache.Text }}\"\n icon=\"{{ sprache.Icon }}\"\n [cssclass]=\"IsEmpty(sprache) ? 'text-danger border-left border-danger' : ''\"\n (clicked)=\"SelectLanguage(sprache)\"></sac-multilanguagemenubutton>\n </ng-container>\n </div>\n\n <div\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\n class=\"invalid-feedback\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n<div class=\"row\">\n <div class=\"col text-right\"></div>\n</div>\n",
29
29
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
30
30
  providers: [
31
31
  {
@@ -45,4 +45,4 @@ SacMultilanguageInputAreaComponent.ctorParameters = () => [
45
45
  { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
46
46
  { type: Injector }
47
47
  ];
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9tdWx0aWxhbmd1YWdlL211bHRpbGFuZ3VhZ2VpbnB1dGFyZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxRQUFRLEVBQ1IsK0JBQStCLEdBQ2hDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEU7O0dBRUc7QUFrQkgsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLCtCQUErQjtJQVFyRix3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQjtRQUVsQixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBcEI5QixxQkFBcUI7UUFFckI7O1dBRUc7UUFDSSxhQUFRLEdBQUcsUUFBUSxDQUFDO0lBZ0IzQixDQUFDOzs7WUF2Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0QkFBNEI7Z0JBQ3RDLDQ5S0FBNEM7Z0JBQzVDLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxrQ0FBa0M7cUJBQ2hEO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO3FCQUNsRTtpQkFDRjthQUNGOzs7WUFyQlEsc0JBQXNCLHVCQXdDMUIsSUFBSSxZQUFJLFFBQVE7WUE5Q2lCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBJY29uVHlwZSxcbiAgU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbW1vbixcbn0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIENvbXBvbmVudGUgZsO8ciBNZWhyc3ByYWNoZSBUZXh0ZSBhbHMgbWVocnplaWxpZ2VyIFRleHRcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2FjLW11bHRpbGFuZ3VhZ2VpbnB1dGFyZWEnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlsYW5ndWFnZWlucHV0YXJlYS5odG1sJyxcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tcG9uZW50LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudCBleHRlbmRzIFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21tb24ge1xuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAvKipcbiAgICogRW51bSBmw7xyIEljb25UeXBlIGluIEhUTUwgVGVtcGxhdGVcbiAgICovXG4gIHB1YmxpYyBJY29uVHlwZSA9IEljb25UeXBlO1xuXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xuXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiJdfQ==
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZWlucHV0YXJlYS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9tdWx0aWxhbmd1YWdlL211bHRpbGFuZ3VhZ2VpbnB1dGFyZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxRQUFRLEVBQ04sK0JBQStCLEVBQ2xDLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEU7O0dBRUc7QUFrQkgsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLCtCQUErQjtJQVFuRix3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUFnQyxVQUFrQyxFQUFFLFFBQWtCO1FBQ2xGLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFqQmhDLHFCQUFxQjtRQUVyQjs7V0FFRztRQUNJLGFBQVEsR0FBRyxRQUFRLENBQUM7SUFhM0IsQ0FBQzs7O1lBcENKLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxpaUxBQTRDO2dCQUM1QywrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsa0NBQWtDO3FCQUNoRDtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztxQkFDbEU7aUJBQ0Y7YUFDRjs7O1lBckJRLHNCQUFzQix1QkF1Q2QsSUFBSSxZQUFJLFFBQVE7WUE3Q0ssUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIEljb25UeXBlLFxuICAgIFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21tb24sIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlXG59IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBDb21wb25lbnRlIGbDvHIgTWVocnNwcmFjaGUgVGV4dGUgYWxzIG1laHJ6ZWlsaWdlciBUZXh0XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhYy1tdWx0aWxhbmd1YWdlaW5wdXRhcmVhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpbGFuZ3VhZ2VpbnB1dGFyZWEuaHRtbCcsXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogU2FjTXVsdGlsYW5ndWFnZUlucHV0QXJlYUNvbXBvbmVudCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY011bHRpbGFuZ3VhZ2VJbnB1dEFyZWFDb21wb25lbnQgZXh0ZW5kcyBTYWNNdWx0aWxhbmd1YWdlSW5wdXRBcmVhQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8qKlxuICAgICAqIEVudW0gZsO8ciBJY29uVHlwZSBpbiBIVE1MIFRlbXBsYXRlXG4gICAgICovXG4gICAgcHVibGljIEljb25UeXBlID0gSWNvblR5cGU7XG5cbiAgICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcblxuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
@@ -1,5 +1,5 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
- import { Component, ElementRef, forwardRef, Inject, Injector, NgZone, Renderer2, } from '@angular/core';
2
+ import { Component, ElementRef, Inject, Injector, NgZone, Renderer2, forwardRef } from '@angular/core';
3
3
  import { SacContextmenuCommon } from '@simpleangularcontrols/sac-common';
4
4
  /**
5
5
  * Component für Contextmenü
@@ -37,4 +37,4 @@ SacMultilanguagemenuComponent.ctorParameters = () => [
37
37
  { type: Renderer2 },
38
38
  { type: Injector }
39
39
  ];
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZW1lbnUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RTs7R0FFRztBQVdILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxvQkFBb0I7SUFDckUsdUJBQXVCO0lBRXZCOzs7Ozs7O09BT0c7SUFDSCxZQUNvQixRQUFhLEVBQy9CLE1BQWMsRUFDZCxVQUFtQyxFQUNuQyxRQUFtQixFQUNuQixRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzFELENBQUM7OztZQTdCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsMmRBQXVDO2dCQUN2QyxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLG9CQUFvQjt3QkFDN0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztxQkFDN0Q7aUJBQ0Y7YUFDRjs7OzRDQWFJLE1BQU0sU0FBQyxRQUFRO1lBOUJsQixNQUFNO1lBSk4sVUFBVTtZQUtWLFNBQVM7WUFGVCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBOZ1pvbmUsXG4gIFJlbmRlcmVyMixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5cbi8qKlxuICogQ29tcG9uZW50IGbDvHIgQ29udGV4dG1lbsO8XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1tzYWMtbXVsdGlsYW5ndWFnZW1lbnVdJywgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yIC0tIGJvb3RzdHJhcCByZXF1aXJlcyBhcHBlbmQtaXRlbXMgZGlyZWN0IGJlaGluZCB0aGUgcHJldmlld3MgZWxlbWVudFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlsYW5ndWFnZW1lbnUuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNhY0NvbnRleHRtZW51Q29tbW9uLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjTXVsdGlsYW5ndWFnZW1lbnVDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY011bHRpbGFuZ3VhZ2VtZW51Q29tcG9uZW50IGV4dGVuZHMgU2FjQ29udGV4dG1lbnVDb21tb24ge1xuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0gZG9jdW1lbnQgUmVmZXJlbnogYXVmIEhUTUwgRG9jdW1lbnRcbiAgICogQHBhcmFtIG5nWm9uZSBBbmd1bGFyIFpvbmUgU2VydmljZVxuICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVueiBhdWYgSFRNTCBFbGVtZW50IGRlciBha3R1ZWxsZW4gS29tcG9uZW50ZVxuICAgKiBAcGFyYW0gcmVuZGVyZXIgUmVuZGVyIFNlcnZpY2Ugdm9uIEFuZ3VsYXJcbiAgICogQHBhcmFtIGluamVjdG9yIGluamVjdG9yIHRvIHJlc29sdmUgc2VydmljZXMgaW4gYmFzZSBjb21wb25lbnRcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBhbnksXG4gICAgbmdab25lOiBOZ1pvbmUsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoZG9jdW1lbnQsIG5nWm9uZSwgZWxlbWVudFJlZiwgcmVuZGVyZXIsIGluamVjdG9yKTtcbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsYW5ndWFnZW1lbnUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbXVsdGlsYW5ndWFnZS9tdWx0aWxhbmd1YWdlbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV6RTs7R0FFRztBQVdILE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxvQkFBb0I7SUFDbkUsdUJBQXVCO0lBRXZCOzs7Ozs7O09BT0c7SUFDSCxZQUNzQixRQUFhLEVBQy9CLE1BQWMsRUFDZCxVQUFtQyxFQUNuQyxRQUFtQixFQUNuQixRQUFrQjtRQUVsQixLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVELENBQUM7OztZQTdCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsMmRBQXVDO2dCQUN2QyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLG9CQUFvQjt3QkFDN0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztxQkFDL0Q7aUJBQ0o7YUFDSjs7OzRDQWFRLE1BQU0sU0FBQyxRQUFRO1lBNUIwQixNQUFNO1lBQXBDLFVBQVU7WUFBNEIsU0FBUztZQUEzQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdG9yLCBOZ1pvbmUsIFJlbmRlcmVyMiwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIENvbXBvbmVudCBmw7xyIENvbnRleHRtZW7DvFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1tzYWMtbXVsdGlsYW5ndWFnZW1lbnVdJywgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yIC0tIGJvb3RzdHJhcCByZXF1aXJlcyBhcHBlbmQtaXRlbXMgZGlyZWN0IGJlaGluZCB0aGUgcHJldmlld3MgZWxlbWVudFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tdWx0aWxhbmd1YWdlbWVudS5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogU2FjQ29udGV4dG1lbnVDb21tb24sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNNdWx0aWxhbmd1YWdlbWVudUNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjTXVsdGlsYW5ndWFnZW1lbnVDb21wb25lbnQgZXh0ZW5kcyBTYWNDb250ZXh0bWVudUNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGRvY3VtZW50IFJlZmVyZW56IGF1ZiBIVE1MIERvY3VtZW50XG4gICAgICogQHBhcmFtIG5nWm9uZSBBbmd1bGFyIFpvbmUgU2VydmljZVxuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIFJlZmVyZW56IGF1ZiBIVE1MIEVsZW1lbnQgZGVyIGFrdHVlbGxlbiBLb21wb25lbnRlXG4gICAgICogQHBhcmFtIHJlbmRlcmVyIFJlbmRlciBTZXJ2aWNlIHZvbiBBbmd1bGFyXG4gICAgICogQHBhcmFtIGluamVjdG9yIGluamVjdG9yIHRvIHJlc29sdmUgc2VydmljZXMgaW4gYmFzZSBjb21wb25lbnRcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSxcbiAgICAgICAgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZG9jdW1lbnQsIG5nWm9uZSwgZWxlbWVudFJlZiwgcmVuZGVyZXIsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
@@ -30,7 +30,7 @@ export class SacStaticFormContainerComponent extends SacStaticFormContainerCommo
30
30
  SacStaticFormContainerComponent.decorators = [
31
31
  { type: Component, args: [{
32
32
  selector: 'sac-staticformcontainer',
33
- template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.was-validated]=\"isinlineerrorenabled && isinvalid && errormessage\">\n <ng-content></ng-content>\n <label\n for=\"{{ name }}\"\n class=\"form-label-adaptive form-label-fixed\"\n [ngClass]=\"{ required: isrequired }\"\n *ngIf=\"isAdaptiveLabel && !disablelabel\">\n {{ label }}\n </label>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
33
+ template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\"\n [class.required]=\"isrequired\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div\n [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n [class.was-validated]=\"isinlineerrorenabled && isinvalid && errormessage\">\n <ng-content></ng-content>\n <label\n for=\"{{ name }}\"\n class=\"form-label-adaptive form-label-fixed\"\n [ngClass]=\"{ required: isrequired }\"\n *ngIf=\"isAdaptiveLabel && !disablelabel\">\n {{ label }}\n </label>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n <div\n class=\"invalid-feedback\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
34
34
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
35
35
  providers: [
36
36
  {
@@ -50,4 +50,4 @@ SacStaticFormContainerComponent.ctorParameters = () => [
50
50
  { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
51
51
  { type: Injector }
52
52
  ];
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakY7Ozs7Ozs7Ozs7Ozs7SUFhSTtBQWtCSixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsNEJBQTRCO0lBQzdFLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBZ0MsVUFBa0MsRUFBRSxRQUFrQjtRQUNsRixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OztZQTNCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsa2pGQUFtQztnQkFDbkMsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLCtCQUErQjtxQkFDL0M7b0JBQ0Q7d0JBQ0ksT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUM7cUJBQ2pFO2lCQUNKO2FBQ0o7OztZQW5DUSxzQkFBc0IsdUJBNENkLElBQUksWUFBSSxRQUFRO1lBM0NQLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIENvbXBvbmVudCBmw7xyIGVpbmJpbmR1bmcgZWluZXMgYmVsaWViaWdlbiBDb250cm9scyBpbiBkaWUgRm9ybSBTdHJ1a3R1clxuICpcbiAqIEBleGFtcGxlXG4gKiAgPG5nU3RhdGljRm9ybUNvbnRhaW5lciBuYW1lPSdteWZvcm1jb250YWluZXInIGxhYmVsPVwiTXkgQ3VzdG9tIEZvcm0gQ29udHJvbFwiIFtpc3JlcXVpcmVkXT0nZmFsc2UnPlxuICogICAgICA8aW5wdXQgdHlwZT1cInJhbmdlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAvPlxuICogIDwvbmdTdGF0aWNGb3JtQ29udGFpbmVyPlxuICpcbiAqIEBleGFtcGxlXG4gKiA8bmdTdGF0aWNGb3JtQ29udGFpbmVyIG5hbWU9J215Zm9ybWNpbnRhaW5lcicgbGFiZWw9XCJNeSBDdXN0b20gRm9ybSBDb250cm9sXCIgW2lzcmVxdWlyZWRdPSdmYWxzZScgdG9vbHRpcHRleHQ9XCJEaWVzIGlzdCBlaW4gVG9vbHRpcCBUZXh0XCI+XG4gKiAgICAgPGlucHV0IHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgLz5cbiAqIDwvbmdTdGF0aWNGb3JtQ29udGFpbmVyPlxuICpcbiAqKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2FjLXN0YXRpY2Zvcm1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtY29udGFpbmVyLmh0bWwnLFxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21tb24ge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNC9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUEyQixNQUFNLG1DQUFtQyxDQUFDO0FBRTFHOzs7Ozs7Ozs7Ozs7O0lBYUk7QUFrQkosTUFBTSxPQUFPLCtCQUFnQyxTQUFRLDRCQUE0QjtJQUM3RSx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQWdDLFVBQWtDLEVBQUUsUUFBa0I7UUFDbEYsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7WUEzQkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLHVuRkFBbUM7Z0JBQ25DLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSwrQkFBK0I7cUJBQy9DO29CQUNEO3dCQUNJLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLCtCQUErQixDQUFDO3FCQUNqRTtpQkFDSjthQUNKOzs7WUFuQ1Esc0JBQXNCLHVCQTRDZCxJQUFJLFlBQUksUUFBUTtZQTNDUCxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tbW9uLCBTYWNUZXN0aW5nQXR0cmlidXRlUGlwZSB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5cbi8qKlxuICogQ29tcG9uZW50IGbDvHIgZWluYmluZHVuZyBlaW5lcyBiZWxpZWJpZ2VuIENvbnRyb2xzIGluIGRpZSBGb3JtIFN0cnVrdHVyXG4gKlxuICogQGV4YW1wbGVcbiAqICA8bmdTdGF0aWNGb3JtQ29udGFpbmVyIG5hbWU9J215Zm9ybWNvbnRhaW5lcicgbGFiZWw9XCJNeSBDdXN0b20gRm9ybSBDb250cm9sXCIgW2lzcmVxdWlyZWRdPSdmYWxzZSc+XG4gKiAgICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIC8+XG4gKiAgPC9uZ1N0YXRpY0Zvcm1Db250YWluZXI+XG4gKlxuICogQGV4YW1wbGVcbiAqIDxuZ1N0YXRpY0Zvcm1Db250YWluZXIgbmFtZT0nbXlmb3JtY2ludGFpbmVyJyBsYWJlbD1cIk15IEN1c3RvbSBGb3JtIENvbnRyb2xcIiBbaXNyZXF1aXJlZF09J2ZhbHNlJyB0b29sdGlwdGV4dD1cIkRpZXMgaXN0IGVpbiBUb29sdGlwIFRleHRcIj5cbiAqICAgICA8aW5wdXQgdHlwZT1cInJhbmdlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAvPlxuICogPC9uZ1N0YXRpY0Zvcm1Db250YWluZXI+XG4gKlxuICoqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtc3RhdGljZm9ybWNvbnRhaW5lcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm1jb250YWluZXIuaHRtbCcsXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iXX0=
@@ -19,7 +19,7 @@ export class SacStaticLabelComponent extends SacStaticLabelCommon {
19
19
  SacStaticLabelComponent.decorators = [
20
20
  { type: Component, args: [{
21
21
  selector: 'sac-staticlabel',
22
- template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\"></span> </sac-tooltip\n ></label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div>\n <div\n [id]=\"name\"\n class=\"form-control-plaintext\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [innerHTML]=\"value\"></div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
22
+ template: "<div\n class=\"row form-group\"\n [class.no-gutters]=\"disablelabel\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}_label\"\n for=\"{{ name }}\"\n class=\"col-12 col-form-label d-flex\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only', componentHeight | toLabelHeight]\">\n <div\n class=\"text flex-grow-0\"\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\n {{ label }}\n </div>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\"\n ><span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\"></span> </sac-tooltip\n ></label>\n <div\n class=\"col-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\n <div>\n <div\n [id]=\"name\"\n class=\"form-control-plaintext\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [innerHTML]=\"value\"></div>\n <small\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"form-text text-muted\">\n {{ helptext }}\n </small>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-plaintext align-self-top ml-2 mr-1 w-auto\"\n [ngClass]=\"[componentHeight | toControlHeight]\">\n <sac-tooltip\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [ngClass]=\"HelptextTooltipIcon\"\n class=\"ml-1\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
23
23
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
24
24
  providers: [
25
25
  {
@@ -39,4 +39,4 @@ SacStaticLabelComponent.ctorParameters = () => [
39
39
  { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
40
40
  { type: Injector }
41
41
  ];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvc3RhdGljL3N0YXRpY2xhYmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4RTs7R0FFRztBQWtCSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsb0JBQW9CO0lBQy9ELHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFDc0IsVUFBa0MsRUFDdEQsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDOzs7WUE5QkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLHNnRUFBaUM7Z0JBQ2pDLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSx1QkFBdUI7cUJBQ3JDO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO3FCQUN2RDtpQkFDRjthQUNGOzs7WUFyQlEsc0JBQXNCLHVCQStCMUIsSUFBSSxZQUFJLFFBQVE7WUFsQ2lCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNTdGF0aWNMYWJlbENvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBLb21wb25lbnRlIGbDvHIgc3RhdGlzY2hlbiBUZXh0IGluIGVpbmVtIEZvcm11bGFyXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhYy1zdGF0aWNsYWJlbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGF0aWNsYWJlbC5odG1sJyxcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBTYWNTdGF0aWNMYWJlbENvbXBvbmVudCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50KSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNTdGF0aWNMYWJlbENvbXBvbmVudCBleHRlbmRzIFNhY1N0YXRpY0xhYmVsQ29tbW9uIHtcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDQvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvc3RhdGljL3N0YXRpY2xhYmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQTJCLE1BQU0sbUNBQW1DLENBQUM7QUFDbEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEU7O0dBRUc7QUFrQkgsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG9CQUFvQjtJQUM3RCx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQWdDLFVBQWtDLEVBQUUsUUFBa0I7UUFDbEYsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7WUEzQkosU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLDJrRUFBaUM7Z0JBQ2pDLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSx1QkFBdUI7cUJBQ3JDO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO3FCQUN2RDtpQkFDRjthQUNGOzs7WUFyQlEsc0JBQXNCLHVCQThCZCxJQUFJLFlBQUksUUFBUTtZQWpDSyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjU3RhdGljTGFiZWxDb21tb24sIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcbmltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIEtvbXBvbmVudGUgZsO8ciBzdGF0aXNjaGVuIFRleHQgaW4gZWluZW0gRm9ybXVsYXJcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2FjLXN0YXRpY2xhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXRpY2xhYmVsLmh0bWwnLFxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjU3RhdGljTGFiZWxDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50IGV4dGVuZHMgU2FjU3RhdGljTGFiZWxDb21tb24ge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
@@ -1,9 +1,10 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
1
  import { SACBootstrap4LayoutModule } from '../layout/layout.module';
4
2
  import { SACBootstrap4TooltipModule } from '../tooltip/tooltip.module';
5
3
  import { SacStaticFormContainerComponent } from './formcontainer';
6
4
  import { SacStaticLabelComponent } from './staticlabel';
5
+ import { CommonModule } from '@angular/common';
6
+ import { NgModule } from '@angular/core';
7
+ import { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';
7
8
  export class SACBootstrap4StaticLabelModule {
8
9
  }
9
10
  SACBootstrap4StaticLabelModule.decorators = [
@@ -12,9 +13,9 @@ SACBootstrap4StaticLabelModule.decorators = [
12
13
  imports: [
13
14
  CommonModule,
14
15
  SACBootstrap4LayoutModule,
15
- SACBootstrap4TooltipModule,
16
+ SACBootstrap4TooltipModule, SACCommonUtliltiesModule
16
17
  ],
17
18
  exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
18
19
  },] }
19
20
  ];
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3N0YXRpYy9zdGF0aWNsYWJlbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBV3hELE1BQU0sT0FBTyw4QkFBOEI7OztZQVQxQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsK0JBQStCLENBQUM7Z0JBQ3hFLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHlCQUF5QjtvQkFDekIsMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwrQkFBK0IsQ0FBQzthQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0FDQm9vdHN0cmFwNExheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmltcG9ydCB7IFNBQ0Jvb3RzdHJhcDRUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtY29udGFpbmVyJztcbmltcG9ydCB7IFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zdGF0aWNsYWJlbCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NhY1N0YXRpY0xhYmVsQ29tcG9uZW50LCBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTQUNCb290c3RyYXA0TGF5b3V0TW9kdWxlLFxuICAgIFNBQ0Jvb3RzdHJhcDRUb29sdGlwTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2FjU3RhdGljTGFiZWxDb21wb25lbnQsIFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXA0U3RhdGljTGFiZWxNb2R1bGUge31cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA0L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3N0YXRpYy9zdGF0aWNsYWJlbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBVzdFLE1BQU0sT0FBTyw4QkFBOEI7OztZQVQxQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsK0JBQStCLENBQUM7Z0JBQ3hFLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHlCQUF5QjtvQkFDekIsMEJBQTBCLEVBQUUsd0JBQXdCO2lCQUNyRDtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwrQkFBK0IsQ0FBQzthQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNBQ0Jvb3RzdHJhcDRMYXlvdXRNb2R1bGUgfSBmcm9tICcuLi9sYXlvdXQvbGF5b3V0Lm1vZHVsZSc7XG5pbXBvcnQgeyBTQUNCb290c3RyYXA0VG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuaW1wb3J0IHsgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybWNvbnRhaW5lcic7XG5pbXBvcnQgeyBTYWNTdGF0aWNMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vc3RhdGljbGFiZWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTQUNDb21tb25VdGxpbHRpZXNNb2R1bGUgfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtTYWNTdGF0aWNMYWJlbENvbXBvbmVudCwgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgU0FDQm9vdHN0cmFwNExheW91dE1vZHVsZSxcbiAgICBTQUNCb290c3RyYXA0VG9vbHRpcE1vZHVsZSwgU0FDQ29tbW9uVXRsaWx0aWVzTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtTYWNTdGF0aWNMYWJlbENvbXBvbmVudCwgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNBQ0Jvb3RzdHJhcDRTdGF0aWNMYWJlbE1vZHVsZSB7fVxuIl19