@simpleangularcontrols/sac-common 16.0.0-rc.3 → 16.0.0-rc.5

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 (202) hide show
  1. package/common/basedatetimecontrol.d.ts.map +1 -1
  2. package/common/basemodelcontrol.d.ts +24 -1
  3. package/common/basemodelcontrol.d.ts.map +1 -1
  4. package/common/baseuploadcontrol.d.ts.map +1 -1
  5. package/components/browser/browser.d.ts +11 -6
  6. package/components/browser/browser.d.ts.map +1 -1
  7. package/controls/buttons/button.d.ts +23 -22
  8. package/controls/buttons/button.d.ts.map +1 -1
  9. package/controls/checkbox/radiobutton.d.ts +9 -0
  10. package/controls/checkbox/radiobutton.d.ts.map +1 -1
  11. package/controls/checkbox/radiobuttons.d.ts +20 -20
  12. package/controls/checkbox/radiobuttons.d.ts.map +1 -1
  13. package/controls/confirm/confirm.button.d.ts +14 -8
  14. package/controls/confirm/confirm.button.d.ts.map +1 -1
  15. package/controls/confirm/confirm.service.d.ts +24 -19
  16. package/controls/confirm/confirm.service.d.ts.map +1 -1
  17. package/controls/datetime/date.d.ts +33 -33
  18. package/controls/datetime/date.d.ts.map +1 -1
  19. package/controls/datetime/datetime.d.ts +31 -31
  20. package/controls/datetime/datetime.d.ts.map +1 -1
  21. package/controls/datetime/time.d.ts +29 -29
  22. package/controls/datetime/time.d.ts.map +1 -1
  23. package/controls/grid/grid.d.ts +57 -54
  24. package/controls/grid/grid.d.ts.map +1 -1
  25. package/controls/grid/paging.d.ts +70 -67
  26. package/controls/grid/paging.d.ts.map +1 -1
  27. package/controls/input/input.d.ts +11 -11
  28. package/controls/input/input.d.ts.map +1 -1
  29. package/controls/input/inputdecimal.d.ts.map +1 -1
  30. package/controls/input/inputemail.d.ts.map +1 -1
  31. package/controls/input/inputinteger.d.ts +21 -21
  32. package/controls/input/inputinteger.d.ts.map +1 -1
  33. package/controls/input/inputpassword.d.ts +5 -5
  34. package/controls/input/inputpassword.d.ts.map +1 -1
  35. package/controls/layout/formlayout.d.ts +14 -9
  36. package/controls/layout/formlayout.d.ts.map +1 -1
  37. package/controls/list/dropdown.d.ts.map +1 -1
  38. package/controls/list/listbox.d.ts +20 -20
  39. package/controls/list/listbox.d.ts.map +1 -1
  40. package/controls/multilanguage/multilanguageinput.d.ts +31 -31
  41. package/controls/multilanguage/multilanguageinput.d.ts.map +1 -1
  42. package/controls/multilanguage/multilanguageinputarea.d.ts +34 -34
  43. package/controls/multilanguage/multilanguageinputarea.d.ts.map +1 -1
  44. package/controls/tinymce/tinymce.d.ts.map +1 -1
  45. package/controls/upload/dropzonemultiple.d.ts +24 -24
  46. package/controls/upload/dropzonemultiple.d.ts.map +1 -1
  47. package/controls/upload/uploadmultiple.d.ts +9 -9
  48. package/controls/upload/uploadmultiple.d.ts.map +1 -1
  49. package/controls/validation/validationsummary.d.ts +18 -13
  50. package/controls/validation/validationsummary.d.ts.map +1 -1
  51. package/enums/ButtonRoleType.d.ts +2 -0
  52. package/enums/ButtonRoleType.d.ts.map +1 -0
  53. package/enums/ControlHeight.d.ts +18 -0
  54. package/enums/ControlHeight.d.ts.map +1 -0
  55. package/esm2022/common/basedatetimecontrol.mjs +32 -148
  56. package/esm2022/common/baseinputcontrol.mjs +20 -77
  57. package/esm2022/common/baselistcontrol.mjs +11 -56
  58. package/esm2022/common/basemodelcontrol.mjs +81 -393
  59. package/esm2022/common/baseselectcontrol.mjs +6 -27
  60. package/esm2022/common/baseuploadcontrol.mjs +64 -389
  61. package/esm2022/components/browser/browser.mjs +66 -474
  62. package/esm2022/components/browser/models/browserfile.mjs +3 -2
  63. package/esm2022/components/browser/models/browserfiledeleterequest.mjs +5 -10
  64. package/esm2022/components/browser/models/browserfilerenamerequest.mjs +5 -10
  65. package/esm2022/components/browser/models/browserfileresponse.mjs +3 -2
  66. package/esm2022/components/browser/models/browserfilesaverequest.mjs +5 -10
  67. package/esm2022/components/browser/models/browsernode.mjs +3 -2
  68. package/esm2022/components/browser/models/browsernodedeleterequest.mjs +5 -10
  69. package/esm2022/components/browser/models/browsernodenewrequest.mjs +5 -10
  70. package/esm2022/components/browser/models/browsernoderenamerequest.mjs +5 -10
  71. package/esm2022/components/browser/models/browsernoderequest.mjs +5 -10
  72. package/esm2022/components/browser/models/browsernoderesponse.mjs +3 -2
  73. package/esm2022/controls/buttons/button.mjs +32 -131
  74. package/esm2022/controls/checkbox/checkbox.mjs +7 -34
  75. package/esm2022/controls/checkbox/radiobutton.mjs +24 -98
  76. package/esm2022/controls/checkbox/radiobuttons.mjs +26 -104
  77. package/esm2022/controls/confirm/confirm.button.mjs +17 -21
  78. package/esm2022/controls/confirm/confirm.mjs +19 -69
  79. package/esm2022/controls/confirm/confirm.service.mjs +29 -74
  80. package/esm2022/controls/contextmenu/contextmenu.mjs +31 -169
  81. package/esm2022/controls/contextmenu/contextmenuanchor.mjs +7 -20
  82. package/esm2022/controls/contextmenu/contextmenucontainer.mjs +7 -20
  83. package/esm2022/controls/contextmenu/contextmenuitem.mjs +4 -13
  84. package/esm2022/controls/contextmenu/contextmenuitembutton.mjs +15 -91
  85. package/esm2022/controls/datetime/date.mjs +39 -203
  86. package/esm2022/controls/datetime/dateselector.mjs +65 -409
  87. package/esm2022/controls/datetime/datetime.mjs +41 -220
  88. package/esm2022/controls/datetime/time.mjs +38 -201
  89. package/esm2022/controls/dialog/dialog.mjs +33 -194
  90. package/esm2022/controls/form/form.mjs +24 -96
  91. package/esm2022/controls/grid/grid.mjs +39 -146
  92. package/esm2022/controls/grid/gridbutton.mjs +9 -52
  93. package/esm2022/controls/grid/gridcolumn.mjs +9 -41
  94. package/esm2022/controls/grid/gridcolumnaction.mjs +5 -20
  95. package/esm2022/controls/grid/gridcolumnbase.mjs +20 -114
  96. package/esm2022/controls/grid/gridimage.mjs +4 -15
  97. package/esm2022/controls/grid/model.mjs +16 -59
  98. package/esm2022/controls/grid/paging.mjs +65 -232
  99. package/esm2022/controls/input/input.mjs +17 -65
  100. package/esm2022/controls/input/inputarea.mjs +10 -53
  101. package/esm2022/controls/input/inputcurrency.mjs +4 -14
  102. package/esm2022/controls/input/inputdecimal.mjs +25 -140
  103. package/esm2022/controls/input/inputemail.mjs +10 -37
  104. package/esm2022/controls/input/inputinteger.mjs +32 -127
  105. package/esm2022/controls/input/inputpassword.mjs +12 -43
  106. package/esm2022/controls/input/inputsearch.mjs +8 -37
  107. package/esm2022/controls/layout/formlayout.mjs +20 -65
  108. package/esm2022/controls/list/dropdown.mjs +54 -219
  109. package/esm2022/controls/list/listbox.mjs +40 -159
  110. package/esm2022/controls/multilanguage/multilanguageinput.mjs +45 -213
  111. package/esm2022/controls/multilanguage/multilanguageinputarea.mjs +48 -215
  112. package/esm2022/controls/static/formcontainer.mjs +10 -44
  113. package/esm2022/controls/static/staticlabel.mjs +7 -28
  114. package/esm2022/controls/tabs/tab.mjs +14 -68
  115. package/esm2022/controls/tabs/tabitem.mjs +7 -37
  116. package/esm2022/controls/tinymce/tinymce.mjs +41 -218
  117. package/esm2022/controls/tinymce/tinymcedialogsettings.mjs +5 -10
  118. package/esm2022/controls/tinymce/tinymcedialogsettingsmeta.mjs +4 -4
  119. package/esm2022/controls/tinymce/tinymceinstance.mjs +3 -2
  120. package/esm2022/controls/tooltip/tooltip.mjs +46 -327
  121. package/esm2022/controls/treeview/ngtreeitemaction.mjs +9 -56
  122. package/esm2022/controls/treeview/treeview.mjs +53 -299
  123. package/esm2022/controls/treeview/treeviewchild.mjs +5 -19
  124. package/esm2022/controls/upload/dropzonemultiple.mjs +32 -152
  125. package/esm2022/controls/upload/dropzonesingle.mjs +12 -91
  126. package/esm2022/controls/upload/uploadmultiple.mjs +21 -111
  127. package/esm2022/controls/upload/uploadsingle.mjs +8 -50
  128. package/esm2022/controls/validation/validationsummary.mjs +23 -120
  129. package/esm2022/controls/wizard/wizard.mjs +20 -128
  130. package/esm2022/controls/wizard/wizarditem.mjs +6 -31
  131. package/esm2022/enums/ButtonRoleType.mjs +3 -0
  132. package/esm2022/enums/ControlHeight.mjs +11 -0
  133. package/esm2022/enums/IconType.mjs +4 -8
  134. package/esm2022/interfaces/ISacConfigurationService.mjs +3 -0
  135. package/esm2022/interfaces/ISacFileBrowserService.mjs +3 -2
  136. package/esm2022/interfaces/ISacIconService.mjs +3 -2
  137. package/esm2022/interfaces/ISacLabelSizes.mjs +3 -2
  138. package/esm2022/interfaces/ISacLanguageService.mjs +3 -2
  139. package/esm2022/interfaces/ISacLocalisationService.mjs +3 -2
  140. package/esm2022/interfaces/ISacValidationKeyService.mjs +3 -0
  141. package/esm2022/interfaces/iabstractcontrollabel.mjs +3 -2
  142. package/esm2022/interfaces/iconfirmcomponent.mjs +3 -2
  143. package/esm2022/interfaces/idatetimecontrol.mjs +3 -2
  144. package/esm2022/interfaces/iuploadcontrol.mjs +3 -2
  145. package/esm2022/models/languagemodel.mjs +5 -11
  146. package/esm2022/public_api.mjs +23 -95
  147. package/esm2022/services/index.mjs +3 -5
  148. package/esm2022/services/sac-configuration.service.mjs +25 -0
  149. package/esm2022/services/sac-filebrowser.service.mjs +15 -167
  150. package/esm2022/services/sac-icon.service.mjs +49 -155
  151. package/esm2022/services/sac-language.service.mjs +7 -45
  152. package/esm2022/services/sac-localisation.service.mjs +33 -428
  153. package/esm2022/services/sac-validationkey.service.mjs +7 -0
  154. package/esm2022/simpleangularcontrols-sac-common.mjs +4 -4
  155. package/esm2022/utilities/convertion.mjs +6 -26
  156. package/esm2022/utilities/datatypes.mjs +4 -6
  157. package/esm2022/utilities/enums.mjs +8 -15
  158. package/esm2022/utilities/guid.mjs +6 -0
  159. package/esm2022/utilities/interpolation.mjs +7 -42
  160. package/esm2022/utilities/positioning.mjs +23 -266
  161. package/esm2022/validation/email.validator.mjs +3 -13
  162. package/esm2022/validation/index.mjs +3 -3
  163. package/esm2022/validation/invaliddate.validator.mjs +3 -14
  164. package/esm2022/validation/isDateValid.mjs +5 -14
  165. package/esm2022/validation/maxdate.validator.mjs +4 -21
  166. package/esm2022/validation/maxtime.validator.mjs +4 -21
  167. package/esm2022/validation/maxvalue.validator.mjs +3 -16
  168. package/esm2022/validation/mindate.validator.mjs +4 -21
  169. package/esm2022/validation/minfiles.validator.mjs +4 -19
  170. package/esm2022/validation/minlength.validator.mjs +3 -21
  171. package/esm2022/validation/mintime.validator.mjs +4 -21
  172. package/esm2022/validation/minvalue.validator.mjs +3 -16
  173. package/esm2022/validation/multilanguagerequired.validator.mjs +3 -22
  174. package/esm2022/validation/multilanguagerequiredany.validator.mjs +3 -22
  175. package/esm2022/validation/pattern.validator.mjs +3 -16
  176. package/esm2022/validation/required.validator.mjs +3 -13
  177. package/esm2022/validation/validation.mjs +20 -99
  178. package/esm2022/validation/validationerrorcreator.mjs +3 -11
  179. package/esm2022/validation/validationerroritem.mjs +7 -19
  180. package/fesm2022/simpleangularcontrols-sac-common.mjs +1638 -8935
  181. package/fesm2022/simpleangularcontrols-sac-common.mjs.map +1 -1
  182. package/interfaces/ISacConfigurationService.d.ts +35 -0
  183. package/interfaces/ISacConfigurationService.d.ts.map +1 -0
  184. package/interfaces/ISacIconService.d.ts +2 -2
  185. package/interfaces/ISacIconService.d.ts.map +1 -1
  186. package/interfaces/ISacValidationKeyService.d.ts +53 -0
  187. package/interfaces/ISacValidationKeyService.d.ts.map +1 -0
  188. package/package.json +2 -2
  189. package/public_api.d.ts +4 -1
  190. package/public_api.d.ts.map +1 -1
  191. package/services/index.d.ts +6 -4
  192. package/services/index.d.ts.map +1 -1
  193. package/services/sac-configuration.service.d.ts +76 -0
  194. package/services/sac-configuration.service.d.ts.map +1 -0
  195. package/services/sac-localisation.service.d.ts +103 -97
  196. package/services/sac-localisation.service.d.ts.map +1 -1
  197. package/services/sac-validationkey.service.d.ts +59 -0
  198. package/services/sac-validationkey.service.d.ts.map +1 -0
  199. package/simpleangularcontrols-sac-common-16.0.0-rc.5.tgz +0 -0
  200. package/utilities/guid.d.ts +5 -0
  201. package/utilities/guid.d.ts.map +1 -0
  202. package/simpleangularcontrols-sac-common-16.0.0-rc.3.tgz +0 -0
