valtech-components 2.0.404 → 2.0.407

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 (280) hide show
  1. package/README.md +71 -0
  2. package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +4 -4
  3. package/esm2022/lib/components/atoms/avatar/types.mjs +1 -1
  4. package/esm2022/lib/components/atoms/box/box.component.mjs +4 -4
  5. package/esm2022/lib/components/atoms/box/types.mjs +1 -1
  6. package/esm2022/lib/components/atoms/button/button.component.mjs +6 -6
  7. package/esm2022/lib/components/atoms/button/factory.mjs +1 -1
  8. package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +343 -0
  9. package/esm2022/lib/components/atoms/countdown/types.mjs +27 -0
  10. package/esm2022/lib/components/atoms/display/display.component.mjs +4 -4
  11. package/esm2022/lib/components/atoms/display/types.mjs +1 -1
  12. package/esm2022/lib/components/atoms/divider/divider.component.mjs +4 -4
  13. package/esm2022/lib/components/atoms/divider/types.mjs +1 -1
  14. package/esm2022/lib/components/atoms/fab/fab.component.mjs +152 -0
  15. package/esm2022/lib/components/atoms/fab/types.mjs +2 -0
  16. package/esm2022/lib/components/atoms/href/href.component.mjs +4 -4
  17. package/esm2022/lib/components/atoms/href/types.mjs +1 -1
  18. package/esm2022/lib/components/atoms/icon/icon.component.mjs +4 -4
  19. package/esm2022/lib/components/atoms/icon/types.mjs +1 -1
  20. package/esm2022/lib/components/atoms/image/image.component.mjs +6 -6
  21. package/esm2022/lib/components/atoms/image/types.mjs +1 -1
  22. package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +245 -0
  23. package/esm2022/lib/components/atoms/price-tag/types.mjs +15 -0
  24. package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +4 -4
  25. package/esm2022/lib/components/atoms/progress-bar/types.mjs +1 -1
  26. package/esm2022/lib/components/atoms/progress-ring/progress-ring.component.mjs +149 -0
  27. package/esm2022/lib/components/atoms/progress-ring/types.mjs +2 -0
  28. package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +417 -0
  29. package/esm2022/lib/components/atoms/qr-code/types.mjs +2 -0
  30. package/esm2022/lib/components/atoms/skeleton/skeleton.component.mjs +193 -0
  31. package/esm2022/lib/components/atoms/skeleton/types.mjs +13 -0
  32. package/esm2022/lib/components/atoms/text/text.component.mjs +4 -4
  33. package/esm2022/lib/components/atoms/text/types.mjs +1 -1
  34. package/esm2022/lib/components/atoms/title/title.component.mjs +4 -4
  35. package/esm2022/lib/components/atoms/title/types.mjs +1 -1
  36. package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +139 -0
  37. package/esm2022/lib/components/molecules/accordion/types.mjs +2 -0
  38. package/esm2022/lib/components/molecules/action-header/action-header.component.mjs +4 -4
  39. package/esm2022/lib/components/molecules/action-header/types.mjs +1 -1
  40. package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +4 -4
  41. package/esm2022/lib/components/molecules/alert-box/types.mjs +1 -1
  42. package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +137 -0
  43. package/esm2022/lib/components/molecules/breadcrumb/types.mjs +2 -0
  44. package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +4 -4
  45. package/esm2022/lib/components/molecules/button-group/types.mjs +1 -1
  46. package/esm2022/lib/components/molecules/card/card.component.mjs +5 -5
  47. package/esm2022/lib/components/molecules/card/types.mjs +1 -1
  48. package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +4 -4
  49. package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +174 -0
  50. package/esm2022/lib/components/molecules/chip-group/types.mjs +2 -0
  51. package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +4 -4
  52. package/esm2022/lib/components/molecules/code-display/types.mjs +1 -1
  53. package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +4 -4
  54. package/esm2022/lib/components/molecules/command-display/types.mjs +1 -1
  55. package/esm2022/lib/components/molecules/comment/comment.component.mjs +634 -0
  56. package/esm2022/lib/components/molecules/comment/types.mjs +2 -0
  57. package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +4 -4
  58. package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +4 -4
  59. package/esm2022/lib/components/molecules/content-loader/types.mjs +1 -1
  60. package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +368 -0
  61. package/esm2022/lib/components/molecules/currency-input/types.mjs +18 -0
  62. package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +5 -5
  63. package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +418 -0
  64. package/esm2022/lib/components/molecules/date-range-input/types.mjs +2 -0
  65. package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +4 -4
  66. package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +4 -4
  67. package/esm2022/lib/components/molecules/expandable-text/types.mjs +1 -1
  68. package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +4 -4
  69. package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +279 -0
  70. package/esm2022/lib/components/molecules/glow-card/types.mjs +11 -0
  71. package/esm2022/lib/components/molecules/hint/hint.component.mjs +4 -4
  72. package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +4 -4
  73. package/esm2022/lib/components/molecules/info/info.component.mjs +4 -4
  74. package/esm2022/lib/components/molecules/info/types.mjs +1 -1
  75. package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +4 -4
  76. package/esm2022/lib/components/molecules/language-selector/types.mjs +1 -1
  77. package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +4 -4
  78. package/esm2022/lib/components/molecules/layered-card/types.mjs +1 -1
  79. package/esm2022/lib/components/molecules/link/link.component.mjs +4 -4
  80. package/esm2022/lib/components/molecules/link/types.mjs +1 -1
  81. package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +4 -4
  82. package/esm2022/lib/components/molecules/links-cake/types.mjs +1 -1
  83. package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +5 -5
  84. package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +4 -4
  85. package/esm2022/lib/components/molecules/notes-box/types.mjs +1 -1
  86. package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +4 -4
  87. package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +4 -4
  88. package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +377 -0
  89. package/esm2022/lib/components/molecules/number-stepper/types.mjs +2 -0
  90. package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +253 -0
  91. package/esm2022/lib/components/molecules/pagination/types.mjs +2 -0
  92. package/esm2022/lib/components/molecules/participant-card/participant-card.component.mjs +486 -0
  93. package/esm2022/lib/components/molecules/participant-card/types.mjs +21 -0
  94. package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +4 -4
  95. package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +336 -0
  96. package/esm2022/lib/components/molecules/phone-input/types.mjs +19 -0
  97. package/esm2022/lib/components/molecules/pill/pill.component.mjs +4 -4
  98. package/esm2022/lib/components/molecules/pill/types.mjs +1 -1
  99. package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +4 -4
  100. package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +4 -4
  101. package/esm2022/lib/components/molecules/plain-code-box/types.mjs +1 -1
  102. package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +5 -5
  103. package/esm2022/lib/components/molecules/popover-selector/types.mjs +1 -1
  104. package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +4 -4
  105. package/esm2022/lib/components/molecules/progress-status/types.mjs +1 -1
  106. package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +4 -4
  107. package/esm2022/lib/components/molecules/prompter/types.mjs +1 -1
  108. package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +155 -0
  109. package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +5 -5
  110. package/esm2022/lib/components/molecules/raffle-status-card/raffle-status-card.component.mjs +484 -0
  111. package/esm2022/lib/components/molecules/raffle-status-card/types.mjs +23 -0
  112. package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +148 -0
  113. package/esm2022/lib/components/molecules/range-input/types.mjs +2 -0
  114. package/esm2022/lib/components/molecules/rating/rating.component.mjs +149 -0
  115. package/esm2022/lib/components/molecules/rating/types.mjs +2 -0
  116. package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +4 -4
  117. package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +145 -0
  118. package/esm2022/lib/components/molecules/segment-control/types.mjs +2 -0
  119. package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +5 -5
  120. package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +5 -5
  121. package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +277 -0
  122. package/esm2022/lib/components/molecules/share-buttons/types.mjs +88 -0
  123. package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +165 -0
  124. package/esm2022/lib/components/molecules/stats-card/types.mjs +2 -0
  125. package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +239 -0
  126. package/esm2022/lib/components/molecules/stepper/types.mjs +2 -0
  127. package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +135 -0
  128. package/esm2022/lib/components/molecules/tabs/types.mjs +2 -0
  129. package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +4 -4
  130. package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +204 -0
  131. package/esm2022/lib/components/molecules/textarea-input/types.mjs +2 -0
  132. package/esm2022/lib/components/molecules/ticket-grid/ticket-grid.component.mjs +497 -0
  133. package/esm2022/lib/components/molecules/ticket-grid/types.mjs +11 -0
  134. package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +140 -0
  135. package/esm2022/lib/components/molecules/timeline/types.mjs +2 -0
  136. package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +4 -4
  137. package/esm2022/lib/components/molecules/title-block/types.mjs +1 -1
  138. package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +89 -0
  139. package/esm2022/lib/components/molecules/toggle-input/types.mjs +2 -0
  140. package/esm2022/lib/components/molecules/winner-display/types.mjs +9 -0
  141. package/esm2022/lib/components/molecules/winner-display/winner-display.component.mjs +370 -0
  142. package/esm2022/lib/components/organisms/article/article.component.mjs +4 -4
  143. package/esm2022/lib/components/organisms/article/types.mjs +1 -1
  144. package/esm2022/lib/components/organisms/banner/banner.component.mjs +4 -4
  145. package/esm2022/lib/components/organisms/banner/types.mjs +1 -1
  146. package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +578 -0
  147. package/esm2022/lib/components/organisms/comment-section/types.mjs +2 -0
  148. package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +853 -0
  149. package/esm2022/lib/components/organisms/data-table/types.mjs +13 -0
  150. package/esm2022/lib/components/organisms/footer/footer.component.mjs +4 -4
  151. package/esm2022/lib/components/organisms/footer/types.mjs +1 -1
  152. package/esm2022/lib/components/organisms/form/factory.mjs +1 -1
  153. package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +4 -4
  154. package/esm2022/lib/components/organisms/form/form.component.mjs +4 -4
  155. package/esm2022/lib/components/organisms/header/header.component.mjs +4 -4
  156. package/esm2022/lib/components/organisms/header/types.mjs +1 -1
  157. package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +4 -4
  158. package/esm2022/lib/components/organisms/item-list/types.mjs +1 -1
  159. package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +4 -4
  160. package/esm2022/lib/components/organisms/no-content/types.mjs +1 -1
  161. package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +4 -4
  162. package/esm2022/lib/components/organisms/toolbar/types.mjs +1 -1
  163. package/esm2022/lib/components/organisms/wizard/types.mjs +1 -1
  164. package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +4 -4
  165. package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +4 -4
  166. package/esm2022/lib/components/templates/layout/layout.component.mjs +4 -4
  167. package/esm2022/lib/components/templates/simple/simple.component.mjs +5 -5
  168. package/esm2022/lib/components/templates/simple/types.mjs +1 -1
  169. package/esm2022/lib/components/types.mjs +22 -16
  170. package/esm2022/lib/services/confirmation-dialog/confirmation-dialog.service.mjs +180 -0
  171. package/esm2022/lib/services/confirmation-dialog/types.mjs +14 -0
  172. package/esm2022/lib/services/download.service.mjs +4 -4
  173. package/esm2022/lib/services/icons.service.mjs +4 -4
  174. package/esm2022/lib/services/in-app-browser.service.mjs +4 -4
  175. package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +1 -1
  176. package/esm2022/lib/services/lang-provider/content.mjs +1 -1
  177. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +4 -4
  178. package/esm2022/lib/services/lang-provider/types.mjs +1 -1
  179. package/esm2022/lib/services/link-processor.service.mjs +4 -4
  180. package/esm2022/lib/services/local-storage.service.mjs +1 -1
  181. package/esm2022/lib/services/modal/modal.service.mjs +213 -0
  182. package/esm2022/lib/services/modal/simple-modal-content.component.mjs +133 -0
  183. package/esm2022/lib/services/modal/types.mjs +26 -0
  184. package/esm2022/lib/services/navigation.service.mjs +4 -4
  185. package/esm2022/lib/services/qr-generator/qr-generator.service.mjs +341 -0
  186. package/esm2022/lib/services/qr-generator/types.mjs +46 -0
  187. package/esm2022/lib/services/theme.service.mjs +4 -4
  188. package/esm2022/lib/services/toast.service.mjs +4 -4
  189. package/esm2022/lib/services/types.mjs +1 -1
  190. package/esm2022/lib/shared/constants/storage.mjs +1 -1
  191. package/esm2022/lib/shared/pipes/process-links.pipe.mjs +4 -4
  192. package/esm2022/lib/shared/utils/content.mjs +1 -1
  193. package/esm2022/lib/shared/utils/dom.mjs +1 -1
  194. package/esm2022/lib/shared/utils/form-defaults.mjs +1 -1
  195. package/esm2022/lib/shared/utils/simple-content.mjs +1 -1
  196. package/esm2022/lib/shared/utils/styles.mjs +1 -1
  197. package/esm2022/lib/shared/utils/text.mjs +1 -1
  198. package/esm2022/public-api.mjs +73 -3
  199. package/esm2022/valtech-components.mjs +1 -1
  200. package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs +136 -0
  201. package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs.map +1 -0
  202. package/fesm2022/valtech-components.mjs +14848 -4293
  203. package/fesm2022/valtech-components.mjs.map +1 -1
  204. package/lib/components/atoms/countdown/countdown.component.d.ts +38 -0
  205. package/lib/components/atoms/countdown/types.d.ts +108 -0
  206. package/lib/components/atoms/fab/fab.component.d.ts +16 -0
  207. package/lib/components/atoms/fab/types.d.ts +45 -0
  208. package/lib/components/atoms/price-tag/price-tag.component.d.ts +16 -0
  209. package/lib/components/atoms/price-tag/types.d.ts +59 -0
  210. package/lib/components/atoms/progress-ring/progress-ring.component.d.ts +20 -0
  211. package/lib/components/atoms/progress-ring/types.d.ts +24 -0
  212. package/lib/components/atoms/qr-code/qr-code.component.d.ts +36 -0
  213. package/lib/components/atoms/qr-code/types.d.ts +124 -0
  214. package/lib/components/atoms/skeleton/skeleton.component.d.ts +12 -0
  215. package/lib/components/atoms/skeleton/types.d.ts +29 -0
  216. package/lib/components/molecules/accordion/accordion.component.d.ts +19 -0
  217. package/lib/components/molecules/accordion/types.d.ts +47 -0
  218. package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +22 -0
  219. package/lib/components/molecules/breadcrumb/types.d.ts +45 -0
  220. package/lib/components/molecules/chip-group/chip-group.component.d.ts +22 -0
  221. package/lib/components/molecules/chip-group/types.d.ts +65 -0
  222. package/lib/components/molecules/comment/comment.component.d.ts +42 -0
  223. package/lib/components/molecules/comment/types.d.ts +171 -0
  224. package/lib/components/molecules/currency-input/currency-input.component.d.ts +43 -0
  225. package/lib/components/molecules/currency-input/types.d.ts +96 -0
  226. package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +42 -0
  227. package/lib/components/molecules/date-range-input/types.d.ts +109 -0
  228. package/lib/components/molecules/glow-card/glow-card.component.d.ts +51 -0
  229. package/lib/components/molecules/glow-card/types.d.ts +92 -0
  230. package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +34 -0
  231. package/lib/components/molecules/number-stepper/types.d.ts +88 -0
  232. package/lib/components/molecules/pagination/pagination.component.d.ts +15 -0
  233. package/lib/components/molecules/pagination/types.d.ts +41 -0
  234. package/lib/components/molecules/participant-card/participant-card.component.d.ts +26 -0
  235. package/lib/components/molecules/participant-card/types.d.ts +132 -0
  236. package/lib/components/molecules/phone-input/phone-input.component.d.ts +38 -0
  237. package/lib/components/molecules/phone-input/types.d.ts +98 -0
  238. package/lib/components/molecules/quote-box/quote-box.component.d.ts +26 -0
  239. package/lib/components/molecules/raffle-status-card/raffle-status-card.component.d.ts +22 -0
  240. package/lib/components/molecules/raffle-status-card/types.d.ts +108 -0
  241. package/lib/components/molecules/range-input/range-input.component.d.ts +30 -0
  242. package/lib/components/molecules/range-input/types.d.ts +59 -0
  243. package/lib/components/molecules/rating/rating.component.d.ts +17 -0
  244. package/lib/components/molecules/rating/types.d.ts +41 -0
  245. package/lib/components/molecules/segment-control/segment-control.component.d.ts +30 -0
  246. package/lib/components/molecules/segment-control/types.d.ts +46 -0
  247. package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +22 -0
  248. package/lib/components/molecules/share-buttons/types.d.ts +108 -0
  249. package/lib/components/molecules/stats-card/stats-card.component.d.ts +14 -0
  250. package/lib/components/molecules/stats-card/types.d.ts +41 -0
  251. package/lib/components/molecules/stepper/stepper.component.d.ts +21 -0
  252. package/lib/components/molecules/stepper/types.d.ts +66 -0
  253. package/lib/components/molecules/tabs/tabs.component.d.ts +17 -0
  254. package/lib/components/molecules/tabs/types.d.ts +45 -0
  255. package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +27 -0
  256. package/lib/components/molecules/textarea-input/types.d.ts +74 -0
  257. package/lib/components/molecules/ticket-grid/ticket-grid.component.d.ts +41 -0
  258. package/lib/components/molecules/ticket-grid/types.d.ts +122 -0
  259. package/lib/components/molecules/timeline/timeline.component.d.ts +14 -0
  260. package/lib/components/molecules/timeline/types.d.ts +39 -0
  261. package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +24 -0
  262. package/lib/components/molecules/toggle-input/types.d.ts +30 -0
  263. package/lib/components/molecules/winner-display/types.d.ts +103 -0
  264. package/lib/components/molecules/winner-display/winner-display.component.d.ts +37 -0
  265. package/lib/components/organisms/article/article.component.d.ts +1 -1
  266. package/lib/components/organisms/comment-section/comment-section.component.d.ts +52 -0
  267. package/lib/components/organisms/comment-section/types.d.ts +144 -0
  268. package/lib/components/organisms/data-table/data-table.component.d.ts +46 -0
  269. package/lib/components/organisms/data-table/types.d.ts +205 -0
  270. package/lib/components/types.d.ts +21 -15
  271. package/lib/services/confirmation-dialog/confirmation-dialog.service.d.ts +71 -0
  272. package/lib/services/confirmation-dialog/types.d.ts +61 -0
  273. package/lib/services/modal/modal.service.d.ts +98 -0
  274. package/lib/services/modal/simple-modal-content.component.d.ts +19 -0
  275. package/lib/services/modal/types.d.ts +155 -0
  276. package/lib/services/qr-generator/qr-generator.service.d.ts +115 -0
  277. package/lib/services/qr-generator/types.d.ts +141 -0
  278. package/package.json +11 -4
  279. package/public-api.d.ts +72 -2
  280. package/LICENSE +0 -21
