@sbb-esta/lyne-elements-dev 4.13.0-dev.1779279878 → 4.13.0-dev.1779441043

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 (1062) hide show
  1. package/accordion/accordion.component.js +1 -1
  2. package/accordion.js +1 -1
  3. package/accordion.pure.js +1 -1
  4. package/action-group/action-group.component.js +1 -1
  5. package/action-group.js +1 -1
  6. package/action-group.pure.js +1 -1
  7. package/alert/alert/alert.component.js +1 -1
  8. package/alert/alert-group/alert-group.component.js +1 -1
  9. package/alert/alert-group.js +1 -1
  10. package/alert/alert.js +1 -1
  11. package/alert.js +2 -2
  12. package/alert.pure.js +2 -2
  13. package/autocomplete/autocomplete-base-element.js +1 -1
  14. package/autocomplete/autocomplete.component.js +1 -1
  15. package/autocomplete.js +1 -1
  16. package/autocomplete.pure.js +1 -1
  17. package/{block-link-common-1kRa_czx.js → block-link-common-CKboIDLC.js} +1 -1
  18. package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  19. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  20. package/breadcrumb/breadcrumb-group.js +1 -1
  21. package/breadcrumb/breadcrumb.js +1 -1
  22. package/breadcrumb.js +2 -2
  23. package/breadcrumb.pure.js +2 -2
  24. package/button/common/button-common.js +1 -1
  25. package/button/common.js +1 -1
  26. package/button/mini-button-group/mini-button-group.component.js +1 -1
  27. package/button/mini-button-group.js +1 -1
  28. package/button/mini-button-link/mini-button-link.component.js +1 -1
  29. package/button/mini-button-link.js +1 -1
  30. package/button.js +3 -3
  31. package/button.pure.js +3 -3
  32. package/calendar/calendar/calendar.component.js +1 -1
  33. package/calendar/calendar-day/calendar-day.component.js +1 -1
  34. package/calendar/calendar-day.js +1 -1
  35. package/calendar/calendar.js +1 -1
  36. package/calendar/common/calendar-cell-base-element.js +1 -1
  37. package/calendar/common.js +1 -1
  38. package/calendar.js +2 -2
  39. package/calendar.pure.js +2 -2
  40. package/card/card/card.component.js +1 -1
  41. package/card/card-badge/card-badge.component.js +1 -1
  42. package/card/card-badge.js +1 -1
  43. package/card/card.js +1 -1
  44. package/card/common/card-action-common.js +1 -1
  45. package/card/common.js +1 -1
  46. package/card.js +3 -3
  47. package/card.pure.js +3 -3
  48. package/carousel/carousel/carousel.component.js +1 -1
  49. package/carousel/carousel-item/carousel-item.component.js +1 -1
  50. package/carousel/carousel-item.js +1 -1
  51. package/carousel/carousel-list/carousel-list.component.js +1 -1
  52. package/carousel/carousel-list.js +1 -1
  53. package/carousel/carousel.js +1 -1
  54. package/carousel.js +3 -3
  55. package/carousel.pure.js +3 -3
  56. package/checkbox/checkbox.component.js +1 -1
  57. package/checkbox/checkbox.js +1 -1
  58. package/checkbox/common/checkbox-common.js +1 -1
  59. package/checkbox/common.js +1 -1
  60. package/{checkbox.component-DS48CA_v.js → checkbox.component-BcEm3ykz.js} +1 -1
  61. package/checkbox.js +2 -2
  62. package/checkbox.pure.js +2 -2
  63. package/chip/chip/chip.component.js +1 -1
  64. package/chip/chip-group/chip-group.component.js +1 -1
  65. package/chip/chip-group.js +1 -1
  66. package/chip/chip.js +1 -1
  67. package/chip-label/chip-label.component.js +1 -1
  68. package/chip-label.js +1 -1
  69. package/chip-label.pure.js +1 -1
  70. package/chip.js +2 -2
  71. package/chip.pure.js +2 -2
  72. package/clock/clock.component.js +1 -1
  73. package/clock.js +1 -1
  74. package/clock.pure.js +1 -1
  75. package/container/container/container.component.js +1 -1
  76. package/container/container.js +1 -1
  77. package/container/sticky-bar/sticky-bar.component.js +1 -1
  78. package/container/sticky-bar.js +1 -1
  79. package/container.js +2 -2
  80. package/container.pure.js +2 -2
  81. package/core/base-elements/selection-group-base-element.js +1 -1
  82. package/core/base-elements.js +1 -1
  83. package/core/controllers/media-matchers-controller.js +1 -1
  84. package/core/mixins/panel-mixin.js +1 -1
  85. package/core/mixins.js +1 -1
  86. package/core/styles/styles.js +1 -1
  87. package/core/styles.js +1 -1
  88. package/core.js +3 -3
  89. package/custom-elements.json +950 -950
  90. package/date-input/date-input.component.js +1 -1
  91. package/date-input.js +1 -1
  92. package/date-input.pure.js +1 -1
  93. package/datepicker/common/datepicker-button.js +1 -1
  94. package/datepicker/common.js +1 -1
  95. package/datepicker/datepicker/datepicker.component.js +1 -1
  96. package/datepicker/datepicker.js +1 -1
  97. package/datepicker.js +2 -2
  98. package/datepicker.pure.js +2 -2
  99. package/development/accordion/accordion.component.js +1 -1
  100. package/development/{accordion.component-CGTwcntz.js → accordion.component-BHkIOnto.js} +1 -1
  101. package/development/accordion.js +1 -1
  102. package/development/accordion.pure.js +1 -1
  103. package/development/action-group/action-group.component.js +1 -1
  104. package/development/{action-group.component-DQ7_kjB9.js → action-group.component-CQKkfQej.js} +1 -1
  105. package/development/action-group.js +1 -1
  106. package/development/action-group.pure.js +1 -1
  107. package/development/alert/alert/alert.component.js +1 -1
  108. package/development/alert/alert-group/alert-group.component.js +1 -1
  109. package/development/alert/alert-group.js +1 -1
  110. package/development/alert/alert.js +1 -1
  111. package/development/{alert-group.component-DnnPrv5I.js → alert-group.component-hXjjuTYZ.js} +1 -1
  112. package/development/{alert.component-CYb1vnDZ.js → alert.component-zi9h-VS5.js} +1 -1
  113. package/development/alert.js +2 -2
  114. package/development/alert.pure.js +2 -2
  115. package/development/autocomplete/autocomplete-base-element.js +1 -1
  116. package/development/autocomplete/autocomplete.component.js +1 -1
  117. package/development/{autocomplete-base-element-BSd5IXMZ.js → autocomplete-base-element-ChtKZW4Z.js} +1 -1
  118. package/development/autocomplete.js +1 -1
  119. package/development/autocomplete.pure.js +1 -1
  120. package/development/{block-link-common-COY1RI1I.js → block-link-common-CJEbRZzQ.js} +2 -2
  121. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  122. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  123. package/development/breadcrumb/breadcrumb-group.js +1 -1
  124. package/development/breadcrumb/breadcrumb.js +1 -1
  125. package/development/{breadcrumb-group.component-DZslNBlB.js → breadcrumb-group.component-D1KKqzD5.js} +1 -1
  126. package/development/{breadcrumb.component-DxSUxLZO.js → breadcrumb.component-ByLfVFAv.js} +1 -1
  127. package/development/breadcrumb.js +2 -2
  128. package/development/breadcrumb.pure.js +2 -2
  129. package/development/button/common/button-common.js +1 -1
  130. package/development/button/common.js +1 -1
  131. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  132. package/development/button/mini-button-group.js +1 -1
  133. package/development/button/mini-button-link/mini-button-link.component.js +1 -1
  134. package/development/button/mini-button-link.js +1 -1
  135. package/development/{button-common-7dmrUx4A.js → button-common-CstAJ1zB.js} +1 -1
  136. package/development/button.js +3 -3
  137. package/development/button.pure.js +3 -3
  138. package/development/calendar/calendar/calendar.component.js +1 -1
  139. package/development/calendar/calendar-day/calendar-day.component.js +1 -1
  140. package/development/calendar/calendar-day.js +1 -1
  141. package/development/calendar/calendar.js +1 -1
  142. package/development/calendar/common/calendar-cell-base-element.js +1 -1
  143. package/development/calendar/common.js +1 -1
  144. package/development/{calendar-cell-base-element-BXohfDSl.js → calendar-cell-base-element-C9bSs3Q8.js} +1 -1
  145. package/development/{calendar-day.component-DFvRrp2O.js → calendar-day.component-gckR6I-2.js} +1 -1
  146. package/development/{calendar.component-Dg3D2A7k.js → calendar.component-_aQkgYF_.js} +1 -1
  147. package/development/calendar.js +2 -2
  148. package/development/calendar.pure.js +2 -2
  149. package/development/card/card/card.component.js +1 -1
  150. package/development/card/card-badge/card-badge.component.js +1 -1
  151. package/development/card/card-badge.js +1 -1
  152. package/development/card/card.js +1 -1
  153. package/development/card/common/card-action-common.js +1 -1
  154. package/development/card/common.js +1 -1
  155. package/development/{card-action-common-1FDHbfeR.js → card-action-common-CvEX5FKi.js} +1 -1
  156. package/development/{card-badge.component-CUZIoVbL.js → card-badge.component-BrtuBhjn.js} +1 -1
  157. package/development/{card.component-DsqIZC_u.js → card.component-Byk9-XZO.js} +1 -1
  158. package/development/card.js +3 -3
  159. package/development/card.pure.js +3 -3
  160. package/development/carousel/carousel/carousel.component.js +1 -1
  161. package/development/carousel/carousel-item/carousel-item.component.js +1 -1
  162. package/development/carousel/carousel-item.js +1 -1
  163. package/development/carousel/carousel-list/carousel-list.component.js +1 -1
  164. package/development/carousel/carousel-list.js +1 -1
  165. package/development/carousel/carousel.js +1 -1
  166. package/development/{carousel-item.component-CIgUJtDJ.js → carousel-item.component-BxPxGpbz.js} +1 -1
  167. package/development/{carousel-list.component-L-nYpHcN.js → carousel-list.component-DG6lxyT9.js} +1 -1
  168. package/development/{carousel.component-Dl48ROSf.js → carousel.component-Ct8WETPk.js} +1 -1
  169. package/development/carousel.js +3 -3
  170. package/development/carousel.pure.js +3 -3
  171. package/development/checkbox/checkbox.component.js +1 -1
  172. package/development/checkbox/checkbox.js +1 -1
  173. package/development/checkbox/common/checkbox-common.js +1 -1
  174. package/development/checkbox/common.js +1 -1
  175. package/development/{checkbox-common-Dd5uup8K.js → checkbox-common-CVyGPWbf.js} +1 -1
  176. package/development/{checkbox.component-CFZrwUTA.js → checkbox.component-BEfXDZZU.js} +2 -2
  177. package/development/checkbox.js +2 -2
  178. package/development/checkbox.pure.js +2 -2
  179. package/development/chip/chip/chip.component.js +1 -1
  180. package/development/chip/chip-group/chip-group.component.js +1 -1
  181. package/development/chip/chip-group.js +1 -1
  182. package/development/chip/chip.js +1 -1
  183. package/development/{chip-group.component-BVfHWX2-.js → chip-group.component-D3TJApSK.js} +1 -1
  184. package/development/chip-label/chip-label.component.js +1 -1
  185. package/development/{chip-label.component-DU8s-hfA.js → chip-label.component-BRyrmYcJ.js} +1 -1
  186. package/development/chip-label.js +1 -1
  187. package/development/chip-label.pure.js +1 -1
  188. package/development/{chip.component-C6v1-PLX.js → chip.component-CXmPMnVG.js} +1 -1
  189. package/development/chip.js +2 -2
  190. package/development/chip.pure.js +2 -2
  191. package/development/clock/clock.component.js +1 -1
  192. package/development/{clock.component-CVPv4mCp.js → clock.component-BkV63t0Z.js} +1 -1
  193. package/development/clock.js +1 -1
  194. package/development/clock.pure.js +1 -1
  195. package/development/{compact-paginator.component-5_Q2Reul.js → compact-paginator.component-lAUCVDx7.js} +1 -1
  196. package/development/container/container/container.component.js +1 -1
  197. package/development/container/container.js +1 -1
  198. package/development/container/sticky-bar/sticky-bar.component.js +1 -1
  199. package/development/container/sticky-bar.js +1 -1
  200. package/development/{container.component-CG_i65Op.js → container.component-DLh0UnYd.js} +1 -1
  201. package/development/container.js +2 -2
  202. package/development/container.pure.js +2 -2
  203. package/development/core/base-elements/selection-group-base-element.js +1 -1
  204. package/development/core/base-elements.js +1 -1
  205. package/development/core/controllers/media-matchers-controller.js +1 -1
  206. package/development/core/mixins/panel-mixin.js +1 -1
  207. package/development/core/mixins.js +1 -1
  208. package/development/core/styles/styles.js +1 -1
  209. package/development/core/styles.js +1 -1
  210. package/development/core.js +3 -3
  211. package/development/date-input/date-input.component.js +1 -1
  212. package/development/{date-input.component-UP1afzgy.js → date-input.component-aFqmx0uy.js} +1 -1
  213. package/development/date-input.js +1 -1
  214. package/development/date-input.pure.js +1 -1
  215. package/development/datepicker/common/datepicker-button.js +1 -1
  216. package/development/datepicker/common.js +1 -1
  217. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  218. package/development/datepicker/datepicker.js +1 -1
  219. package/development/{datepicker-button-CUPeoQgH.js → datepicker-button-Czvip-Gd.js} +1 -1
  220. package/development/{datepicker.component-D2DxFng_.js → datepicker.component-C7ukqb-L.js} +1 -1
  221. package/development/datepicker.js +2 -2
  222. package/development/datepicker.pure.js +2 -2
  223. package/development/dialog/dialog/dialog.component.js +1 -1
  224. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  225. package/development/dialog/dialog-actions.js +1 -1
  226. package/development/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
  227. package/development/dialog/dialog-close-button.js +1 -1
  228. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  229. package/development/dialog/dialog-content.js +1 -1
  230. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  231. package/development/dialog/dialog-title.js +1 -1
  232. package/development/dialog/dialog.js +1 -1
  233. package/development/{dialog-actions.component-CegGvLGp.js → dialog-actions.component-oA335JZQ.js} +1 -1
  234. package/development/{dialog-close-button.component-C4P-8J8j.js → dialog-close-button.component-B7DK_j4Q.js} +1 -1
  235. package/development/{dialog-content.component-bm8piC0O.js → dialog-content.component-DTxT4eFj.js} +1 -1
  236. package/development/{dialog-title.component-CUAbFzCr.js → dialog-title.component-DwTo8syw.js} +1 -1
  237. package/development/{dialog.component-DKuR4u-y.js → dialog.component-CqWh22II.js} +1 -1
  238. package/development/dialog.js +5 -5
  239. package/development/dialog.pure.js +5 -5
  240. package/development/divider/divider.component.js +1 -1
  241. package/development/{divider.component-Bisnf286.js → divider.component-O4kPjU88.js} +1 -1
  242. package/development/divider.js +1 -1
  243. package/development/divider.pure.js +1 -1
  244. package/development/{error.component-OBpWoVRL.js → error.component-clhPgi-w.js} +1 -1
  245. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  246. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  247. package/development/expansion-panel/expansion-panel-content.js +1 -1
  248. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  249. package/development/expansion-panel/expansion-panel-header.js +1 -1
  250. package/development/expansion-panel/expansion-panel.js +1 -1
  251. package/development/{expansion-panel-content.component-XIsKm8JD.js → expansion-panel-content.component-aD0sErUh.js} +1 -1
  252. package/development/{expansion-panel-header.component-C1xRGcAN.js → expansion-panel-header.component-CDRRNszp.js} +1 -1
  253. package/development/{expansion-panel.component-CV_IuWZA.js → expansion-panel.component-ApwvbGvp.js} +1 -1
  254. package/development/expansion-panel.js +3 -3
  255. package/development/expansion-panel.pure.js +3 -3
  256. package/development/file-selector/common/file-selector-common.js +1 -1
  257. package/development/file-selector/common.js +1 -1
  258. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  259. package/development/file-selector/file-selector-dropzone.js +1 -1
  260. package/development/{file-selector-common-C7xIEiV4.js → file-selector-common-C5XMrlw6.js} +1 -1
  261. package/development/{file-selector-dropzone.component-BAWMZW4F.js → file-selector-dropzone.component-koTO2N3Z.js} +1 -1
  262. package/development/file-selector.js +2 -2
  263. package/development/file-selector.pure.js +2 -2
  264. package/development/flip-card/flip-card/flip-card.component.js +1 -1
  265. package/development/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  266. package/development/flip-card/flip-card-details.js +1 -1
  267. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  268. package/development/flip-card/flip-card-summary.js +1 -1
  269. package/development/flip-card/flip-card.js +1 -1
  270. package/development/{flip-card-details.component-iMm7NrgQ.js → flip-card-details.component-AvYTBZH-.js} +1 -1
  271. package/development/{flip-card-summary.component-HQ_VAn2j.js → flip-card-summary.component-BUqpGUbJ.js} +1 -1
  272. package/development/{flip-card.component-CJanLtkJ.js → flip-card.component-Df226cP3.js} +1 -1
  273. package/development/flip-card.js +3 -3
  274. package/development/flip-card.pure.js +3 -3
  275. package/development/footer/footer.component.js +1 -1
  276. package/development/{footer.component-BmDkxYW9.js → footer.component-DYEWvB3P.js} +1 -1
  277. package/development/footer.js +1 -1
  278. package/development/footer.pure.js +1 -1
  279. package/development/form-field/error/error.component.js +1 -1
  280. package/development/form-field/error.js +1 -1
  281. package/development/form-field/form-field/form-field.component.js +1 -1
  282. package/development/form-field/form-field.js +1 -1
  283. package/development/form-field/hint/hint.component.js +1 -1
  284. package/development/{form-field.component-BU3Sv2mD.js → form-field.component-BkcCAGS2.js} +1 -1
  285. package/development/form-field.js +3 -3
  286. package/development/form-field.pure.js +3 -3
  287. package/development/header/common/header-action-common.js +1 -1
  288. package/development/header/common.js +1 -1
  289. package/development/header/header/header.component.js +1 -1
  290. package/development/header/header-environment/header-environment.component.js +1 -1
  291. package/development/header/header-environment.js +1 -1
  292. package/development/header/header.js +1 -1
  293. package/development/{header-action-common-MTYV0dqA.js → header-action-common-BNkB5F6_.js} +1 -1
  294. package/development/{header-environment.component-DHqoX_lg.js → header-environment.component-q1GtI6Lm.js} +1 -1
  295. package/development/{header.component-CWJ36jF0.js → header.component-CxJT1O-P.js} +1 -1
  296. package/development/header.js +3 -3
  297. package/development/header.pure.js +3 -3
  298. package/development/{hint.component-DUtL0RS3.js → hint.component-D2yunLum.js} +1 -1
  299. package/development/icon/icon-base.js +1 -1
  300. package/development/icon/icon.component.js +1 -1
  301. package/development/{icon-base-DHN9pz2I.js → icon-base-Dq9MpfWT.js} +1 -1
  302. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  303. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  304. package/development/icon-sidebar/icon-sidebar-container.js +1 -1
  305. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  306. package/development/icon-sidebar/icon-sidebar-content.js +1 -1
  307. package/development/icon-sidebar/icon-sidebar.js +1 -1
  308. package/development/{icon-sidebar-container.component-BH_R88Rf.js → icon-sidebar-container.component-CdXeW3mX.js} +1 -1
  309. package/development/{icon-sidebar-content.component-yoF6FjkW.js → icon-sidebar-content.component-BPEyV1W0.js} +1 -1
  310. package/development/{icon-sidebar.component-BGEkfXVs.js → icon-sidebar.component-BufmPKms.js} +1 -1
  311. package/development/icon-sidebar.js +3 -3
  312. package/development/icon-sidebar.pure.js +3 -3
  313. package/development/icon.js +1 -1
  314. package/development/icon.pure.js +1 -1
  315. package/development/image/image.component.js +1 -1
  316. package/development/{image.component-BD0jc-u-.js → image.component-mUKzaK2k.js} +5 -16
  317. package/development/image.js +1 -1
  318. package/development/image.pure.js +1 -1
  319. package/development/{inline-link-common-CgTIwFAI.js → inline-link-common-itvi22nu.js} +2 -2
  320. package/development/journey-header/journey-header.component.js +1 -1
  321. package/development/{journey-header.component-BwVODlXk.js → journey-header.component-I7lZUyCY.js} +1 -1
  322. package/development/journey-header.js +1 -1
  323. package/development/journey-header.pure.js +1 -1
  324. package/development/lead-container/lead-container.component.js +1 -1
  325. package/development/{lead-container.component-CGVdBWJr.js → lead-container.component-BL89hZHA.js} +1 -1
  326. package/development/lead-container.js +1 -1
  327. package/development/lead-container.pure.js +1 -1
  328. package/development/link/common/block-link-common.js +1 -1
  329. package/development/link/common/inline-link-common.js +1 -1
  330. package/development/link/common/link-common.js +1 -1
  331. package/development/link/common.js +3 -3
  332. package/development/{link-common-DJ2FfG_Q.js → link-common-cGlWYqkY.js} +1 -1
  333. package/development/link-list/common/link-list-base.js +1 -1
  334. package/development/link-list/common.js +1 -1
  335. package/development/link-list/link-list-anchor.js +1 -1
  336. package/development/link-list/link-list.component.js +1 -1
  337. package/development/link-list/link-list.js +1 -1
  338. package/development/link-list-anchor/link-list-anchor.component.js +1 -1
  339. package/development/{link-list-anchor.component-Du7kfDZ-.js → link-list-anchor.component-D1SvQ66g.js} +1 -1
  340. package/development/link-list-anchor.js +1 -1
  341. package/development/link-list-anchor.pure.js +1 -1
  342. package/development/{link-list-base-CKMNz30d.js → link-list-base-BnV5SFiO.js} +1 -1
  343. package/development/{link-list.component-DQMg8MdQ.js → link-list.component-D_DVCimH.js} +2 -2
  344. package/development/link-list.js +3 -3
  345. package/development/link-list.pure.js +2 -2
  346. package/development/link.js +3 -3
  347. package/development/link.pure.js +3 -3
  348. package/development/loading-indicator/loading-indicator.component.js +1 -1
  349. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  350. package/development/{loading-indicator-circle.component-np96Tu5S.js → loading-indicator-circle.component-DzNpKk8l.js} +1 -1
  351. package/development/loading-indicator-circle.js +1 -1
  352. package/development/loading-indicator-circle.pure.js +1 -1
  353. package/development/{loading-indicator.component-CgHYNMxB.js → loading-indicator.component-BgbKfUDX.js} +1 -1
  354. package/development/loading-indicator.js +1 -1
  355. package/development/loading-indicator.pure.js +1 -1
  356. package/development/logo/logo.component.js +1 -1
  357. package/development/{logo.component-I0yP2SKr.js → logo.component-DOHr28xU.js} +1 -1
  358. package/development/logo.js +1 -1
  359. package/development/logo.pure.js +1 -1
  360. package/development/map-container/map-container.component.js +1 -1
  361. package/development/{map-container.component-D9NWw-wA.js → map-container.component-CIqThcx2.js} +1 -1
  362. package/development/map-container.js +1 -1
  363. package/development/map-container.pure.js +1 -1
  364. package/development/menu/common/menu-action-common.js +1 -1
  365. package/development/menu/common.js +1 -1
  366. package/development/menu/menu/menu.component.js +1 -1
  367. package/development/menu/menu.js +1 -1
  368. package/development/{menu-action-common-CBZCra6n.js → menu-action-common-BZE-EXWE.js} +1 -1
  369. package/development/{menu.component-Lh3JbVow.js → menu.component-BDcEd8fU.js} +1 -1
  370. package/development/menu.js +2 -2
  371. package/development/menu.pure.js +2 -2
  372. package/development/message/message.component.js +1 -1
  373. package/development/{message.component-Dlf5V5ba.js → message.component-SmdtsjkC.js} +1 -1
  374. package/development/message.js +1 -1
  375. package/development/message.pure.js +1 -1
  376. package/development/{mini-button-group.component-B3CA9KG0.js → mini-button-group.component-BdAxrqyu.js} +1 -1
  377. package/development/{mini-button-link.component-I3VpWeNU.js → mini-button-link.component-CvPvNIBL.js} +1 -1
  378. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  379. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  380. package/development/mini-calendar/mini-calendar-day.js +1 -1
  381. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  382. package/development/mini-calendar/mini-calendar-month.js +1 -1
  383. package/development/mini-calendar/mini-calendar.js +1 -1
  384. package/development/{mini-calendar-day.component-BUNVO4ZU.js → mini-calendar-day.component-2tL6pRbt.js} +1 -1
  385. package/development/{mini-calendar-month.component-DZXvAhc3.js → mini-calendar-month.component-DaVLqI4h.js} +1 -1
  386. package/development/{mini-calendar.component-BufzKw74.js → mini-calendar.component-BOaOR0OO.js} +1 -1
  387. package/development/mini-calendar.js +3 -3
  388. package/development/mini-calendar.pure.js +3 -3
  389. package/development/navigation/common/navigation-action-common.js +1 -1
  390. package/development/navigation/common.js +1 -1
  391. package/development/navigation/navigation/navigation.component.js +1 -1
  392. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  393. package/development/navigation/navigation-list.js +1 -1
  394. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  395. package/development/navigation/navigation-marker.js +1 -1
  396. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  397. package/development/navigation/navigation-section.js +1 -1
  398. package/development/navigation/navigation.js +1 -1
  399. package/development/{navigation-action-common-Hjr4dI9J.js → navigation-action-common-EqMDRz8Z.js} +1 -1
  400. package/development/{navigation-list.component-DqITJqFx.js → navigation-list.component-DNHBxMKU.js} +1 -1
  401. package/development/{navigation-marker.component-GOv42emC.js → navigation-marker.component-A1v9Hd9J.js} +1 -1
  402. package/development/{navigation-section.component-CnVrRETN.js → navigation-section.component-DT34_2-O.js} +1 -1
  403. package/development/{navigation.component-CTNQ1dix.js → navigation.component-C4M2wVbM.js} +1 -1
  404. package/development/navigation.js +5 -5
  405. package/development/navigation.pure.js +5 -5
  406. package/development/notification/notification.component.js +1 -1
  407. package/development/{notification.component-Cvq_uViC.js → notification.component-CN_R2kpL.js} +1 -1
  408. package/development/notification.js +1 -1
  409. package/development/notification.pure.js +1 -1
  410. package/development/{optgroup-base-element-BaG2W_AP.js → optgroup-base-element-BKTWGTV2.js} +1 -1
  411. package/development/option/optgroup/optgroup-base-element.js +1 -1
  412. package/development/option/optgroup/optgroup.component.js +1 -1
  413. package/development/option/optgroup.js +1 -1
  414. package/development/option/option/option.component.js +1 -1
  415. package/development/option/option-hint/option-hint.component.js +1 -1
  416. package/development/option/option-hint.js +1 -1
  417. package/development/option/option.js +1 -1
  418. package/development/{option-hint.component-BH8dP1fM.js → option-hint.component-DoZ2KiO0.js} +1 -1
  419. package/development/{option.component-Bb2C7ae5.js → option.component-j1BtK1VA.js} +1 -1
  420. package/development/option.js +3 -3
  421. package/development/option.pure.js +3 -3
  422. package/development/overlay/overlay.component.js +1 -1
  423. package/development/{overlay.component-M0JuSq4C.js → overlay.component-D9yF8nHe.js} +1 -1
  424. package/development/overlay.js +1 -1
  425. package/development/overlay.pure.js +1 -1
  426. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  427. package/development/paginator/compact-paginator.js +1 -1
  428. package/development/paginator/paginator/paginator.component.js +1 -1
  429. package/development/paginator/paginator.js +1 -1
  430. package/development/{paginator.component-Bn5tK0FK.js → paginator.component-AuOrVA84.js} +4 -4
  431. package/development/paginator.js +2 -2
  432. package/development/paginator.pure.js +2 -2
  433. package/development/{panel-mixin-Dj_rsgL9.js → panel-mixin-BNGQatfO.js} +1 -1
  434. package/development/popover/popover.component.js +1 -1
  435. package/development/{popover.component-EgOs-wsR.js → popover.component-DCRonDZ_.js} +1 -1
  436. package/development/popover.js +1 -1
  437. package/development/popover.pure.js +1 -1
  438. package/development/radio-button/common/radio-button-common.js +1 -1
  439. package/development/radio-button/common.js +1 -1
  440. package/development/radio-button/radio-button.component.js +1 -1
  441. package/development/radio-button/radio-button.js +1 -1
  442. package/development/{radio-button-common--d3WX-ZM.js → radio-button-common-BVAoj2Kq.js} +1 -1
  443. package/development/{radio-button.component-BauLEeCV.js → radio-button.component-chdFG08o.js} +2 -2
  444. package/development/radio-button.js +2 -2
  445. package/development/radio-button.pure.js +2 -2
  446. package/development/{sbb-tokens-Cr3wVegh.js → sbb-tokens-DGQJTWqa.js} +1 -1
  447. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  448. package/development/{screen-reader-only.component-B77UuVCI.js → screen-reader-only.component-CdqwsaNQ.js} +1 -1
  449. package/development/screen-reader-only.js +1 -1
  450. package/development/screen-reader-only.pure.js +1 -1
  451. package/development/select/select.component.js +1 -1
  452. package/development/{select.component-D9SFG7Lk.js → select.component--Mx51ijv.js} +1 -1
  453. package/development/select.js +1 -1
  454. package/development/select.pure.js +1 -1
  455. package/development/selection-action-panel/selection-action-panel.component.js +1 -1
  456. package/development/{selection-action-panel.component-D6I5wdEL.js → selection-action-panel.component-Um-_SEWj.js} +1 -1
  457. package/development/selection-action-panel.js +1 -1
  458. package/development/selection-action-panel.pure.js +1 -1
  459. package/development/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  460. package/development/{selection-expansion-panel.component-eO7b_EQF.js → selection-expansion-panel.component-p3HZ05ul.js} +1 -1
  461. package/development/selection-expansion-panel.js +1 -1
  462. package/development/selection-expansion-panel.pure.js +1 -1
  463. package/development/{selection-group-base-element-DvDpwhPl.js → selection-group-base-element-Cqxds9XS.js} +1 -1
  464. package/development/sidebar/common/styles.js +1 -1
  465. package/development/sidebar/common.js +1 -1
  466. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  467. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  468. package/development/sidebar/sidebar-close-button.js +1 -1
  469. package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  470. package/development/sidebar/sidebar-container.js +1 -1
  471. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  472. package/development/sidebar/sidebar-content.js +1 -1
  473. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  474. package/development/sidebar/sidebar-title.js +1 -1
  475. package/development/sidebar/sidebar.js +1 -1
  476. package/development/{sidebar-close-button.component-CYWv39Mu.js → sidebar-close-button.component-D2oeYOqk.js} +1 -1
  477. package/development/{sidebar-container.component-BDSoDAym.js → sidebar-container.component-y6Lv-ekk.js} +1 -1
  478. package/development/{sidebar-content.component-JcVKpKbK.js → sidebar-content.component-Cti9Y8DD.js} +1 -1
  479. package/development/{sidebar-title.component-BA_j-Igh.js → sidebar-title.component-D95cPhCG.js} +1 -1
  480. package/development/{sidebar.component-BLqO52nH.js → sidebar.component-fAct2rbJ.js} +1 -1
  481. package/development/sidebar.js +5 -5
  482. package/development/sidebar.pure.js +5 -5
  483. package/development/signet/signet.component.js +1 -1
  484. package/development/{signet.component-3D2ZsajP.js → signet.component-Bw0R1j5v.js} +1 -1
  485. package/development/signet.js +1 -1
  486. package/development/signet.pure.js +1 -1
  487. package/development/skiplink-list/skiplink-list.component.js +1 -1
  488. package/development/{skiplink-list.component-EDPOitEB.js → skiplink-list.component-BBhrMJYv.js} +1 -1
  489. package/development/skiplink-list.js +1 -1
  490. package/development/skiplink-list.pure.js +1 -1
  491. package/development/slider/slider.component.js +1 -1
  492. package/development/{slider.component-C3qZB6ar.js → slider.component-BAzcsyzN.js} +1 -1
  493. package/development/slider.js +1 -1
  494. package/development/slider.pure.js +1 -1
  495. package/development/status/status.component.js +1 -1
  496. package/development/{status.component-CPi1cPN0.js → status.component-Cyxc7ICo.js} +1 -1
  497. package/development/status.js +1 -1
  498. package/development/status.pure.js +1 -1
  499. package/development/{step-label.component-BJ9eainz.js → step-label.component-DbAKY6cG.js} +1 -1
  500. package/development/{step.component-CTsOBGAn.js → step.component-B5kHxVl7.js} +1 -1
  501. package/development/stepper/step/step.component.js +1 -1
  502. package/development/stepper/step-label/step-label.component.js +1 -1
  503. package/development/stepper/step-label.js +1 -1
  504. package/development/stepper/step.js +1 -1
  505. package/development/stepper/stepper/stepper.component.js +1 -1
  506. package/development/stepper/stepper.js +1 -1
  507. package/development/{stepper.component-CxOBayI1.js → stepper.component-BbeFQDmb.js} +1 -1
  508. package/development/stepper.js +3 -3
  509. package/development/stepper.pure.js +3 -3
  510. package/development/{sticky-bar.component-CysAIZTd.js → sticky-bar.component-D5uSDTQR.js} +1 -1
  511. package/development/{styles-Jlhoev1S.js → styles-BTV2MyrZ.js} +1 -1
  512. package/development/{styles-D8-q-irv.js → styles-BqagEMJX.js} +1 -1
  513. package/development/{styles-D2RLaAYK.js → styles-DiDvDJct.js} +1 -1
  514. package/development/{tab-group.component-D9jCK26q.js → tab-group.component-BWPgocri.js} +1 -1
  515. package/development/{tab-label.component-B9e9kgVf.js → tab-label.component-D8tEoOpH.js} +1 -1
  516. package/development/{tab-nav-bar.component-CgYwCSVY.js → tab-nav-bar.component-ks5dMvvA.js} +1 -1
  517. package/development/{tab.component-DThKG7-a.js → tab.component-buuzN61Z.js} +1 -1
  518. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  519. package/development/table/table-wrapper.js +1 -1
  520. package/development/{table-wrapper.component-D1p7kqCB.js → table-wrapper.component-lwzfWj_O.js} +1 -1
  521. package/development/table.js +1 -1
  522. package/development/table.pure.js +1 -1
  523. package/development/tabs/common/styles.js +1 -1
  524. package/development/tabs/common.js +1 -1
  525. package/development/tabs/tab/tab.component.js +1 -1
  526. package/development/tabs/tab-group/tab-group.component.js +1 -1
  527. package/development/tabs/tab-group.js +1 -1
  528. package/development/tabs/tab-label/tab-label.component.js +1 -1
  529. package/development/tabs/tab-label.js +1 -1
  530. package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  531. package/development/tabs/tab-nav-bar.js +1 -1
  532. package/development/tabs/tab.js +1 -1
  533. package/development/tabs.js +5 -5
  534. package/development/tabs.pure.js +5 -5
  535. package/development/tag/tag/tag.component.js +1 -1
  536. package/development/tag/tag-group/tag-group.component.js +1 -1
  537. package/development/tag/tag-group.js +1 -1
  538. package/development/tag/tag.js +1 -1
  539. package/development/{tag-group.component-Cw46bt0E.js → tag-group.component-CgSsY4so.js} +1 -1
  540. package/development/{tag.component-Bl1nlIXQ.js → tag.component-DDHD0f_Z.js} +1 -1
  541. package/development/tag.js +2 -2
  542. package/development/tag.pure.js +2 -2
  543. package/development/teaser/teaser.component.js +1 -1
  544. package/development/teaser-hero/teaser-hero.component.js +1 -1
  545. package/development/{teaser-hero.component-BIOpoGME.js → teaser-hero.component-DIOC0KCx.js} +1 -1
  546. package/development/teaser-hero.js +1 -1
  547. package/development/teaser-hero.pure.js +1 -1
  548. package/development/teaser-product/common/teaser-product-common.js +1 -1
  549. package/development/teaser-product/common.js +1 -1
  550. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  551. package/development/teaser-product/teaser-product.js +1 -1
  552. package/development/{teaser-product-common-DYX370pm.js → teaser-product-common-Bn-YyeXw.js} +1 -1
  553. package/development/{teaser-product.component-CSArA8bH.js → teaser-product.component-BimnPgnF.js} +1 -1
  554. package/development/teaser-product.js +2 -2
  555. package/development/teaser-product.pure.js +2 -2
  556. package/development/{teaser.component-Cky6kKU0.js → teaser.component-Ci1zVbvf.js} +1 -1
  557. package/development/teaser.js +1 -1
  558. package/development/teaser.pure.js +1 -1
  559. package/development/time-input/time-input.component.js +1 -1
  560. package/development/{time-input.component-BtdSR8kB.js → time-input.component-BZ-9meEb.js} +1 -1
  561. package/development/time-input.js +1 -1
  562. package/development/time-input.pure.js +1 -1
  563. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  564. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  565. package/development/timetable-form/timetable-form-details.js +1 -1
  566. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  567. package/development/timetable-form/timetable-form-field.js +1 -1
  568. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  569. package/development/timetable-form/timetable-form-swap-button.js +1 -1
  570. package/development/timetable-form/timetable-form.js +1 -1
  571. package/development/{timetable-form-details.component-DJl5Qt9y.js → timetable-form-details.component-CJj4Ix0R.js} +1 -1
  572. package/development/{timetable-form-field.component-DQ_TzcF4.js → timetable-form-field.component-ZlYKZVdx.js} +1 -1
  573. package/development/{timetable-form-swap-button.component-Bh9aPmdn.js → timetable-form-swap-button.component-CnpDHEqk.js} +1 -1
  574. package/development/{timetable-form.component-N8h4JBlH.js → timetable-form.component-o0qXkQ3s.js} +1 -1
  575. package/development/timetable-form.js +4 -4
  576. package/development/timetable-form.pure.js +4 -4
  577. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  578. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  579. package/development/{timetable-occupancy-icon.component-lI7__-G5.js → timetable-occupancy-icon.component--0mckD_t.js} +1 -1
  580. package/development/timetable-occupancy-icon.js +1 -1
  581. package/development/timetable-occupancy-icon.pure.js +1 -1
  582. package/development/{timetable-occupancy.component-BBcznUh0.js → timetable-occupancy.component-Da5JZ1YL.js} +1 -1
  583. package/development/timetable-occupancy.js +1 -1
  584. package/development/timetable-occupancy.pure.js +1 -1
  585. package/development/title/title-base.js +1 -1
  586. package/development/title/title.component.js +1 -1
  587. package/development/{title-base-BdYKwj3-.js → title-base-CUh1dDaN.js} +1 -1
  588. package/development/{title.component-DSXVkddh.js → title.component--7kFUTWv.js} +2 -2
  589. package/development/title.js +2 -2
  590. package/development/title.pure.js +2 -2
  591. package/development/toast/toast.component.js +1 -1
  592. package/development/{toast.component-IhHx0Qt3.js → toast.component-Cr8wyDlQ.js} +1 -1
  593. package/development/toast.js +1 -1
  594. package/development/toast.pure.js +1 -1
  595. package/development/toggle/toggle/toggle.component.js +1 -1
  596. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  597. package/development/toggle/toggle-option.js +1 -1
  598. package/development/toggle/toggle.js +1 -1
  599. package/development/toggle-check/toggle-check.component.js +1 -1
  600. package/development/{toggle-check.component-_fDAuLob.js → toggle-check.component-DSN9PMAk.js} +1 -1
  601. package/development/toggle-check.js +1 -1
  602. package/development/toggle-check.pure.js +1 -1
  603. package/development/{toggle-option.component-DTS3a603.js → toggle-option.component-CsMbH_VC.js} +1 -1
  604. package/development/{toggle.component-BJpD1b9H.js → toggle.component-Dyt4IoG5.js} +1 -1
  605. package/development/toggle.js +2 -2
  606. package/development/toggle.pure.js +2 -2
  607. package/development/tooltip/tooltip.component.js +1 -1
  608. package/development/{tooltip.component-YaUQA-Id.js → tooltip.component-CkWwk338.js} +1 -1
  609. package/development/tooltip.js +1 -1
  610. package/development/tooltip.pure.js +1 -1
  611. package/development/train/train/train.component.js +1 -1
  612. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  613. package/development/train/train-blocked-passage.js +1 -1
  614. package/development/train/train-formation/train-formation.component.js +1 -1
  615. package/development/train/train-formation.js +1 -1
  616. package/development/train/train-wagon/train-wagon.component.js +1 -1
  617. package/development/train/train-wagon.js +1 -1
  618. package/development/train/train.js +1 -1
  619. package/development/{train-blocked-passage.component-BrUJK0gf.js → train-blocked-passage.component-CMSOBkRZ.js} +1 -1
  620. package/development/{train-formation.component-vt-nYQXA.js → train-formation.component-t-744--d.js} +1 -1
  621. package/development/{train-wagon.component-CNxkffOO.js → train-wagon.component-CCOQor0T.js} +1 -1
  622. package/development/{train.component-BgpmEDx-.js → train.component-saVL5OV2.js} +1 -1
  623. package/development/train.js +4 -4
  624. package/development/train.pure.js +4 -4
  625. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  626. package/development/{visual-checkbox.component-rdeoQN40.js → visual-checkbox.component-CJI3fnrF.js} +1 -1
  627. package/development/visual-checkbox.js +1 -1
  628. package/development/visual-checkbox.pure.js +1 -1
  629. package/dialog/dialog/dialog.component.js +1 -1
  630. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  631. package/dialog/dialog-actions.js +1 -1
  632. package/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
  633. package/dialog/dialog-close-button.js +1 -1
  634. package/dialog/dialog-content/dialog-content.component.js +1 -1
  635. package/dialog/dialog-content.js +1 -1
  636. package/dialog/dialog-title/dialog-title.component.js +1 -1
  637. package/dialog/dialog-title.js +1 -1
  638. package/dialog/dialog.js +1 -1
  639. package/dialog.js +5 -5
  640. package/dialog.pure.js +5 -5
  641. package/divider/divider.component.js +1 -1
  642. package/divider.js +1 -1
  643. package/divider.pure.js +1 -1
  644. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  645. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  646. package/expansion-panel/expansion-panel-content.js +1 -1
  647. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  648. package/expansion-panel/expansion-panel-header.js +1 -1
  649. package/expansion-panel/expansion-panel.js +1 -1
  650. package/expansion-panel.js +3 -3
  651. package/expansion-panel.pure.js +3 -3
  652. package/file-selector/common/file-selector-common.js +1 -1
  653. package/file-selector/common.js +1 -1
  654. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  655. package/file-selector/file-selector-dropzone.js +1 -1
  656. package/file-selector.js +2 -2
  657. package/file-selector.pure.js +2 -2
  658. package/flip-card/flip-card/flip-card.component.js +1 -1
  659. package/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  660. package/flip-card/flip-card-details.js +1 -1
  661. package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  662. package/flip-card/flip-card-summary.js +1 -1
  663. package/flip-card/flip-card.js +1 -1
  664. package/flip-card.js +3 -3
  665. package/flip-card.pure.js +3 -3
  666. package/footer/footer.component.js +1 -1
  667. package/footer.js +1 -1
  668. package/footer.pure.js +1 -1
  669. package/form-field/error/error.component.js +1 -1
  670. package/form-field/error.js +1 -1
  671. package/form-field/form-field/form-field.component.js +1 -1
  672. package/form-field/form-field.js +1 -1
  673. package/form-field/hint/hint.component.js +1 -1
  674. package/form-field.js +3 -3
  675. package/form-field.pure.js +3 -3
  676. package/header/common/header-action-common.js +1 -1
  677. package/header/common.js +1 -1
  678. package/header/header/header.component.js +1 -1
  679. package/header/header-environment/header-environment.component.js +1 -1
  680. package/header/header-environment.js +1 -1
  681. package/header/header.js +1 -1
  682. package/header.js +3 -3
  683. package/header.pure.js +3 -3
  684. package/icon/icon-base.js +1 -1
  685. package/icon/icon.component.js +1 -1
  686. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  687. package/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  688. package/icon-sidebar/icon-sidebar-container.js +1 -1
  689. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  690. package/icon-sidebar/icon-sidebar-content.js +1 -1
  691. package/icon-sidebar/icon-sidebar.js +1 -1
  692. package/icon-sidebar.js +3 -3
  693. package/icon-sidebar.pure.js +3 -3
  694. package/icon.js +1 -1
  695. package/icon.pure.js +1 -1
  696. package/image/image.component.js +1 -1
  697. package/{image.component-9ttsTuRh.js → image.component-_ZwNXHRl.js} +1 -1
  698. package/image.js +1 -1
  699. package/image.pure.js +1 -1
  700. package/{inline-link-common-B5AHg8oa.js → inline-link-common-CLxDNeTA.js} +1 -1
  701. package/journey-header/journey-header.component.js +1 -1
  702. package/journey-header.js +1 -1
  703. package/journey-header.pure.js +1 -1
  704. package/lead-container/lead-container.component.js +1 -1
  705. package/lead-container.js +1 -1
  706. package/lead-container.pure.js +1 -1
  707. package/link/common/block-link-common.js +1 -1
  708. package/link/common/inline-link-common.js +1 -1
  709. package/link/common/link-common.js +1 -1
  710. package/link/common.js +3 -3
  711. package/link-list/common/link-list-base.js +1 -1
  712. package/link-list/common.js +1 -1
  713. package/link-list/link-list-anchor.js +1 -1
  714. package/link-list/link-list.component.js +1 -1
  715. package/link-list/link-list.js +1 -1
  716. package/link-list-anchor/link-list-anchor.component.js +1 -1
  717. package/link-list-anchor.js +1 -1
  718. package/link-list-anchor.pure.js +1 -1
  719. package/{link-list.component-AiEJJGPT.js → link-list.component-BJK4TICr.js} +1 -1
  720. package/link-list.js +3 -3
  721. package/link-list.pure.js +2 -2
  722. package/link.js +3 -3
  723. package/link.pure.js +3 -3
  724. package/loading-indicator/loading-indicator.component.js +1 -1
  725. package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  726. package/loading-indicator-circle.js +1 -1
  727. package/loading-indicator-circle.pure.js +1 -1
  728. package/loading-indicator.js +1 -1
  729. package/loading-indicator.pure.js +1 -1
  730. package/logo/logo.component.js +1 -1
  731. package/logo.js +1 -1
  732. package/logo.pure.js +1 -1
  733. package/map-container/map-container.component.js +1 -1
  734. package/map-container.js +1 -1
  735. package/map-container.pure.js +1 -1
  736. package/menu/common/menu-action-common.js +1 -1
  737. package/menu/common.js +1 -1
  738. package/menu/menu/menu.component.js +1 -1
  739. package/menu/menu.js +1 -1
  740. package/menu.js +2 -2
  741. package/menu.pure.js +2 -2
  742. package/message/message.component.js +1 -1
  743. package/message.js +1 -1
  744. package/message.pure.js +1 -1
  745. package/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  746. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  747. package/mini-calendar/mini-calendar-day.js +1 -1
  748. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  749. package/mini-calendar/mini-calendar-month.js +1 -1
  750. package/mini-calendar/mini-calendar.js +1 -1
  751. package/mini-calendar.js +3 -3
  752. package/mini-calendar.pure.js +3 -3
  753. package/navigation/common/navigation-action-common.js +1 -1
  754. package/navigation/common.js +1 -1
  755. package/navigation/navigation/navigation.component.js +1 -1
  756. package/navigation/navigation-list/navigation-list.component.js +1 -1
  757. package/navigation/navigation-list.js +1 -1
  758. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  759. package/navigation/navigation-marker.js +1 -1
  760. package/navigation/navigation-section/navigation-section.component.js +1 -1
  761. package/navigation/navigation-section.js +1 -1
  762. package/navigation/navigation.js +1 -1
  763. package/navigation.js +5 -5
  764. package/navigation.pure.js +5 -5
  765. package/notification/notification.component.js +1 -1
  766. package/notification.js +1 -1
  767. package/notification.pure.js +1 -1
  768. package/option/optgroup/optgroup-base-element.js +1 -1
  769. package/option/optgroup/optgroup.component.js +1 -1
  770. package/option/optgroup.js +1 -1
  771. package/option/option/option.component.js +1 -1
  772. package/option/option-hint/option-hint.component.js +1 -1
  773. package/option/option-hint.js +1 -1
  774. package/option/option.js +1 -1
  775. package/option.js +3 -3
  776. package/option.pure.js +3 -3
  777. package/overlay/overlay.component.js +1 -1
  778. package/overlay.js +1 -1
  779. package/overlay.pure.js +1 -1
  780. package/package.json +2 -2
  781. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  782. package/paginator/compact-paginator.js +1 -1
  783. package/paginator/paginator/paginator.component.js +1 -1
  784. package/paginator/paginator.js +1 -1
  785. package/{paginator.component-BEr0qU0m.js → paginator.component-Dqwz6i2O.js} +3 -3
  786. package/paginator.js +2 -2
  787. package/paginator.pure.js +2 -2
  788. package/popover/popover.component.js +1 -1
  789. package/popover.js +1 -1
  790. package/popover.pure.js +1 -1
  791. package/radio-button/common/radio-button-common.js +1 -1
  792. package/radio-button/common.js +1 -1
  793. package/radio-button/radio-button.component.js +1 -1
  794. package/radio-button/radio-button.js +1 -1
  795. package/{radio-button.component-Bae-yK_U.js → radio-button.component-CG4uNkGk.js} +1 -1
  796. package/radio-button.js +2 -2
  797. package/radio-button.pure.js +2 -2
  798. package/screen-reader-only/screen-reader-only.component.js +1 -1
  799. package/screen-reader-only.js +1 -1
  800. package/screen-reader-only.pure.js +1 -1
  801. package/select/select.component.js +1 -1
  802. package/select.js +1 -1
  803. package/select.pure.js +1 -1
  804. package/selection-action-panel/selection-action-panel.component.js +1 -1
  805. package/selection-action-panel.js +1 -1
  806. package/selection-action-panel.pure.js +1 -1
  807. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  808. package/selection-expansion-panel.js +1 -1
  809. package/selection-expansion-panel.pure.js +1 -1
  810. package/sidebar/common/styles.js +1 -1
  811. package/sidebar/common.js +1 -1
  812. package/sidebar/sidebar/sidebar.component.js +1 -1
  813. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  814. package/sidebar/sidebar-close-button.js +1 -1
  815. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  816. package/sidebar/sidebar-container.js +1 -1
  817. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  818. package/sidebar/sidebar-content.js +1 -1
  819. package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  820. package/sidebar/sidebar-title.js +1 -1
  821. package/sidebar/sidebar.js +1 -1
  822. package/sidebar.js +5 -5
  823. package/sidebar.pure.js +5 -5
  824. package/signet/signet.component.js +1 -1
  825. package/signet.js +1 -1
  826. package/signet.pure.js +1 -1
  827. package/skiplink-list/skiplink-list.component.js +1 -1
  828. package/skiplink-list.js +1 -1
  829. package/skiplink-list.pure.js +1 -1
  830. package/slider/slider.component.js +1 -1
  831. package/slider.js +1 -1
  832. package/slider.pure.js +1 -1
  833. package/status/status.component.js +1 -1
  834. package/status.js +1 -1
  835. package/status.pure.js +1 -1
  836. package/stepper/step/step.component.js +1 -1
  837. package/stepper/step-label/step-label.component.js +1 -1
  838. package/stepper/step-label.js +1 -1
  839. package/stepper/step.js +1 -1
  840. package/stepper/stepper/stepper.component.js +1 -1
  841. package/stepper/stepper.js +1 -1
  842. package/stepper.js +3 -3
  843. package/stepper.pure.js +3 -3
  844. package/table/table-wrapper/table-wrapper.component.js +1 -1
  845. package/table/table-wrapper.js +1 -1
  846. package/table.js +1 -1
  847. package/table.pure.js +1 -1
  848. package/tabs/common/styles.js +1 -1
  849. package/tabs/common.js +1 -1
  850. package/tabs/tab/tab.component.js +1 -1
  851. package/tabs/tab-group/tab-group.component.js +1 -1
  852. package/tabs/tab-group.js +1 -1
  853. package/tabs/tab-label/tab-label.component.js +1 -1
  854. package/tabs/tab-label.js +1 -1
  855. package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  856. package/tabs/tab-nav-bar.js +1 -1
  857. package/tabs/tab.js +1 -1
  858. package/tabs.js +5 -5
  859. package/tabs.pure.js +5 -5
  860. package/tag/tag/tag.component.js +1 -1
  861. package/tag/tag-group/tag-group.component.js +1 -1
  862. package/tag/tag-group.js +1 -1
  863. package/tag/tag.js +1 -1
  864. package/tag.js +2 -2
  865. package/tag.pure.js +2 -2
  866. package/teaser/teaser.component.js +1 -1
  867. package/teaser-hero/teaser-hero.component.js +1 -1
  868. package/teaser-hero.js +1 -1
  869. package/teaser-hero.pure.js +1 -1
  870. package/teaser-product/common/teaser-product-common.js +1 -1
  871. package/teaser-product/common.js +1 -1
  872. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  873. package/teaser-product/teaser-product.js +1 -1
  874. package/teaser-product.js +2 -2
  875. package/teaser-product.pure.js +2 -2
  876. package/teaser.js +1 -1
  877. package/teaser.pure.js +1 -1
  878. package/time-input/time-input.component.js +1 -1
  879. package/time-input.js +1 -1
  880. package/time-input.pure.js +1 -1
  881. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  882. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  883. package/timetable-form/timetable-form-details.js +1 -1
  884. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  885. package/timetable-form/timetable-form-field.js +1 -1
  886. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  887. package/timetable-form/timetable-form-swap-button.js +1 -1
  888. package/timetable-form/timetable-form.js +1 -1
  889. package/timetable-form.js +4 -4
  890. package/timetable-form.pure.js +4 -4
  891. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  892. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  893. package/timetable-occupancy-icon.js +1 -1
  894. package/timetable-occupancy-icon.pure.js +1 -1
  895. package/timetable-occupancy.js +1 -1
  896. package/timetable-occupancy.pure.js +1 -1
  897. package/title/title-base.js +1 -1
  898. package/title/title.component.js +1 -1
  899. package/{title.component-DAGyXwDm.js → title.component-BYShLJX4.js} +1 -1
  900. package/title.js +2 -2
  901. package/title.pure.js +2 -2
  902. package/toast/toast.component.js +1 -1
  903. package/toast.js +1 -1
  904. package/toast.pure.js +1 -1
  905. package/toggle/toggle/toggle.component.js +1 -1
  906. package/toggle/toggle-option/toggle-option.component.js +1 -1
  907. package/toggle/toggle-option.js +1 -1
  908. package/toggle/toggle.js +1 -1
  909. package/toggle-check/toggle-check.component.js +1 -1
  910. package/toggle-check.js +1 -1
  911. package/toggle-check.pure.js +1 -1
  912. package/toggle.js +2 -2
  913. package/toggle.pure.js +2 -2
  914. package/tooltip/tooltip.component.js +1 -1
  915. package/tooltip.js +1 -1
  916. package/tooltip.pure.js +1 -1
  917. package/train/train/train.component.js +1 -1
  918. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  919. package/train/train-blocked-passage.js +1 -1
  920. package/train/train-formation/train-formation.component.js +1 -1
  921. package/train/train-formation.js +1 -1
  922. package/train/train-wagon/train-wagon.component.js +1 -1
  923. package/train/train-wagon.js +1 -1
  924. package/train/train.js +1 -1
  925. package/train.js +4 -4
  926. package/train.pure.js +4 -4
  927. package/visual-checkbox/visual-checkbox.component.js +1 -1
  928. package/visual-checkbox.js +1 -1
  929. package/visual-checkbox.pure.js +1 -1
  930. /package/{accordion.component-Bos7Gwof.js → accordion.component-wCiqsnEs.js} +0 -0
  931. /package/{action-group.component-BYif_gBd.js → action-group.component-CE_MPTDh.js} +0 -0
  932. /package/{alert-group.component-Es6bBiff.js → alert-group.component-CV5f0dUD.js} +0 -0
  933. /package/{alert.component-BiAbeeYd.js → alert.component-D_ePlEJb.js} +0 -0
  934. /package/{autocomplete-base-element-Bo4fEieX.js → autocomplete-base-element-BON705dp.js} +0 -0
  935. /package/{breadcrumb-group.component-CKNsaUqs.js → breadcrumb-group.component-Ci2I0mD3.js} +0 -0
  936. /package/{breadcrumb.component-C1xO7cgt.js → breadcrumb.component-DhJGW-dZ.js} +0 -0
  937. /package/{button-common-BMEhm-dn.js → button-common-DCjF70vG.js} +0 -0
  938. /package/{calendar-cell-base-element-CBaanSU3.js → calendar-cell-base-element-BmCNJgsW.js} +0 -0
  939. /package/{calendar-day.component-BBszRsGw.js → calendar-day.component-BECTdjpk.js} +0 -0
  940. /package/{calendar.component-C1jk_uE0.js → calendar.component-Ba0Fwb29.js} +0 -0
  941. /package/{card-action-common-Ct0e9dtO.js → card-action-common-CB5zFIAM.js} +0 -0
  942. /package/{card-badge.component-D0r2iixU.js → card-badge.component-DE2ohFDU.js} +0 -0
  943. /package/{card.component-D14GBu6y.js → card.component-D60BZprX.js} +0 -0
  944. /package/{carousel-item.component-DUII_cjr.js → carousel-item.component-PU5q192l.js} +0 -0
  945. /package/{carousel-list.component-C0i7aHTM.js → carousel-list.component-BB7unlht.js} +0 -0
  946. /package/{carousel.component-BxKrGk84.js → carousel.component-Cky6IF7Z.js} +0 -0
  947. /package/{checkbox-common-BpW4_bbi.js → checkbox-common-Brv8RN2H.js} +0 -0
  948. /package/{chip-group.component-BqBYzfXA.js → chip-group.component-yS1gonBt.js} +0 -0
  949. /package/{chip-label.component-B76PdOCg.js → chip-label.component-CZGsirh5.js} +0 -0
  950. /package/{chip.component-Cu5guQs8.js → chip.component-D9KWgH37.js} +0 -0
  951. /package/{clock.component-DHFuoi2A.js → clock.component-DpU8KAT5.js} +0 -0
  952. /package/{compact-paginator.component-BIAPutro.js → compact-paginator.component-CQDbQFSM.js} +0 -0
  953. /package/{container.component-CkYADvvc.js → container.component-BKZcAIyH.js} +0 -0
  954. /package/{date-input.component-B3f_GThS.js → date-input.component-e3c3CgE1.js} +0 -0
  955. /package/{datepicker-button-B91ISxhE.js → datepicker-button-SUUQkrOL.js} +0 -0
  956. /package/{datepicker.component-DJ_9VBnC.js → datepicker.component-BKR_413s.js} +0 -0
  957. /package/{dialog-actions.component-Cp2cISc5.js → dialog-actions.component-CHLR1IFk.js} +0 -0
  958. /package/{dialog-close-button.component-CQfIeflt.js → dialog-close-button.component-D4qtgj3k.js} +0 -0
  959. /package/{dialog-content.component-BTAZtlGb.js → dialog-content.component-Xa9OyngJ.js} +0 -0
  960. /package/{dialog-title.component-PVHbhrCM.js → dialog-title.component-CGPNhsMX.js} +0 -0
  961. /package/{dialog.component-Dv5ch5mh.js → dialog.component-BGriJzOq.js} +0 -0
  962. /package/{divider.component-D4C31FWl.js → divider.component-DxkWLCl4.js} +0 -0
  963. /package/{error.component-DH9Obd7a.js → error.component-DbIaA-xT.js} +0 -0
  964. /package/{expansion-panel-content.component--OJYAiBh.js → expansion-panel-content.component-rstbG52A.js} +0 -0
  965. /package/{expansion-panel-header.component-uhZcVE_i.js → expansion-panel-header.component-DX4mPhIU.js} +0 -0
  966. /package/{expansion-panel.component-DBnZ6IgB.js → expansion-panel.component-B2lmWj3c.js} +0 -0
  967. /package/{file-selector-common-BL9mM4SZ.js → file-selector-common-yy_QdLWk.js} +0 -0
  968. /package/{file-selector-dropzone.component-Ctar2kEw.js → file-selector-dropzone.component-g0oeq3_7.js} +0 -0
  969. /package/{flip-card-details.component-CUaLeEKc.js → flip-card-details.component-DaKTOPiS.js} +0 -0
  970. /package/{flip-card-summary.component-T2UMG_YI.js → flip-card-summary.component-BSKe6OsO.js} +0 -0
  971. /package/{flip-card.component-D7HNqWXz.js → flip-card.component-D8D-b1oO.js} +0 -0
  972. /package/{footer.component-b2docCY_.js → footer.component-DVnt-rqs.js} +0 -0
  973. /package/{form-field.component-BwZDRKbQ.js → form-field.component-Bi6alIG7.js} +0 -0
  974. /package/{header-action-common-DSx5QDWI.js → header-action-common-D7IMoI9s.js} +0 -0
  975. /package/{header-environment.component-rUR1XhR5.js → header-environment.component-D5OyNuJt.js} +0 -0
  976. /package/{header.component-UQUFcMOD.js → header.component-iBP8on-G.js} +0 -0
  977. /package/{hint.component-CE2D2TLU.js → hint.component-DiHbPOnM.js} +0 -0
  978. /package/{icon-base-ChhGqAkg.js → icon-base-DeoAyImv.js} +0 -0
  979. /package/{icon-sidebar-container.component-BrBnPZP_.js → icon-sidebar-container.component-DdcVHbJr.js} +0 -0
  980. /package/{icon-sidebar-content.component-DXoyBsGO.js → icon-sidebar-content.component-CQ5gyai9.js} +0 -0
  981. /package/{icon-sidebar.component-CSUM1GjR.js → icon-sidebar.component-CYp0wuYn.js} +0 -0
  982. /package/{journey-header.component-BBRryMN8.js → journey-header.component-D56gqkKi.js} +0 -0
  983. /package/{lead-container.component-D9Wotyyl.js → lead-container.component-BUT_gJpV.js} +0 -0
  984. /package/{link-common-C-LzCFHg.js → link-common-BGEp0NyU.js} +0 -0
  985. /package/{link-list-anchor.component-B1hvFA17.js → link-list-anchor.component-BHS2kpvU.js} +0 -0
  986. /package/{link-list-base-COzF-Lbi.js → link-list-base-l4KAzs4B.js} +0 -0
  987. /package/{loading-indicator-circle.component-BSVoTtX4.js → loading-indicator-circle.component-CNmWNbbF.js} +0 -0
  988. /package/{loading-indicator.component-B85wTVDM.js → loading-indicator.component-D7O1Oiu6.js} +0 -0
  989. /package/{logo.component-COL1QTWW.js → logo.component-CH2K-zLa.js} +0 -0
  990. /package/{map-container.component-CEyz8sfi.js → map-container.component-DbMFVr7m.js} +0 -0
  991. /package/{menu-action-common-p5YGaq2r.js → menu-action-common-DFfT-vSo.js} +0 -0
  992. /package/{menu.component-DohFZw2N.js → menu.component-DOzjXsTL.js} +0 -0
  993. /package/{message.component-DhN-aFms.js → message.component-CZLg8Agz.js} +0 -0
  994. /package/{mini-button-group.component-DmxOnls1.js → mini-button-group.component-DRs7vhk9.js} +0 -0
  995. /package/{mini-button-link.component-l5MIlgEB.js → mini-button-link.component-Czv7tPIq.js} +0 -0
  996. /package/{mini-calendar-day.component-DOMxLDsW.js → mini-calendar-day.component-C1u-7WwY.js} +0 -0
  997. /package/{mini-calendar-month.component-BAN0k3N6.js → mini-calendar-month.component-CPtonQ15.js} +0 -0
  998. /package/{mini-calendar.component-DJfOT7ir.js → mini-calendar.component-Ck144S-D.js} +0 -0
  999. /package/{navigation-action-common-AzRltwrb.js → navigation-action-common-CLsrcLBB.js} +0 -0
  1000. /package/{navigation-list.component-BIl68kYy.js → navigation-list.component-CjhrqS3z.js} +0 -0
  1001. /package/{navigation-marker.component-BzbbKlfT.js → navigation-marker.component-nPOUlkgg.js} +0 -0
  1002. /package/{navigation-section.component-DQxCi3O_.js → navigation-section.component-CkMmzz5Y.js} +0 -0
  1003. /package/{navigation.component-D3xUqPZB.js → navigation.component-Djv4CC1A.js} +0 -0
  1004. /package/{notification.component-D80Wl5xM.js → notification.component-DcKSFQbG.js} +0 -0
  1005. /package/{optgroup-base-element-B2WJv9gb.js → optgroup-base-element-tgwVzTR-.js} +0 -0
  1006. /package/{option-hint.component-CZH1i3mN.js → option-hint.component-LqqkYqZk.js} +0 -0
  1007. /package/{option.component-CMp8QVZT.js → option.component-DLd_HcYc.js} +0 -0
  1008. /package/{overlay.component-CbvHE6Lw.js → overlay.component-Vjh2fGRi.js} +0 -0
  1009. /package/{panel-mixin-B6dEo538.js → panel-mixin-CHWPlhxd.js} +0 -0
  1010. /package/{popover.component-CnOrQaaa.js → popover.component-BwNipVtb.js} +0 -0
  1011. /package/{radio-button-common-C1mIf9KY.js → radio-button-common-DU3-BdU-.js} +0 -0
  1012. /package/{sbb-tokens-CWYlBuxJ.js → sbb-tokens-C-MoUcho.js} +0 -0
  1013. /package/{screen-reader-only.component-Dxj7rAnR.js → screen-reader-only.component-BDVeoCjr.js} +0 -0
  1014. /package/{select.component-BT6RbERH.js → select.component-lpdrrh_X.js} +0 -0
  1015. /package/{selection-action-panel.component-C3g4OJY9.js → selection-action-panel.component-B4oqqV61.js} +0 -0
  1016. /package/{selection-expansion-panel.component-CGSkSA6y.js → selection-expansion-panel.component-CLy_okzL.js} +0 -0
  1017. /package/{selection-group-base-element-B2VHp5_l.js → selection-group-base-element-1JcLfI8U.js} +0 -0
  1018. /package/{sidebar-close-button.component-BEYnX3Hk.js → sidebar-close-button.component-B6t1fB8p.js} +0 -0
  1019. /package/{sidebar-container.component-BGh7mxq4.js → sidebar-container.component-nAJowuEC.js} +0 -0
  1020. /package/{sidebar-content.component-BEI3kpFh.js → sidebar-content.component-DRxAnYLT.js} +0 -0
  1021. /package/{sidebar-title.component-CvKixoOS.js → sidebar-title.component-4V-FrhrP.js} +0 -0
  1022. /package/{sidebar.component-Dsx1FAg0.js → sidebar.component-B93IV0Uq.js} +0 -0
  1023. /package/{signet.component-ImdnCMXV.js → signet.component-C0UZifjQ.js} +0 -0
  1024. /package/{skiplink-list.component-hqQIOxQD.js → skiplink-list.component-CoM0kPB3.js} +0 -0
  1025. /package/{slider.component-BlRVR6iU.js → slider.component-CVRhN4ui.js} +0 -0
  1026. /package/{status.component-lw_WDs7W.js → status.component-DUlR4ZTD.js} +0 -0
  1027. /package/{step-label.component-Dqis4FAN.js → step-label.component-9c6AsssT.js} +0 -0
  1028. /package/{step.component-xDgeguVi.js → step.component-BObsD05D.js} +0 -0
  1029. /package/{stepper.component-CYLW1eRI.js → stepper.component-0cm4c8_V.js} +0 -0
  1030. /package/{sticky-bar.component-37iKnzVR.js → sticky-bar.component-Cjbgus2r.js} +0 -0
  1031. /package/{styles-Dqjgvm-Y.js → styles-BbZA3P0N.js} +0 -0
  1032. /package/{styles-CMI5maF5.js → styles-Cedk8xO5.js} +0 -0
  1033. /package/{styles-BNu0Fjw5.js → styles-DGAxTLMz.js} +0 -0
  1034. /package/{tab-group.component-BCJix5Cq.js → tab-group.component-BeOUc69a.js} +0 -0
  1035. /package/{tab-label.component-CpdUyfiq.js → tab-label.component-CzS2ALh4.js} +0 -0
  1036. /package/{tab-nav-bar.component-7mG-Dk6g.js → tab-nav-bar.component-BwvzhK69.js} +0 -0
  1037. /package/{tab.component-rEJAbgtn.js → tab.component-DKU9Npfq.js} +0 -0
  1038. /package/{table-wrapper.component-BpMpU8um.js → table-wrapper.component-Ds-L_Ea6.js} +0 -0
  1039. /package/{tag-group.component-DkQVBbQY.js → tag-group.component-BiuzCZFt.js} +0 -0
  1040. /package/{tag.component-CsNszQvB.js → tag.component-z9wZvWME.js} +0 -0
  1041. /package/{teaser-hero.component-D8yj-N5n.js → teaser-hero.component-VqWAZaWS.js} +0 -0
  1042. /package/{teaser-product-common-Ct19HzVX.js → teaser-product-common-CLEihVea.js} +0 -0
  1043. /package/{teaser-product.component-Csj9pAne.js → teaser-product.component-D1_F6jN3.js} +0 -0
  1044. /package/{teaser.component-WZL0vAo9.js → teaser.component--IKyi0-p.js} +0 -0
  1045. /package/{time-input.component-CuQ-3YEM.js → time-input.component-I1it887_.js} +0 -0
  1046. /package/{timetable-form-details.component-mWKaBW_9.js → timetable-form-details.component-DJPFaGbp.js} +0 -0
  1047. /package/{timetable-form-field.component-Cv_lv8vf.js → timetable-form-field.component-DhahZl0d.js} +0 -0
  1048. /package/{timetable-form-swap-button.component-C71eoTQH.js → timetable-form-swap-button.component-BiK3VfwS.js} +0 -0
  1049. /package/{timetable-form.component-YcvKAlfz.js → timetable-form.component-Bxt2N6Ir.js} +0 -0
  1050. /package/{timetable-occupancy-icon.component-Ck0VCzxz.js → timetable-occupancy-icon.component-BM8ncpbN.js} +0 -0
  1051. /package/{timetable-occupancy.component-BCXPxz68.js → timetable-occupancy.component-DsZHIFrr.js} +0 -0
  1052. /package/{title-base-DV0qhfG9.js → title-base-Cu3A4Qtx.js} +0 -0
  1053. /package/{toast.component-CORnf2Tl.js → toast.component-D9Msa7td.js} +0 -0
  1054. /package/{toggle-check.component-DvoslSRr.js → toggle-check.component-DeHdUQ0h.js} +0 -0
  1055. /package/{toggle-option.component-pX3tNwjE.js → toggle-option.component-BnOb1ATD.js} +0 -0
  1056. /package/{toggle.component-B20xAw1V.js → toggle.component-BJomCzot.js} +0 -0
  1057. /package/{tooltip.component-ocVpJogs.js → tooltip.component-BhzGF2KQ.js} +0 -0
  1058. /package/{train-blocked-passage.component-C-ltrsRr.js → train-blocked-passage.component-CNEXrync.js} +0 -0
  1059. /package/{train-formation.component-y0TGSIGR.js → train-formation.component-CByO_sU4.js} +0 -0
  1060. /package/{train-wagon.component-BT4Xnzxr.js → train-wagon.component-MDsylhfh.js} +0 -0
  1061. /package/{train.component-NTimqCpY.js → train.component-DbbswJvo.js} +0 -0
  1062. /package/{visual-checkbox.component-CJWm74Zi.js → visual-checkbox.component-6sAtAAFY.js} +0 -0
