@simpleangularcontrols/sac-bootstrap3 10.0.0-rc.27 → 10.0.0-rc.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js +159 -166
  2. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js.map +1 -1
  3. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js +1 -1
  4. package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js.map +1 -1
  5. package/controls/dialog/dialog.d.ts +3 -3
  6. package/controls/grid/grid.d.ts +1 -1
  7. package/controls/grid/gridbutton.d.ts +5 -2
  8. package/controls/grid/gridcolumn.d.ts +1 -1
  9. package/controls/grid/gridcolumnaction.d.ts +1 -1
  10. package/controls/grid/gridimage.d.ts +0 -1
  11. package/controls/list/dropdown.d.ts +2 -11
  12. package/controls/list/dropdownoption.directive.d.ts +11 -0
  13. package/controls/list/dropdownoption.directive.ngfactory.d.ts +1 -0
  14. package/controls/list/list.token.d.ts +3 -0
  15. package/controls/list/list.token.ngfactory.d.ts +1 -0
  16. package/controls/list/listbox.d.ts +4 -1
  17. package/controls/list/listboxoption.directive.d.ts +11 -0
  18. package/controls/list/listboxoption.directive.ngfactory.d.ts +1 -0
  19. package/controls/tabs/tab.d.ts +1 -1
  20. package/controls/upload/upload.d.ts +1 -1
  21. package/controls/validation/validationsummary.d.ts +1 -1
  22. package/esm2015/controls/buttons/button.js +4 -3
  23. package/esm2015/controls/buttons/button.module.js +5 -6
  24. package/esm2015/controls/buttons/button.module.ngfactory.js +1 -1
  25. package/esm2015/controls/checkbox/checkbox.js +2 -2
  26. package/esm2015/controls/checkbox/checkbox.module.js +7 -18
  27. package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +1 -1
  28. package/esm2015/controls/checkbox/radiobutton.js +1 -1
  29. package/esm2015/controls/checkbox/radiobuttons.js +2 -2
  30. package/esm2015/controls/confirm/confirm.module.js +5 -4
  31. package/esm2015/controls/confirm/confirm.module.ngfactory.js +1 -1
  32. package/esm2015/controls/contextmenu/contextmenu.js +2 -2
  33. package/esm2015/controls/contextmenu/contextmenu.module.js +3 -2
  34. package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +1 -1
  35. package/esm2015/controls/datetime/date.js +7 -7
  36. package/esm2015/controls/datetime/dateselector.js +2 -2
  37. package/esm2015/controls/datetime/datetime.js +2 -2
  38. package/esm2015/controls/datetime/datetime.module.js +8 -16
  39. package/esm2015/controls/datetime/datetime.module.ngfactory.js +1 -1
  40. package/esm2015/controls/datetime/time.js +2 -2
  41. package/esm2015/controls/dialog/dialog.js +14 -9
  42. package/esm2015/controls/dialog/dialog.module.js +6 -7
  43. package/esm2015/controls/dialog/dialog.module.ngfactory.js +1 -1
  44. package/esm2015/controls/grid/grid.js +7 -5
  45. package/esm2015/controls/grid/grid.module.js +6 -5
  46. package/esm2015/controls/grid/grid.module.ngfactory.js +1 -1
  47. package/esm2015/controls/grid/gridbutton.js +12 -25
  48. package/esm2015/controls/grid/gridcolumn.js +5 -4
  49. package/esm2015/controls/grid/gridcolumnaction.js +5 -4
  50. package/esm2015/controls/grid/gridimage.js +2 -12
  51. package/esm2015/controls/grid/paging.js +8 -5
  52. package/esm2015/controls/input/input.js +2 -2
  53. package/esm2015/controls/input/input.module.js +7 -5
  54. package/esm2015/controls/input/input.module.ngfactory.js +1 -1
  55. package/esm2015/controls/input/inputarea.js +2 -2
  56. package/esm2015/controls/input/inputcurrency.js +2 -2
  57. package/esm2015/controls/input/inputdecimal.js +2 -2
  58. package/esm2015/controls/input/inputemail.js +2 -2
  59. package/esm2015/controls/input/inputinteger.js +2 -2
  60. package/esm2015/controls/input/inputpassword.js +2 -2
  61. package/esm2015/controls/input/inputsearch.js +2 -2
  62. package/esm2015/controls/list/dropdown.js +7 -27
  63. package/esm2015/controls/list/dropdownoption.directive.js +24 -0
  64. package/esm2015/controls/list/dropdownoption.directive.ngfactory.js +7 -0
  65. package/esm2015/controls/list/list.module.js +11 -16
  66. package/esm2015/controls/list/list.module.ngfactory.js +1 -1
  67. package/esm2015/controls/list/list.token.js +6 -0
  68. package/esm2015/controls/list/list.token.ngfactory.js +7 -0
  69. package/esm2015/controls/list/listbox.js +8 -5
  70. package/esm2015/controls/list/listboxoption.directive.js +24 -0
  71. package/esm2015/controls/list/listboxoption.directive.ngfactory.js +7 -0
  72. package/esm2015/controls/static/formcontainer.js +2 -2
  73. package/esm2015/controls/static/staticlabel.js +2 -2
  74. package/esm2015/controls/static/staticlabel.module.js +5 -8
  75. package/esm2015/controls/static/staticlabel.module.ngfactory.js +1 -1
  76. package/esm2015/controls/tabs/tab.js +5 -3
  77. package/esm2015/controls/tabs/tabs.module.js +6 -7
  78. package/esm2015/controls/tabs/tabs.module.ngfactory.js +1 -1
  79. package/esm2015/controls/tinymce/tinymce.js +2 -2
  80. package/esm2015/controls/tinymce/tinymce.module.js +7 -5
  81. package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +1 -1
  82. package/esm2015/controls/tooltip/tooltip.js +2 -2
  83. package/esm2015/controls/tooltip/tooltip.module.js +4 -3
  84. package/esm2015/controls/tooltip/tooltip.module.ngfactory.js +1 -1
  85. package/esm2015/controls/treeview/treeview.js +2 -2
  86. package/esm2015/controls/treeview/treeview.module.js +9 -2
  87. package/esm2015/controls/treeview/treeview.module.ngfactory.js +1 -1
  88. package/esm2015/controls/upload/dropzonemultiple.js +2 -2
  89. package/esm2015/controls/upload/dropzonesingle.js +2 -2
  90. package/esm2015/controls/upload/upload.js +4 -4
  91. package/esm2015/controls/upload/upload.module.js +9 -2
  92. package/esm2015/controls/upload/upload.module.ngfactory.js +1 -1
  93. package/esm2015/controls/upload/uploadmultiple.js +2 -2
  94. package/esm2015/controls/validation/validationsummary.js +3 -3
  95. package/esm2015/controls/validation/validationsummary.module.js +5 -6
  96. package/esm2015/controls/validation/validationsummary.module.ngfactory.js +1 -1
  97. package/esm2015/controls/wizard/wizard.module.js +6 -7
  98. package/esm2015/controls/wizard/wizard.module.ngfactory.js +1 -1
  99. package/esm2015/public_api.js +3 -1
  100. package/esm2015/simpleangularcontrols-sac-bootstrap3.js +2 -1
  101. package/fesm2015/simpleangularcontrols-sac-bootstrap3.js +157 -163
  102. package/fesm2015/simpleangularcontrols-sac-bootstrap3.js.map +1 -1
  103. package/package.json +2 -2
  104. package/public_api.d.ts +2 -0
  105. package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.28.tgz +0 -0
  106. package/simpleangularcontrols-sac-bootstrap3.d.ts +1 -0
  107. package/simpleangularcontrols-sac-bootstrap3.metadata.json +1 -1
  108. package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.27.tgz +0 -0
@@ -5,6 +5,7 @@ import { SacContextmenuItemButtonComponent } from './contextmenuitembutton';
5
5
  import { SacContextmenuItemSplitterComponent } from './contextmenuitemsplitter';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { NgModule } from '@angular/core';
8
+ import { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';
8
9
  export class SACBootstrap3ContextmenuModule {
9
10
  }
10
11
  SACBootstrap3ContextmenuModule.decorators = [
@@ -16,7 +17,7 @@ SACBootstrap3ContextmenuModule.decorators = [
16
17
  SacContextmenuAnchorDirective,
17
18
  SacContextmenuContainerDirective,
18
19
  ],
19
- imports: [CommonModule],
20
+ imports: [CommonModule, SACCommonUtliltiesModule],
20
21
  exports: [
21
22
  SacContextmenuComponent,
22
23
  SacContextmenuItemButtonComponent,
@@ -25,4 +26,4 @@ SACBootstrap3ContextmenuModule.decorators = [
25
26
  ],
26
27
  },] }
