@simpleangularcontrols/sac-bootstrap3 10.0.0-rc.20 → 10.0.0-rc.22
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.
- package/README.md +27 -27
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js +2758 -2727
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.js.map +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js +1 -1
- package/bundles/simpleangularcontrols-sac-bootstrap3.umd.min.js.map +1 -1
- package/controls/buttons/button.d.ts +3 -3
- package/controls/buttons/button.module.d.ts +2 -2
- package/controls/buttons/button.module.ngfactory.d.ts +3 -3
- package/controls/buttons/button.ngfactory.d.ts +1 -1
- package/controls/checkbox/checkbox.d.ts +11 -11
- package/controls/checkbox/checkbox.module.d.ts +2 -2
- package/controls/checkbox/checkbox.module.ngfactory.d.ts +3 -3
- package/controls/checkbox/checkbox.ngfactory.d.ts +1 -1
- package/controls/checkbox/checkbox.scss.ngstyle.d.ts +1 -1
- package/controls/checkbox/checkbox.scss.shim.ngstyle.d.ts +1 -1
- package/controls/checkbox/radiobutton.d.ts +7 -7
- package/controls/checkbox/radiobutton.ngfactory.d.ts +1 -1
- package/controls/checkbox/radiobutton.scss.ngstyle.d.ts +1 -1
- package/controls/checkbox/radiobutton.scss.shim.ngstyle.d.ts +1 -1
- package/controls/checkbox/radiobuttons.d.ts +11 -11
- package/controls/checkbox/radiobuttons.ngfactory.d.ts +1 -1
- package/controls/confirm/confirm.d.ts +3 -3
- package/controls/confirm/confirm.module.d.ts +11 -11
- package/controls/confirm/confirm.module.ngfactory.d.ts +3 -3
- package/controls/confirm/confirm.ngfactory.d.ts +1 -1
- package/controls/confirm/confirm.service.d.ts +54 -54
- package/controls/confirm/confirm.service.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenu.d.ts +16 -16
- package/controls/contextmenu/contextmenu.module.d.ts +2 -2
- package/controls/contextmenu/contextmenu.module.ngfactory.d.ts +3 -3
- package/controls/contextmenu/contextmenu.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenuanchor.d.ts +12 -12
- package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenucontainer.d.ts +12 -12
- package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenuitembutton.d.ts +14 -14
- package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +1 -1
- package/controls/contextmenu/contextmenuitemsplitter.d.ts +6 -6
- package/controls/contextmenu/contextmenuitemsplitter.ngfactory.d.ts +1 -1
- package/controls/datetime/date.d.ts +13 -13
- package/controls/datetime/date.ngfactory.d.ts +1 -1
- package/controls/datetime/dateselector.d.ts +3 -3
- package/controls/datetime/dateselector.ngfactory.d.ts +1 -1
- package/controls/datetime/datetime.d.ts +13 -13
- package/controls/datetime/datetime.module.d.ts +2 -2
- package/controls/datetime/datetime.module.ngfactory.d.ts +3 -3
- package/controls/datetime/datetime.ngfactory.d.ts +1 -1
- package/controls/datetime/time.d.ts +13 -13
- package/controls/datetime/time.ngfactory.d.ts +1 -1
- package/controls/dialog/dialog.d.ts +11 -11
- package/controls/dialog/dialog.module.d.ts +2 -2
- package/controls/dialog/dialog.module.ngfactory.d.ts +3 -3
- package/controls/dialog/dialog.ngfactory.d.ts +1 -1
- package/controls/form/form.d.ts +28 -28
- package/controls/form/form.module.d.ts +2 -2
- package/controls/form/form.module.ngfactory.d.ts +3 -3
- package/controls/form/form.ngfactory.d.ts +1 -1
- package/controls/form/inheritform.directive.d.ts +24 -24
- package/controls/form/inheritform.directive.ngfactory.d.ts +1 -1
- package/controls/grid/grid.d.ts +6 -6
- package/controls/grid/grid.module.d.ts +2 -2
- package/controls/grid/grid.module.ngfactory.d.ts +3 -3
- package/controls/grid/grid.ngfactory.d.ts +1 -1
- package/controls/grid/gridbutton.d.ts +10 -10
- package/controls/grid/gridbutton.ngfactory.d.ts +1 -1
- package/controls/grid/gridcolumn.d.ts +6 -6
- package/controls/grid/gridcolumn.ngfactory.d.ts +1 -1
- package/controls/grid/gridcolumnaction.d.ts +6 -6
- package/controls/grid/gridcolumnaction.ngfactory.d.ts +1 -1
- package/controls/grid/gridimage.d.ts +4 -4
- package/controls/grid/gridimage.ngfactory.d.ts +1 -1
- package/controls/grid/paging.d.ts +8 -8
- package/controls/grid/paging.ngfactory.d.ts +1 -1
- package/controls/input/input.d.ts +11 -11
- package/controls/input/input.module.d.ts +2 -2
- package/controls/input/input.module.ngfactory.d.ts +3 -3
- package/controls/input/input.ngfactory.d.ts +1 -1
- package/controls/input/inputarea.d.ts +23 -23
- package/controls/input/inputarea.ngfactory.d.ts +1 -1
- package/controls/input/inputcurrency.d.ts +11 -11
- package/controls/input/inputcurrency.ngfactory.d.ts +1 -1
- package/controls/input/inputdecimal.d.ts +11 -11
- package/controls/input/inputdecimal.ngfactory.d.ts +1 -1
- package/controls/input/inputemail.d.ts +11 -11
- package/controls/input/inputemail.ngfactory.d.ts +1 -1
- package/controls/input/inputinteger.d.ts +11 -11
- package/controls/input/inputinteger.ngfactory.d.ts +1 -1
- package/controls/input/inputpassword.d.ts +11 -11
- package/controls/input/inputpassword.ngfactory.d.ts +1 -1
- package/controls/input/inputsearch.d.ts +11 -11
- package/controls/input/inputsearch.ngfactory.d.ts +1 -1
- package/controls/layout/formlayout.directive.d.ts +3 -3
- package/controls/layout/formlayout.directive.ngfactory.d.ts +1 -1
- package/controls/layout/layout.module.d.ts +2 -2
- package/controls/layout/layout.module.ngfactory.d.ts +3 -3
- package/controls/layout/tocontrolheight.pipe.d.ts +9 -9
- package/controls/layout/tocontrolheight.pipe.ngfactory.d.ts +1 -1
- package/controls/layout/tocontrolwidthcss.pipe.d.ts +16 -16
- package/controls/layout/tocontrolwidthcss.pipe.ngfactory.d.ts +1 -1
- package/controls/layout/tolabelheight.pipe.d.ts +9 -9
- package/controls/layout/tolabelheight.pipe.ngfactory.d.ts +1 -1
- package/controls/layout/tolabelwidthcss.pipe.d.ts +10 -10
- package/controls/layout/tolabelwidthcss.pipe.ngfactory.d.ts +1 -1
- package/controls/list/dropdown.d.ts +22 -22
- package/controls/list/dropdown.ngfactory.d.ts +1 -1
- package/controls/list/list.module.d.ts +2 -2
- package/controls/list/list.module.ngfactory.d.ts +3 -3
- package/controls/list/listbox.d.ts +11 -11
- package/controls/list/listbox.ngfactory.d.ts +1 -1
- package/controls/static/formcontainer.d.ts +25 -25
- package/controls/static/formcontainer.ngfactory.d.ts +1 -1
- package/controls/static/staticlabel.d.ts +11 -11
- package/controls/static/staticlabel.module.d.ts +2 -2
- package/controls/static/staticlabel.module.ngfactory.d.ts +3 -3
- package/controls/static/staticlabel.ngfactory.d.ts +1 -1
- package/controls/tabs/tab.d.ts +7 -7
- package/controls/tabs/tab.ngfactory.d.ts +1 -1
- package/controls/tabs/tabitem.d.ts +3 -3
- package/controls/tabs/tabitem.ngfactory.d.ts +1 -1
- package/controls/tabs/tabs.module.d.ts +2 -2
- package/controls/tabs/tabs.module.ngfactory.d.ts +3 -3
- package/controls/tinymce/tinymce.d.ts +20 -20
- package/controls/tinymce/tinymce.module.d.ts +2 -2
- package/controls/tinymce/tinymce.module.ngfactory.d.ts +3 -3
- package/controls/tinymce/tinymce.ngfactory.d.ts +1 -1
- package/controls/tooltip/tooltip.d.ts +34 -34
- package/controls/tooltip/tooltip.module.d.ts +2 -2
- package/controls/tooltip/tooltip.module.ngfactory.d.ts +3 -3
- package/controls/tooltip/tooltip.ngfactory.d.ts +1 -1
- package/controls/treeview/treeview.d.ts +14 -14
- package/controls/treeview/treeview.module.d.ts +2 -2
- package/controls/treeview/treeview.module.ngfactory.d.ts +3 -3
- package/controls/treeview/treeview.ngfactory.d.ts +1 -1
- package/controls/upload/dropzonemultiple.d.ts +21 -21
- package/controls/upload/dropzonemultiple.ngfactory.d.ts +1 -1
- package/controls/upload/dropzonesingle.d.ts +21 -21
- package/controls/upload/dropzonesingle.ngfactory.d.ts +1 -1
- package/controls/upload/upload.d.ts +13 -13
- package/controls/upload/upload.module.d.ts +2 -2
- package/controls/upload/upload.module.ngfactory.d.ts +3 -3
- package/controls/upload/upload.ngfactory.d.ts +1 -1
- package/controls/upload/upload.scss.ngstyle.d.ts +1 -1
- package/controls/upload/upload.scss.shim.ngstyle.d.ts +1 -1
- package/controls/upload/uploadmultiple.d.ts +13 -13
- package/controls/upload/uploadmultiple.ngfactory.d.ts +1 -1
- package/controls/validation/validationsummary.d.ts +11 -11
- package/controls/validation/validationsummary.module.d.ts +2 -2
- package/controls/validation/validationsummary.module.ngfactory.d.ts +3 -3
- package/controls/validation/validationsummary.ngfactory.d.ts +1 -1
- package/controls/wizard/wizard.d.ts +7 -7
- package/controls/wizard/wizard.module.d.ts +2 -2
- package/controls/wizard/wizard.module.ngfactory.d.ts +3 -3
- package/controls/wizard/wizard.ngfactory.d.ts +1 -1
- package/controls/wizard/wizarditem.d.ts +3 -3
- package/controls/wizard/wizarditem.ngfactory.d.ts +1 -1
- package/esm2015/controls/buttons/button.js +13 -13
- package/esm2015/controls/buttons/button.module.js +15 -15
- package/esm2015/controls/buttons/button.module.ngfactory.js +7 -7
- package/esm2015/controls/buttons/button.ngfactory.js +7 -7
- package/esm2015/controls/checkbox/checkbox.js +40 -40
- package/esm2015/controls/checkbox/checkbox.module.js +29 -29
- package/esm2015/controls/checkbox/checkbox.module.ngfactory.js +7 -7
- package/esm2015/controls/checkbox/checkbox.ngfactory.js +7 -7
- package/esm2015/controls/checkbox/checkbox.scss.ngstyle.js +7 -7
- package/esm2015/controls/checkbox/checkbox.scss.shim.ngstyle.js +7 -7
- package/esm2015/controls/checkbox/radiobutton.js +23 -23
- package/esm2015/controls/checkbox/radiobutton.ngfactory.js +7 -7
- package/esm2015/controls/checkbox/radiobutton.scss.ngstyle.js +7 -7
- package/esm2015/controls/checkbox/radiobutton.scss.shim.ngstyle.js +7 -7
- package/esm2015/controls/checkbox/radiobuttons.js +39 -39
- package/esm2015/controls/checkbox/radiobuttons.ngfactory.js +7 -7
- package/esm2015/controls/confirm/confirm.js +11 -11
- package/esm2015/controls/confirm/confirm.module.js +31 -31
- package/esm2015/controls/confirm/confirm.module.ngfactory.js +7 -7
- package/esm2015/controls/confirm/confirm.ngfactory.js +7 -7
- package/esm2015/controls/confirm/confirm.service.js +102 -102
- package/esm2015/controls/confirm/confirm.service.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenu.js +34 -34
- package/esm2015/controls/contextmenu/contextmenu.module.js +28 -28
- package/esm2015/controls/contextmenu/contextmenu.module.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenu.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenuanchor.js +30 -30
- package/esm2015/controls/contextmenu/contextmenuanchor.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenucontainer.js +30 -30
- package/esm2015/controls/contextmenu/contextmenucontainer.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenuitembutton.js +42 -42
- package/esm2015/controls/contextmenu/contextmenuitembutton.ngfactory.js +7 -7
- package/esm2015/controls/contextmenu/contextmenuitemsplitter.js +20 -20
- package/esm2015/controls/contextmenu/contextmenuitemsplitter.ngfactory.js +7 -7
- package/esm2015/controls/datetime/date.js +49 -49
- package/esm2015/controls/datetime/date.ngfactory.js +7 -7
- package/esm2015/controls/datetime/dateselector.js +11 -11
- package/esm2015/controls/datetime/dateselector.ngfactory.js +7 -7
- package/esm2015/controls/datetime/datetime.js +43 -43
- package/esm2015/controls/datetime/datetime.module.js +34 -34
- package/esm2015/controls/datetime/datetime.module.ngfactory.js +7 -7
- package/esm2015/controls/datetime/datetime.ngfactory.js +7 -7
- package/esm2015/controls/datetime/time.js +43 -43
- package/esm2015/controls/datetime/time.ngfactory.js +7 -7
- package/esm2015/controls/dialog/dialog.js +51 -51
- package/esm2015/controls/dialog/dialog.module.js +15 -15
- package/esm2015/controls/dialog/dialog.module.ngfactory.js +7 -7
- package/esm2015/controls/dialog/dialog.ngfactory.js +7 -7
- package/esm2015/controls/form/form.js +49 -49
- package/esm2015/controls/form/form.module.js +15 -15
- package/esm2015/controls/form/form.module.ngfactory.js +7 -7
- package/esm2015/controls/form/form.ngfactory.js +7 -7
- package/esm2015/controls/form/inheritform.directive.js +57 -57
- package/esm2015/controls/form/inheritform.directive.ngfactory.js +7 -7
- package/esm2015/controls/grid/grid.js +24 -24
- package/esm2015/controls/grid/grid.module.js +33 -33
- package/esm2015/controls/grid/grid.module.ngfactory.js +7 -7
- package/esm2015/controls/grid/grid.ngfactory.js +7 -7
- package/esm2015/controls/grid/gridbutton.js +39 -39
- package/esm2015/controls/grid/gridbutton.ngfactory.js +7 -7
- package/esm2015/controls/grid/gridcolumn.js +26 -26
- package/esm2015/controls/grid/gridcolumn.ngfactory.js +7 -7
- package/esm2015/controls/grid/gridcolumnaction.js +27 -27
- package/esm2015/controls/grid/gridcolumnaction.ngfactory.js +7 -7
- package/esm2015/controls/grid/gridimage.js +21 -21
- package/esm2015/controls/grid/gridimage.ngfactory.js +7 -7
- package/esm2015/controls/grid/paging.js +24 -24
- package/esm2015/controls/grid/paging.ngfactory.js +7 -7
- package/esm2015/controls/input/input.js +35 -35
- package/esm2015/controls/input/input.module.js +47 -47
- package/esm2015/controls/input/input.module.ngfactory.js +7 -7
- package/esm2015/controls/input/input.ngfactory.js +7 -7
- package/esm2015/controls/input/inputarea.js +51 -51
- package/esm2015/controls/input/inputarea.ngfactory.js +7 -7
- package/esm2015/controls/input/inputcurrency.js +39 -39
- package/esm2015/controls/input/inputcurrency.ngfactory.js +7 -7
- package/esm2015/controls/input/inputdecimal.js +39 -39
- package/esm2015/controls/input/inputdecimal.ngfactory.js +7 -7
- package/esm2015/controls/input/inputemail.js +39 -39
- package/esm2015/controls/input/inputemail.ngfactory.js +7 -7
- package/esm2015/controls/input/inputinteger.js +39 -39
- package/esm2015/controls/input/inputinteger.ngfactory.js +7 -7
- package/esm2015/controls/input/inputpassword.js +39 -39
- package/esm2015/controls/input/inputpassword.ngfactory.js +7 -7
- package/esm2015/controls/input/inputsearch.js +39 -39
- package/esm2015/controls/input/inputsearch.ngfactory.js +7 -7
- package/esm2015/controls/layout/formlayout.directive.js +10 -10
- package/esm2015/controls/layout/formlayout.directive.ngfactory.js +7 -7
- package/esm2015/controls/layout/layout.module.js +29 -29
- package/esm2015/controls/layout/layout.module.ngfactory.js +7 -7
- package/esm2015/controls/layout/tocontrolheight.pipe.js +29 -29
- package/esm2015/controls/layout/tocontrolheight.pipe.ngfactory.js +7 -7
- package/esm2015/controls/layout/tocontrolwidthcss.pipe.js +47 -47
- package/esm2015/controls/layout/tocontrolwidthcss.pipe.ngfactory.js +7 -7
- package/esm2015/controls/layout/tolabelheight.pipe.js +29 -29
- package/esm2015/controls/layout/tolabelheight.pipe.ngfactory.js +7 -7
- package/esm2015/controls/layout/tolabelwidthcss.pipe.js +31 -31
- package/esm2015/controls/layout/tolabelwidthcss.pipe.ngfactory.js +7 -7
- package/esm2015/controls/list/dropdown.js +65 -65
- package/esm2015/controls/list/dropdown.ngfactory.js +7 -7
- package/esm2015/controls/list/list.module.js +32 -32
- package/esm2015/controls/list/list.module.ngfactory.js +7 -7
- package/esm2015/controls/list/listbox.js +41 -41
- package/esm2015/controls/list/listbox.ngfactory.js +7 -7
- package/esm2015/controls/static/formcontainer.js +53 -53
- package/esm2015/controls/static/formcontainer.ngfactory.js +7 -7
- package/esm2015/controls/static/staticlabel.js +39 -39
- package/esm2015/controls/static/staticlabel.module.js +20 -20
- package/esm2015/controls/static/staticlabel.module.ngfactory.js +7 -7
- package/esm2015/controls/static/staticlabel.ngfactory.js +7 -7
- package/esm2015/controls/tabs/tab.js +18 -18
- package/esm2015/controls/tabs/tab.ngfactory.js +7 -7
- package/esm2015/controls/tabs/tabitem.js +11 -11
- package/esm2015/controls/tabs/tabitem.ngfactory.js +7 -7
- package/esm2015/controls/tabs/tabs.module.js +16 -16
- package/esm2015/controls/tabs/tabs.module.ngfactory.js +7 -7
- package/esm2015/controls/tinymce/tinymce.js +50 -50
- package/esm2015/controls/tinymce/tinymce.module.js +27 -27
- package/esm2015/controls/tinymce/tinymce.module.ngfactory.js +7 -7
- package/esm2015/controls/tinymce/tinymce.ngfactory.js +7 -7
- package/esm2015/controls/tooltip/tooltip.js +52 -52
- package/esm2015/controls/tooltip/tooltip.module.js +13 -13
- package/esm2015/controls/tooltip/tooltip.module.ngfactory.js +7 -7
- package/esm2015/controls/tooltip/tooltip.ngfactory.js +7 -7
- package/esm2015/controls/treeview/treeview.js +41 -41
- package/esm2015/controls/treeview/treeview.module.js +16 -16
- package/esm2015/controls/treeview/treeview.module.ngfactory.js +7 -7
- package/esm2015/controls/treeview/treeview.ngfactory.js +7 -7
- package/esm2015/controls/upload/dropzonemultiple.js +55 -55
- package/esm2015/controls/upload/dropzonemultiple.ngfactory.js +7 -7
- package/esm2015/controls/upload/dropzonesingle.js +55 -55
- package/esm2015/controls/upload/dropzonesingle.ngfactory.js +7 -7
- package/esm2015/controls/upload/upload.js +44 -44
- package/esm2015/controls/upload/upload.module.js +24 -24
- package/esm2015/controls/upload/upload.module.ngfactory.js +7 -7
- package/esm2015/controls/upload/upload.ngfactory.js +7 -7
- package/esm2015/controls/upload/upload.scss.ngstyle.js +7 -7
- package/esm2015/controls/upload/upload.scss.shim.ngstyle.js +7 -7
- package/esm2015/controls/upload/uploadmultiple.js +44 -44
- package/esm2015/controls/upload/uploadmultiple.ngfactory.js +7 -7
- package/esm2015/controls/validation/validationsummary.js +34 -34
- package/esm2015/controls/validation/validationsummary.module.js +15 -15
- package/esm2015/controls/validation/validationsummary.module.ngfactory.js +7 -7
- package/esm2015/controls/validation/validationsummary.ngfactory.js +7 -7
- package/esm2015/controls/wizard/wizard.js +23 -23
- package/esm2015/controls/wizard/wizard.module.js +16 -16
- package/esm2015/controls/wizard/wizard.module.ngfactory.js +7 -7
- package/esm2015/controls/wizard/wizard.ngfactory.js +7 -7
- package/esm2015/controls/wizard/wizarditem.js +11 -11
- package/esm2015/controls/wizard/wizarditem.ngfactory.js +7 -7
- package/esm2015/public_api.js +76 -76
- package/esm2015/public_api.ngfactory.js +7 -7
- package/esm2015/simpleangularcontrols-sac-bootstrap3.js +6 -6
- package/esm2015/simpleangularcontrols-sac-bootstrap3.ngfactory.js +7 -7
- package/fesm2015/simpleangularcontrols-sac-bootstrap3.js +2098 -2098
- package/fesm2015/simpleangularcontrols-sac-bootstrap3.js.map +1 -1
- package/package.json +31 -31
- package/public_api.d.ts +70 -70
- package/public_api.ngfactory.d.ts +1 -1
- package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.22.tgz +0 -0
- package/simpleangularcontrols-sac-bootstrap3.d.ts +5 -5
- package/simpleangularcontrols-sac-bootstrap3.metadata.json +1 -1
- package/simpleangularcontrols-sac-bootstrap3.ngfactory.d.ts +1 -1
- package/simpleangularcontrols-sac-bootstrap3-10.0.0-rc.20.tgz +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
-
*
|
|
4
|
-
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
-
* tslint:disable
|
|
6
|
-
*/
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IkM6L1Byb2pla3RlL3NpbXBsZWFuZ3VsYXJjb250cm9scy1uZzEwL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9saXN0L2xpc3QubW9kdWxlLm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBpMSBmcm9tICcuL2xpc3QubW9kdWxlJztcbmltcG9ydCAqIGFzIGkyIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgKiBhcyBpMyBmcm9tICcuLi90b29sdGlwL3Rvb2x0aXAnO1xuaW1wb3J0ICogYXMgaTQgZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0ICogYXMgaTUgZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCAqIGFzIGk2IGZyb20gJy4vZHJvcGRvd24nO1xuaW1wb3J0ICogYXMgaTcgZnJvbSAnLi9saXN0Ym94JztcbmltcG9ydCAqIGFzIGk4IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2xoZWlnaHQucGlwZSc7XG5pbXBvcnQgKiBhcyBpOSBmcm9tICcuLi9sYXlvdXQvdG9jb250cm9sd2lkdGhjc3MucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTAgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWxoZWlnaHQucGlwZSc7XG5pbXBvcnQgKiBhcyBpMTEgZnJvbSAnLi4vbGF5b3V0L3RvbGFiZWx3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxMiBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuaW1wb3J0ICogYXMgaTEzIGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTE0IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmV4cG9ydCBjb25zdCBTQUNCb290c3RyYXAzTGlzdE1vZHVsZU5nRmFjdG9yeTppMC5OZ01vZHVsZUZhY3Rvcnk8aTEuU0FDQm9vdHN0cmFwM0xpc3RNb2R1bGU+ID0gKG51bGwgYXMgYW55KTtcbnZhciBfZGVjbDBfMDppMi5OZ0NsYXNzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE6aTIuTmdDb21wb25lbnRPdXRsZXQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjppMi5OZ0Zvck9mPGFueSxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM6aTIuTmdJZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ6aTIuTmdUZW1wbGF0ZU91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OmkyLk5nU3R5bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjppMi5OZ1N3aXRjaCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF83OmkyLk5nU3dpdGNoQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF84OmkyLk5nU3dpdGNoRGVmYXVsdCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF85OmkyLk5nUGx1cmFsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEwOmkyLk5nUGx1cmFsQ2FzZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xMTppMy5TYWNUb29sdGlwQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEyOmk0Lsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc195ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzEzOmk0Lk5nU2VsZWN0T3B0aW9uID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE0Omk0Lsm1YW5ndWxhcl9wYWNrYWdlc19mb3Jtc19mb3Jtc194ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE1Omk0LkRlZmF1bHRWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE2Omk0Lk51bWJlclZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTc6aTQuUmFuZ2VWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzE4Omk0LkNoZWNrYm94Q29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTk6aTQuU2VsZWN0Q29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjA6aTQuU2VsZWN0TXVsdGlwbGVDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMTppNC5SYWRpb0NvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIyOmk0Lk5nQ29udHJvbFN0YXR1cyA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMzppNC5OZ0NvbnRyb2xTdGF0dXNHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNDppNC5SZXF1aXJlZFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNTppNC5NaW5MZW5ndGhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjY6aTQuTWF4TGVuZ3RoVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI3Omk0LlBhdHRlcm5WYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjg6aTQuQ2hlY2tib3hSZXF1aXJlZFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOTppNC5FbWFpbFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMDppNC5OZ01vZGVsID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMxOmk0Lk5nTW9kZWxHcm91cCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMjppNC5OZ0Zvcm0gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzM6aTUuU2FjRm9ybUxheW91dERpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNDppNi5TYWNEcm9wZG93bkNvbXBvbmVudCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNTppNi5TYWNEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zNjppNy5TYWNMaXN0Ym94Q29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM3OmkyLkFzeW5jUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zODppMi5VcHBlckNhc2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM5OmkyLkxvd2VyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDA6aTIuSnNvblBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDE6aTIuU2xpY2VQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQyOmkyLkRlY2ltYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQzOmkyLlBlcmNlbnRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ0OmkyLlRpdGxlQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDU6aTIuQ3VycmVuY3lQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ2OmkyLkRhdGVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ3OmkyLkkxOG5QbHVyYWxQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ4OmkyLkkxOG5TZWxlY3RQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzQ5OmkyLktleVZhbHVlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MDppOC5TYWNUb0NvbnRyb2xIZWlnaHRQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUxOmk5LlNhY1RvQ29udHJvbFdpZHRoQ3NzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MjppMTAuU2FjVG9MYWJlbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTM6aTExLlNhY1RvTGFiZWxXaWR0aENzc1BpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTQ6aTIuQ29tbW9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU1OmkxMi5TQUNDb21tb25MaXN0Ym94T3B0aW9uTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU2OmkxMy5TQUNCb290c3RyYXAzVG9vbHRpcE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NzppNC5Gb3Jtc01vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81ODppMTQuU0FDQm9vdHN0cmFwM0xheW91dE1vZHVsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81OTppMC5UZW1wbGF0ZVJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzYwOmkwLkVsZW1lbnRSZWY8YW55PiA9ICg8YW55PihudWxsIGFzIGFueSkpO1xuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfSG9zdF8xXzAoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfMigpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzM0LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMzQuaXNBZGFwdGl2ZUxhYmVsKSAmJiAoKF9kZWNsMF8zNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM0LmhlbHB0ZXh0KSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzQuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzM0LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM0LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMzQuaXNBZGFwdGl2ZUxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdjb2wteHMtMTIgY29udHJvbC1sYWJlbCc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbKChfZGVjbDBfMzQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81My50cmFuc2Zvcm0oX2RlY2wwXzM0LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzQubmFtZSwnbGFiZWwnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzQubmFtZSwnJyk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMzQuaXNyZXF1aXJlZDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8zNC5sYWJlbDtcbiAgICBjdXJyVmFsXzU7XG4gICAgY29uc3QgY3VyclZhbF82OmFueSA9ICgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfNjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV8zKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM0LmVtcHR5bGFiZWwgIT09ICcnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNC5lbXB0eXZhbHVlO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzM0LmVtcHR5dmFsdWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMzQuZW1wdHl2YWx1ZTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IF9kZWNsMF8zNC5lbXB0eWxhYmVsO1xuICAgIGN1cnJWYWxfMztcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV83KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM0Lmdyb3VwaXRlbXMgPT09ICcnKSkgeyB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpOyB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzYoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuZ3JvdXBpdGVtcyA9PT0gJycpKSB7IHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7IH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfNSgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNC5ncm91cGl0ZW1zID09PSAnJykpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoX2RlY2wwXzM0Lm9wdGlvbnZhbHVlPyBfYW55W19kZWNsMF8zNC5vcHRpb252YWx1ZV06IF9hbnkpO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gKF9kZWNsMF8zNC5vcHRpb252YWx1ZT8gX2FueVtfZGVjbDBfMzQub3B0aW9udmFsdWVdOiBfYW55KTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IChfZGVjbDBfMzQub3B0aW9udmFsdWU/IF9hbnlbX2RlY2wwXzM0Lm9wdGlvbnZhbHVlXTogX2FueSk7XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoKF9kZWNsMF8zNC5vcHRpb25lbmFibGVkICE9PSAnJykgJiYgKF9hbnlbX2RlY2wwXzM0Lm9wdGlvbmVuYWJsZWRdID09PSBmYWxzZSkpO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0ge2xhYmVsOl9hbnlbX2RlY2wwXzM0Lm9wdGlvbmxhYmVsXSxpdGVtOl9hbnl9O1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gKF9kZWNsMF8zNC5vcHRpb25sYWJlbHRlbXBsYXRlIHx8IF9kZWNsMF81OSk7XG4gICAgY3VyclZhbF81O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzQoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuZ3JvdXBpdGVtcyA9PT0gJycpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM0Lm9wdGlvbnM7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzEyKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM0Lmdyb3VwaXRlbXMgIT09ICcnKSkgeyB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpOyB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzExKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM0Lmdyb3VwaXRlbXMgIT09ICcnKSkgeyB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpOyB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzEwKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM0Lmdyb3VwaXRlbXMgIT09ICcnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMzQub3B0aW9udmFsdWU/IF9hbnlbX2RlY2wwXzM0Lm9wdGlvbnZhbHVlXTogX2FueSk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2RlY2wwXzM0Lm9wdGlvbnZhbHVlPyBfYW55W19kZWNsMF8zNC5vcHRpb252YWx1ZV06IF9hbnkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8zNC5vcHRpb252YWx1ZT8gX2FueVtfZGVjbDBfMzQub3B0aW9udmFsdWVdOiBfYW55KTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9ICgoX2RlY2wwXzM0Lm9wdGlvbmVuYWJsZWQgIT09ICcnKSAmJiAoX2FueVtfZGVjbDBfMzQub3B0aW9uZW5hYmxlZF0gPT09IGZhbHNlKSk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSB7bGFiZWw6X2FueVtfZGVjbDBfMzQub3B0aW9ubGFiZWxdLGl0ZW06X2FueX07XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAoX2RlY2wwXzM0Lm9wdGlvbmxhYmVsdGVtcGxhdGUgfHwgX2RlY2wwXzU5KTtcbiAgICBjdXJyVmFsXzU7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfOSgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNC5ncm91cGl0ZW1zICE9PSAnJykpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfYW55W19kZWNsMF8zNC5ncm91cGxhYmVsXTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9hbnlbX2RlY2wwXzM0Lmdyb3VwaXRlbXNdO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV84KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM0Lmdyb3VwaXRlbXMgIT09ICcnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNC5vcHRpb25zO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV8xNCgpOnZvaWQge1xuICBpZiAoKCgoKF9kZWNsMF8zNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM0LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMzQuZGlzYWJsZWxhYmVsKSAmJiAoKF9kZWNsMF8zNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM0LmhlbHB0ZXh0KSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzQuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzM0LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzEzKCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzM0LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8zNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM0LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfMTUoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM0LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV8xNigpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM0LmludmFsaWQpICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNy50cmFuc2Zvcm0oX2RlY2wwXzM0LkdldEVycm9yTWVzc2FnZSgpKTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfMTcoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9hbnk7XG4gIGN1cnJWYWxfMDtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3JvdyBmb3JtLWdyb3VwJztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzUyLnRyYW5zZm9ybShfZGVjbDBfMzQuY29tcG9uZW50SGVpZ2h0KTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8zNC5pbnZhbGlkICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKChfZGVjbDBfMzQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8zNC5pc0FkYXB0aXZlTGFiZWwpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAnY29sLXhzLTEyJztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gWygoX2RlY2wwXzM0LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfNTEudHJhbnNmb3JtKF9kZWNsMF8zNC5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKCgoKF9kZWNsMF8zNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM0LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMzQuZGlzYWJsZWxhYmVsKT8gJ2ZsZXgnOiBudWxsKTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IFtfZGVjbDBfNTAudHJhbnNmb3JtKF9kZWNsMF8zNC5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNC5uYW1lLCcnKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzQubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzM0LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gKF9kZWNsMF8zNC5lbXB0eWxhYmVsICE9PSAnJyk7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gKF9kZWNsMF8zNC5ncm91cGl0ZW1zID09PSAnJyk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gKF9kZWNsMF8zNC5ncm91cGl0ZW1zICE9PSAnJyk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gKCgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpICYmIF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9ICgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9ICgoX2RlY2wwXzM0LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8zNC5pbnZhbGlkKSAmJiAoX2RlY2wwXzM0LmRpcnR5IHx8IF9kZWNsMF8zNC50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IHBkXzE4OmFueSA9ICgoPGFueT5fZGVjbDBfMzQub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xOTphbnkgPSAoKDxhbnk+X2RlY2wwXzM0LnNldFZhbHVlKF9hbnkudmFsdWUpKSAhPT0gZmFsc2UpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF9Ib3N0XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzIoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM2LmlzQWRhcHRpdmVMYWJlbCkgJiYgKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM2LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNi5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzEoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMzYuaXNBZGFwdGl2ZUxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICdjb2wteHMtMTIgY29udHJvbC1sYWJlbCc7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBbKChfZGVjbDBfMzYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81My50cmFuc2Zvcm0oX2RlY2wwXzM2LmxhYmVsU2l6ZXMpOiAnc3Itb25seScpXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzYubmFtZSwnbGFiZWwnKTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzYubmFtZSwnJyk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSBfZGVjbDBfMzYuaXNyZXF1aXJlZDtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IF9kZWNsMF8zNi5sYWJlbDtcbiAgICBjdXJyVmFsXzU7XG4gICAgY29uc3QgY3VyclZhbF82OmFueSA9ICgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfNjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzYoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYuZ3JvdXBpdGVtcyA9PT0gJycpKSB7IHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7IH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0xpc3Rib3hDb21wb25lbnRfMl81KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM2Lmdyb3VwaXRlbXMgPT09ICcnKSkgeyB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpOyB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfNCgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNi5ncm91cGl0ZW1zID09PSAnJykpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfYW55W19kZWNsMF8zNi5vcHRpb252YWx1ZV07XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfYW55W19kZWNsMF8zNi5vcHRpb252YWx1ZV07XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfYW55W19kZWNsMF8zNi5vcHRpb252YWx1ZV07XG4gICAgY3VyclZhbF8yO1xuICAgIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoKF9kZWNsMF8zNi5vcHRpb25lbmFibGVkICE9PSAnJykgJiYgKF9hbnlbX2RlY2wwXzM2Lm9wdGlvbmVuYWJsZWRdID09PSBmYWxzZSkpO1xuICAgIGN1cnJWYWxfMztcbiAgICBjb25zdCBjdXJyVmFsXzQ6YW55ID0ge2xhYmVsOl9hbnlbX2RlY2wwXzM2Lm9wdGlvbmxhYmVsXX07XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAoX2RlY2wwXzM2Lm9wdGlvbmxhYmVsdGVtcGxhdGUgfHwgX2RlY2wwXzU5KTtcbiAgICBjdXJyVmFsXzU7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0xpc3Rib3hDb21wb25lbnRfMl8zKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM2Lmdyb3VwaXRlbXMgPT09ICcnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNi5vcHRpb25zO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzExKCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM2Lmdyb3VwaXRlbXMgIT09ICcnKSkgeyB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpOyB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfMTAoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYuZ3JvdXBpdGVtcyAhPT0gJycpKSB7IHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7IH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0xpc3Rib3hDb21wb25lbnRfMl85KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM2Lmdyb3VwaXRlbXMgIT09ICcnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9hbnlbX2RlY2wwXzM2Lm9wdGlvbnZhbHVlXTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9hbnlbX2RlY2wwXzM2Lm9wdGlvbnZhbHVlXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9hbnlbX2RlY2wwXzM2Lm9wdGlvbnZhbHVlXTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9ICgoX2RlY2wwXzM2Lm9wdGlvbmVuYWJsZWQgIT09ICcnKSAmJiAoX2FueVtfZGVjbDBfMzYub3B0aW9uZW5hYmxlZF0gPT09IGZhbHNlKSk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSB7bGFiZWw6X2FueVtfZGVjbDBfMzYub3B0aW9ubGFiZWxdfTtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IChfZGVjbDBfMzYub3B0aW9ubGFiZWx0ZW1wbGF0ZSB8fCBfZGVjbDBfNTkpO1xuICAgIGN1cnJWYWxfNTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzgoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYuZ3JvdXBpdGVtcyAhPT0gJycpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2FueVtfZGVjbDBfMzYuZ3JvdXBsYWJlbF07XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfYW55W19kZWNsMF8zNi5ncm91cGl0ZW1zXTtcbiAgICBjdXJyVmFsXzE7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0xpc3Rib3hDb21wb25lbnRfMl83KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM2Lmdyb3VwaXRlbXMgIT09ICcnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNi5vcHRpb25zO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzEzKCk6dm9pZCB7XG4gIGlmICgoKCgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpICYmIF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwpICYmICgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNi5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMzYuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzI7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0xpc3Rib3hDb21wb25lbnRfMl8xMigpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpICYmIF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfMTQoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM2LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzE1KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8zNi5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMzYuaW52YWxpZCkgJiYgKF9kZWNsMF8zNi5kaXJ0eSB8fCBfZGVjbDBfMzYudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM3LnRyYW5zZm9ybShfZGVjbDBfMzYuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzE2KCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfYW55O1xuICBjdXJyVmFsXzA7XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ3JvdyBmb3JtLWdyb3VwJztcbiAgY3VyclZhbF8wO1xuICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2RlY2wwXzUyLnRyYW5zZm9ybShfZGVjbDBfMzYuY29tcG9uZW50SGVpZ2h0KTtcbiAgY3VyclZhbF8xO1xuICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8zNi5pbnZhbGlkICYmIChfZGVjbDBfMzYuZGlydHkgfHwgX2RlY2wwXzM2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8yO1xuICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKChfZGVjbDBfMzYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8zNi5pc0FkYXB0aXZlTGFiZWwpO1xuICBjdXJyVmFsXzM7XG4gIGNvbnN0IGN1cnJWYWxfNDphbnkgPSAnY29sLXhzLTEyJztcbiAgY3VyclZhbF80O1xuICBjb25zdCBjdXJyVmFsXzU6YW55ID0gWygoX2RlY2wwXzM2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpPyBfZGVjbDBfNTEudHJhbnNmb3JtKF9kZWNsMF8zNi5sYWJlbFNpemVzKTogJycpXTtcbiAgY3VyclZhbF81O1xuICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKCgoKF9kZWNsMF8zNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM2LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMzYuZGlzYWJsZWxhYmVsKT8gJ2ZsZXgnOiBudWxsKTtcbiAgY3VyclZhbF82O1xuICBjb25zdCBjdXJyVmFsXzc6YW55ID0gJ2Zvcm0tY29udHJvbCc7XG4gIGN1cnJWYWxfNztcbiAgY29uc3QgY3VyclZhbF84OmFueSA9IFtfZGVjbDBfNTAudHJhbnNmb3JtKF9kZWNsMF8zNi5jb21wb25lbnRIZWlnaHQpXTtcbiAgY3VyclZhbF84O1xuICBjb25zdCBjdXJyVmFsXzk6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNi5uYW1lLCcnKTtcbiAgY3VyclZhbF85O1xuICBjb25zdCBjdXJyVmFsXzEwOmFueSA9IGkwLsm1aW5saW5lSW50ZXJwb2xhdGUoMSwnJyxfZGVjbDBfMzYubmFtZSwnJyk7XG4gIGN1cnJWYWxfMTA7XG4gIGNvbnN0IGN1cnJWYWxfMTE6YW55ID0gX2RlY2wwXzM2LnJvd3NpemU7XG4gIGN1cnJWYWxfMTE7XG4gIGNvbnN0IGN1cnJWYWxfMTI6YW55ID0gX2RlY2wwXzM2LmlzZGlzYWJsZWQ7XG4gIGN1cnJWYWxfMTI7XG4gIGNvbnN0IGN1cnJWYWxfMTM6YW55ID0gKF9kZWNsMF8zNi5ncm91cGl0ZW1zID09PSAnJyk7XG4gIGN1cnJWYWxfMTM7XG4gIGNvbnN0IGN1cnJWYWxfMTQ6YW55ID0gKF9kZWNsMF8zNi5ncm91cGl0ZW1zICE9PSAnJyk7XG4gIGN1cnJWYWxfMTQ7XG4gIGNvbnN0IGN1cnJWYWxfMTU6YW55ID0gKCgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpICYmIF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwpO1xuICBjdXJyVmFsXzE1O1xuICBjb25zdCBjdXJyVmFsXzE2OmFueSA9ICgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3RleHQnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpO1xuICBjdXJyVmFsXzE2O1xuICBjb25zdCBjdXJyVmFsXzE3OmFueSA9ICgoX2RlY2wwXzM2LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8zNi5pbnZhbGlkKSAmJiAoX2RlY2wwXzM2LmRpcnR5IHx8IF9kZWNsMF8zNi50b3VjaGVkKSk7XG4gIGN1cnJWYWxfMTc7XG4gIGNvbnN0IHBkXzE4OmFueSA9ICgoPGFueT5fZGVjbDBfMzYub25Ub3VjaCgpKSAhPT0gZmFsc2UpO1xuICBjb25zdCBwZF8xOTphbnkgPSAoKDxhbnk+X2RlY2wwXzM2LmdldFNlbGVjdGVkSXRlbXMoX2FueS50YXJnZXQpKSAhPT0gZmFsc2UpO1xufVxuIl19
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
+
*
|
|
4
|
+
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
+
* tslint:disable
|
|
6
|
+
*/
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUubmdmYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL2xpc3QvbGlzdC5tb2R1bGUubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIGkxIGZyb20gJy4vbGlzdC5tb2R1bGUnO1xuaW1wb3J0ICogYXMgaTIgZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCAqIGFzIGkzIGZyb20gJy4uL3Rvb2x0aXAvdG9vbHRpcCc7XG5pbXBvcnQgKiBhcyBpNCBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgKiBhcyBpNSBmcm9tICcuLi9sYXlvdXQvZm9ybWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0ICogYXMgaTYgZnJvbSAnLi9kcm9wZG93bic7XG5pbXBvcnQgKiBhcyBpNyBmcm9tICcuL2xpc3Rib3gnO1xuaW1wb3J0ICogYXMgaTggZnJvbSAnLi4vbGF5b3V0L3RvY29udHJvbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGk5IGZyb20gJy4uL2xheW91dC90b2NvbnRyb2x3aWR0aGNzcy5waXBlJztcbmltcG9ydCAqIGFzIGkxMCBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbGhlaWdodC5waXBlJztcbmltcG9ydCAqIGFzIGkxMSBmcm9tICcuLi9sYXlvdXQvdG9sYWJlbHdpZHRoY3NzLnBpcGUnO1xuaW1wb3J0ICogYXMgaTEyIGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgKiBhcyBpMTMgZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgKiBhcyBpMTQgZnJvbSAnLi4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xuZXhwb3J0IGNvbnN0IFNBQ0Jvb3RzdHJhcDNMaXN0TW9kdWxlTmdGYWN0b3J5OmkwLk5nTW9kdWxlRmFjdG9yeTxpMS5TQUNCb290c3RyYXAzTGlzdE1vZHVsZT4gPSAobnVsbCBhcyBhbnkpO1xudmFyIF9kZWNsMF8wOmkyLk5nQ2xhc3MgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTppMi5OZ0NvbXBvbmVudE91dGxldCA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yOmkyLk5nRm9yT2Y8YW55LGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzppMi5OZ0lmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDppMi5OZ1RlbXBsYXRlT3V0bGV0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU6aTIuTmdTdHlsZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF82OmkyLk5nU3dpdGNoID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzc6aTIuTmdTd2l0Y2hDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzg6aTIuTmdTd2l0Y2hEZWZhdWx0ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzk6aTIuTmdQbHVyYWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTA6aTIuTmdQbHVyYWxDYXNlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzExOmkzLlNhY1Rvb2x0aXBDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTI6aTQuybVhbmd1bGFyX3BhY2thZ2VzX2Zvcm1zX2Zvcm1zX3kgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTM6aTQuTmdTZWxlY3RPcHRpb24gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTQ6aTQuybVhbmd1bGFyX3BhY2thZ2VzX2Zvcm1zX2Zvcm1zX3ggPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTU6aTQuRGVmYXVsdFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTY6aTQuTnVtYmVyVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xNzppNC5SYW5nZVZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMTg6aTQuQ2hlY2tib3hDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8xOTppNC5TZWxlY3RDb250cm9sVmFsdWVBY2Nlc3NvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yMDppNC5TZWxlY3RNdWx0aXBsZUNvbnRyb2xWYWx1ZUFjY2Vzc29yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIxOmk0LlJhZGlvQ29udHJvbFZhbHVlQWNjZXNzb3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjI6aTQuTmdDb250cm9sU3RhdHVzID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzIzOmk0Lk5nQ29udHJvbFN0YXR1c0dyb3VwID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI0Omk0LlJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI1Omk0Lk1pbkxlbmd0aFZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yNjppNC5NYXhMZW5ndGhWYWxpZGF0b3IgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMjc6aTQuUGF0dGVyblZhbGlkYXRvciA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8yODppNC5DaGVja2JveFJlcXVpcmVkVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzI5Omk0LkVtYWlsVmFsaWRhdG9yID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMwOmk0Lk5nTW9kZWwgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzE6aTQuTmdNb2RlbEdyb3VwID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzMyOmk0Lk5nRm9ybSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF8zMzppNS5TYWNGb3JtTGF5b3V0RGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM0Omk2LlNhY0Ryb3Bkb3duQ29tcG9uZW50ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM1Omk2LlNhY0Ryb3Bkb3duT3B0aW9uRGlyZWN0aXZlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM2Omk3LlNhY0xpc3Rib3hDb21wb25lbnQgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzc6aTIuQXN5bmNQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzM4OmkyLlVwcGVyQ2FzZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfMzk6aTIuTG93ZXJDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MDppMi5Kc29uUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80MTppMi5TbGljZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDI6aTIuRGVjaW1hbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDM6aTIuUGVyY2VudFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDQ6aTIuVGl0bGVDYXNlUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF80NTppMi5DdXJyZW5jeVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDY6aTIuRGF0ZVBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDc6aTIuSTE4blBsdXJhbFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDg6aTIuSTE4blNlbGVjdFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNDk6aTIuS2V5VmFsdWVQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUwOmk4LlNhY1RvQ29udHJvbEhlaWdodFBpcGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTE6aTkuU2FjVG9Db250cm9sV2lkdGhDc3NQaXBlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzUyOmkxMC5TYWNUb0xhYmVsSGVpZ2h0UGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81MzppMTEuU2FjVG9MYWJlbFdpZHRoQ3NzUGlwZSA9ICg8YW55PihudWxsIGFzIGFueSkpO1xudmFyIF9kZWNsMF81NDppMi5Db21tb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTU6aTEyLlNBQ0NvbW1vbkxpc3Rib3hPcHRpb25Nb2R1bGUgPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNTY6aTEzLlNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU3Omk0LkZvcm1zTW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU4OmkxNC5TQUNCb290c3RyYXAzTGF5b3V0TW9kdWxlID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG52YXIgX2RlY2wwXzU5OmkwLlRlbXBsYXRlUmVmPGFueT4gPSAoPGFueT4obnVsbCBhcyBhbnkpKTtcbnZhciBfZGVjbDBfNjA6aTAuRWxlbWVudFJlZjxhbnk+ID0gKDxhbnk+KG51bGwgYXMgYW55KSk7XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF9Ib3N0XzFfMCgpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV8yKCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMzQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8zNC5pc0FkYXB0aXZlTGFiZWwpICYmICgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMzQuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzI7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8zNC5pc0FkYXB0aXZlTGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2NvbC14cy0xMiBjb250cm9sLWxhYmVsJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IFsoKF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzUzLnRyYW5zZm9ybShfZGVjbDBfMzQubGFiZWxTaXplcyk6ICdzci1vbmx5JyldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNC5uYW1lLCdsYWJlbCcpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNC5uYW1lLCcnKTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8zNC5pc3JlcXVpcmVkO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzM0LmxhYmVsO1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCk7XG4gICAgY3VyclZhbF82O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzMoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuZW1wdHlsYWJlbCAhPT0gJycpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM0LmVtcHR5dmFsdWU7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfMzQuZW1wdHl2YWx1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNC5lbXB0eXZhbHVlO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gX2RlY2wwXzM0LmVtcHR5bGFiZWw7XG4gICAgY3VyclZhbF8zO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzcoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuZ3JvdXBpdGVtcyA9PT0gJycpKSB7IHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7IH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfNigpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNC5ncm91cGl0ZW1zID09PSAnJykpIHsgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTsgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV81KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM0Lmdyb3VwaXRlbXMgPT09ICcnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IChfZGVjbDBfMzQub3B0aW9udmFsdWU/IF9hbnlbX2RlY2wwXzM0Lm9wdGlvbnZhbHVlXTogX2FueSk7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSAoX2RlY2wwXzM0Lm9wdGlvbnZhbHVlPyBfYW55W19kZWNsMF8zNC5vcHRpb252YWx1ZV06IF9hbnkpO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gKF9kZWNsMF8zNC5vcHRpb252YWx1ZT8gX2FueVtfZGVjbDBfMzQub3B0aW9udmFsdWVdOiBfYW55KTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9ICgoX2RlY2wwXzM0Lm9wdGlvbmVuYWJsZWQgIT09ICcnKSAmJiAoX2FueVtfZGVjbDBfMzQub3B0aW9uZW5hYmxlZF0gPT09IGZhbHNlKSk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSB7bGFiZWw6X2FueVtfZGVjbDBfMzQub3B0aW9ubGFiZWxdLGl0ZW06X2FueX07XG4gICAgY3VyclZhbF80O1xuICAgIGNvbnN0IGN1cnJWYWxfNTphbnkgPSAoX2RlY2wwXzM0Lm9wdGlvbmxhYmVsdGVtcGxhdGUgfHwgX2RlY2wwXzU5KTtcbiAgICBjdXJyVmFsXzU7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfNCgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNC5ncm91cGl0ZW1zID09PSAnJykpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzQub3B0aW9ucztcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfMTIoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuZ3JvdXBpdGVtcyAhPT0gJycpKSB7IHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7IH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfMTEoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuZ3JvdXBpdGVtcyAhPT0gJycpKSB7IHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7IH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfMTAoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuZ3JvdXBpdGVtcyAhPT0gJycpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gKF9kZWNsMF8zNC5vcHRpb252YWx1ZT8gX2FueVtfZGVjbDBfMzQub3B0aW9udmFsdWVdOiBfYW55KTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IChfZGVjbDBfMzQub3B0aW9udmFsdWU/IF9hbnlbX2RlY2wwXzM0Lm9wdGlvbnZhbHVlXTogX2FueSk7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzM0Lm9wdGlvbnZhbHVlPyBfYW55W19kZWNsMF8zNC5vcHRpb252YWx1ZV06IF9hbnkpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKChfZGVjbDBfMzQub3B0aW9uZW5hYmxlZCAhPT0gJycpICYmIChfYW55W19kZWNsMF8zNC5vcHRpb25lbmFibGVkXSA9PT0gZmFsc2UpKTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IHtsYWJlbDpfYW55W19kZWNsMF8zNC5vcHRpb25sYWJlbF0saXRlbTpfYW55fTtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IChfZGVjbDBfMzQub3B0aW9ubGFiZWx0ZW1wbGF0ZSB8fCBfZGVjbDBfNTkpO1xuICAgIGN1cnJWYWxfNTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV85KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM0Lmdyb3VwaXRlbXMgIT09ICcnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9hbnlbX2RlY2wwXzM0Lmdyb3VwbGFiZWxdO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2FueVtfZGVjbDBfMzQuZ3JvdXBpdGVtc107XG4gICAgY3VyclZhbF8xO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzgoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzQuZ3JvdXBpdGVtcyAhPT0gJycpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM0Lm9wdGlvbnM7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzE0KCk6dm9pZCB7XG4gIGlmICgoKCgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpICYmIF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwpICYmICgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9kZWNsMF8zNC5oZWxwdGV4dDtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IHRydWU7XG4gICAgY3VyclZhbF8xO1xuICAgIGNvbnN0IGN1cnJWYWxfMjphbnkgPSBfZGVjbDBfMzQuSGVscHRleHRUb29sdGlwSWNvbjtcbiAgICBjdXJyVmFsXzI7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0Ryb3Bkb3duQ29tcG9uZW50XzFfMTMoKTp2b2lkIHtcbiAgaWYgKCgoKF9kZWNsMF8zNC5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM0LmhlbHB0ZXh0KSAmJiBfZGVjbDBfMzQuZGlzYWJsZWxhYmVsKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9ICgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV8xNSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzQuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNEcm9wZG93bkNvbXBvbmVudF8xXzE2KCk6dm9pZCB7XG4gIGlmICgoKF9kZWNsMF8zNC5pc2lubGluZWVycm9yZW5hYmxlZCAmJiBfZGVjbDBfMzQuaW52YWxpZCkgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM3LnRyYW5zZm9ybShfZGVjbDBfMzQuR2V0RXJyb3JNZXNzYWdlKCkpO1xuICAgIGN1cnJWYWxfMDtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV8xNygpOnZvaWQge1xuICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2FueTtcbiAgY3VyclZhbF8wO1xufVxuZnVuY3Rpb24gX1ZpZXdfU2FjRHJvcGRvd25Db21wb25lbnRfMV8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNTIudHJhbnNmb3JtKF9kZWNsMF8zNC5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzM0LmludmFsaWQgJiYgKF9kZWNsMF8zNC5kaXJ0eSB8fCBfZGVjbDBfMzQudG91Y2hlZCkpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoKF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM0LmlzQWRhcHRpdmVMYWJlbCk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9ICdjb2wteHMtMTInO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBbKChfZGVjbDBfMzQuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81MS50cmFuc2Zvcm0oX2RlY2wwXzM0LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKCgoX2RlY2wwXzM0LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzQuaGVscHRleHQpICYmIF9kZWNsMF8zNC5kaXNhYmxlbGFiZWwpPyAnZmxleCc6IG51bGwpO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gW19kZWNsMF81MC50cmFuc2Zvcm0oX2RlY2wwXzM0LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM0Lm5hbWUsJycpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNC5uYW1lLCcnKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSBfZGVjbDBfMzQuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSAoX2RlY2wwXzM0LmVtcHR5bGFiZWwgIT09ICcnKTtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSAoX2RlY2wwXzM0Lmdyb3VwaXRlbXMgPT09ICcnKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSAoX2RlY2wwXzM0Lmdyb3VwaXRlbXMgIT09ICcnKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSAoKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCkgJiYgX2RlY2wwXzM0LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gKChfZGVjbDBfMzQuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNC5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gKChfZGVjbDBfMzQuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM0LmludmFsaWQpICYmIChfZGVjbDBfMzQuZGlydHkgfHwgX2RlY2wwXzM0LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgcGRfMTg6YW55ID0gKCg8YW55Pl9kZWNsMF8zNC5vblRvdWNoKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfMzQuc2V0VmFsdWUoX2FueS52YWx1ZSkpICE9PSBmYWxzZSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50X0hvc3RfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfMigpOnZvaWQge1xuICBpZiAoKCgoX2RlY2wwXzM2LmRpc2FibGVsYWJlbCA9PT0gZmFsc2UpICYmICFfZGVjbDBfMzYuaXNBZGFwdGl2ZUxhYmVsKSAmJiAoKF9kZWNsMF8zNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM2LmhlbHB0ZXh0KSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICAgIGNvbnN0IGN1cnJWYWxfMTphbnkgPSB0cnVlO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2RlY2wwXzM2LkhlbHB0ZXh0VG9vbHRpcEljb247XG4gICAgY3VyclZhbF8yO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfMSgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSkgJiYgIV9kZWNsMF8zNi5pc0FkYXB0aXZlTGFiZWwpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gJ2NvbC14cy0xMiBjb250cm9sLWxhYmVsJztcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IFsoKF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKT8gX2RlY2wwXzUzLnRyYW5zZm9ybShfZGVjbDBfMzYubGFiZWxTaXplcyk6ICdzci1vbmx5JyldO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNi5uYW1lLCdsYWJlbCcpO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNi5uYW1lLCcnKTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IF9kZWNsMF8zNi5pc3JlcXVpcmVkO1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gX2RlY2wwXzM2LmxhYmVsO1xuICAgIGN1cnJWYWxfNTtcbiAgICBjb25zdCBjdXJyVmFsXzY6YW55ID0gKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCk7XG4gICAgY3VyclZhbF82O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfNigpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNi5ncm91cGl0ZW1zID09PSAnJykpIHsgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTsgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzUoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYuZ3JvdXBpdGVtcyA9PT0gJycpKSB7IHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7IH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0xpc3Rib3hDb21wb25lbnRfMl80KCk6dm9pZCB7XG4gIGlmICgoX2RlY2wwXzM2Lmdyb3VwaXRlbXMgPT09ICcnKSkge1xuICAgIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gICAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9hbnlbX2RlY2wwXzM2Lm9wdGlvbnZhbHVlXTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9hbnlbX2RlY2wwXzM2Lm9wdGlvbnZhbHVlXTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9hbnlbX2RlY2wwXzM2Lm9wdGlvbnZhbHVlXTtcbiAgICBjdXJyVmFsXzI7XG4gICAgY29uc3QgY3VyclZhbF8zOmFueSA9ICgoX2RlY2wwXzM2Lm9wdGlvbmVuYWJsZWQgIT09ICcnKSAmJiAoX2FueVtfZGVjbDBfMzYub3B0aW9uZW5hYmxlZF0gPT09IGZhbHNlKSk7XG4gICAgY3VyclZhbF8zO1xuICAgIGNvbnN0IGN1cnJWYWxfNDphbnkgPSB7bGFiZWw6X2FueVtfZGVjbDBfMzYub3B0aW9ubGFiZWxdfTtcbiAgICBjdXJyVmFsXzQ7XG4gICAgY29uc3QgY3VyclZhbF81OmFueSA9IChfZGVjbDBfMzYub3B0aW9ubGFiZWx0ZW1wbGF0ZSB8fCBfZGVjbDBfNTkpO1xuICAgIGN1cnJWYWxfNTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzMoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYuZ3JvdXBpdGVtcyA9PT0gJycpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM2Lm9wdGlvbnM7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfMTEoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYuZ3JvdXBpdGVtcyAhPT0gJycpKSB7IHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7IH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0xpc3Rib3hDb21wb25lbnRfMl8xMCgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNi5ncm91cGl0ZW1zICE9PSAnJykpIHsgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTsgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzkoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYuZ3JvdXBpdGVtcyAhPT0gJycpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2FueVtfZGVjbDBfMzYub3B0aW9udmFsdWVdO1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gX2FueVtfZGVjbDBfMzYub3B0aW9udmFsdWVdO1xuICAgIGN1cnJWYWxfMTtcbiAgICBjb25zdCBjdXJyVmFsXzI6YW55ID0gX2FueVtfZGVjbDBfMzYub3B0aW9udmFsdWVdO1xuICAgIGN1cnJWYWxfMjtcbiAgICBjb25zdCBjdXJyVmFsXzM6YW55ID0gKChfZGVjbDBfMzYub3B0aW9uZW5hYmxlZCAhPT0gJycpICYmIChfYW55W19kZWNsMF8zNi5vcHRpb25lbmFibGVkXSA9PT0gZmFsc2UpKTtcbiAgICBjdXJyVmFsXzM7XG4gICAgY29uc3QgY3VyclZhbF80OmFueSA9IHtsYWJlbDpfYW55W19kZWNsMF8zNi5vcHRpb25sYWJlbF19O1xuICAgIGN1cnJWYWxfNDtcbiAgICBjb25zdCBjdXJyVmFsXzU6YW55ID0gKF9kZWNsMF8zNi5vcHRpb25sYWJlbHRlbXBsYXRlIHx8IF9kZWNsMF81OSk7XG4gICAgY3VyclZhbF81O1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfOCgpOnZvaWQge1xuICBpZiAoKF9kZWNsMF8zNi5ncm91cGl0ZW1zICE9PSAnJykpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfYW55W19kZWNsMF8zNi5ncm91cGxhYmVsXTtcbiAgICBjdXJyVmFsXzA7XG4gICAgY29uc3QgY3VyclZhbF8xOmFueSA9IF9hbnlbX2RlY2wwXzM2Lmdyb3VwaXRlbXNdO1xuICAgIGN1cnJWYWxfMTtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzcoKTp2b2lkIHtcbiAgaWYgKChfZGVjbDBfMzYuZ3JvdXBpdGVtcyAhPT0gJycpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM2Lm9wdGlvbnM7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfMTMoKTp2b2lkIHtcbiAgaWYgKCgoKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCkgJiYgX2RlY2wwXzM2LmRpc2FibGVsYWJlbCkgJiYgKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCkpKSB7XG4gICAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgICBjb25zdCBjdXJyVmFsXzA6YW55ID0gX2RlY2wwXzM2LmhlbHB0ZXh0O1xuICAgIGN1cnJWYWxfMDtcbiAgICBjb25zdCBjdXJyVmFsXzE6YW55ID0gdHJ1ZTtcbiAgICBjdXJyVmFsXzE7XG4gICAgY29uc3QgY3VyclZhbF8yOmFueSA9IF9kZWNsMF8zNi5IZWxwdGV4dFRvb2x0aXBJY29uO1xuICAgIGN1cnJWYWxfMjtcbiAgfVxufVxuZnVuY3Rpb24gX1ZpZXdfU2FjTGlzdGJveENvbXBvbmVudF8yXzEyKCk6dm9pZCB7XG4gIGlmICgoKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCkgJiYgX2RlY2wwXzM2LmRpc2FibGVsYWJlbCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAoKF9kZWNsMF8zNi5oZWxwdGV4dG1vZGUgPT09ICd0b29sdGlwJykgJiYgX2RlY2wwXzM2LmhlbHB0ZXh0KTtcbiAgICBjdXJyVmFsXzA7XG4gIH1cbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0xpc3Rib3hDb21wb25lbnRfMl8xNCgpOnZvaWQge1xuICBpZiAoKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzYuaGVscHRleHQ7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfMTUoKTp2b2lkIHtcbiAgaWYgKCgoX2RlY2wwXzM2LmlzaW5saW5lZXJyb3JlbmFibGVkICYmIF9kZWNsMF8zNi5pbnZhbGlkKSAmJiAoX2RlY2wwXzM2LmRpcnR5IHx8IF9kZWNsMF8zNi50b3VjaGVkKSkpIHtcbiAgICB2YXIgX2FueTphbnkgPSAobnVsbCBhcyBhbnkpO1xuICAgIGNvbnN0IGN1cnJWYWxfMDphbnkgPSBfZGVjbDBfMzcudHJhbnNmb3JtKF9kZWNsMF8zNi5HZXRFcnJvck1lc3NhZ2UoKSk7XG4gICAgY3VyclZhbF8wO1xuICB9XG59XG5mdW5jdGlvbiBfVmlld19TYWNMaXN0Ym94Q29tcG9uZW50XzJfMTYoKTp2b2lkIHtcbiAgdmFyIF9hbnk6YW55ID0gKG51bGwgYXMgYW55KTtcbiAgY29uc3QgY3VyclZhbF8wOmFueSA9IF9hbnk7XG4gIGN1cnJWYWxfMDtcbn1cbmZ1bmN0aW9uIF9WaWV3X1NhY0xpc3Rib3hDb21wb25lbnRfMl8wKCk6dm9pZCB7XG4gIHZhciBfYW55OmFueSA9IChudWxsIGFzIGFueSk7XG4gIGNvbnN0IGN1cnJWYWxfMDphbnkgPSAncm93IGZvcm0tZ3JvdXAnO1xuICBjdXJyVmFsXzA7XG4gIGNvbnN0IGN1cnJWYWxfMTphbnkgPSBfZGVjbDBfNTIudHJhbnNmb3JtKF9kZWNsMF8zNi5jb21wb25lbnRIZWlnaHQpO1xuICBjdXJyVmFsXzE7XG4gIGNvbnN0IGN1cnJWYWxfMjphbnkgPSAoX2RlY2wwXzM2LmludmFsaWQgJiYgKF9kZWNsMF8zNi5kaXJ0eSB8fCBfZGVjbDBfMzYudG91Y2hlZCkpO1xuICBjdXJyVmFsXzI7XG4gIGNvbnN0IGN1cnJWYWxfMzphbnkgPSAoKF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwgPT09IGZhbHNlKSAmJiAhX2RlY2wwXzM2LmlzQWRhcHRpdmVMYWJlbCk7XG4gIGN1cnJWYWxfMztcbiAgY29uc3QgY3VyclZhbF80OmFueSA9ICdjb2wteHMtMTInO1xuICBjdXJyVmFsXzQ7XG4gIGNvbnN0IGN1cnJWYWxfNTphbnkgPSBbKChfZGVjbDBfMzYuZGlzYWJsZWxhYmVsID09PSBmYWxzZSk/IF9kZWNsMF81MS50cmFuc2Zvcm0oX2RlY2wwXzM2LmxhYmVsU2l6ZXMpOiAnJyldO1xuICBjdXJyVmFsXzU7XG4gIGNvbnN0IGN1cnJWYWxfNjphbnkgPSAoKCgoX2RlY2wwXzM2LmhlbHB0ZXh0bW9kZSA9PT0gJ3Rvb2x0aXAnKSAmJiBfZGVjbDBfMzYuaGVscHRleHQpICYmIF9kZWNsMF8zNi5kaXNhYmxlbGFiZWwpPyAnZmxleCc6IG51bGwpO1xuICBjdXJyVmFsXzY7XG4gIGNvbnN0IGN1cnJWYWxfNzphbnkgPSAnZm9ybS1jb250cm9sJztcbiAgY3VyclZhbF83O1xuICBjb25zdCBjdXJyVmFsXzg6YW55ID0gW19kZWNsMF81MC50cmFuc2Zvcm0oX2RlY2wwXzM2LmNvbXBvbmVudEhlaWdodCldO1xuICBjdXJyVmFsXzg7XG4gIGNvbnN0IGN1cnJWYWxfOTphbnkgPSBpMC7JtWlubGluZUludGVycG9sYXRlKDEsJycsX2RlY2wwXzM2Lm5hbWUsJycpO1xuICBjdXJyVmFsXzk7XG4gIGNvbnN0IGN1cnJWYWxfMTA6YW55ID0gaTAuybVpbmxpbmVJbnRlcnBvbGF0ZSgxLCcnLF9kZWNsMF8zNi5uYW1lLCcnKTtcbiAgY3VyclZhbF8xMDtcbiAgY29uc3QgY3VyclZhbF8xMTphbnkgPSBfZGVjbDBfMzYucm93c2l6ZTtcbiAgY3VyclZhbF8xMTtcbiAgY29uc3QgY3VyclZhbF8xMjphbnkgPSBfZGVjbDBfMzYuaXNkaXNhYmxlZDtcbiAgY3VyclZhbF8xMjtcbiAgY29uc3QgY3VyclZhbF8xMzphbnkgPSAoX2RlY2wwXzM2Lmdyb3VwaXRlbXMgPT09ICcnKTtcbiAgY3VyclZhbF8xMztcbiAgY29uc3QgY3VyclZhbF8xNDphbnkgPSAoX2RlY2wwXzM2Lmdyb3VwaXRlbXMgIT09ICcnKTtcbiAgY3VyclZhbF8xNDtcbiAgY29uc3QgY3VyclZhbF8xNTphbnkgPSAoKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndG9vbHRpcCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCkgJiYgX2RlY2wwXzM2LmRpc2FibGVsYWJlbCk7XG4gIGN1cnJWYWxfMTU7XG4gIGNvbnN0IGN1cnJWYWxfMTY6YW55ID0gKChfZGVjbDBfMzYuaGVscHRleHRtb2RlID09PSAndGV4dCcpICYmIF9kZWNsMF8zNi5oZWxwdGV4dCk7XG4gIGN1cnJWYWxfMTY7XG4gIGNvbnN0IGN1cnJWYWxfMTc6YW55ID0gKChfZGVjbDBfMzYuaXNpbmxpbmVlcnJvcmVuYWJsZWQgJiYgX2RlY2wwXzM2LmludmFsaWQpICYmIChfZGVjbDBfMzYuZGlydHkgfHwgX2RlY2wwXzM2LnRvdWNoZWQpKTtcbiAgY3VyclZhbF8xNztcbiAgY29uc3QgcGRfMTg6YW55ID0gKCg8YW55Pl9kZWNsMF8zNi5vblRvdWNoKCkpICE9PSBmYWxzZSk7XG4gIGNvbnN0IHBkXzE5OmFueSA9ICgoPGFueT5fZGVjbDBfMzYuZ2V0U2VsZWN0ZWRJdGVtcyhfYW55LnRhcmdldCkpICE9PSBmYWxzZSk7XG59XG4iXX0=
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { Component, Host, Injector, Optional, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
// import { SacBaseSelectControl } from '../../common/baseselectcontrol';
|
|
4
|
-
// import { Validation } from '../../validation';
|
|
5
|
-
import { SacListboxCommon } from '@simpleangularcontrols/sac-common';
|
|
6
|
-
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
7
|
-
export class SacListboxComponent extends SacListboxCommon {
|
|
8
|
-
// #region Constructors
|
|
9
|
-
/**
|
|
10
|
-
* Constructor
|
|
11
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
12
|
-
* @param injector Injector for injecting services
|
|
13
|
-
*/
|
|
14
|
-
constructor(formLayout, injector) {
|
|
15
|
-
super(formLayout, injector);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
SacListboxComponent.decorators = [
|
|
19
|
-
{ type: Component, args: [{
|
|
20
|
-
selector: 'sac-listbox',
|
|
21
|
-
template: "<div\
|
|
22
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
23
|
-
providers: [
|
|
24
|
-
{
|
|
25
|
-
provide: NG_VALUE_ACCESSOR,
|
|
26
|
-
multi: true,
|
|
27
|
-
useExisting: SacListboxComponent,
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
provide: NG_VALIDATORS,
|
|
31
|
-
multi: true,
|
|
32
|
-
useExisting: forwardRef(() => SacListboxComponent),
|
|
33
|
-
},
|
|
34
|
-
]
|
|
35
|
-
},] }
|
|
36
|
-
];
|
|
37
|
-
SacListboxComponent.ctorParameters = () => [
|
|
38
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
39
|
-
{ type: Injector }
|
|
40
|
-
];
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Host, Injector, Optional, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
// import { SacBaseSelectControl } from '../../common/baseselectcontrol';
|
|
4
|
+
// import { Validation } from '../../validation';
|
|
5
|
+
import { SacListboxCommon } from '@simpleangularcontrols/sac-common';
|
|
6
|
+
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
7
|
+
export class SacListboxComponent extends SacListboxCommon {
|
|
8
|
+
// #region Constructors
|
|
9
|
+
/**
|
|
10
|
+
* Constructor
|
|
11
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
12
|
+
* @param injector Injector for injecting services
|
|
13
|
+
*/
|
|
14
|
+
constructor(formLayout, injector) {
|
|
15
|
+
super(formLayout, injector);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
SacListboxComponent.decorators = [
|
|
19
|
+
{ type: Component, args: [{
|
|
20
|
+
selector: 'sac-listbox',
|
|
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 <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <select\n multiple\n id=\"{{ name }}\"\n name=\"{{ name }}\"\n class=\"form-control\"\n [ngClass]=\"[componentHeight | toControlHeight]\"\n [size]=\"rowsize\"\n (blur)=\"onTouch()\"\n (change)=\"getSelectedItems($event.target)\"\n [disabled]=\"isdisabled\">\n <ng-content></ng-content>\n <ng-container *ngIf=\"groupitems === ''\">\n <option\n *ngFor=\"let option of options\"\n [value]=\"option[optionvalue]\"\n [disabled]=\"optionenabled !== '' && option[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: option[optionlabel] }\"> </ng-template>\n </option>\n </ng-container>\n <ng-container *ngIf=\"groupitems !== ''\">\n <optgroup\n *ngFor=\"let option of options\"\n [attr.label]=\"option[grouplabel]\">\n <option\n *ngFor=\"let item of option[groupitems]\"\n [value]=\"item[optionvalue]\"\n [disabled]=\"optionenabled !== '' && item[optionenabled] === false\">\n <ng-template *ngTemplateOutlet=\"optionlabeltemplate || defaultItemLabelTemplate; context: { label: item[optionlabel] }\"> </ng-template>\n </option>\n </optgroup>\n </ng-container>\n </select>\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\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && invalid && (dirty || touched)\">\n {{ GetErrorMessage() | async }}\n </div>\n </div>\n</div>\n\n<ng-template\n #defaultItemLabelTemplate\n let-label=\"label\">\n {{ label }}\n</ng-template>\n",
|
|
22
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
23
|
+
providers: [
|
|
24
|
+
{
|
|
25
|
+
provide: NG_VALUE_ACCESSOR,
|
|
26
|
+
multi: true,
|
|
27
|
+
useExisting: SacListboxComponent,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
provide: NG_VALIDATORS,
|
|
31
|
+
multi: true,
|
|
32
|
+
useExisting: forwardRef(() => SacListboxComponent),
|
|
33
|
+
},
|
|
34
|
+
]
|
|
35
|
+
},] }
|
|
36
|
+
];
|
|
37
|
+
SacListboxComponent.ctorParameters = () => [
|
|
38
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
39
|
+
{ type: Injector }
|
|
40
|
+
];
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9saXN0L2xpc3Rib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLHlFQUF5RTtBQUN6RSxpREFBaUQ7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFtQnhFLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxnQkFBZ0I7SUFDdkQsdUJBQXVCO0lBRXZCOzs7O09BSUc7SUFDSCxZQUNzQixVQUFrQyxFQUN0RCxRQUFrQjtRQUVsQixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OztZQTlCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7Z0JBQ3ZCLHMzSEFBNkI7Z0JBQzdCLCtGQUErRjtnQkFDL0YsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxtQkFBbUI7cUJBQ2pDO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxhQUFhO3dCQUN0QixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO3FCQUNuRDtpQkFDRjthQUNGOzs7WUFsQlEsc0JBQXNCLHVCQTRCMUIsSUFBSSxZQUFJLFFBQVE7WUFqQ0ssUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbi8vIGltcG9ydCB7IFNhY0Jhc2VTZWxlY3RDb250cm9sIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Jhc2VzZWxlY3Rjb250cm9sJztcbi8vIGltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcbmltcG9ydCB7IFNhY0xpc3Rib3hDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuaW1wb3J0IHsgU2FjRm9ybUxheW91dERpcmVjdGl2ZSB9IGZyb20gJy4uL2xheW91dC9mb3JtbGF5b3V0LmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NhYy1saXN0Ym94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3Rib3guaHRtbCcsXG4gIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VFeGlzdGluZzogU2FjTGlzdGJveENvbXBvbmVudCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNhY0xpc3Rib3hDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY0xpc3Rib3hDb21wb25lbnQgZXh0ZW5kcyBTYWNMaXN0Ym94Q29tbW9uIHtcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcblxuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICogQHBhcmFtIGZvcm1MYXlvdXQgU2FjRm9ybUxheW91dCB0byBkZWZpbmUgc2NvcGVkIGxheW91dCBzZXR0aW5nc1xuICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgQEhvc3QoKSBAT3B0aW9uYWwoKSBmb3JtTGF5b3V0OiBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihmb3JtTGF5b3V0LCBpbmplY3Rvcik7XG4gIH1cblxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
-
*
|
|
4
|
-
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
-
* tslint:disable
|
|
6
|
-
*/
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
+
*
|
|
4
|
+
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
+
* tslint:disable
|
|
6
|
+
*/
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGJveC5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvbGlzdC9saXN0Ym94Lm5nZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaTAgZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pMC5Db21wb25lbnRGYWN0b3J5O1xuIl19
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
2
|
-
import { Component, Host, Injector, Optional, forwardRef } from '@angular/core';
|
|
3
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
-
import { SacStaticFormContainerCommon } from '@simpleangularcontrols/sac-common';
|
|
5
|
-
/**
|
|
6
|
-
* Component für einbindung eines beliebigen Controls in die Form Struktur
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
|
|
10
|
-
* <input type="range" class="form-control" />
|
|
11
|
-
* </ngStaticFormContainer>
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
|
|
15
|
-
* <input type="range" class="form-control" />
|
|
16
|
-
* </ngStaticFormContainer>
|
|
17
|
-
*
|
|
18
|
-
**/
|
|
19
|
-
export class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
|
|
20
|
-
// #region Constructors
|
|
21
|
-
/**
|
|
22
|
-
* Constructor
|
|
23
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
24
|
-
* @param injector Injector for injecting services
|
|
25
|
-
*/
|
|
26
|
-
constructor(formLayout, injector) {
|
|
27
|
-
super(formLayout, injector);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
SacStaticFormContainerComponent.decorators = [
|
|
31
|
-
{ type: Component, args: [{
|
|
32
|
-
selector: 'sac-staticformcontainer',
|
|
33
|
-
template: "<div\
|
|
34
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
35
|
-
providers: [
|
|
36
|
-
{
|
|
37
|
-
provide: NG_VALUE_ACCESSOR,
|
|
38
|
-
multi: true,
|
|
39
|
-
useExisting: SacStaticFormContainerComponent,
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
provide: NG_VALIDATORS,
|
|
43
|
-
multi: true,
|
|
44
|
-
useExisting: forwardRef(() => SacStaticFormContainerComponent),
|
|
45
|
-
},
|
|
46
|
-
]
|
|
47
|
-
},] }
|
|
48
|
-
];
|
|
49
|
-
SacStaticFormContainerComponent.ctorParameters = () => [
|
|
50
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
51
|
-
{ type: Injector }
|
|
52
|
-
];
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
2
|
+
import { Component, Host, Injector, Optional, forwardRef } from '@angular/core';
|
|
3
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { SacStaticFormContainerCommon } from '@simpleangularcontrols/sac-common';
|
|
5
|
+
/**
|
|
6
|
+
* Component für einbindung eines beliebigen Controls in die Form Struktur
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* <ngStaticFormContainer name='myformcontainer' label="My Custom Form Control" [isrequired]='false'>
|
|
10
|
+
* <input type="range" class="form-control" />
|
|
11
|
+
* </ngStaticFormContainer>
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* <ngStaticFormContainer name='myformcintainer' label="My Custom Form Control" [isrequired]='false' tooltiptext="Dies ist ein Tooltip Text">
|
|
15
|
+
* <input type="range" class="form-control" />
|
|
16
|
+
* </ngStaticFormContainer>
|
|
17
|
+
*
|
|
18
|
+
**/
|
|
19
|
+
export class SacStaticFormContainerComponent extends SacStaticFormContainerCommon {
|
|
20
|
+
// #region Constructors
|
|
21
|
+
/**
|
|
22
|
+
* Constructor
|
|
23
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
24
|
+
* @param injector Injector for injecting services
|
|
25
|
+
*/
|
|
26
|
+
constructor(formLayout, injector) {
|
|
27
|
+
super(formLayout, injector);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
SacStaticFormContainerComponent.decorators = [
|
|
31
|
+
{ type: Component, args: [{
|
|
32
|
+
selector: 'sac-staticformcontainer',
|
|
33
|
+
template: "<div\n class=\"row form-group\"\n [class.has-error]=\"isinvalid && errormessage\"\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 <div [style.display]=\"helptextmode === 'tooltip' && helptext && disablelabel ? 'flex' : null\">\n <ng-content></ng-content>\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\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n\n <div\n class=\"help-block help-block-error\"\n *ngIf=\"isinlineerrorenabled && isinvalid && errormessage\">\n {{ errormessage }}\n </div>\n </div>\n</div>\n",
|
|
34
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
35
|
+
providers: [
|
|
36
|
+
{
|
|
37
|
+
provide: NG_VALUE_ACCESSOR,
|
|
38
|
+
multi: true,
|
|
39
|
+
useExisting: SacStaticFormContainerComponent,
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
provide: NG_VALIDATORS,
|
|
43
|
+
multi: true,
|
|
44
|
+
useExisting: forwardRef(() => SacStaticFormContainerComponent),
|
|
45
|
+
},
|
|
46
|
+
]
|
|
47
|
+
},] }
|
|
48
|
+
];
|
|
49
|
+
SacStaticFormContainerComponent.ctorParameters = () => [
|
|
50
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
51
|
+
{ type: Injector }
|
|
52
|
+
];
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9zaW1wbGVhbmd1bGFyY29udHJvbHMvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL2NoLmpuZXR3b3JrLnNhYy1jb250cm9scy9wcm9qZWN0cy9zYWMtYm9vdHN0cmFwMy9zcmMvIiwic291cmNlcyI6WyJjb250cm9scy9zdGF0aWMvZm9ybWNvbnRhaW5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFakY7Ozs7Ozs7Ozs7Ozs7SUFhSTtBQWtCSixNQUFNLE9BQU8sK0JBQWdDLFNBQVEsNEJBQTRCO0lBQzdFLHVCQUF1QjtJQUV2Qjs7OztPQUlHO0lBQ0gsWUFBZ0MsVUFBa0MsRUFBRSxRQUFrQjtRQUNsRixLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OztZQTNCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsK2tFQUFtQztnQkFDbkMsK0ZBQStGO2dCQUMvRixTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLCtCQUErQjtxQkFDL0M7b0JBQ0Q7d0JBQ0ksT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLEtBQUssRUFBRSxJQUFJO3dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsK0JBQStCLENBQUM7cUJBQ2pFO2lCQUNKO2FBQ0o7OztZQW5DUSxzQkFBc0IsdUJBNENkLElBQUksWUFBSSxRQUFRO1lBM0NQLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdCwgSW5qZWN0b3IsIE9wdGlvbmFsLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21tb24gfSBmcm9tICdAc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NhYy1jb21tb24nO1xuXG4vKipcbiAqIENvbXBvbmVudCBmw7xyIGVpbmJpbmR1bmcgZWluZXMgYmVsaWViaWdlbiBDb250cm9scyBpbiBkaWUgRm9ybSBTdHJ1a3R1clxuICpcbiAqIEBleGFtcGxlXG4gKiAgPG5nU3RhdGljRm9ybUNvbnRhaW5lciBuYW1lPSdteWZvcm1jb250YWluZXInIGxhYmVsPVwiTXkgQ3VzdG9tIEZvcm0gQ29udHJvbFwiIFtpc3JlcXVpcmVkXT0nZmFsc2UnPlxuICogICAgICA8aW5wdXQgdHlwZT1cInJhbmdlXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiAvPlxuICogIDwvbmdTdGF0aWNGb3JtQ29udGFpbmVyPlxuICpcbiAqIEBleGFtcGxlXG4gKiA8bmdTdGF0aWNGb3JtQ29udGFpbmVyIG5hbWU9J215Zm9ybWNpbnRhaW5lcicgbGFiZWw9XCJNeSBDdXN0b20gRm9ybSBDb250cm9sXCIgW2lzcmVxdWlyZWRdPSdmYWxzZScgdG9vbHRpcHRleHQ9XCJEaWVzIGlzdCBlaW4gVG9vbHRpcCBUZXh0XCI+XG4gKiAgICAgPGlucHV0IHR5cGU9XCJyYW5nZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgLz5cbiAqIDwvbmdTdGF0aWNGb3JtQ29udGFpbmVyPlxuICpcbiAqKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2FjLXN0YXRpY2Zvcm1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtY29udGFpbmVyLmh0bWwnLFxuICAgIC8vIFZhbHVlIEFjY2VzcyBQcm92aWRlciByZWdpc3RyaWVyZW4sIGRhbWl0IFdlcnQgdmlhIE1vZGVsIGdlc2NocmllYmVuIHVuZCBnZWxlc2VuIHdlcmRlbiBrYW5uXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FjU3RhdGljRm9ybUNvbnRhaW5lckNvbXBvbmVudCBleHRlbmRzIFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21tb24ge1xuICAgIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSBmb3JtTGF5b3V0IFNhY0Zvcm1MYXlvdXQgdG8gZGVmaW5lIHNjb3BlZCBsYXlvdXQgc2V0dGluZ3NcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgZm9yIGluamVjdGluZyBzZXJ2aWNlc1xuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKEBIb3N0KCkgQE9wdGlvbmFsKCkgZm9ybUxheW91dDogU2FjRm9ybUxheW91dERpcmVjdGl2ZSwgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
-
*
|
|
4
|
-
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
-
* tslint:disable
|
|
6
|
-
*/
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview This file was generated by the Angular template compiler. Do not edit.
|
|
3
|
+
*
|
|
4
|
+
* @suppress {suspiciousCode,uselessCode,missingProperties,missingOverride,checkTypes,extraRequire}
|
|
5
|
+
* tslint:disable
|
|
6
|
+
*/
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWNvbnRhaW5lci5uZ2ZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvc3RhdGljL2Zvcm1jb250YWluZXIubmdmYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpMCBmcm9tICdAYW5ndWxhci9jb3JlJztcbmkwLkNvbXBvbmVudEZhY3Rvcnk7XG4iXX0=
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { Component, Host, Injector, Optional, forwardRef } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { SacStaticLabelCommon } from '@simpleangularcontrols/sac-common';
|
|
4
|
-
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
5
|
-
export class SacStaticLabelComponent extends SacStaticLabelCommon {
|
|
6
|
-
// #region Constructors
|
|
7
|
-
/**
|
|
8
|
-
* Constructor
|
|
9
|
-
* @param formLayout SacFormLayout to define scoped layout settings
|
|
10
|
-
* @param injector Injector for injecting services
|
|
11
|
-
*/
|
|
12
|
-
constructor(formLayout, injector) {
|
|
13
|
-
super(formLayout, injector);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
SacStaticLabelComponent.decorators = [
|
|
17
|
-
{ type: Component, args: [{
|
|
18
|
-
selector: 'sac-staticlabel',
|
|
19
|
-
template: "<div\
|
|
20
|
-
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
21
|
-
providers: [
|
|
22
|
-
{
|
|
23
|
-
provide: NG_VALUE_ACCESSOR,
|
|
24
|
-
multi: true,
|
|
25
|
-
useExisting: SacStaticLabelComponent,
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
provide: NG_VALIDATORS,
|
|
29
|
-
multi: true,
|
|
30
|
-
useExisting: forwardRef(() => SacStaticLabelComponent),
|
|
31
|
-
},
|
|
32
|
-
]
|
|
33
|
-
},] }
|
|
34
|
-
];
|
|
35
|
-
SacStaticLabelComponent.ctorParameters = () => [
|
|
36
|
-
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
37
|
-
{ type: Injector }
|
|
38
|
-
];
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Host, Injector, Optional, forwardRef } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { SacStaticLabelCommon } from '@simpleangularcontrols/sac-common';
|
|
4
|
+
import { SacFormLayoutDirective } from '../layout/formlayout.directive';
|
|
5
|
+
export class SacStaticLabelComponent extends SacStaticLabelCommon {
|
|
6
|
+
// #region Constructors
|
|
7
|
+
/**
|
|
8
|
+
* Constructor
|
|
9
|
+
* @param formLayout SacFormLayout to define scoped layout settings
|
|
10
|
+
* @param injector Injector for injecting services
|
|
11
|
+
*/
|
|
12
|
+
constructor(formLayout, injector) {
|
|
13
|
+
super(formLayout, injector);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
SacStaticLabelComponent.decorators = [
|
|
17
|
+
{ type: Component, args: [{
|
|
18
|
+
selector: 'sac-staticlabel',
|
|
19
|
+
template: "<div\n class=\"row form-group\"\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 <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 [id]=\"name\"\n class=\"form-control-static\"\n [style.padding-left.px]=\"0\"\n [innerHTML]=\"value\">\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\n <p\n *ngIf=\"helptextmode === 'text' && helptext\"\n class=\"help-block\">\n {{ helptext }}\n </p>\n </div>\n</div>\n",
|
|
20
|
+
// Value Access Provider registrieren, damit Wert via Model geschrieben und gelesen werden kann
|
|
21
|
+
providers: [
|
|
22
|
+
{
|
|
23
|
+
provide: NG_VALUE_ACCESSOR,
|
|
24
|
+
multi: true,
|
|
25
|
+
useExisting: SacStaticLabelComponent,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
provide: NG_VALIDATORS,
|
|
29
|
+
multi: true,
|
|
30
|
+
useExisting: forwardRef(() => SacStaticLabelComponent),
|
|
31
|
+
},
|
|
32
|
+
]
|
|
33
|
+
},] }
|
|
34
|
+
];
|
|
35
|
+
SacStaticLabelComponent.ctorParameters = () => [
|
|
36
|
+
{ type: SacFormLayoutDirective, decorators: [{ type: Host }, { type: Optional }] },
|
|
37
|
+
{ type: Injector }
|
|
38
|
+
];
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvc2ltcGxlYW5ndWxhcmNvbnRyb2xzL3NpbXBsZWFuZ3VsYXJjb250cm9scy9jaC5qbmV0d29yay5zYWMtY29udHJvbHMvcHJvamVjdHMvc2FjLWJvb3RzdHJhcDMvc3JjLyIsInNvdXJjZXMiOlsiY29udHJvbHMvc3RhdGljL3N0YXRpY2xhYmVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQW1CeEUsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG9CQUFvQjtJQUMvRCx1QkFBdUI7SUFFdkI7Ozs7T0FJRztJQUNILFlBQ3NCLFVBQWtDLEVBQ3RELFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7O1lBOUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixrM0RBQWlDO2dCQUNqQywrRkFBK0Y7Z0JBQy9GLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixLQUFLLEVBQUUsSUFBSTt3QkFDWCxXQUFXLEVBQUUsdUJBQXVCO3FCQUNyQztvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsS0FBSyxFQUFFLElBQUk7d0JBQ1gsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztxQkFDdkQ7aUJBQ0Y7YUFDRjs7O1lBbEJRLHNCQUFzQix1QkE0QjFCLElBQUksWUFBSSxRQUFRO1lBL0JLLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3QsIEluamVjdG9yLCBPcHRpb25hbCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTYWNTdGF0aWNMYWJlbENvbW1vbiB9IGZyb20gJ0BzaW1wbGVhbmd1bGFyY29udHJvbHMvc2FjLWNvbW1vbic7XG5pbXBvcnQgeyBTYWNGb3JtTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vbGF5b3V0L2Zvcm1sYXlvdXQuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2FjLXN0YXRpY2xhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXRpY2xhYmVsLmh0bWwnLFxuICAvLyBWYWx1ZSBBY2Nlc3MgUHJvdmlkZXIgcmVnaXN0cmllcmVuLCBkYW1pdCBXZXJ0IHZpYSBNb2RlbCBnZXNjaHJpZWJlbiB1bmQgZ2VsZXNlbiB3ZXJkZW4ga2FublxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2FjU3RhdGljTGFiZWxDb21wb25lbnQpLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50IGV4dGVuZHMgU2FjU3RhdGljTGFiZWxDb21tb24ge1xuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0gZm9ybUxheW91dCBTYWNGb3JtTGF5b3V0IHRvIGRlZmluZSBzY29wZWQgbGF5b3V0IHNldHRpbmdzXG4gICAqIEBwYXJhbSBpbmplY3RvciBJbmplY3RvciBmb3IgaW5qZWN0aW5nIHNlcnZpY2VzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASG9zdCgpIEBPcHRpb25hbCgpIGZvcm1MYXlvdXQ6IFNhY0Zvcm1MYXlvdXREaXJlY3RpdmUsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIHN1cGVyKGZvcm1MYXlvdXQsIGluamVjdG9yKTtcbiAgfVxuXG4gIC8vICNlbmRyZWdpb24gQ29uc3RydWN0b3JzXG59XG4iXX0=
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { SACBootstrap3LayoutModule } from '../layout/layout.module';
|
|
4
|
-
import { SACBootstrap3TooltipModule } from '../tooltip/tooltip.module';
|
|
5
|
-
import { SacStaticFormContainerComponent } from './formcontainer';
|
|
6
|
-
import { SacStaticLabelComponent } from './staticlabel';
|
|
7
|
-
export class SACBootstrap3StaticLabelModule {
|
|
8
|
-
}
|
|
9
|
-
SACBootstrap3StaticLabelModule.decorators = [
|
|
10
|
-
{ type: NgModule, args: [{
|
|
11
|
-
declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
12
|
-
imports: [
|
|
13
|
-
CommonModule,
|
|
14
|
-
SACBootstrap3TooltipModule,
|
|
15
|
-
SACBootstrap3LayoutModule,
|
|
16
|
-
],
|
|
17
|
-
exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
18
|
-
},] }
|
|
19
|
-
];
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { SACBootstrap3LayoutModule } from '../layout/layout.module';
|
|
4
|
+
import { SACBootstrap3TooltipModule } from '../tooltip/tooltip.module';
|
|
5
|
+
import { SacStaticFormContainerComponent } from './formcontainer';
|
|
6
|
+
import { SacStaticLabelComponent } from './staticlabel';
|
|
7
|
+
export class SACBootstrap3StaticLabelModule {
|
|
8
|
+
}
|
|
9
|
+
SACBootstrap3StaticLabelModule.decorators = [
|
|
10
|
+
{ type: NgModule, args: [{
|
|
11
|
+
declarations: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
12
|
+
imports: [
|
|
13
|
+
CommonModule,
|
|
14
|
+
SACBootstrap3TooltipModule,
|
|
15
|
+
SACBootstrap3LayoutModule,
|
|
16
|
+
],
|
|
17
|
+
exports: [SacStaticLabelComponent, SacStaticFormContainerComponent],
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljbGFiZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL3NpbXBsZWFuZ3VsYXJjb250cm9scy9zaW1wbGVhbmd1bGFyY29udHJvbHMvY2guam5ldHdvcmsuc2FjLWNvbnRyb2xzL3Byb2plY3RzL3NhYy1ib290c3RyYXAzL3NyYy8iLCJzb3VyY2VzIjpbImNvbnRyb2xzL3N0YXRpYy9zdGF0aWNsYWJlbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBV3hELE1BQU0sT0FBTyw4QkFBOEI7OztZQVQxQyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEVBQUUsK0JBQStCLENBQUM7Z0JBQ3hFLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLDBCQUEwQjtvQkFDMUIseUJBQXlCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSwrQkFBK0IsQ0FBQzthQUNwRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU0FDQm9vdHN0cmFwM0xheW91dE1vZHVsZSB9IGZyb20gJy4uL2xheW91dC9sYXlvdXQubW9kdWxlJztcbmltcG9ydCB7IFNBQ0Jvb3RzdHJhcDNUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5pbXBvcnQgeyBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtY29udGFpbmVyJztcbmltcG9ydCB7IFNhY1N0YXRpY0xhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zdGF0aWNsYWJlbCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NhY1N0YXRpY0xhYmVsQ29tcG9uZW50LCBTYWNTdGF0aWNGb3JtQ29udGFpbmVyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTQUNCb290c3RyYXAzVG9vbHRpcE1vZHVsZSxcbiAgICBTQUNCb290c3RyYXAzTGF5b3V0TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbU2FjU3RhdGljTGFiZWxDb21wb25lbnQsIFNhY1N0YXRpY0Zvcm1Db250YWluZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTQUNCb290c3RyYXAzU3RhdGljTGFiZWxNb2R1bGUge31cbiJdfQ==
|