package/README.md CHANGED
@@ -29,6 +29,77 @@ npm install valtech-components
29
29
 
30
30
  > Make sure you have the required peer dependencies installed: `@angular/core`, `@ionic/angular`, `ionicons`, `rxjs`.
31
31
 
32
+ ## Development
33
+
34
+ ### Prerequisites
35
+
36
+ - Node.js 18+
37
+ - npm 9+
38
+
39
+ ### Setup
40
+
41
+ ```bash
42
+ # Install dependencies
43
+ npm install
44
+ ```
45
+
46
+ ### Available Scripts
47
+
48
+ | Command | Description |
49
+ |---------|-------------|
50
+ | `npm run build` | Build the library (production) |
51
+ | `npm run build:prod` | Build with production config |
52
+ | `npm run storybook` | Start Storybook dev server (port 6006) |
53
+ | `npm run build-storybook` | Build static Storybook |
54
+ | `npm run test` | Run unit tests |
55
+ | `npm run prettier` | Format source files |
56
+
57
+ ### Storybook
58
+
59
+ Storybook is included for component development and documentation:
60
+
61
+ ```bash
62
+ # Start Storybook development server
63
+ npm run storybook
64
+
65
+ # Open http://localhost:6006
66
+ ```
67
+
68
+ ### Project Structure
69
+
70
+ ```
71
+ valtech-components/
72
+ ├── .storybook/ # Storybook configuration
73
+ ├── src/
74
+ │ ├── lib/
75
+ │ │ ├── components/ # UI components (atoms, molecules, organisms, templates)
76
+ │ │ ├── services/ # Angular services
77
+ │ │ ├── shared/ # Utilities, pipes, constants
78
+ │ │ └── assets/ # Fonts and static resources
79
+ │ ├── stories/ # Storybook documentation
80
+ │ └── public-api.ts # Library exports
81
+ ├── styles/ # Global SCSS styles
82
+ ├── angular.json # Angular CLI config
83
+ ├── ng-package.json # ng-packagr config
84
+ └── package.json # Dependencies and scripts
85
+ ```
86
+
87
+ ### Building the Library
88
+
89
+ ```bash
90
+ # Development build
91
+ npm run build
92
+
93
+ # Production build (optimized)
94
+ npm run build:prod
95
+
96
+ # Output: ./dist/valtech-components/
97
+ ```
98
+
99
+ ### Publishing
100
+
101
+ The built library can be published to npm or used locally via `npm link`.
102
+
32
103
  ## Usage
33
104
 
34
105
  Import the desired standalone components in your Angular modules or components:
