@simpleangularcontrols/sac-bootstrap5 10.0.0-rc.2 → 10.0.0-rc.21

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 (153) hide show
  1. package/bundles/simpleangularcontrols-sac-bootstrap5.umd.js +362 -205
  2. package/bundles/simpleangularcontrols-sac-bootstrap5.umd.js.map +1 -1
  3. package/bundles/simpleangularcontrols-sac-bootstrap5.umd.min.js +1 -1
  4. package/bundles/simpleangularcontrols-sac-bootstrap5.umd.min.js.map +1 -1
  5. package/controls/checkbox/checkbox.module.d.ts.map +1 -1
  6. package/controls/checkbox/checkbox.module.ngfactory.d.ts.map +1 -1
  7. package/controls/checkbox/radiobutton.d.ts +6 -2
  8. package/controls/checkbox/radiobutton.d.ts.map +1 -1
  9. package/controls/contextmenu/contextmenu.d.ts.map +1 -1
  10. package/controls/contextmenu/contextmenuanchor.d.ts.map +1 -1
  11. package/controls/contextmenu/contextmenucontainer.d.ts.map +1 -1
  12. package/controls/contextmenu/contextmenuitembutton.d.ts +3 -4
  13. package/controls/contextmenu/contextmenuitembutton.d.ts.map +1 -1
  14. package/controls/contextmenu/contextmenuitemsplitter.d.ts.map +1 -1
  15. package/controls/datetime/date.d.ts +4 -3
  16. package/controls/datetime/date.d.ts.map +1 -1
  17. package/controls/datetime/datetime.d.ts +4 -3
  18. package/controls/datetime/datetime.d.ts.map +1 -1
  19. package/controls/datetime/datetime.module.d.ts.map +1 -1
  20. package/controls/datetime/datetime.module.ngfactory.d.ts.map +1 -1
  21. package/controls/datetime/time.d.ts +4 -3
  22. package/controls/datetime/time.d.ts.map +1 -1
  23. package/controls/form/inheritform.directive.d.ts +14 -37
  24. package/controls/form/inheritform.directive.d.ts.map +1 -1
  25. package/controls/grid/gridbutton.d.ts +1 -10
  26. package/controls/grid/gridbutton.d.ts.map +1 -1
  27. package/controls/input/input.module.d.ts.map +1 -1
  28. package/controls/input/input.module.ngfactory.d.ts.map +1 -1
  29. package/controls/list/dropdown.d.ts +1 -1
  30. package/controls/list/dropdown.d.ts.map +1 -1
  31. package/controls/list/dropdown.module.d.ts.map +1 -1
  32. package/controls/list/dropdown.module.ngfactory.d.ts.map +1 -1
  33. package/controls/list/list.module.d.ts.map +1 -1
  34. package/controls/list/list.module.ngfactory.d.ts.map +1 -1
  35. package/controls/list/listbox.d.ts +1 -1
  36. package/controls/list/listbox.d.ts.map +1 -1
  37. package/controls/multilanguage/multilanguage.module.d.ts.map +1 -1
  38. package/controls/multilanguage/multilanguage.module.ngfactory.d.ts.map +1 -1
  39. package/controls/multilanguage/multilanguagemenuitembutton.d.ts +3 -4
  40. package/controls/multilanguage/multilanguagemenuitembutton.d.ts.map +1 -1
  41. package/controls/static/formcontainer.d.ts +1 -1
  42. package/controls/static/formcontainer.d.ts.map +1 -1
  43. package/controls/static/staticlabel.module.d.ts.map +1 -1
  44. package/controls/static/staticlabel.module.ngfactory.d.ts.map +1 -1
  45. package/controls/tinymce/tinymce.d.ts +2 -2
  46. package/controls/tinymce/tinymce.d.ts.map +1 -1
  47. package/controls/tinymce/tinymce.module.d.ts.map +1 -1
  48. package/controls/tinymce/tinymce.module.ngfactory.d.ts.map +1 -1
  49. package/controls/tooltip/tooltip.d.ts +35 -0
  50. package/controls/tooltip/tooltip.d.ts.map +1 -0
  51. package/controls/tooltip/tooltip.module.d.ts +3 -0
  52. package/controls/tooltip/tooltip.module.d.ts.map +1 -0
  53. package/controls/tooltip/tooltip.module.ngfactory.d.ts +4 -0
  54. package/controls/tooltip/tooltip.module.ngfactory.d.ts.map +1 -0
  55. package/controls/tooltip/tooltip.ngfactory.d.ts +2 -0
  56. package/controls/tooltip/tooltip.ngfactory.d.ts.map +1 -0
  57. package/controls/treeview/treeview.d.ts +15 -0
  58. package/controls/treeview/treeview.d.ts.map +1 -0
  59. package/controls/treeview/treeview.module.d.ts +3 -0
  60. package/controls/treeview/treeview.module.d.ts.map +1 -0
  61. package/controls/treeview/treeview.module.ngfactory.d.ts +4 -0
  62. package/controls/treeview/treeview.module.ngfactory.d.ts.map +1 -0
  63. package/controls/treeview/treeview.ngfactory.d.ts +2 -0
  64. package/controls/treeview/treeview.ngfactory.d.ts.map +1 -0
  65. package/controls/upload/dropzonemultiple.d.ts +1 -1
  66. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  67. package/controls/upload/dropzonesingle.d.ts +1 -1
  68. package/controls/upload/dropzonesingle.d.ts.map +1 -1
  69. package/controls/upload/upload.module.d.ts.map +1 -1
  70. package/controls/upload/upload.module.ngfactory.d.ts.map +1 -1
  71. package/controls/upload/uploadmultiple.d.ts +1 -1
  72. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  73. package/esm2015/controls/checkbox/checkbox.js +3 -3
  74. package/esm2015/controls/checkbox/checkbox.module.js +7 -2
  75. package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +1 -1
  76. package/esm2015/controls/checkbox/radiobutton.js +13 -7
  77. package/esm2015/controls/checkbox/radiobuttons.js +2 -2
  78. package/esm2015/controls/confirm/confirm.js +2 -2
  79. package/esm2015/controls/confirm/confirm.module.ngfactory.js +1 -1
  80. package/esm2015/controls/contextmenu/contextmenu.js +3 -9
  81. package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +1 -1
  82. package/esm2015/controls/contextmenu/contextmenuanchor.js +1 -1
  83. package/esm2015/controls/contextmenu/contextmenucontainer.js +1 -1
  84. package/esm2015/controls/contextmenu/contextmenuitembutton.js +15 -11
  85. package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +9 -3
  86. package/esm2015/controls/datetime/date.js +17 -12
  87. package/esm2015/controls/datetime/datetime.js +9 -7
  88. package/esm2015/controls/datetime/datetime.module.js +8 -2
  89. package/esm2015/controls/datetime/datetime.module.ngfactory.js +1 -1
  90. package/esm2015/controls/datetime/time.js +9 -7
  91. package/esm2015/controls/dialog/dialog.js +2 -2
  92. package/esm2015/controls/dialog/dialog.module.ngfactory.js +1 -1
  93. package/esm2015/controls/form/inheritform.directive.js +42 -56
  94. package/esm2015/controls/grid/grid.js +2 -2
  95. package/esm2015/controls/grid/grid.module.ngfactory.js +1 -1
  96. package/esm2015/controls/grid/gridbutton.js +3 -11
  97. package/esm2015/controls/grid/gridcolumn.js +2 -2
  98. package/esm2015/controls/input/input.js +2 -2
  99. package/esm2015/controls/input/input.module.js +7 -2
  100. package/esm2015/controls/input/input.module.ngfactory.js +1 -1
  101. package/esm2015/controls/input/inputarea.js +2 -2
  102. package/esm2015/controls/input/inputcurrency.js +2 -2
  103. package/esm2015/controls/input/inputdecimal.js +2 -2
  104. package/esm2015/controls/input/inputemail.js +2 -2
  105. package/esm2015/controls/input/inputinteger.js +2 -2
  106. package/esm2015/controls/input/inputpassword.js +2 -2
  107. package/esm2015/controls/input/inputsearch.js +2 -2
  108. package/esm2015/controls/list/dropdown.js +5 -5
  109. package/esm2015/controls/list/dropdown.module.js +7 -2
  110. package/esm2015/controls/list/dropdown.module.ngfactory.js +1 -1
  111. package/esm2015/controls/list/list.module.js +7 -2
  112. package/esm2015/controls/list/list.module.ngfactory.js +1 -1
  113. package/esm2015/controls/list/listbox.js +5 -5
  114. package/esm2015/controls/multilanguage/multilanguage.module.js +7 -2
  115. package/esm2015/controls/multilanguage/multilanguage.module.ngfactory.js +1 -1
  116. package/esm2015/controls/multilanguage/multilanguageinput.js +2 -2
  117. package/esm2015/controls/multilanguage/multilanguageinputarea.js +2 -2
  118. package/esm2015/controls/multilanguage/multilanguagemenuitembutton.js +15 -11
  119. package/esm2015/controls/static/formcontainer.js +3 -3
  120. package/esm2015/controls/static/staticlabel.js +2 -2
  121. package/esm2015/controls/static/staticlabel.module.js +7 -2
  122. package/esm2015/controls/static/staticlabel.module.ngfactory.js +1 -1
  123. package/esm2015/controls/tabs/tab.js +2 -2
  124. package/esm2015/controls/tabs/tabs.module.ngfactory.js +1 -1
  125. package/esm2015/controls/tinymce/tinymce.js +5 -5
  126. package/esm2015/controls/tinymce/tinymce.module.js +3 -1
  127. package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +1 -1
  128. package/esm2015/controls/tooltip/tooltip.js +52 -0
  129. package/esm2015/controls/tooltip/tooltip.module.js +13 -0
  130. package/esm2015/controls/tooltip/tooltip.module.ngfactory.js +7 -0
  131. package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -0
  132. package/esm2015/controls/treeview/treeview.js +41 -0
  133. package/esm2015/controls/treeview/treeview.module.js +16 -0
  134. package/esm2015/controls/treeview/treeview.module.ngfactory.js +7 -0
  135. package/esm2015/controls/treeview/treeview.ngfactory.js +7 -0
  136. package/esm2015/controls/upload/dropzonemultiple.js +4 -4
  137. package/esm2015/controls/upload/dropzonesingle.js +4 -4
  138. package/esm2015/controls/upload/upload.js +2 -2
  139. package/esm2015/controls/upload/upload.module.js +8 -2
  140. package/esm2015/controls/upload/upload.module.ngfactory.js +1 -1
  141. package/esm2015/controls/upload/uploadmultiple.js +4 -4
  142. package/esm2015/public-api.js +60 -3
  143. package/esm2015/simpleangularcontrols-sac-bootstrap5.js +6 -57
  144. package/fesm2015/simpleangularcontrols-sac-bootstrap5.js +290 -146
  145. package/fesm2015/simpleangularcontrols-sac-bootstrap5.js.map +1 -1
  146. package/package.json +3 -3
  147. package/public-api.d.ts +57 -2
  148. package/public-api.d.ts.map +1 -1
  149. package/simpleangularcontrols-sac-bootstrap5-10.0.0-rc.21.tgz +0 -0
  150. package/simpleangularcontrols-sac-bootstrap5.d.ts +5 -56
  151. package/simpleangularcontrols-sac-bootstrap5.d.ts.map +1 -1
  152. package/simpleangularcontrols-sac-bootstrap5.metadata.json +1 -1
  153. package/simpleangularcontrols-sac-bootstrap5-10.0.0-rc.2.tgz +0 -0