27
28
  ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFrQnpDLE1BQU0sT0FBTyw4QkFBOEI7OztZQWhCMUMsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRTtvQkFDVix1QkFBdUI7b0JBQ3ZCLGlDQUFpQztvQkFDakMsbUNBQW1DO29CQUNuQyw2QkFBNkI7b0JBQzdCLGdDQUFnQztpQkFDbkM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2dCQUN2QixPQUFPLEVBQUU7b0JBQ0wsdUJBQXVCO29CQUN2QixpQ0FBaUM7b0JBQ2pDLG1DQUFtQztvQkFDbkMsNkJBQTZCO2lCQUNoQzthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHRtZW51JztcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51QW5jaG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250ZXh0bWVudWFuY2hvcic7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vY29udGV4dG1lbnVjb250YWluZXInO1xuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZXh0bWVudWl0ZW1idXR0b24nO1xuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbXNwbGl0dGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBTYWNDb250ZXh0bWVudUNvbXBvbmVudCxcbiAgICAgICAgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBTYWNDb250ZXh0bWVudUl0ZW1TcGxpdHRlckNvbXBvbmVudCxcbiAgICAgICAgU2FjQ29udGV4dG1lbnVBbmNob3JEaXJlY3RpdmUsXG4gICAgICAgIFNhY0NvbnRleHRtZW51Q29udGFpbmVyRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBTYWNDb250ZXh0bWVudUNvbXBvbmVudCxcbiAgICAgICAgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBTYWNDb250ZXh0bWVudUl0ZW1TcGxpdHRlckNvbXBvbmVudCxcbiAgICAgICAgU2FjQ29udGV4dG1lbnVBbmNob3JEaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU0FDQm9vdHN0cmFwM0NvbnRleHRtZW51TW9kdWxlIHt9XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2NvbnRleHRtZW51L2NvbnRleHRtZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFrQjdFLE1BQU0sT0FBTyw4QkFBOEI7OztZQWhCMUMsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRTtvQkFDVix1QkFBdUI7b0JBQ3ZCLGlDQUFpQztvQkFDakMsbUNBQW1DO29CQUNuQyw2QkFBNkI7b0JBQzdCLGdDQUFnQztpQkFDbkM7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLHdCQUF3QixDQUFDO2dCQUNqRCxPQUFPLEVBQUU7b0JBQ0wsdUJBQXVCO29CQUN2QixpQ0FBaUM7b0JBQ2pDLG1DQUFtQztvQkFDbkMsNkJBQTZCO2lCQUNoQzthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHRtZW51JztcbmltcG9ydCB7IFNhY0NvbnRleHRtZW51QW5jaG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9jb250ZXh0bWVudWFuY2hvcic7XG5pbXBvcnQgeyBTYWNDb250ZXh0bWVudUNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vY29udGV4dG1lbnVjb250YWluZXInO1xuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZXh0bWVudWl0ZW1idXR0b24nO1xuaW1wb3J0IHsgU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbnRleHRtZW51aXRlbXNwbGl0dGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0FDQ29tbW9uVXRsaWx0aWVzTW9kdWxlIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgU2FjQ29udGV4dG1lbnVDb21wb25lbnQsXG4gICAgICAgIFNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnQsXG4gICAgICAgIFNhY0NvbnRleHRtZW51QW5jaG9yRGlyZWN0aXZlLFxuICAgICAgICBTYWNDb250ZXh0bWVudUNvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNBQ0NvbW1vblV0bGlsdGllc01vZHVsZV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBTYWNDb250ZXh0bWVudUNvbXBvbmVudCxcbiAgICAgICAgU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50LFxuICAgICAgICBTYWNDb250ZXh0bWVudUl0ZW1TcGxpdHRlckNvbXBvbmVudCxcbiAgICAgICAgU2FjQ29udGV4dG1lbnVBbmNob3JEaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU0FDQm9vdHN0cmFwM0NvbnRleHRtZW51TW9kdWxlIHt9XG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS5tb2R1bGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGkxIGZyb20gJy4vY29udGV4dG1lbnUubW9kdWxlJztcbmltcG9ydCAqIGFzIGkyIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBpMyBmcm9tICcuL2NvbnRleHRtZW51JztcbmltcG9ydCAqIGFzIGk0IGZyb20gJy4vY29udGV4dG1lbnVpdGVtYnV0dG9uJztcbmltcG9ydCAqIGFzIGk1IGZyb20gJy4vY29udGV4dG1lbnVpdGVtc3BsaXR0ZXInO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi9jb250ZXh0bWVudWFuY2hvcic7XG5pbXBvcnQgKiBhcyBpNyBmcm9tICcuL2NvbnRleHRtZW51Y29udGFpbmVyJztcbmV4cG9ydCBjb25zdCBTQUNCb290c3RyYXAzQ29udGV4dG1lbnVNb2R1bGVOZ0ZhY3Rvcnk6aTAuTmdNb2R1bGVGYWN0b3J5PGkxLlNBQ0Jvb3RzdHJhcDNDb250ZXh0bWVudU1vZHVsZT4gPSAobnVsbCBhcyBhbnkpO1xudmFyIF9kZWNsMF8wOmkyLk5nQ2xhc3MgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTppMi5OZ0NvbXBvbmVudE91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOmkyLk5nRm9yT2Y8YW55LGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzppMi5OZ0lmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDppMi5OZ1RlbXBsYXRlT3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU6aTIuTmdTdHlsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82OmkyLk5nU3dpdGNoID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc6aTIuTmdTd2l0Y2hDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg6aTIuTmdTd2l0Y2hEZWZhdWx0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk6aTIuTmdQbHVyYWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA6aTIuTmdQbHVyYWxDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExOmkzLlNhY0NvbnRleHRtZW51Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmk0LlNhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzppNS5TYWNDb250ZXh0bWVudUl0ZW1TcGxpdHRlckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNDppNi5TYWNDb250ZXh0bWVudUFuY2hvckRpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTppNy5TYWNDb250ZXh0bWVudUNvbnRhaW5lckRpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjppMi5Bc3luY1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTc6aTIuVXBwZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xODppMi5Mb3dlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE5OmkyLkpzb25QaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIwOmkyLlNsaWNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMTppMi5EZWNpbWFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppMi5QZXJjZW50UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMzppMi5UaXRsZUNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI0OmkyLkN1cnJlbmN5UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppMi5EYXRlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNjppMi5JMThuUGx1cmFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNzppMi5JMThuU2VsZWN0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yODppMi5LZXlWYWx1ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjk6aTIuQ29tbW9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzE6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19TYWNDb250ZXh0bWVudUNvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTEub25DbGljayhfYW55LnRhcmdldCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNDb250ZXh0bWVudUNvbXBvbmVudF8xXzEoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMS5JY29uQ29udGV4dE1lbnU7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgcGRfMTphbnkgPSAoKDxhbnk+X2RlY2wwXzExLnRvZ2dsZSgpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjQ29udGV4dG1lbnVDb21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnZHJvcGRvd24nO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTEuY3NzY2xhc3M7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMTEuYnV0dG9udGVtcGxhdGUgfHwgX2RlY2wwXzMwKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzExLmlzb3BlbjtcbiAgY3VyclZhbF8zO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50X0hvc3RfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNDb250ZXh0bWVudUl0ZW1CdXR0b25Db21wb25lbnRfMl8yKCk6dm9pZCB7XG4gIGlmICgoIV9kZWNsMF8xMi5pc2ljb25kaXNhYmxlZCAmJiBfZGVjbDBfMTIuaW1hZ2UpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0geydtYXJnaW4tcmlnaHQnOihfZGVjbDBfMTIudGV4dD8gJzVweCc6IG51bGwpfTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMi5pbWFnZTtcbiAgICBjdXJyVmFsXzE7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudF8yXzMoKTp2b2lkIHtcbiAgaWYgKCghX2RlY2wwXzEyLmlzaWNvbmRpc2FibGVkICYmIF9kZWNsMF8xMi5pY29uKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IHsnbWFyZ2luLXJpZ2h0JzooX2RlY2wwXzEyLnRleHQ/ICc1cHgnOiBudWxsKX07XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoKF9kZWNsMF8xMi5pY29uc3R5bGUgKyAnICcpICsgX2RlY2wwXzEyLmljb24pO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50XzJfMSgpOnZvaWQge1xuICBpZiAoIV9kZWNsMF8xMi5pc2ljb25kaXNhYmxlZCkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMi5pbWFnZTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMi5pY29uO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzEyLmNzc2NsYXNzO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTIuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0ge2N1cnNvcjooIV9kZWNsMF8xMi5pc2Rpc2FibGVkPyAncG9pbnRlcic6IG51bGwpfTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzEyLm5hbWU7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IChfZGVjbDBfMTIuaXNkaXNhYmxlZD8gJ2Rpc2FibGVkJzogbnVsbCk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICFfZGVjbDBfMTIuaXNpY29uZGlzYWJsZWQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xMi50ZXh0O1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IHBkXzc6YW55ID0gKCg8YW55Pl9kZWNsMF8xMi5jYWxsYWN0aW9uKF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnRfSG9zdF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0NvbnRleHRtZW51SXRlbVNwbGl0dGVyQ29tcG9uZW50XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9jb250ZXh0bWVudS9jb250ZXh0bWVudS5tb2R1bGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGkxIGZyb20gJy4vY29udGV4dG1lbnUubW9kdWxlJztcbmltcG9ydCAqIGFzIGkyIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBpMyBmcm9tICcuL2NvbnRleHRtZW51JztcbmltcG9ydCAqIGFzIGk0IGZyb20gJy4vY29udGV4dG1lbnVpdGVtYnV0dG9uJztcbmltcG9ydCAqIGFzIGk1IGZyb20gJy4vY29udGV4dG1lbnVpdGVtc3BsaXR0ZXInO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi9jb250ZXh0bWVudWFuY2hvcic7XG5pbXBvcnQgKiBhcyBpNyBmcm9tICcuL2NvbnRleHRtZW51Y29udGFpbmVyJztcbmltcG9ydCAqIGFzIGk4IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5leHBvcnQgY29uc3QgU0FDQm9vdHN0cmFwM0NvbnRleHRtZW51TW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5TQUNCb290c3RyYXAzQ29udGV4dG1lbnVNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy5TYWNDb250ZXh0bWVudUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjppNC5TYWNDb250ZXh0bWVudUl0ZW1CdXR0b25Db21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTUuU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTQ6aTYuU2FjQ29udGV4dG1lbnVBbmNob3JEaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTcuU2FjQ29udGV4dG1lbnVDb250YWluZXJEaXJlY3RpdmUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY6aTIuQXN5bmNQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3OmkyLlVwcGVyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTg6aTIuTG93ZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOTppMi5Kc29uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMDppMi5TbGljZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjE6aTIuRGVjaW1hbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjI6aTIuUGVyY2VudFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjM6aTIuVGl0bGVDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppMi5DdXJyZW5jeVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjU6aTIuRGF0ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjY6aTIuSTE4blBsdXJhbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTIuSTE4blNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjg6aTIuS2V5VmFsdWVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI5Omk4LlNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmkyLkNvbW1vbk1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMTppOC5TQUNDb21tb25VdGxpbHRpZXNNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzI6aTAuVGVtcGxhdGVSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppMC5FbGVtZW50UmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbmZ1bmN0aW9uIF9WaWV3X1NhY0NvbnRleHRtZW51Q29tcG9uZW50X0hvc3RfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IHBkXzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5vbkNsaWNrKF9hbnkudGFyZ2V0KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0NvbnRleHRtZW51Q29tcG9uZW50XzFfMSgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzExLkljb25Db250ZXh0TWVudTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBwZF8xOmFueSA9ICgoPGFueT5fZGVjbDBfMTEudG9nZ2xlKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNDb250ZXh0bWVudUNvbXBvbmVudF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdkcm9wZG93bic7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMS5jc3NjbGFzcztcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzI5LnRyYW5zZm9ybShfZGVjbDBfMTEubmFtZSxfZGVjbDBfMTEuZTJlaWRlbnRpZmllcik7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IChfZGVjbDBfMTEuYnV0dG9udGVtcGxhdGUgfHwgX2RlY2wwXzMyKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzExLmlzb3BlbjtcbiAgY3VyclZhbF80O1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50X0hvc3RfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNDb250ZXh0bWVudUl0ZW1CdXR0b25Db21wb25lbnRfMl8yKCk6dm9pZCB7XG4gIGlmICgoIV9kZWNsMF8xMi5pc2ljb25kaXNhYmxlZCAmJiBfZGVjbDBfMTIuaW1hZ2UpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0geydtYXJnaW4tcmlnaHQnOihfZGVjbDBfMTIudGV4dD8gJzVweCc6IG51bGwpfTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMi5pbWFnZTtcbiAgICBjdXJyVmFsXzE7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0NvbnRleHRtZW51SXRlbUJ1dHRvbkNvbXBvbmVudF8yXzMoKTp2b2lkIHtcbiAgaWYgKCghX2RlY2wwXzEyLmlzaWNvbmRpc2FibGVkICYmIF9kZWNsMF8xMi5pY29uKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IHsnbWFyZ2luLXJpZ2h0JzooX2RlY2wwXzEyLnRleHQ/ICc1cHgnOiBudWxsKX07XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoKF9kZWNsMF8xMi5pY29uc3R5bGUgKyAnICcpICsgX2RlY2wwXzEyLmljb24pO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50XzJfMSgpOnZvaWQge1xuICBpZiAoIV9kZWNsMF8xMi5pc2ljb25kaXNhYmxlZCkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xMi5pbWFnZTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xMi5pY29uO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjQ29udGV4dG1lbnVJdGVtQnV0dG9uQ29tcG9uZW50XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzEyLmNzc2NsYXNzO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTIuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0ge2N1cnNvcjooIV9kZWNsMF8xMi5pc2Rpc2FibGVkPyAncG9pbnRlcic6IG51bGwpfTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzEyLm5hbWU7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9IChfZGVjbDBfMTIuaXNkaXNhYmxlZD8gJ2Rpc2FibGVkJzogbnVsbCk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICFfZGVjbDBfMTIuaXNpY29uZGlzYWJsZWQ7XG4gIGN1cnJWYWxfNTtcbiAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xMi50ZXh0O1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IHBkXzc6YW55ID0gKCg8YW55Pl9kZWNsMF8xMi5jYWxsYWN0aW9uKF9hbnkpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjQ29udGV4dG1lbnVJdGVtU3BsaXR0ZXJDb21wb25lbnRfSG9zdF8zXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0NvbnRleHRtZW51SXRlbVNwbGl0dGVyQ29tcG9uZW50XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuIl19
