@simpleangularcontrols/sac-common 13.0.0-rc.9 → 16.0.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1112) hide show
  1. package/common/basedatetimecontrol.d.ts +86 -86
  2. package/common/baseinputcontrol.d.ts +41 -41
  3. package/common/baselistcontrol.d.ts +46 -46
  4. package/common/basemodelcontrol.d.ts +275 -275
  5. package/common/basemodelcontrol.d.ts.map +1 -1
  6. package/common/baseselectcontrol.d.ts +17 -17
  7. package/common/baseuploadcontrol.d.ts +282 -282
  8. package/common/baseuploadcontrol.d.ts.map +1 -1
  9. package/components/browser/browser.d.ts +270 -270
  10. package/components/browser/models/browserfile.d.ts +17 -17
  11. package/components/browser/models/browserfiledeleterequest.d.ts +18 -18
  12. package/components/browser/models/browserfilerenamerequest.d.ts +22 -22
  13. package/components/browser/models/browserfileresponse.d.ts +10 -10
  14. package/components/browser/models/browserfilesaverequest.d.ts +22 -22
  15. package/components/browser/models/browsernode.d.ts +34 -34
  16. package/components/browser/models/browsernodedeleterequest.d.ts +14 -14
  17. package/components/browser/models/browsernodenewrequest.d.ts +18 -18
  18. package/components/browser/models/browsernoderenamerequest.d.ts +18 -18
  19. package/components/browser/models/browsernoderequest.d.ts +18 -18
  20. package/components/browser/models/browsernoderesponse.d.ts +10 -10
  21. package/controls/buttons/button.d.ts +73 -73
  22. package/controls/checkbox/checkbox.d.ts +35 -35
  23. package/controls/checkbox/radiobutton.d.ts +82 -82
  24. package/controls/checkbox/radiobuttons.d.ts +63 -63
  25. package/controls/confirm/confirm.button.d.ts +25 -25
  26. package/controls/confirm/confirm.d.ts +52 -52
  27. package/controls/confirm/confirm.service.d.ts +63 -63
  28. package/controls/contextmenu/contextmenu.d.ts +116 -116
  29. package/controls/contextmenu/contextmenuanchor.d.ts +18 -18
  30. package/controls/contextmenu/contextmenucontainer.d.ts +18 -18
  31. package/controls/contextmenu/contextmenuitem.d.ts +8 -8
  32. package/controls/contextmenu/contextmenuitembutton.d.ts +69 -69
  33. package/controls/datetime/date.d.ts +119 -119
  34. package/controls/datetime/dateselector.d.ts +164 -164
  35. package/controls/datetime/datetime.d.ts +134 -134
  36. package/controls/datetime/time.d.ts +114 -114
  37. package/controls/dialog/dialog.d.ts +108 -108
  38. package/controls/form/form.d.ts +50 -50
  39. package/controls/form/form.d.ts.map +1 -1
  40. package/controls/grid/grid.d.ts +130 -130
  41. package/controls/grid/gridbutton.d.ts +36 -36
  42. package/controls/grid/gridcolumn.d.ts +31 -31
  43. package/controls/grid/gridcolumnaction.d.ts +18 -18
  44. package/controls/grid/gridcolumnbase.d.ts +97 -89
  45. package/controls/grid/gridcolumnbase.d.ts.map +1 -1
  46. package/controls/grid/gridimage.d.ts +12 -12
  47. package/controls/grid/model.d.ts +92 -92
  48. package/controls/grid/paging.d.ts +148 -148
  49. package/controls/input/input.d.ts +38 -38
  50. package/controls/input/inputarea.d.ts +29 -29
  51. package/controls/input/inputcurrency.d.ts +14 -14
  52. package/controls/input/inputdecimal.d.ts +62 -62
  53. package/controls/input/inputemail.d.ts +22 -22
  54. package/controls/input/inputinteger.d.ts +62 -62
  55. package/controls/input/inputpassword.d.ts +26 -26
  56. package/controls/input/inputsearch.d.ts +35 -35
  57. package/controls/layout/formlayout.d.ts +61 -61
  58. package/controls/list/dropdown.d.ts +143 -143
  59. package/controls/list/listbox.d.ts +91 -91
  60. package/controls/multilanguage/multilanguageinput.d.ts +105 -105
  61. package/controls/multilanguage/multilanguageinputarea.d.ts +110 -110
  62. package/controls/static/formcontainer.d.ts +30 -30
  63. package/controls/static/staticlabel.d.ts +21 -21
  64. package/controls/tabs/tab.d.ts +48 -48
  65. package/controls/tabs/tabitem.d.ts +33 -33
  66. package/controls/tinymce/tinymce.d.ts +152 -152
  67. package/controls/tinymce/tinymcedialogsettings.d.ts +27 -27
  68. package/controls/tinymce/tinymcedialogsettingsmeta.d.ts +9 -9
  69. package/controls/tinymce/tinymceinstance.d.ts +10 -10
  70. package/controls/tooltip/tooltip.d.ts +166 -166
  71. package/controls/treeview/ngtreeitemaction.d.ts +43 -43
  72. package/controls/treeview/treeview.d.ts +188 -188
  73. package/controls/treeview/treeviewchild.d.ts +15 -15
  74. package/controls/upload/dropzonemultiple.d.ts +73 -73
  75. package/controls/upload/dropzonesingle.d.ts +50 -50
  76. package/controls/upload/uploadmultiple.d.ts +53 -53
  77. package/controls/upload/uploadsingle.d.ts +30 -30
  78. package/controls/validation/validationsummary.d.ts +63 -63
  79. package/controls/validation/validationsummary.d.ts.map +1 -1
  80. package/controls/wizard/wizard.d.ts +76 -76
  81. package/controls/wizard/wizarditem.d.ts +28 -28
  82. package/enums/ButtonRoleType.d.ts +1 -1
  83. package/enums/ButtonRoleType.d.ts.map +1 -1
  84. package/enums/ControlHeight.d.ts +17 -17
  85. package/enums/IconType.d.ts +7 -7
  86. package/esm2022/common/basedatetimecontrol.mjs +52 -0
  87. package/esm2022/common/baseinputcontrol.mjs +27 -0
  88. package/esm2022/common/baselistcontrol.mjs +19 -0
  89. package/esm2022/common/basemodelcontrol.mjs +144 -0
  90. package/esm2022/common/baseselectcontrol.mjs +9 -0
  91. package/esm2022/common/baseuploadcontrol.mjs +137 -0
  92. package/esm2022/components/browser/browser.mjs +146 -0
  93. package/esm2022/components/browser/models/browserfile.mjs +3 -0
  94. package/esm2022/components/browser/models/browserfiledeleterequest.mjs +8 -0
  95. package/{esm2020 → esm2022}/components/browser/models/browserfilerenamerequest.mjs +8 -8
  96. package/{esm2020 → esm2022}/components/browser/models/browserfileresponse.mjs +2 -2
  97. package/{esm2020 → esm2022}/components/browser/models/browserfilesaverequest.mjs +8 -8
  98. package/esm2022/components/browser/models/browsernode.mjs +3 -0
  99. package/{esm2020 → esm2022}/components/browser/models/browsernodedeleterequest.mjs +8 -8
  100. package/{esm2020 → esm2022}/components/browser/models/browsernodenewrequest.mjs +8 -8
  101. package/esm2022/components/browser/models/browsernoderenamerequest.mjs +8 -0
  102. package/esm2022/components/browser/models/browsernoderequest.mjs +8 -0
  103. package/esm2022/components/browser/models/browsernoderesponse.mjs +3 -0
  104. package/esm2022/controls/buttons/button.mjs +45 -0
  105. package/esm2022/controls/checkbox/checkbox.mjs +17 -0
  106. package/esm2022/controls/checkbox/radiobutton.mjs +36 -0
  107. package/esm2022/controls/checkbox/radiobuttons.mjs +36 -0
  108. package/{esm2020 → esm2022}/controls/confirm/confirm.button.mjs +17 -17
  109. package/esm2022/controls/confirm/confirm.mjs +31 -0
  110. package/esm2022/controls/confirm/confirm.service.mjs +37 -0
  111. package/esm2022/controls/contextmenu/contextmenu.mjs +64 -0
  112. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +10 -0
  113. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +10 -0
  114. package/esm2022/controls/contextmenu/contextmenuitem.mjs +5 -0
  115. package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +28 -0
  116. package/esm2022/controls/datetime/date.mjs +56 -0
  117. package/esm2022/controls/datetime/dateselector.mjs +119 -0
  118. package/esm2022/controls/datetime/datetime.mjs +59 -0
  119. package/esm2022/controls/datetime/time.mjs +56 -0
  120. package/esm2022/controls/dialog/dialog.mjs +61 -0
  121. package/esm2022/controls/form/form.mjs +38 -0
  122. package/esm2022/controls/grid/grid.mjs +50 -0
  123. package/esm2022/controls/grid/gridbutton.mjs +22 -0
  124. package/esm2022/controls/grid/gridcolumn.mjs +22 -0
  125. package/esm2022/controls/grid/gridcolumnaction.mjs +11 -0
  126. package/esm2022/controls/grid/gridcolumnbase.mjs +40 -0
  127. package/esm2022/controls/grid/gridimage.mjs +5 -0
  128. package/{esm2020 → esm2022}/controls/grid/model.mjs +46 -46
  129. package/esm2022/controls/grid/paging.mjs +85 -0
  130. package/esm2022/controls/input/input.mjs +22 -0
  131. package/esm2022/controls/input/inputarea.mjs +16 -0
  132. package/esm2022/controls/input/inputcurrency.mjs +10 -0
  133. package/esm2022/controls/input/inputdecimal.mjs +41 -0
  134. package/esm2022/controls/input/inputemail.mjs +14 -0
  135. package/esm2022/controls/input/inputinteger.mjs +40 -0
  136. package/esm2022/controls/input/inputpassword.mjs +16 -0
  137. package/esm2022/controls/input/inputsearch.mjs +20 -0
  138. package/esm2022/controls/layout/formlayout.mjs +32 -0
  139. package/esm2022/controls/list/dropdown.mjs +105 -0
  140. package/esm2022/controls/list/listbox.mjs +58 -0
  141. package/esm2022/controls/multilanguage/multilanguageinput.mjs +62 -0
  142. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +65 -0
  143. package/esm2022/controls/static/formcontainer.mjs +23 -0
  144. package/esm2022/controls/static/staticlabel.mjs +13 -0
  145. package/esm2022/controls/tabs/tab.mjs +24 -0
  146. package/esm2022/controls/tabs/tabitem.mjs +11 -0
  147. package/esm2022/controls/tinymce/tinymce.mjs +80 -0
  148. package/esm2022/controls/tinymce/tinymcedialogsettings.mjs +8 -0
  149. package/esm2022/controls/tinymce/tinymcedialogsettingsmeta.mjs +5 -0
  150. package/esm2022/controls/tinymce/tinymceinstance.mjs +3 -0
  151. package/esm2022/controls/tooltip/tooltip.mjs +110 -0
  152. package/esm2022/controls/treeview/ngtreeitemaction.mjs +16 -0
  153. package/esm2022/controls/treeview/treeview.mjs +98 -0
  154. package/esm2022/controls/treeview/treeviewchild.mjs +8 -0
  155. package/esm2022/controls/upload/dropzonemultiple.mjs +46 -0
  156. package/esm2022/controls/upload/dropzonesingle.mjs +28 -0
  157. package/esm2022/controls/upload/uploadmultiple.mjs +35 -0
  158. package/esm2022/controls/upload/uploadsingle.mjs +17 -0
  159. package/esm2022/controls/validation/validationsummary.mjs +31 -0
  160. package/esm2022/controls/wizard/wizard.mjs +37 -0
  161. package/esm2022/controls/wizard/wizarditem.mjs +9 -0
  162. package/{esm2020 → esm2022}/enums/ButtonRoleType.mjs +2 -2
  163. package/esm2022/enums/ControlHeight.mjs +11 -0
  164. package/esm2022/enums/IconType.mjs +5 -0
  165. package/esm2022/interfaces/ISacConfigurationService.mjs +3 -0
  166. package/esm2022/interfaces/ISacFileBrowserService.mjs +3 -0
  167. package/{esm2020 → esm2022}/interfaces/ISacIconService.mjs +2 -2
  168. package/{esm2020 → esm2022}/interfaces/ISacLabelSizes.mjs +2 -2
  169. package/{esm2020 → esm2022}/interfaces/ISacLanguageService.mjs +2 -2
  170. package/{esm2020 → esm2022}/interfaces/ISacLocalisationService.mjs +2 -2
  171. package/{esm2020 → esm2022}/interfaces/ISacValidationKeyService.mjs +2 -2
  172. package/{esm2020 → esm2022}/interfaces/iabstractcontrollabel.mjs +2 -2
  173. package/esm2022/interfaces/iconfirmcomponent.mjs +3 -0
  174. package/{esm2020 → esm2022}/interfaces/idatetimecontrol.mjs +2 -2
  175. package/esm2022/interfaces/iuploadcontrol.mjs +3 -0
  176. package/esm2022/models/languagemodel.mjs +7 -0
  177. package/{esm2020 → esm2022}/public_api.mjs +6 -6
  178. package/{esm2020 → esm2022}/services/index.mjs +2 -2
  179. package/esm2022/services/sac-configuration.service.mjs +37 -0
  180. package/esm2022/services/sac-filebrowser.service.mjs +53 -0
  181. package/esm2022/services/sac-icon.service.mjs +59 -0
  182. package/esm2022/services/sac-language.service.mjs +11 -0
  183. package/esm2022/services/sac-localisation.service.mjs +40 -0
  184. package/esm2022/services/sac-validationkey.service.mjs +7 -0
  185. package/{esm2020 → esm2022}/simpleangularcontrols-sac-common.mjs +3 -3
  186. package/esm2022/utilities/convertion.mjs +12 -0
  187. package/esm2022/utilities/datatypes.mjs +7 -0
  188. package/{esm2020 → esm2022}/utilities/enums.mjs +9 -9
  189. package/esm2022/utilities/guid.mjs +8 -0
  190. package/esm2022/utilities/interpolation.mjs +15 -0
  191. package/esm2022/utilities/positioning.mjs +58 -0
  192. package/esm2022/validation/email.validator.mjs +3 -0
  193. package/{esm2020 → esm2022}/validation/index.mjs +2 -2
  194. package/{esm2020 → esm2022}/validation/invaliddate.validator.mjs +3 -3
  195. package/{esm2020 → esm2022}/validation/isDateValid.mjs +9 -9
  196. package/{esm2020 → esm2022}/validation/maxdate.validator.mjs +4 -4
  197. package/{esm2020/validation/mindate.validator.mjs → esm2022/validation/maxtime.validator.mjs} +4 -4
  198. package/esm2022/validation/maxvalue.validator.mjs +3 -0
  199. package/{esm2020/validation/maxtime.validator.mjs → esm2022/validation/mindate.validator.mjs} +4 -4
  200. package/{esm2020 → esm2022}/validation/minfiles.validator.mjs +4 -4
  201. package/esm2022/validation/minlength.validator.mjs +3 -0
  202. package/{esm2020 → esm2022}/validation/mintime.validator.mjs +4 -4
  203. package/{esm2020 → esm2022}/validation/minvalue.validator.mjs +3 -3
  204. package/esm2022/validation/multilanguagerequired.validator.mjs +3 -0
  205. package/{esm2020 → esm2022}/validation/multilanguagerequiredany.validator.mjs +3 -3
  206. package/{esm2020 → esm2022}/validation/pattern.validator.mjs +3 -3
  207. package/{esm2020 → esm2022}/validation/required.validator.mjs +3 -3
  208. package/{esm2020 → esm2022}/validation/validation.mjs +109 -109
  209. package/esm2022/validation/validationerrorcreator.mjs +3 -0
  210. package/{esm2020 → esm2022}/validation/validationerroritem.mjs +15 -15
  211. package/fesm2022/simpleangularcontrols-sac-common.mjs +2923 -0
  212. package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -0
  213. package/{simpleangularcontrols-sac-common.d.ts → index.d.ts} +5 -5
  214. package/interfaces/ISacConfigurationService.d.ts +54 -54
  215. package/interfaces/ISacFileBrowserService.d.ts +65 -65
  216. package/interfaces/ISacIconService.d.ts +97 -97
  217. package/interfaces/ISacLabelSizes.d.ts +26 -26
  218. package/interfaces/ISacLanguageService.d.ts +12 -12
  219. package/interfaces/ISacLocalisationService.d.ts +10 -10
  220. package/interfaces/ISacValidationKeyService.d.ts +52 -52
  221. package/interfaces/iabstractcontrollabel.d.ts +6 -6
  222. package/interfaces/iconfirmcomponent.d.ts +18 -18
  223. package/interfaces/idatetimecontrol.d.ts +7 -7
  224. package/interfaces/iuploadcontrol.d.ts +9 -9
  225. package/models/languagemodel.d.ts +22 -22
  226. package/package.json +11 -17
  227. package/public_api.d.ts +84 -85
  228. package/public_api.d.ts.map +1 -1
  229. package/services/index.d.ts +6 -6
  230. package/services/sac-configuration.service.d.ts +118 -118
  231. package/services/sac-filebrowser.service.d.ts +145 -145
  232. package/services/sac-icon.service.d.ts +205 -205
  233. package/services/sac-language.service.d.ts +31 -31
  234. package/services/sac-localisation.service.d.ts +142 -142
  235. package/services/sac-validationkey.service.d.ts +58 -58
  236. package/simpleangularcontrols-sac-common-16.0.0-rc.10.tgz +0 -0
  237. package/utilities/convertion.d.ts +15 -15
  238. package/utilities/datatypes.d.ts +6 -6
  239. package/utilities/enums.d.ts +10 -10
  240. package/utilities/guid.d.ts +4 -4
  241. package/utilities/interpolation.d.ts +21 -21
  242. package/utilities/positioning.d.ts +82 -82
  243. package/utilities/positioning.d.ts.map +1 -1
  244. package/validation/email.validator.d.ts +2 -2
  245. package/validation/index.d.ts +2 -2
  246. package/validation/invaliddate.validator.d.ts +2 -2
  247. package/validation/isDateValid.d.ts +5 -5
  248. package/validation/maxdate.validator.d.ts +2 -2
  249. package/validation/maxtime.validator.d.ts +2 -2
  250. package/validation/maxvalue.validator.d.ts +2 -2
  251. package/validation/mindate.validator.d.ts +2 -2
  252. package/validation/minfiles.validator.d.ts +2 -2
  253. package/validation/minlength.validator.d.ts +2 -2
  254. package/validation/mintime.validator.d.ts +2 -2
  255. package/validation/minvalue.validator.d.ts +2 -2
  256. package/validation/multilanguagerequired.validator.d.ts +3 -3
  257. package/validation/multilanguagerequiredany.validator.d.ts +3 -3
  258. package/validation/pattern.validator.d.ts +2 -2
  259. package/validation/required.validator.d.ts +2 -2
  260. package/validation/validation.d.ts +139 -139
  261. package/validation/validationerrorcreator.d.ts +1 -1
  262. package/validation/validationerroritem.d.ts +33 -33
  263. package/common/basedatetimecontrol.ngfactory.d.ts +0 -4
  264. package/common/basedatetimecontrol.ngfactory.d.ts.map +0 -1
  265. package/common/basedatetimecontrol.ngsummary.d.ts +0 -2
  266. package/common/basedatetimecontrol.ngsummary.d.ts.map +0 -1
  267. package/common/baseinputcontrol.ngfactory.d.ts +0 -4
  268. package/common/baseinputcontrol.ngfactory.d.ts.map +0 -1
  269. package/common/baseinputcontrol.ngsummary.d.ts +0 -2
  270. package/common/baseinputcontrol.ngsummary.d.ts.map +0 -1
  271. package/common/baselistcontrol.ngfactory.d.ts +0 -4
  272. package/common/baselistcontrol.ngfactory.d.ts.map +0 -1
  273. package/common/baselistcontrol.ngsummary.d.ts +0 -2
  274. package/common/baselistcontrol.ngsummary.d.ts.map +0 -1
  275. package/common/basemodelcontrol.ngfactory.d.ts +0 -4
  276. package/common/basemodelcontrol.ngfactory.d.ts.map +0 -1
  277. package/common/basemodelcontrol.ngsummary.d.ts +0 -2
  278. package/common/basemodelcontrol.ngsummary.d.ts.map +0 -1
  279. package/common/baseselectcontrol.ngfactory.d.ts +0 -4
  280. package/common/baseselectcontrol.ngfactory.d.ts.map +0 -1
  281. package/common/baseselectcontrol.ngsummary.d.ts +0 -2
  282. package/common/baseselectcontrol.ngsummary.d.ts.map +0 -1
  283. package/common/baseuploadcontrol.ngfactory.d.ts +0 -4
  284. package/common/baseuploadcontrol.ngfactory.d.ts.map +0 -1
  285. package/common/baseuploadcontrol.ngsummary.d.ts +0 -2
  286. package/common/baseuploadcontrol.ngsummary.d.ts.map +0 -1
  287. package/components/browser/browser.ngfactory.d.ts +0 -4
  288. package/components/browser/browser.ngfactory.d.ts.map +0 -1
  289. package/components/browser/browser.ngsummary.d.ts +0 -2
  290. package/components/browser/browser.ngsummary.d.ts.map +0 -1
  291. package/components/browser/models/browserfile.ngfactory.d.ts +0 -2
  292. package/components/browser/models/browserfile.ngfactory.d.ts.map +0 -1
  293. package/components/browser/models/browserfile.ngsummary.d.ts +0 -2
  294. package/components/browser/models/browserfile.ngsummary.d.ts.map +0 -1
  295. package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts +0 -2
  296. package/components/browser/models/browserfiledeleterequest.ngfactory.d.ts.map +0 -1
  297. package/components/browser/models/browserfiledeleterequest.ngsummary.d.ts +0 -2
  298. package/components/browser/models/browserfiledeleterequest.ngsummary.d.ts.map +0 -1
  299. package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts +0 -2
  300. package/components/browser/models/browserfilerenamerequest.ngfactory.d.ts.map +0 -1
  301. package/components/browser/models/browserfilerenamerequest.ngsummary.d.ts +0 -2
  302. package/components/browser/models/browserfilerenamerequest.ngsummary.d.ts.map +0 -1
  303. package/components/browser/models/browserfileresponse.ngfactory.d.ts +0 -2
  304. package/components/browser/models/browserfileresponse.ngfactory.d.ts.map +0 -1
  305. package/components/browser/models/browserfileresponse.ngsummary.d.ts +0 -2
  306. package/components/browser/models/browserfileresponse.ngsummary.d.ts.map +0 -1
  307. package/components/browser/models/browserfilesaverequest.ngfactory.d.ts +0 -2
  308. package/components/browser/models/browserfilesaverequest.ngfactory.d.ts.map +0 -1
  309. package/components/browser/models/browserfilesaverequest.ngsummary.d.ts +0 -2
  310. package/components/browser/models/browserfilesaverequest.ngsummary.d.ts.map +0 -1
  311. package/components/browser/models/browsernode.ngfactory.d.ts +0 -2
  312. package/components/browser/models/browsernode.ngfactory.d.ts.map +0 -1
  313. package/components/browser/models/browsernode.ngsummary.d.ts +0 -2
  314. package/components/browser/models/browsernode.ngsummary.d.ts.map +0 -1
  315. package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts +0 -2
  316. package/components/browser/models/browsernodedeleterequest.ngfactory.d.ts.map +0 -1
  317. package/components/browser/models/browsernodedeleterequest.ngsummary.d.ts +0 -2
  318. package/components/browser/models/browsernodedeleterequest.ngsummary.d.ts.map +0 -1
  319. package/components/browser/models/browsernodenewrequest.ngfactory.d.ts +0 -2
  320. package/components/browser/models/browsernodenewrequest.ngfactory.d.ts.map +0 -1
  321. package/components/browser/models/browsernodenewrequest.ngsummary.d.ts +0 -2
  322. package/components/browser/models/browsernodenewrequest.ngsummary.d.ts.map +0 -1
  323. package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts +0 -2
  324. package/components/browser/models/browsernoderenamerequest.ngfactory.d.ts.map +0 -1
  325. package/components/browser/models/browsernoderenamerequest.ngsummary.d.ts +0 -2
  326. package/components/browser/models/browsernoderenamerequest.ngsummary.d.ts.map +0 -1
  327. package/components/browser/models/browsernoderequest.ngfactory.d.ts +0 -2
  328. package/components/browser/models/browsernoderequest.ngfactory.d.ts.map +0 -1
  329. package/components/browser/models/browsernoderequest.ngsummary.d.ts +0 -2
  330. package/components/browser/models/browsernoderequest.ngsummary.d.ts.map +0 -1
  331. package/components/browser/models/browsernoderesponse.ngfactory.d.ts +0 -2
  332. package/components/browser/models/browsernoderesponse.ngfactory.d.ts.map +0 -1
  333. package/components/browser/models/browsernoderesponse.ngsummary.d.ts +0 -2
  334. package/components/browser/models/browsernoderesponse.ngsummary.d.ts.map +0 -1
  335. package/controls/buttons/button.ngfactory.d.ts +0 -4
  336. package/controls/buttons/button.ngfactory.d.ts.map +0 -1
  337. package/controls/buttons/button.ngsummary.d.ts +0 -2
  338. package/controls/buttons/button.ngsummary.d.ts.map +0 -1
  339. package/controls/checkbox/checkbox.ngfactory.d.ts +0 -4
  340. package/controls/checkbox/checkbox.ngfactory.d.ts.map +0 -1
  341. package/controls/checkbox/checkbox.ngsummary.d.ts +0 -2
  342. package/controls/checkbox/checkbox.ngsummary.d.ts.map +0 -1
  343. package/controls/checkbox/radiobutton.ngfactory.d.ts +0 -4
  344. package/controls/checkbox/radiobutton.ngfactory.d.ts.map +0 -1
  345. package/controls/checkbox/radiobutton.ngsummary.d.ts +0 -2
  346. package/controls/checkbox/radiobutton.ngsummary.d.ts.map +0 -1
  347. package/controls/checkbox/radiobuttons.ngfactory.d.ts +0 -4
  348. package/controls/checkbox/radiobuttons.ngfactory.d.ts.map +0 -1
  349. package/controls/checkbox/radiobuttons.ngsummary.d.ts +0 -2
  350. package/controls/checkbox/radiobuttons.ngsummary.d.ts.map +0 -1
  351. package/controls/confirm/confirm.button.ngfactory.d.ts +0 -2
  352. package/controls/confirm/confirm.button.ngfactory.d.ts.map +0 -1
  353. package/controls/confirm/confirm.button.ngsummary.d.ts +0 -2
  354. package/controls/confirm/confirm.button.ngsummary.d.ts.map +0 -1
  355. package/controls/confirm/confirm.ngfactory.d.ts +0 -4
  356. package/controls/confirm/confirm.ngfactory.d.ts.map +0 -1
  357. package/controls/confirm/confirm.ngsummary.d.ts +0 -2
  358. package/controls/confirm/confirm.ngsummary.d.ts.map +0 -1
  359. package/controls/confirm/confirm.service.ngfactory.d.ts +0 -2
  360. package/controls/confirm/confirm.service.ngfactory.d.ts.map +0 -1
  361. package/controls/confirm/confirm.service.ngsummary.d.ts +0 -2
  362. package/controls/confirm/confirm.service.ngsummary.d.ts.map +0 -1
  363. package/controls/contextmenu/contextmenu.ngfactory.d.ts +0 -4
  364. package/controls/contextmenu/contextmenu.ngfactory.d.ts.map +0 -1
  365. package/controls/contextmenu/contextmenu.ngsummary.d.ts +0 -2
  366. package/controls/contextmenu/contextmenu.ngsummary.d.ts.map +0 -1
  367. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts +0 -4
  368. package/controls/contextmenu/contextmenuanchor.ngfactory.d.ts.map +0 -1
  369. package/controls/contextmenu/contextmenuanchor.ngsummary.d.ts +0 -2
  370. package/controls/contextmenu/contextmenuanchor.ngsummary.d.ts.map +0 -1
  371. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts +0 -4
  372. package/controls/contextmenu/contextmenucontainer.ngfactory.d.ts.map +0 -1
  373. package/controls/contextmenu/contextmenucontainer.ngsummary.d.ts +0 -2
  374. package/controls/contextmenu/contextmenucontainer.ngsummary.d.ts.map +0 -1
  375. package/controls/contextmenu/contextmenuitem.ngfactory.d.ts +0 -4
  376. package/controls/contextmenu/contextmenuitem.ngfactory.d.ts.map +0 -1
  377. package/controls/contextmenu/contextmenuitem.ngsummary.d.ts +0 -2
  378. package/controls/contextmenu/contextmenuitem.ngsummary.d.ts.map +0 -1
  379. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts +0 -4
  380. package/controls/contextmenu/contextmenuitembutton.ngfactory.d.ts.map +0 -1
  381. package/controls/contextmenu/contextmenuitembutton.ngsummary.d.ts +0 -2
  382. package/controls/contextmenu/contextmenuitembutton.ngsummary.d.ts.map +0 -1
  383. package/controls/datetime/date.ngfactory.d.ts +0 -4
  384. package/controls/datetime/date.ngfactory.d.ts.map +0 -1
  385. package/controls/datetime/date.ngsummary.d.ts +0 -2
  386. package/controls/datetime/date.ngsummary.d.ts.map +0 -1
  387. package/controls/datetime/dateselector.ngfactory.d.ts +0 -4
  388. package/controls/datetime/dateselector.ngfactory.d.ts.map +0 -1
  389. package/controls/datetime/dateselector.ngsummary.d.ts +0 -2
  390. package/controls/datetime/dateselector.ngsummary.d.ts.map +0 -1
  391. package/controls/datetime/datetime.ngfactory.d.ts +0 -4
  392. package/controls/datetime/datetime.ngfactory.d.ts.map +0 -1
  393. package/controls/datetime/datetime.ngsummary.d.ts +0 -2
  394. package/controls/datetime/datetime.ngsummary.d.ts.map +0 -1
  395. package/controls/datetime/time.ngfactory.d.ts +0 -4
  396. package/controls/datetime/time.ngfactory.d.ts.map +0 -1
  397. package/controls/datetime/time.ngsummary.d.ts +0 -2
  398. package/controls/datetime/time.ngsummary.d.ts.map +0 -1
  399. package/controls/dialog/dialog.ngfactory.d.ts +0 -4
  400. package/controls/dialog/dialog.ngfactory.d.ts.map +0 -1
  401. package/controls/dialog/dialog.ngsummary.d.ts +0 -2
  402. package/controls/dialog/dialog.ngsummary.d.ts.map +0 -1
  403. package/controls/form/form.ngfactory.d.ts +0 -4
  404. package/controls/form/form.ngfactory.d.ts.map +0 -1
  405. package/controls/form/form.ngsummary.d.ts +0 -2
  406. package/controls/form/form.ngsummary.d.ts.map +0 -1
  407. package/controls/grid/grid.ngfactory.d.ts +0 -4
  408. package/controls/grid/grid.ngfactory.d.ts.map +0 -1
  409. package/controls/grid/grid.ngsummary.d.ts +0 -2
  410. package/controls/grid/grid.ngsummary.d.ts.map +0 -1
  411. package/controls/grid/gridbutton.ngfactory.d.ts +0 -4
  412. package/controls/grid/gridbutton.ngfactory.d.ts.map +0 -1
  413. package/controls/grid/gridbutton.ngsummary.d.ts +0 -2
  414. package/controls/grid/gridbutton.ngsummary.d.ts.map +0 -1
  415. package/controls/grid/gridcolumn.ngfactory.d.ts +0 -4
  416. package/controls/grid/gridcolumn.ngfactory.d.ts.map +0 -1
  417. package/controls/grid/gridcolumn.ngsummary.d.ts +0 -2
  418. package/controls/grid/gridcolumn.ngsummary.d.ts.map +0 -1
  419. package/controls/grid/gridcolumnaction.ngfactory.d.ts +0 -4
  420. package/controls/grid/gridcolumnaction.ngfactory.d.ts.map +0 -1
  421. package/controls/grid/gridcolumnaction.ngsummary.d.ts +0 -2
  422. package/controls/grid/gridcolumnaction.ngsummary.d.ts.map +0 -1
  423. package/controls/grid/gridcolumnbase.ngfactory.d.ts +0 -4
  424. package/controls/grid/gridcolumnbase.ngfactory.d.ts.map +0 -1
  425. package/controls/grid/gridcolumnbase.ngsummary.d.ts +0 -2
  426. package/controls/grid/gridcolumnbase.ngsummary.d.ts.map +0 -1
  427. package/controls/grid/gridimage.ngfactory.d.ts +0 -4
  428. package/controls/grid/gridimage.ngfactory.d.ts.map +0 -1
  429. package/controls/grid/gridimage.ngsummary.d.ts +0 -2
  430. package/controls/grid/gridimage.ngsummary.d.ts.map +0 -1
  431. package/controls/grid/model.ngfactory.d.ts +0 -2
  432. package/controls/grid/model.ngfactory.d.ts.map +0 -1
  433. package/controls/grid/model.ngsummary.d.ts +0 -2
  434. package/controls/grid/model.ngsummary.d.ts.map +0 -1
  435. package/controls/grid/paging.ngfactory.d.ts +0 -4
  436. package/controls/grid/paging.ngfactory.d.ts.map +0 -1
  437. package/controls/grid/paging.ngsummary.d.ts +0 -2
  438. package/controls/grid/paging.ngsummary.d.ts.map +0 -1
  439. package/controls/input/input.ngfactory.d.ts +0 -4
  440. package/controls/input/input.ngfactory.d.ts.map +0 -1
  441. package/controls/input/input.ngsummary.d.ts +0 -2
  442. package/controls/input/input.ngsummary.d.ts.map +0 -1
  443. package/controls/input/inputarea.ngfactory.d.ts +0 -4
  444. package/controls/input/inputarea.ngfactory.d.ts.map +0 -1
  445. package/controls/input/inputarea.ngsummary.d.ts +0 -2
  446. package/controls/input/inputarea.ngsummary.d.ts.map +0 -1
  447. package/controls/input/inputcurrency.ngfactory.d.ts +0 -4
  448. package/controls/input/inputcurrency.ngfactory.d.ts.map +0 -1
  449. package/controls/input/inputcurrency.ngsummary.d.ts +0 -2
  450. package/controls/input/inputcurrency.ngsummary.d.ts.map +0 -1
  451. package/controls/input/inputdecimal.ngfactory.d.ts +0 -4
  452. package/controls/input/inputdecimal.ngfactory.d.ts.map +0 -1
  453. package/controls/input/inputdecimal.ngsummary.d.ts +0 -2
  454. package/controls/input/inputdecimal.ngsummary.d.ts.map +0 -1
  455. package/controls/input/inputemail.ngfactory.d.ts +0 -4
  456. package/controls/input/inputemail.ngfactory.d.ts.map +0 -1
  457. package/controls/input/inputemail.ngsummary.d.ts +0 -2
  458. package/controls/input/inputemail.ngsummary.d.ts.map +0 -1
  459. package/controls/input/inputinteger.ngfactory.d.ts +0 -4
  460. package/controls/input/inputinteger.ngfactory.d.ts.map +0 -1
  461. package/controls/input/inputinteger.ngsummary.d.ts +0 -2
  462. package/controls/input/inputinteger.ngsummary.d.ts.map +0 -1
  463. package/controls/input/inputpassword.ngfactory.d.ts +0 -4
  464. package/controls/input/inputpassword.ngfactory.d.ts.map +0 -1
  465. package/controls/input/inputpassword.ngsummary.d.ts +0 -2
  466. package/controls/input/inputpassword.ngsummary.d.ts.map +0 -1
  467. package/controls/input/inputsearch.ngfactory.d.ts +0 -4
  468. package/controls/input/inputsearch.ngfactory.d.ts.map +0 -1
  469. package/controls/input/inputsearch.ngsummary.d.ts +0 -2
  470. package/controls/input/inputsearch.ngsummary.d.ts.map +0 -1
  471. package/controls/layout/formlayout.ngfactory.d.ts +0 -4
  472. package/controls/layout/formlayout.ngfactory.d.ts.map +0 -1
  473. package/controls/layout/formlayout.ngsummary.d.ts +0 -2
  474. package/controls/layout/formlayout.ngsummary.d.ts.map +0 -1
  475. package/controls/list/dropdown.ngfactory.d.ts +0 -5
  476. package/controls/list/dropdown.ngfactory.d.ts.map +0 -1
  477. package/controls/list/dropdown.ngsummary.d.ts +0 -3
  478. package/controls/list/dropdown.ngsummary.d.ts.map +0 -1
  479. package/controls/list/list.module.d.ts +0 -7
  480. package/controls/list/list.module.d.ts.map +0 -1
  481. package/controls/list/list.module.ngfactory.d.ts +0 -4
  482. package/controls/list/list.module.ngfactory.d.ts.map +0 -1
  483. package/controls/list/list.module.ngsummary.d.ts +0 -2
  484. package/controls/list/list.module.ngsummary.d.ts.map +0 -1
  485. package/controls/list/listbox.ngfactory.d.ts +0 -5
  486. package/controls/list/listbox.ngfactory.d.ts.map +0 -1
  487. package/controls/list/listbox.ngsummary.d.ts +0 -3
  488. package/controls/list/listbox.ngsummary.d.ts.map +0 -1
  489. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts +0 -4
  490. package/controls/multilanguage/multilanguageinput.ngfactory.d.ts.map +0 -1
  491. package/controls/multilanguage/multilanguageinput.ngsummary.d.ts +0 -2
  492. package/controls/multilanguage/multilanguageinput.ngsummary.d.ts.map +0 -1
  493. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts +0 -4
  494. package/controls/multilanguage/multilanguageinputarea.ngfactory.d.ts.map +0 -1
  495. package/controls/multilanguage/multilanguageinputarea.ngsummary.d.ts +0 -2
  496. package/controls/multilanguage/multilanguageinputarea.ngsummary.d.ts.map +0 -1
  497. package/controls/static/formcontainer.ngfactory.d.ts +0 -4
  498. package/controls/static/formcontainer.ngfactory.d.ts.map +0 -1
  499. package/controls/static/formcontainer.ngsummary.d.ts +0 -2
  500. package/controls/static/formcontainer.ngsummary.d.ts.map +0 -1
  501. package/controls/static/staticlabel.ngfactory.d.ts +0 -4
  502. package/controls/static/staticlabel.ngfactory.d.ts.map +0 -1
  503. package/controls/static/staticlabel.ngsummary.d.ts +0 -2
  504. package/controls/static/staticlabel.ngsummary.d.ts.map +0 -1
  505. package/controls/tabs/tab.ngfactory.d.ts +0 -4
  506. package/controls/tabs/tab.ngfactory.d.ts.map +0 -1
  507. package/controls/tabs/tab.ngsummary.d.ts +0 -2
  508. package/controls/tabs/tab.ngsummary.d.ts.map +0 -1
  509. package/controls/tabs/tabitem.ngfactory.d.ts +0 -4
  510. package/controls/tabs/tabitem.ngfactory.d.ts.map +0 -1
  511. package/controls/tabs/tabitem.ngsummary.d.ts +0 -2
  512. package/controls/tabs/tabitem.ngsummary.d.ts.map +0 -1
  513. package/controls/tinymce/tinymce.ngfactory.d.ts +0 -4
  514. package/controls/tinymce/tinymce.ngfactory.d.ts.map +0 -1
  515. package/controls/tinymce/tinymce.ngsummary.d.ts +0 -2
  516. package/controls/tinymce/tinymce.ngsummary.d.ts.map +0 -1
  517. package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts +0 -2
  518. package/controls/tinymce/tinymcedialogsettings.ngfactory.d.ts.map +0 -1
  519. package/controls/tinymce/tinymcedialogsettings.ngsummary.d.ts +0 -2
  520. package/controls/tinymce/tinymcedialogsettings.ngsummary.d.ts.map +0 -1
  521. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts +0 -2
  522. package/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.d.ts.map +0 -1
  523. package/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.d.ts +0 -2
  524. package/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.d.ts.map +0 -1
  525. package/controls/tinymce/tinymceinstance.ngfactory.d.ts +0 -2
  526. package/controls/tinymce/tinymceinstance.ngfactory.d.ts.map +0 -1
  527. package/controls/tinymce/tinymceinstance.ngsummary.d.ts +0 -2
  528. package/controls/tinymce/tinymceinstance.ngsummary.d.ts.map +0 -1
  529. package/controls/tooltip/tooltip.ngfactory.d.ts +0 -4
  530. package/controls/tooltip/tooltip.ngfactory.d.ts.map +0 -1
  531. package/controls/tooltip/tooltip.ngsummary.d.ts +0 -2
  532. package/controls/tooltip/tooltip.ngsummary.d.ts.map +0 -1
  533. package/controls/treeview/ngtreeitemaction.ngfactory.d.ts +0 -4
  534. package/controls/treeview/ngtreeitemaction.ngfactory.d.ts.map +0 -1
  535. package/controls/treeview/ngtreeitemaction.ngsummary.d.ts +0 -2
  536. package/controls/treeview/ngtreeitemaction.ngsummary.d.ts.map +0 -1
  537. package/controls/treeview/treeview.ngfactory.d.ts +0 -4
  538. package/controls/treeview/treeview.ngfactory.d.ts.map +0 -1
  539. package/controls/treeview/treeview.ngsummary.d.ts +0 -2
  540. package/controls/treeview/treeview.ngsummary.d.ts.map +0 -1
  541. package/controls/treeview/treeviewchild.ngfactory.d.ts +0 -4
  542. package/controls/treeview/treeviewchild.ngfactory.d.ts.map +0 -1
  543. package/controls/treeview/treeviewchild.ngsummary.d.ts +0 -2
  544. package/controls/treeview/treeviewchild.ngsummary.d.ts.map +0 -1
  545. package/controls/upload/dropzonemultiple.ngfactory.d.ts +0 -4
  546. package/controls/upload/dropzonemultiple.ngfactory.d.ts.map +0 -1
  547. package/controls/upload/dropzonemultiple.ngsummary.d.ts +0 -2
  548. package/controls/upload/dropzonemultiple.ngsummary.d.ts.map +0 -1
  549. package/controls/upload/dropzonesingle.ngfactory.d.ts +0 -4
  550. package/controls/upload/dropzonesingle.ngfactory.d.ts.map +0 -1
  551. package/controls/upload/dropzonesingle.ngsummary.d.ts +0 -2
  552. package/controls/upload/dropzonesingle.ngsummary.d.ts.map +0 -1
  553. package/controls/upload/uploadmultiple.ngfactory.d.ts +0 -4
  554. package/controls/upload/uploadmultiple.ngfactory.d.ts.map +0 -1
  555. package/controls/upload/uploadmultiple.ngsummary.d.ts +0 -2
  556. package/controls/upload/uploadmultiple.ngsummary.d.ts.map +0 -1
  557. package/controls/upload/uploadsingle.ngfactory.d.ts +0 -4
  558. package/controls/upload/uploadsingle.ngfactory.d.ts.map +0 -1
  559. package/controls/upload/uploadsingle.ngsummary.d.ts +0 -2
  560. package/controls/upload/uploadsingle.ngsummary.d.ts.map +0 -1
  561. package/controls/validation/validationsummary.ngfactory.d.ts +0 -4
  562. package/controls/validation/validationsummary.ngfactory.d.ts.map +0 -1
  563. package/controls/validation/validationsummary.ngsummary.d.ts +0 -2
  564. package/controls/validation/validationsummary.ngsummary.d.ts.map +0 -1
  565. package/controls/wizard/wizard.ngfactory.d.ts +0 -4
  566. package/controls/wizard/wizard.ngfactory.d.ts.map +0 -1
  567. package/controls/wizard/wizard.ngsummary.d.ts +0 -2
  568. package/controls/wizard/wizard.ngsummary.d.ts.map +0 -1
  569. package/controls/wizard/wizarditem.ngfactory.d.ts +0 -4
  570. package/controls/wizard/wizarditem.ngfactory.d.ts.map +0 -1
  571. package/controls/wizard/wizarditem.ngsummary.d.ts +0 -2
  572. package/controls/wizard/wizarditem.ngsummary.d.ts.map +0 -1
  573. package/enums/ButtonRoleType.ngfactory.d.ts +0 -2
  574. package/enums/ButtonRoleType.ngfactory.d.ts.map +0 -1
  575. package/enums/ButtonRoleType.ngsummary.d.ts +0 -2
  576. package/enums/ButtonRoleType.ngsummary.d.ts.map +0 -1
  577. package/enums/ControlHeight.ngfactory.d.ts +0 -2
  578. package/enums/ControlHeight.ngfactory.d.ts.map +0 -1
  579. package/enums/ControlHeight.ngsummary.d.ts +0 -2
  580. package/enums/ControlHeight.ngsummary.d.ts.map +0 -1
  581. package/enums/IconType.ngfactory.d.ts +0 -2
  582. package/enums/IconType.ngfactory.d.ts.map +0 -1
  583. package/enums/IconType.ngsummary.d.ts +0 -2
  584. package/enums/IconType.ngsummary.d.ts.map +0 -1
  585. package/esm2020/common/basedatetimecontrol.mjs +0 -52
  586. package/esm2020/common/basedatetimecontrol.ngfactory.mjs +0 -3
  587. package/esm2020/common/basedatetimecontrol.ngsummary.mjs +0 -3
  588. package/esm2020/common/baseinputcontrol.mjs +0 -27
  589. package/esm2020/common/baseinputcontrol.ngfactory.mjs +0 -3
  590. package/esm2020/common/baseinputcontrol.ngsummary.mjs +0 -3
  591. package/esm2020/common/baselistcontrol.mjs +0 -19
  592. package/esm2020/common/baselistcontrol.ngfactory.mjs +0 -3
  593. package/esm2020/common/baselistcontrol.ngsummary.mjs +0 -3
  594. package/esm2020/common/basemodelcontrol.mjs +0 -144
  595. package/esm2020/common/basemodelcontrol.ngfactory.mjs +0 -3
  596. package/esm2020/common/basemodelcontrol.ngsummary.mjs +0 -3
  597. package/esm2020/common/baseselectcontrol.mjs +0 -9
  598. package/esm2020/common/baseselectcontrol.ngfactory.mjs +0 -3
  599. package/esm2020/common/baseselectcontrol.ngsummary.mjs +0 -3
  600. package/esm2020/common/baseuploadcontrol.mjs +0 -137
  601. package/esm2020/common/baseuploadcontrol.ngfactory.mjs +0 -3
  602. package/esm2020/common/baseuploadcontrol.ngsummary.mjs +0 -3
  603. package/esm2020/components/browser/browser.mjs +0 -146
  604. package/esm2020/components/browser/browser.ngfactory.mjs +0 -3
  605. package/esm2020/components/browser/browser.ngsummary.mjs +0 -3
  606. package/esm2020/components/browser/models/browserfile.mjs +0 -3
  607. package/esm2020/components/browser/models/browserfile.ngfactory.mjs +0 -3
  608. package/esm2020/components/browser/models/browserfile.ngsummary.mjs +0 -3
  609. package/esm2020/components/browser/models/browserfiledeleterequest.mjs +0 -8
  610. package/esm2020/components/browser/models/browserfiledeleterequest.ngfactory.mjs +0 -3
  611. package/esm2020/components/browser/models/browserfiledeleterequest.ngsummary.mjs +0 -3
  612. package/esm2020/components/browser/models/browserfilerenamerequest.ngfactory.mjs +0 -3
  613. package/esm2020/components/browser/models/browserfilerenamerequest.ngsummary.mjs +0 -3
  614. package/esm2020/components/browser/models/browserfileresponse.ngfactory.mjs +0 -3
  615. package/esm2020/components/browser/models/browserfileresponse.ngsummary.mjs +0 -3
  616. package/esm2020/components/browser/models/browserfilesaverequest.ngfactory.mjs +0 -3
  617. package/esm2020/components/browser/models/browserfilesaverequest.ngsummary.mjs +0 -3
  618. package/esm2020/components/browser/models/browsernode.mjs +0 -3
  619. package/esm2020/components/browser/models/browsernode.ngfactory.mjs +0 -3
  620. package/esm2020/components/browser/models/browsernode.ngsummary.mjs +0 -3
  621. package/esm2020/components/browser/models/browsernodedeleterequest.ngfactory.mjs +0 -3
  622. package/esm2020/components/browser/models/browsernodedeleterequest.ngsummary.mjs +0 -3
  623. package/esm2020/components/browser/models/browsernodenewrequest.ngfactory.mjs +0 -3
  624. package/esm2020/components/browser/models/browsernodenewrequest.ngsummary.mjs +0 -3
  625. package/esm2020/components/browser/models/browsernoderenamerequest.mjs +0 -8
  626. package/esm2020/components/browser/models/browsernoderenamerequest.ngfactory.mjs +0 -3
  627. package/esm2020/components/browser/models/browsernoderenamerequest.ngsummary.mjs +0 -3
  628. package/esm2020/components/browser/models/browsernoderequest.mjs +0 -8
  629. package/esm2020/components/browser/models/browsernoderequest.ngfactory.mjs +0 -3
  630. package/esm2020/components/browser/models/browsernoderequest.ngsummary.mjs +0 -3
  631. package/esm2020/components/browser/models/browsernoderesponse.mjs +0 -3
  632. package/esm2020/components/browser/models/browsernoderesponse.ngfactory.mjs +0 -3
  633. package/esm2020/components/browser/models/browsernoderesponse.ngsummary.mjs +0 -3
  634. package/esm2020/controls/buttons/button.mjs +0 -45
  635. package/esm2020/controls/buttons/button.ngfactory.mjs +0 -3
  636. package/esm2020/controls/buttons/button.ngsummary.mjs +0 -3
  637. package/esm2020/controls/checkbox/checkbox.mjs +0 -17
  638. package/esm2020/controls/checkbox/checkbox.ngfactory.mjs +0 -3
  639. package/esm2020/controls/checkbox/checkbox.ngsummary.mjs +0 -3
  640. package/esm2020/controls/checkbox/radiobutton.mjs +0 -36
  641. package/esm2020/controls/checkbox/radiobutton.ngfactory.mjs +0 -3
  642. package/esm2020/controls/checkbox/radiobutton.ngsummary.mjs +0 -3
  643. package/esm2020/controls/checkbox/radiobuttons.mjs +0 -36
  644. package/esm2020/controls/checkbox/radiobuttons.ngfactory.mjs +0 -3
  645. package/esm2020/controls/checkbox/radiobuttons.ngsummary.mjs +0 -3
  646. package/esm2020/controls/confirm/confirm.button.ngfactory.mjs +0 -3
  647. package/esm2020/controls/confirm/confirm.button.ngsummary.mjs +0 -3
  648. package/esm2020/controls/confirm/confirm.mjs +0 -31
  649. package/esm2020/controls/confirm/confirm.ngfactory.mjs +0 -3
  650. package/esm2020/controls/confirm/confirm.ngsummary.mjs +0 -3
  651. package/esm2020/controls/confirm/confirm.service.mjs +0 -37
  652. package/esm2020/controls/confirm/confirm.service.ngfactory.mjs +0 -3
  653. package/esm2020/controls/confirm/confirm.service.ngsummary.mjs +0 -3
  654. package/esm2020/controls/contextmenu/contextmenu.mjs +0 -64
  655. package/esm2020/controls/contextmenu/contextmenu.ngfactory.mjs +0 -3
  656. package/esm2020/controls/contextmenu/contextmenu.ngsummary.mjs +0 -3
  657. package/esm2020/controls/contextmenu/contextmenuanchor.mjs +0 -10
  658. package/esm2020/controls/contextmenu/contextmenuanchor.ngfactory.mjs +0 -3
  659. package/esm2020/controls/contextmenu/contextmenuanchor.ngsummary.mjs +0 -3
  660. package/esm2020/controls/contextmenu/contextmenucontainer.mjs +0 -10
  661. package/esm2020/controls/contextmenu/contextmenucontainer.ngfactory.mjs +0 -3
  662. package/esm2020/controls/contextmenu/contextmenucontainer.ngsummary.mjs +0 -3
  663. package/esm2020/controls/contextmenu/contextmenuitem.mjs +0 -5
  664. package/esm2020/controls/contextmenu/contextmenuitem.ngfactory.mjs +0 -3
  665. package/esm2020/controls/contextmenu/contextmenuitem.ngsummary.mjs +0 -3
  666. package/esm2020/controls/contextmenu/contextmenuitembutton.mjs +0 -28
  667. package/esm2020/controls/contextmenu/contextmenuitembutton.ngfactory.mjs +0 -3
  668. package/esm2020/controls/contextmenu/contextmenuitembutton.ngsummary.mjs +0 -3
  669. package/esm2020/controls/datetime/date.mjs +0 -56
  670. package/esm2020/controls/datetime/date.ngfactory.mjs +0 -3
  671. package/esm2020/controls/datetime/date.ngsummary.mjs +0 -3
  672. package/esm2020/controls/datetime/dateselector.mjs +0 -119
  673. package/esm2020/controls/datetime/dateselector.ngfactory.mjs +0 -3
  674. package/esm2020/controls/datetime/dateselector.ngsummary.mjs +0 -3
  675. package/esm2020/controls/datetime/datetime.mjs +0 -59
  676. package/esm2020/controls/datetime/datetime.ngfactory.mjs +0 -3
  677. package/esm2020/controls/datetime/datetime.ngsummary.mjs +0 -3
  678. package/esm2020/controls/datetime/time.mjs +0 -56
  679. package/esm2020/controls/datetime/time.ngfactory.mjs +0 -3
  680. package/esm2020/controls/datetime/time.ngsummary.mjs +0 -3
  681. package/esm2020/controls/dialog/dialog.mjs +0 -61
  682. package/esm2020/controls/dialog/dialog.ngfactory.mjs +0 -3
  683. package/esm2020/controls/dialog/dialog.ngsummary.mjs +0 -3
  684. package/esm2020/controls/form/form.mjs +0 -38
  685. package/esm2020/controls/form/form.ngfactory.mjs +0 -3
  686. package/esm2020/controls/form/form.ngsummary.mjs +0 -3
  687. package/esm2020/controls/grid/grid.mjs +0 -50
  688. package/esm2020/controls/grid/grid.ngfactory.mjs +0 -3
  689. package/esm2020/controls/grid/grid.ngsummary.mjs +0 -3
  690. package/esm2020/controls/grid/gridbutton.mjs +0 -22
  691. package/esm2020/controls/grid/gridbutton.ngfactory.mjs +0 -3
  692. package/esm2020/controls/grid/gridbutton.ngsummary.mjs +0 -3
  693. package/esm2020/controls/grid/gridcolumn.mjs +0 -22
  694. package/esm2020/controls/grid/gridcolumn.ngfactory.mjs +0 -3
  695. package/esm2020/controls/grid/gridcolumn.ngsummary.mjs +0 -3
  696. package/esm2020/controls/grid/gridcolumnaction.mjs +0 -11
  697. package/esm2020/controls/grid/gridcolumnaction.ngfactory.mjs +0 -3
  698. package/esm2020/controls/grid/gridcolumnaction.ngsummary.mjs +0 -3
  699. package/esm2020/controls/grid/gridcolumnbase.mjs +0 -36
  700. package/esm2020/controls/grid/gridcolumnbase.ngfactory.mjs +0 -3
  701. package/esm2020/controls/grid/gridcolumnbase.ngsummary.mjs +0 -3
  702. package/esm2020/controls/grid/gridimage.mjs +0 -5
  703. package/esm2020/controls/grid/gridimage.ngfactory.mjs +0 -3
  704. package/esm2020/controls/grid/gridimage.ngsummary.mjs +0 -3
  705. package/esm2020/controls/grid/model.ngfactory.mjs +0 -3
  706. package/esm2020/controls/grid/model.ngsummary.mjs +0 -3
  707. package/esm2020/controls/grid/paging.mjs +0 -85
  708. package/esm2020/controls/grid/paging.ngfactory.mjs +0 -3
  709. package/esm2020/controls/grid/paging.ngsummary.mjs +0 -3
  710. package/esm2020/controls/input/input.mjs +0 -22
  711. package/esm2020/controls/input/input.ngfactory.mjs +0 -3
  712. package/esm2020/controls/input/input.ngsummary.mjs +0 -3
  713. package/esm2020/controls/input/inputarea.mjs +0 -16
  714. package/esm2020/controls/input/inputarea.ngfactory.mjs +0 -3
  715. package/esm2020/controls/input/inputarea.ngsummary.mjs +0 -3
  716. package/esm2020/controls/input/inputcurrency.mjs +0 -10
  717. package/esm2020/controls/input/inputcurrency.ngfactory.mjs +0 -3
  718. package/esm2020/controls/input/inputcurrency.ngsummary.mjs +0 -3
  719. package/esm2020/controls/input/inputdecimal.mjs +0 -41
  720. package/esm2020/controls/input/inputdecimal.ngfactory.mjs +0 -3
  721. package/esm2020/controls/input/inputdecimal.ngsummary.mjs +0 -3
  722. package/esm2020/controls/input/inputemail.mjs +0 -14
  723. package/esm2020/controls/input/inputemail.ngfactory.mjs +0 -3
  724. package/esm2020/controls/input/inputemail.ngsummary.mjs +0 -3
  725. package/esm2020/controls/input/inputinteger.mjs +0 -40
  726. package/esm2020/controls/input/inputinteger.ngfactory.mjs +0 -3
  727. package/esm2020/controls/input/inputinteger.ngsummary.mjs +0 -3
  728. package/esm2020/controls/input/inputpassword.mjs +0 -16
  729. package/esm2020/controls/input/inputpassword.ngfactory.mjs +0 -3
  730. package/esm2020/controls/input/inputpassword.ngsummary.mjs +0 -3
  731. package/esm2020/controls/input/inputsearch.mjs +0 -20
  732. package/esm2020/controls/input/inputsearch.ngfactory.mjs +0 -3
  733. package/esm2020/controls/input/inputsearch.ngsummary.mjs +0 -3
  734. package/esm2020/controls/layout/formlayout.mjs +0 -32
  735. package/esm2020/controls/layout/formlayout.ngfactory.mjs +0 -3
  736. package/esm2020/controls/layout/formlayout.ngsummary.mjs +0 -3
  737. package/esm2020/controls/list/dropdown.mjs +0 -105
  738. package/esm2020/controls/list/dropdown.ngfactory.mjs +0 -3
  739. package/esm2020/controls/list/dropdown.ngsummary.mjs +0 -3
  740. package/esm2020/controls/list/list.module.mjs +0 -3
  741. package/esm2020/controls/list/list.module.ngfactory.mjs +0 -3
  742. package/esm2020/controls/list/list.module.ngsummary.mjs +0 -3
  743. package/esm2020/controls/list/listbox.mjs +0 -58
  744. package/esm2020/controls/list/listbox.ngfactory.mjs +0 -3
  745. package/esm2020/controls/list/listbox.ngsummary.mjs +0 -3
  746. package/esm2020/controls/multilanguage/multilanguageinput.mjs +0 -62
  747. package/esm2020/controls/multilanguage/multilanguageinput.ngfactory.mjs +0 -3
  748. package/esm2020/controls/multilanguage/multilanguageinput.ngsummary.mjs +0 -3
  749. package/esm2020/controls/multilanguage/multilanguageinputarea.mjs +0 -65
  750. package/esm2020/controls/multilanguage/multilanguageinputarea.ngfactory.mjs +0 -3
  751. package/esm2020/controls/multilanguage/multilanguageinputarea.ngsummary.mjs +0 -3
  752. package/esm2020/controls/static/formcontainer.mjs +0 -23
  753. package/esm2020/controls/static/formcontainer.ngfactory.mjs +0 -3
  754. package/esm2020/controls/static/formcontainer.ngsummary.mjs +0 -3
  755. package/esm2020/controls/static/staticlabel.mjs +0 -13
  756. package/esm2020/controls/static/staticlabel.ngfactory.mjs +0 -3
  757. package/esm2020/controls/static/staticlabel.ngsummary.mjs +0 -3
  758. package/esm2020/controls/tabs/tab.mjs +0 -24
  759. package/esm2020/controls/tabs/tab.ngfactory.mjs +0 -3
  760. package/esm2020/controls/tabs/tab.ngsummary.mjs +0 -3
  761. package/esm2020/controls/tabs/tabitem.mjs +0 -11
  762. package/esm2020/controls/tabs/tabitem.ngfactory.mjs +0 -3
  763. package/esm2020/controls/tabs/tabitem.ngsummary.mjs +0 -3
  764. package/esm2020/controls/tinymce/tinymce.mjs +0 -80
  765. package/esm2020/controls/tinymce/tinymce.ngfactory.mjs +0 -3
  766. package/esm2020/controls/tinymce/tinymce.ngsummary.mjs +0 -3
  767. package/esm2020/controls/tinymce/tinymcedialogsettings.mjs +0 -8
  768. package/esm2020/controls/tinymce/tinymcedialogsettings.ngfactory.mjs +0 -3
  769. package/esm2020/controls/tinymce/tinymcedialogsettings.ngsummary.mjs +0 -3
  770. package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.mjs +0 -5
  771. package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngfactory.mjs +0 -3
  772. package/esm2020/controls/tinymce/tinymcedialogsettingsmeta.ngsummary.mjs +0 -3
  773. package/esm2020/controls/tinymce/tinymceinstance.mjs +0 -3
  774. package/esm2020/controls/tinymce/tinymceinstance.ngfactory.mjs +0 -3
  775. package/esm2020/controls/tinymce/tinymceinstance.ngsummary.mjs +0 -3
  776. package/esm2020/controls/tooltip/tooltip.mjs +0 -110
  777. package/esm2020/controls/tooltip/tooltip.ngfactory.mjs +0 -3
  778. package/esm2020/controls/tooltip/tooltip.ngsummary.mjs +0 -3
  779. package/esm2020/controls/treeview/ngtreeitemaction.mjs +0 -16
  780. package/esm2020/controls/treeview/ngtreeitemaction.ngfactory.mjs +0 -3
  781. package/esm2020/controls/treeview/ngtreeitemaction.ngsummary.mjs +0 -3
  782. package/esm2020/controls/treeview/treeview.mjs +0 -98
  783. package/esm2020/controls/treeview/treeview.ngfactory.mjs +0 -3
  784. package/esm2020/controls/treeview/treeview.ngsummary.mjs +0 -3
  785. package/esm2020/controls/treeview/treeviewchild.mjs +0 -8
  786. package/esm2020/controls/treeview/treeviewchild.ngfactory.mjs +0 -3
  787. package/esm2020/controls/treeview/treeviewchild.ngsummary.mjs +0 -3
  788. package/esm2020/controls/upload/dropzonemultiple.mjs +0 -46
  789. package/esm2020/controls/upload/dropzonemultiple.ngfactory.mjs +0 -3
  790. package/esm2020/controls/upload/dropzonemultiple.ngsummary.mjs +0 -3
  791. package/esm2020/controls/upload/dropzonesingle.mjs +0 -28
  792. package/esm2020/controls/upload/dropzonesingle.ngfactory.mjs +0 -3
  793. package/esm2020/controls/upload/dropzonesingle.ngsummary.mjs +0 -3
  794. package/esm2020/controls/upload/uploadmultiple.mjs +0 -35
  795. package/esm2020/controls/upload/uploadmultiple.ngfactory.mjs +0 -3
  796. package/esm2020/controls/upload/uploadmultiple.ngsummary.mjs +0 -3
  797. package/esm2020/controls/upload/uploadsingle.mjs +0 -17
  798. package/esm2020/controls/upload/uploadsingle.ngfactory.mjs +0 -3
  799. package/esm2020/controls/upload/uploadsingle.ngsummary.mjs +0 -3
  800. package/esm2020/controls/validation/validationsummary.mjs +0 -31
  801. package/esm2020/controls/validation/validationsummary.ngfactory.mjs +0 -3
  802. package/esm2020/controls/validation/validationsummary.ngsummary.mjs +0 -3
  803. package/esm2020/controls/wizard/wizard.mjs +0 -37
  804. package/esm2020/controls/wizard/wizard.ngfactory.mjs +0 -3
  805. package/esm2020/controls/wizard/wizard.ngsummary.mjs +0 -3
  806. package/esm2020/controls/wizard/wizarditem.mjs +0 -9
  807. package/esm2020/controls/wizard/wizarditem.ngfactory.mjs +0 -3
  808. package/esm2020/controls/wizard/wizarditem.ngsummary.mjs +0 -3
  809. package/esm2020/enums/ButtonRoleType.ngfactory.mjs +0 -3
  810. package/esm2020/enums/ButtonRoleType.ngsummary.mjs +0 -3
  811. package/esm2020/enums/ControlHeight.mjs +0 -11
  812. package/esm2020/enums/ControlHeight.ngfactory.mjs +0 -3
  813. package/esm2020/enums/ControlHeight.ngsummary.mjs +0 -3
  814. package/esm2020/enums/IconType.mjs +0 -5
  815. package/esm2020/enums/IconType.ngfactory.mjs +0 -3
  816. package/esm2020/enums/IconType.ngsummary.mjs +0 -3
  817. package/esm2020/interfaces/ISacConfigurationService.mjs +0 -3
  818. package/esm2020/interfaces/ISacConfigurationService.ngfactory.mjs +0 -3
  819. package/esm2020/interfaces/ISacConfigurationService.ngsummary.mjs +0 -3
  820. package/esm2020/interfaces/ISacFileBrowserService.mjs +0 -3
  821. package/esm2020/interfaces/ISacFileBrowserService.ngfactory.mjs +0 -3
  822. package/esm2020/interfaces/ISacFileBrowserService.ngsummary.mjs +0 -3
  823. package/esm2020/interfaces/ISacIconService.ngfactory.mjs +0 -3
  824. package/esm2020/interfaces/ISacIconService.ngsummary.mjs +0 -3
  825. package/esm2020/interfaces/ISacLabelSizes.ngfactory.mjs +0 -3
  826. package/esm2020/interfaces/ISacLabelSizes.ngsummary.mjs +0 -3
  827. package/esm2020/interfaces/ISacLanguageService.ngfactory.mjs +0 -3
  828. package/esm2020/interfaces/ISacLanguageService.ngsummary.mjs +0 -3
  829. package/esm2020/interfaces/ISacLocalisationService.ngfactory.mjs +0 -3
  830. package/esm2020/interfaces/ISacLocalisationService.ngsummary.mjs +0 -3
  831. package/esm2020/interfaces/ISacValidationKeyService.ngfactory.mjs +0 -3
  832. package/esm2020/interfaces/ISacValidationKeyService.ngsummary.mjs +0 -3
  833. package/esm2020/interfaces/iabstractcontrollabel.ngfactory.mjs +0 -3
  834. package/esm2020/interfaces/iabstractcontrollabel.ngsummary.mjs +0 -3
  835. package/esm2020/interfaces/iconfirmcomponent.mjs +0 -3
  836. package/esm2020/interfaces/iconfirmcomponent.ngfactory.mjs +0 -3
  837. package/esm2020/interfaces/iconfirmcomponent.ngsummary.mjs +0 -3
  838. package/esm2020/interfaces/idatetimecontrol.ngfactory.mjs +0 -3
  839. package/esm2020/interfaces/idatetimecontrol.ngsummary.mjs +0 -3
  840. package/esm2020/interfaces/iuploadcontrol.mjs +0 -3
  841. package/esm2020/interfaces/iuploadcontrol.ngfactory.mjs +0 -3
  842. package/esm2020/interfaces/iuploadcontrol.ngsummary.mjs +0 -3
  843. package/esm2020/models/languagemodel.mjs +0 -7
  844. package/esm2020/models/languagemodel.ngfactory.mjs +0 -3
  845. package/esm2020/models/languagemodel.ngsummary.mjs +0 -3
  846. package/esm2020/public_api.ngfactory.mjs +0 -3
  847. package/esm2020/public_api.ngsummary.mjs +0 -3
  848. package/esm2020/services/index.ngfactory.mjs +0 -3
  849. package/esm2020/services/index.ngsummary.mjs +0 -3
  850. package/esm2020/services/sac-configuration.service.mjs +0 -37
  851. package/esm2020/services/sac-configuration.service.ngfactory.mjs +0 -3
  852. package/esm2020/services/sac-configuration.service.ngsummary.mjs +0 -3
  853. package/esm2020/services/sac-filebrowser.service.mjs +0 -53
  854. package/esm2020/services/sac-filebrowser.service.ngfactory.mjs +0 -3
  855. package/esm2020/services/sac-filebrowser.service.ngsummary.mjs +0 -3
  856. package/esm2020/services/sac-icon.service.mjs +0 -59
  857. package/esm2020/services/sac-icon.service.ngfactory.mjs +0 -3
  858. package/esm2020/services/sac-icon.service.ngsummary.mjs +0 -3
  859. package/esm2020/services/sac-language.service.mjs +0 -11
  860. package/esm2020/services/sac-language.service.ngfactory.mjs +0 -3
  861. package/esm2020/services/sac-language.service.ngsummary.mjs +0 -3
  862. package/esm2020/services/sac-localisation.service.mjs +0 -40
  863. package/esm2020/services/sac-localisation.service.ngfactory.mjs +0 -3
  864. package/esm2020/services/sac-localisation.service.ngsummary.mjs +0 -3
  865. package/esm2020/services/sac-validationkey.service.mjs +0 -7
  866. package/esm2020/services/sac-validationkey.service.ngfactory.mjs +0 -3
  867. package/esm2020/services/sac-validationkey.service.ngsummary.mjs +0 -3
  868. package/esm2020/utilities/convertion.mjs +0 -12
  869. package/esm2020/utilities/convertion.ngfactory.mjs +0 -3
  870. package/esm2020/utilities/convertion.ngsummary.mjs +0 -3
  871. package/esm2020/utilities/datatypes.mjs +0 -7
  872. package/esm2020/utilities/datatypes.ngfactory.mjs +0 -3
  873. package/esm2020/utilities/datatypes.ngsummary.mjs +0 -3
  874. package/esm2020/utilities/enums.ngfactory.mjs +0 -3
  875. package/esm2020/utilities/enums.ngsummary.mjs +0 -3
  876. package/esm2020/utilities/guid.mjs +0 -8
  877. package/esm2020/utilities/guid.ngfactory.mjs +0 -3
  878. package/esm2020/utilities/guid.ngsummary.mjs +0 -3
  879. package/esm2020/utilities/interpolation.mjs +0 -15
  880. package/esm2020/utilities/interpolation.ngfactory.mjs +0 -3
  881. package/esm2020/utilities/interpolation.ngsummary.mjs +0 -3
  882. package/esm2020/utilities/positioning.mjs +0 -58
  883. package/esm2020/utilities/positioning.ngfactory.mjs +0 -3
  884. package/esm2020/utilities/positioning.ngsummary.mjs +0 -3
  885. package/esm2020/validation/email.validator.mjs +0 -3
  886. package/esm2020/validation/email.validator.ngfactory.mjs +0 -3
  887. package/esm2020/validation/email.validator.ngsummary.mjs +0 -3
  888. package/esm2020/validation/index.ngfactory.mjs +0 -3
  889. package/esm2020/validation/index.ngsummary.mjs +0 -3
  890. package/esm2020/validation/invaliddate.validator.ngfactory.mjs +0 -3
  891. package/esm2020/validation/invaliddate.validator.ngsummary.mjs +0 -3
  892. package/esm2020/validation/isDateValid.ngfactory.mjs +0 -3
  893. package/esm2020/validation/isDateValid.ngsummary.mjs +0 -3
  894. package/esm2020/validation/maxdate.validator.ngfactory.mjs +0 -3
  895. package/esm2020/validation/maxdate.validator.ngsummary.mjs +0 -3
  896. package/esm2020/validation/maxtime.validator.ngfactory.mjs +0 -3
  897. package/esm2020/validation/maxtime.validator.ngsummary.mjs +0 -3
  898. package/esm2020/validation/maxvalue.validator.mjs +0 -3
  899. package/esm2020/validation/maxvalue.validator.ngfactory.mjs +0 -3
  900. package/esm2020/validation/maxvalue.validator.ngsummary.mjs +0 -3
  901. package/esm2020/validation/mindate.validator.ngfactory.mjs +0 -3
  902. package/esm2020/validation/mindate.validator.ngsummary.mjs +0 -3
  903. package/esm2020/validation/minfiles.validator.ngfactory.mjs +0 -3
  904. package/esm2020/validation/minfiles.validator.ngsummary.mjs +0 -3
  905. package/esm2020/validation/minlength.validator.mjs +0 -3
  906. package/esm2020/validation/minlength.validator.ngfactory.mjs +0 -3
  907. package/esm2020/validation/minlength.validator.ngsummary.mjs +0 -3
  908. package/esm2020/validation/mintime.validator.ngfactory.mjs +0 -3
  909. package/esm2020/validation/mintime.validator.ngsummary.mjs +0 -3
  910. package/esm2020/validation/minvalue.validator.ngfactory.mjs +0 -3
  911. package/esm2020/validation/minvalue.validator.ngsummary.mjs +0 -3
  912. package/esm2020/validation/multilanguagerequired.validator.mjs +0 -3
  913. package/esm2020/validation/multilanguagerequired.validator.ngfactory.mjs +0 -3
  914. package/esm2020/validation/multilanguagerequired.validator.ngsummary.mjs +0 -3
  915. package/esm2020/validation/multilanguagerequiredany.validator.ngfactory.mjs +0 -3
  916. package/esm2020/validation/multilanguagerequiredany.validator.ngsummary.mjs +0 -3
  917. package/esm2020/validation/pattern.validator.ngfactory.mjs +0 -3
  918. package/esm2020/validation/pattern.validator.ngsummary.mjs +0 -3
  919. package/esm2020/validation/required.validator.ngfactory.mjs +0 -3
  920. package/esm2020/validation/required.validator.ngsummary.mjs +0 -3
  921. package/esm2020/validation/validation.ngfactory.mjs +0 -3
  922. package/esm2020/validation/validation.ngsummary.mjs +0 -3
  923. package/esm2020/validation/validationerrorcreator.mjs +0 -3
  924. package/esm2020/validation/validationerrorcreator.ngfactory.mjs +0 -3
  925. package/esm2020/validation/validationerrorcreator.ngsummary.mjs +0 -3
  926. package/esm2020/validation/validationerroritem.ngfactory.mjs +0 -3
  927. package/esm2020/validation/validationerroritem.ngsummary.mjs +0 -3
  928. package/fesm2015/simpleangularcontrols-sac-common.mjs +0 -2919
  929. package/fesm2015/simpleangularcontrols-sac-common.mjs.map +0 -1
  930. package/fesm2020/simpleangularcontrols-sac-common.mjs +0 -2919
  931. package/fesm2020/simpleangularcontrols-sac-common.mjs.map +0 -1
  932. package/interfaces/ISacConfigurationService.ngfactory.d.ts +0 -2
  933. package/interfaces/ISacConfigurationService.ngfactory.d.ts.map +0 -1
  934. package/interfaces/ISacConfigurationService.ngsummary.d.ts +0 -2
  935. package/interfaces/ISacConfigurationService.ngsummary.d.ts.map +0 -1
  936. package/interfaces/ISacFileBrowserService.ngfactory.d.ts +0 -2
  937. package/interfaces/ISacFileBrowserService.ngfactory.d.ts.map +0 -1
  938. package/interfaces/ISacFileBrowserService.ngsummary.d.ts +0 -2
  939. package/interfaces/ISacFileBrowserService.ngsummary.d.ts.map +0 -1
  940. package/interfaces/ISacIconService.ngfactory.d.ts +0 -2
  941. package/interfaces/ISacIconService.ngfactory.d.ts.map +0 -1
  942. package/interfaces/ISacIconService.ngsummary.d.ts +0 -2
  943. package/interfaces/ISacIconService.ngsummary.d.ts.map +0 -1
  944. package/interfaces/ISacLabelSizes.ngfactory.d.ts +0 -2
  945. package/interfaces/ISacLabelSizes.ngfactory.d.ts.map +0 -1
  946. package/interfaces/ISacLabelSizes.ngsummary.d.ts +0 -2
  947. package/interfaces/ISacLabelSizes.ngsummary.d.ts.map +0 -1
  948. package/interfaces/ISacLanguageService.ngfactory.d.ts +0 -2
  949. package/interfaces/ISacLanguageService.ngfactory.d.ts.map +0 -1
  950. package/interfaces/ISacLanguageService.ngsummary.d.ts +0 -2
  951. package/interfaces/ISacLanguageService.ngsummary.d.ts.map +0 -1
  952. package/interfaces/ISacLocalisationService.ngfactory.d.ts +0 -2
  953. package/interfaces/ISacLocalisationService.ngfactory.d.ts.map +0 -1
  954. package/interfaces/ISacLocalisationService.ngsummary.d.ts +0 -2
  955. package/interfaces/ISacLocalisationService.ngsummary.d.ts.map +0 -1
  956. package/interfaces/ISacValidationKeyService.ngfactory.d.ts +0 -2
  957. package/interfaces/ISacValidationKeyService.ngfactory.d.ts.map +0 -1
  958. package/interfaces/ISacValidationKeyService.ngsummary.d.ts +0 -2
  959. package/interfaces/ISacValidationKeyService.ngsummary.d.ts.map +0 -1
  960. package/interfaces/iabstractcontrollabel.ngfactory.d.ts +0 -2
  961. package/interfaces/iabstractcontrollabel.ngfactory.d.ts.map +0 -1
  962. package/interfaces/iabstractcontrollabel.ngsummary.d.ts +0 -2
  963. package/interfaces/iabstractcontrollabel.ngsummary.d.ts.map +0 -1
  964. package/interfaces/iconfirmcomponent.ngfactory.d.ts +0 -2
  965. package/interfaces/iconfirmcomponent.ngfactory.d.ts.map +0 -1
  966. package/interfaces/iconfirmcomponent.ngsummary.d.ts +0 -2
  967. package/interfaces/iconfirmcomponent.ngsummary.d.ts.map +0 -1
  968. package/interfaces/idatetimecontrol.ngfactory.d.ts +0 -2
  969. package/interfaces/idatetimecontrol.ngfactory.d.ts.map +0 -1
  970. package/interfaces/idatetimecontrol.ngsummary.d.ts +0 -2
  971. package/interfaces/idatetimecontrol.ngsummary.d.ts.map +0 -1
  972. package/interfaces/iuploadcontrol.ngfactory.d.ts +0 -2
  973. package/interfaces/iuploadcontrol.ngfactory.d.ts.map +0 -1
  974. package/interfaces/iuploadcontrol.ngsummary.d.ts +0 -2
  975. package/interfaces/iuploadcontrol.ngsummary.d.ts.map +0 -1
  976. package/models/languagemodel.ngfactory.d.ts +0 -2
  977. package/models/languagemodel.ngfactory.d.ts.map +0 -1
  978. package/models/languagemodel.ngsummary.d.ts +0 -2
  979. package/models/languagemodel.ngsummary.d.ts.map +0 -1
  980. package/public_api.ngfactory.d.ts +0 -2
  981. package/public_api.ngfactory.d.ts.map +0 -1
  982. package/public_api.ngsummary.d.ts +0 -2
  983. package/public_api.ngsummary.d.ts.map +0 -1
  984. package/services/index.ngfactory.d.ts +0 -2
  985. package/services/index.ngfactory.d.ts.map +0 -1
  986. package/services/index.ngsummary.d.ts +0 -2
  987. package/services/index.ngsummary.d.ts.map +0 -1
  988. package/services/sac-configuration.service.ngfactory.d.ts +0 -5
  989. package/services/sac-configuration.service.ngfactory.d.ts.map +0 -1
  990. package/services/sac-configuration.service.ngsummary.d.ts +0 -3
  991. package/services/sac-configuration.service.ngsummary.d.ts.map +0 -1
  992. package/services/sac-filebrowser.service.ngfactory.d.ts +0 -5
  993. package/services/sac-filebrowser.service.ngfactory.d.ts.map +0 -1
  994. package/services/sac-filebrowser.service.ngsummary.d.ts +0 -3
  995. package/services/sac-filebrowser.service.ngsummary.d.ts.map +0 -1
  996. package/services/sac-icon.service.ngfactory.d.ts +0 -5
  997. package/services/sac-icon.service.ngfactory.d.ts.map +0 -1
  998. package/services/sac-icon.service.ngsummary.d.ts +0 -3
  999. package/services/sac-icon.service.ngsummary.d.ts.map +0 -1
  1000. package/services/sac-language.service.ngfactory.d.ts +0 -5
  1001. package/services/sac-language.service.ngfactory.d.ts.map +0 -1
  1002. package/services/sac-language.service.ngsummary.d.ts +0 -3
  1003. package/services/sac-language.service.ngsummary.d.ts.map +0 -1
  1004. package/services/sac-localisation.service.ngfactory.d.ts +0 -5
  1005. package/services/sac-localisation.service.ngfactory.d.ts.map +0 -1
  1006. package/services/sac-localisation.service.ngsummary.d.ts +0 -3
  1007. package/services/sac-localisation.service.ngsummary.d.ts.map +0 -1
  1008. package/services/sac-validationkey.service.ngfactory.d.ts +0 -4
  1009. package/services/sac-validationkey.service.ngfactory.d.ts.map +0 -1
  1010. package/services/sac-validationkey.service.ngsummary.d.ts +0 -2
  1011. package/services/sac-validationkey.service.ngsummary.d.ts.map +0 -1
  1012. package/simpleangularcontrols-sac-common-13.0.0-rc.9.tgz +0 -0
  1013. package/utilities/convertion.ngfactory.d.ts +0 -2
  1014. package/utilities/convertion.ngfactory.d.ts.map +0 -1
  1015. package/utilities/convertion.ngsummary.d.ts +0 -2
  1016. package/utilities/convertion.ngsummary.d.ts.map +0 -1
  1017. package/utilities/datatypes.ngfactory.d.ts +0 -2
  1018. package/utilities/datatypes.ngfactory.d.ts.map +0 -1
  1019. package/utilities/datatypes.ngsummary.d.ts +0 -2
  1020. package/utilities/datatypes.ngsummary.d.ts.map +0 -1
  1021. package/utilities/enums.ngfactory.d.ts +0 -2
  1022. package/utilities/enums.ngfactory.d.ts.map +0 -1
  1023. package/utilities/enums.ngsummary.d.ts +0 -2
  1024. package/utilities/enums.ngsummary.d.ts.map +0 -1
  1025. package/utilities/guid.ngfactory.d.ts +0 -2
  1026. package/utilities/guid.ngfactory.d.ts.map +0 -1
  1027. package/utilities/guid.ngsummary.d.ts +0 -2
  1028. package/utilities/guid.ngsummary.d.ts.map +0 -1
  1029. package/utilities/interpolation.ngfactory.d.ts +0 -2
  1030. package/utilities/interpolation.ngfactory.d.ts.map +0 -1
  1031. package/utilities/interpolation.ngsummary.d.ts +0 -2
  1032. package/utilities/interpolation.ngsummary.d.ts.map +0 -1
  1033. package/utilities/positioning.ngfactory.d.ts +0 -2
  1034. package/utilities/positioning.ngfactory.d.ts.map +0 -1
  1035. package/utilities/positioning.ngsummary.d.ts +0 -2
  1036. package/utilities/positioning.ngsummary.d.ts.map +0 -1
  1037. package/validation/email.validator.ngfactory.d.ts +0 -2
  1038. package/validation/email.validator.ngfactory.d.ts.map +0 -1
  1039. package/validation/email.validator.ngsummary.d.ts +0 -2
  1040. package/validation/email.validator.ngsummary.d.ts.map +0 -1
  1041. package/validation/index.ngfactory.d.ts +0 -2
  1042. package/validation/index.ngfactory.d.ts.map +0 -1
  1043. package/validation/index.ngsummary.d.ts +0 -2
  1044. package/validation/index.ngsummary.d.ts.map +0 -1
  1045. package/validation/invaliddate.validator.ngfactory.d.ts +0 -2
  1046. package/validation/invaliddate.validator.ngfactory.d.ts.map +0 -1
  1047. package/validation/invaliddate.validator.ngsummary.d.ts +0 -2
  1048. package/validation/invaliddate.validator.ngsummary.d.ts.map +0 -1
  1049. package/validation/isDateValid.ngfactory.d.ts +0 -2
  1050. package/validation/isDateValid.ngfactory.d.ts.map +0 -1
  1051. package/validation/isDateValid.ngsummary.d.ts +0 -2
  1052. package/validation/isDateValid.ngsummary.d.ts.map +0 -1
  1053. package/validation/maxdate.validator.ngfactory.d.ts +0 -2
  1054. package/validation/maxdate.validator.ngfactory.d.ts.map +0 -1
  1055. package/validation/maxdate.validator.ngsummary.d.ts +0 -2
  1056. package/validation/maxdate.validator.ngsummary.d.ts.map +0 -1
  1057. package/validation/maxtime.validator.ngfactory.d.ts +0 -2
  1058. package/validation/maxtime.validator.ngfactory.d.ts.map +0 -1
  1059. package/validation/maxtime.validator.ngsummary.d.ts +0 -2
  1060. package/validation/maxtime.validator.ngsummary.d.ts.map +0 -1
  1061. package/validation/maxvalue.validator.ngfactory.d.ts +0 -2
  1062. package/validation/maxvalue.validator.ngfactory.d.ts.map +0 -1
  1063. package/validation/maxvalue.validator.ngsummary.d.ts +0 -2
  1064. package/validation/maxvalue.validator.ngsummary.d.ts.map +0 -1
  1065. package/validation/mindate.validator.ngfactory.d.ts +0 -2
  1066. package/validation/mindate.validator.ngfactory.d.ts.map +0 -1
  1067. package/validation/mindate.validator.ngsummary.d.ts +0 -2
  1068. package/validation/mindate.validator.ngsummary.d.ts.map +0 -1
  1069. package/validation/minfiles.validator.ngfactory.d.ts +0 -2
  1070. package/validation/minfiles.validator.ngfactory.d.ts.map +0 -1
  1071. package/validation/minfiles.validator.ngsummary.d.ts +0 -2
  1072. package/validation/minfiles.validator.ngsummary.d.ts.map +0 -1
  1073. package/validation/minlength.validator.ngfactory.d.ts +0 -2
  1074. package/validation/minlength.validator.ngfactory.d.ts.map +0 -1
  1075. package/validation/minlength.validator.ngsummary.d.ts +0 -2
  1076. package/validation/minlength.validator.ngsummary.d.ts.map +0 -1
  1077. package/validation/mintime.validator.ngfactory.d.ts +0 -2
  1078. package/validation/mintime.validator.ngfactory.d.ts.map +0 -1
  1079. package/validation/mintime.validator.ngsummary.d.ts +0 -2
  1080. package/validation/mintime.validator.ngsummary.d.ts.map +0 -1
  1081. package/validation/minvalue.validator.ngfactory.d.ts +0 -2
  1082. package/validation/minvalue.validator.ngfactory.d.ts.map +0 -1
  1083. package/validation/minvalue.validator.ngsummary.d.ts +0 -2
  1084. package/validation/minvalue.validator.ngsummary.d.ts.map +0 -1
  1085. package/validation/multilanguagerequired.validator.ngfactory.d.ts +0 -2
  1086. package/validation/multilanguagerequired.validator.ngfactory.d.ts.map +0 -1
  1087. package/validation/multilanguagerequired.validator.ngsummary.d.ts +0 -2
  1088. package/validation/multilanguagerequired.validator.ngsummary.d.ts.map +0 -1
  1089. package/validation/multilanguagerequiredany.validator.ngfactory.d.ts +0 -2
  1090. package/validation/multilanguagerequiredany.validator.ngfactory.d.ts.map +0 -1
  1091. package/validation/multilanguagerequiredany.validator.ngsummary.d.ts +0 -2
  1092. package/validation/multilanguagerequiredany.validator.ngsummary.d.ts.map +0 -1
  1093. package/validation/pattern.validator.ngfactory.d.ts +0 -2
  1094. package/validation/pattern.validator.ngfactory.d.ts.map +0 -1
  1095. package/validation/pattern.validator.ngsummary.d.ts +0 -2
  1096. package/validation/pattern.validator.ngsummary.d.ts.map +0 -1
  1097. package/validation/required.validator.ngfactory.d.ts +0 -2
  1098. package/validation/required.validator.ngfactory.d.ts.map +0 -1
  1099. package/validation/required.validator.ngsummary.d.ts +0 -2
  1100. package/validation/required.validator.ngsummary.d.ts.map +0 -1
  1101. package/validation/validation.ngfactory.d.ts +0 -2
  1102. package/validation/validation.ngfactory.d.ts.map +0 -1
  1103. package/validation/validation.ngsummary.d.ts +0 -2
  1104. package/validation/validation.ngsummary.d.ts.map +0 -1
  1105. package/validation/validationerrorcreator.ngfactory.d.ts +0 -2
  1106. package/validation/validationerrorcreator.ngfactory.d.ts.map +0 -1
  1107. package/validation/validationerrorcreator.ngsummary.d.ts +0 -2
  1108. package/validation/validationerrorcreator.ngsummary.d.ts.map +0 -1
  1109. package/validation/validationerroritem.ngfactory.d.ts +0 -2
  1110. package/validation/validationerroritem.ngfactory.d.ts.map +0 -1
  1111. package/validation/validationerroritem.ngsummary.d.ts +0 -2
  1112. package/validation/validationerroritem.ngsummary.d.ts.map +0 -1