@@ -22,7 +22,7 @@ export class SacGridComponent extends SacGridCommon {
22
22
  SacGridComponent.decorators = [
23
23
  { type: Component, args: [{
24
24
  selector: 'sac-grid',
25
- template: "<div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover\" id={{name}}>\r\n <thead class=\"thead-light\">\r\n <tr>\r\n <ng-container *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\">\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let item of value; let i=index\">\r\n <tr>\r\n <ng-container *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\">\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n <tr *ngIf=\"value === undefined || value === null || value.length===0\">\r\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\r\n </tr>\r\n <tr>\r\n <td [attr.colspan]=\"ColumnCount\">\r\n <div class=\"container-fluid\">\r\n <sac-paging name=\"{{name}}Paging\" (paging)=\"pageChange($event)\" [pagerdata]=\"pagerdata\" [pagesizes]=\"pagesizes\" [pagingtext]=\"pagingtext\" [pagesizetext]=\"pagesizetext\" [pagesizedisabled]=\"pagesizedisabled\"></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>\r\n",
25
+ template: "<div class=\"table-responsive\">\r\n <table class=\"table table-striped table-hover\" id=\"{{name}}\">\r\n <thead class=\"thead-light\">\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: {}, type: 'header'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor=\"let item of value; let i=index\">\r\n <tr>\r\n <ng-container\r\n *ngTemplateOutlet=\"template; context { row: item, type: 'body'}\"\r\n >\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n <tr\r\n *ngIf=\"value === undefined || value === null || value.length===0\"\r\n data-e2e=\"emptyrow\"\r\n >\r\n <td [attr.colspan]=\"ColumnCount\">{{emptytext}}</td>\r\n </tr>\r\n </tbody>\r\n <tfoot *ngIf=\"pagerdata\">\r\n <tr *ngIf=\"pagerdata\">\r\n <td [attr.colspan]=\"ColumnCount\">\r\n <div class=\"container-fluid\">\r\n <sac-paging\r\n name=\"{{name}}Paging\"\r\n (paging)=\"pageChange($event)\"\r\n [pagerdata]=\"pagerdata\"\r\n [pagesizes]=\"pagesizes\"\r\n [pagingtext]=\"pagingtext\"\r\n [pagesizetext]=\"pagesizetext\"\r\n [pagesizedisabled]=\"pagesizedisabled\"\r\n ></sac-paging>\r\n </div>\r\n </td>\r\n </tr>\r\n </tfoot>\r\n </table>\r\n</div>\r\n",
26
26
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
27
27
  providers: [
28
28
  { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacGridComponent },
@@ -41,4 +41,4 @@ SacGridComponent.ctorParameters = () => [
41
41
  SacGridComponent.propDecorators = {
42
42
  template: [{ type: ContentChild, args: [TemplateRef, { static: false },] }]
43
43
  };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZ3JpZC9ncmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsUUFBUSxFQUNSLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWxFOztHQUVHO0FBY0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFjakQsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUFZLEtBQXdCLEVBQUUsUUFBa0I7UUFDdEQsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQWR6Qjs7V0FFRztRQUNJLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFZakMsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIscXFDQUEwQjtnQkFDMUIsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUU7b0JBQzFFO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO3FCQUNoRDtpQkFDRjthQUNGOzs7WUF6QkMsaUJBQWlCO1lBSWpCLFFBQVE7Ozt1QkE0QlAsWUFBWSxTQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbmplY3RvcixcclxuICBUZW1wbGF0ZVJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0dyaWRDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIEdyaWQgS29tcG9uZW50ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtZ3JpZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIG11bHRpOiB0cnVlLCB1c2VFeGlzdGluZzogU2FjR3JpZENvbXBvbmVudCB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjR3JpZENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNHcmlkQ29tcG9uZW50IGV4dGVuZHMgU2FjR3JpZENvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW56IGF1ZiBDb2x1bW4gVGVtcGxhdGVcclxuICAgKi9cclxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRpZSBFbGxpcHNpcyBGdW5rdGlvbiBhdWYgZGVyIENvbHVtblxyXG4gICAqL1xyXG4gIHB1YmxpYyBlbGxpcHNpczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWtvclxyXG4gICAqIEBwYXJhbSBjZFJlZiBDaGFuZ2UgRGV0ZWN0aW9uIFJlZmVyZW5jZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcihjZFJlZiwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iXX0=
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZ3JpZC9ncmlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsUUFBUSxFQUNSLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWxFOztHQUVHO0FBY0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFjakQsd0JBQXdCO0lBRXhCLHVCQUF1QjtJQUV2Qjs7O09BR0c7SUFDSCxZQUFZLEtBQXdCLEVBQUUsUUFBa0I7UUFDdEQsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQWR6Qjs7V0FFRztRQUNJLGFBQVEsR0FBWSxLQUFLLENBQUM7SUFZakMsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsbStDQUEwQjtnQkFDMUIsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUU7b0JBQzFFO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO3FCQUNoRDtpQkFDRjthQUNGOzs7WUF6QkMsaUJBQWlCO1lBSWpCLFFBQVE7Ozt1QkE0QlAsWUFBWSxTQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbmplY3RvcixcclxuICBUZW1wbGF0ZVJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0dyaWRDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5cclxuLyoqXHJcbiAqIEdyaWQgS29tcG9uZW50ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtZ3JpZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dyaWQuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIG11bHRpOiB0cnVlLCB1c2VFeGlzdGluZzogU2FjR3JpZENvbXBvbmVudCB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjR3JpZENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNHcmlkQ29tcG9uZW50IGV4dGVuZHMgU2FjR3JpZENvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIFJlZmVyZW56IGF1ZiBDb2x1bW4gVGVtcGxhdGVcclxuICAgKi9cclxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHp0IGRpZSBFbGxpcHNpcyBGdW5rdGlvbiBhdWYgZGVyIENvbHVtblxyXG4gICAqL1xyXG4gIHB1YmxpYyBlbGxpcHNpczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWtvclxyXG4gICAqIEBwYXJhbSBjZFJlZiBDaGFuZ2UgRGV0ZWN0aW9uIFJlZmVyZW5jZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICBzdXBlcihjZFJlZiwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5tb2R1bGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9ncmlkL2dyaWQubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2dyaWQubW9kdWxlJztcbmltcG9ydCAqIGFzIGkyIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBpMyBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBpNCBmcm9tICcuL2dyaWQnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi9ncmlkY29sdW1uJztcbmltcG9ydCAqIGFzIGk2IGZyb20gJy4vZ3JpZGNvbHVtbmFjdGlvbic7XG5pbXBvcnQgKiBhcyBpNyBmcm9tICcuL3BhZ2luZyc7XG5pbXBvcnQgKiBhcyBpOCBmcm9tICcuL2dyaWRidXR0b24nO1xuaW1wb3J0ICogYXMgaTkgZnJvbSAnLi9ncmlkaW1hZ2UnO1xuZXhwb3J0IGNvbnN0IFNBQ0Jvb3RzdHJhcDVHcmlkTW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5TQUNCb290c3RyYXA1R3JpZE1vZHVsZT4gPSAobnVsbCBhcyBhbnkpO1xudmFyIF9kZWNsMF8wOmkyLk5nQ2xhc3MgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTppMi5OZ0NvbXBvbmVudE91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOmkyLk5nRm9yT2Y8YW55LGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzppMi5OZ0lmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDppMi5OZ1RlbXBsYXRlT3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU6aTIuTmdTdHlsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82OmkyLk5nU3dpdGNoID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc6aTIuTmdTd2l0Y2hDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg6aTIuTmdTd2l0Y2hEZWZhdWx0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk6aTIuTmdQbHVyYWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA6aTIuTmdQbHVyYWxDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExOmkzLsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc195ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmkzLk5nU2VsZWN0T3B0aW9uID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzOmkzLsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc194ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0OmkzLkRlZmF1bHRWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1OmkzLk51bWJlclZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY6aTMuUmFuZ2VWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3OmkzLkNoZWNrYm94Q29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTg6aTMuU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTk6aTMuU2VsZWN0TXVsdGlwbGVDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMDppMy5SYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmkzLk5nQ29udHJvbFN0YXR1cyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppMy5OZ0NvbnRyb2xTdGF0dXNHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMzppMy5SZXF1aXJlZFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppMy5NaW5MZW5ndGhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjU6aTMuTWF4TGVuZ3RoVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI2OmkzLlBhdHRlcm5WYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTMuQ2hlY2tib3hSZXF1aXJlZFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yODppMy5FbWFpbFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOTppMy5OZ01vZGVsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkzLk5nTW9kZWxHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppMy5OZ0Zvcm0gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzI6aTQuU2FjR3JpZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppNS5TYWNHcmlkQ29sdW1uQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM0Omk2LlNhY0dyaWRDb2x1bW5BY3Rpb25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzU6aTcuU2FjUGFnaW5nQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM2Omk4LlNhY0dyaWRCdXR0b25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzc6aTkuU2FjR3JpZEltYWdlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM4OmkyLkFzeW5jUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOTppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQwOmkyLkxvd2VyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDE6aTIuSnNvblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDI6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQzOmkyLkRlY2ltYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ0OmkyLlBlcmNlbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ1OmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDY6aTIuQ3VycmVuY3lQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ3OmkyLkRhdGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ4OmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ5OmkyLkkxOG5TZWxlY3RQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUwOmkyLktleVZhbHVlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MTppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTI6aTMuRm9ybXNNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTM6aTAuVGVtcGxhdGVSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NDppMC5FbGVtZW50UmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb21wb25lbnRfSG9zdF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb21wb25lbnRfMV8xKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29tcG9uZW50XzFfMygpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbXBvbmVudF8xXzIoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IHtyb3c6X2FueSx0eXBlOidib2R5J307XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zMi50ZW1wbGF0ZTtcbiAgY3VyclZhbF8xO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbXBvbmVudF8xXzQoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zMi52YWx1ZSA9PT0gdW5kZWZpbmVkKSB8fCAoX2RlY2wwXzMyLnZhbHVlID09PSBudWxsKSkgfHwgKF9kZWNsMF8zMi52YWx1ZS5sZW5ndGggPT09IDApKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zMi5Db2x1bW5Db3VudDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zMi5lbXB0eXRleHQ7XG4gICAgY3VyclZhbF8xO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29tcG9uZW50XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zMi5uYW1lLCcnKTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0ge3Jvdzp7fSx0eXBlOidoZWFkZXInfTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzMyLnRlbXBsYXRlO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMzIudmFsdWU7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9ICgoKF9kZWNsMF8zMi52YWx1ZSA9PT0gdW5kZWZpbmVkKSB8fCAoX2RlY2wwXzMyLnZhbHVlID09PSBudWxsKSkgfHwgKF9kZWNsMF8zMi52YWx1ZS5sZW5ndGggPT09IDApKTtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzMyLkNvbHVtbkNvdW50O1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzMyLm5hbWUsJ1BhZ2luZycpO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBfZGVjbDBfMzIucGFnZXNpemVkaXNhYmxlZDtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gX2RlY2wwXzMyLnBhZ2VzaXplcztcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gX2RlY2wwXzMyLnBhZ2VzaXpldGV4dDtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IF9kZWNsMF8zMi5wYWdpbmd0ZXh0O1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9IF9kZWNsMF8zMi5wYWdlcmRhdGE7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IHBkXzEyOmFueSA9ICgoPGFueT5fZGVjbDBfMzIucGFnZUNoYW5nZShfYW55KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb2x1bW5Db21wb25lbnRfSG9zdF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb2x1bW5Db21wb25lbnRfMl8yKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzMzLklzSGVhZGVyKCkgJiYgKF9kZWNsMF8zMy5Jc1NvcnRlZENvbHVtbigpICYmIChfZGVjbDBfMzMuR2V0U29ydERpcmVjdGlvbigpID09PSAnYXNjJykpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zMy5JY29uU29ydFVwO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbHVtbkNvbXBvbmVudF8yXzMoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzMuSXNIZWFkZXIoKSAmJiAoX2RlY2wwXzMzLklzU29ydGVkQ29sdW1uKCkgJiYgKF9kZWNsMF8zMy5HZXRTb3J0RGlyZWN0aW9uKCkgPT09ICdkZXNjJykpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zMy5JY29uU29ydERvd247XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29sdW1uQ29tcG9uZW50XzJfMSgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzMzLklzSGVhZGVyKCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzMud2lkdGg7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMzMuaGVhZGVyO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8zMy5Jc1NvcnRlZENvbHVtbigpICYmIChfZGVjbDBfMzMuR2V0U29ydERpcmVjdGlvbigpID09PSAnYXNjJykpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKF9kZWNsMF8zMy5Jc1NvcnRlZENvbHVtbigpICYmIChfZGVjbDBfMzMuR2V0U29ydERpcmVjdGlvbigpID09PSAnZGVzYycpKTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgcGRfNDphbnkgPSAoKDxhbnk+X2RlY2wwXzMzLlNvcnRCeUNvbHVtbigpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29sdW1uQ29tcG9uZW50XzJfNCgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzMzLklzQm9keSgpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzMzLndpZHRoO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzMzLklzRWxsaXBzaXMoKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzMuSXNFbGxpcHNpcygpPyBfZGVjbDBfMzMudmFsdWU6IG51bGwpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzMzLnZhbHVlO1xuICAgIGN1cnJWYWxfMztcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbHVtbkNvbXBvbmVudF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zMy5Jc0hlYWRlcigpO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMzMuSXNCb2R5KCk7XG4gIGN1cnJWYWxfMTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb2x1bW5BY3Rpb25Db21wb25lbnRfSG9zdF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb2x1bW5BY3Rpb25Db21wb25lbnRfM18xKCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMzQuSXNIZWFkZXIoKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNC53aWR0aDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb2x1bW5BY3Rpb25Db21wb25lbnRfM18yKCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMzQuSXNCb2R5KCkpIHsgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTsgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbHVtbkFjdGlvbkNvbXBvbmVudF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNC5Jc0hlYWRlcigpO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMzQuSXNCb2R5KCk7XG4gIGN1cnJWYWxfMTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1BhZ2luZ0NvbXBvbmVudF9Ib3N0XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjUGFnaW5nQ29tcG9uZW50XzRfMSgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3BhZ2UtaXRlbSc7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IHsnYWN0aXZlJzooX2FueSA9PT0gX2RlY2wwXzM1LmFjdGl2ZVBhZ2VJbmRleCl9O1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2FueSArIDEpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8zNS5jaGFuZ2VQYWdlKF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjUGFnaW5nQ29tcG9uZW50XzRfMygpOnZvaWQge1xuICBpZiAoIV9kZWNsMF8zNS5wYWdlc2l6ZWRpc2FibGVkKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2FueTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9hbnk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfYW55O1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjUGFnaW5nQ29tcG9uZW50XzRfMigpOnZvaWQge1xuICBpZiAoIV9kZWNsMF8zNS5wYWdlc2l6ZWRpc2FibGVkKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNS5uYW1lLCdfc2l6ZScpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzM1LnBhZ2VTaXplO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NVbnRvdWNoZWQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1RvdWNoZWQ7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1ByaXN0aW5lO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NEaXJ0eTtcbiAgICBjdXJyVmFsXzU7XG4gICAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzVmFsaWQ7XG4gICAgY3VyclZhbF82O1xuICAgIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0ludmFsaWQ7XG4gICAgY3VyclZhbF83O1xuICAgIGNvbnN0IGN1cnJWYWxfODphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1BlbmRpbmc7XG4gICAgY3VyclZhbF84O1xuICAgIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBfZGVjbDBfMzUuZ2V0UGFnZVNpemVzO1xuICAgIGN1cnJWYWxfOTtcbiAgICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IF9kZWNsMF8zOC50cmFuc2Zvcm0oX2RlY2wwXzM1LlBhZ2VTaXplVGV4dCk7XG4gICAgY3VyclZhbF8xMDtcbiAgICBjb25zdCBwZF8xMTphbnkgPSAoKDxhbnk+X2RlY2wwXzE4Lm9uQ2hhbmdlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgICBjb25zdCBwZF8xMjphbnkgPSAoKDxhbnk+X2RlY2wwXzE4Lm9uVG91Y2hlZCgpKSAhPT0gZmFsc2UpO1xuICAgIGNvbnN0IHBkXzEzOmFueSA9ICgoPGFueT5fZGVjbDBfMzUuY2hhbmdlUGFnZVNpemUoX2FueSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1BhZ2luZ0NvbXBvbmVudF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzUubmFtZSwnJyk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzUubmFtZSwnX3BhZ2VzJyk7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9ICdwYWdlLWl0ZW0nO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSB7J2FzcE5ldERpc2FibGVkIGRpc2FibGVkJzooX2RlY2wwXzM1LmFjdGl2ZVBhZ2VJbmRleCA9PT0gX2RlY2wwXzM1LmZpcnN0UGFnZUluZGV4KX07XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8zNS5wYWdpbmF0b3JzO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAncGFnZS1pdGVtJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0geydhc3BOZXREaXNhYmxlZCBkaXNhYmxlZCc6KF9kZWNsMF8zNS5hY3RpdmVQYWdlSW5kZXggPT09IF9kZWNsMF8zNS5sYXN0UGFnZUluZGV4KX07XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8zOC50cmFuc2Zvcm0oX2RlY2wwXzM1LlBhZ2luZ1RleHQpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAhX2RlY2wwXzM1LnBhZ2VzaXplZGlzYWJsZWQ7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgcGRfOTphbnkgPSAoKDxhbnk+X2RlY2wwXzM1LmZpcnN0UGFnZSgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xMDphbnkgPSAoKDxhbnk+X2RlY2wwXzM1Lmxhc3RQYWdlKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQnV0dG9uQ29tcG9uZW50X0hvc3RfNV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQnV0dG9uQ29tcG9uZW50XzVfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM2LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMzYuaXNkaXNhYmxlZD8gJ2Rpc2FibGVkJzogbnVsbCk7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzYuZ2V0SWNvbkNsYXNzKCksJycpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8zNi5jYWxsYWN0aW9uKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkSW1hZ2VDb21wb25lbnRfSG9zdF82XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRJbWFnZUNvbXBvbmVudF82XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzcuZ2V0SWNvbkNsYXNzKCksJycpO1xuICBjdXJyVmFsXzA7XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5tb2R1bGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9ncmlkL2dyaWQubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2dyaWQubW9kdWxlJztcbmltcG9ydCAqIGFzIGkyIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBpMyBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBpNCBmcm9tICcuL2dyaWQnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi9ncmlkY29sdW1uJztcbmltcG9ydCAqIGFzIGk2IGZyb20gJy4vZ3JpZGNvbHVtbmFjdGlvbic7XG5pbXBvcnQgKiBhcyBpNyBmcm9tICcuL3BhZ2luZyc7XG5pbXBvcnQgKiBhcyBpOCBmcm9tICcuL2dyaWRidXR0b24nO1xuaW1wb3J0ICogYXMgaTkgZnJvbSAnLi9ncmlkaW1hZ2UnO1xuZXhwb3J0IGNvbnN0IFNBQ0Jvb3RzdHJhcDVHcmlkTW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5TQUNCb290c3RyYXA1R3JpZE1vZHVsZT4gPSAobnVsbCBhcyBhbnkpO1xudmFyIF9kZWNsMF8wOmkyLk5nQ2xhc3MgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTppMi5OZ0NvbXBvbmVudE91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOmkyLk5nRm9yT2Y8YW55LGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzppMi5OZ0lmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDppMi5OZ1RlbXBsYXRlT3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU6aTIuTmdTdHlsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82OmkyLk5nU3dpdGNoID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc6aTIuTmdTd2l0Y2hDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg6aTIuTmdTd2l0Y2hEZWZhdWx0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk6aTIuTmdQbHVyYWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA6aTIuTmdQbHVyYWxDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExOmkzLsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc195ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmkzLk5nU2VsZWN0T3B0aW9uID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzOmkzLsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc194ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0OmkzLkRlZmF1bHRWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1OmkzLk51bWJlclZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY6aTMuUmFuZ2VWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3OmkzLkNoZWNrYm94Q29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTg6aTMuU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTk6aTMuU2VsZWN0TXVsdGlwbGVDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMDppMy5SYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmkzLk5nQ29udHJvbFN0YXR1cyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppMy5OZ0NvbnRyb2xTdGF0dXNHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMzppMy5SZXF1aXJlZFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppMy5NaW5MZW5ndGhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjU6aTMuTWF4TGVuZ3RoVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI2OmkzLlBhdHRlcm5WYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTMuQ2hlY2tib3hSZXF1aXJlZFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yODppMy5FbWFpbFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOTppMy5OZ01vZGVsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkzLk5nTW9kZWxHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppMy5OZ0Zvcm0gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzI6aTQuU2FjR3JpZENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppNS5TYWNHcmlkQ29sdW1uQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM0Omk2LlNhY0dyaWRDb2x1bW5BY3Rpb25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzU6aTcuU2FjUGFnaW5nQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM2Omk4LlNhY0dyaWRCdXR0b25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzc6aTkuU2FjR3JpZEltYWdlQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM4OmkyLkFzeW5jUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOTppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQwOmkyLkxvd2VyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDE6aTIuSnNvblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDI6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQzOmkyLkRlY2ltYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ0OmkyLlBlcmNlbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ1OmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDY6aTIuQ3VycmVuY3lQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ3OmkyLkRhdGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ4OmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ5OmkyLkkxOG5TZWxlY3RQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUwOmkyLktleVZhbHVlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MTppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTI6aTMuRm9ybXNNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTM6aTAuVGVtcGxhdGVSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NDppMC5FbGVtZW50UmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb21wb25lbnRfSG9zdF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb21wb25lbnRfMV8xKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29tcG9uZW50XzFfMygpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbXBvbmVudF8xXzIoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IHtyb3c6X2FueSx0eXBlOidib2R5J307XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zMi50ZW1wbGF0ZTtcbiAgY3VyclZhbF8xO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbXBvbmVudF8xXzQoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zMi52YWx1ZSA9PT0gdW5kZWZpbmVkKSB8fCAoX2RlY2wwXzMyLnZhbHVlID09PSBudWxsKSkgfHwgKF9kZWNsMF8zMi52YWx1ZS5sZW5ndGggPT09IDApKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zMi5Db2x1bW5Db3VudDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zMi5lbXB0eXRleHQ7XG4gICAgY3VyclZhbF8xO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29tcG9uZW50XzFfNigpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zMi5wYWdlcmRhdGEgJiYgX2RlY2wwXzMyLnBhZ2VyZGF0YSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzIuQ29sdW1uQ291bnQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzMyLm5hbWUsJ1BhZ2luZycpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzMyLnBhZ2VzaXplZGlzYWJsZWQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMzIucGFnZXNpemVzO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzMyLnBhZ2VzaXpldGV4dDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8zMi5wYWdpbmd0ZXh0O1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzMyLnBhZ2VyZGF0YTtcbiAgICBjdXJyVmFsXzY7XG4gICAgY29uc3QgcGRfNzphbnkgPSAoKDxhbnk+X2RlY2wwXzMyLnBhZ2VDaGFuZ2UoX2FueSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb21wb25lbnRfMV81KCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMzIucGFnZXJkYXRhKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzMyLnBhZ2VyZGF0YTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzMyLm5hbWUsJycpO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB7cm93Ont9LHR5cGU6J2hlYWRlcid9O1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMzIudGVtcGxhdGU7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8zMi52YWx1ZTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gKCgoX2RlY2wwXzMyLnZhbHVlID09PSB1bmRlZmluZWQpIHx8IChfZGVjbDBfMzIudmFsdWUgPT09IG51bGwpKSB8fCAoX2RlY2wwXzMyLnZhbHVlLmxlbmd0aCA9PT0gMCkpO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMzIucGFnZXJkYXRhO1xuICBjdXJyVmFsXzU7XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29sdW1uQ29tcG9uZW50X0hvc3RfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29sdW1uQ29tcG9uZW50XzJfMigpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zMy5Jc0hlYWRlcigpICYmIChfZGVjbDBfMzMuSXNTb3J0ZWRDb2x1bW4oKSAmJiAoX2RlY2wwXzMzLkdldFNvcnREaXJlY3Rpb24oKSA9PT0gJ2FzYycpKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzMuSWNvblNvcnRVcDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRDb2x1bW5Db21wb25lbnRfMl8zKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzMzLklzSGVhZGVyKCkgJiYgKF9kZWNsMF8zMy5Jc1NvcnRlZENvbHVtbigpICYmIChfZGVjbDBfMzMuR2V0U29ydERpcmVjdGlvbigpID09PSAnZGVzYycpKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzMuSWNvblNvcnREb3duO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbHVtbkNvbXBvbmVudF8yXzEoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8zMy5Jc0hlYWRlcigpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzMzLndpZHRoO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzMzLmhlYWRlcjtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzMuSXNTb3J0ZWRDb2x1bW4oKSAmJiAoX2RlY2wwXzMzLkdldFNvcnREaXJlY3Rpb24oKSA9PT0gJ2FzYycpKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IChfZGVjbDBfMzMuSXNTb3J0ZWRDb2x1bW4oKSAmJiAoX2RlY2wwXzMzLkdldFNvcnREaXJlY3Rpb24oKSA9PT0gJ2Rlc2MnKSk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IHBkXzQ6YW55ID0gKCg8YW55Pl9kZWNsMF8zMy5Tb3J0QnlDb2x1bW4oKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbHVtbkNvbXBvbmVudF8yXzQoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8zMy5Jc0JvZHkoKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zMy53aWR0aDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zMy5Jc0VsbGlwc2lzKCk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzMzLklzRWxsaXBzaXMoKT8gX2RlY2wwXzMzLndpZHRoOiBudWxsKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IChfZGVjbDBfMzMuSXNFbGxpcHNpcygpPyAnaGlkZGVuJzogbnVsbCk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoX2RlY2wwXzMzLklzRWxsaXBzaXMoKT8gJ2VsbGlwc2lzJzogbnVsbCk7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAoX2RlY2wwXzMzLklzRWxsaXBzaXMoKT8gJ25vd3JhcCc6IG51bGwpO1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKF9kZWNsMF8zMy5Jc0VsbGlwc2lzKCk/IF9kZWNsMF8zMy52YWx1ZTogbnVsbCk7XG4gICAgY3VyclZhbF82O1xuICAgIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBfZGVjbDBfMzMudmFsdWU7XG4gICAgY3VyclZhbF83O1xuICAgIGNvbnN0IHBkXzg6YW55ID0gKCg8YW55Pl9kZWNsMF8zMy5Db2x1bW5DbGljaygpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29sdW1uQ29tcG9uZW50XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzMzLklzSGVhZGVyKCk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zMy5Jc0JvZHkoKTtcbiAgY3VyclZhbF8xO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbHVtbkFjdGlvbkNvbXBvbmVudF9Ib3N0XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbHVtbkFjdGlvbkNvbXBvbmVudF8zXzEoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8zNC5Jc0hlYWRlcigpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM0LndpZHRoO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZENvbHVtbkFjdGlvbkNvbXBvbmVudF8zXzIoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8zNC5Jc0JvZHkoKSkgeyB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpOyB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNHcmlkQ29sdW1uQWN0aW9uQ29tcG9uZW50XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM0LklzSGVhZGVyKCk7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zNC5Jc0JvZHkoKTtcbiAgY3VyclZhbF8xO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjUGFnaW5nQ29tcG9uZW50X0hvc3RfNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNQYWdpbmdDb21wb25lbnRfNF8xKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncGFnZS1pdGVtJztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0geydhY3RpdmUnOihfYW55ID09PSBfZGVjbDBfMzUuYWN0aXZlUGFnZUluZGV4KX07XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfYW55ICsgMSk7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgcGRfMzphbnkgPSAoKDxhbnk+X2RlY2wwXzM1LmNoYW5nZVBhZ2UoX2FueSkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNQYWdpbmdDb21wb25lbnRfNF8zKCk6dm9pZCB7XG4gIGlmICghX2RlY2wwXzM1LnBhZ2VzaXplZGlzYWJsZWQpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfYW55O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2FueTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9hbnk7XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNQYWdpbmdDb21wb25lbnRfNF8yKCk6dm9pZCB7XG4gIGlmICghX2RlY2wwXzM1LnBhZ2VzaXplZGlzYWJsZWQpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM1Lm5hbWUsJ19zaXplJyk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMzUucGFnZVNpemU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMjEubmdDbGFzc1VudG91Y2hlZDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzVG91Y2hlZDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzUHJpc3RpbmU7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMjEubmdDbGFzc0RpcnR5O1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzIxLm5nQ2xhc3NWYWxpZDtcbiAgICBjdXJyVmFsXzY7XG4gICAgY29uc3QgY3VyclZhbF83OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzSW52YWxpZDtcbiAgICBjdXJyVmFsXzc7XG4gICAgY29uc3QgY3VyclZhbF84OmFueSA9IF9kZWNsMF8yMS5uZ0NsYXNzUGVuZGluZztcbiAgICBjdXJyVmFsXzg7XG4gICAgY29uc3QgY3VyclZhbF85OmFueSA9IF9kZWNsMF8zNS5nZXRQYWdlU2l6ZXM7XG4gICAgY3VyclZhbF85O1xuICAgIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gX2RlY2wwXzM4LnRyYW5zZm9ybShfZGVjbDBfMzUuUGFnZVNpemVUZXh0KTtcbiAgICBjdXJyVmFsXzEwO1xuICAgIGNvbnN0IHBkXzExOmFueSA9ICgoPGFueT5fZGVjbDBfMTgub25DaGFuZ2UoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICAgIGNvbnN0IHBkXzEyOmFueSA9ICgoPGFueT5fZGVjbDBfMTgub25Ub3VjaGVkKCkpICE9PSBmYWxzZSk7XG4gICAgY29uc3QgcGRfMTM6YW55ID0gKCg8YW55Pl9kZWNsMF8zNS5jaGFuZ2VQYWdlU2l6ZShfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjUGFnaW5nQ29tcG9uZW50XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNS5uYW1lLCcnKTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNS5uYW1lLCdfcGFnZXMnKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ3BhZ2UtaXRlbSc7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IHsnYXNwTmV0RGlzYWJsZWQgZGlzYWJsZWQnOihfZGVjbDBfMzUuYWN0aXZlUGFnZUluZGV4ID09PSBfZGVjbDBfMzUuZmlyc3RQYWdlSW5kZXgpfTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzM1LnBhZ2luYXRvcnM7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICdwYWdlLWl0ZW0nO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSB7J2FzcE5ldERpc2FibGVkIGRpc2FibGVkJzooX2RlY2wwXzM1LmFjdGl2ZVBhZ2VJbmRleCA9PT0gX2RlY2wwXzM1Lmxhc3RQYWdlSW5kZXgpfTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzM4LnRyYW5zZm9ybShfZGVjbDBfMzUuUGFnaW5nVGV4dCk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICFfZGVjbDBfMzUucGFnZXNpemVkaXNhYmxlZDtcbiAgY3VyclZhbF84O1xuICBjb25zdCBwZF85OmFueSA9ICgoPGFueT5fZGVjbDBfMzUuZmlyc3RQYWdlKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzEwOmFueSA9ICgoPGFueT5fZGVjbDBfMzUubGFzdFBhZ2UoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRCdXR0b25Db21wb25lbnRfSG9zdF81XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRCdXR0b25Db21wb25lbnRfNV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzYuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF8zNi5pc2Rpc2FibGVkPyAnZGlzYWJsZWQnOiBudWxsKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNi5nZXRJY29uQ2xhc3MoKSwnJyk7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgcGRfMzphbnkgPSAoKDxhbnk+X2RlY2wwXzM2LmNhbGxhY3Rpb24oKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0dyaWRJbWFnZUNvbXBvbmVudF9Ib3N0XzZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjR3JpZEltYWdlQ29tcG9uZW50XzZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNy5nZXRJY29uQ2xhc3MoKSwnJyk7XG4gIGN1cnJWYWxfMDtcbn1cbiJdfQ==
@@ -2,19 +2,11 @@ import { Component } from '@angular/core';
2
2
  import { SacGridButtonCommon } from '@simpleangularcontrols/sac-common';
3
3
  /**
4
4
  * Grid Action Button
5
- *
6
- * @example Standard Action
7
- *
8
- * <ngGridButton icon="edit" (clicked)="action('edit')" [isdisabled]="true"></ngGridButton>
9
- *
10
- * @example Custom Action
11
- *
12
- * <ngGridButton iconstyle="sprite" icon="icon-sprite-base-main_info" (clicked)="action("info")"></ngGridButton>
13
- *
14
5
  */
15
6
  export class SacGridButtonComponent extends SacGridButtonCommon {
7
+ // #region Public Methods
16
8
  /**
17
- * Gibt das Icon für den Button zurück
9
+ * Returns the icon for the button
18
10
  */
19
11
  getIconClass() {
20
12
  let iconset = this.iconstyle;
@@ -44,4 +36,4 @@ SacGridButtonComponent.decorators = [
44
36
  template: "<a (click)=\"callaction()\" style=\"padding-right: 5px;\" [class.disabled]=\"isdisabled\" [attr.disabled]=\"isdisabled ? 'disabled' : null\"><span class=\"{{getIconClass()}}\"></span></a>\r\n"
45
37
  },] }
46
38
  ];
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZGJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZ3JpZC9ncmlkYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQTJDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV2Rjs7Ozs7Ozs7Ozs7R0FXRztBQUtILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxtQkFBbUI7SUFFN0Q7O09BRUc7SUFDSSxZQUFZO1FBQ2pCLElBQUksT0FBTyxHQUFXLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDckMsSUFBSSxPQUFPLEdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUVoQyxJQUFJLE9BQU8sS0FBSyxFQUFFLEVBQUU7WUFDbEIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNqQixLQUFLLE1BQU07b0JBQ1QsT0FBTyxHQUFHLFFBQVEsQ0FBQztvQkFDbkIsT0FBTyxHQUFHLDRCQUE0QixDQUFDO29CQUN2QyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxPQUFPLEdBQUcsUUFBUSxDQUFDO29CQUNuQixPQUFPLEdBQUcsOEJBQThCLENBQUM7b0JBQ3pDLE1BQU07YUFDVDtTQUNGO1FBRUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsT0FBTyxJQUFJLFdBQVcsQ0FBQztTQUN4QjtRQUVELE1BQU0sTUFBTSxHQUFHLE9BQU8sR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDO1FBRXZDLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OztZQWpDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsMk1BQWdDO2FBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FjR3JpZENvbW1vbiwgU2FjR3JpZEJ1dHRvbkNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcblxyXG4vKipcclxuICogR3JpZCBBY3Rpb24gQnV0dG9uXHJcbiAqXHJcbiAqIEBleGFtcGxlIFN0YW5kYXJkIEFjdGlvblxyXG4gKlxyXG4gKiA8bmdHcmlkQnV0dG9uIGljb249XCJlZGl0XCIgKGNsaWNrZWQpPVwiYWN0aW9uKCdlZGl0JylcIiBbaXNkaXNhYmxlZF09XCJ0cnVlXCI+PC9uZ0dyaWRCdXR0b24+XHJcbiAqXHJcbiAqIEBleGFtcGxlIEN1c3RvbSBBY3Rpb25cclxuICpcclxuICogPG5nR3JpZEJ1dHRvbiBpY29uc3R5bGU9XCJzcHJpdGVcIiBpY29uPVwiaWNvbi1zcHJpdGUtYmFzZS1tYWluX2luZm9cIiAoY2xpY2tlZCk9XCJhY3Rpb24oXCJpbmZvXCIpXCI+PC9uZ0dyaWRCdXR0b24+XHJcbiAqXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1ncmlkYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZGJ1dHRvbi5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FjR3JpZEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIFNhY0dyaWRCdXR0b25Db21tb24ge1xyXG5cclxuICAvKipcclxuICAgKiBHaWJ0IGRhcyBJY29uIGbDvHIgZGVuIEJ1dHRvbiB6dXLDvGNrXHJcbiAgICovXHJcbiAgcHVibGljIGdldEljb25DbGFzcygpOiBzdHJpbmcge1xyXG4gICAgbGV0IGljb25zZXQ6IHN0cmluZyA9IHRoaXMuaWNvbnN0eWxlO1xyXG4gICAgbGV0IGljb25jc3M6IHN0cmluZyA9IHRoaXMuaWNvbjtcclxuXHJcbiAgICBpZiAoaWNvbnNldCA9PT0gJycpIHtcclxuICAgICAgc3dpdGNoICh0aGlzLmljb24pIHtcclxuICAgICAgICBjYXNlICdlZGl0JzpcclxuICAgICAgICAgIGljb25zZXQgPSAnc3ByaXRlJztcclxuICAgICAgICAgIGljb25jc3MgPSAnaWNvbi1zcHJpdGUtYmFzZS1tYWluX2VkaXQnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZGVsZXRlJzpcclxuICAgICAgICAgIGljb25zZXQgPSAnc3ByaXRlJztcclxuICAgICAgICAgIGljb25jc3MgPSAnaWNvbi1zcHJpdGUtYmFzZS1tYWluX2RlbGV0ZSc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9pc2Rpc2FibGVkdmFsdWUpIHtcclxuICAgICAgaWNvbmNzcyArPSAnX2Rpc2FibGVkJztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZXN1bHQgPSBpY29uc2V0ICsgJyAnICsgaWNvbmNzcztcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0LnRyaW0oKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZGJ1dHRvbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZ3JpZC9ncmlkYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEU7O0dBRUc7QUFLSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzdELHlCQUF5QjtJQUV6Qjs7T0FFRztJQUNJLFlBQVk7UUFDakIsSUFBSSxPQUFPLEdBQVcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLE9BQU8sR0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRWhDLElBQUksT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUNsQixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2pCLEtBQUssTUFBTTtvQkFDVCxPQUFPLEdBQUcsUUFBUSxDQUFDO29CQUNuQixPQUFPLEdBQUcsNEJBQTRCLENBQUM7b0JBQ3ZDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLE9BQU8sR0FBRyxRQUFRLENBQUM7b0JBQ25CLE9BQU8sR0FBRyw4QkFBOEIsQ0FBQztvQkFDekMsTUFBTTthQUNUO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixPQUFPLElBQUksV0FBVyxDQUFDO1NBQ3hCO1FBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUM7UUFFdkMsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7O1lBbENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQiwyTUFBZ0M7YUFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2FjR3JpZEJ1dHRvbkNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcblxyXG4vKipcclxuICogR3JpZCBBY3Rpb24gQnV0dG9uXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1ncmlkYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZGJ1dHRvbi5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0dyaWRCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBTYWNHcmlkQnV0dG9uQ29tbW9uIHtcclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGljb24gZm9yIHRoZSBidXR0b25cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0SWNvbkNsYXNzKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgaWNvbnNldDogc3RyaW5nID0gdGhpcy5pY29uc3R5bGU7XHJcbiAgICBsZXQgaWNvbmNzczogc3RyaW5nID0gdGhpcy5pY29uO1xyXG5cclxuICAgIGlmIChpY29uc2V0ID09PSAnJykge1xyXG4gICAgICBzd2l0Y2ggKHRoaXMuaWNvbikge1xyXG4gICAgICAgIGNhc2UgJ2VkaXQnOlxyXG4gICAgICAgICAgaWNvbnNldCA9ICdzcHJpdGUnO1xyXG4gICAgICAgICAgaWNvbmNzcyA9ICdpY29uLXNwcml0ZS1iYXNlLW1haW5fZWRpdCc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdkZWxldGUnOlxyXG4gICAgICAgICAgaWNvbnNldCA9ICdzcHJpdGUnO1xyXG4gICAgICAgICAgaWNvbmNzcyA9ICdpY29uLXNwcml0ZS1iYXNlLW1haW5fZGVsZXRlJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2lzZGlzYWJsZWR2YWx1ZSkge1xyXG4gICAgICBpY29uY3NzICs9ICdfZGlzYWJsZWQnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHJlc3VsdCA9IGljb25zZXQgKyAnICcgKyBpY29uY3NzO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQudHJpbSgpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG59XHJcbiJdfQ==
@@ -17,7 +17,7 @@ export class SacGridColumnComponent extends SacGridColumnCommon {
17
17
  SacGridColumnComponent.decorators = [
18
18
  { type: Component, args: [{
19
19
  selector: 'sac-gridcolumn',
20
- template: "<th\r\n scope=\"col\"\r\n *ngIf=\"IsHeader()\"\r\n [style.width]=\"width\"\r\n (click)=\"SortByColumn()\"\r\n>\r\n <span>{{header}}</span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortUp\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() ==='asc'\"\r\n ></span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortDown\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() ==='desc'\"\r\n ></span>\r\n</th>\r\n<td\r\n scope=\"col\"\r\n *ngIf=\"IsBody()\"\r\n [style.width]=\"width\"\r\n [class.ellipsis]=\"IsEllipsis()\"\r\n>\r\n <span [attr.title]=\"IsEllipsis() ? value : null\"> {{value}} </span>\r\n</td>\r\n",
20
+ template: "<th\r\n scope=\"col\"\r\n *ngIf=\"IsHeader()\"\r\n [style.width]=\"width\"\r\n (click)=\"SortByColumn()\">\r\n <span>{{ header }}</span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortUp\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'asc'\"></span>\r\n <span\r\n class=\"ps-2\"\r\n [class]=\"IconSortDown\"\r\n *ngIf=\"IsSortedColumn() && GetSortDirection() === 'desc'\"></span>\r\n</th>\r\n<td\r\n scope=\"col\"\r\n *ngIf=\"IsBody()\"\r\n [style.width]=\"width\"\r\n [class.ellipsis]=\"IsEllipsis()\"\r\n (click)=\"ColumnClick()\"\r\n [style.max-width]=\"IsEllipsis() ? width : null\"\r\n [style.overflow]=\"IsEllipsis() ? 'hidden' : null\"\r\n [style.text-overflow]=\"IsEllipsis() ? 'ellipsis' : null\"\r\n [style.white-space]=\"IsEllipsis() ? 'nowrap' : null\">\r\n <span\r\n [attr.title]=\"IsEllipsis() ? value : null\"\r\n [innerHtml]=\"value\">\r\n </span>\r\n</td>\r\n",
21
21
  providers: [
22
22
  {
23
23
  provide: SacGridColumnBaseCommon,
@@ -31,4 +31,4 @@ SacGridColumnComponent.ctorParameters = () => [
31
31
  { type: Injector },
32
32
  { type: ElementRef }
33
33
  ];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZGNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZ3JpZC9ncmlkY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixtQkFBbUIsR0FDcEIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFMUM7O0dBRUc7QUFXSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzdEOzs7O09BSUc7SUFDSCxZQUFZLElBQXNCLEVBQUUsUUFBa0IsRUFBRSxFQUFjO1FBQ3BFLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OztZQWxCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsc3BCQUFnQztnQkFDaEMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSx1QkFBdUI7d0JBQ2hDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7cUJBQ3REO2lCQUNGO2FBQ0Y7OztZQWRRLGdCQUFnQjtZQUxPLFFBQVE7WUFBcEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBTYWNHcmlkQ29sdW1uQmFzZUNvbW1vbixcclxuICBTYWNHcmlkQ29sdW1uQ29tbW9uLFxyXG59IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IFNhY0dyaWRDb21wb25lbnQgfSBmcm9tICcuL2dyaWQnO1xyXG5cclxuLyoqXHJcbiAqIEdyaWQgQ29sdW1uIEtvbXBvbmVudGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWdyaWRjb2x1bW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkY29sdW1uLmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBTYWNHcmlkQ29sdW1uQmFzZUNvbW1vbixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjR3JpZENvbHVtbkNvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNHcmlkQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgU2FjR3JpZENvbHVtbkNvbW1vbiB7XHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gZ3JpZCBHcmlkIFJlZmVyZW56XHJcbiAgICogQHBhcmFtIGVsIEhUTUwgRE9NIEVsZW1lbnRcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihncmlkOiBTYWNHcmlkQ29tcG9uZW50LCBpbmplY3RvcjogSW5qZWN0b3IsIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcihncmlkLCBpbmplY3RvciwgZWwpO1xyXG4gIH1cclxufVxyXG4iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZGNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZ3JpZC9ncmlkY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixtQkFBbUIsR0FDcEIsTUFBTSxtQ0FBbUMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFMUM7O0dBRUc7QUFXSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBQzdEOzs7O09BSUc7SUFDSCxZQUFZLElBQXNCLEVBQUUsUUFBa0IsRUFBRSxFQUFjO1FBQ3BFLEtBQUssQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7OztZQWxCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsby9CQUFnQztnQkFDaEMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSx1QkFBdUI7d0JBQ2hDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7cUJBQ3REO2lCQUNGO2FBQ0Y7OztZQWRRLGdCQUFnQjtZQUxPLFFBQVE7WUFBcEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0b3IsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBTYWNHcmlkQ29sdW1uQmFzZUNvbW1vbixcclxuICBTYWNHcmlkQ29sdW1uQ29tbW9uLFxyXG59IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XHJcbmltcG9ydCB7IFNhY0dyaWRDb21wb25lbnQgfSBmcm9tICcuL2dyaWQnO1xyXG5cclxuLyoqXHJcbiAqIEdyaWQgQ29sdW1uIEtvbXBvbmVudGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWdyaWRjb2x1bW4nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ncmlkY29sdW1uLmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBTYWNHcmlkQ29sdW1uQmFzZUNvbW1vbixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjR3JpZENvbHVtbkNvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNHcmlkQ29sdW1uQ29tcG9uZW50IGV4dGVuZHMgU2FjR3JpZENvbHVtbkNvbW1vbiB7XHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gZ3JpZCBHcmlkIFJlZmVyZW56XHJcbiAgICogQHBhcmFtIGVsIEhUTUwgRE9NIEVsZW1lbnRcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihncmlkOiBTYWNHcmlkQ29tcG9uZW50LCBpbmplY3RvcjogSW5qZWN0b3IsIGVsOiBFbGVtZW50UmVmKSB7XHJcbiAgICBzdXBlcihncmlkLCBpbmplY3RvciwgZWwpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -19,7 +19,7 @@ export class SacInputComponent extends SacInputCommon {
19
19
  SacInputComponent.decorators = [
20
20
  { type: Component, args: [{
21
21
  selector: 'sac-input',
22
- template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.maxlength]=\"maxlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
22
+ template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\n",
23
23
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
24
24
  providers: [
25
25
  { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: SacInputComponent },
@@ -35,4 +35,4 @@ SacInputComponent.ctorParameters = () => [
35
35
  { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
36
36
  { type: Injector }
37
37
  ];
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2lucHV0L2lucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEU7O0dBRUc7QUFjSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsY0FBYztJQUNuRCx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBMUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsd3JDQUEyQjtnQkFDM0IsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUU7b0JBQzNFO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO3FCQUNqRDtpQkFDRjthQUNGOzs7WUFqQlEsc0JBQXNCLHVCQTJCMUIsSUFBSSxZQUFJLFFBQVE7WUE5QmlCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjSW5wdXRDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBJbnB1dCBLb21wb25lbnRlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1pbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0Lmh0bWwnLFxyXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCBtdWx0aTogdHJ1ZSwgdXNlRXhpc3Rpbmc6IFNhY0lucHV0Q29tcG9uZW50IH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dENvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0Q29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuanMiLCJzb3VyY2VSb290IjoiQzovUHJvamVrdGUvc2ltcGxlYW5ndWxhcmNvbnRyb2xzLW5nMTAvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXA1L3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2lucHV0L2lucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEU7O0dBRUc7QUFjSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsY0FBYztJQUNuRCx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBMUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIscTFGQUEyQjtnQkFDM0IsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUU7b0JBQzNFO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO3FCQUNqRDtpQkFDRjthQUNGOzs7WUFqQlEsc0JBQXNCLHVCQTJCMUIsSUFBSSxZQUFJLFFBQVE7WUE5QmlCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjSW5wdXRDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBJbnB1dCBLb21wb25lbnRlXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1pbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0Lmh0bWwnLFxyXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCBtdWx0aTogdHJ1ZSwgdXNlRXhpc3Rpbmc6IFNhY0lucHV0Q29tcG9uZW50IH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dENvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0Q29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { SACBootstrap5LayoutModule } from '../layout/layout.module';
4
+ import { SACBootstrap5TooltipModule } from '../tooltip/tooltip.module';
4
5
  import { SacInputComponent } from './input';
5
6
  import { SacInputAreaComponent } from './inputarea';
6
7
  import { SacInputCurrencyComponent } from './inputcurrency';
@@ -23,7 +24,11 @@ SACBootstrap5InputModule.decorators = [
23
24
  SacInputPasswordComponent,
24
25
  SacInputSearchComponent,
25
26
  ],
26
- imports: [CommonModule, SACBootstrap5LayoutModule],
27
+ imports: [
28
+ CommonModule,
29
+ SACBootstrap5LayoutModule,
30
+ SACBootstrap5TooltipModule,
31
+ ],
27
32
  exports: [
28
33
  SacInputComponent,
29
34
  SacInputAreaComponent,
@@ -36,4 +41,4 @@ SACBootstrap5InputModule.decorators = [
36
41
  ],
37
42
  },] }
38
43
  ];
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9pbnB1dC9pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBeUJ4RCxNQUFNLE9BQU8sd0JBQXdCOzs7WUF2QnBDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osaUJBQWlCO29CQUNqQixxQkFBcUI7b0JBQ3JCLHlCQUF5QjtvQkFDekIsd0JBQXdCO29CQUN4QixzQkFBc0I7b0JBQ3RCLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQztnQkFDbEQsT0FBTyxFQUFFO29CQUNQLGlCQUFpQjtvQkFDakIscUJBQXFCO29CQUNyQix5QkFBeUI7b0JBQ3pCLHdCQUF3QjtvQkFDeEIsc0JBQXNCO29CQUN0Qix3QkFBd0I7b0JBQ3hCLHlCQUF5QjtvQkFDekIsdUJBQXVCO2lCQUN4QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU0FDQm9vdHN0cmFwNUxheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcclxuaW1wb3J0IHsgU2FjSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2lucHV0JztcclxuaW1wb3J0IHsgU2FjSW5wdXRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dGFyZWEnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dGN1cnJlbmN5JztcclxuaW1wb3J0IHsgU2FjSW5wdXREZWNpbWFsQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dGRlY2ltYWwnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dEVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dGVtYWlsJztcclxuaW1wb3J0IHsgU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dGludGVnZXInO1xyXG5pbXBvcnQgeyBTYWNJbnB1dFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dHBhc3N3b3JkJztcclxuaW1wb3J0IHsgU2FjSW5wdXRTZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2lucHV0c2VhcmNoJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTYWNJbnB1dENvbXBvbmVudCxcclxuICAgIFNhY0lucHV0QXJlYUNvbXBvbmVudCxcclxuICAgIFNhY0lucHV0Q3VycmVuY3lDb21wb25lbnQsXHJcbiAgICBTYWNJbnB1dERlY2ltYWxDb21wb25lbnQsXHJcbiAgICBTYWNJbnB1dEVtYWlsQ29tcG9uZW50LFxyXG4gICAgU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50LFxyXG4gICAgU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudCxcclxuICAgIFNhY0lucHV0U2VhcmNoQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU0FDQm9vdHN0cmFwNUxheW91dE1vZHVsZV0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2FjSW5wdXRDb21wb25lbnQsXHJcbiAgICBTYWNJbnB1dEFyZWFDb21wb25lbnQsXHJcbiAgICBTYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50LFxyXG4gICAgU2FjSW5wdXREZWNpbWFsQ29tcG9uZW50LFxyXG4gICAgU2FjSW5wdXRFbWFpbENvbXBvbmVudCxcclxuICAgIFNhY0lucHV0SW50ZWdlckNvbXBvbmVudCxcclxuICAgIFNhY0lucHV0UGFzc3dvcmRDb21wb25lbnQsXHJcbiAgICBTYWNJbnB1dFNlYXJjaENvbXBvbmVudCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU0FDQm9vdHN0cmFwNUlucHV0TW9kdWxlIHt9XHJcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9pbnB1dC9pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBNkJ4RCxNQUFNLE9BQU8sd0JBQXdCOzs7WUEzQnBDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osaUJBQWlCO29CQUNqQixxQkFBcUI7b0JBQ3JCLHlCQUF5QjtvQkFDekIsd0JBQXdCO29CQUN4QixzQkFBc0I7b0JBQ3RCLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix1QkFBdUI7aUJBQ3hCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLHlCQUF5QjtvQkFDekIsMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsaUJBQWlCO29CQUNqQixxQkFBcUI7b0JBQ3JCLHlCQUF5QjtvQkFDekIsd0JBQXdCO29CQUN4QixzQkFBc0I7b0JBQ3RCLHdCQUF3QjtvQkFDeEIseUJBQXlCO29CQUN6Qix1QkFBdUI7aUJBQ3hCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTQUNCb290c3RyYXA1TGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTQUNCb290c3RyYXA1VG9vbHRpcE1vZHVsZSB9IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL2lucHV0YXJlYSc7XHJcbmltcG9ydCB7IFNhY0lucHV0Q3VycmVuY3lDb21wb25lbnQgfSBmcm9tICcuL2lucHV0Y3VycmVuY3knO1xyXG5pbXBvcnQgeyBTYWNJbnB1dERlY2ltYWxDb21wb25lbnQgfSBmcm9tICcuL2lucHV0ZGVjaW1hbCc7XHJcbmltcG9ydCB7IFNhY0lucHV0RW1haWxDb21wb25lbnQgfSBmcm9tICcuL2lucHV0ZW1haWwnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dEludGVnZXJDb21wb25lbnQgfSBmcm9tICcuL2lucHV0aW50ZWdlcic7XHJcbmltcG9ydCB7IFNhY0lucHV0UGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL2lucHV0cGFzc3dvcmQnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXRzZWFyY2gnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNhY0lucHV0Q29tcG9uZW50LFxyXG4gICAgU2FjSW5wdXRBcmVhQ29tcG9uZW50LFxyXG4gICAgU2FjSW5wdXRDdXJyZW5jeUNvbXBvbmVudCxcclxuICAgIFNhY0lucHV0RGVjaW1hbENvbXBvbmVudCxcclxuICAgIFNhY0lucHV0RW1haWxDb21wb25lbnQsXHJcbiAgICBTYWNJbnB1dEludGVnZXJDb21wb25lbnQsXHJcbiAgICBTYWNJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxyXG4gICAgU2FjSW5wdXRTZWFyY2hDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBTQUNCb290c3RyYXA1TGF5b3V0TW9kdWxlLFxyXG4gICAgU0FDQm9vdHN0cmFwNVRvb2x0aXBNb2R1bGUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTYWNJbnB1dENvbXBvbmVudCxcclxuICAgIFNhY0lucHV0QXJlYUNvbXBvbmVudCxcclxuICAgIFNhY0lucHV0Q3VycmVuY3lDb21wb25lbnQsXHJcbiAgICBTYWNJbnB1dERlY2ltYWxDb21wb25lbnQsXHJcbiAgICBTYWNJbnB1dEVtYWlsQ29tcG9uZW50LFxyXG4gICAgU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50LFxyXG4gICAgU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudCxcclxuICAgIFNhY0lucHV0U2VhcmNoQ29tcG9uZW50LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXA1SW5wdXRNb2R1bGUge31cclxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvaW5wdXQvaW5wdXQubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2lucHV0Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMiBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICogYXMgaTMgZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGk0IGZyb20gJy4vaW5wdXQnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi9pbnB1dGFyZWEnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi9pbnB1dGN1cnJlbmN5JztcbmltcG9ydCAqIGFzIGk3IGZyb20gJy4vaW5wdXRkZWNpbWFsJztcbmltcG9ydCAqIGFzIGk4IGZyb20gJy4vaW5wdXRlbWFpbCc7XG5pbXBvcnQgKiBhcyBpOSBmcm9tICcuL2lucHV0aW50ZWdlcic7XG5pbXBvcnQgKiBhcyBpMTAgZnJvbSAnLi9pbnB1dHBhc3N3b3JkJztcbmltcG9ydCAqIGFzIGkxMSBmcm9tICcuL2lucHV0c2VhcmNoJztcbmltcG9ydCAqIGFzIGkxMiBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9saGVpZ2h0LnBpcGUnO1xuaW1wb3J0ICogYXMgaTEzIGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxNCBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxNSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0ICogYXMgaTE2IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmV4cG9ydCBjb25zdCBTQUNCb290c3RyYXA1SW5wdXRNb2R1bGVOZ0ZhY3Rvcnk6aTAuTmdNb2R1bGVGYWN0b3J5PGkxLlNBQ0Jvb3RzdHJhcDVJbnB1dE1vZHVsZT4gPSAobnVsbCBhcyBhbnkpO1xudmFyIF9kZWNsMF8wOmkyLk5nQ2xhc3MgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTppMi5OZ0NvbXBvbmVudE91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOmkyLk5nRm9yT2Y8YW55LGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzppMi5OZ0lmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDppMi5OZ1RlbXBsYXRlT3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU6aTIuTmdTdHlsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82OmkyLk5nU3dpdGNoID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc6aTIuTmdTd2l0Y2hDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg6aTIuTmdTd2l0Y2hEZWZhdWx0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk6aTIuTmdQbHVyYWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA6aTIuTmdQbHVyYWxDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExOmkzLlNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTI6aTQuU2FjSW5wdXRDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTUuU2FjSW5wdXRBcmVhQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0Omk2LlNhY0lucHV0Q3VycmVuY3lDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTcuU2FjSW5wdXREZWNpbWFsQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2Omk4LlNhY0lucHV0RW1haWxDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTc6aTkuU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE4OmkxMC5TYWNJbnB1dFBhc3N3b3JkQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE5OmkxMS5TYWNJbnB1dFNlYXJjaENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMDppMi5Bc3luY1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjE6aTIuVXBwZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppMi5Mb3dlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIzOmkyLkpzb25QaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI0OmkyLlNsaWNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppMi5EZWNpbWFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNjppMi5QZXJjZW50UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNzppMi5UaXRsZUNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI4OmkyLkN1cnJlbmN5UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOTppMi5EYXRlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMDppMi5JMThuUGx1cmFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppMi5JMThuU2VsZWN0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMjppMi5LZXlWYWx1ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzM6aTEyLlNhY1RvQ29udHJvbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzQ6aTEzLlNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNTppMTQuU2FjVG9MYWJlbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzY6aTE1LlNhY1RvTGFiZWxXaWR0aENzc1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzc6aTIuQ29tbW9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM4OmkxNi5TQUNCb290c3RyYXA1TGF5b3V0TW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM5OmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDA6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dENvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRDb21wb25lbnRfMV8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xMi5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTIuaW52YWxpZCkgJiYgKF9kZWNsMF8xMi5kaXJ0eSB8fCBfZGVjbDBfMTIudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzIwLnRyYW5zZm9ybShfZGVjbDBfMTIuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRDb21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTIuZGlzYWJsZWxhYmVsO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsJztcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gWygoX2RlY2wwXzEyLmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzYudHJhbnNmb3JtKF9kZWNsMF8xMi5sYWJlbFNpemVzKTogJ3Zpc3VhbGx5LWhpZGRlbicpLFxuICAgICAgX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTIuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTIubmFtZSwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xMi5sYWJlbDtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gJ2NvbC0xMic7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IFsoKF9kZWNsMF8xMi5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTIubGFiZWxTaXplcyk6ICcnKV07XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9ICdmb3JtLWNvbnRyb2wnO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSBbX2RlY2wwXzMzLnRyYW5zZm9ybShfZGVjbDBfMTIuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTIubmFtZSwnJyk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzEyLm5hbWUsJycpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9IF9kZWNsMF8xMi52YWx1ZTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBfZGVjbDBfMTIucGxhY2Vob2xkZXI7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzEyLnJlYWRvbmx5O1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9IF9kZWNsMF8xMi5tYXhsZW5ndGg7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gKF9kZWNsMF8xMi5pbnZhbGlkICYmIChfZGVjbDBfMTIuZGlydHkgfHwgX2RlY2wwXzEyLnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBfZGVjbDBfMTIuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xNjtcbiAgY29uc3QgY3VyclZhbF8xNzphbnkgPSAoKF9kZWNsMF8xMi5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTIuaW52YWxpZCkgJiYgKF9kZWNsMF8xMi5kaXJ0eSB8fCBfZGVjbDBfMTIudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE3O1xuICBjb25zdCBwZF8xODphbnkgPSAoKDxhbnk+X2RlY2wwXzEyLm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTk6YW55ID0gKCg8YW55Pl9kZWNsMF8xMi5zZXRWYWx1ZShfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIwOmFueSA9ICgoPGFueT5fZGVjbDBfMTIub25LZXlQcmVzcyhfYW55KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0QXJlYUNvbXBvbmVudF9Ib3N0XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRBcmVhQ29tcG9uZW50XzJfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTMuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzEzLmludmFsaWQpICYmIChfZGVjbDBfMTMuZGlydHkgfHwgX2RlY2wwXzEzLnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8yMC50cmFuc2Zvcm0oX2RlY2wwXzEzLkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0QXJlYUNvbXBvbmVudF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMy5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTMuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzEzLmxhYmVsU2l6ZXMpOiAndmlzdWFsbHktaGlkZGVuJyksXG4gICAgICBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xMy5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xMy5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzEzLmxhYmVsO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAnY29sLTEyJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gWygoX2RlY2wwXzEzLmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xMy5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IFtfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xMy5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xMy5uYW1lLCcnKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTMubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzEzLnZhbHVlO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF8xMy5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSBfZGVjbDBfMTMucm93cztcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSAoX2RlY2wwXzEzLmludmFsaWQgJiYgKF9kZWNsMF8xMy5kaXJ0eSB8fCBfZGVjbDBfMTMudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IF9kZWNsMF8xMy5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9IF9kZWNsMF8xMy5tYXhsZW5ndGg7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gX2RlY2wwXzEzLnJlYWRvbmx5O1xuICBjdXJyVmFsXzE3O1xuICBjb25zdCBjdXJyVmFsXzE4OmFueSA9ICgoX2RlY2wwXzEzLmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xMy5pbnZhbGlkKSAmJiAoX2RlY2wwXzEzLmRpcnR5IHx8IF9kZWNsMF8xMy50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfMTMub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yMDphbnkgPSAoKDxhbnk+X2RlY2wwXzEzLnNldFZhbHVlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjE6YW55ID0gKCg8YW55Pl9kZWNsMF8xMy5vbktleVByZXNzKF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRDdXJyZW5jeUNvbXBvbmVudF9Ib3N0XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRDdXJyZW5jeUNvbXBvbmVudF8zXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE0LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNC5pbnZhbGlkKSAmJiAoX2RlY2wwXzE0LmRpcnR5IHx8IF9kZWNsMF8xNC50b3VjaGVkKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMjAudHJhbnNmb3JtKF9kZWNsMF8xNC5HZXRFcnJvck1lc3NhZ2UoKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0LmRpc2FibGVsYWJlbDtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ2NvbC0xMiBjb2wtZm9ybS1sYWJlbCc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IFsoKF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM2LnRyYW5zZm9ybShfZGVjbDBfMTQubGFiZWxTaXplcyk6ICd2aXN1YWxseS1oaWRkZW4nKSxcbiAgICAgIF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTQubGFiZWw7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBbKChfZGVjbDBfMTQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNC50cmFuc2Zvcm0oX2RlY2wwXzE0LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE0LkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE0LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSAoKF9kZWNsMF8xNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTQuaW52YWxpZCkgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gW19kZWNsMF8zMy50cmFuc2Zvcm0oX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNC5uYW1lLCcnKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBfZGVjbDBfMTQudmFsdWU7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gX2RlY2wwXzE0LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9IF9kZWNsMF8xNC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNC5yZWFkb25seTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSAoX2RlY2wwXzE0LmludmFsaWQgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNC5jdXJyZW5jeTtcbiAgY3VyclZhbF8xOTtcbiAgY29uc3QgY3VyclZhbF8yMDphbnkgPSAoKF9kZWNsMF8xNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTQuaW52YWxpZCkgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBwZF8yMTphbnkgPSAoKDxhbnk+X2RlY2wwXzE0Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjI6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5zZXRWYWx1ZShfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzIzOmFueSA9ICgoPGFueT5fZGVjbDBfMTQub25LZXlQcmVzcyhfYW55KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0RGVjaW1hbENvbXBvbmVudF9Ib3N0XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXREZWNpbWFsQ29tcG9uZW50XzRfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8yMC50cmFuc2Zvcm0oX2RlY2wwXzE1LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0RGVjaW1hbENvbXBvbmVudF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNS5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTUuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzE1LmxhYmVsU2l6ZXMpOiAndmlzdWFsbHktaGlkZGVuJyksXG4gICAgICBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xNS5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNS5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE1LmxhYmVsO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAnY29sLTEyJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gWygoX2RlY2wwXzE1LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNS5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IFtfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNS5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNS5uYW1lLCcnKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTUubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzE1LnZhbHVlO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF8xNS5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSBfZGVjbDBfMTUucmVhZG9ubHk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gX2RlY2wwXzE1LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gKF9kZWNsMF8xNS5pbnZhbGlkICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSAoKF9kZWNsMF8xNS5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTUuaW52YWxpZCkgJiYgKF9kZWNsMF8xNS5kaXJ0eSB8fCBfZGVjbDBfMTUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBwZF8xNzphbnkgPSAoKDxhbnk+X2RlY2wwXzE1Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTg6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5zZXRWYWx1ZShfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfMTUub25LZXlQcmVzcyhfYW55KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0RW1haWxDb21wb25lbnRfSG9zdF81XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0RW1haWxDb21wb25lbnRfNV8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNi5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTYuaW52YWxpZCkgJiYgKF9kZWNsMF8xNi5kaXJ0eSB8fCBfZGVjbDBfMTYudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzIwLnRyYW5zZm9ybShfZGVjbDBfMTYuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRFbWFpbENvbXBvbmVudF81XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNi5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzE2LmxhYmVsU2l6ZXMpOiAndmlzdWFsbHktaGlkZGVuJyksXG4gICAgICBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xNi5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNi5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE2LmxhYmVsO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAnY29sLTEyJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gWygoX2RlY2wwXzE2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNi5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKF9kZWNsMF8xNi5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNi5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gKF9kZWNsMF8xNi5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNi5Db250cm9sSGVpZ2h0LkxhcmdlKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gKChfZGVjbDBfMTYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE2LmludmFsaWQpICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9ICdmb3JtLWNvbnRyb2wnO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9IFtfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNi5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE2Lm5hbWUsJycpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTYubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gX2RlY2wwXzE2LnZhbHVlO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IF9kZWNsMF8xNi5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBfZGVjbDBfMTYubWF4bGVuZ3RoO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IChfZGVjbDBfMTYuaW52YWxpZCAmJiAoX2RlY2wwXzE2LmRpcnR5IHx8IF9kZWNsMF8xNi50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gX2RlY2wwXzE2LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IGN1cnJWYWxfMTk6YW55ID0gX2RlY2wwXzE2LnJlYWRvbmx5O1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9ICgoX2RlY2wwXzE2LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNi5pbnZhbGlkKSAmJiAoX2RlY2wwXzE2LmRpcnR5IHx8IF9kZWNsMF8xNi50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjA7XG4gIGNvbnN0IHBkXzIxOmFueSA9ICgoPGFueT5fZGVjbDBfMTYub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yMjphbnkgPSAoKDxhbnk+X2RlY2wwXzE2LnNldFZhbHVlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0SW50ZWdlckNvbXBvbmVudF9Ib3N0XzZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50XzZfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTcuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE3LmludmFsaWQpICYmIChfZGVjbDBfMTcuZGlydHkgfHwgX2RlY2wwXzE3LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8yMC50cmFuc2Zvcm0oX2RlY2wwXzE3LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0SW50ZWdlckNvbXBvbmVudF82XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNy5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTcuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzE3LmxhYmVsU2l6ZXMpOiAndmlzdWFsbHktaGlkZGVuJyksXG4gICAgICBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xNy5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNy5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE3LmxhYmVsO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAnY29sLTEyJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gWygoX2RlY2wwXzE3LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNy5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IFtfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNy5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNy5uYW1lLCcnKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTcubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzE3LnZhbHVlO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF8xNy5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSBfZGVjbDBfMTcuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBfZGVjbDBfMTcucmVhZG9ubHk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gKF9kZWNsMF8xNy5pbnZhbGlkICYmIChfZGVjbDBfMTcuZGlydHkgfHwgX2RlY2wwXzE3LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSAoKF9kZWNsMF8xNy5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTcuaW52YWxpZCkgJiYgKF9kZWNsMF8xNy5kaXJ0eSB8fCBfZGVjbDBfMTcudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBwZF8xNzphbnkgPSAoKDxhbnk+X2RlY2wwXzE3Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMTg6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5zZXRWYWx1ZShfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfMTcub25LZXlQcmVzcyhfYW55KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0UGFzc3dvcmRDb21wb25lbnRfSG9zdF83XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0UGFzc3dvcmRDb21wb25lbnRfN18xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xOC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTguaW52YWxpZCkgJiYgKF9kZWNsMF8xOC5kaXJ0eSB8fCBfZGVjbDBfMTgudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzIwLnRyYW5zZm9ybShfZGVjbDBfMTguR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudF83XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOC5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTguZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzE4LmxhYmVsU2l6ZXMpOiAndmlzdWFsbHktaGlkZGVuJyksXG4gICAgICBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xOC5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xOC5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE4LmxhYmVsO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAnY29sLTEyJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gWygoX2RlY2wwXzE4LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xOC5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IFtfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xOC5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xOC5uYW1lLCcnKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTgubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzE4LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF8xOC52YWx1ZTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSBfZGVjbDBfMTgubWF4bGVuZ3RoO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9IChfZGVjbDBfMTguaW52YWxpZCAmJiAoX2RlY2wwXzE4LmRpcnR5IHx8IF9kZWNsMF8xOC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gX2RlY2wwXzE4LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzE4LnJlYWRvbmx5O1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9ICgoX2RlY2wwXzE4LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xOC5pbnZhbGlkKSAmJiAoX2RlY2wwXzE4LmRpcnR5IHx8IF9kZWNsMF8xOC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IHBkXzE4OmFueSA9ICgoPGFueT5fZGVjbDBfMTgub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xOTphbnkgPSAoKDxhbnk+X2RlY2wwXzE4LnNldFZhbHVlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0U2VhcmNoQ29tcG9uZW50X0hvc3RfOF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dFNlYXJjaENvbXBvbmVudF84XzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE5LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMTkuaXNBZGFwdGl2ZUxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwnO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gWygoX2RlY2wwXzE5LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzYudHJhbnNmb3JtKF9kZWNsMF8xOS5sYWJlbFNpemVzKTogJ3Zpc3VhbGx5LWhpZGRlbicpLFxuICAgICAgICBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xOS5jb21wb25lbnRIZWlnaHQpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTkubmFtZSwnX2xhYmVsJyk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE5Lm5hbWUsJycpO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE5LmlzcmVxdWlyZWQ7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTkubGFiZWw7XG4gICAgY3VyclZhbF81O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dFNlYXJjaENvbXBvbmVudF84XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOS5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICgoX2RlY2wwXzE5LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMTkuaXNBZGFwdGl2ZUxhYmVsKTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ2NvbC0xMic7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IFsoKF9kZWNsMF8xOS5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTkubGFiZWxTaXplcyk6ICcnKV07XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IChfZGVjbDBfMTkuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTkuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IChfZGVjbDBfMTkuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTkuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9ICdmb3JtLWNvbnRyb2wnO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSBbX2RlY2wwXzMzLnRyYW5zZm9ybShfZGVjbDBfMTkuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTkubmFtZSwnJyk7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTkubmFtZSwnJyk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBfZGVjbDBfMTkudmFsdWU7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzE5LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF8xOS5tYXhsZW5ndGg7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gKF9kZWNsMF8xOS5pbnZhbGlkICYmIChfZGVjbDBfMTkuZGlydHkgfHwgX2RlY2wwXzE5LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBfZGVjbDBfMTkuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBfZGVjbDBfMTkucmVhZG9ubHk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xOS5uYW1lLCdfc2VhcmNoJyk7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gX2RlY2wwXzE5LmJ1dHRvbnRleHQ7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IHBkXzE4OmFueSA9ICgoPGFueT5fZGVjbDBfMTkub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xOTphbnkgPSAoKDxhbnk+X2RlY2wwXzE5LnNldFZhbHVlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjA6YW55ID0gKCg8YW55Pl9kZWNsMF8xOS5zZWFyY2hDbGljaygpKSAhPT0gZmFsc2UpO1xufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvaW5wdXQvaW5wdXQubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2lucHV0Lm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMiBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0ICogYXMgaTMgZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGk0IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5pbXBvcnQgKiBhcyBpNSBmcm9tICcuL2lucHV0JztcbmltcG9ydCAqIGFzIGk2IGZyb20gJy4vaW5wdXRhcmVhJztcbmltcG9ydCAqIGFzIGk3IGZyb20gJy4vaW5wdXRjdXJyZW5jeSc7XG5pbXBvcnQgKiBhcyBpOCBmcm9tICcuL2lucHV0ZGVjaW1hbCc7XG5pbXBvcnQgKiBhcyBpOSBmcm9tICcuL2lucHV0ZW1haWwnO1xuaW1wb3J0ICogYXMgaTEwIGZyb20gJy4vaW5wdXRpbnRlZ2VyJztcbmltcG9ydCAqIGFzIGkxMSBmcm9tICcuL2lucHV0cGFzc3dvcmQnO1xuaW1wb3J0ICogYXMgaTEyIGZyb20gJy4vaW5wdXRzZWFyY2gnO1xuaW1wb3J0ICogYXMgaTEzIGZyb20gJy4uL2xheW91dC90b2NvbnRyb2xoZWlnaHQucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTQgZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0ICogYXMgaTE1IGZyb20gJy4uL2xheW91dC90b2xhYmVsaGVpZ2h0LnBpcGUnO1xuaW1wb3J0ICogYXMgaTE2IGZyb20gJy4uL2xheW91dC90b2xhYmVsd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTcgZnJvbSAnLi4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTE4IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuZXhwb3J0IGNvbnN0IFNBQ0Jvb3RzdHJhcDVJbnB1dE1vZHVsZU5nRmFjdG9yeTppMC5OZ01vZHVsZUZhY3Rvcnk8aTEuU0FDQm9vdHN0cmFwNUlucHV0TW9kdWxlPiA9IChudWxsIGFzIGFueSk7XG52YXIgX2RlY2wwXzA6aTIuTmdDbGFzcyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOmkyLk5nQ29tcG9uZW50T3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI6aTIuTmdGb3JPZjxhbnksYW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOmkyLk5nSWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80OmkyLk5nVGVtcGxhdGVPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTppMi5OZ1N0eWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY6aTIuTmdTd2l0Y2ggPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzppMi5OZ1N3aXRjaENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODppMi5OZ1N3aXRjaERlZmF1bHQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTppMi5OZ1BsdXJhbCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDppMi5OZ1BsdXJhbENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE6aTMuU2FjRm9ybUxheW91dERpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjppNC5TYWNUb29sdGlwQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzOmk1LlNhY0lucHV0Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0Omk2LlNhY0lucHV0QXJlYUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTppNy5TYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2Omk4LlNhY0lucHV0RGVjaW1hbENvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNzppOS5TYWNJbnB1dEVtYWlsQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE4OmkxMC5TYWNJbnB1dEludGVnZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTk6aTExLlNhY0lucHV0UGFzc3dvcmRDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjA6aTEyLlNhY0lucHV0U2VhcmNoQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmkyLkFzeW5jUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIzOmkyLkxvd2VyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjQ6aTIuSnNvblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjU6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI2OmkyLkRlY2ltYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI3OmkyLlBlcmNlbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI4OmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjk6aTIuQ3VycmVuY3lQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkyLkRhdGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMxOmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMyOmkyLkkxOG5TZWxlY3RQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMzOmkyLktleVZhbHVlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNDppMTMuU2FjVG9Db250cm9sSGVpZ2h0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNTppMTQuU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM2OmkxNS5TYWNUb0xhYmVsSGVpZ2h0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNzppMTYuU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zODppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTE3LlNBQ0Jvb3RzdHJhcDVMYXlvdXRNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDA6aTE4LlNBQ0Jvb3RzdHJhcDVUb29sdGlwTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQxOmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDI6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dENvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRDb21wb25lbnRfMV8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xMy5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzEzLmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMy5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAnbXMtMSc7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTMuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzM7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0Q29tcG9uZW50XzFfMigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTMuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzEzLmludmFsaWQpICYmIChfZGVjbDBfMTMuZGlydHkgfHwgX2RlY2wwXzEzLnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8yMS50cmFuc2Zvcm0oX2RlY2wwXzEzLkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0Q29tcG9uZW50XzFfMygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTMuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dENvbXBvbmVudF8xXzQoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8xMy5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzEzLmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTMuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdmb3JtLWNvbnRyb2wtcGxhaW50ZXh0IGFsaWduLXNlbGYtdG9wIG1zLTIgbWUtMSB3LWF1dG8nO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gW19kZWNsMF8zNC50cmFuc2Zvcm0oX2RlY2wwXzEzLmNvbXBvbmVudEhlaWdodCldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzEzLmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9ICdtbC0xJztcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xMy5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfNTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRDb21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTMuZGlzYWJsZWxhYmVsO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleCc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IFsoKF9kZWNsMF8xMy5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM3LnRyYW5zZm9ybShfZGVjbDBfMTMubGFiZWxTaXplcyk6ICd2aXN1YWxseS1oaWRkZW4nKSxcbiAgICAgIF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzEzLmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzEzLm5hbWUsJycpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTMuaXNyZXF1aXJlZDtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzEzLnNwbGl0bGFiZWxhbmRoZWxwdGV4dDtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzEzLmxhYmVsO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKF9kZWNsMF8xMy5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzEzLmhlbHB0ZXh0KTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gJ2NvbC0xMic7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IFsoKF9kZWNsMF8xMy5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTMubGFiZWxTaXplcyk6ICcnKV07XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAoKChfZGVjbDBfMTMuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xMy5oZWxwdGV4dCkgJiYgX2RlY2wwXzEzLmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gKCgoX2RlY2wwXzEzLmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTMuaGVscHRleHQpICYmIF9kZWNsMF8xMy5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9ICdmb3JtLWNvbnRyb2wnO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IFtfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xMy5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzEzLm5hbWUsJycpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTMubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzEzLnZhbHVlO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xMy5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBfZGVjbDBfMTMucmVhZG9ubHk7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IGN1cnJWYWxfMTk6YW55ID0gX2RlY2wwXzEzLm1heHRleHRsZW5ndGg7XG4gIGN1cnJWYWxfMTk7XG4gIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gKF9kZWNsMF8xMy5pbnZhbGlkICYmIChfZGVjbDBfMTMuZGlydHkgfHwgX2RlY2wwXzEzLnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfMTMuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSAoKF9kZWNsMF8xMy5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTMuaW52YWxpZCkgJiYgKF9kZWNsMF8xMy5kaXJ0eSB8fCBfZGVjbDBfMTMudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIyO1xuICBjb25zdCBjdXJyVmFsXzIzOmFueSA9ICgoX2RlY2wwXzEzLmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMTMuaGVscHRleHQpO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBjdXJyVmFsXzI0OmFueSA9ICgoKF9kZWNsMF8xMy5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzEzLmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTMuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgcGRfMjU6YW55ID0gKCg8YW55Pl9kZWNsMF8xMy5vblRvdWNoKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI2OmFueSA9ICgoPGFueT5fZGVjbDBfMTMuc2V0VmFsdWUoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNzphbnkgPSAoKDxhbnk+X2RlY2wwXzEzLm9uS2V5UHJlc3MoX2FueSkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEFyZWFDb21wb25lbnRfSG9zdF8yXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0QXJlYUNvbXBvbmVudF8yXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9ICdtcy0xJztcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNC5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMztcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRBcmVhQ29tcG9uZW50XzJfMigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE0LmludmFsaWQpICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8yMS50cmFuc2Zvcm0oX2RlY2wwXzE0LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0QXJlYUNvbXBvbmVudF8yXzMoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRBcmVhQ29tcG9uZW50XzJfNCgpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2Zvcm0tY29udHJvbC1wbGFpbnRleHQgYWxpZ24tc2VsZi10b3AgbXMtMiBtZS0xIHctYXV0byc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0KV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTQuaGVscHRleHQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ21sLTEnO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE0LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF81O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEFyZWFDb21wb25lbnRfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTQuZGlzYWJsZWxhYmVsO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleCc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IFsoKF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM3LnRyYW5zZm9ybShfZGVjbDBfMTQubGFiZWxTaXplcyk6ICd2aXN1YWxseS1oaWRkZW4nKSxcbiAgICAgIF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTQuaXNyZXF1aXJlZDtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE0LnNwbGl0bGFiZWxhbmRoZWxwdGV4dDtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzE0LmxhYmVsO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gJ2NvbC0xMic7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IFsoKF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTQubGFiZWxTaXplcyk6ICcnKV07XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE0LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9ICdmb3JtLWNvbnRyb2wnO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IFtfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzE0LnZhbHVlO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNC5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBfZGVjbDBfMTQucm93cztcbiAgY3VyclZhbF8xODtcbiAgY29uc3QgY3VyclZhbF8xOTphbnkgPSAoX2RlY2wwXzE0LmludmFsaWQgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8xNC5tYXh0ZXh0bGVuZ3RoO1xuICBjdXJyVmFsXzIxO1xuICBjb25zdCBjdXJyVmFsXzIyOmFueSA9IF9kZWNsMF8xNC5yZWFkb25seTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSAoKF9kZWNsMF8xNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTQuaW52YWxpZCkgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBjdXJyVmFsXzI0OmFueSA9ICgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpO1xuICBjdXJyVmFsXzI0O1xuICBjb25zdCBjdXJyVmFsXzI1OmFueSA9ICgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTQuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8yNTtcbiAgY29uc3QgcGRfMjY6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5vblRvdWNoKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI3OmFueSA9ICgoPGFueT5fZGVjbDBfMTQuc2V0VmFsdWUoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yODphbnkgPSAoKDxhbnk+X2RlY2wwXzE0Lm9uS2V5UHJlc3MoX2FueSkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50X0hvc3RfM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50XzNfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTUuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ21zLTEnO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzE1LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8zO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50XzNfMigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8yMS50cmFuc2Zvcm0oX2RlY2wwXzE1LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0Q3VycmVuY3lDb21wb25lbnRfM18zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNS5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0Q3VycmVuY3lDb21wb25lbnRfM180KCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzE1LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnZm9ybS1jb250cm9sLXBsYWludGV4dCBhbGlnbi1zZWxmLXRvcCBtcy0yIG1lLTEgdy1hdXRvJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IFtfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNS5jb21wb25lbnRIZWlnaHQpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNS5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAnbWwtMSc7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTUuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzU7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0Q3VycmVuY3lDb21wb25lbnRfM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTUuZGlzYWJsZWxhYmVsO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleCc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IFsoKF9kZWNsMF8xNS5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM3LnRyYW5zZm9ybShfZGVjbDBfMTUubGFiZWxTaXplcyk6ICd2aXN1YWxseS1oaWRkZW4nKSxcbiAgICAgIF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzE1LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE1Lm5hbWUsJycpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTUuaXNyZXF1aXJlZDtcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE1LnNwbGl0bGFiZWxhbmRoZWxwdGV4dDtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzE1LmxhYmVsO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gJ2NvbC0xMic7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IFsoKF9kZWNsMF8xNS5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTUubGFiZWxTaXplcyk6ICcnKV07XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzE1LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gKCgoX2RlY2wwXzE1LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTUuaGVscHRleHQpICYmIF9kZWNsMF8xNS5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gKF9kZWNsMF8xNS5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNS5Db250cm9sSGVpZ2h0LkxhcmdlKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSAoKF9kZWNsMF8xNS5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTUuaW52YWxpZCkgJiYgKF9kZWNsMF8xNS5kaXJ0eSB8fCBfZGVjbDBfMTUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9ICdmb3JtLWNvbnRyb2wnO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9IFtfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNS5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8xNjtcbiAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE1Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE3O1xuICBjb25zdCBjdXJyVmFsXzE4OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTUubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IGN1cnJWYWxfMTk6YW55ID0gX2RlY2wwXzE1LnZhbHVlO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNS5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfMTUuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSBfZGVjbDBfMTUucmVhZG9ubHk7XG4gIGN1cnJWYWxfMjI7XG4gIGNvbnN0IGN1cnJWYWxfMjM6YW55ID0gKF9kZWNsMF8xNS5pbnZhbGlkICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfMTUuY3VycmVuY3k7XG4gIGN1cnJWYWxfMjQ7XG4gIGNvbnN0IGN1cnJWYWxfMjU6YW55ID0gKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yNTtcbiAgY29uc3QgY3VyclZhbF8yNjphbnkgPSAoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8yNjtcbiAgY29uc3QgY3VyclZhbF8yNzphbnkgPSAoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzE1LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMjc7XG4gIGNvbnN0IHBkXzI4OmFueSA9ICgoPGFueT5fZGVjbDBfMTUub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yOTphbnkgPSAoKDxhbnk+X2RlY2wwXzE1LnNldFZhbHVlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5vbktleVByZXNzKF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXREZWNpbWFsQ29tcG9uZW50X0hvc3RfNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dERlY2ltYWxDb21wb25lbnRfNF8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNi5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAnbXMtMSc7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTYuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzM7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0RGVjaW1hbENvbXBvbmVudF80XzIoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE2LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNi5pbnZhbGlkKSAmJiAoX2RlY2wwXzE2LmRpcnR5IHx8IF9kZWNsMF8xNi50b3VjaGVkKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMjEudHJhbnNmb3JtKF9kZWNsMF8xNi5HZXRFcnJvck1lc3NhZ2UoKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dERlY2ltYWxDb21wb25lbnRfNF8zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNi5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0RGVjaW1hbENvbXBvbmVudF80XzQoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTYuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdmb3JtLWNvbnRyb2wtcGxhaW50ZXh0IGFsaWduLXNlbGYtdG9wIG1zLTIgbWUtMSB3LWF1dG8nO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gW19kZWNsMF8zNC50cmFuc2Zvcm0oX2RlY2wwXzE2LmNvbXBvbmVudEhlaWdodCldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE2LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9ICdtbC0xJztcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNi5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfNTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXREZWNpbWFsQ29tcG9uZW50XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE2LmRpc2FibGVsYWJlbDtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ2NvbC0xMiBjb2wtZm9ybS1sYWJlbCBkLWZsZXgnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNy50cmFuc2Zvcm0oX2RlY2wwXzE2LmxhYmVsU2l6ZXMpOiAndmlzdWFsbHktaGlkZGVuJyksXG4gICAgICBfZGVjbDBfMzYudHJhbnNmb3JtKF9kZWNsMF8xNi5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNi5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE2LmlzcmVxdWlyZWQ7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNi5zcGxpdGxhYmVsYW5kaGVscHRleHQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xNi5sYWJlbDtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBbKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE2LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKCgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpICYmIF9kZWNsMF8xNi5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTYuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSBbX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNi5uYW1lLCcnKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE2Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9IF9kZWNsMF8xNi52YWx1ZTtcbiAgY3VyclZhbF8xNjtcbiAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBfZGVjbDBfMTYucGxhY2Vob2xkZXI7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gX2RlY2wwXzE2LnJlYWRvbmx5O1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNi5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IChfZGVjbDBfMTYuaW52YWxpZCAmJiAoX2RlY2wwXzE2LmRpcnR5IHx8IF9kZWNsMF8xNi50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjA7XG4gIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gKChfZGVjbDBfMTYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE2LmludmFsaWQpICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSAoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSAoKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCkgJiYgX2RlY2wwXzE2LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMjM7XG4gIGNvbnN0IHBkXzI0OmFueSA9ICgoPGFueT5fZGVjbDBfMTYub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNTphbnkgPSAoKDxhbnk+X2RlY2wwXzE2LnNldFZhbHVlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjY6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi5vbktleVByZXNzKF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRFbWFpbENvbXBvbmVudF9Ib3N0XzVfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRFbWFpbENvbXBvbmVudF81XzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE3LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTcuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE3LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9ICdtcy0xJztcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNy5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMztcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRFbWFpbENvbXBvbmVudF81XzIoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE3LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNy5pbnZhbGlkKSAmJiAoX2RlY2wwXzE3LmRpcnR5IHx8IF9kZWNsMF8xNy50b3VjaGVkKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMjEudHJhbnNmb3JtKF9kZWNsMF8xNy5HZXRFcnJvck1lc3NhZ2UoKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEVtYWlsQ29tcG9uZW50XzVfMygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTcuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNy5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTcuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEVtYWlsQ29tcG9uZW50XzVfNCgpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzE3LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTcuaGVscHRleHQpICYmIF9kZWNsMF8xNy5kaXNhYmxlbGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2Zvcm0tY29udHJvbC1wbGFpbnRleHQgYWxpZ24tc2VsZi10b3AgbXMtMiBtZS0xIHctYXV0byc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTcuY29tcG9uZW50SGVpZ2h0KV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTcuaGVscHRleHQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gJ21sLTEnO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE3LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF81O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEVtYWlsQ29tcG9uZW50XzVfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE3LmRpc2FibGVsYWJlbDtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gJ2NvbC0xMiBjb2wtZm9ybS1sYWJlbCBkLWZsZXgnO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBbKChfZGVjbDBfMTcuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNy50cmFuc2Zvcm0oX2RlY2wwXzE3LmxhYmVsU2l6ZXMpOiAndmlzdWFsbHktaGlkZGVuJyksXG4gICAgICBfZGVjbDBfMzYudHJhbnNmb3JtKF9kZWNsMF8xNy5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNy5uYW1lLCcnKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE3LmlzcmVxdWlyZWQ7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNy5zcGxpdGxhYmVsYW5kaGVscHRleHQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xNy5sYWJlbDtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKChfZGVjbDBfMTcuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNy5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9ICdjb2wtMTInO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBbKChfZGVjbDBfMTcuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE3LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gKCgoX2RlY2wwXzE3LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTcuaGVscHRleHQpICYmIF9kZWNsMF8xNy5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICgoKF9kZWNsMF8xNy5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE3LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTcuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoX2RlY2wwXzE3LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE3LkNvbnRyb2xIZWlnaHQuU21hbGwpO1xuICBjdXJyVmFsXzEyO1xuICBjb25zdCBjdXJyVmFsXzEzOmFueSA9IChfZGVjbDBfMTcuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTcuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gKChfZGVjbDBfMTcuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE3LmludmFsaWQpICYmIChfZGVjbDBfMTcuZGlydHkgfHwgX2RlY2wwXzE3LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBbX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTcuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNy5uYW1lLCcnKTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE3Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNy52YWx1ZTtcbiAgY3VyclZhbF8xOTtcbiAgY29uc3QgY3VyclZhbF8yMDphbnkgPSBfZGVjbDBfMTcucGxhY2Vob2xkZXI7XG4gIGN1cnJWYWxfMjA7XG4gIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gX2RlY2wwXzE3Lm1heHRleHRsZW5ndGg7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKF9kZWNsMF8xNy5pbnZhbGlkICYmIChfZGVjbDBfMTcuZGlydHkgfHwgX2RlY2wwXzE3LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSBfZGVjbDBfMTcuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfMTcucmVhZG9ubHk7XG4gIGN1cnJWYWxfMjQ7XG4gIGNvbnN0IGN1cnJWYWxfMjU6YW55ID0gKChfZGVjbDBfMTcuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE3LmludmFsaWQpICYmIChfZGVjbDBfMTcuZGlydHkgfHwgX2RlY2wwXzE3LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yNTtcbiAgY29uc3QgY3VyclZhbF8yNjphbnkgPSAoKF9kZWNsMF8xNy5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE3LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8yNjtcbiAgY29uc3QgY3VyclZhbF8yNzphbnkgPSAoKChfZGVjbDBfMTcuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNy5oZWxwdGV4dCkgJiYgX2RlY2wwXzE3LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMjc7XG4gIGNvbnN0IHBkXzI4OmFueSA9ICgoPGFueT5fZGVjbDBfMTcub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yOTphbnkgPSAoKDxhbnk+X2RlY2wwXzE3LnNldFZhbHVlKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0SW50ZWdlckNvbXBvbmVudF9Ib3N0XzZfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50XzZfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTguaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xOC5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTguaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gJ21zLTEnO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzE4LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8zO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEludGVnZXJDb21wb25lbnRfNl8yKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xOC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTguaW52YWxpZCkgJiYgKF9kZWNsMF8xOC5kaXJ0eSB8fCBfZGVjbDBfMTgudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzIxLnRyYW5zZm9ybShfZGVjbDBfMTguR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRJbnRlZ2VyQ29tcG9uZW50XzZfMygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTguaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xOC5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTguaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dEludGVnZXJDb21wb25lbnRfNl80KCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMTguaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xOC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE4LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnZm9ybS1jb250cm9sLXBsYWludGV4dCBhbGlnbi1zZWxmLXRvcCBtcy0yIG1lLTEgdy1hdXRvJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IFtfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xOC5jb21wb25lbnRIZWlnaHQpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xOC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAnbWwtMSc7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTguSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzU7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0SW50ZWdlckNvbXBvbmVudF82XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOC5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwgZC1mbGV4JztcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gWygoX2RlY2wwXzE4LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzcudHJhbnNmb3JtKF9kZWNsMF8xOC5sYWJlbFNpemVzKTogJ3Zpc3VhbGx5LWhpZGRlbicpLFxuICAgICAgX2RlY2wwXzM2LnRyYW5zZm9ybShfZGVjbDBfMTguY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTgubmFtZSwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xOC5pc3JlcXVpcmVkO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTguc3BsaXRsYWJlbGFuZGhlbHB0ZXh0O1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMTgubGFiZWw7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9ICgoX2RlY2wwXzE4LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTguaGVscHRleHQpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAnY29sLTEyJztcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gWygoX2RlY2wwXzE4LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xOC5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9ICgoKF9kZWNsMF8xOC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE4LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTguZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAoKChfZGVjbDBfMTguaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xOC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE4LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gW19kZWNsMF8zNC50cmFuc2Zvcm0oX2RlY2wwXzE4LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTgubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xOC5uYW1lLCcnKTtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBfZGVjbDBfMTgudmFsdWU7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gX2RlY2wwXzE4LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzE3O1xuICBjb25zdCBjdXJyVmFsXzE4OmFueSA9IF9kZWNsMF8xOC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xOC5yZWFkb25seTtcbiAgY3VyclZhbF8xOTtcbiAgY29uc3QgY3VyclZhbF8yMDphbnkgPSAoX2RlY2wwXzE4LmludmFsaWQgJiYgKF9kZWNsMF8xOC5kaXJ0eSB8fCBfZGVjbDBfMTgudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9ICgoX2RlY2wwXzE4LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xOC5pbnZhbGlkKSAmJiAoX2RlY2wwXzE4LmRpcnR5IHx8IF9kZWNsMF8xOC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKChfZGVjbDBfMTguaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xOC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjI7XG4gIGNvbnN0IGN1cnJWYWxfMjM6YW55ID0gKCgoX2RlY2wwXzE4LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTguaGVscHRleHQpICYmIF9kZWNsMF8xOC5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBwZF8yNDphbnkgPSAoKDxhbnk+X2RlY2wwXzE4Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjU6YW55ID0gKCg8YW55Pl9kZWNsMF8xOC5zZXRWYWx1ZShfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI2OmFueSA9ICgoPGFueT5fZGVjbDBfMTgub25LZXlQcmVzcyhfYW55KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0UGFzc3dvcmRDb21wb25lbnRfSG9zdF83XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0UGFzc3dvcmRDb21wb25lbnRfN18xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xOS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE5LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOS5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAnbXMtMSc7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTkuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzM7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0UGFzc3dvcmRDb21wb25lbnRfN18yKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xOS5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTkuaW52YWxpZCkgJiYgKF9kZWNsMF8xOS5kaXJ0eSB8fCBfZGVjbDBfMTkudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzIxLnRyYW5zZm9ybShfZGVjbDBfMTkuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudF83XzMoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE5LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMTkuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE5LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudF83XzQoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8xOS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE5LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTkuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdmb3JtLWNvbnRyb2wtcGxhaW50ZXh0IGFsaWduLXNlbGYtdG9wIG1zLTIgbWUtMSB3LWF1dG8nO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gW19kZWNsMF8zNC50cmFuc2Zvcm0oX2RlY2wwXzE5LmNvbXBvbmVudEhlaWdodCldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE5LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9ICdtbC0xJztcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xOS5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfNTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRQYXNzd29yZENvbXBvbmVudF83XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOS5kaXNhYmxlbGFiZWw7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9ICdjb2wtMTIgY29sLWZvcm0tbGFiZWwgZC1mbGV4JztcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gWygoX2RlY2wwXzE5LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzcudHJhbnNmb3JtKF9kZWNsMF8xOS5sYWJlbFNpemVzKTogJ3Zpc3VhbGx5LWhpZGRlbicpLFxuICAgICAgX2RlY2wwXzM2LnRyYW5zZm9ybShfZGVjbDBfMTkuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTkubmFtZSwnJyk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xOS5pc3JlcXVpcmVkO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTkuc3BsaXRsYWJlbGFuZGhlbHB0ZXh0O1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMTkubGFiZWw7XG4gIGN1cnJWYWxfNjtcbiAgY29uc3QgY3VyclZhbF83OmFueSA9ICgoX2RlY2wwXzE5LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTkuaGVscHRleHQpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAnY29sLTEyJztcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gWygoX2RlY2wwXzE5LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xOS5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9ICgoKF9kZWNsMF8xOS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE5LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTkuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSAoKChfZGVjbDBfMTkuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xOS5oZWxwdGV4dCkgJiYgX2RlY2wwXzE5LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gW19kZWNsMF8zNC50cmFuc2Zvcm0oX2RlY2wwXzE5LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTkubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xOS5uYW1lLCcnKTtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBfZGVjbDBfMTkucGxhY2Vob2xkZXI7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gX2RlY2wwXzE5LnZhbHVlO1xuICBjdXJyVmFsXzE3O1xuICBjb25zdCBjdXJyVmFsXzE4OmFueSA9IF9kZWNsMF8xOS5tYXh0ZXh0bGVuZ3RoO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IChfZGVjbDBfMTkuaW52YWxpZCAmJiAoX2RlY2wwXzE5LmRpcnR5IHx8IF9kZWNsMF8xOS50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTk7XG4gIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gX2RlY2wwXzE5LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMjA7XG4gIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gX2RlY2wwXzE5LnJlYWRvbmx5O1xuICBjdXJyVmFsXzIxO1xuICBjb25zdCBjdXJyVmFsXzIyOmFueSA9ICgoX2RlY2wwXzE5LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xOS5pbnZhbGlkKSAmJiAoX2RlY2wwXzE5LmRpcnR5IHx8IF9kZWNsMF8xOS50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjI7XG4gIGNvbnN0IGN1cnJWYWxfMjM6YW55ID0gKChfZGVjbDBfMTkuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xOS5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjM7XG4gIGNvbnN0IGN1cnJWYWxfMjQ6YW55ID0gKCgoX2RlY2wwXzE5LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTkuaGVscHRleHQpICYmIF9kZWNsMF8xOS5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzI0O1xuICBjb25zdCBwZF8yNTphbnkgPSAoKDxhbnk+X2RlY2wwXzE5Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjY6YW55ID0gKCg8YW55Pl9kZWNsMF8xOS5zZXRWYWx1ZShfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dFNlYXJjaENvbXBvbmVudF9Ib3N0XzhfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRTZWFyY2hDb21wb25lbnRfOF8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8yMC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzIwLmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8yMC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAnbXMtMSc7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMjAuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzM7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0U2VhcmNoQ29tcG9uZW50XzhfMigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMjAuYnV0dG9ubW9kZSA9PT0gJ2ljb24nKSB8fCAoX2RlY2wwXzIwLmJ1dHRvbm1vZGUgPT09ICdtaXhlZCcpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8yMC5pY29ubmFtZTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMjAuYnV0dG9ubW9kZSA9PT0gJ21peGVkJyk7XG4gICAgY3VyclZhbF8xO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dFNlYXJjaENvbXBvbmVudF84XzMoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzIwLmJ1dHRvbm1vZGUgPT09ICd0ZXh0JykgfHwgKF9kZWNsMF8yMC5idXR0b25tb2RlID09PSAnbWl4ZWQnKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMjAuYnV0dG9udGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0lucHV0U2VhcmNoQ29tcG9uZW50XzhfNCgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMjAuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8yMC5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMjAuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNJbnB1dFNlYXJjaENvbXBvbmVudF84XzUoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8yMC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzIwLmhlbHB0ZXh0KSAmJiBfZGVjbDBfMjAuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdmb3JtLWNvbnRyb2wtcGxhaW50ZXh0IGFsaWduLXNlbGYtdG9wIG1zLTIgbWUtMSB3LWF1dG8nO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gW19kZWNsMF8zNC50cmFuc2Zvcm0oX2RlY2wwXzIwLmNvbXBvbmVudEhlaWdodCldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzIwLmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9ICdtbC0xJztcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8yMC5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfNTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjSW5wdXRTZWFyY2hDb21wb25lbnRfOF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMjAuZGlzYWJsZWxhYmVsO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAnY29sLTEyIGNvbC1mb3JtLWxhYmVsIGQtZmxleCc7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IFsoKF9kZWNsMF8yMC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM3LnRyYW5zZm9ybShfZGVjbDBfMjAubGFiZWxTaXplcyk6ICd2aXN1YWxseS1oaWRkZW4nKSxcbiAgICAgIF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzIwLmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzIwLm5hbWUsJ19sYWJlbCcpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzIwLm5hbWUsJycpO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMjAuaXNyZXF1aXJlZDtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzIwLnNwbGl0bGFiZWxhbmRoZWxwdGV4dDtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gX2RlY2wwXzIwLmxhYmVsO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoKF9kZWNsMF8yMC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzIwLmhlbHB0ZXh0KTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gJ2NvbC0xMic7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSBbKChfZGVjbDBfMjAuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzIwLmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICgoKF9kZWNsMF8yMC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzIwLmhlbHB0ZXh0KSAmJiBfZGVjbDBfMjAuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoKChfZGVjbDBfMjAuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8yMC5oZWxwdGV4dCkgJiYgX2RlY2wwXzIwLmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gKF9kZWNsMF8yMC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8yMC5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSAoX2RlY2wwXzIwLmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzIwLkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9ICdmb3JtLWNvbnRyb2wnO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9IFtfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8yMC5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8xNjtcbiAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzIwLm5hbWUsJycpO1xuICBjdXJyVmFsXzE3O1xuICBjb25zdCBjdXJyVmFsXzE4OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMjAubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IGN1cnJWYWxfMTk6YW55ID0gX2RlY2wwXzIwLnZhbHVlO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8yMC5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8yMDtcbiAgY29uc3QgY3VyclZhbF8yMTphbnkgPSBfZGVjbDBfMjAubWF4dGV4dGxlbmd0aDtcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSAoX2RlY2wwXzIwLmludmFsaWQgJiYgKF9kZWNsMF8yMC5kaXJ0eSB8fCBfZGVjbDBfMjAudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIyO1xuICBjb25zdCBjdXJyVmFsXzIzOmFueSA9IF9kZWNsMF8yMC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBjdXJyVmFsXzI0OmFueSA9IF9kZWNsMF8yMC5yZWFkb25seTtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgY3VyclZhbF8yNTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzIwLm5hbWUsJ19zZWFyY2gnKTtcbiAgY3VyclZhbF8yNTtcbiAgY29uc3QgY3VyclZhbF8yNjphbnkgPSAoKF9kZWNsMF8yMC5idXR0b25tb2RlID09PSAnaWNvbicpIHx8IChfZGVjbDBfMjAuYnV0dG9ubW9kZSA9PT0gJ21peGVkJykpO1xuICBjdXJyVmFsXzI2O1xuICBjb25zdCBjdXJyVmFsXzI3OmFueSA9ICgoX2RlY2wwXzIwLmJ1dHRvbm1vZGUgPT09ICd0ZXh0JykgfHwgKF9kZWNsMF8yMC5idXR0b25tb2RlID09PSAnbWl4ZWQnKSk7XG4gIGN1cnJWYWxfMjc7XG4gIGNvbnN0IGN1cnJWYWxfMjg6YW55ID0gKChfZGVjbDBfMjAuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8yMC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjg7XG4gIGNvbnN0IGN1cnJWYWxfMjk6YW55ID0gKCgoX2RlY2wwXzIwLmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMjAuaGVscHRleHQpICYmIF9kZWNsMF8yMC5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzI5O1xuICBjb25zdCBwZF8zMDphbnkgPSAoKDxhbnk+X2RlY2wwXzIwLm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzE6YW55ID0gKCg8YW55Pl9kZWNsMF8yMC5zZXRWYWx1ZShfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMyOmFueSA9ICgoPGFueT5fZGVjbDBfMjAuc2VhcmNoQ2xpY2soKSkgIT09IGZhbHNlKTtcbn1cbiJdfQ==
@@ -19,7 +19,7 @@ export class SacInputAreaComponent extends SacInputAreaCommon {
19
19
  SacInputAreaComponent.decorators = [
20
20
  { type: Component, args: [{
21
21
  selector: 'sac-inputarea',
22
- template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <textarea\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.rows]=\"rows\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [attr.maxlength]=\"maxlength\"\r\n [readonly]=\"readonly\"\r\n ></textarea>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
22
+ template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <textarea\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n [attr.placeholder]=\"placeholder\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [attr.rows]=\"rows\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n [disabled]=\"isdisabled\"\r\n [attr.maxlength]=\"maxtextlength\"\r\n [readonly]=\"readonly\"></textarea>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\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 @@ SacInputAreaComponent.ctorParameters = () => [
39
39
  { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
40
40
  { type: Injector }
41
41
  ];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRhcmVhLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9pbnB1dC9pbnB1dGFyZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFOztHQUVHO0FBa0JILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQkFBa0I7SUFDM0QsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQjtRQUVsQixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OztZQTlCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLCt0Q0FBK0I7Z0JBQy9CLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7cUJBQ3JEO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO3FCQUNyRDtpQkFDRjthQUNGOzs7WUFyQlEsc0JBQXNCLHVCQStCMUIsSUFBSSxZQUFJLFFBQVE7WUFsQ2lCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjSW5wdXRBcmVhQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogSW5wdXQgQm94IGbDvHIgbGFuZ2UgVGV4dGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWlucHV0YXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0YXJlYS5odG1sJyxcclxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0lucHV0QXJlYUNvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjSW5wdXRBcmVhQ29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0lucHV0QXJlYUNvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0QXJlYUNvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3JcclxuICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRhcmVhLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9pbnB1dC9pbnB1dGFyZWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFOztHQUVHO0FBa0JILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQkFBa0I7SUFDM0QsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQjtRQUVsQixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OztZQTlCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLGk0RkFBK0I7Z0JBQy9CLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7cUJBQ3JEO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO3FCQUNyRDtpQkFDRjthQUNGOzs7WUFyQlEsc0JBQXNCLHVCQStCMUIsSUFBSSxZQUFJLFFBQVE7WUFsQ2lCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FjSW5wdXRBcmVhQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogSW5wdXQgQm94IGbDvHIgbGFuZ2UgVGV4dGVcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2FjLWlucHV0YXJlYScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0YXJlYS5odG1sJyxcclxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0lucHV0QXJlYUNvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjSW5wdXRBcmVhQ29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0lucHV0QXJlYUNvbXBvbmVudCBleHRlbmRzIFNhY0lucHV0QXJlYUNvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0b3JcclxuICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXHJcbiAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcclxuICAgIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxufVxyXG4iXX0=
@@ -19,7 +19,7 @@ export class SacInputCurrencyComponent extends SacInputCurrencyCommon {
19
19
  SacInputCurrencyComponent.decorators = [
20
20
  { type: Component, args: [{
21
21
  selector: 'sac-inputcurrency',
22
- template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <div\r\n class=\"input-group input-group-sm\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n />\r\n <span class=\"input-group-text\">{{currency}}</span>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
22
+ template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div\r\n class=\"input-group input-group-sm\"\r\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\r\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\"\r\n [class.has-validation]=\"isinlineerrorenabled && invalid && (dirty || touched)\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [readonly]=\"readonly\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n <span class=\"input-group-text\">{{ currency }}</span>\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\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 @@ SacInputCurrencyComponent.ctorParameters = () => [
39
39
  { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
40
40
  { type: Injector }
41
41
  ];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRjdXJyZW5jeS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvaW5wdXQvaW5wdXRjdXJyZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEU7O0dBRUc7QUFrQkgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHNCQUFzQjtJQUNuRSx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBOUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwyakRBQW1DO2dCQUNuQywrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO3FCQUN6RDtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztxQkFDekQ7aUJBQ0Y7YUFDRjs7O1lBckJRLHNCQUFzQix1QkErQjFCLElBQUksWUFBSSxRQUFRO1lBbENpQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0lucHV0Q3VycmVuY3lDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBJbnB1dCBDb250cm9sIGbDvHIgV8OkaHJ1bmdlblxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtaW5wdXRjdXJyZW5jeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0Y3VycmVuY3kuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0lucHV0Q3VycmVuY3lDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dEN1cnJlbmN5Q29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRjdXJyZW5jeS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9qZWt0ZS9zaW1wbGVhbmd1bGFyY29udHJvbHMtbmcxMC9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDUvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvaW5wdXQvaW5wdXRjdXJyZW5jeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEU7O0dBRUc7QUFrQkgsTUFBTSxPQUFPLHlCQUEwQixTQUFRLHNCQUFzQjtJQUNuRSx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBOUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixveUdBQW1DO2dCQUNuQywrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDO3FCQUN6RDtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztxQkFDekQ7aUJBQ0Y7YUFDRjs7O1lBckJRLHNCQUFzQix1QkErQjFCLElBQUksWUFBSSxRQUFRO1lBbENpQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNhY0lucHV0Q3VycmVuY3lDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBJbnB1dCBDb250cm9sIGbDvHIgV8OkaHJ1bmdlblxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzYWMtaW5wdXRjdXJyZW5jeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0Y3VycmVuY3kuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dEN1cnJlbmN5Q29tcG9uZW50KSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhY0lucHV0Q3VycmVuY3lDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dEN1cnJlbmN5Q29tbW9uIHtcclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RvclxyXG4gICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcclxuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXHJcbiAgKSB7XHJcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG59XHJcbiJdfQ==
@@ -19,7 +19,7 @@ export class SacInputDecimalComponent extends SacInputDecimalCommon {
19
19
  SacInputDecimalComponent.decorators = [
20
20
  { type: Component, args: [{
21
21
  selector: 'sac-inputdecimal',
22
- template: "<div class=\"row mb-3\" [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{name}}\"\r\n class=\"col-12 col-form-label\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n >{{label}}</label\r\n >\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n >\r\n <input\r\n id=\"{{name}}\"\r\n name=\"{{name}}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\"\r\n />\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\"\r\n >\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n </div>\r\n</div>\r\n",
22
+ template: "<div\r\n class=\"row mb-3\"\r\n [class.g-0]=\"disablelabel\">\r\n <label\r\n for=\"{{ name }}\"\r\n class=\"col-12 col-form-label d-flex\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'visually-hidden', componentHeight | toLabelHeight]\"\r\n [class.required]=\"isrequired\">\r\n <div\r\n class=\"text flex-grow-0\"\r\n [class.flex-sm-grow-1]=\"splitlabelandhelptext\">\r\n {{ label }}\r\n </div>\r\n <sac-tooltip\r\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ms-1\">\r\n </span>\r\n </sac-tooltip>\r\n </label>\r\n <div\r\n class=\"col-12\"\r\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\r\n [class.d-flex]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <div [class.flex-grow-1]=\"helptextmode === 'tooltip' && helptext && disablelabel\">\r\n <input\r\n id=\"{{ name }}\"\r\n name=\"{{ name }}\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n [value]=\"value\"\r\n (blur)=\"onTouch()\"\r\n (input)=\"setValue($event.target.value)\"\r\n [attr.placeholder]=\"placeholder\"\r\n [readonly]=\"readonly\"\r\n (keypress)=\"onKeyPress($event)\"\r\n [disabled]=\"isdisabled\"\r\n [class.is-invalid]=\"invalid && (dirty || touched)\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\" />\r\n\r\n <div\r\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\"\r\n class=\"invalid-feedback\">\r\n {{ GetErrorMessage() | async }}\r\n </div>\r\n <div\r\n *ngIf=\"helptextmode === 'text' && helptext\"\r\n class=\"form-text\">\r\n {{ helptext }}\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\r\n class=\"form-control-plaintext align-self-top ms-2 me-1 w-auto\"\r\n [ngClass]=\"[componentHeight | toControlHeight]\">\r\n <sac-tooltip\r\n [tooltiptext]=\"helptext\"\r\n [inlinemode]=\"true\">\r\n <span\r\n [ngClass]=\"HelptextTooltipIcon\"\r\n class=\"ml-1\">\r\n </span>\r\n </sac-tooltip>\r\n </div>\r\n </div>\r\n</div>\r\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 @@ SacInputDecimalComponent.ctorParameters = () => [
39
39
  { type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
40
40
  { type: Injector }
41
41
  ];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRkZWNpbWFsLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9pbnB1dC9pbnB1dGRlY2ltYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFOztHQUVHO0FBa0JILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxxQkFBcUI7SUFDakUsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQjtRQUVsQixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OztZQTlCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsZ3BDQUFrQztnQkFDbEMsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDeEQ7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7cUJBQ3hEO2lCQUNGO2FBQ0Y7OztZQXJCUSxzQkFBc0IsdUJBK0IxQixJQUFJLFlBQUksUUFBUTtZQWxDaUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dERlY2ltYWxDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBJbnB1dCBLb21wb25lbnRlIGbDvHIgWmFobGVuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1pbnB1dGRlY2ltYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dGRlY2ltYWwuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dERlY2ltYWxDb21wb25lbnQpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0lucHV0RGVjaW1hbENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dERlY2ltYWxDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dERlY2ltYWxDb21tb24ge1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcbn1cclxuIl19
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRkZWNpbWFsLmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwNS9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9pbnB1dC9pbnB1dGRlY2ltYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFOztHQUVHO0FBa0JILE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxxQkFBcUI7SUFDakUsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQjtRQUVsQixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OztZQTlCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsK3hGQUFrQztnQkFDbEMsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDeEQ7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7cUJBQ3hEO2lCQUNGO2FBQ0Y7OztZQXJCUSxzQkFBc0IsdUJBK0IxQixJQUFJLFlBQUksUUFBUTtZQWxDaUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNJbnB1dERlY2ltYWxDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBJbnB1dCBLb21wb25lbnRlIGbDvHIgWmFobGVuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NhYy1pbnB1dGRlY2ltYWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dGRlY2ltYWwuaHRtbCcsXHJcbiAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNJbnB1dERlY2ltYWxDb21wb25lbnQpLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0lucHV0RGVjaW1hbENvbXBvbmVudCksXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTYWNJbnB1dERlY2ltYWxDb21wb25lbnQgZXh0ZW5kcyBTYWNJbnB1dERlY2ltYWxDb21tb24ge1xyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdG9yXHJcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xyXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcclxuICApIHtcclxuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXHJcbn1cclxuIl19