@@ -3,7 +3,10 @@ import { ChangeDetectorRef, Component, ElementRef, Host, Injector, Optional, for
3
3
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { SacDateCommon } from '@simpleangularcontrols/sac-common';
5
5
  import * as moment_ from 'moment';
6
- // #region Classes
6
+ // #region Variables
7
+ const moment = moment_['default'];
8
+ // #endregion Variables
9
+ // #region Exported Classes
7
10
  export class SacDateComponent extends SacDateCommon {
8
11
  // #region Constructors
9
12
  /**
@@ -20,7 +23,7 @@ export class SacDateComponent extends SacDateCommon {
20
23
  SacDateComponent.decorators = [
21
24
  { type: Component, args: [{
22
25
  selector: 'sac-date',
23
- template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
26
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 180 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <!-- this class comes in the div above when disabled [ngClass]=\"[disablelabel === false ? 'col-md-' + _inputsize : 'col-md-12']\" -->\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\">\n </sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
24
27
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
25
28
  providers: [
26
29
  {
@@ -42,8 +45,5 @@ SacDateComponent.ctorParameters = () => [
42
45
  { type: ElementRef },
43
46
  { type: ChangeDetectorRef }
44
47
  ];
45
- // #endregion Classes
46
- // #region Variables
47
- const moment = moment_['default'];
48
- // #endregion Variables
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9kYXRldGltZS9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDO0FBRWxDLGtCQUFrQjtBQW1CbEIsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFDL0MsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ3dCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLFVBQXNCLEVBQ3RCLEtBQXdCO1FBRXhCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7WUFsQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxVQUFVO2dCQUNwQiwwaktBQTBCO2dCQUMxQiwrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO3FCQUNsRDtvQkFDRDt3QkFDSSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztxQkFDbEQ7aUJBQ0o7YUFDSjs7O1lBeEJRLHNCQUFzQix1QkFvQ3RCLElBQUksWUFBSSxRQUFRO1lBbkNnQyxRQUFRO1lBQTFCLFVBQVU7WUFBeEMsaUJBQWlCOztBQThDMUIscUJBQXFCO0FBRXJCLG9CQUFvQjtBQUVwQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFbEMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjRGF0ZUNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5cbi8vICNyZWdpb24gQ2xhc3Nlc1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3NhYy1kYXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS5odG1sJyxcbiAgICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjRGF0ZUNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0RhdGVDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY0RhdGVDb21wb25lbnQgZXh0ZW5kcyBTYWNEYXRlQ29tbW9uIHtcbiAgICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAgICogQHBhcmFtIGluamVjdG9yIEluamVjdG9yIGZvciBpbmplY3Rpbmcgc2VydmljZXNcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiBSZWZlcmVuY2UgdG8gaHRtbCBkb20gZWxlbWVudFxuICAgICAqIEBwYXJhbSBjZFJlZiAgQ2hhbmdlIERlY3RlY3Rpb24gU2VydmllXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZm9ybUxheW91dCwgaW5qZWN0b3IsIGVsZW1lbnRSZWYsIGNkUmVmKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuXG4vLyAjZW5kcmVnaW9uIENsYXNzZXNcblxuLy8gI3JlZ2lvbiBWYXJpYWJsZXNcblxuY29uc3QgbW9tZW50ID0gbW9tZW50X1snZGVmYXVsdCddO1xuXG4vLyAjZW5kcmVnaW9uIFZhcmlhYmxlc1xuIl19
48
+ // #endregion Exported Classes
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9kYXRldGltZS9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBMkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzRixPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUVsQyxvQkFBb0I7QUFFcEIsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRWxDLHVCQUF1QjtBQUV2QiwyQkFBMkI7QUFtQjNCLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxhQUFhO0lBQy9DLHVCQUF1QjtJQUV2Qjs7Ozs7O09BTUc7SUFDSCxZQUN3QixVQUFrQyxFQUN0RCxRQUFrQixFQUNsQixVQUFzQixFQUN0QixLQUF3QjtRQUV4QixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs7O1lBbENKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsVUFBVTtnQkFDcEIsK25LQUEwQjtnQkFDMUIsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztxQkFDbEQ7b0JBQ0Q7d0JBQ0ksT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7cUJBQ2xEO2lCQUNKO2FBQ0o7OztZQS9CUSxzQkFBc0IsdUJBMkN0QixJQUFJLFlBQUksUUFBUTtZQTFDZ0MsUUFBUTtZQUExQixVQUFVO1lBQXhDLGlCQUFpQjs7QUFxRDFCLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUgfSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNhY0RhdGVDb21tb24sIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5pbXBvcnQgKiBhcyBtb21lbnRfIGZyb20gJ21vbWVudCc7XG5cbi8vICNyZWdpb24gVmFyaWFibGVzXG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF9bJ2RlZmF1bHQnXTtcblxuLy8gI2VuZHJlZ2lvbiBWYXJpYWJsZXNcblxuLy8gI3JlZ2lvbiBFeHBvcnRlZCBDbGFzc2VzXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2FjLWRhdGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmh0bWwnLFxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNEYXRlQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjRGF0ZUNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjRGF0ZUNvbXBvbmVudCBleHRlbmRzIFNhY0RhdGVDb21tb24ge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIFJlZmVyZW5jZSB0byBodG1sIGRvbSBlbGVtZW50XG4gICAgICogQHBhcmFtIGNkUmVmICBDaGFuZ2UgRGVjdGVjdGlvbiBTZXJ2aWVcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgZWxlbWVudFJlZiwgY2RSZWYpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG5cbi8vICNlbmRyZWdpb24gRXhwb3J0ZWQgQ2xhc3Nlc1xuIl19
@@ -5,7 +5,7 @@ export class SacDateSelectorComponent extends SacDateSelectorCommon {
5
5
  SacDateSelectorComponent.decorators = [
6
6
  { type: Component, args: [{
7
7
  selector: 'sac-dateselector',
8
- template: "<div\n class=\"calendar-selector\"\n style=\"min-width: 265px\">\n <table\n class=\"table-condensed\"\n style=\"width: 100%\"\n *ngIf=\"dateselection\">\n <thead>\n <tr>\n <th\n class=\"prev text-left\"\n (click)=\"monthBack()\">\n <i [class]=\"iconMonthPrev\"></i>\n </th>\n <th\n colspan=\"5\"\n class=\"switch text-center\"\n >{{ month + 1 }}/{{ year }}</th\n >\n <th\n class=\"next text-right\"\n (click)=\"monthNext()\">\n <i [class]=\"iconMonthNext\"></i>\n </th>\n </tr>\n <tr>\n <th class=\"dow text-center\">Mo</th>\n <th class=\"dow text-center\">Di</th>\n <th class=\"dow text-center\">Mi</th>\n <th class=\"dow text-center\">Do</th>\n <th class=\"dow text-center\">Fr</th>\n <th class=\"dow text-center\">Sa</th>\n <th class=\"dow text-center\">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let week of dates; let i = index\">\n <tr>\n <td\n class=\"text-center\"\n *ngFor=\"let item of week\"\n [ngStyle]=\"{ cursor: item.isenabled ? 'pointer' : null }\"\n [ngClass]=\"{ 'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled }\"\n (click)=\"selectDate(item)\">\n {{ item.displaytext }}\n </td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div\n *ngIf=\"timeselection\"\n style=\"margin-top: 10px\">\n <div class=\"row\">\n <div\n class=\"col-xs-6\"\n style=\"padding-right: 20px\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\" />\n </div>\n </div>\n <div\n class=\"col-xs-6\"\n style=\"padding-left: 20px\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"row\"\n style=\"margin-top: 10px\">\n <div class=\"col-xs-4 text-left\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"col-xs-8 text-right\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"resetSelection()\">\n Reset\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n style=\"margin-left: 10px\"\n (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n"
8
+ template: "<div\n class=\"calendar-selector\"\n style=\"min-width: 265px\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <table\n class=\"table-condensed\"\n style=\"width: 100%\"\n *ngIf=\"dateselection\">\n <thead>\n <tr>\n <th\n class=\"prev text-left\"\n (click)=\"monthBack()\">\n <i [class]=\"iconMonthPrev\"></i>\n </th>\n <th\n colspan=\"5\"\n class=\"switch text-center\"\n >{{ month + 1 }}/{{ year }}</th\n >\n <th\n class=\"next text-right\"\n (click)=\"monthNext()\">\n <i [class]=\"iconMonthNext\"></i>\n </th>\n </tr>\n <tr>\n <th class=\"dow text-center\">Mo</th>\n <th class=\"dow text-center\">Di</th>\n <th class=\"dow text-center\">Mi</th>\n <th class=\"dow text-center\">Do</th>\n <th class=\"dow text-center\">Fr</th>\n <th class=\"dow text-center\">Sa</th>\n <th class=\"dow text-center\">So</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let week of dates; let i = index\">\n <tr>\n <td\n class=\"text-center\"\n *ngFor=\"let item of week\"\n [ngStyle]=\"{ cursor: item.isenabled ? 'pointer' : null }\"\n [ngClass]=\"{ 'day-current': item.iscurrent, 'day-selected': item.isselected, 'day-new': item.isnew, 'day-disabled': !item.isenabled }\"\n (click)=\"selectDate(item)\"\n >{{ item.displaytext }}</td\n >\n </tr>\n </ng-container>\n </tbody>\n </table>\n <div\n *ngIf=\"timeselection\"\n style=\"margin-top: 10px\">\n <div class=\"row\">\n <div\n class=\"col-xs-6\"\n style=\"padding-right: 20px\">\n <div class=\"form-group\">\n <label>Stunde</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getHours()\"\n (input)=\"setHours($event.target.value)\"\n min=\"0\"\n max=\"23\" />\n </div>\n </div>\n <div\n class=\"col-xs-6\"\n style=\"padding-left: 20px\">\n <div class=\"form-group\">\n <label>Minute</label>\n <input\n type=\"number\"\n class=\"form-control\"\n [value]=\"getMinutes()\"\n (input)=\"setMinutes($event.target.value)\"\n min=\"0\"\n max=\"59\" />\n </div>\n </div>\n </div>\n </div>\n <div\n class=\"row\"\n style=\"margin-top: 10px\">\n <div class=\"col-xs-4 text-left\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"setToday()\">\n Heute\n </button>\n </div>\n <div class=\"col-xs-8 text-right\">\n <button\n type=\"button\"\n class=\"btn btn-default\"\n (click)=\"resetSelection()\">\n Reset\n </button>\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n style=\"margin-left: 10px\"\n (click)=\"applySelection()\">\n Apply\n </button>\n </div>\n </div>\n</div>\n"
9
9
  },] }
10
10
  ];
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RhdGV0aW1lL2RhdGVzZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBTzFFLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxxQkFBcUI7OztZQUpsRSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsazVIQUFrQzthQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2FjRGF0ZVNlbGVjdG9yQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYWMtZGF0ZXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVzZWxlY3Rvci5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50IGV4dGVuZHMgU2FjRGF0ZVNlbGVjdG9yQ29tbW9uIHtcblxufVxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXNlbGVjdG9yLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RhdGV0aW1lL2RhdGVzZWxlY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBMkIsTUFBTSxtQ0FBbUMsQ0FBQztBQU9uRyxNQUFNLE9BQU8sd0JBQXlCLFNBQVEscUJBQXFCOzs7WUFKbEUsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLHU5SEFBa0M7YUFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNhY0RhdGVTZWxlY3RvckNvbW1vbiwgU2FjVGVzdGluZ0F0dHJpYnV0ZVBpcGUgfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhYy1kYXRlc2VsZWN0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXNlbGVjdG9yLmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNEYXRlU2VsZWN0b3JDb21wb25lbnQgZXh0ZW5kcyBTYWNEYXRlU2VsZWN0b3JDb21tb24ge1xuXG59XG4iXX0=
@@ -18,7 +18,7 @@ export class SacDateTimeComponent extends SacDateTimeCommon {
18
18
  SacDateTimeComponent.decorators = [
19
19
  { type: Component, args: [{
20
20
  selector: 'sac-datetime',
21
- template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
21
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 160 : componentHeight === ControlHeight.Large ? 230 : 180\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control date-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showDateSelector()\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showDateSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"dateselect($event)\"\n dateselection=\"true\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
22
22
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
23
23
  providers: [
24
24
  {
@@ -40,4 +40,4 @@ SacDateTimeComponent.ctorParameters = () => [
40
40
  { type: ElementRef },
41
41
  { type: ChangeDetectorRef }
42
42
  ];
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGF0ZXRpbWUvZGF0ZXRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQW1CdEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGlCQUFpQjtJQUN2RCx1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDd0IsVUFBa0MsRUFDdEQsUUFBa0IsRUFDbEIsVUFBc0IsRUFDdEIsS0FBd0I7UUFFeEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7OztZQWxDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLDQ3SkFBOEI7Z0JBQzlCLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7cUJBQ3REO29CQUNEO3dCQUNJLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO3FCQUN0RDtpQkFDSjthQUNKOzs7WUFyQlEsc0JBQXNCLHVCQWlDdEIsSUFBSSxZQUFJLFFBQVE7WUFoQ2dDLFFBQVE7WUFBMUIsVUFBVTtZQUF4QyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNEYXRlVGltZUNvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2FjLWRhdGV0aW1lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUuaHRtbCcsXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0RhdGVUaW1lQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjRGF0ZVRpbWVDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY0RhdGVUaW1lQ29tcG9uZW50IGV4dGVuZHMgU2FjRGF0ZVRpbWVDb21tb24ge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIFJlZmVyZW5jZSB0byBodG1sIGRvbSBlbGVtZW50XG4gICAgICogQHBhcmFtIGNkUmVmICBDaGFuZ2UgRGVjdGVjdGlvbiBTZXJ2aWVcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgZWxlbWVudFJlZiwgY2RSZWYpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvZGF0ZXRpbWUvZGF0ZXRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQTJCLE1BQU0sbUNBQW1DLENBQUM7QUFvQi9GLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxpQkFBaUI7SUFDdkQsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ3dCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLFVBQXNCLEVBQ3RCLEtBQXdCO1FBRXhCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7WUFsQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxjQUFjO2dCQUN4QixpZ0tBQThCO2dCQUM5QiwrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO3FCQUN0RDtvQkFDRDt3QkFDSSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztxQkFDdEQ7aUJBQ0o7YUFDSjs7O1lBdEJRLHNCQUFzQix1QkFrQ3RCLElBQUksWUFBSSxRQUFRO1lBakNnQyxRQUFRO1lBQTFCLFVBQVU7WUFBeEMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjRGF0ZVRpbWVDb21tb24sIFNhY1Rlc3RpbmdBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcbmltcG9ydCB7IElNYXNrRGlyZWN0aXZlIH0gZnJvbSAnYW5ndWxhci1pbWFzayc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2FjLWRhdGV0aW1lJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUuaHRtbCcsXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0RhdGVUaW1lQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjRGF0ZVRpbWVDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY0RhdGVUaW1lQ29tcG9uZW50IGV4dGVuZHMgU2FjRGF0ZVRpbWVDb21tb24ge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmIFJlZmVyZW5jZSB0byBodG1sIGRvbSBlbGVtZW50XG4gICAgICogQHBhcmFtIGNkUmVmICBDaGFuZ2UgRGVjdGVjdGlvbiBTZXJ2aWVcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3RvciwgZWxlbWVudFJlZiwgY2RSZWYpO1xuICAgIH1cblxuICAgIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iXX0=
@@ -1,34 +1,26 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { IMaskModule } from 'angular-imask';
4
1
  import { SACBootstrap3LayoutModule } from '../layout/layout.module';
5
2
  import { SACBootstrap3TooltipModule } from '../tooltip/tooltip.module';
6
3
  import { SacDateComponent } from './date';
7
4
  import { SacDateSelectorComponent } from './dateselector';
8
5
  import { SacDateTimeComponent } from './datetime';
9
6
  import { SacTimeComponent } from './time';
7
+ import { CommonModule } from '@angular/common';
8
+ import { NgModule } from '@angular/core';
9
+ import { SACCommonUtliltiesModule } from '@simpleangularcontrols/sac-common';
10
+ import { IMaskModule } from 'angular-imask';
10
11
  export class SACBootstrap3DateTimeModule {
11
12
  }
12
13
  SACBootstrap3DateTimeModule.decorators = [
13
14
  { type: NgModule, args: [{
14
- declarations: [
15
- SacDateComponent,
16
- SacDateTimeComponent,
17
- SacTimeComponent,
18
- SacDateSelectorComponent,
19
- ],
15
+ declarations: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent],
20
16
  imports: [
21
17
  CommonModule,
22
18
  IMaskModule,
23
19
  SACBootstrap3LayoutModule,
24
20
  SACBootstrap3TooltipModule,
21
+ SACCommonUtliltiesModule,
25
22
  ],
26
- exports: [
27
- SacDateComponent,
28
- SacDateTimeComponent,
29
- SacTimeComponent,
30
- SacDateSelectorComponent,
31
- ],
23
+ exports: [SacDateComponent, SacDateTimeComponent, SacTimeComponent, SacDateSelectorComponent],
32
24
  },] }
33
25
  ];
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RhdGV0aW1lL2RhdGV0aW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBc0IxQyxNQUFNLE9BQU8sMkJBQTJCOzs7WUFwQnZDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1osZ0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsd0JBQXdCO2lCQUN6QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLHlCQUF5QjtvQkFDekIsMEJBQTBCO2lCQUMzQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZ0JBQWdCO29CQUNoQixvQkFBb0I7b0JBQ3BCLGdCQUFnQjtvQkFDaEIsd0JBQXdCO2lCQUN6QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFza01vZHVsZSB9IGZyb20gJ2FuZ3VsYXItaW1hc2snO1xuaW1wb3J0IHsgU0FDQm9vdHN0cmFwM0xheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmltcG9ydCB7IFNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBTYWNEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlJztcbmltcG9ydCB7IFNhY0RhdGVTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXNlbGVjdG9yJztcbmltcG9ydCB7IFNhY0RhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRldGltZSc7XG5pbXBvcnQgeyBTYWNUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2FjRGF0ZUNvbXBvbmVudCxcbiAgICBTYWNEYXRlVGltZUNvbXBvbmVudCxcbiAgICBTYWNUaW1lQ29tcG9uZW50LFxuICAgIFNhY0RhdGVTZWxlY3RvckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJTWFza01vZHVsZSxcbiAgICBTQUNCb290c3RyYXAzTGF5b3V0TW9kdWxlLFxuICAgIFNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2FjRGF0ZUNvbXBvbmVudCxcbiAgICBTYWNEYXRlVGltZUNvbXBvbmVudCxcbiAgICBTYWNUaW1lQ29tcG9uZW50LFxuICAgIFNhY0RhdGVTZWxlY3RvckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU0FDQm9vdHN0cmFwM0RhdGVUaW1lTW9kdWxlIHt9XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2RhdGV0aW1lL2RhdGV0aW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDMUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBYTVDLE1BQU0sT0FBTywyQkFBMkI7OztZQVh2QyxRQUFRLFNBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsd0JBQXdCLENBQUM7Z0JBQ2xHLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gseUJBQXlCO29CQUN6QiwwQkFBMEI7b0JBQzFCLHdCQUF3QjtpQkFDM0I7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsd0JBQXdCLENBQUM7YUFDaEciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTQUNCb290c3RyYXAzTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xuaW1wb3J0IHsgU0FDQm9vdHN0cmFwM1Rvb2x0aXBNb2R1bGUgfSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmltcG9ydCB7IFNhY0RhdGVDb21wb25lbnQgfSBmcm9tICcuL2RhdGUnO1xuaW1wb3J0IHsgU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlc2VsZWN0b3InO1xuaW1wb3J0IHsgU2FjRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL2RhdGV0aW1lJztcbmltcG9ydCB7IFNhY1RpbWVDb21wb25lbnQgfSBmcm9tICcuL3RpbWUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTQUNDb21tb25VdGxpbHRpZXNNb2R1bGUgfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuaW1wb3J0IHsgSU1hc2tNb2R1bGUgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtTYWNEYXRlQ29tcG9uZW50LCBTYWNEYXRlVGltZUNvbXBvbmVudCwgU2FjVGltZUNvbXBvbmVudCwgU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50XSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgSU1hc2tNb2R1bGUsXG4gICAgICAgIFNBQ0Jvb3RzdHJhcDNMYXlvdXRNb2R1bGUsXG4gICAgICAgIFNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlLFxuICAgICAgICBTQUNDb21tb25VdGxpbHRpZXNNb2R1bGUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbU2FjRGF0ZUNvbXBvbmVudCwgU2FjRGF0ZVRpbWVDb21wb25lbnQsIFNhY1RpbWVDb21wb25lbnQsIFNhY0RhdGVTZWxlY3RvckNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNBQ0Jvb3RzdHJhcDNEYXRlVGltZU1vZHVsZSB7fVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9kYXRldGltZS9kYXRldGltZS5tb2R1bGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGkxIGZyb20gJy4vZGF0ZXRpbWUubW9kdWxlJztcbmltcG9ydCAqIGFzIGkyIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBpMyBmcm9tICdhbmd1bGFyLWltYXNrJztcbmltcG9ydCAqIGFzIGk0IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgKiBhcyBpNSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi9kYXRlJztcbmltcG9ydCAqIGFzIGk3IGZyb20gJy4vZGF0ZXRpbWUnO1xuaW1wb3J0ICogYXMgaTggZnJvbSAnLi90aW1lJztcbmltcG9ydCAqIGFzIGk5IGZyb20gJy4vZGF0ZXNlbGVjdG9yJztcbmltcG9ydCAqIGFzIGkxMCBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9saGVpZ2h0LnBpcGUnO1xuaW1wb3J0ICogYXMgaTExIGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxMiBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxMyBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0ICogYXMgaTE0IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmltcG9ydCAqIGFzIGkxNSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcbmV4cG9ydCBjb25zdCBTQUNCb290c3RyYXAzRGF0ZVRpbWVNb2R1bGVOZ0ZhY3Rvcnk6aTAuTmdNb2R1bGVGYWN0b3J5PGkxLlNBQ0Jvb3RzdHJhcDNEYXRlVGltZU1vZHVsZT4gPSAobnVsbCBhcyBhbnkpO1xudmFyIF9kZWNsMF8wOmkyLk5nQ2xhc3MgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTppMi5OZ0NvbXBvbmVudE91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOmkyLk5nRm9yT2Y8YW55LGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzppMi5OZ0lmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDppMi5OZ1RlbXBsYXRlT3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU6aTIuTmdTdHlsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82OmkyLk5nU3dpdGNoID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc6aTIuTmdTd2l0Y2hDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg6aTIuTmdTd2l0Y2hEZWZhdWx0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk6aTIuTmdQbHVyYWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA6aTIuTmdQbHVyYWxDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExOmkzLklNYXNrRGlyZWN0aXZlPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTI6aTQuU2FjRm9ybUxheW91dERpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMzppNS5TYWNUb29sdGlwQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0Omk2LlNhY0RhdGVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTcuU2FjRGF0ZVRpbWVDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY6aTguU2FjVGltZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNzppOS5TYWNEYXRlU2VsZWN0b3JDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTg6aTIuQXN5bmNQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE5OmkyLlVwcGVyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjA6aTIuTG93ZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMTppMi5Kc29uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMjppMi5TbGljZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjM6aTIuRGVjaW1hbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjQ6aTIuUGVyY2VudFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjU6aTIuVGl0bGVDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNjppMi5DdXJyZW5jeVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTIuRGF0ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjg6aTIuSTE4blBsdXJhbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjk6aTIuSTE4blNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzA6aTIuS2V5VmFsdWVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMxOmkzLklNYXNrUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMjppMTAuU2FjVG9Db250cm9sSGVpZ2h0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppMTEuU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM0OmkxMi5TYWNUb0xhYmVsSGVpZ2h0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNTppMTMuU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNjppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzc6aTMuSU1hc2tNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzg6aTE0LlNBQ0Jvb3RzdHJhcDNMYXlvdXRNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTE1LlNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQwOmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDE6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlQ29tcG9uZW50X0hvc3RfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IHBkXzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5vbkNsaWNrKF9hbnkudGFyZ2V0KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV8yKCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMTQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8xNC5pc0FkYXB0aXZlTGFiZWwpICYmICgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTQuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzI7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzE0LmlzQWRhcHRpdmVMYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnY29sLXhzLTEyIGNvbnRyb2wtbGFiZWwnO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gWygoX2RlY2wwXzE0LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xNC5sYWJlbFNpemVzKTogJ3NyLW9ubHknKV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJ2xhYmVsJyk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJycpO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE0LmlzcmVxdWlyZWQ7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTQubGFiZWw7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzY7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV8zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV80KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTQuaW52YWxpZCkgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE4LnRyYW5zZm9ybShfZGVjbDBfMTQuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzYoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMTQuX3Nob3dzZWxlY3RvciAmJiBfZGVjbDBfMTQuX3Nob3dzZWxlY3RvcikpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAndHJ1ZSc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTQudmFsdWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IHBkXzI6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5kYXRlc2VsZWN0KF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlQ29tcG9uZW50XzFfNSgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE0Ll9zaG93c2VsZWN0b3IpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8xNC5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNC5Ub29sdGlwUG9zaXRpb24uYm90dG9tKSB8fCAoX2RlY2wwXzE0LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE0LlRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQpKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICgoX2RlY2wwXzE0LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE0LlRvb2x0aXBQb3NpdGlvbi50b3ApIHx8IChfZGVjbDBfMTQuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTQuVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE0LnBvc1BvcHVwTGVmdDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNC5wb3NQb3B1cFRvcDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNC5wb3NBcnJvd1RvcDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNC5wb3NBcnJvd0xlZnQ7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMTQuX3Nob3dzZWxlY3RvcjtcbiAgICBjdXJyVmFsXzY7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV84KCk6dm9pZCB7XG4gIGlmICgoKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpICYmICgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTQuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzI7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV83KCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE0LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzE0LmludmFsaWQgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoKF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzE0LmlzQWRhcHRpdmVMYWJlbCk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9ICdjb2wteHMtMTInO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBbKChfZGVjbDBfMTQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zMy50cmFuc2Zvcm0oX2RlY2wwXzE0LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpPyAnZmxleCc6IG51bGwpO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNC5Db250cm9sSGVpZ2h0LlNtYWxsKT8gMTIwOiAoKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNC5Db250cm9sSGVpZ2h0LkxhcmdlKT8gMTgwOiAxNDApKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNC5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNC5Db250cm9sSGVpZ2h0LkxhcmdlKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9ICdmb3JtLWNvbnRyb2wgZGF0ZS1jb250cm9sJztcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gX2RlY2wwXzE0LmltYXNrRGF0ZTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gKF9kZWNsMF8xNC5pbnZhbGlkICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSBfZGVjbDBfMTQucGxhY2Vob2xkZXI7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gX2RlY2wwXzE0LnZhbHVlc3RyaW5nO1xuICBjdXJyVmFsXzE3O1xuICBjb25zdCBjdXJyVmFsXzE4OmFueSA9IF9kZWNsMF8xNC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNC5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNC5JY29uU2VsZWN0b3I7XG4gIGN1cnJWYWxfMjA7XG4gIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKChfZGVjbDBfMTQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE0LmludmFsaWQpICYmIChfZGVjbDBfMTQuZGlydHkgfHwgX2RlY2wwXzE0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSBfZGVjbDBfMTQuX3Nob3dzZWxlY3RvcjtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSAoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE0LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMjQ7XG4gIGNvbnN0IHBkXzI1OmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2hhbmRsZUlucHV0KF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjY6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5vblRvdWNoZWQoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjc6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5fY29tcG9zaXRpb25TdGFydCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yODphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9jb21wb3NpdGlvbkVuZChfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI5OmFueSA9ICgoPGFueT5fZGVjbDBfMTQub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMDphbnkgPSAoKDxhbnk+X2RlY2wwXzE0LnNldFZhbHVlU3RyaW5nKF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMTphbnkgPSAoKDxhbnk+X2RlY2wwXzE0LnNob3dEYXRlU2VsZWN0b3IoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzI6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5zaG93RGF0ZVNlbGVjdG9yKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF9Ib3N0XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTUub25DbGljayhfYW55LnRhcmdldCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzIoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8xNS5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzE1LmlzQWRhcHRpdmVMYWJlbCkgJiYgKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE1LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNS5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVRpbWVDb21wb25lbnRfMl8xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNS5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzE1LmlzQWRhcHRpdmVMYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnY29sLXhzLTEyIGNvbnRyb2wtbGFiZWwnO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gWygoX2RlY2wwXzE1LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xNS5sYWJlbFNpemVzKTogJ3NyLW9ubHknKV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE1Lm5hbWUsJ2xhYmVsJyk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE1Lm5hbWUsJycpO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE1LmlzcmVxdWlyZWQ7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTUubGFiZWw7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzY7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfMygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTUuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzQoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE1LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNS5pbnZhbGlkKSAmJiAoX2RlY2wwXzE1LmRpcnR5IHx8IF9kZWNsMF8xNS50b3VjaGVkKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTgudHJhbnNmb3JtKF9kZWNsMF8xNS5HZXRFcnJvck1lc3NhZ2UoKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzYoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMTUuX3Nob3dzZWxlY3RvciAmJiBfZGVjbDBfMTUuX3Nob3dzZWxlY3RvcikpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAndHJ1ZSc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAndHJ1ZSc7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTUudmFsdWU7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5kYXRlc2VsZWN0KF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzUoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNS5fc2hvd3NlbGVjdG9yKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMTUuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTUuVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSkgfHwgKF9kZWNsMF8xNS5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNS5Ub29sdGlwUG9zaXRpb24uYm90dG9tZW5kKSk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoKF9kZWNsMF8xNS5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNS5Ub29sdGlwUG9zaXRpb24udG9wKSB8fCAoX2RlY2wwXzE1LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE1LlRvb2x0aXBQb3NpdGlvbi50b3BlbmQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNS5wb3NQb3B1cExlZnQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTUucG9zUG9wdXBUb3A7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTUucG9zQXJyb3dUb3A7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTUucG9zQXJyb3dMZWZ0O1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzE1Ll9zaG93c2VsZWN0b3I7XG4gICAgY3VyclZhbF82O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzgoKTp2b2lkIHtcbiAgaWYgKCgoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzE1LmRpc2FibGVsYWJlbCkgJiYgKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE1LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNS5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVRpbWVDb21wb25lbnRfMl83KCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzE1LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3JvdyBmb3JtLWdyb3VwJztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0KTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8xNS5pbnZhbGlkICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKChfZGVjbDBfMTUuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8xNS5pc0FkYXB0aXZlTGFiZWwpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAnY29sLXhzLTEyJztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gWygoX2RlY2wwXzE1LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNS5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKCgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTUuZGlzYWJsZWxhYmVsKT8gJ2ZsZXgnOiBudWxsKTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5TbWFsbCk/IDE2MDogKChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5MYXJnZSk/IDIzMDogMTgwKSk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAnZm9ybS1jb250cm9sIGRhdGUtY29udHJvbCc7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gW19kZWNsMF8zMi50cmFuc2Zvcm0oX2RlY2wwXzE1LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF8xNS5pbWFza0RhdGU7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNS5uYW1lLCcnKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE1Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IChfZGVjbDBfMTUuaW52YWxpZCAmJiAoX2RlY2wwXzE1LmRpcnR5IHx8IF9kZWNsMF8xNS50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzE1LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNS52YWx1ZXN0cmluZztcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBfZGVjbDBfMTUuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xODtcbiAgY29uc3QgY3VyclZhbF8xOTphbnkgPSBfZGVjbDBfMTUuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xOTtcbiAgY29uc3QgY3VyclZhbF8yMDphbnkgPSBfZGVjbDBfMTUuSWNvblNlbGVjdG9yO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9ICgoX2RlY2wwXzE1LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMTUuaGVscHRleHQpO1xuICBjdXJyVmFsXzIxO1xuICBjb25zdCBjdXJyVmFsXzIyOmFueSA9ICgoX2RlY2wwXzE1LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNS5pbnZhbGlkKSAmJiAoX2RlY2wwXzE1LmRpcnR5IHx8IF9kZWNsMF8xNS50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjI7XG4gIGNvbnN0IGN1cnJWYWxfMjM6YW55ID0gX2RlY2wwXzE1Ll9zaG93c2VsZWN0b3I7XG4gIGN1cnJWYWxfMjM7XG4gIGNvbnN0IGN1cnJWYWxfMjQ6YW55ID0gKCgoX2RlY2wwXzE1LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTUuaGVscHRleHQpICYmIF9kZWNsMF8xNS5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzI0O1xuICBjb25zdCBwZF8yNTphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9oYW5kbGVJbnB1dChfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI2OmFueSA9ICgoPGFueT5fZGVjbDBfMTEub25Ub3VjaGVkKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI3OmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2NvbXBvc2l0aW9uU3RhcnQoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjg6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5fY29tcG9zaXRpb25FbmQoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yOTphbnkgPSAoKDxhbnk+X2RlY2wwXzE1Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5zZXRWYWx1ZVN0cmluZyhfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzE6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5zaG93RGF0ZVNlbGVjdG9yKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMyOmFueSA9ICgoPGFueT5fZGVjbDBfMTUuc2hvd0RhdGVTZWxlY3RvcigpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVGltZUNvbXBvbmVudF9Ib3N0XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBwZF8wOmFueSA9ICgoPGFueT5fZGVjbDBfMTYub25DbGljayhfYW55LnRhcmdldCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfMigpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzE2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMTYuaXNBZGFwdGl2ZUxhYmVsKSAmJiAoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE2LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8xNi5pc0FkYXB0aXZlTGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2NvbC14cy0xMiBjb250cm9sLWxhYmVsJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IFsoKF9kZWNsMF8xNi5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzM1LnRyYW5zZm9ybShfZGVjbDBfMTYubGFiZWxTaXplcyk6ICdzci1vbmx5JyldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNi5uYW1lLCdsYWJlbCcpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNi5uYW1lLCcnKTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNi5pc3JlcXVpcmVkO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE2LmxhYmVsO1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCk7XG4gICAgY3VyclZhbF82O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfMygpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfNCgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE2LmludmFsaWQpICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOC50cmFuc2Zvcm0oX2RlY2wwXzE2LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM182KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzE2Ll9zaG93c2VsZWN0b3IgJiYgX2RlY2wwXzE2Ll9zaG93c2VsZWN0b3IpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3RydWUnO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzE2LnZhbHVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBwZF8yOmFueSA9ICgoPGFueT5fZGVjbDBfMTYudGltZXNlbGVjdChfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVGltZUNvbXBvbmVudF8zXzUoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNi5fc2hvd3NlbGVjdG9yKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMTYuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTYuVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSkgfHwgKF9kZWNsMF8xNi5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNi5Ub29sdGlwUG9zaXRpb24uYm90dG9tZW5kKSk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoKF9kZWNsMF8xNi5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNi5Ub29sdGlwUG9zaXRpb24udG9wKSB8fCAoX2RlY2wwXzE2LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE2LlRvb2x0aXBQb3NpdGlvbi50b3BlbmQpKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNi5wb3NQb3B1cExlZnQ7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTYucG9zUG9wdXBUb3A7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTYucG9zQXJyb3dUb3A7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTYucG9zQXJyb3dMZWZ0O1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gX2RlY2wwXzE2Ll9zaG93c2VsZWN0b3I7XG4gICAgY3VyclZhbF82O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfOCgpOnZvaWQge1xuICBpZiAoKCgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTYuZGlzYWJsZWxhYmVsKSAmJiAoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE2LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfNygpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpICYmIF9kZWNsMF8xNi5kaXNhYmxlbGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3JvdyBmb3JtLWdyb3VwJztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzM0LnRyYW5zZm9ybShfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0KTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8xNi5pbnZhbGlkICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8xNi5pc0FkYXB0aXZlTGFiZWwpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAnY29sLXhzLTEyJztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gWygoX2RlY2wwXzE2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNi5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKCgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTYuZGlzYWJsZWxhYmVsKT8gJ2ZsZXgnOiBudWxsKTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKChfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTYuQ29udHJvbEhlaWdodC5TbWFsbCk/IDEyMDogKChfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTYuQ29udHJvbEhlaWdodC5MYXJnZSk/IDE2MDogMTQwKSk7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IChfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTYuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IChfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTYuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAnZm9ybS1jb250cm9sIHRpbWUtY29udHJvbCc7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gW19kZWNsMF8zMi50cmFuc2Zvcm0oX2RlY2wwXzE2LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IF9kZWNsMF8xNi5pbWFza0RhdGU7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNi5uYW1lLCcnKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE2Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IChfZGVjbDBfMTYuaW52YWxpZCAmJiAoX2RlY2wwXzE2LmRpcnR5IHx8IF9kZWNsMF8xNi50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gX2RlY2wwXzE2LnBsYWNlaG9sZGVyO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNi52YWx1ZXN0cmluZztcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBfZGVjbDBfMTYuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xODtcbiAgY29uc3QgY3VyclZhbF8xOTphbnkgPSBfZGVjbDBfMTYuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xOTtcbiAgY29uc3QgY3VyclZhbF8yMDphbnkgPSBfZGVjbDBfMTYuSWNvblNlbGVjdG9yO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9ICgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpO1xuICBjdXJyVmFsXzIxO1xuICBjb25zdCBjdXJyVmFsXzIyOmFueSA9ICgoX2RlY2wwXzE2LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNi5pbnZhbGlkKSAmJiAoX2RlY2wwXzE2LmRpcnR5IHx8IF9kZWNsMF8xNi50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjI7XG4gIGNvbnN0IGN1cnJWYWxfMjM6YW55ID0gX2RlY2wwXzE2Ll9zaG93c2VsZWN0b3I7XG4gIGN1cnJWYWxfMjM7XG4gIGNvbnN0IGN1cnJWYWxfMjQ6YW55ID0gKCgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpICYmIF9kZWNsMF8xNi5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzI0O1xuICBjb25zdCBwZF8yNTphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9oYW5kbGVJbnB1dChfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI2OmFueSA9ICgoPGFueT5fZGVjbDBfMTEub25Ub3VjaGVkKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI3OmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2NvbXBvc2l0aW9uU3RhcnQoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjg6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5fY29tcG9zaXRpb25FbmQoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yOTphbnkgPSAoKDxhbnk+X2RlY2wwXzE2Lm9uVG91Y2goKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi5zZXRWYWx1ZVN0cmluZyhfYW55KSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzE6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi5zaG93VGltZVNlbGVjdG9yKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMyOmFueSA9ICgoPGFueT5fZGVjbDBfMTYuc2hvd1RpbWVTZWxlY3RvcigpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50X0hvc3RfNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlU2VsZWN0b3JDb21wb25lbnRfNF8zKCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMTcuZGF0ZXNlbGVjdGlvbikge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICd0ZXh0LWNlbnRlcic7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB7J2RheS1jdXJyZW50JzpfYW55LmlzY3VycmVudCwnZGF5LXNlbGVjdGVkJzpfYW55Lmlzc2VsZWN0ZWQsXG4gICAgICAgICdkYXktbmV3JzpfYW55LmlzbmV3LCdkYXktZGlzYWJsZWQnOiFfYW55LmlzZW5hYmxlZH07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSB7Y3Vyc29yOihfYW55LmlzZW5hYmxlZD8gJ3BvaW50ZXInOiBudWxsKX07XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfYW55LmRpc3BsYXl0ZXh0O1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBwZF80OmFueSA9ICgoPGFueT5fZGVjbDBfMTcuc2VsZWN0RGF0ZShfYW55KSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50XzRfMigpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE3LmRhdGVzZWxlY3Rpb24pIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfYW55O1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50XzRfMSgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE3LmRhdGVzZWxlY3Rpb24pIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTcuaWNvbk1vbnRoUHJldjtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMTcubW9udGggKyAxKTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNy55ZWFyO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzE3Lmljb25Nb250aE5leHQ7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTcuZGF0ZXM7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IHBkXzU6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5tb250aEJhY2soKSkgIT09IGZhbHNlKTtcbiAgICBjb25zdCBwZF82OmFueSA9ICgoPGFueT5fZGVjbDBfMTcubW9udGhOZXh0KCkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVTZWxlY3RvckNvbXBvbmVudF80XzQoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNy50aW1lc2VsZWN0aW9uKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE3LmdldEhvdXJzKCk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTcuZ2V0TWludXRlcygpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBwZF8yOmFueSA9ICgoPGFueT5fZGVjbDBfMTcuc2V0SG91cnMoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICAgIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5zZXRNaW51dGVzKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50XzRfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE3LmRhdGVzZWxlY3Rpb247XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xNy50aW1lc2VsZWN0aW9uO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IHBkXzI6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5zZXRUb2RheSgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zOmFueSA9ICgoPGFueT5fZGVjbDBfMTcucmVzZXRTZWxlY3Rpb24oKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfNDphbnkgPSAoKDxhbnk+X2RlY2wwXzE3LmFwcGx5U2VsZWN0aW9uKCkpICE9PSBmYWxzZSk7XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUubW9kdWxlLm5nZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9kYXRldGltZS9kYXRldGltZS5tb2R1bGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGkxIGZyb20gJy4vZGF0ZXRpbWUubW9kdWxlJztcbmltcG9ydCAqIGFzIGkyIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBpMyBmcm9tICdhbmd1bGFyLWltYXNrJztcbmltcG9ydCAqIGFzIGk0IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgKiBhcyBpNSBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi9kYXRlJztcbmltcG9ydCAqIGFzIGk3IGZyb20gJy4vZGF0ZXRpbWUnO1xuaW1wb3J0ICogYXMgaTggZnJvbSAnLi90aW1lJztcbmltcG9ydCAqIGFzIGk5IGZyb20gJy4vZGF0ZXNlbGVjdG9yJztcbmltcG9ydCAqIGFzIGkxMCBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9saGVpZ2h0LnBpcGUnO1xuaW1wb3J0ICogYXMgaTExIGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxMiBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxMyBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0ICogYXMgaTE0IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgKiBhcyBpMTUgZnJvbSAnLi4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTE2IGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuZXhwb3J0IGNvbnN0IFNBQ0Jvb3RzdHJhcDNEYXRlVGltZU1vZHVsZU5nRmFjdG9yeTppMC5OZ01vZHVsZUZhY3Rvcnk8aTEuU0FDQm9vdHN0cmFwM0RhdGVUaW1lTW9kdWxlPiA9IChudWxsIGFzIGFueSk7XG52YXIgX2RlY2wwXzA6aTIuTmdDbGFzcyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOmkyLk5nQ29tcG9uZW50T3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI6aTIuTmdGb3JPZjxhbnksYW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zOmkyLk5nSWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80OmkyLk5nVGVtcGxhdGVPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTppMi5OZ1N0eWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzY6aTIuTmdTd2l0Y2ggPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNzppMi5OZ1N3aXRjaENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfODppMi5OZ1N3aXRjaERlZmF1bHQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfOTppMi5OZ1BsdXJhbCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMDppMi5OZ1BsdXJhbENhc2UgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTE6aTMuSU1hc2tEaXJlY3RpdmU8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMjppNC5TYWNGb3JtTGF5b3V0RGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzOmk1LlNhY1Rvb2x0aXBDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTQ6aTYuU2FjRGF0ZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNTppNy5TYWNEYXRlVGltZUNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNjppOC5TYWNUaW1lQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE3Omk5LlNhY0RhdGVTZWxlY3RvckNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xODppMi5Bc3luY1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTk6aTIuVXBwZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMDppMi5Mb3dlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmkyLkpzb25QaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIyOmkyLlNsaWNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMzppMi5EZWNpbWFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppMi5QZXJjZW50UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppMi5UaXRsZUNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI2OmkyLkN1cnJlbmN5UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNzppMi5EYXRlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yODppMi5JMThuUGx1cmFsUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOTppMi5JMThuU2VsZWN0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMDppMi5LZXlWYWx1ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzE6aTMuSU1hc2tQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMyOmkxMC5TYWNUb0NvbnRyb2xIZWlnaHRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMzOmkxMS5TYWNUb0NvbnRyb2xXaWR0aENzc1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzQ6aTEyLlNhY1RvTGFiZWxIZWlnaHRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM1OmkxMy5TYWNUb0xhYmVsV2lkdGhDc3NQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM2OmkxNC5TYWNUZXN0aW5nQXR0cmlidXRlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNzppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzg6aTMuSU1hc2tNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTE1LlNBQ0Jvb3RzdHJhcDNMYXlvdXRNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDA6aTE2LlNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQxOmkxNC5TQUNDb21tb25VdGxpbHRpZXNNb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDI6aTAuVGVtcGxhdGVSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MzppMC5FbGVtZW50UmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfSG9zdF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgcGRfMDphbnkgPSAoKDxhbnk+X2RlY2wwXzE0Lm9uQ2xpY2soX2FueS50YXJnZXQpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzIoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzE0LmlzQWRhcHRpdmVMYWJlbCkgJiYgKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNC5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE0LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMTQuaXNBZGFwdGl2ZUxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdjb2wteHMtMTIgY29udHJvbC1sYWJlbCc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbKChfZGVjbDBfMTQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE0LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnbGFiZWwnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnJyk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTQuaXNyZXF1aXJlZDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNC5sYWJlbDtcbiAgICBjdXJyVmFsXzU7XG4gICAgY29uc3QgY3VyclZhbF82OmFueSA9ICgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfNjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzMoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzQoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE0LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8xNC5pbnZhbGlkKSAmJiAoX2RlY2wwXzE0LmRpcnR5IHx8IF9kZWNsMF8xNC50b3VjaGVkKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTgudHJhbnNmb3JtKF9kZWNsMF8xNC5HZXRFcnJvck1lc3NhZ2UoKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlQ29tcG9uZW50XzFfNigpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8xNC5fc2hvd3NlbGVjdG9yICYmIF9kZWNsMF8xNC5fc2hvd3NlbGVjdG9yKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICd0cnVlJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xNC52YWx1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgcGRfMjphbnkgPSAoKDxhbnk+X2RlY2wwXzE0LmRhdGVzZWxlY3QoX2FueSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVDb21wb25lbnRfMV81KCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMTQuX3Nob3dzZWxlY3Rvcikge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzE0LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE0LlRvb2x0aXBQb3NpdGlvbi5ib3R0b20pIHx8IChfZGVjbDBfMTQuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTQuVG9vbHRpcFBvc2l0aW9uLmJvdHRvbWVuZCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKChfZGVjbDBfMTQuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTQuVG9vbHRpcFBvc2l0aW9uLnRvcCkgfHwgKF9kZWNsMF8xNC5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNC5Ub29sdGlwUG9zaXRpb24udG9wZW5kKSk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTQucG9zUG9wdXBMZWZ0O1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzE0LnBvc1BvcHVwVG9wO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE0LnBvc0Fycm93VG9wO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzE0LnBvc0Fycm93TGVmdDtcbiAgICBjdXJyVmFsXzU7XG4gICAgY29uc3QgY3VyclZhbF82OmFueSA9IF9kZWNsMF8xNC5fc2hvd3NlbGVjdG9yO1xuICAgIGN1cnJWYWxfNjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzgoKTp2b2lkIHtcbiAgaWYgKCgoKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzE0LmRpc2FibGVsYWJlbCkgJiYgKChfZGVjbDBfMTQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNC5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNC5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzcoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTQuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZUNvbXBvbmVudF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdyb3cgZm9ybS1ncm91cCc7XG4gIGN1cnJWYWxfMDtcbiAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8zNC50cmFuc2Zvcm0oX2RlY2wwXzE0LmNvbXBvbmVudEhlaWdodCk7XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMTQuaW52YWxpZCAmJiAoX2RlY2wwXzE0LmRpcnR5IHx8IF9kZWNsMF8xNC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMjtcbiAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8zNi50cmFuc2Zvcm0oX2RlY2wwXzE0Lm5hbWUsX2RlY2wwXzE0LmUyZWlkZW50aWZpZXIpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAoKF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzE0LmlzQWRhcHRpdmVMYWJlbCk7XG4gIGN1cnJWYWxfNDtcbiAgY29uc3QgY3VyclZhbF81OmFueSA9ICdjb2wteHMtMTInO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBbKChfZGVjbDBfMTQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zMy50cmFuc2Zvcm0oX2RlY2wwXzE0LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAoKCgoX2RlY2wwXzE0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTQuaGVscHRleHQpICYmIF9kZWNsMF8xNC5kaXNhYmxlbGFiZWwpPyAnZmxleCc6IG51bGwpO1xuICBjdXJyVmFsXzc7XG4gIGNvbnN0IGN1cnJWYWxfODphbnkgPSAoKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNC5Db250cm9sSGVpZ2h0LlNtYWxsKT8gMTIwOiAoKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNC5Db250cm9sSGVpZ2h0LkxhcmdlKT8gMTgwOiAxNDApKTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQgPT09IF9kZWNsMF8xNC5Db250cm9sSGVpZ2h0LlNtYWxsKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IChfZGVjbDBfMTQuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTQuQ29udHJvbEhlaWdodC5MYXJnZSk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gJ2Zvcm0tY29udHJvbCBkYXRlLWNvbnRyb2wnO1xuICBjdXJyVmFsXzExO1xuICBjb25zdCBjdXJyVmFsXzEyOmFueSA9IFtfZGVjbDBfMzIudHJhbnNmb3JtKF9kZWNsMF8xNC5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSBfZGVjbDBfMTQuaW1hc2tEYXRlO1xuICBjdXJyVmFsXzEzO1xuICBjb25zdCBjdXJyVmFsXzE0OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTQubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8xNC5uYW1lLCcnKTtcbiAgY3VyclZhbF8xNTtcbiAgY29uc3QgY3VyclZhbF8xNjphbnkgPSAoX2RlY2wwXzE0LmludmFsaWQgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9IF9kZWNsMF8xNC5wbGFjZWhvbGRlcjtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgY3VyclZhbF8xODphbnkgPSBfZGVjbDBfMTQudmFsdWVzdHJpbmc7XG4gIGN1cnJWYWxfMTg7XG4gIGNvbnN0IGN1cnJWYWxfMTk6YW55ID0gX2RlY2wwXzE0LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMTk7XG4gIGNvbnN0IGN1cnJWYWxfMjA6YW55ID0gX2RlY2wwXzE0LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMjA7XG4gIGNvbnN0IGN1cnJWYWxfMjE6YW55ID0gX2RlY2wwXzE0Lkljb25TZWxlY3RvcjtcbiAgY3VyclZhbF8yMTtcbiAgY29uc3QgY3VyclZhbF8yMjphbnkgPSAoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KTtcbiAgY3VyclZhbF8yMjtcbiAgY29uc3QgY3VyclZhbF8yMzphbnkgPSAoKF9kZWNsMF8xNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTQuaW52YWxpZCkgJiYgKF9kZWNsMF8xNC5kaXJ0eSB8fCBfZGVjbDBfMTQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzIzO1xuICBjb25zdCBjdXJyVmFsXzI0OmFueSA9IF9kZWNsMF8xNC5fc2hvd3NlbGVjdG9yO1xuICBjdXJyVmFsXzI0O1xuICBjb25zdCBjdXJyVmFsXzI1OmFueSA9ICgoKF9kZWNsMF8xNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE0LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTQuZGlzYWJsZWxhYmVsKTtcbiAgY3VyclZhbF8yNTtcbiAgY29uc3QgcGRfMjY6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5faGFuZGxlSW5wdXQoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yNzphbnkgPSAoKDxhbnk+X2RlY2wwXzExLm9uVG91Y2hlZCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yODphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9jb21wb3NpdGlvblN0YXJ0KCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzI5OmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2NvbXBvc2l0aW9uRW5kKF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xNC5vblRvdWNoKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMxOmFueSA9ICgoPGFueT5fZGVjbDBfMTQuc2V0VmFsdWVTdHJpbmcoX2FueSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMyOmFueSA9ICgoPGFueT5fZGVjbDBfMTQuc2hvd0RhdGVTZWxlY3RvcigpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMzphbnkgPSAoKDxhbnk+X2RlY2wwXzE0LnNob3dEYXRlU2VsZWN0b3IoKSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50X0hvc3RfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IHBkXzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5vbkNsaWNrKF9hbnkudGFyZ2V0KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfMigpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzE1LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMTUuaXNBZGFwdGl2ZUxhYmVsKSAmJiAoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTUuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE1LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzE1LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMTUuaXNBZGFwdGl2ZUxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdjb2wteHMtMTIgY29udHJvbC1sYWJlbCc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbKChfZGVjbDBfMTUuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF8zNS50cmFuc2Zvcm0oX2RlY2wwXzE1LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTUubmFtZSwnbGFiZWwnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTUubmFtZSwnJyk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMTUuaXNyZXF1aXJlZDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNS5sYWJlbDtcbiAgICBjdXJyVmFsXzU7XG4gICAgY29uc3QgY3VyclZhbF82OmFueSA9ICgoX2RlY2wwXzE1LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTUuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfNjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVRpbWVDb21wb25lbnRfMl8zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNS5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfNCgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xOC50cmFuc2Zvcm0oX2RlY2wwXzE1LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfNigpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8xNS5fc2hvd3NlbGVjdG9yICYmIF9kZWNsMF8xNS5fc2hvd3NlbGVjdG9yKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICd0cnVlJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICd0cnVlJztcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNS52YWx1ZTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgcGRfMzphbnkgPSAoKDxhbnk+X2RlY2wwXzE1LmRhdGVzZWxlY3QoX2FueSkpICE9PSBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfNSgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE1Ll9zaG93c2VsZWN0b3IpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8xNS5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNS5Ub29sdGlwUG9zaXRpb24uYm90dG9tKSB8fCAoX2RlY2wwXzE1LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE1LlRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQpKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICgoX2RlY2wwXzE1LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE1LlRvb2x0aXBQb3NpdGlvbi50b3ApIHx8IChfZGVjbDBfMTUuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTUuVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE1LnBvc1BvcHVwTGVmdDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNS5wb3NQb3B1cFRvcDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNS5wb3NBcnJvd1RvcDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNS5wb3NBcnJvd0xlZnQ7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMTUuX3Nob3dzZWxlY3RvcjtcbiAgICBjdXJyVmFsXzY7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVUaW1lQ29tcG9uZW50XzJfOCgpOnZvaWQge1xuICBpZiAoKCgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTUuZGlzYWJsZWxhYmVsKSAmJiAoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTUuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE1LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlVGltZUNvbXBvbmVudF8yXzcoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTUuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzE1LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTUuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVRpbWVDb21wb25lbnRfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNS5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzE1LmludmFsaWQgJiYgKF9kZWNsMF8xNS5kaXJ0eSB8fCBfZGVjbDBfMTUudG91Y2hlZCkpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMzYudHJhbnNmb3JtKF9kZWNsMF8xNS5uYW1lLF9kZWNsMF8xNS5lMmVpZGVudGlmaWVyKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gKChfZGVjbDBfMTUuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8xNS5pc0FkYXB0aXZlTGFiZWwpO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAnY29sLXhzLTEyJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gWygoX2RlY2wwXzE1LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNS5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKCgoKF9kZWNsMF8xNS5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE1LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTUuZGlzYWJsZWxhYmVsKT8gJ2ZsZXgnOiBudWxsKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gKChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5TbWFsbCk/IDE2MDogKChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5MYXJnZSk/IDIzMDogMTgwKSk7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IChfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTUuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAoX2RlY2wwXzE1LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE1LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICdmb3JtLWNvbnRyb2wgZGF0ZS1jb250cm9sJztcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTUuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzE1LmltYXNrRGF0ZTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE1Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTUubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gKF9kZWNsMF8xNS5pbnZhbGlkICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNjtcbiAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBfZGVjbDBfMTUucGxhY2Vob2xkZXI7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gX2RlY2wwXzE1LnZhbHVlc3RyaW5nO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNS5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNS5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8xNS5JY29uU2VsZWN0b3I7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjI7XG4gIGNvbnN0IGN1cnJWYWxfMjM6YW55ID0gKChfZGVjbDBfMTUuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE1LmludmFsaWQpICYmIChfZGVjbDBfMTUuZGlydHkgfHwgX2RlY2wwXzE1LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfMTUuX3Nob3dzZWxlY3RvcjtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgY3VyclZhbF8yNTphbnkgPSAoKChfZGVjbDBfMTUuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNS5oZWxwdGV4dCkgJiYgX2RlY2wwXzE1LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMjU7XG4gIGNvbnN0IHBkXzI2OmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2hhbmRsZUlucHV0KF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjc6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5vblRvdWNoZWQoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjg6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5fY29tcG9zaXRpb25TdGFydCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yOTphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9jb21wb3NpdGlvbkVuZChfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMwOmFueSA9ICgoPGFueT5fZGVjbDBfMTUub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMTphbnkgPSAoKDxhbnk+X2RlY2wwXzE1LnNldFZhbHVlU3RyaW5nKF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMjphbnkgPSAoKDxhbnk+X2RlY2wwXzE1LnNob3dEYXRlU2VsZWN0b3IoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xNS5zaG93RGF0ZVNlbGVjdG9yKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50X0hvc3RfM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IHBkXzA6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi5vbkNsaWNrKF9hbnkudGFyZ2V0KSkgIT09IGZhbHNlKTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM18yKCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8xNi5pc0FkYXB0aXZlTGFiZWwpICYmICgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNi5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTYuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzI7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM18xKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNi5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzE2LmlzQWRhcHRpdmVMYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAnY29sLXhzLTEyIGNvbnRyb2wtbGFiZWwnO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gWygoX2RlY2wwXzE2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzUudHJhbnNmb3JtKF9kZWNsMF8xNi5sYWJlbFNpemVzKTogJ3NyLW9ubHknKV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE2Lm5hbWUsJ2xhYmVsJyk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE2Lm5hbWUsJycpO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gX2RlY2wwXzE2LmlzcmVxdWlyZWQ7XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBfZGVjbDBfMTYubGFiZWw7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzY7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM18zKCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0ZXh0JykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNi5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM180KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8xNi5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMTYuaW52YWxpZCkgJiYgKF9kZWNsMF8xNi5kaXJ0eSB8fCBfZGVjbDBfMTYudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzE4LnRyYW5zZm9ybShfZGVjbDBfMTYuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjVGltZUNvbXBvbmVudF8zXzYoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMTYuX3Nob3dzZWxlY3RvciAmJiBfZGVjbDBfMTYuX3Nob3dzZWxlY3RvcikpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAndHJ1ZSc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMTYudmFsdWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IHBkXzI6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi50aW1lc2VsZWN0KF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNUaW1lQ29tcG9uZW50XzNfNSgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE2Ll9zaG93c2VsZWN0b3IpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8xNi5HZXRQaWNrZXJQb3NpdGlvbigpID09IF9kZWNsMF8xNi5Ub29sdGlwUG9zaXRpb24uYm90dG9tKSB8fCAoX2RlY2wwXzE2LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE2LlRvb2x0aXBQb3NpdGlvbi5ib3R0b21lbmQpKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9ICgoX2RlY2wwXzE2LkdldFBpY2tlclBvc2l0aW9uKCkgPT0gX2RlY2wwXzE2LlRvb2x0aXBQb3NpdGlvbi50b3ApIHx8IChfZGVjbDBfMTYuR2V0UGlja2VyUG9zaXRpb24oKSA9PSBfZGVjbDBfMTYuVG9vbHRpcFBvc2l0aW9uLnRvcGVuZCkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE2LnBvc1BvcHVwTGVmdDtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8xNi5wb3NQb3B1cFRvcDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNi5wb3NBcnJvd1RvcDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8xNi5wb3NBcnJvd0xlZnQ7XG4gICAgY3VyclZhbF81O1xuICAgIGNvbnN0IGN1cnJWYWxfNjphbnkgPSBfZGVjbDBfMTYuX3Nob3dzZWxlY3RvcjtcbiAgICBjdXJyVmFsXzY7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM184KCk6dm9pZCB7XG4gIGlmICgoKCgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpICYmIF9kZWNsMF8xNi5kaXNhYmxlbGFiZWwpICYmICgoX2RlY2wwXzE2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMTYuaGVscHRleHQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNi5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMTYuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzI7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM183KCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCkgJiYgX2RlY2wwXzE2LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY1RpbWVDb21wb25lbnRfM18wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMzQudHJhbnNmb3JtKF9kZWNsMF8xNi5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzE2LmludmFsaWQgJiYgKF9kZWNsMF8xNi5kaXJ0eSB8fCBfZGVjbDBfMTYudG91Y2hlZCkpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMzYudHJhbnNmb3JtKF9kZWNsMF8xNi5uYW1lLF9kZWNsMF8xNi5lMmVpZGVudGlmaWVyKTtcbiAgY3VyclZhbF8zO1xuICBjb25zdCBjdXJyVmFsXzQ6YW55ID0gKChfZGVjbDBfMTYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8xNi5pc0FkYXB0aXZlTGFiZWwpO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAnY29sLXhzLTEyJztcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gWygoX2RlY2wwXzE2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfMzMudHJhbnNmb3JtKF9kZWNsMF8xNi5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gKCgoKF9kZWNsMF8xNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzE2LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMTYuZGlzYWJsZWxhYmVsKT8gJ2ZsZXgnOiBudWxsKTtcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gKChfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTYuQ29udHJvbEhlaWdodC5TbWFsbCk/IDEyMDogKChfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTYuQ29udHJvbEhlaWdodC5MYXJnZSk/IDE2MDogMTQwKSk7XG4gIGN1cnJWYWxfODtcbiAgY29uc3QgY3VyclZhbF85OmFueSA9IChfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0ID09PSBfZGVjbDBfMTYuQ29udHJvbEhlaWdodC5TbWFsbCk7XG4gIGN1cnJWYWxfOTtcbiAgY29uc3QgY3VyclZhbF8xMDphbnkgPSAoX2RlY2wwXzE2LmNvbXBvbmVudEhlaWdodCA9PT0gX2RlY2wwXzE2LkNvbnRyb2xIZWlnaHQuTGFyZ2UpO1xuICBjdXJyVmFsXzEwO1xuICBjb25zdCBjdXJyVmFsXzExOmFueSA9ICdmb3JtLWNvbnRyb2wgdGltZS1jb250cm9sJztcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBbX2RlY2wwXzMyLnRyYW5zZm9ybShfZGVjbDBfMTYuY29tcG9uZW50SGVpZ2h0KV07XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gX2RlY2wwXzE2LmltYXNrRGF0ZTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzE2Lm5hbWUsJycpO1xuICBjdXJyVmFsXzE0O1xuICBjb25zdCBjdXJyVmFsXzE1OmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMTYubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gKF9kZWNsMF8xNi5pbnZhbGlkICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNjtcbiAgY29uc3QgY3VyclZhbF8xNzphbnkgPSBfZGVjbDBfMTYucGxhY2Vob2xkZXI7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IGN1cnJWYWxfMTg6YW55ID0gX2RlY2wwXzE2LnZhbHVlc3RyaW5nO1xuICBjdXJyVmFsXzE4O1xuICBjb25zdCBjdXJyVmFsXzE5OmFueSA9IF9kZWNsMF8xNi5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzE5O1xuICBjb25zdCBjdXJyVmFsXzIwOmFueSA9IF9kZWNsMF8xNi5pc2Rpc2FibGVkO1xuICBjdXJyVmFsXzIwO1xuICBjb25zdCBjdXJyVmFsXzIxOmFueSA9IF9kZWNsMF8xNi5JY29uU2VsZWN0b3I7XG4gIGN1cnJWYWxfMjE7XG4gIGNvbnN0IGN1cnJWYWxfMjI6YW55ID0gKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMjI7XG4gIGNvbnN0IGN1cnJWYWxfMjM6YW55ID0gKChfZGVjbDBfMTYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzE2LmludmFsaWQpICYmIChfZGVjbDBfMTYuZGlydHkgfHwgX2RlY2wwXzE2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yMztcbiAgY29uc3QgY3VyclZhbF8yNDphbnkgPSBfZGVjbDBfMTYuX3Nob3dzZWxlY3RvcjtcbiAgY3VyclZhbF8yNDtcbiAgY29uc3QgY3VyclZhbF8yNTphbnkgPSAoKChfZGVjbDBfMTYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8xNi5oZWxwdGV4dCkgJiYgX2RlY2wwXzE2LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMjU7XG4gIGNvbnN0IHBkXzI2OmFueSA9ICgoPGFueT5fZGVjbDBfMTEuX2hhbmRsZUlucHV0KF9hbnkudGFyZ2V0LnZhbHVlKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjc6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5vblRvdWNoZWQoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMjg6YW55ID0gKCg8YW55Pl9kZWNsMF8xMS5fY29tcG9zaXRpb25TdGFydCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8yOTphbnkgPSAoKDxhbnk+X2RlY2wwXzExLl9jb21wb3NpdGlvbkVuZChfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzMwOmFueSA9ICgoPGFueT5fZGVjbDBfMTYub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMTphbnkgPSAoKDxhbnk+X2RlY2wwXzE2LnNldFZhbHVlU3RyaW5nKF9hbnkpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8zMjphbnkgPSAoKDxhbnk+X2RlY2wwXzE2LnNob3dUaW1lU2VsZWN0b3IoKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfMzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xNi5zaG93VGltZVNlbGVjdG9yKCkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlU2VsZWN0b3JDb21wb25lbnRfSG9zdF80XzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0RhdGVTZWxlY3RvckNvbXBvbmVudF80XzMoKTp2b2lkIHtcbiAgaWYgKF9kZWNsMF8xNy5kYXRlc2VsZWN0aW9uKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3RleHQtY2VudGVyJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHsnZGF5LWN1cnJlbnQnOl9hbnkuaXNjdXJyZW50LCdkYXktc2VsZWN0ZWQnOl9hbnkuaXNzZWxlY3RlZCxcbiAgICAgICAgJ2RheS1uZXcnOl9hbnkuaXNuZXcsJ2RheS1kaXNhYmxlZCc6IV9hbnkuaXNlbmFibGVkfTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IHtjdXJzb3I6KF9hbnkuaXNlbmFibGVkPyAncG9pbnRlcic6IG51bGwpfTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9hbnkuZGlzcGxheXRleHQ7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IHBkXzQ6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5zZWxlY3REYXRlKF9hbnkpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlU2VsZWN0b3JDb21wb25lbnRfNF8yKCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMTcuZGF0ZXNlbGVjdGlvbikge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9hbnk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlU2VsZWN0b3JDb21wb25lbnRfNF8xKCk6dm9pZCB7XG4gIGlmIChfZGVjbDBfMTcuZGF0ZXNlbGVjdGlvbikge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8xNy5pY29uTW9udGhQcmV2O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF8xNy5tb250aCArIDEpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzE3LnllYXI7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSBfZGVjbDBfMTcuaWNvbk1vbnRoTmV4dDtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8xNy5kYXRlcztcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgcGRfNTphbnkgPSAoKDxhbnk+X2RlY2wwXzE3Lm1vbnRoQmFjaygpKSAhPT0gZmFsc2UpO1xuICAgIGNvbnN0IHBkXzY6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5tb250aE5leHQoKSkgIT09IGZhbHNlKTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRGF0ZVNlbGVjdG9yQ29tcG9uZW50XzRfNCgpOnZvaWQge1xuICBpZiAoX2RlY2wwXzE3LnRpbWVzZWxlY3Rpb24pIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMTcuZ2V0SG91cnMoKTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9kZWNsMF8xNy5nZXRNaW51dGVzKCk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IHBkXzI6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5zZXRIb3VycyhfYW55LnRhcmdldC52YWx1ZSkpICE9PSBmYWxzZSk7XG4gICAgY29uc3QgcGRfMzphbnkgPSAoKDxhbnk+X2RlY2wwXzE3LnNldE1pbnV0ZXMoX2FueS50YXJnZXQudmFsdWUpKSAhPT0gZmFsc2UpO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEYXRlU2VsZWN0b3JDb21wb25lbnRfNF8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzYudHJhbnNmb3JtKF9kZWNsMF8xNy5uYW1lLF9kZWNsMF8xNy5lMmVpZGVudGlmaWVyKTtcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzE3LmRhdGVzZWxlY3Rpb247XG4gIGN1cnJWYWxfMTtcbiAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8xNy50aW1lc2VsZWN0aW9uO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IHBkXzM6YW55ID0gKCg8YW55Pl9kZWNsMF8xNy5zZXRUb2RheSgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF80OmFueSA9ICgoPGFueT5fZGVjbDBfMTcucmVzZXRTZWxlY3Rpb24oKSkgIT09IGZhbHNlKTtcbiAgY29uc3QgcGRfNTphbnkgPSAoKDxhbnk+X2RlY2wwXzE3LmFwcGx5U2VsZWN0aW9uKCkpICE9PSBmYWxzZSk7XG59XG4iXX0=
@@ -18,7 +18,7 @@ export class SacTimeComponent extends SacTimeCommon {
18
18
  SacTimeComponent.decorators = [
19
19
  { type: Component, args: [{
20
20
  selector: 'sac-time',
21
- template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control time-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showTimeSelector()\"\n maxlength=\"6\"\n size=\"6\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
21
+ template: "<div\n class=\"row form-group\"\n [class.has-error]=\"invalid && (dirty || touched)\"\n [ngClass]=\"componentHeight | toLabelHeight\"\n [attr.data-e2e-key]=\"name | testingattribute : e2eidentifier\">\n <label\n *ngIf=\"disablelabel === false && !isAdaptiveLabel\"\n id=\"{{ name }}label\"\n for=\"{{ name }}\"\n class=\"col-xs-12 control-label\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toLabelWidthCss) : 'sr-only']\"\n [class.required]=\"isrequired\">\n <span class=\"text\">{{ label }}</span>\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px\">\n </span>\n </sac-tooltip>\n </label>\n <div\n class=\"col-xs-12\"\n [ngClass]=\"[disablelabel === false ? (this.labelSizes | toControlWidthCss) : '']\"\n [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <div\n style=\"position: relative\"\n [style.width.px]=\"componentHeight === ControlHeight.Small ? 120 : componentHeight === ControlHeight.Large ? 160 : 140\">\n <div\n class=\"datetime-textbox input-group\"\n [class.input-group-sm]=\"componentHeight === ControlHeight.Small\"\n [class.input-group-lg]=\"componentHeight === ControlHeight.Large\">\n <input\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n type=\"text\"\n class=\"form-control time-control\"\n [class.is-invalid]=\"invalid && (dirty || touched)\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [imask]=\"imaskDate\"\n [attr.placeholder]=\"placeholder\"\n [value]=\"valuestring\"\n (blur)=\"onTouch()\"\n (accept)=\"setValueString($event)\"\n [disabled]=\"isdisabled\"\n (click)=\"showTimeSelector()\"\n maxlength=\"6\"\n size=\"6\" />\n <span class=\"input-group-btn\">\n <button\n #pickerbutton\n class=\"btn btn-default\"\n type=\"button\"\n (click)=\"showTimeSelector()\"\n [disabled]=\"isdisabled\">\n <i [class]=\"IconSelector\"></i>\n </button>\n </span>\n </div>\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n\n <div\n #picker\n *ngIf=\"_showselector\">\n <div\n class=\"popover in\"\n role=\"tooltip\"\n style=\"display: block; max-width: unset; margin: 0\"\n [class.bottom]=\"GetPickerPosition() == TooltipPosition.bottom || GetPickerPosition() == TooltipPosition.bottomend\"\n [class.top]=\"GetPickerPosition() == TooltipPosition.top || GetPickerPosition() == TooltipPosition.topend\"\n [style.left.px]=\"posPopupLeft\"\n [style.top.px]=\"posPopupTop\">\n <div\n #pickerarrow\n style=\"margin: 0\"\n class=\"arrow\"\n [style.top.px]=\"posArrowTop\"\n [style.left.px]=\"posArrowLeft\">\n </div>\n\n <div class=\"popover-content\">\n <sac-dateselector\n *ngIf=\"_showselector\"\n [initialvalue]=\"value\"\n (selectdate)=\"timeselect($event)\"\n timeselection=\"true\"></sac-dateselector>\n </div>\n </div>\n </div>\n </div>\n\n <div\n *ngIf=\"helptextmode === 'tooltip' && helptext && disablelabel\"\n class=\"form-control-static\"\n style=\"margin-left: 5px\">\n <sac-tooltip\n *ngIf=\"helptextmode === 'tooltip' && helptext\"\n [tooltiptext]=\"helptext\"\n [inlinemode]=\"true\">\n <span\n [class]=\"HelptextTooltipIcon\"\n style=\"margin-left: 5px; margin-right: 5px\">\n </span>\n </sac-tooltip>\n </div>\n </div>\n</div>\n",
22
22
  // Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
23
23
  providers: [
24
24
  {
@@ -40,4 +40,4 @@ SacTimeComponent.ctorParameters = () => [
40
40
  { type: ElementRef },
41
41
  { type: ChangeDetectorRef }
42
42
  ];
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9kYXRldGltZS90aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBbUJsRSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsYUFBYTtJQUMvQyx1QkFBdUI7SUFFdkI7Ozs7OztPQU1HO0lBQ0gsWUFDd0IsVUFBa0MsRUFDdEQsUUFBa0IsRUFDbEIsVUFBc0IsRUFDdEIsS0FBd0I7UUFFeEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7OztZQWxDSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLDY4SkFBMEI7Z0JBQzFCLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7cUJBQ2xEO29CQUNEO3dCQUNJLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO3FCQUNsRDtpQkFDSjthQUNKOzs7WUFyQlEsc0JBQXNCLHVCQWlDdEIsSUFBSSxZQUFJLFFBQVE7WUFoQ2dDLFFBQVE7WUFBMUIsVUFBVTtZQUF4QyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNUaW1lQ29tbW9uIH0gZnJvbSAnQHNpbXBsZWFuZ3VsYXJjb250cm9scy9zYWMtY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtdGltZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbWUuaHRtbCcsXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1RpbWVDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNUaW1lQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNUaW1lQ29tcG9uZW50IGV4dGVuZHMgU2FjVGltZUNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgUmVmZXJlbmNlIHRvIGh0bWwgZG9tIGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gY2RSZWYgIENoYW5nZSBEZWN0ZWN0aW9uIFNlcnZpZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yLCBlbGVtZW50UmVmLCBjZFJlZik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9kYXRldGltZS90aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUEyQixhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQW9CM0YsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUFDL0MsdUJBQXVCO0lBRXZCOzs7Ozs7T0FNRztJQUNILFlBQ3dCLFVBQWtDLEVBQ3RELFFBQWtCLEVBQ2xCLFVBQXNCLEVBQ3RCLEtBQXdCO1FBRXhCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7WUFsQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixraEtBQTBCO2dCQUMxQiwrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO3FCQUNsRDtvQkFDRDt3QkFDSSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztxQkFDbEQ7aUJBQ0o7YUFDSjs7O1lBdEJRLHNCQUFzQix1QkFrQ3RCLElBQUksWUFBSSxRQUFRO1lBakNnQyxRQUFRO1lBQTFCLFVBQVU7WUFBeEMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0LCBJbmplY3RvciwgT3B0aW9uYWwsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2FjVGVzdGluZ0F0dHJpYnV0ZVBpcGUsIFNhY1RpbWVDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuaW1wb3J0IHsgSU1hc2tEaXJlY3RpdmUgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzYWMtdGltZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RpbWUuaHRtbCcsXG4gICAgLy8gVmFsdWUgQWNjZXNzIFByb3ZpZGVyIHJlZ2lzdHJpZXJlbiwgZGFtaXQgV2VydCB2aWEgTW9kZWwgZ2VzY2hyaWViZW4gdW5kIGdlbGVzZW4gd2VyZGVuIGthbm5cbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY1RpbWVDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTYWNUaW1lQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTYWNUaW1lQ29tcG9uZW50IGV4dGVuZHMgU2FjVGltZUNvbW1vbiB7XG4gICAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAgIC8qKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAgICogQHBhcmFtIGVsZW1lbnRSZWYgUmVmZXJlbmNlIHRvIGh0bWwgZG9tIGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gY2RSZWYgIENoYW5nZSBEZWN0ZWN0aW9uIFNlcnZpZVxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yLCBlbGVtZW50UmVmLCBjZFJlZik7XG4gICAgfVxuXG4gICAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcbn1cbiJdfQ==