@sd-angular/core 0.0.1008 → 0.0.1012

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 (305) hide show
  1. package/api/sd-angular-core-api.metadata.json +1 -1
  2. package/api/src/lib/token.service.d.ts +1 -2
  3. package/autocomplete/sd-angular-core-autocomplete.metadata.json +1 -1
  4. package/autocomplete/src/lib/autocomplete.component.d.ts +6 -5
  5. package/autocomplete/src/lib/autocomplete.module.d.ts +0 -1
  6. package/bundles/sd-angular-core-api.umd.js.map +1 -1
  7. package/bundles/sd-angular-core-api.umd.min.js.map +1 -1
  8. package/bundles/sd-angular-core-autocomplete.umd.js +96 -98
  9. package/bundles/sd-angular-core-autocomplete.umd.js.map +1 -1
  10. package/bundles/sd-angular-core-autocomplete.umd.min.js +2 -2
  11. package/bundles/sd-angular-core-autocomplete.umd.min.js.map +1 -1
  12. package/bundles/sd-angular-core-cache.umd.js +4 -4
  13. package/bundles/sd-angular-core-cache.umd.js.map +1 -1
  14. package/bundles/sd-angular-core-cache.umd.min.js +2 -2
  15. package/bundles/sd-angular-core-cache.umd.min.js.map +1 -1
  16. package/bundles/sd-angular-core-chart.umd.js +4 -8
  17. package/bundles/sd-angular-core-chart.umd.js.map +1 -1
  18. package/bundles/sd-angular-core-chart.umd.min.js +1 -1
  19. package/bundles/sd-angular-core-chart.umd.min.js.map +1 -1
  20. package/bundles/sd-angular-core-comment.umd.js +2 -1
  21. package/bundles/sd-angular-core-comment.umd.js.map +1 -1
  22. package/bundles/sd-angular-core-comment.umd.min.js +1 -1
  23. package/bundles/sd-angular-core-comment.umd.min.js.map +1 -1
  24. package/bundles/sd-angular-core-common.umd.js +376 -40
  25. package/bundles/sd-angular-core-common.umd.js.map +1 -1
  26. package/bundles/sd-angular-core-common.umd.min.js +2 -3
  27. package/bundles/sd-angular-core-common.umd.min.js.map +1 -1
  28. package/bundles/sd-angular-core-date-range.umd.js +4 -4
  29. package/bundles/sd-angular-core-date-range.umd.js.map +1 -1
  30. package/bundles/sd-angular-core-date-range.umd.min.js +2 -2
  31. package/bundles/sd-angular-core-date-range.umd.min.js.map +1 -1
  32. package/bundles/sd-angular-core-date-time.umd.js +57 -35
  33. package/bundles/sd-angular-core-date-time.umd.js.map +1 -1
  34. package/bundles/sd-angular-core-date-time.umd.min.js +2 -2
  35. package/bundles/sd-angular-core-date-time.umd.min.js.map +1 -1
  36. package/bundles/sd-angular-core-export.umd.js +4 -4
  37. package/bundles/sd-angular-core-export.umd.js.map +1 -1
  38. package/bundles/sd-angular-core-export.umd.min.js +1 -1
  39. package/bundles/sd-angular-core-export.umd.min.js.map +1 -1
  40. package/bundles/sd-angular-core-form.umd.js +4 -4
  41. package/bundles/sd-angular-core-form.umd.min.js +1 -1
  42. package/bundles/sd-angular-core-form.umd.min.js.map +1 -1
  43. package/bundles/sd-angular-core-grid-material.umd.js +32 -70
  44. package/bundles/sd-angular-core-grid-material.umd.js.map +1 -1
  45. package/bundles/sd-angular-core-grid-material.umd.min.js +2 -2
  46. package/bundles/sd-angular-core-grid-material.umd.min.js.map +1 -1
  47. package/bundles/sd-angular-core-grid.umd.js +5 -4
  48. package/bundles/sd-angular-core-grid.umd.js.map +1 -1
  49. package/bundles/sd-angular-core-grid.umd.min.js +1 -1
  50. package/bundles/sd-angular-core-grid.umd.min.js.map +1 -1
  51. package/bundles/sd-angular-core-input-upload-file.umd.js +4 -4
  52. package/bundles/sd-angular-core-input-upload-file.umd.js.map +1 -1
  53. package/bundles/sd-angular-core-input-upload-file.umd.min.js +2 -2
  54. package/bundles/sd-angular-core-input-upload-file.umd.min.js.map +1 -1
  55. package/bundles/sd-angular-core-input.umd.js +11 -13
  56. package/bundles/sd-angular-core-input.umd.js.map +1 -1
  57. package/bundles/sd-angular-core-input.umd.min.js +2 -2
  58. package/bundles/sd-angular-core-input.umd.min.js.map +1 -1
  59. package/bundles/sd-angular-core-modal.umd.js +4 -4
  60. package/bundles/sd-angular-core-modal.umd.js.map +1 -1
  61. package/bundles/sd-angular-core-modal.umd.min.js +1 -1
  62. package/bundles/sd-angular-core-modal.umd.min.js.map +1 -1
  63. package/bundles/sd-angular-core-radio.umd.js +4 -8
  64. package/bundles/sd-angular-core-radio.umd.js.map +1 -1
  65. package/bundles/sd-angular-core-radio.umd.min.js +2 -2
  66. package/bundles/sd-angular-core-radio.umd.min.js.map +1 -1
  67. package/bundles/sd-angular-core-select-editor.umd.js +4 -4
  68. package/bundles/sd-angular-core-select-editor.umd.js.map +1 -1
  69. package/bundles/sd-angular-core-select-editor.umd.min.js +2 -2
  70. package/bundles/sd-angular-core-select-editor.umd.min.js.map +1 -1
  71. package/bundles/sd-angular-core-select.umd.js +25 -47
  72. package/bundles/sd-angular-core-select.umd.js.map +1 -1
  73. package/bundles/sd-angular-core-select.umd.min.js +2 -2
  74. package/bundles/sd-angular-core-select.umd.min.js.map +1 -1
  75. package/bundles/sd-angular-core-service.umd.js +8 -202
  76. package/bundles/sd-angular-core-service.umd.js.map +1 -1
  77. package/bundles/sd-angular-core-service.umd.min.js +1 -1
  78. package/bundles/sd-angular-core-service.umd.min.js.map +1 -1
  79. package/bundles/sd-angular-core-side-drawer.umd.js +4 -4
  80. package/bundles/sd-angular-core-side-drawer.umd.js.map +1 -1
  81. package/bundles/sd-angular-core-side-drawer.umd.min.js +2 -2
  82. package/bundles/sd-angular-core-side-drawer.umd.min.js.map +1 -1
  83. package/bundles/sd-angular-core-time.umd.js +4 -4
  84. package/bundles/sd-angular-core-time.umd.js.map +1 -1
  85. package/bundles/sd-angular-core-time.umd.min.js +2 -2
  86. package/bundles/sd-angular-core-time.umd.min.js.map +1 -1
  87. package/bundles/sd-angular-core-upload-excel.umd.js +4 -4
  88. package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
  89. package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
  90. package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
  91. package/bundles/sd-angular-core-upload-file.umd.js +4 -4
  92. package/bundles/sd-angular-core-upload-file.umd.js.map +1 -1
  93. package/bundles/sd-angular-core-upload-file.umd.min.js +2 -2
  94. package/bundles/sd-angular-core-upload-file.umd.min.js.map +1 -1
  95. package/bundles/sd-angular-core-utility.umd.js +4 -4
  96. package/bundles/sd-angular-core-utility.umd.js.map +1 -1
  97. package/bundles/sd-angular-core-utility.umd.min.js +1 -1
  98. package/bundles/sd-angular-core-utility.umd.min.js.map +1 -1
  99. package/bundles/sd-angular-core.umd.js +4 -8
  100. package/bundles/sd-angular-core.umd.js.map +1 -1
  101. package/bundles/sd-angular-core.umd.min.js +1 -1
  102. package/bundles/sd-angular-core.umd.min.js.map +1 -1
  103. package/cache/sd-angular-core-cache.metadata.json +1 -1
  104. package/cache/src/lib/cache.service.d.ts +0 -1
  105. package/cache/src/public-api.d.ts +1 -0
  106. package/chart/sd-angular-core-chart.metadata.json +1 -1
  107. package/chart/src/lib/chart.component.d.ts +0 -1
  108. package/chart/src/public-api.d.ts +1 -0
  109. package/common/sd-angular-core-common.metadata.json +1 -1
  110. package/{grid-material → common}/src/lib/directives/sd-let.directive.d.ts +0 -0
  111. package/common/src/lib/typings/array.extension.d.ts +20 -0
  112. package/{service → common}/src/lib/typings/date.extension.d.ts +0 -0
  113. package/{service → common}/src/lib/typings/number.extension.d.ts +0 -0
  114. package/{typing/src/lib/typing → common/src/lib/typings}/string.extension.d.ts +2 -0
  115. package/common/src/public-api.d.ts +5 -0
  116. package/date-range/index.d.ts +0 -1
  117. package/date-range/sd-angular-core-date-range.metadata.json +1 -1
  118. package/date-range/src/lib/date-range.component.d.ts +0 -1
  119. package/date-range/src/lib/date-range.module.d.ts +0 -1
  120. package/date-range/src/public-api.d.ts +1 -1
  121. package/date-time/sd-angular-core-date-time.metadata.json +1 -1
  122. package/date-time/src/lib/date-time.component.d.ts +14 -7
  123. package/date-time/src/lib/date-time.module.d.ts +0 -1
  124. package/date-time/src/public-api.d.ts +0 -1
  125. package/esm2015/api/src/lib/token.service.js +1 -1
  126. package/esm2015/autocomplete/src/lib/autocomplete.component.js +86 -73
  127. package/esm2015/autocomplete/src/lib/autocomplete.module.js +1 -2
  128. package/esm2015/cache/src/lib/cache.service.js +1 -2
  129. package/esm2015/cache/src/public-api.js +2 -1
  130. package/esm2015/chart/src/lib/chart.component.js +1 -2
  131. package/esm2015/chart/src/public-api.js +2 -4
  132. package/esm2015/comment/src/lib/comment.component.js +3 -2
  133. package/esm2015/common/src/lib/common.module.js +7 -3
  134. package/esm2015/common/src/lib/directives/sd-let.directive.js +29 -0
  135. package/esm2015/common/src/lib/typings/array.extension.js +65 -0
  136. package/esm2015/common/src/lib/typings/date.extension.js +143 -0
  137. package/esm2015/common/src/lib/typings/number.extension.js +33 -0
  138. package/esm2015/common/src/lib/typings/string.extension.js +42 -0
  139. package/esm2015/common/src/public-api.js +6 -1
  140. package/esm2015/date-range/index.js +1 -2
  141. package/esm2015/date-range/src/lib/date-range.component.js +1 -2
  142. package/esm2015/date-range/src/lib/date-range.module.js +1 -2
  143. package/esm2015/date-range/src/public-api.js +2 -2
  144. package/esm2015/date-time/src/lib/date-time.component.js +55 -35
  145. package/esm2015/date-time/src/lib/date-time.module.js +5 -3
  146. package/esm2015/date-time/src/public-api.js +1 -2
  147. package/esm2015/export/src/lib/export.service.js +1 -2
  148. package/esm2015/form/src/public-api.js +2 -1
  149. package/esm2015/grid/src/lib/components/grid-date-picker-control/grid-date-picker-control.component.js +1 -2
  150. package/esm2015/grid/src/lib/grid.module.js +1 -2
  151. package/esm2015/grid/src/lib/models/handler-dotnet.js +1 -2
  152. package/esm2015/grid-material/sd-angular-core-grid-material.js +27 -28
  153. package/esm2015/grid-material/src/lib/grid-material.module.js +4 -5
  154. package/esm2015/grid-material/src/public-api.js +2 -4
  155. package/esm2015/input/src/lib/input.component.js +5 -4
  156. package/esm2015/input-upload-file/src/lib/input-upload-file.component.js +2 -2
  157. package/esm2015/input-upload-file/src/lib/input-upload-file.module.js +1 -2
  158. package/esm2015/lib/controls/date-picker-control/date-picker-control.component.js +1 -2
  159. package/esm2015/lib/pipes/sd-date.pipe.js +1 -2
  160. package/esm2015/modal/src/lib/modal.module.js +1 -2
  161. package/esm2015/public-api.js +11 -14
  162. package/esm2015/radio/src/lib/radio.module.js +1 -2
  163. package/esm2015/radio/src/public-api.js +2 -4
  164. package/esm2015/select/src/lib/select.component.js +23 -45
  165. package/esm2015/select/src/lib/select.module.js +1 -2
  166. package/esm2015/select-editor/src/lib/select-editor.module.js +1 -2
  167. package/esm2015/service/src/lib/service.module.js +6 -4
  168. package/esm2015/service/src/public-api.js +2 -2
  169. package/esm2015/side-drawer/src/lib/side-drawer.module.js +1 -2
  170. package/esm2015/time/src/lib/time.component.js +1 -2
  171. package/esm2015/time/src/public-api.js +2 -1
  172. package/esm2015/upload-excel/src/lib/upload-excel.component.js +1 -2
  173. package/esm2015/upload-excel/src/lib/upload-excel.module.js +1 -2
  174. package/esm2015/upload-file/src/lib/upload-file.module.js +1 -2
  175. package/esm2015/utility/src/lib/pipes/currency.pipe.js +1 -2
  176. package/esm2015/utility/src/lib/pipes/time-different.pipe.js +1 -2
  177. package/esm2015/utility/src/lib/utility.service.js +1 -2
  178. package/esm2015/utility/src/public-api.js +2 -1
  179. package/export/sd-angular-core-export.metadata.json +1 -1
  180. package/export/src/lib/export.service.d.ts +0 -1
  181. package/fesm2015/sd-angular-core-api.js.map +1 -1
  182. package/fesm2015/sd-angular-core-autocomplete.js +85 -72
  183. package/fesm2015/sd-angular-core-autocomplete.js.map +1 -1
  184. package/fesm2015/sd-angular-core-cache.js +1 -1
  185. package/fesm2015/sd-angular-core-cache.js.map +1 -1
  186. package/fesm2015/sd-angular-core-chart.js +1 -5
  187. package/fesm2015/sd-angular-core-chart.js.map +1 -1
  188. package/fesm2015/sd-angular-core-comment.js +2 -1
  189. package/fesm2015/sd-angular-core-comment.js.map +1 -1
  190. package/fesm2015/sd-angular-core-common.js +315 -5
  191. package/fesm2015/sd-angular-core-common.js.map +1 -1
  192. package/fesm2015/sd-angular-core-date-range.js +1 -1
  193. package/fesm2015/sd-angular-core-date-range.js.map +1 -1
  194. package/fesm2015/sd-angular-core-date-time.js +57 -36
  195. package/fesm2015/sd-angular-core-date-time.js.map +1 -1
  196. package/fesm2015/sd-angular-core-export.js +0 -1
  197. package/fesm2015/sd-angular-core-export.js.map +1 -1
  198. package/fesm2015/sd-angular-core-form.js +1 -0
  199. package/fesm2015/sd-angular-core-form.js.map +1 -1
  200. package/fesm2015/sd-angular-core-grid-material.js +5 -37
  201. package/fesm2015/sd-angular-core-grid-material.js.map +1 -1
  202. package/fesm2015/sd-angular-core-grid.js +1 -1
  203. package/fesm2015/sd-angular-core-grid.js.map +1 -1
  204. package/fesm2015/sd-angular-core-input-upload-file.js +0 -1
  205. package/fesm2015/sd-angular-core-input-upload-file.js.map +1 -1
  206. package/fesm2015/sd-angular-core-input.js +4 -3
  207. package/fesm2015/sd-angular-core-input.js.map +1 -1
  208. package/fesm2015/sd-angular-core-modal.js +0 -1
  209. package/fesm2015/sd-angular-core-modal.js.map +1 -1
  210. package/fesm2015/sd-angular-core-radio.js +1 -5
  211. package/fesm2015/sd-angular-core-radio.js.map +1 -1
  212. package/fesm2015/sd-angular-core-select-editor.js +0 -1
  213. package/fesm2015/sd-angular-core-select-editor.js.map +1 -1
  214. package/fesm2015/sd-angular-core-select.js +22 -45
  215. package/fesm2015/sd-angular-core-select.js.map +1 -1
  216. package/fesm2015/sd-angular-core-service.js +5 -198
  217. package/fesm2015/sd-angular-core-service.js.map +1 -1
  218. package/fesm2015/sd-angular-core-side-drawer.js +0 -1
  219. package/fesm2015/sd-angular-core-side-drawer.js.map +1 -1
  220. package/fesm2015/sd-angular-core-time.js +1 -1
  221. package/fesm2015/sd-angular-core-time.js.map +1 -1
  222. package/fesm2015/sd-angular-core-upload-excel.js +0 -1
  223. package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
  224. package/fesm2015/sd-angular-core-upload-file.js +0 -1
  225. package/fesm2015/sd-angular-core-upload-file.js.map +1 -1
  226. package/fesm2015/sd-angular-core-utility.js +1 -1
  227. package/fesm2015/sd-angular-core-utility.js.map +1 -1
  228. package/fesm2015/sd-angular-core.js +15 -20
  229. package/fesm2015/sd-angular-core.js.map +1 -1
  230. package/form/src/public-api.d.ts +1 -0
  231. package/grid/sd-angular-core-grid.metadata.json +1 -1
  232. package/grid/src/lib/components/grid-date-picker-control/grid-date-picker-control.component.d.ts +0 -1
  233. package/grid/src/lib/grid.module.d.ts +0 -1
  234. package/grid/src/lib/models/handler-dotnet.d.ts +0 -1
  235. package/grid-material/sd-angular-core-grid-material.d.ts +26 -27
  236. package/grid-material/sd-angular-core-grid-material.metadata.json +1 -1
  237. package/grid-material/src/lib/grid-material.module.d.ts +0 -1
  238. package/grid-material/src/public-api.d.ts +1 -0
  239. package/input/sd-angular-core-input.metadata.json +1 -1
  240. package/input-upload-file/sd-angular-core-input-upload-file.metadata.json +1 -1
  241. package/input-upload-file/src/lib/input-upload-file.module.d.ts +0 -1
  242. package/lib/controls/date-picker-control/date-picker-control.component.d.ts +0 -1
  243. package/lib/pipes/sd-date.pipe.d.ts +0 -1
  244. package/modal/sd-angular-core-modal.metadata.json +1 -1
  245. package/modal/src/lib/modal.module.d.ts +0 -1
  246. package/package.json +1 -1
  247. package/public-api.d.ts +10 -10
  248. package/radio/sd-angular-core-radio.metadata.json +1 -1
  249. package/radio/src/lib/radio.module.d.ts +0 -1
  250. package/radio/src/public-api.d.ts +1 -0
  251. package/{sd-angular-core-0.0.1008.tgz → sd-angular-core-0.0.1012.tgz} +0 -0
  252. package/sd-angular-core.metadata.json +1 -1
  253. package/select/sd-angular-core-select.metadata.json +1 -1
  254. package/select/src/lib/select.component.d.ts +3 -4
  255. package/select/src/lib/select.module.d.ts +0 -1
  256. package/select-editor/sd-angular-core-select-editor.metadata.json +1 -1
  257. package/select-editor/src/lib/select-editor.module.d.ts +0 -1
  258. package/service/sd-angular-core-service.metadata.json +1 -1
  259. package/service/src/lib/service.module.d.ts +0 -1
  260. package/service/src/public-api.d.ts +1 -1
  261. package/side-drawer/sd-angular-core-side-drawer.metadata.json +1 -1
  262. package/side-drawer/src/lib/side-drawer.module.d.ts +0 -1
  263. package/time/sd-angular-core-time.metadata.json +1 -1
  264. package/time/src/lib/time.component.d.ts +0 -1
  265. package/time/src/public-api.d.ts +1 -0
  266. package/upload-excel/sd-angular-core-upload-excel.metadata.json +1 -1
  267. package/upload-excel/src/lib/upload-excel.component.d.ts +0 -1
  268. package/upload-excel/src/lib/upload-excel.module.d.ts +0 -1
  269. package/upload-file/sd-angular-core-upload-file.metadata.json +1 -1
  270. package/upload-file/src/lib/upload-file.module.d.ts +0 -1
  271. package/utility/sd-angular-core-utility.metadata.json +1 -1
  272. package/utility/src/lib/pipes/currency.pipe.d.ts +0 -1
  273. package/utility/src/lib/pipes/time-different.pipe.d.ts +0 -1
  274. package/utility/src/lib/utility.service.d.ts +0 -1
  275. package/utility/src/public-api.d.ts +1 -0
  276. package/bundles/sd-angular-core-typing.umd.js +0 -226
  277. package/bundles/sd-angular-core-typing.umd.js.map +0 -1
  278. package/bundles/sd-angular-core-typing.umd.min.js +0 -2
  279. package/bundles/sd-angular-core-typing.umd.min.js.map +0 -1
  280. package/esm2015/grid-material/src/lib/directives/sd-let.directive.js +0 -29
  281. package/esm2015/service/src/lib/typings/date.extension.js +0 -143
  282. package/esm2015/service/src/lib/typings/index.js +0 -4
  283. package/esm2015/service/src/lib/typings/number.extension.js +0 -33
  284. package/esm2015/service/src/lib/typings/string.extension.js +0 -23
  285. package/esm2015/typing/index.js +0 -2
  286. package/esm2015/typing/sd-angular-core-typing.js +0 -5
  287. package/esm2015/typing/src/lib/typing/date.extension.js +0 -143
  288. package/esm2015/typing/src/lib/typing/index.js +0 -4
  289. package/esm2015/typing/src/lib/typing/number.extension.js +0 -33
  290. package/esm2015/typing/src/lib/typing/string.extension.js +0 -23
  291. package/esm2015/typing/src/lib/typing.service.js +0 -13
  292. package/esm2015/typing/src/public-api.js +0 -3
  293. package/fesm2015/sd-angular-core-typing.js +0 -215
  294. package/fesm2015/sd-angular-core-typing.js.map +0 -1
  295. package/service/src/lib/typings/index.d.ts +0 -3
  296. package/service/src/lib/typings/string.extension.d.ts +0 -8
  297. package/typing/index.d.ts +0 -1
  298. package/typing/package.json +0 -12
  299. package/typing/sd-angular-core-typing.d.ts +0 -4
  300. package/typing/sd-angular-core-typing.metadata.json +0 -1
  301. package/typing/src/lib/typing/date.extension.d.ts +0 -24
  302. package/typing/src/lib/typing/index.d.ts +0 -3
  303. package/typing/src/lib/typing/number.extension.d.ts +0 -9
  304. package/typing/src/lib/typing.service.d.ts +0 -3
  305. package/typing/src/public-api.d.ts +0 -2