@@ -1,128 +1,31 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { UntypedFormGroup } from '@angular/forms';
3
- import { SacDefaultLocalisationService, SACLOCALISATION_SERVICE, } from '../../services/sac-localisation.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "../form/form";
6
- /**
1
+ function cov_2rbvmloja1(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\validation\\validationsummary.mjs";var hash="ca2a0a4350d362d9d55ef65ae4e891c7e5b6ae9d";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\\validation\\validationsummary.mjs",statementMap:{"0":{start:{line:21,column:8},end:{line:21,column:23}},"1":{start:{line:22,column:8},end:{line:22,column:29}},"2":{start:{line:23,column:8},end:{line:23,column:113}},"3":{start:{line:24,column:8},end:{line:24,column:134}},"4":{start:{line:32,column:27},end:{line:32,column:38}},"5":{start:{line:34,column:8},end:{line:46,column:9}},"6":{start:{line:35,column:12},end:{line:35,column:50}},"7":{start:{line:37,column:13},end:{line:46,column:9}},"8":{start:{line:38,column:12},end:{line:38,column:33}},"9":{start:{line:40,column:12},end:{line:42,column:13}},"10":{start:{line:41,column:16},end:{line:41,column:60}},"11":{start:{line:45,column:12},end:{line:45,column:44}},"12":{start:{line:47,column:22},end:{line:49,column:10}},"13":{start:{line:48,column:12},end:{line:48,column:42}},"14":{start:{line:50,column:8},end:{line:50,column:51}},"15":{start:{line:51,column:8},end:{line:51,column:58}},"16":{start:{line:51,column:43},end:{line:51,column:56}},"17":{start:{line:57,column:8},end:{line:57,column:42}},"18":{start:{line:67,column:8},end:{line:69,column:9}},"19":{start:{line:68,column:12},end:{line:68,column:19}},"20":{start:{line:70,column:21},end:{line:70,column:44}},"21":{start:{line:71,column:8},end:{line:73,column:9}},"22":{start:{line:72,column:12},end:{line:72,column:19}},"23":{start:{line:74,column:26},end:{line:74,column:45}},"24":{start:{line:76,column:27},end:{line:76,column:29}},"25":{start:{line:77,column:8},end:{line:81,column:9}},"26":{start:{line:78,column:12},end:{line:80,column:15}},"27":{start:{line:79,column:16},end:{line:79,column:34}},"28":{start:{line:82,column:8},end:{line:87,column:9}},"29":{start:{line:83,column:12},end:{line:83,column:51}},"30":{start:{line:86,column:12},end:{line:86,column:54}},"31":{start:{line:88,column:8},end:{line:88,column:115}},"32":{start:{line:94,column:8},end:{line:118,column:11}},"33":{start:{line:95,column:12},end:{line:117,column:13}},"34":{start:{line:96,column:16},end:{line:96,column:59}},"35":{start:{line:99,column:16},end:{line:116,column:19}},"36":{start:{line:100,column:36},end:{line:100,column:60}},"37":{start:{line:102,column:20},end:{line:104,column:21}},"38":{start:{line:103,column:24},end:{line:103,column:31}},"39":{start:{line:106,column:20},end:{line:115,column:21}},"40":{start:{line:107,column:24},end:{line:107,column:71}},"41":{start:{line:111,column:38},end:{line:113,column:26}},"42":{start:{line:112,column:28},end:{line:112,column:61}},"43":{start:{line:114,column:24},end:{line:114,column:67}},"44":{start:{line:120,column:13},end:{line:120,column:240}},"45":{start:{line:121,column:13},end:{line:121,column:215}},"46":{start:{line:124,column:0},end:{line:132,column:20}},"47":{start:{line:126,column:42},end:{line:126,column:101}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:17,column:4},end:{line:17,column:5}},loc:{start:{line:17,column:34},end:{line:25,column:5}},line:17},"1":{name:"(anonymous_1)",decl:{start:{line:31,column:4},end:{line:31,column:5}},loc:{start:{line:31,column:21},end:{line:52,column:5}},line:31},"2":{name:"(anonymous_2)",decl:{start:{line:47,column:57},end:{line:47,column:58}},loc:{start:{line:47,column:66},end:{line:49,column:9}},line:47},"3":{name:"(anonymous_3)",decl:{start:{line:51,column:33},end:{line:51,column:34}},loc:{start:{line:51,column:43},end:{line:51,column:56}},line:51},"4":{name:"(anonymous_4)",decl:{start:{line:56,column:4},end:{line:56,column:5}},loc:{start:{line:56,column:20},end:{line:58,column:5}},line:56},"5":{name:"(anonymous_5)",decl:{start:{line:66,column:4},end:{line:66,column:5}},loc:{start:{line:66,column:42},end:{line:89,column:5}},line:66},"6":{name:"(anonymous_6)",decl:{start:{line:78,column:41},end:{line:78,column:42}},loc:{start:{line:78,column:51},end:{line:80,column:13}},line:78},"7":{name:"(anonymous_7)",decl:{start:{line:93,column:4},end:{line:93,column:5}},loc:{start:{line:93,column:45},end:{line:119,column:5}},line:93},"8":{name:"(anonymous_8)",decl:{start:{line:94,column:25},end:{line:94,column:26}},loc:{start:{line:94,column:34},end:{line:118,column:9}},line:94},"9":{name:"(anonymous_9)",decl:{start:{line:99,column:46},end:{line:99,column:47}},loc:{start:{line:99,column:62},end:{line:116,column:17}},line:99},"10":{name:"(anonymous_10)",decl:{start:{line:111,column:72},end:{line:111,column:73}},loc:{start:{line:111,column:85},end:{line:113,column:25}},line:111},"11":{name:"(anonymous_11)",decl:{start:{line:126,column:28},end:{line:126,column:29}},loc:{start:{line:126,column:40},end:{line:126,column:103}},line:126}},branchMap:{"0":{loc:{start:{line:34,column:8},end:{line:46,column:9}},type:"if",locations:[{start:{line:34,column:8},end:{line:46,column:9}},{start:{line:34,column:8},end:{line:46,column:9}}],line:34},"1":{loc:{start:{line:37,column:13},end:{line:46,column:9}},type:"if",locations:[{start:{line:37,column:13},end:{line:46,column:9}},{start:{line:37,column:13},end:{line:46,column:9}}],line:37},"2":{loc:{start:{line:40,column:12},end:{line:42,column:13}},type:"if",locations:[{start:{line:40,column:12},end:{line:42,column:13}},{start:{line:40,column:12},end:{line:42,column:13}}],line:40},"3":{loc:{start:{line:67,column:8},end:{line:69,column:9}},type:"if",locations:[{start:{line:67,column:8},end:{line:69,column:9}},{start:{line:67,column:8},end:{line:69,column:9}}],line:67},"4":{loc:{start:{line:67,column:12},end:{line:67,column:78}},type:"binary-expr",locations:[{start:{line:67,column:12},end:{line:67,column:31}},{start:{line:67,column:35},end:{line:67,column:56}},{start:{line:67,column:60},end:{line:67,column:78}}],line:67},"5":{loc:{start:{line:71,column:8},end:{line:73,column:9}},type:"if",locations:[{start:{line:71,column:8},end:{line:73,column:9}},{start:{line:71,column:8},end:{line:73,column:9}}],line:71},"6":{loc:{start:{line:77,column:8},end:{line:81,column:9}},type:"if",locations:[{start:{line:77,column:8},end:{line:81,column:9}},{start:{line:77,column:8},end:{line:81,column:9}}],line:77},"7":{loc:{start:{line:77,column:12},end:{line:77,column:79}},type:"binary-expr",locations:[{start:{line:77,column:12},end:{line:77,column:41}},{start:{line:77,column:45},end:{line:77,column:79}}],line:77},"8":{loc:{start:{line:82,column:8},end:{line:87,column:9}},type:"if",locations:[{start:{line:82,column:8},end:{line:87,column:9}},{start:{line:82,column:8},end:{line:87,column:9}}],line:82},"9":{loc:{start:{line:95,column:12},end:{line:117,column:13}},type:"if",locations:[{start:{line:95,column:12},end:{line:117,column:13}},{start:{line:95,column:12},end:{line:117,column:13}}],line:95},"10":{loc:{start:{line:95,column:16},end:{line:95,column:67}},type:"binary-expr",locations:[{start:{line:95,column:16},end:{line:95,column:42}},{start:{line:95,column:46},end:{line:95,column:67}}],line:95},"11":{loc:{start:{line:102,column:20},end:{line:104,column:21}},type:"if",locations:[{start:{line:102,column:20},end:{line:104,column:21}},{start:{line:102,column:20},end:{line:104,column:21}}],line:102},"12":{loc:{start:{line:102,column:24},end:{line:102,column:75}},type:"binary-expr",locations:[{start:{line:102,column:24},end:{line:102,column:49}},{start:{line:102,column:53},end:{line:102,column:75}}],line:102},"13":{loc:{start:{line:106,column:20},end:{line:115,column:21}},type:"if",locations:[{start:{line:106,column:20},end:{line:115,column:21}},{start:{line:106,column:20},end:{line:115,column:21}}],line:106},"14":{loc:{start:{line:106,column:24},end:{line:106,column:83}},type:"binary-expr",locations:[{start:{line:106,column:24},end:{line:106,column:54}},{start:{line:106,column:58},end:{line:106,column:83}}],line:106}},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},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},b:{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,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]},inputSourceMap:{version:3,file:"validationsummary.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/validation/validationsummary.ts"],names:[],mappings:"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",sourcesContent:["import { Directive, Injector, Input } from '@angular/core';\r\nimport {\r\n AbstractControl,\r\n FormArray,\r\n NgForm,\r\n UntypedFormArray,\r\n UntypedFormGroup,\r\n} from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { ISacLocalisationService } from '../../interfaces/ISacLocalisationService';\r\nimport { ISacValidationKeyService } from '../../interfaces/ISacValidationKeyService';\r\nimport { IAbstractControlLabelExtension } from '../../interfaces/iabstractcontrollabel';\r\nimport {\r\n SACLOCALISATION_SERVICE,\r\n SacDefaultLocalisationService,\r\n} from '../../services/sac-localisation.service';\r\nimport {\r\n SACVALIDATIONKEY_SERVICE,\r\n SacDefaultValidationKeyService,\r\n} from '../../services/sac-validationkey.service';\r\nimport { ValidationErrorItem } from '../../validation';\r\nimport { SacFormCommon } from '../form/form';\r\n\r\n/**\r\n * Basis Komponente f\xFCr SacValidationSummary\r\n */\r\n@Directive()\r\nexport class SacValidationSummaryCommon {\r\n // #region Properties\r\n\r\n /**\r\n * Service f\xFCr Error Localisation\r\n */\r\n protected lngResourceService: ISacLocalisationService;\r\n /**\r\n * Parent Formular\r\n */\r\n protected parent: SacFormCommon;\r\n /**\r\n * Service to receive standard validation message keys and texts\r\n */\r\n protected validationKeyService: ISacValidationKeyService;\r\n\r\n /**\r\n * reactive form instance\r\n */\r\n @Input()\r\n public form: UntypedFormGroup;\r\n /**\r\n * Form groupname to filter summary to formgroup\r\n *\r\n * Important: it works only in reactive forms mode.\r\n */\r\n @Input()\r\n public formGroupName: string;\r\n /**\r\n * Name-Property\r\n */\r\n @Input()\r\n public name: string = '';\r\n\r\n // #endregion Properties\r\n\r\n // #region Constructors\r\n\r\n /**\r\n * Konstruktor\r\n * Inject des Formulars\r\n */\r\n constructor(parent: SacFormCommon, injector: Injector) {\r\n this.parent = parent;\r\n\r\n this.validationKeyService = injector.get(\r\n SACVALIDATIONKEY_SERVICE,\r\n new SacDefaultValidationKeyService()\r\n );\r\n this.lngResourceService = injector.get(\r\n SACLOCALISATION_SERVICE,\r\n new SacDefaultLocalisationService(this.validationKeyService)\r\n );\r\n }\r\n\r\n // #endregion Constructors\r\n\r\n // #region Public Getters And Setters\r\n\r\n /**\r\n * Validation Methode\r\n */\r\n public get formErrors(): Observable<string>[] {\r\n const collection: Array<Observable<string>> = new Array<\r\n Observable<string>\r\n >();\r\n\r\n let formBase: UntypedFormGroup;\r\n if (this.parent) {\r\n formBase = this.parent.getForm().form;\r\n } else if (this.form instanceof UntypedFormGroup) {\r\n formBase = this.form;\r\n\r\n // formgroup can only be get in reactive forms mode\r\n if (this.formGroupName) {\r\n formBase = formBase.get(this.formGroupName) as UntypedFormGroup;\r\n }\r\n } else {\r\n throw new Error('missing form');\r\n }\r\n\r\n const items: Array<NgForm | UntypedFormArray> = Object.keys(\r\n formBase.controls\r\n ).map((key) => {\r\n return <NgForm | UntypedFormArray>formBase.controls[key];\r\n });\r\n\r\n this.getErrorCollection(items, collection);\r\n\r\n return collection.filter((item) => item !== null);\r\n }\r\n\r\n /**\r\n * Getter wenn Errors entstehen\r\n */\r\n public get hasErrors() {\r\n return this.formErrors.length > 0;\r\n }\r\n\r\n // #endregion Public Getters And Setters\r\n\r\n // #region Private Methods\r\n\r\n /**\r\n * F\xFCgt einen Validation Error in die Error Collection hinzu\r\n * @param ctl Fehlerhaftes Control\r\n * @param collection Collection aller Fehlermeldungen\r\n */\r\n private addErrorToCollection(\r\n ctl: AbstractControl,\r\n collection: Array<Observable<string>>\r\n ): void {\r\n if (ctl.errors === null || ctl.touched === false || ctl.valid === true) {\r\n return;\r\n }\r\n\r\n const keys: string[] = Object.keys(ctl.errors);\r\n\r\n if (keys.length <= 0) {\r\n return;\r\n }\r\n\r\n const errorItem: ValidationErrorItem = ctl.errors[keys[0]];\r\n\r\n // Validation Parameters\r\n const parameters = {};\r\n if (errorItem.parameters !== null && errorItem.parameters !== undefined) {\r\n errorItem.parameters.forEach((v, k) => {\r\n parameters[k] = v;\r\n });\r\n }\r\n\r\n if ((ctl as unknown as IAbstractControlLabelExtension)?.controllabel) {\r\n parameters['FIELD'] = (\r\n ctl as unknown as IAbstractControlLabelExtension\r\n ).controllabel;\r\n } else {\r\n parameters['FIELD'] = errorItem.fieldName;\r\n }\r\n\r\n collection.push(\r\n this.lngResourceService.GetString(\r\n errorItem.errorMessageValidationSummaryKey,\r\n parameters\r\n )\r\n );\r\n }\r\n\r\n /**\r\n * Die Methode gibt Collection von Errors. Verlangt controls: Array<NgForm | FormArray> und collection: Array<Observable<string>>\r\n */\r\n private getErrorCollection(\r\n controls: Array<NgForm | UntypedFormArray>,\r\n collection: Array<Observable<string>>\r\n ): void {\r\n controls.forEach((ctl) => {\r\n if (ctl.controls === undefined || ctl.controls === null) {\r\n this.addErrorToCollection(<AbstractControl>ctl, collection);\r\n } else {\r\n Object.keys(ctl.controls).map((controlKey) => {\r\n const control = ctl.controls[controlKey];\r\n\r\n // Cancel Analyse wenn Item not Touched oder Valid\r\n if (control.touched === false || control.valid === true) {\r\n return;\r\n }\r\n\r\n // Handle wenn Control kein Container ist\r\n if (control.controls === undefined || control.controls === null) {\r\n this.addErrorToCollection(control, collection);\r\n } else {\r\n // Handling eines Control Containers\r\n const items: Array<NgForm | UntypedFormArray> = Object.keys(\r\n control.controls\r\n ).map((formKey) => {\r\n return <NgForm | UntypedFormArray>control.controls[formKey];\r\n });\r\n\r\n this.getErrorCollection(items, collection);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n // #endregion Private Methods\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"ca2a0a4350d362d9d55ef65ae4e891c7e5b6ae9d"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_2rbvmloja1=function(){return actualCoverage;};}return actualCoverage;}cov_2rbvmloja1();import{Directive,Input}from'@angular/core';import{UntypedFormGroup}from'@angular/forms';import{SACLOCALISATION_SERVICE,SacDefaultLocalisationService}from'../../services/sac-localisation.service';import{SACVALIDATIONKEY_SERVICE,SacDefaultValidationKeyService}from'../../services/sac-validationkey.service';import*as i0 from"@angular/core";import*as i1 from"../form/form";/**
7
3
  * Basis Komponente für SacValidationSummary
8
- */
9
- class SacValidationSummaryCommon {
10
- // #endregion
11
- // #region Constructor
12
- /**
4
+ */class SacValidationSummaryCommon{// #endregion Properties
5
+ // #region Constructors
6
+ /**
13
7
  * Konstruktor
14
8
  * Inject des Formulars
15
- */
16
- constructor(parent, injector) {
17
- /**
9
+ */constructor(parent,injector){cov_2rbvmloja1().f[0]++;cov_2rbvmloja1().s[0]++;/**
18
10
  * Name-Property
19
- */
20
- this.name = '';
21
- this.parent = parent;
22
- this.lngResourceService = injector.get(SACLOCALISATION_SERVICE, new SacDefaultLocalisationService());
23
- }
24
- // #endregion
25
- /**
11
+ */this.name='';cov_2rbvmloja1().s[1]++;this.parent=parent;cov_2rbvmloja1().s[2]++;this.validationKeyService=injector.get(SACVALIDATIONKEY_SERVICE,new SacDefaultValidationKeyService());cov_2rbvmloja1().s[3]++;this.lngResourceService=injector.get(SACLOCALISATION_SERVICE,new SacDefaultLocalisationService(this.validationKeyService));}// #endregion Constructors
12
+ // #region Public Getters And Setters
13
+ /**
26
14
  * Validation Methode
27
- */
28
- get formErrors() {
29
- const collection = new Array();
30
- let formBase;
31
- if (this.parent) {
32
- formBase = this.parent.getForm().form;
33
- }
34
- else if (this.form instanceof UntypedFormGroup) {
35
- formBase = this.form;
36
- // formgroup can only be get in reactive forms mode
37
- if (this.formGroupName) {
38
- formBase = formBase.get(this.formGroupName);
39
- }
40
- }
41
- else {
42
- throw new Error('missing form');
43
- }
44
- const items = Object.keys(formBase.controls).map((key) => {
45
- return formBase.controls[key];
46
- });
47
- this.getErrorCollection(items, collection);
48
- return collection.filter((item) => item !== null);
49
- }
50
- /**
51
- * Die Methode gibt Collection von Errors. Verlangt controls: Array<NgForm | FormArray> und collection: Array<Observable<string>>
52
- */
53
- getErrorCollection(controls, collection) {
54
- controls.forEach((ctl) => {
55
- if (ctl.controls === undefined || ctl.controls === null) {
56
- this.addErrorToCollection(ctl, collection);
57
- }
58
- else {
59
- Object.keys(ctl.controls).map((controlKey) => {
60
- const control = ctl.controls[controlKey];
61
- // Cancel Analyse wenn Item not Touched oder Valid
62
- if (control.touched === false || control.valid === true) {
63
- return;
64
- }
65
- // Handle wenn Control kein Container ist
66
- if (control.controls === undefined || control.controls === null) {
67
- this.addErrorToCollection(control, collection);
68
- }
69
- else {
70
- // Handling eines Control Containers
71
- const items = Object.keys(control.controls).map((formKey) => {
72
- return control.controls[formKey];
73
- });
74
- this.getErrorCollection(items, collection);
75
- }
76
- });
77
- }
78
- });
79
- }
80
- /**
15
+ */get formErrors(){cov_2rbvmloja1().f[1]++;const collection=(cov_2rbvmloja1().s[4]++,new Array());let formBase;cov_2rbvmloja1().s[5]++;if(this.parent){cov_2rbvmloja1().b[0][0]++;cov_2rbvmloja1().s[6]++;formBase=this.parent.getForm().form;}else{cov_2rbvmloja1().b[0][1]++;cov_2rbvmloja1().s[7]++;if(this.form instanceof UntypedFormGroup){cov_2rbvmloja1().b[1][0]++;cov_2rbvmloja1().s[8]++;formBase=this.form;// formgroup can only be get in reactive forms mode
16
+ cov_2rbvmloja1().s[9]++;if(this.formGroupName){cov_2rbvmloja1().b[2][0]++;cov_2rbvmloja1().s[10]++;formBase=formBase.get(this.formGroupName);}else{cov_2rbvmloja1().b[2][1]++;}}else{cov_2rbvmloja1().b[1][1]++;cov_2rbvmloja1().s[11]++;throw new Error('missing form');}}const items=(cov_2rbvmloja1().s[12]++,Object.keys(formBase.controls).map(key=>{cov_2rbvmloja1().f[2]++;cov_2rbvmloja1().s[13]++;return formBase.controls[key];}));cov_2rbvmloja1().s[14]++;this.getErrorCollection(items,collection);cov_2rbvmloja1().s[15]++;return collection.filter(item=>{cov_2rbvmloja1().f[3]++;cov_2rbvmloja1().s[16]++;return item!==null;});}/**
17
+ * Getter wenn Errors entstehen
18
+ */get hasErrors(){cov_2rbvmloja1().f[4]++;cov_2rbvmloja1().s[17]++;return this.formErrors.length>0;}// #endregion Public Getters And Setters
19
+ // #region Private Methods
20
+ /**
81
21
  * Fügt einen Validation Error in die Error Collection hinzu
82
22
  * @param ctl Fehlerhaftes Control
83
23
  * @param collection Collection aller Fehlermeldungen
84
- */
85
- addErrorToCollection(ctl, collection) {
86
- if (ctl.errors === null || ctl.touched === false || ctl.valid === true) {
87
- return;
88
- }
89
- const keys = Object.keys(ctl.errors);
90
- if (keys.length <= 0) {
91
- return;
92
- }
93
- const errorItem = ctl.errors[keys[0]];
94
- // Validation Parameters
95
- const parameters = {};
96
- if (errorItem.parameters !== null && errorItem.parameters !== undefined) {
97
- errorItem.parameters.forEach((v, k) => {
98
- parameters[k] = v;
99
- });
100
- }
101
- if (ctl?.controllabel) {
102
- parameters['FIELD'] = ctl.controllabel;
103
- }
104
- else {
105
- parameters['FIELD'] = errorItem.fieldName;
106
- }
107
- collection.push(this.lngResourceService.GetString(errorItem.errorMessageValidationSummaryKey, parameters));
108
- }
109
- /**
110
- * Getter wenn Errors entstehen
111
- */
112
- get hasErrors() {
113
- return this.formErrors.length > 0;
114
- }
115
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacValidationSummaryCommon, deps: [{ token: i1.SacFormCommon }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
116
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacValidationSummaryCommon, inputs: { name: "name", form: "form", formGroupName: "formGroupName" }, ngImport: i0 }); }
117
- }
118
- export { SacValidationSummaryCommon };
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacValidationSummaryCommon, decorators: [{
120
- type: Directive
121
- }], ctorParameters: function () { return [{ type: i1.SacFormCommon }, { type: i0.Injector }]; }, propDecorators: { name: [{
122
- type: Input
123
- }], form: [{
124
- type: Input
125
- }], formGroupName: [{
126
- type: Input
127
- }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy92YWxpZGF0aW9uL3ZhbGlkYXRpb25zdW1tYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBcUMsZ0JBQWdCLEVBQVUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk3RixPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLHVCQUF1QixHQUN4QixNQUFNLHlDQUF5QyxDQUFDOzs7QUFJakQ7O0dBRUc7QUFDSCxNQUNhLDBCQUEwQjtJQWdDckMsYUFBYTtJQUViLHNCQUFzQjtJQUV0Qjs7O09BR0c7SUFDSCxZQUFZLE1BQXFCLEVBQUUsUUFBa0I7UUF2Q3JEOztXQUVHO1FBRUgsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQW9DaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQ3BDLHVCQUF1QixFQUN2QixJQUFJLDZCQUE2QixFQUFFLENBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYTtJQUViOztPQUVHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osTUFBTSxVQUFVLEdBQThCLElBQUksS0FBSyxFQUVwRCxDQUFDO1FBRUosSUFBSSxRQUEwQixDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQztTQUN2QzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksWUFBWSxnQkFBZ0IsRUFBRTtZQUNoRCxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUVyQixtREFBbUQ7WUFDbkQsSUFBSSxJ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VUFBVSxLQUFLLElBQUksSUFBSSxTQUFTLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUN2RSxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDcEMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSyxHQUFpRCxFQUFFLFlBQVksRUFBRTtZQUNwRSxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQ2pCLEdBQ0QsQ0FBQyxZQUFZLENBQUM7U0FDaEI7YUFBTTtZQUNMLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1NBQzNDO1FBRUQsVUFBVSxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUMvQixTQUFTLENBQUMsZ0NBQWdDLEVBQzFDLFVBQVUsQ0FDWCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNwQyxDQUFDOytHQTFLVSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7U0FBMUIsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBRHRDLFNBQVM7MkhBTVIsSUFBSTtzQkFESCxLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFTTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtR3JvdXAsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2lhYnN0cmFjdGNvbnRyb2xsYWJlbCc7XHJcbmltcG9ydCB7IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjTG9jYWxpc2F0aW9uU2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UsXHJcbiAgU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UsXHJcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLWxvY2FsaXNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ySXRlbSB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBTYWNGb3JtQ29tbW9uIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcclxuXHJcbi8qKlxyXG4gKiBCYXNpcyBLb21wb25lbnRlIGbDvHIgU2FjVmFsaWRhdGlvblN1bW1hcnlcclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgY2xhc3MgU2FjVmFsaWRhdGlvblN1bW1hcnlDb21tb24ge1xyXG4gIC8qKlxyXG4gICAqIE5hbWUtUHJvcGVydHlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIG5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiByZWFjdGl2ZSBmb3JtIGluc3RhbmNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICAvKipcclxuICAgKiBGb3JtIGdyb3VwbmFtZSB0byBmaWx0ZXIgc3VtbWFyeSB0byBmb3JtZ3JvdXBcclxuICAgKlxyXG4gICAqIEltcG9ydGFudDogaXQgd29ya3Mgb25seSBpbiByZWFjdGl2ZSBmb3JtcyBtb2RlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZm9ybUdyb3VwTmFtZTogc3RyaW5nO1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgVmFyaWFibGVzXHJcblxyXG4gIC8qKlxyXG4gICAqIFBhcmVudCBGb3JtdWxhclxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBwYXJlbnQ6IFNhY0Zvcm1Db21tb247XHJcbiAgLyoqXHJcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIC8vICNyZWdpb24gQ29uc3RydWN0b3JcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBJbmplY3QgZGVzIEZvcm11bGFyc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogU2FjRm9ybUNvbW1vbiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcclxuICAgIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uXHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRpb24gTWV0aG9kZVxyXG4gICAqL1xyXG4gIGdldCBmb3JtRXJyb3JzKCk6IE9ic2VydmFibGU8c3RyaW5nPltdIHtcclxuICAgIGNvbnN0IGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj4gPSBuZXcgQXJyYXk8XHJcbiAgICAgIE9ic2VydmFibGU8c3RyaW5nPlxyXG4gICAgPigpO1xyXG5cclxuICAgIGxldCBmb3JtQmFzZTogVW50eXBlZEZvcm1Hcm91cDtcclxuICAgIGlmICh0aGlzLnBhcmVudCkge1xyXG4gICAgICBmb3JtQmFzZSA9IHRoaXMucGFyZW50LmdldEZvcm0oKS5mb3JtO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm0gaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUdyb3VwKSB7XHJcbiAgICAgIGZvcm1CYXNlID0gdGhpcy5mb3JtO1xyXG5cclxuICAgICAgLy8gZm9ybWdyb3VwIGNhbiBvbmx5IGJlIGdldCBpbiByZWFjdGl2ZSBmb3JtcyBtb2RlXHJcbiAgICAgIGlmICh0aGlzLmZvcm1Hcm91cE5hbWUpIHtcclxuICAgICAgICBmb3JtQmFzZSA9IGZvcm1CYXNlLmdldCh0aGlzLmZvcm1Hcm91cE5hbWUpIGFzIFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignbWlzc2luZyBmb3JtJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaXRlbXM6IEFycmF5PE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+ID0gT2JqZWN0LmtleXMoZm9ybUJhc2UuY29udHJvbHMpLm1hcChcclxuICAgICAgKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiA8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT5mb3JtQmFzZS5jb250cm9sc1trZXldO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuZ2V0RXJyb3JDb2xsZWN0aW9uKGl0ZW1zLCBjb2xsZWN0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gY29sbGVjdGlvbi5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgZ2lidCBDb2xsZWN0aW9uIHZvbiBFcnJvcnMuIFZlcmxhbmd0IGNvbnRyb2xzOiBBcnJheTxOZ0Zvcm0gfCBGb3JtQXJyYXk+IHVuZCAgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0RXJyb3JDb2xsZWN0aW9uKFxyXG4gICAgY29udHJvbHM6IEFycmF5PE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+LFxyXG4gICAgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PlxyXG4gICk6IHZvaWQge1xyXG4gICAgY29udHJvbHMuZm9yRWFjaCgoY3RsKSA9PiB7XHJcbiAgICAgIGlmIChjdGwuY29udHJvbHMgPT09IHVuZGVmaW5lZCB8fCBjdGwuY29udHJvbHMgPT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmFkZEVycm9yVG9Db2xsZWN0aW9uKDxBYnN0cmFjdENvbnRyb2w+Y3RsLCBjb2xsZWN0aW9uKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBPYmplY3Qua2V5cyhjdGwuY29udHJvbHMpLm1hcCgoY29udHJvbEtleSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgY29udHJvbCA9IGN0bC5jb250cm9sc1tjb250cm9sS2V5XTtcclxuXHJcbiAgICAgICAgICAvLyBDYW5jZWwgQW5hbHlzZSB3ZW5uIEl0ZW0gbm90IFRvdWNoZWQgb2RlciBWYWxpZFxyXG4gICAgICAgICAgaWYgKGNvbnRyb2wudG91Y2hlZCA9PT0gZmFsc2UgfHwgY29udHJvbC52YWxpZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gSGFuZGxlIHdlbm4gQ29udHJvbCBrZWluIENvbnRhaW5lciBpc3RcclxuICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzID09PSB1bmRlZmluZWQgfHwgY29udHJvbC5jb250cm9scyA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEVycm9yVG9Db2xsZWN0aW9uKGNvbnRyb2wsIGNvbGxlY3Rpb24pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gSGFuZGxpbmcgZWluZXMgQ29udHJvbCBDb250YWluZXJzXHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBBcnJheTxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PiA9IE9iamVjdC5rZXlzKFxyXG4gICAgICAgICAgICAgIGNvbnRyb2wuY29udHJvbHNcclxuICAgICAgICAgICAgKS5tYXAoKGZvcm1LZXkpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gPE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+Y29udHJvbC5jb250cm9sc1tmb3JtS2V5XTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmdldEVycm9yQ29sbGVjdGlvbihpdGVtcywgY29sbGVjdGlvbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRsO8Z3QgZWluZW4gVmFsaWRhdGlvbiBFcnJvciBpbiBkaWUgRXJyb3IgQ29sbGVjdGlvbiBoaW56dVxyXG4gICAqIEBwYXJhbSBjdGwgRmVobGVyaGFmdGVzIENvbnRyb2xcclxuICAgKiBAcGFyYW0gY29sbGVjdGlvbiBDb2xsZWN0aW9uIGFsbGVyIEZlaGxlcm1lbGR1bmdlblxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkRXJyb3JUb0NvbGxlY3Rpb24oXHJcbiAgICBjdGw6IEFic3RyYWN0Q29udHJvbCxcclxuICAgIGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj5cclxuICApOiB2b2lkIHtcclxuICAgIGlmIChjdGwuZXJyb3JzID09PSBudWxsIHx8IGN0bC50b3VjaGVkID09PSBmYWxzZSB8fCBjdGwudmFsaWQgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoY3RsLmVycm9ycyk7XHJcblxyXG4gICAgaWYgKGtleXMubGVuZ3RoIDw9IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGVycm9ySXRlbTogVmFsaWRhdGlvbkVycm9ySXRlbSA9IGN0bC5lcnJvcnNba2V5c1swXV07XHJcblxyXG4gICAgLy8gVmFsaWRhdGlvbiBQYXJhbWV0ZXJzXHJcbiAgICBjb25zdCBwYXJhbWV0ZXJzID0ge307XHJcbiAgICBpZiAoZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IG51bGwgJiYgZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBlcnJvckl0ZW0ucGFyYW1ldGVycy5mb3JFYWNoKCh2LCBrKSA9PiB7XHJcbiAgICAgICAgcGFyYW1ldGVyc1trXSA9IHY7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICgoY3RsIGFzIHVua25vd24gYXMgSUFic3RyYWN0Q29udHJvbExhYmVsRXh0ZW5zaW9uKT8uY29udHJvbGxhYmVsKSB7XHJcbiAgICAgIHBhcmFtZXRlcnNbJ0ZJRUxEJ10gPSAoXHJcbiAgICAgICAgY3RsIGFzIHVua25vd24gYXMgSUFic3RyYWN0Q29udHJvbExhYmVsRXh0ZW5zaW9uXHJcbiAgICAgICkuY29udHJvbGxhYmVsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyYW1ldGVyc1snRklFTEQnXSA9IGVycm9ySXRlbS5maWVsZE5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29sbGVjdGlvbi5wdXNoKFxyXG4gICAgICB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgICAgZXJyb3JJdGVtLmVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5LFxyXG4gICAgICAgIHBhcmFtZXRlcnNcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHRlciB3ZW5uIEVycm9ycyBlbnRzdGVoZW5cclxuICAgKi9cclxuICBnZXQgaGFzRXJyb3JzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUVycm9ycy5sZW5ndGggPiAwO1xyXG4gIH1cclxufVxyXG4iXX0=
24
+ */addErrorToCollection(ctl,collection){cov_2rbvmloja1().f[5]++;cov_2rbvmloja1().s[18]++;if((cov_2rbvmloja1().b[4][0]++,ctl.errors===null)||(cov_2rbvmloja1().b[4][1]++,ctl.touched===false)||(cov_2rbvmloja1().b[4][2]++,ctl.valid===true)){cov_2rbvmloja1().b[3][0]++;cov_2rbvmloja1().s[19]++;return;}else{cov_2rbvmloja1().b[3][1]++;}const keys=(cov_2rbvmloja1().s[20]++,Object.keys(ctl.errors));cov_2rbvmloja1().s[21]++;if(keys.length<=0){cov_2rbvmloja1().b[5][0]++;cov_2rbvmloja1().s[22]++;return;}else{cov_2rbvmloja1().b[5][1]++;}const errorItem=(cov_2rbvmloja1().s[23]++,ctl.errors[keys[0]]);// Validation Parameters
25
+ const parameters=(cov_2rbvmloja1().s[24]++,{});cov_2rbvmloja1().s[25]++;if((cov_2rbvmloja1().b[7][0]++,errorItem.parameters!==null)&&(cov_2rbvmloja1().b[7][1]++,errorItem.parameters!==undefined)){cov_2rbvmloja1().b[6][0]++;cov_2rbvmloja1().s[26]++;errorItem.parameters.forEach((v,k)=>{cov_2rbvmloja1().f[6]++;cov_2rbvmloja1().s[27]++;parameters[k]=v;});}else{cov_2rbvmloja1().b[6][1]++;}cov_2rbvmloja1().s[28]++;if(ctl?.controllabel){cov_2rbvmloja1().b[8][0]++;cov_2rbvmloja1().s[29]++;parameters['FIELD']=ctl.controllabel;}else{cov_2rbvmloja1().b[8][1]++;cov_2rbvmloja1().s[30]++;parameters['FIELD']=errorItem.fieldName;}cov_2rbvmloja1().s[31]++;collection.push(this.lngResourceService.GetString(errorItem.errorMessageValidationSummaryKey,parameters));}/**
26
+ * Die Methode gibt Collection von Errors. Verlangt controls: Array<NgForm | FormArray> und collection: Array<Observable<string>>
27
+ */getErrorCollection(controls,collection){cov_2rbvmloja1().f[7]++;cov_2rbvmloja1().s[32]++;controls.forEach(ctl=>{cov_2rbvmloja1().f[8]++;cov_2rbvmloja1().s[33]++;if((cov_2rbvmloja1().b[10][0]++,ctl.controls===undefined)||(cov_2rbvmloja1().b[10][1]++,ctl.controls===null)){cov_2rbvmloja1().b[9][0]++;cov_2rbvmloja1().s[34]++;this.addErrorToCollection(ctl,collection);}else{cov_2rbvmloja1().b[9][1]++;cov_2rbvmloja1().s[35]++;Object.keys(ctl.controls).map(controlKey=>{cov_2rbvmloja1().f[9]++;const control=(cov_2rbvmloja1().s[36]++,ctl.controls[controlKey]);// Cancel Analyse wenn Item not Touched oder Valid
28
+ cov_2rbvmloja1().s[37]++;if((cov_2rbvmloja1().b[12][0]++,control.touched===false)||(cov_2rbvmloja1().b[12][1]++,control.valid===true)){cov_2rbvmloja1().b[11][0]++;cov_2rbvmloja1().s[38]++;return;}else{cov_2rbvmloja1().b[11][1]++;}// Handle wenn Control kein Container ist
29
+ cov_2rbvmloja1().s[39]++;if((cov_2rbvmloja1().b[14][0]++,control.controls===undefined)||(cov_2rbvmloja1().b[14][1]++,control.controls===null)){cov_2rbvmloja1().b[13][0]++;cov_2rbvmloja1().s[40]++;this.addErrorToCollection(control,collection);}else{cov_2rbvmloja1().b[13][1]++;// Handling eines Control Containers
30
+ const items=(cov_2rbvmloja1().s[41]++,Object.keys(control.controls).map(formKey=>{cov_2rbvmloja1().f[10]++;cov_2rbvmloja1().s[42]++;return control.controls[formKey];}));cov_2rbvmloja1().s[43]++;this.getErrorCollection(items,collection);}});}});}static{cov_2rbvmloja1().s[44]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacValidationSummaryCommon,deps:[{token:i1.SacFormCommon},{token:i0.Injector}],target:i0.ɵɵFactoryTarget.Directive});}static{cov_2rbvmloja1().s[45]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacValidationSummaryCommon,inputs:{form:"form",formGroupName:"formGroupName",name:"name"},ngImport:i0});}}export{SacValidationSummaryCommon};cov_2rbvmloja1().s[46]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacValidationSummaryCommon,decorators:[{type:Directive}],ctorParameters:function(){cov_2rbvmloja1().f[11]++;cov_2rbvmloja1().s[47]++;return[{type:i1.SacFormCommon},{type:i0.Injector}];},propDecorators:{form:[{type:Input}],formGroupName:[{type:Input}],name:[{type:Input}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnN1bW1hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zYWMtY29tbW9uL3NyYy9jb250cm9scy92YWxpZGF0aW9uL3ZhbGlkYXRpb25zdW1tYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVksS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFLTCxnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUt4QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLDZCQUE2QixHQUM5QixNQUFNLHlDQUF5QyxDQUFDO0FBQ2pELE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsOEJBQThCLEdBQy9CLE1BQU0sMENBQTBDLENBQUM7OztBQUlsRDs7R0FFRztBQUNILE1BQ2EsMEJBQTBCO0lBa0NyQyx3QkFBd0I7SUFFeEIsdUJBQXVCO0lBRXZCOzs7T0FHRztJQUNILFlBQVksTUFBcUIsRUFBRSxRQUFrQjtRQWRyRDs7V0FFRztRQUVJLFNBQUksR0FBVyxFQUFFLENBQUM7UUFXdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFckIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQ3RDLHdCQUF3QixFQUN4QixJQUFJLDhCQUE4QixFQUFFLENBQ3JDLENBQUM7UUFDRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FDcEMsdUJBQXVCLEVBQ3ZCLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQzdELENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCO0lBRTFCLHFDQUFxQztJQUVyQzs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixNQUFNLFVBQVUsR0FBOEIsSUFBSSxLQUFLLEVBRXBELENBQUM7UUFFSixJQUFJLFFBQTBCLENBQUM7UUFDL0IsSUFBSSxJ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IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5qZWN0b3IsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQWJzdHJhY3RDb250cm9sLFxyXG4gIEZvcm1BcnJheSxcclxuICBOZ0Zvcm0sXHJcbiAgVW50eXBlZEZvcm1BcnJheSxcclxuICBVbnR5cGVkRm9ybUdyb3VwLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJU2FjTG9jYWxpc2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJU2FjVmFsaWRhdGlvbktleVNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNWYWxpZGF0aW9uS2V5U2VydmljZSc7XHJcbmltcG9ydCB7IElBYnN0cmFjdENvbnRyb2xMYWJlbEV4dGVuc2lvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaWFic3RyYWN0Y29udHJvbGxhYmVsJztcclxuaW1wb3J0IHtcclxuICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICBTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSxcclxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYWMtbG9jYWxpc2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSxcclxuICBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLXZhbGlkYXRpb25rZXkuc2VydmljZSc7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvckl0ZW0gfSBmcm9tICcuLi8uLi92YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgU2FjRm9ybUNvbW1vbiB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XHJcblxyXG4vKipcclxuICogQmFzaXMgS29tcG9uZW50ZSBmw7xyIFNhY1ZhbGlkYXRpb25TdW1tYXJ5XHJcbiAqL1xyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGNsYXNzIFNhY1ZhbGlkYXRpb25TdW1tYXJ5Q29tbW9uIHtcclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLyoqXHJcbiAgICogU2VydmljZSBmw7xyIEVycm9yIExvY2FsaXNhdGlvblxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBsbmdSZXNvdXJjZVNlcnZpY2U6IElTYWNMb2NhbGlzYXRpb25TZXJ2aWNlO1xyXG4gIC8qKlxyXG4gICAqIFBhcmVudCBGb3JtdWxhclxyXG4gICAqL1xyXG4gIHByb3RlY3RlZCBwYXJlbnQ6IFNhY0Zvcm1Db21tb247XHJcbiAgLyoqXHJcbiAgICogU2VydmljZSB0byByZWNlaXZlIHN0YW5kYXJkIHZhbGlkYXRpb24gbWVzc2FnZSBrZXlzIGFuZCB0ZXh0c1xyXG4gICAqL1xyXG4gIHByb3RlY3RlZCB2YWxpZGF0aW9uS2V5U2VydmljZTogSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlO1xyXG5cclxuICAvKipcclxuICAgKiByZWFjdGl2ZSBmb3JtIGluc3RhbmNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICAvKipcclxuICAgKiBGb3JtIGdyb3VwbmFtZSB0byBmaWx0ZXIgc3VtbWFyeSB0byBmb3JtZ3JvdXBcclxuICAgKlxyXG4gICAqIEltcG9ydGFudDogaXQgd29ya3Mgb25seSBpbiByZWFjdGl2ZSBmb3JtcyBtb2RlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZvcm1Hcm91cE5hbWU6IHN0cmluZztcclxuICAvKipcclxuICAgKiBOYW1lLVByb3BlcnR5XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbmFtZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJvcGVydGllc1xyXG5cclxuICAvLyAjcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvKipcclxuICAgKiBLb25zdHJ1a3RvclxyXG4gICAqIEluamVjdCBkZXMgRm9ybXVsYXJzXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IocGFyZW50OiBTYWNGb3JtQ29tbW9uLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xyXG5cclxuICAgIHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSgpXHJcbiAgICApO1xyXG4gICAgdGhpcy5sbmdSZXNvdXJjZVNlcnZpY2UgPSBpbmplY3Rvci5nZXQoXHJcbiAgICAgIFNBQ0xPQ0FMSVNBVElPTl9TRVJWSUNFLFxyXG4gICAgICBuZXcgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UodGhpcy52YWxpZGF0aW9uS2V5U2VydmljZSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvLyAjZW5kcmVnaW9uIENvbnN0cnVjdG9yc1xyXG5cclxuICAvLyAjcmVnaW9uIFB1YmxpYyBHZXR0ZXJzIEFuZCBTZXR0ZXJzXHJcblxyXG4gIC8qKlxyXG4gICAqIFZhbGlkYXRpb24gTWV0aG9kZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgZm9ybUVycm9ycygpOiBPYnNlcnZhYmxlPHN0cmluZz5bXSB7XHJcbiAgICBjb25zdCBjb2xsZWN0aW9uOiBBcnJheTxPYnNlcnZhYmxlPHN0cmluZz4+ID0gbmV3IEFycmF5PFxyXG4gICAgICBPYnNlcnZhYmxlPHN0cmluZz5cclxuICAgID4oKTtcclxuXHJcbiAgICBsZXQgZm9ybUJhc2U6IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgICBpZiAodGhpcy5wYXJlbnQpIHtcclxuICAgICAgZm9ybUJhc2UgPSB0aGlzLnBhcmVudC5nZXRGb3JtKCkuZm9ybTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtIGluc3RhbmNlb2YgVW50eXBlZEZvcm1Hcm91cCkge1xyXG4gICAgICBmb3JtQmFzZSA9IHRoaXMuZm9ybTtcclxuXHJcbiAgICAgIC8vIGZvcm1ncm91cCBjYW4gb25seSBiZSBnZXQgaW4gcmVhY3RpdmUgZm9ybXMgbW9kZVxyXG4gICAgICBpZiAodGhpcy5mb3JtR3JvdXBOYW1lKSB7XHJcbiAgICAgICAgZm9ybUJhc2UgPSBmb3JtQmFzZS5nZXQodGhpcy5mb3JtR3JvdXBOYW1lKSBhcyBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pc3NpbmcgZm9ybScpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGl0ZW1zOiBBcnJheTxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PiA9IE9iamVjdC5rZXlzKFxyXG4gICAgICBmb3JtQmFzZS5jb250cm9sc1xyXG4gICAgKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICByZXR1cm4gPE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+Zm9ybUJhc2UuY29udHJvbHNba2V5XTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZ2V0RXJyb3JDb2xsZWN0aW9uKGl0ZW1zLCBjb2xsZWN0aW9uKTtcclxuXHJcbiAgICByZXR1cm4gY29sbGVjdGlvbi5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IG51bGwpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0dGVyIHdlbm4gRXJyb3JzIGVudHN0ZWhlblxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgaGFzRXJyb3JzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybUVycm9ycy5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvLyAjcmVnaW9uIFByaXZhdGUgTWV0aG9kc1xyXG5cclxuICAvKipcclxuICAgKiBGw7xndCBlaW5lbiBWYWxpZGF0aW9uIEVycm9yIGluIGRpZSBFcnJvciBDb2xsZWN0aW9uIGhpbnp1XHJcbiAgICogQHBhcmFtIGN0bCBGZWhsZXJoYWZ0ZXMgQ29udHJvbFxyXG4gICAqIEBwYXJhbSBjb2xsZWN0aW9uIENvbGxlY3Rpb24gYWxsZXIgRmVobGVybWVsZHVuZ2VuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhZGRFcnJvclRvQ29sbGVjdGlvbihcclxuICAgIGN0bDogQWJzdHJhY3RDb250cm9sLFxyXG4gICAgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PlxyXG4gICk6IHZvaWQge1xyXG4gICAgaWYgKGN0bC5lcnJvcnMgPT09IG51bGwgfHwgY3RsLnRvdWNoZWQgPT09IGZhbHNlIHx8IGN0bC52YWxpZCA9PT0gdHJ1ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qga2V5czogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhjdGwuZXJyb3JzKTtcclxuXHJcbiAgICBpZiAoa2V5cy5sZW5ndGggPD0gMCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZXJyb3JJdGVtOiBWYWxpZGF0aW9uRXJyb3JJdGVtID0gY3RsLmVycm9yc1trZXlzWzBdXTtcclxuXHJcbiAgICAvLyBWYWxpZGF0aW9uIFBhcmFtZXRlcnNcclxuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7fTtcclxuICAgIGlmIChlcnJvckl0ZW0ucGFyYW1ldGVycyAhPT0gbnVsbCAmJiBlcnJvckl0ZW0ucGFyYW1ldGVycyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGVycm9ySXRlbS5wYXJhbWV0ZXJzLmZvckVhY2goKHYsIGspID0+IHtcclxuICAgICAgICBwYXJhbWV0ZXJzW2tdID0gdjtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKChjdGwgYXMgdW5rbm93biBhcyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24pPy5jb250cm9sbGFiZWwpIHtcclxuICAgICAgcGFyYW1ldGVyc1snRklFTEQnXSA9IChcclxuICAgICAgICBjdGwgYXMgdW5rbm93biBhcyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb25cclxuICAgICAgKS5jb250cm9sbGFiZWw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBwYXJhbWV0ZXJzWydGSUVMRCddID0gZXJyb3JJdGVtLmZpZWxkTmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBjb2xsZWN0aW9uLnB1c2goXHJcbiAgICAgIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlLkdldFN0cmluZyhcclxuICAgICAgICBlcnJvckl0ZW0uZXJyb3JNZXNzYWdlVmFsaWRhdGlvblN1bW1hcnlLZXksXHJcbiAgICAgICAgcGFyYW1ldGVyc1xyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGllIE1ldGhvZGUgZ2lidCBDb2xsZWN0aW9uIHZvbiBFcnJvcnMuIFZlcmxhbmd0IGNvbnRyb2xzOiBBcnJheTxOZ0Zvcm0gfCBGb3JtQXJyYXk+IHVuZCAgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0RXJyb3JDb2xsZWN0aW9uKFxyXG4gICAgY29udHJvbHM6IEFycmF5PE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+LFxyXG4gICAgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PlxyXG4gICk6IHZvaWQge1xyXG4gICAgY29udHJvbHMuZm9yRWFjaCgoY3RsKSA9PiB7XHJcbiAgICAgIGlmIChjdGwuY29udHJvbHMgPT09IHVuZGVmaW5lZCB8fCBjdGwuY29udHJvbHMgPT09IG51bGwpIHtcclxuICAgICAgICB0aGlzLmFkZEVycm9yVG9Db2xsZWN0aW9uKDxBYnN0cmFjdENvbnRyb2w+Y3RsLCBjb2xsZWN0aW9uKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBPYmplY3Qua2V5cyhjdGwuY29udHJvbHMpLm1hcCgoY29udHJvbEtleSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgY29udHJvbCA9IGN0bC5jb250cm9sc1tjb250cm9sS2V5XTtcclxuXHJcbiAgICAgICAgICAvLyBDYW5jZWwgQW5hbHlzZSB3ZW5uIEl0ZW0gbm90IFRvdWNoZWQgb2RlciBWYWxpZFxyXG4gICAgICAgICAgaWYgKGNvbnRyb2wudG91Y2hlZCA9PT0gZmFsc2UgfHwgY29udHJvbC52YWxpZCA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gSGFuZGxlIHdlbm4gQ29udHJvbCBrZWluIENvbnRhaW5lciBpc3RcclxuICAgICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzID09PSB1bmRlZmluZWQgfHwgY29udHJvbC5jb250cm9scyA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEVycm9yVG9Db2xsZWN0aW9uKGNvbnRyb2wsIGNvbGxlY3Rpb24pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gSGFuZGxpbmcgZWluZXMgQ29udHJvbCBDb250YWluZXJzXHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zOiBBcnJheTxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PiA9IE9iamVjdC5rZXlzKFxyXG4gICAgICAgICAgICAgIGNvbnRyb2wuY29udHJvbHNcclxuICAgICAgICAgICAgKS5tYXAoKGZvcm1LZXkpID0+IHtcclxuICAgICAgICAgICAgICByZXR1cm4gPE5nRm9ybSB8IFVudHlwZWRGb3JtQXJyYXk+Y29udHJvbC5jb250cm9sc1tmb3JtS2V5XTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmdldEVycm9yQ29sbGVjdGlvbihpdGVtcywgY29sbGVjdGlvbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxufVxyXG4iXX0=
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMnJidm1sb2phMSIsImFjdHVhbENvdmVyYWdlIiwiRGlyZWN0aXZlIiwiSW5wdXQiLCJVbnR5cGVkRm9ybUdyb3VwIiwiU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UiLCJTYWNEZWZhdWx0TG9jYWxpc2F0aW9uU2VydmljZSIsIlNBQ1ZBTElEQVRJT05LRVlfU0VSVklDRSIsIlNhY0RlZmF1bHRWYWxpZGF0aW9uS2V5U2VydmljZSIsIlNhY1ZhbGlkYXRpb25TdW1tYXJ5Q29tbW9uIiwiY29uc3RydWN0b3IiLCJwYXJlbnQiLCJpbmplY3RvciIsImYiLCJzIiwibmFtZSIsInZhbGlkYXRpb25LZXlTZXJ2aWNlIiwiZ2V0IiwibG5nUmVzb3VyY2VTZXJ2aWNlIiwiZm9ybUVycm9ycyIsImNvbGxlY3Rpb24iLCJBcnJheSIsImZvcm1CYXNlIiwiYiIsImdldEZvcm0iLCJmb3JtIiwiZm9ybUdyb3VwTmFtZSIsIkVycm9yIiwiaXRlbXMiLCJPYmplY3QiLCJrZXlzIiwiY29udHJvbHMiLCJtYXAiLCJrZXkiLCJnZXRFcnJvckNvbGxlY3Rpb24iLCJmaWx0ZXIiLCJpdGVtIiwiaGFzRXJyb3JzIiwibGVuZ3RoIiwiYWRkRXJyb3JUb0NvbGxlY3Rpb24iLCJjdGwiLCJlcnJvcnMiLCJ0b3VjaGVkIiwidmFsaWQiLCJlcnJvckl0ZW0iLCJwYXJhbWV0ZXJzIiwidW5kZWZpbmVkIiwiZm9yRWFjaCIsInYiLCJrIiwiY29udHJvbGxhYmVsIiwiZmllbGROYW1lIiwicHVzaCIsIkdldFN0cmluZyIsImVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5IiwiY29udHJvbEtleSIsImNvbnRyb2wiLCJmb3JtS2V5IiwiZGVwcyIsInRva2VuIiwiaTEiLCJTYWNGb3JtQ29tbW9uIiwiaTAiLCJJbmplY3RvciIsInRhcmdldCIsIsm1ybVGYWN0b3J5VGFyZ2V0IiwiaW5wdXRzIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvdmFsaWRhdGlvbi92YWxpZGF0aW9uc3VtbWFyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29udHJvbCxcclxuICBGb3JtQXJyYXksXHJcbiAgTmdGb3JtLFxyXG4gIFVudHlwZWRGb3JtQXJyYXksXHJcbiAgVW50eXBlZEZvcm1Hcm91cCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSVNhY0xvY2FsaXNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL0lTYWNMb2NhbGlzYXRpb25TZXJ2aWNlJztcclxuaW1wb3J0IHsgSVNhY1ZhbGlkYXRpb25LZXlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JU2FjVmFsaWRhdGlvbktleVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJQWJzdHJhY3RDb250cm9sTGFiZWxFeHRlbnNpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2lhYnN0cmFjdGNvbnRyb2xsYWJlbCc7XHJcbmltcG9ydCB7XHJcbiAgU0FDTE9DQUxJU0FUSU9OX1NFUlZJQ0UsXHJcbiAgU2FjRGVmYXVsdExvY2FsaXNhdGlvblNlcnZpY2UsXHJcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FjLWxvY2FsaXNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsXHJcbiAgU2FjRGVmYXVsdFZhbGlkYXRpb25LZXlTZXJ2aWNlLFxyXG59IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhYy12YWxpZGF0aW9ua2V5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JJdGVtIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbic7XHJcbmltcG9ydCB7IFNhY0Zvcm1Db21tb24gfSBmcm9tICcuLi9mb3JtL2Zvcm0nO1xyXG5cclxuLyoqXHJcbiAqIEJhc2lzIEtvbXBvbmVudGUgZsO8ciBTYWNWYWxpZGF0aW9uU3VtbWFyeVxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBjbGFzcyBTYWNWYWxpZGF0aW9uU3VtbWFyeUNvbW1vbiB7XHJcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzXHJcblxyXG4gIC8qKlxyXG4gICAqIFNlcnZpY2UgZsO8ciBFcnJvciBMb2NhbGlzYXRpb25cclxuICAgKi9cclxuICBwcm90ZWN0ZWQgbG5nUmVzb3VyY2VTZXJ2aWNlOiBJU2FjTG9jYWxpc2F0aW9uU2VydmljZTtcclxuICAvKipcclxuICAgKiBQYXJlbnQgRm9ybXVsYXJcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgcGFyZW50OiBTYWNGb3JtQ29tbW9uO1xyXG4gIC8qKlxyXG4gICAqIFNlcnZpY2UgdG8gcmVjZWl2ZSBzdGFuZGFyZCB2YWxpZGF0aW9uIG1lc3NhZ2Uga2V5cyBhbmQgdGV4dHNcclxuICAgKi9cclxuICBwcm90ZWN0ZWQgdmFsaWRhdGlvbktleVNlcnZpY2U6IElTYWNWYWxpZGF0aW9uS2V5U2VydmljZTtcclxuXHJcbiAgLyoqXHJcbiAgICogcmVhY3RpdmUgZm9ybSBpbnN0YW5jZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgLyoqXHJcbiAgICogRm9ybSBncm91cG5hbWUgdG8gZmlsdGVyIHN1bW1hcnkgdG8gZm9ybWdyb3VwXHJcbiAgICpcclxuICAgKiBJbXBvcnRhbnQ6IGl0IHdvcmtzIG9ubHkgaW4gcmVhY3RpdmUgZm9ybXMgbW9kZS5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmb3JtR3JvdXBOYW1lOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogTmFtZS1Qcm9wZXJ0eVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXNcclxuXHJcbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLyoqXHJcbiAgICogS29uc3RydWt0b3JcclxuICAgKiBJbmplY3QgZGVzIEZvcm11bGFyc1xyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKHBhcmVudDogU2FjRm9ybUNvbW1vbiwgaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICB0aGlzLnBhcmVudCA9IHBhcmVudDtcclxuXHJcbiAgICB0aGlzLnZhbGlkYXRpb25LZXlTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNWQUxJREFUSU9OS0VZX1NFUlZJQ0UsXHJcbiAgICAgIG5ldyBTYWNEZWZhdWx0VmFsaWRhdGlvbktleVNlcnZpY2UoKVxyXG4gICAgKTtcclxuICAgIHRoaXMubG5nUmVzb3VyY2VTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KFxyXG4gICAgICBTQUNMT0NBTElTQVRJT05fU0VSVklDRSxcclxuICAgICAgbmV3IFNhY0RlZmF1bHRMb2NhbGlzYXRpb25TZXJ2aWNlKHRoaXMudmFsaWRhdGlvbktleVNlcnZpY2UpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQdWJsaWMgR2V0dGVycyBBbmQgU2V0dGVyc1xyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0aW9uIE1ldGhvZGVcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGZvcm1FcnJvcnMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+W10ge1xyXG4gICAgY29uc3QgY29sbGVjdGlvbjogQXJyYXk8T2JzZXJ2YWJsZTxzdHJpbmc+PiA9IG5ldyBBcnJheTxcclxuICAgICAgT2JzZXJ2YWJsZTxzdHJpbmc+XHJcbiAgICA+KCk7XHJcblxyXG4gICAgbGV0IGZvcm1CYXNlOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gICAgaWYgKHRoaXMucGFyZW50KSB7XHJcbiAgICAgIGZvcm1CYXNlID0gdGhpcy5wYXJlbnQuZ2V0Rm9ybSgpLmZvcm07XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuZm9ybSBpbnN0YW5jZW9mIFVudHlwZWRGb3JtR3JvdXApIHtcclxuICAgICAgZm9ybUJhc2UgPSB0aGlzLmZvcm07XHJcblxyXG4gICAgICAvLyBmb3JtZ3JvdXAgY2FuIG9ubHkgYmUgZ2V0IGluIHJlYWN0aXZlIGZvcm1zIG1vZGVcclxuICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwTmFtZSkge1xyXG4gICAgICAgIGZvcm1CYXNlID0gZm9ybUJhc2UuZ2V0KHRoaXMuZm9ybUdyb3VwTmFtZSkgYXMgVW50eXBlZEZvcm1Hcm91cDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIGZvcm0nKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpdGVtczogQXJyYXk8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT4gPSBPYmplY3Qua2V5cyhcclxuICAgICAgZm9ybUJhc2UuY29udHJvbHNcclxuICAgICkubWFwKChrZXkpID0+IHtcclxuICAgICAgcmV0dXJuIDxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PmZvcm1CYXNlLmNvbnRyb2xzW2tleV07XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmdldEVycm9yQ29sbGVjdGlvbihpdGVtcywgY29sbGVjdGlvbik7XHJcblxyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb24uZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSBudWxsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHRlciB3ZW5uIEVycm9ycyBlbnRzdGVoZW5cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IGhhc0Vycm9ycygpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1FcnJvcnMubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHVibGljIEdldHRlcnMgQW5kIFNldHRlcnNcclxuXHJcbiAgLy8gI3JlZ2lvbiBQcml2YXRlIE1ldGhvZHNcclxuXHJcbiAgLyoqXHJcbiAgICogRsO8Z3QgZWluZW4gVmFsaWRhdGlvbiBFcnJvciBpbiBkaWUgRXJyb3IgQ29sbGVjdGlvbiBoaW56dVxyXG4gICAqIEBwYXJhbSBjdGwgRmVobGVyaGFmdGVzIENvbnRyb2xcclxuICAgKiBAcGFyYW0gY29sbGVjdGlvbiBDb2xsZWN0aW9uIGFsbGVyIEZlaGxlcm1lbGR1bmdlblxyXG4gICAqL1xyXG4gIHByaXZhdGUgYWRkRXJyb3JUb0NvbGxlY3Rpb24oXHJcbiAgICBjdGw6IEFic3RyYWN0Q29udHJvbCxcclxuICAgIGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj5cclxuICApOiB2b2lkIHtcclxuICAgIGlmIChjdGwuZXJyb3JzID09PSBudWxsIHx8IGN0bC50b3VjaGVkID09PSBmYWxzZSB8fCBjdGwudmFsaWQgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gT2JqZWN0LmtleXMoY3RsLmVycm9ycyk7XHJcblxyXG4gICAgaWYgKGtleXMubGVuZ3RoIDw9IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGVycm9ySXRlbTogVmFsaWRhdGlvbkVycm9ySXRlbSA9IGN0bC5lcnJvcnNba2V5c1swXV07XHJcblxyXG4gICAgLy8gVmFsaWRhdGlvbiBQYXJhbWV0ZXJzXHJcbiAgICBjb25zdCBwYXJhbWV0ZXJzID0ge307XHJcbiAgICBpZiAoZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IG51bGwgJiYgZXJyb3JJdGVtLnBhcmFtZXRlcnMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBlcnJvckl0ZW0ucGFyYW1ldGVycy5mb3JFYWNoKCh2LCBrKSA9PiB7XHJcbiAgICAgICAgcGFyYW1ldGVyc1trXSA9IHY7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICgoY3RsIGFzIHVua25vd24gYXMgSUFic3RyYWN0Q29udHJvbExhYmVsRXh0ZW5zaW9uKT8uY29udHJvbGxhYmVsKSB7XHJcbiAgICAgIHBhcmFtZXRlcnNbJ0ZJRUxEJ10gPSAoXHJcbiAgICAgICAgY3RsIGFzIHVua25vd24gYXMgSUFic3RyYWN0Q29udHJvbExhYmVsRXh0ZW5zaW9uXHJcbiAgICAgICkuY29udHJvbGxhYmVsO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGFyYW1ldGVyc1snRklFTEQnXSA9IGVycm9ySXRlbS5maWVsZE5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgY29sbGVjdGlvbi5wdXNoKFxyXG4gICAgICB0aGlzLmxuZ1Jlc291cmNlU2VydmljZS5HZXRTdHJpbmcoXHJcbiAgICAgICAgZXJyb3JJdGVtLmVycm9yTWVzc2FnZVZhbGlkYXRpb25TdW1tYXJ5S2V5LFxyXG4gICAgICAgIHBhcmFtZXRlcnNcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpZSBNZXRob2RlIGdpYnQgQ29sbGVjdGlvbiB2b24gRXJyb3JzLiBWZXJsYW5ndCBjb250cm9sczogQXJyYXk8TmdGb3JtIHwgRm9ybUFycmF5PiB1bmQgIGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj5cclxuICAgKi9cclxuICBwcml2YXRlIGdldEVycm9yQ29sbGVjdGlvbihcclxuICAgIGNvbnRyb2xzOiBBcnJheTxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PixcclxuICAgIGNvbGxlY3Rpb246IEFycmF5PE9ic2VydmFibGU8c3RyaW5nPj5cclxuICApOiB2b2lkIHtcclxuICAgIGNvbnRyb2xzLmZvckVhY2goKGN0bCkgPT4ge1xyXG4gICAgICBpZiAoY3RsLmNvbnRyb2xzID09PSB1bmRlZmluZWQgfHwgY3RsLmNvbnRyb2xzID09PSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5hZGRFcnJvclRvQ29sbGVjdGlvbig8QWJzdHJhY3RDb250cm9sPmN0bCwgY29sbGVjdGlvbik7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXMoY3RsLmNvbnRyb2xzKS5tYXAoKGNvbnRyb2xLZXkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBjdGwuY29udHJvbHNbY29udHJvbEtleV07XHJcblxyXG4gICAgICAgICAgLy8gQ2FuY2VsIEFuYWx5c2Ugd2VubiBJdGVtIG5vdCBUb3VjaGVkIG9kZXIgVmFsaWRcclxuICAgICAgICAgIGlmIChjb250cm9sLnRvdWNoZWQgPT09IGZhbHNlIHx8IGNvbnRyb2wudmFsaWQgPT09IHRydWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIEhhbmRsZSB3ZW5uIENvbnRyb2wga2VpbiBDb250YWluZXIgaXN0XHJcbiAgICAgICAgICBpZiAoY29udHJvbC5jb250cm9scyA9PT0gdW5kZWZpbmVkIHx8IGNvbnRyb2wuY29udHJvbHMgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRFcnJvclRvQ29sbGVjdGlvbihjb250cm9sLCBjb2xsZWN0aW9uKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEhhbmRsaW5nIGVpbmVzIENvbnRyb2wgQ29udGFpbmVyc1xyXG4gICAgICAgICAgICBjb25zdCBpdGVtczogQXJyYXk8TmdGb3JtIHwgVW50eXBlZEZvcm1BcnJheT4gPSBPYmplY3Qua2V5cyhcclxuICAgICAgICAgICAgICBjb250cm9sLmNvbnRyb2xzXHJcbiAgICAgICAgICAgICkubWFwKChmb3JtS2V5KSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIDxOZ0Zvcm0gfCBVbnR5cGVkRm9ybUFycmF5PmNvbnRyb2wuY29udHJvbHNbZm9ybUtleV07XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5nZXRFcnJvckNvbGxlY3Rpb24oaXRlbXMsIGNvbGxlY3Rpb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiaThrQkFvRUs7QUFBQUEsY0FBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxjQUFBLEdBcEVMLE9BQVNFLFNBQVMsQ0FBWUMsS0FBSyxLQUFRLGVBQWUsQ0FDMUQsT0FLRUMsZ0JBQWdCLEtBQ1gsZ0JBQWdCLENBS3ZCLE9BQ0VDLHVCQUF1QixDQUN2QkMsNkJBQTZCLEtBQ3hCLHlDQUF5QyxDQUNoRCxPQUNFQyx3QkFBd0IsQ0FDeEJDLDhCQUE4QixLQUN6QiwwQ0FBMEMsQyxpRUFJakQ7O0dBR0EsS0FDYSxDQUFBQywwQkFBMEIsQ0FrQ3JDO0FBRUE7QUFFQTs7O09BSUFDLFlBQVlDLE1BQXFCLENBQUVDLFFBQWtCLEVBQUFaLGNBQUEsR0FBQWEsQ0FBQSxNQUFBYixjQUFBLEdBQUFjLENBQUEsTUFkckQ7O1dBSU8sS0FBQUMsSUFBSSxDQUFXLEVBQUUsQ0FBQ2YsY0FBQSxHQUFBYyxDQUFBLE1BV3ZCLElBQUksQ0FBQ0gsTUFBTSxDQUFHQSxNQUFNLENBQUNYLGNBQUEsR0FBQWMsQ0FBQSxNQUVyQixJQUFJLENBQUNFLG9CQUFvQixDQUFHSixRQUFRLENBQUNLLEdBQUcsQ0FDdENWLHdCQUF3QixDQUN4QixHQUFJLENBQUFDLDhCQUE4QixFQUFFLENBQ3JDLENBQUNSLGNBQUEsR0FBQWMsQ0FBQSxNQUNGLElBQUksQ0FBQ0ksa0JBQWtCLENBQUdOLFFBQVEsQ0FBQ0ssR0FBRyxDQUNwQ1osdUJBQXVCLENBQ3ZCLEdBQUksQ0FBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUFDVSxvQkFBb0IsQ0FBQyxDQUM3RCxDQUNILENBRUE7QUFFQTtBQUVBOztPQUdBLEdBQVcsQ0FBQUcsVUFBVUEsQ0FBQSxFQUFBbkIsY0FBQSxHQUFBYSxDQUFBLE1BQ25CLEtBQU0sQ0FBQU8sVUFBVSxFQUFBcEIsY0FBQSxHQUFBYyxDQUFBLE1BQThCLEdBQUksQ0FBQU8sS0FBSyxFQUVwRCxFQUVILEdBQUksQ0FBQUMsUUFBMEIsQ0FBQ3RCLGNBQUEsR0FBQWMsQ0FBQSxNQUMvQixHQUFJLElBQUksQ0FBQ0gsTUFBTSxDQUFFLENBQUFYLGNBQUEsR0FBQXVCLENBQUEsU0FBQXZCLGNBQUEsR0FBQWMsQ0FBQSxNQUNmUSxRQUFRLENBQUcsSUFBSSxDQUFDWCxNQUFNLENBQUNhLE9BQU8sRUFBRSxDQUFDQyxJQUFJLEMsQ0FDdEMsSUFBTSxDQUFBekIsY0FBQSxHQUFBdUIsQ0FBQSxTQUFBdkIsY0FBQSxHQUFBYyxDQUFBLFNBQUksSUFBSSxDQUFDVyxJQUFJLFdBQVksQ0FBQXJCLGdCQUFnQixDQUFFLENBQUFKLGNBQUEsR0FBQXVCLENBQUEsU0FBQXZCLGNBQUEsR0FBQWMsQ0FBQSxNQUNoRFEsUUFBUSxDQUFHLElBQUksQ0FBQ0csSUFBSSxDQUVwQjtBQUFBekIsY0FBQSxHQUFBYyxDQUFBLE1BQ0EsR0FBSSxJQUFJLENBQUNZLGFBQWEsQ0FBRSxDQUFBMUIsY0FBQSxHQUFBdUIsQ0FBQSxTQUFBdkIsY0FBQSxHQUFBYyxDQUFBLE9BQ3RCUSxRQUFRLENBQUdBLFFBQVEsQ0FBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQ1MsYUFBYSxDQUFxQixDLENBQ2hFLEtBQUExQixjQUFBLEdBQUF1QixDQUFBLFUsQ0FDRixJQUFNLENBQUF2QixjQUFBLEdBQUF1QixDQUFBLFNBQUF2QixjQUFBLEdBQUFjLENBQUEsT0FDTCxLQUFNLElBQUksQ0FBQWEsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDLEVBR2pDLEtBQU0sQ0FBQUMsS0FBSyxFQUFBNUIsY0FBQSxHQUFBYyxDQUFBLE9BQXFDZSxNQUFNLENBQUNDLElBQUksQ0FDekRSLFFBQVEsQ0FBQ1MsUUFBUSxDQUNsQixDQUFDQyxHQUFHLENBQUVDLEdBQUcsRUFBSSxDQUFBakMsY0FBQSxHQUFBYSxDQUFBLE1BQUFiLGNBQUEsR0FBQWMsQ0FBQSxPQUNaLE1BQWtDLENBQUFRLFFBQVEsQ0FBQ1MsUUFBUSxDQUFDRSxHQUFHLENBQUMsQ0FDMUQsQ0FBQyxDQUFDLEVBQUNqQyxjQUFBLEdBQUFjLENBQUEsT0FFSCxJQUFJLENBQUNvQixrQkFBa0IsQ0FBQ04sS0FBSyxDQUFFUixVQUFVLENBQUMsQ0FBQ3BCLGNBQUEsR0FBQWMsQ0FBQSxPQUUzQyxNQUFPLENBQUFNLFVBQVUsQ0FBQ2UsTUFBTSxDQUFFQyxJQUFJLEVBQUssQ0FBQXBDLGNBQUEsR0FBQWEsQ0FBQSxNQUFBYixjQUFBLEdBQUFjLENBQUEsY0FBQXNCLElBQUksR0FBSyxJQUFJLENBQUosQ0FBSSxDQUFDLENBQ25ELENBRUE7O09BR0EsR0FBVyxDQUFBQyxTQUFTQSxDQUFBLEVBQUFyQyxjQUFBLEdBQUFhLENBQUEsTUFBQWIsY0FBQSxHQUFBYyxDQUFBLE9BQ2xCLE1BQU8sS0FBSSxDQUFDSyxVQUFVLENBQUNtQixNQUFNLENBQUcsQ0FBQyxDQUNuQyxDQUVBO0FBRUE7QUFFQTs7OztPQUtRQyxvQkFBb0JBLENBQzFCQyxHQUFvQixDQUNwQnBCLFVBQXFDLEVBQUFwQixjQUFBLEdBQUFhLENBQUEsTUFBQWIsY0FBQSxHQUFBYyxDQUFBLE9BRXJDLEdBQUksQ0FBQWQsY0FBQSxHQUFBdUIsQ0FBQSxTQUFBaUIsR0FBRyxDQUFDQyxNQUFNLEdBQUssSUFBSSxJQUFBekMsY0FBQSxHQUFBdUIsQ0FBQSxTQUFJaUIsR0FBRyxDQUFDRSxPQUFPLEdBQUssS0FBSyxJQUFBMUMsY0FBQSxHQUFBdUIsQ0FBQSxTQUFJaUIsR0FBRyxDQUFDRyxLQUFLLEdBQUssSUFBSSxFQUFFLENBQUEzQyxjQUFBLEdBQUF1QixDQUFBLFNBQUF2QixjQUFBLEdBQUFjLENBQUEsT0FDdEUsTyxDQUNELEtBQUFkLGNBQUEsR0FBQXVCLENBQUEsVUFFRCxLQUFNLENBQUFPLElBQUksRUFBQTlCLGNBQUEsR0FBQWMsQ0FBQSxPQUFhZSxNQUFNLENBQUNDLElBQUksQ0FBQ1UsR0FBRyxDQUFDQyxNQUFNLENBQUMsRUFBQ3pDLGNBQUEsR0FBQWMsQ0FBQSxPQUUvQyxHQUFJZ0IsSUFBSSxDQUFDUSxNQUFNLEVBQUksQ0FBQyxDQUFFLENBQUF0QyxjQUFBLEdBQUF1QixDQUFBLFNBQUF2QixjQUFBLEdBQUFjLENBQUEsT0FDcEIsTyxDQUNELEtBQUFkLGNBQUEsR0FBQXVCLENBQUEsVUFFRCxLQUFNLENBQUFxQixTQUFTLEVBQUE1QyxjQUFBLEdBQUFjLENBQUEsT0FBd0IwQixHQUFHLENBQUNDLE1BQU0sQ0FBQ1gsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBRTFEO0FBQ0EsS0FBTSxDQUFBZSxVQUFVLEVBQUE3QyxjQUFBLEdBQUFjLENBQUEsT0FBRyxFQUFFLEVBQUNkLGNBQUEsR0FBQWMsQ0FBQSxPQUN0QixHQUFJLENBQUFkLGNBQUEsR0FBQXVCLENBQUEsU0FBQXFCLFNBQVMsQ0FBQ0MsVUFBVSxHQUFLLElBQUksSUFBQTdDLGNBQUEsR0FBQXVCLENBQUEsU0FBSXFCLFNBQVMsQ0FBQ0MsVUFBVSxHQUFLQyxTQUFTLEVBQUUsQ0FBQTlDLGNBQUEsR0FBQXVCLENBQUEsU0FBQXZCLGNBQUEsR0FBQWMsQ0FBQSxPQUN2RThCLFNBQVMsQ0FBQ0MsVUFBVSxDQUFDRSxPQUFPLENBQUMsQ0FBQ0MsQ0FBQyxDQUFFQyxDQUFDLEdBQUksQ0FBQWpELGNBQUEsR0FBQWEsQ0FBQSxNQUFBYixjQUFBLEdBQUFjLENBQUEsT0FDcEMrQixVQUFVLENBQUNJLENBQUMsQ0FBQyxDQUFHRCxDQUFDLENBQ25CLENBQUMsQ0FBQyxDLENBQ0gsS0FBQWhELGNBQUEsR0FBQXVCLENBQUEsVUFBQXZCLGNBQUEsR0FBQWMsQ0FBQSxPQUVELEdBQUswQixHQUFpRCxFQUFFVSxZQUFZLENBQUUsQ0FBQWxELGNBQUEsR0FBQXVCLENBQUEsU0FBQXZCLGNBQUEsR0FBQWMsQ0FBQSxPQUNwRStCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FDakJMLEdBQ0QsQ0FBQ1UsWUFBWSxDLENBQ2YsSUFBTSxDQUFBbEQsY0FBQSxHQUFBdUIsQ0FBQSxTQUFBdkIsY0FBQSxHQUFBYyxDQUFBLE9BQ0wrQixVQUFVLENBQUMsT0FBTyxDQUFDLENBQUdELFNBQVMsQ0FBQ08sU0FBUyxDLENBQzFDbkQsY0FBQSxHQUFBYyxDQUFBLE9BRURNLFVBQVUsQ0FBQ2dDLElBQUksQ0FDYixJQUFJLENBQUNsQyxrQkFBa0IsQ0FBQ21DLFNBQVMsQ0FDL0JULFNBQVMsQ0FBQ1UsZ0NBQWdDLENBQzFDVCxVQUFVLENBQ1gsQ0FDRixDQUNILENBRUE7O09BR1FYLGtCQUFrQkEsQ0FDeEJILFFBQTBDLENBQzFDWCxVQUFxQyxFQUFBcEIsY0FBQSxHQUFBYSxDQUFBLE1BQUFiLGNBQUEsR0FBQWMsQ0FBQSxPQUVyQ2lCLFFBQVEsQ0FBQ2dCLE9BQU8sQ0FBRVAsR0FBRyxFQUFJLENBQUF4QyxjQUFBLEdBQUFhLENBQUEsTUFBQWIsY0FBQSxHQUFBYyxDQUFBLE9BQ3ZCLEdBQUksQ0FBQWQsY0FBQSxHQUFBdUIsQ0FBQSxVQUFBaUIsR0FBRyxDQUFDVCxRQUFRLEdBQUtlLFNBQVMsSUFBQTlDLGNBQUEsR0FBQXVCLENBQUEsVUFBSWlCLEdBQUcsQ0FBQ1QsUUFBUSxHQUFLLElBQUksRUFBRSxDQUFBL0IsY0FBQSxHQUFBdUIsQ0FBQSxTQUFBdkIsY0FBQSxHQUFBYyxDQUFBLE9BQ3ZELElBQUksQ0FBQ3lCLG9CQUFvQixDQUFrQkMsR0FBRyxDQUFFcEIsVUFBVSxDQUFDLEMsQ0FDNUQsSUFBTSxDQUFBcEIsY0FBQSxHQUFBdUIsQ0FBQSxTQUFBdkIsY0FBQSxHQUFBYyxDQUFBLE9BQ0xlLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDVSxHQUFHLENBQUNULFFBQVEsQ0FBQyxDQUFDQyxHQUFHLENBQUV1QixVQUFVLEVBQUksQ0FBQXZELGNBQUEsR0FBQWEsQ0FBQSxNQUMzQyxLQUFNLENBQUEyQyxPQUFPLEVBQUF4RCxjQUFBLEdBQUFjLENBQUEsT0FBRzBCLEdBQUcsQ0FBQ1QsUUFBUSxDQUFDd0IsVUFBVSxDQUFDLEVBRXhDO0FBQUF2RCxjQUFBLEdBQUFjLENBQUEsT0FDQSxHQUFJLENBQUFkLGNBQUEsR0FBQXVCLENBQUEsVUFBQWlDLE9BQU8sQ0FBQ2QsT0FBTyxHQUFLLEtBQUssSUFBQTFDLGNBQUEsR0FBQXVCLENBQUEsVUFBSWlDLE9BQU8sQ0FBQ2IsS0FBSyxHQUFLLElBQUksRUFBRSxDQUFBM0MsY0FBQSxHQUFBdUIsQ0FBQSxVQUFBdkIsY0FBQSxHQUFBYyxDQUFBLE9BQ3ZELE8sQ0FDRCxLQUFBZCxjQUFBLEdBQUF1QixDQUFBLFdBRUQ7QUFBQXZCLGNBQUEsR0FBQWMsQ0FBQSxPQUNBLEdBQUksQ0FBQWQsY0FBQSxHQUFBdUIsQ0FBQSxVQUFBaUMsT0FBTyxDQUFDekIsUUFBUSxHQUFLZSxTQUFTLElBQUE5QyxjQUFBLEdBQUF1QixDQUFBLFVBQUlpQyxPQUFPLENBQUN6QixRQUFRLEdBQUssSUFBSSxFQUFFLENBQUEvQixjQUFBLEdBQUF1QixDQUFBLFVBQUF2QixjQUFBLEdBQUFjLENBQUEsT0FDL0QsSUFBSSxDQUFDeUIsb0JBQW9CLENBQUNpQixPQUFPLENBQUVwQyxVQUFVLENBQUMsQyxDQUMvQyxJQUFNLENBQUFwQixjQUFBLEdBQUF1QixDQUFBLFVBQ0w7QUFDQSxLQUFNLENBQUFLLEtBQUssRUFBQTVCLGNBQUEsR0FBQWMsQ0FBQSxPQUFxQ2UsTUFBTSxDQUFDQyxJQUFJLENBQ3pEMEIsT0FBTyxDQUFDekIsUUFBUSxDQUNqQixDQUFDQyxHQUFHLENBQUV5QixPQUFPLEVBQUksQ0FBQXpELGNBQUEsR0FBQWEsQ0FBQSxPQUFBYixjQUFBLEdBQUFjLENBQUEsT0FDaEIsTUFBa0MsQ0FBQTBDLE9BQU8sQ0FBQ3pCLFFBQVEsQ0FBQzBCLE9BQU8sQ0FBQyxDQUM3RCxDQUFDLENBQUMsRUFBQ3pELGNBQUEsR0FBQWMsQ0FBQSxPQUVILElBQUksQ0FBQ29CLGtCQUFrQixDQUFDTixLQUFLLENBQUVSLFVBQVUsQ0FBQyxDLENBRTlDLENBQUMsQ0FBQyxDLENBRU4sQ0FBQyxDQUFDLENBQ0osQyx3SEF2TFdYLDBCQUEwQixDQUFBaUQsSUFBQSxHQUFBQyxLQUFBLENBQUFDLEVBQUEsQ0FBQUMsYUFBQSxHQUFBRixLQUFBLENBQUFHLEVBQUEsQ0FBQUMsUUFBQSxHQUFBQyxNQUFBLENBQUFGLEVBQUEsQ0FBQUcsZUFBQSxDQUFBL0QsU0FBQSxJLDhHQUExQk8sMEJBQTBCLENBQUF5RCxNQUFBLEVBQUF6QyxJQUFBLFFBQUFDLGFBQUEsaUJBQUFYLElBQUEsU0FBQW9ELFFBQUEsQ0FBQUwsRUFBQSxJLFFBQTFCckQsMEJBQTBCLEVBQUFULGNBQUEsR0FBQWMsQ0FBQSxPLG9GQUExQkwsMEJBQTBCLENBQUEyRCxVQUFBLEcsS0FEdENsRSxTLG9KQXFCUXVCLElBQUksRyxLQURWdEIsSyxHQVFNdUIsYUFBYSxHLEtBRG5CdkIsSyxHQU1NWSxJQUFJLEcsS0FEVlosSyJ9
@@ -1,145 +1,37 @@
1
- import { Directive, EventEmitter, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
1
+ function cov_1lre86kppu(){var path="C:\\Projekte\\simpleangularcontrols-ng16\\ch.jnetwork.sac-controls\\dist\\sac-common\\esm2022\\controls\\wizard\\wizard.mjs";var hash="e31ae7fdcedfb1a6cfef63cb4b16f77e7e16ce0b";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\\wizard\\wizard.mjs",statementMap:{"0":{start:{line:11,column:8},end:{line:11,column:23}},"1":{start:{line:15,column:8},end:{line:15,column:39}},"2":{start:{line:19,column:8},end:{line:19,column:46}},"3":{start:{line:23,column:8},end:{line:23,column:41}},"4":{start:{line:27,column:8},end:{line:27,column:40}},"5":{start:{line:33,column:8},end:{line:33,column:27}},"6":{start:{line:34,column:8},end:{line:34,column:48}},"7":{start:{line:37,column:8},end:{line:37,column:33}},"8":{start:{line:40,column:8},end:{line:40,column:33}},"9":{start:{line:41,column:8},end:{line:41,column:48}},"10":{start:{line:48,column:8},end:{line:48,column:25}},"11":{start:{line:54,column:27},end:{line:54,column:75}},"12":{start:{line:54,column:63},end:{line:54,column:74}},"13":{start:{line:55,column:8},end:{line:60,column:9}},"14":{start:{line:56,column:29},end:{line:56,column:60}},"15":{start:{line:57,column:12},end:{line:57,column:38}},"16":{start:{line:58,column:12},end:{line:58,column:38}},"17":{start:{line:59,column:12},end:{line:59,column:46}},"18":{start:{line:69,column:8},end:{line:71,column:9}},"19":{start:{line:70,column:12},end:{line:70,column:19}},"20":{start:{line:72,column:8},end:{line:72,column:33}},"21":{start:{line:79,column:8},end:{line:81,column:9}},"22":{start:{line:80,column:12},end:{line:80,column:19}},"23":{start:{line:82,column:33},end:{line:82,column:61}},"24":{start:{line:83,column:27},end:{line:83,column:50}},"25":{start:{line:84,column:33},end:{line:84,column:83}},"26":{start:{line:84,column:67},end:{line:84,column:82}},"27":{start:{line:85,column:8},end:{line:105,column:9}},"28":{start:{line:85,column:21},end:{line:85,column:22}},"29":{start:{line:86,column:25},end:{line:86,column:44}},"30":{start:{line:87,column:12},end:{line:92,column:13}},"31":{start:{line:88,column:16},end:{line:88,column:39}},"32":{start:{line:91,column:16},end:{line:91,column:40}},"33":{start:{line:93,column:12},end:{line:98,column:13}},"34":{start:{line:94,column:16},end:{line:94,column:37}},"35":{start:{line:97,column:16},end:{line:97,column:38}},"36":{start:{line:99,column:12},end:{line:104,column:13}},"37":{start:{line:100,column:16},end:{line:100,column:35}},"38":{start:{line:103,column:16},end:{line:103,column:36}},"39":{start:{line:106,column:8},end:{line:106,column:35}},"40":{start:{line:107,column:8},end:{line:107,column:36}},"41":{start:{line:114,column:8},end:{line:114,column:48}},"42":{start:{line:114,column:40},end:{line:114,column:47}},"43":{start:{line:120,column:8},end:{line:120,column:47}},"44":{start:{line:120,column:39},end:{line:120,column:46}},"45":{start:{line:126,column:8},end:{line:128,column:9}},"46":{start:{line:127,column:12},end:{line:127,column:35}},"47":{start:{line:130,column:13},end:{line:130,column:178}},"48":{start:{line:131,column:13},end:{line:131,column:267}},"49":{start:{line:134,column:0},end:{line:144,column:20}}},fnMap:{"0":{name:"(anonymous_0)",decl:{start:{line:7,column:4},end:{line:7,column:5}},loc:{start:{line:7,column:18},end:{line:28,column:5}},line:7},"1":{name:"(anonymous_1)",decl:{start:{line:23,column:31},end:{line:23,column:32}},loc:{start:{line:23,column:37},end:{line:23,column:40}},line:23},"2":{name:"(anonymous_2)",decl:{start:{line:27,column:30},end:{line:27,column:31}},loc:{start:{line:27,column:36},end:{line:27,column:39}},line:27},"3":{name:"(anonymous_3)",decl:{start:{line:32,column:4},end:{line:32,column:5}},loc:{start:{line:32,column:23},end:{line:35,column:5}},line:32},"4":{name:"(anonymous_4)",decl:{start:{line:36,column:4},end:{line:36,column:5}},loc:{start:{line:36,column:22},end:{line:38,column:5}},line:36},"5":{name:"(anonymous_5)",decl:{start:{line:39,column:4},end:{line:39,column:5}},loc:{start:{line:39,column:26},end:{line:42,column:5}},line:39},"6":{name:"(anonymous_6)",decl:{start:{line:47,column:4},end:{line:47,column:5}},loc:{start:{line:47,column:25},end:{line:49,column:5}},line:47},"7":{name:"(anonymous_7)",decl:{start:{line:53,column:4},end:{line:53,column:5}},loc:{start:{line:53,column:16},end:{line:61,column:5}},line:53},"8":{name:"(anonymous_8)",decl:{start:{line:54,column:53},end:{line:54,column:54}},loc:{start:{line:54,column:63},end:{line:54,column:74}},line:54},"9":{name:"(anonymous_9)",decl:{start:{line:67,column:4},end:{line:67,column:5}},loc:{start:{line:67,column:21},end:{line:73,column:5}},line:67},"10":{name:"(anonymous_10)",decl:{start:{line:78,column:4},end:{line:78,column:5}},loc:{start:{line:78,column:21},end:{line:108,column:5}},line:78},"11":{name:"(anonymous_11)",decl:{start:{line:84,column:60},end:{line:84,column:61}},loc:{start:{line:84,column:67},end:{line:84,column:82}},line:84},"12":{name:"(anonymous_12)",decl:{start:{line:113,column:4},end:{line:113,column:5}},loc:{start:{line:113,column:25},end:{line:115,column:5}},line:113},"13":{name:"(anonymous_13)",decl:{start:{line:114,column:31},end:{line:114,column:32}},loc:{start:{line:114,column:40},end:{line:114,column:47}},line:114},"14":{name:"(anonymous_14)",decl:{start:{line:119,column:4},end:{line:119,column:5}},loc:{start:{line:119,column:26},end:{line:121,column:5}},line:119},"15":{name:"(anonymous_15)",decl:{start:{line:120,column:30},end:{line:120,column:31}},loc:{start:{line:120,column:39},end:{line:120,column:46}},line:120},"16":{name:"(anonymous_16)",decl:{start:{line:125,column:4},end:{line:125,column:5}},loc:{start:{line:125,column:22},end:{line:129,column:5}},line:125}},branchMap:{"0":{loc:{start:{line:55,column:8},end:{line:60,column:9}},type:"if",locations:[{start:{line:55,column:8},end:{line:60,column:9}},{start:{line:55,column:8},end:{line:60,column:9}}],line:55},"1":{loc:{start:{line:69,column:8},end:{line:71,column:9}},type:"if",locations:[{start:{line:69,column:8},end:{line:71,column:9}},{start:{line:69,column:8},end:{line:71,column:9}}],line:69},"2":{loc:{start:{line:79,column:8},end:{line:81,column:9}},type:"if",locations:[{start:{line:79,column:8},end:{line:81,column:9}},{start:{line:79,column:8},end:{line:81,column:9}}],line:79},"3":{loc:{start:{line:79,column:12},end:{line:79,column:75}},type:"binary-expr",locations:[{start:{line:79,column:12},end:{line:79,column:44}},{start:{line:79,column:48},end:{line:79,column:75}}],line:79},"4":{loc:{start:{line:87,column:12},end:{line:92,column:13}},type:"if",locations:[{start:{line:87,column:12},end:{line:92,column:13}},{start:{line:87,column:12},end:{line:92,column:13}}],line:87},"5":{loc:{start:{line:93,column:12},end:{line:98,column:13}},type:"if",locations:[{start:{line:93,column:12},end:{line:98,column:13}},{start:{line:93,column:12},end:{line:98,column:13}}],line:93},"6":{loc:{start:{line:99,column:12},end:{line:104,column:13}},type:"if",locations:[{start:{line:99,column:12},end:{line:104,column:13}},{start:{line:99,column:12},end:{line:104,column:13}}],line:99},"7":{loc:{start:{line:126,column:8},end:{line:128,column:9}},type:"if",locations:[{start:{line:126,column:8},end:{line:128,column:9}},{start:{line:126,column:8},end:{line:128,column:9}}],line:126}},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},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},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]},inputSourceMap:{version:3,file:"wizard.js",sourceRoot:"",sources:["../../../../../projects/sac-common/src/controls/wizard/wizard.ts"],names:[],mappings:"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",sourcesContent:["import { AfterContentInit, Directive, EventEmitter, Input, Output, QueryList } from '@angular/core';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\nimport { SacWizardItemCommon } from './wizarditem';\r\n\r\n/**\r\n * Base Komponente f\xFCr SacWizardCommon\r\n */\r\n@Directive()\r\nexport abstract class SacWizardCommon implements AfterContentInit, ControlValueAccessor {\r\n\r\n /**\r\n * Aktueller Schritt im Wizard\r\n */\r\n private _currentstep: string;\r\n\r\n /**\r\n * Name des Controls\r\n */\r\n @Input()\r\n name: string = '';\r\n\r\n /**\r\n * Boolean Property pr\xFCft ob Navigation im Wizard disabled ist; default Wert - false\r\n */\r\n @Input()\r\n disablenavigation: boolean = false;\r\n\r\n /**\r\n * Setter und Getter f\xFCr aktueller Schritt\r\n */\r\n @Input()\r\n set currentstep(v: string | null) {\r\n this.changeStep(v);\r\n this.propagateChange(this._currentstep);\r\n }\r\n get currentstep(): string | null {\r\n return this._currentstep;\r\n }\r\n /**\r\n * EventEmitter wenn der Schritt ge\xE4ndert wird\r\n */\r\n @Output()\r\n stepchanged: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n\r\n /**\r\n * Abstrakte QueryList von SacWizardItemCommon\r\n */\r\n abstract wizardItems(): QueryList<SacWizardItemCommon>;\r\n\r\n private setStepInternal(step: string): void {\r\n this._currentstep = step;\r\n this.propagateChange(this._currentstep);\r\n }\r\n\r\n // #region Control initialisieren\r\n\r\n /**\r\n * AfterContentInit Event\r\n */\r\n ngAfterContentInit() {\r\n this.initSteps();\r\n }\r\n /**\r\n * Urspr\xFCnglicher Schritt wird selektiert\r\n */\r\n private initSteps(): void {\r\n const activeStep = this.wizardItems().filter((step) => step.active);\r\n\r\n if (activeStep.length === 0) {\r\n const initStep: SacWizardItemCommon = this.wizardItems().toArray()[0];\r\n this.selectStep(initStep);\r\n initStep.disabled = false;\r\n this.setStepInternal(initStep.id);\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n /**\r\n * Schritt selektieren\r\n * @param step Step welcher selektiert werden soll\r\n */\r\n selectStep(step: SacWizardItemCommon): void {\r\n\r\n // Cancel if Navigation disabled\r\n if (this.disablenavigation) {\r\n return;\r\n }\r\n\r\n this.changeStep(step.id);\r\n }\r\n\r\n /**\r\n * Auf n\xE4chsten/vorherigen Schritt gehen\r\n * @param step Step auf welchen gewechselt werden soll\r\n */\r\n changeStep(step: string | null) {\r\n if (this.wizardItems() === undefined || this.wizardItems() === null) {\r\n return;\r\n }\r\n\r\n const wizardItemsArray: SacWizardItemCommon[] = this.wizardItems().toArray();\r\n const itemsCount: number = wizardItemsArray.length;\r\n const currentItemIndex = wizardItemsArray.findIndex(itm => itm.id === step);\r\n\r\n for (let i: number = 0; i < itemsCount; i++) {\r\n const item: SacWizardItemCommon = wizardItemsArray[i];\r\n\r\n if (i < currentItemIndex) {\r\n item.iscomplete = true;\r\n } else {\r\n item.iscomplete = false;\r\n }\r\n\r\n if (i > currentItemIndex + 1) {\r\n item.disabled = true;\r\n } else {\r\n item.disabled = false;\r\n }\r\n\r\n if (i === currentItemIndex) {\r\n item.active = true;\r\n } else {\r\n item.active = false;\r\n }\r\n }\r\n\r\n this.setStepInternal(step);\r\n this.stepchanged.emit(step);\r\n }\r\n\r\n /**\r\n * Leere Implementation von 'propagateChange'. Muss gemacht werden, damit kein Fehler entsteht\r\n */\r\n propagateChange: any = () => { };\r\n /**\r\n * Leere Implementation von 'propagateTouch'. Muss gemacht werden, damit kein Fehler entsteht\r\n */\r\n propagateTouch: any = () => { };\r\n\r\n\r\n /**\r\n * Methode, damit andere Controls \xE4nderungen im Control mitbekommen k\xF6nnen\r\n * Zur \xC4nderungsinfo die Methode propagateChange aufrufen.\r\n */\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = (obj) => fn(obj);\r\n }\r\n\r\n /**\r\n * Methode, damit andere Controls \xE4nderungen mitbekommen, wenn das Control aktiviert (Focus) wird.\r\n */\r\n registerOnTouched(fn: any): void {\r\n this.propagateTouch = (obj) => fn(obj);\r\n }\r\n\r\n /**\r\n * Methode zum schreiben von Werten aus dem Model in das Control\r\n */\r\n writeValue(value: string | null) {\r\n if (value) {\r\n this.changeStep(value);\r\n }\r\n }\r\n\r\n}\r\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"e31ae7fdcedfb1a6cfef63cb4b16f77e7e16ce0b"};var coverage=global[gcv]||(global[gcv]={});if(!coverage[path]||coverage[path].hash!==hash){coverage[path]=coverageData;}var actualCoverage=coverage[path];{// @ts-ignore
2
+ cov_1lre86kppu=function(){return actualCoverage;};}return actualCoverage;}cov_1lre86kppu();import{Directive,EventEmitter,Input,Output}from'@angular/core';import*as i0 from"@angular/core";/**
4
3
  * Base Komponente für SacWizardCommon
5
- */
6
- class SacWizardCommon {
7
- constructor() {
8
- /**
4
+ */class SacWizardCommon{constructor(){cov_1lre86kppu().f[0]++;cov_1lre86kppu().s[0]++;/**
9
5
  * Name des Controls
10
- */
11
- this.name = '';
12
- /**
6
+ */this.name='';/**
13
7
  * Boolean Property prüft ob Navigation im Wizard disabled ist; default Wert - false
14
- */
15
- this.disablenavigation = false;
16
- /**
8
+ */cov_1lre86kppu().s[1]++;this.disablenavigation=false;/**
17
9
  * EventEmitter wenn der Schritt geändert wird
18
- */
19
- this.stepchanged = new EventEmitter();
20
- /**
10
+ */cov_1lre86kppu().s[2]++;this.stepchanged=new EventEmitter();/**
21
11
  * Leere Implementation von 'propagateChange'. Muss gemacht werden, damit kein Fehler entsteht
22
- */
23
- this.propagateChange = () => { };
24
- /**
12
+ */cov_1lre86kppu().s[3]++;this.propagateChange=()=>{cov_1lre86kppu().f[1]++;};/**
25
13
  * Leere Implementation von 'propagateTouch'. Muss gemacht werden, damit kein Fehler entsteht
26
- */
27
- this.propagateTouch = () => { };
28
- }
29
- /**
14
+ */cov_1lre86kppu().s[4]++;this.propagateTouch=()=>{cov_1lre86kppu().f[2]++;};}/**
30
15
  * Setter und Getter für aktueller Schritt
31
- */
32
- set currentstep(v) {
33
- this.changeStep(v);
34
- this.propagateChange(this._currentstep);
35
- }
36
- get currentstep() {
37
- return this._currentstep;
38
- }
39
- setStepInternal(step) {
40
- this._currentstep = step;
41
- this.propagateChange(this._currentstep);
42
- }
43
- // #region Control initialisieren
44
- /**
16
+ */set currentstep(v){cov_1lre86kppu().f[3]++;cov_1lre86kppu().s[5]++;this.changeStep(v);cov_1lre86kppu().s[6]++;this.propagateChange(this._currentstep);}get currentstep(){cov_1lre86kppu().f[4]++;cov_1lre86kppu().s[7]++;return this._currentstep;}setStepInternal(step){cov_1lre86kppu().f[5]++;cov_1lre86kppu().s[8]++;this._currentstep=step;cov_1lre86kppu().s[9]++;this.propagateChange(this._currentstep);}// #region Control initialisieren
17
+ /**
45
18
  * AfterContentInit Event
46
- */
47
- ngAfterContentInit() {
48
- this.initSteps();
49
- }
50
- /**
19
+ */ngAfterContentInit(){cov_1lre86kppu().f[6]++;cov_1lre86kppu().s[10]++;this.initSteps();}/**
51
20
  * Ursprünglicher Schritt wird selektiert
52
- */
53
- initSteps() {
54
- const activeStep = this.wizardItems().filter((step) => step.active);
55
- if (activeStep.length === 0) {
56
- const initStep = this.wizardItems().toArray()[0];
57
- this.selectStep(initStep);
58
- initStep.disabled = false;
59
- this.setStepInternal(initStep.id);
60
- }
61
- }
62
- // #endregion
63
- /**
21
+ */initSteps(){cov_1lre86kppu().f[7]++;const activeStep=(cov_1lre86kppu().s[11]++,this.wizardItems().filter(step=>{cov_1lre86kppu().f[8]++;cov_1lre86kppu().s[12]++;return step.active;}));cov_1lre86kppu().s[13]++;if(activeStep.length===0){cov_1lre86kppu().b[0][0]++;const initStep=(cov_1lre86kppu().s[14]++,this.wizardItems().toArray()[0]);cov_1lre86kppu().s[15]++;this.selectStep(initStep);cov_1lre86kppu().s[16]++;initStep.disabled=false;cov_1lre86kppu().s[17]++;this.setStepInternal(initStep.id);}else{cov_1lre86kppu().b[0][1]++;}}// #endregion
22
+ /**
64
23
  * Schritt selektieren
65
24
  * @param step Step welcher selektiert werden soll
66
- */
67
- selectStep(step) {
68
- // Cancel if Navigation disabled
69
- if (this.disablenavigation) {
70
- return;
71
- }
72
- this.changeStep(step.id);
73
- }
74
- /**
25
+ */selectStep(step){cov_1lre86kppu().f[9]++;cov_1lre86kppu().s[18]++;// Cancel if Navigation disabled
26
+ if(this.disablenavigation){cov_1lre86kppu().b[1][0]++;cov_1lre86kppu().s[19]++;return;}else{cov_1lre86kppu().b[1][1]++;}cov_1lre86kppu().s[20]++;this.changeStep(step.id);}/**
75
27
  * Auf nächsten/vorherigen Schritt gehen
76
28
  * @param step Step auf welchen gewechselt werden soll
77
- */
78
- changeStep(step) {
79
- if (this.wizardItems() === undefined || this.wizardItems() === null) {
80
- return;
81
- }
82
- const wizardItemsArray = this.wizardItems().toArray();
83
- const itemsCount = wizardItemsArray.length;
84
- const currentItemIndex = wizardItemsArray.findIndex(itm => itm.id === step);
85
- for (let i = 0; i < itemsCount; i++) {
86
- const item = wizardItemsArray[i];
87
- if (i < currentItemIndex) {
88
- item.iscomplete = true;
89
- }
90
- else {
91
- item.iscomplete = false;
92
- }
93
- if (i > currentItemIndex + 1) {
94
- item.disabled = true;
95
- }
96
- else {
97
- item.disabled = false;
98
- }
99
- if (i === currentItemIndex) {
100
- item.active = true;
101
- }
102
- else {
103
- item.active = false;
104
- }
105
- }
106
- this.setStepInternal(step);
107
- this.stepchanged.emit(step);
108
- }
109
- /**
29
+ */changeStep(step){cov_1lre86kppu().f[10]++;cov_1lre86kppu().s[21]++;if((cov_1lre86kppu().b[3][0]++,this.wizardItems()===undefined)||(cov_1lre86kppu().b[3][1]++,this.wizardItems()===null)){cov_1lre86kppu().b[2][0]++;cov_1lre86kppu().s[22]++;return;}else{cov_1lre86kppu().b[2][1]++;}const wizardItemsArray=(cov_1lre86kppu().s[23]++,this.wizardItems().toArray());const itemsCount=(cov_1lre86kppu().s[24]++,wizardItemsArray.length);const currentItemIndex=(cov_1lre86kppu().s[25]++,wizardItemsArray.findIndex(itm=>{cov_1lre86kppu().f[11]++;cov_1lre86kppu().s[26]++;return itm.id===step;}));cov_1lre86kppu().s[27]++;for(let i=(cov_1lre86kppu().s[28]++,0);i<itemsCount;i++){const item=(cov_1lre86kppu().s[29]++,wizardItemsArray[i]);cov_1lre86kppu().s[30]++;if(i<currentItemIndex){cov_1lre86kppu().b[4][0]++;cov_1lre86kppu().s[31]++;item.iscomplete=true;}else{cov_1lre86kppu().b[4][1]++;cov_1lre86kppu().s[32]++;item.iscomplete=false;}cov_1lre86kppu().s[33]++;if(i>currentItemIndex+1){cov_1lre86kppu().b[5][0]++;cov_1lre86kppu().s[34]++;item.disabled=true;}else{cov_1lre86kppu().b[5][1]++;cov_1lre86kppu().s[35]++;item.disabled=false;}cov_1lre86kppu().s[36]++;if(i===currentItemIndex){cov_1lre86kppu().b[6][0]++;cov_1lre86kppu().s[37]++;item.active=true;}else{cov_1lre86kppu().b[6][1]++;cov_1lre86kppu().s[38]++;item.active=false;}}cov_1lre86kppu().s[39]++;this.setStepInternal(step);cov_1lre86kppu().s[40]++;this.stepchanged.emit(step);}/**
110
30
  * Methode, damit andere Controls änderungen im Control mitbekommen können
111
31
  * Zur Änderungsinfo die Methode propagateChange aufrufen.
112
- */
113
- registerOnChange(fn) {
114
- this.propagateChange = (obj) => fn(obj);
115
- }
116
- /**
32
+ */registerOnChange(fn){cov_1lre86kppu().f[12]++;cov_1lre86kppu().s[41]++;this.propagateChange=obj=>{cov_1lre86kppu().f[13]++;cov_1lre86kppu().s[42]++;return fn(obj);};}/**
117
33
  * Methode, damit andere Controls änderungen mitbekommen, wenn das Control aktiviert (Focus) wird.
118
- */
119
- registerOnTouched(fn) {
120
- this.propagateTouch = (obj) => fn(obj);
121
- }
122
- /**
34
+ */registerOnTouched(fn){cov_1lre86kppu().f[14]++;cov_1lre86kppu().s[43]++;this.propagateTouch=obj=>{cov_1lre86kppu().f[15]++;cov_1lre86kppu().s[44]++;return fn(obj);};}/**
123
35
  * Methode zum schreiben von Werten aus dem Model in das Control
124
- */
125
- writeValue(value) {
126
- if (value) {
127
- this.changeStep(value);
128
- }
129
- }
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardCommon, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
131
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: SacWizardCommon, inputs: { name: "name", disablenavigation: "disablenavigation", currentstep: "currentstep" }, outputs: { stepchanged: "stepchanged" }, ngImport: i0 }); }
132
- }
133
- export { SacWizardCommon };
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SacWizardCommon, decorators: [{
135
- type: Directive
136
- }], propDecorators: { name: [{
137
- type: Input
138
- }], disablenavigation: [{
139
- type: Input
140
- }], currentstep: [{
141
- type: Input
142
- }], stepchanged: [{
143
- type: Output
144
- }] } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvd2l6YXJkL3dpemFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFJcEc7O0dBRUc7QUFDSCxNQUNzQixlQUFlO0lBRHJDO1FBUUU7O1dBRUc7UUFFSCxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCOztXQUVHO1FBRUgsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBYW5DOztXQUVHO1FBRUgsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQTBGL0Q7O1dBRUc7UUFDSCxvQkFBZSxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQzs7V0FFRztRQUNILG1CQUFjLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBMkJqQztJQTNJQzs7T0FFRztJQUNILElBQ0ksV0FBVyxDQUFDLENBQWdCO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBYU8sZUFBZSxDQUFDLElBQVk7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGlDQUFpQztJQUVqQzs7T0FFRztJQUNILGtCQUFrQjtRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNEOztPQUVHO0lB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QUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDOytHQTVKbUIsZUFBZTttR0FBZixlQUFlOztTQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEcEMsU0FBUzs4QkFZUixJQUFJO3NCQURILEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixLQUFLO2dCQU9GLFdBQVc7c0JBRGQsS0FBSztnQkFZTixXQUFXO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNXaXphcmRJdGVtQ29tbW9uIH0gZnJvbSAnLi93aXphcmRpdGVtJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIEtvbXBvbmVudGUgZsO8ciBTYWNXaXphcmRDb21tb25cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjV2l6YXJkQ29tbW9uIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAvKipcclxuICAqIEFrdHVlbGxlciBTY2hyaXR0IGltIFdpemFyZFxyXG4gICovXHJcbiAgcHJpdmF0ZSBfY3VycmVudHN0ZXA6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogTmFtZSBkZXMgQ29udHJvbHNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIG5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IHByw7xmdCBvYiBOYXZpZ2F0aW9uIGltIFdpemFyZCBkaXNhYmxlZCBpc3Q7IGRlZmF1bHQgV2VydCAtIGZhbHNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlbmF2aWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZXR0ZXIgdW5kIEdldHRlciBmw7xyIGFrdHVlbGxlciBTY2hyaXR0XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgY3VycmVudHN0ZXAodjogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgdGhpcy5jaGFuZ2VTdGVwKHYpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fY3VycmVudHN0ZXApO1xyXG4gIH1cclxuICBnZXQgY3VycmVudHN0ZXAoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudHN0ZXA7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEV2ZW50RW1pdHRlciB3ZW5uIGRlciBTY2hyaXR0IGdlw6RuZGVydCB3aXJkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgc3RlcGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG5cclxuICAvKipcclxuICAgKiBBYnN0cmFrdGUgUXVlcnlMaXN0IHZvbiBTYWNXaXphcmRJdGVtQ29tbW9uXHJcbiAgICovXHJcbiAgYWJzdHJhY3Qgd2l6YXJkSXRlbXMoKTogUXVlcnlMaXN0PFNhY1dpemFyZEl0ZW1Db21tb24+O1xyXG5cclxuICBwcml2YXRlIHNldFN0ZXBJbnRlcm5hbChzdGVwOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2N1cnJlbnRzdGVwID0gc3RlcDtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuX2N1cnJlbnRzdGVwKTtcclxuICB9XHJcblxyXG4gIC8vICNyZWdpb24gQ29udHJvbCBpbml0aWFsaXNpZXJlblxyXG5cclxuICAvKipcclxuICAgKiBBZnRlckNvbnRlbnRJbml0IEV2ZW50XHJcbiAgICovXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy5pbml0U3RlcHMoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXJzcHLDvG5nbGljaGVyIFNjaHJpdHQgd2lyZCBzZWxla3RpZXJ0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbml0U3RlcHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhY3RpdmVTdGVwID0gdGhpcy53aXphcmRJdGVtcygpLmZpbHRlcigoc3RlcCkgPT4gc3RlcC5hY3RpdmUpO1xyXG5cclxuICAgIGlmIChhY3RpdmVTdGVwLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBjb25zdCBpbml0U3RlcDogU2FjV2l6YXJkSXRlbUNvbW1vbiA9IHRoaXMud2l6YXJkSXRlbXMoKS50b0FycmF5KClbMF07XHJcbiAgICAgIHRoaXMuc2VsZWN0U3RlcChpbml0U3RlcCk7XHJcbiAgICAgIGluaXRTdGVwLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2V0U3RlcEludGVybmFsKGluaXRTdGVwLmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLyoqXHJcbiAgICogU2Nocml0dCBzZWxla3RpZXJlblxyXG4gICAqIEBwYXJhbSBzdGVwIFN0ZXAgd2VsY2hlciBzZWxla3RpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgc2VsZWN0U3RlcChzdGVwOiBTYWNXaXphcmRJdGVtQ29tbW9uKTogdm9pZCB7XHJcblxyXG4gICAgLy8gQ2FuY2VsIGlmIE5hdmlnYXRpb24gZGlzYWJsZWRcclxuICAgIGlmICh0aGlzLmRpc2FibGVuYXZpZ2F0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYW5nZVN0ZXAoc3RlcC5pZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBdWYgbsOkY2hzdGVuL3ZvcmhlcmlnZW4gU2Nocml0dCBnZWhlblxyXG4gICAqIEBwYXJhbSBzdGVwIFN0ZXAgYXVmIHdlbGNoZW4gZ2V3ZWNoc2VsdCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIGNoYW5nZVN0ZXAoc3RlcDogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHRoaXMud2l6YXJkSXRlbXMoKSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMud2l6YXJkSXRlbXMoKSA9PT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgd2l6YXJkSXRlbXNBcnJheTogU2FjV2l6YXJkSXRlbUNvbW1vbltdID0gdGhpcy53aXphcmRJdGVtcygpLnRvQXJyYXkoKTtcclxuICAgIGNvbnN0IGl0ZW1zQ291bnQ6IG51bWJlciA9IHdpemFyZEl0ZW1zQXJyYXkubGVuZ3RoO1xyXG4gICAgY29uc3QgY3VycmVudEl0ZW1JbmRleCA9IHdpemFyZEl0ZW1zQXJyYXkuZmluZEluZGV4KGl0bSA9PiBpdG0uaWQgPT09IHN0ZXApO1xyXG5cclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBpdGVtc0NvdW50OyBpKyspIHtcclxuICAgICAgY29uc3QgaXRlbTogU2FjV2l6YXJkSXRlbUNvbW1vbiA9IHdpemFyZEl0ZW1zQXJyYXlbaV07XHJcblxyXG4gICAgICBpZiAoaSA8IGN1cnJlbnRJdGVtSW5kZXgpIHtcclxuICAgICAgICBpdGVtLmlzY29tcGxldGUgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGl0ZW0uaXNjb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaSA+IGN1cnJlbnRJdGVtSW5kZXggKyAxKSB7XHJcbiAgICAgICAgaXRlbS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXRlbS5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaSA9PT0gY3VycmVudEl0ZW1JbmRleCkge1xyXG4gICAgICAgIGl0ZW0uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdGVtLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRTdGVwSW50ZXJuYWwoc3RlcCk7XHJcbiAgICB0aGlzLnN0ZXBjaGFuZ2VkLmVtaXQoc3RlcCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMZWVyZSBJbXBsZW1lbnRhdGlvbiB2b24gJ3Byb3BhZ2F0ZUNoYW5nZScuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgLyoqXHJcbiAgICogTGVlcmUgSW1wbGVtZW50YXRpb24gdm9uICdwcm9wYWdhdGVUb3VjaCcuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHJvcGFnYXRlVG91Y2g6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUsIGRhbWl0IGFuZGVyZSBDb250cm9scyDDpG5kZXJ1bmdlbiBpbSBDb250cm9sIG1pdGJla29tbWVuIGvDtm5uZW5cclxuICAgKiBadXIgw4RuZGVydW5nc2luZm8gZGllIE1ldGhvZGUgcHJvcGFnYXRlQ2hhbmdlIGF1ZnJ1ZmVuLlxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSAob2JqKSA9PiBmbihvYmopO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSwgZGFtaXQgYW5kZXJlIENvbnRyb2xzIMOkbmRlcnVuZ2VuIG1pdGJla29tbWVuLCB3ZW5uIGRhcyBDb250cm9sIGFrdGl2aWVydCAoRm9jdXMpIHdpcmQuXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVUb3VjaCA9IChvYmopID0+IGZuKG9iaik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHp1bSBzY2hyZWliZW4gdm9uIFdlcnRlbiBhdXMgZGVtIE1vZGVsIGluIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlU3RlcCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
36
+ */writeValue(value){cov_1lre86kppu().f[16]++;cov_1lre86kppu().s[45]++;if(value){cov_1lre86kppu().b[7][0]++;cov_1lre86kppu().s[46]++;this.changeStep(value);}else{cov_1lre86kppu().b[7][1]++;}}static{cov_1lre86kppu().s[47]++;this.ɵfac=i0.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacWizardCommon,deps:[],target:i0.ɵɵFactoryTarget.Directive});}static{cov_1lre86kppu().s[48]++;this.ɵdir=i0.ɵɵngDeclareDirective({minVersion:"14.0.0",version:"16.2.12",type:SacWizardCommon,inputs:{name:"name",disablenavigation:"disablenavigation",currentstep:"currentstep"},outputs:{stepchanged:"stepchanged"},ngImport:i0});}}export{SacWizardCommon};cov_1lre86kppu().s[49]++;i0.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"16.2.12",ngImport:i0,type:SacWizardCommon,decorators:[{type:Directive}],propDecorators:{name:[{type:Input}],disablenavigation:[{type:Input}],currentstep:[{type:Input}],stepchanged:[{type:Output}]}});//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvd2l6YXJkL3dpemFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFJcEc7O0dBRUc7QUFDSCxNQUNzQixlQUFlO0lBRHJDO1FBUUU7O1dBRUc7UUFFSCxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWxCOztXQUVHO1FBRUgsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBYW5DOztXQUVHO1FBRUgsZ0JBQVcsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQTBGL0Q7O1dBRUc7UUFDSCxvQkFBZSxHQUFRLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQzs7V0FFRztRQUNILG1CQUFjLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0tBMkJqQztJQTNJQzs7T0FFRztJQUNILElBQ0ksV0FBVyxDQUFDLENBQWdCO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBYU8sZUFBZSxDQUFDLElBQVk7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGlDQUFpQztJQUVqQzs7T0FFRztJQUNILGtCQUFrQjtRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNEOztPQUVHO0lB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QUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDOytHQTVKbUIsZUFBZTttR0FBZixlQUFlOztTQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEcEMsU0FBUzs4QkFZUixJQUFJO3NCQURILEtBQUs7Z0JBT04saUJBQWlCO3NCQURoQixLQUFLO2dCQU9GLFdBQVc7c0JBRGQsS0FBSztnQkFZTixXQUFXO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNXaXphcmRJdGVtQ29tbW9uIH0gZnJvbSAnLi93aXphcmRpdGVtJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIEtvbXBvbmVudGUgZsO8ciBTYWNXaXphcmRDb21tb25cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjV2l6YXJkQ29tbW9uIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAvKipcclxuICAqIEFrdHVlbGxlciBTY2hyaXR0IGltIFdpemFyZFxyXG4gICovXHJcbiAgcHJpdmF0ZSBfY3VycmVudHN0ZXA6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogTmFtZSBkZXMgQ29udHJvbHNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIG5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IHByw7xmdCBvYiBOYXZpZ2F0aW9uIGltIFdpemFyZCBkaXNhYmxlZCBpc3Q7IGRlZmF1bHQgV2VydCAtIGZhbHNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlbmF2aWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZXR0ZXIgdW5kIEdldHRlciBmw7xyIGFrdHVlbGxlciBTY2hyaXR0XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgY3VycmVudHN0ZXAodjogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgdGhpcy5jaGFuZ2VTdGVwKHYpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fY3VycmVudHN0ZXApO1xyXG4gIH1cclxuICBnZXQgY3VycmVudHN0ZXAoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudHN0ZXA7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEV2ZW50RW1pdHRlciB3ZW5uIGRlciBTY2hyaXR0IGdlw6RuZGVydCB3aXJkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgc3RlcGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG5cclxuICAvKipcclxuICAgKiBBYnN0cmFrdGUgUXVlcnlMaXN0IHZvbiBTYWNXaXphcmRJdGVtQ29tbW9uXHJcbiAgICovXHJcbiAgYWJzdHJhY3Qgd2l6YXJkSXRlbXMoKTogUXVlcnlMaXN0PFNhY1dpemFyZEl0ZW1Db21tb24+O1xyXG5cclxuICBwcml2YXRlIHNldFN0ZXBJbnRlcm5hbChzdGVwOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2N1cnJlbnRzdGVwID0gc3RlcDtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuX2N1cnJlbnRzdGVwKTtcclxuICB9XHJcblxyXG4gIC8vICNyZWdpb24gQ29udHJvbCBpbml0aWFsaXNpZXJlblxyXG5cclxuICAvKipcclxuICAgKiBBZnRlckNvbnRlbnRJbml0IEV2ZW50XHJcbiAgICovXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy5pbml0U3RlcHMoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXJzcHLDvG5nbGljaGVyIFNjaHJpdHQgd2lyZCBzZWxla3RpZXJ0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbml0U3RlcHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhY3RpdmVTdGVwID0gdGhpcy53aXphcmRJdGVtcygpLmZpbHRlcigoc3RlcCkgPT4gc3RlcC5hY3RpdmUpO1xyXG5cclxuICAgIGlmIChhY3RpdmVTdGVwLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBjb25zdCBpbml0U3RlcDogU2FjV2l6YXJkSXRlbUNvbW1vbiA9IHRoaXMud2l6YXJkSXRlbXMoKS50b0FycmF5KClbMF07XHJcbiAgICAgIHRoaXMuc2VsZWN0U3RlcChpbml0U3RlcCk7XHJcbiAgICAgIGluaXRTdGVwLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2V0U3RlcEludGVybmFsKGluaXRTdGVwLmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLyoqXHJcbiAgICogU2Nocml0dCBzZWxla3RpZXJlblxyXG4gICAqIEBwYXJhbSBzdGVwIFN0ZXAgd2VsY2hlciBzZWxla3RpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgc2VsZWN0U3RlcChzdGVwOiBTYWNXaXphcmRJdGVtQ29tbW9uKTogdm9pZCB7XHJcblxyXG4gICAgLy8gQ2FuY2VsIGlmIE5hdmlnYXRpb24gZGlzYWJsZWRcclxuICAgIGlmICh0aGlzLmRpc2FibGVuYXZpZ2F0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYW5nZVN0ZXAoc3RlcC5pZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBdWYgbsOkY2hzdGVuL3ZvcmhlcmlnZW4gU2Nocml0dCBnZWhlblxyXG4gICAqIEBwYXJhbSBzdGVwIFN0ZXAgYXVmIHdlbGNoZW4gZ2V3ZWNoc2VsdCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIGNoYW5nZVN0ZXAoc3RlcDogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHRoaXMud2l6YXJkSXRlbXMoKSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMud2l6YXJkSXRlbXMoKSA9PT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgd2l6YXJkSXRlbXNBcnJheTogU2FjV2l6YXJkSXRlbUNvbW1vbltdID0gdGhpcy53aXphcmRJdGVtcygpLnRvQXJyYXkoKTtcclxuICAgIGNvbnN0IGl0ZW1zQ291bnQ6IG51bWJlciA9IHdpemFyZEl0ZW1zQXJyYXkubGVuZ3RoO1xyXG4gICAgY29uc3QgY3VycmVudEl0ZW1JbmRleCA9IHdpemFyZEl0ZW1zQXJyYXkuZmluZEluZGV4KGl0bSA9PiBpdG0uaWQgPT09IHN0ZXApO1xyXG5cclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBpdGVtc0NvdW50OyBpKyspIHtcclxuICAgICAgY29uc3QgaXRlbTogU2FjV2l6YXJkSXRlbUNvbW1vbiA9IHdpemFyZEl0ZW1zQXJyYXlbaV07XHJcblxyXG4gICAgICBpZiAoaSA8IGN1cnJlbnRJdGVtSW5kZXgpIHtcclxuICAgICAgICBpdGVtLmlzY29tcGxldGUgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGl0ZW0uaXNjb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaSA+IGN1cnJlbnRJdGVtSW5kZXggKyAxKSB7XHJcbiAgICAgICAgaXRlbS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXRlbS5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaSA9PT0gY3VycmVudEl0ZW1JbmRleCkge1xyXG4gICAgICAgIGl0ZW0uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdGVtLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRTdGVwSW50ZXJuYWwoc3RlcCk7XHJcbiAgICB0aGlzLnN0ZXBjaGFuZ2VkLmVtaXQoc3RlcCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMZWVyZSBJbXBsZW1lbnRhdGlvbiB2b24gJ3Byb3BhZ2F0ZUNoYW5nZScuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgLyoqXHJcbiAgICogTGVlcmUgSW1wbGVtZW50YXRpb24gdm9uICdwcm9wYWdhdGVUb3VjaCcuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHJvcGFnYXRlVG91Y2g6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUsIGRhbWl0IGFuZGVyZSBDb250cm9scyDDpG5kZXJ1bmdlbiBpbSBDb250cm9sIG1pdGJla29tbWVuIGvDtm5uZW5cclxuICAgKiBadXIgw4RuZGVydW5nc2luZm8gZGllIE1ldGhvZGUgcHJvcGFnYXRlQ2hhbmdlIGF1ZnJ1ZmVuLlxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSAob2JqKSA9PiBmbihvYmopO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSwgZGFtaXQgYW5kZXJlIENvbnRyb2xzIMOkbmRlcnVuZ2VuIG1pdGJla29tbWVuLCB3ZW5uIGRhcyBDb250cm9sIGFrdGl2aWVydCAoRm9jdXMpIHdpcmQuXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVUb3VjaCA9IChvYmopID0+IGZuKG9iaik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHp1bSBzY2hyZWliZW4gdm9uIFdlcnRlbiBhdXMgZGVtIE1vZGVsIGluIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlU3RlcCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMWxyZTg2a3BwdSIsImFjdHVhbENvdmVyYWdlIiwiRGlyZWN0aXZlIiwiRXZlbnRFbWl0dGVyIiwiSW5wdXQiLCJPdXRwdXQiLCJTYWNXaXphcmRDb21tb24iLCJjb25zdHJ1Y3RvciIsImYiLCJzIiwibmFtZSIsImRpc2FibGVuYXZpZ2F0aW9uIiwic3RlcGNoYW5nZWQiLCJwcm9wYWdhdGVDaGFuZ2UiLCJwcm9wYWdhdGVUb3VjaCIsImN1cnJlbnRzdGVwIiwidiIsImNoYW5nZVN0ZXAiLCJfY3VycmVudHN0ZXAiLCJzZXRTdGVwSW50ZXJuYWwiLCJzdGVwIiwibmdBZnRlckNvbnRlbnRJbml0IiwiaW5pdFN0ZXBzIiwiYWN0aXZlU3RlcCIsIndpemFyZEl0ZW1zIiwiZmlsdGVyIiwiYWN0aXZlIiwibGVuZ3RoIiwiYiIsImluaXRTdGVwIiwidG9BcnJheSIsInNlbGVjdFN0ZXAiLCJkaXNhYmxlZCIsImlkIiwidW5kZWZpbmVkIiwid2l6YXJkSXRlbXNBcnJheSIsIml0ZW1zQ291bnQiLCJjdXJyZW50SXRlbUluZGV4IiwiZmluZEluZGV4IiwiaXRtIiwiaSIsIml0ZW0iLCJpc2NvbXBsZXRlIiwiZW1pdCIsInJlZ2lzdGVyT25DaGFuZ2UiLCJmbiIsIm9iaiIsInJlZ2lzdGVyT25Ub3VjaGVkIiwid3JpdGVWYWx1ZSIsInZhbHVlIiwiZGVwcyIsInRhcmdldCIsImkwIiwiybXJtUZhY3RvcnlUYXJnZXQiLCJpbnB1dHMiLCJvdXRwdXRzIiwibmdJbXBvcnQiLCJkZWNvcmF0b3JzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2FjLWNvbW1vbi9zcmMvY29udHJvbHMvd2l6YXJkL3dpemFyZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYWNXaXphcmRJdGVtQ29tbW9uIH0gZnJvbSAnLi93aXphcmRpdGVtJztcclxuXHJcbi8qKlxyXG4gKiBCYXNlIEtvbXBvbmVudGUgZsO8ciBTYWNXaXphcmRDb21tb25cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2FjV2l6YXJkQ29tbW9uIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAvKipcclxuICAqIEFrdHVlbGxlciBTY2hyaXR0IGltIFdpemFyZFxyXG4gICovXHJcbiAgcHJpdmF0ZSBfY3VycmVudHN0ZXA6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogTmFtZSBkZXMgQ29udHJvbHNcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIG5hbWU6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKipcclxuICAgKiBCb29sZWFuIFByb3BlcnR5IHByw7xmdCBvYiBOYXZpZ2F0aW9uIGltIFdpemFyZCBkaXNhYmxlZCBpc3Q7IGRlZmF1bHQgV2VydCAtIGZhbHNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlbmF2aWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZXR0ZXIgdW5kIEdldHRlciBmw7xyIGFrdHVlbGxlciBTY2hyaXR0XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgY3VycmVudHN0ZXAodjogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgdGhpcy5jaGFuZ2VTdGVwKHYpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5fY3VycmVudHN0ZXApO1xyXG4gIH1cclxuICBnZXQgY3VycmVudHN0ZXAoKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudHN0ZXA7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEV2ZW50RW1pdHRlciB3ZW5uIGRlciBTY2hyaXR0IGdlw6RuZGVydCB3aXJkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpXHJcbiAgc3RlcGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG5cclxuICAvKipcclxuICAgKiBBYnN0cmFrdGUgUXVlcnlMaXN0IHZvbiBTYWNXaXphcmRJdGVtQ29tbW9uXHJcbiAgICovXHJcbiAgYWJzdHJhY3Qgd2l6YXJkSXRlbXMoKTogUXVlcnlMaXN0PFNhY1dpemFyZEl0ZW1Db21tb24+O1xyXG5cclxuICBwcml2YXRlIHNldFN0ZXBJbnRlcm5hbChzdGVwOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2N1cnJlbnRzdGVwID0gc3RlcDtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuX2N1cnJlbnRzdGVwKTtcclxuICB9XHJcblxyXG4gIC8vICNyZWdpb24gQ29udHJvbCBpbml0aWFsaXNpZXJlblxyXG5cclxuICAvKipcclxuICAgKiBBZnRlckNvbnRlbnRJbml0IEV2ZW50XHJcbiAgICovXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy5pbml0U3RlcHMoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXJzcHLDvG5nbGljaGVyIFNjaHJpdHQgd2lyZCBzZWxla3RpZXJ0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBpbml0U3RlcHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhY3RpdmVTdGVwID0gdGhpcy53aXphcmRJdGVtcygpLmZpbHRlcigoc3RlcCkgPT4gc3RlcC5hY3RpdmUpO1xyXG5cclxuICAgIGlmIChhY3RpdmVTdGVwLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICBjb25zdCBpbml0U3RlcDogU2FjV2l6YXJkSXRlbUNvbW1vbiA9IHRoaXMud2l6YXJkSXRlbXMoKS50b0FycmF5KClbMF07XHJcbiAgICAgIHRoaXMuc2VsZWN0U3RlcChpbml0U3RlcCk7XHJcbiAgICAgIGluaXRTdGVwLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuc2V0U3RlcEludGVybmFsKGluaXRTdGVwLmlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICNlbmRyZWdpb25cclxuXHJcbiAgLyoqXHJcbiAgICogU2Nocml0dCBzZWxla3RpZXJlblxyXG4gICAqIEBwYXJhbSBzdGVwIFN0ZXAgd2VsY2hlciBzZWxla3RpZXJ0IHdlcmRlbiBzb2xsXHJcbiAgICovXHJcbiAgc2VsZWN0U3RlcChzdGVwOiBTYWNXaXphcmRJdGVtQ29tbW9uKTogdm9pZCB7XHJcblxyXG4gICAgLy8gQ2FuY2VsIGlmIE5hdmlnYXRpb24gZGlzYWJsZWRcclxuICAgIGlmICh0aGlzLmRpc2FibGVuYXZpZ2F0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoYW5nZVN0ZXAoc3RlcC5pZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBdWYgbsOkY2hzdGVuL3ZvcmhlcmlnZW4gU2Nocml0dCBnZWhlblxyXG4gICAqIEBwYXJhbSBzdGVwIFN0ZXAgYXVmIHdlbGNoZW4gZ2V3ZWNoc2VsdCB3ZXJkZW4gc29sbFxyXG4gICAqL1xyXG4gIGNoYW5nZVN0ZXAoc3RlcDogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHRoaXMud2l6YXJkSXRlbXMoKSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMud2l6YXJkSXRlbXMoKSA9PT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgd2l6YXJkSXRlbXNBcnJheTogU2FjV2l6YXJkSXRlbUNvbW1vbltdID0gdGhpcy53aXphcmRJdGVtcygpLnRvQXJyYXkoKTtcclxuICAgIGNvbnN0IGl0ZW1zQ291bnQ6IG51bWJlciA9IHdpemFyZEl0ZW1zQXJyYXkubGVuZ3RoO1xyXG4gICAgY29uc3QgY3VycmVudEl0ZW1JbmRleCA9IHdpemFyZEl0ZW1zQXJyYXkuZmluZEluZGV4KGl0bSA9PiBpdG0uaWQgPT09IHN0ZXApO1xyXG5cclxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCBpdGVtc0NvdW50OyBpKyspIHtcclxuICAgICAgY29uc3QgaXRlbTogU2FjV2l6YXJkSXRlbUNvbW1vbiA9IHdpemFyZEl0ZW1zQXJyYXlbaV07XHJcblxyXG4gICAgICBpZiAoaSA8IGN1cnJlbnRJdGVtSW5kZXgpIHtcclxuICAgICAgICBpdGVtLmlzY29tcGxldGUgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGl0ZW0uaXNjb21wbGV0ZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaSA+IGN1cnJlbnRJdGVtSW5kZXggKyAxKSB7XHJcbiAgICAgICAgaXRlbS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaXRlbS5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaSA9PT0gY3VycmVudEl0ZW1JbmRleCkge1xyXG4gICAgICAgIGl0ZW0uYWN0aXZlID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpdGVtLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRTdGVwSW50ZXJuYWwoc3RlcCk7XHJcbiAgICB0aGlzLnN0ZXBjaGFuZ2VkLmVtaXQoc3RlcCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMZWVyZSBJbXBsZW1lbnRhdGlvbiB2b24gJ3Byb3BhZ2F0ZUNoYW5nZScuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgLyoqXHJcbiAgICogTGVlcmUgSW1wbGVtZW50YXRpb24gdm9uICdwcm9wYWdhdGVUb3VjaCcuIE11c3MgZ2VtYWNodCB3ZXJkZW4sIGRhbWl0IGtlaW4gRmVobGVyIGVudHN0ZWh0XHJcbiAgICovXHJcbiAgcHJvcGFnYXRlVG91Y2g6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldGhvZGUsIGRhbWl0IGFuZGVyZSBDb250cm9scyDDpG5kZXJ1bmdlbiBpbSBDb250cm9sIG1pdGJla29tbWVuIGvDtm5uZW5cclxuICAgKiBadXIgw4RuZGVydW5nc2luZm8gZGllIE1ldGhvZGUgcHJvcGFnYXRlQ2hhbmdlIGF1ZnJ1ZmVuLlxyXG4gICAqL1xyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSAob2JqKSA9PiBmbihvYmopO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWV0aG9kZSwgZGFtaXQgYW5kZXJlIENvbnRyb2xzIMOkbmRlcnVuZ2VuIG1pdGJla29tbWVuLCB3ZW5uIGRhcyBDb250cm9sIGFrdGl2aWVydCAoRm9jdXMpIHdpcmQuXHJcbiAgICovXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVUb3VjaCA9IChvYmopID0+IGZuKG9iaik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRob2RlIHp1bSBzY2hyZWliZW4gdm9uIFdlcnRlbiBhdXMgZGVtIE1vZGVsIGluIGRhcyBDb250cm9sXHJcbiAgICovXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlU3RlcCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iXSwibWFwcGluZ3MiOiJ1eGVBc0NFO0FBQUFBLGNBQUEsU0FBQUEsQ0FBQSxTQUFBQyxjQUFBLFdBQUFBLGNBQUEsRUFBQUQsY0FBQSxHQXRDRixP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