@sbb-esta/lyne-elements-dev 4.13.0-dev.1778593674 → 4.13.0-dev.1778809051

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 (481) hide show
  1. package/custom-elements.json +1925 -1925
  2. package/development/accordion.component-CGTwcntz.js +1 -1
  3. package/development/accordion.js +1 -1
  4. package/development/action-group.component-DQ7_kjB9.js +1 -1
  5. package/development/action-group.js +1 -1
  6. package/development/alert/alert-group.js +1 -1
  7. package/development/alert/alert.js +1 -1
  8. package/development/alert-group.component-DnnPrv5I.js +1 -1
  9. package/development/alert.component-CYb1vnDZ.js +1 -1
  10. package/development/alert.js +1 -1
  11. package/development/autocomplete/autocomplete.component.js +1 -1
  12. package/development/autocomplete-base-element-BSd5IXMZ.js +1 -1
  13. package/development/autocomplete.js +1 -1
  14. package/development/block-link-common-COY1RI1I.js +1 -1
  15. package/development/breadcrumb/breadcrumb-group.js +1 -1
  16. package/development/breadcrumb/breadcrumb.js +1 -1
  17. package/development/breadcrumb-group.component-DZslNBlB.js +1 -1
  18. package/development/breadcrumb.component-DxSUxLZO.js +1 -1
  19. package/development/breadcrumb.js +1 -1
  20. package/development/button/accent-button/accent-button.component.js +1 -1
  21. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  22. package/development/button/accent-button-link.js +1 -1
  23. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  24. package/development/button/accent-button-static.js +1 -1
  25. package/development/button/accent-button.js +1 -1
  26. package/development/button/button/button.component.js +1 -1
  27. package/development/button/button-link/button-link.component.js +1 -1
  28. package/development/button/button-link.js +1 -1
  29. package/development/button/button-static/button-static.component.js +1 -1
  30. package/development/button/button-static.js +1 -1
  31. package/development/button/button.js +1 -1
  32. package/development/button/common.js +1 -1
  33. package/development/button/mini-button/mini-button.component.js +1 -1
  34. package/development/button/mini-button-group.js +1 -1
  35. package/development/button/mini-button-link.js +1 -1
  36. package/development/button/mini-button.js +1 -1
  37. package/development/button/secondary-button/secondary-button.component.js +1 -1
  38. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  39. package/development/button/secondary-button-link.js +1 -1
  40. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  41. package/development/button/secondary-button-static.js +1 -1
  42. package/development/button/secondary-button.js +1 -1
  43. package/development/button/transparent-button/transparent-button.component.js +1 -1
  44. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  45. package/development/button/transparent-button-link.js +1 -1
  46. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  47. package/development/button/transparent-button-static.js +1 -1
  48. package/development/button/transparent-button.js +1 -1
  49. package/development/button-common-7dmrUx4A.js +1 -1
  50. package/development/button.js +1 -1
  51. package/development/calendar/calendar-day.js +1 -1
  52. package/development/calendar/calendar-month/calendar-month.component.js +1 -1
  53. package/development/calendar/calendar-month.js +1 -1
  54. package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
  55. package/development/calendar/calendar-weekday.js +1 -1
  56. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
  57. package/development/calendar/calendar-weeknumber.js +1 -1
  58. package/development/calendar/calendar-year/calendar-year.component.js +1 -1
  59. package/development/calendar/calendar-year.js +1 -1
  60. package/development/calendar/calendar.js +1 -1
  61. package/development/calendar-cell-base-element-BXohfDSl.js +1 -1
  62. package/development/calendar-day.component-DFvRrp2O.js +1 -1
  63. package/development/calendar.component-Dg3D2A7k.js +1 -1
  64. package/development/calendar.js +1 -1
  65. package/development/card/card-badge.js +1 -1
  66. package/development/card/card-button/card-button.component.js +1 -1
  67. package/development/card/card-button.js +1 -1
  68. package/development/card/card-link/card-link.component.js +1 -1
  69. package/development/card/card-link.js +1 -1
  70. package/development/card/card.js +1 -1
  71. package/development/card/common.js +1 -1
  72. package/development/card-action-common-1FDHbfeR.js +1 -1
  73. package/development/card-badge.component-CUZIoVbL.js +1 -1
  74. package/development/card.component-DsqIZC_u.js +1 -1
  75. package/development/card.js +1 -1
  76. package/development/carousel/carousel-item.js +1 -1
  77. package/development/carousel/carousel-list.js +1 -1
  78. package/development/carousel/carousel.js +1 -1
  79. package/development/carousel-item.component-CIgUJtDJ.js +1 -1
  80. package/development/carousel-list.component-L-nYpHcN.js +1 -1
  81. package/development/carousel.component-Dl48ROSf.js +1 -1
  82. package/development/carousel.js +1 -1
  83. package/development/checkbox/checkbox-group.js +1 -1
  84. package/development/checkbox/checkbox-panel.js +1 -1
  85. package/development/checkbox/checkbox.js +1 -1
  86. package/development/checkbox/common.js +1 -1
  87. package/development/checkbox-common-Dd5uup8K.js +1 -1
  88. package/development/checkbox-group/checkbox-group.component.js +1 -1
  89. package/development/checkbox-group.js +1 -1
  90. package/development/checkbox-panel/checkbox-panel.component.js +1 -1
  91. package/development/checkbox-panel.js +1 -1
  92. package/development/checkbox.component-CFZrwUTA.js +1 -1
  93. package/development/checkbox.js +1 -1
  94. package/development/chip/chip-group.js +1 -1
  95. package/development/chip/chip.js +1 -1
  96. package/development/chip-group.component-BVfHWX2-.js +1 -1
  97. package/development/chip-label.component-DU8s-hfA.js +1 -1
  98. package/development/chip-label.js +1 -1
  99. package/development/chip.component-C6v1-PLX.js +1 -1
  100. package/development/chip.js +1 -1
  101. package/development/clock.component-CVPv4mCp.js +1 -1
  102. package/development/clock.js +1 -1
  103. package/development/compact-paginator.component-5_Q2Reul.js +1 -1
  104. package/development/container/container.js +1 -1
  105. package/development/container/sticky-bar.js +1 -1
  106. package/development/container.component-CG_i65Op.js +1 -1
  107. package/development/container.js +1 -1
  108. package/development/core/a11y/arrow-navigation.js +1 -1
  109. package/development/core/a11y/fake-event-detection.js +1 -1
  110. package/development/core/a11y/focus-trap-controller.js +1 -1
  111. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  112. package/development/core/a11y/focus.js +1 -1
  113. package/development/core/a11y/input-modality-detector.js +1 -1
  114. package/development/core/a11y/interactivity-checker.js +1 -1
  115. package/development/core/a11y/live-announcer.js +1 -1
  116. package/development/core/base-elements/action-base-element.js +1 -1
  117. package/development/core/base-elements/button-base-element.js +1 -1
  118. package/development/core/base-elements/element.js +1 -1
  119. package/development/core/base-elements/link-base-element.js +1 -1
  120. package/development/core/base-elements/open-close-base-element.js +1 -1
  121. package/development/core/config/config.js +1 -1
  122. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  123. package/development/core/controllers/id-reference-controller.js +1 -1
  124. package/development/core/controllers/inert-controller.js +1 -1
  125. package/development/core/controllers/language-controller.js +1 -1
  126. package/development/core/controllers/media-matchers-controller.js +1 -1
  127. package/development/core/controllers/overlay-position-controller.js +1 -1
  128. package/development/core/controllers/property-watcher-controller.js +1 -1
  129. package/development/core/controllers/slot-state-controller.js +1 -1
  130. package/development/core/datetime/date-adapter.js +1 -1
  131. package/development/core/datetime/native-date-adapter.js +1 -1
  132. package/development/core/datetime/temporal-date-adapter.js +1 -1
  133. package/development/core/decorators/force-type.js +1 -1
  134. package/development/core/decorators/get-override.js +1 -1
  135. package/development/core/decorators/handle-distinct-change.js +1 -1
  136. package/development/core/decorators/host-attributes.js +1 -1
  137. package/development/core/decorators/id-reference.js +1 -1
  138. package/development/core/decorators/omit-empty-converter.js +1 -1
  139. package/development/core/decorators/plain-date.js +1 -1
  140. package/development/core/dom/animation.js +1 -1
  141. package/development/core/dom/contains-pierce-shadow-dom.js +1 -1
  142. package/development/core/dom/lean-context.js +1 -1
  143. package/development/core/dom/platform.js +1 -1
  144. package/development/core/dom/queue-dom-content-loaded.js +1 -1
  145. package/development/core/dom/scroll.js +1 -1
  146. package/development/core/dom/set-or-remove-attribute.js +1 -1
  147. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  148. package/development/core/eventing/event-target.js +1 -1
  149. package/development/core/eventing/form-element-handlers.js +1 -1
  150. package/development/core/eventing/forward-event.js +1 -1
  151. package/development/core/eventing/is-event-prevented.js +1 -1
  152. package/development/core/eventing/throttle.js +1 -1
  153. package/development/core/i18n/i18n.js +1 -1
  154. package/development/core/images.js +1 -1
  155. package/development/core/mixins/animation-complete-mixin.js +1 -1
  156. package/development/core/mixins/disabled-mixin.js +1 -1
  157. package/development/core/mixins/element-internals-mixin.js +1 -1
  158. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  159. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  160. package/development/core/mixins/form-associated-mixin.js +1 -1
  161. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  162. package/development/core/mixins/hydration-mixin.js +1 -1
  163. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  164. package/development/core/mixins/negative-mixin.js +1 -1
  165. package/development/core/mixins/readonly-mixin.js +1 -1
  166. package/development/core/mixins/required-mixin.js +1 -1
  167. package/development/core/mixins/selection-panel-mixin.js +1 -1
  168. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  169. package/development/core/overlay/overlay-option-panel.js +1 -1
  170. package/development/core/overlay/overlay-outside-pointer-event-listener.js +1 -1
  171. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  172. package/development/core/overlay/overlay.js +1 -1
  173. package/development/core/overlay/position.js +1 -1
  174. package/development/core/testing/event-spy.js +1 -1
  175. package/development/core/testing/mocha-extensions.js +1 -1
  176. package/development/core/testing/wait-for-condition.js +1 -1
  177. package/development/core/testing/wait-for-image-ready.js +1 -1
  178. package/development/core/testing/wait-for-render.js +1 -1
  179. package/development/date-input.component-UP1afzgy.js +1 -1
  180. package/development/date-input.js +1 -1
  181. package/development/datepicker/common.js +1 -1
  182. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  183. package/development/datepicker/datepicker-next-day.js +1 -1
  184. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  185. package/development/datepicker/datepicker-previous-day.js +1 -1
  186. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  187. package/development/datepicker/datepicker-toggle.js +1 -1
  188. package/development/datepicker/datepicker.js +1 -1
  189. package/development/datepicker-button-CUPeoQgH.js +1 -1
  190. package/development/datepicker.component-D2DxFng_.js +1 -1
  191. package/development/datepicker.js +1 -1
  192. package/development/dialog/dialog-actions.js +1 -1
  193. package/development/dialog/dialog-close-button.js +1 -1
  194. package/development/dialog/dialog-content.js +1 -1
  195. package/development/dialog/dialog-title.js +1 -1
  196. package/development/dialog/dialog.js +1 -1
  197. package/development/dialog-actions.component-CegGvLGp.js +1 -1
  198. package/development/dialog-close-button.component-C4P-8J8j.js +1 -1
  199. package/development/dialog-content.component-bm8piC0O.js +1 -1
  200. package/development/dialog-title.component-CUAbFzCr.js +1 -1
  201. package/development/dialog.component-DKuR4u-y.js +1 -1
  202. package/development/dialog.js +1 -1
  203. package/development/divider.component-Bisnf286.js +1 -1
  204. package/development/divider.js +1 -1
  205. package/development/error.component-OBpWoVRL.js +1 -1
  206. package/development/expansion-panel/expansion-panel-content.js +1 -1
  207. package/development/expansion-panel/expansion-panel-header.js +1 -1
  208. package/development/expansion-panel/expansion-panel.js +1 -1
  209. package/development/expansion-panel-content.component-XIsKm8JD.js +1 -1
  210. package/development/expansion-panel-header.component-C1xRGcAN.js +1 -1
  211. package/development/expansion-panel.component-CV_IuWZA.js +1 -1
  212. package/development/expansion-panel.js +1 -1
  213. package/development/file-selector/common.js +1 -1
  214. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  215. package/development/file-selector/file-selector-dropzone.js +1 -1
  216. package/development/file-selector/file-selector.js +1 -1
  217. package/development/file-selector-common-C7xIEiV4.js +1 -1
  218. package/development/file-selector-dropzone.component-BAWMZW4F.js +1 -1
  219. package/development/file-selector.js +1 -1
  220. package/development/flip-card/flip-card-details.js +1 -1
  221. package/development/flip-card/flip-card-summary.js +1 -1
  222. package/development/flip-card/flip-card.js +1 -1
  223. package/development/flip-card-details.component-iMm7NrgQ.js +1 -1
  224. package/development/flip-card-summary.component-HQ_VAn2j.js +1 -1
  225. package/development/flip-card.component-CJanLtkJ.js +1 -1
  226. package/development/flip-card.js +1 -1
  227. package/development/footer.component-BmDkxYW9.js +1 -1
  228. package/development/footer.js +1 -1
  229. package/development/form-field/error.js +1 -1
  230. package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
  231. package/development/form-field/form-field-clear.js +1 -1
  232. package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
  233. package/development/form-field/form-field.js +1 -1
  234. package/development/form-field.component-BU3Sv2mD.js +1 -1
  235. package/development/form-field.js +1 -1
  236. package/development/header/common.js +1 -1
  237. package/development/header/header-button/header-button.component.js +1 -1
  238. package/development/header/header-button.js +1 -1
  239. package/development/header/header-environment.js +1 -1
  240. package/development/header/header-link/header-link.component.js +1 -1
  241. package/development/header/header-link.js +1 -1
  242. package/development/header/header.js +1 -1
  243. package/development/header-action-common-MTYV0dqA.js +1 -1
  244. package/development/header-environment.component-DHqoX_lg.js +1 -1
  245. package/development/header.component-CWJ36jF0.js +1 -1
  246. package/development/header.js +1 -1
  247. package/development/hint.component-DUtL0RS3.js +1 -1
  248. package/development/icon/icon-name-mixin.js +1 -1
  249. package/development/icon/icon-request.js +1 -1
  250. package/development/icon/icon-validate.js +1 -1
  251. package/development/icon/icon.component.js +1 -1
  252. package/development/icon-base-DHN9pz2I.js +1 -1
  253. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  254. package/development/icon-sidebar/icon-sidebar-button.js +1 -1
  255. package/development/icon-sidebar/icon-sidebar-container.js +1 -1
  256. package/development/icon-sidebar/icon-sidebar-content.js +1 -1
  257. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  258. package/development/icon-sidebar/icon-sidebar-link.js +1 -1
  259. package/development/icon-sidebar/icon-sidebar.js +1 -1
  260. package/development/icon-sidebar-container.component-BH_R88Rf.js +1 -1
  261. package/development/icon-sidebar-content.component-yoF6FjkW.js +1 -1
  262. package/development/icon-sidebar.component-BGEkfXVs.js +1 -1
  263. package/development/icon-sidebar.js +1 -1
  264. package/development/icon.js +1 -1
  265. package/development/image.component-BD0jc-u-.js +1 -1
  266. package/development/image.js +1 -1
  267. package/development/inline-link-common-CgTIwFAI.js +1 -1
  268. package/development/journey-header.component-BwVODlXk.js +1 -1
  269. package/development/journey-header.js +1 -1
  270. package/development/lead-container.component-CGVdBWJr.js +1 -1
  271. package/development/lead-container.js +1 -1
  272. package/development/link/block-link/block-link.component.js +1 -1
  273. package/development/link/block-link-button/block-link-button.component.js +1 -1
  274. package/development/link/block-link-button.js +1 -1
  275. package/development/link/block-link-static/block-link-static.component.js +1 -1
  276. package/development/link/block-link-static.js +1 -1
  277. package/development/link/block-link.js +1 -1
  278. package/development/link/common.js +1 -1
  279. package/development/link/link/link.component.js +1 -1
  280. package/development/link/link-button/link-button.component.js +1 -1
  281. package/development/link/link-button.js +1 -1
  282. package/development/link/link-static/link-static.component.js +1 -1
  283. package/development/link/link-static.js +1 -1
  284. package/development/link/link.js +1 -1
  285. package/development/link-common-DJ2FfG_Q.js +1 -1
  286. package/development/link-list/common.js +1 -1
  287. package/development/link-list/link-list-anchor.js +1 -1
  288. package/development/link-list/link-list.js +1 -1
  289. package/development/link-list-anchor.component-Du7kfDZ-.js +1 -1
  290. package/development/link-list-anchor.js +1 -1
  291. package/development/link-list-base-CKMNz30d.js +1 -1
  292. package/development/link-list.component-DQMg8MdQ.js +1 -1
  293. package/development/link-list.js +1 -1
  294. package/development/link.js +1 -1
  295. package/development/loading-indicator-circle.component-np96Tu5S.js +1 -1
  296. package/development/loading-indicator-circle.js +1 -1
  297. package/development/loading-indicator.component-CgHYNMxB.js +1 -1
  298. package/development/loading-indicator.js +1 -1
  299. package/development/logo.component-I0yP2SKr.js +1 -1
  300. package/development/logo.js +1 -1
  301. package/development/map-container.component-D9NWw-wA.js +1 -1
  302. package/development/map-container.js +1 -1
  303. package/development/menu/common.js +1 -1
  304. package/development/menu/menu-button/menu-button.component.js +1 -1
  305. package/development/menu/menu-button.js +1 -1
  306. package/development/menu/menu-link/menu-link.component.js +1 -1
  307. package/development/menu/menu-link.js +1 -1
  308. package/development/menu/menu.js +1 -1
  309. package/development/menu-action-common-CBZCra6n.js +1 -1
  310. package/development/menu.component-Lh3JbVow.js +1 -1
  311. package/development/menu.js +1 -1
  312. package/development/message.component-Dlf5V5ba.js +1 -1
  313. package/development/message.js +1 -1
  314. package/development/mini-button-group.component-B3CA9KG0.js +1 -1
  315. package/development/mini-button-link.component-I3VpWeNU.js +1 -1
  316. package/development/mini-calendar/mini-calendar-day.js +1 -1
  317. package/development/mini-calendar/mini-calendar-month.js +1 -1
  318. package/development/mini-calendar/mini-calendar.js +1 -1
  319. package/development/mini-calendar-day.component-BUNVO4ZU.js +1 -1
  320. package/development/mini-calendar-month.component-DZXvAhc3.js +1 -1
  321. package/development/mini-calendar.component-BufzKw74.js +1 -1
  322. package/development/mini-calendar.js +1 -1
  323. package/development/navigation/common.js +1 -1
  324. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  325. package/development/navigation/navigation-button.js +1 -1
  326. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  327. package/development/navigation/navigation-link.js +1 -1
  328. package/development/navigation/navigation-list.js +1 -1
  329. package/development/navigation/navigation-marker.js +1 -1
  330. package/development/navigation/navigation-section.js +1 -1
  331. package/development/navigation/navigation.js +1 -1
  332. package/development/navigation-action-common-Hjr4dI9J.js +1 -1
  333. package/development/navigation-list.component-DqITJqFx.js +1 -1
  334. package/development/navigation-marker.component-GOv42emC.js +1 -1
  335. package/development/navigation-section.component-CnVrRETN.js +1 -1
  336. package/development/navigation.component-CTNQ1dix.js +1 -1
  337. package/development/navigation.js +1 -1
  338. package/development/notification.component-Cvq_uViC.js +1 -1
  339. package/development/notification.js +1 -1
  340. package/development/optgroup-base-element-BaG2W_AP.js +1 -1
  341. package/development/option/optgroup/optgroup.component.js +1 -1
  342. package/development/option/optgroup.js +1 -1
  343. package/development/option/option/option-base-element.js +1 -1
  344. package/development/option/option-hint.js +1 -1
  345. package/development/option/option.js +1 -1
  346. package/development/option-hint.component-BH8dP1fM.js +1 -1
  347. package/development/option.component-Bb2C7ae5.js +1 -1
  348. package/development/option.js +1 -1
  349. package/development/overlay/overlay-base-element.js +1 -1
  350. package/development/overlay.component-M0JuSq4C.js +1 -1
  351. package/development/overlay.js +1 -1
  352. package/development/paginator/common/paginator-common.js +1 -1
  353. package/development/paginator/common.js +1 -1
  354. package/development/paginator/compact-paginator.js +1 -1
  355. package/development/paginator/paginator.js +1 -1
  356. package/development/paginator.component-Bn5tK0FK.js +1 -1
  357. package/development/paginator.js +1 -1
  358. package/development/panel-mixin-Dj_rsgL9.js +1 -1
  359. package/development/popover.component-EgOs-wsR.js +1 -1
  360. package/development/popover.js +1 -1
  361. package/development/radio-button/common.js +1 -1
  362. package/development/radio-button/radio-button-group.js +1 -1
  363. package/development/radio-button/radio-button-panel.js +1 -1
  364. package/development/radio-button/radio-button.js +1 -1
  365. package/development/radio-button-common--d3WX-ZM.js +1 -1
  366. package/development/radio-button-group/radio-button-group.component.js +1 -1
  367. package/development/radio-button-group.js +1 -1
  368. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  369. package/development/radio-button-panel.js +1 -1
  370. package/development/radio-button.component-BauLEeCV.js +1 -1
  371. package/development/radio-button.js +1 -1
  372. package/development/screen-reader-only.component-B77UuVCI.js +1 -1
  373. package/development/screen-reader-only.js +1 -1
  374. package/development/select.component-D9SFG7Lk.js +1 -1
  375. package/development/select.js +1 -1
  376. package/development/selection-action-panel.component-D6I5wdEL.js +1 -1
  377. package/development/selection-action-panel.js +1 -1
  378. package/development/selection-expansion-panel.component-eO7b_EQF.js +1 -1
  379. package/development/selection-expansion-panel.js +1 -1
  380. package/development/selection-group-base-element-DvDpwhPl.js +1 -1
  381. package/development/sidebar/common.js +1 -1
  382. package/development/sidebar/sidebar-close-button.js +1 -1
  383. package/development/sidebar/sidebar-container.js +1 -1
  384. package/development/sidebar/sidebar-content.js +1 -1
  385. package/development/sidebar/sidebar-title.js +1 -1
  386. package/development/sidebar/sidebar.js +1 -1
  387. package/development/sidebar-close-button.component-CYWv39Mu.js +1 -1
  388. package/development/sidebar-container.component-BDSoDAym.js +1 -1
  389. package/development/sidebar-content.component-JcVKpKbK.js +1 -1
  390. package/development/sidebar-title.component-BA_j-Igh.js +1 -1
  391. package/development/sidebar.component-BLqO52nH.js +1 -1
  392. package/development/sidebar.js +1 -1
  393. package/development/signet.component-3D2ZsajP.js +1 -1
  394. package/development/signet.js +1 -1
  395. package/development/skiplink-list.component-EDPOitEB.js +1 -1
  396. package/development/skiplink-list.js +1 -1
  397. package/development/slider.component-C3qZB6ar.js +1 -1
  398. package/development/slider.js +1 -1
  399. package/development/status.component-CPi1cPN0.js +1 -1
  400. package/development/status.js +1 -1
  401. package/development/step-label.component-BJ9eainz.js +1 -1
  402. package/development/step.component-CTsOBGAn.js +1 -1
  403. package/development/stepper/step-label.js +1 -1
  404. package/development/stepper/step.js +1 -1
  405. package/development/stepper/stepper.js +1 -1
  406. package/development/stepper.component-CxOBayI1.js +1 -1
  407. package/development/stepper.js +1 -1
  408. package/development/sticky-bar.component-CysAIZTd.js +1 -1
  409. package/development/styles-D2RLaAYK.js +1 -1
  410. package/development/styles-D8-q-irv.js +1 -1
  411. package/development/styles-Jlhoev1S.js +1 -1
  412. package/development/tab-group.component-D9jCK26q.js +1 -1
  413. package/development/tab-label.component-B9e9kgVf.js +1 -1
  414. package/development/tab-nav-bar.component-CgYwCSVY.js +1 -1
  415. package/development/tab.component-DThKG7-a.js +1 -1
  416. package/development/table/table-wrapper.js +1 -1
  417. package/development/table-wrapper.component-D1p7kqCB.js +1 -1
  418. package/development/table.js +1 -1
  419. package/development/tabs/common.js +1 -1
  420. package/development/tabs/tab-group.js +1 -1
  421. package/development/tabs/tab-label.js +1 -1
  422. package/development/tabs/tab-nav-bar.js +1 -1
  423. package/development/tabs/tab.js +1 -1
  424. package/development/tabs.js +1 -1
  425. package/development/tag/tag-group.js +1 -1
  426. package/development/tag/tag.js +1 -1
  427. package/development/tag-group.component-Cw46bt0E.js +1 -1
  428. package/development/tag.component-Bl1nlIXQ.js +1 -1
  429. package/development/tag.js +1 -1
  430. package/development/teaser-hero.component-BIOpoGME.js +1 -1
  431. package/development/teaser-hero.js +1 -1
  432. package/development/teaser-product/common.js +1 -1
  433. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  434. package/development/teaser-product/teaser-product-static.js +1 -1
  435. package/development/teaser-product/teaser-product.js +1 -1
  436. package/development/teaser-product-common-DYX370pm.js +1 -1
  437. package/development/teaser-product.component-CSArA8bH.js +1 -1
  438. package/development/teaser-product.js +1 -1
  439. package/development/teaser.component-Cky6kKU0.js +1 -1
  440. package/development/teaser.js +1 -1
  441. package/development/time-input.component-BtdSR8kB.js +1 -1
  442. package/development/time-input.js +1 -1
  443. package/development/timetable-form/timetable-form-details.js +1 -1
  444. package/development/timetable-form/timetable-form-field.js +1 -1
  445. package/development/timetable-form/timetable-form-swap-button.js +1 -1
  446. package/development/timetable-form/timetable-form.js +1 -1
  447. package/development/timetable-form-details.component-DJl5Qt9y.js +1 -1
  448. package/development/timetable-form-field.component-DQ_TzcF4.js +1 -1
  449. package/development/timetable-form-swap-button.component-Bh9aPmdn.js +1 -1
  450. package/development/timetable-form.component-N8h4JBlH.js +1 -1
  451. package/development/timetable-form.js +1 -1
  452. package/development/timetable-occupancy-icon.component-lI7__-G5.js +1 -1
  453. package/development/timetable-occupancy-icon.js +1 -1
  454. package/development/timetable-occupancy.component-BBcznUh0.js +1 -1
  455. package/development/timetable-occupancy.js +1 -1
  456. package/development/title-base-BdYKwj3-.js +1 -1
  457. package/development/title.component-DSXVkddh.js +1 -1
  458. package/development/title.js +1 -1
  459. package/development/toast.component-IhHx0Qt3.js +1 -1
  460. package/development/toast.js +1 -1
  461. package/development/toggle/toggle-option.js +1 -1
  462. package/development/toggle/toggle.js +1 -1
  463. package/development/toggle-check.component-_fDAuLob.js +1 -1
  464. package/development/toggle-check.js +1 -1
  465. package/development/toggle-option.component-DTS3a603.js +1 -1
  466. package/development/toggle.component-BJpD1b9H.js +1 -1
  467. package/development/toggle.js +1 -1
  468. package/development/tooltip.component-YaUQA-Id.js +1 -1
  469. package/development/tooltip.js +1 -1
  470. package/development/train/train-blocked-passage.js +1 -1
  471. package/development/train/train-formation.js +1 -1
  472. package/development/train/train-wagon.js +1 -1
  473. package/development/train/train.js +1 -1
  474. package/development/train-blocked-passage.component-BrUJK0gf.js +1 -1
  475. package/development/train-formation.component-vt-nYQXA.js +1 -1
  476. package/development/train-wagon.component-CNxkffOO.js +1 -1
  477. package/development/train.component-BgpmEDx-.js +1 -1
  478. package/development/train.js +1 -1
  479. package/development/visual-checkbox.component-rdeoQN40.js +1 -1
  480. package/development/visual-checkbox.js +1 -1
  481. package/package.json +2 -2