@@ -1,15 +1,15 @@
1
1
  var _date, _name, _form, _subscription;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Component, Input, EventEmitter, Output, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
3
+ import { Component, Input, EventEmitter, Output, ChangeDetectorRef, ViewChild, ChangeDetectionStrategy, ContentChild } from '@angular/core';
4
4
  import * as uuid from 'uuid';
5
5
  import moment from 'moment';
6
6
  import { NgForm, Validators } from '@angular/forms';
7
7
  import { DeviceDetectorService } from 'ngx-device-detector';
8
- import { NGX_MAT_DATE_FORMATS, } from '@angular-material-components/datetime-picker';
8
+ import { MatDatepicker } from '@angular/material/datepicker';
9
+ import { NgxMatDatetimePicker, NGX_MAT_DATE_FORMATS, } from '@angular-material-components/datetime-picker';
9
10
  import { MAT_DATE_FORMATS } from '@angular/material/core';
10
- import '@sd-angular/core/typing';
11
11
  import { Subscription } from 'rxjs';
12
- import { SdFormControl } from '@sd-angular/core/common';
12
+ import { SdFormControl, SdViewDefDirective } from '@sd-angular/core/common';
13
13
  const CUSTOM_DATETIME_FORMATS = {
14
14
  parse: {
15
15
  dateInput: 'DD/MM/YYYY HH:mm'
@@ -41,35 +41,51 @@ export class SdDateTime {
41
41
  _date.set(this, void 0);
42
42
  _name.set(this, uuid.v4());
43
43
  this.disableErrorMessage = false;
44
- this.dateControl = new SdFormControl();
44
+ this.formControl = new SdFormControl();
45
45
  _form.set(this, void 0);
46
46
  this.type = 'datetime';
47
47
  this.isRequired = false;
48
48
  this.sdChange = new EventEmitter();
49
49
  this.modelChange = new EventEmitter();
50
50
  _subscription.set(this, new Subscription());
51
+ this.isFocused = false;
52
+ this.onFocus = () => {
53
+ this.isFocused = true;
54
+ };
51
55
  this.onBlur = () => {
52
- // const value = this.dateControl.value?.toDate();
53
- // if (value) {
54
- // if (new Date(this.#date) !== value) {
55
- // this.modelChange.emit(value);
56
- // this.sdChange.emit(value);
57
- // }
58
- // } else {
59
- // if (!this.dateControl?.value) {
60
- // this.modelChange.emit(null);
61
- // this.sdChange.emit(null);
62
- // }
63
- // }
56
+ this.isFocused = false;
64
57
  };
65
- this.onFocus = () => {
66
- if (this.isMobileOrTablet) {
67
- // $(this.control.nativeElement).trigger('blur');
58
+ this.onClick = () => {
59
+ var _a;
60
+ if ((_a = this.sdView) === null || _a === void 0 ? void 0 : _a.templateRef) {
61
+ if (!this.formControl.disabled && !this.isFocused) {
62
+ this.focus();
63
+ }
68
64
  }
69
65
  };
70
- this.onChange = (event) => {
66
+ this.blur = () => {
71
67
  var _a, _b;
68
+ (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.blur();
69
+ };
70
+ this.focus = () => {
71
+ this.isFocused = true;
72
+ setTimeout(() => {
73
+ var _a, _b, _c, _d;
74
+ (_b = (_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.focus();
75
+ if (this.type === 'date') {
76
+ console.log(this.datePicker.opened);
77
+ (_c = this.datePicker) === null || _c === void 0 ? void 0 : _c.open();
78
+ }
79
+ else {
80
+ (_d = this.dateTimePicker) === null || _d === void 0 ? void 0 : _d.open();
81
+ }
82
+ //
83
+ }, 100);
84
+ };
85
+ this.onChange = (event) => {
86
+ var _a, _b, _c, _d;
72
87
  const value = (_a = event.value) === null || _a === void 0 ? void 0 : _a.toDate();
88
+ (_c = (_b = this.input) === null || _b === void 0 ? void 0 : _b.nativeElement) === null || _c === void 0 ? void 0 : _c.focus();
73
89
  if (value) {
74
90
  if (new Date(__classPrivateFieldGet(this, _date)) !== value) {
75
91
  this.modelChange.emit(value);
@@ -77,7 +93,7 @@ export class SdDateTime {
77
93
  }
78
94
  }
79
95
  else {
80
- if (!((_b = this.dateControl) === null || _b === void 0 ? void 0 : _b.value)) {
96
+ if (!((_d = this.formControl) === null || _d === void 0 ? void 0 : _d.value)) {
81
97
  this.modelChange.emit(null);
82
98
  this.sdChange.emit(null);
83
99
  }
@@ -85,8 +101,8 @@ export class SdDateTime {
85
101
  };
86
102
  this.clear = ($event) => {
87
103
  $event === null || $event === void 0 ? void 0 : $event.stopPropagation();
88
- if (__classPrivateFieldGet(this, _date)) {
89
- this.dateControl.setValue(null);
104
+ if (this.formControl.value) {
105
+ this.formControl.setValue(null);
90
106
  this.modelChange.emit(null);
91
107
  this.sdChange.emit(null);
92
108
  }
@@ -131,19 +147,19 @@ export class SdDateTime {
131
147
  set disabled(val) {
132
148
  val = (val === '') || val;
133
149
  if (val) {
134
- this.dateControl.disable();
150
+ this.formControl.disable();
135
151
  }
136
152
  else {
137
- this.dateControl.enable();
153
+ this.formControl.enable();
138
154
  }
139
155
  }
140
156
  set required(val) {
141
157
  this.isRequired = (val === '') || val;
142
158
  if (this.isRequired) {
143
- this.dateControl.setValidators([Validators.required]);
159
+ this.formControl.setValidators([Validators.required]);
144
160
  }
145
161
  else {
146
- this.dateControl.clearValidators();
162
+ this.formControl.clearValidators();
147
163
  }
148
164
  }
149
165
  set minDate(val) {
@@ -169,7 +185,7 @@ export class SdDateTime {
169
185
  if (__classPrivateFieldGet(this, _date) !== val) {
170
186
  __classPrivateFieldSet(this, _date, val);
171
187
  const date = Date.isDate(__classPrivateFieldGet(this, _date)) ? moment(Date.toFormat(__classPrivateFieldGet(this, _date), 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;
172
- this.dateControl.setValue(date);
188
+ this.formControl.setValue(date);
173
189
  }
174
190
  }
175
191
  ngOnDestroy() {
@@ -179,10 +195,10 @@ export class SdDateTime {
179
195
  }
180
196
  ngOnInit() {
181
197
  var _a;
182
- __classPrivateFieldGet(this, _subscription).add(this.dateControl.touchedChanges.subscribe(() => {
198
+ __classPrivateFieldGet(this, _subscription).add(this.formControl.touchedChanges.subscribe(() => {
183
199
  this.ref.markForCheck();
184
200
  }));
185
- (_a = __classPrivateFieldGet(this, _form)) === null || _a === void 0 ? void 0 : _a.addControl(__classPrivateFieldGet(this, _name), this.dateControl);
201
+ (_a = __classPrivateFieldGet(this, _form)) === null || _a === void 0 ? void 0 : _a.addControl(__classPrivateFieldGet(this, _name), this.formControl);
186
202
  }
187
203
  ngAfterViewInit() {
188
204
  }
@@ -191,13 +207,13 @@ _date = new WeakMap(), _name = new WeakMap(), _form = new WeakMap(), _subscripti
191
207
  SdDateTime.decorators = [
192
208
  { type: Component, args: [{
193
209
  selector: 'sd-date-time',
194
- template: "<div class=\"d-flex align-items-center\">\r\n <mat-form-field *ngIf=\"type === 'datetime' || type === 'time'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage }\" appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" [value]=\"date\" (focus)=\"onFocus()\" (blur)=\"onBlur()\"\r\n [autocomplete]=\"id\" autocorrect=\"off\" [formControl]=\"dateControl\" [ngxMatDatetimePicker]=\"picker1\"\r\n placeholder=\"{{ placeholder || label }}\" [min]=\"min\" [required]=\"isRequired\" [max]=\"max\" />\r\n <!-- <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!dateControl?.disabled && picker1.open()\" matSuffix>today\r\n </mat-icon> -->\r\n <mat-icon *ngIf=\"dateControl?.value && !isRequired && !dateControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker1\"></mat-datepicker-toggle>\r\n <ngx-mat-datetime-picker #picker1 [defaultTime]=\"defaultTime\" [touchUi]=\"isMobileOrTablet\" [showSpinners]=\"false\">\r\n </ngx-mat-datetime-picker>\r\n\r\n <mat-error *ngIf=\"dateControl?.errors?.required && !disableErrorMessage\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf=\"dateControl?.errors?.matDatetimePickerMin && !disableErrorMessage\">\r\n {{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf=\"dateControl?.errors?.matDatetimePickerMax && !disableErrorMessage\">\r\n {{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf=\"dateControl?.errors?.matDatetimePickerParse && !disableErrorMessage\">\r\n {{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ dateControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf=\"dateControl?.errors?.customValidator && !disableErrorMessage\">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"type === 'date'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm' , 'no-padding-wrapper': disableErrorMessage}\" appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" [autocomplete]=\"id\"\r\n autocorrect=\"off\" [formControl]=\"dateControl\" [required]=\"isRequired\" [matDatepicker]=\"picker2\"\r\n placeholder=\"{{ placeholder || label }}\" [min]=\"min\" [max]=\"max\" />\r\n <mat-icon *ngIf=\"dateControl?.value && !isRequired && !dateControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n\r\n <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!dateControl?.disabled && picker2.open()\" matSuffix>today\r\n </mat-icon>\r\n\r\n <mat-datepicker #picker2 [touchUi]=\"isMobileOrTablet\"></mat-datepicker>\r\n\r\n <mat-error *ngIf=\"dateControl?.errors?.required && !disableErrorMessage\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf=\"dateControl?.errors?.customValidator && !disableErrorMessage\">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- <ngx-mat-timepicker *ngIf=\"type === 'time'\" formControlName=\"name\" [disabled]=\"disabled\" showSpinners=\"false\" stepHour=\"1\"\r\n stepMinute=\"1\" stepSecond=\"1\">\r\n</ngx-mat-timepicker> -->\r\n</div>",
210
+ template: "<div class=\"d-flex align-items-center\" [class.sd-view]=\"sdView?.templateRef\" [class.c-focused]=\"isFocused\"\r\n [class.c-disabled]=\"formControl.disabled\" (click)=\"onClick()\">\r\n <ng-container *ngIf=\"sdView?.templateRef && !isFocused && !datePicker?.opened && !dateTimePicker?.opened; else default\">\r\n <ng-container *ngTemplateOutlet=\"sdView.templateRef;context: { value: formControl.value }\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #default>\r\n <mat-form-field *ngIf=\"type === 'datetime' || type === 'time'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm', 'no-padding-wrapper': disableErrorMessage }\" appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" [autocomplete]=\"id\" autocorrect=\"off\"\r\n [formControl]=\"formControl\" [ngxMatDatetimePicker]=\"picker1\" placeholder=\"{{ placeholder || label }}\"\r\n [min]=\"min\" [required]=\"isRequired\" [max]=\"max\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" #input />\r\n <!-- <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!formControl?.disabled && picker1.open()\" matSuffix>today\r\n </mat-icon> -->\r\n <mat-icon *ngIf=\"formControl?.value && !isRequired && !formControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker1\">\r\n </mat-datepicker-toggle>\r\n <ngx-mat-datetime-picker #picker1 [defaultTime]=\"defaultTime\" [touchUi]=\"isMobileOrTablet\" [showSpinners]=\"false\"\r\n (openedStream)=\"onFocus()\" (closedStream)=\"onBlur()\">\r\n </ngx-mat-datetime-picker>\r\n\r\n <mat-error *ngIf=\"formControl?.errors?.required && !disableErrorMessage\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMin && !disableErrorMessage\">\r\n {{ \"Min date\" | sdTranslate }}:\r\n <strong>{{ min | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerMax && !disableErrorMessage\">\r\n {{ \"Max date\" | sdTranslate }}:\r\n <strong>{{ max | date: \"dd/MM/yyyy HH:mm\" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.matDatetimePickerParse && !disableErrorMessage\">\r\n {{ \"Parse error\" | sdTranslate }}:\r\n <strong>{{ formControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && !disableErrorMessage\">\r\n <strong>{{ formControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"type === 'date'\" class=\"sd-md\"\r\n [ngClass]=\"{ 'sd-sm': size === 'sm' , 'no-padding-wrapper': disableErrorMessage}\" appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\r\n <input [id]=\"id\" matInput (dateInput)=\"onChange($event)\" [autocomplete]=\"id\" autocorrect=\"off\"\r\n [formControl]=\"formControl\" [required]=\"isRequired\" [matDatepicker]=\"picker2\"\r\n placeholder=\"{{ placeholder || label }}\" [min]=\"min\" [max]=\"max\" (focus)=\"onFocus()\" (blur)=\"onBlur()\" #input />\r\n <mat-icon *ngIf=\"formControl?.value && !isRequired && !formControl.disabled\" class=\"pointer sd-suffix-icon\"\r\n (click)=\"clear($event)\" matSuffix>cancel\r\n </mat-icon>\r\n\r\n <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!formControl?.disabled && picker2.open()\" #btn matSuffix>today\r\n </mat-icon>\r\n\r\n <mat-datepicker #picker2 [touchUi]=\"isMobileOrTablet\"></mat-datepicker>\r\n\r\n <mat-error *ngIf=\"formControl?.errors?.required && !disableErrorMessage\">\r\n {{ \"This field is required\" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf=\"formControl?.errors?.customValidator && !disableErrorMessage\">\r\n <strong>{{ formControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- <ngx-mat-timepicker *ngIf=\"type === 'time'\" formControlName=\"name\" [disabled]=\"disabled\" showSpinners=\"false\" stepHour=\"1\"\r\n stepMinute=\"1\" stepSecond=\"1\">\r\n</ngx-mat-timepicker> -->\r\n </ng-template>\r\n</div>",
195
211
  changeDetection: ChangeDetectionStrategy.OnPush,
196
212
  providers: [
197
213
  { provide: MAT_DATE_FORMATS, useValue: ɵ0 },
198
214
  { provide: NGX_MAT_DATE_FORMATS, useValue: ɵ1 }
199
215
  ],
200
- styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]
216
+ styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}.sd-view:not(.c-focused):not(.c-disabled):hover{background-color:#ebecf0}"]
201
217
  },] }
202
218
  ];
203
219
  SdDateTime.ctorParameters = () => [
@@ -222,7 +238,11 @@ SdDateTime.propDecorators = {
222
238
  validator: [{ type: Input }],
223
239
  sdChange: [{ type: Output }],
224
240
  model: [{ type: Input }],
225
- modelChange: [{ type: Output }]
241
+ modelChange: [{ type: Output }],
242
+ sdView: [{ type: ContentChild, args: [SdViewDefDirective,] }],
243
+ input: [{ type: ViewChild, args: ['input',] }],
244
+ datePicker: [{ type: ViewChild, args: [MatDatepicker,] }],
245
+ dateTimePicker: [{ type: ViewChild, args: [NgxMatDatetimePicker,] }]
226
246
  };
227
247
  export { ɵ0, ɵ1 };
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGF0ZS10aW1lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBR04saUJBQWlCLEVBR2pCLHVCQUF1QixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLE1BQWtCLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE9BQU8sRUFBMEIsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsR0FBRyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsTUFBTSx1QkFBdUIsR0FBRztJQUM5QixLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsa0JBQWtCO0tBQzlCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLGtCQUFrQjtRQUM3QixjQUFjLEVBQUUsVUFBVTtRQUMxQixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2hDO0NBQ0YsQ0FBQztBQUNGLE1BQU0sbUJBQW1CLEdBQUc7SUFDMUIsS0FBSyxFQUFFO1FBQ0wsU0FB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QUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE91dHB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIHV1aWQgZnJvbSAndXVpZCc7XHJcbmltcG9ydCBtb21lbnQsIHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgTmdGb3JtLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTkdYX01BVF9EQVRFX0ZPUk1BVFMsIH0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXInO1xyXG5pbXBvcnQgeyBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCAnQHNkLWFuZ3VsYXIvY29yZS90eXBpbmcnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RGb3JtQ29udHJvbCB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuXHJcbmNvbnN0IENVU1RPTV9EQVRFVElNRV9GT1JNQVRTID0ge1xyXG4gIHBhcnNlOiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZIEhIOm1tJ1xyXG4gIH0sXHJcbiAgZGlzcGxheToge1xyXG4gICAgZGF0ZUlucHV0OiAnREQvTU0vWVlZWSBISDptbScsXHJcbiAgICBtb250aFllYXJMYWJlbDogJ01NTSBZWVlZJyxcclxuICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknXHJcbiAgfVxyXG59O1xyXG5jb25zdCBDVVNUT01fREFURV9GT1JNQVRTID0ge1xyXG4gIHBhcnNlOiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZJ1xyXG4gIH0sXHJcbiAgZGlzcGxheToge1xyXG4gICAgZGF0ZUlucHV0OiAnREQvTU0vWVlZWScsXHJcbiAgICBtb250aFllYXJMYWJlbDogJ01NTSBZWVlZJyxcclxuICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknXHJcbiAgfVxyXG59O1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NkLWRhdGUtdGltZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtdGltZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS10aW1lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBDVVNUT01fREFURV9GT1JNQVRTIH0sXHJcbiAgICB7IHByb3ZpZGU6IE5HWF9NQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogQ1VTVE9NX0RBVEVUSU1FX0ZPUk1BVFMgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRGF0ZVRpbWUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgaWQgPSBgSSR7dXVpZC52NCgpfWA7XHJcbiAgaXNNb2JpbGVPclRhYmxldCA9IGZhbHNlO1xyXG4gICNkYXRlOiBhbnk7XHJcbiAgI25hbWUgPSB1dWlkLnY0KCk7XHJcbiAgQElucHV0KCkgc2V0IG5hbWUodmFsOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbDtcclxuICAgIH1cclxuICB9XHJcbiAgZGlzYWJsZUVycm9yTWVzc2FnZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgnZGlzYWJsZUVycm9yTWVzc2FnZScpIHNldCBfZGlzYWJsZUVycm9yTWVzc2FnZSh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdGhpcy5kaXNhYmxlRXJyb3JNZXNzYWdlID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIHZhbCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgfVxyXG4gIGRhdGVDb250cm9sID0gbmV3IFNkRm9ybUNvbnRyb2woKTtcclxuICBtaW46IERhdGU7XHJcbiAgQElucHV0KCdtaW4nKSBzZXQgX21pbih2YWw6IHN0cmluZyB8IERhdGUpIHtcclxuICAgIGlmIChEYXRlLmlzRGF0ZSh2YWwpKSB7XHJcbiAgICAgIHRoaXMubWluID0gbmV3IERhdGUodmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWluID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgbWF4OiBEYXRlO1xyXG4gIEBJbnB1dCgnbWF4Jykgc2V0IF9tYXgodmFsOiBzdHJpbmcgfCBEYXRlKSB7XHJcbiAgICBpZiAoRGF0ZS5pc0RhdGUodmFsKSkge1xyXG4gICAgICB0aGlzLm1heCA9IG5ldyBEYXRlKHZhbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1heCA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNpemU6ICdzbScgfCAnbGcnO1xyXG4gICNmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgc2V0IGZvcm0odmFsOiBOZ0Zvcm0gfCBGb3JtR3JvdXApIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgaWYgKHZhbCBpbnN0YW5jZW9mIE5nRm9ybSkge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWwuZm9ybTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLiNmb3JtID0gdmFsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHR5cGU6ICdkYXRldGltZScgfCAnZGF0ZScgfCAndGltZScgPSAnZGF0ZXRpbWUnO1xyXG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5kYXRlQ29udHJvbC5kaXNhYmxlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRhdGVDb250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc1JlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2V0IHJlcXVpcmVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLmlzUmVxdWlyZWQgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgaWYgKHRoaXMuaXNSZXF1aXJlZCkge1xyXG4gICAgICB0aGlzLmRhdGVDb250cm9sLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0ZUNvbnRyb2wuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBkZWZhdWx0VGltZTogYW55O1xyXG4gIEBJbnB1dCgpIHNldCBtaW5EYXRlKHZhbDogc3RyaW5nIHwgRGF0ZSkge1xyXG4gICAgaWYgKERhdGUuaXNEYXRlKHZhbCkpIHtcclxuICAgICAgdGhpcy5taW4gPSBuZXcgRGF0ZSh2YWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5taW4gPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSBzZXQgbWF4RGF0ZSh2YWw6IHN0cmluZyB8IERhdGUpIHtcclxuICAgIGlmIChEYXRlLmlzRGF0ZSh2YWwpKSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbmV3IERhdGUodmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgdmFsaWRhdG9yOiAodmFsdWU6IGFueSkgPT4gc3RyaW5nIHwgUHJvbWlzZTxzdHJpbmc+O1xyXG4gIEBPdXRwdXQoKSBzZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBkYXRlOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBtb2RlbCh2YWw6IGFueSkge1xyXG4gICAgaWYgKCFEYXRlLmlzRGF0ZSh2YWwpKSB7XHJcbiAgICAgIHZhbCA9IG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy4jZGF0ZSAhPT0gdmFsKSB7XHJcbiAgICAgIHRoaXMuI2RhdGUgPSB2YWw7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBEYXRlLmlzRGF0ZSh0aGlzLiNkYXRlKSA/IG1vbWVudChEYXRlLnRvRm9ybWF0KHRoaXMuI2RhdGUsICdNTS9kZC95eXl5IEhIOm1tOnNzJyksICdNTS9ERC9ZWVlZIEhIOm1tOnNzJykgOiBudWxsO1xyXG4gICAgICB0aGlzLmRhdGVDb250cm9sLnNldFZhbHVlKGRhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAT3V0cHV0KCkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgI3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSkge1xyXG4gICAgdGhpcy5pc01vYmlsZU9yVGFibGV0ID0gIWRldmljZVNlcnZpY2UuaXNEZXNrdG9wKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuI2Zvcm0/LnJlbW92ZUNvbnRyb2wodGhpcy4jbmFtZSk7XHJcbiAgICB0aGlzLiNzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLmFkZCh0aGlzLmRhdGVDb250cm9sLnRvdWNoZWRDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSkpO1xyXG4gICAgdGhpcy4jZm9ybT8uYWRkQ29udHJvbCh0aGlzLiNuYW1lLCB0aGlzLmRhdGVDb250cm9sKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG9uQmx1ciA9ICgpID0+IHtcclxuICAgIC8vIGNvbnN0IHZhbHVlID0gdGhpcy5kYXRlQ29udHJvbC52YWx1ZT8udG9EYXRlKCk7XHJcbiAgICAvLyBpZiAodmFsdWUpIHtcclxuICAgIC8vICAgaWYgKG5ldyBEYXRlKHRoaXMuI2RhdGUpICE9PSB2YWx1ZSkge1xyXG4gICAgLy8gICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICAvLyAgICAgdGhpcy5zZENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgaWYgKCF0aGlzLmRhdGVDb250cm9sPy52YWx1ZSkge1xyXG4gICAgLy8gICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgIC8vICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQobnVsbCk7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIG9uRm9jdXMgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5pc01vYmlsZU9yVGFibGV0KSB7XHJcbiAgICAgIC8vICQodGhpcy5jb250cm9sLm5hdGl2ZUVsZW1lbnQpLnRyaWdnZXIoJ2JsdXInKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2hhbmdlID0gKGV2ZW50OiBNYXREYXRlcGlja2VySW5wdXRFdmVudDxNb21lbnQ+KSA9PiB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlPy50b0RhdGUoKTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBpZiAobmV3IERhdGUodGhpcy4jZGF0ZSkgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuZGF0ZUNvbnRyb2w/LnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgICAgIHRoaXMuc2RDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXIgPSAoJGV2ZW50OiBhbnkpID0+IHtcclxuICAgICRldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodGhpcy4jZGF0ZSkge1xyXG4gICAgICB0aGlzLmRhdGVDb250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQobnVsbCk7XHJcbiAgICAgIHRoaXMuc2RDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGF0ZS10aW1lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFlBQVksRUFDWixNQUFNLEVBR04saUJBQWlCLEVBRWpCLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sTUFBa0IsTUFBTSxRQUFRLENBQUM7QUFDeEMsT0FBTyxFQUFhLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUEyQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsR0FBRyxNQUFNLDhDQUE4QyxDQUFDO0FBQzNHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVFLE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIsS0FBSyxFQUFFO1FBQ0wsU0FBUyxFQUFFLGtCQUFrQjtLQUM5QjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxrQkFBa0I7UUFDN0IsY0FBYyxFQUFFLFVBQVU7UUFDMUIsYUFBYSxFQUFFLElBQUk7UUFDbkIsa0JBQWtCLEVBQUUsV0FB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XG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyB1dWlkIGZyb20gJ3V1aWQnO1xyXG5pbXBvcnQgbW9tZW50LCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgTmdGb3JtLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZXZpY2VEZXRlY3RvclNlcnZpY2UgfSBmcm9tICduZ3gtZGV2aWNlLWRldGVjdG9yJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciwgTWF0RGF0ZXBpY2tlcklucHV0RXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTmd4TWF0RGF0ZXRpbWVQaWNrZXIsIE5HWF9NQVRfREFURV9GT1JNQVRTLCB9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvZGF0ZXRpbWUtcGlja2VyJztcclxuaW1wb3J0IHsgTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2RGb3JtQ29udHJvbCwgU2RWaWV3RGVmRGlyZWN0aXZlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5cclxuY29uc3QgQ1VTVE9NX0RBVEVUSU1FX0ZPUk1BVFMgPSB7XHJcbiAgcGFyc2U6IHtcclxuICAgIGRhdGVJbnB1dDogJ0REL01NL1lZWVkgSEg6bW0nXHJcbiAgfSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZIEhIOm1tJyxcclxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWSdcclxuICB9XHJcbn07XHJcbmNvbnN0IENVU1RPTV9EQVRFX0ZPUk1BVFMgPSB7XHJcbiAgcGFyc2U6IHtcclxuICAgIGRhdGVJbnB1dDogJ0REL01NL1lZWVknXHJcbiAgfSxcclxuICBkaXNwbGF5OiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdERC9NTS9ZWVlZJyxcclxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWSdcclxuICB9XHJcbn07XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2QtZGF0ZS10aW1lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS10aW1lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXRpbWUuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IENVU1RPTV9EQVRFX0ZPUk1BVFMgfSxcclxuICAgIHsgcHJvdmlkZTogTkdYX01BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBDVVNUT01fREFURVRJTUVfRk9STUFUUyB9XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2REYXRlVGltZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBpZCA9IGBJJHt1dWlkLnY0KCl9YDtcclxuICBpc01vYmlsZU9yVGFibGV0ID0gZmFsc2U7XHJcbiAgI2RhdGU6IGFueTtcclxuICAjbmFtZSA9IHV1aWQudjQoKTtcclxuICBASW5wdXQoKSBzZXQgbmFtZSh2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLiNuYW1lID0gdmFsO1xyXG4gICAgfVxyXG4gIH1cclxuICBkaXNhYmxlRXJyb3JNZXNzYWdlID0gZmFsc2U7XHJcbiAgQElucHV0KCdkaXNhYmxlRXJyb3JNZXNzYWdlJykgc2V0IF9kaXNhYmxlRXJyb3JNZXNzYWdlKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB0aGlzLmRpc2FibGVFcnJvck1lc3NhZ2UgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgdmFsID0gKHZhbCA9PT0gJycpIHx8IHZhbDtcclxuICB9XHJcbiAgZm9ybUNvbnRyb2wgPSBuZXcgU2RGb3JtQ29udHJvbCgpO1xyXG4gIG1pbjogRGF0ZTtcclxuICBASW5wdXQoJ21pbicpIHNldCBfbWluKHZhbDogc3RyaW5nIHwgRGF0ZSkge1xyXG4gICAgaWYgKERhdGUuaXNEYXRlKHZhbCkpIHtcclxuICAgICAgdGhpcy5taW4gPSBuZXcgRGF0ZSh2YWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5taW4gPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBtYXg6IERhdGU7XHJcbiAgQElucHV0KCdtYXgnKSBzZXQgX21heCh2YWw6IHN0cmluZyB8IERhdGUpIHtcclxuICAgIGlmIChEYXRlLmlzRGF0ZSh2YWwpKSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbmV3IERhdGUodmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWF4ID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgc2l6ZTogJ3NtJyB8ICdsZyc7XHJcbiAgI2Zvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBzZXQgZm9ybSh2YWw6IE5nRm9ybSB8IEZvcm1Hcm91cCkge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAodmFsIGluc3RhbmNlb2YgTmdGb3JtKSB7XHJcbiAgICAgICAgdGhpcy4jZm9ybSA9IHZhbC5mb3JtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuI2Zvcm0gPSB2YWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgdHlwZTogJ2RhdGV0aW1lJyB8ICdkYXRlJyB8ICd0aW1lJyA9ICdkYXRldGltZSc7XHJcbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKHZhbDogYm9vbGVhbiB8ICcnKSB7XHJcbiAgICB2YWwgPSAodmFsID09PSAnJykgfHwgdmFsO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZW5hYmxlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlzUmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZXQgcmVxdWlyZWQodmFsOiBib29sZWFuIHwgJycpIHtcclxuICAgIHRoaXMuaXNSZXF1aXJlZCA9ICh2YWwgPT09ICcnKSB8fCB2YWw7XHJcbiAgICBpZiAodGhpcy5pc1JlcXVpcmVkKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRUaW1lOiBhbnk7XHJcbiAgQElucHV0KCkgc2V0IG1pbkRhdGUodmFsOiBzdHJpbmcgfCBEYXRlKSB7XHJcbiAgICBpZiAoRGF0ZS5pc0RhdGUodmFsKSkge1xyXG4gICAgICB0aGlzLm1pbiA9IG5ldyBEYXRlKHZhbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1pbiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHNldCBtYXhEYXRlKHZhbDogc3RyaW5nIHwgRGF0ZSkge1xyXG4gICAgaWYgKERhdGUuaXNEYXRlKHZhbCkpIHtcclxuICAgICAgdGhpcy5tYXggPSBuZXcgRGF0ZSh2YWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tYXggPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSB2YWxpZGF0b3I6ICh2YWx1ZTogYW55KSA9PiBzdHJpbmcgfCBQcm9taXNlPHN0cmluZz47XHJcbiAgQE91dHB1dCgpIHNkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsOiBhbnkpIHtcclxuICAgIGlmICghRGF0ZS5pc0RhdGUodmFsKSkge1xyXG4gICAgICB2YWwgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuI2RhdGUgIT09IHZhbCkge1xyXG4gICAgICB0aGlzLiNkYXRlID0gdmFsO1xyXG4gICAgICBjb25zdCBkYXRlID0gRGF0ZS5pc0RhdGUodGhpcy4jZGF0ZSkgPyBtb21lbnQoRGF0ZS50b0Zvcm1hdCh0aGlzLiNkYXRlLCAnTU0vZGQveXl5eSBISDptbTpzcycpLCAnTU0vREQvWVlZWSBISDptbTpzcycpIDogbnVsbDtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShkYXRlKTtcclxuICAgIH1cclxuICB9XHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICNzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgQENvbnRlbnRDaGlsZChTZFZpZXdEZWZEaXJlY3RpdmUpIHNkVmlldzogU2RWaWV3RGVmRGlyZWN0aXZlO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZChNYXREYXRlcGlja2VyKSBkYXRlUGlja2VyOiBNYXREYXRlcGlja2VyPE1vbWVudD47XHJcbiAgQFZpZXdDaGlsZChOZ3hNYXREYXRldGltZVBpY2tlcikgZGF0ZVRpbWVQaWNrZXI6IE5neE1hdERhdGV0aW1lUGlja2VyPE1vbWVudD47XHJcbiAgaXNGb2N1c2VkID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBkZXZpY2VTZXJ2aWNlOiBEZXZpY2VEZXRlY3RvclNlcnZpY2UpIHtcclxuICAgIHRoaXMuaXNNb2JpbGVPclRhYmxldCA9ICFkZXZpY2VTZXJ2aWNlLmlzRGVza3RvcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLiNmb3JtPy5yZW1vdmVDb250cm9sKHRoaXMuI25hbWUpO1xyXG4gICAgdGhpcy4jc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuI3N1YnNjcmlwdGlvbi5hZGQodGhpcy5mb3JtQ29udHJvbC50b3VjaGVkQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH0pKTtcclxuICAgIHRoaXMuI2Zvcm0/LmFkZENvbnRyb2wodGhpcy4jbmFtZSwgdGhpcy5mb3JtQ29udHJvbCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyID0gKCkgPT4ge1xyXG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICBpZiAodGhpcy5zZFZpZXc/LnRlbXBsYXRlUmVmKSB7XHJcbiAgICAgIGlmICghdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlZCAmJiAhdGhpcy5pc0ZvY3VzZWQpIHtcclxuICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGJsdXIgPSAoKSA9PiB7XHJcbiAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50Py5ibHVyKCk7XHJcbiAgfVxyXG5cclxuICBmb2N1cyA9ICgpID0+IHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xyXG4gICAgICBpZiAodGhpcy50eXBlID09PSAnZGF0ZScpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGVQaWNrZXIub3BlbmVkKTtcclxuICAgICAgICB0aGlzLmRhdGVQaWNrZXI/Lm9wZW4oKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRhdGVUaW1lUGlja2VyPy5vcGVuKCk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gXHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UgPSAoZXZlbnQ6IE1hdERhdGVwaWNrZXJJbnB1dEV2ZW50PE1vbWVudD4pID0+IHtcclxuICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU/LnRvRGF0ZSgpO1xyXG4gICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBpZiAobmV3IERhdGUodGhpcy4jZGF0ZSkgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuZm9ybUNvbnRyb2w/LnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KG51bGwpO1xyXG4gICAgICAgIHRoaXMuc2RDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXIgPSAoJGV2ZW50OiBhbnkpID0+IHtcclxuICAgICRldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodGhpcy5mb3JtQ29udHJvbC52YWx1ZSkge1xyXG4gICAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQobnVsbCk7XHJcbiAgICAgIHRoaXMuc2RDaGFuZ2UuZW1pdChudWxsKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -10,7 +10,7 @@ import { MatInputModule } from '@angular/material/input';
10
10
  import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
11
11
  import { MatMomentDateModule } from '@angular/material-moment-adapter';
12
12
  import { MatIconModule } from '@angular/material/icon';
13
- import '@sd-angular/core/typing';
13
+ import { SdCommonModule } from '@sd-angular/core/common';
14
14
  export class SdDateTimeModule {
15
15
  }
16
16
  SdDateTimeModule.decorators = [
@@ -27,15 +27,17 @@ SdDateTimeModule.decorators = [
27
27
  NgxMatDatetimePickerModule,
28
28
  NgxMatTimepickerModule,
29
29
  NgxMatMomentModule,
30
- SdTranslateModule
30
+ SdTranslateModule,
31
+ SdCommonModule
31
32
  ],
32
33
  declarations: [
33
34
  SdDateTime
34
35
  ],
35
36
  exports: [
37
+ SdCommonModule,
36
38
  SdDateTime
37
39
  ],
38
40
  providers: []
39
41
  },] }
40
42
  ];
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGF0ZS10aW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdkIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLHlCQUF5QixDQUFDO0FBeUJqQyxNQUFNLE9BQU8sZ0JBQWdCOzs7WUF4QjVCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixXQUFXO29CQUNYLG1CQUFtQjtvQkFDbkIsY0FBYztvQkFDZCxhQUFhO29CQUNiLGtCQUFrQjtvQkFDbEIsbUJBQW1CO29CQUNuQixtQkFBbUI7b0JBQ25CLDBCQUEwQjtvQkFDMUIsc0JBQXNCO29CQUN0QixrQkFBa0I7b0JBQ2xCLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLFVBQVU7aUJBQ1g7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLFVBQVU7aUJBQ1g7Z0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQge1xyXG4gIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxyXG4gIE5neE1hdFRpbWVwaWNrZXJNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlcic7XHJcbmltcG9ydCB7IFNkRGF0ZVRpbWUgfSBmcm9tICcuL2RhdGUtdGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvdHJhbnNsYXRlJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE5neE1hdE1vbWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvbW9tZW50LWFkYXB0ZXInO1xyXG5pbXBvcnQgeyBNYXRNb21lbnREYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCAnQHNkLWFuZ3VsYXIvY29yZS90eXBpbmcnO1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRNb21lbnREYXRlTW9kdWxlLFxyXG4gICAgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsXHJcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxyXG4gICAgTmd4TWF0TW9tZW50TW9kdWxlLFxyXG4gICAgU2RUcmFuc2xhdGVNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2REYXRlVGltZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU2REYXRlVGltZVxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2REYXRlVGltZU1vZHVsZSB7XHJcblxyXG59XHJcbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbInNyYy9saWIvZGF0ZS10aW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdkIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUEyQnpELE1BQU0sT0FBTyxnQkFBZ0I7OztZQTFCNUIsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFdBQVc7b0JBQ1gsbUJBQW1CO29CQUNuQixjQUFjO29CQUNkLGFBQWE7b0JBQ2Isa0JBQWtCO29CQUNsQixtQkFBbUI7b0JBQ25CLG1CQUFtQjtvQkFDbkIsMEJBQTBCO29CQUMxQixzQkFBc0I7b0JBQ3RCLGtCQUFrQjtvQkFDbEIsaUJBQWlCO29CQUNqQixjQUFjO2lCQUNmO2dCQUNELFlBQVksRUFBRTtvQkFDWixVQUFVO2lCQUNYO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxjQUFjO29CQUNkLFVBQVU7aUJBQ1g7Z0JBQ0QsU0FBUyxFQUFFLEVBQ1Y7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQge1xyXG4gIE5neE1hdERhdGV0aW1lUGlja2VyTW9kdWxlLFxyXG4gIE5neE1hdFRpbWVwaWNrZXJNb2R1bGVcclxufSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlcic7XHJcbmltcG9ydCB7IFNkRGF0ZVRpbWUgfSBmcm9tICcuL2RhdGUtdGltZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvdHJhbnNsYXRlJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE5neE1hdE1vbWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvbW9tZW50LWFkYXB0ZXInO1xyXG5pbXBvcnQgeyBNYXRNb21lbnREYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFNkQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS9jb21tb24nO1xyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICBNYXRNb21lbnREYXRlTW9kdWxlLFxyXG4gICAgTmd4TWF0RGF0ZXRpbWVQaWNrZXJNb2R1bGUsXHJcbiAgICBOZ3hNYXRUaW1lcGlja2VyTW9kdWxlLFxyXG4gICAgTmd4TWF0TW9tZW50TW9kdWxlLFxyXG4gICAgU2RUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBTZENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZERhdGVUaW1lXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZENvbW1vbk1vZHVsZSxcclxuICAgIFNkRGF0ZVRpbWVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRGF0ZVRpbWVNb2R1bGUge1xyXG5cclxufVxyXG4iXX0=
@@ -1,4 +1,3 @@
1
- import '@sd-angular/core/typing';
2
1
  export { SdDateTimeModule } from './lib/date-time.module';
3
2
  export { SdDateTime } from './lib/date-time.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL3R5cGluZyc7XHJcbmV4cG9ydCB7IFNkRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICcuL2xpYi9kYXRlLXRpbWUubW9kdWxlJztcclxuZXhwb3J0IHsgU2REYXRlVGltZSB9IGZyb20gJy4vbGliL2RhdGUtdGltZS5jb21wb25lbnQnO1xyXG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2RhdGUtdGltZS8iLCJzb3VyY2VzIjpbInNyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFNkRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICcuL2xpYi9kYXRlLXRpbWUubW9kdWxlJztcclxuZXhwb3J0IHsgU2REYXRlVGltZSB9IGZyb20gJy4vbGliL2RhdGUtdGltZS5jb21wb25lbnQnO1xyXG4iXX0=
@@ -2,7 +2,6 @@ var _directory, _blobToSaveAs;
2
2
  import { __awaiter, __classPrivateFieldGet } from "tslib";
3
3
  import { Optional } from '@angular/core';
4
4
  import { Injectable, Inject } from '@angular/core';
5
- import '@sd-angular/core/typing';
6
5
  import { SdApiService } from '@sd-angular/core/api';
7
6
  import * as uuid from 'uuid';
8
7
  import * as hash from 'object-hash';
@@ -192,4 +191,4 @@ SdExportService.ctorParameters = () => [
192
191
  { type: SdNotifyService },
193
192
  { type: undefined, decorators: [{ type: Inject, args: [EXPORT_CONFIG,] }, { type: Optional }] }
194
193
  ];
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9leHBvcnQvIiwic291cmNlcyI6WyJzcmMvbGliL2V4cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEtBQUssSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUF3QyxhQUFhLEVBQWlCLEdBQUcsRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2SCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBSzFELE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQ1UsVUFBd0IsRUFDeEIsYUFBOEIsRUFDSyxhQUFtQztRQUZ0RSxlQUFVLEdBQVYsVUFBVSxDQUFjO1FBQ3hCLGtCQUFhLEdBQWIsYUFBYSxDQUFpQjtRQUNLLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQXVCaEYscUJBQWEsQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDMUMsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTthQUM1QixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLE9B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QUFDLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUN4QztRQUNILENBQUMsRUFBQTtJQWpNRCxDQUFDO0lBUEQsSUFBSSxnQkFBZ0I7O1FBQ2xCLE9BQU8sQ0FBQyxRQUFDLElBQUksQ0FBQyxhQUFhLDBDQUFFLFdBQVcsQ0FBQSxDQUFDO0lBQzNDLENBQUM7SUFPRCxJQUFZLE1BQU07UUFDaEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQ2hDLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7UUFDRCxPQUFPLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFZLFVBQVU7UUFDcEIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDcEMsSUFBSSxFQUFDLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxNQUFNLENBQUEsRUFBRTtZQUNqQixPQUFPO1NBQ1I7UUFDRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUNoQyxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQ0QsT0FBTyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDOzs7OztZQS9CRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVRRLFlBQVk7WUFLWixlQUFlOzRDQVluQixNQUFNLFNBQUMsYUFBYSxjQUFHLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICdAc2QtYW5ndWxhci9jb3JlL3R5cGluZyc7XHJcbmltcG9ydCB7IFNkQXBpU2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYXBpJztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0ICogYXMgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IEFuZ3VsYXJDc3YgfSBmcm9tICdhbmd1bGFyLWNzdi1leHQvZGlzdC9Bbmd1bGFyLWNzdic7XHJcbmltcG9ydCB7IEV4cG9ydFRlbXBsYXRlLCBJRXhwb3J0Q29uZmlndXJhdGlvbiwgRVhQT1JUX0NPTkZJRywgSUV4cG9ydE9wdGlvbiwgQVBJLCBTZEV4cG9ydEZpbGUgfSBmcm9tICcuL2V4cG9ydC5tb2RlbCc7XHJcbmltcG9ydCB7IFNkTm90aWZ5U2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbm90aWZ5JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRXhwb3J0U2VydmljZSB7XHJcbiAgZ2V0IGhhc0NvbmZpZ3VyYXRpb24oKSB7XHJcbiAgICByZXR1cm4gISF0aGlzLmNvbmZpZ3VyYXRpb24/LmZpcmViYXNlVXJsO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogU2RBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZnlTZXJ2aWNlOiBTZE5vdGlmeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KEVYUE9SVF9DT05GSUcpIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlndXJhdGlvbjogSUV4cG9ydENvbmZpZ3VyYXRpb24pIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9sZGVyIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICBpZiAodHlwZW9mIChmb2xkZXIpID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZm9sZGVyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgdXNlckZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgdXNlciB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgaWYgKCF1c2VyPy5mb2xkZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBmb2xkZXIgfSA9IHVzZXI7XHJcbiAgICBpZiAodHlwZW9mIChmb2xkZXIpID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZm9sZGVyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgI2RpcmVjdG9yeSA9IChrZXk6IHN0cmluZywgZ3JvdXA6IHN0cmluZykgPT4ge1xyXG4gICAgbGV0IGhhc2hlZEZvbGRlciA9IGhhc2goe1xyXG4gICAgICBmb2xkZXI6IHRoaXMuZm9sZGVyLFxyXG4gICAgICB1c2VyRm9sZGVyOiB0aGlzLnVzZXJGb2xkZXJcclxuICAgIH0pO1xyXG4gICAgaWYgKCFncm91cCkge1xyXG4gICAgICByZXR1cm4gYGRpcjE9JHt0aGlzLmZvbGRlcn0mZGlyMj1VLSR7aGFzaGVkRm9sZGVyfSZkaXIzPSR7a2V5IHx8ICcnfWA7XHJcbiAgICB9XHJcbiAgICBoYXNoZWRGb2xkZXIgPSBoYXNoKHtcclxuICAgICAgZm9sZGVyOiB0aGlzLmZvbGRlcixcclxuICAgICAgZ3JvdXBcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGBkaXIxPSR7dGhpcy5mb2xkZXJ9JmRpcjI9Ry0ke2hhc2hlZEZvbGRlcn0mZGlyMz0ke2tleSB8fCAnJ31gO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZSA9IGFzeW5jICh0ZW1wbGF0ZTogRXhwb3J0VGVtcGxhdGUpID0+IHtcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgZ2VuZXJhdGVUZW1wbGF0ZSB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtnZW5lcmF0ZVRlbXBsYXRlfWA7XHJcbiAgICBjb25zdCB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9ID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCB0ZW1wbGF0ZSk7XHJcbiAgICByZXR1cm4geyBmaWxlUGF0aCwgZmlsZU5hbWUgfTtcclxuICB9XHJcblxyXG4gIHVwbG9hZFRlbXBsYXRlID0gYXN5bmMgKGFyZ3M6IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgICB2YWxpZGF0b3I/OiAoZmlsZU5hbWU6IHN0cmluZykgPT4gc3RyaW5nXHJcbiAgfSk6IFByb21pc2U8U2RFeHBvcnRGaWxlPiA9PiB7XHJcbiAgICBjb25zdCB7IGtleSwgZ3JvdXAsIHZhbGlkYXRvciB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgdXBsb2FkVGVtcGxhdGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke2ZpcmViYXNlVXJsfSR7dXBsb2FkVGVtcGxhdGV9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9ID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnVwbG9hZFNpbmdsZSh1cmwsIHtcclxuICAgICAgZXh0ZW5zaW9uczogWyd4bHN4J10sXHJcbiAgICAgIG1heFNpemVJbk1iOiAwLjEsXHJcbiAgICAgIHZhbGlkYXRvclxyXG4gICAgfSkuY2F0Y2goKGVycjogRXJyb3IpID0+IHtcclxuICAgICAgdGhpcy5ub3RpZnlTZXJ2aWNlLm5vdGlmeS53YXJuaW5nKGVycj8ubWVzc2FnZSk7XHJcbiAgICAgIHRocm93IGVycjtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZmlsZVBhdGgsXHJcbiAgICAgIGZpbGVOYW1lLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVXBsb2FkVGVtcGxhdGUgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB0ZW1wbGF0ZTogRXhwb3J0VGVtcGxhdGU7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICB9KSA9PiB7XHJcbiAgICBjb25zdCB7IGtleSwgdGVtcGxhdGUsIGdyb3VwIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyBnZW5lcmF0ZVVwbG9hZFRlbXBsYXRlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtmaXJlYmFzZVVybH0ke2dlbmVyYXRlVXBsb2FkVGVtcGxhdGV9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9ID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCB0ZW1wbGF0ZSk7XHJcbiAgICByZXR1cm4geyBmaWxlUGF0aCwgZmlsZU5hbWUgfTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUZpbGUgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICAgIGZpbGVOYW1lPzogc3RyaW5nO1xyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsga2V5LCBncm91cCwgZmlsZU5hbWUgfSA9IGFyZ3M7XHJcbiAgICBjb25zdCB7IGZpcmViYXNlVXJsIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICBjb25zdCB7IHJlbW92ZUZpbGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke2ZpcmViYXNlVXJsfSR7cmVtb3ZlRmlsZX0/JHt0aGlzLiNkaXJlY3Rvcnkoa2V5LCBncm91cCl9Jm5hbWU9JHtmaWxlTmFtZX1gO1xyXG4gICAgYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsKTtcclxuICB9XHJcblxyXG4gIGZpbGVzSW5Gb2xkZXIgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICB9KTogUHJvbWlzZTxTZEV4cG9ydEZpbGVbXT4gPT4ge1xyXG4gICAgaW50ZXJmYWNlIEZpbGVzSW5Gb2xkZXJSZXMge1xyXG4gICAgICBkaXJlY3Rvcnk6IHN0cmluZztcclxuICAgICAgZmlsZXM6IHtcclxuICAgICAgICBwdWJsaWNVcmw6IHN0cmluZywgZnVsbFBhdGg6IHN0cmluZywgbmFtZTogc3RyaW5nXHJcbiAgICAgIH1bXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsga2V5LCBncm91cCB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgZmlsZXNJbkZvbGRlciB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtmaWxlc0luRm9sZGVyfT8ke3RoaXMuI2RpcmVjdG9yeShrZXksIGdyb3VwKX1gO1xyXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLmdldDxGaWxlc0luRm9sZGVyUmVzPih1cmwpO1xyXG4gICAgcmV0dXJuIHJlcy5maWxlcz8ubWFwKGUgPT4gKHtcclxuICAgICAgZmlsZVBhdGg6IGUucHVibGljVXJsLFxyXG4gICAgICBmaWxlTmFtZTogZS5uYW1lXHJcbiAgICB9KSkgfHwgW107XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZCA9IChmaWxlUGF0aDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgbGluazogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgbGluay5kb3dubG9hZCA9IGAke2ZpbGVOYW1lIHx8IHV1aWQudjQoKX0ueGxzeGA7XHJcbiAgICBsaW5rLmhyZWYgPSBmaWxlUGF0aDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0QnlUZW1wbGF0ZSA9IGFzeW5jIChhcmdzOiB7XHJcbiAgICBmaWxlUGF0aDogc3RyaW5nLFxyXG4gICAgY29sdW1uczogYW55W10sXHJcbiAgICBpdGVtczogYW55W10sXHJcbiAgICBmaWxlTmFtZT86IHN0cmluZ1xyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsgZmlsZVBhdGgsIGNvbHVtbnMsIGl0ZW1zLCBmaWxlTmFtZSB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgc2RFeHBvcnRCeVRlbXBsYXRlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtmaXJlYmFzZVVybH0ke3NkRXhwb3J0QnlUZW1wbGF0ZX1gO1xyXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCB7XHJcbiAgICAgIGZpbGVQYXRoLFxyXG4gICAgICBjb2x1bW5zLFxyXG4gICAgICBpdGVtcyxcclxuICAgICAgZmlsZU5hbWVcclxuICAgIH0sIG51bGwsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7YmFzZTY0LCcgfSk7XHJcbiAgICB0aGlzLiNibG9iVG9TYXZlQXMoYmxvYiwgZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0ID0gYXN5bmMgKG9wdGlvbjogSUV4cG9ydE9wdGlvbikgPT4ge1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyBzZEV4cG9ydCB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtzZEV4cG9ydH1gO1xyXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCBvcHRpb24sIG51bGwsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7YmFzZTY0LCcgfSk7XHJcbiAgICB0aGlzLiNibG9iVG9TYXZlQXMoYmxvYiwgb3B0aW9uPy5maWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRDU1YgPSBhc3luYyAob3B0aW9uOiBJRXhwb3J0T3B0aW9uKSA9PiB7XHJcbiAgICBjb25zdCB7IGNvbHVtbnMsIGl0ZW1zLCBmaWxlTmFtZSB9ID0gb3B0aW9uO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgZmllbGRTZXBhcmF0b3I6ICcsJyxcclxuICAgICAgcXVvdGVTdHJpbmdzOiAnXCInLFxyXG4gICAgICBkZWNpbWFsc2VwYXJhdG9yOiAnLicsXHJcbiAgICAgIHNob3dMYWJlbHM6IHRydWUsXHJcbiAgICAgIHNob3dUaXRsZTogZmFsc2UsXHJcbiAgICAgIHRpdGxlOiBmaWxlTmFtZSB8fCAnQ1NWJyxcclxuICAgICAgdXNlQm9tOiB0cnVlLFxyXG4gICAgICBub0Rvd25sb2FkOiBmYWxzZSxcclxuICAgICAgdXNlSGVhZGVyOiBmYWxzZSxcclxuICAgICAgbnVsbFRvRW1wdHlTdHJpbmc6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgaGVhZGVyQ1NWID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIGhlYWRlckNTVltjb2x1bW4uZmllbGRdID0gY29sdW1uLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyQ3N2KFsuLi5baGVhZGVyQ1NWXSwgLi4uaXRlbXNdLCBgJHtmaWxlTmFtZSB8fCAnQ1NWJ31fJHtEYXRlLnRvRm9ybWF0KG5ldyBEYXRlKCksICd5eXl5LU1NLWRkLUhILW1tLXNzJyl9YCwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAjYmxvYlRvU2F2ZUFzID0gKGJsb2I6IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcgPSAnRXhwb3J0JykgPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUucmVwbGFjZSgvLnhsc3gvaSwgJycpO1xyXG4gICAgICBpZiAobGluay5kb3dubG9hZCAhPT0gdW5kZWZpbmVkKSB7IC8vIGZlYXR1cmUgZGV0ZWN0aW9uXHJcbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB1cmwpO1xyXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGAke2ZpbGVOYW1lfV8ke25ldyBEYXRlKCkudG9Gb3JtYXQoJ3l5eXlfTU1fZGRfSEhfbW0nKX1gKTtcclxuICAgICAgICBsaW5rLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgIGxpbmsuY2xpY2soKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jsb2JUb1NhdmVBcyBlcnJvcicsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRXhwb3J0SW5mbyB7XHJcbiAgZGF0YTogYW55W107XHJcbiAgc2hlZXROYW1lPzogc3RyaW5nO1xyXG4gIGZpbGVOYW1lPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9leHBvcnQvIiwic291cmNlcyI6WyJzcmMvbGliL2V4cG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxLQUFLLElBQUksTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlELE9BQU8sRUFBd0MsYUFBYSxFQUFpQixHQUFHLEVBQWdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUsxRCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUNVLFVBQXdCLEVBQ3hCLGFBQThCLEVBQ0ssYUFBbUM7UUFGdEUsZUFBVSxHQUFWLFVBQVUsQ0FBYztRQUN4QixrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7UUFDSyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUF1QmhGLHFCQUFhLENBQUMsR0FBVyxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQzFDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDdEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDNUIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixPQUFPLFFBQVEsSUFBSSxDQUFDLE1BQU0s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QyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUE7SUFqTUQsQ0FBQztJQVBELElBQUksZ0JBQWdCOztRQUNsQixPQUFPLENBQUMsUUFBQyxJQUFJLENBQUMsYUFBYSwwQ0FBRSxXQUFXLENBQUEsQ0FBQztJQUMzQyxDQUFDO0lBT0QsSUFBWSxNQUFNO1FBQ2hCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3RDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVEsRUFBRTtZQUNoQyxPQUFPLE1BQU0sQ0FBQztTQUNmO1FBQ0QsT0FBTyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBWSxVQUFVO1FBQ3BCLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3BDLElBQUksRUFBQyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxDQUFBLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLEVBQUU7WUFDaEMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELE9BQU8sTUFBTSxFQUFFLENBQUM7SUFDbEIsQ0FBQzs7Ozs7WUEvQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFUUSxZQUFZO1lBS1osZUFBZTs0Q0FZbkIsTUFBTSxTQUFDLGFBQWEsY0FBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNkQXBpU2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvYXBpJztcclxuaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcclxuaW1wb3J0ICogYXMgaGFzaCBmcm9tICdvYmplY3QtaGFzaCc7XHJcbmltcG9ydCB7IEFuZ3VsYXJDc3YgfSBmcm9tICdhbmd1bGFyLWNzdi1leHQvZGlzdC9Bbmd1bGFyLWNzdic7XHJcbmltcG9ydCB7IEV4cG9ydFRlbXBsYXRlLCBJRXhwb3J0Q29uZmlndXJhdGlvbiwgRVhQT1JUX0NPTkZJRywgSUV4cG9ydE9wdGlvbiwgQVBJLCBTZEV4cG9ydEZpbGUgfSBmcm9tICcuL2V4cG9ydC5tb2RlbCc7XHJcbmltcG9ydCB7IFNkTm90aWZ5U2VydmljZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvbm90aWZ5JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkRXhwb3J0U2VydmljZSB7XHJcbiAgZ2V0IGhhc0NvbmZpZ3VyYXRpb24oKSB7XHJcbiAgICByZXR1cm4gISF0aGlzLmNvbmZpZ3VyYXRpb24/LmZpcmViYXNlVXJsO1xyXG4gIH1cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXBpU2VydmljZTogU2RBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBub3RpZnlTZXJ2aWNlOiBTZE5vdGlmeVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KEVYUE9SVF9DT05GSUcpIEBPcHRpb25hbCgpIHByaXZhdGUgY29uZmlndXJhdGlvbjogSUV4cG9ydENvbmZpZ3VyYXRpb24pIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IGZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9sZGVyIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICBpZiAodHlwZW9mIChmb2xkZXIpID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZm9sZGVyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgdXNlckZvbGRlcigpIHtcclxuICAgIGNvbnN0IHsgdXNlciB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgaWYgKCF1c2VyPy5mb2xkZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBmb2xkZXIgfSA9IHVzZXI7XHJcbiAgICBpZiAodHlwZW9mIChmb2xkZXIpID09PSAnc3RyaW5nJykge1xyXG4gICAgICByZXR1cm4gZm9sZGVyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZvbGRlcigpO1xyXG4gIH1cclxuXHJcbiAgI2RpcmVjdG9yeSA9IChrZXk6IHN0cmluZywgZ3JvdXA6IHN0cmluZykgPT4ge1xyXG4gICAgbGV0IGhhc2hlZEZvbGRlciA9IGhhc2goe1xyXG4gICAgICBmb2xkZXI6IHRoaXMuZm9sZGVyLFxyXG4gICAgICB1c2VyRm9sZGVyOiB0aGlzLnVzZXJGb2xkZXJcclxuICAgIH0pO1xyXG4gICAgaWYgKCFncm91cCkge1xyXG4gICAgICByZXR1cm4gYGRpcjE9JHt0aGlzLmZvbGRlcn0mZGlyMj1VLSR7aGFzaGVkRm9sZGVyfSZkaXIzPSR7a2V5IHx8ICcnfWA7XHJcbiAgICB9XHJcbiAgICBoYXNoZWRGb2xkZXIgPSBoYXNoKHtcclxuICAgICAgZm9sZGVyOiB0aGlzLmZvbGRlcixcclxuICAgICAgZ3JvdXBcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGBkaXIxPSR7dGhpcy5mb2xkZXJ9JmRpcjI9Ry0ke2hhc2hlZEZvbGRlcn0mZGlyMz0ke2tleSB8fCAnJ31gO1xyXG4gIH1cclxuXHJcbiAgZ2VuZXJhdGVUZW1wbGF0ZSA9IGFzeW5jICh0ZW1wbGF0ZTogRXhwb3J0VGVtcGxhdGUpID0+IHtcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgZ2VuZXJhdGVUZW1wbGF0ZSB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtnZW5lcmF0ZVRlbXBsYXRlfWA7XHJcbiAgICBjb25zdCB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9ID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCB0ZW1wbGF0ZSk7XHJcbiAgICByZXR1cm4geyBmaWxlUGF0aCwgZmlsZU5hbWUgfTtcclxuICB9XHJcblxyXG4gIHVwbG9hZFRlbXBsYXRlID0gYXN5bmMgKGFyZ3M6IHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgICB2YWxpZGF0b3I/OiAoZmlsZU5hbWU6IHN0cmluZykgPT4gc3RyaW5nXHJcbiAgfSk6IFByb21pc2U8U2RFeHBvcnRGaWxlPiA9PiB7XHJcbiAgICBjb25zdCB7IGtleSwgZ3JvdXAsIHZhbGlkYXRvciB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgdXBsb2FkVGVtcGxhdGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke2ZpcmViYXNlVXJsfSR7dXBsb2FkVGVtcGxhdGV9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9ID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnVwbG9hZFNpbmdsZSh1cmwsIHtcclxuICAgICAgZXh0ZW5zaW9uczogWyd4bHN4J10sXHJcbiAgICAgIG1heFNpemVJbk1iOiAwLjEsXHJcbiAgICAgIHZhbGlkYXRvclxyXG4gICAgfSkuY2F0Y2goKGVycjogRXJyb3IpID0+IHtcclxuICAgICAgdGhpcy5ub3RpZnlTZXJ2aWNlLm5vdGlmeS53YXJuaW5nKGVycj8ubWVzc2FnZSk7XHJcbiAgICAgIHRocm93IGVycjtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZmlsZVBhdGgsXHJcbiAgICAgIGZpbGVOYW1lLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlVXBsb2FkVGVtcGxhdGUgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB0ZW1wbGF0ZTogRXhwb3J0VGVtcGxhdGU7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICB9KSA9PiB7XHJcbiAgICBjb25zdCB7IGtleSwgdGVtcGxhdGUsIGdyb3VwIH0gPSBhcmdzO1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyBnZW5lcmF0ZVVwbG9hZFRlbXBsYXRlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtmaXJlYmFzZVVybH0ke2dlbmVyYXRlVXBsb2FkVGVtcGxhdGV9PyR7dGhpcy4jZGlyZWN0b3J5KGtleSwgZ3JvdXApfWA7XHJcbiAgICBjb25zdCB7IGZpbGVQYXRoLCBmaWxlTmFtZSB9ID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCB0ZW1wbGF0ZSk7XHJcbiAgICByZXR1cm4geyBmaWxlUGF0aCwgZmlsZU5hbWUgfTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUZpbGUgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICAgIGZpbGVOYW1lPzogc3RyaW5nO1xyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsga2V5LCBncm91cCwgZmlsZU5hbWUgfSA9IGFyZ3M7XHJcbiAgICBjb25zdCB7IGZpcmViYXNlVXJsIH0gPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICBjb25zdCB7IHJlbW92ZUZpbGUgfSA9IEFQSTtcclxuICAgIGNvbnN0IHVybCA9IGAke2ZpcmViYXNlVXJsfSR7cmVtb3ZlRmlsZX0/JHt0aGlzLiNkaXJlY3Rvcnkoa2V5LCBncm91cCl9Jm5hbWU9JHtmaWxlTmFtZX1gO1xyXG4gICAgYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsKTtcclxuICB9XHJcblxyXG4gIGZpbGVzSW5Gb2xkZXIgPSBhc3luYyAoYXJnczoge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBncm91cD86IHN0cmluZztcclxuICB9KTogUHJvbWlzZTxTZEV4cG9ydEZpbGVbXT4gPT4ge1xyXG4gICAgaW50ZXJmYWNlIEZpbGVzSW5Gb2xkZXJSZXMge1xyXG4gICAgICBkaXJlY3Rvcnk6IHN0cmluZztcclxuICAgICAgZmlsZXM6IHtcclxuICAgICAgICBwdWJsaWNVcmw6IHN0cmluZywgZnVsbFBhdGg6IHN0cmluZywgbmFtZTogc3RyaW5nXHJcbiAgICAgIH1bXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsga2V5LCBncm91cCB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgZmlsZXNJbkZvbGRlciB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtmaWxlc0luRm9sZGVyfT8ke3RoaXMuI2RpcmVjdG9yeShrZXksIGdyb3VwKX1gO1xyXG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLmdldDxGaWxlc0luRm9sZGVyUmVzPih1cmwpO1xyXG4gICAgcmV0dXJuIHJlcy5maWxlcz8ubWFwKGUgPT4gKHtcclxuICAgICAgZmlsZVBhdGg6IGUucHVibGljVXJsLFxyXG4gICAgICBmaWxlTmFtZTogZS5uYW1lXHJcbiAgICB9KSkgfHwgW107XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZCA9IChmaWxlUGF0aDogc3RyaW5nLCBmaWxlTmFtZT86IHN0cmluZykgPT4ge1xyXG4gICAgY29uc3QgbGluazogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgbGluay5kb3dubG9hZCA9IGAke2ZpbGVOYW1lIHx8IHV1aWQudjQoKX0ueGxzeGA7XHJcbiAgICBsaW5rLmhyZWYgPSBmaWxlUGF0aDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XHJcbiAgICBsaW5rLmNsaWNrKCk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0QnlUZW1wbGF0ZSA9IGFzeW5jIChhcmdzOiB7XHJcbiAgICBmaWxlUGF0aDogc3RyaW5nLFxyXG4gICAgY29sdW1uczogYW55W10sXHJcbiAgICBpdGVtczogYW55W10sXHJcbiAgICBmaWxlTmFtZT86IHN0cmluZ1xyXG4gIH0pID0+IHtcclxuICAgIGNvbnN0IHsgZmlsZVBhdGgsIGNvbHVtbnMsIGl0ZW1zLCBmaWxlTmFtZSB9ID0gYXJncztcclxuICAgIGNvbnN0IHsgZmlyZWJhc2VVcmwgfSA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgIGNvbnN0IHsgc2RFeHBvcnRCeVRlbXBsYXRlIH0gPSBBUEk7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtmaXJlYmFzZVVybH0ke3NkRXhwb3J0QnlUZW1wbGF0ZX1gO1xyXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCB7XHJcbiAgICAgIGZpbGVQYXRoLFxyXG4gICAgICBjb2x1bW5zLFxyXG4gICAgICBpdGVtcyxcclxuICAgICAgZmlsZU5hbWVcclxuICAgIH0sIG51bGwsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7YmFzZTY0LCcgfSk7XHJcbiAgICB0aGlzLiNibG9iVG9TYXZlQXMoYmxvYiwgZmlsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0ID0gYXN5bmMgKG9wdGlvbjogSUV4cG9ydE9wdGlvbikgPT4ge1xyXG4gICAgY29uc3QgeyBmaXJlYmFzZVVybCB9ID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgY29uc3QgeyBzZEV4cG9ydCB9ID0gQVBJO1xyXG4gICAgY29uc3QgdXJsID0gYCR7ZmlyZWJhc2VVcmx9JHtzZEV4cG9ydH1gO1xyXG4gICAgY29uc3QgYnVmZmVyID0gYXdhaXQgdGhpcy5hcGlTZXJ2aWNlLnBvc3QodXJsLCBvcHRpb24sIG51bGwsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwgeyB0eXBlOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7YmFzZTY0LCcgfSk7XHJcbiAgICB0aGlzLiNibG9iVG9TYXZlQXMoYmxvYiwgb3B0aW9uPy5maWxlTmFtZSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRDU1YgPSBhc3luYyAob3B0aW9uOiBJRXhwb3J0T3B0aW9uKSA9PiB7XHJcbiAgICBjb25zdCB7IGNvbHVtbnMsIGl0ZW1zLCBmaWxlTmFtZSB9ID0gb3B0aW9uO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcclxuICAgICAgZmllbGRTZXBhcmF0b3I6ICcsJyxcclxuICAgICAgcXVvdGVTdHJpbmdzOiAnXCInLFxyXG4gICAgICBkZWNpbWFsc2VwYXJhdG9yOiAnLicsXHJcbiAgICAgIHNob3dMYWJlbHM6IHRydWUsXHJcbiAgICAgIHNob3dUaXRsZTogZmFsc2UsXHJcbiAgICAgIHRpdGxlOiBmaWxlTmFtZSB8fCAnQ1NWJyxcclxuICAgICAgdXNlQm9tOiB0cnVlLFxyXG4gICAgICBub0Rvd25sb2FkOiBmYWxzZSxcclxuICAgICAgdXNlSGVhZGVyOiBmYWxzZSxcclxuICAgICAgbnVsbFRvRW1wdHlTdHJpbmc6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgaGVhZGVyQ1NWID0ge307XHJcbiAgICBmb3IgKGNvbnN0IGNvbHVtbiBvZiBjb2x1bW5zKSB7XHJcbiAgICAgIGhlYWRlckNTVltjb2x1bW4uZmllbGRdID0gY29sdW1uLnRpdGxlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ldyBBbmd1bGFyQ3N2KFsuLi5baGVhZGVyQ1NWXSwgLi4uaXRlbXNdLCBgJHtmaWxlTmFtZSB8fCAnQ1NWJ31fJHtEYXRlLnRvRm9ybWF0KG5ldyBEYXRlKCksICd5eXl5LU1NLWRkLUhILW1tLXNzJyl9YCwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAjYmxvYlRvU2F2ZUFzID0gKGJsb2I6IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcgPSAnRXhwb3J0JykgPT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgIGZpbGVOYW1lID0gZmlsZU5hbWUucmVwbGFjZSgvLnhsc3gvaSwgJycpO1xyXG4gICAgICBpZiAobGluay5kb3dubG9hZCAhPT0gdW5kZWZpbmVkKSB7IC8vIGZlYXR1cmUgZGV0ZWN0aW9uXHJcbiAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB1cmwpO1xyXG4gICAgICAgIGxpbmsuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGAke2ZpbGVOYW1lfV8ke25ldyBEYXRlKCkudG9Gb3JtYXQoJ3l5eXlfTU1fZGRfSEhfbW0nKX1gKTtcclxuICAgICAgICBsaW5rLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xyXG4gICAgICAgIGxpbmsuY2xpY2soKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGxpbmspO1xyXG4gICAgICB9XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Jsb2JUb1NhdmVBcyBlcnJvcicsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJRXhwb3J0SW5mbyB7XHJcbiAgZGF0YTogYW55W107XHJcbiAgc2hlZXROYW1lPzogc3RyaW5nO1xyXG4gIGZpbGVOYW1lPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,3 @@
1
+ import '@sd-angular/core/common';
1
2
  export * from './lib/form.module';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2Zvcm0vIiwic291cmNlcyI6WyJzcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS5tb2R1bGUnO1xyXG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2Zvcm0vIiwic291cmNlcyI6WyJzcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvY29tbW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS5tb2R1bGUnO1xyXG4iXX0=
@@ -3,7 +3,6 @@ import $ from 'jquery';
3
3
  import 'jquery-datetimepicker';
4
4
  import { DeviceDetectorService } from 'ngx-device-detector';
5
5
  // Document: https://xdsoft.net/jqplugins/datetimepicker/
6
- import '@sd-angular/core/typing';
7
6
  export class GridDatePickerControlComponent {
8
7
  constructor(ref, deviceService) {
9
8
  this.ref = ref;
@@ -112,4 +111,4 @@ GridDatePickerControlComponent.propDecorators = {
112
111
  modelChange: [{ type: Output }],
113
112
  control: [{ type: ViewChild, args: ['control',] }]
114
113
  };
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1kYXRlLXBpY2tlci1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQvIiwic291cmNlcyI6WyJzcmMvbGliL2NvbXBvbmVudHMvZ3JpZC1kYXRlLXBpY2tlci1jb250cm9sL2dyaWQtZGF0ZS1waWNrZXItY29udHJvbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXhJLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELHlEQUF5RDtBQUN6RCxPQUFPLHlCQUF5QixDQUFDO0FBT2pDLE1BQU0sT0FBTyw4QkFBOEI7SUE0QnpDLFlBQ1UsR0FBc0IsRUFDOUIsYUFBb0M7UUFENUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUEzQnhCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRW5CLFNBQUksR0FBaUMsVUFBVSxDQUFDO1FBQy9DLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBb0I5QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFrQjNDLFlBQU8sR0FBRyxHQUFHLEVBQUU7WUFDYixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQy9DO1FBQ0gsQ0FBQyxDQUFBO1FBRU8sY0FBUyxHQUFHLEdBQUcsRUFBRTtZQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsQ0FBQyxDQUFBO1FBcEJDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBeEJELElBQWEsS0FBSyxDQUFDLEdBQVE7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7U0FDbkI7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsQ0FBQzthQUNyRDtpQkFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO2FBQy9DO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDMUM7U0FDRjtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFVRCxRQUFRO0lBQ1IsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFZTyxTQUFTO1FBQ2YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25CLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBUyxDQUFDLGNBQWMsQ0FBQztnQkFDcEQsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTTtnQkFDNUQsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTTtnQkFDNUQsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUN6RixJQUFJLEVBQUUsRUFBRTtnQkFDUixXQUFXLEVBQUUsS0FBSztnQkFDbEIsVUFBVSxFQUFFLEtBQUs7Z0JBQ2pCLFdBQVcsRUFBRSxLQUFLO2dCQUNsQixnQkFBZ0IsRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO29CQUM5QixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTt3QkFDdkIsT0FBTztxQkFDUjtvQkFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO3dCQUM1QixJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztxQkFDaEQ7eUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTt3QkFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3FCQUNyQzt5QkFBTTt3QkFDTCxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7cUJBQzFDO29CQUNELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7cUJBQ3RDO29CQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzNCLENBQUM7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsSUFBUztRQUNyQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDM0M7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdEM7UUFDRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNPLEtBQUssQ0FBQyxLQUFVLEVBQUUsS0FBVTtRQUNsQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQzs7O1lBcEdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNkJBQTZCO2dCQUN2QywwUUFBd0Q7O2FBRXpEOzs7WUFaK0UsaUJBQWlCO1lBSXhGLHFCQUFxQjs7O21CQWEzQixLQUFLO3VCQUNMLE1BQU07b0JBR04sS0FBSzswQkFpQkwsTUFBTTtzQkFFTixTQUFTLFNBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIElucHV0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCAnanF1ZXJ5LWRhdGV0aW1lcGlja2VyJztcclxuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSAnbmd4LWRldmljZS1kZXRlY3Rvcic7XHJcbi8vIERvY3VtZW50OiBodHRwczovL3hkc29mdC5uZXQvanFwbHVnaW5zL2RhdGV0aW1lcGlja2VyL1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvdHlwaW5nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2QtZ3JpZC1kYXRlLXBpY2tlci1jb250cm9sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC1kYXRlLXBpY2tlci1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ncmlkLWRhdGUtcGlja2VyLWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JpZERhdGVQaWNrZXJDb250cm9sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIGlzTW9iaWxlT3JUYWJsZXQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgcERhdGU6IGFueTtcclxuICBASW5wdXQoKSB0eXBlOiAnZGF0ZXRpbWUnIHwgJ2RhdGUnIHwgJ3RpbWUnID0gJ2RhdGV0aW1lJztcclxuICBAT3V0cHV0KCkgc2RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZGF0ZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsOiBhbnkpIHtcclxuICAgIGlmICghRGF0ZS5pc0RhdGUodmFsKSkge1xyXG4gICAgICB0aGlzLnBEYXRlID0gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdkYXRldGltZScpIHtcclxuICAgICAgICB0aGlzLnBEYXRlID0gRGF0ZS50b0Zvcm1hdCh2YWwsICdkZC9NTS95eXl5IEhIOm1tJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZScpIHtcclxuICAgICAgICB0aGlzLnBEYXRlID0gRGF0ZS50b0Zvcm1hdCh2YWwsICdkZC9NTS95eXl5Jyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wRGF0ZSA9IERhdGUudG9Gb3JtYXQodmFsLCAnSEg6bW0nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250cm9sJykgY29udHJvbDogRWxlbWVudFJlZjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSkge1xyXG4gICAgdGhpcy5pc01vYmlsZU9yVGFibGV0ID0gIWRldmljZVNlcnZpY2UuaXNEZXNrdG9wKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMub25DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2V0T3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuaXNNb2JpbGVPclRhYmxldCkge1xyXG4gICAgICAkKHRoaXMuY29udHJvbC5uYXRpdmVFbGVtZW50KS50cmlnZ2VyKCdibHVyJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlcyA9ICgpID0+IHtcclxuICAgIHRoaXMuZGF0ZSA9IHRoaXMucERhdGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE9wdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcbiAgICAgICgkKHRoaXMuY29udHJvbC5uYXRpdmVFbGVtZW50KSBhcyBhbnkpLmRhdGV0aW1lcGlja2VyKHtcclxuICAgICAgICBkYXRlcGlja2VyOiB0aGlzLnR5cGUgPT09ICdkYXRldGltZScgfHwgdGhpcy50eXBlID09PSAnZGF0ZScsXHJcbiAgICAgICAgdGltZXBpY2tlcjogdGhpcy50eXBlID09PSAnZGF0ZXRpbWUnIHx8IHRoaXMudHlwZSA9PT0gJ3RpbWUnLFxyXG4gICAgICAgIGZvcm1hdDogdGhpcy50eXBlID09PSAnZGF0ZXRpbWUnID8gJ2QvbS9ZIEg6aScgOiAodGhpcy50eXBlID09PSAnZGF0ZScgPyAnZC9tL1knIDogJ0g6aScpLFxyXG4gICAgICAgIHN0ZXA6IDE1LFxyXG4gICAgICAgIHNjcm9sbE1vbnRoOiBmYWxzZSxcclxuICAgICAgICBzY3JvbGxUaW1lOiBmYWxzZSxcclxuICAgICAgICBzY3JvbGxJbnB1dDogZmFsc2UsXHJcbiAgICAgICAgb25DaGFuZ2VEYXRlVGltZTogKGRhdGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCFkYXRlICYmICF0aGlzLmRhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGV0aW1lJykge1xyXG4gICAgICAgICAgICBkYXRlID0gRGF0ZS50b0Zvcm1hdChkYXRlLCAnZGQvTU0veXl5eSBISDptbScpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd0aW1lJykge1xyXG4gICAgICAgICAgICBkYXRlID0gRGF0ZS50b0Zvcm1hdChkYXRlLCAnSEg6bW0nKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGRhdGUgPSBEYXRlLnRvRm9ybWF0KGRhdGUsICdkZC9NTS95eXl5Jyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoIXRoaXMuZXF1YWwoZGF0ZSwgdGhpcy5kYXRlKSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsID0gdGhpcy5wYXJzZShkYXRlKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMucGFyc2UoZGF0ZSkpO1xyXG4gICAgICAgICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodGhpcy5wYXJzZShkYXRlKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2UoZGF0ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnZGF0ZScpIHtcclxuICAgICAgcmV0dXJuIERhdGUucGFyc2VGcm9tKGRhdGUsICdkZC9NTS95eXl5Jyk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3RpbWUnKSB7XHJcbiAgICAgIHJldHVybiBEYXRlLnBhcnNlRnJvbShkYXRlLCAnSEg6bW0nKTtcclxuICAgIH1cclxuICAgIHJldHVybiBEYXRlLnBhcnNlRnJvbShkYXRlLCAnZGQvTU0veXl5eSBISDptbScpO1xyXG4gIH1cclxuICBwcml2YXRlIGVxdWFsKGRhdGUxOiBhbnksIGRhdGUyOiBhbnkpIHtcclxuICAgIHJldHVybiBEYXRlLmVxdWFsKHRoaXMucGFyc2UoZGF0ZTEpLCB0aGlzLnBhcnNlKGRhdGUyKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1kYXRlLXBpY2tlci1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJDOi9Vc2Vycy9uZ2hpYXR0MTUvRGVza3RvcC9Xb3JraW5nLzFNRy9saWItY29yZS11aS9wcm9qZWN0cy9zZC1jb3JlL2dyaWQvIiwic291cmNlcyI6WyJzcmMvbGliL2NvbXBvbmVudHMvZ3JpZC1kYXRlLXBpY2tlci1jb250cm9sL2dyaWQtZGF0ZS1waWNrZXItY29udHJvbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQWMsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXhJLE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUN2QixPQUFPLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELHlEQUF5RDtBQU96RCxNQUFNLE9BQU8sOEJBQThCO0lBNEJ6QyxZQUNVLEdBQXNCLEVBQzlCLGFBQW9DO1FBRDVCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBM0J4QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVuQixTQUFJLEdBQWlDLFVBQVUsQ0FBQztRQUMvQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQW9COUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBa0IzQyxZQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ2IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUMvQztRQUNILENBQUMsQ0FBQTtRQUVPLGNBQVMsR0FBRyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLENBQUMsQ0FBQTtRQXBCQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQXhCRCxJQUFhLEtBQUssQ0FBQyxHQUFRO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ25CO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO2dCQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDLENBQUM7YUFDckQ7aUJBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtnQkFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQzthQUMvQztpQkFBTTtnQkFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQzFDO1NBQ0Y7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBVUQsUUFBUTtJQUNSLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBWU8sU0FBUztRQUNmLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNuQixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQVMsQ0FBQyxjQUFjLENBQUM7Z0JBQ3BELFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07Z0JBQzVELFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07Z0JBQzVELE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDekYsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixXQUFXLEVBQUUsS0FBSztnQkFDbEIsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7d0JBQ3ZCLE9BQU87cUJBQ1I7b0JBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTt3QkFDNUIsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGtCQUFrQixDQUFDLENBQUM7cUJBQ2hEO3lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7d0JBQy9CLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDckM7eUJBQU07d0JBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO3FCQUMxQztvQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO3dCQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3FCQUN0QztvQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUMzQixDQUFDO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLElBQVM7UUFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQzNDO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDTyxLQUFLLENBQUMsS0FBVSxFQUFFLEtBQVU7UUFDbEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7OztZQXBHRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsMFFBQXdEOzthQUV6RDs7O1lBWCtFLGlCQUFpQjtZQUl4RixxQkFBcUI7OzttQkFZM0IsS0FBSzt1QkFDTCxNQUFNO29CQUdOLEtBQUs7MEJBaUJMLE1BQU07c0JBRU4sU0FBUyxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIENoYW5nZURldGVjdG9yUmVmLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgJCBmcm9tICdqcXVlcnknO1xyXG5pbXBvcnQgJ2pxdWVyeS1kYXRldGltZXBpY2tlcic7XHJcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gJ25neC1kZXZpY2UtZGV0ZWN0b3InO1xyXG4vLyBEb2N1bWVudDogaHR0cHM6Ly94ZHNvZnQubmV0L2pxcGx1Z2lucy9kYXRldGltZXBpY2tlci9cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2QtZ3JpZC1kYXRlLXBpY2tlci1jb250cm9sJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ3JpZC1kYXRlLXBpY2tlci1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ncmlkLWRhdGUtcGlja2VyLWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JpZERhdGVQaWNrZXJDb250cm9sQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwcml2YXRlIGlzTW9iaWxlT3JUYWJsZXQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBpbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgcERhdGU6IGFueTtcclxuICBASW5wdXQoKSB0eXBlOiAnZGF0ZXRpbWUnIHwgJ2RhdGUnIHwgJ3RpbWUnID0gJ2RhdGV0aW1lJztcclxuICBAT3V0cHV0KCkgc2RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZGF0ZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBzZXQgbW9kZWwodmFsOiBhbnkpIHtcclxuICAgIGlmICghRGF0ZS5pc0RhdGUodmFsKSkge1xyXG4gICAgICB0aGlzLnBEYXRlID0gbnVsbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdkYXRldGltZScpIHtcclxuICAgICAgICB0aGlzLnBEYXRlID0gRGF0ZS50b0Zvcm1hdCh2YWwsICdkZC9NTS95eXl5IEhIOm1tJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnZGF0ZScpIHtcclxuICAgICAgICB0aGlzLnBEYXRlID0gRGF0ZS50b0Zvcm1hdCh2YWwsICdkZC9NTS95eXl5Jyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wRGF0ZSA9IERhdGUudG9Gb3JtYXQodmFsLCAnSEg6bW0nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZXMoKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgQE91dHB1dCgpIG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCdjb250cm9sJykgY29udHJvbDogRWxlbWVudFJlZjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSkge1xyXG4gICAgdGhpcy5pc01vYmlsZU9yVGFibGV0ID0gIWRldmljZVNlcnZpY2UuaXNEZXNrdG9wKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMub25DaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgIHRoaXMuc2V0T3B0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzID0gKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuaXNNb2JpbGVPclRhYmxldCkge1xyXG4gICAgICAkKHRoaXMuY29udHJvbC5uYXRpdmVFbGVtZW50KS50cmlnZ2VyKCdibHVyJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlcyA9ICgpID0+IHtcclxuICAgIHRoaXMuZGF0ZSA9IHRoaXMucERhdGU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE9wdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcbiAgICAgICgkKHRoaXMuY29udHJvbC5uYXRpdmVFbGVtZW50KSBhcyBhbnkpLmRhdGV0aW1lcGlja2VyKHtcclxuICAgICAgICBkYXRlcGlja2VyOiB0aGlzLnR5cGUgPT09ICdkYXRldGltZScgfHwgdGhpcy50eXBlID09PSAnZGF0ZScsXHJcbiAgICAgICAgdGltZXBpY2tlcjogdGhpcy50eXBlID09PSAnZGF0ZXRpbWUnIHx8IHRoaXMudHlwZSA9PT0gJ3RpbWUnLFxyXG4gICAgICAgIGZvcm1hdDogdGhpcy50eXBlID09PSAnZGF0ZXRpbWUnID8gJ2QvbS9ZIEg6aScgOiAodGhpcy50eXBlID09PSAnZGF0ZScgPyAnZC9tL1knIDogJ0g6aScpLFxyXG4gICAgICAgIHN0ZXA6IDE1LFxyXG4gICAgICAgIHNjcm9sbE1vbnRoOiBmYWxzZSxcclxuICAgICAgICBzY3JvbGxUaW1lOiBmYWxzZSxcclxuICAgICAgICBzY3JvbGxJbnB1dDogZmFsc2UsXHJcbiAgICAgICAgb25DaGFuZ2VEYXRlVGltZTogKGRhdGU6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCFkYXRlICYmICF0aGlzLmRhdGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGV0aW1lJykge1xyXG4gICAgICAgICAgICBkYXRlID0gRGF0ZS50b0Zvcm1hdChkYXRlLCAnZGQvTU0veXl5eSBISDptbScpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd0aW1lJykge1xyXG4gICAgICAgICAgICBkYXRlID0gRGF0ZS50b0Zvcm1hdChkYXRlLCAnSEg6bW0nKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGRhdGUgPSBEYXRlLnRvRm9ybWF0KGRhdGUsICdkZC9NTS95eXl5Jyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoIXRoaXMuZXF1YWwoZGF0ZSwgdGhpcy5kYXRlKSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsID0gdGhpcy5wYXJzZShkYXRlKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMucGFyc2UoZGF0ZSkpO1xyXG4gICAgICAgICAgICB0aGlzLnNkQ2hhbmdlLmVtaXQodGhpcy5wYXJzZShkYXRlKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2UoZGF0ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSAnZGF0ZScpIHtcclxuICAgICAgcmV0dXJuIERhdGUucGFyc2VGcm9tKGRhdGUsICdkZC9NTS95eXl5Jyk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ3RpbWUnKSB7XHJcbiAgICAgIHJldHVybiBEYXRlLnBhcnNlRnJvbShkYXRlLCAnSEg6bW0nKTtcclxuICAgIH1cclxuICAgIHJldHVybiBEYXRlLnBhcnNlRnJvbShkYXRlLCAnZGQvTU0veXl5eSBISDptbScpO1xyXG4gIH1cclxuICBwcml2YXRlIGVxdWFsKGRhdGUxOiBhbnksIGRhdGUyOiBhbnkpIHtcclxuICAgIHJldHVybiBEYXRlLmVxdWFsKHRoaXMucGFyc2UoZGF0ZTEpLCB0aGlzLnBhcnNlKGRhdGUyKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -4,7 +4,6 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { MatFormFieldModule } from '@angular/material/form-field';
5
5
  import { MatIconModule } from '@angular/material/icon';
6
6
  import { MatInputModule } from '@angular/material/input';
7
- import '@sd-angular/core/typing';
8
7
  import { MatPaginatorModule } from '@angular/material/paginator';
9
8
  import { MatTableModule } from '@angular/material/table';
10
9
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
@@ -141,4 +140,4 @@ SdGridModule.decorators = [
141
140
  ]
142
141
  },] }
143
142
  ];
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLyIsInNvdXJjZXMiOlsic3JjL2xpYi9ncmlkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxN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QXFCO29CQUNyQixpQkFBaUI7b0JBQ2pCLCtCQUErQjtvQkFDL0Isa0JBQWtCO29CQUNsQixnQkFBZ0I7b0JBQ2hCLHVCQUF1QjtvQkFDdkIsMEJBQTBCO29CQUMxQixrQkFBa0I7b0JBQ2xCLHNCQUFzQjtvQkFFdEIsa0JBQWtCO29CQUNsQix3QkFBd0I7b0JBQ3hCLHdCQUF3QjtvQkFDeEIsdUJBQXVCO2lCQUN4QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsTUFBTTtvQkFDTixrQkFBa0I7b0JBQ2xCLHdCQUF3QjtvQkFDeEIsd0JBQXdCO29CQUN4Qix1QkFBdUI7aUJBQ3hCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxZQUFZO29CQUNaLGFBQWE7b0JBQ2IsaUJBQWlCO2lCQUNsQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgJ0BzZC1hbmd1bGFyL2NvcmUvdHlwaW5nJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFNkU2VydmljZU1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IFNkR3JpZCB9IGZyb20gJy4vZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZER5bmFtaWNJdGVtcyB9IGZyb20gJy4vcGlwZXMvZHluYW1pYy1pdGVtcy5waXBlJztcclxuaW1wb3J0IHsgU2RHcmlkQ29uZmlnIH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtY29uZmlnL2dyaWQtY29uZmlnLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkR3JpZERlc2t0b3BDb2x1bW5FZGl0IH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtZGVza3RvcC1jb2x1bW4tZWRpdC9ncmlkLWRlc2t0b3AtY29sdW1uLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHcmlkRGVza3RvcENvbHVtblZpZXcgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1kZXNrdG9wLWNvbHVtbi12aWV3L2dyaWQtZGVza3RvcC1jb2x1bW4tdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEdyaWREZXNrdG9wSW5saW5lRmlsdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtZGVza3RvcC1pbmxpbmUtZmlsdGVyL2dyaWQtZGVza3RvcC1pbmxpbmUtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkR3JpZE1vYmlsZUl0ZW1WaWV3IH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtbW9iaWxlLWl0ZW0tdmlldy9ncmlkLW1vYmlsZS1pdGVtLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHcmlkUG9wdXBFZGl0b3IgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1wb3B1cC1lZGl0b3IvZ3JpZC1wb3B1cC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHcmlkUG9wdXBFeHBvcnRFeGNlbCB9IGZyb20gJy4vY29tcG9uZW50cy9ncmlkLXBvcHVwLWV4cG9ydC1leGNlbC9ncmlkLXBvcHVwLWV4cG9ydC1leGNlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEdyaWRQb3B1cEZpbHRlciB9IGZyb20gJy4vY29tcG9uZW50cy9ncmlkLXBvcHVwLWZpbHRlci9ncmlkLXBvcHVwLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEdyaWRQb3B1cFF1aWNrRmlsdGVyRGV0YWlsIH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtcG9wdXAtcXVpY2stZmlsdGVyLWRldGFpbC9ncmlkLXBvcHVwLXF1aWNrLWZpbHRlci1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHcmlkU3ViSW5mb3JtYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1zdWItaW5mb3JtYXRpb24vZ3JpZC1zdWItaW5mb3JtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgR3JpZERhdGVQaWNrZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtZGF0ZS1waWNrZXItY29udHJvbC9ncmlkLWRhdGUtcGlja2VyLWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR3JpZERlc2t0b3BDb2x1bW5DaGlsZHJlblZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1kZXNrdG9wLWNvbHVtbi1jaGlsZHJlbi12aWV3L2dyaWQtZGVza3RvcC1jb2x1bW4tY2hpbGRyZW4tdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgQ2VsbERlc2t0b3BDbGFzc05hbWVQaXBlIH0gZnJvbSAnLi9waXBlcy9jZWxsLWRlc2t0b3AtY2xhc3MtbmFtZS5waXBlJztcclxuaW1wb3J0IHsgQ2VsbE1vYmlsZUNsYXNzTmFtZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NlbGwtbW9iaWxlLWNsYXNzLW5hbWUucGlwZSc7XHJcbmltcG9ydCB7IENvbHVtbkNvbW1hbmRGaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4tY29tbWFuZC1maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IENvbHVtbkh0bWxUZW1wbGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbHVtbi1odG1sLXRlbXBsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBDb2x1bW5UaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbHVtbi10aXRsZS5waXBlJztcclxuaW1wb3J0IHsgQ29sdW1uVmFsdWVzUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXZhbHVlcy5waXBlJztcclxuaW1wb3J0IHsgQ29tbWFuZERpc2FibGVkUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC1kaXNhYmxlZC5waXBlJztcclxuaW1wb3J0IHsgQ29tbWFuZEZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBDb21tYW5kSGlkZGVuIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLWhpZGRlbi5waXBlJztcclxuaW1wb3J0IHsgQ29tbWFuZEljb25QaXBlIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLWljb24ucGlwZSc7XHJcbmltcG9ydCB7IENvbW1hbmRUaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtdGl0bGUucGlwZSc7XHJcbmltcG9ydCB7IEVkaXRvckR5bmFtaWNJdGVtUGlwZSB9IGZyb20gJy4vcGlwZXMvZWRpdG9yLWR5bmFtaWMtaXRlbS5waXBlJztcclxuaW1wb3J0IHsgRWRpdG9ySGFuZGxlclBpcGUgfSBmcm9tICcuL3BpcGVzL2VkaXRvci1oYW5kbGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBFZGl0b3JTdWJJbmZvcm1hdGlvbkhhbmRsZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9lZGl0b3Itc3ViLWluZm9ybWF0aW9uLWhhbmRsZXIucGlwZSc7XHJcbmltcG9ydCB7IEVkaXRvclZhbGlkYXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvZWRpdG9yLXZhbGlkYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBGaWx0ZXJNb2JpbGVQaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItbW9iaWxlLnBpcGUnO1xyXG5pbXBvcnQgeyBNb2JpbGVDb21tYW5kRmlsdGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvbW9iaWxlLWNvbW1hbmQtZmlsdGVyJztcclxuaW1wb3J0IHsgTW9iaWxlVmlld0h0bWxUZW1wbGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL21vYmlsZS12aWV3LWh0bWwtdGVtcGxhdGUucGlwZSc7XHJcbmltcG9ydCB7IFZhbHVlVHJhbnNmb3JtUGlwZSB9IGZyb20gJy4vcGlwZXMvdmFsdWUtdHJhbnNmb3JtLnBpcGUnO1xyXG5pbXBvcnQgeyBFZGl0b3JQb3B1cFZpc2libGVQaXBlIH0gZnJvbSAnLi9waXBlcy9lZGl0b3ItcG9wdXAtdmlzaWJsZS5waXBlJztcclxuaW1wb3J0IHsgU2RDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NlbGwtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNkQ2VsbEVkaXRvckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jZWxsLWVkaXRvci1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RDZWxsRm9vdGVyRGV2RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NlbGwtZm9vdGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZFN1YkhlYWRlckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zdWItaW5mb3JtYXRpb24taGVhZGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZEdyaWRJbXBvcnRFeGNlbCB9IGZyb20gJy4vY29tcG9uZW50cy9ncmlkLWltcG9ydC1leGNlbC9ncmlkLWltcG9ydC1leGNlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEZvcm1Nb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2Zvcm0nO1xyXG5pbXBvcnQgeyBTZFVwbG9hZEV4Y2VsTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS91cGxvYWQtZXhjZWwnO1xyXG5pbXBvcnQgeyBIYW5kbGVyTG9jYWwgfSBmcm9tICcuL21vZGVscy9oYW5kbGVyLWxvY2FsJztcclxuaW1wb3J0IHsgSGFuZGxlckRvdG5ldCB9IGZyb20gJy4vbW9kZWxzL2hhbmRsZXItZG90bmV0JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgU2RVcGxvYWRFeGNlbE1vZHVsZSxcclxuICAgIFNkRm9ybU1vZHVsZSxcclxuICAgIFNkU2VydmljZU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZEdyaWQsXHJcbiAgICBTZEdyaWRDb25maWcsXHJcbiAgICBTZEdyaWREZXNrdG9wQ29sdW1uRWRpdCxcclxuICAgIFNkR3JpZERlc2t0b3BDb2x1bW5WaWV3LFxyXG4gICAgU2RHcmlkRGVza3RvcElubGluZUZpbHRlcixcclxuICAgIFNkR3JpZE1vYmlsZUl0ZW1WaWV3LFxyXG4gICAgU2RHcmlkUG9wdXBFZGl0b3IsXHJcbiAgICBTZEdyaWRQb3B1cEV4cG9ydEV4Y2VsLFxyXG4gICAgU2RHcmlkUG9wdXBGaWx0ZXIsXHJcbiAgICBTZEdyaWRQb3B1cFF1aWNrRmlsdGVyRGV0YWlsLFxyXG4gICAgU2RHcmlkU3ViSW5mb3JtYXRpb24sXHJcbiAgICBTZEdyaWRJbXBvcnRFeGNlbCxcclxuXHJcbiAgICBHcmlkRGF0ZVBpY2tlckNvbnRyb2xDb21wb25lbnQsXHJcbiAgICBHcmlkRGVza3RvcENvbHVtbkNoaWxkcmVuVmlld0NvbXBvbmVudCxcclxuICAgIENlbGxEZXNrdG9wQ2xhc3NOYW1lUGlwZSxcclxuICAgIENlbGxNb2JpbGVDbGFzc05hbWVQaXBlLFxyXG4gICAgQ29sdW1uQ29tbWFuZEZpbHRlclBpcGUsXHJcbiAgICBDb2x1bW5IdG1sVGVtcGxhdGVQaXBlLFxyXG4gICAgQ29sdW1uVGl0bGVQaXBlLFxyXG4gICAgQ29sdW1uVmFsdWVzUGlwZSxcclxuICAgIENvbW1hbmREaXNhYmxlZFBpcGUsXHJcbiAgICBDb21tYW5kRmlsdGVyUGlwZSxcclxuICAgIENvbW1hbmRIaWRkZW4sXHJcbiAgICBDb21tYW5kSWNvblBpcGUsXHJcbiAgICBDb21tYW5kVGl0bGVQaXBlLFxyXG4gICAgU2REeW5hbWljSXRlbXMsXHJcbiAgICBFZGl0b3JEeW5hbWljSXRlbVBpcGUsXHJcbiAgICBFZGl0b3JIYW5kbGVyUGlwZSxcclxuICAgIEVkaXRvclN1YkluZm9ybWF0aW9uSGFuZGxlclBpcGUsXHJcbiAgICBFZGl0b3JWYWxpZGF0ZVBpcGUsXHJcbiAgICBGaWx0ZXJNb2JpbGVQaXBlLFxyXG4gICAgTW9iaWxlQ29tbWFuZEZpbHRlclBpcGUsXHJcbiAgICBNb2JpbGVWaWV3SHRtbFRlbXBsYXRlUGlwZSxcclxuICAgIFZhbHVlVHJhbnNmb3JtUGlwZSxcclxuICAgIEVkaXRvclBvcHVwVmlzaWJsZVBpcGUsXHJcblxyXG4gICAgU2RDZWxsRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RDZWxsRWRpdG9yRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RDZWxsRm9vdGVyRGV2RGlyZWN0aXZlLFxyXG4gICAgU2RTdWJIZWFkZXJEZWZEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZEdyaWQsXHJcbiAgICBTZENlbGxEZWZEaXJlY3RpdmUsXHJcbiAgICBTZENlbGxFZGl0b3JEZWZEaXJlY3RpdmUsXHJcbiAgICBTZENlbGxGb290ZXJEZXZEaXJlY3RpdmUsXHJcbiAgICBTZFN1YkhlYWRlckRlZkRpcmVjdGl2ZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgSGFuZGxlckxvY2FsLFxyXG4gICAgSGFuZGxlckRvdG5ldCxcclxuICAgIEVkaXRvckhhbmRsZXJQaXBlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RHcmlkTW9kdWxlIHtcclxufVxyXG4iXX0=
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiQzovVXNlcnMvbmdoaWF0dDE1L0Rlc2t0b3AvV29ya2luZy8xTUcvbGliLWNvcmUtdWkvcHJvamVjdHMvc2QtY29yZS9ncmlkLyIsInNvdXJjZXMiOlsic3JjL2xpYi9ncmlkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxP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QiwrQkFBK0I7b0JBQy9CLGtCQUFrQjtvQkFDbEIsZ0JBQWdCO29CQUNoQix1QkFBdUI7b0JBQ3ZCLDBCQUEwQjtvQkFDMUIsa0JBQWtCO29CQUNsQixzQkFBc0I7b0JBRXRCLGtCQUFrQjtvQkFDbEIsd0JBQXdCO29CQUN4Qix3QkFBd0I7b0JBQ3hCLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLE1BQU07b0JBQ04sa0JBQWtCO29CQUNsQix3QkFBd0I7b0JBQ3hCLHdCQUF3QjtvQkFDeEIsdUJBQXVCO2lCQUN4QjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsWUFBWTtvQkFDWixhQUFhO29CQUNiLGlCQUFpQjtpQkFDbEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFNkU2VydmljZU1vZHVsZSB9IGZyb20gJ0BzZC1hbmd1bGFyL2NvcmUvc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IFNkR3JpZCB9IGZyb20gJy4vZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZER5bmFtaWNJdGVtcyB9IGZyb20gJy4vcGlwZXMvZHluYW1pYy1pdGVtcy5waXBlJztcclxuaW1wb3J0IHsgU2RHcmlkQ29uZmlnIH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtY29uZmlnL2dyaWQtY29uZmlnLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkR3JpZERlc2t0b3BDb2x1bW5FZGl0IH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtZGVza3RvcC1jb2x1bW4tZWRpdC9ncmlkLWRlc2t0b3AtY29sdW1uLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHcmlkRGVza3RvcENvbHVtblZpZXcgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1kZXNrdG9wLWNvbHVtbi12aWV3L2dyaWQtZGVza3RvcC1jb2x1bW4tdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEdyaWREZXNrdG9wSW5saW5lRmlsdGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtZGVza3RvcC1pbmxpbmUtZmlsdGVyL2dyaWQtZGVza3RvcC1pbmxpbmUtZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkR3JpZE1vYmlsZUl0ZW1WaWV3IH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtbW9iaWxlLWl0ZW0tdmlldy9ncmlkLW1vYmlsZS1pdGVtLXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHcmlkUG9wdXBFZGl0b3IgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1wb3B1cC1lZGl0b3IvZ3JpZC1wb3B1cC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHcmlkUG9wdXBFeHBvcnRFeGNlbCB9IGZyb20gJy4vY29tcG9uZW50cy9ncmlkLXBvcHVwLWV4cG9ydC1leGNlbC9ncmlkLXBvcHVwLWV4cG9ydC1leGNlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEdyaWRQb3B1cEZpbHRlciB9IGZyb20gJy4vY29tcG9uZW50cy9ncmlkLXBvcHVwLWZpbHRlci9ncmlkLXBvcHVwLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEdyaWRQb3B1cFF1aWNrRmlsdGVyRGV0YWlsIH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtcG9wdXAtcXVpY2stZmlsdGVyLWRldGFpbC9ncmlkLXBvcHVwLXF1aWNrLWZpbHRlci1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RHcmlkU3ViSW5mb3JtYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1zdWItaW5mb3JtYXRpb24vZ3JpZC1zdWItaW5mb3JtYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgR3JpZERhdGVQaWNrZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dyaWQtZGF0ZS1waWNrZXItY29udHJvbC9ncmlkLWRhdGUtcGlja2VyLWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgR3JpZERlc2t0b3BDb2x1bW5DaGlsZHJlblZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ3JpZC1kZXNrdG9wLWNvbHVtbi1jaGlsZHJlbi12aWV3L2dyaWQtZGVza3RvcC1jb2x1bW4tY2hpbGRyZW4tdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgQ2VsbERlc2t0b3BDbGFzc05hbWVQaXBlIH0gZnJvbSAnLi9waXBlcy9jZWxsLWRlc2t0b3AtY2xhc3MtbmFtZS5waXBlJztcclxuaW1wb3J0IHsgQ2VsbE1vYmlsZUNsYXNzTmFtZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NlbGwtbW9iaWxlLWNsYXNzLW5hbWUucGlwZSc7XHJcbmltcG9ydCB7IENvbHVtbkNvbW1hbmRGaWx0ZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9jb2x1bW4tY29tbWFuZC1maWx0ZXIucGlwZSc7XHJcbmltcG9ydCB7IENvbHVtbkh0bWxUZW1wbGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbHVtbi1odG1sLXRlbXBsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBDb2x1bW5UaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbHVtbi10aXRsZS5waXBlJztcclxuaW1wb3J0IHsgQ29sdW1uVmFsdWVzUGlwZSB9IGZyb20gJy4vcGlwZXMvY29sdW1uLXZhbHVlcy5waXBlJztcclxuaW1wb3J0IHsgQ29tbWFuZERpc2FibGVkUGlwZSB9IGZyb20gJy4vcGlwZXMvY29tbWFuZC1kaXNhYmxlZC5waXBlJztcclxuaW1wb3J0IHsgQ29tbWFuZEZpbHRlclBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtZmlsdGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBDb21tYW5kSGlkZGVuIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLWhpZGRlbi5waXBlJztcclxuaW1wb3J0IHsgQ29tbWFuZEljb25QaXBlIH0gZnJvbSAnLi9waXBlcy9jb21tYW5kLWljb24ucGlwZSc7XHJcbmltcG9ydCB7IENvbW1hbmRUaXRsZVBpcGUgfSBmcm9tICcuL3BpcGVzL2NvbW1hbmQtdGl0bGUucGlwZSc7XHJcbmltcG9ydCB7IEVkaXRvckR5bmFtaWNJdGVtUGlwZSB9IGZyb20gJy4vcGlwZXMvZWRpdG9yLWR5bmFtaWMtaXRlbS5waXBlJztcclxuaW1wb3J0IHsgRWRpdG9ySGFuZGxlclBpcGUgfSBmcm9tICcuL3BpcGVzL2VkaXRvci1oYW5kbGVyLnBpcGUnO1xyXG5pbXBvcnQgeyBFZGl0b3JTdWJJbmZvcm1hdGlvbkhhbmRsZXJQaXBlIH0gZnJvbSAnLi9waXBlcy9lZGl0b3Itc3ViLWluZm9ybWF0aW9uLWhhbmRsZXIucGlwZSc7XHJcbmltcG9ydCB7IEVkaXRvclZhbGlkYXRlUGlwZSB9IGZyb20gJy4vcGlwZXMvZWRpdG9yLXZhbGlkYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBGaWx0ZXJNb2JpbGVQaXBlIH0gZnJvbSAnLi9waXBlcy9maWx0ZXItbW9iaWxlLnBpcGUnO1xyXG5pbXBvcnQgeyBNb2JpbGVDb21tYW5kRmlsdGVyUGlwZSB9IGZyb20gJy4vcGlwZXMvbW9iaWxlLWNvbW1hbmQtZmlsdGVyJztcclxuaW1wb3J0IHsgTW9iaWxlVmlld0h0bWxUZW1wbGF0ZVBpcGUgfSBmcm9tICcuL3BpcGVzL21vYmlsZS12aWV3LWh0bWwtdGVtcGxhdGUucGlwZSc7XHJcbmltcG9ydCB7IFZhbHVlVHJhbnNmb3JtUGlwZSB9IGZyb20gJy4vcGlwZXMvdmFsdWUtdHJhbnNmb3JtLnBpcGUnO1xyXG5pbXBvcnQgeyBFZGl0b3JQb3B1cFZpc2libGVQaXBlIH0gZnJvbSAnLi9waXBlcy9lZGl0b3ItcG9wdXAtdmlzaWJsZS5waXBlJztcclxuaW1wb3J0IHsgU2RDZWxsRGVmRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NlbGwtZGVmLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNkQ2VsbEVkaXRvckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9jZWxsLWVkaXRvci1kZWYuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2RDZWxsRm9vdGVyRGV2RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NlbGwtZm9vdGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZFN1YkhlYWRlckRlZkRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9zdWItaW5mb3JtYXRpb24taGVhZGVyLWRlZi5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTZEdyaWRJbXBvcnRFeGNlbCB9IGZyb20gJy4vY29tcG9uZW50cy9ncmlkLWltcG9ydC1leGNlbC9ncmlkLWltcG9ydC1leGNlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZEZvcm1Nb2R1bGUgfSBmcm9tICdAc2QtYW5ndWxhci9jb3JlL2Zvcm0nO1xyXG5pbXBvcnQgeyBTZFVwbG9hZEV4Y2VsTW9kdWxlIH0gZnJvbSAnQHNkLWFuZ3VsYXIvY29yZS91cGxvYWQtZXhjZWwnO1xyXG5pbXBvcnQgeyBIYW5kbGVyTG9jYWwgfSBmcm9tICcuL21vZGVscy9oYW5kbGVyLWxvY2FsJztcclxuaW1wb3J0IHsgSGFuZGxlckRvdG5ldCB9IGZyb20gJy4vbW9kZWxzL2hhbmRsZXItZG90bmV0JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBNYXRUYWJsZU1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcclxuICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgU2RVcGxvYWRFeGNlbE1vZHVsZSxcclxuICAgIFNkRm9ybU1vZHVsZSxcclxuICAgIFNkU2VydmljZU1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTZEdyaWQsXHJcbiAgICBTZEdyaWRDb25maWcsXHJcbiAgICBTZEdyaWREZXNrdG9wQ29sdW1uRWRpdCxcclxuICAgIFNkR3JpZERlc2t0b3BDb2x1bW5WaWV3LFxyXG4gICAgU2RHcmlkRGVza3RvcElubGluZUZpbHRlcixcclxuICAgIFNkR3JpZE1vYmlsZUl0ZW1WaWV3LFxyXG4gICAgU2RHcmlkUG9wdXBFZGl0b3IsXHJcbiAgICBTZEdyaWRQb3B1cEV4cG9ydEV4Y2VsLFxyXG4gICAgU2RHcmlkUG9wdXBGaWx0ZXIsXHJcbiAgICBTZEdyaWRQb3B1cFF1aWNrRmlsdGVyRGV0YWlsLFxyXG4gICAgU2RHcmlkU3ViSW5mb3JtYXRpb24sXHJcbiAgICBTZEdyaWRJbXBvcnRFeGNlbCxcclxuXHJcbiAgICBHcmlkRGF0ZVBpY2tlckNvbnRyb2xDb21wb25lbnQsXHJcbiAgICBHcmlkRGVza3RvcENvbHVtbkNoaWxkcmVuVmlld0NvbXBvbmVudCxcclxuICAgIENlbGxEZXNrdG9wQ2xhc3NOYW1lUGlwZSxcclxuICAgIENlbGxNb2JpbGVDbGFzc05hbWVQaXBlLFxyXG4gICAgQ29sdW1uQ29tbWFuZEZpbHRlclBpcGUsXHJcbiAgICBDb2x1bW5IdG1sVGVtcGxhdGVQaXBlLFxyXG4gICAgQ29sdW1uVGl0bGVQaXBlLFxyXG4gICAgQ29sdW1uVmFsdWVzUGlwZSxcclxuICAgIENvbW1hbmREaXNhYmxlZFBpcGUsXHJcbiAgICBDb21tYW5kRmlsdGVyUGlwZSxcclxuICAgIENvbW1hbmRIaWRkZW4sXHJcbiAgICBDb21tYW5kSWNvblBpcGUsXHJcbiAgICBDb21tYW5kVGl0bGVQaXBlLFxyXG4gICAgU2REeW5hbWljSXRlbXMsXHJcbiAgICBFZGl0b3JEeW5hbWljSXRlbVBpcGUsXHJcbiAgICBFZGl0b3JIYW5kbGVyUGlwZSxcclxuICAgIEVkaXRvclN1YkluZm9ybWF0aW9uSGFuZGxlclBpcGUsXHJcbiAgICBFZGl0b3JWYWxpZGF0ZVBpcGUsXHJcbiAgICBGaWx0ZXJNb2JpbGVQaXBlLFxyXG4gICAgTW9iaWxlQ29tbWFuZEZpbHRlclBpcGUsXHJcbiAgICBNb2JpbGVWaWV3SHRtbFRlbXBsYXRlUGlwZSxcclxuICAgIFZhbHVlVHJhbnNmb3JtUGlwZSxcclxuICAgIEVkaXRvclBvcHVwVmlzaWJsZVBpcGUsXHJcblxyXG4gICAgU2RDZWxsRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RDZWxsRWRpdG9yRGVmRGlyZWN0aXZlLFxyXG4gICAgU2RDZWxsRm9vdGVyRGV2RGlyZWN0aXZlLFxyXG4gICAgU2RTdWJIZWFkZXJEZWZEaXJlY3RpdmUsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZEdyaWQsXHJcbiAgICBTZENlbGxEZWZEaXJlY3RpdmUsXHJcbiAgICBTZENlbGxFZGl0b3JEZWZEaXJlY3RpdmUsXHJcbiAgICBTZENlbGxGb290ZXJEZXZEaXJlY3RpdmUsXHJcbiAgICBTZFN1YkhlYWRlckRlZkRpcmVjdGl2ZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgSGFuZGxlckxvY2FsLFxyXG4gICAgSGFuZGxlckRvdG5ldCxcclxuICAgIEVkaXRvckhhbmRsZXJQaXBlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RHcmlkTW9kdWxlIHtcclxufVxyXG4iXX0=