@@ -0,0 +1,110 @@
1
+ function cov_vnuuxsm2m(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\tooltip\\tooltip.mjs";var hash="e61e69ccd46bf8a0ec71f71dbb684f08c038f8e8";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\tooltip\\tooltip.mjs",statementMap:{"0":{start:{line:24,column:8},end:{line:24,column:27}},"1":{start:{line:25,column:8},end:{line:25,column:23}},"2":{start:{line:29,column:8},end:{line:29,column:39}},"3":{start:{line:33,column:8},end:{line:42,column:10}},"4":{start:{line:35,column:12},end:{line:37,column:13}},"5":{start:{line:36,column:16},end:{line:36,column:23}},"6":{start:{line:38,column:12},end:{line:41,column:15}},"7":{start:{line:39,column:16},end:{line:39,column:39}},"8":{start:{line:40,column:16},end:{line:40,column:38}},"9":{start:{line:48,column:8},end:{line:48,column:37}},"10":{start:{line:52,column:8},end:{line:52,column:45}},"11":{start:{line:56,column:8},end:{line:56,column:25}},"12":{start:{line:60,column:8},end:{line:60,column:47}},"13":{start:{line:64,column:8},end:{line:64,column:24}},"14":{start:{line:72,column:8},end:{line:72,column:51}},"15":{start:{line:78,column:8},end:{line:80,column:9}},"16":{start:{line:79,column:12},end:{line:79,column:61}},"17":{start:{line:81,column:8},end:{line:81,column:40}},"18":{start:{line:82,column:8},end:{line:82,column:31}},"19":{start:{line:83,column:8},end:{line:83,column:35}},"20":{start:{line:89,column:8},end:{line:89,column:32}},"21":{start:{line:92,column:8},end:{line:92,column:37}},"22":{start:{line:100,column:31},end:{line:100,column:55}},"23":{start:{line:102,column:8},end:{line:105,column:9}},"24":{start:{line:104,column:12},end:{line:104,column:41}},"25":{start:{line:107,column:8},end:{line:110,column:9}},"26":{start:{line:109,column:12},end:{line:109,column:39}},"27":{start:{line:112,column:8},end:{line:115,column:9}},"28":{start:{line:114,column:12},end:{line:114,column:40}},"29":{start:{line:117,column:8},end:{line:120,column:9}},"30":{start:{line:119,column:12},end:{line:119,column:42}},"31":{start:{line:122,column:8},end:{line:143,column:9}},"32":{start:{line:124,column:12},end:{line:126,column:13}},"33":{start:{line:125,column:16},end:{line:125,column:45}},"34":{start:{line:128,column:12},end:{line:130,column:13}},"35":{start:{line:129,column:16},end:{line:129,column:43}},"36":{start:{line:132,column:12},end:{line:134,column:13}},"37":{start:{line:133,column:16},end:{line:133,column:44}},"38":{start:{line:136,column:12},end:{line:138,column:13}},"39":{start:{line:137,column:16},end:{line:137,column:46}},"40":{start:{line:139,column:12},end:{line:139,column:41}},"41":{start:{line:142,column:12},end:{line:142,column:38}},"42":{start:{line:149,column:8},end:{line:149,column:39}},"43":{start:{line:150,column:8},end:{line:150,column:45}},"44":{start:{line:156,column:8},end:{line:156,column:38}},"45":{start:{line:162,column:8},end:{line:162,column:38}},"46":{start:{line:163,column:8},end:{line:163,column:35}},"47":{start:{line:164,column:8},end:{line:168,column:11}},"48":{start:{line:165,column:12},end:{line:165,column:35}},"49":{start:{line:166,column:12},end:{line:166,column:34}},"50":{start:{line:167,column:12},end:{line:167,column:48}},"51":{start:{line:174,column:8},end:{line:179,column:9}},"52":{start:{line:175,column:12},end:{line:175,column:91}},"53":{start:{line:178,column:12},end:{line:178,column:21}},"54":{start:{line:185,column:8},end:{line:190,column:9}},"55":{start:{line:186,column:12},end:{line:186,column:85}},"56":{start:{line:189,column:12},end:{line:189,column:21}},"57":{start:{line:197,column:8},end:{line:199,column:9}},"58":{start:{line:198,column:12},end:{line:198,column:19}},"59":{start:{line:200,column:8},end:{line:200,column:35}},"60":{start:{line:207,column:8},end:{line:209,column:9}},"61":{start:{line:208,column:12},end:{line:208,column:19}},"62":{start:{line:210,column:8},end:{line:210,column:31}},"63":{start:{line:211,column:8},end:{line:211,column:30}},"64":{start:{line:218,column:8},end:{line:218,column:73}},"65":{start:{line:219,column:8},end:{line:219,column:73}},"66":{start:{line:220,column:8},end:{line:222,column:9}},"67":{start:{line:221,column:12},end:{line:221,column:75}},"68":{start:{line:229,column:8},end:{line:229,column:70}},"69":{start:{line:230,column:8},end:{line:230,column:70}},"70":{start:{line:231,column:8},end:{line:233,column:9}},"71":{start:{line:232,column:12},end:{line:232,column:75}},"72":{start:{line:241,column:26},end:{line:241,column:50}},"73":{start:{line:242,column:8},end:{line:244,column:9}},"74":{start:{line:243,column:12},end:{line:243,column:40}},"75":{start:{line:245,column:8},end:{line:247,column:9}},"76":{start:{line:246,column:12},end:{line:246,column:39}},"77":{start:{line:248,column:8},end:{line:250,column:9}},"78":{start:{line:249,column:12},end:{line:249,column:41}},"79":{start:{line:251,column:8},end:{line:253,column:9}},"80":{start:{line:252,column:12},end:{line:252,column:42}},"81":{start:{line:255,column:8},end:{line:255,column:37}},"82":{start:{line:263,column:26},end:{line:263,column:50}},"83":{start:{line:264,column:8},end:{line:266,column:9}},"84":{start:{line:265,column:12},end:{line:265,column:24}},"85":{start:{line:267,column:8},end:{line:269,column:9}},"86":{start:{line:268,column:12},end:{line:268,column:24}},"87":{start:{line:270,column:8},end:{line:272,column:9}},"88":{start:{line:271,column:12},end:{line:271,column:24}},"89":{start:{line:273,column:8},end:{line:276,column:9}},"90":{start:{line:275,column:12},end:{line:275,column:24}},"91":{start:{line:277,column:8},end:{line:277,column:21}},"92":{start:{line:283,column:26},end:{line:283,column:50}},"93":{start:{line:284,column:8},end:{line:284,column:46}},"94":{start:{line:291,column:8},end:{line:293,column:9}},"95":{start:{line:292,column:12},end:{line:292,column:41}},"96":{start:{line:294,column:31},end:{line:294,column:51}},"97":{start:{line:295,column:29},end:{line:295,column:97}},"98":{start:{line:296,column:28},end:{line:296,column:105}},"99":{start:{line:297,column:26},end:{line:297,column:100}},"100":{start:{line:298,column:27},end:{line:298,column:111}},"101":{start:{line:299,column:25},end:{line:299,column:66}},"102":{start:{line:300,column:28},end:{line:300,column:89}},"103":{start:{line:301,column:30},end:{line:301,column:75}},"104":{start:{line:302,column:31},end:{line:302,column:93}},"105":{start:{line:303,column:29},end:{line:303,column:74}},"106":{start:{line:304,column:32},end:{line:304,column:97}},"107":{start:{line:305,column:8},end:{line:308,column:9}},"108":{start:{line:307,column:12},end:{line:307,column:71}},"109":{start:{line:309,column:8},end:{line:312,column:9}},"110":{start:{line:311,column:12},end:{line:311,column:72}},"111":{start:{line:313,column:8},end:{line:316,column:9}},"112":{start:{line:315,column:12},end:{line:315,column:70}},"113":{start:{line:317,column:8},end:{line:320,column:9}},"114":{start:{line:319,column:12},end:{line:319,column:73}},"115":{start:{line:321,column:8},end:{line:321,column:32}},"116":{start:{line:327,column:8},end:{line:354,column:9}},"117":{start:{line:328,column:25},end:{line:328,column:51}},"118":{start:{line:329,column:12},end:{line:350,column:13}},"119":{start:{line:330,column:34},end:{line:330,column:56}},"120":{start:{line:331,column:40},end:{line:331,column:73}},"121":{start:{line:332,column:16},end:{line:345,column:17}},"122":{start:{line:334,column:24},end:{line:334,column:117}},"123":{start:{line:335,column:24},end:{line:335,column:111}},"124":{start:{line:337,column:24},end:{line:337,column:110}},"125":{start:{line:338,column:24},end:{line:338,column:102}},"126":{start:{line:340,column:24},end:{line:340,column:117}},"127":{start:{line:341,column:24},end:{line:341,column:111}},"128":{start:{line:343,column:24},end:{line:343,column:118}},"129":{start:{line:344,column:24},end:{line:344,column:110}},"130":{start:{line:346,column:16},end:{line:346,column:60}},"131":{start:{line:349,column:16},end:{line:349,column:60}},"132":{start:{line:353,column:12},end:{line:353,column:53}},"133":{start:{line:360,column:8},end:{line:389,column:9}},"134":{start:{line:361,column:25},end:{line:361,column:51}},"135":{start:{line:362,column:12},end:{line:385,column:13}},"136":{start:{line:363,column:34},end:{line:363,column:56}},"137":{start:{line:364,column:40},end:{line:364,column:73}},"138":{start:{line:366,column:43},end:{line:366,column:163}},"139":{start:{line:367,column:16},end:{line:380,column:17}},"140":{start:{line:369,column:24},end:{line:369,column:116}},"141":{start:{line:370,column:24},end:{line:370,column:109}},"142":{start:{line:372,column:24},end:{line:372,column:120}},"143":{start:{line:373,column:24},end:{line:373,column:113}},"144":{start:{line:375,column:24},end:{line:375,column:108}},"145":{start:{line:376,column:24},end:{line:376,column:101}},"146":{start:{line:378,column:24},end:{line:378,column:116}},"147":{start:{line:379,column:24},end:{line:379,column:111}},"148":{start:{line:381,column:16},end:{line:381,column:128}},"149":{start:{line:384,column:16},end:{line:384,column:60}},"150":{start:{line:388,column:12},end:{line:388,column:52}},"151":{start:{line:397,column:8},end:{line:399,column:9}},"152":{start:{line:398,column:12},end:{line:398,column:37}},"153":{start:{line:400,column:28},end:{line:400,column:73}},"154":{start:{line:401,column:21},end:{line:401,column:38}},"155":{start:{line:402,column:8},end:{line:402,column:36}},"156":{start:{line:411,column:8},end:{line:413,column:9}},"157":{start:{line:412,column:12},end:{line:412,column:21}},"158":{start:{line:414,column:28},end:{line:414,column:74}},"159":{start:{line:415,column:8},end:{line:415,column:47}},"160":{start:{line:417,column:13},end:{line:417,column:236}},"161":{start:{line:418,column:13},end:{line:418,column:422}},"162":{start:{line:421,column:0},end:{line:435,column:20}},"163":{start:{line:423,column:42},end:{line:423,column:107}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:23,column:4},end:{line:23,column:5}},loc:{start:{line:23,column:28},end:{line:65,column:5}},line:23},"1":{name:"(anonymous_1)",decl:{start:{line:33,column:31},end:{line:33,column:32}},loc:{start:{line:33,column:37},end:{line:42,column:9}},line:33},"2":{name:"(anonymous_2)",decl:{start:{line:38,column:23},end:{line:38,column:24}},loc:{start:{line:38,column:29},end:{line:41,column:13}},line:38},"3":{name:"(anonymous_3)",decl:{start:{line:71,column:4},end:{line:71,column:5}},loc:{start:{line:71,column:26},end:{line:73,column:5}},line:71},"4":{name:"(anonymous_4)",decl:{start:{line:77,column:4},end:{line:77,column:5}},loc:{start:{line:77,column:25},end:{line:84,column:5}},line:77},"5":{name:"(anonymous_5)",decl:{start:{line:88,column:4},end:{line:88,column:5}},loc:{start:{line:88,column:21},end:{line:90,column:5}},line:88},"6":{name:"(anonymous_6)",decl:{start:{line:91,column:4},end:{line:91,column:5}},loc:{start:{line:91,column:18},end:{line:93,column:5}},line:91},"7":{name:"(anonymous_7)",decl:{start:{line:99,column:4},end:{line:99,column:5}},loc:{start:{line:99,column:25},end:{line:144,column:5}},line:99},"8":{name:"(anonymous_8)",decl:{start:{line:148,column:4},end:{line:148,column:5}},loc:{start:{line:148,column:18},end:{line:151,column:5}},line:148},"9":{name:"(anonymous_9)",decl:{start:{line:155,column:4},end:{line:155,column:5}},loc:{start:{line:155,column:23},end:{line:157,column:5}},line:155},"10":{name:"(anonymous_10)",decl:{start:{line:161,column:4},end:{line:161,column:5}},loc:{start:{line:161,column:18},end:{line:169,column:5}},line:161},"11":{name:"(anonymous_11)",decl:{start:{line:164,column:19},end:{line:164,column:20}},loc:{start:{line:164,column:25},end:{line:168,column:9}},line:164},"12":{name:"(anonymous_12)",decl:{start:{line:173,column:4},end:{line:173,column:5}},loc:{start:{line:173,column:23},end:{line:180,column:5}},line:173},"13":{name:"(anonymous_13)",decl:{start:{line:184,column:4},end:{line:184,column:5}},loc:{start:{line:184,column:22},end:{line:191,column:5}},line:184},"14":{name:"(anonymous_14)",decl:{start:{line:195,column:4},end:{line:195,column:5}},loc:{start:{line:195,column:25},end:{line:201,column:5}},line:195},"15":{name:"(anonymous_15)",decl:{start:{line:205,column:4},end:{line:205,column:5}},loc:{start:{line:205,column:16},end:{line:212,column:5}},line:205},"16":{name:"(anonymous_16)",decl:{start:{line:216,column:4},end:{line:216,column:5}},loc:{start:{line:216,column:18},end:{line:223,column:5}},line:216},"17":{name:"(anonymous_17)",decl:{start:{line:227,column:4},end:{line:227,column:5}},loc:{start:{line:227,column:15},end:{line:234,column:5}},line:227},"18":{name:"(anonymous_18)",decl:{start:{line:240,column:4},end:{line:240,column:5}},loc:{start:{line:240,column:18},end:{line:256,column:5}},line:240},"19":{name:"(anonymous_19)",decl:{start:{line:262,column:4},end:{line:262,column:5}},loc:{start:{line:262,column:26},end:{line:278,column:5}},line:262},"20":{name:"(anonymous_20)",decl:{start:{line:282,column:4},end:{line:282,column:5}},loc:{start:{line:282,column:21},end:{line:285,column:5}},line:282},"21":{name:"(anonymous_21)",decl:{start:{line:289,column:4},end:{line:289,column:5}},loc:{start:{line:289,column:24},end:{line:322,column:5}},line:289},"22":{name:"(anonymous_22)",decl:{start:{line:326,column:4},end:{line:326,column:5}},loc:{start:{line:326,column:22},end:{line:355,column:5}},line:326},"23":{name:"(anonymous_23)",decl:{start:{line:359,column:4},end:{line:359,column:5}},loc:{start:{line:359,column:21},end:{line:390,column:5}},line:359},"24":{name:"(anonymous_24)",decl:{start:{line:396,column:4},end:{line:396,column:5}},loc:{start:{line:396,column:32},end:{line:403,column:5}},line:396},"25":{name:"(anonymous_25)",decl:{start:{line:409,column:4},end:{line:409,column:5}},loc:{start:{line:409,column:32},end:{line:416,column:5}},line:409},"26":{name:"(anonymous_26)",decl:{start:{line:423,column:28},end:{line:423,column:29}},loc:{start:{line:423,column:40},end:{line:423,column:109}},line:423}},branchMap:{"0":{loc:{start:{line:35,column:12},end:{line:37,column:13}},type:"if",locations:[{start:{line:35,column:12},end:{line:37,column:13}},{start:{line:35,column:12},end:{line:37,column:13}}],line:35},"1":{loc:{start:{line:78,column:8},end:{line:80,column:9}},type:"if",locations:[{start:{line:78,column:8},end:{line:80,column:9}},{start:{line:78,column:8},end:{line:80,column:9}}],line:78},"2":{loc:{start:{line:102,column:8},end:{line:105,column:9}},type:"if",locations:[{start:{line:102,column:8},end:{line:105,column:9}},{start:{line:102,column:8},end:{line:105,column:9}}],line:102},"3":{loc:{start:{line:102,column:12},end:{line:103,column:50}},type:"binary-expr",locations:[{start:{line:102,column:12},end:{line:102,column:51}},{start:{line:103,column:12},end:{line:103,column:50}}],line:102},"4":{loc:{start:{line:107,column:8},end:{line:110,column:9}},type:"if",locations:[{start:{line:107,column:8},end:{line:110,column:9}},{start:{line:107,column:8},end:{line:110,column:9}}],line:107},"5":{loc:{start:{line:107,column:12},end:{line:108,column:48}},type:"binary-expr",locations:[{start:{line:107,column:12},end:{line:107,column:49}},{start:{line:108,column:12},end:{line:108,column:48}}],line:107},"6":{loc:{start:{line:112,column:8},end:{line:115,column:9}},type:"if",locations:[{start:{line:112,column:8},end:{line:115,column:9}},{start:{line:112,column:8},end:{line:115,column:9}}],line:112},"7":{loc:{start:{line:112,column:12},end:{line:113,column:49}},type:"binary-expr",locations:[{start:{line:112,column:12},end:{line:112,column:50}},{start:{line:113,column:12},end:{line:113,column:49}}],line:112},"8":{loc:{start:{line:117,column:8},end:{line:120,column:9}},type:"if",locations:[{start:{line:117,column:8},end:{line:120,column:9}},{start:{line:117,column:8},end:{line:120,column:9}}],line:117},"9":{loc:{start:{line:117,column:12},end:{line:118,column:51}},type:"binary-expr",locations:[{start:{line:117,column:12},end:{line:117,column:52}},{start:{line:118,column:12},end:{line:118,column:51}}],line:117},"10":{loc:{start:{line:122,column:8},end:{line:143,column:9}},type:"if",locations:[{start:{line:122,column:8},end:{line:143,column:9}},{start:{line:122,column:8},end:{line:143,column:9}}],line:122},"11":{loc:{start:{line:124,column:12},end:{line:126,column:13}},type:"if",locations:[{start:{line:124,column:12},end:{line:126,column:13}},{start:{line:124,column:12},end:{line:126,column:13}}],line:124},"12":{loc:{start:{line:128,column:12},end:{line:130,column:13}},type:"if",locations:[{start:{line:128,column:12},end:{line:130,column:13}},{start:{line:128,column:12},end:{line:130,column:13}}],line:128},"13":{loc:{start:{line:132,column:12},end:{line:134,column:13}},type:"if",locations:[{start:{line:132,column:12},end:{line:134,column:13}},{start:{line:132,column:12},end:{line:134,column:13}}],line:132},"14":{loc:{start:{line:136,column:12},end:{line:138,column:13}},type:"if",locations:[{start:{line:136,column:12},end:{line:138,column:13}},{start:{line:136,column:12},end:{line:138,column:13}}],line:136},"15":{loc:{start:{line:174,column:8},end:{line:179,column:9}},type:"if",locations:[{start:{line:174,column:8},end:{line:179,column:9}},{start:{line:174,column:8},end:{line:179,column:9}}],line:174},"16":{loc:{start:{line:175,column:19},end:{line:175,column:90}},type:"binary-expr",locations:[{start:{line:175,column:19},end:{line:175,column:85}},{start:{line:175,column:89},end:{line:175,column:90}}],line:175},"17":{loc:{start:{line:185,column:8},end:{line:190,column:9}},type:"if",locations:[{start:{line:185,column:8},end:{line:190,column:9}},{start:{line:185,column:8},end:{line:190,column:9}}],line:185},"18":{loc:{start:{line:197,column:8},end:{line:199,column:9}},type:"if",locations:[{start:{line:197,column:8},end:{line:199,column:9}},{start:{line:197,column:8},end:{line:199,column:9}}],line:197},"19":{loc:{start:{line:207,column:8},end:{line:209,column:9}},type:"if",locations:[{start:{line:207,column:8},end:{line:209,column:9}},{start:{line:207,column:8},end:{line:209,column:9}}],line:207},"20":{loc:{start:{line:220,column:8},end:{line:222,column:9}},type:"if",locations:[{start:{line:220,column:8},end:{line:222,column:9}},{start:{line:220,column:8},end:{line:222,column:9}}],line:220},"21":{loc:{start:{line:231,column:8},end:{line:233,column:9}},type:"if",locations:[{start:{line:231,column:8},end:{line:233,column:9}},{start:{line:231,column:8},end:{line:233,column:9}}],line:231},"22":{loc:{start:{line:242,column:8},end:{line:244,column:9}},type:"if",locations:[{start:{line:242,column:8},end:{line:244,column:9}},{start:{line:242,column:8},end:{line:244,column:9}}],line:242},"23":{loc:{start:{line:245,column:8},end:{line:247,column:9}},type:"if",locations:[{start:{line:245,column:8},end:{line:247,column:9}},{start:{line:245,column:8},end:{line:247,column:9}}],line:245},"24":{loc:{start:{line:248,column:8},end:{line:250,column:9}},type:"if",locations:[{start:{line:248,column:8},end:{line:250,column:9}},{start:{line:248,column:8},end:{line:250,column:9}}],line:248},"25":{loc:{start:{line:251,column:8},end:{line:253,column:9}},type:"if",locations:[{start:{line:251,column:8},end:{line:253,column:9}},{start:{line:251,column:8},end:{line:253,column:9}}],line:251},"26":{loc:{start:{line:264,column:8},end:{line:266,column:9}},type:"if",locations:[{start:{line:264,column:8},end:{line:266,column:9}},{start:{line:264,column:8},end:{line:266,column:9}}],line:264},"27":{loc:{start:{line:264,column:12},end:{line:264,column:81}},type:"binary-expr",locations:[{start:{line:264,column:12},end:{line:264,column:46}},{start:{line:264,column:50},end:{line:264,column:81}}],line:264},"28":{loc:{start:{line:267,column:8},end:{line:269,column:9}},type:"if",locations:[{start:{line:267,column:8},end:{line:269,column:9}},{start:{line:267,column:8},end:{line:269,column:9}}],line:267},"29":{loc:{start:{line:267,column:12},end:{line:267,column:77}},type:"binary-expr",locations:[{start:{line:267,column:12},end:{line:267,column:44}},{start:{line:267,column:48},end:{line:267,column:77}}],line:267},"30":{loc:{start:{line:270,column:8},end:{line:272,column:9}},type:"if",locations:[{start:{line:270,column:8},end:{line:272,column:9}},{start:{line:270,column:8},end:{line:272,column:9}}],line:270},"31":{loc:{start:{line:270,column:12},end:{line:270,column:79}},type:"binary-expr",locations:[{start:{line:270,column:12},end:{line:270,column:45}},{start:{line:270,column:49},end:{line:270,column:79}}],line:270},"32":{loc:{start:{line:273,column:8},end:{line:276,column:9}},type:"if",locations:[{start:{line:273,column:8},end:{line:276,column:9}},{start:{line:273,column:8},end:{line:276,column:9}}],line:273},"33":{loc:{start:{line:273,column:12},end:{line:274,column:44}},type:"binary-expr",locations:[{start:{line:273,column:12},end:{line:273,column:47}},{start:{line:274,column:12},end:{line:274,column:44}}],line:273},"34":{loc:{start:{line:291,column:8},end:{line:293,column:9}},type:"if",locations:[{start:{line:291,column:8},end:{line:293,column:9}},{start:{line:291,column:8},end:{line:293,column:9}}],line:291},"35":{loc:{start:{line:305,column:8},end:{line:308,column:9}},type:"if",locations:[{start:{line:305,column:8},end:{line:308,column:9}},{start:{line:305,column:8},end:{line:308,column:9}}],line:305},"36":{loc:{start:{line:305,column:12},end:{line:305,column:56}},type:"binary-expr",locations:[{start:{line:305,column:12},end:{line:305,column:21}},{start:{line:305,column:25},end:{line:305,column:37}},{start:{line:305,column:41},end:{line:305,column:56}}],line:305},"37":{loc:{start:{line:309,column:8},end:{line:312,column:9}},type:"if",locations:[{start:{line:309,column:8},end:{line:312,column:9}},{start:{line:309,column:8},end:{line:312,column:9}}],line:309},"38":{loc:{start:{line:309,column:12},end:{line:309,column:57}},type:"binary-expr",locations:[{start:{line:309,column:12},end:{line:309,column:22}},{start:{line:309,column:26},end:{line:309,column:38}},{start:{line:309,column:42},end:{line:309,column:57}}],line:309},"39":{loc:{start:{line:313,column:8},end:{line:316,column:9}},type:"if",locations:[{start:{line:313,column:8},end:{line:316,column:9}},{start:{line:313,column:8},end:{line:316,column:9}}],line:313},"40":{loc:{start:{line:313,column:12},end:{line:313,column:55}},type:"binary-expr",locations:[{start:{line:313,column:12},end:{line:313,column:20}},{start:{line:313,column:24},end:{line:313,column:37}},{start:{line:313,column:41},end:{line:313,column:55}}],line:313},"41":{loc:{start:{line:317,column:8},end:{line:320,column:9}},type:"if",locations:[{start:{line:317,column:8},end:{line:320,column:9}},{start:{line:317,column:8},end:{line:320,column:9}}],line:317},"42":{loc:{start:{line:317,column:12},end:{line:317,column:58}},type:"binary-expr",locations:[{start:{line:317,column:12},end:{line:317,column:23}},{start:{line:317,column:27},end:{line:317,column:40}},{start:{line:317,column:44},end:{line:317,column:58}}],line:317},"43":{loc:{start:{line:327,column:8},end:{line:354,column:9}},type:"if",locations:[{start:{line:327,column:8},end:{line:354,column:9}},{start:{line:327,column:8},end:{line:354,column:9}}],line:327},"44":{loc:{start:{line:327,column:12},end:{line:327,column:63}},type:"binary-expr",locations:[{start:{line:327,column:12},end:{line:327,column:33}},{start:{line:327,column:37},end:{line:327,column:63}}],line:327},"45":{loc:{start:{line:329,column:12},end:{line:350,column:13}},type:"if",locations:[{start:{line:329,column:12},end:{line:350,column:13}},{start:{line:329,column:12},end:{line:350,column:13}}],line:329},"46":{loc:{start:{line:332,column:16},end:{line:345,column:17}},type:"switch",locations:[{start:{line:333,column:20},end:{line:335,column:111}},{start:{line:336,column:20},end:{line:338,column:102}},{start:{line:339,column:20},end:{line:341,column:111}},{start:{line:342,column:20},end:{line:344,column:110}}],line:332},"47":{loc:{start:{line:360,column:8},end:{line:389,column:9}},type:"if",locations:[{start:{line:360,column:8},end:{line:389,column:9}},{start:{line:360,column:8},end:{line:389,column:9}}],line:360},"48":{loc:{start:{line:360,column:12},end:{line:360,column:63}},type:"binary-expr",locations:[{start:{line:360,column:12},end:{line:360,column:33}},{start:{line:360,column:37},end:{line:360,column:63}}],line:360},"49":{loc:{start:{line:362,column:12},end:{line:385,column:13}},type:"if",locations:[{start:{line:362,column:12},end:{line:385,column:13}},{start:{line:362,column:12},end:{line:385,column:13}}],line:362},"50":{loc:{start:{line:367,column:16},end:{line:380,column:17}},type:"switch",locations:[{start:{line:368,column:20},end:{line:370,column:109}},{start:{line:371,column:20},end:{line:373,column:113}},{start:{line:374,column:20},end:{line:376,column:101}},{start:{line:377,column:20},end:{line:379,column:111}}],line:367},"51":{loc:{start:{line:397,column:8},end:{line:399,column:9}},type:"if",locations:[{start:{line:397,column:8},end:{line:399,column:9}},{start:{line:397,column:8},end:{line:399,column:9}}],line:397},"52":{loc:{start:{line:411,column:8},end:{line:413,column:9}},type:"if",locations:[{start:{line:411,column:8},end:{line:413,column:9}},{start:{line:411,column:8},end:{line:413,column:9}}],line:411}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0,0],"37":[0,0],"38":[0,0,0],"39":[0,0],"40":[0,0,0],"41":[0,0],"42":[0,0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0,0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0,0,0],"51":[0,0],"52":[0,0]},inputSourceMap:{version:3,file:"tooltip.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/tooltip/tooltip.ts"],names:[],mappings:"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",sourcesContent:["import {\r\n AfterViewChecked,\r\n ChangeDetectorRef,\r\n Directive,\r\n DoCheck,\r\n ElementRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { convertToBoolean } from '../../utilities/convertion';\r\nimport { TooltipPosition } from '../../utilities/enums';\r\n\r\n/**\r\n * Tooltip Component\r\n *\r\n * Requires the following identifiers in the HTML markup\r\n * - container: Container for ng-content in which the element is displayed where the tooltip is attached.\r\n * - tooltip: Container for tooltip\r\n *\r\n * Tooltip must be displayed in 2 steps. In a first step the tooltip markup is created with (ngIf). In a 2nd step\r\n * the tooltip can then be displayed via the CSS visibility. If this is not done, it can lead to a flickering effect in certain browsers.\r\n *\r\n */\r\n@Directive()\r\nexport abstract class SacTooltipCommon implements OnInit, OnDestroy, AfterViewChecked, DoCheck {\r\n // #region Properties\r\n\r\n /**\r\n * Inline mode for tooltip\r\n */\r\n private _inlinemode: boolean;\r\n /**\r\n * Defines whether the tooltip is visible\r\n */\r\n private _isTooltipVisible: boolean = false;\r\n /**\r\n * method if content has changed and proportions need to be reset in the UI.\r\n */\r\n private readonly onContentChange = (): void => {\r\n // Do nothing if is not visible\r\n if (!this._isTooltipVisible) {\r\n return;\r\n }\r\n\r\n setTimeout(() => {\r\n this.getLeftPosition();\r\n this.getTopPosition();\r\n });\r\n };\r\n /**\r\n * Containers for the tooltip\r\n */\r\n private tooltipcontainer: ElementRef<HTMLElement>;\r\n\r\n /**\r\n * Position of the tooltip. Values: left|top|right|bottom|auto\r\n *\r\n * Value 'auto' can be combined with another value.\r\n */\r\n @Input()\r\n public position: string = 'right|auto';\r\n /**\r\n * Text for ToolTip\r\n */\r\n @Input()\r\n public tooltiptext: string;\r\n /**\r\n * Name of the container for content (e.g. icon) on which the tooltip is displayed.\r\n */\r\n @ViewChild('container', { static: true })\r\n public content: ElementRef<HTMLElement>;\r\n\r\n /**\r\n * Position of the tooltip on the left\r\n */\r\n public IsTooltipContentVisible: boolean = false;\r\n /**\r\n * Position des Tooltips links\r\n */\r\n public LeftPos: number = 0;\r\n /**\r\n * Property for enum in Angular HTML template\r\n */\r\n public TooltipPosition = TooltipPosition;\r\n /**\r\n * Position of the tooltip at the top\r\n */\r\n public TopPos: number = 0;\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Konstruktor\r\n * @param ref Element Referenz\r\n */\r\n constructor(private readonly cdRef: ChangeDetectorRef, private readonly ref: ElementRef) { }\r\n\r\n // #endregion Constructors\r\n\r\n // #region Public Getters And Setters\r\n\r\n /**\r\n * Setter for inline mode for tooltip\r\n */\r\n @Input()\r\n public set inlinemode(value: boolean) {\r\n this._inlinemode = convertToBoolean(value);\r\n }\r\n\r\n /**\r\n * Setter for the name of the container for the tooltip. Is required as the tooltip can be hidden via ngIf.\r\n */\r\n @ViewChild('tooltip', { static: false })\r\n public set tooltip(content: ElementRef) {\r\n if (content !== undefined) {\r\n document.body.appendChild(content.nativeElement);\r\n }\r\n\r\n this.tooltipcontainer = content;\r\n this.onContentChange();\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n /**\r\n * Property for inline mode for tooltip. Sets the display mode on the wrapper element to `inline`\r\n */\r\n public get inlinemode(): boolean {\r\n return this._inlinemode;\r\n }\r\n\r\n public get tooltop(): ElementRef {\r\n return this.tooltipcontainer;\r\n }\r\n\r\n // #endregion Public Getters And Setters\r\n\r\n // #region Public Methods\r\n\r\n /**\r\n * Returns the position of the tooltip\r\n */\r\n public GetTooltipPosition(): TooltipPosition {\r\n const validPositions: TooltipPosition = this.ValidatePositions();\r\n\r\n // tslint:disable-next-line:no-bitwise\r\n if (\r\n this.HasPosition(TooltipPosition.right) &&\r\n validPositions & TooltipPosition.right\r\n ) {\r\n return TooltipPosition.right;\r\n }\r\n\r\n // tslint:disable-next-line:no-bitwise\r\n if (\r\n this.HasPosition(TooltipPosition.top) &&\r\n validPositions & TooltipPosition.top\r\n ) {\r\n return TooltipPosition.top;\r\n }\r\n\r\n // tslint:disable-next-line:no-bitwise\r\n if (\r\n this.HasPosition(TooltipPosition.left) &&\r\n validPositions & TooltipPosition.left\r\n ) {\r\n return TooltipPosition.left;\r\n }\r\n\r\n // tslint:disable-next-line:no-bitwise\r\n if (\r\n this.HasPosition(TooltipPosition.bottom) &&\r\n validPositions & TooltipPosition.bottom\r\n ) {\r\n return TooltipPosition.bottom;\r\n }\r\n\r\n // Get Auto Position or Default\r\n if (this.IsAutoPosition()) {\r\n // tslint:disable-next-line:no-bitwise\r\n if (validPositions & TooltipPosition.right) {\r\n return TooltipPosition.right;\r\n }\r\n\r\n // tslint:disable-next-line:no-bitwise\r\n if (validPositions & TooltipPosition.top) {\r\n return TooltipPosition.top;\r\n }\r\n\r\n // tslint:disable-next-line:no-bitwise\r\n if (validPositions & TooltipPosition.left) {\r\n return TooltipPosition.left;\r\n }\r\n\r\n // tslint:disable-next-line:no-bitwise\r\n if (validPositions & TooltipPosition.bottom) {\r\n return TooltipPosition.bottom;\r\n }\r\n\r\n return TooltipPosition.right;\r\n } else {\r\n return this.GetPosition();\r\n }\r\n }\r\n\r\n /**\r\n * Hide tooltip\r\n */\r\n public HideTooltip(): void {\r\n this._isTooltipVisible = false;\r\n this.IsTooltipContentVisible = false;\r\n }\r\n\r\n /**\r\n * Defines whether the tooltip is present in the markup\r\n */\r\n public IsTooltipVisible(): boolean {\r\n return this._isTooltipVisible;\r\n }\r\n\r\n /**\r\n * Show tooltip\r\n */\r\n public ShowTooltip(): void {\r\n this._isTooltipVisible = true;\r\n this.cdRef.detectChanges();\r\n\r\n setTimeout(() => {\r\n this.getLeftPosition();\r\n this.getTopPosition();\r\n this.IsTooltipContentVisible = true;\r\n });\r\n }\r\n\r\n /**\r\n * Calculates the height of the tooltip\r\n */\r\n public getToolTipHeight(): number {\r\n if (this.tooltipcontainer) {\r\n return this.tooltipcontainer.nativeElement.firstElementChild.clientHeight ?? 0;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n /**\r\n * Calculates the width of the tooltips\r\n */\r\n public getToolTipWidth(): number {\r\n if (this.tooltipcontainer) {\r\n return this.tooltipcontainer.nativeElement.firstElementChild.clientWidth;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n /**\r\n * Detect Changes after view checked. Prevent ExpressionChangedAfterItHasBeenCheckedError error\r\n */\r\n public ngAfterViewChecked(): void {\r\n // Do nothing if is not visibile\r\n if (!this._isTooltipVisible) {\r\n return;\r\n }\r\n\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n /**\r\n * Detect UI Changes to Calculate Tooltip correct\r\n */\r\n public ngDoCheck(): void {\r\n // Do nothing if is not visibile\r\n if (!this._isTooltipVisible) {\r\n return;\r\n }\r\n\r\n this.getLeftPosition();\r\n this.getTopPosition();\r\n }\r\n\r\n /**\r\n * Event when the control is destroyed.\r\n */\r\n public ngOnDestroy() {\r\n // Unregister Event Listener\r\n window.removeEventListener('scroll', this.onContentChange, true);\r\n window.removeEventListener('resize', this.onContentChange, true);\r\n\r\n if (this.tooltipcontainer !== undefined) {\r\n document.body.removeChild(this.tooltipcontainer.nativeElement);\r\n }\r\n }\r\n\r\n /**\r\n * Event when the control is initialized\r\n */\r\n public ngOnInit() {\r\n // Register Event Listener\r\n window.addEventListener('scroll', this.onContentChange, true);\r\n window.addEventListener('resize', this.onContentChange, true);\r\n\r\n if (this.tooltipcontainer !== undefined) {\r\n document.body.appendChild(this.tooltipcontainer.nativeElement);\r\n }\r\n }\r\n\r\n // #endregion Public Methods\r\n\r\n // #region Protected Abstract Methods\r\n\r\n /**\r\n * Offset for Tooltip. Required for BS4/BS5 to create padding\r\n */\r\n protected abstract getTooltipOffset(): number;\r\n\r\n // #endregion Protected Abstract Methods\r\n\r\n // #region Private Methods\r\n\r\n /**\r\n * Returns the defined position for the tooltip\r\n */\r\n private GetPosition(): TooltipPosition {\r\n const positions = this.position.split('|');\r\n\r\n if (this.HasPosition(TooltipPosition.left)) {\r\n return TooltipPosition.left;\r\n }\r\n\r\n if (this.HasPosition(TooltipPosition.top)) {\r\n return TooltipPosition.top;\r\n }\r\n\r\n if (this.HasPosition(TooltipPosition.right)) {\r\n return TooltipPosition.right;\r\n }\r\n\r\n if (this.HasPosition(TooltipPosition.bottom)) {\r\n return TooltipPosition.bottom;\r\n }\r\n\r\n // Default Position if empty\r\n return TooltipPosition.right;\r\n }\r\n\r\n /**\r\n * Returns whether the position has been configured\r\n *\r\n * @param position Position to be checked\r\n */\r\n private HasPosition(position: TooltipPosition): boolean {\r\n const positions = this.position.split('|');\r\n\r\n if (position === TooltipPosition.right && positions.indexOf('right') >= 0) {\r\n return true;\r\n }\r\n\r\n if (position === TooltipPosition.top && positions.indexOf('top') >= 0) {\r\n return true;\r\n }\r\n\r\n if (position === TooltipPosition.left && positions.indexOf('left') >= 0) {\r\n return true;\r\n }\r\n\r\n if (\r\n position === TooltipPosition.bottom &&\r\n positions.indexOf('bottom') >= 0\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Defines whether AutoPosition is active\r\n */\r\n private IsAutoPosition(): boolean {\r\n const positions = this.position.split('|');\r\n return positions.indexOf('auto') >= 0;\r\n }\r\n\r\n /**\r\n * Checks whether the position is valid or whether the tooltip on the position has space\r\n */\r\n private ValidatePositions(): TooltipPosition {\r\n // Check if Container is false\r\n if (this.tooltipcontainer === undefined) {\r\n return TooltipPosition.right;\r\n }\r\n\r\n let allowedPositions: TooltipPosition = TooltipPosition.none;\r\n const basePosition: DOMRect = this.content.nativeElement.firstElementChild.getBoundingClientRect();\r\n const tooltipRect: DOMRect = this.tooltipcontainer.nativeElement.firstElementChild.getBoundingClientRect();\r\n\r\n const leftPosOk: boolean = basePosition.left - tooltipRect.width + (this.getTooltipOffset() * -1) > 0;\r\n const rightPosOk: boolean = basePosition.right + tooltipRect.width + this.getTooltipOffset() < window.innerWidth;\r\n const topPosOk: boolean = basePosition.top - tooltipRect.height > 0;\r\n const bottomPosOk: boolean = basePosition.bottom + tooltipRect.height < window.innerHeight;\r\n\r\n const leftHalfPosOk: boolean = basePosition.left - tooltipRect.width / 2 > 0;\r\n const rightHalfPosOk: boolean = basePosition.right + tooltipRect.width / 2 < window.innerWidth;\r\n const topHalfPosOk: boolean = basePosition.top - tooltipRect.height / 2 > 0;\r\n const bottomHalfPosOk: boolean = basePosition.bottom + tooltipRect.height / 2 < window.innerHeight;\r\n\r\n if (leftPosOk && topHalfPosOk && bottomHalfPosOk) {\r\n // tslint:disable-next-line:no-bitwise\r\n allowedPositions = allowedPositions | TooltipPosition.left;\r\n }\r\n\r\n if (rightPosOk && topHalfPosOk && bottomHalfPosOk) {\r\n // tslint:disable-next-line:no-bitwise\r\n allowedPositions = allowedPositions | TooltipPosition.right;\r\n }\r\n\r\n if (topPosOk && leftHalfPosOk && rightHalfPosOk) {\r\n // tslint:disable-next-line:no-bitwise\r\n allowedPositions = allowedPositions | TooltipPosition.top;\r\n }\r\n\r\n if (bottomPosOk && leftHalfPosOk && rightHalfPosOk) {\r\n // tslint:disable-next-line:no-bitwise\r\n allowedPositions = allowedPositions | TooltipPosition.bottom;\r\n }\r\n\r\n return allowedPositions;\r\n }\r\n\r\n /**\r\n * Calculates the position of the tooltip from links\r\n */\r\n private getLeftPosition(): number {\r\n if (this.content !== null && this.content !== undefined) {\r\n const item = this.content.nativeElement;\r\n\r\n if (item.children.length >= 1) {\r\n const childItem = item.firstElementChild as HTMLElement;\r\n const contentPosition: DOMRect = childItem.getBoundingClientRect();\r\n\r\n switch (this.GetTooltipPosition()) {\r\n case TooltipPosition.top:\r\n this.LeftPos = contentPosition.left + contentPosition.width / 2 - this.getToolTipWidth() / 2;\r\n return (contentPosition.left + contentPosition.width / 2 - this.getToolTipWidth() / 2\r\n );\r\n case TooltipPosition.right:\r\n this.LeftPos = contentPosition.left + contentPosition.width + this.getTooltipOffset();\r\n return contentPosition.left + contentPosition.width + this.getTooltipOffset();\r\n case TooltipPosition.bottom:\r\n this.LeftPos = contentPosition.left + contentPosition.width / 2 - this.getToolTipWidth() / 2;\r\n return (contentPosition.left + contentPosition.width / 2 - this.getToolTipWidth() / 2);\r\n case TooltipPosition.left:\r\n this.LeftPos = contentPosition.left - this.getToolTipWidth() + (this.getTooltipOffset() * -1);\r\n return contentPosition.left - this.getToolTipWidth() + (this.getTooltipOffset() * -1);\r\n }\r\n\r\n return this.content.nativeElement.offsetTop;\r\n } else {\r\n return this.content.nativeElement.offsetTop;\r\n }\r\n } else {\r\n return this.ref.nativeElement.offsetLeft;\r\n }\r\n }\r\n\r\n /**\r\n * Calculates the position of the tooltip from the top\r\n */\r\n private getTopPosition(): number {\r\n if (this.content !== null && this.content !== undefined) {\r\n const item = this.content.nativeElement;\r\n\r\n if (item.children.length >= 1) {\r\n const childItem = item.firstElementChild as HTMLElement;\r\n const contentPosition: DOMRect = childItem.getBoundingClientRect();\r\n\r\n // Get Position with Scroll (Scrollbars inside page should be substracted)\r\n const contentPositionTop = childItem.offsetTop + this.getOffsetTopParent(childItem.offsetParent as HTMLElement) - this.getScrollTopParent(childItem.parentElement);\r\n\r\n switch (this.GetTooltipPosition()) {\r\n case TooltipPosition.top:\r\n this.TopPos = contentPositionTop - this.getToolTipHeight() + (this.getTooltipOffset() * -1);\r\n return contentPositionTop - this.getToolTipHeight() + (this.getTooltipOffset() * -1);\r\n case TooltipPosition.right:\r\n this.TopPos = contentPositionTop + (contentPosition.height / 2) - (this.getToolTipHeight() / 2);\r\n return contentPositionTop + (contentPosition.height / 2) - (this.getToolTipHeight() / 2);\r\n case TooltipPosition.bottom:\r\n this.TopPos = contentPositionTop + contentPosition.height + this.getTooltipOffset();\r\n return contentPositionTop + contentPosition.height + this.getTooltipOffset();\r\n case TooltipPosition.left:\r\n this.TopPos = contentPositionTop + contentPosition.height / 2 - this.getToolTipHeight() / 2;\r\n return (contentPositionTop + contentPosition.height / 2 - this.getToolTipHeight() / 2);\r\n }\r\n\r\n return (childItem.clientTop + childItem.offsetTop - (this.getToolTipHeight() / 2 - childItem.clientHeight / 2));\r\n } else {\r\n return this.content.nativeElement.offsetTop;\r\n }\r\n } else {\r\n return this.ref.nativeElement.offsetTop;\r\n }\r\n }\r\n\r\n /**\r\n * Calculates the top of the page inside all elements\r\n * @param element HTML Element\r\n * @returns summarized top value for absolute position\r\n */\r\n private getOffsetTopParent(element: HTMLElement): number {\r\n if (!element.offsetParent) {\r\n return element.offsetTop;\r\n }\r\n\r\n const parentValue = this.getOffsetTopParent(element.offsetParent as HTMLElement);\r\n let offset = element.offsetTop;\r\n return parentValue + offset;\r\n }\r\n\r\n /**\r\n * Caclulate Scrollbars inside tree\r\n * @param element HTML Element\r\n * @returns Scroll top value of element with all childs\r\n */\r\n private getScrollTopParent(element: HTMLElement): number {\r\n // Body Scroll should not be calculated\r\n if (!element.parentElement) {\r\n return 0;\r\n }\r\n\r\n const parentValue = this.getScrollTopParent(element.parentElement);\r\n return parentValue + element.scrollTop;\r\n }\r\n\r\n\r\n // #endregion Private Methods\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"e61e69ccd46bf8a0ec71f71dbb684f08c038f8e8"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_vnuuxsm2m=function(){return actualCoverage;};}return actualCoverage;}cov_vnuuxsm2m();import{Directive,Input,ViewChild}from'@angular/core';import{convertToBoolean}from'../../utilities/convertion';import{TooltipPosition}from'../../utilities/enums';import*as i0 from"@angular/core";/**
3
+ * Tooltip Component
4
+ *
5
+ * Requires the following identifiers in the HTML markup
6
+ * - container: Container for ng-content in which the element is displayed where the tooltip is attached.
7
+ * - tooltip: Container for tooltip
8
+ *
9
+ * Tooltip must be displayed in 2 steps. In a first step the tooltip markup is created with (ngIf). In a 2nd step
10
+ * the tooltip can then be displayed via the CSS visibility. If this is not done, it can lead to a flickering effect in certain browsers.
11
+ *
12
+ */class SacTooltipCommon{// #endregion Properties
13
+ // #region Constructors
14
+ /**
15
+ * Konstruktor
16
+ * @param ref Element Referenz
17
+ */constructor(cdRef,ref){cov_vnuuxsm2m().f[0]++;cov_vnuuxsm2m().s[0]++;this.cdRef=cdRef;cov_vnuuxsm2m().s[1]++;this.ref=ref;/**
18
+ * Defines whether the tooltip is visible
19
+ */cov_vnuuxsm2m().s[2]++;this._isTooltipVisible=false;/**
20
+ * method if content has changed and proportions need to be reset in the UI.
21
+ */cov_vnuuxsm2m().s[3]++;this.onContentChange=()=>{cov_vnuuxsm2m().f[1]++;cov_vnuuxsm2m().s[4]++;// Do nothing if is not visible
22
+ if(!this._isTooltipVisible){cov_vnuuxsm2m().b[0][0]++;cov_vnuuxsm2m().s[5]++;return;}else{cov_vnuuxsm2m().b[0][1]++;}cov_vnuuxsm2m().s[6]++;setTimeout(()=>{cov_vnuuxsm2m().f[2]++;cov_vnuuxsm2m().s[7]++;this.getLeftPosition();cov_vnuuxsm2m().s[8]++;this.getTopPosition();});};/**
23
+ * Position of the tooltip. Values: left|top|right|bottom|auto
24
+ *
25
+ * Value 'auto' can be combined with another value.
26
+ */cov_vnuuxsm2m().s[9]++;this.position='right|auto';/**
27
+ * Position of the tooltip on the left
28
+ */cov_vnuuxsm2m().s[10]++;this.IsTooltipContentVisible=false;/**
29
+ * Position des Tooltips links
30
+ */cov_vnuuxsm2m().s[11]++;this.LeftPos=0;/**
31
+ * Property for enum in Angular HTML template
32
+ */cov_vnuuxsm2m().s[12]++;this.TooltipPosition=TooltipPosition;/**
33
+ * Position of the tooltip at the top
34
+ */cov_vnuuxsm2m().s[13]++;this.TopPos=0;}// #endregion Constructors
35
+ // #region Public Getters And Setters
36
+ /**
37
+ * Setter for inline mode for tooltip
38
+ */set inlinemode(value){cov_vnuuxsm2m().f[3]++;cov_vnuuxsm2m().s[14]++;this._inlinemode=convertToBoolean(value);}/**
39
+ * Setter for the name of the container for the tooltip. Is required as the tooltip can be hidden via ngIf.
40
+ */set tooltip(content){cov_vnuuxsm2m().f[4]++;cov_vnuuxsm2m().s[15]++;if(content!==undefined){cov_vnuuxsm2m().b[1][0]++;cov_vnuuxsm2m().s[16]++;document.body.appendChild(content.nativeElement);}else{cov_vnuuxsm2m().b[1][1]++;}cov_vnuuxsm2m().s[17]++;this.tooltipcontainer=content;cov_vnuuxsm2m().s[18]++;this.onContentChange();cov_vnuuxsm2m().s[19]++;this.cdRef.detectChanges();}/**
41
+ * Property for inline mode for tooltip. Sets the display mode on the wrapper element to `inline`
42
+ */get inlinemode(){cov_vnuuxsm2m().f[5]++;cov_vnuuxsm2m().s[20]++;return this._inlinemode;}get tooltop(){cov_vnuuxsm2m().f[6]++;cov_vnuuxsm2m().s[21]++;return this.tooltipcontainer;}// #endregion Public Getters And Setters
43
+ // #region Public Methods
44
+ /**
45
+ * Returns the position of the tooltip
46
+ */GetTooltipPosition(){cov_vnuuxsm2m().f[7]++;const validPositions=(cov_vnuuxsm2m().s[22]++,this.ValidatePositions());// tslint:disable-next-line:no-bitwise
47
+ cov_vnuuxsm2m().s[23]++;if((cov_vnuuxsm2m().b[3][0]++,this.HasPosition(TooltipPosition.right))&&(cov_vnuuxsm2m().b[3][1]++,validPositions&TooltipPosition.right)){cov_vnuuxsm2m().b[2][0]++;cov_vnuuxsm2m().s[24]++;return TooltipPosition.right;}else{cov_vnuuxsm2m().b[2][1]++;}// tslint:disable-next-line:no-bitwise
48
+ cov_vnuuxsm2m().s[25]++;if((cov_vnuuxsm2m().b[5][0]++,this.HasPosition(TooltipPosition.top))&&(cov_vnuuxsm2m().b[5][1]++,validPositions&TooltipPosition.top)){cov_vnuuxsm2m().b[4][0]++;cov_vnuuxsm2m().s[26]++;return TooltipPosition.top;}else{cov_vnuuxsm2m().b[4][1]++;}// tslint:disable-next-line:no-bitwise
49
+ cov_vnuuxsm2m().s[27]++;if((cov_vnuuxsm2m().b[7][0]++,this.HasPosition(TooltipPosition.left))&&(cov_vnuuxsm2m().b[7][1]++,validPositions&TooltipPosition.left)){cov_vnuuxsm2m().b[6][0]++;cov_vnuuxsm2m().s[28]++;return TooltipPosition.left;}else{cov_vnuuxsm2m().b[6][1]++;}// tslint:disable-next-line:no-bitwise
50
+ cov_vnuuxsm2m().s[29]++;if((cov_vnuuxsm2m().b[9][0]++,this.HasPosition(TooltipPosition.bottom))&&(cov_vnuuxsm2m().b[9][1]++,validPositions&TooltipPosition.bottom)){cov_vnuuxsm2m().b[8][0]++;cov_vnuuxsm2m().s[30]++;return TooltipPosition.bottom;}else{cov_vnuuxsm2m().b[8][1]++;}// Get Auto Position or Default
51
+ cov_vnuuxsm2m().s[31]++;if(this.IsAutoPosition()){cov_vnuuxsm2m().b[10][0]++;cov_vnuuxsm2m().s[32]++;// tslint:disable-next-line:no-bitwise
52
+ if(validPositions&TooltipPosition.right){cov_vnuuxsm2m().b[11][0]++;cov_vnuuxsm2m().s[33]++;return TooltipPosition.right;}else{cov_vnuuxsm2m().b[11][1]++;}// tslint:disable-next-line:no-bitwise
53
+ cov_vnuuxsm2m().s[34]++;if(validPositions&TooltipPosition.top){cov_vnuuxsm2m().b[12][0]++;cov_vnuuxsm2m().s[35]++;return TooltipPosition.top;}else{cov_vnuuxsm2m().b[12][1]++;}// tslint:disable-next-line:no-bitwise
54
+ cov_vnuuxsm2m().s[36]++;if(validPositions&TooltipPosition.left){cov_vnuuxsm2m().b[13][0]++;cov_vnuuxsm2m().s[37]++;return TooltipPosition.left;}else{cov_vnuuxsm2m().b[13][1]++;}// tslint:disable-next-line:no-bitwise
55
+ cov_vnuuxsm2m().s[38]++;if(validPositions&TooltipPosition.bottom){cov_vnuuxsm2m().b[14][0]++;cov_vnuuxsm2m().s[39]++;return TooltipPosition.bottom;}else{cov_vnuuxsm2m().b[14][1]++;}cov_vnuuxsm2m().s[40]++;return TooltipPosition.right;}else{cov_vnuuxsm2m().b[10][1]++;cov_vnuuxsm2m().s[41]++;return this.GetPosition();}}/**
56
+ * Hide tooltip
57
+ */HideTooltip(){cov_vnuuxsm2m().f[8]++;cov_vnuuxsm2m().s[42]++;this._isTooltipVisible=false;cov_vnuuxsm2m().s[43]++;this.IsTooltipContentVisible=false;}/**
58
+ * Defines whether the tooltip is present in the markup
59
+ */IsTooltipVisible(){cov_vnuuxsm2m().f[9]++;cov_vnuuxsm2m().s[44]++;return this._isTooltipVisible;}/**
60
+ * Show tooltip
61
+ */ShowTooltip(){cov_vnuuxsm2m().f[10]++;cov_vnuuxsm2m().s[45]++;this._isTooltipVisible=true;cov_vnuuxsm2m().s[46]++;this.cdRef.detectChanges();cov_vnuuxsm2m().s[47]++;setTimeout(()=>{cov_vnuuxsm2m().f[11]++;cov_vnuuxsm2m().s[48]++;this.getLeftPosition();cov_vnuuxsm2m().s[49]++;this.getTopPosition();cov_vnuuxsm2m().s[50]++;this.IsTooltipContentVisible=true;});}/**
62
+ * Calculates the height of the tooltip
63
+ */getToolTipHeight(){cov_vnuuxsm2m().f[12]++;cov_vnuuxsm2m().s[51]++;if(this.tooltipcontainer){cov_vnuuxsm2m().b[15][0]++;cov_vnuuxsm2m().s[52]++;return(cov_vnuuxsm2m().b[16][0]++,this.tooltipcontainer.nativeElement.firstElementChild.clientHeight)??(cov_vnuuxsm2m().b[16][1]++,0);}else{cov_vnuuxsm2m().b[15][1]++;cov_vnuuxsm2m().s[53]++;return 0;}}/**
64
+ * Calculates the width of the tooltips
65
+ */getToolTipWidth(){cov_vnuuxsm2m().f[13]++;cov_vnuuxsm2m().s[54]++;if(this.tooltipcontainer){cov_vnuuxsm2m().b[17][0]++;cov_vnuuxsm2m().s[55]++;return this.tooltipcontainer.nativeElement.firstElementChild.clientWidth;}else{cov_vnuuxsm2m().b[17][1]++;cov_vnuuxsm2m().s[56]++;return 0;}}/**
66
+ * Detect Changes after view checked. Prevent ExpressionChangedAfterItHasBeenCheckedError error
67
+ */ngAfterViewChecked(){cov_vnuuxsm2m().f[14]++;cov_vnuuxsm2m().s[57]++;// Do nothing if is not visibile
68
+ if(!this._isTooltipVisible){cov_vnuuxsm2m().b[18][0]++;cov_vnuuxsm2m().s[58]++;return;}else{cov_vnuuxsm2m().b[18][1]++;}cov_vnuuxsm2m().s[59]++;this.cdRef.detectChanges();}/**
69
+ * Detect UI Changes to Calculate Tooltip correct
70
+ */ngDoCheck(){cov_vnuuxsm2m().f[15]++;cov_vnuuxsm2m().s[60]++;// Do nothing if is not visibile
71
+ if(!this._isTooltipVisible){cov_vnuuxsm2m().b[19][0]++;cov_vnuuxsm2m().s[61]++;return;}else{cov_vnuuxsm2m().b[19][1]++;}cov_vnuuxsm2m().s[62]++;this.getLeftPosition();cov_vnuuxsm2m().s[63]++;this.getTopPosition();}/**
72
+ * Event when the control is destroyed.
73
+ */ngOnDestroy(){cov_vnuuxsm2m().f[16]++;cov_vnuuxsm2m().s[64]++;// Unregister Event Listener
74
+ window.removeEventListener('scroll',this.onContentChange,true);cov_vnuuxsm2m().s[65]++;window.removeEventListener('resize',this.onContentChange,true);cov_vnuuxsm2m().s[66]++;if(this.tooltipcontainer!==undefined){cov_vnuuxsm2m().b[20][0]++;cov_vnuuxsm2m().s[67]++;document.body.removeChild(this.tooltipcontainer.nativeElement);}else{cov_vnuuxsm2m().b[20][1]++;}}/**
75
+ * Event when the control is initialized
76
+ */ngOnInit(){cov_vnuuxsm2m().f[17]++;cov_vnuuxsm2m().s[68]++;// Register Event Listener
77
+ window.addEventListener('scroll',this.onContentChange,true);cov_vnuuxsm2m().s[69]++;window.addEventListener('resize',this.onContentChange,true);cov_vnuuxsm2m().s[70]++;if(this.tooltipcontainer!==undefined){cov_vnuuxsm2m().b[21][0]++;cov_vnuuxsm2m().s[71]++;document.body.appendChild(this.tooltipcontainer.nativeElement);}else{cov_vnuuxsm2m().b[21][1]++;}}// #endregion Protected Abstract Methods
78
+ // #region Private Methods
79
+ /**
80
+ * Returns the defined position for the tooltip
81
+ */GetPosition(){cov_vnuuxsm2m().f[18]++;const positions=(cov_vnuuxsm2m().s[72]++,this.position.split('|'));cov_vnuuxsm2m().s[73]++;if(this.HasPosition(TooltipPosition.left)){cov_vnuuxsm2m().b[22][0]++;cov_vnuuxsm2m().s[74]++;return TooltipPosition.left;}else{cov_vnuuxsm2m().b[22][1]++;}cov_vnuuxsm2m().s[75]++;if(this.HasPosition(TooltipPosition.top)){cov_vnuuxsm2m().b[23][0]++;cov_vnuuxsm2m().s[76]++;return TooltipPosition.top;}else{cov_vnuuxsm2m().b[23][1]++;}cov_vnuuxsm2m().s[77]++;if(this.HasPosition(TooltipPosition.right)){cov_vnuuxsm2m().b[24][0]++;cov_vnuuxsm2m().s[78]++;return TooltipPosition.right;}else{cov_vnuuxsm2m().b[24][1]++;}cov_vnuuxsm2m().s[79]++;if(this.HasPosition(TooltipPosition.bottom)){cov_vnuuxsm2m().b[25][0]++;cov_vnuuxsm2m().s[80]++;return TooltipPosition.bottom;}else{cov_vnuuxsm2m().b[25][1]++;}// Default Position if empty
82
+ cov_vnuuxsm2m().s[81]++;return TooltipPosition.right;}/**
83
+ * Returns whether the position has been configured
84
+ *
85
+ * @param position Position to be checked
86
+ */HasPosition(position){cov_vnuuxsm2m().f[19]++;const positions=(cov_vnuuxsm2m().s[82]++,this.position.split('|'));cov_vnuuxsm2m().s[83]++;if((cov_vnuuxsm2m().b[27][0]++,position===TooltipPosition.right)&&(cov_vnuuxsm2m().b[27][1]++,positions.indexOf('right')>=0)){cov_vnuuxsm2m().b[26][0]++;cov_vnuuxsm2m().s[84]++;return true;}else{cov_vnuuxsm2m().b[26][1]++;}cov_vnuuxsm2m().s[85]++;if((cov_vnuuxsm2m().b[29][0]++,position===TooltipPosition.top)&&(cov_vnuuxsm2m().b[29][1]++,positions.indexOf('top')>=0)){cov_vnuuxsm2m().b[28][0]++;cov_vnuuxsm2m().s[86]++;return true;}else{cov_vnuuxsm2m().b[28][1]++;}cov_vnuuxsm2m().s[87]++;if((cov_vnuuxsm2m().b[31][0]++,position===TooltipPosition.left)&&(cov_vnuuxsm2m().b[31][1]++,positions.indexOf('left')>=0)){cov_vnuuxsm2m().b[30][0]++;cov_vnuuxsm2m().s[88]++;return true;}else{cov_vnuuxsm2m().b[30][1]++;}cov_vnuuxsm2m().s[89]++;if((cov_vnuuxsm2m().b[33][0]++,position===TooltipPosition.bottom)&&(cov_vnuuxsm2m().b[33][1]++,positions.indexOf('bottom')>=0)){cov_vnuuxsm2m().b[32][0]++;cov_vnuuxsm2m().s[90]++;return true;}else{cov_vnuuxsm2m().b[32][1]++;}cov_vnuuxsm2m().s[91]++;return false;}/**
87
+ * Defines whether AutoPosition is active
88
+ */IsAutoPosition(){cov_vnuuxsm2m().f[20]++;const positions=(cov_vnuuxsm2m().s[92]++,this.position.split('|'));cov_vnuuxsm2m().s[93]++;return positions.indexOf('auto')>=0;}/**
89
+ * Checks whether the position is valid or whether the tooltip on the position has space
90
+ */ValidatePositions(){cov_vnuuxsm2m().f[21]++;cov_vnuuxsm2m().s[94]++;// Check if Container is false
91
+ if(this.tooltipcontainer===undefined){cov_vnuuxsm2m().b[34][0]++;cov_vnuuxsm2m().s[95]++;return TooltipPosition.right;}else{cov_vnuuxsm2m().b[34][1]++;}let allowedPositions=(cov_vnuuxsm2m().s[96]++,TooltipPosition.none);const basePosition=(cov_vnuuxsm2m().s[97]++,this.content.nativeElement.firstElementChild.getBoundingClientRect());const tooltipRect=(cov_vnuuxsm2m().s[98]++,this.tooltipcontainer.nativeElement.firstElementChild.getBoundingClientRect());const leftPosOk=(cov_vnuuxsm2m().s[99]++,basePosition.left-tooltipRect.width+this.getTooltipOffset()*-1>0);const rightPosOk=(cov_vnuuxsm2m().s[100]++,basePosition.right+tooltipRect.width+this.getTooltipOffset()<window.innerWidth);const topPosOk=(cov_vnuuxsm2m().s[101]++,basePosition.top-tooltipRect.height>0);const bottomPosOk=(cov_vnuuxsm2m().s[102]++,basePosition.bottom+tooltipRect.height<window.innerHeight);const leftHalfPosOk=(cov_vnuuxsm2m().s[103]++,basePosition.left-tooltipRect.width/2>0);const rightHalfPosOk=(cov_vnuuxsm2m().s[104]++,basePosition.right+tooltipRect.width/2<window.innerWidth);const topHalfPosOk=(cov_vnuuxsm2m().s[105]++,basePosition.top-tooltipRect.height/2>0);const bottomHalfPosOk=(cov_vnuuxsm2m().s[106]++,basePosition.bottom+tooltipRect.height/2<window.innerHeight);cov_vnuuxsm2m().s[107]++;if((cov_vnuuxsm2m().b[36][0]++,leftPosOk)&&(cov_vnuuxsm2m().b[36][1]++,topHalfPosOk)&&(cov_vnuuxsm2m().b[36][2]++,bottomHalfPosOk)){cov_vnuuxsm2m().b[35][0]++;cov_vnuuxsm2m().s[108]++;// tslint:disable-next-line:no-bitwise
92
+ allowedPositions=allowedPositions|TooltipPosition.left;}else{cov_vnuuxsm2m().b[35][1]++;}cov_vnuuxsm2m().s[109]++;if((cov_vnuuxsm2m().b[38][0]++,rightPosOk)&&(cov_vnuuxsm2m().b[38][1]++,topHalfPosOk)&&(cov_vnuuxsm2m().b[38][2]++,bottomHalfPosOk)){cov_vnuuxsm2m().b[37][0]++;cov_vnuuxsm2m().s[110]++;// tslint:disable-next-line:no-bitwise
93
+ allowedPositions=allowedPositions|TooltipPosition.right;}else{cov_vnuuxsm2m().b[37][1]++;}cov_vnuuxsm2m().s[111]++;if((cov_vnuuxsm2m().b[40][0]++,topPosOk)&&(cov_vnuuxsm2m().b[40][1]++,leftHalfPosOk)&&(cov_vnuuxsm2m().b[40][2]++,rightHalfPosOk)){cov_vnuuxsm2m().b[39][0]++;cov_vnuuxsm2m().s[112]++;// tslint:disable-next-line:no-bitwise
94
+ allowedPositions=allowedPositions|TooltipPosition.top;}else{cov_vnuuxsm2m().b[39][1]++;}cov_vnuuxsm2m().s[113]++;if((cov_vnuuxsm2m().b[42][0]++,bottomPosOk)&&(cov_vnuuxsm2m().b[42][1]++,leftHalfPosOk)&&(cov_vnuuxsm2m().b[42][2]++,rightHalfPosOk)){cov_vnuuxsm2m().b[41][0]++;cov_vnuuxsm2m().s[114]++;// tslint:disable-next-line:no-bitwise
95
+ allowedPositions=allowedPositions|TooltipPosition.bottom;}else{cov_vnuuxsm2m().b[41][1]++;}cov_vnuuxsm2m().s[115]++;return allowedPositions;}/**
96
+ * Calculates the position of the tooltip from links
97
+ */getLeftPosition(){cov_vnuuxsm2m().f[22]++;cov_vnuuxsm2m().s[116]++;if((cov_vnuuxsm2m().b[44][0]++,this.content!==null)&&(cov_vnuuxsm2m().b[44][1]++,this.content!==undefined)){cov_vnuuxsm2m().b[43][0]++;const item=(cov_vnuuxsm2m().s[117]++,this.content.nativeElement);cov_vnuuxsm2m().s[118]++;if(item.children.length>=1){cov_vnuuxsm2m().b[45][0]++;const childItem=(cov_vnuuxsm2m().s[119]++,item.firstElementChild);const contentPosition=(cov_vnuuxsm2m().s[120]++,childItem.getBoundingClientRect());cov_vnuuxsm2m().s[121]++;switch(this.GetTooltipPosition()){case TooltipPosition.top:cov_vnuuxsm2m().b[46][0]++;cov_vnuuxsm2m().s[122]++;this.LeftPos=contentPosition.left+contentPosition.width/2-this.getToolTipWidth()/2;cov_vnuuxsm2m().s[123]++;return contentPosition.left+contentPosition.width/2-this.getToolTipWidth()/2;case TooltipPosition.right:cov_vnuuxsm2m().b[46][1]++;cov_vnuuxsm2m().s[124]++;this.LeftPos=contentPosition.left+contentPosition.width+this.getTooltipOffset();cov_vnuuxsm2m().s[125]++;return contentPosition.left+contentPosition.width+this.getTooltipOffset();case TooltipPosition.bottom:cov_vnuuxsm2m().b[46][2]++;cov_vnuuxsm2m().s[126]++;this.LeftPos=contentPosition.left+contentPosition.width/2-this.getToolTipWidth()/2;cov_vnuuxsm2m().s[127]++;return contentPosition.left+contentPosition.width/2-this.getToolTipWidth()/2;case TooltipPosition.left:cov_vnuuxsm2m().b[46][3]++;cov_vnuuxsm2m().s[128]++;this.LeftPos=contentPosition.left-this.getToolTipWidth()+this.getTooltipOffset()*-1;cov_vnuuxsm2m().s[129]++;return contentPosition.left-this.getToolTipWidth()+this.getTooltipOffset()*-1;}cov_vnuuxsm2m().s[130]++;return this.content.nativeElement.offsetTop;}else{cov_vnuuxsm2m().b[45][1]++;cov_vnuuxsm2m().s[131]++;return this.content.nativeElement.offsetTop;}}else{cov_vnuuxsm2m().b[43][1]++;cov_vnuuxsm2m().s[132]++;return this.ref.nativeElement.offsetLeft;}}/**
98
+ * Calculates the position of the tooltip from the top
99
+ */getTopPosition(){cov_vnuuxsm2m().f[23]++;cov_vnuuxsm2m().s[133]++;if((cov_vnuuxsm2m().b[48][0]++,this.content!==null)&&(cov_vnuuxsm2m().b[48][1]++,this.content!==undefined)){cov_vnuuxsm2m().b[47][0]++;const item=(cov_vnuuxsm2m().s[134]++,this.content.nativeElement);cov_vnuuxsm2m().s[135]++;if(item.children.length>=1){cov_vnuuxsm2m().b[49][0]++;const childItem=(cov_vnuuxsm2m().s[136]++,item.firstElementChild);const contentPosition=(cov_vnuuxsm2m().s[137]++,childItem.getBoundingClientRect());// Get Position with Scroll (Scrollbars inside page should be substracted)
100
+ const contentPositionTop=(cov_vnuuxsm2m().s[138]++,childItem.offsetTop+this.getOffsetTopParent(childItem.offsetParent)-this.getScrollTopParent(childItem.parentElement));cov_vnuuxsm2m().s[139]++;switch(this.GetTooltipPosition()){case TooltipPosition.top:cov_vnuuxsm2m().b[50][0]++;cov_vnuuxsm2m().s[140]++;this.TopPos=contentPositionTop-this.getToolTipHeight()+this.getTooltipOffset()*-1;cov_vnuuxsm2m().s[141]++;return contentPositionTop-this.getToolTipHeight()+this.getTooltipOffset()*-1;case TooltipPosition.right:cov_vnuuxsm2m().b[50][1]++;cov_vnuuxsm2m().s[142]++;this.TopPos=contentPositionTop+contentPosition.height/2-this.getToolTipHeight()/2;cov_vnuuxsm2m().s[143]++;return contentPositionTop+contentPosition.height/2-this.getToolTipHeight()/2;case TooltipPosition.bottom:cov_vnuuxsm2m().b[50][2]++;cov_vnuuxsm2m().s[144]++;this.TopPos=contentPositionTop+contentPosition.height+this.getTooltipOffset();cov_vnuuxsm2m().s[145]++;return contentPositionTop+contentPosition.height+this.getTooltipOffset();case TooltipPosition.left:cov_vnuuxsm2m().b[50][3]++;cov_vnuuxsm2m().s[146]++;this.TopPos=contentPositionTop+contentPosition.height/2-this.getToolTipHeight()/2;cov_vnuuxsm2m().s[147]++;return contentPositionTop+contentPosition.height/2-this.getToolTipHeight()/2;}cov_vnuuxsm2m().s[148]++;return childItem.clientTop+childItem.offsetTop-(this.getToolTipHeight()/2-childItem.clientHeight/2);}else{cov_vnuuxsm2m().b[49][1]++;cov_vnuuxsm2m().s[149]++;return this.content.nativeElement.offsetTop;}}else{cov_vnuuxsm2m().b[47][1]++;cov_vnuuxsm2m().s[150]++;return this.ref.nativeElement.offsetTop;}}/**
101
+ * Calculates the top of the page inside all elements
102
+ * @param element HTML Element
103
+ * @returns summarized top value for absolute position
104
+ */getOffsetTopParent(element){cov_vnuuxsm2m().f[24]++;cov_vnuuxsm2m().s[151]++;if(!element.offsetParent){cov_vnuuxsm2m().b[51][0]++;cov_vnuuxsm2m().s[152]++;return element.offsetTop;}else{cov_vnuuxsm2m().b[51][1]++;}const parentValue=(cov_vnuuxsm2m().s[153]++,this.getOffsetTopParent(element.offsetParent));let offset=(cov_vnuuxsm2m().s[154]++,element.offsetTop);cov_vnuuxsm2m().s[155]++;return parentValue+offset;}/**
105
+ * Caclulate Scrollbars inside tree
106
+ * @param element HTML Element
107
+ * @returns Scroll top value of element with all childs
108
+ */getScrollTopParent(element){cov_vnuuxsm2m().f[25]++;cov_vnuuxsm2m().s[156]++;// Body Scroll should not be calculated
109
+ if(!element.parentElement){cov_vnuuxsm2m().b[52][0]++;cov_vnuuxsm2m().s[157]++;return 0;}else{cov_vnuuxsm2m().b[52][1]++;}const parentValue=(cov_vnuuxsm2m().s[158]++,this.getScrollTopParent(element.parentElement));cov_vnuuxsm2m().s[159]++;return parentValue+element.scrollTop;}static{cov_vnuuxsm2m().s[160]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacTooltipCommon,deps:[{token:i0.ChangeDetectorRef},{token:i0.ElementRef}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_vnuuxsm2m().s[161]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacTooltipCommon,inputs:{position:"position",tooltiptext:"tooltiptext",inlinemode:"inlinemode"},viewQueries:[{propertyName:"content",first:true,predicate:["container"],descendants:true,static:true},{propertyName:"tooltip",first:true,predicate:["tooltip"],descendants:true}],ngImport:i0});}}export{SacTooltipCommon};cov_vnuuxsm2m().s[162]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacTooltipCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_vnuuxsm2m().f[26]++;cov_vnuuxsm2m().s[163]++;return[{type:i0.ChangeDetectorRef},{type:i0.ElementRef}];},propDecorators:{position:[{type:Input}],tooltiptext:[{type:Input}],content:[{type:ViewChild,args:['container',{static:true}]}],inlinemode:[{type:Input}],tooltip:[{type:ViewChild,args:['tooltip',{static:false}]}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3Rvb2x0aXAvdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsU0FBUyxFQUdULEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUV4RDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFDc0IsZ0JBQWdCO0lBaUVwQyx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7T0FHRztJQUNILFlBQTZCLEtBQXdCLEVBQW1CLEdBQWU7UUFBMUQsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFBbUIsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQWxFdkY7O1dBRUc7UUFDSyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDM0M7O1dBRUc7UUFDYyxvQkFBZSxHQUFHLEdBQVMsRUFBRTtZQUM1QywrQkFBK0I7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDM0IsT0FBTzthQUNSO1lBRUQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQU1GOzs7O1dBSUc7UUFFSSxhQUFRLEdBQVcsWUFBWSxDQUFDO1FBWXZDOztXQUVHO1FBQ0ksNEJBQXVCLEdBQVksS0FBSyxDQUFDO1FBQ2hEOztXQUVHO1FBQ0ksWUFBTyxHQUFXLENBQUMsQ0FBQztRQUMzQjs7V0FFRztRQUNJLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQ3pDOztXQUVHO1FBQ0ks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QyxTQUFTO2lJQXFDRCxRQUFRO3NCQURkLEtBQUs7Z0JBTUMsV0FBVztzQkFEakIsS0FBSztnQkFNQyxPQUFPO3NCQURiLFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFzQzdCLFVBQVU7c0JBRHBCLEtBQUs7Z0JBU0ssT0FBTztzQkFEakIsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdDaGVja2VkLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIERpcmVjdGl2ZSxcclxuICBEb0NoZWNrLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvY29udmVydGlvbic7XHJcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9lbnVtcyc7XHJcblxyXG4vKipcclxuICogVG9vbHRpcCBDb21wb25lbnRcclxuICpcclxuICogUmVxdWlyZXMgdGhlIGZvbGxvd2luZyBpZGVudGlmaWVycyBpbiB0aGUgSFRNTCBtYXJrdXBcclxuICogLSBjb250YWluZXI6IENvbnRhaW5lciBmb3IgbmctY29udGVudCBpbiB3aGljaCB0aGUgZWxlbWVudCBpcyBkaXNwbGF5ZWQgd2hlcmUgdGhlIHRvb2x0aXAgaXMgYXR0YWNoZWQuXHJcbiAqIC0gdG9vbHRpcDogQ29udGFpbmVyIGZvciB0b29sdGlwXHJcbiAqXHJcbiAqIFRvb2x0aXAgbXVzdCBiZSBkaXNwbGF5ZWQgaW4gMiBzdGVwcy4gSW4gYSBmaXJzdCBzdGVwIHRoZSB0b29sdGlwIG1hcmt1cCBpcyBjcmVhdGVkIHdpdGggKG5nSWYpLiBJbiBhIDJuZCBzdGVwXHJcbiAqIHRoZSB0b29sdGlwIGNhbiB0aGVuIGJlIGRpc3BsYXllZCB2aWEgdGhlIENTUyB2aXNpYmlsaXR5LiBJZiB0aGlzIGlzIG5vdCBkb25lLCBpdCBjYW4gbGVhZCB0byBhIGZsaWNrZXJpbmcgZWZmZWN0IGluIGNlcnRhaW4gYnJvd3NlcnMuXHJcbiAqXHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNhY1Rvb2x0aXBDb21tb24gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3Q2hlY2tlZCwgRG9DaGVjayB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIElubGluZSBtb2RlIGZvciB0b29sdGlwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW5saW5lbW9kZTogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgaXMgdmlzaWJsZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2lzVG9vbHRpcFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBtZXRob2QgaWYgY29udGVudCBoYXMgY2hhbmdlZCBhbmQgcHJvcG9ydGlvbnMgbmVlZCB0byBiZSByZXNldCBpbiB0aGUgVUkuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBvbkNvbnRlbnRDaGFuZ2UgPSAoKTogdm9pZCA9PiB7XHJcbiAgICAvLyBEbyBub3RoaW5nIGlmIGlzIG5vdCB2aXNpYmxlXHJcbiAgICBpZiAoIXRoaXMuX2lzVG9vbHRpcFZpc2libGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmdldExlZnRQb3NpdGlvbigpO1xyXG4gICAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XHJcbiAgICB9KTtcclxuICB9O1xyXG4gIC8qKlxyXG4gICAqIENvbnRhaW5lcnMgZm9yIHRoZSB0b29sdGlwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSB0b29sdGlwY29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgLyoqXHJcbiAgICogUG9zaXRpb24gb2YgdGhlIHRvb2x0aXAuIFZhbHVlczogbGVmdHx0b3B8cmlnaHR8Ym90dG9tfGF1dG9cclxuICAgKlxyXG4gICAqIFZhbHVlICdhdXRvJyBjYW4gYmUgY29tYmluZWQgd2l0aCBhbm90aGVyIHZhbHVlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBvc2l0aW9uOiBzdHJpbmcgPSAncmlnaHR8YXV0byc7XHJcbiAgLyoqXHJcbiAgICogVGV4dCBmb3IgVG9vbFRpcFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRvb2x0aXB0ZXh0OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogTmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciBjb250ZW50IChlLmcuIGljb24pIG9uIHdoaWNoIHRoZSB0b29sdGlwIGlzIGRpc3BsYXllZC5cclxuICAgKi9cclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG4gIHB1YmxpYyBjb250ZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgLyoqXHJcbiAgICogUG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgb24gdGhlIGxlZnRcclxuICAgKi9cclxuICBwdWJsaWMgSXNUb29sdGlwQ29udGVudFZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBQb3NpdGlvbiBkZXMgVG9vbHRpcHMgbGlua3NcclxuICAgKi9cclxuICBwdWJsaWMgTGVmdFBvczogbnVtYmVyID0gMDtcclxuICAvKipcclxuICAgKiBQcm9wZXJ0eSBmb3IgZW51bSBpbiBBbmd1bGFyIEhUTUwgdGVtcGxhdGVcclxuICAgKi9cclxuICBwdWJsaWMgVG9vbHRpcFBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uO1xyXG4gIC8qKlxyXG4gICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGF0IHRoZSB0b3BcclxuICAgKi9cclxuICBwdWJsaWMgVG9wUG9zOiBudW1iZXIgPSAwO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gcmVmIEVsZW1lbnQgUmVmZXJlbnpcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWFkb25seSByZWY6IEVsZW1lbnRSZWYpIHsgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHRlciBmb3IgaW5saW5lIG1vZGUgZm9yIHRvb2x0aXBcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaW5saW5lbW9kZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faW5saW5lbW9kZSA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0dGVyIGZvciB0aGUgbmFtZSBvZiB0aGUgY29udGFpbmVyIGZvciB0aGUgdG9vbHRpcC4gSXMgcmVxdWlyZWQgYXMgdGhlIHRvb2x0aXAgY2FuIGJlIGhpZGRlbiB2aWEgbmdJZi5cclxuICAgKi9cclxuICBAVmlld0NoaWxkKCd0b29sdGlwJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHNldCB0b29sdGlwKGNvbnRlbnQ6IEVsZW1lbnRSZWYpIHtcclxuICAgIGlmIChjb250ZW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjb250ZW50Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudG9vbHRpcGNvbnRhaW5lciA9IGNvbnRlbnQ7XHJcbiAgICB0aGlzLm9uQ29udGVudENoYW5nZSgpO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQcm9wZXJ0eSBmb3IgaW5saW5lIG1vZGUgZm9yIHRvb2x0aXAuIFNldHMgdGhlIGRpc3BsYXkgbW9kZSBvbiB0aGUgd3JhcHBlciBlbGVtZW50IHRvIGBpbmxpbmVgXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBpbmxpbmVtb2RlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lubGluZW1vZGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRvb2x0b3AoKTogRWxlbWVudFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sdGlwY29udGFpbmVyO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwXHJcbiAgICovXHJcbiAgcHVibGljIEdldFRvb2x0aXBQb3NpdGlvbigpOiBUb29sdGlwUG9zaXRpb24ge1xyXG4gICAgY29uc3QgdmFsaWRQb3NpdGlvbnM6IFRvb2x0aXBQb3NpdGlvbiA9IHRoaXMuVmFsaWRhdGVQb3NpdGlvbnMoKTtcclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLkhhc1Bvc2l0aW9uKFRvb2x0aXBQb3NpdGlvbi5yaWdodCkgJiZcclxuICAgICAgdmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24ucmlnaHRcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuSGFzUG9zaXRpb24oVG9vbHRpcFBvc2l0aW9uLnRvcCkgJiZcclxuICAgICAgdmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24udG9wXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi50b3A7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5IYXNQb3NpdGlvbihUb29sdGlwUG9zaXRpb24ubGVmdCkgJiZcclxuICAgICAgdmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24ubGVmdFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ubGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLkhhc1Bvc2l0aW9uKFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pICYmXHJcbiAgICAgIHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEdldCBBdXRvIFBvc2l0aW9uIG9yIERlZmF1bHRcclxuICAgIGlmICh0aGlzLklzQXV0b1Bvc2l0aW9uKCkpIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgICAgaWYgKHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0KSB7XHJcbiAgICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgICAgaWYgKHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLnRvcCkge1xyXG4gICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24udG9wO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxyXG4gICAgICBpZiAodmFsaWRQb3NpdGlvbnMgJiBUb29sdGlwUG9zaXRpb24ubGVmdCkge1xyXG4gICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ubGVmdDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgICAgaWYgKHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSkge1xyXG4gICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMuR2V0UG9zaXRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhpZGUgdG9vbHRpcFxyXG4gICAqL1xyXG4gIHB1YmxpYyBIaWRlVG9vbHRpcCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2lzVG9vbHRpcFZpc2libGUgPSBmYWxzZTtcclxuICAgIHRoaXMuSXNUb29sdGlwQ29udGVudFZpc2libGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgd2hldGhlciB0aGUgdG9vbHRpcCBpcyBwcmVzZW50IGluIHRoZSBtYXJrdXBcclxuICAgKi9cclxuICBwdWJsaWMgSXNUb29sdGlwVmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2hvdyB0b29sdGlwXHJcbiAgICovXHJcbiAgcHVibGljIFNob3dUb29sdGlwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5faXNUb29sdGlwVmlzaWJsZSA9IHRydWU7XHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5nZXRMZWZ0UG9zaXRpb24oKTtcclxuICAgICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xyXG4gICAgICB0aGlzLklzVG9vbHRpcENvbnRlbnRWaXNpYmxlID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IG9mIHRoZSB0b29sdGlwXHJcbiAgICovXHJcbiAgcHVibGljIGdldFRvb2xUaXBIZWlnaHQoKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBjb250YWluZXIpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmNsaWVudEhlaWdodCA/PyAwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgdG9vbHRpcHNcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0VG9vbFRpcFdpZHRoKCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy50b29sdGlwY29udGFpbmVyKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGllbnRXaWR0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZWN0IENoYW5nZXMgYWZ0ZXIgdmlldyBjaGVja2VkLiBQcmV2ZW50IEV4cHJlc3Npb25DaGFuZ2VkQWZ0ZXJJdEhhc0JlZW5DaGVja2VkRXJyb3IgZXJyb3JcclxuICAgKi9cclxuICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgLy8gRG8gbm90aGluZyBpZiBpcyBub3QgdmlzaWJpbGVcclxuICAgIGlmICghdGhpcy5faXNUb29sdGlwVmlzaWJsZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZXRlY3QgVUkgQ2hhbmdlcyB0byBDYWxjdWxhdGUgVG9vbHRpcCBjb3JyZWN0XHJcbiAgICovXHJcbiAgcHVibGljIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXHJcbiAgICBpZiAoIXRoaXMuX2lzVG9vbHRpcFZpc2libGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XHJcbiAgICB0aGlzLmdldFRvcFBvc2l0aW9uKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB3aGVuIHRoZSBjb250cm9sIGlzIGRlc3Ryb3llZC5cclxuICAgKi9cclxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAvLyBVbnJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMub25Db250ZW50Q2hhbmdlLCB0cnVlKTtcclxuXHJcbiAgICBpZiAodGhpcy50b29sdGlwY29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB3aGVuIHRoZSBjb250cm9sIGlzIGluaXRpYWxpemVkXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gICAgLy8gUmVnaXN0ZXIgRXZlbnQgTGlzdGVuZXJcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xyXG5cclxuICAgIGlmICh0aGlzLnRvb2x0aXBjb250YWluZXIgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIE1ldGhvZHNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcm90ZWN0ZWQgQWJzdHJhY3QgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBPZmZzZXQgZm9yIFRvb2x0aXAuIFJlcXVpcmVkIGZvciBCUzQvQlM1IHRvIGNyZWF0ZSBwYWRkaW5nXHJcbiAgICovXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFRvb2x0aXBPZmZzZXQoKTogbnVtYmVyO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3RlY3RlZCBBYnN0cmFjdCBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGRlZmluZWQgcG9zaXRpb24gZm9yIHRoZSB0b29sdGlwXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBHZXRQb3NpdGlvbigpOiBUb29sdGlwUG9zaXRpb24ge1xyXG4gICAgY29uc3QgcG9zaXRpb25zID0gdGhpcy5wb3NpdGlvbi5zcGxpdCgnfCcpO1xyXG5cclxuICAgIGlmICh0aGlzLkhhc1Bvc2l0aW9uKFRvb2x0aXBQb3NpdGlvbi5sZWZ0KSkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuSGFzUG9zaXRpb24oVG9vbHRpcFBvc2l0aW9uLnRvcCkpIHtcclxuICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi50b3A7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuSGFzUG9zaXRpb24oVG9vbHRpcFBvc2l0aW9uLnJpZ2h0KSkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLkhhc1Bvc2l0aW9uKFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24uYm90dG9tO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIERlZmF1bHQgUG9zaXRpb24gaWYgZW1wdHlcclxuICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ucmlnaHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHBvc2l0aW9uIGhhcyBiZWVuIGNvbmZpZ3VyZWRcclxuICAgKlxyXG4gICAqIEBwYXJhbSBwb3NpdGlvbiBQb3NpdGlvbiB0byBiZSBjaGVja2VkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBIYXNQb3NpdGlvbihwb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwb3NpdGlvbnMgPSB0aGlzLnBvc2l0aW9uLnNwbGl0KCd8Jyk7XHJcblxyXG4gICAgaWYgKHBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ucmlnaHQgJiYgcG9zaXRpb25zLmluZGV4T2YoJ3JpZ2h0JykgPj0gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi50b3AgJiYgcG9zaXRpb25zLmluZGV4T2YoJ3RvcCcpID49IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24ubGVmdCAmJiBwb3NpdGlvbnMuaW5kZXhPZignbGVmdCcpID49IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBwb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbSAmJlxyXG4gICAgICBwb3NpdGlvbnMuaW5kZXhPZignYm90dG9tJykgPj0gMFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZXMgd2hldGhlciBBdXRvUG9zaXRpb24gaXMgYWN0aXZlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBJc0F1dG9Qb3NpdGlvbigpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHBvc2l0aW9ucyA9IHRoaXMucG9zaXRpb24uc3BsaXQoJ3wnKTtcclxuICAgIHJldHVybiBwb3NpdGlvbnMuaW5kZXhPZignYXV0bycpID49IDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgcG9zaXRpb24gaXMgdmFsaWQgb3Igd2hldGhlciB0aGUgdG9vbHRpcCBvbiB0aGUgcG9zaXRpb24gaGFzIHNwYWNlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBWYWxpZGF0ZVBvc2l0aW9ucygpOiBUb29sdGlwUG9zaXRpb24ge1xyXG4gICAgLy8gQ2hlY2sgaWYgQ29udGFpbmVyIGlzIGZhbHNlXHJcbiAgICBpZiAodGhpcy50b29sdGlwY29udGFpbmVyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgYWxsb3dlZFBvc2l0aW9uczogVG9vbHRpcFBvc2l0aW9uID0gVG9vbHRpcFBvc2l0aW9uLm5vbmU7XHJcbiAgICBjb25zdCBiYXNlUG9zaXRpb246IERPTVJlY3QgPSB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IHRvb2x0aXBSZWN0OiBET01SZWN0ID0gdGhpcy50b29sdGlwY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgY29uc3QgbGVmdFBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCArICh0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSAqIC0xKSA+IDA7XHJcbiAgICBjb25zdCByaWdodFBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLnJpZ2h0ICsgdG9vbHRpcFJlY3Qud2lkdGggKyB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSA8IHdpbmRvdy5pbm5lcldpZHRoO1xyXG4gICAgY29uc3QgdG9wUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24udG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0ID4gMDtcclxuICAgIGNvbnN0IGJvdHRvbVBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLmJvdHRvbSArIHRvb2x0aXBSZWN0LmhlaWdodCA8IHdpbmRvdy5pbm5lckhlaWdodDtcclxuXHJcbiAgICBjb25zdCBsZWZ0SGFsZlBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLmxlZnQgLSB0b29sdGlwUmVjdC53aWR0aCAvIDIgPiAwO1xyXG4gICAgY29uc3QgcmlnaHRIYWxmUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24ucmlnaHQgKyB0b29sdGlwUmVjdC53aWR0aCAvIDIgPCB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgIGNvbnN0IHRvcEhhbGZQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi50b3AgLSB0b29sdGlwUmVjdC5oZWlnaHQgLyAyID4gMDtcclxuICAgIGNvbnN0IGJvdHRvbUhhbGZQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5ib3R0b20gKyB0b29sdGlwUmVjdC5oZWlnaHQgLyAyIDwgd2luZG93LmlubmVySGVpZ2h0O1xyXG5cclxuICAgIGlmIChsZWZ0UG9zT2sgJiYgdG9wSGFsZlBvc09rICYmIGJvdHRvbUhhbGZQb3NPaykge1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxyXG4gICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi5sZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChyaWdodFBvc09rICYmIHRvcEhhbGZQb3NPayAmJiBib3R0b21IYWxmUG9zT2spIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgICAgYWxsb3dlZFBvc2l0aW9ucyA9IGFsbG93ZWRQb3NpdGlvbnMgfCBUb29sdGlwUG9zaXRpb24ucmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRvcFBvc09rICYmIGxlZnRIYWxmUG9zT2sgJiYgcmlnaHRIYWxmUG9zT2spIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgICAgYWxsb3dlZFBvc2l0aW9ucyA9IGFsbG93ZWRQb3NpdGlvbnMgfCBUb29sdGlwUG9zaXRpb24udG9wO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChib3R0b21Qb3NPayAmJiBsZWZ0SGFsZlBvc09rICYmIHJpZ2h0SGFsZlBvc09rKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGFsbG93ZWRQb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zIHwgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYWxsb3dlZFBvc2l0aW9ucztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGN1bGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGZyb20gbGlua3NcclxuICAgKi9cclxuICBwcml2YXRlIGdldExlZnRQb3NpdGlvbigpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuY29udGVudCAhPT0gbnVsbCAmJiB0aGlzLmNvbnRlbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPj0gMSkge1xyXG4gICAgICAgIGNvbnN0IGNoaWxkSXRlbSA9IGl0ZW0uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgY29udGVudFBvc2l0aW9uOiBET01SZWN0ID0gY2hpbGRJdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgICBzd2l0Y2ggKHRoaXMuR2V0VG9vbHRpcFBvc2l0aW9uKCkpIHtcclxuICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnRvcDpcclxuICAgICAgICAgICAgdGhpcy5MZWZ0UG9zID0gY29udGVudFBvc2l0aW9uLmxlZnQgKyBjb250ZW50UG9zaXRpb24ud2lkdGggLyAyIC0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDI7XHJcbiAgICAgICAgICAgIHJldHVybiAoY29udGVudFBvc2l0aW9uLmxlZnQgKyBjb250ZW50UG9zaXRpb24ud2lkdGggLyAyIC0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDJcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxyXG4gICAgICAgICAgICB0aGlzLkxlZnRQb3MgPSBjb250ZW50UG9zaXRpb24ubGVmdCArIGNvbnRlbnRQb3NpdGlvbi53aWR0aCArIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uLmxlZnQgKyBjb250ZW50UG9zaXRpb24ud2lkdGggKyB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKTtcclxuICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTpcclxuICAgICAgICAgICAgdGhpcy5MZWZ0UG9zID0gY29udGVudFBvc2l0aW9uLmxlZnQgKyBjb250ZW50UG9zaXRpb24ud2lkdGggLyAyIC0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDI7XHJcbiAgICAgICAgICAgIHJldHVybiAoY29udGVudFBvc2l0aW9uLmxlZnQgKyBjb250ZW50UG9zaXRpb24ud2lkdGggLyAyIC0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSAvIDIpO1xyXG4gICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24ubGVmdDpcclxuICAgICAgICAgICAgdGhpcy5MZWZ0UG9zID0gY29udGVudFBvc2l0aW9uLmxlZnQgLSB0aGlzLmdldFRvb2xUaXBXaWR0aCgpICsgKHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpICogLTEpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uLmxlZnQgLSB0aGlzLmdldFRvb2xUaXBXaWR0aCgpICsgKHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpICogLTEpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZWYubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsY3VsYXRlcyB0aGUgcG9zaXRpb24gb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9wXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRUb3BQb3NpdGlvbigpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuY29udGVudCAhPT0gbnVsbCAmJiB0aGlzLmNvbnRlbnQgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcblxyXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbi5sZW5ndGggPj0gMSkge1xyXG4gICAgICAgIGNvbnN0IGNoaWxkSXRlbSA9IGl0ZW0uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgY29udGVudFBvc2l0aW9uOiBET01SZWN0ID0gY2hpbGRJdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgICAvLyBHZXQgUG9zaXRpb24gd2l0aCBTY3JvbGwgKFNjcm9sbGJhcnMgaW5zaWRlIHBhZ2Ugc2hvdWxkIGJlIHN1YnN0cmFjdGVkKVxyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRQb3NpdGlvblRvcCA9IGNoaWxkSXRlbS5vZmZzZXRUb3AgKyB0aGlzLmdldE9mZnNldFRvcFBhcmVudChjaGlsZEl0ZW0ub2Zmc2V0UGFyZW50IGFzIEhUTUxFbGVtZW50KSAtIHRoaXMuZ2V0U2Nyb2xsVG9wUGFyZW50KGNoaWxkSXRlbS5wYXJlbnRFbGVtZW50KTtcclxuXHJcbiAgICAgICAgc3dpdGNoICh0aGlzLkdldFRvb2x0aXBQb3NpdGlvbigpKSB7XHJcbiAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3A6XHJcbiAgICAgICAgICAgIHRoaXMuVG9wUG9zID0gY29udGVudFBvc2l0aW9uVG9wIC0gdGhpcy5nZXRUb29sVGlwSGVpZ2h0KCkgKyAodGhpcy5nZXRUb29sdGlwT2Zmc2V0KCkgKiAtMSk7XHJcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50UG9zaXRpb25Ub3AgLSB0aGlzLmdldFRvb2xUaXBIZWlnaHQoKSArICh0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSAqIC0xKTtcclxuICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0OlxyXG4gICAgICAgICAgICB0aGlzLlRvcFBvcyA9IGNvbnRlbnRQb3NpdGlvblRvcCArIChjb250ZW50UG9zaXRpb24uaGVpZ2h0IC8gMikgLSAodGhpcy5nZXRUb29sVGlwSGVpZ2h0KCkgLyAyKTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRQb3NpdGlvblRvcCArIChjb250ZW50UG9zaXRpb24uaGVpZ2h0IC8gMikgLSAodGhpcy5nZXRUb29sVGlwSGVpZ2h0KCkgLyAyKTtcclxuICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTpcclxuICAgICAgICAgICAgdGhpcy5Ub3BQb3MgPSBjb250ZW50UG9zaXRpb25Ub3AgKyBjb250ZW50UG9zaXRpb24uaGVpZ2h0ICsgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCk7XHJcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50UG9zaXRpb25Ub3AgKyBjb250ZW50UG9zaXRpb24uaGVpZ2h0ICsgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCk7XHJcbiAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5sZWZ0OlxyXG4gICAgICAgICAgICB0aGlzLlRvcFBvcyA9IGNvbnRlbnRQb3NpdGlvblRvcCArIGNvbnRlbnRQb3NpdGlvbi5oZWlnaHQgLyAyIC0gdGhpcy5nZXRUb29sVGlwSGVpZ2h0KCkgLyAyO1xyXG4gICAgICAgICAgICByZXR1cm4gKGNvbnRlbnRQb3NpdGlvblRvcCArIGNvbnRlbnRQb3NpdGlvbi5oZWlnaHQgLyAyIC0gdGhpcy5nZXRUb29sVGlwSGVpZ2h0KCkgLyAyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiAoY2hpbGRJdGVtLmNsaWVudFRvcCArIGNoaWxkSXRlbS5vZmZzZXRUb3AgLSAodGhpcy5nZXRUb29sVGlwSGVpZ2h0KCkgLyAyIC0gY2hpbGRJdGVtLmNsaWVudEhlaWdodCAvIDIpKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5yZWYubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxjdWxhdGVzIHRoZSB0b3Agb2YgdGhlIHBhZ2UgaW5zaWRlIGFsbCBlbGVtZW50c1xyXG4gICAqIEBwYXJhbSBlbGVtZW50IEhUTUwgRWxlbWVudFxyXG4gICAqIEByZXR1cm5zIHN1bW1hcml6ZWQgdG9wIHZhbHVlIGZvciBhYnNvbHV0ZSBwb3NpdGlvblxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0T2Zmc2V0VG9wUGFyZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcclxuICAgIGlmICghZWxlbWVudC5vZmZzZXRQYXJlbnQpIHtcclxuICAgICAgcmV0dXJuIGVsZW1lbnQub2Zmc2V0VG9wO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHBhcmVudFZhbHVlID0gdGhpcy5nZXRPZmZzZXRUb3BQYXJlbnQoZWxlbWVudC5vZmZzZXRQYXJlbnQgYXMgSFRNTEVsZW1lbnQpO1xyXG4gICAgbGV0IG9mZnNldCA9IGVsZW1lbnQub2Zmc2V0VG9wO1xyXG4gICAgcmV0dXJuIHBhcmVudFZhbHVlICsgb2Zmc2V0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FjbHVsYXRlIFNjcm9sbGJhcnMgaW5zaWRlIHRyZWVcclxuICAgKiBAcGFyYW0gZWxlbWVudCBIVE1MIEVsZW1lbnRcclxuICAgKiBAcmV0dXJucyBTY3JvbGwgdG9wIHZhbHVlIG9mIGVsZW1lbnQgd2l0aCBhbGwgY2hpbGRzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRTY3JvbGxUb3BQYXJlbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xyXG4gICAgLy8gQm9keSBTY3JvbGwgc2hvdWxkIG5vdCBiZSBjYWxjdWxhdGVkXHJcbiAgICBpZiAoIWVsZW1lbnQucGFyZW50RWxlbWVudCkge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJlbnRWYWx1ZSA9IHRoaXMuZ2V0U2Nyb2xsVG9wUGFyZW50KGVsZW1lbnQucGFyZW50RWxlbWVudCk7XHJcbiAgICByZXR1cm4gcGFyZW50VmFsdWUgKyBlbGVtZW50LnNjcm9sbFRvcDtcclxuICB9XHJcblxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG59XHJcbiJdfQ==
110
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3Zfdm51dXhzbTJtIiwiYWN0dWFsQ292ZXJhZ2UiLCJEaXJlY3RpdmUiLCJJbnB1dCIsIlZpZXdDaGlsZCIsImNvbnZlcnRUb0Jvb2xlYW4iLCJUb29sdGlwUG9zaXRpb24iLCJTYWNUb29sdGlwQ29tbW9uIiwiY29uc3RydWN0b3IiLCJjZFJlZiIsInJlZiIsImYiLCJzIiwiX2lzVG9vbHRpcFZpc2libGUiLCJvbkNvbnRlbnRDaGFuZ2UiLCJiIiwic2V0VGltZW91dCIsImdldExlZnRQb3NpdGlvbiIsImdldFRvcFBvc2l0aW9uIiwicG9zaXRpb24iLCJJc1Rvb2x0aXBDb250ZW50VmlzaWJsZSIsIkxlZnRQb3MiLCJUb3BQb3MiLCJpbmxpbmVtb2RlIiwidmFsdWUiLCJfaW5saW5lbW9kZSIsInRvb2x0aXAiLCJjb250ZW50IiwidW5kZWZpbmVkIiwiZG9jdW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJuYXRpdmVFbGVtZW50IiwidG9vbHRpcGNvbnRhaW5lciIsImRldGVjdENoYW5nZXMiLCJ0b29sdG9wIiwiR2V0VG9vbHRpcFBvc2l0aW9uIiwidmFsaWRQb3NpdGlvbnMiLCJWYWxpZGF0ZVBvc2l0aW9ucyIsIkhhc1Bvc2l0aW9uIiwicmlnaHQiLCJ0b3AiLCJsZWZ0IiwiYm90dG9tIiwiSXNBdXRvUG9zaXRpb24iLCJHZXRQb3NpdGlvbiIsIkhpZGVUb29sdGlwIiwiSXNUb29sdGlwVmlzaWJsZSIsIlNob3dUb29sdGlwIiwiZ2V0VG9vbFRpcEhlaWdodCIsImZpcnN0RWxlbWVudENoaWxkIiwiY2xpZW50SGVpZ2h0IiwiZ2V0VG9vbFRpcFdpZHRoIiwiY2xpZW50V2lkdGgiLCJuZ0FmdGVyVmlld0NoZWNrZWQiLCJuZ0RvQ2hlY2siLCJuZ09uRGVzdHJveSIsIndpbmRvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZW1vdmVDaGlsZCIsIm5nT25Jbml0IiwiYWRkRXZlbnRMaXN0ZW5lciIsInBvc2l0aW9ucyIsInNwbGl0IiwiaW5kZXhPZiIsImFsbG93ZWRQb3NpdGlvbnMiLCJub25lIiwiYmFzZVBvc2l0aW9uIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwidG9vbHRpcFJlY3QiLCJsZWZ0UG9zT2siLCJ3aWR0aCIsImdldFRvb2x0aXBPZmZzZXQiLCJyaWdodFBvc09rIiwiaW5uZXJXaWR0aCIsInRvcFBvc09rIiwiaGVpZ2h0IiwiYm90dG9tUG9zT2siLCJpbm5lckhlaWdodCIsImxlZnRIYWxmUG9zT2siLCJyaWdodEhhbGZQb3NPayIsInRvcEhhbGZQb3NPayIsImJvdHRvbUhhbGZQb3NPayIsIml0ZW0iLCJjaGlsZHJlbiIsImxlbmd0aCIsImNoaWxkSXRlbSIsImNvbnRlbnRQb3NpdGlvbiIsIm9mZnNldFRvcCIsIm9mZnNldExlZnQiLCJjb250ZW50UG9zaXRpb25Ub3AiLCJnZXRPZmZzZXRUb3BQYXJlbnQiLCJvZmZzZXRQYXJlbnQiLCJnZXRTY3JvbGxUb3BQYXJlbnQiLCJwYXJlbnRFbGVtZW50IiwiY2xpZW50VG9wIiwiZWxlbWVudCIsInBhcmVudFZhbHVlIiwib2Zmc2V0Iiwic2Nyb2xsVG9wIiwiZGVwcyIsInRva2VuIiwiaTAiLCJDaGFuZ2VEZXRlY3RvclJlZiIsIkVsZW1lbnRSZWYiLCJ0YXJnZXQiLCLJtcm1RmFjdG9yeVRhcmdldCIsImlucHV0cyIsInRvb2x0aXB0ZXh0Iiwidmlld1F1ZXJpZXMiLCJwcm9wZXJ0eU5hbWUiLCJmaXJzdCIsInByZWRpY2F0ZSIsImRlc2NlbmRhbnRzIiwic3RhdGljIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvdG9vbHRpcC90b29sdGlwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3Q2hlY2tlZCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgRG9DaGVjayxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2NvbnZlcnRpb24nO1xyXG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZW51bXMnO1xyXG5cclxuLyoqXHJcbiAqIFRvb2x0aXAgQ29tcG9uZW50XHJcbiAqXHJcbiAqIFJlcXVpcmVzIHRoZSBmb2xsb3dpbmcgaWRlbnRpZmllcnMgaW4gdGhlIEhUTUwgbWFya3VwXHJcbiAqIC0gY29udGFpbmVyOiBDb250YWluZXIgZm9yIG5nLWNvbnRlbnQgaW4gd2hpY2ggdGhlIGVsZW1lbnQgaXMgZGlzcGxheWVkIHdoZXJlIHRoZSB0b29sdGlwIGlzIGF0dGFjaGVkLlxyXG4gKiAtIHRvb2x0aXA6IENvbnRhaW5lciBmb3IgdG9vbHRpcFxyXG4gKlxyXG4gKiBUb29sdGlwIG11c3QgYmUgZGlzcGxheWVkIGluIDIgc3RlcHMuIEluIGEgZmlyc3Qgc3RlcCB0aGUgdG9vbHRpcCBtYXJrdXAgaXMgY3JlYXRlZCB3aXRoIChuZ0lmKS4gSW4gYSAybmQgc3RlcFxyXG4gKiB0aGUgdG9vbHRpcCBjYW4gdGhlbiBiZSBkaXNwbGF5ZWQgdmlhIHRoZSBDU1MgdmlzaWJpbGl0eS4gSWYgdGhpcyBpcyBub3QgZG9uZSwgaXQgY2FuIGxlYWQgdG8gYSBmbGlja2VyaW5nIGVmZmVjdCBpbiBjZXJ0YWluIGJyb3dzZXJzLlxyXG4gKlxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYWNUb29sdGlwQ29tbW9uIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0NoZWNrZWQsIERvQ2hlY2sge1xyXG4gIC8vICNyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvKipcclxuICAgKiBJbmxpbmUgbW9kZSBmb3IgdG9vbHRpcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2lubGluZW1vZGU6IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogRGVmaW5lcyB3aGV0aGVyIHRoZSB0b29sdGlwIGlzIHZpc2libGVcclxuICAgKi9cclxuICBwcml2YXRlIF9pc1Rvb2x0aXBWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogbWV0aG9kIGlmIGNvbnRlbnQgaGFzIGNoYW5nZWQgYW5kIHByb3BvcnRpb25zIG5lZWQgdG8gYmUgcmVzZXQgaW4gdGhlIFVJLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgb25Db250ZW50Q2hhbmdlID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgLy8gRG8gbm90aGluZyBpZiBpcyBub3QgdmlzaWJsZVxyXG4gICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5nZXRMZWZ0UG9zaXRpb24oKTtcclxuICAgICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xyXG4gICAgfSk7XHJcbiAgfTtcclxuICAvKipcclxuICAgKiBDb250YWluZXJzIGZvciB0aGUgdG9vbHRpcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgdG9vbHRpcGNvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwLiBWYWx1ZXM6IGxlZnR8dG9wfHJpZ2h0fGJvdHRvbXxhdXRvXHJcbiAgICpcclxuICAgKiBWYWx1ZSAnYXV0bycgY2FuIGJlIGNvbWJpbmVkIHdpdGggYW5vdGhlciB2YWx1ZS5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwb3NpdGlvbjogc3RyaW5nID0gJ3JpZ2h0fGF1dG8nO1xyXG4gIC8qKlxyXG4gICAqIFRleHQgZm9yIFRvb2xUaXBcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0b29sdGlwdGV4dDogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIE5hbWUgb2YgdGhlIGNvbnRhaW5lciBmb3IgY29udGVudCAoZS5nLiBpY29uKSBvbiB3aGljaCB0aGUgdG9vbHRpcCBpcyBkaXNwbGF5ZWQuXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuICBwdWJsaWMgY29udGVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIG9uIHRoZSBsZWZ0XHJcbiAgICovXHJcbiAgcHVibGljIElzVG9vbHRpcENvbnRlbnRWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqXHJcbiAgICogUG9zaXRpb24gZGVzIFRvb2x0aXBzIGxpbmtzXHJcbiAgICovXHJcbiAgcHVibGljIExlZnRQb3M6IG51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogUHJvcGVydHkgZm9yIGVudW0gaW4gQW5ndWxhciBIVE1MIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgcHVibGljIFRvb2x0aXBQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbjtcclxuICAvKipcclxuICAgKiBQb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBhdCB0aGUgdG9wXHJcbiAgICovXHJcbiAgcHVibGljIFRvcFBvczogbnVtYmVyID0gMDtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JzXHJcblxyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIHJlZiBFbGVtZW50IFJlZmVyZW56XHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVhZG9ubHkgcmVmOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBTZXR0ZXIgZm9yIGlubGluZSBtb2RlIGZvciB0b29sdGlwXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGlubGluZW1vZGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2lubGluZW1vZGUgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHRlciBmb3IgdGhlIG5hbWUgb2YgdGhlIGNvbnRhaW5lciBmb3IgdGhlIHRvb2x0aXAuIElzIHJlcXVpcmVkIGFzIHRoZSB0b29sdGlwIGNhbiBiZSBoaWRkZW4gdmlhIG5nSWYuXHJcbiAgICovXHJcbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyBzZXQgdG9vbHRpcChjb250ZW50OiBFbGVtZW50UmVmKSB7XHJcbiAgICBpZiAoY29udGVudCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGVudC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRvb2x0aXBjb250YWluZXIgPSBjb250ZW50O1xyXG4gICAgdGhpcy5vbkNvbnRlbnRDaGFuZ2UoKTtcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHJvcGVydHkgZm9yIGlubGluZSBtb2RlIGZvciB0b29sdGlwLiBTZXRzIHRoZSBkaXNwbGF5IG1vZGUgb24gdGhlIHdyYXBwZXIgZWxlbWVudCB0byBgaW5saW5lYFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaW5saW5lbW9kZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmxpbmVtb2RlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0b29sdG9wKCk6IEVsZW1lbnRSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMudG9vbHRpcGNvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcFxyXG4gICAqL1xyXG4gIHB1YmxpYyBHZXRUb29sdGlwUG9zaXRpb24oKTogVG9vbHRpcFBvc2l0aW9uIHtcclxuICAgIGNvbnN0IHZhbGlkUG9zaXRpb25zOiBUb29sdGlwUG9zaXRpb24gPSB0aGlzLlZhbGlkYXRlUG9zaXRpb25zKCk7XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5IYXNQb3NpdGlvbihUb29sdGlwUG9zaXRpb24ucmlnaHQpICYmXHJcbiAgICAgIHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0XHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLkhhc1Bvc2l0aW9uKFRvb2x0aXBQb3NpdGlvbi50b3ApICYmXHJcbiAgICAgIHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLnRvcFxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24udG9wO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuSGFzUG9zaXRpb24oVG9vbHRpcFBvc2l0aW9uLmxlZnQpICYmXHJcbiAgICAgIHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLmxlZnRcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5IYXNQb3NpdGlvbihUb29sdGlwUG9zaXRpb24uYm90dG9tKSAmJlxyXG4gICAgICB2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5ib3R0b21cclxuICAgICkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBHZXQgQXV0byBQb3NpdGlvbiBvciBEZWZhdWx0XHJcbiAgICBpZiAodGhpcy5Jc0F1dG9Qb3NpdGlvbigpKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5yaWdodCkge1xyXG4gICAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ucmlnaHQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi50b3ApIHtcclxuICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnRvcDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgICAgaWYgKHZhbGlkUG9zaXRpb25zICYgVG9vbHRpcFBvc2l0aW9uLmxlZnQpIHtcclxuICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmxlZnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGlmICh2YWxpZFBvc2l0aW9ucyAmIFRvb2x0aXBQb3NpdGlvbi5ib3R0b20pIHtcclxuICAgICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLkdldFBvc2l0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIaWRlIHRvb2x0aXBcclxuICAgKi9cclxuICBwdWJsaWMgSGlkZVRvb2x0aXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLklzVG9vbHRpcENvbnRlbnRWaXNpYmxlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIHRvb2x0aXAgaXMgcHJlc2VudCBpbiB0aGUgbWFya3VwXHJcbiAgICovXHJcbiAgcHVibGljIElzVG9vbHRpcFZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNUb29sdGlwVmlzaWJsZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgdG9vbHRpcFxyXG4gICAqL1xyXG4gIHB1YmxpYyBTaG93VG9vbHRpcCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2lzVG9vbHRpcFZpc2libGUgPSB0cnVlO1xyXG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZ2V0TGVmdFBvc2l0aW9uKCk7XHJcbiAgICAgIHRoaXMuZ2V0VG9wUG9zaXRpb24oKTtcclxuICAgICAgdGhpcy5Jc1Rvb2x0aXBDb250ZW50VmlzaWJsZSA9IHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBvZiB0aGUgdG9vbHRpcFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRUb29sVGlwSGVpZ2h0KCk6IG51bWJlciB7XHJcbiAgICBpZiAodGhpcy50b29sdGlwY29udGFpbmVyKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbGllbnRIZWlnaHQgPz8gMDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIHRvb2x0aXBzXHJcbiAgICovXHJcbiAgcHVibGljIGdldFRvb2xUaXBXaWR0aCgpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lcikge1xyXG4gICAgICByZXR1cm4gdGhpcy50b29sdGlwY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xpZW50V2lkdGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVjdCBDaGFuZ2VzIGFmdGVyIHZpZXcgY2hlY2tlZC4gUHJldmVudCBFeHByZXNzaW9uQ2hhbmdlZEFmdGVySXRIYXNCZWVuQ2hlY2tlZEVycm9yIGVycm9yXHJcbiAgICovXHJcbiAgcHVibGljIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgIC8vIERvIG5vdGhpbmcgaWYgaXMgbm90IHZpc2liaWxlXHJcbiAgICBpZiAoIXRoaXMuX2lzVG9vbHRpcFZpc2libGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGV0ZWN0IFVJIENoYW5nZXMgdG8gQ2FsY3VsYXRlIFRvb2x0aXAgY29ycmVjdFxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ0RvQ2hlY2soKTogdm9pZCB7XHJcbiAgICAvLyBEbyBub3RoaW5nIGlmIGlzIG5vdCB2aXNpYmlsZVxyXG4gICAgaWYgKCF0aGlzLl9pc1Rvb2x0aXBWaXNpYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdldExlZnRQb3NpdGlvbigpO1xyXG4gICAgdGhpcy5nZXRUb3BQb3NpdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgd2hlbiB0aGUgY29udHJvbCBpcyBkZXN0cm95ZWQuXHJcbiAgICovXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgLy8gVW5yZWdpc3RlciBFdmVudCBMaXN0ZW5lclxyXG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25Db250ZW50Q2hhbmdlLCB0cnVlKTtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uQ29udGVudENoYW5nZSwgdHJ1ZSk7XHJcblxyXG4gICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy50b29sdGlwY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXZlbnQgd2hlbiB0aGUgY29udHJvbCBpcyBpbml0aWFsaXplZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcclxuICAgIC8vIFJlZ2lzdGVyIEV2ZW50IExpc3RlbmVyXHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vbkNvbnRlbnRDaGFuZ2UsIHRydWUpO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMub25Db250ZW50Q2hhbmdlLCB0cnVlKTtcclxuXHJcbiAgICBpZiAodGhpcy50b29sdGlwY29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLnRvb2x0aXBjb250YWluZXIubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIFB1YmxpYyBNZXRob2RzXHJcblxyXG4gIC8vICNyZWdpb24gUHJvdGVjdGVkIEFic3RyYWN0IE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogT2Zmc2V0IGZvciBUb29sdGlwLiBSZXF1aXJlZCBmb3IgQlM0L0JTNSB0byBjcmVhdGUgcGFkZGluZ1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRUb29sdGlwT2Zmc2V0KCk6IG51bWJlcjtcclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcm90ZWN0ZWQgQWJzdHJhY3QgTWV0aG9kc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBkZWZpbmVkIHBvc2l0aW9uIGZvciB0aGUgdG9vbHRpcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgR2V0UG9zaXRpb24oKTogVG9vbHRpcFBvc2l0aW9uIHtcclxuICAgIGNvbnN0IHBvc2l0aW9ucyA9IHRoaXMucG9zaXRpb24uc3BsaXQoJ3wnKTtcclxuXHJcbiAgICBpZiAodGhpcy5IYXNQb3NpdGlvbihUb29sdGlwUG9zaXRpb24ubGVmdCkpIHtcclxuICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5sZWZ0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLkhhc1Bvc2l0aW9uKFRvb2x0aXBQb3NpdGlvbi50b3ApKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24udG9wO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLkhhc1Bvc2l0aW9uKFRvb2x0aXBQb3NpdGlvbi5yaWdodCkpIHtcclxuICAgICAgcmV0dXJuIFRvb2x0aXBQb3NpdGlvbi5yaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5IYXNQb3NpdGlvbihUb29sdGlwUG9zaXRpb24uYm90dG9tKSkge1xyXG4gICAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLmJvdHRvbTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBEZWZhdWx0IFBvc2l0aW9uIGlmIGVtcHR5XHJcbiAgICByZXR1cm4gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB3aGV0aGVyIHRoZSBwb3NpdGlvbiBoYXMgYmVlbiBjb25maWd1cmVkXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcG9zaXRpb24gUG9zaXRpb24gdG8gYmUgY2hlY2tlZFxyXG4gICAqL1xyXG4gIHByaXZhdGUgSGFzUG9zaXRpb24ocG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcG9zaXRpb25zID0gdGhpcy5wb3NpdGlvbi5zcGxpdCgnfCcpO1xyXG5cclxuICAgIGlmIChwb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLnJpZ2h0ICYmIHBvc2l0aW9ucy5pbmRleE9mKCdyaWdodCcpID49IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHBvc2l0aW9uID09PSBUb29sdGlwUG9zaXRpb24udG9wICYmIHBvc2l0aW9ucy5pbmRleE9mKCd0b3AnKSA+PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwb3NpdGlvbiA9PT0gVG9vbHRpcFBvc2l0aW9uLmxlZnQgJiYgcG9zaXRpb25zLmluZGV4T2YoJ2xlZnQnKSA+PSAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgcG9zaXRpb24gPT09IFRvb2x0aXBQb3NpdGlvbi5ib3R0b20gJiZcclxuICAgICAgcG9zaXRpb25zLmluZGV4T2YoJ2JvdHRvbScpID49IDBcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEZWZpbmVzIHdoZXRoZXIgQXV0b1Bvc2l0aW9uIGlzIGFjdGl2ZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgSXNBdXRvUG9zaXRpb24oKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBwb3NpdGlvbnMgPSB0aGlzLnBvc2l0aW9uLnNwbGl0KCd8Jyk7XHJcbiAgICByZXR1cm4gcG9zaXRpb25zLmluZGV4T2YoJ2F1dG8nKSA+PSAwO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIHBvc2l0aW9uIGlzIHZhbGlkIG9yIHdoZXRoZXIgdGhlIHRvb2x0aXAgb24gdGhlIHBvc2l0aW9uIGhhcyBzcGFjZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgVmFsaWRhdGVQb3NpdGlvbnMoKTogVG9vbHRpcFBvc2l0aW9uIHtcclxuICAgIC8vIENoZWNrIGlmIENvbnRhaW5lciBpcyBmYWxzZVxyXG4gICAgaWYgKHRoaXMudG9vbHRpcGNvbnRhaW5lciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBUb29sdGlwUG9zaXRpb24ucmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGFsbG93ZWRQb3NpdGlvbnM6IFRvb2x0aXBQb3NpdGlvbiA9IFRvb2x0aXBQb3NpdGlvbi5ub25lO1xyXG4gICAgY29uc3QgYmFzZVBvc2l0aW9uOiBET01SZWN0ID0gdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCB0b29sdGlwUmVjdDogRE9NUmVjdCA9IHRoaXMudG9vbHRpcGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgIGNvbnN0IGxlZnRQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggKyAodGhpcy5nZXRUb29sdGlwT2Zmc2V0KCkgKiAtMSkgPiAwO1xyXG4gICAgY29uc3QgcmlnaHRQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5yaWdodCArIHRvb2x0aXBSZWN0LndpZHRoICsgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCkgPCB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgIGNvbnN0IHRvcFBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLnRvcCAtIHRvb2x0aXBSZWN0LmhlaWdodCA+IDA7XHJcbiAgICBjb25zdCBib3R0b21Qb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5ib3R0b20gKyB0b29sdGlwUmVjdC5oZWlnaHQgPCB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcblxyXG4gICAgY29uc3QgbGVmdEhhbGZQb3NPazogYm9vbGVhbiA9IGJhc2VQb3NpdGlvbi5sZWZ0IC0gdG9vbHRpcFJlY3Qud2lkdGggLyAyID4gMDtcclxuICAgIGNvbnN0IHJpZ2h0SGFsZlBvc09rOiBib29sZWFuID0gYmFzZVBvc2l0aW9uLnJpZ2h0ICsgdG9vbHRpcFJlY3Qud2lkdGggLyAyIDwgd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBjb25zdCB0b3BIYWxmUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24udG9wIC0gdG9vbHRpcFJlY3QuaGVpZ2h0IC8gMiA+IDA7XHJcbiAgICBjb25zdCBib3R0b21IYWxmUG9zT2s6IGJvb2xlYW4gPSBiYXNlUG9zaXRpb24uYm90dG9tICsgdG9vbHRpcFJlY3QuaGVpZ2h0IC8gMiA8IHdpbmRvdy5pbm5lckhlaWdodDtcclxuXHJcbiAgICBpZiAobGVmdFBvc09rICYmIHRvcEhhbGZQb3NPayAmJiBib3R0b21IYWxmUG9zT2spIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2VcclxuICAgICAgYWxsb3dlZFBvc2l0aW9ucyA9IGFsbG93ZWRQb3NpdGlvbnMgfCBUb29sdGlwUG9zaXRpb24ubGVmdDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocmlnaHRQb3NPayAmJiB0b3BIYWxmUG9zT2sgJiYgYm90dG9tSGFsZlBvc09rKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGFsbG93ZWRQb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zIHwgVG9vbHRpcFBvc2l0aW9uLnJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0b3BQb3NPayAmJiBsZWZ0SGFsZlBvc09rICYmIHJpZ2h0SGFsZlBvc09rKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1iaXR3aXNlXHJcbiAgICAgIGFsbG93ZWRQb3NpdGlvbnMgPSBhbGxvd2VkUG9zaXRpb25zIHwgVG9vbHRpcFBvc2l0aW9uLnRvcDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYm90dG9tUG9zT2sgJiYgbGVmdEhhbGZQb3NPayAmJiByaWdodEhhbGZQb3NPaykge1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxyXG4gICAgICBhbGxvd2VkUG9zaXRpb25zID0gYWxsb3dlZFBvc2l0aW9ucyB8IFRvb2x0aXBQb3NpdGlvbi5ib3R0b207XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFsbG93ZWRQb3NpdGlvbnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxjdWxhdGVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgdG9vbHRpcCBmcm9tIGxpbmtzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRMZWZ0UG9zaXRpb24oKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLmNvbnRlbnQgIT09IG51bGwgJiYgdGhpcy5jb250ZW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID49IDEpIHtcclxuICAgICAgICBjb25zdCBjaGlsZEl0ZW0gPSBpdGVtLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRQb3NpdGlvbjogRE9NUmVjdCA9IGNoaWxkSXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgc3dpdGNoICh0aGlzLkdldFRvb2x0aXBQb3NpdGlvbigpKSB7XHJcbiAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi50b3A6XHJcbiAgICAgICAgICAgIHRoaXMuTGVmdFBvcyA9IGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoIC8gMiAtIHRoaXMuZ2V0VG9vbFRpcFdpZHRoKCkgLyAyO1xyXG4gICAgICAgICAgICByZXR1cm4gKGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoIC8gMiAtIHRoaXMuZ2V0VG9vbFRpcFdpZHRoKCkgLyAyXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5yaWdodDpcclxuICAgICAgICAgICAgdGhpcy5MZWZ0UG9zID0gY29udGVudFBvc2l0aW9uLmxlZnQgKyBjb250ZW50UG9zaXRpb24ud2lkdGggKyB0aGlzLmdldFRvb2x0aXBPZmZzZXQoKTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoICsgdGhpcy5nZXRUb29sdGlwT2Zmc2V0KCk7XHJcbiAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b206XHJcbiAgICAgICAgICAgIHRoaXMuTGVmdFBvcyA9IGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoIC8gMiAtIHRoaXMuZ2V0VG9vbFRpcFdpZHRoKCkgLyAyO1xyXG4gICAgICAgICAgICByZXR1cm4gKGNvbnRlbnRQb3NpdGlvbi5sZWZ0ICsgY29udGVudFBvc2l0aW9uLndpZHRoIC8gMiAtIHRoaXMuZ2V0VG9vbFRpcFdpZHRoKCkgLyAyKTtcclxuICAgICAgICAgIGNhc2UgVG9vbHRpcFBvc2l0aW9uLmxlZnQ6XHJcbiAgICAgICAgICAgIHRoaXMuTGVmdFBvcyA9IGNvbnRlbnRQb3NpdGlvbi5sZWZ0IC0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSArICh0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSAqIC0xKTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnRQb3NpdGlvbi5sZWZ0IC0gdGhpcy5nZXRUb29sVGlwV2lkdGgoKSArICh0aGlzLmdldFRvb2x0aXBPZmZzZXQoKSAqIC0xKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGN1bGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvcFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0VG9wUG9zaXRpb24oKTogbnVtYmVyIHtcclxuICAgIGlmICh0aGlzLmNvbnRlbnQgIT09IG51bGwgJiYgdGhpcy5jb250ZW50ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50O1xyXG5cclxuICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4ubGVuZ3RoID49IDEpIHtcclxuICAgICAgICBjb25zdCBjaGlsZEl0ZW0gPSBpdGVtLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRQb3NpdGlvbjogRE9NUmVjdCA9IGNoaWxkSXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgLy8gR2V0IFBvc2l0aW9uIHdpdGggU2Nyb2xsIChTY3JvbGxiYXJzIGluc2lkZSBwYWdlIHNob3VsZCBiZSBzdWJzdHJhY3RlZClcclxuICAgICAgICBjb25zdCBjb250ZW50UG9zaXRpb25Ub3AgPSBjaGlsZEl0ZW0ub2Zmc2V0VG9wICsgdGhpcy5nZXRPZmZzZXRUb3BQYXJlbnQoY2hpbGRJdGVtLm9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudCkgLSB0aGlzLmdldFNjcm9sbFRvcFBhcmVudChjaGlsZEl0ZW0ucGFyZW50RWxlbWVudCk7XHJcblxyXG4gICAgICAgIHN3aXRjaCAodGhpcy5HZXRUb29sdGlwUG9zaXRpb24oKSkge1xyXG4gICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24udG9wOlxyXG4gICAgICAgICAgICB0aGlzLlRvcFBvcyA9IGNvbnRlbnRQb3NpdGlvblRvcCAtIHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpICsgKHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpICogLTEpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uVG9wIC0gdGhpcy5nZXRUb29sVGlwSGVpZ2h0KCkgKyAodGhpcy5nZXRUb29sdGlwT2Zmc2V0KCkgKiAtMSk7XHJcbiAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5yaWdodDpcclxuICAgICAgICAgICAgdGhpcy5Ub3BQb3MgPSBjb250ZW50UG9zaXRpb25Ub3AgKyAoY29udGVudFBvc2l0aW9uLmhlaWdodCAvIDIpIC0gKHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpIC8gMik7XHJcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50UG9zaXRpb25Ub3AgKyAoY29udGVudFBvc2l0aW9uLmhlaWdodCAvIDIpIC0gKHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpIC8gMik7XHJcbiAgICAgICAgICBjYXNlIFRvb2x0aXBQb3NpdGlvbi5ib3R0b206XHJcbiAgICAgICAgICAgIHRoaXMuVG9wUG9zID0gY29udGVudFBvc2l0aW9uVG9wICsgY29udGVudFBvc2l0aW9uLmhlaWdodCArIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpO1xyXG4gICAgICAgICAgICByZXR1cm4gY29udGVudFBvc2l0aW9uVG9wICsgY29udGVudFBvc2l0aW9uLmhlaWdodCArIHRoaXMuZ2V0VG9vbHRpcE9mZnNldCgpO1xyXG4gICAgICAgICAgY2FzZSBUb29sdGlwUG9zaXRpb24ubGVmdDpcclxuICAgICAgICAgICAgdGhpcy5Ub3BQb3MgPSBjb250ZW50UG9zaXRpb25Ub3AgKyBjb250ZW50UG9zaXRpb24uaGVpZ2h0IC8gMiAtIHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpIC8gMjtcclxuICAgICAgICAgICAgcmV0dXJuIChjb250ZW50UG9zaXRpb25Ub3AgKyBjb250ZW50UG9zaXRpb24uaGVpZ2h0IC8gMiAtIHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpIC8gMik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gKGNoaWxkSXRlbS5jbGllbnRUb3AgKyBjaGlsZEl0ZW0ub2Zmc2V0VG9wIC0gKHRoaXMuZ2V0VG9vbFRpcEhlaWdodCgpIC8gMiAtIGNoaWxkSXRlbS5jbGllbnRIZWlnaHQgLyAyKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FsY3VsYXRlcyB0aGUgdG9wIG9mIHRoZSBwYWdlIGluc2lkZSBhbGwgZWxlbWVudHNcclxuICAgKiBAcGFyYW0gZWxlbWVudCBIVE1MIEVsZW1lbnRcclxuICAgKiBAcmV0dXJucyBzdW1tYXJpemVkIHRvcCB2YWx1ZSBmb3IgYWJzb2x1dGUgcG9zaXRpb25cclxuICAgKi9cclxuICBwcml2YXRlIGdldE9mZnNldFRvcFBhcmVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IG51bWJlciB7XHJcbiAgICBpZiAoIWVsZW1lbnQub2Zmc2V0UGFyZW50KSB7XHJcbiAgICAgIHJldHVybiBlbGVtZW50Lm9mZnNldFRvcDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJlbnRWYWx1ZSA9IHRoaXMuZ2V0T2Zmc2V0VG9wUGFyZW50KGVsZW1lbnQub2Zmc2V0UGFyZW50IGFzIEhUTUxFbGVtZW50KTtcclxuICAgIGxldCBvZmZzZXQgPSBlbGVtZW50Lm9mZnNldFRvcDtcclxuICAgIHJldHVybiBwYXJlbnRWYWx1ZSArIG9mZnNldDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhY2x1bGF0ZSBTY3JvbGxiYXJzIGluc2lkZSB0cmVlXHJcbiAgICogQHBhcmFtIGVsZW1lbnQgSFRNTCBFbGVtZW50XHJcbiAgICogQHJldHVybnMgU2Nyb2xsIHRvcCB2YWx1ZSBvZiBlbGVtZW50IHdpdGggYWxsIGNoaWxkc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0U2Nyb2xsVG9wUGFyZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcclxuICAgIC8vIEJvZHkgU2Nyb2xsIHNob3VsZCBub3QgYmUgY2FsY3VsYXRlZFxyXG4gICAgaWYgKCFlbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcGFyZW50VmFsdWUgPSB0aGlzLmdldFNjcm9sbFRvcFBhcmVudChlbGVtZW50LnBhcmVudEVsZW1lbnQpO1xyXG4gICAgcmV0dXJuIHBhcmVudFZhbHVlICsgZWxlbWVudC5zY3JvbGxUb3A7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG4iXSwibWFwcGluZ3MiOiJ5dHREQTBCc0I7QUFBQUEsYUFBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxhQUFBLEdBMUJ0QixPQUdFRSxTQUFTLENBR1RDLEtBQUssQ0FHTEMsU0FBUyxLQUNKLGVBQWUsQ0FDdEIsT0FBU0MsZ0JBQWdCLEtBQVEsNEJBQTRCLENBQzdELE9BQVNDLGVBQWUsS0FBUSx1QkFBdUIsQyxpQ0FFdkQ7Ozs7Ozs7Ozs7R0FXQSxLQUNzQixDQUFBQyxnQkFBZ0IsQ0FpRXBDO0FBRUE7QUFFQTs7O09BSUFDLFlBQTZCQyxLQUF3QixDQUFtQkMsR0FBZSxFQUFBVixhQUFBLEdBQUFXLENBQUEsTUFBQVgsYUFBQSxHQUFBWSxDQUFBLE1BQTFELEtBQUFILEtBQUssQ0FBTEEsS0FBSyxDQUFtQlQsYUFBQSxHQUFBWSxDQUFBLE1BQW1CLEtBQUFGLEdBQUcsQ0FBSEEsR0FBRyxDQWxFM0U7O1dBQUFWLGFBQUEsR0FBQVksQ0FBQSxNQUdRLEtBQUFDLGlCQUFpQixDQUFZLEtBQUssQ0FDMUM7O1dBQUFiLGFBQUEsR0FBQVksQ0FBQSxNQUdpQixLQUFBRSxlQUFlLENBQUcsSUFBVyxDQUFBZCxhQUFBLEdBQUFXLENBQUEsTUFBQVgsYUFBQSxHQUFBWSxDQUFBLE1BQzVDO0FBQ0EsR0FBSSxDQUFDLElBQUksQ0FBQ0MsaUJBQWlCLENBQUUsQ0FBQWIsYUFBQSxHQUFBZSxDQUFBLFNBQUFmLGFBQUEsR0FBQVksQ0FBQSxNQUMzQixPLENBQ0QsS0FBQVosYUFBQSxHQUFBZSxDQUFBLFVB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
@@ -0,0 +1,16 @@
1
+ function cov_2p7urrerar(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\treeview\\ngtreeitemaction.mjs";var hash="7f2166a77968f8f83b8847b0c439c8fe6db8bf3e";var global=new Function("return this")();var gcv="__coverage__";var coverageData={path:"C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\treeview\\ngtreeitemaction.mjs",statementMap:{"0":{start:{line:12,column:8},end:{line:12,column:21}},"1":{start:{line:16,column:8},end:{line:16,column:42}},"2":{start:{line:22,column:26},end:{line:22,column:47}},"3":{start:{line:23,column:28},end:{line:23,column:53}},"4":{start:{line:24,column:8},end:{line:26,column:9}},"5":{start:{line:25,column:12},end:{line:25,column:76}},"6":{start:{line:27,column:8},end:{line:27,column:47}},"7":{start:{line:33,column:8},end:{line:40,column:9}},"8":{start:{line:35,column:16},end:{line:35,column:67}},"9":{start:{line:37,column:16},end:{line:37,column:73}},"10":{start:{line:39,column:16},end:{line:39,column:36}},"11":{start:{line:46,column:8},end:{line:46,column:28}},"12":{start:{line:48,column:13},end:{line:48,column:210}},"13":{start:{line:49,column:13},end:{line:49,column:239}},"14":{start:{line:52,column:0},end:{line:62,column:20}},"15":{start:{line:54,column:42},end:{line:54,column:75}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:11,column:4},end:{line:11,column:5}},loc:{start:{line:11,column:20},end:{line:17,column:5}},line:11},"1":{name:"(anonymous_1)",decl:{start:{line:21,column:4},end:{line:21,column:5}},loc:{start:{line:21,column:15},end:{line:28,column:5}},line:21},"2":{name:"(anonymous_2)",decl:{start:{line:32,column:4},end:{line:32,column:5}},loc:{start:{line:32,column:33},end:{line:41,column:5}},line:32},"3":{name:"(anonymous_3)",decl:{start:{line:45,column:4},end:{line:45,column:5}},loc:{start:{line:45,column:17},end:{line:47,column:5}},line:45},"4":{name:"(anonymous_4)",decl:{start:{line:54,column:28},end:{line:54,column:29}},loc:{start:{line:54,column:40},end:{line:54,column:77}},line:54}},branchMap:{"0":{loc:{start:{line:33,column:8},end:{line:40,column:9}},type:"switch",locations:[{start:{line:34,column:12},end:{line:35,column:67}},{start:{line:36,column:12},end:{line:37,column:73}},{start:{line:38,column:12},end:{line:39,column:36}}],line:33}},s:{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0},f:{"0":0,"1":0,"2":0,"3":0,"4":0},b:{"0":[0,0,0]},inputSourceMap:{version:3,file:"ngtreeitemaction.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/treeview/ngtreeitemaction.ts"],names:[],mappings:"AAAA,OAAO,EACL,SAAS,EAET,YAAY,EACZ,KAAK,EAEL,MAAM,GACP,MAAM,eAAe,CAAC;;AAEvB;;GAEG;AACH,MACa,uBAAuB;IAClC;;;OAGG;IACH,YAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;QA+BlC;;WAEG;QAEH,YAAO,GAAsB,IAAI,YAAY,EAAO,CAAC;IAnChB,CAAC;IAEtC;;OAEG;IACH,QAAQ;QACN,IAAI,WAAW,GAAgB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;QACrD,IAAI,aAAa,GAAgB,WAAW,CAAC,aAAa,CAAC;QAE3D,OAAO,WAAW,CAAC,UAAU,EAAE;YAC7B,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;SACjE;QAED,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAuBD;;OAEG;IACH,cAAc,CAAC,YAAY;QACzB,QAAQ,YAAY,EAAE;YACpB,KAAK,KAAK;gBACR,OAAO,2CAA2C,CAAC;YACrD,KAAK,QAAQ;gBACX,OAAO,iDAAiD,CAAC;YAC3D;gBACE,OAAO,YAAY,CAAC;SACvB;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;+GA7DU,uBAAuB;mGAAvB,uBAAuB;;SAAvB,uBAAuB;4FAAvB,uBAAuB;kBADnC,SAAS;iGAyBC,IAAI;sBAAZ,KAAK;gBAKG,KAAK;sBAAb,KAAK;gBAKG,SAAS;sBAAjB,KAAK;gBAMN,OAAO;sBADN,MAAM",sourcesContent:["import {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\n/**\r\n *Basis Komponente f\xFCr SacTreeItemAction\r\n */\r\n@Directive()\r\nexport class SacTreeItemActionCommon implements OnInit {\r\n /**\r\n * Konstruktor\r\n * @param el Element Referenz\r\n */\r\n constructor(private el: ElementRef) {}\r\n\r\n /**\r\n * lifecycle OnInit hook. Wird aufgeruren sobald das Komponent initialisiert ist.\r\n */\r\n ngOnInit() {\r\n let rootElement: HTMLElement = this.el.nativeElement;\r\n let parentElement: HTMLElement = rootElement.parentElement;\r\n\r\n while (rootElement.firstChild) {\r\n parentElement.insertBefore(rootElement.firstChild, rootElement);\r\n }\r\n\r\n parentElement.removeChild(rootElement);\r\n }\r\n\r\n /**\r\n *Input Property. Akzeptiert das Wert des Object.\r\n */\r\n @Input() item: any;\r\n\r\n /**\r\n * Input Property f\xFCr Title des TreeItemAction\r\n */\r\n @Input() title: string;\r\n\r\n /**\r\n * Input Property f\xFCr Styling des Icon. Deffiniert die Css Klassen des Icon\r\n */\r\n @Input() iconstyle: string;\r\n\r\n /**\r\n * Event wenn auf das Icon geclickt wird\r\n */\r\n @Output()\r\n clicked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n /**\r\n * Die Methode erstellt die CSS Klasse des Icon. Akzeptiert ein Key-word und baut ein vollst\xE4ndige CSS Klasse.\r\n */\r\n transformClass(initialClass) {\r\n switch (initialClass) {\r\n case 'add':\r\n return 'jstree-icon icon icon-base-add jstree-add';\r\n case 'delete':\r\n return 'jstree-icon icon icon-base-delete jstree-delete';\r\n default:\r\n return initialClass;\r\n }\r\n }\r\n\r\n /**\r\n * Die Methode wird das cklickaction Emitter aktivieren.\r\n */\r\n iconaction() {\r\n this.clicked.emit();\r\n }\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7f2166a77968f8f83b8847b0c439c8fe6db8bf3e"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_2p7urrerar=function(){return actualCoverage;};}return actualCoverage;}cov_2p7urrerar();import{Directive,EventEmitter,Input,Output}from'@angular/core';import*as i0 from"@angular/core";/**
3
+ *Basis Komponente für SacTreeItemAction
4
+ */class SacTreeItemActionCommon{/**
5
+ * Konstruktor
6
+ * @param el Element Referenz
7
+ */constructor(el){cov_2p7urrerar().f[0]++;cov_2p7urrerar().s[0]++;this.el=el;/**
8
+ * Event wenn auf das Icon geclickt wird
9
+ */cov_2p7urrerar().s[1]++;this.clicked=new EventEmitter();}/**
10
+ * lifecycle OnInit hook. Wird aufgeruren sobald das Komponent initialisiert ist.
11
+ */ngOnInit(){cov_2p7urrerar().f[1]++;let rootElement=(cov_2p7urrerar().s[2]++,this.el.nativeElement);let parentElement=(cov_2p7urrerar().s[3]++,rootElement.parentElement);cov_2p7urrerar().s[4]++;while(rootElement.firstChild){cov_2p7urrerar().s[5]++;parentElement.insertBefore(rootElement.firstChild,rootElement);}cov_2p7urrerar().s[6]++;parentElement.removeChild(rootElement);}/**
12
+ * Die Methode erstellt die CSS Klasse des Icon. Akzeptiert ein Key-word und baut ein vollständige CSS Klasse.
13
+ */transformClass(initialClass){cov_2p7urrerar().f[2]++;cov_2p7urrerar().s[7]++;switch(initialClass){case'add':cov_2p7urrerar().b[0][0]++;cov_2p7urrerar().s[8]++;return'jstree-icon icon icon-base-add jstree-add';case'delete':cov_2p7urrerar().b[0][1]++;cov_2p7urrerar().s[9]++;return'jstree-icon icon icon-base-delete jstree-delete';default:cov_2p7urrerar().b[0][2]++;cov_2p7urrerar().s[10]++;return initialClass;}}/**
14
+ * Die Methode wird das cklickaction Emitter aktivieren.
15
+ */iconaction(){cov_2p7urrerar().f[3]++;cov_2p7urrerar().s[11]++;this.clicked.emit();}static{cov_2p7urrerar().s[12]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacTreeItemActionCommon,deps:[{token:i0.ElementRef}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_2p7urrerar().s[13]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacTreeItemActionCommon,inputs:{item:"item",title:"title",iconstyle:"iconstyle"},outputs:{clicked:"clicked"},ngImport:i0});}}export{SacTreeItemActionCommon};cov_2p7urrerar().s[14]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacTreeItemActionCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_2p7urrerar().f[4]++;cov_2p7urrerar().s[15]++;return[{type:i0.ElementRef}];},propDecorators:{item:[{type:Input}],title:[{type:Input}],iconstyle:[{type:Input}],clicked:[{type:Output}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd0cmVlaXRlbWFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3RyZWV2aWV3L25ndHJlZWl0ZW1hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7QUFFdkI7O0dBRUc7QUFDSCxNQUNhLHVCQUF1QjtJQUNsQzs7O09BR0c7SUFDSCxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQStCbEM7O1dBRUc7UUFFSCxZQUFPLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFuQ2hCLENBQUM7SUFFdEM7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxXQUFXLEdBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3JELElBQUksYUFBYSxHQUFnQixXQUFXLENBQUMsYUFBYSxDQUFDO1FBRTNELE9BQU8sV0FBVyxDQUFDLFVBQVUsRUFBRTtZQUM3QixhQUFhLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7U0FDakU7UUFFRCxhQUFhLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUF1QkQ7O09BRUc7SUFDSCxjQUFjLENBQUMsWUFBWTtRQUN6QixRQUFRLFlBQVksRUFBRTtZQUNwQixLQUFLLEtBQUs7Z0JBQ1IsT0FBTywyQ0FBMkMsQ0FBQztZQUNyRCxLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxpREFBaUQsQ0FBQztZQUMzRDtnQkFDRSxPQUFPLFlBQVksQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBN0RVLHVCQUF1QjttR0FBdkIsdUJBQXVCOztTQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsU0FBUztpR0F5QkMsSUFBSTtzQkFBWixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1OLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICpCYXNpcyBLb21wb25lbnRlIGbDvHIgU2FjVHJlZUl0ZW1BY3Rpb25cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjVHJlZUl0ZW1BY3Rpb25Db21tb24gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKlxyXG4gICAqIEtvbnN0cnVrdG9yXHJcbiAgICogQHBhcmFtIGVsIEVsZW1lbnQgUmVmZXJlbnpcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBsaWZlY3ljbGUgT25Jbml0IGhvb2suIFdpcmQgYXVmZ2VydXJlbiBzb2JhbGQgZGFzIEtvbXBvbmVudCBpbml0aWFsaXNpZXJ0IGlzdC5cclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCByb290RWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBsZXQgcGFyZW50RWxlbWVudDogSFRNTEVsZW1lbnQgPSByb290RWxlbWVudC5wYXJlbnRFbGVtZW50O1xyXG5cclxuICAgIHdoaWxlIChyb290RWxlbWVudC5maXJzdENoaWxkKSB7XHJcbiAgICAgIHBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHJvb3RFbGVtZW50LmZpcnN0Q2hpbGQsIHJvb3RFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBwYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHJvb3RFbGVtZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqSW5wdXQgUHJvcGVydHkuIEFremVwdGllcnQgZGFzIFdlcnQgZGVzIE9iamVjdC5cclxuICAgKi9cclxuICBASW5wdXQoKSBpdGVtOiBhbnk7XHJcblxyXG4gIC8qKlxyXG4gICAqIElucHV0IFByb3BlcnR5IGbDvHIgVGl0bGUgZGVzIFRyZWVJdGVtQWN0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogSW5wdXQgUHJvcGVydHkgZsO8ciBTdHlsaW5nIGRlcyBJY29uLiBEZWZmaW5pZXJ0IGRpZSBDc3MgS2xhc3NlbiBkZXMgSWNvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb25zdHlsZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBFdmVudCB3ZW5uIGF1ZiBkYXMgSWNvbiBnZWNsaWNrdCB3aXJkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgY2xpY2tlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgZXJzdGVsbHQgZGllIENTUyBLbGFzc2UgZGVzIEljb24uIEFremVwdGllcnQgZWluIEtleS13b3JkIHVuZCBiYXV0IGVpbiB2b2xsc3TDpG5kaWdlIENTUyBLbGFzc2UuXHJcbiAgICovXHJcbiAgdHJhbnNmb3JtQ2xhc3MoaW5pdGlhbENsYXNzKSB7XHJcbiAgICBzd2l0Y2ggKGluaXRpYWxDbGFzcykge1xyXG4gICAgICBjYXNlICdhZGQnOlxyXG4gICAgICAgIHJldHVybiAnanN0cmVlLWljb24gaWNvbiBpY29uLWJhc2UtYWRkIGpzdHJlZS1hZGQnO1xyXG4gICAgICBjYXNlICdkZWxldGUnOlxyXG4gICAgICAgIHJldHVybiAnanN0cmVlLWljb24gaWNvbiBpY29uLWJhc2UtZGVsZXRlIGpzdHJlZS1kZWxldGUnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBpbml0aWFsQ2xhc3M7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSB3aXJkIGRhcyBja2xpY2thY3Rpb24gRW1pdHRlciBha3RpdmllcmVuLlxyXG4gICAqL1xyXG4gIGljb25hY3Rpb24oKSB7XHJcbiAgICB0aGlzLmNsaWNrZWQuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMnA3dXJyZXJhciIsImFjdHVhbENvdmVyYWdlIiwiRGlyZWN0aXZlIiwiRXZlbnRFbWl0dGVyIiwiSW5wdXQiLCJPdXRwdXQiLCJTYWNUcmVlSXRlbUFjdGlvbkNvbW1vbiIsImNvbnN0cnVjdG9yIiwiZWwiLCJmIiwicyIsImNsaWNrZWQiLCJuZ09uSW5pdCIsInJvb3RFbGVtZW50IiwibmF0aXZlRWxlbWVudCIsInBhcmVudEVsZW1lbnQiLCJmaXJzdENoaWxkIiwiaW5zZXJ0QmVmb3JlIiwicmVtb3ZlQ2hpbGQiLCJ0cmFuc2Zvcm1DbGFzcyIsImluaXRpYWxDbGFzcyIsImIiLCJpY29uYWN0aW9uIiwiZW1pdCIsImRlcHMiLCJ0b2tlbiIsImkwIiwiRWxlbWVudFJlZiIsInRhcmdldCIsIsm1ybVGYWN0b3J5VGFyZ2V0IiwiaW5wdXRzIiwiaXRlbSIsInRpdGxlIiwiaWNvbnN0eWxlIiwib3V0cHV0cyIsIm5nSW1wb3J0IiwiZGVjb3JhdG9ycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NhYy1jb21tb24vc3JjL2NvbnRyb2xzL3RyZWV2aWV3L25ndHJlZWl0ZW1hY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKlxyXG4gKkJhc2lzIEtvbXBvbmVudGUgZsO8ciBTYWNUcmVlSXRlbUFjdGlvblxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNUcmVlSXRlbUFjdGlvbkNvbW1vbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBAcGFyYW0gZWwgRWxlbWVudCBSZWZlcmVuelxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIGxpZmVjeWNsZSBPbkluaXQgaG9vay4gV2lyZCBhdWZnZXJ1cmVuIHNvYmFsZCBkYXMgS29tcG9uZW50IGluaXRpYWxpc2llcnQgaXN0LlxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgbGV0IHJvb3RFbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuICAgIGxldCBwYXJlbnRFbGVtZW50OiBIVE1MRWxlbWVudCA9IHJvb3RFbGVtZW50LnBhcmVudEVsZW1lbnQ7XHJcblxyXG4gICAgd2hpbGUgKHJvb3RFbGVtZW50LmZpcnN0Q2hpbGQpIHtcclxuICAgICAgcGFyZW50RWxlbWVudC5pbnNlcnRCZWZvcmUocm9vdEVsZW1lbnQuZmlyc3RDaGlsZCwgcm9vdEVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQocm9vdEVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpJbnB1dCBQcm9wZXJ0eS4gQWt6ZXB0aWVydCBkYXMgV2VydCBkZXMgT2JqZWN0LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGl0ZW06IGFueTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5wdXQgUHJvcGVydHkgZsO8ciBUaXRsZSBkZXMgVHJlZUl0ZW1BY3Rpb25cclxuICAgKi9cclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBJbnB1dCBQcm9wZXJ0eSBmw7xyIFN0eWxpbmcgZGVzIEljb24uIERlZmZpbmllcnQgZGllIENzcyBLbGFzc2VuIGRlcyBJY29uXHJcbiAgICovXHJcbiAgQElucHV0KCkgaWNvbnN0eWxlOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50IHdlbm4gYXVmIGRhcyBJY29uIGdlY2xpY2t0IHdpcmRcclxuICAgKi9cclxuICBAT3V0cHV0KClcclxuICBjbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBEaWUgTWV0aG9kZSBlcnN0ZWxsdCBkaWUgQ1NTIEtsYXNzZSBkZXMgSWNvbi4gQWt6ZXB0aWVydCBlaW4gS2V5LXdvcmQgdW5kIGJhdXQgZWluIHZvbGxzdMOkbmRpZ2UgQ1NTIEtsYXNzZS5cclxuICAgKi9cclxuICB0cmFuc2Zvcm1DbGFzcyhpbml0aWFsQ2xhc3MpIHtcclxuICAgIHN3aXRjaCAoaW5pdGlhbENsYXNzKSB7XHJcbiAgICAgIGNhc2UgJ2FkZCc6XHJcbiAgICAgICAgcmV0dXJuICdqc3RyZWUtaWNvbiBpY29uIGljb24tYmFzZS1hZGQganN0cmVlLWFkZCc7XHJcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XHJcbiAgICAgICAgcmV0dXJuICdqc3RyZWUtaWNvbiBpY29uIGljb24tYmFzZS1kZWxldGUganN0cmVlLWRlbGV0ZSc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGluaXRpYWxDbGFzcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIHdpcmQgZGFzIGNrbGlja2FjdGlvbiBFbWl0dGVyIGFrdGl2aWVyZW4uXHJcbiAgICovXHJcbiAgaWNvbmFjdGlvbigpIHtcclxuICAgIHRoaXMuY2xpY2tlZC5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6IndvTEFxREU7QUFBQUEsY0FBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxjQUFBLEdBckRGLE9BQ0VFLFNBQVMsQ0FFVEMsWUFBWSxDQUNaQyxLQUFLLENBRUxDLE1BQU0sS0FDRCxlQUFlLEMsaUNBRXRCOztHQUdBLEtBQ2EsQ0FBQUMsdUJBQXVCLENBQ2xDOzs7T0FJQUMsWUFBb0JDLEVBQWMsRUFBQVIsY0FBQSxHQUFBUyxDQUFBLE1BQUFULGNBQUEsR0FBQVUsQ0FBQSxNQUFkLEtBQUFGLEVBQUUsQ0FBRkEsRUFBRSxDQStCdEI7O1dBQUFSLGNBQUEsR0FBQVUsQ0FBQSxNQUlBLEtBQUFDLE9BQU8sQ0FBc0IsR0FBSSxDQUFBUixZQUFZLEVBQU8sQ0FuQ2YsQ0FFckM7O09BR0FTLFFBQVFBLENBQUEsRUFBQVosY0FBQSxHQUFBUyxDQUFBLE1BQ04sR0FBSSxDQUFBSSxXQUFXLEVBQUFiLGNBQUEsR0FBQVUsQ0FBQSxNQUFnQixJQUFJLENBQUNGLEVBQUUsQ0FBQ00sYUFBYSxFQUNwRCxHQUFJLENBQUFDLGFBQWEsRUFBQWYsY0FBQSxHQUFBVSxDQUFBLE1BQWdCRyxXQUFXLENBQUNFLGFBQWEsRUFBQ2YsY0FBQSxHQUFBVSxDQUFBLE1BRTNELE1BQU9HLFdBQVcsQ0FBQ0csVUFBVSxDQUFFLENBQUFoQixjQUFBLEdBQUFVLENBQUEsTUFDN0JLLGFBQWEsQ0FBQ0UsWUFBWSxDQUFDSixXQUFXLENBQUNHLFVBQVUsQ0FBRUgsV0FBVyxDQUFDLEMsQ0FDaEViLGNBQUEsR0FBQVUsQ0FBQSxNQUVESyxhQUFhLENBQUNHLFdBQVcsQ0FBQ0wsV0FBVyxDQUFDLENBQ3hDLENBdUJBOztPQUdBTSxjQUFjQSxDQUFDQyxZQUFZLEVBQUFwQixjQUFBLEdBQUFTLENBQUEsTUFBQVQsY0FBQSxHQUFBVSxDQUFBLE1BQ3pCLE9BQVFVLFlBQVksRUFDbEIsSUFBSyxLQUFLLENBQUFwQixjQUFBLEdBQUFxQixDQUFBLFNBQUFyQixjQUFBLEdBQUFVLENBQUEsTUFDUixNQUFPLDJDQUEyQyxDQUNwRCxJQUFLLFFBQVEsQ0FBQVYsY0FBQSxHQUFBcUIsQ0FBQSxTQUFBckIsY0FBQSxHQUFBVSxDQUFBLE1BQ1gsTUFBTyxpREFBaUQsQ0FDMUQsUUFBQVYsY0FBQSxHQUFBcUIsQ0FBQSxTQUFBckIsY0FBQSxHQUFBVSxDQUFBLE9BQ0UsTUFBTyxDQUFBVSxZQUFZLEMsQ0FFekIsQ0FFQTs7T0FHQUUsVUFBVUEsQ0FBQSxFQUFBdEIsY0FBQSxHQUFBUyxDQUFBLE1BQUFULGNBQUEsR0FBQVUsQ0FBQSxPQUNSLElBQUksQ0FBQ0MsT0FBTyxDQUFDWSxJQUFJLEVBQUUsQ0FDckIsQyx3SEE3RFdqQix1QkFBdUIsQ0FBQWtCLElBQUEsR0FBQUMsS0FBQSxDQUFBQyxFQUFBLENBQUFDLFVBQUEsR0FBQUMsTUFBQSxDQUFBRixFQUFBLENBQUFHLGVBQUEsQ0FBQTNCLFNBQUEsSSw4R0FBdkJJLHVCQUF1QixDQUFBd0IsTUFBQSxFQUFBQyxJQUFBLFFBQUFDLEtBQUEsU0FBQUMsU0FBQSxjQUFBQyxPQUFBLEVBQUF2QixPQUFBLFlBQUF3QixRQUFBLENBQUFULEVBQUEsSSxRQUF2QnBCLHVCQUF1QixFQUFBTixjQUFBLEdBQUFVLENBQUEsTyxvRkFBdkJKLHVCQUF1QixDQUFBOEIsVUFBQSxHLEtBRG5DbEMsUyw2SEF5QlU2QixJQUFJLEcsS0FBWjNCLEssR0FLUTRCLEtBQUssRyxLQUFiNUIsSyxHQUtRNkIsU0FBUyxHLEtBQWpCN0IsSyxHQU1ETyxPQUFPLEcsS0FETk4sTSJ9