@@ -68,4 +68,4 @@ var SbbTitleElement = (() => {
68
68
  //#endregion
69
69
  export { SbbTitleElement as t };
70
70
 
71
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuY29tcG9uZW50LURTWFZrZGRoLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90aXRsZS90aXRsZS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90aXRsZS90aXRsZS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLW5lZ2F0aXZlO1xufVxuXG46aG9zdCg6d2hlcmUoW2xldmVsPScxJ106bm90KFt2aXN1YWwtbGV2ZWxdKSwgW3Zpc3VhbC1sZXZlbD0nMSddKSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLWxldmVsLTEtc3BhY2luZztcbn1cblxuOmhvc3QoOndoZXJlKFtsZXZlbD0nMiddOm5vdChbdmlzdWFsLWxldmVsXSksIFt2aXN1YWwtbGV2ZWw9JzInXSkpIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC0yLXNwYWNpbmc7XG59XG5cbjpob3N0KDp3aGVyZShbbGV2ZWw9JzMnXTpub3QoW3Zpc3VhbC1sZXZlbF0pLCBbdmlzdWFsLWxldmVsPSczJ10pKSB7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtMy1zcGFjaW5nO1xufVxuXG46aG9zdCg6d2hlcmUoW2xldmVsPSc0J106bm90KFt2aXN1YWwtbGV2ZWxdKSwgW3Zpc3VhbC1sZXZlbD0nNCddKSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLWxldmVsLTQtc3BhY2luZztcbn1cblxuOmhvc3QoOndoZXJlKFtsZXZlbD0nNSddOm5vdChbdmlzdWFsLWxldmVsXSksIFt2aXN1YWwtbGV2ZWw9JzUnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC01LXNwYWNpbmc7XG59XG5cbjpob3N0KDp3aGVyZShbbGV2ZWw9JzYnXTpub3QoW3Zpc3VhbC1sZXZlbF0pLCBbdmlzdWFsLWxldmVsPSc2J10pKSB7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtNi1zcGFjaW5nO1xufVxuIiwiaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuXG5pbXBvcnQgeyBTYmJUaXRsZUJhc2UsIHR5cGUgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4vdGl0bGUtYmFzZS50cyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90aXRsZS5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlIHRpdGxlLlxuICpcbiAqIEBjc3Nwcm9wIFstLXNiYi10aXRsZS1tYXJnaW4tYmxvY2tdIC0gTWFyZ2luIGJsb2NrIG9mIHRoZSB0aXRsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRpdGxlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiVGl0bGVCYXNlKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGl0bGUnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbU2JiVGl0bGVCYXNlLnN0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIFZpc3VhbCBsZXZlbCBmb3IgdGhlIHRpdGxlLiBPcHRpb25hbCwgaWYgbm90IHNldCwgdGhlIHZhbHVlIG9mIGxldmVsIHdpbGwgYmUgdXNlZC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndmlzdWFsLWxldmVsJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgdmlzdWFsTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgfCBudWxsID0gbnVsbDtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10aXRsZSc6IFNiYlRpdGxlRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQ2FhLHlCQUFlO21CQUFTLGlCQUFpQixhQUFhOzs7O2NBQXRELHdCQUF3QixZQUE4Qjs7OzhCQUtoRSxTQUFTO0lBQUUsV0FBVztJQUFnQixTQUFTO0lBQU0sQ0FBQyxDQUFBO0dBQ3ZELGFBQUEsTUFBQSxNQUFBLHlCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsaUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBeUI7S0FBVyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVgsY0FBVzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDJCQUFBLCtCQUFBOzs7Ozs7Ozs7R0FMSixLQUFBLGNBQXNCOzs7R0FDL0IsS0FBQSxTQUF5QixDQUFDLGFBQWEsUUFBUSxVQUFVLGNBQU0sQ0FBQzs7RUFJdkYsZ0NBQUEsa0JBQUEsTUFBQSwyQkFBNkQsS0FBSTs7RUFBakUsSUFBeUIsY0FBVztHQUFBLE9BQUEsS0FBQTs7RUFBcEMsSUFBeUIsWUFBVyxPQUFBO0dBQUEsS0FBQSxnQ0FBQSJ9
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuY29tcG9uZW50LURTWFZrZGRoLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90aXRsZS90aXRsZS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90aXRsZS90aXRsZS5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLW5lZ2F0aXZlO1xufVxuXG46aG9zdCg6d2hlcmUoW2xldmVsPScxJ106bm90KFt2aXN1YWwtbGV2ZWxdKSwgW3Zpc3VhbC1sZXZlbD0nMSddKSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLWxldmVsLTEtc3BhY2luZztcbn1cblxuOmhvc3QoOndoZXJlKFtsZXZlbD0nMiddOm5vdChbdmlzdWFsLWxldmVsXSksIFt2aXN1YWwtbGV2ZWw9JzInXSkpIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC0yLXNwYWNpbmc7XG59XG5cbjpob3N0KDp3aGVyZShbbGV2ZWw9JzMnXTpub3QoW3Zpc3VhbC1sZXZlbF0pLCBbdmlzdWFsLWxldmVsPSczJ10pKSB7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtMy1zcGFjaW5nO1xufVxuXG46aG9zdCg6d2hlcmUoW2xldmVsPSc0J106bm90KFt2aXN1YWwtbGV2ZWxdKSwgW3Zpc3VhbC1sZXZlbD0nNCddKSkge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtLWxldmVsLTQtc3BhY2luZztcbn1cblxuOmhvc3QoOndoZXJlKFtsZXZlbD0nNSddOm5vdChbdmlzdWFsLWxldmVsXSksIFt2aXN1YWwtbGV2ZWw9JzUnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLnRpdGxlLS1sZXZlbC01LXNwYWNpbmc7XG59XG5cbjpob3N0KDp3aGVyZShbbGV2ZWw9JzYnXTpub3QoW3Zpc3VhbC1sZXZlbF0pLCBbdmlzdWFsLWxldmVsPSc2J10pKSB7XG4gIEBpbmNsdWRlIHNiYi50aXRsZS0tbGV2ZWwtNi1zcGFjaW5nO1xufVxuIiwiaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuXG5pbXBvcnQgeyBTYmJUaXRsZUJhc2UsIHR5cGUgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4vdGl0bGUtYmFzZS50cyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90aXRsZS5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlIHRpdGxlLlxuICpcbiAqIEBjc3Nwcm9wIFstLXNiYi10aXRsZS1tYXJnaW4tYmxvY2tdIC0gTWFyZ2luIGJsb2NrIG9mIHRoZSB0aXRsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRpdGxlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiVGl0bGVCYXNlKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItdGl0bGUnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbU2JiVGl0bGVCYXNlLnN0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIFZpc3VhbCBsZXZlbCBmb3IgdGhlIHRpdGxlLiBPcHRpb25hbCwgaWYgbm90IHNldCwgdGhlIHZhbHVlIG9mIGxldmVsIHdpbGwgYmUgdXNlZC4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAndmlzdWFsLWxldmVsJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgdmlzdWFsTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgfCBudWxsID0gbnVsbDtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10aXRsZSc6IFNiYlRpdGxlRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztJQ2FhLHlCQUFlO21CQUFTLGlCQUFpQixZQUFZOzs7O2NBQXJELHdCQUF3QixZQUE4Qjs7OzhCQUtoRSxTQUFTO0lBQUUsV0FBVztJQUFnQixTQUFTO0dBQUksQ0FBRSxDQUFDO0dBQ3ZELGFBQUEsTUFBQSxNQUFBLHlCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsaUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBeUI7S0FBVyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVgsY0FBVztLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSwyQkFBQSw4QkFBQTs7Ozs7Ozs7O0dBTEosS0FBQSxjQUFzQjtFQUFZOztHQUMzQyxLQUFBLFNBQXlCLENBQUMsYUFBYSxRQUFRLFVBQVUsYUFBSyxDQUFDO0VBQUU7RUFJeEYsZ0NBQUEsa0JBQUEsTUFBQSwyQkFBNkQsSUFBSTs7RUFBakUsSUFBeUIsY0FBVztHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQXBDLElBQXlCLFlBQVcsT0FBQTtHQUFBLEtBQUEsZ0NBQUE7RUFBQSJ9
@@ -7,4 +7,4 @@ SbbTitleElement.define();
7
7
  //#endregion
8
8
  export { SbbTitleBase, SbbTitleElement };
9
9
 
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RpdGxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAZW50cnlwb2ludCAqL1xuaW1wb3J0IHsgU2JiVGl0bGVFbGVtZW50IH0gZnJvbSAnLi90aXRsZS5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi90aXRsZS5wdXJlLnRzJztcblxuU2JiVGl0bGVFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUtBLGdCQUFnQixRQUFRIn0=
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGUuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RpdGxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAZW50cnlwb2ludCAqL1xuaW1wb3J0IHsgU2JiVGl0bGVFbGVtZW50IH0gZnJvbSAnLi90aXRsZS5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi90aXRsZS5wdXJlLnRzJztcblxuU2JiVGl0bGVFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUtBLGdCQUFnQixPQUFNIn0=
@@ -272,4 +272,4 @@ var SbbToastElement = (() => {
272
272
  //#endregion
273
273
  export { SbbToastElement as t };
274
274
 
275
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LUloSHgwUXQzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2FzdC90b2FzdC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi10b2FzdC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTZ4KVxuICApO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcblxuICBkaXNwbGF5OiBub25lO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICAtLXNiYi10b2FzdC1jb250YWluZXItZGlzcGxheTogZmxleDtcblxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSdib3R0b20tbGVmdCddKSxcbjpob3N0KFtwb3NpdGlvbj0nYm90dG9tLXN0YXJ0J10pIHtcbiAgLS1zYmItdG9hc3QtaG9yaXpvbnRhbC1wb3NpdGlvbjogZmxleC1zdGFydDtcbiAgLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb246IGZsZXgtZW5kO1xufVxuXG46aG9zdChbcG9zaXRpb249J2JvdHRvbS1jZW50ZXInXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBjZW50ZXI7XG4gIC0tc2JiLXRvYXN0LXZlcnRpY2FsLXBvc2l0aW9uOiBmbGV4LWVuZDtcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSdib3R0b20tcmlnaHQnXSksXG46aG9zdChbcG9zaXRpb249J2JvdHRvbS1lbmQnXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBmbGV4LWVuZDtcbiAgLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb246IGZsZXgtZW5kO1xufVxuXG46aG9zdChbcG9zaXRpb249J3RvcC1sZWZ0J10pLFxuOmhvc3QoW3Bvc2l0aW9uPSd0b3Atc3RhcnQnXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBmbGV4LXN0YXJ0O1xuICAtLXNiYi10b2FzdC12ZXJ0aWNhbC1wb3NpdGlvbjogZmxleC1zdGFydDtcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSd0b3AtY2VudGVyJ10pIHtcbiAgLS1zYmItdG9hc3QtaG9yaXpvbnRhbC1wb3NpdGlvbjogY2VudGVyO1xuICAtLXNiYi10b2FzdC12ZXJ0aWNhbC1wb3NpdGlvbjogZmxleC1zdGFydDtcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSd0b3AtcmlnaHQnXSksXG46aG9zdChbcG9zaXRpb249J3RvcC1lbmQnXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBmbGV4LWVuZDtcbiAgLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb246IGZsZXgtc3RhcnQ7XG59XG5cbjpob3N0KDpzdGF0ZShkYXJrKSkge1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcbn1cblxuLnNiYi10b2FzdF9fb3ZlcmxheS1jb250YWluZXIge1xuICBwb3NpdGlvbjogdmFyKC0tc2JiLXRvYXN0LWNvbnRhaW5lci1wb3NpdGlvbik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogdmFyKC0tc2JiLXRvYXN0LWNvbnRhaW5lci1kaXNwbGF5LCBub25lKTtcbiAganVzdGlmeS1jb250ZW50OiB2YXIoLS1zYmItdG9hc3QtaG9yaXpvbnRhbC1wb3NpdGlvbik7XG4gIGFsaWduLWl0ZW1zOiB2YXIoLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb24pO1xufVxuXG4uc2JiLXRvYXN0IHtcbiAgei1pbmRleDogdmFyKC0tc2JiLXRvYXN0LXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS1zYmItdG9hc3QtbWFyZ2luKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRvYXN0LWJvcmRlci1yYWRpdXMpO1xuICBtYXgtd2lkdGg6IHZhcigtLXNiYi10b2FzdC1tYXgtd2lkdGgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogdmFyKC0tc2JiLXRvYXN0LXRleHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItdG9hc3QtYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRvYXN0LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi10b2FzdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICB9XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpICYge1xuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogY2xvc2U7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRvYXN0LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi10b2FzdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi10b2FzdC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItdG9hc3QtZ2FwKTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXRvYXN0LXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXRvYXN0LXBhZGRpbmctaW5saW5lKTtcbn1cblxuc2xvdDpub3QoW25hbWU9J2ljb24nXSksXG4uc2JiLXRvYXN0X19jbG9zZSB7XG4gIC8vIEFzIHRoZSBzbG90dGVkIGNvbnRlbnQgaXMgZGlzcGxheWVkIG9uIGEgd2hpdGUgYmFja2dyb3VuZCwgd2UgbmVlZCB0byBmb3JjZSBsaWdodCBtb2RlIGZvciB0aGVtLlxuICBjb2xvci1zY2hlbWU6IG9ubHkgbGlnaHQ7XG59XG5cbi5zYmItdG9hc3RfX2NvbnRlbnQge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtNigkZXhjbHVkZS1zcGFjaW5nOiB0cnVlKTtcblxuICBmbGV4OiAxIDEgMDtcbn1cblxuLnNiYi10b2FzdF9fY2xvc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2JiLXRvYXN0X19jbG9zZS1kaXZpZGVyIHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXRvYXN0LXBhZGRpbmctYmxvY2spO1xufVxuXG4uc2JiLXRvYXN0X19jbG9zZS1idXR0b24ge1xuICBtYXJnaW4taW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdW5zYWZlQ1NTLFxuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCxcbiAgdHlwZSBTYmJUcmFuc3BhcmVudEJ1dHRvbkxpbmtFbGVtZW50LFxufSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBTYmJEYXJrTW9kZUNvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2RvbS50cyc7XG5pbXBvcnQgeyBjb21wb3NlZFBhdGhIYXNBdHRyaWJ1dGUgfSBmcm9tICcuLi9jb3JlL2V2ZW50aW5nLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZUFsZXJ0IH0gZnJvbSAnLi4vY29yZS9pMThuLnRzJztcbmltcG9ydCB7IFNiYlJlYWRvbmx5TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkxpbmtCdXR0b25FbGVtZW50LCBTYmJMaW5rRWxlbWVudCwgU2JiTGlua1N0YXRpY0VsZW1lbnQgfSBmcm9tICcuLi9saW5rLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9hc3Quc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uL2RpdmlkZXIudHMnO1xuXG4vLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlbW92ZSBjYWxsIHRvIGRlZmluZS5cblNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudC5kZWZpbmUoKTtcblxudHlwZSBTYmJUb2FzdFBvc2l0aW9uVmVydGljYWwgPSAndG9wJyB8ICdib3R0b20nO1xudHlwZSBTYmJUb2FzdFBvc2l0aW9uSG9yaXpvbnRhbCA9ICdsZWZ0JyB8ICdzdGFydCcgfCAnY2VudGVyJyB8ICdyaWdodCcgfCAnZW5kJztcbmV4cG9ydCB0eXBlIFNiYlRvYXN0UG9zaXRpb24gPSBgJHtTYmJUb2FzdFBvc2l0aW9uVmVydGljYWx9LSR7U2JiVG9hc3RQb3NpdGlvbkhvcml6b250YWx9YDtcblxuLy8gQSBnbG9iYWwgY29sbGVjdGlvbiBvZiBleGlzdGluZyB0b2FzdHNcbmNvbnN0IHRvYXN0UmVmcyA9IG5ldyBTZXQ8U2JiVG9hc3RFbGVtZW50PigpO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9hc3Qgbm90aWZpY2F0aW9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdG9hc3RgLlxuICogQHNsb3QgaWNvbiAtIEFzc2lnbiBhIGN1c3RvbSBpY29uIHZpYSBzbG90LlxuICogQHNsb3QgYWN0aW9uIC0gUHJvdmlkZSBhIGN1c3RvbSBhY3Rpb24gZm9yIHRoaXMgdG9hc3QuXG4gKiBAY3NzcHJvcCBbLS1zYmItdG9hc3Qtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiVG9hc3RFbGVtZW50IGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJSZWFkb25seU1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRvYXN0JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgYXV0b21hdGljYWxseSBkaXNtaXNzaW5nIHRoZSB0b2FzdC5cbiAgICogSWYgMCAoZGVmYXVsdCksIGl0IHN0YXlzIG9wZW4gaW5kZWZpbml0ZWx5LlxuICAgKiBGcm9tIGFjY2Vzc2liaWxpdHkgcGVyc3BlY3RpdmUsIGl0IGlzIHJlY29tbWVuZGVkIHRvIHNldCBhIHRpbWVvdXQgb2YgYXQgbGVhc3QgMjAgc2Vjb25kcy5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRpbWVvdXQ6IG51bWJlciA9IDA7XG5cbiAgLyoqIFRoZSBwb3NpdGlvbiB3aGVyZSB0byBwbGFjZSB0aGUgdG9hc3QuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHBvc2l0aW9uOiBTYmJUb2FzdFBvc2l0aW9uID0gJ2JvdHRvbS1jZW50ZXInO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSBwb2xpdGVuZXNzIGxldmVsLlxuICAgKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BY2Nlc3NpYmlsaXR5L0FSSUEvQVJJQV9MaXZlX1JlZ2lvbnMjbGl2ZV9yZWdpb25zIGZvciBmdXJ0aGVyIGluZm9cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBwb2xpdGVuZXNzOiAncG9saXRlJyB8ICdhc3NlcnRpdmUnIHwgJ29mZicgPSAncG9saXRlJztcblxuICBwcml2YXRlIF9jbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9kYXJrTW9kZUNvbnRyb2xsZXIgPSBuZXcgU2JiRGFya01vZGVDb250cm9sbGVyKHRoaXMsICgpID0+IHtcbiAgICB0aGlzLl9zeW5jU2xvdHRlZEVsZW1lbnRzKCk7XG4gICAgdGhpcy5yZXF1ZXN0VXBkYXRlKCk7XG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChlKSA9PiB0aGlzLl9vbkNsaWNrKGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gQWRkIHRoaXMgdG9hc3QgdG8gdGhlIGdsb2JhbCBjb2xsZWN0aW9uXG4gICAgdG9hc3RSZWZzLmFkZCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9jbG9zZVRpbWVvdXQpO1xuXG4gICAgLy8gUmVtb3ZlIHRoaXMgaW5zdGFuY2VcbiAgICB0b2FzdFJlZnMuZGVsZXRlKHRoaXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwb2xpdGVuZXNzJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gdGhpcy5wb2xpdGVuZXNzO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSB0b2FzdC5cbiAgICogSWYgdGhlcmUgYXJlIG90aGVyIG9wZW5lZCB0b2FzdHMgaW4gdGhlIHBhZ2UsIGNsb3NlIHRoZW0gZmlyc3QuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9jbG9zZU90aGVyVG9hc3RzKCk7XG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSB0b2FzdC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NlZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Nsb3NlVGltZW91dCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcblxuICAgIC8vIFN0YXJ0IHRoZSBjb3VudGRvd24gdG8gY2xvc2UgaXRcbiAgICBpZiAodGhpcy50aW1lb3V0KSB7XG4gICAgICAvLyBXb3JrYXJvdW5kIGZvciBodHRwczovL2dpdGh1Yi5jb20vc2JiLWRlc2lnbi1zeXN0ZW1zL2x5bmUtYW5ndWxhci9pc3N1ZXMvMTkwXG4gICAgICAvLyBJZiB6b25lLmpzIGlzIGxvYWRlZCwgc2V0VGltZW91dCBpcyB3cmFwcGVkIGFuZCB0cmFja2VkIHdoaWNoIHdpbGwgbWFya1xuICAgICAgLy8gYW55dGhpbmcgaW4gQW5ndWxhciBhcyB1bnN0YWJsZSBhcyBsb25nIGFzIHNldFRpbWVvdXQgaXMgbm90IGZpbmlzaGVkLlxuICAgICAgLy8gVGhpcyBvbmx5IG5lZWRzIHRvIGJlIGZpeGVkIGluIHBsYWNlcyB3aGVyZSB3ZSBhY3R1YWxseSB3YW50IHRvIHdhaXQgYVxuICAgICAgLy8gc3BlY2lmaWMgYW1vdW50IG9mIHRpbWUgd2l0aG91dCBhbiBpbnRlcmFjdGlvbiAoZS5nLiBmb3IgdGhpcyBjYXNlKS5cbiAgICAgIGNvbnN0IGdsb2JhbCA9IGdsb2JhbFRoaXMgYXMgYW55O1xuICAgICAgY29uc3Qgc2V0VGltZW91dDogdHlwZW9mIGdsb2JhbFRoaXMuc2V0VGltZW91dCA9XG4gICAgICAgIGdsb2JhbFtnbG9iYWwuWm9uZT8uX19zeW1ib2xfXz8uKCdzZXRUaW1lb3V0JykgYXMgc3RyaW5nXSA/PyBnbG9iYWwuc2V0VGltZW91dDtcblxuICAgICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMudGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHRvYXN0IG9uIGNsaWNrIG9mIGFueSBlbGVtZW50IHRoYXQgaGFzIHRoZSAnc2JiLXRvYXN0LWNsb3NlJyBhdHRyaWJ1dGUuXG4gIHByaXZhdGUgX29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXRvYXN0LWNsb3NlJywgdGhpcyk7XG5cbiAgICBpZiAoY2xvc2VFbGVtZW50ICYmICFjbG9zZUVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi10b2FzdC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTbG90dGVkIHRleHQgbm9kZXMgYXJlIG5vdCByZWFkIGNvcnJlY3RseSBieSBzY3JlZW4gcmVhZGVycyBvbiBDaHJvbWUuXG4gICAqIFRvIGFkZHJlc3MgdGhlIHByb2JsZW0sIGlmIHRoZXJlIGlzIGF0IGxlYXN0IGEgcm9vdCB0ZXh0IG5vZGUsXG4gICAqIHdlIHdyYXAgdGhlIHdob2xlIGNvbnRlbnQgaW4gYSA8c3Bhbj4gdGFnXG4gICAqL1xuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZE5vZGVzKCk7XG5cbiAgICBpZiAoc2xvdE5vZGVzLnNvbWUoKGVsKSA9PiBlbC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpKSB7XG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5wcmVwZW5kKHNwYW4pO1xuICAgICAgc3Bhbi5hcHBlbmQoLi4uc2xvdE5vZGVzKTtcbiAgICB9XG4gICAgdGhpcy5fc3luY1Nsb3R0ZWRFbGVtZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY1Nsb3R0ZWRFbGVtZW50cygpOiB2b2lkIHtcbiAgICAvLyBGb3JjZSB0aGUgdmlzdWFsIHN0YXRlIG9uIHNsb3R0ZWQgYnV0dG9uc1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbDxTYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnQgfCBTYmJUcmFuc3BhcmVudEJ1dHRvbkxpbmtFbGVtZW50PihcbiAgICAgICdzYmItdHJhbnNwYXJlbnQtYnV0dG9uLCBzYmItdHJhbnNwYXJlbnQtYnV0dG9uLWxpbmsnLFxuICAgICkuZm9yRWFjaCgoYnRuKSA9PiB7XG4gICAgICBidG4ubmVnYXRpdmUgPSB0aGlzLl9pc0xpZ2h0TW9kZSgpO1xuICAgICAgYnRuLnNpemUgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcbiAgICB9KTtcblxuICAgIC8vIEZvcmNlIG5lZ2F0aXZlIG9uIHNsb3R0ZWQgbGlua3NcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw8U2JiTGlua0VsZW1lbnQgfCBTYmJMaW5rQnV0dG9uRWxlbWVudCB8IFNiYkxpbmtTdGF0aWNFbGVtZW50PihcbiAgICAgICdzYmItbGluaywgc2JiLWxpbmstYnV0dG9uLCBzYmItbGluay1zdGF0aWMnLFxuICAgICkuZm9yRWFjaCgobGluaykgPT4ge1xuICAgICAgbGluay5uZWdhdGl2ZSA9IHRoaXMuX2lzTGlnaHRNb2RlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uVG9hc3RBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgLy8gT24gdG9hc3Qgb3BlbmVkXG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNpbmNlIHdlIGRvIG5vdCBzdGFjayB0b2FzdHMsIHdlIGZvcmNlIHRoZSBjbG9zaW5nIG9uIG90aGVyIGV4aXN0aW5nIG9wZW5lZCBvbmVzXG4gICAqL1xuICBwcml2YXRlIF9jbG9zZU90aGVyVG9hc3RzKCk6IHZvaWQge1xuICAgIHRvYXN0UmVmcy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICBpZiAodC5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdC5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICAgIHQuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTGlnaHRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5fZGFya01vZGVDb250cm9sbGVyLm1hdGNoZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fb3ZlcmxheS1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdFwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vblRvYXN0QW5pbWF0aW9uRW5kfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX29uQ29udGVudFNsb3RDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImFjdGlvblwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fc3luY1Nsb3R0ZWRFbGVtZW50c30+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9hc3RfX2Nsb3NlXCI+XG4gICAgICAgICAgICA8c2JiLWRpdmlkZXJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdG9hc3RfX2Nsb3NlLWRpdmlkZXJcIlxuICAgICAgICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5faXNMaWdodE1vZGUoKX1cbiAgICAgICAgICAgID48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgJHshdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgICA/IGh0bWxgPHNiYi10cmFuc3BhcmVudC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRvYXN0X19jbG9zZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5faXNMaWdodE1vZGUoKX1cbiAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQ2xvc2VBbGVydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIHNiYi10b2FzdC1jbG9zZVxuICAgICAgICAgICAgICAgID48L3NiYi10cmFuc3BhcmVudC1idXR0b24+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvYXN0JzogU2JiVG9hc3RFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzhCQSw0QkFBNEIsUUFBUTtBQU9wQyxJQUFNLDRCQUFZLElBQUksS0FBc0I7Ozs7Ozs7Ozs7O0lBWS9CLHlCQUFlO21CQUFTLGlCQUFpQixpQkFBaUIsd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Y0FBbkYsd0JBQXdCLFlBQTJEOzs7MEJBUzdGLFdBQVcsRUFDWCxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUMsQ0FBQTsyQkFJMUIsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7NkJBTTNCLFVBQVUsQ0FBQTtHQVRYLGFBQUEsTUFBQSxNQUFBLHFCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsYUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFPLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBUCxVQUFPOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsdUJBQUEsMkJBQUE7R0FHTSxhQUFBLE1BQUEsTUFBQSxzQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBUSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVIsV0FBUTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHdCQUFBLDRCQUFBO0dBTXpDLGFBQUEsTUFBQSxNQUFBLHdCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxR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
275
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LUloSHgwUXQzLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2FzdC90b2FzdC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2FzdC90b2FzdC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICAtLXNiYi10b2FzdC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTZ4KVxuICApO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcblxuICBkaXNwbGF5OiBub25lO1xufVxuXG46aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5pbmcpLCA6c3RhdGUoc3RhdGUtb3BlbmVkKSwgOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSkge1xuICAtLXNiYi10b2FzdC1jb250YWluZXItZGlzcGxheTogZmxleDtcblxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSdib3R0b20tbGVmdCddKSxcbjpob3N0KFtwb3NpdGlvbj0nYm90dG9tLXN0YXJ0J10pIHtcbiAgLS1zYmItdG9hc3QtaG9yaXpvbnRhbC1wb3NpdGlvbjogZmxleC1zdGFydDtcbiAgLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb246IGZsZXgtZW5kO1xufVxuXG46aG9zdChbcG9zaXRpb249J2JvdHRvbS1jZW50ZXInXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBjZW50ZXI7XG4gIC0tc2JiLXRvYXN0LXZlcnRpY2FsLXBvc2l0aW9uOiBmbGV4LWVuZDtcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSdib3R0b20tcmlnaHQnXSksXG46aG9zdChbcG9zaXRpb249J2JvdHRvbS1lbmQnXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBmbGV4LWVuZDtcbiAgLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb246IGZsZXgtZW5kO1xufVxuXG46aG9zdChbcG9zaXRpb249J3RvcC1sZWZ0J10pLFxuOmhvc3QoW3Bvc2l0aW9uPSd0b3Atc3RhcnQnXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBmbGV4LXN0YXJ0O1xuICAtLXNiYi10b2FzdC12ZXJ0aWNhbC1wb3NpdGlvbjogZmxleC1zdGFydDtcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSd0b3AtY2VudGVyJ10pIHtcbiAgLS1zYmItdG9hc3QtaG9yaXpvbnRhbC1wb3NpdGlvbjogY2VudGVyO1xuICAtLXNiYi10b2FzdC12ZXJ0aWNhbC1wb3NpdGlvbjogZmxleC1zdGFydDtcbn1cblxuOmhvc3QoW3Bvc2l0aW9uPSd0b3AtcmlnaHQnXSksXG46aG9zdChbcG9zaXRpb249J3RvcC1lbmQnXSkge1xuICAtLXNiYi10b2FzdC1ob3Jpem9udGFsLXBvc2l0aW9uOiBmbGV4LWVuZDtcbiAgLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb246IGZsZXgtc3RhcnQ7XG59XG5cbjpob3N0KDpzdGF0ZShkYXJrKSkge1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcbn1cblxuLnNiYi10b2FzdF9fb3ZlcmxheS1jb250YWluZXIge1xuICBwb3NpdGlvbjogdmFyKC0tc2JiLXRvYXN0LWNvbnRhaW5lci1wb3NpdGlvbik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogdmFyKC0tc2JiLXRvYXN0LWNvbnRhaW5lci1kaXNwbGF5LCBub25lKTtcbiAganVzdGlmeS1jb250ZW50OiB2YXIoLS1zYmItdG9hc3QtaG9yaXpvbnRhbC1wb3NpdGlvbik7XG4gIGFsaWduLWl0ZW1zOiB2YXIoLS1zYmItdG9hc3QtdmVydGljYWwtcG9zaXRpb24pO1xufVxuXG4uc2JiLXRvYXN0IHtcbiAgei1pbmRleDogdmFyKC0tc2JiLXRvYXN0LXotaW5kZXgsIHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCkpO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgbWFyZ2luOiB2YXIoLS1zYmItdG9hc3QtbWFyZ2luKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRvYXN0LWJvcmRlci1yYWRpdXMpO1xuICBtYXgtd2lkdGg6IHZhcigtLXNiYi10b2FzdC1tYXgtd2lkdGgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogdmFyKC0tc2JiLXRvYXN0LXRleHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItdG9hc3QtYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRvYXN0LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi10b2FzdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICB9XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpICYge1xuICAgIGFuaW1hdGlvbjoge1xuICAgICAgbmFtZTogY2xvc2U7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXRvYXN0LWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi10b2FzdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi10b2FzdC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItdG9hc3QtZ2FwKTtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXRvYXN0LXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXRvYXN0LXBhZGRpbmctaW5saW5lKTtcbn1cblxuc2xvdDpub3QoW25hbWU9J2ljb24nXSksXG4uc2JiLXRvYXN0X19jbG9zZSB7XG4gIC8vIEFzIHRoZSBzbG90dGVkIGNvbnRlbnQgaXMgZGlzcGxheWVkIG9uIGEgd2hpdGUgYmFja2dyb3VuZCwgd2UgbmVlZCB0byBmb3JjZSBsaWdodCBtb2RlIGZvciB0aGVtLlxuICBjb2xvci1zY2hlbWU6IG9ubHkgbGlnaHQ7XG59XG5cbi5zYmItdG9hc3RfX2NvbnRlbnQge1xuICBAaW5jbHVkZSBzYmIudGl0bGUtNigkZXhjbHVkZS1zcGFjaW5nOiB0cnVlKTtcblxuICBmbGV4OiAxIDEgMDtcbn1cblxuLnNiYi10b2FzdF9fY2xvc2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2JiLXRvYXN0X19jbG9zZS1kaXZpZGVyIHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc2JiLXRvYXN0LXBhZGRpbmctYmxvY2spO1xufVxuXG4uc2JiLXRvYXN0X19jbG9zZS1idXR0b24ge1xuICBtYXJnaW4taW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpO1xufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2xhdGU6IDAgdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMngpO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiAwIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdW5zYWZlQ1NTLFxuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7XG4gIFNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudCxcbiAgdHlwZSBTYmJUcmFuc3BhcmVudEJ1dHRvbkxpbmtFbGVtZW50LFxufSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBTYmJEYXJrTW9kZUNvbnRyb2xsZXIsIFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uL2NvcmUvY29udHJvbGxlcnMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IGlzTGVhbiwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gfSBmcm9tICcuLi9jb3JlL2RvbS50cyc7XG5pbXBvcnQgeyBjb21wb3NlZFBhdGhIYXNBdHRyaWJ1dGUgfSBmcm9tICcuLi9jb3JlL2V2ZW50aW5nLnRzJztcbmltcG9ydCB7IGkxOG5DbG9zZUFsZXJ0IH0gZnJvbSAnLi4vY29yZS9pMThuLnRzJztcbmltcG9ydCB7IFNiYlJlYWRvbmx5TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkxpbmtCdXR0b25FbGVtZW50LCBTYmJMaW5rRWxlbWVudCwgU2JiTGlua1N0YXRpY0VsZW1lbnQgfSBmcm9tICcuLi9saW5rLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9hc3Quc2Nzcz9pbmxpbmUnO1xuXG5pbXBvcnQgJy4uL2RpdmlkZXIudHMnO1xuXG4vLyBUT0RPKGJyZWFraW5nLWNoYW5nZSk6IFJlbW92ZSBjYWxsIHRvIGRlZmluZS5cblNiYlRyYW5zcGFyZW50QnV0dG9uRWxlbWVudC5kZWZpbmUoKTtcblxudHlwZSBTYmJUb2FzdFBvc2l0aW9uVmVydGljYWwgPSAndG9wJyB8ICdib3R0b20nO1xudHlwZSBTYmJUb2FzdFBvc2l0aW9uSG9yaXpvbnRhbCA9ICdsZWZ0JyB8ICdzdGFydCcgfCAnY2VudGVyJyB8ICdyaWdodCcgfCAnZW5kJztcbmV4cG9ydCB0eXBlIFNiYlRvYXN0UG9zaXRpb24gPSBgJHtTYmJUb2FzdFBvc2l0aW9uVmVydGljYWx9LSR7U2JiVG9hc3RQb3NpdGlvbkhvcml6b250YWx9YDtcblxuLy8gQSBnbG9iYWwgY29sbGVjdGlvbiBvZiBleGlzdGluZyB0b2FzdHNcbmNvbnN0IHRvYXN0UmVmcyA9IG5ldyBTZXQ8U2JiVG9hc3RFbGVtZW50PigpO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9hc3Qgbm90aWZpY2F0aW9uLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGBzYmItdG9hc3RgLlxuICogQHNsb3QgaWNvbiAtIEFzc2lnbiBhIGN1c3RvbSBpY29uIHZpYSBzbG90LlxuICogQHNsb3QgYWN0aW9uIC0gUHJvdmlkZSBhIGN1c3RvbSBhY3Rpb24gZm9yIHRoaXMgdG9hc3QuXG4gKiBAY3NzcHJvcCBbLS1zYmItdG9hc3Qtei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiVG9hc3RFbGVtZW50IGV4dGVuZHMgU2JiSWNvbk5hbWVNaXhpbihTYmJSZWFkb25seU1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRvYXN0JztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgYXV0b21hdGljYWxseSBkaXNtaXNzaW5nIHRoZSB0b2FzdC5cbiAgICogSWYgMCAoZGVmYXVsdCksIGl0IHN0YXlzIG9wZW4gaW5kZWZpbml0ZWx5LlxuICAgKiBGcm9tIGFjY2Vzc2liaWxpdHkgcGVyc3BlY3RpdmUsIGl0IGlzIHJlY29tbWVuZGVkIHRvIHNldCBhIHRpbWVvdXQgb2YgYXQgbGVhc3QgMjAgc2Vjb25kcy5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIGFjY2Vzc29yIHRpbWVvdXQ6IG51bWJlciA9IDA7XG5cbiAgLyoqIFRoZSBwb3NpdGlvbiB3aGVyZSB0byBwbGFjZSB0aGUgdG9hc3QuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHBvc2l0aW9uOiBTYmJUb2FzdFBvc2l0aW9uID0gJ2JvdHRvbS1jZW50ZXInO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSBwb2xpdGVuZXNzIGxldmVsLlxuICAgKiBDaGVjayBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BY2Nlc3NpYmlsaXR5L0FSSUEvQVJJQV9MaXZlX1JlZ2lvbnMjbGl2ZV9yZWdpb25zIGZvciBmdXJ0aGVyIGluZm9cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBwb2xpdGVuZXNzOiAncG9saXRlJyB8ICdhc3NlcnRpdmUnIHwgJ29mZicgPSAncG9saXRlJztcblxuICBwcml2YXRlIF9jbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9kYXJrTW9kZUNvbnRyb2xsZXIgPSBuZXcgU2JiRGFya01vZGVDb250cm9sbGVyKHRoaXMsICgpID0+IHtcbiAgICB0aGlzLl9zeW5jU2xvdHRlZEVsZW1lbnRzKCk7XG4gICAgdGhpcy5yZXF1ZXN0VXBkYXRlKCk7XG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChlKSA9PiB0aGlzLl9vbkNsaWNrKGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXIgPSAnbWFudWFsJztcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gQWRkIHRoaXMgdG9hc3QgdG8gdGhlIGdsb2JhbCBjb2xsZWN0aW9uXG4gICAgdG9hc3RSZWZzLmFkZCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl9jbG9zZVRpbWVvdXQpO1xuXG4gICAgLy8gUmVtb3ZlIHRoaXMgaW5zdGFuY2VcbiAgICB0b2FzdFJlZnMuZGVsZXRlKHRoaXMpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdwb2xpdGVuZXNzJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gdGhpcy5wb2xpdGVuZXNzO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVuIHRoZSB0b2FzdC5cbiAgICogSWYgdGhlcmUgYXJlIG90aGVyIG9wZW5lZCB0b2FzdHMgaW4gdGhlIHBhZ2UsIGNsb3NlIHRoZW0gZmlyc3QuXG4gICAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9jbG9zZU90aGVyVG9hc3RzKCk7XG4gICAgdGhpcy5zaG93UG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuaW5nJztcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSB0b2FzdC5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NlZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Nsb3NlVGltZW91dCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcblxuICAgIC8vIFN0YXJ0IHRoZSBjb3VudGRvd24gdG8gY2xvc2UgaXRcbiAgICBpZiAodGhpcy50aW1lb3V0KSB7XG4gICAgICAvLyBXb3JrYXJvdW5kIGZvciBodHRwczovL2dpdGh1Yi5jb20vc2JiLWRlc2lnbi1zeXN0ZW1zL2x5bmUtYW5ndWxhci9pc3N1ZXMvMTkwXG4gICAgICAvLyBJZiB6b25lLmpzIGlzIGxvYWRlZCwgc2V0VGltZW91dCBpcyB3cmFwcGVkIGFuZCB0cmFja2VkIHdoaWNoIHdpbGwgbWFya1xuICAgICAgLy8gYW55dGhpbmcgaW4gQW5ndWxhciBhcyB1bnN0YWJsZSBhcyBsb25nIGFzIHNldFRpbWVvdXQgaXMgbm90IGZpbmlzaGVkLlxuICAgICAgLy8gVGhpcyBvbmx5IG5lZWRzIHRvIGJlIGZpeGVkIGluIHBsYWNlcyB3aGVyZSB3ZSBhY3R1YWxseSB3YW50IHRvIHdhaXQgYVxuICAgICAgLy8gc3BlY2lmaWMgYW1vdW50IG9mIHRpbWUgd2l0aG91dCBhbiBpbnRlcmFjdGlvbiAoZS5nLiBmb3IgdGhpcyBjYXNlKS5cbiAgICAgIGNvbnN0IGdsb2JhbCA9IGdsb2JhbFRoaXMgYXMgYW55O1xuICAgICAgY29uc3Qgc2V0VGltZW91dDogdHlwZW9mIGdsb2JhbFRoaXMuc2V0VGltZW91dCA9XG4gICAgICAgIGdsb2JhbFtnbG9iYWwuWm9uZT8uX19zeW1ib2xfXz8uKCdzZXRUaW1lb3V0JykgYXMgc3RyaW5nXSA/PyBnbG9iYWwuc2V0VGltZW91dDtcblxuICAgICAgdGhpcy5fY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMudGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHRvYXN0IG9uIGNsaWNrIG9mIGFueSBlbGVtZW50IHRoYXQgaGFzIHRoZSAnc2JiLXRvYXN0LWNsb3NlJyBhdHRyaWJ1dGUuXG4gIHByaXZhdGUgX29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXRvYXN0LWNsb3NlJywgdGhpcyk7XG5cbiAgICBpZiAoY2xvc2VFbGVtZW50ICYmICFjbG9zZUVsZW1lbnQuaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKHRoaXMsICctLXNiYi10b2FzdC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTbG90dGVkIHRleHQgbm9kZXMgYXJlIG5vdCByZWFkIGNvcnJlY3RseSBieSBzY3JlZW4gcmVhZGVycyBvbiBDaHJvbWUuXG4gICAqIFRvIGFkZHJlc3MgdGhlIHByb2JsZW0sIGlmIHRoZXJlIGlzIGF0IGxlYXN0IGEgcm9vdCB0ZXh0IG5vZGUsXG4gICAqIHdlIHdyYXAgdGhlIHdob2xlIGNvbnRlbnQgaW4gYSA8c3Bhbj4gdGFnXG4gICAqL1xuICBwcml2YXRlIF9vbkNvbnRlbnRTbG90Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHNsb3ROb2RlcyA9IChldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50KS5hc3NpZ25lZE5vZGVzKCk7XG5cbiAgICBpZiAoc2xvdE5vZGVzLnNvbWUoKGVsKSA9PiBlbC5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpKSB7XG4gICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgdGhpcy5wcmVwZW5kKHNwYW4pO1xuICAgICAgc3Bhbi5hcHBlbmQoLi4uc2xvdE5vZGVzKTtcbiAgICB9XG4gICAgdGhpcy5fc3luY1Nsb3R0ZWRFbGVtZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3luY1Nsb3R0ZWRFbGVtZW50cygpOiB2b2lkIHtcbiAgICAvLyBGb3JjZSB0aGUgdmlzdWFsIHN0YXRlIG9uIHNsb3R0ZWQgYnV0dG9uc1xuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbDxTYmJUcmFuc3BhcmVudEJ1dHRvbkVsZW1lbnQgfCBTYmJUcmFuc3BhcmVudEJ1dHRvbkxpbmtFbGVtZW50PihcbiAgICAgICdzYmItdHJhbnNwYXJlbnQtYnV0dG9uLCBzYmItdHJhbnNwYXJlbnQtYnV0dG9uLWxpbmsnLFxuICAgICkuZm9yRWFjaCgoYnRuKSA9PiB7XG4gICAgICBidG4ubmVnYXRpdmUgPSB0aGlzLl9pc0xpZ2h0TW9kZSgpO1xuICAgICAgYnRuLnNpemUgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcbiAgICB9KTtcblxuICAgIC8vIEZvcmNlIG5lZ2F0aXZlIG9uIHNsb3R0ZWQgbGlua3NcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw8U2JiTGlua0VsZW1lbnQgfCBTYmJMaW5rQnV0dG9uRWxlbWVudCB8IFNiYkxpbmtTdGF0aWNFbGVtZW50PihcbiAgICAgICdzYmItbGluaywgc2JiLWxpbmstYnV0dG9uLCBzYmItbGluay1zdGF0aWMnLFxuICAgICkuZm9yRWFjaCgobGluaykgPT4ge1xuICAgICAgbGluay5uZWdhdGl2ZSA9IHRoaXMuX2lzTGlnaHRNb2RlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAvLyBUbyBhdm9pZCBlbnRlcmluZyBhIGNvcnJ1cHQgc3RhdGUsIGV4aXQgd2hlbiBzdGF0ZSBpcyBub3QgZXhwZWN0ZWQuXG4gIHByaXZhdGUgX29uVG9hc3RBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgLy8gT24gdG9hc3Qgb3BlbmVkXG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNpbmNlIHdlIGRvIG5vdCBzdGFjayB0b2FzdHMsIHdlIGZvcmNlIHRoZSBjbG9zaW5nIG9uIG90aGVyIGV4aXN0aW5nIG9wZW5lZCBvbmVzXG4gICAqL1xuICBwcml2YXRlIF9jbG9zZU90aGVyVG9hc3RzKCk6IHZvaWQge1xuICAgIHRvYXN0UmVmcy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICBpZiAodC5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgdC5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICAgIHQuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2lzTGlnaHRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5fZGFya01vZGVDb250cm9sbGVyLm1hdGNoZXMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fb3ZlcmxheS1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdFwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vblRvYXN0QW5pbWF0aW9uRW5kfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLXRvYXN0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2FzdF9fY29udGVudFwiPlxuICAgICAgICAgICAgICA8c2xvdCBAc2xvdGNoYW5nZT0ke3RoaXMuX29uQ29udGVudFNsb3RDaGFuZ2V9Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHNsb3QgbmFtZT1cImFjdGlvblwiIEBzbG90Y2hhbmdlPSR7dGhpcy5fc3luY1Nsb3R0ZWRFbGVtZW50c30+PC9zbG90PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9hc3RfX2Nsb3NlXCI+XG4gICAgICAgICAgICA8c2JiLWRpdmlkZXJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItdG9hc3RfX2Nsb3NlLWRpdmlkZXJcIlxuICAgICAgICAgICAgICBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCJcbiAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5faXNMaWdodE1vZGUoKX1cbiAgICAgICAgICAgID48L3NiYi1kaXZpZGVyPlxuICAgICAgICAgICAgJHshdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgICA/IGh0bWxgPHNiYi10cmFuc3BhcmVudC1idXR0b25cbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLXRvYXN0X19jbG9zZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5faXNMaWdodE1vZGUoKX1cbiAgICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9JHtpMThuQ2xvc2VBbGVydFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICAgICAgICAgIHNiYi10b2FzdC1jbG9zZVxuICAgICAgICAgICAgICAgID48L3NiYi10cmFuc3BhcmVudC1idXR0b24+YFxuICAgICAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvYXN0JzogU2JiVG9hc3RFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzhCQSw0QkFBNEIsT0FBTTtBQU9sQyxJQUFNLDRCQUFZLElBQUksSUFBRzs7Ozs7Ozs7Ozs7SUFZWix5QkFBZTttQkFBUyxpQkFBaUIsaUJBQWlCLHVCQUF1QixDQUFDOzs7Ozs7Ozs7O2NBQWxGLHdCQUF3QixZQUEyRDs7OzBCQVM3RixVQUFTLEdBQ1QsU0FBUyxFQUFFLE1BQU0sT0FBTSxDQUFFLENBQUM7MkJBSTFCLFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFDOzZCQU0zQixTQUFRLENBQUU7R0FUWCxhQUFBLE1BQUEsTUFBQSxxQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGFBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBTyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVAsVUFBTztLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSx1QkFBQSwwQkFBQTtHQUdNLGFBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBUixXQUFRO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLHdCQUFBLDJCQUFBO0dBTXpDLGFBQUEsTUFBQSxNQUFBLHdCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7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
@@ -6,4 +6,4 @@ SbbToastElement.define();
6
6
  //#endregion
7
7
  export { SbbToastElement };
8
8
 
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvYXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAZW50cnlwb2ludCAqL1xuaW1wb3J0IHsgU2JiVG9hc3RFbGVtZW50IH0gZnJvbSAnLi90b2FzdC5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi90b2FzdC5wdXJlLnRzJztcblxuU2JiVG9hc3RFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBS0EsZ0JBQWdCLFFBQVEifQ==
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvYXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAZW50cnlwb2ludCAqL1xuaW1wb3J0IHsgU2JiVG9hc3RFbGVtZW50IH0gZnJvbSAnLi90b2FzdC5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi90b2FzdC5wdXJlLnRzJztcblxuU2JiVG9hc3RFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBS0EsZ0JBQWdCLE9BQU0ifQ==
@@ -7,4 +7,4 @@ Use either '@sbb-esta/elements/toggle.js' or '@sbb-esta/elements/toggle.pure.js'
7
7
  //#endregion
8
8
  export { SbbToggleOptionElement };
9
9
 
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9wdGlvbi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS1vcHRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJUb2dnbGVPcHRpb25FbGVtZW50IH0gZnJvbSAnLi90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24uY29tcG9uZW50LnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24uY29tcG9uZW50LnRzJztcblxuU2JiVG9nZ2xlT3B0aW9uRWxlbWVudC5kZWZpbmUoKTtcblxuY29uc29sZS53YXJuKGBUaGUgZW50cnlwb2ludCAnQHNiYi1lc3RhL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUtb3B0aW9uLmpzJyBoYXMgYmVlbiBkZXByZWNhdGVkLlxuVXNlIGVpdGhlciAnQHNiYi1lc3RhL2VsZW1lbnRzL3RvZ2dsZS5qcycgb3IgJ0BzYmItZXN0YS9lbGVtZW50cy90b2dnbGUucHVyZS5qcycgaW5zdGVhZC5gKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsdUJBQXVCLFFBQVE7QUFFL0IsUUFBUSxLQUFLOzJGQUM4RSJ9
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9wdGlvbi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS1vcHRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJUb2dnbGVPcHRpb25FbGVtZW50IH0gZnJvbSAnLi90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24uY29tcG9uZW50LnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24uY29tcG9uZW50LnRzJztcblxuU2JiVG9nZ2xlT3B0aW9uRWxlbWVudC5kZWZpbmUoKTtcblxuY29uc29sZS53YXJuKGBUaGUgZW50cnlwb2ludCAnQHNiYi1lc3RhL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUtb3B0aW9uLmpzJyBoYXMgYmVlbiBkZXByZWNhdGVkLlxuVXNlIGVpdGhlciAnQHNiYi1lc3RhL2VsZW1lbnRzL3RvZ2dsZS5qcycgb3IgJ0BzYmItZXN0YS9lbGVtZW50cy90b2dnbGUucHVyZS5qcycgaW5zdGVhZC5gKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsdUJBQXVCLE9BQU07QUFFN0IsUUFBUSxLQUFLOzBGQUM2RSJ9
@@ -7,4 +7,4 @@ Use either '@sbb-esta/elements/toggle.js' or '@sbb-esta/elements/toggle.pure.js'
7
7
  //#endregion
8
8
  export { SbbToggleElement };
9
9
 
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUvdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAZW50cnlwb2ludCAqL1xuaW1wb3J0IHsgU2JiVG9nZ2xlRWxlbWVudCB9IGZyb20gJy4vdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50LnRzJztcblxuU2JiVG9nZ2xlRWxlbWVudC5kZWZpbmUoKTtcblxuY29uc29sZS53YXJuKGBUaGUgZW50cnlwb2ludCAnQHNiYi1lc3RhL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUuanMnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuXG5Vc2UgZWl0aGVyICdAc2JiLWVzdGEvZWxlbWVudHMvdG9nZ2xlLmpzJyBvciAnQHNiYi1lc3RhL2VsZW1lbnRzL3RvZ2dsZS5wdXJlLmpzJyBpbnN0ZWFkLmApO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFLQSxpQkFBaUIsUUFBUTtBQUV6QixRQUFRLEtBQUs7MkZBQzhFIn0=
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUvdG9nZ2xlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKiBAZW50cnlwb2ludCAqL1xuaW1wb3J0IHsgU2JiVG9nZ2xlRWxlbWVudCB9IGZyb20gJy4vdG9nZ2xlL3RvZ2dsZS5jb21wb25lbnQudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50LnRzJztcblxuU2JiVG9nZ2xlRWxlbWVudC5kZWZpbmUoKTtcblxuY29uc29sZS53YXJuKGBUaGUgZW50cnlwb2ludCAnQHNiYi1lc3RhL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUuanMnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuXG5Vc2UgZWl0aGVyICdAc2JiLWVzdGEvZWxlbWVudHMvdG9nZ2xlLmpzJyBvciAnQHNiYi1lc3RhL2VsZW1lbnRzL3RvZ2dsZS5wdXJlLmpzJyBpbnN0ZWFkLmApO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFLQSxpQkFBaUIsT0FBTTtBQUV2QixRQUFRLEtBQUs7MEZBQzZFIn0=
@@ -156,4 +156,4 @@ var SbbToggleCheckElement = (() => {
156
156
  //#endregion
157
157
  export { SbbToggleCheckElement as t };
158
158
 
159
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNoZWNrLmNvbXBvbmVudC1fZkRBdUxvYi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlLWNoZWNrL3RvZ2dsZS1jaGVjay5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUtY2hlY2svdG9nZ2xlLWNoZWNrLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXRvZ2dsZS1jaGVjay1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTZ4KVxuICApO1xuICAtLV9zYmItdG9nZ2xlLWNoZWNrLW92ZXJhbGwtaGVpZ2h0OiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS1kaWFtZXRlcik7XG4gIC0tX3NiYi10b2dnbGUtY2hlY2std2lkdGg6IGNhbGMoMiAqIHZhcigtLXNiYi10b2dnbGUtY2hlY2staGVpZ2h0KSk7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoW3NpemU9J3hzJ10pIHtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi10b2dnbGUtY2hlY2stZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG59XG5cbjpob3N0KFtzaXplPSdtJ10pIHtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLW0pO1xuICAtLV9zYmItdG9nZ2xlLWNoZWNrLW92ZXJhbGwtaGVpZ2h0OiBjYWxjKDFlbSAqIHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpKTtcbn1cblxuOmhvc3QoOnN0YXRlKGNoZWNrZWQpKSB7XG4gIC0tc2JiLXRvZ2dsZS1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWNoZWNrZWQtY29sb3IpO1xuICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUtaW52ZXJ0ZWQpO1xuICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAvLyBBcyB0aGUgY2lyY2xlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgdHJhY2sgYmVsb3csXG4gIC8vIHdlIGhhdmUgdG8gc3VidHJhY3QgdGhlIGRpZmZlcmVuY2UgaW4gb3JkZXIgdG8gbm90IG92ZXJzaG9vdCBhdCB0aGUgcmlnaHQgc2lkZS5cbiAgLy8gMTAwJSBvZiBjaXJjbGUgKDI4cHgpIC0gMiAqICgxMDAlICgyOHB4KSAtIDAuNSAqIHdpZHRoICg0OHB4KSkgPT4gMjBweFxuICAtLV9zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS10cmFuc2xhdGU6IGNhbGMoXG4gICAgICAxMDAlIC0gMiAqICgxMDAlIC0gMC41ICogdmFyKC0tX3NiYi10b2dnbGUtY2hlY2std2lkdGgpKVxuICAgICkgLTUwJTtcbiAgLS1fc2JiLXRvZ2dsZS1jaGVjay1pY29uLW9wYWNpdHk6IDE7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXRvZ2dsZS1jaGVjay1pY29uLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgLS1zYmItdG9nZ2xlLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IEhpZ2hsaWdodDtcbiAgfVxufVxuXG46aG9zdCg6ZGlzYWJsZWQpIHtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQpO1xuICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS1ib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWljb24tY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3Itc3Rvcm0pKTtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1kZWZhdWx0KTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItdG9nZ2xlLWNoZWNrLWljb24tY29sb3I6IEdyYXlUZXh0O1xuICAgIC0tc2JiLXRvZ2dsZS1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdiZWZvcmUnXSkge1xuICAtLV9zYmItdG9nZ2xlLWNoZWNrLWZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5zYmItdG9nZ2xlLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1jb2xvcik7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHZhcigtLXNiYi10b2dnbGUtY2hlY2stY3Vyc29yKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSk7XG5cbiAgLy8gQXZvaWRzIHVud2FudGVkIHNwYWNlIGRpc3BsYXllZCBpZiBubyBsYWJlbCB0ZXh0IGlzIHNldC5cbiAgQGluY2x1ZGUgc2JiLnplcm8td2lkdGgtc3BhY2U7XG5cbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuICB9XG59XG5cbi5zYmItdG9nZ2xlLWNoZWNrX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tX3NiYi10b2dnbGUtY2hlY2stZmxleC1kaXJlY3Rpb24sIHJvdy1yZXZlcnNlKTtcbiAgZ2FwOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWdhcCk7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuLnNiYi10b2dnbGUtY2hlY2tfX2xhYmVsIHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgICh2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS1kaWFtZXRlcikgLSAodmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgKiAxZW0pKSAvIDJcbiAgKTtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkKSkpICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNiYi10b2dnbGUtY2hlY2tfX3RyYWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogdmFyKC0tX3NiYi10b2dnbGUtY2hlY2std2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtY2hlY2staGVpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtaW5maW5pdHkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIC8vIFJlc2VydmUgc3BhY2Ugb2Ygb3ZlcmxhcHBpbmcgY2lyY2xlXG4gIG1hcmdpbi1ibG9jazogY2FsYyhcbiAgICAodmFyKC0tX3NiYi10b2dnbGUtY2hlY2stb3ZlcmFsbC1oZWlnaHQpIC0gdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1oZWlnaHQpKSAvIDJcbiAgKTtcbn1cblxuLnNiYi10b2dnbGUtY2hlY2tfX2NpcmNsZSB7XG4gIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteTtcblxuICB3aWR0aDogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1jaXJjbGUtZGlhbWV0ZXIpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWRpYW1ldGVyKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWJvcmRlci13aWR0aCkgdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1jaXJjbGUtYm9yZGVyLXN0eWxlKVxuICAgIHZhcigtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1jaXJjbGUtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWljb24tY29sb3IpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNsYXRlO1xuICB0cmFuc2xhdGU6IHZhcigtLV9zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS10cmFuc2xhdGUsIDAgLTUwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zbGF0ZSBlYXNlIHZhcigtLXNiYi10b2dnbGUtY2hlY2stYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1zaGFkb3cpO1xufVxuXG4uc2JiLXRvZ2dsZS1jaGVja19faWNvbiB7XG4gIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteC15O1xuXG4gIHdpZHRoOiB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKTtcbiAgb3BhY2l0eTogdmFyKC0tX3NiYi10b2dnbGUtY2hlY2staWNvbi1vcGFjaXR5LCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIHZhcigtLXNiYi10b2dnbGUtY2hlY2stYW5pbWF0aW9uLWR1cmF0aW9uKTtcbn1cbiIsImltcG9ydCB7XG4gIGh0bWwsXG4gIHVuc2FmZUNTUyxcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uL2ljb24udHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2dnbGUtY2hlY2suc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9nZ2xlIGNoZWNrYm94LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRvZ2dsZSBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gaWNvbi4gSWYgYGljb24tbmFtZWAgaXMgc2V0LCBhIHNiYi1pY29uIHdpbGwgYmUgdXNlZC5cbiAqIEBldmVudCB7RXZlbnR9IGNoYW5nZSAtIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZCBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZykgfCBudWxsXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUb2dnbGVDaGVja0VsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFxuICBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4oU2JiRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10b2dnbGUtY2hlY2snO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogVmFsdWUgb2YgdGhlIGZvcm0gZWxlbWVudC4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0sIHMgb3IgeHMuXG4gICAqIEBkZWZhdWx0ICdzJyAvICd4cycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAneHMnIHwgJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAneHMnIDogJ3MnO1xuXG4gIC8qKiBUaGUgbGFiZWwgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIHRvZ2dsZS4gRGVmYXVsdHMgdG8gJ2FmdGVyJyAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsYWJlbC1wb3NpdGlvbicsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsUG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyA9ICdhZnRlcic7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgaWYgKG5hbWUgPT09ICdjaGVja2VkJykge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSBgJHt0aGlzLmNoZWNrZWR9YDtcbiAgICAgIC8vIEFzIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpbiBkb2VzIG5vdCByZWZsZWN0IGNoZWNrZWQgcHJvcGVydHksIHdlIGFkZCBhIGNoZWNrZWQgc3RhdGUuXG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdjaGVja2VkJywgdGhpcy5jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVySWNvbk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIucmVuZGVySWNvbk5hbWUoKSB8fCAndGljay1zbWFsbCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10b2dnbGUtY2hlY2tfX2NvbnRhaW5lclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja19fbGFiZWxcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX190cmFja1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19jaXJjbGVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19pY29uXCI+ICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvZ2dsZS1jaGVjayc6IFNiYlRvZ2dsZUNoZWNrRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUMwQmEsK0JBQXFCO21CQUFxQixpQkFDckQsK0JBQStCLFdBQVcsQ0FDM0M7Ozs7Ozs7Ozs7Y0FGWSw4QkFBMEMsWUFFdEQ7Ozt3QkFLRSxVQUFVLENBQUE7dUJBT1YsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7Z0NBRzNCLFNBQVM7SUFBRSxXQUFXO0lBQWtCLFNBQVM7SUFBTSxDQUFDLENBQUE7R0FUekQsYUFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFMLFFBQUs7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxxQkFBQSx5QkFBQTtHQU1RLGFBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBSixPQUFJOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsb0JBQUEsd0JBQUE7R0FJakQsYUFBQSxNQUFBLE1BQUEsMkJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxtQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFhLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBYixnQkFBYTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDZCQUFBLGlDQUFBOzs7Ozs7Ozs7R0FmRyxLQUFBLGNBQXNCOzs7R0FDL0IsS0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLHFCQUFNLENBQUM7O0VBSW5GLDBCQUFBLGtCQUFBLE1BQUEscUJBQWtDLEtBQUk7O0VBQXRDLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7O0VBQXJCLElBQWdCLE1BQUssT0FBQTtHQUFBLEtBQUEsMEJBQUE7O0VBTVEsMEJBQUEsa0JBQUEsTUFBQSx5QkFBQSxFQUFBLGtCQUFBLE1BQUEsb0JBQXlDLFFBQVEsR0FBRyxPQUFPLElBQUc7Ozs7O0VBQTlELElBQWdCLE9BQUk7R0FBQSxPQUFBLEtBQUE7O0VBQXBCLElBQWdCLEtBQUksT0FBQTtHQUFBLEtBQUEseUJBQUE7O0VBSWpELG1DQUFBLGtCQUFBLE1BQUEsd0JBQUEsRUFBQSxrQkFBQSxNQUFBLDZCQUFvRCxRQUFPOztFQUEzRCxJQUFnQixnQkFBYTtHQUFBLE9BQUEsS0FBQTs7RUFBN0IsSUFBZ0IsY0FBYSxPQUFBO0dBQUEsS0FBQSxrQ0FBQTs7RUFFYixjQUNkLE1BQ0EsVUFDQSxTQUE2QjtHQUU3QixNQUFNLGNBQWMsTUFBTSxVQUFVLFFBQVE7R0FDNUMsSUFBSSxTQUFTLFdBQVc7SUFDdEIsS0FBSyxVQUFVLGNBQWMsR0FBRyxLQUFLO0lBRXJDLEtBQUssWUFBWSxXQUFXLEtBQUssUUFBUTs7O0VBSTFCLGlCQUFjO0dBQy9CLE9BQU8sTUFBTSxnQkFBZ0IsSUFBSTs7RUFHaEIsU0FBTTtHQUN2QixPQUFPLElBQUk7Ozs7Ozs7O3NEQVF1QyxLQUFLLGdCQUFnQixDQUFBIn0=
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNoZWNrLmNvbXBvbmVudC1fZkRBdUxvYi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlLWNoZWNrL3RvZ2dsZS1jaGVjay5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUtY2hlY2svdG9nZ2xlLWNoZWNrLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLXRvZ2dsZS1jaGVjay1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTZ4KVxuICApO1xuICAtLV9zYmItdG9nZ2xlLWNoZWNrLW92ZXJhbGwtaGVpZ2h0OiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS1kaWFtZXRlcik7XG4gIC0tX3NiYi10b2dnbGUtY2hlY2std2lkdGg6IGNhbGMoMiAqIHZhcigtLXNiYi10b2dnbGUtY2hlY2staGVpZ2h0KSk7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC8vIFVzZSAhaW1wb3J0YW50IGhlcmUgdG8gbm90IGludGVyZmVyZSB3aXRoIEZpcmVmb3ggZm9jdXMgcmluZyBkZWZpbml0aW9uXG4gIC8vIHdoaWNoIGFwcGVhcnMgaW4gbm9ybWFsaXplIENTUyBvZiBzZXZlcmFsIGZyYW1ld29ya3MuXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuOmhvc3QoW3NpemU9J3hzJ10pIHtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi10b2dnbGUtY2hlY2stZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG59XG5cbjpob3N0KFtzaXplPSdtJ10pIHtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLW0pO1xuICAtLV9zYmItdG9nZ2xlLWNoZWNrLW92ZXJhbGwtaGVpZ2h0OiBjYWxjKDFlbSAqIHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpKTtcbn1cblxuOmhvc3QoOnN0YXRlKGNoZWNrZWQpKSB7XG4gIC0tc2JiLXRvZ2dsZS1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWNoZWNrZWQtY29sb3IpO1xuICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEtbmVnYXRpdmUtaW52ZXJ0ZWQpO1xuICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAvLyBBcyB0aGUgY2lyY2xlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgdHJhY2sgYmVsb3csXG4gIC8vIHdlIGhhdmUgdG8gc3VidHJhY3QgdGhlIGRpZmZlcmVuY2UgaW4gb3JkZXIgdG8gbm90IG92ZXJzaG9vdCBhdCB0aGUgcmlnaHQgc2lkZS5cbiAgLy8gMTAwJSBvZiBjaXJjbGUgKDI4cHgpIC0gMiAqICgxMDAlICgyOHB4KSAtIDAuNSAqIHdpZHRoICg0OHB4KSkgPT4gMjBweFxuICAtLV9zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS10cmFuc2xhdGU6IGNhbGMoXG4gICAgICAxMDAlIC0gMiAqICgxMDAlIC0gMC41ICogdmFyKC0tX3NiYi10b2dnbGUtY2hlY2std2lkdGgpKVxuICAgICkgLTUwJTtcbiAgLS1fc2JiLXRvZ2dsZS1jaGVjay1pY29uLW9wYWNpdHk6IDE7XG5cbiAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgIC0tc2JiLXRvZ2dsZS1jaGVjay1pY29uLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgLS1zYmItdG9nZ2xlLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IEhpZ2hsaWdodDtcbiAgfVxufVxuXG46aG9zdCg6ZGlzYWJsZWQpIHtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTQpO1xuICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS1ib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWljb24tY29sb3I6IGxpZ2h0LWRhcmsodmFyKC0tc2JiLWNvbG9yLWdyYW5pdGUpLCB2YXIoLS1zYmItY29sb3Itc3Rvcm0pKTtcbiAgLS1zYmItdG9nZ2xlLWNoZWNrLWN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1kZWZhdWx0KTtcblxuICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgLS1zYmItdG9nZ2xlLWNoZWNrLWljb24tY29sb3I6IEdyYXlUZXh0O1xuICAgIC0tc2JiLXRvZ2dsZS1jaGVjay1iYWNrZ3JvdW5kLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJvcmRlci1zdHlsZTogc29saWQ7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdiZWZvcmUnXSkge1xuICAtLV9zYmItdG9nZ2xlLWNoZWNrLWZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5zYmItdG9nZ2xlLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1jb2xvcik7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHZhcigtLXNiYi10b2dnbGUtY2hlY2stY3Vyc29yKTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLWZvY3VzLW91dGxpbmUtb2Zmc2V0KSk7XG5cbiAgLy8gQXZvaWRzIHVud2FudGVkIHNwYWNlIGRpc3BsYXllZCBpZiBubyBsYWJlbCB0ZXh0IGlzIHNldC5cbiAgQGluY2x1ZGUgc2JiLnplcm8td2lkdGgtc3BhY2U7XG5cbiAgOmhvc3QoOmZvY3VzLXZpc2libGUpICYge1xuICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuICB9XG59XG5cbi5zYmItdG9nZ2xlLWNoZWNrX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tX3NiYi10b2dnbGUtY2hlY2stZmxleC1kaXJlY3Rpb24sIHJvdy1yZXZlcnNlKTtcbiAgZ2FwOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWdhcCk7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuLnNiYi10b2dnbGUtY2hlY2tfX2xhYmVsIHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiBjYWxjKFxuICAgICh2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS1kaWFtZXRlcikgLSAodmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCkgKiAxZW0pKSAvIDJcbiAgKTtcblxuICA6aG9zdCg6bm90KDpzdGF0ZShzbG90dGVkKSkpICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNiYi10b2dnbGUtY2hlY2tfX3RyYWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogdmFyKC0tX3NiYi10b2dnbGUtY2hlY2std2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtY2hlY2staGVpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWJvcmRlci1yYWRpdXMtaW5maW5pdHkpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWJhY2tncm91bmQtY29sb3IpO1xuXG4gIC8vIFJlc2VydmUgc3BhY2Ugb2Ygb3ZlcmxhcHBpbmcgY2lyY2xlXG4gIG1hcmdpbi1ibG9jazogY2FsYyhcbiAgICAodmFyKC0tX3NiYi10b2dnbGUtY2hlY2stb3ZlcmFsbC1oZWlnaHQpIC0gdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1oZWlnaHQpKSAvIDJcbiAgKTtcbn1cblxuLnNiYi10b2dnbGUtY2hlY2tfX2NpcmNsZSB7XG4gIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteTtcblxuICB3aWR0aDogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1jaXJjbGUtZGlhbWV0ZXIpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWRpYW1ldGVyKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWJvcmRlci13aWR0aCkgdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1jaXJjbGUtYm9yZGVyLXN0eWxlKVxuICAgIHZhcigtLXNiYi10b2dnbGUtY2hlY2stY2lyY2xlLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1jaXJjbGUtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1zYmItdG9nZ2xlLWNoZWNrLWljb24tY29sb3IpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNsYXRlO1xuICB0cmFuc2xhdGU6IHZhcigtLV9zYmItdG9nZ2xlLWNoZWNrLWNpcmNsZS10cmFuc2xhdGUsIDAgLTUwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zbGF0ZSBlYXNlIHZhcigtLXNiYi10b2dnbGUtY2hlY2stYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2JiLXRvZ2dsZS1jaGVjay1zaGFkb3cpO1xufVxuXG4uc2JiLXRvZ2dsZS1jaGVja19faWNvbiB7XG4gIEBpbmNsdWRlIHNiYi5hYnNvbHV0ZS1jZW50ZXIteC15O1xuXG4gIHdpZHRoOiB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKTtcbiAgb3BhY2l0eTogdmFyKC0tX3NiYi10b2dnbGUtY2hlY2staWNvbi1vcGFjaXR5LCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIHZhcigtLXNiYi10b2dnbGUtY2hlY2stYW5pbWF0aW9uLWR1cmF0aW9uKTtcbn1cbiIsImltcG9ydCB7XG4gIGh0bWwsXG4gIHVuc2FmZUNTUyxcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluIH0gZnJvbSAnLi4vY29yZS9taXhpbnMudHMnO1xuaW1wb3J0IHsgYm94U2l6aW5nU3R5bGVzIH0gZnJvbSAnLi4vY29yZS9zdHlsZXMudHMnO1xuaW1wb3J0IHsgU2JiSWNvbk5hbWVNaXhpbiB9IGZyb20gJy4uL2ljb24udHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2dnbGUtY2hlY2suc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9nZ2xlIGNoZWNrYm94LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRvZ2dsZSBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gaWNvbi4gSWYgYGljb24tbmFtZWAgaXMgc2V0LCBhIHNiYi1pY29uIHdpbGwgYmUgdXNlZC5cbiAqIEBldmVudCB7RXZlbnR9IGNoYW5nZSAtIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZCBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZykgfCBudWxsXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUb2dnbGVDaGVja0VsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFxuICBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4oU2JiRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10b2dnbGUtY2hlY2snO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogVmFsdWUgb2YgdGhlIGZvcm0gZWxlbWVudC4gKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0sIHMgb3IgeHMuXG4gICAqIEBkZWZhdWx0ICdzJyAvICd4cycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAneHMnIHwgJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAneHMnIDogJ3MnO1xuXG4gIC8qKiBUaGUgbGFiZWwgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIHRvZ2dsZS4gRGVmYXVsdHMgdG8gJ2FmdGVyJyAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsYWJlbC1wb3NpdGlvbicsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsUG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyA9ICdhZnRlcic7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlcXVlc3RVcGRhdGUoXG4gICAgbmFtZT86IFByb3BlcnR5S2V5LFxuICAgIG9sZFZhbHVlPzogdW5rbm93bixcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZCB7XG4gICAgc3VwZXIucmVxdWVzdFVwZGF0ZShuYW1lLCBvbGRWYWx1ZSwgb3B0aW9ucyk7XG4gICAgaWYgKG5hbWUgPT09ICdjaGVja2VkJykge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuYXJpYUNoZWNrZWQgPSBgJHt0aGlzLmNoZWNrZWR9YDtcbiAgICAgIC8vIEFzIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpbiBkb2VzIG5vdCByZWZsZWN0IGNoZWNrZWQgcHJvcGVydHksIHdlIGFkZCBhIGNoZWNrZWQgc3RhdGUuXG4gICAgICB0aGlzLnRvZ2dsZVN0YXRlKCdjaGVja2VkJywgdGhpcy5jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVySWNvbk5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3VwZXIucmVuZGVySWNvbk5hbWUoKSB8fCAndGljay1zbWFsbCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10b2dnbGUtY2hlY2tfX2NvbnRhaW5lclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja19fbGFiZWxcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX190cmFja1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19jaXJjbGVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19pY29uXCI+ICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvZ2dsZS1jaGVjayc6IFNiYlRvZ2dsZUNoZWNrRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUMwQmEsK0JBQXFCO21CQUFxQixpQkFDckQsK0JBQStCLFVBQVUsQ0FBQzs7Ozs7Ozs7OztjQUQvQiw4QkFBMEMsWUFFdEQ7Ozt3QkFLRSxTQUFRLENBQUU7dUJBT1YsU0FBUyxFQUFFLFNBQVMsS0FBSSxDQUFFLENBQUM7Z0NBRzNCLFNBQVM7SUFBRSxXQUFXO0lBQWtCLFNBQVM7R0FBSSxDQUFFLENBQUM7R0FUekQsYUFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFMLFFBQUs7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEscUJBQUEsd0JBQUE7R0FNUSxhQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUosT0FBSTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSxvQkFBQSx1QkFBQTtHQUlqRCxhQUFBLE1BQUEsTUFBQSwyQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLG1CQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWEsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFiLGdCQUFhO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLDZCQUFBLGdDQUFBOzs7Ozs7Ozs7R0FmRyxLQUFBLGNBQXNCO0VBQW1COztHQUNsRCxLQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsb0JBQUssQ0FBQztFQUFFO0VBSXBGLDBCQUFBLGtCQUFBLE1BQUEscUJBQWtDLElBQUk7O0VBQXRDLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUFyQixJQUFnQixNQUFLLE9BQUE7R0FBQSxLQUFBLDBCQUFBO0VBQUE7RUFNUSwwQkFBQSxrQkFBQSxNQUFBLHdCQUFBLEdBQUEsa0JBQUEsTUFBQSxvQkFBeUMsT0FBTSxJQUFLLE9BQU8sR0FBRzs7Ozs7RUFBOUQsSUFBZ0IsT0FBSTtHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQXBCLElBQWdCLEtBQUksT0FBQTtHQUFBLEtBQUEseUJBQUE7RUFBQTtFQUlqRCxtQ0FBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSw2QkFBb0QsT0FBTzs7RUFBM0QsSUFBZ0IsZ0JBQWE7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUE3QixJQUFnQixjQUFhLE9BQUE7R0FBQSxLQUFBLGtDQUFBO0VBQUE7RUFFYixjQUNkLE1BQ0EsVUFDQSxTQUE2QjtHQUU3QixNQUFNLGNBQWMsTUFBTSxVQUFVLE9BQU87R0FDM0MsSUFBSSxTQUFTLFdBQVc7SUFDdEIsS0FBSyxVQUFVLGNBQWMsR0FBRyxLQUFLO0lBRXJDLEtBQUssWUFBWSxXQUFXLEtBQUssT0FBTztHQUMxQztFQUNGO0VBRW1CLGlCQUFjO0dBQy9CLE9BQU8sTUFBTSxlQUFjLEtBQU07RUFDbkM7RUFFbUIsU0FBTTtHQUN2QixPQUFPLElBQUk7Ozs7Ozs7O3NEQVF1QyxLQUFLLGVBQWMsRUFBRTs7Ozs7O0VBTXpFIn0=
@@ -6,4 +6,4 @@ SbbToggleCheckElement.define();
6
6
  //#endregion
7
7
  export { SbbToggleCheckElement };
8
8
 
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNoZWNrLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUtY2hlY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJUb2dnbGVDaGVja0VsZW1lbnQgfSBmcm9tICcuL3RvZ2dsZS1jaGVjay5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi90b2dnbGUtY2hlY2sucHVyZS50cyc7XG5cblNiYlRvZ2dsZUNoZWNrRWxlbWVudC5kZWZpbmUoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUtBLHNCQUFzQixRQUFRIn0=
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNoZWNrLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUtY2hlY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJUb2dnbGVDaGVja0VsZW1lbnQgfSBmcm9tICcuL3RvZ2dsZS1jaGVjay5wdXJlLnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi90b2dnbGUtY2hlY2sucHVyZS50cyc7XG5cblNiYlRvZ2dsZUNoZWNrRWxlbWVudC5kZWZpbmUoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUtBLHNCQUFzQixPQUFNIn0=
@@ -164,4 +164,4 @@ var SbbToggleOptionElement = (() => {
164
164
  //#endregion
165
165
  export { SbbToggleOptionElement as t };
166
166
 
167
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9wdGlvbi5jb21wb25lbnQtRFRTM2E2MDMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS1vcHRpb24vdG9nZ2xlLW9wdGlvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItdG9nZ2xlLW9wdGlvbi1nYXApO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtaGVpZ2h0KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi10b2dnbGUtcGFkZGluZy1pbmxpbmUpO1xuICBjb2xvcjogdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24tY29sb3IpO1xuICBjdXJzb3I6IHZhcigtLXNiYi10b2dnbGUtb3B0aW9uLWN1cnNvciwgdmFyKC0tc2JiLWN1cnNvci1wb2ludGVyKSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24tZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICAvLyBVc2UgIWltcG9ydGFudCBoZXJlIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBGaXJlZm94IGZvY3VzIHJpbmcgZGVmaW5pdGlvblxuICAvLyB3aGljaCBhcHBlYXJzIGluIG5vcm1hbGl6ZSBDU1Mgb2Ygc2V2ZXJhbCBmcmFtZXdvcmtzLlxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbjpob3N0KFtjaGVja2VkXSkge1xuICAtLXNiYi10b2dnbGUtb3B0aW9uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMik7XG59XG5cbjpob3N0KFtkaXNhYmxlZF0pIHtcbiAgLS1zYmItdG9nZ2xlLW9wdGlvbi1jdXJzb3I6IHVuc2V0O1xuICAtLXNiYi10b2dnbGUtb3B0aW9uLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1hbnRocmFjaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWNsb3VkKSk7XG59XG5cbi5zYmItdG9nZ2xlLW9wdGlvbl9fbGFiZWwge1xuICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG59XG5cbnNiYi1pY29uLFxuOjpzbG90dGVkKHNiYi1pY29uKSB7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24taWNvbi1taW4tc2l6ZSk7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtb3B0aW9uLWljb24tbWluLXNpemUpO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgaHRtbCxcbiAgdW5zYWZlQ1NTLFxuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZUVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RvZ2dsZS1vcHRpb24uc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9nZ2xlIG9wdGlvbiB3aXRoaW4gYSBgc2JiLXRvZ2dsZWAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgbGFiZWwgb2YgdGhlIHRvZ2dsZSBvcHRpb24uXG4gKiBAc2xvdCBpY29uIC0gU2xvdCB1c2VkIHRvIHJlbmRlciB0aGUgYHNiYi1pY29uYC5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZykgfCBudWxsXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUb2dnbGVPcHRpb25FbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRvZ2dsZS1vcHRpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmFkaW8nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogV2hldGhlciB0aGUgdG9nZ2xlLW9wdGlvbiBpcyBjaGVja2VkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBWYWx1ZSBvZiB0b2dnbGUtb3B0aW9uLiAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF90b2dnbGU6IFNiYlRvZ2dsZUVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICAvLyBXZSBuZWVkIHRvIGxpc3RlbiBpbnB1dCBldmVudCBvbiBob3N0IGFzIHdpdGgga2V5Ym9hcmQgbmF2aWdhdGlvblxuICAgIC8vIHRoZSBJbnB1dCBFdmVudCBpcyB0cmlnZ2VyZWQgZnJvbSBzYmItdG9nZ2xlLlxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdpbnB1dCcsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0KCkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHtcbiAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl90b2dnbGU/LnVwZGF0ZVBpbGxQb3NpdGlvbj8uKHRydWUpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gV2UgY2FuIHVzZSBjbG9zZXN0IGhlcmUsIGFzIHdlIGV4cGVjdCB0aGUgcGFyZW50IHNiYi10b2dnbGUgdG8gYmUgaW4gbGlnaHQgRE9NLlxuICAgIHRoaXMuX3RvZ2dsZSA9IHRoaXMuY2xvc2VzdD8uKCdzYmItdG9nZ2xlJykgPz8gbnVsbDtcbiAgICB0aGlzLl92ZXJpZnlUYWJpbmRleCgpO1xuICAgIHRoaXMuX3RvZ2dsZT8udXBkYXRlUGlsbFBvc2l0aW9uPy4odHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90b2dnbGUgPSBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdG9nZ2xlPy51cGRhdGVQaWxsUG9zaXRpb24/Lih0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhQ2hlY2tlZCA9IGAke3RoaXMuY2hlY2tlZH1gO1xuICAgICAgdGhpcy5fdmVyaWZ5VGFiaW5kZXgoKTtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5fdW5jaGVja090aGVyT3B0aW9ucygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVEaXNhYmxlZENoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VuY2hlY2tPdGhlck9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5fdG9nZ2xlPy5vcHRpb25zLmZpbHRlcigobykgPT4gbyAhPT0gdGhpcykuZm9yRWFjaCgobykgPT4gKG8uY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgdGhpcy5fdG9nZ2xlPy5zdGF0dXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVEaXNhYmxlZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVybmFscy5hcmlhRGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbDtcbiAgICB0aGlzLl92ZXJpZnlUYWJpbmRleCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlSW5wdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jaGVja2VkID0gdHJ1ZTtcbiAgICB0aGlzLl91bmNoZWNrT3RoZXJPcHRpb25zKCk7XG4gIH1cblxuICBwcml2YXRlIF92ZXJpZnlUYWJpbmRleCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy5jaGVja2VkICYmICF0aGlzLmRpc2FibGVkID8gMCA6IC0xO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1vcHRpb25fX2xhYmVsXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdG9nZ2xlLW9wdGlvbic6IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDMkJhLGdDQUFzQjttQkFBcUIsaUJBQ3RELGlCQUFpQixXQUFXLENBQzdCOzs7Ozs7O2NBRlksK0JBQTJDLFlBRXZEOzs7MEJBTUUsV0FBVyxFQUNYLFNBQVM7SUFBRSxTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTt3QkFJMUMsVUFBVSxDQUFBO0dBSFgsYUFBQSxNQUFBLE1BQUEscUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxhQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU8sTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFQLFVBQU87O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx1QkFBQSwyQkFBQTtHQUl2QixhQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUwsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLHFCQUFBLHlCQUFBOzs7Ozs7Ozs7R0FYVyxLQUFBLGNBQXNCOzs7R0FDdEIsS0FBQSxPQUFPOzs7R0FDaEIsS0FBQSxTQUF5QixDQUFDLGlCQUFpQixVQUFVLHNCQUFNLENBQUM7O0VBS25GOztFQUFBLElBQWdCLFVBQU87R0FBQSxPQUFBLEtBQUE7O0VBQXZCLElBQWdCLFFBQU8sT0FBQTtHQUFBLEtBQUEsNEJBQUE7O0VBSXZCOztFQUFBLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7O0VBQXJCLElBQWdCLE1BQUssT0FBQTtHQUFBLEtBQUEsMEJBQUE7O0VBSXJCLGNBQUE7R0FDRSxPQUFPO0dBVE8sS0FBQSw0QkFBQSxrQkFBQSxNQUFBLHVCQUFtQixNQUFLO0dBSXhCLEtBQUEsMkJBQUEsa0JBQUEsTUFBQSwyQkFBQSxFQUFBLGtCQUFBLE1BQUEscUJBQWtCLEtBQUk7R0FFOUIsS0FBQSxXQUFPLGtCQUFBLE1BQUEseUJBQUEsRUFBNEI7R0FNekMsS0FBSyxtQkFBbUIsZUFBZSxLQUFLLGNBQWMsQ0FBQztHQUMzRCxLQUFLLG1CQUFtQixlQUFjO0lBQ3BDLElBQUksQ0FBQyxLQUFLLFlBQVksQ0FBQyxLQUFLLFNBQzFCLEtBQUssY0FBYyxJQUFJLFdBQVcsU0FBUztLQUFFLFNBQVM7S0FBTSxVQUFVO0tBQU0sQ0FBQyxDQUFDO0tBRWhGO0dBRUYsS0FBSyxjQUNILElBQUksaUJBQWlCLE1BQU07SUFDekIsYUFBYTtJQUNiLGdCQUFnQixLQUFLLFNBQVMscUJBQXFCLEtBQUE7SUFDcEQsQ0FBQyxDQUNIOztFQUdhLG9CQUFpQjtHQUMvQixNQUFNLG1CQUFtQjtHQUd6QixLQUFLLFVBQVUsS0FBSyxVQUFVLGFBQWEsSUFBSTtHQUMvQyxLQUFLLGlCQUFpQjtHQUN0QixLQUFLLFNBQVMscUJBQXFCLEtBQUs7O0VBRzFCLHVCQUFvQjtHQUNsQyxNQUFNLHNCQUFzQjtHQUM1QixLQUFLLFVBQVU7O0VBR0UsYUFBYSxtQkFBdUM7R0FDckUsTUFBTSxhQUFhLGtCQUFrQjtHQUVyQyxLQUFLLFNBQVMscUJBQXFCLEtBQUs7O0VBR3ZCLFdBQVcsbUJBQXVDO0dBQ25FLE1BQU0sV0FBVyxrQkFBa0I7R0FFbkMsSUFBSSxrQkFBa0IsSUFBSSxVQUFVLEVBQUU7SUFDcEMsS0FBSyxVQUFVLGNBQWMsR0FBRyxLQUFLO0lBQ3JDLEtBQUssaUJBQWlCO0lBQ3RCLElBQUksS0FBSyxTQUNQLEtBQUssc0JBQXNCOztHQUcvQixJQUFJLGtCQUFrQixJQUFJLFdBQVcsRUFDbkMsS0FBSyx1QkFBdUI7O0VBSXhCLHVCQUFvQjtHQUMxQixLQUFLLFNBQVMsUUFBUSxRQUFRLE1BQU0sTUFBTSxLQUFLLENBQUMsU0FBUyxNQUFPLEVBQUUsVUFBVSxNQUFPO0dBQ25GLEtBQUssU0FBUyxlQUFlOztFQUd2Qix3QkFBcUI7R0FDM0IsS0FBSyxVQUFVLGVBQWUsS0FBSyxXQUFXLFNBQVM7R0FDdkQsS0FBSyxpQkFBaUI7O0VBR2hCLGVBQVk7R0FDbEIsSUFBSSxLQUFLLFVBQ1A7R0FFRixLQUFLLFVBQVU7R0FDZixLQUFLLHNCQUFzQjs7RUFHckIsa0JBQWU7R0FDckIsS0FBSyxXQUFXLEtBQUssV0FBVyxDQUFDLEtBQUssV0FBVyxJQUFJOztFQUdwQyxTQUFNO0dBQ3ZCLE9BQU8sSUFBSTtRQUNQLEtBQUssZ0JBQWdCLENBQUEifQ==
167
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9wdGlvbi5jb21wb25lbnQtRFRTM2E2MDMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24uc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS1vcHRpb24vdG9nZ2xlLW9wdGlvbi5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItdG9nZ2xlLW9wdGlvbi1nYXApO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtaGVpZ2h0KTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi10b2dnbGUtcGFkZGluZy1pbmxpbmUpO1xuICBjb2xvcjogdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24tY29sb3IpO1xuICBjdXJzb3I6IHZhcigtLXNiYi10b2dnbGUtb3B0aW9uLWN1cnNvciwgdmFyKC0tc2JiLWN1cnNvci1wb2ludGVyKSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24tZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICAvLyBVc2UgIWltcG9ydGFudCBoZXJlIHRvIG5vdCBpbnRlcmZlcmUgd2l0aCBGaXJlZm94IGZvY3VzIHJpbmcgZGVmaW5pdGlvblxuICAvLyB3aGljaCBhcHBlYXJzIGluIG5vcm1hbGl6ZSBDU1Mgb2Ygc2V2ZXJhbCBmcmFtZXdvcmtzLlxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbjpob3N0KFtjaGVja2VkXSkge1xuICAtLXNiYi10b2dnbGUtb3B0aW9uLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMik7XG59XG5cbjpob3N0KFtkaXNhYmxlZF0pIHtcbiAgLS1zYmItdG9nZ2xlLW9wdGlvbi1jdXJzb3I6IHVuc2V0O1xuICAtLXNiYi10b2dnbGUtb3B0aW9uLWNvbG9yOiBsaWdodC1kYXJrKHZhcigtLXNiYi1jb2xvci1hbnRocmFjaXRlKSwgdmFyKC0tc2JiLWNvbG9yLWNsb3VkKSk7XG59XG5cbi5zYmItdG9nZ2xlLW9wdGlvbl9fbGFiZWwge1xuICBAaW5jbHVkZSBzYmIuZWxsaXBzaXM7XG59XG5cbnNiYi1pY29uLFxuOjpzbG90dGVkKHNiYi1pY29uKSB7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24taWNvbi1taW4tc2l6ZSk7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtb3B0aW9uLWljb24tbWluLXNpemUpO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgaHRtbCxcbiAgdW5zYWZlQ1NTLFxuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMudHMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLnRzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZUVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RvZ2dsZS1vcHRpb24uc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9nZ2xlIG9wdGlvbiB3aXRoaW4gYSBgc2JiLXRvZ2dsZWAuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgbGFiZWwgb2YgdGhlIHRvZ2dsZSBvcHRpb24uXG4gKiBAc2xvdCBpY29uIC0gU2xvdCB1c2VkIHRvIHJlbmRlciB0aGUgYHNiYi1pY29uYC5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZykgfCBudWxsXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUb2dnbGVPcHRpb25FbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLXRvZ2dsZS1vcHRpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmFkaW8nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvKiogV2hldGhlciB0aGUgdG9nZ2xlLW9wdGlvbiBpcyBjaGVja2VkLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBWYWx1ZSBvZiB0b2dnbGUtb3B0aW9uLiAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF90b2dnbGU6IFNiYlRvZ2dsZUVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICAvLyBXZSBuZWVkIHRvIGxpc3RlbiBpbnB1dCBldmVudCBvbiBob3N0IGFzIHdpdGgga2V5Ym9hcmQgbmF2aWdhdGlvblxuICAgIC8vIHRoZSBJbnB1dCBFdmVudCBpcyB0cmlnZ2VyZWQgZnJvbSBzYmItdG9nZ2xlLlxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdpbnB1dCcsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0KCkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHtcbiAgICAgIGlmICghdGhpcy5kaXNhYmxlZCAmJiAhdGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgSW5wdXRFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBSZXNpemVDb250cm9sbGVyKHRoaXMsIHtcbiAgICAgICAgc2tpcEluaXRpYWw6IHRydWUsXG4gICAgICAgIGNhbGxiYWNrOiAoKSA9PiB0aGlzLl90b2dnbGU/LnVwZGF0ZVBpbGxQb3NpdGlvbj8uKHRydWUpLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gV2UgY2FuIHVzZSBjbG9zZXN0IGhlcmUsIGFzIHdlIGV4cGVjdCB0aGUgcGFyZW50IHNiYi10b2dnbGUgdG8gYmUgaW4gbGlnaHQgRE9NLlxuICAgIHRoaXMuX3RvZ2dsZSA9IHRoaXMuY2xvc2VzdD8uKCdzYmItdG9nZ2xlJykgPz8gbnVsbDtcbiAgICB0aGlzLl92ZXJpZnlUYWJpbmRleCgpO1xuICAgIHRoaXMuX3RvZ2dsZT8udXBkYXRlUGlsbFBvc2l0aW9uPy4odHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90b2dnbGUgPSBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fdG9nZ2xlPy51cGRhdGVQaWxsUG9zaXRpb24/Lih0cnVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnY2hlY2tlZCcpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5hcmlhQ2hlY2tlZCA9IGAke3RoaXMuY2hlY2tlZH1gO1xuICAgICAgdGhpcy5fdmVyaWZ5VGFiaW5kZXgoKTtcbiAgICAgIGlmICh0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5fdW5jaGVja090aGVyT3B0aW9ucygpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVEaXNhYmxlZENoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VuY2hlY2tPdGhlck9wdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5fdG9nZ2xlPy5vcHRpb25zLmZpbHRlcigobykgPT4gbyAhPT0gdGhpcykuZm9yRWFjaCgobykgPT4gKG8uY2hlY2tlZCA9IGZhbHNlKSk7XG4gICAgdGhpcy5fdG9nZ2xlPy5zdGF0dXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVEaXNhYmxlZENoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmludGVybmFscy5hcmlhRGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkID8gJ3RydWUnIDogbnVsbDtcbiAgICB0aGlzLl92ZXJpZnlUYWJpbmRleCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlSW5wdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jaGVja2VkID0gdHJ1ZTtcbiAgICB0aGlzLl91bmNoZWNrT3RoZXJPcHRpb25zKCk7XG4gIH1cblxuICBwcml2YXRlIF92ZXJpZnlUYWJpbmRleCgpOiB2b2lkIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy5jaGVja2VkICYmICF0aGlzLmRpc2FibGVkID8gMCA6IC0xO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1vcHRpb25fX2xhYmVsXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItdG9nZ2xlLW9wdGlvbic6IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDMkJhLGdDQUFzQjttQkFBcUIsaUJBQ3RELGlCQUFpQixVQUFVLENBQUM7Ozs7Ozs7Y0FEakIsK0JBQTJDLFlBRXZEOzs7MEJBTUUsVUFBUyxHQUNULFNBQVM7SUFBRSxTQUFTO0lBQU0sTUFBTTtHQUFPLENBQUUsQ0FBQzt3QkFJMUMsU0FBUSxDQUFFO0dBSFgsYUFBQSxNQUFBLE1BQUEscUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxhQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQU8sTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFQLFVBQU87S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEsdUJBQUEsMEJBQUE7R0FJdkIsYUFBQSxNQUFBLE1BQUEsbUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxXQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUssTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFMLFFBQUs7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEscUJBQUEsd0JBQUE7Ozs7Ozs7OztHQVhXLEtBQUEsY0FBc0I7RUFBb0I7O0dBQzFDLEtBQUEsT0FBTztFQUFROztHQUN4QixLQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUscUJBQUssQ0FBQztFQUFFO0VBS3BGOztFQUFBLElBQWdCLFVBQU87R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUF2QixJQUFnQixRQUFPLE9BQUE7R0FBQSxLQUFBLDRCQUFBO0VBQUE7RUFJdkI7O0VBQUEsSUFBZ0IsUUFBSztHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQXJCLElBQWdCLE1BQUssT0FBQTtHQUFBLEtBQUEsMEJBQUE7RUFBQTtFQUlyQixjQUFBO0dBQ0UsTUFBSztHQVRTLEtBQUEsNEJBQUEsa0JBQUEsTUFBQSx1QkFBbUIsS0FBSztHQUl4QixLQUFBLDJCQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFrQixJQUFJO0dBRTlCLEtBQUEsV0FBTyxrQkFBQSxNQUFBLHdCQUFBLEdBQTRCO0dBTXpDLEtBQUssbUJBQW1CLGVBQWUsS0FBSyxhQUFZLENBQUU7R0FDMUQsS0FBSyxtQkFBbUIsZUFBYztJQUNwQyxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsS0FBSyxTQUMxQixLQUFLLGNBQWMsSUFBSSxXQUFXLFNBQVM7S0FBRSxTQUFTO0tBQU0sVUFBVTtJQUFJLENBQUUsQ0FBQztHQUVqRixDQUFDO0dBRUQsS0FBSyxjQUNILElBQUksaUJBQWlCLE1BQU07SUFDekIsYUFBYTtJQUNiLGdCQUFnQixLQUFLLFNBQVMscUJBQXFCLElBQUk7SUFDeEQsQ0FBQztFQUVOO0VBRWdCLG9CQUFpQjtHQUMvQixNQUFNLGtCQUFpQjtHQUd2QixLQUFLLFVBQVUsS0FBSyxVQUFVLFlBQVksS0FBSztHQUMvQyxLQUFLLGdCQUFlO0dBQ3BCLEtBQUssU0FBUyxxQkFBcUIsSUFBSTtFQUN6QztFQUVnQix1QkFBb0I7R0FDbEMsTUFBTSxxQkFBb0I7R0FDMUIsS0FBSyxVQUFVO0VBQ2pCO0VBRW1CLGFBQWEsbUJBQXVDO0dBQ3JFLE1BQU0sYUFBYSxpQkFBaUI7R0FFcEMsS0FBSyxTQUFTLHFCQUFxQixJQUFJO0VBQ3pDO0VBRW1CLFdBQVcsbUJBQXVDO0dBQ25FLE1BQU0sV0FBVyxpQkFBaUI7R0FFbEMsSUFBSSxrQkFBa0IsSUFBSSxTQUFTLEdBQUc7SUFDcEMsS0FBSyxVQUFVLGNBQWMsR0FBRyxLQUFLO0lBQ3JDLEtBQUssZ0JBQWU7SUFDcEIsSUFBSSxLQUFLLFNBQ1AsS0FBSyxxQkFBb0I7R0FFN0I7R0FDQSxJQUFJLGtCQUFrQixJQUFJLFVBQVUsR0FDbEMsS0FBSyxzQkFBcUI7RUFFOUI7RUFFUSx1QkFBb0I7R0FDMUIsS0FBSyxTQUFTLFFBQVEsUUFBUSxNQUFNLE1BQU0sSUFBSSxFQUFFLFNBQVMsTUFBTyxFQUFFLFVBQVUsS0FBTTtHQUNsRixLQUFLLFNBQVMsY0FBYTtFQUM3QjtFQUVRLHdCQUFxQjtHQUMzQixLQUFLLFVBQVUsZUFBZSxLQUFLLFdBQVcsU0FBUztHQUN2RCxLQUFLLGdCQUFlO0VBQ3RCO0VBRVEsZUFBWTtHQUNsQixJQUFJLEtBQUssVUFDUDtHQUVGLEtBQUssVUFBVTtHQUNmLEtBQUsscUJBQW9CO0VBQzNCO0VBRVEsa0JBQWU7R0FDckIsS0FBSyxXQUFXLEtBQUssV0FBVyxDQUFDLEtBQUssV0FBVyxJQUFJO0VBQ3ZEO0VBRW1CLFNBQU07R0FDdkIsT0FBTyxJQUFJO1FBQ1AsS0FBSyxlQUFjLEVBQUE7Ozs7O0VBS3pCIn0=
@@ -246,4 +246,4 @@ var SbbToggleElement = (() => {
246
246
  //#endregion
247
247
  export { SbbToggleElement as t };
248
248
 
249
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC1CSnBEMWI5SC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLXRvZ2dsZS1taW4td2lkdGg6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXRvZ2dsZS1wYWRkaW5nLWlubGluZSkgKiA0ICsgdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbClcbiAgKTtcbiAgLS1zYmItdG9nZ2xlLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1zYmItdG9nZ2xlLWdyaWQtdGVtcGxhdGUtY29sdW1ucyk7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICdzdGFydCBlbmQnO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLXNiYi10b2dnbGUtd2lkdGgsIGZpdC1jb250ZW50KTtcbiAgbWluLXdpZHRoOiB2YXIoLS1fc2JiLXRvZ2dsZS1taW4td2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10b2dnbGUtYm9yZGVyLXJhZGl1cyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRvZ2dsZS1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIC8vIFNldCB0aGUgbGluZS1oZWlnaHQgZm9yIGFkamFjZW50IGVsZW1lbnRzIGluIG9yZGVyIHRvIHByZXZlbnQgZnJvbSBpbmZsdWVuY2Ugb2YgYSBjb25zdW1lci1zZXQgbGluZS1oZWlnaHQuXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcblxuICAvLyBXaGl0ZSBwaWxsIG9mIHNlbGVjdGVkIHRvZ2dsZSBvcHRpb25cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBncmlkLWFyZWE6IHN0YXJ0IC8gc3RhcnQgLyBlbmQgLyBlbmQ7XG4gICAgbWFyZ2luLWlubGluZTogdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24tbGVmdCwgMCkgdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24tcmlnaHQsIDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10b2dnbGUtYm9yZGVyLXJhZGl1cyk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJvcmRlci13aWR0aClcbiAgICAgIHZhcigtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJvcmRlci1zdHlsZSkgdmFyKC0tc2JiLXRvZ2dsZS1zZWxlY3RlZC1vcHRpb24tYm9yZGVyLWNvbG9yKTtcblxuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItdG9nZ2xlLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWlubGluZS1zdGFydCwgbWFyZ2luLWlubGluZS1lbmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFja2dyb3VuZFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZ3JpZC1hcmVhOiBzdGFydCAvIHN0YXJ0IC8gZW5kIC8gZW5kO1xuICAgIG9yZGVyOiAtMTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYmItdG9nZ2xlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi10b2dnbGUtYmFja2dyb3VuZC1pbnNldCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyICogdmFyKC0tc2JiLXRvZ2dsZS1iYWNrZ3JvdW5kLWluc2V0KSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRvZ2dsZS1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAgIGJvcmRlcjogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2V2ZW5dKSB7XG4gIC0tc2JiLXRvZ2dsZS13aWR0aDogMTAwJTtcbiAgLS1zYmItdG9nZ2xlLWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTtcbn1cblxuOmhvc3QoOmRpc2FibGVkKSB7XG4gIC0tc2JiLXRvZ2dsZS1zZWxlY3RlZC1vcHRpb24tYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKVxuICApO1xuICAtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJvcmRlci1zdHlsZTogZGFzaGVkO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgLS1zYmItdG9nZ2xlLXNlbGVjdGVkLW9wdGlvbi1ib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbjpob3N0KFtzaXplPSdtJ10pIHtcbiAgLS1zYmItdG9nZ2xlLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItdG9nZ2xlLWhlaWdodDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC1tKTtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi10b2dnbGUtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLXRvZ2dsZS1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHhzKTtcbn1cblxuOmhvc3QoOmlzKDpub3QoOnN0YXRlKGluaXRpYWxpemVkKSksIDpzdGF0ZShkaXNhYmxlLWFuaW1hdGlvbi1vbi1yZXNpemluZykpKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOjpzbG90dGVkKHNiYi10b2dnbGUtb3B0aW9uOmZpcnN0LW9mLXR5cGUpIHtcbiAgZ3JpZC1hcmVhOiBzdGFydDtcbn1cblxuOjpzbG90dGVkKHNiYi10b2dnbGUtb3B0aW9uOmxhc3Qtb2YtdHlwZSkge1xuICBncmlkLWFyZWE6IGVuZDtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaW50ZXJhY3Rpdml0eUNoZWNrZXIgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24uY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9nZ2xlLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgdHdvIGBzYmItdG9nZ2xlLW9wdGlvbmAsIGFjdGluZyBhcyBhIHRvZ2dsZSBidXR0b24uXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYDxzYmItdG9nZ2xlLW9wdGlvbj5gIGVsZW1lbnRzIHRvIHRoZSB0b2dnbGUuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnQgY2xhc3MgU2JiVG9nZ2xlRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10b2dnbGUnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmFkaW9ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBzZXQgdGhlIHdpZHRoIG9mIHRoZSBjb21wb25lbnQgZml4ZWQ7IGlmIGZhbHNlLFxuICAgKiB0aGUgd2lkdGggaXMgZHluYW1pYyBiYXNlZCBvbiB0aGUgbGFiZWwgb2YgdGhlIHNiYi10b2dnbGUtb3B0aW9uLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGV2ZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgbSBvciBzLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSB0b2dnbGUuIEl0IG5lZWRzIHRvIGJlIG11dGFibGUgc2luY2UgaXQgaXMgdXBkYXRlZCB3aGVuZXZlclxuICAgKiBhIG5ldyBvcHRpb24gaXMgc2VsZWN0ZWQgKHNlZSB0aGUgYG9uVG9nZ2xlT3B0aW9uU2VsZWN0KClgIG1ldGhvZCkuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIGlmIChpc1NlcnZlciB8fCAhdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9mYWxsYmFja1ZhbHVlID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiBpc1NlcnZlclxuICAgICAgPyAodGhpcy5fZmFsbGJhY2tWYWx1ZSA/PyBudWxsKVxuICAgICAgOiAodGhpcy5vcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCk/LnZhbHVlID8/IHRoaXMub3B0aW9uc1swXT8udmFsdWUgPz8gbnVsbCk7XG4gIH1cbiAgcHJpdmF0ZSBfZmFsbGJhY2tWYWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgY2hpbGQgaW5zdGFuY2VzIG9mIHNiYi10b2dnbGUtb3B0aW9uIGFzIGFuIGFycmF5LiAqL1xuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogU2JiVG9nZ2xlT3B0aW9uRWxlbWVudDxUPltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQ8VD4+KCdzYmItdG9nZ2xlLW9wdGlvbicpID8/IFtdLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignaW5wdXQnLCAoKSA9PiB0aGlzLl9oYW5kbGVJbnB1dCgpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXMpOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpIHx8IGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZm9ybURpc2FibGVkJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZURpc2FibGVkKCk7XG4gICAgfVxuXG4gICAgLy8gQmVmb3JlIHRoZSBmaXJzdCB1cGRhdGUsIGluaXQgd2l0aCB0aGUgZmFsbGJhY2sgdmFsdWUuXG4gICAgLy8gVGhlIHdpbGxVcGRhdGUgaG9vayBpcyBzYWZlciB0aGFuIHRoZSAndmFsdWUnIHNldHRlci5cbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VkKHRoaXMuX2ZhbGxiYWNrVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbmV2ZXIgdGhlIHZhbHVlIGNoYW5nZXMsIGJvdGggcHJvZ3JhbW1hdGljYWxseSBvciBieSB1c2VyIGludGVyYWN0aW9uLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0dXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0byB0aGUgaW5pdCB2YWx1ZSBpZiBwcmVzZW50LiBTZWxlY3QgdGhlIGZpcnN0IG9wdGlvbiwgb3RoZXJ3aXNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gKHRoaXMuaGFzQXR0cmlidXRlKCd2YWx1ZScpID8gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgOiBudWxsKSBhcyBUO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgX3JlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICk6IHZvaWQge1xuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICdzdHJpbmcnIHx8IHN0YXRlID09IG51bGwpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAoc3RhdGUgYXMgVCkgPz8gbnVsbDtcbiAgICB9IGVsc2UgaWYgKHN0YXRlIGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgIHRoaXMuX3JlYWRGb3JtRGF0YShzdGF0ZSkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLnZhbHVlID0gZGF0YTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3JlYWRGb3JtRGF0YShmb3JtRGF0YTogRm9ybURhdGEpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBkYXRhID0gZm9ybURhdGEuZ2V0KHRoaXMubmFtZSk7XG4gICAgcmV0dXJuIGRhdGEgaW5zdGFuY2VvZiBCbG9iID8gSlNPTi5wYXJzZShhd2FpdCBkYXRhLnRleHQoKSkgOiAoZGF0YSBhcyBUKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIHVwZGF0ZVBpbGxQb3NpdGlvbihyZXNpemluZyA9IGZhbHNlKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMubGVuZ3RoIDwgMiB8fFxuICAgICAgb3B0aW9ucy5ldmVyeSgobykgPT4gIW8uY2hlY2tlZCkgfHxcbiAgICAgIG9wdGlvbnMuZXZlcnkoKG8pID0+ICFvLmNsaWVudFdpZHRoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2Rpc2FibGUtYW5pbWF0aW9uLW9uLXJlc2l6aW5nJywgcmVzaXppbmcpO1xuXG4gICAgY29uc3QgZmlyc3RPcHRpb24gPSBvcHRpb25zWzBdO1xuICAgIGNvbnN0IGlzRmlyc3RDaGVja2VkID0gZmlyc3RPcHRpb24uY2hlY2tlZDtcbiAgICBjb25zdCBwaWxsTGVmdCA9IGlzRmlyc3RDaGVja2VkID8gJzBweCcgOiBgJHtmaXJzdE9wdGlvbi5jbGllbnRXaWR0aH1weGA7XG4gICAgY29uc3QgcGlsbFJpZ2h0ID0gaXNGaXJzdENoZWNrZWQgPyBgJHt0aGlzLmNsaWVudFdpZHRoIC0gZmlyc3RPcHRpb24uY2xpZW50V2lkdGh9cHhgIDogJzBweCc7XG5cbiAgICBpZiAocGlsbFJpZ2h0ID09PSAnMHB4JyAmJiBwaWxsTGVmdCA9PT0gJzBweCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItdG9nZ2xlLW9wdGlvbi1sZWZ0JywgcGlsbExlZnQpO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi10b2dnbGUtb3B0aW9uLXJpZ2h0JywgcGlsbFJpZ2h0KTtcblxuICAgIC8vIFRyaWdnZXJzIGEgbGF5b3V0IHJlZmxvdyB3aGljaCBpcyBuZWVkZWQgdG8gYXZvaWQgYW5pbWF0aW9uIGdsaXRjaGVzLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLWV4cHJlc3Npb25zXG4gICAgdGhpcy5vZmZzZXRXaWR0aDtcblxuICAgIC8vIEluIG9yZGVyIHRvIGF2b2lkIGEgdHJhbnNpdGlvbiBnbGl0Y2gsIHdlIGhhdmUgdG8ga25vdyB3aGVuIHRoZSBmaXJzdCB2YWx1ZXMgd2VyZSBzZXQuXG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZWQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5fdXBkYXRlRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlQ2hhbmdlZCh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPVxuICAgICAgb3B0aW9ucy5maW5kKChvKSA9PiB2YWx1ZSA9PT0gby52YWx1ZSkgPz8gb3B0aW9ucy5maW5kKChvKSA9PiBvLmNoZWNrZWQpID8/IG9wdGlvbnNbMF07XG5cbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiAhaXNTZXJ2ZXIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBzYmItdG9nZ2xlOiBObyBhdmFpbGFibGUgb3B0aW9ucyEgKCR7dGhpcy5pZCB8fCAnTm8gaWQnfSlgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2VsZWN0ZWRPcHRpb24uY2hlY2tlZCA9IHRydWU7XG4gICAgdGhpcy5zdGF0dXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHRvZ2dsZU9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIHRvZ2dsZU9wdGlvbi5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbiB1c2VyIGludGVyYWN0aW9uIChjbGljayBvciBrZXlib2FyZClcbiAgICovXG4gIHByaXZhdGUgX2hhbmRsZUlucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdHVzQ2hhbmdlZCgpO1xuICAgIC8qKlxuICAgICAqIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLlxuICAgICAqIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkXG4gICAgICogZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRvZ2dsZU9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKHQpID0+ICF0LmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZSh0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUb2dnbGVPcHRpb25zIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIGNvbnN0IGlzUnRsID0gdGhpcy5tYXRjaGVzKCc6ZGlyKHJ0bCknKTtcbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSBvcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24uY2hlY2tlZCkgPz8gb3B0aW9uc1swXTtcbiAgICBjb25zdCBhdmFpbGFibGVPcHRpb25zID0gb3B0aW9uc1xuICAgICAgLnNsaWNlKGN1cnJlbnRJbmRleCArIDEpXG4gICAgICAuY29uY2F0KG9wdGlvbnMuc2xpY2UoMCwgY3VycmVudEluZGV4KSlcbiAgICAgIC5maWx0ZXIoKG8pID0+ICFvLmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZShvKSk7XG4gICAgaWYgKCFpc1J0bCA/IGV2dC5rZXkgPT09ICcgJyB8fCBldnQua2V5ID09PSAnQXJyb3dSaWdodCcgOiBldnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgdGhpcy5fc2VsZWN0QW5kRm9jdXNPcHRpb24oYXZhaWxhYmxlT3B0aW9uc1swXSk7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9IGVsc2UgaWYgKGlzUnRsID8gZXZ0LmtleSA9PT0gJyAnIHx8IGV2dC5rZXkgPT09ICdBcnJvd1JpZ2h0JyA6IGV2dC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICB0aGlzLl9zZWxlY3RBbmRGb2N1c09wdGlvbihhdmFpbGFibGVPcHRpb25zLmF0KC0xKSk7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RBbmRGb2N1c09wdGlvbihvcHRpb246IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQ8VD4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbiB8fCBvcHRpb24uZGlzYWJsZWQgfHwgb3B0aW9uLmNoZWNrZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgb3B0aW9uLmNoZWNrZWQgPSB0cnVlO1xuICAgIG9wdGlvbi5mb2N1cygpO1xuICAgIG9wdGlvbi5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fdXBkYXRlVG9nZ2xlfT48L3Nsb3Q+IGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUnOiBTYmJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUMrQmEsMEJBQWdCO21CQUFxQixpQkFDaEQsdUJBQXVCLFdBQVcsQ0FDbkM7Ozs7Ozs7OztjQUZZLHlCQUFxQyxZQUVqRDs7O3VCQVlFLFdBQVcsRUFDWCxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07SUFBUyxDQUFDLENBQUE7dUJBTzFDLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBOzRCQU0zQixVQUFVLENBQUE7R0FaWCxhQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUosT0FBSTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLG9CQUFBLHdCQUFBO0dBTVMsYUFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFKLE9BQUk7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSxvQkFBQSx3QkFBQTtHQU9qRCxhQUFBLE1BQUEsTUFBQSx1QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVcsUUFBSzs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLE1BQUEsMkJBQUE7Ozs7Ozs7OztHQTFCZ0IsS0FBQSxjQUFzQjs7O0dBQ3RCLEtBQUEsT0FBTzs7O0dB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
249
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC1CSnBEMWI5SC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9nZ2xlL3RvZ2dsZS90b2dnbGUuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLXRvZ2dsZS1taW4td2lkdGg6IGNhbGMoXG4gICAgdmFyKC0tc2JiLXRvZ2dsZS1wYWRkaW5nLWlubGluZSkgKiA0ICsgdmFyKC0tc2JiLXNpemUtaWNvbi11aS1zbWFsbClcbiAgKTtcbiAgLS1zYmItdG9nZ2xlLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1zYmItdG9nZ2xlLWdyaWQtdGVtcGxhdGUtY29sdW1ucyk7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICdzdGFydCBlbmQnO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLXNiYi10b2dnbGUtaGVpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLXNiYi10b2dnbGUtd2lkdGgsIGZpdC1jb250ZW50KTtcbiAgbWluLXdpZHRoOiB2YXIoLS1fc2JiLXRvZ2dsZS1taW4td2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10b2dnbGUtYm9yZGVyLXJhZGl1cyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXRvZ2dsZS1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIC8vIFNldCB0aGUgbGluZS1oZWlnaHQgZm9yIGFkamFjZW50IGVsZW1lbnRzIGluIG9yZGVyIHRvIHByZXZlbnQgZnJvbSBpbmZsdWVuY2Ugb2YgYSBjb25zdW1lci1zZXQgbGluZS1oZWlnaHQuXG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcblxuICAvLyBXaGl0ZSBwaWxsIG9mIHNlbGVjdGVkIHRvZ2dsZSBvcHRpb25cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBncmlkLWFyZWE6IHN0YXJ0IC8gc3RhcnQgLyBlbmQgLyBlbmQ7XG4gICAgbWFyZ2luLWlubGluZTogdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24tbGVmdCwgMCkgdmFyKC0tc2JiLXRvZ2dsZS1vcHRpb24tcmlnaHQsIDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10b2dnbGUtYm9yZGVyLXJhZGl1cyk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJvcmRlci13aWR0aClcbiAgICAgIHZhcigtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJvcmRlci1zdHlsZSkgdmFyKC0tc2JiLXRvZ2dsZS1zZWxlY3RlZC1vcHRpb24tYm9yZGVyLWNvbG9yKTtcblxuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItdG9nZ2xlLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICBwcm9wZXJ0eTogbWFyZ2luLWlubGluZS1zdGFydCwgbWFyZ2luLWlubGluZS1lbmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFja2dyb3VuZFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZ3JpZC1hcmVhOiBzdGFydCAvIHN0YXJ0IC8gZW5kIC8gZW5kO1xuICAgIG9yZGVyOiAtMTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYmItdG9nZ2xlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIG1hcmdpbi1pbmxpbmU6IHZhcigtLXNiYi10b2dnbGUtYmFja2dyb3VuZC1pbnNldCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyICogdmFyKC0tc2JiLXRvZ2dsZS1iYWNrZ3JvdW5kLWluc2V0KSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLXRvZ2dsZS1ib3JkZXItcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAgIGJvcmRlcjogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCkgc29saWQgQ2FudmFzVGV4dDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2V2ZW5dKSB7XG4gIC0tc2JiLXRvZ2dsZS13aWR0aDogMTAwJTtcbiAgLS1zYmItdG9nZ2xlLWdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTtcbn1cblxuOmhvc3QoOmRpc2FibGVkKSB7XG4gIC0tc2JiLXRvZ2dsZS1zZWxlY3RlZC1vcHRpb24tYm9yZGVyLWNvbG9yOiBsaWdodC1kYXJrKFxuICAgIHZhcigtLXNiYi1jb2xvci1ncmFwaGl0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXNtb2tlKVxuICApO1xuICAtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJvcmRlci1zdHlsZTogZGFzaGVkO1xuXG4gIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAtLXNiYi10b2dnbGUtc2VsZWN0ZWQtb3B0aW9uLWJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgLS1zYmItdG9nZ2xlLXNlbGVjdGVkLW9wdGlvbi1ib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbjpob3N0KFtzaXplPSdtJ10pIHtcbiAgLS1zYmItdG9nZ2xlLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXhzKTtcbiAgLS1zYmItdG9nZ2xlLWhlaWdodDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC1tKTtcbn1cblxuOmhvc3QoW3NpemU9J3MnXSkge1xuICAtLXNiYi10b2dnbGUtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLXRvZ2dsZS1oZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHhzKTtcbn1cblxuOmhvc3QoOmlzKDpub3QoOnN0YXRlKGluaXRpYWxpemVkKSksIDpzdGF0ZShkaXNhYmxlLWFuaW1hdGlvbi1vbi1yZXNpemluZykpKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOjpzbG90dGVkKHNiYi10b2dnbGUtb3B0aW9uOmZpcnN0LW9mLXR5cGUpIHtcbiAgZ3JpZC1hcmVhOiBzdGFydDtcbn1cblxuOjpzbG90dGVkKHNiYi10b2dnbGUtb3B0aW9uOmxhc3Qtb2YtdHlwZSkge1xuICBncmlkLWFyZWE6IGVuZDtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgaW50ZXJhY3Rpdml0eUNoZWNrZXIgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkudHMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy50cyc7XG5pbXBvcnQgeyBmb3JjZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMudHMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUtb3B0aW9uL3RvZ2dsZS1vcHRpb24uY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9nZ2xlLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgdHdvIGBzYmItdG9nZ2xlLW9wdGlvbmAsIGFjdGluZyBhcyBhIHRvZ2dsZSBidXR0b24uXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYDxzYmItdG9nZ2xlLW9wdGlvbj5gIGVsZW1lbnRzIHRvIHRoZSB0b2dnbGUuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnQgY2xhc3MgU2JiVG9nZ2xlRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4oU2JiRWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10b2dnbGUnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmFkaW9ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHVuc2FmZUNTUyhzdHlsZSldO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCBzZXQgdGhlIHdpZHRoIG9mIHRoZSBjb21wb25lbnQgZml4ZWQ7IGlmIGZhbHNlLFxuICAgKiB0aGUgd2lkdGggaXMgZHluYW1pYyBiYXNlZCBvbiB0aGUgbGFiZWwgb2YgdGhlIHNiYi10b2dnbGUtb3B0aW9uLlxuICAgKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSlcbiAgcHVibGljIGFjY2Vzc29yIGV2ZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgbSBvciBzLlxuICAgKiBAZGVmYXVsdCAnbScgLyAncycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbScgPSBpc0xlYW4oKSA/ICdzJyA6ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSB0b2dnbGUuIEl0IG5lZWRzIHRvIGJlIG11dGFibGUgc2luY2UgaXQgaXMgdXBkYXRlZCB3aGVuZXZlclxuICAgKiBhIG5ldyBvcHRpb24gaXMgc2VsZWN0ZWQgKHNlZSB0aGUgYG9uVG9nZ2xlT3B0aW9uU2VsZWN0KClgIG1ldGhvZCkuXG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIGlmIChpc1NlcnZlciB8fCAhdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9mYWxsYmFja1ZhbHVlID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogVCB8IG51bGwge1xuICAgIHJldHVybiBpc1NlcnZlclxuICAgICAgPyAodGhpcy5fZmFsbGJhY2tWYWx1ZSA/PyBudWxsKVxuICAgICAgOiAodGhpcy5vcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCk/LnZhbHVlID8/IHRoaXMub3B0aW9uc1swXT8udmFsdWUgPz8gbnVsbCk7XG4gIH1cbiAgcHJpdmF0ZSBfZmFsbGJhY2tWYWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKiBUaGUgY2hpbGQgaW5zdGFuY2VzIG9mIHNiYi10b2dnbGUtb3B0aW9uIGFzIGFuIGFycmF5LiAqL1xuICBwdWJsaWMgZ2V0IG9wdGlvbnMoKTogU2JiVG9nZ2xlT3B0aW9uRWxlbWVudDxUPltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQ8VD4+KCdzYmItdG9nZ2xlLW9wdGlvbicpID8/IFtdLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignaW5wdXQnLCAoKSA9PiB0aGlzLl9oYW5kbGVJbnB1dCgpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXMpOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpIHx8IGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZm9ybURpc2FibGVkJykpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZURpc2FibGVkKCk7XG4gICAgfVxuXG4gICAgLy8gQmVmb3JlIHRoZSBmaXJzdCB1cGRhdGUsIGluaXQgd2l0aCB0aGUgZmFsbGJhY2sgdmFsdWUuXG4gICAgLy8gVGhlIHdpbGxVcGRhdGUgaG9vayBpcyBzYWZlciB0aGFuIHRoZSAndmFsdWUnIHNldHRlci5cbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fdmFsdWVDaGFuZ2VkKHRoaXMuX2ZhbGxiYWNrVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbmV2ZXIgdGhlIHZhbHVlIGNoYW5nZXMsIGJvdGggcHJvZ3JhbW1hdGljYWxseSBvciBieSB1c2VyIGludGVyYWN0aW9uLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBzdGF0dXNDaGFuZ2VkKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlKCk7XG4gICAgdGhpcy51cGRhdGVQaWxsUG9zaXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0byB0aGUgaW5pdCB2YWx1ZSBpZiBwcmVzZW50LiBTZWxlY3QgdGhlIGZpcnN0IG9wdGlvbiwgb3RoZXJ3aXNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gKHRoaXMuaGFzQXR0cmlidXRlKCd2YWx1ZScpID8gdGhpcy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykgOiBudWxsKSBhcyBUO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayhcbiAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgX3JlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICk6IHZvaWQge1xuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09ICdzdHJpbmcnIHx8IHN0YXRlID09IG51bGwpIHtcbiAgICAgIHRoaXMudmFsdWUgPSAoc3RhdGUgYXMgVCkgPz8gbnVsbDtcbiAgICB9IGVsc2UgaWYgKHN0YXRlIGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgIHRoaXMuX3JlYWRGb3JtRGF0YShzdGF0ZSkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLnZhbHVlID0gZGF0YTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3JlYWRGb3JtRGF0YShmb3JtRGF0YTogRm9ybURhdGEpOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBkYXRhID0gZm9ybURhdGEuZ2V0KHRoaXMubmFtZSk7XG4gICAgcmV0dXJuIGRhdGEgaW5zdGFuY2VvZiBCbG9iID8gSlNPTi5wYXJzZShhd2FpdCBkYXRhLnRleHQoKSkgOiAoZGF0YSBhcyBUKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHVibGljIHVwZGF0ZVBpbGxQb3NpdGlvbihyZXNpemluZyA9IGZhbHNlKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucztcblxuICAgIGlmIChcbiAgICAgIG9wdGlvbnMubGVuZ3RoIDwgMiB8fFxuICAgICAgb3B0aW9ucy5ldmVyeSgobykgPT4gIW8uY2hlY2tlZCkgfHxcbiAgICAgIG9wdGlvbnMuZXZlcnkoKG8pID0+ICFvLmNsaWVudFdpZHRoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2Rpc2FibGUtYW5pbWF0aW9uLW9uLXJlc2l6aW5nJywgcmVzaXppbmcpO1xuXG4gICAgY29uc3QgZmlyc3RPcHRpb24gPSBvcHRpb25zWzBdO1xuICAgIGNvbnN0IGlzRmlyc3RDaGVja2VkID0gZmlyc3RPcHRpb24uY2hlY2tlZDtcbiAgICBjb25zdCBwaWxsTGVmdCA9IGlzRmlyc3RDaGVja2VkID8gJzBweCcgOiBgJHtmaXJzdE9wdGlvbi5jbGllbnRXaWR0aH1weGA7XG4gICAgY29uc3QgcGlsbFJpZ2h0ID0gaXNGaXJzdENoZWNrZWQgPyBgJHt0aGlzLmNsaWVudFdpZHRoIC0gZmlyc3RPcHRpb24uY2xpZW50V2lkdGh9cHhgIDogJzBweCc7XG5cbiAgICBpZiAocGlsbFJpZ2h0ID09PSAnMHB4JyAmJiBwaWxsTGVmdCA9PT0gJzBweCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eSgnLS1zYmItdG9nZ2xlLW9wdGlvbi1sZWZ0JywgcGlsbExlZnQpO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi10b2dnbGUtb3B0aW9uLXJpZ2h0JywgcGlsbFJpZ2h0KTtcblxuICAgIC8vIFRyaWdnZXJzIGEgbGF5b3V0IHJlZmxvdyB3aGljaCBpcyBuZWVkZWQgdG8gYXZvaWQgYW5pbWF0aW9uIGdsaXRjaGVzLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLWV4cHJlc3Npb25zXG4gICAgdGhpcy5vZmZzZXRXaWR0aDtcblxuICAgIC8vIEluIG9yZGVyIHRvIGF2b2lkIGEgdHJhbnNpdGlvbiBnbGl0Y2gsIHdlIGhhdmUgdG8ga25vdyB3aGVuIHRoZSBmaXJzdCB2YWx1ZXMgd2VyZSBzZXQuXG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgnaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZUNoYW5nZWQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5fdXBkYXRlRGlzYWJsZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZhbHVlQ2hhbmdlZCh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPVxuICAgICAgb3B0aW9ucy5maW5kKChvKSA9PiB2YWx1ZSA9PT0gby52YWx1ZSkgPz8gb3B0aW9ucy5maW5kKChvKSA9PiBvLmNoZWNrZWQpID8/IG9wdGlvbnNbMF07XG5cbiAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiAhaXNTZXJ2ZXIpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBzYmItdG9nZ2xlOiBObyBhdmFpbGFibGUgb3B0aW9ucyEgKCR7dGhpcy5pZCB8fCAnTm8gaWQnfSlgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2VsZWN0ZWRPcHRpb24uY2hlY2tlZCA9IHRydWU7XG4gICAgdGhpcy5zdGF0dXNDaGFuZ2VkKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHRvZ2dsZU9wdGlvbiBvZiB0aGlzLm9wdGlvbnMpIHtcbiAgICAgIHRvZ2dsZU9wdGlvbi5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5mb3JtRGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbiB1c2VyIGludGVyYWN0aW9uIChjbGljayBvciBrZXlib2FyZClcbiAgICovXG4gIHByaXZhdGUgX2hhbmRsZUlucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdHVzQ2hhbmdlZCgpO1xuICAgIC8qKlxuICAgICAqIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLlxuICAgICAqIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkXG4gICAgICogZm9yIGVhY2ggYWx0ZXJhdGlvbiB0byBhbiBlbGVtZW50J3MgdmFsdWUuXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRvZ2dsZU9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKHQpID0+ICF0LmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZSh0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUb2dnbGVPcHRpb25zIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIGNvbnN0IGlzUnRsID0gdGhpcy5tYXRjaGVzKCc6ZGlyKHJ0bCknKTtcbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSBvcHRpb25zLmZpbmRJbmRleCgob3B0aW9uKSA9PiBvcHRpb24uY2hlY2tlZCkgPz8gb3B0aW9uc1swXTtcbiAgICBjb25zdCBhdmFpbGFibGVPcHRpb25zID0gb3B0aW9uc1xuICAgICAgLnNsaWNlKGN1cnJlbnRJbmRleCArIDEpXG4gICAgICAuY29uY2F0KG9wdGlvbnMuc2xpY2UoMCwgY3VycmVudEluZGV4KSlcbiAgICAgIC5maWx0ZXIoKG8pID0+ICFvLmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZShvKSk7XG4gICAgaWYgKCFpc1J0bCA/IGV2dC5rZXkgPT09ICcgJyB8fCBldnQua2V5ID09PSAnQXJyb3dSaWdodCcgOiBldnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgdGhpcy5fc2VsZWN0QW5kRm9jdXNPcHRpb24oYXZhaWxhYmxlT3B0aW9uc1swXSk7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9IGVsc2UgaWYgKGlzUnRsID8gZXZ0LmtleSA9PT0gJyAnIHx8IGV2dC5rZXkgPT09ICdBcnJvd1JpZ2h0JyA6IGV2dC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICB0aGlzLl9zZWxlY3RBbmRGb2N1c09wdGlvbihhdmFpbGFibGVPcHRpb25zLmF0KC0xKSk7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZWxlY3RBbmRGb2N1c09wdGlvbihvcHRpb246IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQ8VD4gfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIW9wdGlvbiB8fCBvcHRpb24uZGlzYWJsZWQgfHwgb3B0aW9uLmNoZWNrZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgb3B0aW9uLmNoZWNrZWQgPSB0cnVlO1xuICAgIG9wdGlvbi5mb2N1cygpO1xuICAgIG9wdGlvbi5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fdXBkYXRlVG9nZ2xlfT48L3Nsb3Q+IGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUnOiBTYmJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUMrQmEsMEJBQWdCO21CQUFxQixpQkFDaEQsdUJBQXVCLFVBQVUsQ0FBQzs7Ozs7Ozs7O2NBRHZCLHlCQUFxQyxZQUVqRDs7O3VCQVlFLFVBQVMsR0FDVCxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07R0FBTyxDQUFFLENBQUM7dUJBTzFDLFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFDOzRCQU0zQixTQUFRLENBQUU7R0FaWCxhQUFBLE1BQUEsTUFBQSxrQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFVBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUosT0FBSTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSxvQkFBQSx1QkFBQTtHQU1TLGFBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBSixPQUFJO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLG9CQUFBLHVCQUFBO0dBT2pELGFBQUEsTUFBQSxNQUFBLHVCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsV0FBQTtLQUFBLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBVyxRQUFLO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLE1BQUEsMEJBQUE7Ozs7Ozs7OztHQTFCZ0IsS0FBQSxjQUFzQjtFQUFhOztHQUNu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
@@ -8,4 +8,4 @@ SbbToggleOptionElement.define();
8
8
  //#endregion
9
9
  export { SbbToggleElement, SbbToggleOptionElement };
10
10
 
11
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJUb2dnbGVFbGVtZW50LCBTYmJUb2dnbGVPcHRpb25FbGVtZW50IH0gZnJvbSAnLi90b2dnbGUucHVyZS50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdG9nZ2xlLnB1cmUudHMnO1xuXG5TYmJUb2dnbGVFbGVtZW50LmRlZmluZSgpO1xuU2JiVG9nZ2xlT3B0aW9uRWxlbWVudC5kZWZpbmUoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxpQkFBaUIsUUFBUTtBQUN6Qix1QkFBdUIsUUFBUSJ9
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJUb2dnbGVFbGVtZW50LCBTYmJUb2dnbGVPcHRpb25FbGVtZW50IH0gZnJvbSAnLi90b2dnbGUucHVyZS50cyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdG9nZ2xlLnB1cmUudHMnO1xuXG5TYmJUb2dnbGVFbGVtZW50LmRlZmluZSgpO1xuU2JiVG9nZ2xlT3B0aW9uRWxlbWVudC5kZWZpbmUoKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxpQkFBaUIsT0FBTTtBQUN2Qix1QkFBdUIsT0FBTSJ9
@@ -375,4 +375,4 @@ var SbbTooltipElement = (() => {
375
375
  //#endregion
376
376
  export { SbbTooltipElement as t };
377
377
 
378
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQtWWFVUUEtSWQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3Rvb2x0aXAvdG9vbHRpcC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItdG9vbHRpcC1tYXgtd2lkdGg6IG1pbihcbiAgICAje3NiYi5weC10by1yZW0tYnVpbGQoNDAwKX0sXG4gICAgY2FsYygxMDB2dyAtIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSlcbiAgKTtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIHBvc2l0aW9uLWFyZWE6IHZhcigtLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEpO1xuICBwb3NpdGlvbi10cnktZmFsbGJhY2tzOiB2YXIoLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzKTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi10b29sdGlwLXBvaW50ZXItZXZlbnRzLCBhbGwpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItdG9vbHRpcC16LWluZGV4LCB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1uYW1lKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb24pO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZWFzaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdG9vbHRpcC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcblxuICAvLyBSZXNldCBbcG9wb3Zlcl0gc3R5bGVzXG4gIGJvcmRlcjogbm9uZTtcbiAgaW5zZXQ6IGluaXRpYWw7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tbmFtZTogb3BlbjtcblxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSB7XG4gIC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLW5hbWU6IGNsb3NlO1xuICAtLXNiYi10b29sdGlwLXBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG46aG9zdCg6aXMoW2RhdGEtcG9zaXRpb25+PSdibG9jay1lbmQnXSwgW2RhdGEtcG9zaXRpb25+PSdib3R0b20nXSwgW2RhdGEtcG9zaXRpb25ePSdlbmQnXSkpIHtcbiAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0tc2JiLXRvb2x0aXAtZ2FwKTtcbn1cblxuOmhvc3QoOmlzKFtkYXRhLXBvc2l0aW9ufj0nYmxvY2stc3RhcnQnXSwgW2RhdGEtcG9zaXRpb25+PSd0b3AnXSwgW2RhdGEtcG9zaXRpb25ePSdzdGFydCddKSkge1xuICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tc2JiLXRvb2x0aXAtZ2FwKTtcbn1cblxuOmhvc3QoXG4gIDppcyhcbiAgICBbZGF0YS1wb3NpdGlvbn49J2lubGluZS1zdGFydCddLFxuICAgIFtkYXRhLXBvc2l0aW9ufj0naW5saW5lLWVuZCddLFxuICAgIFtkYXRhLXBvc2l0aW9ufj0nbGVmdCddLFxuICAgIFtkYXRhLXBvc2l0aW9ufj0ncmlnaHQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbiQ9JyBzdGFydCddLFxuICAgIFtkYXRhLXBvc2l0aW9uJD0nIGVuZCddXG4gIClcbikge1xuICAvLyBBZGQgYSBnYXAgb24gYm90aCBzaWRlcyB0byBkaXN0YW5jZSB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0cmlnZ2VyIGFuZCB0aGUgZWRnZSBvZiB0aGUgdmlld3BvcnQuXG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItdG9vbHRpcC1nYXApO1xufVxuXG4uc2JiLXRvb2x0aXAge1xuICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LXNvZnQpO1xuICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIHZhcigtLXNiYi10b29sdGlwLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zYmItdG9vbHRpcC1wYWRkaW5nKTtcbiAgY29sb3I6IHZhcigtLXNiYi10b29sdGlwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcik7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXRvb2x0aXAtbWluLXdpZHRoKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zYmItdG9vbHRpcC1tYXgtd2lkdGgpO1xufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogdmFyKC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLXRyYW5zbGF0ZSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tdHJhbnNsYXRlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy50cyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiT3ZlcmxheVBvc2l0aW9uQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBpZFJlZmVyZW5jZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBpc0FuZHJvaWQsIGlzSU9TLCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiwgcXVldWVEb21Db250ZW50TG9hZGVkIH0gZnJvbSAnLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgYXBwZW5kQXJpYUVsZW1lbnRzLCByZW1vdmVBcmlhRWxlbWVudHMsIFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBzYmJPdmVybGF5T3V0c2lkZVBvaW50ZXJFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vY29yZS9vdmVybGF5LnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uL2NvcmUvc3R5bGVzLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9vbHRpcC5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZGVmYXVsdCBwb3NpdGlvbiBmb3IgdGhlIHRvb2x0aXAgaWYgdGhpcyBlbGVtZW50IGlzIHVzZWQgYXMgYSB0cmlnZ2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNiYlRvb2x0aXBEZWZhdWx0UG9zaXRpb25zIHtcbiAgcmVhZG9ubHkgdG9vbHRpcFBvc2l0aW9uczogc3RyaW5nW107XG59XG5cbi8qKlxuICogVGltZSBiZXR3ZWVuIHRoZSB1c2VyIHB1dHRpbmcgdGhlIHBvaW50ZXIgb24gYSB0b29sdGlwXG4gKiB0cmlnZ2VyIGFuZCB0aGUgbG9uZyBwcmVzcyBldmVudCBiZWluZyBmaXJlZC5cbiAqL1xuY29uc3QgTE9OR1BSRVNTX0RFTEFZID0gNTAwO1xuXG5jb25zdCBpc01vYmlsZSA9IGlzQW5kcm9pZCB8fCBpc0lPUztcbmNvbnN0IHRvb2x0aXBUcmlnZ2VycyA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBTYmJUb29sdGlwRWxlbWVudD4oKTtcbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIHRleHQgY29udGVudCB3aXRoaW4gYSB0b29sdGlwLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSB0ZXh0IGludG8gdGhlIHRvb2x0aXAuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhPWJsb2NrLWVuZF0gLSBUaGUgcHJpbWFyeSBwb3NpdGlvbiBmb3IgdGhlIHRvb2x0aXAuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzPWJsb2NrLWVuZCBzcGFuLWlubGluZS1lbmQsIGJsb2NrLWVuZCBzcGFuLWlubGluZS1zdGFydCwgYmxvY2stc3RhcnQsIGJsb2NrLXN0YXJ0IHNwYW4taW5saW5lLWVuZCwgYmxvY2stc3RhcnQgc3Bhbi1pbmxpbmUtc3RhcnRdIC1cbiAqIFRoZSBsaXN0IG9mIGZhbGxiYWNrIHBvc2l0aW9ucywgc2VwYXJhdGVkIGJ5ICcsJywgZm9yIHRoZSB0b29sdGlwXG4gKiBAY3NzcHJvcCBbLS1zYmItdG9vbHRpcC16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUb29sdGlwRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10b29sdGlwJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3Rvb2x0aXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwcml2YXRlIHN0YXRpYyBfdG9vbHRpcE91dGxldDogRWxlbWVudDtcblxuICBzdGF0aWMge1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gYmxvY2sgZXhlY3V0aW9uIGZvciBpbml0aWFsaXphdGlvbixcbiAgICAgIC8vIHNvIHdlIGRlZmVyIGl0IHVudGlsIHRoZSBET00gY29udGVudCBpcyBsb2FkZWQuXG4gICAgICBxdWV1ZURvbUNvbnRlbnRMb2FkZWQoKCkgPT4gdGhpcy5faW5pdGlhbGl6ZVRvb2x0aXBPdXRsZXQoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSB0b29sdGlwIG92ZXJsYXkuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHRvb2x0aXAgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnb3Blbi1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IG9wZW5EZWxheSh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgIHRoaXMuX29wZW5EZWxheSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgb3BlbkRlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5EZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8ub3BlbkRlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbkRlbGF5OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQ2xvc2UgdGhlIHRvb2x0aXAgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY2xvc2UtZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBjbG9zZURlbGF5KHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5fY2xvc2VEZWxheSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgY2xvc2VEZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZURlbGF5ID8/IHJlYWRDb25maWcoKS50b29sdGlwPy5jbG9zZURlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfY2xvc2VEZWxheTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgY2xvc2UgdGhlIHRvb2x0aXAgYWZ0ZXIgaXQgaGFzIGJlZW4gb3BlbiBieSBsb25nIHByZXNzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDE1MDBcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2xvbmctcHJlc3MtY2xvc2UtZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBsb25nUHJlc3NDbG9zZURlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9sb25nUHJlc3NDbG9zZURlbGF5ID0gK3ZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgbG9uZ1ByZXNzQ2xvc2VEZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb25nUHJlc3NDbG9zZURlbGF5ID8/IHJlYWRDb25maWcoKS50b29sdGlwPy5sb25nUHJlc3NDbG9zZURlbGF5ID8/IDE1MDA7XG4gIH1cbiAgcHJpdmF0ZSBfbG9uZ1ByZXNzQ2xvc2VEZWxheT86IG51bWJlcjtcblxuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfb3BlblN0YXRlQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX292ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYk92ZXJsYXlQb3NpdGlvbkNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX29wZW5UaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2Nsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sb25nUHJlc3NPcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sb25nUHJlc3NDbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIFVudGlsIHRoZSBtb3VzZSBob3ZlcnMgdGhlIHRvb2x0aXAsIGl0IHN0YXlzIG9wZW4uXG4gICAgLy8gT24gJ21vdXNlbGVhdmUnIChpZiB0aGUgbW91c2UgaXMgbm90IG1vdmVkIG9udG8gdGhlIHRyaWdnZXIgYWdhaW4pLCBjbG9zZSBpdC5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnbW91c2VsZWF2ZScsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpICYmXG4gICAgICAgICAgKCFldmVudC5yZWxhdGVkVGFyZ2V0IHx8ICF0aGlzLl90cmlnZ2VyRWxlbWVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5fZGVsYXllZENsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IHBhc3NpdmU6IHRydWUgfSxcbiAgICApO1xuXG4gICAgLy8gQW55IHVzZXIgaW50ZXJhY3Rpb24gb3V0c2lkZSB0aGUgdG9vbHRpcCBjbG9zZXMgaXQgaW1tZWRpYXRlbHlcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ292ZXJsYXlPdXRzaWRlUG9pbnRlcicsICgpID0+IHRoaXMuY2xvc2UoKSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCAoZSkgPT4gdGhpcy5fb25Ub29sdGlwQW5pbWF0aW9uRW5kKGUpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfaW5pdGlhbGl6ZVRvb2x0aXBPdXRsZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdG9vbHRpcE91dGxldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMuX3Rvb2x0aXBPdXRsZXQuY2xhc3NMaXN0LmFkZCgnc2JiLW92ZXJsYXktb3V0bGV0Jyk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl90b29sdGlwT3V0bGV0KTtcblxuICAgIC8vIFdlIGFyZSB1c2luZyBNdXRhdGlvbk9ic2VydmVyIGRpcmVjdGx5IGhlcmUsIGFzIGl0IHdpbGwgb25seSBiZSBjYWxsZWQgb24gY2xpZW50IHNpZGUsXG4gICAgLy8gYW5kIHdlIGRvIG5vdCBuZWVkIHRvIGRpc2Nvbm5lY3QgaXQsIGFzIHdlIHdhbnQgaXQgdG8gd29yayBkdXJpbmcgdGhlIGZ1bGwgbGlmZXRpbWVcbiAgICAvLyBvZiB0aGUgcGFnZS5cbiAgICBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9ucykge1xuICAgICAgICBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgICAgdGhpcy5faGFuZGxlVG9vbHRpcFRyaWdnZXIobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0Jykge1xuICAgICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBbLi4ubXV0YXRpb24uYWRkZWROb2RlcywgLi4ubXV0YXRpb24ucmVtb3ZlZE5vZGVzXS5maWx0ZXIoXG4gICAgICAgICAgICAobik6IG4gaXMgSFRNTEVsZW1lbnQgPT4gbi5ub2RlVHlwZSA9PT0gbi5FTEVNRU5UX05PREUsXG4gICAgICAgICAgKSkge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlVG9vbHRpcFRyaWdnZXIobm9kZSk7XG4gICAgICAgICAgICB0aGlzLl9maW5kQW5kSGFuZGxlVG9vbHRpcFRyaWdnZXJzKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7XG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFtcbiAgICAgICAgJ3NiYi10b29sdGlwJyxcbiAgICAgICAgJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknLFxuICAgICAgICAnc2JiLXRvb2x0aXAtY2xvc2UtZGVsYXknLFxuICAgICAgICAnc2JiLXRvb2x0aXAtcG9zaXRpb24nLFxuICAgICAgXSxcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5fZmluZEFuZEhhbmRsZVRvb2x0aXBUcmlnZ2Vycyhkb2N1bWVudC5ib2R5KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9maW5kQW5kSGFuZGxlVG9vbHRpcFRyaWdnZXJzKHJvb3Q6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgcm9vdFxuICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCdbc2JiLXRvb2x0aXBdJylcbiAgICAgIC5mb3JFYWNoKChlKSA9PiB0aGlzLl9oYW5kbGVUb29sdGlwVHJpZ2dlcihlKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfaGFuZGxlVG9vbHRpcFRyaWdnZXIodHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgdG9vbHRpcE1lc3NhZ2UgPSB0cmlnZ2VyRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwJyk7XG4gICAgbGV0IHRvb2x0aXAgPSB0b29sdGlwVHJpZ2dlcnMuZ2V0KHRyaWdnZXJFbGVtZW50KTtcblxuICAgIGlmICh0b29sdGlwTWVzc2FnZSAmJiB0cmlnZ2VyRWxlbWVudC5pc0Nvbm5lY3RlZCkge1xuICAgICAgaWYgKCF0b29sdGlwKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBzYmItdG9vbHRpcCBpbiB0aGUgb3V0bGV0IGFuZCBhdHRhY2ggaXQgdG8gdGhlIHRyaWdnZXJcbiAgICAgICAgdG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NiYi10b29sdGlwJyk7XG4gICAgICAgIHRvb2x0aXBUcmlnZ2Vycy5zZXQodHJpZ2dlckVsZW1lbnQsIHRvb2x0aXApO1xuICAgICAgICB0aGlzLl90b29sdGlwT3V0bGV0LmFwcGVuZENoaWxkKHRvb2x0aXApO1xuICAgICAgICB0b29sdGlwLnRyaWdnZXIgPSB0cmlnZ2VyRWxlbWVudDtcbiAgICAgIH1cblxuICAgICAgdG9vbHRpcC50ZXh0Q29udGVudCA9IHRvb2x0aXBNZXNzYWdlO1xuICAgICAgdG9vbHRpcC5vcGVuRGVsYXkgPSB0cmlnZ2VyRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknKVxuICAgICAgICA/ICt0cmlnZ2VyRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknKSFcbiAgICAgICAgOiBudWxsO1xuICAgICAgdG9vbHRpcC5jbG9zZURlbGF5ID0gdHJpZ2dlckVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItdG9vbHRpcC1jbG9zZS1kZWxheScpXG4gICAgICAgID8gK3RyaWdnZXJFbGVtZW50LmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtY2xvc2UtZGVsYXknKSFcbiAgICAgICAgOiBudWxsO1xuXG4gICAgICAvLyBSZWFkIHRoZSBwb3NpdGlvbnMgZnJvbSB0aGUgdHJpZ2dlciAoZWl0aGVyIGZyb20gdGhlIGF0dHJpYnV0ZSBvciB0aGUgcHJvcGVydHkpXG4gICAgICBjb25zdCBwb3NpdGlvbnMgPSB0cmlnZ2VyRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLXBvc2l0aW9uJylcbiAgICAgICAgPyB0cmlnZ2VyRWxlbWVudFxuICAgICAgICAgICAgLmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtcG9zaXRpb24nKSFcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKChwKSA9PiBwLnRyaW0oKSlcbiAgICAgICAgOiAodHJpZ2dlckVsZW1lbnQgYXMgdW5rbm93biBhcyBTYmJUb29sdGlwRGVmYXVsdFBvc2l0aW9ucykudG9vbHRpcFBvc2l0aW9ucztcblxuICAgICAgaWYgKHBvc2l0aW9ucyAmJiBwb3NpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0b29sdGlwLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEnLCBwb3NpdGlvbnNbMF0pO1xuICAgICAgICB0b29sdGlwLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICctLXNiYi1vdmVybGF5LXBvc2l0aW9uLXRyeS1mYWxsYmFja3MnLFxuICAgICAgICAgIHBvc2l0aW9ucy5zbGljZSgxKS5qb2luKCcsICcpLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9vbHRpcC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhJyk7XG4gICAgICAgIHRvb2x0aXAuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcycpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodG9vbHRpcCkge1xuICAgICAgLy8gVGhlIHRyaWdnZXIgb3IgdGhlIGF0dHJpYnV0ZSBoYXMgYmVlbiBkZWxldGVkID0+IGRlbGV0ZSB0aGUgY29ubmVjdGVkIHRvb2x0aXBcbiAgICAgIHRvb2x0aXBUcmlnZ2Vycy5kZWxldGUodHJpZ2dlckVsZW1lbnQpO1xuICAgICAgLy8gSWYgYSBjb25zdW1lciBvdmVycmlkZXMgdGhlIGBzYmItdG9vbHRpcGAsIHRoZSBmb2xsb3dpbmcgY29kZSBzaG91bGQgbm90IGJlXG4gICAgICAvLyBleGVjdXRlZCBhcyB3ZSBjYW4ndCBleHBlY3QgdGhhdCBwcml2YXRlIG1ldGhvZHMgYXJlIG1vY2tlZC5cbiAgICAgIHRvb2x0aXAuX2Rlc3Ryb3k/LigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMucG9wb3ZlciA9ICdtYW51YWwnO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItdG9vbHRpcC0keysrbmV4dElkfWA7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHNiYk92ZXJsYXlPdXRzaWRlUG9pbnRlckV2ZW50TGlzdGVuZXIuY29ubmVjdCh0aGlzKTtcblxuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgdGhpcy50cmlnZ2VyKSB7XG4gICAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBzYmJPdmVybGF5T3V0c2lkZVBvaW50ZXJFdmVudExpc3RlbmVyLmRpc2Nvbm5lY3QodGhpcyk7XG4gICAgdGhpcy5fZGV0YWNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fYXR0YWNoKHRoaXMudHJpZ2dlcik7XG4gIH1cblxuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICBpZiAoXG4gICAgICAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ2Nsb3NpbmcnKSB8fFxuICAgICAgdGhpcy5kaXNhYmxlZCB8fFxuICAgICAgIXRoaXMudHJpZ2dlciB8fFxuICAgICAgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1BvcG92ZXI/LigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fb3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCh0aGlzLnRyaWdnZXIpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnICYmIHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGVsYXllZE9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgdGhpcy5fb3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3BlbigpLCB0aGlzLm9wZW5EZWxheSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVsYXllZENsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIHRoaXMuX2Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmNsb3NlRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5fb3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVG9vbHRpcEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2godHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICAvLyBFdmVudHVhbGx5IGRldGFjaCBmcm9tIHRoZSBvbGQgdHJpZ2dlclxuICAgICAgdGhpcy5fZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyO1xuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMgPSBhcHBlbmRBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgIHRoaXMsXG4gICAgKTtcbiAgICB0aGlzLl9hZGRUcmlnZ2VyRXZlbnRIYW5kbGVycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGV0YWNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIC8vIGNsZWFyIHRpbWVvdXRzXG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc09wZW5UaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzQ2xvc2VUaW1lb3V0KTtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMgPSByZW1vdmVBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgIHRoaXMsXG4gICAgKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2RldGFjaCgpO1xuICAgIHRoaXMucmVtb3ZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRUcmlnZ2VyRXZlbnRIYW5kbGVycygpOiB2b2lkIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5fdHJpZ2dlckVsZW1lbnQ7XG4gICAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGNvbnN0IG9wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zID0ge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgfTtcblxuICAgIGlmICghaXNNb2JpbGUpIHtcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgpID0+IHRoaXMuX2RlbGF5ZWRPcGVuKCksIG9wdGlvbnMpO1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnbW91c2VsZWF2ZScsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld1RhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSB8IG51bGw7XG4gICAgICAgICAgaWYgKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0ICE9PSB0aGlzKSB7XG4gICAgICAgICAgICB0aGlzLl9kZWxheWVkQ2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApO1xuXG4gICAgICAvLyAnYmx1cnMnIGltbWVkaWF0ZWx5IGNsb3NlIHRoZSB0b29sdGlwIGJlY2F1c2UgaXQgaXMgY29uc2lkZXJlZCBhbiAnaW50ZXJhY3Rpb24gd2l0aCBvdGhlciBlbGVtZW50cydcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHRoaXMuY2xvc2UoKSwgb3B0aW9ucyk7XG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4gdGhpcy5fZGVsYXllZE9wZW4oKSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLy8gTG9uZy1wcmVzcyBldmVudCBoYW5kbGluZyAobWFpbmx5IGZvciBtb2JpbGUgdXNlcnMpXG4gICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3RvdWNoc3RhcnQnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzQ2xvc2VUaW1lb3V0KTtcbiAgICAgICAgdGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3BlbigpLCBMT05HUFJFU1NfREVMQVkpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hlbmQnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgICB0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5sb25nUHJlc3NDbG9zZURlbGF5KTtcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3RvdWNoY2FuY2VsJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc09wZW5UaW1lb3V0KTtcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX29wZW5UaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b29sdGlwXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b29sdGlwJzogU2JiVG9vbHRpcEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ29DQSxJQUFNLGtC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
378
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQtWWFVUUEtSWQuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3Rvb2x0aXAvdG9vbHRpcC5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItdG9vbHRpcC1tYXgtd2lkdGg6IG1pbihcbiAgICAje3NiYi5weC10by1yZW0tYnVpbGQoNDAwKX0sXG4gICAgY2FsYygxMDB2dyAtIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KSlcbiAgKTtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuXG4gIHBvc2l0aW9uLWFyZWE6IHZhcigtLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEpO1xuICBwb3NpdGlvbi10cnktZmFsbGJhY2tzOiB2YXIoLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzKTtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9pbnRlci1ldmVudHM6IHZhcigtLXNiYi10b29sdGlwLXBvaW50ZXItZXZlbnRzLCBhbGwpO1xuICB6LWluZGV4OiB2YXIoLS1zYmItdG9vbHRpcC16LWluZGV4LCB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHZhcigtLXNiYi10b29sdGlwLWFuaW1hdGlvbi1uYW1lKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZHVyYXRpb24pO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tZWFzaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItdG9vbHRpcC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcblxuICAvLyBSZXNldCBbcG9wb3Zlcl0gc3R5bGVzXG4gIGJvcmRlcjogbm9uZTtcbiAgaW5zZXQ6IGluaXRpYWw7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuOmhvc3QoOmlzKDpzdGF0ZShzdGF0ZS1vcGVuaW5nKSwgOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpIHtcbiAgLS1zYmItdG9vbHRpcC1hbmltYXRpb24tbmFtZTogb3BlbjtcblxuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSB7XG4gIC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLW5hbWU6IGNsb3NlO1xuICAtLXNiYi10b29sdGlwLXBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG46aG9zdCg6aXMoW2RhdGEtcG9zaXRpb25+PSdibG9jay1lbmQnXSwgW2RhdGEtcG9zaXRpb25+PSdib3R0b20nXSwgW2RhdGEtcG9zaXRpb25ePSdlbmQnXSkpIHtcbiAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0tc2JiLXRvb2x0aXAtZ2FwKTtcbn1cblxuOmhvc3QoOmlzKFtkYXRhLXBvc2l0aW9ufj0nYmxvY2stc3RhcnQnXSwgW2RhdGEtcG9zaXRpb25+PSd0b3AnXSwgW2RhdGEtcG9zaXRpb25ePSdzdGFydCddKSkge1xuICBwYWRkaW5nLWJsb2NrLWVuZDogdmFyKC0tc2JiLXRvb2x0aXAtZ2FwKTtcbn1cblxuOmhvc3QoXG4gIDppcyhcbiAgICBbZGF0YS1wb3NpdGlvbn49J2lubGluZS1zdGFydCddLFxuICAgIFtkYXRhLXBvc2l0aW9ufj0naW5saW5lLWVuZCddLFxuICAgIFtkYXRhLXBvc2l0aW9ufj0nbGVmdCddLFxuICAgIFtkYXRhLXBvc2l0aW9ufj0ncmlnaHQnXSxcbiAgICBbZGF0YS1wb3NpdGlvbiQ9JyBzdGFydCddLFxuICAgIFtkYXRhLXBvc2l0aW9uJD0nIGVuZCddXG4gIClcbikge1xuICAvLyBBZGQgYSBnYXAgb24gYm90aCBzaWRlcyB0byBkaXN0YW5jZSB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0cmlnZ2VyIGFuZCB0aGUgZWRnZSBvZiB0aGUgdmlld3BvcnQuXG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItdG9vbHRpcC1nYXApO1xufVxuXG4uc2JiLXRvb2x0aXAge1xuICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LXNvZnQpO1xuICBib3JkZXI6IHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMXgpIHNvbGlkIHZhcigtLXNiYi10b29sdGlwLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zYmItdG9vbHRpcC1wYWRkaW5nKTtcbiAgY29sb3I6IHZhcigtLXNiYi10b29sdGlwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcik7XG4gIG1pbi13aWR0aDogdmFyKC0tc2JiLXRvb2x0aXAtbWluLXdpZHRoKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1zYmItdG9vbHRpcC1tYXgtd2lkdGgpO1xufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zbGF0ZTogdmFyKC0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLXRyYW5zbGF0ZSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2xhdGU6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1zYmItdG9vbHRpcC1hbmltYXRpb24tdHJhbnNsYXRlKTtcbiAgfVxufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlLWVsZW1lbnRzLnRzJztcbmltcG9ydCB7IHJlYWRDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZy50cyc7XG5pbXBvcnQge1xuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiT3ZlcmxheVBvc2l0aW9uQ29udHJvbGxlcixcbn0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy50cyc7XG5pbXBvcnQgeyBpZFJlZmVyZW5jZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy50cyc7XG5pbXBvcnQgeyBpc0FuZHJvaWQsIGlzSU9TLCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiwgcXVldWVEb21Db250ZW50TG9hZGVkIH0gZnJvbSAnLi4vY29yZS9kb20udHMnO1xuaW1wb3J0IHsgYXBwZW5kQXJpYUVsZW1lbnRzLCByZW1vdmVBcmlhRWxlbWVudHMsIFNiYkRpc2FibGVkTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy50cyc7XG5pbXBvcnQgeyBzYmJPdmVybGF5T3V0c2lkZVBvaW50ZXJFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vY29yZS9vdmVybGF5LnRzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uL2NvcmUvc3R5bGVzLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdG9vbHRpcC5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogRGVmaW5lcyB0aGUgZGVmYXVsdCBwb3NpdGlvbiBmb3IgdGhlIHRvb2x0aXAgaWYgdGhpcyBlbGVtZW50IGlzIHVzZWQgYXMgYSB0cmlnZ2VyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNiYlRvb2x0aXBEZWZhdWx0UG9zaXRpb25zIHtcbiAgcmVhZG9ubHkgdG9vbHRpcFBvc2l0aW9uczogc3RyaW5nW107XG59XG5cbi8qKlxuICogVGltZSBiZXR3ZWVuIHRoZSB1c2VyIHB1dHRpbmcgdGhlIHBvaW50ZXIgb24gYSB0b29sdGlwXG4gKiB0cmlnZ2VyIGFuZCB0aGUgbG9uZyBwcmVzcyBldmVudCBiZWluZyBmaXJlZC5cbiAqL1xuY29uc3QgTE9OR1BSRVNTX0RFTEFZID0gNTAwO1xuXG5jb25zdCBpc01vYmlsZSA9IGlzQW5kcm9pZCB8fCBpc0lPUztcbmNvbnN0IHRvb2x0aXBUcmlnZ2VycyA9IG5ldyBXZWFrTWFwPEhUTUxFbGVtZW50LCBTYmJUb29sdGlwRWxlbWVudD4oKTtcbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIHRleHQgY29udGVudCB3aXRoaW4gYSB0b29sdGlwLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSB0ZXh0IGludG8gdGhlIHRvb2x0aXAuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhPWJsb2NrLWVuZF0gLSBUaGUgcHJpbWFyeSBwb3NpdGlvbiBmb3IgdGhlIHRvb2x0aXAuXG4gKiBAY3NzcHJvcCBbLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzPWJsb2NrLWVuZCBzcGFuLWlubGluZS1lbmQsIGJsb2NrLWVuZCBzcGFuLWlubGluZS1zdGFydCwgYmxvY2stc3RhcnQsIGJsb2NrLXN0YXJ0IHNwYW4taW5saW5lLWVuZCwgYmxvY2stc3RhcnQgc3Bhbi1pbmxpbmUtc3RhcnRdIC1cbiAqIFRoZSBsaXN0IG9mIGZhbGxiYWNrIHBvc2l0aW9ucywgc2VwYXJhdGVkIGJ5ICcsJywgZm9yIHRoZSB0b29sdGlwXG4gKiBAY3NzcHJvcCBbLS1zYmItdG9vbHRpcC16LWluZGV4PXZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleCldIC0gVG8gc3BlY2lmeSBhIGN1c3RvbSBzdGFjayBvcmRlcixcbiAqIHRoZSBgei1pbmRleGAgY2FuIGJlIG92ZXJyaWRkZW4gYnkgZGVmaW5pbmcgdGhpcyBDU1MgdmFyaWFibGUuIFRoZSBkZWZhdWx0IGB6LWluZGV4YCBvZiB0aGVcbiAqIGNvbXBvbmVudCBpcyBzZXQgdG8gYHZhcigtLXNiYi1vdmVybGF5LWRlZmF1bHQtei1pbmRleClgIHdpdGggYSB2YWx1ZSBvZiBgMTAwMGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJUb29sdGlwRWxlbWVudCBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10b29sdGlwJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3Rvb2x0aXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICBwcml2YXRlIHN0YXRpYyBfdG9vbHRpcE91dGxldDogRWxlbWVudDtcblxuICBzdGF0aWMge1xuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gYmxvY2sgZXhlY3V0aW9uIGZvciBpbml0aWFsaXphdGlvbixcbiAgICAgIC8vIHNvIHdlIGRlZmVyIGl0IHVudGlsIHRoZSBET00gY29udGVudCBpcyBsb2FkZWQuXG4gICAgICBxdWV1ZURvbUNvbnRlbnRMb2FkZWQoKCkgPT4gdGhpcy5faW5pdGlhbGl6ZVRvb2x0aXBPdXRsZXQoKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSB0b29sdGlwIG92ZXJsYXkuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIE9wZW4gdGhlIHRvb2x0aXAgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnb3Blbi1kZWxheScsIHR5cGU6IE51bWJlciB9KVxuICBwdWJsaWMgc2V0IG9wZW5EZWxheSh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgIHRoaXMuX29wZW5EZWxheSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgb3BlbkRlbGF5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX29wZW5EZWxheSA/PyByZWFkQ29uZmlnKCkudG9vbHRpcD8ub3BlbkRlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfb3BlbkRlbGF5OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAvKipcbiAgICogQ2xvc2UgdGhlIHRvb2x0aXAgYWZ0ZXIgYSBnaXZlbiBkZWxheSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIEdsb2JhbCBjb25maWd1cmF0aW9uIGlzIHVzZWQgYXMgZGVmYXVsdCwgaWYgbm90IHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgbnVsbFxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnY2xvc2UtZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBjbG9zZURlbGF5KHZhbHVlOiBudW1iZXIgfCBudWxsKSB7XG4gICAgdGhpcy5fY2xvc2VEZWxheSA9IHZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgY2xvc2VEZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZURlbGF5ID8/IHJlYWRDb25maWcoKS50b29sdGlwPy5jbG9zZURlbGF5ID8/IDA7XG4gIH1cbiAgcHJpdmF0ZSBfY2xvc2VEZWxheTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgY2xvc2UgdGhlIHRvb2x0aXAgYWZ0ZXIgaXQgaGFzIGJlZW4gb3BlbiBieSBsb25nIHByZXNzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDE1MDBcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2xvbmctcHJlc3MtY2xvc2UtZGVsYXknLCB0eXBlOiBOdW1iZXIgfSlcbiAgcHVibGljIHNldCBsb25nUHJlc3NDbG9zZURlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9sb25nUHJlc3NDbG9zZURlbGF5ID0gK3ZhbHVlO1xuICB9XG4gIHB1YmxpYyBnZXQgbG9uZ1ByZXNzQ2xvc2VEZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb25nUHJlc3NDbG9zZURlbGF5ID8/IHJlYWRDb25maWcoKS50b29sdGlwPy5sb25nUHJlc3NDbG9zZURlbGF5ID8/IDE1MDA7XG4gIH1cbiAgcHJpdmF0ZSBfbG9uZ1ByZXNzQ2xvc2VEZWxheT86IG51bWJlcjtcblxuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfb3BlblN0YXRlQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX292ZXJsYXlDb250cm9sbGVyID0gbmV3IFNiYk92ZXJsYXlQb3NpdGlvbkNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX29wZW5UaW1lb3V0PzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XG4gIHByaXZhdGUgX2Nsb3NlVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sb25nUHJlc3NPcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sb25nUHJlc3NDbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIC8vIFVudGlsIHRoZSBtb3VzZSBob3ZlcnMgdGhlIHRvb2x0aXAsIGl0IHN0YXlzIG9wZW4uXG4gICAgLy8gT24gJ21vdXNlbGVhdmUnIChpZiB0aGUgbW91c2UgaXMgbm90IG1vdmVkIG9udG8gdGhlIHRyaWdnZXIgYWdhaW4pLCBjbG9zZSBpdC5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnbW91c2VsZWF2ZScsXG4gICAgICAoZXZlbnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpICYmXG4gICAgICAgICAgKCFldmVudC5yZWxhdGVkVGFyZ2V0IHx8ICF0aGlzLl90cmlnZ2VyRWxlbWVudD8uY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5fZGVsYXllZENsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IHBhc3NpdmU6IHRydWUgfSxcbiAgICApO1xuXG4gICAgLy8gQW55IHVzZXIgaW50ZXJhY3Rpb24gb3V0c2lkZSB0aGUgdG9vbHRpcCBjbG9zZXMgaXQgaW1tZWRpYXRlbHlcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ292ZXJsYXlPdXRzaWRlUG9pbnRlcicsICgpID0+IHRoaXMuY2xvc2UoKSwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCAoZSkgPT4gdGhpcy5fb25Ub29sdGlwQW5pbWF0aW9uRW5kKGUpLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfaW5pdGlhbGl6ZVRvb2x0aXBPdXRsZXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdG9vbHRpcE91dGxldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMuX3Rvb2x0aXBPdXRsZXQuY2xhc3NMaXN0LmFkZCgnc2JiLW92ZXJsYXktb3V0bGV0Jyk7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLl90b29sdGlwT3V0bGV0KTtcblxuICAgIC8vIFdlIGFyZSB1c2luZyBNdXRhdGlvbk9ic2VydmVyIGRpcmVjdGx5IGhlcmUsIGFzIGl0IHdpbGwgb25seSBiZSBjYWxsZWQgb24gY2xpZW50IHNpZGUsXG4gICAgLy8gYW5kIHdlIGRvIG5vdCBuZWVkIHRvIGRpc2Nvbm5lY3QgaXQsIGFzIHdlIHdhbnQgaXQgdG8gd29yayBkdXJpbmcgdGhlIGZ1bGwgbGlmZXRpbWVcbiAgICAvLyBvZiB0aGUgcGFnZS5cbiAgICBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IG11dGF0aW9uIG9mIG11dGF0aW9ucykge1xuICAgICAgICBpZiAobXV0YXRpb24udHlwZSA9PT0gJ2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgICAgdGhpcy5faGFuZGxlVG9vbHRpcFRyaWdnZXIobXV0YXRpb24udGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmIChtdXRhdGlvbi50eXBlID09PSAnY2hpbGRMaXN0Jykge1xuICAgICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBbLi4ubXV0YXRpb24uYWRkZWROb2RlcywgLi4ubXV0YXRpb24ucmVtb3ZlZE5vZGVzXS5maWx0ZXIoXG4gICAgICAgICAgICAobik6IG4gaXMgSFRNTEVsZW1lbnQgPT4gbi5ub2RlVHlwZSA9PT0gbi5FTEVNRU5UX05PREUsXG4gICAgICAgICAgKSkge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlVG9vbHRpcFRyaWdnZXIobm9kZSk7XG4gICAgICAgICAgICB0aGlzLl9maW5kQW5kSGFuZGxlVG9vbHRpcFRyaWdnZXJzKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pLm9ic2VydmUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCB7XG4gICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFtcbiAgICAgICAgJ3NiYi10b29sdGlwJyxcbiAgICAgICAgJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknLFxuICAgICAgICAnc2JiLXRvb2x0aXAtY2xvc2UtZGVsYXknLFxuICAgICAgICAnc2JiLXRvb2x0aXAtcG9zaXRpb24nLFxuICAgICAgXSxcbiAgICAgIGNoaWxkTGlzdDogdHJ1ZSxcbiAgICAgIHN1YnRyZWU6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5fZmluZEFuZEhhbmRsZVRvb2x0aXBUcmlnZ2Vycyhkb2N1bWVudC5ib2R5KTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIF9maW5kQW5kSGFuZGxlVG9vbHRpcFRyaWdnZXJzKHJvb3Q6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgcm9vdFxuICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEVsZW1lbnQ+KCdbc2JiLXRvb2x0aXBdJylcbiAgICAgIC5mb3JFYWNoKChlKSA9PiB0aGlzLl9oYW5kbGVUb29sdGlwVHJpZ2dlcihlKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBfaGFuZGxlVG9vbHRpcFRyaWdnZXIodHJpZ2dlckVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgdG9vbHRpcE1lc3NhZ2UgPSB0cmlnZ2VyRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwJyk7XG4gICAgbGV0IHRvb2x0aXAgPSB0b29sdGlwVHJpZ2dlcnMuZ2V0KHRyaWdnZXJFbGVtZW50KTtcblxuICAgIGlmICh0b29sdGlwTWVzc2FnZSAmJiB0cmlnZ2VyRWxlbWVudC5pc0Nvbm5lY3RlZCkge1xuICAgICAgaWYgKCF0b29sdGlwKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBzYmItdG9vbHRpcCBpbiB0aGUgb3V0bGV0IGFuZCBhdHRhY2ggaXQgdG8gdGhlIHRyaWdnZXJcbiAgICAgICAgdG9vbHRpcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NiYi10b29sdGlwJyk7XG4gICAgICAgIHRvb2x0aXBUcmlnZ2Vycy5zZXQodHJpZ2dlckVsZW1lbnQsIHRvb2x0aXApO1xuICAgICAgICB0aGlzLl90b29sdGlwT3V0bGV0LmFwcGVuZENoaWxkKHRvb2x0aXApO1xuICAgICAgICB0b29sdGlwLnRyaWdnZXIgPSB0cmlnZ2VyRWxlbWVudDtcbiAgICAgIH1cblxuICAgICAgdG9vbHRpcC50ZXh0Q29udGVudCA9IHRvb2x0aXBNZXNzYWdlO1xuICAgICAgdG9vbHRpcC5vcGVuRGVsYXkgPSB0cmlnZ2VyRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknKVxuICAgICAgICA/ICt0cmlnZ2VyRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLW9wZW4tZGVsYXknKSFcbiAgICAgICAgOiBudWxsO1xuICAgICAgdG9vbHRpcC5jbG9zZURlbGF5ID0gdHJpZ2dlckVsZW1lbnQuaGFzQXR0cmlidXRlKCdzYmItdG9vbHRpcC1jbG9zZS1kZWxheScpXG4gICAgICAgID8gK3RyaWdnZXJFbGVtZW50LmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtY2xvc2UtZGVsYXknKSFcbiAgICAgICAgOiBudWxsO1xuXG4gICAgICAvLyBSZWFkIHRoZSBwb3NpdGlvbnMgZnJvbSB0aGUgdHJpZ2dlciAoZWl0aGVyIGZyb20gdGhlIGF0dHJpYnV0ZSBvciB0aGUgcHJvcGVydHkpXG4gICAgICBjb25zdCBwb3NpdGlvbnMgPSB0cmlnZ2VyRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ3NiYi10b29sdGlwLXBvc2l0aW9uJylcbiAgICAgICAgPyB0cmlnZ2VyRWxlbWVudFxuICAgICAgICAgICAgLmdldEF0dHJpYnV0ZSgnc2JiLXRvb2x0aXAtcG9zaXRpb24nKSFcbiAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAubWFwKChwKSA9PiBwLnRyaW0oKSlcbiAgICAgICAgOiAodHJpZ2dlckVsZW1lbnQgYXMgdW5rbm93biBhcyBTYmJUb29sdGlwRGVmYXVsdFBvc2l0aW9ucykudG9vbHRpcFBvc2l0aW9ucztcblxuICAgICAgaWYgKHBvc2l0aW9ucyAmJiBwb3NpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0b29sdGlwLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEnLCBwb3NpdGlvbnNbMF0pO1xuICAgICAgICB0b29sdGlwLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICctLXNiYi1vdmVybGF5LXBvc2l0aW9uLXRyeS1mYWxsYmFja3MnLFxuICAgICAgICAgIHBvc2l0aW9ucy5zbGljZSgxKS5qb2luKCcsICcpLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9vbHRpcC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhJyk7XG4gICAgICAgIHRvb2x0aXAuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcycpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodG9vbHRpcCkge1xuICAgICAgLy8gVGhlIHRyaWdnZXIgb3IgdGhlIGF0dHJpYnV0ZSBoYXMgYmVlbiBkZWxldGVkID0+IGRlbGV0ZSB0aGUgY29ubmVjdGVkIHRvb2x0aXBcbiAgICAgIHRvb2x0aXBUcmlnZ2Vycy5kZWxldGUodHJpZ2dlckVsZW1lbnQpO1xuICAgICAgLy8gSWYgYSBjb25zdW1lciBvdmVycmlkZXMgdGhlIGBzYmItdG9vbHRpcGAsIHRoZSBmb2xsb3dpbmcgY29kZSBzaG91bGQgbm90IGJlXG4gICAgICAvLyBleGVjdXRlZCBhcyB3ZSBjYW4ndCBleHBlY3QgdGhhdCBwcml2YXRlIG1ldGhvZHMgYXJlIG1vY2tlZC5cbiAgICAgIHRvb2x0aXAuX2Rlc3Ryb3k/LigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMucG9wb3ZlciA9ICdtYW51YWwnO1xuICAgIHRoaXMuaWQgfHw9IGBzYmItdG9vbHRpcC0keysrbmV4dElkfWA7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHNiYk92ZXJsYXlPdXRzaWRlUG9pbnRlckV2ZW50TGlzdGVuZXIuY29ubmVjdCh0aGlzKTtcblxuICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgdGhpcy50cmlnZ2VyKSB7XG4gICAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBzYmJPdmVybGF5T3V0c2lkZVBvaW50ZXJFdmVudExpc3RlbmVyLmRpc2Nvbm5lY3QodGhpcyk7XG4gICAgdGhpcy5fZGV0YWNoKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICApOiB2b2lkIHtcbiAgICBzdXBlci5yZXF1ZXN0VXBkYXRlKG5hbWUsIG9sZFZhbHVlLCBvcHRpb25zKTtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoKCFuYW1lIHx8IG5hbWUgPT09ICd0cmlnZ2VyJykgJiYgdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl9hdHRhY2godGhpcy50cmlnZ2VyKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgdGhpcy5fYXR0YWNoKHRoaXMudHJpZ2dlcik7XG4gIH1cblxuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTtcbiAgICBpZiAoXG4gICAgICAodGhpcy5zdGF0ZSAhPT0gJ2Nsb3NlZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ2Nsb3NpbmcnKSB8fFxuICAgICAgdGhpcy5kaXNhYmxlZCB8fFxuICAgICAgIXRoaXMudHJpZ2dlciB8fFxuICAgICAgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2hvd1BvcG92ZXI/LigpO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fb3ZlcmxheUNvbnRyb2xsZXIuY29ubmVjdCh0aGlzLnRyaWdnZXIpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnICYmIHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBjbG9zZWRgIHN0YXRlLlxuICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGVsYXllZE9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgdGhpcy5fb3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3BlbigpLCB0aGlzLm9wZW5EZWxheSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5kaXNwYXRjaE9wZW5FdmVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVsYXllZENsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2V0T3BlbkNsb3NlVGltZW91dCgpO1xuICAgIHRoaXMuX2Nsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmNsb3NlRGVsYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgdGhpcy5oaWRlUG9wb3Zlcj8uKCk7XG4gICAgdGhpcy5fb3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgdGhpcy5fZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuZGlzcGF0Y2hDbG9zZUV2ZW50KCk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uVG9vbHRpcEFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4nICYmIHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2godHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3RyaWdnZXJFbGVtZW50KSB7XG4gICAgICAvLyBFdmVudHVhbGx5IGRldGFjaCBmcm9tIHRoZSBvbGQgdHJpZ2dlclxuICAgICAgdGhpcy5fZGV0YWNoKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyO1xuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMgPSBhcHBlbmRBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgIHRoaXMsXG4gICAgKTtcbiAgICB0aGlzLl9hZGRUcmlnZ2VyRXZlbnRIYW5kbGVycygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGV0YWNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIC8vIGNsZWFyIHRpbWVvdXRzXG4gICAgdGhpcy5fcmVzZXRPcGVuQ2xvc2VUaW1lb3V0KCk7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc09wZW5UaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzQ2xvc2VUaW1lb3V0KTtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQuYXJpYURlc2NyaWJlZEJ5RWxlbWVudHMgPSByZW1vdmVBcmlhRWxlbWVudHMoXG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5hcmlhRGVzY3JpYmVkQnlFbGVtZW50cyxcbiAgICAgIHRoaXMsXG4gICAgKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9kZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2RldGFjaCgpO1xuICAgIHRoaXMucmVtb3ZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9hZGRUcmlnZ2VyRXZlbnRIYW5kbGVycygpOiB2b2lkIHtcbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy5fdHJpZ2dlckVsZW1lbnQ7XG4gICAgaWYgKCF0cmlnZ2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGNvbnN0IG9wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zID0ge1xuICAgICAgc2lnbmFsOiB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgfTtcblxuICAgIGlmICghaXNNb2JpbGUpIHtcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VlbnRlcicsICgpID0+IHRoaXMuX2RlbGF5ZWRPcGVuKCksIG9wdGlvbnMpO1xuICAgICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAnbW91c2VsZWF2ZScsXG4gICAgICAgIChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld1RhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSB8IG51bGw7XG4gICAgICAgICAgaWYgKCFuZXdUYXJnZXQgfHwgbmV3VGFyZ2V0ICE9PSB0aGlzKSB7XG4gICAgICAgICAgICB0aGlzLl9kZWxheWVkQ2xvc2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApO1xuXG4gICAgICAvLyAnYmx1cnMnIGltbWVkaWF0ZWx5IGNsb3NlIHRoZSB0b29sdGlwIGJlY2F1c2UgaXQgaXMgY29uc2lkZXJlZCBhbiAnaW50ZXJhY3Rpb24gd2l0aCBvdGhlciBlbGVtZW50cydcbiAgICAgIHRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcignYmx1cicsICgpID0+IHRoaXMuY2xvc2UoKSwgb3B0aW9ucyk7XG4gICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4gdGhpcy5fZGVsYXllZE9wZW4oKSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLy8gTG9uZy1wcmVzcyBldmVudCBoYW5kbGluZyAobWFpbmx5IGZvciBtb2JpbGUgdXNlcnMpXG4gICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3RvdWNoc3RhcnQnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzQ2xvc2VUaW1lb3V0KTtcbiAgICAgICAgdGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMub3BlbigpLCBMT05HUFJFU1NfREVMQVkpO1xuICAgICAgfSxcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAndG91Y2hlbmQnLFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fbG9uZ1ByZXNzT3BlblRpbWVvdXQpO1xuICAgICAgICB0aGlzLl9sb25nUHJlc3NDbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5sb25nUHJlc3NDbG9zZURlbGF5KTtcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gICAgdHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3RvdWNoY2FuY2VsJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2xvbmdQcmVzc09wZW5UaW1lb3V0KTtcbiAgICAgIH0sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLXRvb2x0aXAtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9yZXNldE9wZW5DbG9zZVRpbWVvdXQoKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX29wZW5UaW1lb3V0KTtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fY2xvc2VUaW1lb3V0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b29sdGlwXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b29sdGlwJzogU2JiVG9vbHRpcEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ29DQSxJQUFNLGtC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
@@ -6,4 +6,4 @@ SbbTooltipElement.define();
6
6
  //#endregion
7
7
  export { SbbTooltipElement };
8
8
 
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9vbHRpcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7IFNiYlRvb2x0aXBFbGVtZW50IH0gZnJvbSAnLi90b29sdGlwLnB1cmUudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAucHVyZS50cyc7XG5cblNiYlRvb2x0aXBFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBS0Esa0JBQWtCLFFBQVEifQ==
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvdG9vbHRpcC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGVudHJ5cG9pbnQgKi9cbmltcG9ydCB7IFNiYlRvb2x0aXBFbGVtZW50IH0gZnJvbSAnLi90b29sdGlwLnB1cmUudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAucHVyZS50cyc7XG5cblNiYlRvb2x0aXBFbGVtZW50LmRlZmluZSgpO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBS0Esa0JBQWtCLE9BQU0ifQ==
@@ -7,4 +7,4 @@ Use either '@sbb-esta/elements/train.js' or '@sbb-esta/elements/train.pure.js' i
7
7
  //#endregion
8
8
  export { SbbTrainBlockedPassageElement };
9
9
 
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tYmxvY2tlZC1wYXNzYWdlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90cmFpbi90cmFpbi1ibG9ja2VkLXBhc3NhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCB9IGZyb20gJy4vdHJhaW4tYmxvY2tlZC1wYXNzYWdlL3RyYWluLWJsb2NrZWQtcGFzc2FnZS5jb21wb25lbnQudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RyYWluLWJsb2NrZWQtcGFzc2FnZS90cmFpbi1ibG9ja2VkLXBhc3NhZ2UuY29tcG9uZW50LnRzJztcblxuU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQuZGVmaW5lKCk7XG5cbmNvbnNvbGUud2FybihgVGhlIGVudHJ5cG9pbnQgJ0BzYmItZXN0YS9lbGVtZW50cy90cmFpbi90cmFpbi1ibG9ja2VkLXBhc3NhZ2UuanMnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuXG5Vc2UgZWl0aGVyICdAc2JiLWVzdGEvZWxlbWVudHMvdHJhaW4uanMnIG9yICdAc2JiLWVzdGEvZWxlbWVudHMvdHJhaW4ucHVyZS5qcycgaW5zdGVhZC5gKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsOEJBQThCLFFBQVE7QUFFdEMsUUFBUSxLQUFLO3lGQUM0RSJ9
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tYmxvY2tlZC1wYXNzYWdlLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90cmFpbi90cmFpbi1ibG9ja2VkLXBhc3NhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBlbnRyeXBvaW50ICovXG5pbXBvcnQgeyBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCB9IGZyb20gJy4vdHJhaW4tYmxvY2tlZC1wYXNzYWdlL3RyYWluLWJsb2NrZWQtcGFzc2FnZS5jb21wb25lbnQudHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL3RyYWluLWJsb2NrZWQtcGFzc2FnZS90cmFpbi1ibG9ja2VkLXBhc3NhZ2UuY29tcG9uZW50LnRzJztcblxuU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQuZGVmaW5lKCk7XG5cbmNvbnNvbGUud2FybihgVGhlIGVudHJ5cG9pbnQgJ0BzYmItZXN0YS9lbGVtZW50cy90cmFpbi90cmFpbi1ibG9ja2VkLXBhc3NhZ2UuanMnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuXG5Vc2UgZWl0aGVyICdAc2JiLWVzdGEvZWxlbWVudHMvdHJhaW4uanMnIG9yICdAc2JiLWVzdGEvZWxlbWVudHMvdHJhaW4ucHVyZS5qcycgaW5zdGVhZC5gKTtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsOEJBQThCLE9BQU07QUFFcEMsUUFBUSxLQUFLO3dGQUMyRSJ9