@@ -353,4 +353,4 @@ var SbbNavigationSectionElement = (() => {
353
353
  //#endregion
354
354
  export { SbbNavigationSectionElement as t };
355
355
 
356
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZWN0aW9uLmNvbXBvbmVudC1DblZyUkVUTi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLXNlY3Rpb24vbmF2aWdhdGlvbi1zZWN0aW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1zZWN0aW9uL25hdmlnYXRpb24tc2VjdGlvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tZGlzcGxheTogbm9uZTtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNvbHVtbjogMSAvIC0xO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9zaXRpb246IGZpeGVkO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTN4KVxuICApO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWVhc2luZzogZWFzZS1vdXQ7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLWxheW91dC1iYXNlLW9mZnNldC1yZXNwb25zaXZlKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbCk7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi10cmFuc2xhdGU6IDEwMCU7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xMngpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXdpZHRoOiAxMDBkdnc7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1oZWlnaHQ6IDEwMGR2aDtcblxuICAvLyBXZSBoYXZlIHRvIHBsYWNlIHRoZSBzdHlsZXMgb24gdGhlIGhvc3QgYXMgaXQgaGFzIHRvIGJlIGFsaWduZWQgb24gdGhlIGdyaWQgb2YgdGhlIG5hdmlnYXRpb25cbiAgZGlzcGxheTogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1kaXNwbGF5KTtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9zaXRpb24pO1xuICBncmlkLWNvbHVtbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1jb2x1bW4pO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICB3aWR0aDogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1oZWlnaHQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItbmF2aWdhdGlvbi16LWluZGV4LCB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpKTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNvbHVtbjogNSAvIDEzO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi00eClcbiAgICApO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhsKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTh4KVxuICAgICAgdmFyKC0tc2JiLWxheW91dC1iYXNlLW9mZnNldC1yZXNwb25zaXZlKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi10cmFuc2xhdGU6IDA7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXdpZHRoOiBjYWxjKFxuICAgICAgMTAwJSArIHZhcigtLXNiYi1sYXlvdXQtYmFzZS1vZmZzZXQtcmVzcG9uc2l2ZSkgKyB2YXIoLS1zYmItZ3JpZC1iYXNlLWd1dHRlci1yZXNwb25zaXZlKVxuICAgICk7XG5cbiAgICB0cmFuc2xhdGU6IGNhbGModmFyKC0tc2JiLWdyaWQtYmFzZS1ndXR0ZXItcmVzcG9uc2l2ZSkgKiAtMSkgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogdWx0cmEpIHtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY29sdW1uOiA2IC8gMTc7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKVxuICAgICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS1sKTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtb3BlbmVkKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1wb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tZGlzcGxheTogYmxvY2s7XG59XG5cbjo6c2xvdHRlZCgqKSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtc3RhcnQpO1xufVxuXG4vLyBBbHdheXMgcGxhY2UgdGhlIHNiYi1idXR0b24gb24gYSBuZXcgcm93XG46OnNsb3R0ZWQoOnN0YXRlKHNiYi1idXR0b24pKSB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xufVxuXG4uc2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9pbnRlci1ldmVudHMpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24taGVpZ2h0KTtcbn1cblxuLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWNvbG9yLCB2YXIoLS1zYmItY29sb3ItMS1uZWdhdGl2ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA6aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGNsb3NlO1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIG91dGxpbmU6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIENhbnZhc1RleHQ7XG4gIH1cbn1cblxuLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX3dyYXBwZXIge1xuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyKCRuZWdhdGl2ZTogdHJ1ZSk7XG5cbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBhZGRpbmctYmxvY2spO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIC0tc2JiLXNjcm9sbGJhci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5zYmItbmF2aWdhdGlvbi1zZWN0aW9uX19oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY29udGVudC1wYWRkaW5nLWlubGluZS1zdGFydCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogdWx0cmEpIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIDQ7XG4gIH1cbn1cblxuLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2JhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zbGF0ZTogY2FsYygoMTAwJSArIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KSkgKiAtMSkgMDtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fdGl0bGUge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtcnVsZXM7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtNDtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC0yO1xuICB9XG59XG5cbi5zYmItbmF2aWdhdGlvbi1zZWN0aW9uX19jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS1sKSB2YXIoLS1zYmItZ3JpZC1iYXNlLWd1dHRlci1yZXNwb25zaXZlKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcGFkZGluZy1pbmxpbmUpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIGRlbGF5OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICBwcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNsYXRlO1xuICAgIH1cblxuICAgIDpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuZWQpKSAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2xhdGU6IDAgMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHVsdHJhKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXRyYW5zbGF0ZSkgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXRyYW5zbGF0ZSkgMDtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi5wdXJlLnRzJztcbmltcG9ydCB7XG4gIElTX0ZPQ1VTQUJMRV9RVUVSWSxcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbiAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLFxufSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMvb3Blbi1jbG9zZS1iYXNlLWVsZW1lbnQudHMnO1xuaW1wb3J0IHtcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3csXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSwgb21pdEVtcHR5Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgaTE4bkdvQmFjayB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IFNiYlVwZGF0ZVNjaGVkdWxlck1peGluLCDJtXN0YXRlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7XG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG59IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1idXR0b24vbmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rL25hdmlnYXRpb24tbGluay5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLXNlY3Rpb24uc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIudHMnO1xuXG4vLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlbW92ZSBjYWxsIHRvIGRlZmluZS5cblNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudC5kZWZpbmUoKTtcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIGBzYmItbmF2aWdhdGlvbi1saXN0YCB3aXRoaW4gYSBgc2JiLW5hdmlnYXRpb25gLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgaW50byB0aGUgYHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25gLlxuICovXG5leHBvcnQgY2xhc3MgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGJlIHNob3duIGJlZm9yZSB0aGUgYWN0aW9uIGxpc3QuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtY29udGVudCcsIHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aXRsZUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbiBzZWN0aW9uLlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIG5hdiBlbGVtZW50IGFuZCBpcyByZWFkIGFzIGEgdGl0bGUgb2YgdGhlIG5hdmlnYXRpb24tc2VjdGlvbi5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktYmFjay1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlCYWNrTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldCBzdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICBzdXBlci5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFIaWRkZW4gPSB0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyA/ICd0cnVlJyA6IG51bGw7XG4gIH1cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldCBzdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHN1cGVyLnN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlyc3RMZXZlbE5hdmlnYXRpb24/OiBTYmJOYXZpZ2F0aW9uRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfd2luZG93RXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhc3RLZXlkb3duRXZlbnQ6IEtleWJvYXJkRXZlbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbWVkaWFNYXRjaGVyQ29udHJvbGxlciA9IG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAgICBbU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEJlbG93XTogKG1hdGNoZXMpID0+IHtcbiAgICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJykge1xuICAgICAgICB0aGlzLl9zZXROYXZpZ2F0aW9uSW5lcnQobWF0Y2hlcyk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB7XG4gICAgICB0aGlzLl9sYXN0S2V5ZG93bkV2ZW50ID0gZTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdmb2N1c291dCcsIChlKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGUucmVsYXRlZFRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmXG4gICAgICAgICF0aGlzLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkgJiZcbiAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyAmJlxuICAgICAgICB0aGlzLl9sYXN0S2V5ZG93bkV2ZW50Py5rZXkgPT09ICdUYWInICYmXG4gICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50XG4gICAgICApIHtcbiAgICAgICAgY29uc3QgbmF2aWdhdGlvbkVsZW1lbnQgPSB0aGlzLmNsb3Nlc3Q8U2JiTmF2aWdhdGlvbkVsZW1lbnQ+KCdzYmItbmF2aWdhdGlvbicpO1xuICAgICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgbmF2aWdhdGlvbkVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KElTX0ZPQ1VTQUJMRV9RVUVSWSkgPz8gW10sXG4gICAgICAgICkuZmlsdGVyKChlKSA9PiAhdGhpcy5jb250YWlucyhlKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2xhc3RLZXlkb3duRXZlbnQuc2hpZnRLZXkgfHwgIWZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRyaWdnZXJJbmRleCA9IGZvY3VzYWJsZUVsZW1lbnRzLmluZGV4T2YodGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgICAgICAgIChmb2N1c2FibGVFbGVtZW50c1t0cmlnZ2VySW5kZXggKyAxXSA/PyBuYXZpZ2F0aW9uRWxlbWVudCEuY2xvc2VCdXR0b24pPy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIG5hdmlnYXRpb24gc2VjdGlvbiBvbiB0cmlnZ2VyIGNsaWNrLlxuICAgKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnIHx8ICF0aGlzLmhhc1VwZGF0ZWQgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc05hdmlnYXRpb25CdXR0b24odGhpcy5fdHJpZ2dlckVsZW1lbnQpKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8ubWFya2VyPy5zZWxlY3QodGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nsb3NlUHJldmlvdXNOYXZpZ2F0aW9uU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ8m1bmF2aWdhdGlvbnNlY3Rpb25vcGVuaW5nJykpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0ID0gZmFsc2U7XG4gICAgdGhpcy5fYXR0YWNoV2luZG93RXZlbnRzKCk7XG4gICAgdGhpcy5fc2V0TmF2aWdhdGlvbkluZXJ0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVBY3Rpb24oKTtcbiAgICB0aGlzLmNvbXBsZXRlVXBkYXRlKCk7XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCcuc2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fY29udGFpbmVyJyk/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fcmVzZXRMaXN0cygpO1xuICAgIHRoaXMuX3NldE5hdmlnYXRpb25JbmVydCgpO1xuICAgIGlmICh0aGlzLl9pc0JlbG93TGFyZ2UoKSAmJiB0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZVByZXZpb3VzTmF2aWdhdGlvblNlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fZmlyc3RMZXZlbE5hdmlnYXRpb24/LmFjdGl2ZU5hdmlnYXRpb25TZWN0aW9uPy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbmF2aWdhdGlvbiBzZWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyB8fCAhdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtW5hdmlnYXRpb25zZWN0aW9uY2xvc2luZycpKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgaWYgKHRoaXMuX2lzTmF2aWdhdGlvbkJ1dHRvbih0aGlzLl90cmlnZ2VyRWxlbWVudCkpIHtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmNvbm5lY3RlZFNlY3Rpb24gPSB0aGlzO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMuX2ZpcnN0TGV2ZWxOYXZpZ2F0aW9uID0gdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmNsb3Nlc3Q/Lignc2JiLW5hdmlnYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTmF2aWdhdGlvbkJ1dHRvbih0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwpOiB0cmlnZ2VyIGlzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHtcbiAgICByZXR1cm4gdHJpZ2dlcj8ubG9jYWxOYW1lID09PSAnc2JiLW5hdmlnYXRpb24tYnV0dG9uJztcbiAgfVxuXG4gIHByaXZhdGUgX3NldE5hdmlnYXRpb25JbmVydChpc0JlbG93TGFyZ2U6IGJvb2xlYW4gPSB0aGlzLl9pc0JlbG93TGFyZ2UoKSk6IHZvaWQge1xuICAgIGNvbnN0IG5hdmlnYXRpb25Db250ZW50ID0gdGhpcy5fZmlyc3RMZXZlbE5hdmlnYXRpb24/Lm5hdmlnYXRpb25Db250ZW50O1xuICAgIGlmIChuYXZpZ2F0aW9uQ29udGVudCkge1xuICAgICAgbmF2aWdhdGlvbkNvbnRlbnQuaW5lcnQgPSBpc0JlbG93TGFyZ2UgJiYgdGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCc7XG4gICAgfVxuICB9XG5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXNldExpc3RzKCk6IHZvaWQge1xuICAgIEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw8U2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQ+KFxuICAgICAgICAnOnN0YXRlKHNlY3Rpb24tYWN0aW9uKTpzdGF0ZShhY3Rpb24tYWN0aXZlKScsXG4gICAgICApID8/IFtdLFxuICAgICkuZm9yRWFjaCgoYWN0aW9uKSA9PiDJtXN0YXRlQ29udHJvbGxlcihhY3Rpb24pLmRlbGV0ZSgnYWN0aW9uLWFjdGl2ZScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9vbktleWRvd25FdmVudChldmVudCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBDbG9zZSBuYXZpZ2F0aW9uIHNlY3Rpb24gb24gYWN0aW9uIGNsaWNrIG9yIHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UgY2xpY2tcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9oYW5kbGVOYXZpZ2F0aW9uU2VjdGlvbkNsb3NlLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIHdhcyB0cmlnZ2VyZWQgb24gYW4gZWxlbWVudCB0aGF0IHNob3VsZCBjbG9zZSB0aGUgc2VjdGlvbi5cbiAgcHJpdmF0ZSBfaGFuZGxlTmF2aWdhdGlvblNlY3Rpb25DbG9zZSA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICBldmVudFxuICAgICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IGVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXG4gICAgICAgIC5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwpKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9pc0Nsb3NlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBlbGVtZW50Lm5vZGVOYW1lID09PSAnQScgfHxcbiAgICAgICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgJiZcbiAgICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpIHx8XG4gICAgICAgICAgZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UnKSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzQmVsb3dMYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWFNYXRjaGVyQ29udHJvbGxlci5tYXRjaGVzKFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRCZWxvdykgPz8gZmFsc2U7XG4gIH1cblxuICAvLyBDbG9zZXMgdGhlIG5hdmlnYXRpb24gb24gXCJFc2NcIiBrZXkgcHJlc3NlZC5cbiAgcHJpdmF0ZSBfb25LZXlkb3duRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlQWN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLnF1ZXJ5U2VsZWN0b3I8U2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQ+KFxuICAgICAgJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnLFxuICAgICk7XG4gICAgybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudCk/LnRvZ2dsZSgnYWN0aW9uLWFjdGl2ZScsIHRydWUpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90IHx8PSAnbmF2aWdhdGlvbi1zZWN0aW9uJztcbiAgICB0aGlzLmlkIHx8PSBgc2JiLW5hdmlnYXRpb24tc2VjdGlvbi0ke25leHRJZCsrfWA7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gbnVsbDtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8bmF2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvblwiXG4gICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSR7IXRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsID8gJ3RpdGxlJyA6IG5vdGhpbmd9XG4gICAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eUxhYmVsID8gdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgOiBub3RoaW5nfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8IS0tIEJhY2sgYnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBpZD1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYmFjay1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19iYWNrXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlCYWNrTGFiZWwgfHwgaTE4bkdvQmFja1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlXG4gICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBzYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNsb3NlXG4gICAgICAgICAgICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fdGl0bGVcIiBpZD1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwidGl0bGVcIj4ke3RoaXMudGl0bGVDb250ZW50fTwvc2xvdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uJzogU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzJDQSw0QkFBNEIsT0FBTTtBQUVsQyxJQUFJLFNBQVM7Ozs7OztJQU9BLHFDQUEyQjttQkFBUyx3QkFBd0IsdUJBQXVCOzs7Ozs7Ozs7Ozs7O2NBQW5GLG9DQUFvQyxZQUFnRDs7OytCQU85RixVQUFTLEdBQ1QsU0FBUztJQUFFLFdBQVc7SUFBaUIsU0FBUztJQUFNLFdBQVc7R0FBa0IsQ0FBRSxDQUFDOzBCQVF0RixZQUFXLEdBQ1gsU0FBUSxDQUFFO3FDQU1WLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxzQkFBcUIsQ0FB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
356
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1zZWN0aW9uLmNvbXBvbmVudC1EVDM0XzItTy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLXNlY3Rpb24vbmF2aWdhdGlvbi1zZWN0aW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi1zZWN0aW9uL25hdmlnYXRpb24tc2VjdGlvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tZGlzcGxheTogbm9uZTtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNvbHVtbjogMSAvIC0xO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9zaXRpb246IGZpeGVkO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTN4KVxuICApO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWVhc2luZzogZWFzZS1vdXQ7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLWxheW91dC1iYXNlLW9mZnNldC1yZXNwb25zaXZlKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbCk7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi10cmFuc2xhdGU6IDEwMCU7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xMngpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXdpZHRoOiAxMDBkdnc7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1oZWlnaHQ6IDEwMGR2aDtcblxuICAvLyBXZSBoYXZlIHRvIHBsYWNlIHRoZSBzdHlsZXMgb24gdGhlIGhvc3QgYXMgaXQgaGFzIHRvIGJlIGFsaWduZWQgb24gdGhlIGdyaWQgb2YgdGhlIG5hdmlnYXRpb25cbiAgZGlzcGxheTogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1kaXNwbGF5KTtcbiAgcG9zaXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9zaXRpb24pO1xuICBncmlkLWNvbHVtbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1jb2x1bW4pO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICB3aWR0aDogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1oZWlnaHQpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItbmF2aWdhdGlvbi16LWluZGV4LCB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpKTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNvbHVtbjogNSAvIDEzO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi00eClcbiAgICApO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhsKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTh4KVxuICAgICAgdmFyKC0tc2JiLWxheW91dC1iYXNlLW9mZnNldC1yZXNwb25zaXZlKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi10cmFuc2xhdGU6IDA7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXdpZHRoOiBjYWxjKFxuICAgICAgMTAwJSArIHZhcigtLXNiYi1sYXlvdXQtYmFzZS1vZmZzZXQtcmVzcG9uc2l2ZSkgKyB2YXIoLS1zYmItZ3JpZC1iYXNlLWd1dHRlci1yZXNwb25zaXZlKVxuICAgICk7XG5cbiAgICB0cmFuc2xhdGU6IGNhbGModmFyKC0tc2JiLWdyaWQtYmFzZS1ndXR0ZXItcmVzcG9uc2l2ZSkgKiAtMSkgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogdWx0cmEpIHtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY29sdW1uOiA2IC8gMTc7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKVxuICAgICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS1sKTtcbiAgfVxufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtb3BlbmVkKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1wb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tZGlzcGxheTogYmxvY2s7XG59XG5cbjo6c2xvdHRlZCgqKSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtc3RhcnQpO1xufVxuXG4vLyBBbHdheXMgcGxhY2UgdGhlIHNiYi1idXR0b24gb24gYSBuZXcgcm93XG46OnNsb3R0ZWQoOnN0YXRlKHNiYi1idXR0b24pKSB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xufVxuXG4uc2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcG9pbnRlci1ldmVudHMpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24taGVpZ2h0KTtcbn1cblxuLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWNvbG9yLCB2YXIoLS1zYmItY29sb3ItMS1uZWdhdGl2ZSkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA6aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tc2VjdGlvbi1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGNsb3NlO1xuICB9XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIG91dGxpbmU6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIENhbnZhc1RleHQ7XG4gIH1cbn1cblxuLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX3dyYXBwZXIge1xuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyKCRuZWdhdGl2ZTogdHJ1ZSk7XG5cbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXBhZGRpbmctYmxvY2spO1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIC0tc2JiLXNjcm9sbGJhci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5zYmItbmF2aWdhdGlvbi1zZWN0aW9uX19oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY29udGVudC1wYWRkaW5nLWlubGluZS1zdGFydCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogdWx0cmEpIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIDQ7XG4gIH1cbn1cblxuLnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2JhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zbGF0ZTogY2FsYygoMTAwJSArIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KSkgKiAtMSkgMDtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fdGl0bGUge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtcnVsZXM7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtNDtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC0yO1xuICB9XG59XG5cbi5zYmItbmF2aWdhdGlvbi1zZWN0aW9uX19jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS1sKSB2YXIoLS1zYmItZ3JpZC1iYXNlLWd1dHRlci1yZXNwb25zaXZlKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tcGFkZGluZy1pbmxpbmUpO1xuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogMCB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIGRlbGF5OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgICBwcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNsYXRlO1xuICAgIH1cblxuICAgIDpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuZWQpKSAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2xhdGU6IDAgMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHVsdHJhKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXRyYW5zbGF0ZSkgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1zZWN0aW9uLXRyYW5zbGF0ZSkgMDtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCB9IGZyb20gJy4uLy4uL2J1dHRvbi5wdXJlLnRzJztcbmltcG9ydCB7XG4gIElTX0ZPQ1VTQUJMRV9RVUVSWSxcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbiAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLFxufSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMvb3Blbi1jbG9zZS1iYXNlLWVsZW1lbnQudHMnO1xuaW1wb3J0IHtcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5QnJlYWtwb2ludFNtYWxsQW5kQmVsb3csXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSwgb21pdEVtcHR5Q29udmVydGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgaTE4bkdvQmFjayB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IFNiYlVwZGF0ZVNjaGVkdWxlck1peGluLCDJtXN0YXRlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLnRzJztcbmltcG9ydCB7XG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG59IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1idXR0b24vbmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1saW5rL25hdmlnYXRpb24tbGluay5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLXNlY3Rpb24uc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIudHMnO1xuXG4vLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlbW92ZSBjYWxsIHRvIGRlZmluZS5cblNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudC5kZWZpbmUoKTtcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIGBzYmItbmF2aWdhdGlvbi1saXN0YCB3aXRoaW4gYSBgc2JiLW5hdmlnYXRpb25gLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgaW50byB0aGUgYHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25gLlxuICovXG5leHBvcnQgY2xhc3MgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IGV4dGVuZHMgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKipcbiAgICogVGhlIGxhYmVsIHRvIGJlIHNob3duIGJlZm9yZSB0aGUgYWN0aW9uIGxpc3QuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndGl0bGUtY29udGVudCcsIHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciB0aXRsZUNvbnRlbnQ6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgbmF2aWdhdGlvbiBzZWN0aW9uLlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIG5hdiBlbGVtZW50IGFuZCBpcyByZWFkIGFzIGEgdGl0bGUgb2YgdGhlIG5hdmlnYXRpb24tc2VjdGlvbi5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhpcyB3aWxsIGJlIGZvcndhcmRlZCBhcyBhcmlhLWxhYmVsIHRvIHRoZSBiYWNrIGJ1dHRvbiBlbGVtZW50LlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FjY2Vzc2liaWxpdHktYmFjay1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlCYWNrTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHNldCBzdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICBzdXBlci5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFIaWRkZW4gPSB0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyA/ICd0cnVlJyA6IG51bGw7XG4gIH1cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldCBzdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHN1cGVyLnN0YXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlyc3RMZXZlbE5hdmlnYXRpb24/OiBTYmJOYXZpZ2F0aW9uRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfd2luZG93RXZlbnRzQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9mb2N1c1RyYXBDb250cm9sbGVyID0gbmV3IFNiYkZvY3VzVHJhcENvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2xhc3RLZXlkb3duRXZlbnQ6IEtleWJvYXJkRXZlbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbWVkaWFNYXRjaGVyQ29udHJvbGxlciA9IG5ldyBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyKHRoaXMsIHtcbiAgICBbU2JiTWVkaWFRdWVyeUJyZWFrcG9pbnRTbWFsbEFuZEJlbG93XTogKG1hdGNoZXMpID0+IHtcbiAgICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJykge1xuICAgICAgICB0aGlzLl9zZXROYXZpZ2F0aW9uSW5lcnQobWF0Y2hlcyk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB7XG4gICAgICB0aGlzLl9sYXN0S2V5ZG93bkV2ZW50ID0gZTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdmb2N1c291dCcsIChlKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGUucmVsYXRlZFRhcmdldCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmXG4gICAgICAgICF0aGlzLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCkgJiZcbiAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLm1vc3RSZWNlbnRNb2RhbGl0eSA9PT0gJ2tleWJvYXJkJyAmJlxuICAgICAgICB0aGlzLl9sYXN0S2V5ZG93bkV2ZW50Py5rZXkgPT09ICdUYWInICYmXG4gICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50XG4gICAgICApIHtcbiAgICAgICAgY29uc3QgbmF2aWdhdGlvbkVsZW1lbnQgPSB0aGlzLmNsb3Nlc3Q8U2JiTmF2aWdhdGlvbkVsZW1lbnQ+KCdzYmItbmF2aWdhdGlvbicpO1xuICAgICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IEFycmF5LmZyb20oXG4gICAgICAgICAgbmF2aWdhdGlvbkVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KElTX0ZPQ1VTQUJMRV9RVUVSWSkgPz8gW10sXG4gICAgICAgICkuZmlsdGVyKChlKSA9PiAhdGhpcy5jb250YWlucyhlKSk7XG5cbiAgICAgICAgaWYgKHRoaXMuX2xhc3RLZXlkb3duRXZlbnQuc2hpZnRLZXkgfHwgIWZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRyaWdnZXJJbmRleCA9IGZvY3VzYWJsZUVsZW1lbnRzLmluZGV4T2YodGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgICAgICAgIChmb2N1c2FibGVFbGVtZW50c1t0cmlnZ2VySW5kZXggKyAxXSA/PyBuYXZpZ2F0aW9uRWxlbWVudCEuY2xvc2VCdXR0b24pPy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbnMgdGhlIG5hdmlnYXRpb24gc2VjdGlvbiBvbiB0cmlnZ2VyIGNsaWNrLlxuICAgKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnIHx8ICF0aGlzLmhhc1VwZGF0ZWQgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9pc05hdmlnYXRpb25CdXR0b24odGhpcy5fdHJpZ2dlckVsZW1lbnQpKSB7XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8ubWFya2VyPy5zZWxlY3QodGhpcy5fdHJpZ2dlckVsZW1lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuX2Nsb3NlUHJldmlvdXNOYXZpZ2F0aW9uU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ8m1bmF2aWdhdGlvbnNlY3Rpb25vcGVuaW5nJykpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ3RydWUnKTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLmluZXJ0ID0gZmFsc2U7XG4gICAgdGhpcy5fYXR0YWNoV2luZG93RXZlbnRzKCk7XG4gICAgdGhpcy5fc2V0TmF2aWdhdGlvbkluZXJ0KCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgdGhpcy5fY2hlY2tBY3RpdmVBY3Rpb24oKTtcbiAgICB0aGlzLmNvbXBsZXRlVXBkYXRlKCk7XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCcuc2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fY29udGFpbmVyJyk/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fcmVzZXRMaXN0cygpO1xuICAgIHRoaXMuX3NldE5hdmlnYXRpb25JbmVydCgpO1xuICAgIGlmICh0aGlzLl9pc0JlbG93TGFyZ2UoKSAmJiB0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gICAgdGhpcy5jb21wbGV0ZVVwZGF0ZSgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZVByZXZpb3VzTmF2aWdhdGlvblNlY3Rpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fZmlyc3RMZXZlbE5hdmlnYXRpb24/LmFjdGl2ZU5hdmlnYXRpb25TZWN0aW9uPy5jbG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgbmF2aWdhdGlvbiBzZWN0aW9uLlxuICAgKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmVkJyB8fCAhdGhpcy5kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCfJtW5hdmlnYXRpb25zZWN0aW9uY2xvc2luZycpKTtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgaWYgKHRoaXMuX2lzTmF2aWdhdGlvbkJ1dHRvbih0aGlzLl90cmlnZ2VyRWxlbWVudCkpIHtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmNvbm5lY3RlZFNlY3Rpb24gPSB0aGlzO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMuX2ZpcnN0TGV2ZWxOYXZpZ2F0aW9uID0gdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmNsb3Nlc3Q/Lignc2JiLW5hdmlnYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTmF2aWdhdGlvbkJ1dHRvbih0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwpOiB0cmlnZ2VyIGlzIFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHtcbiAgICByZXR1cm4gdHJpZ2dlcj8ubG9jYWxOYW1lID09PSAnc2JiLW5hdmlnYXRpb24tYnV0dG9uJztcbiAgfVxuXG4gIHByaXZhdGUgX3NldE5hdmlnYXRpb25JbmVydChpc0JlbG93TGFyZ2U6IGJvb2xlYW4gPSB0aGlzLl9pc0JlbG93TGFyZ2UoKSk6IHZvaWQge1xuICAgIGNvbnN0IG5hdmlnYXRpb25Db250ZW50ID0gdGhpcy5fZmlyc3RMZXZlbE5hdmlnYXRpb24/Lm5hdmlnYXRpb25Db250ZW50O1xuICAgIGlmIChuYXZpZ2F0aW9uQ29udGVudCkge1xuICAgICAgbmF2aWdhdGlvbkNvbnRlbnQuaW5lcnQgPSBpc0JlbG93TGFyZ2UgJiYgdGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCc7XG4gICAgfVxuICB9XG5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZXNldExpc3RzKCk6IHZvaWQge1xuICAgIEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw8U2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQ+KFxuICAgICAgICAnOnN0YXRlKHNlY3Rpb24tYWN0aW9uKTpzdGF0ZShhY3Rpb24tYWN0aXZlKScsXG4gICAgICApID8/IFtdLFxuICAgICkuZm9yRWFjaCgoYWN0aW9uKSA9PiDJtXN0YXRlQ29udHJvbGxlcihhY3Rpb24pLmRlbGV0ZSgnYWN0aW9uLWFjdGl2ZScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl93aW5kb3dFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9vbktleWRvd25FdmVudChldmVudCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fd2luZG93RXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBDbG9zZSBuYXZpZ2F0aW9uIHNlY3Rpb24gb24gYWN0aW9uIGNsaWNrIG9yIHNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UgY2xpY2tcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9oYW5kbGVOYXZpZ2F0aW9uU2VjdGlvbkNsb3NlLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGNsaWNrIHdhcyB0cmlnZ2VyZWQgb24gYW4gZWxlbWVudCB0aGF0IHNob3VsZCBjbG9zZSB0aGUgc2VjdGlvbi5cbiAgcHJpdmF0ZSBfaGFuZGxlTmF2aWdhdGlvblNlY3Rpb25DbG9zZSA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoXG4gICAgICBldmVudFxuICAgICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgICAgLmZpbHRlcigoZWwpID0+IGVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpXG4gICAgICAgIC5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwpKVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9pc0Nsb3NlRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBlbGVtZW50Lm5vZGVOYW1lID09PSAnQScgfHxcbiAgICAgICghZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgJiZcbiAgICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpIHx8XG4gICAgICAgICAgZWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tY2xvc2UnKSkpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzQmVsb3dMYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWFNYXRjaGVyQ29udHJvbGxlci5tYXRjaGVzKFNiYk1lZGlhUXVlcnlCcmVha3BvaW50U21hbGxBbmRCZWxvdykgPz8gZmFsc2U7XG4gIH1cblxuICAvLyBDbG9zZXMgdGhlIG5hdmlnYXRpb24gb24gXCJFc2NcIiBrZXkgcHJlc3NlZC5cbiAgcHJpdmF0ZSBfb25LZXlkb3duRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgJiYgZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlQWN0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLnF1ZXJ5U2VsZWN0b3I8U2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQgfCBTYmJOYXZpZ2F0aW9uTGlua0VsZW1lbnQ+KFxuICAgICAgJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnLFxuICAgICk7XG4gICAgybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudCk/LnRvZ2dsZSgnYWN0aW9uLWFjdGl2ZScsIHRydWUpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5zbG90IHx8PSAnbmF2aWdhdGlvbi1zZWN0aW9uJztcbiAgICB0aGlzLmlkIHx8PSBgc2JiLW5hdmlnYXRpb24tc2VjdGlvbi0ke25leHRJZCsrfWA7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50ID0gbnVsbDtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX3dpbmRvd0V2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8bmF2XG4gICAgICAgICAgQGFuaW1hdGlvbmVuZD0ke3RoaXMuX29uQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvblwiXG4gICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PSR7IXRoaXMuYWNjZXNzaWJpbGl0eUxhYmVsID8gJ3RpdGxlJyA6IG5vdGhpbmd9XG4gICAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eUxhYmVsID8gdGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwgOiBub3RoaW5nfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19oZWFkZXJcIj5cbiAgICAgICAgICAgICAgICA8IS0tIEJhY2sgYnV0dG9uIC0tPlxuICAgICAgICAgICAgICAgIDxzYmItdHJhbnNwYXJlbnQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICBpZD1cInNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24tYmFjay1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvbi1zZWN0aW9uX19iYWNrXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlCYWNrTGFiZWwgfHwgaTE4bkdvQmFja1t0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIG5lZ2F0aXZlXG4gICAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGljb24tbmFtZT1cImNoZXZyb24tc21hbGwtbGVmdC1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBzYmItbmF2aWdhdGlvbi1zZWN0aW9uLWNsb3NlXG4gICAgICAgICAgICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cblxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5hdmlnYXRpb24tc2VjdGlvbl9fdGl0bGVcIiBpZD1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICA8c2xvdCBuYW1lPVwidGl0bGVcIj4ke3RoaXMudGl0bGVDb250ZW50fTwvc2xvdD5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uYXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbi1zZWN0aW9uJzogU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzJDQSw0QkFBNEIsT0FBTTtBQUVsQyxJQUFJLFNBQVM7Ozs7OztJQU9BLHFDQUEyQjttQkFBUyx3QkFBd0IsdUJBQXVCOzs7Ozs7Ozs7Ozs7O2NBQW5GLG9DQUFvQyxZQUFnRDs7OytCQU85RixVQUFTLEdBQ1QsU0FBUztJQUFFLFdBQVc7SUFBaUIsU0FBUztJQUFNLFdBQVc7R0FBa0IsQ0FBRSxDQUFDOzBCQVF0RixZQUFXLEdBQ1gsU0FBUSxDQUFFO3FDQU1WLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyxzQkFBcUIsQ0FB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
@@ -321,4 +321,4 @@ var SbbNavigationElement = (() => {
321
321
  //#endregion
322
322
  export { SbbNavigationElement as t };
323
323
 
324
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQtQ1ROUTFkaXguanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xuICB0cmFuc2l0aW9uOiB7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICBwcm9wZXJ0eTogJHByb3BlcnRpZXM7XG4gIH1cbn1cblxuOmhvc3Qge1xuICAtLXNiYi1uYXZpZ2F0aW9uLWdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0zeClcbiAgKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nOiBlYXNlLWluO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbCk7XG4gIC0tc2JiLW5hdmlnYXRpb24tcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteGwpO1xuICAtLXNiYi1uYXZpZ2F0aW9uLWJhY2tkcm9wLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNzAlLCB0cmFuc3BhcmVudCk7XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtYW5pbWF0aW9uLW5hbWU6IGJhY2tkcm9wLW9wZW47XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMS1uZWdhdGl2ZSk7XG4gIC0tc2JiLW5hdmlnYXRpb24tY29sb3I6IHZhcigtLXNiYi1jb2xvci0xLW5lZ2F0aXZlKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1saXN0LW1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eGwpO1xuICAtLXNiYi1uYXZpZ2F0aW9uLWlubGluZS1zdGFydDogMDtcbiAgLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aDogMTAwJTtcbiAgLS1zYmItbmF2aWdhdGlvbi1pbnNldDogMCBhdXRvIGF1dG8gMDtcbiAgLS1zYmItbmF2aWdhdGlvbi10cmFuc2xhdGU6IC0xMDAlIDA7XG4gIC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGU6IDA7XG4gIC0tc2JiLW5hdmlnYXRpb24td2lkdGg6IDEwMCU7XG4gIC0tc2JiLW5hdmlnYXRpb24taGVpZ2h0OiAxMDBkdmg7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWluc2V0KTtcbiAgei1pbmRleDogdmFyKC0tc2JiLW5hdmlnYXRpb24tei1pbmRleCwgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLW5hdmlnYXRpb24tZ3JpZC1jb2x1bW46IDEgLyA1O1xuICAgIC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICAgKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteGwpO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1sYXlvdXQtYmFzZS1vZmZzZXQtcmVzcG9uc2l2ZSkgMDtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLWxpc3QtbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tc2JiLWxheW91dC1iYXNlLW9mZnNldC1yZXNwb25zaXZlKSAqIC0xKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogdWx0cmEpIHtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLWdyaWQtY29sdW1uOiAxIC8gNjtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKTtcbiAgfVxufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5lZCkpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nOiBlYXNlLW91dDtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtb3BlbmluZykpKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG46aG9zdCg6bm90KDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLWluc2V0OiAwO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXRyYW5zbGF0ZTogO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1hbmltYXRpb24tbmFtZTogYmFja2Ryb3AtY2xvc2U7XG59XG5cbjpob3N0KDpzdGF0ZShoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24pKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGU6IC0xMDAlIDA7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiAnbGFyZ2UnKSB7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aDogMTAwZHZ3O1xuICAgIC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbikpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHNiYi5ncmlkLWJhc2U7XG5cbiAgcGFkZGluZy1pbmxpbmU6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2xhdGU6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXRyYW5zbGF0ZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpO1xuXG4gICAgLy8gTmF2aWdhdGlvbiBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZpc2liaWxpdHkpO1xuXG4gICAgICBhbmltYXRpb246IHtcbiAgICAgICAgbmFtZTogdmFyKC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtYW5pbWF0aW9uLW5hbWUpO1xuICAgICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIH1cblxuICAgICAgY29udGVudDogJyc7XG4gICAgICB2aXNpYmlsaXR5OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC12aXNpYmlsaXR5KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50cyk7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBpbnNldDogdmFyKC0tc2JiLW5hdmlnYXRpb24taW5zZXQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoKTtcblxuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogdmFyKC0tc2JiLW5hdmlnYXRpb24td2lkdGgpO1xuICBncmlkLWNvbHVtbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tZ3JpZC1jb2x1bW4pO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1pbmxpbmUtc3RhcnQpO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgYm9yZGVyOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tc2JiLW5hdmlnYXRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGgpO1xuXG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1oZWlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb25fX3dyYXBwZXIge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2hlYWRlciB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWV4cGFuZGVkLXdpZHRoKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xuICB6LWluZGV4OiBjYWxjKHZhcigtLXNiYi1uYXZpZ2F0aW9uLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpICsgMSk7XG59XG5cbi5zYmItbmF2aWdhdGlvbl9fY2xvc2Uge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2NvbnRlbnQge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zbGF0ZSk7XG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXIoJG5lZ2F0aXZlOiB0cnVlKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWhlaWdodCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQpIHZhcigtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stZW5kKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1jb250ZW50LXRyYW5zbGF0ZSk7XG59XG5cbjo6c2xvdHRlZCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1saXN0LW1hcmdpbi1ibG9jay1zdGFydCk7XG59XG5cbkBrZXlmcmFtZXMgb3BlbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zbGF0ZTogLTEwMCUgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zbGF0ZTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IC0xMDAlIDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBiYWNrZHJvcC1vcGVuIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBiYWNrZHJvcC1jbG9zZSB7XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiVHJhbnNwYXJlbnRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uLnB1cmUudHMnO1xuaW1wb3J0IHsgU2JiRm9jdXNUcmFwQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiSW5lcnRDb250cm9sbGVyLFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiwgU2JiU2Nyb2xsSGFuZGxlciB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZU5hdmlnYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4udHMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQge1xuICBpc0V2ZW50T25FbGVtZW50LFxuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi8uLi9jb3JlL292ZXJsYXkudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay9uYXZpZ2F0aW9uLWxpbmsuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZWN0aW9uL25hdmlnYXRpb24tc2VjdGlvbi5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLnNjc3M/aW5saW5lJztcblxuLy8gVE9ETyhicmVha2luZy1jaGFuZ2UpOiBSZW1vdmUgY2FsbCB0byBkZWZpbmUuXG5TYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnQuZGVmaW5lKCk7XG5cbmxldCBuZXh0SWQgPSAwO1xuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIG5hdmlnYXRpb24gbWVudSwgd3JhcHBpbmcgb25lIG9yIG1vcmUgYHNiYi1uYXZpZ2F0aW9uLSpgIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbmAvYHNiYi1uYXZpZ2F0aW9uLWxpbmtgIGVsZW1lbnRzIGludG8gdGhlIHNiYi1uYXZpZ2F0aW9uIG1lbnUuXG4gKiBAY3NzcHJvcCBbLS1zYmItbmF2aWdhdGlvbi16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJOYXZpZ2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItbmF2aWdhdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICduYXZpZ2F0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBuYXZpZ2F0aW9uLlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogV2hldGhlciBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uOiBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogUmV0dXJucyB0aGUgYWN0aXZlIG5hdmlnYXRpb24gc2VjdGlvbiBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKCk6IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbjtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCBjbG9zZUJ1dHRvbigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJyNzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b24nKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIG5hdmlnYXRpb24gY29udGVudCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IG5hdmlnYXRpb25Db250ZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnNiYi1uYXZpZ2F0aW9uX19jb250ZW50JykgPz8gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX25hdmlnYXRpb24hOiBIVE1MRGl2RWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfaW5lcnRDb250cm9sbGVyID0gbmV3IFNiYkluZXJ0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX25hdmlnYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fb25OYXZpZ2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChldmVudCkgPT4gdGhpcy5faGFuZGxlTmF2aWdhdGlvbkNsb3NlKGV2ZW50KSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIChldmVudCkgPT4gdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2soZXZlbnQpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncG9pbnRlcmRvd24nLCAoZXZlbnQpID0+IHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIoZXZlbnQpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihcbiAgICAgICfJtW5hdmlnYXRpb25zZWN0aW9ub3BlbmluZycsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPSBldmVudC50YXJnZXQgYXMgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICAgICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24nLCAhIXRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKTtcbiAgICAgIH0sXG4gICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICApO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgJ8m1bmF2aWdhdGlvbnNlY3Rpb25jbG9zaW5nJyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPT09IGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24nKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyB8fCAhdGhpcy5oYXNVcGRhdGVkIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9ucygpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcblxuICAgIC8vIERpc2FibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBuYXZpZ2F0aW9uXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlU2VjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnc2JiLW5hdmlnYXRpb24tYnV0dG9uLnNiYi1hY3RpdmUnLFxuICAgICkgYXMgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQ7XG4gICAgYWN0aXZlQWN0aW9uPy5jb25uZWN0ZWRTZWN0aW9uPy5vcGVuKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5tYXJrZXI/LnNlbGVjdChhY3Rpb24pKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuICAgIHRoaXMubmF2aWdhdGlvbkNvbnRlbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5fbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzKTtcbiAgICB0aGlzLl9yZXNldE1hcmtlcnMoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcblxuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG5hdmlnYXRpb25cbiAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX25hdmlnYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICAvLyBSZW1vdmVzIHRyaWdnZXIgY2xpY2sgbGlzdGVuZXIgb24gdHJpZ2dlciBjaGFuZ2UuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRNYXJrZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbnMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAnOmlzKHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbiwgc2JiLW5hdmlnYXRpb24tbGluayk6c3RhdGUoYWN0aW9uLWFjdGl2ZSk6bm90KC5zYmItYWN0aXZlKScsXG4gICAgICApLFxuICAgICkgYXMgKFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KVtdO1xuICAgIGFjdGl2ZUFjdGlvbnM/LmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLm1hcmtlcj8ucmVzZXQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOYXZpZ2F0aW9uQ2xvc2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzQ2xvc2VFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVsZW1lbnQubm9kZU5hbWUgPT09ICdBJyB8fFxuICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSlcbiAgICApO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIG5hdmlnYXRpb24uXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbiA9XG4gICAgICBpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSB8fFxuICAgICAgaXNFdmVudE9uRWxlbWVudChcbiAgICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItbmF2aWdhdGlvbi1zZWN0aW9uOnN0YXRlKHN0YXRlLW9wZW5lZCknKT8uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAnbmF2LnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nLFxuICAgICAgICApIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICBldmVudCxcbiAgICAgICk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgbmF2aWdhdGlvbiBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25OYXZpZ2F0aW9uICYmICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk5hdmlnYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCk7XG4gICAgfVxuXG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgncmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyk7XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbmF2aWdhdGlvbiB0byBhdm9pZCBzdHJhbmdlIGhlaWdodCB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1uYXZpZ2F0aW9uLSR7bmV4dElkKyt9YDtcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBodG1sYFxuICAgICAgPHNiYi10cmFuc3BhcmVudC1idXR0b25cbiAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b25cIlxuICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jbG9zZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsIHx8IGkxOG5DbG9zZU5hdmlnYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgbmVnYXRpdmVcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICBzYmItbmF2aWdhdGlvbi1jbG9zZVxuICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cbiAgICBgO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvblwiXG4gICAgICAgICAgJHtyZWYoKG5hdmlnYXRpb25SZWY/OiBFbGVtZW50KSA9PiAodGhpcy5fbmF2aWdhdGlvbiA9IG5hdmlnYXRpb25SZWYgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9faGVhZGVyXCI+JHtjbG9zZUJ1dHRvbn08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzbG90IG5hbWU9XCJuYXZpZ2F0aW9uLXNlY3Rpb25cIj48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbic6IFNiYk5hdmlnYXRpb25FbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNzQ0EsNEJBQTRCLE9BQU07QUFFbEMsSUFBSSxTQUFTO0FBQ2IsSUFBTSxnQkFBZ0I7Ozs7Ozs7OztJQVVULDhCQUFvQjttQkFBUyx3QkFBd0IsdUJBQXVCOzs7Ozs7Ozs7O2NBQTVFLDZCQUE2QixZQUFnRDs7OzBCQVV2RixZQUFXLEdBQ1gsU0FBUSxDQUFFOzBDQUlWLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyw0QkFBMkIsQ0FBRSxDQUFDOzJDQUlwRCxNQUFLLENBQUU7R0FSUixhQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGFBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVAsVUFBTztLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSx1QkFBQSwwQkFBQTtHQUt2QixhQUFBLE1BQUEsTUFBQSxxQ0FBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLDZCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQXVCLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBdkIsMEJBQXVCO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLHVDQUFBLDBDQUFBO0dBRzlCLGFBQUEsTUFBQSxNQUFBLHNDQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsOEJBQUE7S0FBQSxNQUFBLFFBQUEs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
324
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQtQzRNMndWYk0uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL25hdmlnYXRpb24vbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcy4uLikge1xuICB0cmFuc2l0aW9uOiB7XG4gICAgZHVyYXRpb246IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICBwcm9wZXJ0eTogJHByb3BlcnRpZXM7XG4gIH1cbn1cblxuOmhvc3Qge1xuICAtLXNiYi1uYXZpZ2F0aW9uLWdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgLS1zYmItZGlzYWJsZS1hbmltYXRpb24tZHVyYXRpb24sXG4gICAgdmFyKC0tc2JiLWFuaW1hdGlvbi1kdXJhdGlvbi0zeClcbiAgKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nOiBlYXNlLWluO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUtbCk7XG4gIC0tc2JiLW5hdmlnYXRpb24tcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteGwpO1xuICAtLXNiYi1uYXZpZ2F0aW9uLWJhY2tkcm9wLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1jb2xvci1ibGFjaykgNzAlLCB0cmFuc3BhcmVudCk7XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtYW5pbWF0aW9uLW5hbWU6IGJhY2tkcm9wLW9wZW47XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMS1uZWdhdGl2ZSk7XG4gIC0tc2JiLW5hdmlnYXRpb24tY29sb3I6IHZhcigtLXNiYi1jb2xvci0xLW5lZ2F0aXZlKTtcbiAgLS1zYmItbmF2aWdhdGlvbi1saXN0LW1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eGwpO1xuICAtLXNiYi1uYXZpZ2F0aW9uLWlubGluZS1zdGFydDogMDtcbiAgLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aDogMTAwJTtcbiAgLS1zYmItbmF2aWdhdGlvbi1pbnNldDogMCBhdXRvIGF1dG8gMDtcbiAgLS1zYmItbmF2aWdhdGlvbi10cmFuc2xhdGU6IC0xMDAlIDA7XG4gIC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGU6IDA7XG4gIC0tc2JiLW5hdmlnYXRpb24td2lkdGg6IDEwMCU7XG4gIC0tc2JiLW5hdmlnYXRpb24taGVpZ2h0OiAxMDBkdmg7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWluc2V0KTtcbiAgei1pbmRleDogdmFyKC0tc2JiLW5hdmlnYXRpb24tei1pbmRleCwgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIC0tc2JiLW5hdmlnYXRpb24tZ3JpZC1jb2x1bW46IDEgLyA1O1xuICAgIC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoXG4gICAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICAgKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteGwpO1xuICAgIC0tc2JiLW5hdmlnYXRpb24tcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1sYXlvdXQtYmFzZS1vZmZzZXQtcmVzcG9uc2l2ZSkgMDtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLWxpc3QtbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xeCk7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tc2JiLWxheW91dC1iYXNlLW9mZnNldC1yZXNwb25zaXZlKSAqIC0xKTtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNiYi5tcSgkZnJvbTogdWx0cmEpIHtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLWdyaWQtY29sdW1uOiAxIC8gNjtcbiAgICAtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKTtcbiAgfVxufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5lZCkpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nOiBlYXNlLW91dDtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtb3BlbmluZykpKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG46aG9zdCg6bm90KDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSkge1xuICAtLXNiYi1uYXZpZ2F0aW9uLWluc2V0OiAwO1xuICAtLXNiYi1uYXZpZ2F0aW9uLXRyYW5zbGF0ZTogO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpIHtcbiAgLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1hbmltYXRpb24tbmFtZTogYmFja2Ryb3AtY2xvc2U7XG59XG5cbjpob3N0KDpzdGF0ZShoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24pKSB7XG4gIC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGU6IC0xMDAlIDA7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiAnbGFyZ2UnKSB7XG4gICAgLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aDogMTAwZHZ3O1xuICAgIC0tc2JiLW5hdmlnYXRpb24tY29udGVudC10cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuOmhvc3QoOnN0YXRlKHJlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbikpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHNiYi5ncmlkLWJhc2U7XG5cbiAgcGFkZGluZy1pbmxpbmU6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2xhdGU6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXRyYW5zbGF0ZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbGF5b3V0LWJhc2Utb2Zmc2V0LXJlc3BvbnNpdmUpO1xuXG4gICAgLy8gTmF2aWdhdGlvbiBiYWNrZHJvcCAobm90IHZpc2libGUgb24gbW9iaWxlKVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHZpc2liaWxpdHkpO1xuXG4gICAgICBhbmltYXRpb246IHtcbiAgICAgICAgbmFtZTogdmFyKC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtYW5pbWF0aW9uLW5hbWUpO1xuICAgICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICAgIH1cblxuICAgICAgY29udGVudDogJyc7XG4gICAgICB2aXNpYmlsaXR5OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC12aXNpYmlsaXR5KTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZHJvcC1wb2ludGVyLWV2ZW50cyk7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBpbnNldDogdmFyKC0tc2JiLW5hdmlnYXRpb24taW5zZXQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYmFja2Ryb3AtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoKTtcblxuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogdmFyKC0tc2JiLW5hdmlnYXRpb24td2lkdGgpO1xuICBncmlkLWNvbHVtbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tZ3JpZC1jb2x1bW4pO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1pbmxpbmUtc3RhcnQpO1xuICBpbnNldC1ibG9jay1zdGFydDogMDtcbiAgYm9yZGVyOiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1oZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tc2JiLW5hdmlnYXRpb24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGgpO1xuXG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1leHBhbmRlZC13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1oZWlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5hdmlnYXRpb24tYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgb3V0bGluZTogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgfVxufVxuXG4uc2JiLW5hdmlnYXRpb25fX3dyYXBwZXIge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2hlYWRlciB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWV4cGFuZGVkLXdpZHRoKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xuICB6LWluZGV4OiBjYWxjKHZhcigtLXNiYi1uYXZpZ2F0aW9uLXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpICsgMSk7XG59XG5cbi5zYmItbmF2aWdhdGlvbl9fY2xvc2Uge1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG4uc2JiLW5hdmlnYXRpb25fX2NvbnRlbnQge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKHRyYW5zbGF0ZSk7XG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXIoJG5lZ2F0aXZlOiB0cnVlKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHhsKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLWhlaWdodCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stc3RhcnQpIHZhcigtLXNiYi1uYXZpZ2F0aW9uLXBhZGRpbmctYmxvY2stZW5kKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNsYXRlOiB2YXIoLS1zYmItbmF2aWdhdGlvbi1jb250ZW50LXRyYW5zbGF0ZSk7XG59XG5cbjo6c2xvdHRlZCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItbmF2aWdhdGlvbi1saXN0LW1hcmdpbi1ibG9jay1zdGFydCk7XG59XG5cbkBrZXlmcmFtZXMgb3BlbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zbGF0ZTogLTEwMCUgMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zbGF0ZTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2xhdGU6IC0xMDAlIDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBiYWNrZHJvcC1vcGVuIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBiYWNrZHJvcC1jbG9zZSB7XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHksIHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiVHJhbnNwYXJlbnRCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uLnB1cmUudHMnO1xuaW1wb3J0IHsgU2JiRm9jdXNUcmFwQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS50cyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiSW5lcnRDb250cm9sbGVyLFxuICBTYmJMYW5ndWFnZUNvbnRyb2xsZXIsXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiwgU2JiU2Nyb2xsSGFuZGxlciB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZU5hdmlnYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4udHMnO1xuaW1wb3J0IHsgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQge1xuICBpc0V2ZW50T25FbGVtZW50LFxuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi8uLi9jb3JlL292ZXJsYXkudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tYnV0dG9uL25hdmlnYXRpb24tYnV0dG9uLmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbGluay9uYXZpZ2F0aW9uLWxpbmsuY29tcG9uZW50LnRzJztcbmltcG9ydCB0eXBlIHsgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1zZWN0aW9uL25hdmlnYXRpb24tc2VjdGlvbi5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9uYXZpZ2F0aW9uLnNjc3M/aW5saW5lJztcblxuLy8gVE9ETyhicmVha2luZy1jaGFuZ2UpOiBSZW1vdmUgY2FsbCB0byBkZWZpbmUuXG5TYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnQuZGVmaW5lKCk7XG5cbmxldCBuZXh0SWQgPSAwO1xuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIG5hdmlnYXRpb24gbWVudSwgd3JhcHBpbmcgb25lIG9yIG1vcmUgYHNiYi1uYXZpZ2F0aW9uLSpgIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbmAvYHNiYi1uYXZpZ2F0aW9uLWxpbmtgIGVsZW1lbnRzIGludG8gdGhlIHNiYi1uYXZpZ2F0aW9uIG1lbnUuXG4gKiBAY3NzcHJvcCBbLS1zYmItbmF2aWdhdGlvbi16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJOYXZpZ2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYlVwZGF0ZVNjaGVkdWxlck1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItbmF2aWdhdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICduYXZpZ2F0aW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBuYXZpZ2F0aW9uLlxuICAgKlxuICAgKiBGb3IgYXR0cmlidXRlIHVzYWdlLCBwcm92aWRlIGFuIGlkIHJlZmVyZW5jZS5cbiAgICovXG4gIEBpZFJlZmVyZW5jZSgpXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB0cmlnZ2VyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogV2hldGhlciBhIG5hdmlnYXRpb24gc2VjdGlvbiBpcyBkaXNwbGF5ZWQuICovXG4gIEBzdGF0ZSgpIHByaXZhdGUgYWNjZXNzb3IgX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uOiBTYmJOYXZpZ2F0aW9uU2VjdGlvbkVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAvKiogUmV0dXJucyB0aGUgYWN0aXZlIG5hdmlnYXRpb24gc2VjdGlvbiBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IGFjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKCk6IFNiYk5hdmlnYXRpb25TZWN0aW9uRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVOYXZpZ2F0aW9uU2VjdGlvbjtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBjbG9zZSBidXR0b24gZWxlbWVudC4gKi9cbiAgcHVibGljIGdldCBjbG9zZUJ1dHRvbigpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoJyNzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b24nKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIG5hdmlnYXRpb24gY29udGVudCBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IG5hdmlnYXRpb25Db250ZW50KCk6IEhUTUxFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnNiYi1uYXZpZ2F0aW9uX19jb250ZW50JykgPz8gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX25hdmlnYXRpb24hOiBIVE1MRGl2RWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfaW5lcnRDb250cm9sbGVyID0gbmV3IFNiYkluZXJ0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfc2Nyb2xsSGFuZGxlciA9IG5ldyBTYmJTY3JvbGxIYW5kbGVyKCk7XG4gIHByaXZhdGUgX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlclRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX25hdmlnYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fb25OYXZpZ2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChldmVudCkgPT4gdGhpcy5faGFuZGxlTmF2aWdhdGlvbkNsb3NlKGV2ZW50KSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3BvaW50ZXJ1cCcsIChldmVudCkgPT4gdGhpcy5fY2xvc2VPbkJhY2tkcm9wQ2xpY2soZXZlbnQpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigncG9pbnRlcmRvd24nLCAoZXZlbnQpID0+IHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIoZXZlbnQpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihcbiAgICAgICfJtW5hdmlnYXRpb25zZWN0aW9ub3BlbmluZycsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPSBldmVudC50YXJnZXQgYXMgU2JiTmF2aWdhdGlvblNlY3Rpb25FbGVtZW50O1xuICAgICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24nLCAhIXRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uKTtcbiAgICAgIH0sXG4gICAgICB7IGNhcHR1cmU6IHRydWUgfSxcbiAgICApO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKFxuICAgICAgJ8m1bmF2aWdhdGlvbnNlY3Rpb25jbG9zaW5nJyxcbiAgICAgIChldmVudCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5fYWN0aXZlTmF2aWdhdGlvblNlY3Rpb24gPT09IGV2ZW50LnRhcmdldCkge1xuICAgICAgICAgIHRoaXMuX2FjdGl2ZU5hdmlnYXRpb25TZWN0aW9uID0gbnVsbDtcbiAgICAgICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdoYXMtb3Blbi1uYXZpZ2F0aW9uLXNlY3Rpb24nKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgY2FwdHVyZTogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyB8fCAhdGhpcy5oYXNVcGRhdGVkIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlQWN0aW9ucygpO1xuICAgIHRoaXMuX2NoZWNrQWN0aXZlU2VjdGlvbigpO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcblxuICAgIC8vIERpc2FibGUgc2Nyb2xsaW5nIGZvciBjb250ZW50IGJlbG93IHRoZSBuYXZpZ2F0aW9uXG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5kaXNhYmxlU2Nyb2xsKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NoZWNrQWN0aXZlU2VjdGlvbigpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVBY3Rpb24gPSB0aGlzLnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAnc2JiLW5hdmlnYXRpb24tYnV0dG9uLnNiYi1hY3RpdmUnLFxuICAgICkgYXMgU2JiTmF2aWdhdGlvbkJ1dHRvbkVsZW1lbnQ7XG4gICAgYWN0aXZlQWN0aW9uPy5jb25uZWN0ZWRTZWN0aW9uPy5vcGVuKCk7XG4gIH1cblxuICBwcml2YXRlIF9jaGVja0FjdGl2ZUFjdGlvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlQWN0aW9ucyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJzppcyhzYmItbmF2aWdhdGlvbi1idXR0b24sIHNiYi1uYXZpZ2F0aW9uLWxpbmspLnNiYi1hY3RpdmUnKSxcbiAgICApIGFzIChTYmJOYXZpZ2F0aW9uQnV0dG9uRWxlbWVudCB8IFNiYk5hdmlnYXRpb25MaW5rRWxlbWVudClbXTtcbiAgICBhY3RpdmVBY3Rpb25zPy5mb3JFYWNoKChhY3Rpb24pID0+IGFjdGlvbi5tYXJrZXI/LnNlbGVjdChhY3Rpb24pKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIG5hdmlnYXRpb24uICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuc3RhcnRVcGRhdGUoKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItbmF2aWdhdGlvbi1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuICAgIHRoaXMubmF2aWdhdGlvbkNvbnRlbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5fbmF2aWdhdGlvblJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0aGlzKTtcbiAgICB0aGlzLl9yZXNldE1hcmtlcnMoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcblxuICAgIC8vIEVuYWJsZSBzY3JvbGxpbmcgZm9yIGNvbnRlbnQgYmVsb3cgdGhlIG5hdmlnYXRpb25cbiAgICB0aGlzLl9zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX25hdmlnYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMuX2luZXJ0Q29udHJvbGxlci5hY3RpdmF0ZSgpO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSB0cnVlO1xuICAgIHRoaXMuY29tcGxldGVVcGRhdGUoKTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICAvLyBSZW1vdmVzIHRyaWdnZXIgY2xpY2sgbGlzdGVuZXIgb24gdHJpZ2dlciBjaGFuZ2UuXG4gIC8vIENoZWNrIGlmIHRoZSB0cmlnZ2VyIGlzIHZhbGlkIGFuZCBhdHRhY2ggY2xpY2sgZXZlbnQgbGlzdGVuZXJzLlxuICBwcml2YXRlIF9jb25maWd1cmVUcmlnZ2VyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnbWVudScsIHRoaXMuaWQsIHRoaXMuc3RhdGUpO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB0aGlzLm9wZW4oKSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEluIHJhcmUgY2FzZXMgaXQgY2FuIGJlIHRoYXQgdGhlIGFuaW1hdGlvbkVuZCBldmVudCBpcyB0cmlnZ2VyZWQgdHdpY2UuXG4gIC8vIFRvIGF2b2lkIGVudGVyaW5nIGEgY29ycnVwdCBzdGF0ZSwgZXhpdCB3aGVuIHN0YXRlIGlzIG5vdCBleHBlY3RlZC5cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRNYXJrZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZUFjdGlvbnMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAnOmlzKHNiYi1uYXZpZ2F0aW9uLWJ1dHRvbiwgc2JiLW5hdmlnYXRpb24tbGluayk6c3RhdGUoYWN0aW9uLWFjdGl2ZSk6bm90KC5zYmItYWN0aXZlKScsXG4gICAgICApLFxuICAgICkgYXMgKFNiYk5hdmlnYXRpb25CdXR0b25FbGVtZW50IHwgU2JiTmF2aWdhdGlvbkxpbmtFbGVtZW50KVtdO1xuICAgIGFjdGl2ZUFjdGlvbnM/LmZvckVhY2goKGFjdGlvbikgPT4gYWN0aW9uLm1hcmtlcj8ucmVzZXQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVOYXZpZ2F0aW9uQ2xvc2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY29tcG9zZWRQYXRoRWxlbWVudHMgPSBldmVudFxuICAgICAgLmNvbXBvc2VkUGF0aCgpXG4gICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpO1xuICAgIGlmIChjb21wb3NlZFBhdGhFbGVtZW50cy5zb21lKChlbCkgPT4gdGhpcy5faXNDbG9zZUVsZW1lbnQoZWwgYXMgSFRNTEVsZW1lbnQpKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzQ2xvc2VFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVsZW1lbnQubm9kZU5hbWUgPT09ICdBJyB8fFxuICAgICAgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItbmF2aWdhdGlvbi1jbG9zZScpICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSlcbiAgICApO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIG5hdmlnYXRpb24uXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uTmF2aWdhdGlvbiA9XG4gICAgICBpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSB8fFxuICAgICAgaXNFdmVudE9uRWxlbWVudChcbiAgICAgICAgdGhpcy5xdWVyeVNlbGVjdG9yKCdzYmItbmF2aWdhdGlvbi1zZWN0aW9uOnN0YXRlKHN0YXRlLW9wZW5lZCknKT8uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICAnbmF2LnNiYi1uYXZpZ2F0aW9uLXNlY3Rpb24nLFxuICAgICAgICApIGFzIEhUTUxFbGVtZW50LFxuICAgICAgICBldmVudCxcbiAgICAgICk7XG4gIH07XG5cbiAgLy8gQ2xvc2UgbmF2aWdhdGlvbiBvbiBiYWNrZHJvcCBjbGljay5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmICghdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25OYXZpZ2F0aW9uICYmICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX25hdmlnYXRpb24sIGV2ZW50KSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk5hdmlnYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCk7XG4gICAgfVxuXG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgncmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyk7XG5cbiAgICAvLyBEaXNhYmxlIHRoZSBhbmltYXRpb24gd2hlbiByZXNpemluZyB0aGUgbmF2aWdhdGlvbiB0byBhdm9pZCBzdHJhbmdlIGhlaWdodCB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1uYXZpZ2F0aW9uLSR7bmV4dElkKyt9YDtcbiAgICBpZiAodGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSBudWxsO1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fc2Nyb2xsSGFuZGxlci5lbmFibGVTY3JvbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFpc1NlcnZlciAmJiAoIW5hbWUgfHwgbmFtZSA9PT0gJ3RyaWdnZXInKSAmJiB0aGlzLmhhc1VwZGF0ZWQpIHtcbiAgICAgIHRoaXMuX2NvbmZpZ3VyZVRyaWdnZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBodG1sYFxuICAgICAgPHNiYi10cmFuc3BhcmVudC1idXR0b25cbiAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1jbG9zZS1idXR0b25cIlxuICAgICAgICBjbGFzcz1cInNiYi1uYXZpZ2F0aW9uX19jbG9zZVwiXG4gICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsIHx8IGkxOG5DbG9zZU5hdmlnYXRpb25bdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgbmVnYXRpdmVcbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICBzYmItbmF2aWdhdGlvbi1jbG9zZVxuICAgICAgPjwvc2JiLXRyYW5zcGFyZW50LWJ1dHRvbj5cbiAgICBgO1xuXG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX2NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgaWQ9XCJzYmItbmF2aWdhdGlvbi1vdmVybGF5XCJcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItbmF2aWdhdGlvblwiXG4gICAgICAgICAgJHtyZWYoKG5hdmlnYXRpb25SZWY/OiBFbGVtZW50KSA9PiAodGhpcy5fbmF2aWdhdGlvbiA9IG5hdmlnYXRpb25SZWYgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9faGVhZGVyXCI+JHtjbG9zZUJ1dHRvbn08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5hdmlnYXRpb25fX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbmF2aWdhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzbG90IG5hbWU9XCJuYXZpZ2F0aW9uLXNlY3Rpb25cIj48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbmF2aWdhdGlvbic6IFNiYk5hdmlnYXRpb25FbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNzQ0EsNEJBQTRCLE9BQU07QUFFbEMsSUFBSSxTQUFTO0FBQ2IsSUFBTSxnQkFBZ0I7Ozs7Ozs7OztJQVVULDhCQUFvQjttQkFBUyx3QkFBd0IsdUJBQXVCOzs7Ozs7Ozs7O2NBQTVFLDZCQUE2QixZQUFnRDs7OzBCQVV2RixZQUFXLEdBQ1gsU0FBUSxDQUFFOzBDQUlWLFVBQVMsR0FDVCxTQUFTLEVBQUUsV0FBVyw0QkFBMkIsQ0FBRSxDQUFDOzJDQUlwRCxNQUFLLENBQUU7R0FSUixhQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGFBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVAsVUFBTztLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSx1QkFBQSwwQkFBQTtHQUt2QixhQUFBLE1BQUEsTUFBQSxxQ0FBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLDZCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQXVCLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBdkIsMEJBQXVCO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLHVDQUFBLDBDQUFBO0dBRzlCLGFBQUEsTUFBQSxNQUFBLHNDQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsOEJBQUE7S0FBQSxNQUFBLFFBQUEs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
@@ -1,10 +1,10 @@
1
- import { t as SbbNavigationActionCommonElementMixin } from "./navigation-action-common-Hjr4dI9J.js";
1
+ import { t as SbbNavigationActionCommonElementMixin } from "./navigation-action-common-EqMDRz8Z.js";
2
2
  import { SbbNavigationButtonElement } from "./navigation/navigation-button/navigation-button.component.js";
3
3
  import { SbbNavigationLinkElement } from "./navigation/navigation-link/navigation-link.component.js";
4
- import { t as SbbNavigationListElement } from "./navigation-list.component-DqITJqFx.js";
5
- import { t as SbbNavigationMarkerElement } from "./navigation-marker.component-GOv42emC.js";
6
- import { t as SbbNavigationSectionElement } from "./navigation-section.component-CnVrRETN.js";
7
- import { t as SbbNavigationElement } from "./navigation.component-CTNQ1dix.js";
4
+ import { t as SbbNavigationListElement } from "./navigation-list.component-DNHBxMKU.js";
5
+ import { t as SbbNavigationMarkerElement } from "./navigation-marker.component-A1v9Hd9J.js";
6
+ import { t as SbbNavigationSectionElement } from "./navigation-section.component-DT34_2-O.js";
7
+ import { t as SbbNavigationElement } from "./navigation.component-C4M2wVbM.js";
8
8
  import "./navigation.pure.js";
9
9
  //#region src/elements/navigation.ts
10
10
  /** @entrypoint */
@@ -1,8 +1,8 @@
1
- import { t as SbbNavigationActionCommonElementMixin } from "./navigation-action-common-Hjr4dI9J.js";
1
+ import { t as SbbNavigationActionCommonElementMixin } from "./navigation-action-common-EqMDRz8Z.js";
2
2
  import { SbbNavigationButtonElement } from "./navigation/navigation-button/navigation-button.component.js";
3
3
  import { SbbNavigationLinkElement } from "./navigation/navigation-link/navigation-link.component.js";
4
- import { t as SbbNavigationListElement } from "./navigation-list.component-DqITJqFx.js";
5
- import { t as SbbNavigationMarkerElement } from "./navigation-marker.component-GOv42emC.js";
6
- import { t as SbbNavigationSectionElement } from "./navigation-section.component-CnVrRETN.js";
7
- import { t as SbbNavigationElement } from "./navigation.component-CTNQ1dix.js";
4
+ import { t as SbbNavigationListElement } from "./navigation-list.component-DNHBxMKU.js";
5
+ import { t as SbbNavigationMarkerElement } from "./navigation-marker.component-A1v9Hd9J.js";
6
+ import { t as SbbNavigationSectionElement } from "./navigation-section.component-DT34_2-O.js";
7
+ import { t as SbbNavigationElement } from "./navigation.component-C4M2wVbM.js";
8
8
  export { SbbNavigationActionCommonElementMixin, SbbNavigationButtonElement, SbbNavigationElement, SbbNavigationLinkElement, SbbNavigationListElement, SbbNavigationMarkerElement, SbbNavigationSectionElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbNotificationElement } from "../notification.component-Cvq_uViC.js";
1
+ import { t as SbbNotificationElement } from "../notification.component-CN_R2kpL.js";
2
2
  export { SbbNotificationElement };
@@ -271,4 +271,4 @@ var SbbNotificationElement = (() => {
271
271
  //#endregion
272
272
  export { SbbNotificationElement as t };
273
273
 
274
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC1DdnFfdVZpQy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4vLyBPcGVuL0Nsb3NlIGFuaW1hdGlvbiB2YXJzXG4kb3Blbi1hbmltLW1hcmdpbi1mcm9tOiAwO1xuJG9wZW4tYW5pbS1tYXJnaW4tdG86IHZhcigtLXNiYi1ub3RpZmljYXRpb24tbWFyZ2luLCAwKTtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuJG9wZW4tYW5pbS1oZWlnaHQtZnJvbTogMDtcbiRvcGVuLWFuaW0taGVpZ2h0LXRvOiBjYWxjKFxuICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWhlaWdodCkgKyAodmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpICogMilcbik7XG5cbjpob3N0IHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgNSUsIHdoaXRlKSxcbiAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKSAzNSUsIHdoaXRlKVxuICApO1xuICAtLXNiYi1ub3RpZmljYXRpb24taWNvbi1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMtc3RhcnQ6IGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC8gMik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1mb250LXNpemU6IDFlbTtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aClcbiAgKTtcblxuICAvLyBBcyB0aGUgbm90aWZpY2F0aW9uIGhhcyBhbHdheXMgYSBsaWdodCBiYWNrZ3JvdW5kLCB3ZSBoYXZlIHRvIGZpeCB0aGUgZm9jdXMgb3V0bGluZSBjb2xvclxuICAvLyB0byBkZWZhdWx0IGNvbG9yIGZvciBjYXNlcyB3aGVyZSB0aGUgbm90aWZpY2F0aW9uIGlzIHVzZWQgaW4gYSBuZWdhdGl2ZSBjb250ZXh0LlxuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xufVxuXG4vLyBCeSBkZWZhdWx0LCB0aGUgb3BlbiBhbmltYXRpb24gaXMgZGlzYWJsZWRcbjpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuaW5nKTpub3QoW2FuaW1hdGlvbj0nb3BlbiddLCBbYW5pbWF0aW9uPSdhbGwnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZyk6bm90KFthbmltYXRpb249J2Nsb3NlJ10sIFthbmltYXRpb249J2FsbCddKSkge1xuICBAaW5jbHVkZSBzYmIuZGlzYWJsZS1hbmltYXRpb247XG59XG5cbjpob3N0KDpzdGF0ZShyZXNpemUtZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoOnN0YXRlKHNsb3R0ZWQtdGl0bGUpKSB7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWZvbnQtc2l6ZTogdmFyKC0tc2JiLWhlYWRpbmctZm9udC1zaXplLTUpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1saW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtaGVhZGluZyk7XG59XG5cbjpob3N0KDpzdGF0ZShzbG90dGVkLXRpdGxlKVtzaXplPSdzJ10pIHtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplOiB2YXIoLS1zYmItaGVhZGluZy1mb250LXNpemUtNik7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cylcbiAgICB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpO1xuICB9XG59XG5cbi8vIFR5cGVzXG46aG9zdCg6aXMoOm5vdChbdHlwZV0pLCBbdHlwZT0naW5mbyddKSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXNtb2tlKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29sb3IpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAyMCU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMjAlO1xufVxuXG46aG9zdChbdHlwZT0nbm90ZSddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itc2t5KTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjAlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDIwJTtcbn1cblxuOmhvc3QoW3R5cGU9J3N1Y2Nlc3MnXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXN1Y2Nlc3MpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAxNSU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMzAlO1xufVxuXG46aG9zdChbdHlwZT0nd2FybiddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itd2FybmluZyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjUlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDQwJTtcbn1cblxuOmhvc3QoW3R5cGU9J2Vycm9yJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3I6IHZhcigtLXNiYi1jb2xvci1lcnJvcik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQ6IDEwJTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1kYXJrOiAyNSU7XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pbnNldC1pbmxpbmUtc3RhcnQpKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydClcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KTtcbiAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIG1heC1oZWlnaHQ6ICN7JG9wZW4tYW5pbS1oZWlnaHQtZnJvbX07XG4gIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aCkgKiAtMSlcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFzZS1ib3JkZXItcmFkaXVzKSBjYWxjKHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoKSAqIC0xKVxuICAgICAgY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICA6aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LXRvfTtcbiAgICBtYXJnaW46ICN7JG9wZW4tYW5pbS1tYXJnaW4tdG99O1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBmaWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10aW1pbmctZnVuY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBjbG9zZSwgY2xvc2UtaGVpZ2h0O1xuICAgICAgZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICAgIGRlbGF5OiAwcywgdmFyKC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLCB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KSk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0byBhdXRvO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19pY29uLFxuOjpzbG90dGVkKHNiYi1pY29uKSB7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3IpO1xuICBhbGlnbi1zZWxmOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tYWxpZ24tc2VsZik7XG5cbiAgLy8gVGhpcyBpcyBhbiB1bmRvY3VtZW50ZWQgZmVhdHVyZSBmb3Igc2JiLmNoLCB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIGhpZGUgdGhlIGljb24uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tc2l6ZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogbWF4KFxuICAgICAgMHJlbSxcbiAgICAgIGNhbGMoXG4gICAgICAgIChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplKSAqXG4gICAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQpXG4gICAgICAgICAgICAgICkgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKVxuICAgICAgICAgICkgL1xuICAgICAgICAgIDJcbiAgICAgIClcbiAgICApO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19jb250ZW50IHtcbiAgLy8gVGhlIGNvbnRlbnQgb2YgdGhlIG5vdGlmaWNhdGlvbiBpcyBhbHdheXMgZGlzcGxheWVkIGluIHBvc2l0aXZlIG1vZGUsXG4gIC8vIHRoZXJlZm9yZSwgdG8gaGF2ZSBzbG90dGVkIGNvbnRlbnQgY29ycmVjdGx5IGRpc3BsYXksIHdlIG5lZWQgb25seSBhbGxvdyBsaWdodCBtb2RlLlxuICBjb2xvci1zY2hlbWU6IG9ubHkgbGlnaHQ7XG4gIG9yZGVyOiAzO1xuICBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDM7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LW1hcmdpbi1ibG9jay1zdGFydCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG9yZGVyOiBpbml0aWFsO1xuICAgIGdyaWQtYXJlYTogaW5pdGlhbDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29udGVudC1wYWRkaW5nLWlubGluZSk7XG4gIH1cbn1cblxuLnNiYi1ub3RpZmljYXRpb25fX3RleHQge1xuICAvLyBSZXNldCBwYXJhZ3JhcGggc3R5bGVzXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2JiLW5vdGlmaWNhdGlvbl9fZGl2aWRlciB7XG4gIC0tc2JiLWRpdmlkZXItY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQpLFxuICAgICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKVxuICAgICksXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyayksXG4gICAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3IpXG4gICAgKVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY2xvc2Utd3JhcHBlci1nYXApO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KSAqIDIpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LWZyb219O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi10b307XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLWZyb219O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2UtaGVpZ2h0IHtcbiAgZnJvbSB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gIH1cblxuICB0byB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC1mcm9tfTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXRpdGxlKSB7XG4gIC8vIE92ZXJ3cml0ZSBzYmItdGl0bGUgZGVmYXVsdCBtYXJnaW5cbiAgbWFyZ2luOiAwO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuLCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL2NvcmUvaTE4bi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IFNiYlJlYWRvbmx5TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlRWxlbWVudCB9IGZyb20gJy4uL3RpdGxlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbm90aWZpY2F0aW9uLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi9kaXZpZGVyLnRzJztcblxuLy8gVE9ETyhicmVha2luZy1jaGFuZ2UpOiBSZW1vdmUgY2FsbCB0byBkZWZpbmUuXG5TYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50LmRlZmluZSgpO1xuXG5jb25zdCBub3RpZmljYXRpb25UeXBlcyA9IG5ldyBNYXAoW1xuICBbJ2luZm8nLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnbm90ZScsICdjaXJjbGUtaW5mb3JtYXRpb24tc21hbGwnXSxcbiAgWydzdWNjZXNzJywgJ2NpcmNsZS10aWNrLXNtYWxsJ10sXG4gIFsnd2FybicsICdjaXJjbGUtZXhjbGFtYXRpb24tcG9pbnQtc21hbGwnXSxcbiAgWydlcnJvcicsICdjaXJjbGUtY3Jvc3Mtc21hbGwnXSxcbl0pO1xuXG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG1lc3NhZ2VzIHdoaWNoIHJlcXVpcmUgYSB1c2VyJ3MgYXR0ZW50aW9uIHdpdGhvdXQgaW50ZXJydXB0aW5nIGl0cyB0YXNrcy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAuIENvbnRlbnQgc2hvdWxkIGNvbnNpc3Qgb2YgYW4gb3B0aW9uYWwgYHNiYi10aXRsZWAgZWxlbWVudCBhbmQgdGV4dCBjb250ZW50LlxuICogQHNsb3QgdGl0bGUgLSBTbG90IGZvciB0aGUgdGl0bGUuIEZvciB0aGUgc3RhbmRhcmQgYHNiYi10aXRsZWAgZWxlbWVudCwgdGhlIHNsb3QgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCB3aGVuIHNsb3R0ZWQgaW4gdGhlIHVubmFtZWQgc2xvdC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYSBjdXN0b20gaWNvbiBieSBwcm92aWRpbmcgYW4gYHNiYi1pY29uYCBjb21wb25lbnQuXG4gKiBAY3NzcHJvcCBbLS1zYmItbm90aWZpY2F0aW9uLW1hcmdpbj0wXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgbWFyZ2luIGluIG9yZGVyIHRvIGdldCBhIHNtb290aGVyIGFuaW1hdGlvbi5cbiAqIFNlZSBzdHlsZSBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiTm90aWZpY2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oU2JiUmVhZG9ubHlNaXhpbihTYmJFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW5vdGlmaWNhdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgbm90aWZpY2F0aW9uLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB0eXBlOlxuICAgIHwgJ2luZm8nXG4gICAgfCAnbm90ZSdcbiAgICB8ICdzdWNjZXNzJ1xuICAgIHwgJ3dhcm4nXG4gICAgfCAnZXJyb3InID0gJ2luZm8nO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBUaGUgZW5hYmxlZCBhbmltYXRpb25zLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBhbmltYXRpb246ICdvcGVuJyB8ICdjbG9zZScgfCAnYWxsJyB8ICdub25lJyA9ICdhbGwnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlSW50ZXJuYWwgPSBzdGF0ZTtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZUludGVybmFsO1xuICB9XG4gIHByaXZhdGUgX3N0YXRlSW50ZXJuYWwhOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcblxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVGl0bGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ29wZW5pbmcnO1xuICAgICAgLyoqIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIHN0YXJ0cy4gKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZW9wZW4nKSk7XG5cbiAgICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcgJiYgdGhpcy5fZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgY2xvc2luZyBhbmltYXRpb24gc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQgdG8gcHJldmVudCB0aGUgY29tcG9uZW50IGZyb20gY2xvc2luZy4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JlY2xvc2UnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlcicsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBjb21wb25lbnQncyBgdXBkYXRlQ29tcGxldGVgIGluIG9yZGVyIHRvIHNldCB0aGUgY29ycmVjdFxuICAgIC8vIGhlaWdodCB0byB0aGUgbm90aWZpY2F0aW9uIGVsZW1lbnQuXG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpO1xuICAgICAgdGhpcy5fb3BlbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROb3RpZmljYXRpb25IZWlnaHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50Py5zY3JvbGxIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uSGVpZ2h0ID0gYCR7dGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW5vdGlmaWNhdGlvbi1oZWlnaHQnLCBub3RpZmljYXRpb25IZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdGhlIGFuaW1hdGlvbiB3aGVuIHJlc2l6aW5nIHRoZSBub3RpZmljYXRpb24gdG8gYXZvaWQgc3RyYW5nZSBoZWlnaHQgdHJhbnNpdGlvbiBlZmZlY3RzLlxuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpO1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdyZXNpemUtZGlzYWJsZS1hbmltYXRpb24nKSxcbiAgICAgIERFQk9VTkNFX1RJTUUsXG4gICAgKTtcblxuICAgIC8vIFRvIGF2b2lkIFJlc2l6ZU9ic2VydmVyIGxvb3BzLCB3ZSBzZXQgdGhlIGhlaWdodCBhIHRpY2sgbGF0ZXIuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXROb3RpZmljYXRpb25IZWlnaHQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9vbk5vdGlmaWNhdGlvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdjbG9zaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UtaGVpZ2h0Jykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBvcGVuaW5nIGFuaW1hdGlvbiBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ29wZW4nKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIGVuZHMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xvc2UnKSk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHRpdGxlID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKChlbCkgPT4gZWwubG9jYWxOYW1lID09PSAnc2JiLXRpdGxlJyk7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICB0aXRsZS5zbG90ID0gJ3RpdGxlJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVUaXRsZSgpOiB2b2lkIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlRpdGxlRWxlbWVudD4oJ3NiYi10aXRsZScpO1xuICAgIGlmICh0aXRsZSkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZSh0aXRsZSk7XG4gICAgICB0aXRsZS52aXN1YWxMZXZlbCA9IHRoaXMuc2l6ZSA9PT0gJ20nID8gJzUnIDogJzYnO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJJY29uTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci5yZW5kZXJJY29uTmFtZSgpIHx8IG5vdGlmaWNhdGlvblR5cGVzLmdldCh0aGlzLnR5cGUpITtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmR9PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvblwiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgnc2JiLW5vdGlmaWNhdGlvbl9faWNvbicpfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmVUaXRsZX0+PC9zbG90PlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX190ZXh0XCI+XG4gICAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICR7IXRoaXMucmVhZE9ubHlcbiAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICA8c2JiLWRpdmlkZXIgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19kaXZpZGVyXCIgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPSR7dGhpcy5zaXplfVxuICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5jbG9zZSgpfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5DbG9zZU5vdGlmaWNhdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2VcIlxuICAgICAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgICAgICBgXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMyQkEsMEJBQTBCLE9BQU07QUFFaEMsSUFBTSxvQkFBb0IsSUFBSSxJQUFJO0NBQ2hDLENBQUMsUUFBUSwwQkFBMEI7Q0FDbkMsQ0FBQyxRQUFRLDBCQUEwQjtDQUNuQyxDQUFDLFdBQVcsbUJBQW1CO0NBQy9CLENBQUMsUUFBUSxnQ0FBZ0M7Q0FDekMsQ0FBQyxTQUFTLG9CQUFvQjtDQUMvQjtBQUVELElBQU0sZ0JBQWdCOzs7Ozs7Ozs7O0lBV1QsZ0NBQXNCO21CQUFTLGlCQUFpQixpQkFBaUIsVUFBVSxDQUFDOzs7Ozs7Ozs7O2NBQTVFLCtCQUErQixZQUE4Qzs7O3VCQVd2RixTQUFTLEVBQUUsU0FBUyxLQUFJLENBQUUsQ0FBQzt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsS0FBSSxDQUFFLENBQUM7NEJBRzNCLFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFDO0dBZEMsYUFBQSxN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
274
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC1DTl9SMmtwTC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4vLyBPcGVuL0Nsb3NlIGFuaW1hdGlvbiB2YXJzXG4kb3Blbi1hbmltLW1hcmdpbi1mcm9tOiAwO1xuJG9wZW4tYW5pbS1tYXJnaW4tdG86IHZhcigtLXNiYi1ub3RpZmljYXRpb24tbWFyZ2luLCAwKTtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuJG9wZW4tYW5pbS1oZWlnaHQtZnJvbTogMDtcbiRvcGVuLWFuaW0taGVpZ2h0LXRvOiBjYWxjKFxuICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWhlaWdodCkgKyAodmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpICogMilcbik7XG5cbjpob3N0IHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgNSUsIHdoaXRlKSxcbiAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKSAzNSUsIHdoaXRlKVxuICApO1xuICAtLXNiYi1ub3RpZmljYXRpb24taWNvbi1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMtc3RhcnQ6IGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC8gMik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1mb250LXNpemU6IDFlbTtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aClcbiAgKTtcblxuICAvLyBBcyB0aGUgbm90aWZpY2F0aW9uIGhhcyBhbHdheXMgYSBsaWdodCBiYWNrZ3JvdW5kLCB3ZSBoYXZlIHRvIGZpeCB0aGUgZm9jdXMgb3V0bGluZSBjb2xvclxuICAvLyB0byBkZWZhdWx0IGNvbG9yIGZvciBjYXNlcyB3aGVyZSB0aGUgbm90aWZpY2F0aW9uIGlzIHVzZWQgaW4gYSBuZWdhdGl2ZSBjb250ZXh0LlxuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xufVxuXG4vLyBCeSBkZWZhdWx0LCB0aGUgb3BlbiBhbmltYXRpb24gaXMgZGlzYWJsZWRcbjpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuaW5nKTpub3QoW2FuaW1hdGlvbj0nb3BlbiddLCBbYW5pbWF0aW9uPSdhbGwnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZyk6bm90KFthbmltYXRpb249J2Nsb3NlJ10sIFthbmltYXRpb249J2FsbCddKSkge1xuICBAaW5jbHVkZSBzYmIuZGlzYWJsZS1hbmltYXRpb247XG59XG5cbjpob3N0KDpzdGF0ZShyZXNpemUtZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoOnN0YXRlKHNsb3R0ZWQtdGl0bGUpKSB7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWZvbnQtc2l6ZTogdmFyKC0tc2JiLWhlYWRpbmctZm9udC1zaXplLTUpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1saW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtaGVhZGluZyk7XG59XG5cbjpob3N0KDpzdGF0ZShzbG90dGVkLXRpdGxlKVtzaXplPSdzJ10pIHtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplOiB2YXIoLS1zYmItaGVhZGluZy1mb250LXNpemUtNik7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cylcbiAgICB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpO1xuICB9XG59XG5cbi8vIFR5cGVzXG46aG9zdCg6aXMoOm5vdChbdHlwZV0pLCBbdHlwZT0naW5mbyddKSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXNtb2tlKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29sb3IpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAyMCU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMjAlO1xufVxuXG46aG9zdChbdHlwZT0nbm90ZSddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itc2t5KTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjAlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDIwJTtcbn1cblxuOmhvc3QoW3R5cGU9J3N1Y2Nlc3MnXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXN1Y2Nlc3MpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAxNSU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMzAlO1xufVxuXG46aG9zdChbdHlwZT0nd2FybiddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itd2FybmluZyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjUlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDQwJTtcbn1cblxuOmhvc3QoW3R5cGU9J2Vycm9yJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3I6IHZhcigtLXNiYi1jb2xvci1lcnJvcik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQ6IDEwJTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1kYXJrOiAyNSU7XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pbnNldC1pbmxpbmUtc3RhcnQpKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydClcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KTtcbiAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIG1heC1oZWlnaHQ6ICN7JG9wZW4tYW5pbS1oZWlnaHQtZnJvbX07XG4gIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aCkgKiAtMSlcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFzZS1ib3JkZXItcmFkaXVzKSBjYWxjKHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoKSAqIC0xKVxuICAgICAgY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICA6aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LXRvfTtcbiAgICBtYXJnaW46ICN7JG9wZW4tYW5pbS1tYXJnaW4tdG99O1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBmaWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10aW1pbmctZnVuY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBjbG9zZSwgY2xvc2UtaGVpZ2h0O1xuICAgICAgZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICAgIGRlbGF5OiAwcywgdmFyKC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLCB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KSk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0byBhdXRvO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19pY29uLFxuOjpzbG90dGVkKHNiYi1pY29uKSB7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3IpO1xuICBhbGlnbi1zZWxmOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tYWxpZ24tc2VsZik7XG5cbiAgLy8gVGhpcyBpcyBhbiB1bmRvY3VtZW50ZWQgZmVhdHVyZSBmb3Igc2JiLmNoLCB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIGhpZGUgdGhlIGljb24uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tc2l6ZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogbWF4KFxuICAgICAgMHJlbSxcbiAgICAgIGNhbGMoXG4gICAgICAgIChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplKSAqXG4gICAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQpXG4gICAgICAgICAgICAgICkgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKVxuICAgICAgICAgICkgL1xuICAgICAgICAgIDJcbiAgICAgIClcbiAgICApO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19jb250ZW50IHtcbiAgLy8gVGhlIGNvbnRlbnQgb2YgdGhlIG5vdGlmaWNhdGlvbiBpcyBhbHdheXMgZGlzcGxheWVkIGluIHBvc2l0aXZlIG1vZGUsXG4gIC8vIHRoZXJlZm9yZSwgdG8gaGF2ZSBzbG90dGVkIGNvbnRlbnQgY29ycmVjdGx5IGRpc3BsYXksIHdlIG5lZWQgb25seSBhbGxvdyBsaWdodCBtb2RlLlxuICBjb2xvci1zY2hlbWU6IG9ubHkgbGlnaHQ7XG4gIG9yZGVyOiAzO1xuICBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDM7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LW1hcmdpbi1ibG9jay1zdGFydCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG9yZGVyOiBpbml0aWFsO1xuICAgIGdyaWQtYXJlYTogaW5pdGlhbDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29udGVudC1wYWRkaW5nLWlubGluZSk7XG4gIH1cbn1cblxuLnNiYi1ub3RpZmljYXRpb25fX3RleHQge1xuICAvLyBSZXNldCBwYXJhZ3JhcGggc3R5bGVzXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2JiLW5vdGlmaWNhdGlvbl9fZGl2aWRlciB7XG4gIC0tc2JiLWRpdmlkZXItY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQpLFxuICAgICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKVxuICAgICksXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyayksXG4gICAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3IpXG4gICAgKVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY2xvc2Utd3JhcHBlci1nYXApO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KSAqIDIpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LWZyb219O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi10b307XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLWZyb219O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2UtaGVpZ2h0IHtcbiAgZnJvbSB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gIH1cblxuICB0byB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC1mcm9tfTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXRpdGxlKSB7XG4gIC8vIE92ZXJ3cml0ZSBzYmItdGl0bGUgZGVmYXVsdCBtYXJnaW5cbiAgbWFyZ2luOiAwO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuLCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL2NvcmUvaTE4bi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLnRzJztcbmltcG9ydCB7IFNiYlJlYWRvbmx5TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRpdGxlRWxlbWVudCB9IGZyb20gJy4uL3RpdGxlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbm90aWZpY2F0aW9uLnNjc3M/aW5saW5lJztcblxuaW1wb3J0ICcuLi9kaXZpZGVyLnRzJztcblxuLy8gVE9ETyhicmVha2luZy1jaGFuZ2UpOiBSZW1vdmUgY2FsbCB0byBkZWZpbmUuXG5TYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50LmRlZmluZSgpO1xuXG5jb25zdCBub3RpZmljYXRpb25UeXBlcyA9IG5ldyBNYXAoW1xuICBbJ2luZm8nLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnbm90ZScsICdjaXJjbGUtaW5mb3JtYXRpb24tc21hbGwnXSxcbiAgWydzdWNjZXNzJywgJ2NpcmNsZS10aWNrLXNtYWxsJ10sXG4gIFsnd2FybicsICdjaXJjbGUtZXhjbGFtYXRpb24tcG9pbnQtc21hbGwnXSxcbiAgWydlcnJvcicsICdjaXJjbGUtY3Jvc3Mtc21hbGwnXSxcbl0pO1xuXG5jb25zdCBERUJPVU5DRV9USU1FID0gMTUwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIG1lc3NhZ2VzIHdoaWNoIHJlcXVpcmUgYSB1c2VyJ3MgYXR0ZW50aW9uIHdpdGhvdXQgaW50ZXJydXB0aW5nIGl0cyB0YXNrcy5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLW5vdGlmaWNhdGlvbmAuIENvbnRlbnQgc2hvdWxkIGNvbnNpc3Qgb2YgYW4gb3B0aW9uYWwgYHNiYi10aXRsZWAgZWxlbWVudCBhbmQgdGV4dCBjb250ZW50LlxuICogQHNsb3QgdGl0bGUgLSBTbG90IGZvciB0aGUgdGl0bGUuIEZvciB0aGUgc3RhbmRhcmQgYHNiYi10aXRsZWAgZWxlbWVudCwgdGhlIHNsb3QgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCB3aGVuIHNsb3R0ZWQgaW4gdGhlIHVubmFtZWQgc2xvdC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIGRpc3BsYXkgYSBjdXN0b20gaWNvbiBieSBwcm92aWRpbmcgYW4gYHNiYi1pY29uYCBjb21wb25lbnQuXG4gKiBAY3NzcHJvcCBbLS1zYmItbm90aWZpY2F0aW9uLW1hcmdpbj0wXSAtIENhbiBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgbWFyZ2luIGluIG9yZGVyIHRvIGdldCBhIHNtb290aGVyIGFuaW1hdGlvbi5cbiAqIFNlZSBzdHlsZSBzZWN0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgU2JiTm90aWZpY2F0aW9uRWxlbWVudCBleHRlbmRzIFNiYkljb25OYW1lTWl4aW4oU2JiUmVhZG9ubHlNaXhpbihTYmJFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW5vdGlmaWNhdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgdHlwZSBvZiB0aGUgbm90aWZpY2F0aW9uLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB0eXBlOlxuICAgIHwgJ2luZm8nXG4gICAgfCAnbm90ZSdcbiAgICB8ICdzdWNjZXNzJ1xuICAgIHwgJ3dhcm4nXG4gICAgfCAnZXJyb3InID0gJ2luZm8nO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICdzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHNpemU6ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3MnIDogJ20nO1xuXG4gIC8qKiBUaGUgZW5hYmxlZCBhbmltYXRpb25zLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBhbmltYXRpb246ICdvcGVuJyB8ICdjbG9zZScgfCAnYWxsJyB8ICdub25lJyA9ICdhbGwnO1xuXG4gIC8qKiBUaGUgc3RhdGUgb2YgdGhlIGNvbXBvbmVudC4gKi9cbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSkge1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlSW50ZXJuYWwgPSBzdGF0ZTtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZChgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZUludGVybmFsO1xuICB9XG4gIHByaXZhdGUgX3N0YXRlSW50ZXJuYWwhOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcblxuICBwcml2YXRlIF9ub3RpZmljYXRpb25FbGVtZW50ITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyVGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICB0YXJnZXQ6IG51bGwsXG4gICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX29uTm90aWZpY2F0aW9uUmVzaXplKCksXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3NpemUnKSkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVGl0bGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ29wZW5pbmcnO1xuICAgICAgLyoqIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIHN0YXJ0cy4gKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZW9wZW4nKSk7XG5cbiAgICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcgJiYgdGhpcy5fZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCkpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuXG4gICAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpOiBib29sZWFuIHtcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgY2xvc2luZyBhbmltYXRpb24gc3RhcnRzLiBDYW4gYmUgY2FuY2VsZWQgdG8gcHJldmVudCB0aGUgY29tcG9uZW50IGZyb20gY2xvc2luZy4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3JlY2xvc2UnLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCA9IHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihcbiAgICAgICcuc2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlcicsXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcbiAgICAvLyBXZSBuZWVkIHRvIHdhaXQgZm9yIHRoZSBjb21wb25lbnQncyBgdXBkYXRlQ29tcGxldGVgIGluIG9yZGVyIHRvIHNldCB0aGUgY29ycmVjdFxuICAgIC8vIGhlaWdodCB0byB0aGUgbm90aWZpY2F0aW9uIGVsZW1lbnQuXG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHtcbiAgICAgIHRoaXMuX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpO1xuICAgICAgdGhpcy5fb3BlbigpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9zZXROb3RpZmljYXRpb25IZWlnaHQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50Py5zY3JvbGxIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgbm90aWZpY2F0aW9uSGVpZ2h0ID0gYCR7dGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudC5zY3JvbGxIZWlnaHR9cHhgO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLW5vdGlmaWNhdGlvbi1oZWlnaHQnLCBub3RpZmljYXRpb25IZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25Ob3RpZmljYXRpb25SZXNpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlICE9PSAnb3BlbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9yZXNpemVPYnNlcnZlclRpbWVvdXQpO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdGhlIGFuaW1hdGlvbiB3aGVuIHJlc2l6aW5nIHRoZSBub3RpZmljYXRpb24gdG8gYXZvaWQgc3RyYW5nZSBoZWlnaHQgdHJhbnNpdGlvbiBlZmZlY3RzLlxuICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpO1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdyZXNpemUtZGlzYWJsZS1hbmltYXRpb24nKSxcbiAgICAgIERFQk9VTkNFX1RJTUUsXG4gICAgKTtcblxuICAgIC8vIFRvIGF2b2lkIFJlc2l6ZU9ic2VydmVyIGxvb3BzLCB3ZSBzZXQgdGhlIGhlaWdodCBhIHRpY2sgbGF0ZXIuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9zZXROb3RpZmljYXRpb25IZWlnaHQoKSk7XG4gIH1cblxuICBwcml2YXRlIF9vbk5vdGlmaWNhdGlvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnb3BlbicpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdjbG9zaW5nJyAmJiBldmVudC5hbmltYXRpb25OYW1lID09PSAnY2xvc2UtaGVpZ2h0Jykge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBvcGVuaW5nIGFuaW1hdGlvbiBlbmRzLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ29wZW4nKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVDbG9zaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NlZCc7XG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIGNsb3NpbmcgYW5pbWF0aW9uIGVuZHMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xvc2UnKSk7XG4gICAgdGhpcy5fbm90aWZpY2F0aW9uUmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZW1vdmUoKSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIGNvbnN0IHRpdGxlID0gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKChlbCkgPT4gZWwubG9jYWxOYW1lID09PSAnc2JiLXRpdGxlJyk7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICB0aXRsZS5zbG90ID0gJ3RpdGxlJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jb25maWd1cmVUaXRsZSgpOiB2b2lkIHtcbiAgICBjb25zdCB0aXRsZSA9IHRoaXMucXVlcnlTZWxlY3Rvcj8uPFNiYlRpdGxlRWxlbWVudD4oJ3NiYi10aXRsZScpO1xuICAgIGlmICh0aXRsZSkge1xuICAgICAgY3VzdG9tRWxlbWVudHMudXBncmFkZSh0aXRsZSk7XG4gICAgICB0aXRsZS52aXN1YWxMZXZlbCA9IHRoaXMuc2l6ZSA9PT0gJ20nID8gJzUnIDogJzYnO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJJY29uTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdXBlci5yZW5kZXJJY29uTmFtZSgpIHx8IG5vdGlmaWNhdGlvblR5cGVzLmdldCh0aGlzLnR5cGUpITtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX3dyYXBwZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Ob3RpZmljYXRpb25BbmltYXRpb25FbmR9PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvblwiPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgnc2JiLW5vdGlmaWNhdGlvbl9faWNvbicpfVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY29udGVudFwiPlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cInRpdGxlXCIgQHNsb3RjaGFuZ2U9JHt0aGlzLl9jb25maWd1cmVUaXRsZX0+PC9zbG90PlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX190ZXh0XCI+XG4gICAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICR7IXRoaXMucmVhZE9ubHlcbiAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICA8c2JiLWRpdmlkZXIgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19kaXZpZGVyXCIgb3JpZW50YXRpb249XCJ2ZXJ0aWNhbFwiPjwvc2JiLWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgICAgICAgICAgICBzaXplPSR7dGhpcy5zaXplfVxuICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5jbG9zZSgpfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5DbG9zZU5vdGlmaWNhdGlvblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fY2xvc2VcIlxuICAgICAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgICAgICBgXG4gICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW5vdGlmaWNhdGlvbic6IFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMyQkEsMEJBQTBCLE9BQU07QUFFaEMsSUFBTSxvQkFBb0IsSUFBSSxJQUFJO0NBQ2hDLENBQUMsUUFBUSwwQkFBMEI7Q0FDbkMsQ0FBQyxRQUFRLDBCQUEwQjtDQUNuQyxDQUFDLFdBQVcsbUJBQW1CO0NBQy9CLENBQUMsUUFBUSxnQ0FBZ0M7Q0FDekMsQ0FBQyxTQUFTLG9CQUFvQjtDQUMvQjtBQUVELElBQU0sZ0JBQWdCOzs7Ozs7Ozs7O0lBV1QsZ0NBQXNCO21CQUFTLGlCQUFpQixpQkFBaUIsVUFBVSxDQUFDOzs7Ozs7Ozs7O2NBQTVFLCtCQUErQixZQUE4Qzs7O3VCQVd2RixTQUFTLEVBQUUsU0FBUyxLQUFJLENBQUUsQ0FBQzt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsS0FBSSxDQUFFLENBQUM7NEJBRzNCLFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFDO0dBZEMsYUFBQSxN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
@@ -1,4 +1,4 @@
1
- import { t as SbbNotificationElement } from "./notification.component-Cvq_uViC.js";
1
+ import { t as SbbNotificationElement } from "./notification.component-CN_R2kpL.js";
2
2
  import "./notification.pure.js";
3
3
  //#region src/elements/notification.ts
4
4
  /** @entrypoint */
@@ -1,2 +1,2 @@
1
- import { t as SbbNotificationElement } from "./notification.component-Cvq_uViC.js";
1
+ import { t as SbbNotificationElement } from "./notification.component-CN_R2kpL.js";
2
2
  export { SbbNotificationElement };
@@ -138,4 +138,4 @@ var SbbOptgroupBaseElement = (() => {
138
138
  //#endregion
139
139
  export { SbbOptgroupBaseElement as t };
140
140
 
141
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAtYmFzZS1lbGVtZW50LUJhRzJXX0FQLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRncm91cC9vcHRncm91cC1iYXNlLWVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOmZpcnN0LWNoaWxkKSB7XG4gIC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOnN0YXRlKG5lZ2F0aXZlKSkge1xuICAtLXNiYi1vcHRncm91cC1sYWJlbC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xufVxuXG4uc2JiLW9wdGdyb3VwIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbn1cblxuLnNiYi1vcHRncm91cF9fbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtY29sb3IpO1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tc2JiLW9wdGdyb3VwLWxhYmVsLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtcGFkZGluZy1lbmQpO1xufVxuXG4uc2JiLW9wdGdyb3VwX19kaXZpZGVyIHtcbiAgZGlzcGxheTogdmFyKC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheSwgYmxvY2spO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItb3B0aW9ucy1wYW5lbC1kaXZpZGVyLW1hcmdpbi1ibG9jayk7XG59XG5cbi8vIEFsaWduIHRoZSBncm91cCBsYWJlbCB0byB0aGUgb3B0aW9uIGxhYmVsXG4uc2JiLW9wdGdyb3VwX19pY29uLXNwYWNlIHtcbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdwcmVzZXJ2ZS1pY29uLXNwYWNlJyBvbiB0aGUgYXV0b2NvbXBsZXRlXG4gIGRpc3BsYXk6IHZhcigtLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheSwgbm9uZSk7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG59XG5cbjo6c2xvdHRlZChzYmItZGl2aWRlcikge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1vcHRpb25zLXBhbmVsLWRpdmlkZXItbWFyZ2luLWJsb2NrKTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBpc1NhZmFyaSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi1iYXNlLWVsZW1lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vcHRncm91cC1iYXNlLWVsZW1lbnQuc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIudHMnO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGdyb3VwcyBsYWJlbHMgYXJlIG5vdCByZWFkIGJ5IFZvaWNlT3Zlci5cbiAqIFRvIHNvbHZlIHRoZSBwcm9ibGVtLCB3ZSByZW1vdmUgdGhlIHJvbGU9XCJncm91cFwiIGFuZCBhZGQgYSBoaWRkZW4gc3BhbiBjb250YWluaW5nIHRoZSBncm91cCBuYW1lXG4gKiBUT0RPOiBXZSBzaG91bGQgcGVyaW9kaWNhbGx5IGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNvbHZlZCBhbmQsIGlmIHNvLCByZW1vdmUgdGhlIHByb3BlcnR5LlxuICovXG5jb25zdCBpbmVydEFyaWFHcm91cHMgPSBpc1NhZmFyaTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogT3B0aW9uIGdyb3VwIGxhYmVsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uQmFzZUVsZW1lbnRbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdXBkYXRlQXJpYUxhYmVsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGlmICghdGhpcy5faW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl91cGRhdGVBcmlhTGFiZWwoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUFyaWFMYWJlbCgpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgICAvLyBVc2VkIHRvIG5vdGlmeSBhc3NvY2lhdGVkIGNvbXBvbmVudHMgbGlrZSB0aGUgc2JiLXNlbGVjdCB0byB1cGRhdGUgc3RhdGVcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVvcHRncm91cHNsb3RjaGFuZ2UnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVBcmlhTGFiZWwoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gIXRoaXMuX2luZXJ0QXJpYUdyb3VwcyA/IHRoaXMubGFiZWwgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0T3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBhdXRvY29tcGxldGUgPSB0aGlzLmdldEF1dG9jb21wbGV0ZVBhcmVudCgpO1xuICAgIGlmICghYXV0b2NvbXBsZXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gYXV0b2NvbXBsZXRlLnRyaWdnZXJFbGVtZW50Py52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IG9wdC5oaWdobGlnaHQodmFsdWUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIFRPRE86IHJlcGxhY2UgZGl2aWRlciB3aXRoIENTU1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fZGl2aWRlclwiPlxuICAgICAgICA8c2JiLWRpdmlkZXIgP25lZ2F0aXZlPSR7dGhpcy5tYXRjaGVzPy4oJzpzdGF0ZShuZWdhdGl2ZSknKX0+PC9zYmItZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgJHt0aGlzLmxhYmVsXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2xhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2ljb24tc3BhY2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4+JHt0aGlzLmxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgYDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMyQkEsSUFBTSxrQkFBa0I7SUFFRixnQ0FBc0I7bUJBQVMsaUJBQWlCLFVBQVU7Ozs7Ozs7Y0FBMUQsK0JBQStCLFlBQTRCOzs7d0JBSzlFLFVBQVMsR0FDVCxTQUFRLENBQUU7bUNBR1YsTUFBSyxDQUFFO0dBRlIsYUFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFMLFFBQUs7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEscUJBQUEsd0JBQUE7R0FFWixhQUFBLE1BQUEsTUFBQSw4QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLHNCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWlCO0tBQWdCLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBaEIsbUJBQWdCO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLGdDQUFBLG1DQUFBOzs7Ozs7Ozs7R0FSVixLQUFBLE9BQU8sQ0FBQyxrQkFBa0IsVUFBVTtFQUFLOztHQUNsRCxLQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsNkJBQUssQ0FBQztFQUFFO0VBS3BGLDBCQUFBLGtCQUFBLE1BQUEscUJBQWdDLEVBQUU7O0VBQWxDLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUFyQixJQUFnQixNQUFLLE9BQUE7R0FBQSxLQUFBLDBCQUFBO0VBQUE7RUFFWixzQ0FBQSxrQkFBQSxNQUFBLHdCQUFBLEdBQUEsa0JBQUEsTUFBQSxnQ0FBb0MsS0FBSztFQUF6QyxJQUFpQixtQkFBZ0I7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUFqQyxJQUFpQixpQkFBZ0IsT0FBQTtHQUFBLEtBQUEscUNBQUE7RUFBQTtFQUkxQyxjQUFBO0dBQ0UsTUFBSzs7R0FFTCxJQUFJLGlCQUNGLElBQUksS0FBSyxtQkFDUCxLQUFLLGtCQUFrQixXQUFZLEtBQUssbUJBQW1CLGVBQWdCO1FBRTNFLEtBQUssbUJBQW1COztFQUtkLG9CQUFpQjtHQUMvQixNQUFNLGtCQUFpQjtHQUN2QixLQUFLLGlCQUFnQjtFQUN2QjtFQUVtQixXQUFXLG1CQUF1QztHQUNuRSxNQUFNLFdBQVcsaUJBQWlCO0dBRWxDLElBQUksa0JBQWtCLElBQUksVUFBVTtRQUM5QixDQUFDLEtBQUssa0JBQ1IsS0FBSyxVQUFVLGVBQWUsS0FBSyxXQUFXLFNBQVM7R0FBQTtHQUczRCxJQUFJLGtCQUFrQixJQUFJLE9BQU8sR0FDL0IsS0FBSyxpQkFBZ0I7RUFFekI7RUFJUSxvQkFBaUI7R0FDdkIsS0FBSyxpQkFBZ0I7R0FDckIsS0FBSyxrQkFBaUI7O0dBR3RCLEtBQUssY0FBYyxJQUFJLE1BQU0scUJBQXFCLENBQUM7RUFDckQ7RUFFUSxtQkFBZ0I7R0FDdEIsS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLLG1CQUFtQixLQUFLLFFBQVE7RUFDbkU7RUFFUSxvQkFBaUI7R0FDdkIsTUFBTSxlQUFlLEtBQUssc0JBQXFCO0dBQy9DLElBQUksQ0FBQyxjQUNIO0dBRUYsTUFBTSxRQUFRLGFBQWEsZ0JBQWdCO0dBQzNDLElBQUksQ0FBQyxPQUNIO0dBRUYsS0FBSyxRQUFRLFNBQVMsUUFBUSxJQUFJLFVBQVUsS0FBSyxDQUFDO0VBQ3BEO0VBRW1CLFNBQU07R0FFdkIsT0FBTyxJQUFJOztpQ0FFa0IsS0FBSyxVQUFVLHlDQUFrQixFQUFDOztRQUUzRCxLQUFLLFFBQ0gsSUFBSTs7O3NCQUdRLEtBQUssTUFBSzs7Y0FHdEIsUUFBQTswQkFDZ0IsS0FBSyxrQkFBaUI7O0VBRTlDIn0=
141
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAtYmFzZS1lbGVtZW50LUJLVFdHVFYyLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9vcHRpb24vb3B0Z3JvdXAvb3B0Z3JvdXAtYmFzZS1lbGVtZW50LnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL29wdGlvbi9vcHRncm91cC9vcHRncm91cC1iYXNlLWVsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOmZpcnN0LWNoaWxkKSB7XG4gIC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheTogbm9uZTtcbn1cblxuOmhvc3QoOnN0YXRlKG5lZ2F0aXZlKSkge1xuICAtLXNiYi1vcHRncm91cC1sYWJlbC1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xufVxuXG4uc2JiLW9wdGdyb3VwIHtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCk7XG4gIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTR4KTtcbn1cblxuLnNiYi1vcHRncm91cF9fbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtY29sb3IpO1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tc2JiLW9wdGdyb3VwLWxhYmVsLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1vcHRncm91cC1sYWJlbC1wYWRkaW5nLWlubGluZSk7XG4gIHBhZGRpbmctYmxvY2stZW5kOiB2YXIoLS1zYmItb3B0Z3JvdXAtbGFiZWwtcGFkZGluZy1lbmQpO1xufVxuXG4uc2JiLW9wdGdyb3VwX19kaXZpZGVyIHtcbiAgZGlzcGxheTogdmFyKC0tc2JiLW9wdGdyb3VwLWRpdmlkZXItZGlzcGxheSwgYmxvY2spO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItb3B0aW9ucy1wYW5lbC1kaXZpZGVyLW1hcmdpbi1ibG9jayk7XG59XG5cbi8vIEFsaWduIHRoZSBncm91cCBsYWJlbCB0byB0aGUgb3B0aW9uIGxhYmVsXG4uc2JiLW9wdGdyb3VwX19pY29uLXNwYWNlIHtcbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlICdwcmVzZXJ2ZS1pY29uLXNwYWNlJyBvbiB0aGUgYXV0b2NvbXBsZXRlXG4gIGRpc3BsYXk6IHZhcigtLXNiYi1vcHRpb24taWNvbi1jb250YWluZXItZGlzcGxheSwgbm9uZSk7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbCk7XG59XG5cbjo6c2xvdHRlZChzYmItZGl2aWRlcikge1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1vcHRpb25zLXBhbmVsLWRpdmlkZXItbWFyZ2luLWJsb2NrKTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2F1dG9jb21wbGV0ZS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IGZvcmNlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBpc1NhZmFyaSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLnRzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi1iYXNlLWVsZW1lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vcHRncm91cC1iYXNlLWVsZW1lbnQuc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2RpdmlkZXIudHMnO1xuXG4vKipcbiAqIE9uIFNhZmFyaSwgdGhlIGdyb3VwcyBsYWJlbHMgYXJlIG5vdCByZWFkIGJ5IFZvaWNlT3Zlci5cbiAqIFRvIHNvbHZlIHRoZSBwcm9ibGVtLCB3ZSByZW1vdmUgdGhlIHJvbGU9XCJncm91cFwiIGFuZCBhZGQgYSBoaWRkZW4gc3BhbiBjb250YWluaW5nIHRoZSBncm91cCBuYW1lXG4gKiBUT0RPOiBXZSBzaG91bGQgcGVyaW9kaWNhbGx5IGNoZWNrIGlmIGl0IGhhcyBiZWVuIHNvbHZlZCBhbmQsIGlmIHNvLCByZW1vdmUgdGhlIHByb3BlcnR5LlxuICovXG5jb25zdCBpbmVydEFyaWFHcm91cHMgPSBpc1NhZmFyaTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk9wdGdyb3VwQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFNiYkVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gIWluZXJ0QXJpYUdyb3VwcyA/ICdncm91cCcgOiBudWxsO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogT3B0aW9uIGdyb3VwIGxhYmVsLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9pbmVydEFyaWFHcm91cHMgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uQmFzZUVsZW1lbnRbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIGlmIChpbmVydEFyaWFHcm91cHMpIHtcbiAgICAgIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuaHlkcmF0aW9uQ29tcGxldGUudGhlbigoKSA9PiAodGhpcy5faW5lcnRBcmlhR3JvdXBzID0gaW5lcnRBcmlhR3JvdXBzKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9pbmVydEFyaWFHcm91cHMgPSBpbmVydEFyaWFHcm91cHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdXBkYXRlQXJpYUxhYmVsKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGlmICghdGhpcy5faW5lcnRBcmlhR3JvdXBzKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsYWJlbCcpKSB7XG4gICAgICB0aGlzLl91cGRhdGVBcmlhTGFiZWwoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0QXV0b2NvbXBsZXRlUGFyZW50KCk6IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHwgbnVsbDtcblxuICBwcml2YXRlIF9oYW5kbGVTbG90Y2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUFyaWFMYWJlbCgpO1xuICAgIHRoaXMuX2hpZ2hsaWdodE9wdGlvbnMoKTtcbiAgICAvLyBVc2VkIHRvIG5vdGlmeSBhc3NvY2lhdGVkIGNvbXBvbmVudHMgbGlrZSB0aGUgc2JiLXNlbGVjdCB0byB1cGRhdGUgc3RhdGVcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnybVvcHRncm91cHNsb3RjaGFuZ2UnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVBcmlhTGFiZWwoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxhYmVsID0gIXRoaXMuX2luZXJ0QXJpYUdyb3VwcyA/IHRoaXMubGFiZWwgOiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0T3B0aW9ucygpOiB2b2lkIHtcbiAgICBjb25zdCBhdXRvY29tcGxldGUgPSB0aGlzLmdldEF1dG9jb21wbGV0ZVBhcmVudCgpO1xuICAgIGlmICghYXV0b2NvbXBsZXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlID0gYXV0b2NvbXBsZXRlLnRyaWdnZXJFbGVtZW50Py52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IG9wdC5oaWdobGlnaHQodmFsdWUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIC8vIFRPRE86IHJlcGxhY2UgZGl2aWRlciB3aXRoIENTU1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vcHRncm91cF9fZGl2aWRlclwiPlxuICAgICAgICA8c2JiLWRpdmlkZXIgP25lZ2F0aXZlPSR7dGhpcy5tYXRjaGVzPy4oJzpzdGF0ZShuZWdhdGl2ZSknKX0+PC9zYmItZGl2aWRlcj5cbiAgICAgIDwvZGl2PlxuICAgICAgJHt0aGlzLmxhYmVsXG4gICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2xhYmVsXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItb3B0Z3JvdXBfX2ljb24tc3BhY2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPHNwYW4+JHt0aGlzLmxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIGBcbiAgICAgICAgOiBub3RoaW5nfVxuICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgYDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMyQkEsSUFBTSxrQkFBa0I7SUFFRixnQ0FBc0I7bUJBQVMsaUJBQWlCLFVBQVU7Ozs7Ozs7Y0FBMUQsK0JBQStCLFlBQTRCOzs7d0JBSzlFLFVBQVMsR0FDVCxTQUFRLENBQUU7bUNBR1YsTUFBSyxDQUFFO0dBRlIsYUFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFMLFFBQUs7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEscUJBQUEsd0JBQUE7R0FFWixhQUFBLE1BQUEsTUFBQSw4QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLHNCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWlCO0tBQWdCLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBaEIsbUJBQWdCO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLGdDQUFBLG1DQUFBOzs7Ozs7Ozs7R0FSVixLQUFBLE9BQU8sQ0FBQyxrQkFBa0IsVUFBVTtFQUFLOztHQUNsRCxLQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsNkJBQUssQ0FBQztFQUFFO0VBS3BGLDBCQUFBLGtCQUFBLE1BQUEscUJBQWdDLEVBQUU7O0VBQWxDLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUFyQixJQUFnQixNQUFLLE9BQUE7R0FBQSxLQUFBLDBCQUFBO0VBQUE7RUFFWixzQ0FBQSxrQkFBQSxNQUFBLHdCQUFBLEdBQUEsa0JBQUEsTUFBQSxnQ0FBb0MsS0FBSztFQUF6QyxJQUFpQixtQkFBZ0I7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUFqQyxJQUFpQixpQkFBZ0IsT0FBQTtHQUFBLEtBQUEscUNBQUE7RUFBQTtFQUkxQyxjQUFBO0dBQ0UsTUFBSzs7R0FFTCxJQUFJLGlCQUNGLElBQUksS0FBSyxtQkFDUCxLQUFLLGtCQUFrQixXQUFZLEtBQUssbUJBQW1CLGVBQWdCO1FBRTNFLEtBQUssbUJBQW1COztFQUtkLG9CQUFpQjtHQUMvQixNQUFNLGtCQUFpQjtHQUN2QixLQUFLLGlCQUFnQjtFQUN2QjtFQUVtQixXQUFXLG1CQUF1QztHQUNuRSxNQUFNLFdBQVcsaUJBQWlCO0dBRWxDLElBQUksa0JBQWtCLElBQUksVUFBVTtRQUM5QixDQUFDLEtBQUssa0JBQ1IsS0FBSyxVQUFVLGVBQWUsS0FBSyxXQUFXLFNBQVM7R0FBQTtHQUczRCxJQUFJLGtCQUFrQixJQUFJLE9BQU8sR0FDL0IsS0FBSyxpQkFBZ0I7RUFFekI7RUFJUSxvQkFBaUI7R0FDdkIsS0FBSyxpQkFBZ0I7R0FDckIsS0FBSyxrQkFBaUI7O0dBR3RCLEtBQUssY0FBYyxJQUFJLE1BQU0scUJBQXFCLENBQUM7RUFDckQ7RUFFUSxtQkFBZ0I7R0FDdEIsS0FBSyxVQUFVLFlBQVksQ0FBQyxLQUFLLG1CQUFtQixLQUFLLFFBQVE7RUFDbkU7RUFFUSxvQkFBaUI7R0FDdkIsTUFBTSxlQUFlLEtBQUssc0JBQXFCO0dBQy9DLElBQUksQ0FBQyxjQUNIO0dBRUYsTUFBTSxRQUFRLGFBQWEsZ0JBQWdCO0dBQzNDLElBQUksQ0FBQyxPQUNIO0dBRUYsS0FBSyxRQUFRLFNBQVMsUUFBUSxJQUFJLFVBQVUsS0FBSyxDQUFDO0VBQ3BEO0VBRW1CLFNBQU07R0FFdkIsT0FBTyxJQUFJOztpQ0FFa0IsS0FBSyxVQUFVLHlDQUFrQixFQUFDOztRQUUzRCxLQUFLLFFBQ0gsSUFBSTs7O3NCQUdRLEtBQUssTUFBSzs7Y0FHdEIsUUFBQTswQkFDZ0IsS0FBSyxrQkFBaUI7O0VBRTlDIn0=
@@ -1,2 +1,2 @@
1
- import { t as SbbOptgroupBaseElement } from "../../optgroup-base-element-BaG2W_AP.js";
1
+ import { t as SbbOptgroupBaseElement } from "../../optgroup-base-element-BKTWGTV2.js";
2
2
  export { SbbOptgroupBaseElement };
@@ -1,4 +1,4 @@
1
- import { t as SbbOptgroupBaseElement } from "../../optgroup-base-element-BaG2W_AP.js";
1
+ import { t as SbbOptgroupBaseElement } from "../../optgroup-base-element-BKTWGTV2.js";
2
2
  import { SbbPropertyWatcherController } from "../../core/controllers.js";
3
3
  //#region src/elements/option/optgroup/optgroup.component.ts
4
4
  /**