@@ -23,8 +23,8 @@ export class AvatarComponent {
23
23
  onClickHandler() {
24
24
  this.onClick.emit();
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: AvatarComponent, isStandalone: true, selector: "val-avatar", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AvatarComponent, isStandalone: true, selector: "val-avatar", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
28
28
  <ion-avatar
29
29
  aria-hidden="true"
30
30
  [class]="props.size"
@@ -36,7 +36,7 @@ export class AvatarComponent {
36
36
  </ion-avatar>
37
37
  `, isInline: true, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.box{--border-radius: pxToRem(4)}.small{width:1.75rem;height:1.75rem}.medium{width:2.375rem;height:2.375rem}.large{width:3rem;height:3rem}.grayscale img{filter:grayscale(100%)}.grayscale:hover img{filter:grayscale(0%)}\n"], dependencies: [{ kind: "component", type: IonAvatar, selector: "ion-avatar" }] }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AvatarComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AvatarComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'val-avatar', standalone: true, imports: [IonAvatar], template: `
42
42
  <ion-avatar
@@ -54,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
54
54
  }], onClick: [{
55
55
  type: Output
56
56
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBb0J0RDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFTMUI7UUFOQTs7V0FFRztRQUVILFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWQsQ0FBQztJQUVoQixRQUFRLEtBQUksQ0FBQztJQUViLGNBQWM7UUFDWixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBZlUsZUFBZTttR0FBZixlQUFlLG1JQXhCaEI7Ozs7Ozs7Ozs7R0FVVCwweUZBWFMsU0FBUzs7NEZBeUJSLGVBQWU7a0JBNUIzQixTQUFTOytCQUNFLFlBQVksY0FDVixJQUFJLFdBQ1AsQ0FBQyxTQUFTLENBQUMsWUFDVjs7Ozs7Ozs7OztHQVVUO3dEQWVRLEtBQUs7c0JBQWIsS0FBSztnQkFNTixPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25BdmF0YXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEF2YXRhck1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1hdmF0YXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbSW9uQXZhdGFyXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aW9uLWF2YXRhclxuICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgIFtjbGFzc109XCJwcm9wcy5zaXplXCJcbiAgICAgIFtjbGFzcy5ib3hdPVwicHJvcHMuYm94XCJcbiAgICAgIFtjbGFzcy5ncmF5c2NhbGVdPVwicHJvcHMuZ3JheXNjYWxlXCJcbiAgICAgIChjbGljayk9XCJvbkNsaWNrSGFuZGxlcigpXCJcbiAgICA+XG4gICAgICA8aW1nIGFsdD1cInByb2ZpbGUgaW1hZ2VcIiBbc3JjXT1cInByb3BzLmltYWdlIHx8IHByb3BzLmRlZmF1bHRcIiAvPlxuICAgIDwvaW9uLWF2YXRhcj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYXZhdGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtYXZhdGFyXG4gKlxuICogRGlzcGxheXMgYSB1c2VyIG9yIHByb2ZpbGUgaW1hZ2UsIG9wdGlvbmFsbHkgd2l0aCBhIGJveCBzdHlsZSBhbmQgZGlmZmVyZW50IHNpemVzLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWF2YXRhciBbcHJvcHNdPVwieyBpbWFnZTogJ3VybCcsIHNpemU6ICdtZWRpdW0nLCBib3g6IHRydWUgfVwiIChvbkNsaWNrKT1cImhhbmRsZXIoKVwiPjwvdmFsLWF2YXRhcj5cbiAqXG4gKiBAaW5wdXQgcHJvcHM6IEF2YXRhck1ldGFkYXRhIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGF2YXRhciAoaW1hZ2UsIHNpemUsIGJveCwgZGVmYXVsdCBpbWFnZSlcbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRzIHdoZW4gdGhlIGF2YXRhciBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBBdmF0YXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwcm9wczogQXZhdGFyTWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYXZhdGFyIGlzIGNsaWNrZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG9uQ2xpY2tIYW5kbGVyKCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFvQnREOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQVMxQjtRQU5BOztXQUVHO1FBRUgsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFZCxDQUFDO0lBRWhCLFFBQVEsS0FBSSxDQUFDO0lBRWIsY0FBYztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzsrR0FmVSxlQUFlO21HQUFmLGVBQWUsbUlBeEJoQjs7Ozs7Ozs7OztHQVVULDB5RkFYUyxTQUFTOzs0RkF5QlIsZUFBZTtrQkE1QjNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLFNBQVMsQ0FBQyxZQUNWOzs7Ozs7Ozs7O0dBVVQ7d0RBZVEsS0FBSztzQkFBYixLQUFLO2dCQU1OLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkF2YXRhciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgQXZhdGFyTWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWF2YXRhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtJb25BdmF0YXJdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tYXZhdGFyXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgW2NsYXNzXT1cInByb3BzLnNpemVcIlxuICAgICAgW2NsYXNzLmJveF09XCJwcm9wcy5ib3hcIlxuICAgICAgW2NsYXNzLmdyYXlzY2FsZV09XCJwcm9wcy5ncmF5c2NhbGVcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tIYW5kbGVyKClcIlxuICAgID5cbiAgICAgIDxpbWcgYWx0PVwicHJvZmlsZSBpbWFnZVwiIFtzcmNdPVwicHJvcHMuaW1hZ2UgfHwgcHJvcHMuZGVmYXVsdFwiIC8+XG4gICAgPC9pb24tYXZhdGFyPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9hdmF0YXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1hdmF0YXJcbiAqXG4gKiBEaXNwbGF5cyBhIHVzZXIgb3IgcHJvZmlsZSBpbWFnZSwgb3B0aW9uYWxseSB3aXRoIGEgYm94IHN0eWxlIGFuZCBkaWZmZXJlbnQgc2l6ZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIDx2YWwtYXZhdGFyIFtwcm9wc109XCJ7IGltYWdlOiAndXJsJywgc2l6ZTogJ21lZGl1bScsIGJveDogdHJ1ZSB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYXZhdGFyPlxuICpcbiAqIEBpbnB1dCBwcm9wczogQXZhdGFyTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgYXZhdGFyIChpbWFnZSwgc2l6ZSwgYm94LCBkZWZhdWx0IGltYWdlKVxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdHMgd2hlbiB0aGUgYXZhdGFyIGlzIGNsaWNrZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEF2YXRhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHByb3BzOiBBdmF0YXJNZXRhZGF0YTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBhdmF0YXIgaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgb25DbGlja0hhbmRsZXIoKSB7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2F2YXRhci90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQcm9wcyBmb3IgdmFsLWF2YXRhciBjb21wb25lbnQuXG4gKlxuICogQHByb3BlcnR5IGltYWdlIC0gVGhlIGltYWdlIFVSTCB0byBkaXNwbGF5LlxuICogQHByb3BlcnR5IGRlZmF1bHQgLSBUaGUgZmFsbGJhY2sgaW1hZ2UgVVJMIGlmIGltYWdlIGlzIG5vdCBwcm92aWRlZC5cbiAqIEBwcm9wZXJ0eSBzaXplIC0gVGhlIHNpemUgb2YgdGhlIGF2YXRhciAoJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJykuXG4gKiBAcHJvcGVydHkgYm94IC0gV2hldGhlciB0byBkaXNwbGF5IHRoZSBhdmF0YXIgd2l0aCBhIGJveCBzdHlsZSAob3B0aW9uYWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF2YXRhck1ldGFkYXRhIHtcbiAgaW1hZ2U6IHN0cmluZztcbiAgZGVmYXVsdDogc3RyaW5nO1xuICBzaXplOiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuICBib3g/OiBib29sZWFuO1xuICBncmF5c2NhbGU/OiBib29sZWFuO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFByb3BzIGZvciB2YWwtYXZhdGFyIGNvbXBvbmVudC5cbiAqXG4gKiBAcHJvcGVydHkgaW1hZ2UgLSBUaGUgaW1hZ2UgVVJMIHRvIGRpc3BsYXkuXG4gKiBAcHJvcGVydHkgZGVmYXVsdCAtIFRoZSBmYWxsYmFjayBpbWFnZSBVUkwgaWYgaW1hZ2UgaXMgbm90IHByb3ZpZGVkLlxuICogQHByb3BlcnR5IHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgYXZhdGFyICgnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnKS5cbiAqIEBwcm9wZXJ0eSBib3ggLSBXaGV0aGVyIHRvIGRpc3BsYXkgdGhlIGF2YXRhciB3aXRoIGEgYm94IHN0eWxlIChvcHRpb25hbCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXZhdGFyTWV0YWRhdGEge1xuICBpbWFnZTogc3RyaW5nO1xuICBkZWZhdWx0OiBzdHJpbmc7XG4gIHNpemU6ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZSc7XG4gIGJveD86IGJvb2xlYW47XG4gIGdyYXlzY2FsZT86IGJvb2xlYW47XG59XG4iXX0=
@@ -28,8 +28,8 @@ export class BoxComponent {
28
28
  clickHandler() {
29
29
  this.onClick.emit();
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BoxComponent, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
32
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BoxComponent, isStandalone: true, selector: "val-box", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BoxComponent, deps: [{ token: i1.IconService }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BoxComponent, isStandalone: true, selector: "val-box", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
33
33
  <ion-card
34
34
  class="box"
35
35
  [color]="props.color"
@@ -54,7 +54,7 @@ export class BoxComponent {
54
54
  </ion-card>
55
55
  `, isInline: true, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}.bordered{border:.0625rem solid var(--ion-color-medium)}.box{width:100%;margin:0rem;border-radius:0rem;box-shadow:none;padding:0rem}.box.rounded{border-radius:1.125rem}.icon{cursor:pointer;margin:0rem;padding:0rem;position:absolute;right:.25rem;top:.25rem;font-size:1.5rem}@media (min-width: 768px){.icon{right:.5rem;top:.5rem;font-size:2rem}}.left-border{border-left:.1875rem solid #dde3ed}.left-border.small{border-width:.1875rem}.left-border.medium{border-width:.375rem}.left-border.large{border-width:.4375rem}.left-border.xlarge{border-width:.5rem}.transparent{--background: transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }] }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BoxComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BoxComponent, decorators: [{
58
58
  type: Component,
59
59
  args: [{ selector: 'val-box', standalone: true, imports: [CommonModule, IonCard, IonIcon, NgStyle], template: `
60
60
  <ion-card
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
85
85
  }], onClick: [{
86
86
  type: Output
87
87
  }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYm94L2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7QUFrQzdEOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBb0J2QixZQUFZLElBQWlCO1FBTjdCOztXQUVHO1FBRUgsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFRyxDQUFDO0lBRWpDLFFBQVEsS0FBSSxDQUFDO0lBRWIsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQzsrR0ExQlUsWUFBWTttR0FBWixZQUFZLGdJQXZDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1QlQsK3BHQXhCUyxZQUFZLG9IQUFFLE9BQU8seUxBQUUsT0FBTzs7NEZBd0M3QixZQUFZO2tCQTNDeEIsU0FBUzsrQkFDRSxTQUFTLGNBQ1AsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQ3hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDtnRkE0QkQsS0FBSztzQkFESixLQUFLO2dCQU9OLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25DYXJkLCBJb25JY29uIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ljb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQm94TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWJveCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkNhcmQsIElvbkljb24sIE5nU3R5bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tY2FyZFxuICAgICAgY2xhc3M9XCJib3hcIlxuICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yXCJcbiAgICAgIFtjbGFzcy5yb3VuZGVkXT1cInByb3BzLnJvdW5kZWRcIlxuICAgICAgW2NsYXNzLmJvcmRlcmVkXT1cInByb3BzLmJvcmRlcmVkXCJcbiAgICAgIFtjbGFzcy50cmFuc3BhcmVudF09XCIhcHJvcHMuY29sb3JcIlxuICAgICAgW2NsYXNzLmxlZnQtYm9yZGVyXT1cInByb3BzLmxlZnRCb3JkZXJcIlxuICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICBwYWRkaW5nOiBwcm9wcy5wYWRkaW5nID8gcHJvcHMucGFkZGluZyA6ICcwcHgnLFxuICAgICAgfVwiXG4gICAgPlxuICAgICAgQGlmIChwcm9wcy5pY29uKSB7XG4gICAgICAgIDxpb24taWNvbiBjbGFzcz1cImljb25cIiBbbmFtZV09XCJwcm9wcy5pY29uXCIgKGNsaWNrKT1cImNsaWNrSGFuZGxlcigpXCI+PC9pb24taWNvbj5cbiAgICAgIH1cbiAgICAgIDxkaXZcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICdtYXJnaW4tcmlnaHQnOiBwcm9wcy5pY29uID8gJzI0cHgnIDogJzBweCcsXG4gICAgICAgIH1cIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYm9keV1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2lvbi1jYXJkPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9ib3guY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1ib3hcbiAqXG4gKiBBIHN0eWxpemVkIGNhcmQgY29udGFpbmVyIGZvciBncm91cGluZyBjb250ZW50LCB3aXRoIG9wdGlvbmFsIGljb24sIGNvbG9yLCBib3JkZXIsIGFuZCBjbGljayBldmVudC5cbiAqXG4gKiBAZXhhbXBsZVxuICogPHZhbC1ib3ggW3Byb3BzXT1cInsgY29sb3I6ICdwcmltYXJ5Jywgcm91bmRlZDogdHJ1ZSwgaWNvbjogJ3N0YXInIH1cIiAob25DbGljayk9XCJoYW5kbGVyKClcIj5cbiAqICAgPGRpdiBib2R5PkNvbnRlbnQgaGVyZTwvZGl2PlxuICogPC92YWwtYm94PlxuICpcbiAqIEBpbnB1dCBwcm9wczogQm94TWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgYm94IChjb2xvciwgaWNvbiwgYm9yZGVyLCBldGMuKVxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdHMgd2hlbiB0aGUgYm94IG9yIGl0cyBpY29uIGlzIGNsaWNrZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBCb3ggY29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEB0eXBlIHtCb3hNZXRhZGF0YX1cbiAgICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIGNvbG9yIG9mIHRoZSBib3ggKElvbmljIGNvbG9yIHN0cmluZykuXG4gICAqIEBwcm9wZXJ0eSBpY29uIC0gVGhlIG5hbWUgb2YgdGhlIGljb24gdG8gZGlzcGxheSAob3B0aW9uYWwpLlxuICAgKiBAcHJvcGVydHkgYm9yZGVyZWQgLSBXaGV0aGVyIHRoZSBib3ggaGFzIGEgYm9yZGVyIChvcHRpb25hbCkuXG4gICAqIEBwcm9wZXJ0eSBsZWZ0Qm9yZGVyIC0gV2hldGhlciB0aGUgYm94IGhhcyBhIGxlZnQgYm9yZGVyIChvcHRpb25hbCkuXG4gICAqIEBwcm9wZXJ0eSByb3VuZGVkIC0gV2hldGhlciB0aGUgYm94IGhhcyByb3VuZGVkIGNvcm5lcnMgKG9wdGlvbmFsKS5cbiAgICogQHByb3BlcnR5IHBhZGRpbmcgLSBDdXN0b20gcGFkZGluZyBmb3IgdGhlIGJveCAob3B0aW9uYWwpLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHJvcHM6IEJveE1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGJveCBvciBpdHMgaWNvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoaWNvbjogSWNvblNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIGNsaWNrSGFuZGxlcigpIHtcbiAgICB0aGlzLm9uQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9ib3gvYm94LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQWtDN0Q7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFvQnZCLFlBQVksSUFBaUI7UUFON0I7O1dBRUc7UUFFSCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVHLENBQUM7SUFFakMsUUFBUSxLQUFJLENBQUM7SUFFYixZQUFZO1FBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOytHQTFCVSxZQUFZO21HQUFaLFlBQVksZ0lBdkNiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVCwrcEdBeEJTLFlBQVksb0hBQUUsT0FBTyx5TEFBRSxPQUFPOzs0RkF3QzdCLFlBQVk7a0JBM0N4QixTQUFTOytCQUNFLFNBQVMsY0FDUCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFDeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUO2dGQTRCRCxLQUFLO3NCQURKLEtBQUs7Z0JBT04sT0FBTztzQkFETixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkNhcmQsIElvbkljb24gfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IEljb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvaWNvbnMuc2VydmljZSc7XG5pbXBvcnQgeyBCb3hNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYm94JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSW9uQ2FyZCwgSW9uSWNvbiwgTmdTdHlsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1jYXJkXG4gICAgICBjbGFzcz1cImJveFwiXG4gICAgICBbY29sb3JdPVwicHJvcHMuY29sb3JcIlxuICAgICAgW2NsYXNzLnJvdW5kZWRdPVwicHJvcHMucm91bmRlZFwiXG4gICAgICBbY2xhc3MuYm9yZGVyZWRdPVwicHJvcHMuYm9yZGVyZWRcIlxuICAgICAgW2NsYXNzLnRyYW5zcGFyZW50XT1cIiFwcm9wcy5jb2xvclwiXG4gICAgICBbY2xhc3MubGVmdC1ib3JkZXJdPVwicHJvcHMubGVmdEJvcmRlclwiXG4gICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgIHBhZGRpbmc6IHByb3BzLnBhZGRpbmcgPyBwcm9wcy5wYWRkaW5nIDogJzBweCcsXG4gICAgICB9XCJcbiAgICA+XG4gICAgICBAaWYgKHByb3BzLmljb24pIHtcbiAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwiaWNvblwiIFtuYW1lXT1cInByb3BzLmljb25cIiAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKClcIj48L2lvbi1pY29uPlxuICAgICAgfVxuICAgICAgPGRpdlxuICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgJ21hcmdpbi1yaWdodCc6IHByb3BzLmljb24gPyAnMjRweCcgOiAnMHB4JyxcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltib2R5XVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvaW9uLWNhcmQ+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2JveC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qKlxuICogdmFsLWJveFxuICpcbiAqIEEgc3R5bGl6ZWQgY2FyZCBjb250YWluZXIgZm9yIGdyb3VwaW5nIGNvbnRlbnQsIHdpdGggb3B0aW9uYWwgaWNvbiwgY29sb3IsIGJvcmRlciwgYW5kIGNsaWNrIGV2ZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLWJveCBbcHJvcHNdPVwieyBjb2xvcjogJ3ByaW1hcnknLCByb3VuZGVkOiB0cnVlLCBpY29uOiAnc3RhcicgfVwiIChvbkNsaWNrKT1cImhhbmRsZXIoKVwiPlxuICogICA8ZGl2IGJvZHk+Q29udGVudCBoZXJlPC9kaXY+XG4gKiA8L3ZhbC1ib3g+XG4gKlxuICogQGlucHV0IHByb3BzOiBCb3hNZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBib3ggKGNvbG9yLCBpY29uLCBib3JkZXIsIGV0Yy4pXG4gKiBAb3V0cHV0IG9uQ2xpY2sgLSBFbWl0cyB3aGVuIHRoZSBib3ggb3IgaXRzIGljb24gaXMgY2xpY2tlZFxuICovXG5leHBvcnQgY2xhc3MgQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEJveCBjb25maWd1cmF0aW9uIG9iamVjdC5cbiAgICogQHR5cGUge0JveE1ldGFkYXRhfVxuICAgKiBAcHJvcGVydHkgY29sb3IgLSBUaGUgY29sb3Igb2YgdGhlIGJveCAoSW9uaWMgY29sb3Igc3RyaW5nKS5cbiAgICogQHByb3BlcnR5IGljb24gLSBUaGUgbmFtZSBvZiB0aGUgaWNvbiB0byBkaXNwbGF5IChvcHRpb25hbCkuXG4gICAqIEBwcm9wZXJ0eSBib3JkZXJlZCAtIFdoZXRoZXIgdGhlIGJveCBoYXMgYSBib3JkZXIgKG9wdGlvbmFsKS5cbiAgICogQHByb3BlcnR5IGxlZnRCb3JkZXIgLSBXaGV0aGVyIHRoZSBib3ggaGFzIGEgbGVmdCBib3JkZXIgKG9wdGlvbmFsKS5cbiAgICogQHByb3BlcnR5IHJvdW5kZWQgLSBXaGV0aGVyIHRoZSBib3ggaGFzIHJvdW5kZWQgY29ybmVycyAob3B0aW9uYWwpLlxuICAgKiBAcHJvcGVydHkgcGFkZGluZyAtIEN1c3RvbSBwYWRkaW5nIGZvciB0aGUgYm94IChvcHRpb25hbCkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwcm9wczogQm94TWV0YWRhdGE7XG5cbiAgLyoqXG4gICAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgYm94IG9yIGl0cyBpY29uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihpY29uOiBJY29uU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgY2xpY2tIYW5kbGVyKCkge1xuICAgIHRoaXMub25DbGljay5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0ZWNoLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2F0b21zL2JveC90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sb3IgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbi8qKlxuICogUHJvcHMgZm9yIHZhbC1ib3ggY29tcG9uZW50LlxuICpcbiAqIEBwcm9wZXJ0eSBjb2xvciAtIFRoZSBjb2xvciBvZiB0aGUgYm94IChJb25pYyBjb2xvciBzdHJpbmcpLlxuICogQHByb3BlcnR5IGljb24gLSBUaGUgbmFtZSBvZiB0aGUgaWNvbiB0byBkaXNwbGF5IChvcHRpb25hbCkuXG4gKiBAcHJvcGVydHkgYm9yZGVyZWQgLSBXaGV0aGVyIHRoZSBib3ggaGFzIGEgYm9yZGVyIChvcHRpb25hbCkuXG4gKiBAcHJvcGVydHkgbGVmdEJvcmRlciAtIFdoZXRoZXIgdGhlIGJveCBoYXMgYSBsZWZ0IGJvcmRlciAob3B0aW9uYWwpLlxuICogQHByb3BlcnR5IHJvdW5kZWQgLSBXaGV0aGVyIHRoZSBib3ggaGFzIHJvdW5kZWQgY29ybmVycyAob3B0aW9uYWwpLlxuICogQHByb3BlcnR5IHBhZGRpbmcgLSBDdXN0b20gcGFkZGluZyBmb3IgdGhlIGJveCAob3B0aW9uYWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJveE1ldGFkYXRhIHtcbiAgY29sb3I6IENvbG9yO1xuICBpY29uOiBzdHJpbmc7XG4gIGJvcmRlcmVkPzogYm9vbGVhbjtcbiAgbGVmdEJvcmRlcj86IGJvb2xlYW47XG4gIHJvdW5kZWQ/OiBib29sZWFuO1xuICBwYWRkaW5nPzogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYm94L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xvciB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgdmFsLWJveCBjb21wb25lbnQuXG4gKlxuICogQHByb3BlcnR5IGNvbG9yIC0gVGhlIGNvbG9yIG9mIHRoZSBib3ggKElvbmljIGNvbG9yIHN0cmluZykuXG4gKiBAcHJvcGVydHkgaWNvbiAtIFRoZSBuYW1lIG9mIHRoZSBpY29uIHRvIGRpc3BsYXkgKG9wdGlvbmFsKS5cbiAqIEBwcm9wZXJ0eSBib3JkZXJlZCAtIFdoZXRoZXIgdGhlIGJveCBoYXMgYSBib3JkZXIgKG9wdGlvbmFsKS5cbiAqIEBwcm9wZXJ0eSBsZWZ0Qm9yZGVyIC0gV2hldGhlciB0aGUgYm94IGhhcyBhIGxlZnQgYm9yZGVyIChvcHRpb25hbCkuXG4gKiBAcHJvcGVydHkgcm91bmRlZCAtIFdoZXRoZXIgdGhlIGJveCBoYXMgcm91bmRlZCBjb3JuZXJzIChvcHRpb25hbCkuXG4gKiBAcHJvcGVydHkgcGFkZGluZyAtIEN1c3RvbSBwYWRkaW5nIGZvciB0aGUgYm94IChvcHRpb25hbCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQm94TWV0YWRhdGEge1xuICBjb2xvcjogQ29sb3I7XG4gIGljb246IHN0cmluZztcbiAgYm9yZGVyZWQ/OiBib29sZWFuO1xuICBsZWZ0Qm9yZGVyPzogYm9vbGVhbjtcbiAgcm91bmRlZD86IGJvb2xlYW47XG4gIHBhZGRpbmc/OiBzdHJpbmc7XG59XG4iXX0=
@@ -119,8 +119,8 @@ export class ButtonComponent {
119
119
  }
120
120
  this.onClick.emit(this.props.token);
121
121
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, deps: [{ token: i1.DownloadService }, { token: i2.IconService }, { token: i3.NavigationService }, { token: i4.LangService }], target: i0.ɵɵFactoryTarget.Component }); }
123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ButtonComponent, isStandalone: true, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, deps: [{ token: i1.DownloadService }, { token: i2.IconService }, { token: i3.NavigationService }, { token: i4.LangService }], target: i0.ɵɵFactoryTarget.Component }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ButtonComponent, isStandalone: true, selector: "val-button", inputs: { props: "props" }, outputs: { onClick: "onClick" }, ngImport: i0, template: `
124
124
  <ion-button
125
125
  [type]="props.type"
126
126
  [color]="props.color"
@@ -132,7 +132,7 @@ export class ButtonComponent {
132
132
  [shape]="props.shape"
133
133
  (click)="clickHandler()"
134
134
  [disabled]="props.state === states.DISABLED"
135
- [ngClass]="[props.size]"
135
+ [ngClass]="props.size ? [props.size] : []"
136
136
  >
137
137
  <ion-icon *ngIf="props.icon" [slot]="props.icon.slot" [name]="props.icon.name"></ion-icon>
138
138
  <ion-spinner *ngIf="props.state === states.WORKING" name="circular"></ion-spinner>
@@ -140,7 +140,7 @@ export class ButtonComponent {
140
140
  </ion-button>
141
141
  `, isInline: true, styles: [":root{--ion-color-primary: #7026df;--ion-color-primary-rgb: 112, 38, 223;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #6321c4;--ion-color-primary-tint: #7e3ce2;--ion-color-secondary: #e2ccff;--ion-color-secondary-rgb: 226, 204, 255;--ion-color-secondary-contrast: #000000;--ion-color-secondary-contrast-rgb: 0, 0, 0;--ion-color-secondary-shade: #c7b4e0;--ion-color-secondary-tint: #e5d1ff;--ion-color-texti: #354c69;--ion-color-texti-rgb: 53, 76, 105;--ion-color-texti-contrast: #ffffff;--ion-color-texti-contrast-rgb: 255, 255, 255;--ion-color-texti-shade: #2f435c;--ion-color-texti-tint: #495e78;--ion-color-darki: #090f1b;--ion-color-darki-rgb: 9, 15, 27;--ion-color-darki-contrast: #ffffff;--ion-color-darki-contrast-rgb: 255, 255, 255;--ion-color-darki-shade: #080d18;--ion-color-darki-tint: #222732;--ion-color-medium: #9e9e9e;--ion-color-medium-rgb: 158, 158, 158;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #8b8b8b;--ion-color-medium-tint: #a8a8a8;--swiper-pagination-color: var(--ion-color-primary);--swiper-navigation-color: var(--ion-color-primary);--swiper-pagination-bullet-inactive-color: var(--ion-color-medium)}@media (prefers-color-scheme: dark){:root{--ion-color-texti: #8fc1ff;--ion-color-texti-rgb: 143, 193, 255;--ion-color-texti-contrast: #000000;--ion-color-texti-contrast-rgb: 0, 0, 0;--ion-color-texti-shade: #7eaae0;--ion-color-texti-tint: #9ac7ff;--ion-color-darki: #ffffff;--ion-color-darki-rgb: 255, 255, 255;--ion-color-darki-contrast: #000000;--ion-color-darki-contrast-rgb: 0, 0, 0;--ion-color-darki-shade: #e0e0e0;--ion-color-darki-tint: #ffffff;--ion-color-primary: #8f49f8;--ion-color-primary-rgb: 143, 73, 248;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #7e40da;--ion-color-primary-tint: #9a5bf9}}.ion-color-texti{--ion-color-base: var(--ion-color-texti);--ion-color-base-rgb: var(--ion-color-texti-rgb);--ion-color-contrast: var(--ion-color-texti-contrast);--ion-color-contrast-rgb: var(--ion-color-texti-contrast-rgb);--ion-color-shade: var(--ion-color-texti-shade);--ion-color-tint: var(--ion-color-texti-tint)}.ion-color-darki{--ion-color-base: var(--ion-color-darki);--ion-color-base-rgb: var(--ion-color-darki-rgb);--ion-color-contrast: var(--ion-color-darki-contrast);--ion-color-contrast-rgb: var(--ion-color-darki-contrast-rgb);--ion-color-shade: var(--ion-color-darki-shade);--ion-color-tint: var(--ion-color-darki-tint)}ion-button{font-family:var(--ion-default-font),Arial,sans-serif;min-width:6.25rem;margin:0}ion-button.small{--padding-bottom: 12px;--padding-end: 14px;--padding-start: 14px;--padding-top: 12px}ion-button.button-clear{padding:0;margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { kind: "component", type: IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); }
142
142
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ButtonComponent, decorators: [{
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ButtonComponent, decorators: [{
144
144
  type: Component,
145
145
  args: [{ selector: 'val-button', standalone: true, imports: [CommonModule, IonButton, IonIcon, IonSpinner, IonText], template: `
146
146
  <ion-button
@@ -154,7 +154,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
154
154
  [shape]="props.shape"
155
155
  (click)="clickHandler()"
156
156
  [disabled]="props.state === states.DISABLED"
157
- [ngClass]="[props.size]"
157
+ [ngClass]="props.size ? [props.size] : []"
158
158
  >
159
159
  <ion-icon *ngIf="props.icon" [slot]="props.icon.slot" [name]="props.icon.name"></ion-icon>
160
160
  <ion-spinner *ngIf="props.state === states.WORKING" name="circular"></ion-spinner>
@@ -204,4 +204,4 @@ export function createButtonProps(contentConfig, styleConfig = {}) {
204
204
  handler: styleConfig.handler,
205
205
  };
206
206
  }
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRixPQUFPLEVBQWMsWUFBWSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUtwRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUF1QyxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUEyQi9GOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFvQjFCLFlBQ1UsUUFBeUIsRUFDakMsSUFBaUIsRUFDVCxVQUE2QixFQUM3QixXQUF3QjtRQUh4QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUV6QixlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXZCbEMsV0FBTSxHQUFHLGVBQWUsQ0FBQztRQVFqQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFLM0M7O1dBRUc7UUFFSCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQU9sQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFB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b21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25CdXR0b24sIElvbkljb24sIElvblNwaW5uZXIsIElvblRleHQgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERvd25sb2FkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgaW50ZXJwb2xhdGVTdGF0aWNDb250ZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL3V0aWxzL3NpbXBsZS1jb250ZW50JztcbmltcG9ydCB7IEFjdGlvblR5cGUsIEJ1dHRvbkNvbnRlbnRDb25maWcsIEJ1dHRvbk1ldGFkYXRhLCBDb21wb25lbnRTdGF0ZXMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1idXR0b24nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJb25CdXR0b24sIElvbkljb24sIElvblNwaW5uZXIsIElvblRleHRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxpb24tYnV0dG9uXG4gICAgICBbdHlwZV09XCJwcm9wcy50eXBlXCJcbiAgICAgIFtjb2xvcl09XCJwcm9wcy5jb2xvclwiXG4gICAgICBbZXhwYW5kXT1cInByb3BzLmV4cGFuZFwiXG4gICAgICBbZmlsbF09XCJwcm9wcy5maWxsXCJcbiAgICAgIFtzaXplXT1cInByb3BzLnNpemVcIlxuICAgICAgW2hyZWZdPVwicHJvcHMuaHJlZlwiXG4gICAgICBbdGFyZ2V0XT1cInByb3BzLnRhcmdldFwiXG4gICAgICBbc2hhcGVdPVwicHJvcHMuc2hhcGVcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrSGFuZGxlcigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJwcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLkRJU0FCTEVEXCJcbiAgICAgIFtuZ0NsYXNzXT1cIltwcm9wcy5zaXplXVwiXG4gICAgPlxuICAgICAgPGlvbi1pY29uICpuZ0lmPVwicHJvcHMuaWNvblwiIFtzbG90XT1cInByb3BzLmljb24uc2xvdFwiIFtuYW1lXT1cInByb3BzLmljb24ubmFtZVwiPjwvaW9uLWljb24+XG4gICAgICA8aW9uLXNwaW5uZXIgKm5nSWY9XCJwcm9wcy5zdGF0ZSA9PT0gc3RhdGVzLldPUktJTkdcIiBuYW1lPVwiY2lyY3VsYXJcIj48L2lvbi1zcGlubmVyPlxuICAgICAgPGlvbi10ZXh0ICpuZ0lmPVwicHJvcHMuc3RhdGUgIT09IHN0YXRlcy5XT1JLSU5HXCI+e3sgZGlzcGxheVRleHQkIHwgYXN5bmMgfX08L2lvbi10ZXh0PlxuICAgIDwvaW9uLWJ1dHRvbj5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuLyoqXG4gKiB2YWwtYnV0dG9uXG4gKlxuICogQSBjdXN0b21pemFibGUgYnV0dG9uIHN1cHBvcnRpbmcgaWNvbnMsIGxvYWRpbmcgc3RhdGUsIG5hdmlnYXRpb24sIGFuZCByZWFjdGl2ZSBjb250ZW50LlxuICogU3VwcG9ydHMgYm90aCBzdGF0aWMgdGV4dCBhbmQgcmVhY3RpdmUgY29udGVudCBmcm9tIHRoZSBjb250ZW50IHNlcnZpY2UuXG4gKiBGb2xsb3dzIHRoZSBzYW1lIGNvbnRlbnQgcGF0dGVybiBhcyB2YWwtdGV4dCBmb3IgY29uc2lzdGVuY3kuXG4gKlxuICogQGV4YW1wbGUgU3RhdGljIHRleHQ6XG4gKiA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwie1xuICogICB0ZXh0OiAnU2F2ZScsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHR5cGU6ICdidXR0b24nLFxuICogICBzdGF0ZTogJ0VOQUJMRUQnLFxuICogICBpY29uOiB7IG5hbWU6ICdzYXZlJywgc2xvdDogJ3N0YXJ0JyB9XG4gKiB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQ6XG4gKiA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwie1xuICogICBjb250ZW50S2V5OiAnc2F2ZScsXG4gKiAgIGNvbnRlbnRDbGFzczogJ015Q29tcG9uZW50JyxcbiAqICAgY29udGVudEZhbGxiYWNrOiAnU2F2ZScsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHR5cGU6ICdidXR0b24nLFxuICogICBzdGF0ZTogJ0VOQUJMRUQnLFxuICogICBpY29uOiB7IG5hbWU6ICdzYXZlJywgc2xvdDogJ3N0YXJ0JyB9XG4gKiB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBleGFtcGxlIFJlYWN0aXZlIGNvbnRlbnQgd2l0aCBpbnRlcnBvbGF0aW9uOlxuICogPHZhbC1idXR0b24gW3Byb3BzXT1cIntcbiAqICAgY29udGVudEtleTogJ3NhdmVDb3VudCcsXG4gKiAgIGNvbnRlbnRDbGFzczogJ015Q29tcG9uZW50JyxcbiAqICAgY29udGVudEludGVycG9sYXRpb246IHsgY291bnQ6IDUgfSxcbiAqICAgY29udGVudEZhbGxiYWNrOiAnU2F2ZSBJdGVtcycsXG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIHR5cGU6ICdidXR0b24nLFxuICogICBzdGF0ZTogJ0VOQUJMRUQnXG4gKiB9XCIgKG9uQ2xpY2spPVwiaGFuZGxlcigpXCI+PC92YWwtYnV0dG9uPlxuICpcbiAqIEBpbnB1dCBwcm9wczogQnV0dG9uTWV0YWRhdGEgLSBDb25maWd1cmF0aW9uIGZvciB0aGUgYnV0dG9uICh0ZXh0L2NvbnRlbnQsIGNvbG9yLCBpY29uLCBzdGF0ZSwgZXRjLilcbiAqIEBvdXRwdXQgb25DbGljayAtIEVtaXRzIHdoZW4gdGhlIGJ1dHRvbiBpcyBjbGlja2VkXG4gKi9cbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRlcyA9IENvbXBvbmVudFN0YXRlcztcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IHByb3ZpZGVzIHRoZSB0ZXh0IGNvbnRlbnQgdG8gZGlzcGxheS5cbiAgICogVGhpcyB3aWxsIGJlIGVpdGhlciBzdGF0aWMgdGV4dCBvciByZWFjdGl2ZSBjb250ZW50IGZyb20gdGhlIGxhbmd1YWdlIHNlcnZpY2UuXG4gICAqL1xuICBkaXNwbGF5VGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQElucHV0KClcbiAgcHJvcHMhOiBCdXR0b25NZXRhZGF0YTtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkb3dubG9hZDogRG93bmxvYWRTZXJ2aWNlLFxuICAgIGljb246IEljb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbmF2aWdhdGlvbjogTmF2aWdhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5nU2VydmljZTogTGFuZ1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0dXBEaXNwbGF5VGV4dCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHVwIHRoZSB0ZXh0IGNvbnRlbnQgb2JzZXJ2YWJsZSBiYXNlZCBvbiB0aGUgcHJvcHMgY29uZmlndXJhdGlvbi5cbiAgICogUHJpb3JpdHk6IHN0YXRpYyB0ZXh0ID4gcmVhY3RpdmUgY29udGVudCB3aXRoIGludGVycG9sYXRpb24gPiByZWFjdGl2ZSBjb250ZW50XG4gICAqIFRoaXMgZm9sbG93cyB0aGUgc2FtZSBwYXR0ZXJuIGFzIHZhbC10ZXh0IGNvbXBvbmVudC5cbiAgICovXG4gIHByaXZhdGUgc2V0dXBEaXNwbGF5VGV4dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy50ZXh0KSB7XG4gICAgICAvLyBTdGF0aWMgdGV4dCB0YWtlcyBwcmVjZWRlbmNlXG4gICAgICBpZiAodGhpcy5wcm9wcy5jb250ZW50SW50ZXJwb2xhdGlvbikge1xuICAgICAgICAvLyBTdGF0aWMgdGV4dCB3aXRoIGludGVycG9sYXRpb25cbiAgICAgICAgY29uc3QgaW50ZXJwb2xhdGVkVGV4dCA9IGludGVycG9sYXRlU3RhdGljQ29udGVudCh0aGlzLnByb3BzLnRleHQsIHRoaXMucHJvcHMuY29udGVudEludGVycG9sYXRpb24pO1xuICAgICAgICB0aGlzLmRpc3BsYXlUZXh0JCA9IG9mKGludGVycG9sYXRlZFRleHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2ltcGxlIHN0YXRpYyB0ZXh0XG4gICAgICAgIHRoaXMuZGlzcGxheVRleHQkID0gb2YodGhpcy5wcm9wcy50ZXh0KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMuY29udGVudEtleSAmJiB0aGlzLnByb3BzLmNvbnRlbnRDbGFzcykge1xuICAgICAgLy8gUmVhY3RpdmUgY29udGVudCBmcm9tIGxhbmd1YWdlIHNlcnZpY2VcbiAgICAgIGlmICh0aGlzLnByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uKSB7XG4gICAgICAgIC8vIFdpdGggaW50ZXJwb2xhdGlvblxuICAgICAgICB0aGlzLmRpc3BsYXlUZXh0JCA9IHRoaXMubGFuZ1NlcnZpY2UuZ2V0Q29udGVudFdpdGhJbnRlcnBvbGF0aW9uKFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudENsYXNzLFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudEtleSxcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uLFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudEZhbGxiYWNrXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaW1wbGUgcmVhY3RpdmUgY29udGVudFxuICAgICAgICB0aGlzLmRpc3BsYXlUZXh0JCA9IHRoaXMubGFuZ1NlcnZpY2UuZ2V0Q29udGVudChcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRDbGFzcyxcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRLZXksXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50RmFsbGJhY2tcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRmFsbGJhY2sgdG8gZW1wdHkgc3RyaW5nIGlmIG5vIHZhbGlkIGNvbnRlbnQgY29uZmlndXJhdGlvblxuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAndmFsLWJ1dHRvbjogTm8gdmFsaWQgY29udGVudCBjb25maWd1cmF0aW9uIHByb3ZpZGVkLiBVc2UgZWl0aGVyIFwidGV4dFwiIGZvciBzdGF0aWMgdGV4dCBvciBcImNvbnRlbnRLZXlcIiArIFwiY29udGVudENsYXNzXCIgZm9yIHJlYWN0aXZlIGNvbnRlbnQuJ1xuICAgICAgKTtcbiAgICAgIHRoaXMuZGlzcGxheVRleHQkID0gb2YodGhpcy5wcm9wcy5jb250ZW50RmFsbGJhY2sgfHwgJycpO1xuICAgIH1cbiAgfVxuXG4gIGNsaWNrSGFuZGxlcigpIHtcbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0ZSA9PT0gdGhpcy5zdGF0ZXMuRElTQUJMRUQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5hY3Rpb25UeXBlID09PSBBY3Rpb25UeXBlLkFQUF9OQVZJR0FUSU9OKSB7XG4gICAgICB0aGlzLm5hdmlnYXRpb24ubmF2aWdhdGVCeVVybCh0aGlzLnByb3BzLmxpbmspO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmRvd25sb2FkKSB7XG4gICAgICB0aGlzLmRvd25sb2FkLmRvd25sb2FkTGlua0Zyb21Ccm93c2VyKHRoaXMucHJvcHMuZG93bmxvYWQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmhhbmRsZXIpIHtcbiAgICAgIHRoaXMucHJvcHMuaGFuZGxlcih0aGlzLnByb3BzLnJlZik7XG4gICAgfVxuXG4gICAgdGhpcy5vbkNsaWNrLmVtaXQodGhpcy5wcm9wcy50b2tlbik7XG4gIH1cbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gY3JlYXRlIHJlYWN0aXZlIGJ1dHRvbiBwcm9wcyBmcm9tIGNvbnRlbnQgY29uZmlndXJhdGlvbi5cbiAqIFRoaXMgcHJvdmlkZXMgYSBjb252ZW5pZW50IHdheSB0byBjcmVhdGUgdmFsLWJ1dHRvbiBwcm9wcyB3aXRoIHJlYWN0aXZlIGNvbnRlbnQuXG4gKiBGb2xsb3dzIHRoZSBzYW1lIHBhdHRlcm4gYXMgY3JlYXRlVGV4dFByb3BzIGZvciBjb25zaXN0ZW5jeS5cbiAqXG4gKiBAcGFyYW0gY29udGVudENvbmZpZyAtIENvbnRlbnQgY29uZmlndXJhdGlvblxuICogQHBhcmFtIHN0eWxlQ29uZmlnIC0gT3B0aW9uYWwgc3R5bGUgYW5kIGJlaGF2aW9yIGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIEJ1dHRvbk1ldGFkYXRhIHdpdGggY29udGVudCBwcm9wZXJ0aWVzIHNldFxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBjb21wb25lbnRcbiAqIHNhdmVCdXR0b25Qcm9wczogQnV0dG9uTWV0YWRhdGEgPSBjcmVhdGVCdXR0b25Qcm9wcyh7XG4gKiAgIGNvbnRlbnRLZXk6ICdzYXZlJyxcbiAqICAgY29udGVudENsYXNzOiAnTXlDb21wb25lbnQnXG4gKiB9LCB7XG4gKiAgIGNvbG9yOiAncHJpbWFyeScsXG4gKiAgIGljb246IHsgbmFtZTogJ3NhdmUnLCBzbG90OiAnc3RhcnQnIH1cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCdXR0b25Qcm9wcyhcbiAgY29udGVudENvbmZpZzogQnV0dG9uQ29udGVudENvbmZpZyxcbiAgc3R5bGVDb25maWc6IFBhcnRpYWw8XG4gICAgUGljazxCdXR0b25NZXRhZGF0YSwgJ2NvbG9yJyB8ICd0eXBlJyB8ICdzdGF0ZScgfCAnc2l6ZScgfCAnZmlsbCcgfCAnaWNvbicgfCAnZXhwYW5kJyB8ICdzaGFwZScgfCAnaGFuZGxlcic+XG4gID4gPSB7fVxuKTogQnV0dG9uTWV0YWRhdGEge1xuICByZXR1cm4ge1xuICAgIGNvbnRlbnRLZXk6IGNvbnRlbnRDb25maWcuY29udGVudEtleSxcbiAgICBjb250ZW50Q2xhc3M6IGNvbnRlbnRDb25maWcuY29udGVudENsYXNzLFxuICAgIGNvbnRlbnRGYWxsYmFjazogY29udGVudENvbmZpZy5jb250ZW50RmFsbGJhY2ssXG4gICAgY29udGVudEludGVycG9sYXRpb246IGNvbnRlbnRDb25maWcuY29udGVudEludGVycG9sYXRpb24sXG4gICAgY29sb3I6IHN0eWxlQ29uZmlnLmNvbG9yIHx8ICdwcmltYXJ5JyxcbiAgICB0eXBlOiBzdHlsZUNvbmZpZy50eXBlIHx8ICdidXR0b24nLFxuICAgIHN0YXRlOiBzdHlsZUNvbmZpZy5zdGF0ZSB8fCBDb21wb25lbnRTdGF0ZXMuRU5BQkxFRCxcbiAgICBzaXplOiBzdHlsZUNvbmZpZy5zaXplLFxuICAgIGZpbGw6IHN0eWxlQ29uZmlnLmZpbGwsXG4gICAgaWNvbjogc3R5bGVDb25maWcuaWNvbixcbiAgICBleHBhbmQ6IHN0eWxlQ29uZmlnLmV4cGFuZCxcbiAgICBzaGFwZTogc3R5bGVDb25maWcuc2hhcGUsXG4gICAgaGFuZGxlcjogc3R5bGVDb25maWcuaGFuZGxlcixcbiAgfTtcbn1cbiJdfQ==
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BGLE9BQU8sRUFBYyxZQUFZLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBS3BELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxVQUFVLEVBQXVDLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQTJCL0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Q0c7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQW9CMUIsWUFDVSxRQUF5QixFQUNqQyxJQUFpQixFQUNULFVBQTZCLEVBQzdCLFdBQXdCO1FBSHhCLGFBQVEsR0FBUixRQUFRLENBQWlCO1FBRXpCLGVBQVUsR0FBVixVQUFVLENBQW1CO1FBQzdCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBdkJsQyxXQUFNLEdBQUcsZUFBZSxDQUFDO1FBUWpCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUszQzs7V0FFRztRQUVILFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBT2xDLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7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L2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uU3Bpbm5lciwgSW9uVGV4dCB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRG93bmxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZG93bmxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBJY29uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2ljb25zLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGFuZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sYW5nLXByb3ZpZGVyL2xhbmctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL25hdmlnYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBpbnRlcnBvbGF0ZVN0YXRpY0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdXRpbHMvc2ltcGxlLWNvbnRlbnQnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZSwgQnV0dG9uQ29udGVudENvbmZpZywgQnV0dG9uTWV0YWRhdGEsIENvbXBvbmVudFN0YXRlcyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsLWJ1dHRvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIElvbkJ1dHRvbiwgSW9uSWNvbiwgSW9uU3Bpbm5lciwgSW9uVGV4dF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGlvbi1idXR0b25cbiAgICAgIFt0eXBlXT1cInByb3BzLnR5cGVcIlxuICAgICAgW2NvbG9yXT1cInByb3BzLmNvbG9yXCJcbiAgICAgIFtleHBhbmRdPVwicHJvcHMuZXhwYW5kXCJcbiAgICAgIFtmaWxsXT1cInByb3BzLmZpbGxcIlxuICAgICAgW3NpemVdPVwicHJvcHMuc2l6ZVwiXG4gICAgICBbaHJlZl09XCJwcm9wcy5ocmVmXCJcbiAgICAgIFt0YXJnZXRdPVwicHJvcHMudGFyZ2V0XCJcbiAgICAgIFtzaGFwZV09XCJwcm9wcy5zaGFwZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tIYW5kbGVyKClcIlxuICAgICAgW2Rpc2FibGVkXT1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuRElTQUJMRURcIlxuICAgICAgW25nQ2xhc3NdPVwicHJvcHMuc2l6ZSA/IFtwcm9wcy5zaXplXSA6IFtdXCJcbiAgICA+XG4gICAgICA8aW9uLWljb24gKm5nSWY9XCJwcm9wcy5pY29uXCIgW3Nsb3RdPVwicHJvcHMuaWNvbi5zbG90XCIgW25hbWVdPVwicHJvcHMuaWNvbi5uYW1lXCI+PC9pb24taWNvbj5cbiAgICAgIDxpb24tc3Bpbm5lciAqbmdJZj1cInByb3BzLnN0YXRlID09PSBzdGF0ZXMuV09SS0lOR1wiIG5hbWU9XCJjaXJjdWxhclwiPjwvaW9uLXNwaW5uZXI+XG4gICAgICA8aW9uLXRleHQgKm5nSWY9XCJwcm9wcy5zdGF0ZSAhPT0gc3RhdGVzLldPUktJTkdcIj57eyBkaXNwbGF5VGV4dCQgfCBhc3luYyB9fTwvaW9uLXRleHQ+XG4gICAgPC9pb24tYnV0dG9uPlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKipcbiAqIHZhbC1idXR0b25cbiAqXG4gKiBBIGN1c3RvbWl6YWJsZSBidXR0b24gc3VwcG9ydGluZyBpY29ucywgbG9hZGluZyBzdGF0ZSwgbmF2aWdhdGlvbiwgYW5kIHJlYWN0aXZlIGNvbnRlbnQuXG4gKiBTdXBwb3J0cyBib3RoIHN0YXRpYyB0ZXh0IGFuZCByZWFjdGl2ZSBjb250ZW50IGZyb20gdGhlIGNvbnRlbnQgc2VydmljZS5cbiAqIEZvbGxvd3MgdGhlIHNhbWUgY29udGVudCBwYXR0ZXJuIGFzIHZhbC10ZXh0IGZvciBjb25zaXN0ZW5jeS5cbiAqXG4gKiBAZXhhbXBsZSBTdGF0aWMgdGV4dDpcbiAqIDx2YWwtYnV0dG9uIFtwcm9wc109XCJ7XG4gKiAgIHRleHQ6ICdTYXZlJyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgdHlwZTogJ2J1dHRvbicsXG4gKiAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gKiAgIGljb246IHsgbmFtZTogJ3NhdmUnLCBzbG90OiAnc3RhcnQnIH1cbiAqIH1cIiAob25DbGljayk9XCJoYW5kbGVyKClcIj48L3ZhbC1idXR0b24+XG4gKlxuICogQGV4YW1wbGUgUmVhY3RpdmUgY29udGVudDpcbiAqIDx2YWwtYnV0dG9uIFtwcm9wc109XCJ7XG4gKiAgIGNvbnRlbnRLZXk6ICdzYXZlJyxcbiAqICAgY29udGVudENsYXNzOiAnTXlDb21wb25lbnQnLFxuICogICBjb250ZW50RmFsbGJhY2s6ICdTYXZlJyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgdHlwZTogJ2J1dHRvbicsXG4gKiAgIHN0YXRlOiAnRU5BQkxFRCcsXG4gKiAgIGljb246IHsgbmFtZTogJ3NhdmUnLCBzbG90OiAnc3RhcnQnIH1cbiAqIH1cIiAob25DbGljayk9XCJoYW5kbGVyKClcIj48L3ZhbC1idXR0b24+XG4gKlxuICogQGV4YW1wbGUgUmVhY3RpdmUgY29udGVudCB3aXRoIGludGVycG9sYXRpb246XG4gKiA8dmFsLWJ1dHRvbiBbcHJvcHNdPVwie1xuICogICBjb250ZW50S2V5OiAnc2F2ZUNvdW50JyxcbiAqICAgY29udGVudENsYXNzOiAnTXlDb21wb25lbnQnLFxuICogICBjb250ZW50SW50ZXJwb2xhdGlvbjogeyBjb3VudDogNSB9LFxuICogICBjb250ZW50RmFsbGJhY2s6ICdTYXZlIEl0ZW1zJyxcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgdHlwZTogJ2J1dHRvbicsXG4gKiAgIHN0YXRlOiAnRU5BQkxFRCdcbiAqIH1cIiAob25DbGljayk9XCJoYW5kbGVyKClcIj48L3ZhbC1idXR0b24+XG4gKlxuICogQGlucHV0IHByb3BzOiBCdXR0b25NZXRhZGF0YSAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBidXR0b24gKHRleHQvY29udGVudCwgY29sb3IsIGljb24sIHN0YXRlLCBldGMuKVxuICogQG91dHB1dCBvbkNsaWNrIC0gRW1pdHMgd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgc3RhdGVzID0gQ29tcG9uZW50U3RhdGVzO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHRoYXQgcHJvdmlkZXMgdGhlIHRleHQgY29udGVudCB0byBkaXNwbGF5LlxuICAgKiBUaGlzIHdpbGwgYmUgZWl0aGVyIHN0YXRpYyB0ZXh0IG9yIHJlYWN0aXZlIGNvbnRlbnQgZnJvbSB0aGUgbGFuZ3VhZ2Ugc2VydmljZS5cbiAgICovXG4gIGRpc3BsYXlUZXh0JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBASW5wdXQoKVxuICBwcm9wcyE6IEJ1dHRvbk1ldGFkYXRhO1xuXG4gIC8qKlxuICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBpcyBjbGlja2VkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGRvd25sb2FkOiBEb3dubG9hZFNlcnZpY2UsXG4gICAgaWNvbjogSWNvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuYXZpZ2F0aW9uOiBOYXZpZ2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXR1cERpc3BsYXlUZXh0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdXAgdGhlIHRleHQgY29udGVudCBvYnNlcnZhYmxlIGJhc2VkIG9uIHRoZSBwcm9wcyBjb25maWd1cmF0aW9uLlxuICAgKiBQcmlvcml0eTogc3RhdGljIHRleHQgPiByZWFjdGl2ZSBjb250ZW50IHdpdGggaW50ZXJwb2xhdGlvbiA+IHJlYWN0aXZlIGNvbnRlbnRcbiAgICogVGhpcyBmb2xsb3dzIHRoZSBzYW1lIHBhdHRlcm4gYXMgdmFsLXRleHQgY29tcG9uZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBzZXR1cERpc3BsYXlUZXh0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb3BzLnRleHQpIHtcbiAgICAgIC8vIFN0YXRpYyB0ZXh0IHRha2VzIHByZWNlZGVuY2VcbiAgICAgIGlmICh0aGlzLnByb3BzLmNvbnRlbnRJbnRlcnBvbGF0aW9uKSB7XG4gICAgICAgIC8vIFN0YXRpYyB0ZXh0IHdpdGggaW50ZXJwb2xhdGlvblxuICAgICAgICBjb25zdCBpbnRlcnBvbGF0ZWRUZXh0ID0gaW50ZXJwb2xhdGVTdGF0aWNDb250ZW50KHRoaXMucHJvcHMudGV4dCwgdGhpcy5wcm9wcy5jb250ZW50SW50ZXJwb2xhdGlvbik7XG4gICAgICAgIHRoaXMuZGlzcGxheVRleHQkID0gb2YoaW50ZXJwb2xhdGVkVGV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaW1wbGUgc3RhdGljIHRleHRcbiAgICAgICAgdGhpcy5kaXNwbGF5VGV4dCQgPSBvZih0aGlzLnByb3BzLnRleHQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9wcy5jb250ZW50S2V5ICYmIHRoaXMucHJvcHMuY29udGVudENsYXNzKSB7XG4gICAgICAvLyBSZWFjdGl2ZSBjb250ZW50IGZyb20gbGFuZ3VhZ2Ugc2VydmljZVxuICAgICAgaWYgKHRoaXMucHJvcHMuY29udGVudEludGVycG9sYXRpb24pIHtcbiAgICAgICAgLy8gV2l0aCBpbnRlcnBvbGF0aW9uXG4gICAgICAgIHRoaXMuZGlzcGxheVRleHQkID0gdGhpcy5sYW5nU2VydmljZS5nZXRDb250ZW50V2l0aEludGVycG9sYXRpb24oXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50Q2xhc3MsXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50S2V5LFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudEludGVycG9sYXRpb24sXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250ZW50RmFsbGJhY2tcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpbXBsZSByZWFjdGl2ZSBjb250ZW50XG4gICAgICAgIHRoaXMuZGlzcGxheVRleHQkID0gdGhpcy5sYW5nU2VydmljZS5nZXRDb250ZW50KFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudENsYXNzLFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGVudEtleSxcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFja1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGYWxsYmFjayB0byBlbXB0eSBzdHJpbmcgaWYgbm8gdmFsaWQgY29udGVudCBjb25maWd1cmF0aW9uXG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICd2YWwtYnV0dG9uOiBObyB2YWxpZCBjb250ZW50IGNvbmZpZ3VyYXRpb24gcHJvdmlkZWQuIFVzZSBlaXRoZXIgXCJ0ZXh0XCIgZm9yIHN0YXRpYyB0ZXh0IG9yIFwiY29udGVudEtleVwiICsgXCJjb250ZW50Q2xhc3NcIiBmb3IgcmVhY3RpdmUgY29udGVudC4nXG4gICAgICApO1xuICAgICAgdGhpcy5kaXNwbGF5VGV4dCQgPSBvZih0aGlzLnByb3BzLmNvbnRlbnRGYWxsYmFjayB8fCAnJyk7XG4gICAgfVxuICB9XG5cbiAgY2xpY2tIYW5kbGVyKCkge1xuICAgIGlmICh0aGlzLnByb3BzLnN0YXRlID09PSB0aGlzLnN0YXRlcy5ESVNBQkxFRCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLmFjdGlvblR5cGUgPT09IEFjdGlvblR5cGUuQVBQX05BVklHQVRJT04pIHtcbiAgICAgIHRoaXMubmF2aWdhdGlvbi5uYXZpZ2F0ZUJ5VXJsKHRoaXMucHJvcHMubGluayk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuZG93bmxvYWQpIHtcbiAgICAgIHRoaXMuZG93bmxvYWQuZG93bmxvYWRMaW5rRnJvbUJyb3dzZXIodGhpcy5wcm9wcy5kb3dubG9hZCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucHJvcHMuaGFuZGxlcikge1xuICAgICAgdGhpcy5wcm9wcy5oYW5kbGVyKHRoaXMucHJvcHMucmVmKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2xpY2suZW1pdCh0aGlzLnByb3BzLnRva2VuKTtcbiAgfVxufVxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBjcmVhdGUgcmVhY3RpdmUgYnV0dG9uIHByb3BzIGZyb20gY29udGVudCBjb25maWd1cmF0aW9uLlxuICogVGhpcyBwcm92aWRlcyBhIGNvbnZlbmllbnQgd2F5IHRvIGNyZWF0ZSB2YWwtYnV0dG9uIHByb3BzIHdpdGggcmVhY3RpdmUgY29udGVudC5cbiAqIEZvbGxvd3MgdGhlIHNhbWUgcGF0dGVybiBhcyBjcmVhdGVUZXh0UHJvcHMgZm9yIGNvbnNpc3RlbmN5LlxuICpcbiAqIEBwYXJhbSBjb250ZW50Q29uZmlnIC0gQ29udGVudCBjb25maWd1cmF0aW9uXG4gKiBAcGFyYW0gc3R5bGVDb25maWcgLSBPcHRpb25hbCBzdHlsZSBhbmQgYmVoYXZpb3IgY29uZmlndXJhdGlvblxuICogQHJldHVybnMgQnV0dG9uTWV0YWRhdGEgd2l0aCBjb250ZW50IHByb3BlcnRpZXMgc2V0XG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEluIGNvbXBvbmVudFxuICogc2F2ZUJ1dHRvblByb3BzOiBCdXR0b25NZXRhZGF0YSA9IGNyZWF0ZUJ1dHRvblByb3BzKHtcbiAqICAgY29udGVudEtleTogJ3NhdmUnLFxuICogICBjb250ZW50Q2xhc3M6ICdNeUNvbXBvbmVudCdcbiAqIH0sIHtcbiAqICAgY29sb3I6ICdwcmltYXJ5JyxcbiAqICAgaWNvbjogeyBuYW1lOiAnc2F2ZScsIHNsb3Q6ICdzdGFydCcgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUJ1dHRvblByb3BzKFxuICBjb250ZW50Q29uZmlnOiBCdXR0b25Db250ZW50Q29uZmlnLFxuICBzdHlsZUNvbmZpZzogUGFydGlhbDxcbiAgICBQaWNrPEJ1dHRvbk1ldGFkYXRhLCAnY29sb3InIHwgJ3R5cGUnIHwgJ3N0YXRlJyB8ICdzaXplJyB8ICdmaWxsJyB8ICdpY29uJyB8ICdleHBhbmQnIHwgJ3NoYXBlJyB8ICdoYW5kbGVyJz5cbiAgPiA9IHt9XG4pOiBCdXR0b25NZXRhZGF0YSB7XG4gIHJldHVybiB7XG4gICAgY29udGVudEtleTogY29udGVudENvbmZpZy5jb250ZW50S2V5LFxuICAgIGNvbnRlbnRDbGFzczogY29udGVudENvbmZpZy5jb250ZW50Q2xhc3MsXG4gICAgY29udGVudEZhbGxiYWNrOiBjb250ZW50Q29uZmlnLmNvbnRlbnRGYWxsYmFjayxcbiAgICBjb250ZW50SW50ZXJwb2xhdGlvbjogY29udGVudENvbmZpZy5jb250ZW50SW50ZXJwb2xhdGlvbixcbiAgICBjb2xvcjogc3R5bGVDb25maWcuY29sb3IgfHwgJ3ByaW1hcnknLFxuICAgIHR5cGU6IHN0eWxlQ29uZmlnLnR5cGUgfHwgJ2J1dHRvbicsXG4gICAgc3RhdGU6IHN0eWxlQ29uZmlnLnN0YXRlIHx8IENvbXBvbmVudFN0YXRlcy5FTkFCTEVELFxuICAgIHNpemU6IHN0eWxlQ29uZmlnLnNpemUsXG4gICAgZmlsbDogc3R5bGVDb25maWcuZmlsbCxcbiAgICBpY29uOiBzdHlsZUNvbmZpZy5pY29uLFxuICAgIGV4cGFuZDogc3R5bGVDb25maWcuZXhwYW5kLFxuICAgIHNoYXBlOiBzdHlsZUNvbmZpZy5zaGFwZSxcbiAgICBoYW5kbGVyOiBzdHlsZUNvbmZpZy5oYW5kbGVyLFxuICB9O1xufVxuIl19
@@ -214,4 +214,4 @@ export const SecondarySolidBlockHrefButton = (text, href, target) => {
214
214
  export const SecondarySolidBlockIconHrefButton = (text, icon, href, target) => {
215
215
  return { ...SecondarySolidBlockIconButton(text, icon), href, target };
216
216
  };
217
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBWSxFQUFFLElBQXFCLEVBQWMsRUFBRTtJQUN0RSxPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUk7S0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsd0ZBQXdGO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVksRUFBRSxJQUFtQyxFQUFrQixFQUFFO0lBQy9GLE9BQU87UUFDTCxLQUFLLEVBQUUsU0FBUztRQUNoQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJO1FBQ0osSUFBSSxFQUFFLFNBQVM7UUFDZixJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxJQUFtQyxFQUFrQixFQUFFO0lBQ2hHLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQy9CLElBQVksRUFDWixJQUFtQyxFQUNuQixFQUFFO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVksRUFBRSxJQUFtQyxFQUFrQixFQUFFO0lBQ2hHLE9BQU8sRUFBRSxHQUFHLFdBQVcsQ0FB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QUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUN4RSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCdXR0b25NZXRhZGF0YSwgSWNvbk1ldGFkYSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEljb24gPSAobmFtZTogc3RyaW5nLCBzbG90OiAnc3RhcnQnIHwgJ2VuZCcpOiBJY29uTWV0YWRhID0+IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHNsb3QsXG4gIH07XG59O1xuXG4vKiBuYW1lIGNvbnZlbnRpb246IENPTE9SIEZJTEwgU0laRSBbb3B0aW9uYWxzOiBTSEFQRSBFWFBBTkQgSUNPTiBIUkVGL0RPV05MT0FEXSBUWVBFICovXG5cbmV4cG9ydCBjb25zdCBCYXNlRGVmYXVsdCA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4ge1xuICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgc3RhdGU6ICdFTkFCTEVEJyxcbiAgICB0ZXh0LFxuICAgIHNpemU6ICdkZWZhdWx0JyxcbiAgICB0eXBlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IENsZWFyRGVmYXVsdCA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5CYXNlRGVmYXVsdCh0ZXh0LCB0eXBlKSwgZmlsbDogJ2NsZWFyJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IENsZWFyRGVmYXVsdFJvdW5kID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLkNsZWFyRGVmYXVsdCh0ZXh0LCB0eXBlKSwgc2hhcGU6ICdyb3VuZCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZERlZmF1bHQgPSAodGV4dDogc3RyaW5nLCB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0Jyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uQmFzZURlZmF1bHQodGV4dCwgdHlwZSksIGZpbGw6ICdzb2xpZCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZERlZmF1bHRSb3VuZCA9IChcbiAgdGV4dDogc3RyaW5nLFxuICB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0J1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHQodGV4dCwgdHlwZSksIHNoYXBlOiAncm91bmQnIH07XG59O1xuXG5leHBvcnQgY29uc3QgT3V0bGluZURlZmF1bHQgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uQmFzZURlZmF1bHQodGV4dCwgdHlwZSksIGZpbGw6ICdvdXRsaW5lJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IE91dGxpbmVEZWZhdWx0Um91bmQgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uT3V0bGluZURlZmF1bHQodGV4dCwgdHlwZSksIHNoYXBlOiAncm91bmQnIH07XG59O1xuXG5leHBvcnQgY29uc3QgQ2xlYXJEZWZhdWx0RnVsbCA9IChcbiAgdGV4dDogc3RyaW5nLFxuICB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0J1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5DbGVhckRlZmF1bHQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Z1bGwnIH07XG59O1xuXG5leHBvcnQgY29uc3QgQ2xlYXJEZWZhdWx0Um91bmRGdWxsID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLkNsZWFyRGVmYXVsdFJvdW5kKHRleHQsIHR5cGUpLCBleHBhbmQ6ICdmdWxsJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IENsZWFyRGVmYXVsdEJsb2NrID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLkNsZWFyRGVmYXVsdCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnYmxvY2snIH07XG59O1xuXG5leHBvcnQgY29uc3QgQ2xlYXJEZWZhdWx0Um91bmRCbG9jayA9IChcbiAgdGV4dDogc3RyaW5nLFxuICB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0J1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5DbGVhckRlZmF1bHRSb3VuZCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnYmxvY2snIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWREZWZhdWx0RnVsbCA9IChcbiAgdGV4dDogc3RyaW5nLFxuICB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0J1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Z1bGwnIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWREZWZhdWx0Um91bmRGdWxsID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdFJvdW5kKHRleHQsIHR5cGUpLCBleHBhbmQ6ICdmdWxsJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkRGVmYXVsdEJsb2NrID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnYmxvY2snIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWREZWZhdWx0Um91bmRCbG9jayA9IChcbiAgdGV4dDogc3RyaW5nLFxuICB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0J1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHRSb3VuZCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnYmxvY2snIH07XG59O1xuXG5leHBvcnQgY29uc3QgT3V0bGluZURlZmF1bHRGdWxsID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLk91dGxpbmVEZWZhdWx0KHRleHQsIHR5cGUpLCBleHBhbmQ6ICdmdWxsJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IE91dGxpbmVEZWZhdWx0Um91bmRGdWxsID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLk91dGxpbmVEZWZhdWx0Um91bmQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Z1bGwnIH07XG59O1xuXG5leHBvcnQgY29uc3QgT3V0bGluZURlZmF1bHRCbG9jayA9IChcbiAgdGV4dDogc3RyaW5nLFxuICB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0J1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5PdXRsaW5lRGVmYXVsdCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnYmxvY2snIH07XG59O1xuXG5leHBvcnQgY29uc3QgT3V0bGluZURlZmF1bHRSb3VuZEJsb2NrID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLk91dGxpbmVEZWZhdWx0Um91bmQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Jsb2NrJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkRGVmYXVsdEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiBTb2xpZERlZmF1bHQodGV4dCwgJ2J1dHRvbicpO1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkU21hbGxCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHQodGV4dCwgJ2J1dHRvbicpLCBzaXplOiAnc21hbGwnIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWRMYXJnZUJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdCh0ZXh0LCAnYnV0dG9uJyksIHNpemU6ICdsYXJnZScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZERlZmF1bHRSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiBTb2xpZERlZmF1bHRSb3VuZCh0ZXh0LCAnYnV0dG9uJyk7XG59O1xuXG5leHBvcnQgY29uc3QgU29saWRTbWFsbFJvdW5kQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0Um91bmQodGV4dCwgJ2J1dHRvbicpLCBzaXplOiAnc21hbGwnIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWRMYXJnZVJvdW5kQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0Um91bmQodGV4dCwgJ2J1dHRvbicpLCBzaXplOiAnbGFyZ2UnIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWRGdWxsQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIFNvbGlkRGVmYXVsdEZ1bGwodGV4dCwgJ2J1dHRvbicpO1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkQmxvY2tCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4gU29saWREZWZhdWx0QmxvY2sodGV4dCwgJ2J1dHRvbicpO1xufTtcblxuLyoqIFBSSU1BUlkgKi9cblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZERlZmF1bHRSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uKHRleHQpLCBjb2xvcjogJ3ByaW1hcnknIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRGVmYXVsdFJvdW5kSWNvbkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZERlZmF1bHRSb3VuZEJ1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZERlZmF1bHRSb3VuZEhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWREZWZhdWx0Um91bmRCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZERlZmF1bHRSb3VuZEljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkRGVmYXVsdFJvdW5kSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkU21hbGxSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkU21hbGxSb3VuZEJ1dHRvbih0ZXh0KSwgY29sb3I6ICdwcmltYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZFNtYWxsUm91bmRJY29uQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGFcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkU21hbGxSb3VuZEJ1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZFNtYWxsUm91bmRIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkU21hbGxSb3VuZEJ1dHRvbih0ZXh0KSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkU21hbGxSb3VuZEljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkU21hbGxSb3VuZEljb25CdXR0b24odGV4dCwgaWNvbiksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZExhcmdlUm91bmRCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZExhcmdlUm91bmRCdXR0b24odGV4dCksIGNvbG9yOiAncHJpbWFyeScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRMYXJnZVJvdW5kSWNvbkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZExhcmdlUm91bmRCdXR0b24odGV4dCksIGljb24gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRMYXJnZVJvdW5kSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZExhcmdlUm91bmRCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZExhcmdlUm91bmRJY29uSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZExhcmdlUm91bmRJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRCbG9ja0J1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkQmxvY2tCdXR0b24odGV4dCksIGNvbG9yOiAncHJpbWFyeScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRCbG9ja0ljb25CdXR0b24gPSAodGV4dDogc3RyaW5nLCBpY29uOiBJY29uTWV0YWRhKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRCbG9ja0J1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZEJsb2NrSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZEJsb2NrQnV0dG9uKHRleHQpLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRCbG9ja0ljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkQmxvY2tJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRGdWxsQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWRGdWxsQnV0dG9uKHRleHQpLCBjb2xvcjogJ3ByaW1hcnknIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRnVsbEljb25CdXR0b24gPSAodGV4dDogc3RyaW5nLCBpY29uOiBJY29uTWV0YWRhKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRGdWxsQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRnVsbEhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRGdWxsQnV0dG9uKHRleHQpLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRGdWxsSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRGdWxsSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG4vKiogU0VDT05EQVJZICovXG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZERlZmF1bHRSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uKHRleHQpLCBjb2xvcjogJ3NlY29uZGFyeScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZERlZmF1bHRSb3VuZEljb25CdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYVxuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZERlZmF1bHRSb3VuZEJ1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uKHRleHQpLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZERlZmF1bHRSb3VuZEljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWREZWZhdWx0Um91bmRJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZFNtYWxsUm91bmRCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZFNtYWxsUm91bmRCdXR0b24odGV4dCksIGNvbG9yOiAnc2Vjb25kYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkU21hbGxSb3VuZEljb25CdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYVxuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZFNtYWxsUm91bmRCdXR0b24odGV4dCksIGljb24gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZFNtYWxsUm91bmRIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRTbWFsbFJvdW5kQnV0dG9uKHRleHQpLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZFNtYWxsUm91bmRJY29uSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkU21hbGxSb3VuZEljb25CdXR0b24odGV4dCwgaWNvbiksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgY29sb3I6ICdzZWNvbmRhcnknIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRMYXJnZVJvdW5kSWNvbkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkTGFyZ2VSb3VuZEhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZExhcmdlUm91bmRCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkTGFyZ2VSb3VuZEljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRMYXJnZVJvdW5kSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRGdWxsQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWRGdWxsQnV0dG9uKHRleHQpLCBjb2xvcjogJ3NlY29uZGFyeScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEZ1bGxJY29uQnV0dG9uID0gKHRleHQ6IHN0cmluZywgaWNvbjogSWNvbk1ldGFkYSk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRGdWxsQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRGdWxsSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkRnVsbEJ1dHRvbih0ZXh0KSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRGdWxsSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZEZ1bGxJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEJsb2NrQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWRCbG9ja0J1dHRvbih0ZXh0KSwgY29sb3I6ICdzZWNvbmRhcnknIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRCbG9ja0ljb25CdXR0b24gPSAodGV4dDogc3RyaW5nLCBpY29uOiBJY29uTWV0YWRhKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZEJsb2NrQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRCbG9ja0hyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZEJsb2NrQnV0dG9uKHRleHQpLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEJsb2NrSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZEJsb2NrSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuIl19
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFZLEVBQUUsSUFBcUIsRUFBYyxFQUFFO0lBQ3RFLE9BQU87UUFDTCxJQUFJO1FBQ0osSUFBSTtLQUNMLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRix3RkFBd0Y7QUFFeEYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQW1DLEVBQWtCLEVBQUU7SUFDL0YsT0FBTztRQUNMLEtBQUssRUFBRSxTQUFTO1FBQ2hCLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUk7UUFDSixJQUFJLEVBQUUsU0FBUztRQUNmLElBQUk7S0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLElBQW1DLEVBQWtCLEVBQUU7SUFDaEcsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDdkQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FDL0IsSUFBWSxFQUNaLElBQW1DLEVBQ25CLEVBQUU7SUFDbEIsT0FBTyxFQUFFLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDekQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBWSxFQUFFLElBQW1DLEVBQWtCLEVBQUU7SUFDaEcsT0FBTyxFQUFFLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxJ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O0FBQ3hFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1dHRvbk1ldGFkYXRhLCBJY29uTWV0YWRhIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgSWNvbiA9IChuYW1lOiBzdHJpbmcsIHNsb3Q6ICdzdGFydCcgfCAnZW5kJyk6IEljb25NZXRhZGEgPT4ge1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgc2xvdCxcbiAgfTtcbn07XG5cbi8qIG5hbWUgY29udmVudGlvbjogQ09MT1IgRklMTCBTSVpFIFtvcHRpb25hbHM6IFNIQVBFIEVYUEFORCBJQ09OIEhSRUYvRE9XTkxPQURdIFRZUEUgKi9cblxuZXhwb3J0IGNvbnN0IEJhc2VEZWZhdWx0ID0gKHRleHQ6IHN0cmluZywgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7XG4gICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICBzdGF0ZTogJ0VOQUJMRUQnLFxuICAgIHRleHQsXG4gICAgc2l6ZTogJ2RlZmF1bHQnLFxuICAgIHR5cGUsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgQ2xlYXJEZWZhdWx0ID0gKHRleHQ6IHN0cmluZywgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLkJhc2VEZWZhdWx0KHRleHQsIHR5cGUpLCBmaWxsOiAnY2xlYXInIH07XG59O1xuXG5leHBvcnQgY29uc3QgQ2xlYXJEZWZhdWx0Um91bmQgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uQ2xlYXJEZWZhdWx0KHRleHQsIHR5cGUpLCBzaGFwZTogJ3JvdW5kJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkRGVmYXVsdCA9ICh0ZXh0OiBzdHJpbmcsIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5CYXNlRGVmYXVsdCh0ZXh0LCB0eXBlKSwgZmlsbDogJ3NvbGlkJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkRGVmYXVsdFJvdW5kID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdCh0ZXh0LCB0eXBlKSwgc2hhcGU6ICdyb3VuZCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBPdXRsaW5lRGVmYXVsdCA9IChcbiAgdGV4dDogc3RyaW5nLFxuICB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0J1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5CYXNlRGVmYXVsdCh0ZXh0LCB0eXBlKSwgZmlsbDogJ291dGxpbmUnIH07XG59O1xuXG5leHBvcnQgY29uc3QgT3V0bGluZURlZmF1bHRSb3VuZCA9IChcbiAgdGV4dDogc3RyaW5nLFxuICB0eXBlOiAnYnV0dG9uJyB8ICdzdWJtaXQnIHwgJ3Jlc2V0J1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5PdXRsaW5lRGVmYXVsdCh0ZXh0LCB0eXBlKSwgc2hhcGU6ICdyb3VuZCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBDbGVhckRlZmF1bHRGdWxsID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLkNsZWFyRGVmYXVsdCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnZnVsbCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBDbGVhckRlZmF1bHRSb3VuZEZ1bGwgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uQ2xlYXJEZWZhdWx0Um91bmQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Z1bGwnIH07XG59O1xuXG5leHBvcnQgY29uc3QgQ2xlYXJEZWZhdWx0QmxvY2sgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uQ2xlYXJEZWZhdWx0KHRleHQsIHR5cGUpLCBleHBhbmQ6ICdibG9jaycgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBDbGVhckRlZmF1bHRSb3VuZEJsb2NrID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLkNsZWFyRGVmYXVsdFJvdW5kKHRleHQsIHR5cGUpLCBleHBhbmQ6ICdibG9jaycgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZERlZmF1bHRGdWxsID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnZnVsbCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZERlZmF1bHRSb3VuZEZ1bGwgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0Um91bmQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Z1bGwnIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWREZWZhdWx0QmxvY2sgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0KHRleHQsIHR5cGUpLCBleHBhbmQ6ICdibG9jaycgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZERlZmF1bHRSb3VuZEJsb2NrID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdFJvdW5kKHRleHQsIHR5cGUpLCBleHBhbmQ6ICdibG9jaycgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBPdXRsaW5lRGVmYXVsdEZ1bGwgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uT3V0bGluZURlZmF1bHQodGV4dCwgdHlwZSksIGV4cGFuZDogJ2Z1bGwnIH07XG59O1xuXG5leHBvcnQgY29uc3QgT3V0bGluZURlZmF1bHRSb3VuZEZ1bGwgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uT3V0bGluZURlZmF1bHRSb3VuZCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnZnVsbCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBPdXRsaW5lRGVmYXVsdEJsb2NrID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLk91dGxpbmVEZWZhdWx0KHRleHQsIHR5cGUpLCBleHBhbmQ6ICdibG9jaycgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBPdXRsaW5lRGVmYXVsdFJvdW5kQmxvY2sgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uT3V0bGluZURlZmF1bHRSb3VuZCh0ZXh0LCB0eXBlKSwgZXhwYW5kOiAnYmxvY2snIH07XG59O1xuXG5leHBvcnQgY29uc3QgU29saWREZWZhdWx0QnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIFNvbGlkRGVmYXVsdCh0ZXh0LCAnYnV0dG9uJyk7XG59O1xuXG5leHBvcnQgY29uc3QgU29saWRTbWFsbEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkRGVmYXVsdCh0ZXh0LCAnYnV0dG9uJyksIHNpemU6ICdzbWFsbCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZExhcmdlQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0KHRleHQsICdidXR0b24nKSwgc2l6ZTogJ2xhcmdlJyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIFNvbGlkRGVmYXVsdFJvdW5kKHRleHQsICdidXR0b24nKTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZFNtYWxsUm91bmRCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHRSb3VuZCh0ZXh0LCAnYnV0dG9uJyksIHNpemU6ICdzbWFsbCcgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZExhcmdlUm91bmRCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZERlZmF1bHRSb3VuZCh0ZXh0LCAnYnV0dG9uJyksIHNpemU6ICdsYXJnZScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTb2xpZEZ1bGxCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4gU29saWREZWZhdWx0RnVsbCh0ZXh0LCAnYnV0dG9uJyk7XG59O1xuXG5leHBvcnQgY29uc3QgU29saWRCbG9ja0J1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiBTb2xpZERlZmF1bHRCbG9jayh0ZXh0LCAnYnV0dG9uJyk7XG59O1xuXG4vKiogUFJJTUFSWSAqL1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0Um91bmRCdXR0b24odGV4dCksIGNvbG9yOiAncHJpbWFyeScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWREZWZhdWx0Um91bmRJY29uQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGFcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRGVmYXVsdFJvdW5kSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZERlZmF1bHRSb3VuZEJ1dHRvbih0ZXh0KSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkRGVmYXVsdFJvdW5kSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWREZWZhdWx0Um91bmRJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRTbWFsbFJvdW5kQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWRTbWFsbFJvdW5kQnV0dG9uKHRleHQpLCBjb2xvcjogJ3ByaW1hcnknIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkU21hbGxSb3VuZEljb25CdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYVxuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRTbWFsbFJvdW5kQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkU21hbGxSb3VuZEhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRTbWFsbFJvdW5kQnV0dG9uKHRleHQpLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRTbWFsbFJvdW5kSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRTbWFsbFJvdW5kSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgY29sb3I6ICdwcmltYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZExhcmdlUm91bmRJY29uQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGFcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZExhcmdlUm91bmRIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkTGFyZ2VSb3VuZEljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkTGFyZ2VSb3VuZEljb25CdXR0b24odGV4dCwgaWNvbiksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZEJsb2NrQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWRCbG9ja0J1dHRvbih0ZXh0KSwgY29sb3I6ICdwcmltYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZEJsb2NrSWNvbkJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcsIGljb246IEljb25NZXRhZGEpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZEJsb2NrQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgUHJpbWFyeVNvbGlkQmxvY2tIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uUHJpbWFyeVNvbGlkQmxvY2tCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZEJsb2NrSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5QcmltYXJ5U29saWRCbG9ja0ljb25CdXR0b24odGV4dCwgaWNvbiksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZEZ1bGxCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZEZ1bGxCdXR0b24odGV4dCksIGNvbG9yOiAncHJpbWFyeScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRGdWxsSWNvbkJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcsIGljb246IEljb25NZXRhZGEpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZEZ1bGxCdXR0b24odGV4dCksIGljb24gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmltYXJ5U29saWRGdWxsSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZEZ1bGxCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFByaW1hcnlTb2xpZEZ1bGxJY29uSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlByaW1hcnlTb2xpZEZ1bGxJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbi8qKiBTRUNPTkRBUlkgKi9cblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWREZWZhdWx0Um91bmRCdXR0b24odGV4dCksIGNvbG9yOiAnc2Vjb25kYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kSWNvbkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWREZWZhdWx0Um91bmRIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWREZWZhdWx0Um91bmRCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkRGVmYXVsdFJvdW5kSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZERlZmF1bHRSb3VuZEljb25CdXR0b24odGV4dCwgaWNvbiksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkU21hbGxSb3VuZEJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNvbGlkU21hbGxSb3VuZEJ1dHRvbih0ZXh0KSwgY29sb3I6ICdzZWNvbmRhcnknIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRTbWFsbFJvdW5kSWNvbkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkU21hbGxSb3VuZEJ1dHRvbih0ZXh0KSwgaWNvbiB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkU21hbGxSb3VuZEhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZFNtYWxsUm91bmRCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkU21hbGxSb3VuZEljb25IcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGEsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRTbWFsbFJvdW5kSWNvbkJ1dHRvbih0ZXh0LCBpY29uKSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRMYXJnZVJvdW5kQnV0dG9uID0gKHRleHQ6IHN0cmluZyk6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU29saWRMYXJnZVJvdW5kQnV0dG9uKHRleHQpLCBjb2xvcjogJ3NlY29uZGFyeScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZExhcmdlUm91bmRJY29uQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGljb246IEljb25NZXRhZGFcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRMYXJnZVJvdW5kQnV0dG9uKHRleHQpLCBpY29uIH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRMYXJnZVJvdW5kSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkTGFyZ2VSb3VuZEJ1dHRvbih0ZXh0KSwgaHJlZiwgdGFyZ2V0IH07XG59O1xuXG5leHBvcnQgY29uc3QgU2Vjb25kYXJ5U29saWRMYXJnZVJvdW5kSWNvbkhyZWZCdXR0b24gPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgaWNvbjogSWNvbk1ldGFkYSxcbiAgaHJlZjogc3RyaW5nLFxuICB0YXJnZXQ6ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJ1xuKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZExhcmdlUm91bmRJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEZ1bGxCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZEZ1bGxCdXR0b24odGV4dCksIGNvbG9yOiAnc2Vjb25kYXJ5JyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkRnVsbEljb25CdXR0b24gPSAodGV4dDogc3RyaW5nLCBpY29uOiBJY29uTWV0YWRhKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5TZWNvbmRhcnlTb2xpZEZ1bGxCdXR0b24odGV4dCksIGljb24gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEZ1bGxIcmVmQnV0dG9uID0gKFxuICB0ZXh0OiBzdHJpbmcsXG4gIGhyZWY6IHN0cmluZyxcbiAgdGFyZ2V0OiAnX2JsYW5rJyB8ICdfc2VsZicgfCAnX3BhcmVudCcgfCAnX3RvcCdcbik6IEJ1dHRvbk1ldGFkYXRhID0+IHtcbiAgcmV0dXJuIHsgLi4uU2Vjb25kYXJ5U29saWRGdWxsQnV0dG9uKHRleHQpLCBocmVmLCB0YXJnZXQgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEZ1bGxJY29uSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkRnVsbEljb25CdXR0b24odGV4dCwgaWNvbiksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkQmxvY2tCdXR0b24gPSAodGV4dDogc3RyaW5nKTogQnV0dG9uTWV0YWRhdGEgPT4ge1xuICByZXR1cm4geyAuLi5Tb2xpZEJsb2NrQnV0dG9uKHRleHQpLCBjb2xvcjogJ3NlY29uZGFyeScgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEJsb2NrSWNvbkJ1dHRvbiA9ICh0ZXh0OiBzdHJpbmcsIGljb246IEljb25NZXRhZGEpOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkQmxvY2tCdXR0b24odGV4dCksIGljb24gfTtcbn07XG5cbmV4cG9ydCBjb25zdCBTZWNvbmRhcnlTb2xpZEJsb2NrSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkQmxvY2tCdXR0b24odGV4dCksIGhyZWYsIHRhcmdldCB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFNlY29uZGFyeVNvbGlkQmxvY2tJY29uSHJlZkJ1dHRvbiA9IChcbiAgdGV4dDogc3RyaW5nLFxuICBpY29uOiBJY29uTWV0YWRhLFxuICBocmVmOiBzdHJpbmcsXG4gIHRhcmdldDogJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnXG4pOiBCdXR0b25NZXRhZGF0YSA9PiB7XG4gIHJldHVybiB7IC4uLlNlY29uZGFyeVNvbGlkQmxvY2tJY29uQnV0dG9uKHRleHQsIGljb24pLCBocmVmLCB0YXJnZXQgfTtcbn07XG4iXX0=