@wizishop/wizi-block 4.2.22-beta → 4.2.25-beta

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 (523) hide show
  1. package/assets/i18n/en.json +1 -1
  2. package/assets/i18n/fr.json +1 -1
  3. package/bundles/wizishop-wizi-block.umd.js +690 -408
  4. package/bundles/wizishop-wizi-block.umd.js.map +1 -1
  5. package/bundles/wizishop-wizi-block.umd.min.js +1 -1
  6. package/bundles/wizishop-wizi-block.umd.min.js.map +1 -1
  7. package/esm2015/lib/components/blocks/blocks.component.js +1 -1
  8. package/esm2015/lib/components/components.module.js +1 -1
  9. package/esm2015/lib/components/configs/configs.component.js +2 -2
  10. package/esm2015/lib/components/container-block/container-block.component.js +1 -1
  11. package/esm2015/lib/components/previews/previews.component.js +1 -1
  12. package/esm2015/lib/dtos/apis/amplify/amplify-category.dto.js +1 -1
  13. package/esm2015/lib/dtos/apis/amplify/amplify-guide.dto.js +1 -1
  14. package/esm2015/lib/dtos/apis/amplify/amplify-media.dto.js +1 -1
  15. package/esm2015/lib/dtos/apis/amplify/amplify-paginated.dto.js +1 -1
  16. package/esm2015/lib/dtos/apis/amplify/amplify-product.dto.js +1 -1
  17. package/esm2015/lib/dtos/apis/catalogs/catalog-badges.dto.js +1 -1
  18. package/esm2015/lib/dtos/apis/catalogs/catalog-brand.dto.js +1 -1
  19. package/esm2015/lib/dtos/apis/catalogs/catalog-category.dto.js +1 -1
  20. package/esm2015/lib/dtos/apis/catalogs/catalog-facet-value.dto.js +1 -1
  21. package/esm2015/lib/dtos/apis/catalogs/catalog-facet.dto.js +1 -1
  22. package/esm2015/lib/dtos/apis/catalogs/catalog-image.dto.js +1 -1
  23. package/esm2015/lib/dtos/apis/catalogs/catalog-list.dto.js +1 -1
  24. package/esm2015/lib/dtos/apis/catalogs/catalog-price.dto.js +1 -1
  25. package/esm2015/lib/dtos/apis/catalogs/catalog-variant-option.dto.js +1 -1
  26. package/esm2015/lib/dtos/apis/catalogs/catalog-variant.dto.js +1 -1
  27. package/esm2015/lib/dtos/apis/catalogs/catalog.dto.js +1 -1
  28. package/esm2015/lib/dtos/apis/comments/comment-list.dto.js +1 -1
  29. package/esm2015/lib/dtos/apis/comments/comment.dto.js +1 -1
  30. package/esm2015/lib/dtos/apis/forms/form-detail.dto.js +1 -1
  31. package/esm2015/lib/dtos/apis/forms/form-list.dto.js +1 -1
  32. package/esm2015/lib/dtos/apis/maps/open-map.dto.js +1 -1
  33. package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom-more.dto.js +1 -1
  34. package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom-selected.dto.js +1 -1
  35. package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom-triple-column.dto.js +1 -1
  36. package/esm2015/lib/dtos/blocks/amplify-product/amplify-product-zoom.dto.js +1 -1
  37. package/esm2015/lib/dtos/blocks/amplify-products-list/amplify-products-list-classic.dto.js +1 -1
  38. package/esm2015/lib/dtos/blocks/amplify-products-list/amplify-products-list-selected.dto.js +1 -1
  39. package/esm2015/lib/dtos/blocks/amplify-products-list/amplify-products-list-simple.dto.js +1 -1
  40. package/esm2015/lib/dtos/blocks/code/code-html.dto.js +1 -1
  41. package/esm2015/lib/dtos/blocks/code/code-javascript.dto.js +1 -1
  42. package/esm2015/lib/dtos/blocks/code/code-stylesheet.dto.js +1 -1
  43. package/esm2015/lib/dtos/blocks/faq/faq-accordion.dto.js +1 -1
  44. package/esm2015/lib/dtos/blocks/faq/faq-frame.dto.js +1 -1
  45. package/esm2015/lib/dtos/blocks/faq/faq-list-icon.dto.js +1 -1
  46. package/esm2015/lib/dtos/blocks/faq/faq-simple-background.dto.js +1 -1
  47. package/esm2015/lib/dtos/blocks/faq/faq-simple.dto.js +1 -1
  48. package/esm2015/lib/dtos/blocks/faq/faq.dto.js +1 -1
  49. package/esm2015/lib/dtos/blocks/forms/forms-background.dto.js +1 -1
  50. package/esm2015/lib/dtos/blocks/forms/forms-imageleft.dto.js +1 -1
  51. package/esm2015/lib/dtos/blocks/forms/forms-imageright.dto.js +1 -1
  52. package/esm2015/lib/dtos/blocks/forms/forms-simple.dto.js +1 -1
  53. package/esm2015/lib/dtos/blocks/images/four-images-title.dto.js +1 -1
  54. package/esm2015/lib/dtos/blocks/images/images-banner.dto.js +1 -1
  55. package/esm2015/lib/dtos/blocks/images/images-big-and-double.dto.js +1 -1
  56. package/esm2015/lib/dtos/blocks/images/images-bigs-and-double-middle.dto.js +1 -1
  57. package/esm2015/lib/dtos/blocks/images/images-double.dto.js +1 -1
  58. package/esm2015/lib/dtos/blocks/images/images-quadruple-left-one-right.dto.js +1 -1
  59. package/esm2015/lib/dtos/blocks/images/images-quadruple.dto.js +1 -1
  60. package/esm2015/lib/dtos/blocks/images/images-simple.dto.js +1 -1
  61. package/esm2015/lib/dtos/blocks/images/images-triple.dto.js +1 -1
  62. package/esm2015/lib/dtos/blocks/images/two-images-title-text.dto.js +1 -1
  63. package/esm2015/lib/dtos/blocks/images-texts/images-texts-big-left-text-right.dto.js +1 -1
  64. package/esm2015/lib/dtos/blocks/images-texts/images-texts-big-right-text-left.dto.js +1 -1
  65. package/esm2015/lib/dtos/blocks/images-texts/images-texts-left-text-right.dto.js +1 -1
  66. package/esm2015/lib/dtos/blocks/images-texts/images-texts-one-text-one.dto.js +1 -1
  67. package/esm2015/lib/dtos/blocks/images-texts/images-texts-right-text-left.dto.js +1 -1
  68. package/esm2015/lib/dtos/blocks/images-texts/images-texts-small-left-text-right.dto.js +1 -1
  69. package/esm2015/lib/dtos/blocks/images-texts/images-texts-small-right-text-left.dto.js +1 -1
  70. package/esm2015/lib/dtos/blocks/images-texts/images-texts-text-one-text.dto.js +1 -1
  71. package/esm2015/lib/dtos/blocks/launch-videos/launch-videos-button.dto.js +1 -1
  72. package/esm2015/lib/dtos/blocks/launch-videos/launch-videos-buttontxt.dto.js +1 -1
  73. package/esm2015/lib/dtos/blocks/map/map-background-form-left.dto.js +1 -1
  74. package/esm2015/lib/dtos/blocks/map/map-background-form-right.dto.js +1 -1
  75. package/esm2015/lib/dtos/blocks/map/map-fullpage.dto.js +1 -1
  76. package/esm2015/lib/dtos/blocks/map/map-left-text.dto.js +1 -1
  77. package/esm2015/lib/dtos/blocks/map/map-right-text.dto.js +1 -1
  78. package/esm2015/lib/dtos/blocks/map/map-text-form.dto.js +1 -1
  79. package/esm2015/lib/dtos/blocks/newsletter/newsletter-aligned-center-background.dto.js +1 -1
  80. package/esm2015/lib/dtos/blocks/newsletter/newsletter-aligned-center-image.dto.js +1 -1
  81. package/esm2015/lib/dtos/blocks/newsletter/newsletter-center-image.dto.js +1 -1
  82. package/esm2015/lib/dtos/blocks/onboarding/forms-onboarding.do.js +1 -1
  83. package/esm2015/lib/dtos/blocks/parent-block.dto.js +3 -2
  84. package/esm2015/lib/dtos/blocks/product/product-zoom-complete-background.dto.js +1 -1
  85. package/esm2015/lib/dtos/blocks/product/product-zoom-complete-slider.dto.js +1 -1
  86. package/esm2015/lib/dtos/blocks/product/product-zoom-complete.dto.js +1 -1
  87. package/esm2015/lib/dtos/blocks/product/product-zoom-more.dto.js +1 -1
  88. package/esm2015/lib/dtos/blocks/product/product-zoom-selected.dto.js +1 -1
  89. package/esm2015/lib/dtos/blocks/product/product-zoom-simple.dto.js +1 -1
  90. package/esm2015/lib/dtos/blocks/product/product-zoom-triple-column.dto.js +1 -1
  91. package/esm2015/lib/dtos/blocks/product/product-zoom.dto.js +1 -1
  92. package/esm2015/lib/dtos/blocks/products-list/products-list-classic.dto.js +1 -1
  93. package/esm2015/lib/dtos/blocks/products-list/products-list-selected.dto.js +1 -1
  94. package/esm2015/lib/dtos/blocks/products-list/products-list-simple.dto.js +1 -1
  95. package/esm2015/lib/dtos/blocks/quotes/quotes-author.dto.js +1 -1
  96. package/esm2015/lib/dtos/blocks/quotes/quotes-simple-background.dto.js +1 -1
  97. package/esm2015/lib/dtos/blocks/quotes/quotes-simple.dto.js +1 -1
  98. package/esm2015/lib/dtos/blocks/rassurances/rassurances-quadruple-aligned.dto.js +1 -1
  99. package/esm2015/lib/dtos/blocks/rassurances/rassurances-quadruple-background.dto.js +1 -1
  100. package/esm2015/lib/dtos/blocks/rassurances/rassurances-triple-background.dto.js +1 -1
  101. package/esm2015/lib/dtos/blocks/reviews/reviews-simple.dto.js +1 -1
  102. package/esm2015/lib/dtos/blocks/reviews/reviews-waterfall.dto.js +1 -1
  103. package/esm2015/lib/dtos/blocks/separators/separator-simple.dto.js +1 -1
  104. package/esm2015/lib/dtos/blocks/sliders/sliders-double-imageright.dto.js +1 -1
  105. package/esm2015/lib/dtos/blocks/sliders/sliders-fullpage.dto.js +1 -1
  106. package/esm2015/lib/dtos/blocks/sliders/sliders-imageright.dto.js +1 -1
  107. package/esm2015/lib/dtos/blocks/sliders/sliders-leftnav.dto.js +1 -1
  108. package/esm2015/lib/dtos/blocks/sliders/sliders-with-banner.dto.js +1 -1
  109. package/esm2015/lib/dtos/blocks/socials/socials-like.dto.js +1 -1
  110. package/esm2015/lib/dtos/blocks/socials/socials-network.dto.js +1 -1
  111. package/esm2015/lib/dtos/blocks/socials/socials-page-complex.dto.js +1 -1
  112. package/esm2015/lib/dtos/blocks/socials/socials-page-simple.dto.js +1 -1
  113. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-four-rows-icon-text.dto.js +1 -1
  114. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-link.dto.js +1 -1
  115. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-rows-icon-text.dto.js +1 -1
  116. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-simple.dto.js +1 -1
  117. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-three-rows-icon-text.dto.js +1 -1
  118. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-two-rows-icon-text.dto.js +1 -1
  119. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-with-banner.dto.js +1 -1
  120. package/esm2015/lib/dtos/blocks/text-backgrounds/text-backgrounds-with-txt.dto.js +1 -1
  121. package/esm2015/lib/dtos/blocks/texts/texts-double-background.dto.js +1 -1
  122. package/esm2015/lib/dtos/blocks/texts/texts-double.dto.js +1 -1
  123. package/esm2015/lib/dtos/blocks/texts/texts-one-background.dto.js +1 -1
  124. package/esm2015/lib/dtos/blocks/texts/texts-one.dto.js +1 -1
  125. package/esm2015/lib/dtos/blocks/texts/texts-quadruple-background.dto.js +1 -1
  126. package/esm2015/lib/dtos/blocks/texts/texts-quadruple-numbers.dto.js +1 -1
  127. package/esm2015/lib/dtos/blocks/texts/texts-quadruple.dto.js +1 -1
  128. package/esm2015/lib/dtos/blocks/texts/texts-triple-background.dto.js +1 -1
  129. package/esm2015/lib/dtos/blocks/texts/texts-triple.dto.js +1 -1
  130. package/esm2015/lib/dtos/blocks/timer/timer-airport.dto.js +1 -1
  131. package/esm2015/lib/dtos/blocks/timer/timer-background.dto.js +1 -1
  132. package/esm2015/lib/dtos/blocks/timer/timer-clock.dto.js +1 -1
  133. package/esm2015/lib/dtos/blocks/timer/timer-multiple-img.dto.js +1 -1
  134. package/esm2015/lib/dtos/blocks/timer/timer-simple.dto.js +1 -1
  135. package/esm2015/lib/dtos/blocks/videos/videos-simple.dto.js +1 -1
  136. package/esm2015/lib/dtos/blocks/videos/videos-txt-content.dto.js +1 -1
  137. package/esm2015/lib/dtos/blocks/videos/videos-txt.dto.js +1 -1
  138. package/esm2015/lib/dtos/blocks/witness/about-block.dto.js +1 -1
  139. package/esm2015/lib/dtos/blocks/witness/witness-background-double.dto.js +1 -1
  140. package/esm2015/lib/dtos/blocks/witness/witness-background-one.dto.js +2 -2
  141. package/esm2015/lib/dtos/blocks/witness/witness-quadruple.dto.js +1 -1
  142. package/esm2015/lib/dtos/blocks/witness/witness-triple.dto.js +1 -1
  143. package/esm2015/lib/dtos/blocks/witness/witness-twice.dto.js +1 -1
  144. package/esm2015/lib/dtos/configs/apis/api.dto.js +1 -1
  145. package/esm2015/lib/dtos/configs/blocks/block-config.dto.js +1 -1
  146. package/esm2015/lib/dtos/configs/blocks/blocks-list.dto.js +1 -1
  147. package/esm2015/lib/dtos/configs/buttons/button.dto.js +1 -1
  148. package/esm2015/lib/dtos/configs/external/external-config.dto.js +1 -1
  149. package/esm2015/lib/dtos/configs/fonts/font-awesome.dto.js +1 -1
  150. package/esm2015/lib/dtos/configs/images/four-images-title-element.dto.js +1 -1
  151. package/esm2015/lib/dtos/configs/medias/image/font-or-media.dto.js +1 -1
  152. package/esm2015/lib/dtos/configs/medias/image/image-media-and-text.dto.js +1 -1
  153. package/esm2015/lib/dtos/configs/medias/image/image-media.dto.js +1 -1
  154. package/esm2015/lib/dtos/configs/medias/image/payment-or-media.dto.js +1 -1
  155. package/esm2015/lib/dtos/configs/medias/media-width-height.dto.js +1 -1
  156. package/esm2015/lib/dtos/configs/medias/media.dto.js +1 -1
  157. package/esm2015/lib/dtos/configs/medias/text/text-media.dto.js +1 -1
  158. package/esm2015/lib/dtos/configs/structures/structure-config.dto.js +1 -1
  159. package/esm2015/lib/dtos/configs/structures/structures-list.dto.js +1 -1
  160. package/esm2015/lib/dtos/configs/translations/translations.dto.js +1 -1
  161. package/esm2015/lib/dtos/configs/types/types.dto.js +1 -1
  162. package/esm2015/lib/dtos/configs/witness/about-element.dto.js +1 -1
  163. package/esm2015/lib/dtos/forms/forms.dto.js +2 -2
  164. package/esm2015/lib/dtos/utils/quill/crypted-link.dto.js +1 -1
  165. package/esm2015/lib/dtos/utils/quill/custom-link.dto.js +1 -1
  166. package/esm2015/lib/dtos/utils/quill/delta.dto.js +1 -1
  167. package/esm2015/lib/dtos/utils/quill/icon.dto.js +1 -1
  168. package/esm2015/lib/dtos/utils/quill/line-break.dto.js +1 -1
  169. package/esm2015/lib/dtos/utils/quill-html-editor/html-formatter.js +1 -1
  170. package/esm2015/lib/dtos/utils/quill-html-editor/logger.js +1 -1
  171. package/esm2015/lib/dtos/utils/quill-html-editor/options.js +1 -1
  172. package/esm2015/lib/dtos/utils/quill-html-editor/quill.htmlEditButton.js +1 -1
  173. package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom-more.service.js +1 -1
  174. package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom-selected.service.js +1 -1
  175. package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom-triple-column.service.js +1 -1
  176. package/esm2015/lib/services/blocks/amplify-product/amplify-product-zoom.service.js +1 -1
  177. package/esm2015/lib/services/blocks/amplify-products-list/amplify-products-list-classic.service.js +1 -1
  178. package/esm2015/lib/services/blocks/amplify-products-list/amplify-products-list-selected.service.js +1 -1
  179. package/esm2015/lib/services/blocks/amplify-products-list/amplify-products-list-simple.service.js +1 -1
  180. package/esm2015/lib/services/blocks/code/code-html.service.js +1 -1
  181. package/esm2015/lib/services/blocks/code/code-javascript.service.js +1 -1
  182. package/esm2015/lib/services/blocks/code/code-stylesheet.service.js +1 -1
  183. package/esm2015/lib/services/blocks/faq/faq-accordion.service.js +1 -1
  184. package/esm2015/lib/services/blocks/faq/faq-frame.service.js +1 -1
  185. package/esm2015/lib/services/blocks/faq/faq-list-icon.service.js +1 -1
  186. package/esm2015/lib/services/blocks/faq/faq-simple-background.service.js +1 -1
  187. package/esm2015/lib/services/blocks/faq/faq-simple.service.js +1 -1
  188. package/esm2015/lib/services/blocks/forms/forms-background.service.js +1 -1
  189. package/esm2015/lib/services/blocks/forms/forms-imageleft.service.js +1 -1
  190. package/esm2015/lib/services/blocks/forms/forms-imageright.service.js +1 -1
  191. package/esm2015/lib/services/blocks/forms/forms-simple.service.js +1 -1
  192. package/esm2015/lib/services/blocks/images/four-images-title.service.js +1 -1
  193. package/esm2015/lib/services/blocks/images/images-banner.service.js +1 -1
  194. package/esm2015/lib/services/blocks/images/images-big-and-double.service.js +1 -1
  195. package/esm2015/lib/services/blocks/images/images-bigs-and-double-middle.service.js +1 -1
  196. package/esm2015/lib/services/blocks/images/images-double.service.js +1 -1
  197. package/esm2015/lib/services/blocks/images/images-quadruple-left-one-right.service.js +1 -1
  198. package/esm2015/lib/services/blocks/images/images-quadruple.service.js +1 -1
  199. package/esm2015/lib/services/blocks/images/images-simple.service.js +1 -1
  200. package/esm2015/lib/services/blocks/images/images-triple.service.js +1 -1
  201. package/esm2015/lib/services/blocks/images/two-images-title-text.service.js +1 -1
  202. package/esm2015/lib/services/blocks/images-texts/images-texts-big-left-text-right.service.js +1 -1
  203. package/esm2015/lib/services/blocks/images-texts/images-texts-big-right-text-left.service.js +1 -1
  204. package/esm2015/lib/services/blocks/images-texts/images-texts-left-text-right.service.js +1 -1
  205. package/esm2015/lib/services/blocks/images-texts/images-texts-one-text-one.service.js +1 -1
  206. package/esm2015/lib/services/blocks/images-texts/images-texts-right-text-left.service.js +1 -1
  207. package/esm2015/lib/services/blocks/images-texts/images-texts-small-left-text-right.service.js +1 -1
  208. package/esm2015/lib/services/blocks/images-texts/images-texts-small-right-text-left.service.js +1 -1
  209. package/esm2015/lib/services/blocks/images-texts/images-texts-text-one-text.service.js +1 -1
  210. package/esm2015/lib/services/blocks/launch-videos/launch-videos-button.service.js +1 -1
  211. package/esm2015/lib/services/blocks/launch-videos/launch-videos-buttontxt.service.js +1 -1
  212. package/esm2015/lib/services/blocks/map/map-background-form-left.service.js +1 -1
  213. package/esm2015/lib/services/blocks/map/map-background-form-right.service.js +1 -1
  214. package/esm2015/lib/services/blocks/map/map-fullpage.service.js +1 -1
  215. package/esm2015/lib/services/blocks/map/map-left-text.service.js +1 -1
  216. package/esm2015/lib/services/blocks/map/map-right-text.service.js +1 -1
  217. package/esm2015/lib/services/blocks/map/map-text-form.service.js +1 -1
  218. package/esm2015/lib/services/blocks/newsletter/newsletter-aligned-center-background.service.js +1 -1
  219. package/esm2015/lib/services/blocks/newsletter/newsletter-aligned-center-image.service.js +1 -1
  220. package/esm2015/lib/services/blocks/newsletter/newsletter-center-image.service.js +1 -1
  221. package/esm2015/lib/services/blocks/onboarding/forms-onboarding.service.js +1 -1
  222. package/esm2015/lib/services/blocks/product/product-zoom-complete-background.service.js +1 -1
  223. package/esm2015/lib/services/blocks/product/product-zoom-complete-slider.service.js +1 -1
  224. package/esm2015/lib/services/blocks/product/product-zoom-complete.service.js +1 -1
  225. package/esm2015/lib/services/blocks/product/product-zoom-more.service.js +1 -1
  226. package/esm2015/lib/services/blocks/product/product-zoom-selected.service.js +1 -1
  227. package/esm2015/lib/services/blocks/product/product-zoom-simple.service.js +1 -1
  228. package/esm2015/lib/services/blocks/product/product-zoom-triple-column.service.js +1 -1
  229. package/esm2015/lib/services/blocks/product/product-zoom.service.js +1 -1
  230. package/esm2015/lib/services/blocks/products-list/products-list-classic.service.js +1 -1
  231. package/esm2015/lib/services/blocks/products-list/products-list-selected.service.js +1 -1
  232. package/esm2015/lib/services/blocks/products-list/products-list-simple.service.js +1 -1
  233. package/esm2015/lib/services/blocks/quotes/quotes-author.service.js +1 -1
  234. package/esm2015/lib/services/blocks/quotes/quotes-simple-background.service.js +1 -1
  235. package/esm2015/lib/services/blocks/quotes/quotes-simple.service.js +1 -1
  236. package/esm2015/lib/services/blocks/rassurances/rassurances-quadruple-aligned.service.js +1 -1
  237. package/esm2015/lib/services/blocks/rassurances/rassurances-quadruple-background.service.js +1 -1
  238. package/esm2015/lib/services/blocks/rassurances/rassurances-triple-background.service.js +1 -1
  239. package/esm2015/lib/services/blocks/reviews/reviews-simple.service.js +1 -1
  240. package/esm2015/lib/services/blocks/reviews/reviews-waterfall.service.js +1 -1
  241. package/esm2015/lib/services/blocks/separator/separator-simple.service.js +1 -1
  242. package/esm2015/lib/services/blocks/sliders/sliders-double-imageright.service.js +1 -1
  243. package/esm2015/lib/services/blocks/sliders/sliders-fullpage.service.js +1 -1
  244. package/esm2015/lib/services/blocks/sliders/sliders-imageright.service.js +1 -1
  245. package/esm2015/lib/services/blocks/sliders/sliders-leftnav.service.js +1 -1
  246. package/esm2015/lib/services/blocks/sliders/sliders-with-banner.service.js +1 -1
  247. package/esm2015/lib/services/blocks/socials/socials-like.service.js +1 -1
  248. package/esm2015/lib/services/blocks/socials/socials-network.service.js +1 -1
  249. package/esm2015/lib/services/blocks/socials/socials-page-complex.service.js +1 -1
  250. package/esm2015/lib/services/blocks/socials/socials-page-simple.service.js +1 -1
  251. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-four-rows-icon-text.service.js +1 -1
  252. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-link.service.js +1 -1
  253. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-simple.service.js +1 -1
  254. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-three-rows-icon-text.service.js +1 -1
  255. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-two-rows-icon-text.service.js +1 -1
  256. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-banner.service.js +1 -1
  257. package/esm2015/lib/services/blocks/text-backgrounds/text-backgrounds-with-txt.service.js +1 -1
  258. package/esm2015/lib/services/blocks/texts/texts-double-background.service.js +1 -1
  259. package/esm2015/lib/services/blocks/texts/texts-double.service.js +1 -1
  260. package/esm2015/lib/services/blocks/texts/texts-one-background.service.js +1 -1
  261. package/esm2015/lib/services/blocks/texts/texts-one.service.js +1 -1
  262. package/esm2015/lib/services/blocks/texts/texts-quadruple-background.service.js +1 -1
  263. package/esm2015/lib/services/blocks/texts/texts-quadruple-numbers.service.js +1 -1
  264. package/esm2015/lib/services/blocks/texts/texts-quadruple.service.js +1 -1
  265. package/esm2015/lib/services/blocks/texts/texts-triple-background.service.js +1 -1
  266. package/esm2015/lib/services/blocks/texts/texts-triple.service.js +1 -1
  267. package/esm2015/lib/services/blocks/timer/timer-airport.service.js +1 -1
  268. package/esm2015/lib/services/blocks/timer/timer-background.service.js +1 -1
  269. package/esm2015/lib/services/blocks/timer/timer-clock.service.js +1 -1
  270. package/esm2015/lib/services/blocks/timer/timer-multiple-img.service.js +1 -1
  271. package/esm2015/lib/services/blocks/timer/timer-simple.service.js +1 -1
  272. package/esm2015/lib/services/blocks/videos/videos-simple.service.js +1 -1
  273. package/esm2015/lib/services/blocks/videos/videos-txt-content.service.js +1 -1
  274. package/esm2015/lib/services/blocks/videos/videos-txt-left.service.js +1 -1
  275. package/esm2015/lib/services/blocks/videos/videos-txt.service.js +1 -1
  276. package/esm2015/lib/services/blocks/witness/about-block.service.js +1 -1
  277. package/esm2015/lib/services/blocks/witness/witness-background-double.service.js +1 -1
  278. package/esm2015/lib/services/blocks/witness/witness-background-one.service.js +1 -1
  279. package/esm2015/lib/services/blocks/witness/witness-quadruple.service.js +1 -1
  280. package/esm2015/lib/services/blocks/witness/witness-triple.service.js +1 -1
  281. package/esm2015/lib/services/blocks/witness/witness-twice.service.js +1 -1
  282. package/esm2015/lib/services/structures/amplify-product/amplify-product.service.js +1 -1
  283. package/esm2015/lib/services/structures/amplify-products-list/amplify-products-list.service.js +1 -1
  284. package/esm2015/lib/services/structures/code/code.service.js +1 -1
  285. package/esm2015/lib/services/structures/faq/faq.service.js +1 -1
  286. package/esm2015/lib/services/structures/forms/forms.service.js +1 -1
  287. package/esm2015/lib/services/structures/images/images.service.js +1 -1
  288. package/esm2015/lib/services/structures/images-texts/images-texts.service.js +1 -1
  289. package/esm2015/lib/services/structures/launch-videos/launch-videos.service.js +1 -1
  290. package/esm2015/lib/services/structures/map/map.service.js +1 -1
  291. package/esm2015/lib/services/structures/newsletter/newsletter.service.js +1 -1
  292. package/esm2015/lib/services/structures/onboarding/onboarding.service.js +1 -1
  293. package/esm2015/lib/services/structures/parent-structures.service.js +1 -1
  294. package/esm2015/lib/services/structures/product/product.service.js +1 -1
  295. package/esm2015/lib/services/structures/products-list/products-list.service.js +1 -1
  296. package/esm2015/lib/services/structures/quotes/quotes.service.js +1 -1
  297. package/esm2015/lib/services/structures/rassurances/rassurances.service.js +1 -1
  298. package/esm2015/lib/services/structures/reviews/reviews.service.js +1 -1
  299. package/esm2015/lib/services/structures/separator/separator.service.js +1 -1
  300. package/esm2015/lib/services/structures/sliders/sliders.service.js +1 -1
  301. package/esm2015/lib/services/structures/socials/socials.service.js +1 -1
  302. package/esm2015/lib/services/structures/text-backgrounds/text-backgrounds.service.js +1 -1
  303. package/esm2015/lib/services/structures/texts/texts.service.js +1 -1
  304. package/esm2015/lib/services/structures/timer/timer.service.js +1 -1
  305. package/esm2015/lib/services/structures/videos/videos.service.js +1 -1
  306. package/esm2015/lib/services/structures/witness/witness.service.js +1 -1
  307. package/esm2015/lib/services/utils/api.service.js +1 -1
  308. package/esm2015/lib/services/utils/config.service.js +1 -1
  309. package/esm2015/lib/services/utils/content.service.js +1 -1
  310. package/esm2015/lib/services/utils/currency.service.js +1 -1
  311. package/esm2015/lib/services/utils/expected-images.service.js +1 -1
  312. package/esm2015/lib/services/utils/external-config.service.js +1 -1
  313. package/esm2015/lib/services/utils/font-awesome.service.js +1 -1
  314. package/esm2015/lib/services/utils/injector.service.js +1 -1
  315. package/esm2015/lib/services/utils/media-connector.service.js +1 -1
  316. package/esm2015/lib/services/utils/quill.service.js +1 -1
  317. package/esm2015/lib/services/utils/structure-config.service.js +1 -1
  318. package/esm2015/lib/services/utils/translate-block.service.js +1 -1
  319. package/esm2015/lib/services/utils/vimeo.service.js +1 -1
  320. package/esm2015/lib/services/utils/youtube.service.js +1 -1
  321. package/esm2015/lib/services/wizi-block.service.js +1 -1
  322. package/esm2015/lib/shared/animations/list/animate-list-from-left.animation.js +1 -1
  323. package/esm2015/lib/shared/animations/list/animate-list-from-right.animation.js +1 -1
  324. package/esm2015/lib/shared/components/editorjs/editorjs.component.js +27 -7
  325. package/esm2015/lib/shared/components/editorjs/tools/inline/bold-tool.component.js +1 -1
  326. package/esm2015/lib/shared/components/editorjs/tools/inline/capitalize-tool.component.js +1 -1
  327. package/esm2015/lib/shared/components/editorjs/tools/inline/italic-tool.component.js +1 -1
  328. package/esm2015/lib/shared/components/editorjs/tools/inline/link-tool.component.js +121 -19
  329. package/esm2015/lib/shared/components/editorjs/tools/inline/strike-tool.component.js +1 -1
  330. package/esm2015/lib/shared/components/editorjs/tools/inline/subscript-tool.component.js +1 -1
  331. package/esm2015/lib/shared/components/editorjs/tools/inline/superscript-tool.component.js +1 -1
  332. package/esm2015/lib/shared/components/editorjs/tools/inline/text-background-color-tool.component.js +6 -7
  333. package/esm2015/lib/shared/components/editorjs/tools/inline/text-color-tool.component.js +4 -2
  334. package/esm2015/lib/shared/components/editorjs/tools/inline/text-size-tool.component.js +4 -3
  335. package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/color-tool.component.js +1 -1
  336. package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.js +54 -20
  337. package/esm2015/lib/shared/components/editorjs/tools/inline/tool-type/text-tool.component.js +1 -1
  338. package/esm2015/lib/shared/components/editorjs/tools/inline/underline-tool.component.js +1 -1
  339. package/esm2015/lib/shared/components/editorjs/tools/paragraph/code-edit-tool.component.js +1 -1
  340. package/esm2015/lib/shared/components/editorjs/tools/paragraph/indent-tool.component.js +1 -1
  341. package/esm2015/lib/shared/components/editorjs/tools/paragraph/ordered-list-tool.component.js +1 -1
  342. package/esm2015/lib/shared/components/editorjs/tools/paragraph/outdent-tool.component.js +1 -1
  343. package/esm2015/lib/shared/components/editorjs/tools/paragraph/quote-tool.component.js +1 -1
  344. package/esm2015/lib/shared/components/editorjs/tools/paragraph/redo-tool.component.js +1 -1
  345. package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-align-tool.component.js +1 -1
  346. package/esm2015/lib/shared/components/editorjs/tools/paragraph/text-type-tool.component.js +3 -2
  347. package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.js +51 -9
  348. package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-edition.component.js +17 -19
  349. package/esm2015/lib/shared/components/editorjs/tools/paragraph/tool-type/text-tool.component.js +1 -1
  350. package/esm2015/lib/shared/components/editorjs/tools/paragraph/undo-tool.component.js +1 -1
  351. package/esm2015/lib/shared/components/editorjs/tools/paragraph/unordered-list-tool.component.js +1 -1
  352. package/esm2015/lib/shared/components/editorjs/tools/utils/colors.component.js +1 -1
  353. package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-conversion.service.js +13 -1
  354. package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.js +40 -2
  355. package/esm2015/lib/shared/components/editorjs/tools/utils/editorjs-translation.service.js +20 -0
  356. package/esm2015/lib/shared/components/editorjs/tools/utils/i18n/en-i18n.component.js +3 -3
  357. package/esm2015/lib/shared/components/editorjs/tools/utils/i18n/fr-i18n.component.js +3 -3
  358. package/esm2015/lib/shared/components/editorjs/tools/utils/texts.component.js +1 -1
  359. package/esm2015/lib/shared/components/faq/faq.component.js +1 -1
  360. package/esm2015/lib/shared/components/loader/loader.component.js +1 -1
  361. package/esm2015/lib/shared/components/quill/quill.component.js +1 -1
  362. package/esm2015/lib/shared/components/shared-components.module.js +1 -1
  363. package/esm2015/lib/shared/components/small-loader/small-loader.component.js +1 -1
  364. package/esm2015/lib/shared/components/star/star.component.js +1 -1
  365. package/esm2015/lib/shared/components/structure-amplify-search-category/structure-amplify-search-category.component.js +1 -1
  366. package/esm2015/lib/shared/components/structure-amplify-search-product/structure-amplify-search-product.component.js +1 -1
  367. package/esm2015/lib/shared/components/structure-config/structure-config.component.js +1 -1
  368. package/esm2015/lib/shared/components/structure-config-checkbox/structure-config-checkbox.component.js +1 -1
  369. package/esm2015/lib/shared/components/structure-config-extend-input/structure-config-extended-input.component.js +1 -1
  370. package/esm2015/lib/shared/components/structure-config-font/structure-config-font.component.js +1 -1
  371. package/esm2015/lib/shared/components/structure-config-input/structure-config-input.component.js +1 -1
  372. package/esm2015/lib/shared/components/structure-config-payment/structure-config-payment.component.js +1 -1
  373. package/esm2015/lib/shared/components/structure-search-product/structure-search-product.component.js +1 -1
  374. package/esm2015/lib/shared/components/structure-select/structure-select.component.js +1 -1
  375. package/esm2015/lib/shared/components/structure-tools/structure-tools.component.js +1 -1
  376. package/esm2015/lib/shared/directives/auto-focus/auto-focus.directive.js +1 -1
  377. package/esm2015/lib/shared/directives/auto-hide/auto-hide.directive.js +1 -1
  378. package/esm2015/lib/shared/directives/get-size-image/get-size-image.directive.js +1 -1
  379. package/esm2015/lib/shared/directives/holdable/holdable.directive.js +1 -1
  380. package/esm2015/lib/shared/directives/pictures-template/pictures-template.directive.js +1 -1
  381. package/esm2015/lib/shared/directives/shared-directives.module.js +1 -1
  382. package/esm2015/lib/shared/directives/show-delete-button/show-delete-button.directive.js +1 -1
  383. package/esm2015/lib/shared/pipes/add-zero-for-timer/add-zero-for-timer.pipe.js +1 -1
  384. package/esm2015/lib/shared/pipes/answer-type/answer-type.pipe.js +1 -1
  385. package/esm2015/lib/shared/pipes/array-number/array-number.pipe.js +1 -1
  386. package/esm2015/lib/shared/pipes/check-payment-value/check-payment-value.pipe.js +1 -1
  387. package/esm2015/lib/shared/pipes/even-odd/even-odd.pipe.js +1 -1
  388. package/esm2015/lib/shared/pipes/img-path/img-path.pipe.js +1 -1
  389. package/esm2015/lib/shared/pipes/safe-style/safe-style.pipe.js +1 -1
  390. package/esm2015/lib/shared/pipes/safe-url/safe-url.pipe.js +1 -1
  391. package/esm2015/lib/shared/pipes/shared-pipes.module.js +1 -1
  392. package/esm2015/lib/shared/pipes/strip-tags/strip-tags.pipe.js +1 -1
  393. package/esm2015/lib/shared/pipes/tiny-color/tiny-color.pipe.js +1 -1
  394. package/esm2015/lib/shared/shared.module.js +1 -1
  395. package/esm2015/lib/structures/amplify-product/zoom/amplify-product-zoom.component.js +1 -1
  396. package/esm2015/lib/structures/amplify-product/zoom-more/amplify-product-zoom-more.component.js +1 -1
  397. package/esm2015/lib/structures/amplify-product/zoom-selected/amplify-product-zoom-selected.component.js +1 -1
  398. package/esm2015/lib/structures/amplify-product/zoom-triple-column/amplify-product-zoom-triple-column.component.js +1 -1
  399. package/esm2015/lib/structures/amplify-products-list/classic/amplify-products-list-classic.component.js +1 -1
  400. package/esm2015/lib/structures/amplify-products-list/selected/amplify-products-list-selected.component.js +1 -1
  401. package/esm2015/lib/structures/amplify-products-list/simple/amplify-products-list-simple.component.js +1 -1
  402. package/esm2015/lib/structures/code/code-html/code-html.component.js +1 -1
  403. package/esm2015/lib/structures/code/code-javascript/code-javascript.component.js +1 -1
  404. package/esm2015/lib/structures/code/code-stylesheet/code-stylesheet.component.js +1 -1
  405. package/esm2015/lib/structures/faq/accordion/faq-accordion.component.js +1 -1
  406. package/esm2015/lib/structures/faq/frame/faq-frame.component.js +1 -1
  407. package/esm2015/lib/structures/faq/list-icon/faq-list-icon.component.js +1 -1
  408. package/esm2015/lib/structures/faq/simple/faq-simple.component.js +1 -1
  409. package/esm2015/lib/structures/faq/simple-background/faq-simple-background.component.js +1 -1
  410. package/esm2015/lib/structures/forms/background/forms-background.component.js +1 -1
  411. package/esm2015/lib/structures/forms/imageleft/forms-imageleft.component.js +1 -1
  412. package/esm2015/lib/structures/forms/imageright/forms-imageright.component.js +1 -1
  413. package/esm2015/lib/structures/forms/simple/forms-simple.component.js +1 -1
  414. package/esm2015/lib/structures/images/banner/images-banner.component.js +1 -1
  415. package/esm2015/lib/structures/images/big-and-double/images-big-and-double.component.js +1 -1
  416. package/esm2015/lib/structures/images/bigs-and-double-middle/images-bigs-and-double-middle.component.js +1 -1
  417. package/esm2015/lib/structures/images/double/images-double.component.js +1 -1
  418. package/esm2015/lib/structures/images/four-images-title/four-images-title.component.js +1 -1
  419. package/esm2015/lib/structures/images/quadruple/images-quadruple.component.js +1 -1
  420. package/esm2015/lib/structures/images/quadruple-left-one-right/images-quadruple-left-one-right.component.js +1 -1
  421. package/esm2015/lib/structures/images/simple/images-simple.component.js +1 -1
  422. package/esm2015/lib/structures/images/triple/images-triple.component.js +1 -1
  423. package/esm2015/lib/structures/images/two-images-title-text/two-images-title-text.component.js +1 -1
  424. package/esm2015/lib/structures/images-texts/big-left-text-right/images-texts-big-left-text-right.component.js +1 -1
  425. package/esm2015/lib/structures/images-texts/big-right-text-left/images-texts-big-right-text-left.component.js +1 -1
  426. package/esm2015/lib/structures/images-texts/left-text-right/images-texts-left-text-right.component.js +1 -1
  427. package/esm2015/lib/structures/images-texts/one-text-one/images-texts-one-text-one.component.js +1 -1
  428. package/esm2015/lib/structures/images-texts/right-text-left/images-texts-right-text-left.component.js +1 -1
  429. package/esm2015/lib/structures/images-texts/small-left-text-right/images-texts-small-left-text-right.component.js +1 -1
  430. package/esm2015/lib/structures/images-texts/small-right-text-left/images-texts-small-right-text-left.component.js +1 -1
  431. package/esm2015/lib/structures/images-texts/text-one-text/images-texts-text-one-text.component.js +1 -1
  432. package/esm2015/lib/structures/launch-videos/button/launch-videos-button.component.js +1 -1
  433. package/esm2015/lib/structures/launch-videos/buttontxt/launch-videos-buttontxt.component.js +1 -1
  434. package/esm2015/lib/structures/loader-component.module.js +1 -1
  435. package/esm2015/lib/structures/map/background-form-left/map-background-form-left.component.js +1 -1
  436. package/esm2015/lib/structures/map/background-form-right/map-background-form-right.component.js +1 -1
  437. package/esm2015/lib/structures/map/fullpage/map-fullpage.component.js +1 -1
  438. package/esm2015/lib/structures/map/left-text/map-left-text.component.js +1 -1
  439. package/esm2015/lib/structures/map/right-text/map-right-text.component.js +1 -1
  440. package/esm2015/lib/structures/map/text-form/map-text-form.component.js +1 -1
  441. package/esm2015/lib/structures/newsletter/aligned-center-background/newsletter-aligned-center-background.component.js +1 -1
  442. package/esm2015/lib/structures/newsletter/aligned-center-image/newsletter-aligned-center-image.component.js +1 -1
  443. package/esm2015/lib/structures/newsletter/center-image/newsletter-center-image.component.js +1 -1
  444. package/esm2015/lib/structures/onboarding/onboarding/forms-onboarding.component.js +1 -1
  445. package/esm2015/lib/structures/product/zoom/product-zoom.component.js +1 -1
  446. package/esm2015/lib/structures/product/zoom-complete/product-zoom-complete.component.js +1 -1
  447. package/esm2015/lib/structures/product/zoom-complete-background/product-zoom-complete-background.component.js +1 -1
  448. package/esm2015/lib/structures/product/zoom-complete-slider/product-zoom-complete-slider.component.js +1 -1
  449. package/esm2015/lib/structures/product/zoom-more/product-zoom-more.component.js +1 -1
  450. package/esm2015/lib/structures/product/zoom-selected/product-zoom-selected.component.js +1 -1
  451. package/esm2015/lib/structures/product/zoom-simple/product-zoom-simple.component.js +1 -1
  452. package/esm2015/lib/structures/product/zoom-triple-column/product-zoom-triple-column.component.js +1 -1
  453. package/esm2015/lib/structures/products-list/classic/products-list-classic.component.js +1 -1
  454. package/esm2015/lib/structures/products-list/selected/products-list-selected.component.js +1 -1
  455. package/esm2015/lib/structures/products-list/simple/products-list-simple.component.js +1 -1
  456. package/esm2015/lib/structures/quotes/author/quotes-author.component.js +1 -1
  457. package/esm2015/lib/structures/quotes/simple/quotes-simple.component.js +1 -1
  458. package/esm2015/lib/structures/quotes/simple-background/quotes-simple-background.component.js +1 -1
  459. package/esm2015/lib/structures/rassurances/quadruple-aligned/rassurances-quadruple-aligned.component.js +1 -1
  460. package/esm2015/lib/structures/rassurances/quadruple-background/rassurances-quadruple-background.component.js +1 -1
  461. package/esm2015/lib/structures/rassurances/triple-background/rassurances-triple-background.component.js +1 -1
  462. package/esm2015/lib/structures/reviews/simple/reviews-simple.component.js +1 -1
  463. package/esm2015/lib/structures/reviews/waterfall/reviews-waterfall.component.js +1 -1
  464. package/esm2015/lib/structures/separator/separator-simple/separator-simple.component.js +1 -1
  465. package/esm2015/lib/structures/sliders/double-imageright/slider-double-imageright.component.js +1 -1
  466. package/esm2015/lib/structures/sliders/fullpage/slider-fullpage.component.js +1 -1
  467. package/esm2015/lib/structures/sliders/imageright/slider-imageright.component.js +1 -1
  468. package/esm2015/lib/structures/sliders/leftnav/slider-leftnav.component.js +1 -1
  469. package/esm2015/lib/structures/sliders/with-banner/slider-with-banner.component.js +1 -1
  470. package/esm2015/lib/structures/socials/like/socials-like.component.js +1 -1
  471. package/esm2015/lib/structures/socials/network/socials-network.component.js +1 -1
  472. package/esm2015/lib/structures/socials/page-complex/socials-page-complex.component.js +1 -1
  473. package/esm2015/lib/structures/socials/page-simple/socials-page-simple.component.js +1 -1
  474. package/esm2015/lib/structures/structures.component.js +1 -1
  475. package/esm2015/lib/structures/structures.module.js +1 -1
  476. package/esm2015/lib/structures/text-backgrounds/four-rows-icon-text/text-backgrounds-four-rows-icon-text.component.js +7 -2
  477. package/esm2015/lib/structures/text-backgrounds/link/text-backgrounds-link.component.js +1 -1
  478. package/esm2015/lib/structures/text-backgrounds/simple/text-backgrounds-simple.component.js +1 -1
  479. package/esm2015/lib/structures/text-backgrounds/three-rows-icon-text/text-backgrounds-three-rows-icon-text.component.js +2 -2
  480. package/esm2015/lib/structures/text-backgrounds/two-rows-icon-text/text-backgrounds-two-rows-icon-text.component.js +2 -2
  481. package/esm2015/lib/structures/text-backgrounds/with-banner/text-backgrounds-with-banner.component.js +1 -1
  482. package/esm2015/lib/structures/text-backgrounds/with-txt/text-backgrounds-with-txt.component.js +1 -1
  483. package/esm2015/lib/structures/texts/double/texts-double.component.js +1 -1
  484. package/esm2015/lib/structures/texts/double-background/texts-double-background.component.js +1 -1
  485. package/esm2015/lib/structures/texts/one/texts-one.component.js +1 -1
  486. package/esm2015/lib/structures/texts/one-background/texts-one-background.component.js +1 -1
  487. package/esm2015/lib/structures/texts/quadruple/texts-quadruple.component.js +1 -1
  488. package/esm2015/lib/structures/texts/quadruple-background/texts-quadruple-background.component.js +1 -1
  489. package/esm2015/lib/structures/texts/quadruple-numbers/texts-quadruple-numbers.component.js +2 -2
  490. package/esm2015/lib/structures/texts/triple/texts-triple.component.js +1 -1
  491. package/esm2015/lib/structures/texts/triple-background/texts-triple-background.component.js +1 -1
  492. package/esm2015/lib/structures/timer/airport/timer-airport.component.js +2 -2
  493. package/esm2015/lib/structures/timer/background/timer-background.component.js +2 -2
  494. package/esm2015/lib/structures/timer/clock/timer-clock.component.js +2 -2
  495. package/esm2015/lib/structures/timer/multiple-img/timer-multiple-img.component.js +2 -2
  496. package/esm2015/lib/structures/timer/simple/timer-simple.component.js +2 -2
  497. package/esm2015/lib/structures/videos/simple/videos-simple.component.js +1 -1
  498. package/esm2015/lib/structures/videos/txt/videos-txt.component.js +1 -1
  499. package/esm2015/lib/structures/videos/txt-content/videos-txt-content.component.js +1 -1
  500. package/esm2015/lib/structures/videos/txt-left/videos-txt-left.component.js +1 -1
  501. package/esm2015/lib/structures/witness/about-block/about-block.component.js +1 -1
  502. package/esm2015/lib/structures/witness/background-double/witness-background-double.component.js +1 -1
  503. package/esm2015/lib/structures/witness/background-one/witness-background-one.component.js +1 -1
  504. package/esm2015/lib/structures/witness/quadruple/witness-quadruple.component.js +1 -1
  505. package/esm2015/lib/structures/witness/triple/witness-triple.component.js +1 -1
  506. package/esm2015/lib/structures/witness/twice/witness-twice.component.js +1 -1
  507. package/esm2015/lib/wizi-block.component.js +4 -4
  508. package/esm2015/lib/wizi-block.module.js +1 -1
  509. package/esm2015/public_api.js +1 -1
  510. package/esm2015/wizishop-wizi-block.js +227 -226
  511. package/fesm2015/wizishop-wizi-block.js +362 -97
  512. package/fesm2015/wizishop-wizi-block.js.map +1 -1
  513. package/lib/shared/components/editorjs/editorjs.component.d.ts +5 -1
  514. package/lib/shared/components/editorjs/tools/inline/link-tool.component.d.ts +2 -0
  515. package/lib/shared/components/editorjs/tools/inline/tool-type/inline-style-tool.component.d.ts +3 -2
  516. package/lib/shared/components/editorjs/tools/paragraph/tool-type/paragraph-style-tool.component.d.ts +5 -0
  517. package/lib/shared/components/editorjs/tools/utils/editorjs-tool.component.d.ts +3 -0
  518. package/lib/shared/components/editorjs/tools/utils/editorjs-translation.service.d.ts +7 -0
  519. package/lib/structures/text-backgrounds/four-rows-icon-text/text-backgrounds-four-rows-icon-text.component.d.ts +1 -0
  520. package/package.json +4 -2
  521. package/wizi-block.scss +2727 -2435
  522. package/wizishop-wizi-block.d.ts +226 -225
  523. package/wizishop-wizi-block.metadata.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { ParagraphStyleTool } from './paragraph-style-tool.component';
2
2
  import * as monaco from 'monaco-editor';
3
3
  import { LIST_EDIT_KEY_CODES } from '../../utils/colors.component';
4
+ import { editorJSI18nDictionnary } from '../../utils/editorjs-translation.service';
4
5
  export class TextEditionTool extends ParagraphStyleTool {
5
6
  constructor() {
6
7
  super(...arguments);
@@ -47,8 +48,7 @@ export class TextEditionTool extends ParagraphStyleTool {
47
48
  }
48
49
  editHTML() {
49
50
  let content = this.getEditorContent();
50
- let modal = this.createHTMLEditModal(content);
51
- document.querySelector('body').appendChild(modal);
51
+ this.createHTMLEditModal(content);
52
52
  }
53
53
  createHTMLEditModal(content) {
54
54
  let container = document.createElement('div');
@@ -57,30 +57,30 @@ export class TextEditionTool extends ParagraphStyleTool {
57
57
  modal.classList.add(this.modalClass);
58
58
  let editorContainer = document.createElement('div');
59
59
  editorContainer.classList.add(this.editorClass);
60
- var monacoEditor = monaco.editor.create(editorContainer, {
61
- value: content,
62
- language: 'html',
63
- automaticLayout: true,
64
- });
65
60
  codeEditEditor = this.findParentEditor();
66
61
  codeEditApi = this.api;
67
62
  let buttonContainer = document.createElement('div');
68
63
  let cancelButton = document.createElement('button');
69
64
  let saveButton = document.createElement('button');
70
- cancelButton.innerText = this.api.i18n.t('Cancel');
71
- saveButton.innerText = this.api.i18n.t('Save');
65
+ cancelButton.innerText = editorJSI18nDictionnary.messages.tools.codeEdit['Cancel'];
66
+ saveButton.innerText = editorJSI18nDictionnary.messages.tools.codeEdit['Save'];
72
67
  cancelButton.addEventListener('click', closeCodeEditModal, true);
73
- saveButton.addEventListener('click', () => {
74
- let content = monacoEditor.getValue();
75
- saveCodeEditModal(content);
76
- }, true);
77
68
  buttonContainer.appendChild(cancelButton);
78
- buttonContainer.appendChild(saveButton);
79
69
  buttonContainer.classList.add(this.buttonClass);
80
70
  modal.appendChild(editorContainer);
81
71
  modal.appendChild(buttonContainer);
82
72
  container.appendChild(modal);
83
- return container;
73
+ document.querySelector('body').appendChild(container);
74
+ var monacoEditor = monaco.editor.create(editorContainer, {
75
+ value: content,
76
+ language: 'html',
77
+ });
78
+ saveButton.addEventListener('click', () => {
79
+ console.log("here");
80
+ let content = monacoEditor.getValue();
81
+ saveCodeEditModal(content);
82
+ }, true);
83
+ buttonContainer.appendChild(saveButton);
84
84
  }
85
85
  getSavedEditorContent(name) {
86
86
  return localStorage.getItem(name);
@@ -130,9 +130,7 @@ export class TextEditionTool extends ParagraphStyleTool {
130
130
  const isTagNext = !isBrTag && !isOpeningTag && !isClosingTag && isTagEnd && code.substr(pos, code.substr(pos).indexOf('<')).trim() === '';
131
131
  if (isBrTag) {
132
132
  // If opening tag, add newline character and indention
133
- result += newlineChar;
134
- currentIndent--;
135
- pos += 4;
133
+ result += newlineChar + whitespace.repeat(currentIndent);
136
134
  }
137
135
  if (isOpeningTag) {
138
136
  // If opening tag, add newline character and indention
@@ -265,4 +263,4 @@ function onEditList(event) {
265
263
  }
266
264
  }
267
265
  }
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9icmlhbi9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvcGFyYWdyYXBoL3Rvb2wtdHlwZS90ZXh0LWVkaXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE1BQU0sT0FBZ0IsZUFBZ0IsU0FBUSxrQkFBa0I7SUFBaEU7O1FBS0ksbUJBQWMsR0FBRyxxQkFBcUIsQ0FBQztRQUN2QyxlQUFVLEdBQUcsNEJBQTRCLENBQUM7UUFDMUMsZ0JBQVcsR0FBRyxvQ0FBb0MsQ0FBQztRQUNuRCxnQkFBVyxHQUFHLHFDQUFxQyxDQUFDO0lBMEt4RCxDQUFDO0lBeEtHLElBQUk7UUFDQSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQztZQUNqRSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1lBQzVELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNULElBQUksZUFBZSxHQUFrQixFQUFFLENBQUM7UUFDeEMsSUFBSSxD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YXJhZ3JhcGgtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0ICogYXMgbW9uYWNvIGZyb20gJ21vbmFjby1lZGl0b3InO1xuaW1wb3J0IHsgTElTVF9FRElUX0tFWV9DT0RFUyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9ycy5jb21wb25lbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGV4dEVkaXRpb25Ub29sIGV4dGVuZHMgUGFyYWdyYXBoU3R5bGVUb29sIHtcbiAgICBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH07XG5cbiAgICBDU1M6IGFueTtcblxuICAgIGNvbnRhaW5lckNsYXNzID0gJ2NvZGVFZGl0X19jb250YWluZXInO1xuICAgIG1vZGFsQ2xhc3MgPSAnY29kZUVkaXRfX2NvbnRhaW5lcl9fbW9kYWwnO1xuICAgIGVkaXRvckNsYXNzID0gJ2NvZGVFZGl0X19jb250YWluZXJfX21vZGFsX19lZGl0b3InO1xuICAgIGJ1dHRvbkNsYXNzID0gJ2NvZGVFZGl0X19jb250YWluZXJfX21vZGFsX19idXR0b25zJztcblxuICAgIHVuZG8oKSB7XG4gICAgICAgIGxldCBlZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgbGV0IHNhdmVkRGF0YSA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCk7XG4gICAgICAgIGxldCBzYXZlZERhdGFJbmRleCA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnKVxuICAgICAgICAgICAgPyBwYXJzZUludCh0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQgKyAnLWluZGV4JykpXG4gICAgICAgICAgICA6IC0xO1xuICAgICAgICBsZXQgcGFyc2VkU2F2ZWREYXRhOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIGlmICghc2F2ZWREYXRhKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VkU2F2ZWREYXRhID0gSlNPTi5wYXJzZShzYXZlZERhdGEpO1xuICAgICAgICAtLXNhdmVkRGF0YUluZGV4O1xuICAgICAgICBzYXZlZERhdGFJbmRleCA9IHNhdmVkRGF0YUluZGV4IDwgMCA/IDAgOiBzYXZlZERhdGFJbmRleDtcbiAgICAgICAgY29kZUVkaXRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgY29kZUVkaXRBcGkgPSB0aGlzLmFwaTtcbiAgICAgICAgc2F2ZUNvZGVFZGl0TW9kYWwocGFyc2VkU2F2ZWREYXRhW3NhdmVkRGF0YUluZGV4XSk7XG4gICAgICAgIHRoaXMuc2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnLCBzYXZlZERhdGFJbmRleC50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICByZWRvKCkge1xuICAgICAgICBsZXQgZWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG5cbiAgICAgICAgbGV0IHNhdmVkRGF0YSA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCk7XG4gICAgICAgIGxldCBzYXZlZERhdGFJbmRleCA9IHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnKVxuICAgICAgICAgICAgPyBwYXJzZUludCh0aGlzLmdldFNhdmVkRWRpdG9yQ29udGVudChlZGl0b3IuaWQgKyAnLWluZGV4JykpXG4gICAgICAgICAgICA6IC0xO1xuICAgICAgICBsZXQgcGFyc2VkU2F2ZWREYXRhOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAgIGlmICghc2F2ZWREYXRhKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VkU2F2ZWREYXRhID0gSlNPTi5wYXJzZShzYXZlZERhdGEpO1xuICAgICAgICArK3NhdmVkRGF0YUluZGV4O1xuICAgICAgICBzYXZlZERhdGFJbmRleCA9IHNhdmVkRGF0YUluZGV4ID4gcGFyc2VkU2F2ZWREYXRhLmxlbmd0aCA/IHBhcnNlZFNhdmVkRGF0YS5sZW5ndGggOiBzYXZlZERhdGFJbmRleDtcbiAgICAgICAgY29kZUVkaXRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgY29kZUVkaXRBcGkgPSB0aGlzLmFwaTtcbiAgICAgICAgc2F2ZUNvZGVFZGl0TW9kYWwocGFyc2VkU2F2ZWREYXRhW3NhdmVkRGF0YUluZGV4XSk7XG4gICAgICAgIHRoaXMuc2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnLCBzYXZlZERhdGFJbmRleC50b1N0cmluZygpKTtcbiAgICB9XG5cbiAgICBlZGl0SFRNTCgpIHtcbiAgICAgICAgbGV0IGNvbnRlbnQgPSB0aGlzLmdldEVkaXRvckNvbnRlbnQoKTtcbiAgICAgICAgbGV0IG1vZGFsID0gdGhpcy5jcmVhdGVIVE1MRWRpdE1vZGFsKGNvbnRlbnQpO1xuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuYXBwZW5kQ2hpbGQobW9kYWwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlSFRNTEVkaXRNb2RhbChjb250ZW50OiBzdHJpbmcpIHtcbiAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCh0aGlzLmNvbnRhaW5lckNsYXNzKTtcbiAgICAgICAgbGV0IG1vZGFsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIG1vZGFsLmNsYXNzTGlzdC5hZGQodGhpcy5tb2RhbENsYXNzKTtcbiAgICAgICAgbGV0IGVkaXRvckNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBlZGl0b3JDb250YWluZXIuY2xhc3NMaXN0LmFkZCh0aGlzLmVkaXRvckNsYXNzKTtcbiAgICAgICAgdmFyIG1vbmFjb0VkaXRvciA9IG1vbmFjby5lZGl0b3IuY3JlYXRlKGVkaXRvckNvbnRhaW5lciwge1xuICAgICAgICAgICAgdmFsdWU6IGNvbnRlbnQsXG4gICAgICAgICAgICBsYW5ndWFnZTogJ2h0bWwnLFxuICAgICAgICAgICAgYXV0b21hdGljTGF5b3V0OiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgICAgY29kZUVkaXRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgY29kZUVkaXRBcGkgPSB0aGlzLmFwaTtcblxuICAgICAgICBsZXQgYnV0dG9uQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGxldCBjYW5jZWxCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcbiAgICAgICAgbGV0IHNhdmVCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKTtcbiAgICAgICAgY2FuY2VsQnV0dG9uLmlubmVyVGV4dCA9IHRoaXMuYXBpLmkxOG4udCgnQ2FuY2VsJyk7XG4gICAgICAgIHNhdmVCdXR0b24uaW5uZXJUZXh0ID0gdGhpcy5hcGkuaTE4bi50KCdTYXZlJyk7XG4gICAgICAgIGNhbmNlbEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNsb3NlQ29kZUVkaXRNb2RhbCwgdHJ1ZSk7XG4gICAgICAgIHNhdmVCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgICAgICdjbGljaycsXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGNvbnRlbnQgPSBtb25hY29FZGl0b3IuZ2V0VmFsdWUoKTtcbiAgICAgICAgICAgICAgICBzYXZlQ29kZUVkaXRNb2RhbChjb250ZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICAgIGJ1dHRvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChjYW5jZWxCdXR0b24pO1xuICAgICAgICBidXR0b25Db250YWluZXIuYXBwZW5kQ2hpbGQoc2F2ZUJ1dHRvbik7XG4gICAgICAgIGJ1dHRvbkNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKHRoaXMuYnV0dG9uQ2xhc3MpO1xuXG4gICAgICAgIG1vZGFsLmFwcGVuZENoaWxkKGVkaXRvckNvbnRhaW5lcik7XG4gICAgICAgIG1vZGFsLmFwcGVuZENoaWxkKGJ1dHRvbkNvbnRhaW5lcik7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChtb2RhbCk7XG4gICAgICAgIHJldHVybiBjb250YWluZXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTYXZlZEVkaXRvckNvbnRlbnQobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNhdmVkRWRpdG9yQ29udGVudChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0obmFtZSwgdmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RWRpdG9yQ29udGVudCgpOiBzdHJpbmcge1xuICAgICAgICBsZXQgY3VycmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICBsZXQgZWRpdG9yQmxvY2tzID0gY3VycmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY29kZXgtZWRpdG9yX19yZWRhY3RvciAuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgIGxldCBjb250ZW50ID0gJyc7XG4gICAgICAgIGVkaXRvckJsb2Nrcy5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgbGV0IGNsb3NpbmdUYWcgPSAnPC8nICsgYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSArICc+JztcbiAgICAgICAgICAgIGxldCByZWdleHAgPSAvKCg8XFwvKVxcdysoPikpKD8hW1xcc1xcU10qKCg8XFwvKVxcdysoPikpW1xcc1xcU10qJCkvaTtcbiAgICAgICAgICAgIGxldCBsYXN0Q29udGVudENsb3NpbmdUYWcgPSBjb250ZW50Lm1hdGNoKHJlZ2V4cCkgPyBjb250ZW50Lm1hdGNoKHJlZ2V4cClbMF0gOiAnJztcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3VsJyB8fCBibG9jay5jaGlsZHJlblswXT8udGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSAmJlxuICAgICAgICAgICAgICAgIGxhc3RDb250ZW50Q2xvc2luZ1RhZyA9PT0gY2xvc2luZ1RhZ1xuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29udGVudCA9IGNvbnRlbnQuc3Vic3RyaW5nKDAsIGNvbnRlbnQubGVuZ3RoIC0gY2xvc2luZ1RhZy5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYmxvY2suaW5uZXJIVE1MLnN1YnN0cmluZyhjbG9zaW5nVGFnLnJlcGxhY2UoJy8nLCAnJykubGVuZ3RoLCBibG9jay5pbm5lckhUTUwubGVuZ3RoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29udGVudCArPSBibG9jay5pbm5lckhUTUw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5Gb3JtYXRIVE1MU3RyaW5nSW5kZW50YXRpb24oY29udGVudCk7XG4gICAgfVxuXG4gICAgLy8gQWRhcHRlZCBGUk9NIGpzZmlkZGxlIGhlcmU6IGh0dHBzOi8vanNmaWRkbGUubmV0L2J1a3N5L3J4dWNnMWdkL1xuICAgIHByaXZhdGUgRm9ybWF0SFRNTFN0cmluZ0luZGVudGF0aW9uKGNvZGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGxldCBzdHJpcFdoaXRlU3BhY2VzID0gdHJ1ZTtcbiAgICAgICAgbGV0IHN0cmlwRW1wdHlMaW5lcyA9IHRydWU7XG4gICAgICAgIGNvbnN0IHdoaXRlc3BhY2UgPSAnICcucmVwZWF0KDIpOyAvLyBEZWZhdWx0IGluZGVudGluZyA0IHdoaXRlc3BhY2VzXG4gICAgICAgIGxldCBjdXJyZW50SW5kZW50ID0gMDtcbiAgICAgICAgY29uc3QgbmV3bGluZUNoYXIgPSAnXFxuJztcbiAgICAgICAgbGV0IHByZXZDaGFyID0gbnVsbDtcbiAgICAgICAgbGV0IGNoYXIgPSBudWxsO1xuICAgICAgICBsZXQgbmV4dENoYXIgPSBudWxsO1xuXG4gICAgICAgIGxldCByZXN1bHQgPSAnJztcbiAgICAgICAgZm9yIChsZXQgcG9zID0gMDsgcG9zIDw9IGNvZGUubGVuZ3RoOyBwb3MrKykge1xuICAgICAgICAgICAgcHJldkNoYXIgPSBjaGFyO1xuICAgICAgICAgICAgY2hhciA9IGNvZGUuc3Vic3RyKHBvcywgMSk7XG4gICAgICAgICAgICBuZXh0Q2hhciA9IGNvZGUuc3Vic3RyKHBvcyArIDEsIDEpO1xuXG4gICAgICAgICAgICBjb25zdCBpc0JyVGFnID0gY29kZS5zdWJzdHIocG9zLCA0KSA9PT0gJzxicj4nO1xuICAgICAgICAgICAgY29uc3QgaXNPcGVuaW5nVGFnID0gY2hhciA9PT0gJzwnICYmIG5leHRDaGFyICE9PSAnLycgJiYgIWlzQnJUYWc7XG4gICAgICAgICAgICBjb25zdCBpc0Nsb3NpbmdUYWcgPSBjaGFyID09PSAnPCcgJiYgbmV4dENoYXIgPT09ICcvJyAmJiAhaXNCclRhZztcbiAgICAgICAgICAgIGNvbnN0IGlzVGFnRW5kID0gcHJldkNoYXIgPT09ICc+JyAmJiBjaGFyICE9PSAnPCcgJiYgY3VycmVudEluZGVudCA+IDA7XG4gICAgICAgICAgICBjb25zdCBpc1RhZ05leHQgPVxuICAgICAgICAgICAgICAgICFpc0JyVGFnICYmICFpc09wZW5pbmdUYWcgJiYgIWlzQ2xvc2luZ1RhZyAmJiBpc1RhZ0VuZCAmJiBjb2RlLnN1YnN0cihwb3MsIGNvZGUuc3Vic3RyKHBvcykuaW5kZXhPZignPCcpKS50cmltKCkgPT09ICcnO1xuICAgICAgICAgICAgaWYgKGlzQnJUYWcpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiBvcGVuaW5nIHRhZywgYWRkIG5ld2xpbmUgY2hhcmFjdGVyIGFuZCBpbmRlbnRpb25cbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gbmV3bGluZUNoYXI7XG4gICAgICAgICAgICAgICAgY3VycmVudEluZGVudC0tO1xuICAgICAgICAgICAgICAgIHBvcyArPSA0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzT3BlbmluZ1RhZykge1xuICAgICAgICAgICAgICAgIC8vIElmIG9wZW5pbmcgdGFnLCBhZGQgbmV3bGluZSBjaGFyYWN0ZXIgYW5kIGluZGVudGlvblxuICAgICAgICAgICAgICAgIHJlc3VsdCArPSAocG9zID09PSAwID8gJycgOiBuZXdsaW5lQ2hhcikgKyB3aGl0ZXNwYWNlLnJlcGVhdChjdXJyZW50SW5kZW50KTtcbiAgICAgICAgICAgICAgICBjdXJyZW50SW5kZW50Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBpZiBDbG9zaW5nIHRhZywgYWRkIG5ld2xpbmUgYW5kIGluZGVudGlvblxuICAgICAgICAgICAgZWxzZSBpZiAoaXNDbG9zaW5nVGFnKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUncmUgbW9yZSBjbG9zaW5nIHRhZ3MgdGhhbiBvcGVuaW5nXG4gICAgICAgICAgICAgICAgaWYgKC0tY3VycmVudEluZGVudCA8IDApIGN1cnJlbnRJbmRlbnQgPSAwO1xuICAgICAgICAgICAgICAgIHJlc3VsdCArPSBuZXdsaW5lQ2hhciArIHdoaXRlc3BhY2UucmVwZWF0KGN1cnJlbnRJbmRlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gcmVtb3ZlIG11bHRpcGxlIHdoaXRlc3BhY2VzXG4gICAgICAgICAgICBlbHNlIGlmIChzdHJpcFdoaXRlU3BhY2VzID09PSB0cnVlICYmIGNoYXIgPT09ICcgJyAmJiBuZXh0Q2hhciA9PT0gJyAnKSBjaGFyID0gJyc7XG4gICAgICAgICAgICAvLyByZW1vdmUgZW1wdHkgbGluZXNcbiAgICAgICAgICAgIGVsc2UgaWYgKHN0cmlwRW1wdHlMaW5lcyA9PT0gdHJ1ZSAmJiBjaGFyID09PSBuZXdsaW5lQ2hhcikge1xuICAgICAgICAgICAgICAgIC8vZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgaWYgKGNvZGUuc3Vic3RyKHBvcywgY29kZS5zdWJzdHIocG9zKS5pbmRleE9mKCc8JykpLnRyaW0oKSA9PT0gJycpIGNoYXIgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc1RhZ0VuZCAmJiAhaXNUYWdOZXh0KSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IG5ld2xpbmVDaGFyICsgd2hpdGVzcGFjZS5yZXBlYXQoY3VycmVudEluZGVudCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlc3VsdCArPSBjaGFyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuXG52YXIgY29kZUVkaXRFZGl0b3IgPSBudWxsO1xudmFyIGNvZGVFZGl0QXBpID0gbnVsbDtcblxuZnVuY3Rpb24gY2xvc2VDb2RlRWRpdE1vZGFsKCkge1xuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jb2RlRWRpdF9fY29udGFpbmVyJyk/LnJlbW92ZSgpO1xufVxuXG5mdW5jdGlvbiBzYXZlQ29kZUVkaXRNb2RhbChjb250ZW50KSB7XG4gICAgbGV0IHRtcEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0bXBFbGVtZW50LmlubmVySFRNTCA9IGNvbnRlbnQ7XG5cbiAgICBjb2RlRWRpdEFwaS5ibG9ja3MuY2xlYXIoKTtcbiAgICBsZXQgcGFyYWdyYXBoID0gY29kZUVkaXRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpO1xuICAgIGxldCBpID0gMDtcblxuICAgIHdoaWxlICh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkKSB7XG4gICAgICAgIGlmICh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3VsJyB8fCB0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykge1xuICAgICAgICAgICAgbGV0IGxpc3RNYXJrZXIgPSAxO1xuICAgICAgICAgICAgbGV0IHByZXZpb3VzQ29udGFpbmVyV2FzT2wgPSBmYWxzZTtcbiAgICAgICAgICAgIHdoaWxlICh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmZpcnN0RWxlbWVudENoaWxkKSB7XG4gICAgICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lKTtcbiAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQodG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgIGlmIChjb250YWluZXIudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghcHJldmlvdXNDb250YWluZXJXYXNPbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdE1hcmtlciA9IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmZpcnN0RWxlbWVudENoaWxkLnNldEF0dHJpYnV0ZSgndmFsdWUnLCBsaXN0TWFya2VyLnRvU3RyaW5nKCkpO1xuICAgICAgICAgICAgICAgICAgICBwcmV2aW91c0NvbnRhaW5lcldhc09sID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgKytsaXN0TWFya2VyO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQ29udGFpbmVyV2FzT2wgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGkgPj0gcGFyYWdyYXBoLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb2RlRWRpdEFwaS5ibG9ja3MuaW5zZXJ0KCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCB0bXBQYXJhZ3JhcGggPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoaSA+PSBwYXJhZ3JhcGgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgY29kZUVkaXRBcGkuYmxvY2tzLmluc2VydCgpO1xuICAgICAgICAgICAgICAgIGxldCB0bXBQYXJhZ3JhcGggPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmFwcGVuZENoaWxkKHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5hcHBlbmRDaGlsZCh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmNsb25lTm9kZSh0cnVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICArK2k7XG4gICAgICAgIH1cbiAgICAgICAgdG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5yZW1vdmUoKTtcbiAgICB9XG5cbiAgICBjbG9zZUNvZGVFZGl0TW9kYWwoKTtcbn1cblxuZnVuY3Rpb24gb25FZGl0TGlzdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGxldCBmb2N1c2VkQmxvY2sgPSA8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0O1xuICAgIGlmIChMSVNUX0VESVRfS0VZX0NPREVTLmluZGV4T2YoZXZlbnQuY29kZSkgPiAtMSkge1xuICAgICAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0JhY2tzcGFjZScpIHtcbiAgICAgICAgICAgIGlmIChmb2N1c2VkQmxvY2suaW5uZXJUZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGxldCBjdXJyZW50UGFyYWdyYXBoID0gY29kZUVkaXRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLXBhcmFncmFwaCcpW2NvZGVFZGl0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpXTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwLCBjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ3AnKSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBpZiAoZm9jdXNlZEJsb2NrLmlubmVyVGV4dCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICBjb2RlRWRpdEFwaS5ibG9ja3MuaW5zZXJ0KCdwYXJhZ3JhcGgnLCBjb2RlRWRpdEFwaS5ibG9ja3MuZ2V0Q3VycmVudEJsb2NrSW5kZXgoKSk7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRCbG9jayA9IGNvZGVFZGl0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1ibG9jaycpW2NvZGVFZGl0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpXTtcbiAgICAgICAgICAgICAgICBsZXQgcHJldmlvdXNCbG9jayA9IGNvZGVFZGl0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1ibG9jaycpW2NvZGVFZGl0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpIC0gMV07XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSBjdXJyZW50QmxvY2sucXVlcnlTZWxlY3RvcignLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICAgICAgICAgIGxldCBsaXN0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocHJldmlvdXNCbG9jay5xdWVyeVNlbGVjdG9yKCcuY2UtcGFyYWdyYXBoJykuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZSk7XG4gICAgICAgICAgICAgICAgbGlzdEVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGknKSk7XG4gICAgICAgICAgICAgICAgaWYgKGxpc3RFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykge1xuICAgICAgICAgICAgICAgICAgICBsaXN0RWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgKHBhcnNlSW50KHByZXZpb3VzQmxvY2sucXVlcnlTZWxlY3RvcignbGknKS5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJykpICsgMSkudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmFwcGVuZENoaWxkKGxpc3RFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcignbGknKSwgMCwgY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdsaScpLCAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJylbY29kZUVkaXRBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJykpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGgucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdwJyksIDAsIGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1lZGl0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdG9vbC10eXBlL3RleHQtZWRpdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxLQUFLLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFbkYsTUFBTSxPQUFnQixlQUFnQixTQUFRLGtCQUFrQjtJQUFoRTs7UUFLSSxtQkFBYyxHQUFHLHFCQUFxQixDQUFDO1FBQ3ZDLGVBQVUsR0FBRyw0QkFBNEIsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLG9DQUFvQyxDQUFDO1FBQ25ELGdCQUFXLEdBQUcscUNBQXFDLENBQUM7SUF5S3hELENBQUM7SUF2S0csSUFBSTtRQUNBLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JDLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDO1lBQ2pFLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1QsSUFBSSxlQUFlLEdBQWtCLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ1osT0FBTztTQUNWO1FBQ0QsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEMsRUFBRSxjQUFjLENBQUM7UUFDakIsY0FBYyxHQUFHLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ3pELGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUN2QixpQkFBaUIsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQztZQUNqRSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1lBQzVELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNULElBQUksZUFBZSxHQUFrQixFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNaLE9BQU87U0FDVjtRQUNELGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLEVBQUUsY0FBYyxDQUFDO1FBQ2pCLGNBQWMsR0FBRyxjQUFjLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO1FBQ25HLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUN2QixpQkFBaUIsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLG1CQUFtQixDQUFDLE9BQWU7UUFDdkMsSUFBSSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0MsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckMsSUFBSSxlQUFlLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3pDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBRXZCLElBQUksZUFBZSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEQsSUFBSSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxJQUFJLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELFlBQVksQ0FBQyxTQUFTLEdBQUcsdUJBQXVCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkYsVUFBVSxDQUFDLFNBQVMsR0FBRyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRSxZQUFZLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pFLGVBQWUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWhELEtBQUssQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxTQUFTLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRELElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtZQUNyRCxLQUFLLEVBQUUsT0FBTztZQUNkLFFBQVEsRUFBRSxNQUFNO1NBQ25CLENBQUMsQ0FBQztRQUVILFVBQVUsQ0FBQyxnQkFBZ0IsQ0FDdkIsT0FBTyxFQUNQLEdBQUcsRUFBRTtZQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEIsSUFBSSxPQUFPLEdBQUcsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3RDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLENBQUMsRUFDRCxJQUFJLENBQ1AsQ0FBQztRQUNGLGVBQWUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLHFCQUFxQixDQUFDLElBQVk7UUFDdEMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUNyRCxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVDLElBQUksWUFBWSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQzNGLElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7O1lBQzNCLElBQUksVUFBVSxHQUFHLElBQUksVUFBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQywwQ0FBRSxPQUFPLENBQUMsV0FBVyxHQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ3ZFLElBQUksTUFBTSxHQUFHLGdEQUFnRCxDQUFDO1lBQzlELElBQUkscUJBQXFCLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2xGLElBQ0ksQ0FBQyxPQUFBLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLDBDQUFFLE9BQU8sQ0FBQyxXQUFXLFFBQU8sSUFBSSxJQUFJLE9BQUEsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsMENBQUUsT0FBTyxDQUFDLFdBQVcsUUFBTyxJQUFJLENBQUM7Z0JBQ3hHLHFCQUFxQixLQUFLLFVBQVUsRUFDdEM7Z0JBQ0UsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRSxPQUFPLElBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDcEc7aUJBQU07Z0JBQ0gsT0FBTyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUM7YUFDOUI7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxtRUFBbUU7SUFDM0QsMkJBQTJCLENBQUMsSUFBWTtRQUM1QyxJQUFJLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDM0IsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztRQUNwRSxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBRXBCLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN6QyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMzQixRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBRW5DLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQztZQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLEtBQUssR0FBRyxJQUFJLFFBQVEsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDbEUsTUFBTSxZQUFZLEdBQUcsSUFBSSxLQUFLLEdBQUcsSUFBSSxRQUFRLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2xFLE1BQU0sUUFBUSxHQUFHLFFBQVEsS0FBSyxHQUFHLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sU0FBUyxHQUNYLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsWUFBWSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUM1SCxJQUFJLE9BQU8sRUFBRTtnQkFDVCxzREFBc0Q7Z0JBQ3RELE1BQU0sSUFBSSxXQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUM1RDtZQUNELElBQUksWUFBWSxFQUFFO2dCQUNkLHNEQUFzRDtnQkFDdEQsTUFBTSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM1RSxhQUFhLEVBQUUsQ0FBQzthQUNuQjtZQUNELDRDQUE0QztpQkFDdkMsSUFBSSxZQUFZLEVBQUU7Z0JBQ25CLDZDQUE2QztnQkFDN0MsSUFBSSxFQUFFLGFBQWEsR0FBRyxDQUFDO29CQUFFLGFBQWEsR0FBRyxDQUFDLENBQUM7Z0JBQzNDLE1BQU0sSUFBSSxXQUFXLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUM1RDtZQUNELDhCQUE4QjtpQkFDekIsSUFBSSxnQkFBZ0IsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxRQUFRLEtBQUssR0FBRztnQkFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ2xGLHFCQUFxQjtpQkFDaEIsSUFBSSxlQUFlLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxXQUFXLEVBQUU7Z0JBQ3ZELFdBQVc7Z0JBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7b0JBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQzthQUNoRjtZQUNELElBQUksUUFBUSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUN4QixNQUFNLElBQUksV0FBVyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDNUQ7WUFFRCxNQUFNLElBQUksSUFBSSxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKO0FBRUQsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDO0FBQzFCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQztBQUV2QixTQUFTLGtCQUFrQjs7SUFDdkIsTUFBQSxRQUFRLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLDBDQUFFLE1BQU0sR0FBRztBQUM3RCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxPQUFPO0lBQzlCLElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsVUFBVSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7SUFFL0IsV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixJQUFJLFNBQVMsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRVYsT0FBTyxVQUFVLENBQUMsaUJBQWlCLEVBQUU7UUFDakMsSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksSUFBSSxVQUFVLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM1SCxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxzQkFBc0IsR0FBRyxLQUFLLENBQUM7WUFDbkMsT0FBTyxVQUFVLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ25ELElBQUksU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM3RSxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDdEYsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksRUFBRTtvQkFDMUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO3dCQUN6QixVQUFVLEdBQUcsQ0FBQyxDQUFDO3FCQUNsQjtvQkFDRCxTQUFTLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDekUsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO29CQUM5QixFQUFFLFVBQVUsQ0FBQztpQkFDaEI7cUJBQU07b0JBQ0gsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO2lCQUNsQztnQkFDRCxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO29CQUN2QixXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUM1QixJQUFJLFlBQVksR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7b0JBQ3BFLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7b0JBQ3JELFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDN0QsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztpQkFDdkY7cUJBQU07b0JBQ0gsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7b0JBQzVCLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ3BDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2lCQUM5RDtnQkFDRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3hELEVBQUUsQ0FBQyxDQUFDO2FBQ1A7U0FDSjthQUFNO1lBQ0gsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRTtnQkFDdkIsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxZQUFZLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNwRSxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNyRCxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ25HO2lCQUFNO2dCQUNILFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUM1QixTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUMxRTtZQUNELEVBQUUsQ0FBQyxDQUFDO1NBQ1A7UUFDRCxVQUFVLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7S0FDekM7SUFFRCxrQkFBa0IsRUFBRSxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxLQUFvQjtJQUNwQyxJQUFJLFlBQVksR0FBZ0IsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QyxJQUFJLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7UUFDOUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUM1QixJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDckMsSUFBSSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7Z0JBQ25ILGdCQUFnQixDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7Z0JBQ2hDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2xFLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM1SDtTQUNKO2FBQU07WUFDSCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7Z0JBQy9CLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxZQUFZLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRyxJQUFJLGFBQWEsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNoSCxJQUFJLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ25FLElBQUksV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakgsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLEVBQUU7b0JBQzVDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQ3RDLE9BQU8sRUFDUCxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUNyRixDQUFDO2lCQUNMO2dCQUNELGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDMUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0QsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQzlIO2lCQUFNO2dCQUNILElBQUksZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO2dCQUNuSCxnQkFBZ0IsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNoQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMxRCxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNsRSxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDNUg7U0FDSjtLQUNKO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFncmFwaFN0eWxlVG9vbCB9IGZyb20gJy4vcGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCAqIGFzIG1vbmFjbyBmcm9tICdtb25hY28tZWRpdG9yJztcbmltcG9ydCB7IExJU1RfRURJVF9LRVlfQ09ERVMgfSBmcm9tICcuLi8uLi91dGlscy9jb2xvcnMuY29tcG9uZW50JztcbmltcG9ydCB7IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5IH0gZnJvbSAnLi4vLi4vdXRpbHMvZWRpdG9yanMtdHJhbnNsYXRpb24uc2VydmljZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZXh0RWRpdGlvblRvb2wgZXh0ZW5kcyBQYXJhZ3JhcGhTdHlsZVRvb2wge1xuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfTtcblxuICAgIENTUzogYW55O1xuXG4gICAgY29udGFpbmVyQ2xhc3MgPSAnY29kZUVkaXRfX2NvbnRhaW5lcic7XG4gICAgbW9kYWxDbGFzcyA9ICdjb2RlRWRpdF9fY29udGFpbmVyX19tb2RhbCc7XG4gICAgZWRpdG9yQ2xhc3MgPSAnY29kZUVkaXRfX2NvbnRhaW5lcl9fbW9kYWxfX2VkaXRvcic7XG4gICAgYnV0dG9uQ2xhc3MgPSAnY29kZUVkaXRfX2NvbnRhaW5lcl9fbW9kYWxfX2J1dHRvbnMnO1xuXG4gICAgdW5kbygpIHtcbiAgICAgICAgbGV0IGVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICBsZXQgc2F2ZWREYXRhID0gdGhpcy5nZXRTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yLmlkKTtcbiAgICAgICAgbGV0IHNhdmVkRGF0YUluZGV4ID0gdGhpcy5nZXRTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yLmlkICsgJy1pbmRleCcpXG4gICAgICAgICAgICA/IHBhcnNlSW50KHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnKSlcbiAgICAgICAgICAgIDogLTE7XG4gICAgICAgIGxldCBwYXJzZWRTYXZlZERhdGE6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICAgICAgaWYgKCFzYXZlZERhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBwYXJzZWRTYXZlZERhdGEgPSBKU09OLnBhcnNlKHNhdmVkRGF0YSk7XG4gICAgICAgIC0tc2F2ZWREYXRhSW5kZXg7XG4gICAgICAgIHNhdmVkRGF0YUluZGV4ID0gc2F2ZWREYXRhSW5kZXggPCAwID8gMCA6IHNhdmVkRGF0YUluZGV4O1xuICAgICAgICBjb2RlRWRpdEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICBjb2RlRWRpdEFwaSA9IHRoaXMuYXBpO1xuICAgICAgICBzYXZlQ29kZUVkaXRNb2RhbChwYXJzZWRTYXZlZERhdGFbc2F2ZWREYXRhSW5kZXhdKTtcbiAgICAgICAgdGhpcy5zZXRTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yLmlkICsgJy1pbmRleCcsIHNhdmVkRGF0YUluZGV4LnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIHJlZG8oKSB7XG4gICAgICAgIGxldCBlZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcblxuICAgICAgICBsZXQgc2F2ZWREYXRhID0gdGhpcy5nZXRTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yLmlkKTtcbiAgICAgICAgbGV0IHNhdmVkRGF0YUluZGV4ID0gdGhpcy5nZXRTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yLmlkICsgJy1pbmRleCcpXG4gICAgICAgICAgICA/IHBhcnNlSW50KHRoaXMuZ2V0U2F2ZWRFZGl0b3JDb250ZW50KGVkaXRvci5pZCArICctaW5kZXgnKSlcbiAgICAgICAgICAgIDogLTE7XG4gICAgICAgIGxldCBwYXJzZWRTYXZlZERhdGE6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICAgICAgaWYgKCFzYXZlZERhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBwYXJzZWRTYXZlZERhdGEgPSBKU09OLnBhcnNlKHNhdmVkRGF0YSk7XG4gICAgICAgICsrc2F2ZWREYXRhSW5kZXg7XG4gICAgICAgIHNhdmVkRGF0YUluZGV4ID0gc2F2ZWREYXRhSW5kZXggPiBwYXJzZWRTYXZlZERhdGEubGVuZ3RoID8gcGFyc2VkU2F2ZWREYXRhLmxlbmd0aCA6IHNhdmVkRGF0YUluZGV4O1xuICAgICAgICBjb2RlRWRpdEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICBjb2RlRWRpdEFwaSA9IHRoaXMuYXBpO1xuICAgICAgICBzYXZlQ29kZUVkaXRNb2RhbChwYXJzZWRTYXZlZERhdGFbc2F2ZWREYXRhSW5kZXhdKTtcbiAgICAgICAgdGhpcy5zZXRTYXZlZEVkaXRvckNvbnRlbnQoZWRpdG9yLmlkICsgJy1pbmRleCcsIHNhdmVkRGF0YUluZGV4LnRvU3RyaW5nKCkpO1xuICAgIH1cblxuICAgIGVkaXRIVE1MKCkge1xuICAgICAgICBsZXQgY29udGVudCA9IHRoaXMuZ2V0RWRpdG9yQ29udGVudCgpO1xuICAgICAgICB0aGlzLmNyZWF0ZUhUTUxFZGl0TW9kYWwoY29udGVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVIVE1MRWRpdE1vZGFsKGNvbnRlbnQ6IHN0cmluZykge1xuICAgICAgICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKHRoaXMuY29udGFpbmVyQ2xhc3MpO1xuICAgICAgICBsZXQgbW9kYWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgbW9kYWwuY2xhc3NMaXN0LmFkZCh0aGlzLm1vZGFsQ2xhc3MpO1xuICAgICAgICBsZXQgZWRpdG9yQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIGVkaXRvckNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKHRoaXMuZWRpdG9yQ2xhc3MpO1xuICAgICAgICBjb2RlRWRpdEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICBjb2RlRWRpdEFwaSA9IHRoaXMuYXBpO1xuXG4gICAgICAgIGxldCBidXR0b25Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgbGV0IGNhbmNlbEJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICBsZXQgc2F2ZUJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpO1xuICAgICAgICBjYW5jZWxCdXR0b24uaW5uZXJUZXh0ID0gZWRpdG9ySlNJMThuRGljdGlvbm5hcnkubWVzc2FnZXMudG9vbHMuY29kZUVkaXRbJ0NhbmNlbCddO1xuICAgICAgICBzYXZlQnV0dG9uLmlubmVyVGV4dCA9IGVkaXRvckpTSTE4bkRpY3Rpb25uYXJ5Lm1lc3NhZ2VzLnRvb2xzLmNvZGVFZGl0WydTYXZlJ107XG4gICAgICAgIGNhbmNlbEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGNsb3NlQ29kZUVkaXRNb2RhbCwgdHJ1ZSk7XG4gICAgICAgIGJ1dHRvbkNvbnRhaW5lci5hcHBlbmRDaGlsZChjYW5jZWxCdXR0b24pO1xuICAgICAgICBidXR0b25Db250YWluZXIuY2xhc3NMaXN0LmFkZCh0aGlzLmJ1dHRvbkNsYXNzKTtcblxuICAgICAgICBtb2RhbC5hcHBlbmRDaGlsZChlZGl0b3JDb250YWluZXIpO1xuICAgICAgICBtb2RhbC5hcHBlbmRDaGlsZChidXR0b25Db250YWluZXIpO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobW9kYWwpO1xuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5JykuYXBwZW5kQ2hpbGQoY29udGFpbmVyKTtcblxuICAgICAgICB2YXIgbW9uYWNvRWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUoZWRpdG9yQ29udGFpbmVyLCB7XG4gICAgICAgICAgICB2YWx1ZTogY29udGVudCxcbiAgICAgICAgICAgIGxhbmd1YWdlOiAnaHRtbCcsXG4gICAgICAgIH0pOyAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBzYXZlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAnY2xpY2snLFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaGVyZVwiKTtcbiAgICAgICAgICAgICAgICBsZXQgY29udGVudCA9IG1vbmFjb0VkaXRvci5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIHNhdmVDb2RlRWRpdE1vZGFsKGNvbnRlbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgICAgYnV0dG9uQ29udGFpbmVyLmFwcGVuZENoaWxkKHNhdmVCdXR0b24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2F2ZWRFZGl0b3JDb250ZW50KG5hbWU6IHN0cmluZykge1xuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0obmFtZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTYXZlZEVkaXRvckNvbnRlbnQobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEVkaXRvckNvbnRlbnQoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGN1cnJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgbGV0IGVkaXRvckJsb2NrcyA9IGN1cnJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNvZGV4LWVkaXRvcl9fcmVkYWN0b3IgLmNlLXBhcmFncmFwaCcpO1xuICAgICAgICBsZXQgY29udGVudCA9ICcnO1xuICAgICAgICBlZGl0b3JCbG9ja3MuZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGxldCBjbG9zaW5nVGFnID0gJzwvJyArIGJsb2NrLmNoaWxkcmVuWzBdPy50YWdOYW1lLnRvTG93ZXJDYXNlKCkgKyAnPic7XG4gICAgICAgICAgICBsZXQgcmVnZXhwID0gLygoPFxcLylcXHcrKD4pKSg/IVtcXHNcXFNdKigoPFxcLylcXHcrKD4pKVtcXHNcXFNdKiQpL2k7XG4gICAgICAgICAgICBsZXQgbGFzdENvbnRlbnRDbG9zaW5nVGFnID0gY29udGVudC5tYXRjaChyZWdleHApID8gY29udGVudC5tYXRjaChyZWdleHApWzBdIDogJyc7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgKGJsb2NrLmNoaWxkcmVuWzBdPy50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd1bCcgfHwgYmxvY2suY2hpbGRyZW5bMF0/LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ29sJykgJiZcbiAgICAgICAgICAgICAgICBsYXN0Q29udGVudENsb3NpbmdUYWcgPT09IGNsb3NpbmdUYWdcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50LnN1YnN0cmluZygwLCBjb250ZW50Lmxlbmd0aCAtIGNsb3NpbmdUYWcubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBjb250ZW50ICs9IGJsb2NrLmlubmVySFRNTC5zdWJzdHJpbmcoY2xvc2luZ1RhZy5yZXBsYWNlKCcvJywgJycpLmxlbmd0aCwgYmxvY2suaW5uZXJIVE1MLmxlbmd0aCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQgKz0gYmxvY2suaW5uZXJIVE1MO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuRm9ybWF0SFRNTFN0cmluZ0luZGVudGF0aW9uKGNvbnRlbnQpO1xuICAgIH1cblxuICAgIC8vIEFkYXB0ZWQgRlJPTSBqc2ZpZGRsZSBoZXJlOiBodHRwczovL2pzZmlkZGxlLm5ldC9idWtzeS9yeHVjZzFnZC9cbiAgICBwcml2YXRlIEZvcm1hdEhUTUxTdHJpbmdJbmRlbnRhdGlvbihjb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBsZXQgc3RyaXBXaGl0ZVNwYWNlcyA9IHRydWU7XG4gICAgICAgIGxldCBzdHJpcEVtcHR5TGluZXMgPSB0cnVlO1xuICAgICAgICBjb25zdCB3aGl0ZXNwYWNlID0gJyAnLnJlcGVhdCgyKTsgLy8gRGVmYXVsdCBpbmRlbnRpbmcgNCB3aGl0ZXNwYWNlc1xuICAgICAgICBsZXQgY3VycmVudEluZGVudCA9IDA7XG4gICAgICAgIGNvbnN0IG5ld2xpbmVDaGFyID0gJ1xcbic7XG4gICAgICAgIGxldCBwcmV2Q2hhciA9IG51bGw7XG4gICAgICAgIGxldCBjaGFyID0gbnVsbDtcbiAgICAgICAgbGV0IG5leHRDaGFyID0gbnVsbDtcblxuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XG4gICAgICAgIGZvciAobGV0IHBvcyA9IDA7IHBvcyA8PSBjb2RlLmxlbmd0aDsgcG9zKyspIHtcbiAgICAgICAgICAgIHByZXZDaGFyID0gY2hhcjtcbiAgICAgICAgICAgIGNoYXIgPSBjb2RlLnN1YnN0cihwb3MsIDEpO1xuICAgICAgICAgICAgbmV4dENoYXIgPSBjb2RlLnN1YnN0cihwb3MgKyAxLCAxKTtcblxuICAgICAgICAgICAgY29uc3QgaXNCclRhZyA9IGNvZGUuc3Vic3RyKHBvcywgNCkgPT09ICc8YnI+JztcbiAgICAgICAgICAgIGNvbnN0IGlzT3BlbmluZ1RhZyA9IGNoYXIgPT09ICc8JyAmJiBuZXh0Q2hhciAhPT0gJy8nICYmICFpc0JyVGFnO1xuICAgICAgICAgICAgY29uc3QgaXNDbG9zaW5nVGFnID0gY2hhciA9PT0gJzwnICYmIG5leHRDaGFyID09PSAnLycgJiYgIWlzQnJUYWc7XG4gICAgICAgICAgICBjb25zdCBpc1RhZ0VuZCA9IHByZXZDaGFyID09PSAnPicgJiYgY2hhciAhPT0gJzwnICYmIGN1cnJlbnRJbmRlbnQgPiAwO1xuICAgICAgICAgICAgY29uc3QgaXNUYWdOZXh0ID1cbiAgICAgICAgICAgICAgICAhaXNCclRhZyAmJiAhaXNPcGVuaW5nVGFnICYmICFpc0Nsb3NpbmdUYWcgJiYgaXNUYWdFbmQgJiYgY29kZS5zdWJzdHIocG9zLCBjb2RlLnN1YnN0cihwb3MpLmluZGV4T2YoJzwnKSkudHJpbSgpID09PSAnJztcbiAgICAgICAgICAgIGlmIChpc0JyVGFnKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgb3BlbmluZyB0YWcsIGFkZCBuZXdsaW5lIGNoYXJhY3RlciBhbmQgaW5kZW50aW9uXG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IG5ld2xpbmVDaGFyICsgd2hpdGVzcGFjZS5yZXBlYXQoY3VycmVudEluZGVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNPcGVuaW5nVGFnKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgb3BlbmluZyB0YWcsIGFkZCBuZXdsaW5lIGNoYXJhY3RlciBhbmQgaW5kZW50aW9uXG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IChwb3MgPT09IDAgPyAnJyA6IG5ld2xpbmVDaGFyKSArIHdoaXRlc3BhY2UucmVwZWF0KGN1cnJlbnRJbmRlbnQpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRJbmRlbnQrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGlmIENsb3NpbmcgdGFnLCBhZGQgbmV3bGluZSBhbmQgaW5kZW50aW9uXG4gICAgICAgICAgICBlbHNlIGlmIChpc0Nsb3NpbmdUYWcpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSdyZSBtb3JlIGNsb3NpbmcgdGFncyB0aGFuIG9wZW5pbmdcbiAgICAgICAgICAgICAgICBpZiAoLS1jdXJyZW50SW5kZW50IDwgMCkgY3VycmVudEluZGVudCA9IDA7XG4gICAgICAgICAgICAgICAgcmVzdWx0ICs9IG5ld2xpbmVDaGFyICsgd2hpdGVzcGFjZS5yZXBlYXQoY3VycmVudEluZGVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyByZW1vdmUgbXVsdGlwbGUgd2hpdGVzcGFjZXNcbiAgICAgICAgICAgIGVsc2UgaWYgKHN0cmlwV2hpdGVTcGFjZXMgPT09IHRydWUgJiYgY2hhciA9PT0gJyAnICYmIG5leHRDaGFyID09PSAnICcpIGNoYXIgPSAnJztcbiAgICAgICAgICAgIC8vIHJlbW92ZSBlbXB0eSBsaW5lc1xuICAgICAgICAgICAgZWxzZSBpZiAoc3RyaXBFbXB0eUxpbmVzID09PSB0cnVlICYmIGNoYXIgPT09IG5ld2xpbmVDaGFyKSB7XG4gICAgICAgICAgICAgICAgLy9kZWJ1Z2dlcjtcbiAgICAgICAgICAgICAgICBpZiAoY29kZS5zdWJzdHIocG9zLCBjb2RlLnN1YnN0cihwb3MpLmluZGV4T2YoJzwnKSkudHJpbSgpID09PSAnJykgY2hhciA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzVGFnRW5kICYmICFpc1RhZ05leHQpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gbmV3bGluZUNoYXIgKyB3aGl0ZXNwYWNlLnJlcGVhdChjdXJyZW50SW5kZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVzdWx0ICs9IGNoYXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG59XG5cbnZhciBjb2RlRWRpdEVkaXRvciA9IG51bGw7XG52YXIgY29kZUVkaXRBcGkgPSBudWxsO1xuXG5mdW5jdGlvbiBjbG9zZUNvZGVFZGl0TW9kYWwoKSB7XG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNvZGVFZGl0X19jb250YWluZXInKT8ucmVtb3ZlKCk7XG59XG5cbmZ1bmN0aW9uIHNhdmVDb2RlRWRpdE1vZGFsKGNvbnRlbnQpIHtcbiAgICBsZXQgdG1wRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRtcEVsZW1lbnQuaW5uZXJIVE1MID0gY29udGVudDtcblxuICAgIGNvZGVFZGl0QXBpLmJsb2Nrcy5jbGVhcigpO1xuICAgIGxldCBwYXJhZ3JhcGggPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgbGV0IGkgPSAwO1xuXG4gICAgd2hpbGUgKHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgaWYgKHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAndWwnIHx8IHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICBsZXQgbGlzdE1hcmtlciA9IDE7XG4gICAgICAgICAgICBsZXQgcHJldmlvdXNDb250YWluZXJXYXNPbCA9IGZhbHNlO1xuICAgICAgICAgICAgd2hpbGUgKHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuZmlyc3RFbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgICAgICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLnRhZ05hbWUpO1xuICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZCh0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmZpcnN0RWxlbWVudENoaWxkLmNsb25lTm9kZSh0cnVlKSk7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdvbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFwcmV2aW91c0NvbnRhaW5lcldhc09sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0TWFya2VyID0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuZmlyc3RFbGVtZW50Q2hpbGQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIGxpc3RNYXJrZXIudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzQ29udGFpbmVyV2FzT2wgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICArK2xpc3RNYXJrZXI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNDb250YWluZXJXYXNPbCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaSA+PSBwYXJhZ3JhcGgubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvZGVFZGl0QXBpLmJsb2Nrcy5pbnNlcnQoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRtcFBhcmFncmFwaCA9IGNvZGVFZGl0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1wYXJhZ3JhcGgnKTtcbiAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgdG1wUGFyYWdyYXBoW3RtcFBhcmFncmFwaC5sZW5ndGggLSAxXS5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBvbkVkaXRMaXN0LCB0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFncmFwaFtpXS5hcHBlbmRDaGlsZChjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLmZpcnN0RWxlbWVudENoaWxkLnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgICsraTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpID49IHBhcmFncmFwaC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb2RlRWRpdEFwaS5ibG9ja3MuaW5zZXJ0KCk7XG4gICAgICAgICAgICAgICAgbGV0IHRtcFBhcmFncmFwaCA9IGNvZGVFZGl0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1wYXJhZ3JhcGgnKTtcbiAgICAgICAgICAgICAgICB0bXBQYXJhZ3JhcGhbdG1wUGFyYWdyYXBoLmxlbmd0aCAtIDFdLmlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgICAgIHRtcFBhcmFncmFwaFt0bXBQYXJhZ3JhcGgubGVuZ3RoIC0gMV0uYXBwZW5kQ2hpbGQodG1wRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJhZ3JhcGhbaV0uaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgcGFyYWdyYXBoW2ldLmFwcGVuZENoaWxkKHRtcEVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQuY2xvbmVOb2RlKHRydWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICsraTtcbiAgICAgICAgfVxuICAgICAgICB0bXBFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGNsb3NlQ29kZUVkaXRNb2RhbCgpO1xufVxuXG5mdW5jdGlvbiBvbkVkaXRMaXN0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgbGV0IGZvY3VzZWRCbG9jayA9IDxIVE1MRWxlbWVudD5ldmVudC50YXJnZXQ7XG4gICAgaWYgKExJU1RfRURJVF9LRVlfQ09ERVMuaW5kZXhPZihldmVudC5jb2RlKSA+IC0xKSB7XG4gICAgICAgIGlmIChldmVudC5jb2RlID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgaWYgKGZvY3VzZWRCbG9jay5pbm5lclRleHQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbGV0IGN1cnJlbnRQYXJhZ3JhcGggPSBjb2RlRWRpdEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuY2UtcGFyYWdyYXBoJylbY29kZUVkaXRBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJykpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGgucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdwJyksIDAsIGN1cnJlbnRQYXJhZ3JhcGgucXVlcnlTZWxlY3RvcigncCcpLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGlmIChmb2N1c2VkQmxvY2suaW5uZXJUZXh0ICE9PSAnJykge1xuICAgICAgICAgICAgICAgIGNvZGVFZGl0QXBpLmJsb2Nrcy5pbnNlcnQoJ3BhcmFncmFwaCcsIGNvZGVFZGl0QXBpLmJsb2Nrcy5nZXRDdXJyZW50QmxvY2tJbmRleCgpKTtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudEJsb2NrID0gY29kZUVkaXRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLWJsb2NrJylbY29kZUVkaXRBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCldO1xuICAgICAgICAgICAgICAgIGxldCBwcmV2aW91c0Jsb2NrID0gY29kZUVkaXRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLmNlLWJsb2NrJylbY29kZUVkaXRBcGkuYmxvY2tzLmdldEN1cnJlbnRCbG9ja0luZGV4KCkgLSAxXTtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFBhcmFncmFwaCA9IGN1cnJlbnRCbG9jay5xdWVyeVNlbGVjdG9yKCcuY2UtcGFyYWdyYXBoJyk7XG4gICAgICAgICAgICAgICAgbGV0IGxpc3RFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChwcmV2aW91c0Jsb2NrLnF1ZXJ5U2VsZWN0b3IoJy5jZS1wYXJhZ3JhcGgnKS5maXJzdEVsZW1lbnRDaGlsZC50YWdOYW1lKTtcbiAgICAgICAgICAgICAgICBsaXN0RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaScpKTtcbiAgICAgICAgICAgICAgICBpZiAobGlzdEVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnb2wnKSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3RFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAocGFyc2VJbnQocHJldmlvdXNCbG9jay5xdWVyeVNlbGVjdG9yKCdsaScpLmdldEF0dHJpYnV0ZSgndmFsdWUnKSkgKyAxKS50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYXBwZW5kQ2hpbGQobGlzdEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRQYXJhZ3JhcGguYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIG9uRWRpdExpc3QsIHRydWUpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdsaScpLCAwLCBjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ2xpJyksIDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZXQgY3VycmVudFBhcmFncmFwaCA9IGNvZGVFZGl0RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy5jZS1wYXJhZ3JhcGgnKVtjb2RlRWRpdEFwaS5ibG9ja3MuZ2V0Q3VycmVudEJsb2NrSW5kZXgoKV07XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5pbm5lckhUTUwgPSAnJztcbiAgICAgICAgICAgICAgICBjdXJyZW50UGFyYWdyYXBoLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3AnKSk7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmFncmFwaC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgb25FZGl0TGlzdCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudChjdXJyZW50UGFyYWdyYXBoLnF1ZXJ5U2VsZWN0b3IoJ3AnKSwgMCwgY3VycmVudFBhcmFncmFwaC5xdWVyeVNlbGVjdG9yKCdwJyksIDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -83,4 +83,4 @@ export class ParagraphTextTool extends ParagraphStyleTool {
83
83
  }
84
84
  }
85
85
  }
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9icmlhbi9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvcGFyYWdyYXBoL3Rvb2wtdHlwZS90ZXh0LXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRFLE1BQU0sT0FBZ0IsaUJBQWtCLFNBQVEsa0JBQWtCO0lBQWxFOztRQUdJLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBSWhDLHVCQUFrQixHQUFTLElBQUksQ0FBQztRQUVoQyxzQkFBaUIsR0FBUyxJQUFJLENBQUM7UUFFL0IsaUJBQVksR0FBVyxDQUFDLENBQUMsQ0FBQztRQUUxQixnQkFBVyxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBTXpCLGdCQUFXLEdBQVc7WUFDbEIsU0FBUyxFQUFFLHlCQUF5QjtZQUNwQyxHQUFHLEVBQUUsOEJBQThCO1NBQ3RDLENBQUM7SUE2RU4sQ0FBQztJQTNFRyxZQUFZO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3RSxRQUFTLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDN0IsR0FBRztnQkFDSCxDQUNrQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyw2QkFBNkIsQ0FBRSxDQUFDLFlBQVk7b0JBQzFGLENBQUMs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QUFJLGlCQUFpQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUM1QixPQUFPLE9BQU8sRUFBRTtnQkFDWixJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTtvQkFDM0QsT0FBTztpQkFDVjtnQkFDRCxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQzthQUNuQztZQUNELFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzVCLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekIsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhcmFncmFwaFN0eWxlVG9vbCB9IGZyb20gJy4vcGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50JztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhcmFncmFwaFRleHRUb29sIGV4dGVuZHMgUGFyYWdyYXBoU3R5bGVUb29sIHtcbiAgICBub2RlczogeyBidXR0b246IEhUTUxCdXR0b25FbGVtZW50IH07XG5cbiAgICBpc0Ryb3Bkb3duT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY3VycmVudFNlbGVjdGlvbj86IFNlbGVjdGlvbjtcblxuICAgIHNlbGVjdGVkQW5jaG9yTm9kZTogTm9kZSA9IG51bGw7XG5cbiAgICBzZWxlY3RlZEZvY3VzTm9kZTogTm9kZSA9IG51bGw7XG5cbiAgICBhbmNob3JPZmZzZXQ6IG51bWJlciA9IC0xO1xuXG4gICAgZm9jdXNPZmZzZXQ6IG51bWJlciA9IC0xO1xuXG4gICAgQ1NTOiBhbnk7XG5cbiAgICBhcGk6IGFueTtcblxuICAgIGRyb3Bkb3duQ3NzOiBPYmplY3QgPSB7XG4gICAgICAgIGNvbnRhaW5lcjogJ2NlLWlubGluZS1hY3Rpb25zLS10ZXh0JyxcbiAgICAgICAgcm93OiAnY2UtaW5saW5lLWFjdGlvbnMtLXRleHRfX3JvdycsXG4gICAgfTtcblxuICAgIG9wZW5Ecm9wZG93bigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZHJvcGRvd24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuJyArIHRoaXMuQ1NTLnRleHRTZWxlY3Rpb25Nb2RpZmllcilbMF07XG4gICAgICAgICg8SFRNTEVsZW1lbnQ+ZHJvcGRvd24pLnN0eWxlLnRvcCA9XG4gICAgICAgICAgICAnLScgK1xuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+dGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvcignLmNlLWlubGluZS10b29sYmFyX19idXR0b25zJykpLm9mZnNldEhlaWdodCAtXG4gICAgICAgICAgICAgICAgKHRoaXMubm9kZXMuYnV0dG9uLm9mZnNldFRvcCArIHRoaXMubm9kZXMuYnV0dG9uLm9mZnNldEhlaWdodClcbiAgICAgICAgICAgICkudG9TdHJpbmcoKSArXG4gICAgICAgICAgICAncHgnO1xuICAgICAgICB0aGlzLnNhdmVVc2VyU2VsZWN0aW9uKCk7XG4gICAgICAgIGlmIChkcm9wZG93bikge1xuICAgICAgICAgICAgaWYgKGRyb3Bkb3duLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PmRyb3Bkb3duKS5zdHlsZS5sZWZ0ID0gdGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0TGVmdC50b1N0cmluZygpICsgJ3B4JztcbiAgICAgICAgICAgICAgICBkcm9wZG93bi5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCRldmVudCkgPT4gdGhpcy5pc0Ryb3Bkb3duRm9jdXNlZE91dCgkZXZlbnQpKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSwgNDAwKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2VEcm9wZG93bigpIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZHJvcGRvd24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuJyArIHRoaXMuQ1NTLnRleHRTZWxlY3Rpb25Nb2RpZmllcilbMF07XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKGRyb3Bkb3duKSB7XG4gICAgICAgICAgICBpZiAoIWRyb3Bkb3duLmNsYXNzTGlzdC5jb250YWlucygnaGlkZGVuJykpIHtcbiAgICAgICAgICAgICAgICBkcm9wZG93bi5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sIDQwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzYXZlVXNlclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFuY2hvck5vZGUgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24uYW5jaG9yTm9kZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZvY3VzTm9kZSA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5mb2N1c05vZGU7XG4gICAgICAgIHRoaXMuYW5jaG9yT2Zmc2V0ID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmFuY2hvck9mZnNldDtcbiAgICAgICAgdGhpcy5mb2N1c09mZnNldCA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5mb2N1c09mZnNldDtcbiAgICB9XG5cbiAgICByZXNldFVzZXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGhpcy5zZWxlY3RlZEFuY2hvck5vZGUsIHRoaXMuYW5jaG9yT2Zmc2V0LCB0aGlzLnNlbGVjdGVkRm9jdXNOb2RlLCB0aGlzLmZvY3VzT2Zmc2V0KTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICB9XG5cbiAgICBpc0Ryb3Bkb3duRm9jdXNlZE91dCgkZXZlbnQpIHtcbiAgICAgICAgbGV0IGRyb3Bkb3duU2VsZWN0aW9uID0gdGhpcy5wYXJlbnRFZGl0b3IucXVlcnlTZWxlY3RvckFsbCgnLicgKyB0aGlzLkNTUy50ZXh0U2VsZWN0aW9uTW9kaWZpZXIpWzBdO1xuICAgICAgICBpZiAodGhpcy5pc0Ryb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgbGV0IGVsZW1lbnQgPSAkZXZlbnQudGFyZ2V0O1xuICAgICAgICAgICAgd2hpbGUgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnModGhpcy5kcm9wZG93bkNzc1snY29udGFpbmVyJ10pKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCRldmVudCkgPT4gdGhpcy5pc0Ryb3Bkb3duRm9jdXNlZE91dCgkZXZlbnQpKTtcbiAgICAgICAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIGRyb3Bkb3duU2VsZWN0aW9uLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgdGhpcy5hcGkudG9vbGJhci5jbG9zZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdG9vbC10eXBlL3RleHQtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEUsTUFBTSxPQUFnQixpQkFBa0IsU0FBUSxrQkFBa0I7SUFBbEU7O1FBR0ksbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFJaEMsdUJBQWtCLEdBQVMsSUFBSSxDQUFDO1FBRWhDLHNCQUFpQixHQUFTLElBQUksQ0FBQztRQUUvQixpQkFBWSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFNekIsZ0JBQVcsR0FBVztZQUNsQixTQUFTLEVBQUUseUJBQXlCO1lBQ3BDLEdBQUcsRUFBRSw4QkFBOEI7U0FDdEMsQ0FBQztJQTZFTixDQUFDO0lBM0VHLFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQy9DO1FBQ0QsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdFLFFBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRztZQUM3QixHQUFHO2dCQUNILENBQ2tCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLDZCQUE2QixDQUFFLENBQUMsWUFBWTtvQkFDMUYsQ0FB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LElBQUksaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BHLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNyQixJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzVCLE9BQU8sT0FBTyxFQUFFO2dCQUNaLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFO29CQUMzRCxPQUFPO2lCQUNWO2dCQUNELE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ25DO1lBQ0QsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVUb29sIH0gZnJvbSAnLi9wYXJhZ3JhcGgtc3R5bGUtdG9vbC5jb21wb25lbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYWdyYXBoVGV4dFRvb2wgZXh0ZW5kcyBQYXJhZ3JhcGhTdHlsZVRvb2wge1xuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfTtcblxuICAgIGlzRHJvcGRvd25PcGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjdXJyZW50U2VsZWN0aW9uPzogU2VsZWN0aW9uO1xuXG4gICAgc2VsZWN0ZWRBbmNob3JOb2RlOiBOb2RlID0gbnVsbDtcblxuICAgIHNlbGVjdGVkRm9jdXNOb2RlOiBOb2RlID0gbnVsbDtcblxuICAgIGFuY2hvck9mZnNldDogbnVtYmVyID0gLTE7XG5cbiAgICBmb2N1c09mZnNldDogbnVtYmVyID0gLTE7XG5cbiAgICBDU1M6IGFueTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgZHJvcGRvd25Dc3M6IE9iamVjdCA9IHtcbiAgICAgICAgY29udGFpbmVyOiAnY2UtaW5saW5lLWFjdGlvbnMtLXRleHQnLFxuICAgICAgICByb3c6ICdjZS1pbmxpbmUtYWN0aW9ucy0tdGV4dF9fcm93JyxcbiAgICB9O1xuXG4gICAgb3BlbkRyb3Bkb3duKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkcm9wZG93biA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgdGhpcy5DU1MudGV4dFNlbGVjdGlvbk1vZGlmaWVyKVswXTtcbiAgICAgICAgKDxIVE1MRWxlbWVudD5kcm9wZG93bikuc3R5bGUudG9wID1cbiAgICAgICAgICAgICctJyArXG4gICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgKDxIVE1MRWxlbWVudD50aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yKCcuY2UtaW5saW5lLXRvb2xiYXJfX2J1dHRvbnMnKSkub2Zmc2V0SGVpZ2h0IC1cbiAgICAgICAgICAgICAgICAodGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0VG9wICsgdGhpcy5ub2Rlcy5idXR0b24ub2Zmc2V0SGVpZ2h0KVxuICAgICAgICAgICAgKS50b1N0cmluZygpICtcbiAgICAgICAgICAgICdweCc7XG4gICAgICAgIHRoaXMuc2F2ZVVzZXJTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKGRyb3Bkb3duKSB7XG4gICAgICAgICAgICBpZiAoZHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+ZHJvcGRvd24pLnN0eWxlLmxlZnQgPSB0aGlzLm5vZGVzLmJ1dHRvbi5vZmZzZXRMZWZ0LnRvU3RyaW5nKCkgKyAncHgnO1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5yZW1vdmUoJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB0aGlzLmlzRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LCA0MDApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZHJvcGRvd24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbG9zZURyb3Bkb3duKCkge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkcm9wZG93biA9IHRoaXMucGFyZW50RWRpdG9yLnF1ZXJ5U2VsZWN0b3JBbGwoJy4nICsgdGhpcy5DU1MudGV4dFNlbGVjdGlvbk1vZGlmaWVyKVswXTtcbiAgICAgICAgdGhpcy5zYXZlVXNlclNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoZHJvcGRvd24pIHtcbiAgICAgICAgICAgIGlmICghZHJvcGRvd24uY2xhc3NMaXN0LmNvbnRhaW5zKCdoaWRkZW4nKSkge1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoJ2hpZGRlbicpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSwgNDAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNhdmVVc2VyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5hbmNob3JOb2RlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRm9jdXNOb2RlID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmZvY3VzTm9kZTtcbiAgICAgICAgdGhpcy5hbmNob3JPZmZzZXQgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24uYW5jaG9yT2Zmc2V0O1xuICAgICAgICB0aGlzLmZvY3VzT2Zmc2V0ID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmZvY3VzT2Zmc2V0O1xuICAgIH1cblxuICAgIHJlc2V0VXNlclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKCkuc2V0QmFzZUFuZEV4dGVudCh0aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSwgdGhpcy5hbmNob3JPZmZzZXQsIHRoaXMuc2VsZWN0ZWRGb2N1c05vZGUsIHRoaXMuZm9jdXNPZmZzZXQpO1xuICAgICAgICB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgIH1cblxuICAgIGlzRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkge1xuICAgICAgICBsZXQgZHJvcGRvd25TZWxlY3Rpb24gPSB0aGlzLnBhcmVudEVkaXRvci5xdWVyeVNlbGVjdG9yQWxsKCcuJyArIHRoaXMuQ1NTLnRleHRTZWxlY3Rpb25Nb2RpZmllcilbMF07XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICBsZXQgZWxlbWVudCA9ICRldmVudC50YXJnZXQ7XG4gICAgICAgICAgICB3aGlsZSAoZWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyh0aGlzLmRyb3Bkb3duQ3NzWydjb250YWluZXInXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoJGV2ZW50KSA9PiB0aGlzLmlzRHJvcGRvd25Gb2N1c2VkT3V0KCRldmVudCkpO1xuICAgICAgICAgICAgdGhpcy5pc0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgZHJvcGRvd25TZWxlY3Rpb24uY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICAgICAgICB0aGlzLmFwaS50b29sYmFyLmNsb3NlKCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -60,4 +60,4 @@ export class UndoTool extends TextEditionTool {
60
60
  }
61
61
  }
62
62
  UndoTool.title = 'Undo';
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kby10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9icmlhbi9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvcGFyYWdyYXBoL3VuZG8tdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXJFLFdBQVc7QUFDWCxNQUFNLE9BQU8sUUFBUyxTQUFRLGVBQWU7SUEyQ3pDLFlBQVksRUFBRSxHQUFHLEVBQUU7UUFDZixLQUFLLEVBQUUsQ0FBQztRQXpDSyxnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQUU5QyxRQUFHLEdBQUc7WUFDRixNQUFNLEVBQUUsZ0JBQWdCO1lBQ3hCLFlBQVksRUFBRSx3QkFBd0I7WUFDdEMsY0FBYyxFQUFFLHNCQUFzQjtTQUN6QyxDQUFDO1FBRUYsVUFBSyxHQUFrQztZQUNuQyxNQUFNLEVBQUUsU0FBUztTQUNwQixDQUFDO1FBTUYsUUFBRyxHQUFHLEVBQUUsQ0FBQztRQUVULHVCQUFrQixHQUFHLElBQUksQ0FBQztRQXdCdEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBeEJNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPO1lBQ0gsQ0FBQyxFQUFFLEVBQUU7U0FDVyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFRRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFSyxRQUFRLENBQUMsS0FBWTs7WUFDdkIsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2hCLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOztBQXhFYSxjQUFLLEdBQUcsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5saW5lVG9vbCwgU2FuaXRpemVyQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzLCBzZXRJc1RleHRFZGl0aW9uVG9vbCB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRFZGl0aW9uVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL3RleHQtZWRpdGlvbi5jb21wb25lbnQnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIFVuZG9Ub29sIGV4dGVuZHMgVGV4dEVkaXRpb25Ub29sIGltcGxlbWVudHMgSW5saW5lVG9vbCB7XG4gICAgcHVibGljIHN0YXRpYyB0aXRsZSA9ICdVbmRvJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICd1bmRvJztcblxuICAgIENTUyA9IHtcbiAgICAgICAgYnV0dG9uOiAnY2UtaW5saW5lLXRvb2wnLFxuICAgICAgICBidXR0b25BY3RpdmU6ICdjZS1pbmxpbmUtdG9vbC0tYWN0aXZlJyxcbiAgICAgICAgYnV0dG9uTW9kaWZpZXI6ICdjZS1pbmxpbmUtdG9vbC0tdW5kbycsXG4gICAgfTtcblxuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnJztcblxuICAgIGhhc1NlcGFyYXRvckJlZm9yZSA9IHRydWU7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICBzZXRJc1RleHRFZGl0aW9uVG9vbCh0cnVlKTtcbiAgICAgICAgdGhpcy51bmRvKCk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kby10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy9wYXJhZ3JhcGgvdW5kby10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFckUsV0FBVztBQUNYLE1BQU0sT0FBTyxRQUFTLFNBQVEsZUFBZTtJQTJDekMsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBekNLLGdCQUFXLEdBQVcsTUFBTSxDQUFDO1FBRTlDLFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsc0JBQXNCO1NBQ3pDLENBQUM7UUFFRixVQUFLLEdBQWtDO1lBQ25DLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFNRixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBRVQsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBd0J0QixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUF4Qk0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU87WUFDSCxDQUFDLEVBQUUsRUFBRTtTQUNXLENBQUM7SUFDekIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQVFELE1BQU07UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN4RDtRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDN0IsQ0FBQztJQUVLLFFBQVEsQ0FBQyxLQUFZOztZQUN2QixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDaEIsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7O0FBeEVhLGNBQUssR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmxpbmVUb29sLCBTYW5pdGl6ZXJDb25maWcgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHsgaXNCbG9ja0ZvY3VzZWQsIHNldEJsb2NrRm9jdXMsIHNldElzVGV4dEVkaXRpb25Ub29sIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEVkaXRpb25Ub29sIH0gZnJvbSAnLi90b29sLXR5cGUvdGV4dC1lZGl0aW9uLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgVW5kb1Rvb2wgZXh0ZW5kcyBUZXh0RWRpdGlvblRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ1VuZG8nO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ3VuZG8nO1xuXG4gICAgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS11bmRvJyxcbiAgICB9O1xuXG4gICAgbm9kZXM6IHsgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCB9ID0ge1xuICAgICAgICBidXR0b246IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICcnO1xuXG4gICAgaGFzU2VwYXJhdG9yQmVmb3JlID0gdHJ1ZTtcblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGlzSW5saW5lKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBzYW5pdGl6ZSgpOiBTYW5pdGl6ZXJDb25maWcge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYjoge30sXG4gICAgICAgIH0gYXMgU2FuaXRpemVyQ29uZmlnO1xuICAgIH1cblxuICAgIGdldCBzdGF0ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xuICAgIH1cblxuICAgIHNldCBzdGF0ZShzdGF0ZSkge1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IHN0YXRlO1xuXG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5hcGkuc3R5bGVzLmlubGluZVRvb2xCdXR0b25BY3RpdmUsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGFwaSB9KSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYXBpID0gYXBpO1xuICAgICAgICB0aGlzLl9zdGF0ZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdidXR0b24nKSBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24udHlwZSA9ICdidXR0b24nO1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuQ1NTLmJ1dHRvbiwgdGhpcy5DU1MuYnV0dG9uTW9kaWZpZXIpO1xuICAgICAgICBpZiAodGhpcy5oYXNTZXBhcmF0b3JCZWZvcmUpIHtcbiAgICAgICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5zZXBhcmF0b3JDbGFzcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5ub2Rlcy5idXR0b247XG4gICAgfVxuXG4gICAgYXN5bmMgc3Vycm91bmQocmFuZ2U6IFJhbmdlKSB7XG4gICAgICAgIHNldElzVGV4dEVkaXRpb25Ub29sKHRydWUpO1xuICAgICAgICB0aGlzLnVuZG8oKTtcbiAgICB9XG5cbiAgICBjaGVja1N0YXRlKHNlbGVjdGlvbikge1xuICAgICAgICBpZiAoIXRoaXMucGFyZW50RWRpdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnBhcmVudEVkaXRvciA9IHRoaXMuZmluZFBhcmVudEVkaXRvcigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNCbG9ja0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iXX0=
@@ -65,4 +65,4 @@ export class UnorderedListTool extends ParagraphStyleTool {
65
65
  }
66
66
  }
67
67
  UnorderedListTool.title = 'Unordered List';
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvYnJpYW4vRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL3BhcmFncmFwaC91bm9yZGVyZWQtbGlzdC10b29sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUVoRixXQUFXO0FBQ1gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGtCQUFrQjtJQXlDckQsWUFBWSxFQUFFLEdBQUcsRUFBRTtRQUNmLEtBQUssRUFBRSxDQUFDO1FBdkNLLGdCQUFXLEdBQVcsZUFBZSxDQUFDO1FBRXZELFFBQUcsR0FBRztZQUNGLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsWUFBWSxFQUFFLHdCQUF3QjtZQUN0QyxjQUFjLEVBQUUsK0JBQStCO1NBQ2xELENBQUM7UUFFRixVQUFLLEdBQWtDO1lBQ25DLE1BQU0sRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFNRixRQUFHLEdBQUcsSUFBSSxDQUFDO1FBd0JQLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQXhCTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxLQUFLLFFBQVE7UUFDdEIsT0FBTztZQUNILENBQUMsRUFBRSxFQUFFO1NBQ1csQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBUUQsTUFBTTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFzQixDQUFDO1FBQzFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUssUUFBUSxDQUFDLEtBQVk7O1lBQ3ZCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7S0FBQTtJQUVELFVBQVUsQ0FBQyxTQUFTO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDL0M7UUFDRCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7UUFDRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQWMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxRQUFRLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFcEUsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQzs7QUE3RWEsdUJBQUssR0FBRyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElubGluZVRvb2wsIFNhbml0aXplckNvbmZpZyB9IGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgeyBpc0Jsb2NrRm9jdXNlZCwgc2V0QmxvY2tGb2N1cyB9IGZyb20gJy4uL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50JztcbmltcG9ydCB7IFBhcmFncmFwaFN0eWxlVG9vbCB9IGZyb20gJy4vdG9vbC10eXBlL3BhcmFncmFwaC1zdHlsZS10b29sLmNvbXBvbmVudCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgVW5vcmRlcmVkTGlzdFRvb2wgZXh0ZW5kcyBQYXJhZ3JhcGhTdHlsZVRvb2wgaW1wbGVtZW50cyBJbmxpbmVUb29sIHtcbiAgICBwdWJsaWMgc3RhdGljIHRpdGxlID0gJ1Vub3JkZXJlZCBMaXN0JztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZE5hbWU6IHN0cmluZyA9ICd1bm9yZGVyZWRMaXN0JztcblxuICAgIENTUyA9IHtcbiAgICAgICAgYnV0dG9uOiAnY2UtaW5saW5lLXRvb2wnLFxuICAgICAgICBidXR0b25BY3RpdmU6ICdjZS1pbmxpbmUtdG9vbC0tYWN0aXZlJyxcbiAgICAgICAgYnV0dG9uTW9kaWZpZXI6ICdjZS1pbmxpbmUtdG9vbC0tdW5vcmRlcmVkTGlzdCcsXG4gICAgfTtcblxuICAgIG5vZGVzOiB7IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfSA9IHtcbiAgICAgICAgYnV0dG9uOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGFwaTogYW55O1xuXG4gICAgcHJpdmF0ZSBfc3RhdGU6IGJvb2xlYW47XG5cbiAgICB0YWcgPSAnVUwnO1xuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgaXNJbmxpbmUoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IHNhbml0aXplKCk6IFNhbml0aXplckNvbmZpZyB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiOiB7fSxcbiAgICAgICAgfSBhcyBTYW5pdGl6ZXJDb25maWc7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdGU7XG4gICAgfVxuXG4gICAgc2V0IHN0YXRlKHN0YXRlKSB7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG5cbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLmFwaS5zdHlsZXMuaW5saW5lVG9vbEJ1dHRvbkFjdGl2ZSwgc3RhdGUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHsgYXBpIH0pIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5hcGkgPSBhcGk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpIGFzIEhUTUxCdXR0b25FbGVtZW50O1xuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi50eXBlID0gJ2J1dHRvbic7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC5hZGQodGhpcy5DU1MuYnV0dG9uLCB0aGlzLkNTUy5idXR0b25Nb2RpZmllcik7XG4gICAgICAgIGlmICh0aGlzLmhhc1NlcGFyYXRvckJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLnNlcGFyYXRvckNsYXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzLmJ1dHRvbjtcbiAgICB9XG5cbiAgICBhc3luYyBzdXJyb3VuZChyYW5nZTogUmFuZ2UpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5leGVjQ29tbWFuZFN0eWxlKHRoaXMudGFnKTtcbiAgICAgICAgdGhpcy5jaGVja1N0YXRlKHRoaXMuZ2V0U2VsZWN0aW9uKCkpO1xuICAgIH1cblxuICAgIGNoZWNrU3RhdGUoc2VsZWN0aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5wYXJlbnRFZGl0b3IpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWRpdG9yID0gdGhpcy5maW5kUGFyZW50RWRpdG9yKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc0Jsb2NrRm9jdXNlZCkge1xuICAgICAgICAgICAgc2V0QmxvY2tGb2N1cyh0aGlzLnBhcmVudEVkaXRvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyZW50TW9kaWZpZXIgPSB0aGlzLmZpbmRQYXJlbnRNb2RpZmllcig8SFRNTEVsZW1lbnQ+c2VsZWN0aW9uLmFuY2hvck5vZGUucGFyZW50RWxlbWVudCk7XG4gICAgICAgIGlmICghcGFyZW50TW9kaWZpZXIpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXNBY3RpdmUgPSBwYXJlbnRNb2RpZmllci50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09IHRoaXMudGFnLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLmNsYXNzTGlzdC50b2dnbGUodGhpcy5DU1MuYnV0dG9uQWN0aXZlLCBpc0FjdGl2ZSk7XG5cbiAgICAgICAgcmV0dXJuIGlzQWN0aXZlO1xuICAgIH1cbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5vcmRlcmVkLWxpc3QtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvcGFyYWdyYXBoL3Vub3JkZXJlZC1saXN0LXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLFdBQVc7QUFDWCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCO0lBeUNyRCxZQUFZLEVBQUUsR0FBRyxFQUFFO1FBQ2YsS0FBSyxFQUFFLENBQUM7UUF2Q0ssZ0JBQVcsR0FBVyxlQUFlLENBQUM7UUFFdkQsUUFBRyxHQUFHO1lBQ0YsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLGNBQWMsRUFBRSwrQkFBK0I7U0FDbEQsQ0FBQztRQUVGLFVBQUssR0FBa0M7WUFDbkMsTUFBTSxFQUFFLFNBQVM7U0FDcEIsQ0FBQztRQU1GLFFBQUcsR0FBRyxJQUFJLENBQUM7UUF3QlAsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBeEJNLE1BQU0sS0FBSyxRQUFRO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLEtBQUssUUFBUTtRQUN0QixPQUFPO1lBQ0gsQ0FBQyxFQUFFLEVBQUU7U0FDVyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVwQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFRRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDMUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFSyxRQUFRLENBQUMsS0FBWTs7WUFDdkIsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztLQUFBO0lBRUQsVUFBVSxDQUFDLFNBQVM7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUMvQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNwQztRQUNELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBYyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hHLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxJQUFJLFFBQVEsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVwRSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDOztBQTdFYSx1QkFBSyxHQUFHLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5saW5lVG9vbCwgU2FuaXRpemVyQ29uZmlnIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcbmltcG9ydCB7IGlzQmxvY2tGb2N1c2VkLCBzZXRCbG9ja0ZvY3VzIH0gZnJvbSAnLi4vdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFyYWdyYXBoU3R5bGVUb29sIH0gZnJvbSAnLi90b29sLXR5cGUvcGFyYWdyYXBoLXN0eWxlLXRvb2wuY29tcG9uZW50JztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBVbm9yZGVyZWRMaXN0VG9vbCBleHRlbmRzIFBhcmFncmFwaFN0eWxlVG9vbCBpbXBsZW1lbnRzIElubGluZVRvb2wge1xuICAgIHB1YmxpYyBzdGF0aWMgdGl0bGUgPSAnVW5vcmRlcmVkIExpc3QnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kTmFtZTogc3RyaW5nID0gJ3Vub3JkZXJlZExpc3QnO1xuXG4gICAgQ1NTID0ge1xuICAgICAgICBidXR0b246ICdjZS1pbmxpbmUtdG9vbCcsXG4gICAgICAgIGJ1dHRvbkFjdGl2ZTogJ2NlLWlubGluZS10b29sLS1hY3RpdmUnLFxuICAgICAgICBidXR0b25Nb2RpZmllcjogJ2NlLWlubGluZS10b29sLS11bm9yZGVyZWRMaXN0JyxcbiAgICB9O1xuXG4gICAgbm9kZXM6IHsgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCB9ID0ge1xuICAgICAgICBidXR0b246IHVuZGVmaW5lZCxcbiAgICB9O1xuXG4gICAgYXBpOiBhbnk7XG5cbiAgICBwcml2YXRlIF9zdGF0ZTogYm9vbGVhbjtcblxuICAgIHRhZyA9ICdVTCc7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpc0lubGluZSgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBnZXQgc2FuaXRpemUoKTogU2FuaXRpemVyQ29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGI6IHt9LFxuICAgICAgICB9IGFzIFNhbml0aXplckNvbmZpZztcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgICB9XG5cbiAgICBzZXQgc3RhdGUoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcblxuICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QudG9nZ2xlKHRoaXMuYXBpLnN0eWxlcy5pbmxpbmVUb29sQnV0dG9uQWN0aXZlLCBzdGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoeyBhcGkgfSkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmFwaSA9IGFwaTtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYnV0dG9uJykgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIHRoaXMubm9kZXMuYnV0dG9uLnR5cGUgPSAnYnV0dG9uJztcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LmFkZCh0aGlzLkNTUy5idXR0b24sIHRoaXMuQ1NTLmJ1dHRvbk1vZGlmaWVyKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzU2VwYXJhdG9yQmVmb3JlKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGVzLmJ1dHRvbi5jbGFzc0xpc3QuYWRkKHRoaXMuc2VwYXJhdG9yQ2xhc3MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZXMuYnV0dG9uO1xuICAgIH1cblxuICAgIGFzeW5jIHN1cnJvdW5kKHJhbmdlOiBSYW5nZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmV4ZWNDb21tYW5kU3R5bGUodGhpcy50YWcpO1xuICAgICAgICB0aGlzLmNoZWNrU3RhdGUodGhpcy5nZXRTZWxlY3Rpb24oKSk7XG4gICAgfVxuXG4gICAgY2hlY2tTdGF0ZShzZWxlY3Rpb24pIHtcbiAgICAgICAgaWYgKCF0aGlzLnBhcmVudEVkaXRvcikge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFZGl0b3IgPSB0aGlzLmZpbmRQYXJlbnRFZGl0b3IoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzQmxvY2tGb2N1c2VkKSB7XG4gICAgICAgICAgICBzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJlbnRNb2RpZmllciA9IHRoaXMuZmluZFBhcmVudE1vZGlmaWVyKDxIVE1MRWxlbWVudD5zZWxlY3Rpb24uYW5jaG9yTm9kZS5wYXJlbnRFbGVtZW50KTtcbiAgICAgICAgaWYgKCFwYXJlbnRNb2RpZmllcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpc0FjdGl2ZSA9IHBhcmVudE1vZGlmaWVyLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gdGhpcy50YWcudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgdGhpcy5ub2Rlcy5idXR0b24uY2xhc3NMaXN0LnRvZ2dsZSh0aGlzLkNTUy5idXR0b25BY3RpdmUsIGlzQWN0aXZlKTtcblxuICAgICAgICByZXR1cm4gaXNBY3RpdmU7XG4gICAgfVxufVxuIl19
@@ -109,4 +109,4 @@ export const GLOBAL_KEY_CODES = [
109
109
  'ArrowDown',
110
110
  ];
111
111
  export const LIST_EDIT_KEY_CODES = ['Backspace', 'Enter', 'NumpadEnter'];
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9icmlhbi9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvdXRpbHMvY29sb3JzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBeUI7SUFDckQ7UUFDSSxjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7S0FDdkI7SUFDRDtRQUNJLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtLQUNyQjtJQUNEO1FBQ0ksb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO0tBQ3ZCO0lBQ0Q7UUFDSSxvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7S0FDdkI7SUFDRDtRQUNJLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtLQUN2QjtJQUNEO1FBQ0ksaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsbUJBQW1CO0tBQ3RCO0lBQ0Q7UUFDSSxrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixrQkFBa0I7S0FDckI7SUFDRDtRQUNJLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtLQUNwQjtDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixXQUFXO0lBQ1gsYUFBYTtJQUNiLGNBQWM7SUFDZCxXQUFXO0lBQ1gsWUFBWTtJQUNaLEtBQUs7SUFDTCxXQUFXO0lBQ1gsWUFBWTtJQUNaLFNBQVM7SUFDVCxXQUFXO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBERUZBVUxUX0NPTE9SX0FSUkFZOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtcbiAgICBbXG4gICAgICAgICdyZ2IoMCwgMCwgMCknLFxuICAgICAgICAncmdiKDY3LCA2NywgNjcpJyxcbiAgICAgICAgJ3JnYigxMDIsIDEwMiwgMTAyKScsXG4gICAgICAgICdyZ2IoMTUzLCAxNTMsIDE1MyknLFxuICAgICAgICAncmdiKDE4MywgMTgzLCAxODMpJyxcbiAgICAgICAgJ3JnYigyMDQsIDIwNCwgMjA0KScsXG4gICAgICAgICdyZ2IoMjE3LCAyMTcsIDIxNyknLFxuICAgICAgICAncmdiKDIzOSwgMjM5LCAyMzkpJyxcbiAgICAgICAgJ3JnYigyNDMsIDI0MywgMjQzKScsXG4gICAgICAgICdyZ2IoMjU1LCAyNTUsIDI1NSknLFxuICAgIF0sXG4gICAgW1xuICAgICAgICAncmdiKDE1MiwgMCwgMCknLFxuICAgICAgICAncmdiKDI1NSwgMCwgMCknLFxuICAgICAgICAncmdiKDI1NSwgMTUzLCAwKScsXG4gICAgICAgICdyZ2IoMjU1LCAyNTUsIDApJyxcbiAgICAgICAgJ3JnYigwLCAyNTUsIDApJyxcbiAgICAgICAgJ3JnYigwLCAyNTUsIDI1NSknLFxuICAgICAgICAncmdiKDc0LCAxMzQsIDIzMiknLFxuICAgICAgICAncmdiKDAsIDAsIDI1NSknLFxuICAgICAgICAncmdiKDE1MywgMCwgMjU1KScsXG4gICAgICAgICdyZ2IoMjU1LCAwLCAyNTUpJyxcbiAgICBdLFxuICAgIFtcbiAgICAgICAgJ3JnYigyMzAsIDE4NCwgMTc1KScsXG4gICAgICAgICdyZ2IoMjQ0LCAyMDQsIDIwNCknLFxuICAgICAgICAncmdiKDI1MiwgMjI5LCAyMDUpJyxcbiAgICAgICAgJ3JnYigyNTUsIDI0MiwgMjA0KScsXG4gICAgICAgICdyZ2IoMjE3LCAyMzQsIDIxMSknLFxuICAgICAgICAncmdiKDIwOCwgMjI0LCAyMjcpJyxcbiAgICAgICAgJ3JnYigyMDEsIDIxOCwgMjQ4KScsXG4gICAgICAgICdyZ2IoMjA3LCAyMjYsIDI0MyknLFxuICAgICAgICAncmdiKDIxNywgMjEwLCAyMzMpJyxcbiAgICAgICAgJ3JnYigyMzQsIDIwOSwgMjIwKScsXG4gICAgXSxcbiAgICBbXG4gICAgICAgICdyZ2IoMjIxLCAxMjYsIDEwNyknLFxuICAgICAgICAncmdiKDIzNCwgMTUzLCAxNTMpJyxcbiAgICAgICAgJ3JnYigyNDksIDIwMywgMTU2KScsXG4gICAgICAgICdyZ2IoMjU1LCAyMjksIDE1MyknLFxuICAgICAgICAncmdiKDE4MiwgMjE1LCAxNjgpJyxcbiAgICAgICAgJ3JnYigxNjIsIDE5NiwgMjAxKScsXG4gICAgICAgICdyZ2IoMTY0LCAxOTQsIDI0NCknLFxuICAgICAgICAncmdiKDE1OSwgMTk3LCAyMzIpJyxcbiAgICAgICAgJ3JnYigxODAsIDE2NywgMjE0KScsXG4gICAgICAgICdyZ2IoMjEzLCAxNjYsIDE4OSknLFxuICAgIF0sXG4gICAgW1xuICAgICAgICAncmdiKDIwNCwgNjUsIDM3KScsXG4gICAgICAgICdyZ2IoMjI0LCAxMDIsIDEwMiknLFxuICAgICAgICAncmdiKDI0NiwgMTc4LCAxMDcpJyxcbiAgICAgICAgJ3JnYigyNTUsIDIxNywgMTAyKScsXG4gICAgICAgICdyZ2IoMTQ3LCAxOTYsIDEyNSknLFxuICAgICAgICAncmdiKDExOCwgMTY1LCAxNzUpJyxcbiAgICAgICAgJ3JnYigxMDksIDE1OCwgMjM1KScsXG4gICAgICAgICdyZ2IoMTExLCAxNjgsIDIyMCknLFxuICAgICAgICAncmdiKDE0MiwgMTI0LCAxOTUpJyxcbiAgICAgICAgJ3JnYigxOTQsIDEyMywgMTYwKScsXG4gICAgXSxcbiAgICBbXG4gICAgICAgICdyZ2IoMTY2LCAyOCwgMCknLFxuICAgICAgICAncmdiKDIwNCwgMCwgMCknLFxuICAgICAgICAncmdiKDIzMCwgMTQ1LCA1NiknLFxuICAgICAgICAncmdiKDI0MSwgMTk0LCA1MCknLFxuICAgICAgICAncmdiKDEwNiwgMTY4LCA3OSknLFxuICAgICAgICAncmdiKDY5LCAxMjksIDE0MiknLFxuICAgICAgICAncmdiKDYwLCAxMjAsIDIxNiknLFxuICAgICAgICAncmdiKDYxLCAxMzMsIDE5OCknLFxuICAgICAgICAncmdiKDEwMywgNzgsIDE2NyknLFxuICAgICAgICAncmdiKDE2NiwgNzcsIDEyMSknLFxuICAgIF0sXG4gICAgW1xuICAgICAgICAncmdiKDEzMywgMzIsIDEyKScsXG4gICAgICAgICdyZ2IoMTUzLCAwLCAwKScsXG4gICAgICAgICdyZ2IoMTgwLCA5NSwgNiknLFxuICAgICAgICAncmdiKDE5MSwgMTQ0LCAwKScsXG4gICAgICAgICdyZ2IoNTYsIDExOCwgMjkpJyxcbiAgICAgICAgJ3JnYigxOSwgNzksIDkyKScsXG4gICAgICAgICdyZ2IoMTcsIDg1LCAyMDQpJyxcbiAgICAgICAgJ3JnYigxMSwgODMsIDE0OCknLFxuICAgICAgICAncmdiKDUzLCAyOCwgMTE3KScsXG4gICAgICAgICdyZ2IoMTE2LCAyNywgNzEpJyxcbiAgICBdLFxuICAgIFtcbiAgICAgICAgJ3JnYig5MSwgMTUsIDApJyxcbiAgICAgICAgJ3JnYigxMDIsIDAsIDApJyxcbiAgICAgICAgJ3JnYigxMjAsIDYzLCA0KScsXG4gICAgICAgICdyZ2IoMTI3LCA5NiwgMCknLFxuICAgICAgICAncmdiKDM5LCA3OCwgMTkpJyxcbiAgICAgICAgJ3JnYigxMiwgNTIsIDYxKScsXG4gICAgICAgICdyZ2IoMjgsIDY5LCAxMzUpJyxcbiAgICAgICAgJ3JnYig3LCA1NSwgOTkpJyxcbiAgICAgICAgJ3JnYigzMiwgMTgsIDc3KScsXG4gICAgICAgICdyZ2IoNzYsIDE3LCA0OCknLFxuICAgIF0sXG5dO1xuXG5leHBvcnQgY29uc3QgR0xPQkFMX0tFWV9DT0RFUyA9IFtcbiAgICAnQmFja3NwYWNlJyxcbiAgICAnQ29udHJvbExlZnQnLFxuICAgICdDb250cm9sUmlnaHQnLFxuICAgICdTaGlmdExlZnQnLFxuICAgICdTaGlmdFJpZ2h0JyxcbiAgICAnVGFiJyxcbiAgICAnQXJyb3dMZWZ0JyxcbiAgICAnQXJyb3dSaWdodCcsXG4gICAgJ0Fycm93VXAnLFxuICAgICdBcnJvd0Rvd24nLFxuXTtcblxuZXhwb3J0IGNvbnN0IExJU1RfRURJVF9LRVlfQ09ERVMgPSBbJ0JhY2tzcGFjZScsICdFbnRlcicsICdOdW1wYWRFbnRlciddO1xuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9wYXVsaW5lL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy91dGlscy9jb2xvcnMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUF5QjtJQUNyRDtRQUNJLGNBQWM7UUFDZCxpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtLQUN2QjtJQUNEO1FBQ0ksZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixrQkFBa0I7UUFDbEIsa0JBQWtCO0tBQ3JCO0lBQ0Q7UUFDSSxvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7S0FDdkI7SUFDRDtRQUNJLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtLQUN2QjtJQUNEO1FBQ0ksa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsb0JBQW9CO0tBQ3ZCO0lBQ0Q7UUFDSSxpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixtQkFBbUI7S0FDdEI7SUFDRDtRQUNJLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtLQUNyQjtJQUNEO1FBQ0ksZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsaUJBQWlCO0tBQ3BCO0NBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFdBQVc7SUFDWCxhQUFhO0lBQ2IsY0FBYztJQUNkLFdBQVc7SUFDWCxZQUFZO0lBQ1osS0FBSztJQUNMLFdBQVc7SUFDWCxZQUFZO0lBQ1osU0FBUztJQUNULFdBQVc7Q0FDZCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09MT1JfQVJSQVk6IEFycmF5PEFycmF5PHN0cmluZz4+ID0gW1xuICAgIFtcbiAgICAgICAgJ3JnYigwLCAwLCAwKScsXG4gICAgICAgICdyZ2IoNjcsIDY3LCA2NyknLFxuICAgICAgICAncmdiKDEwMiwgMTAyLCAxMDIpJyxcbiAgICAgICAgJ3JnYigxNTMsIDE1MywgMTUzKScsXG4gICAgICAgICdyZ2IoMTgzLCAxODMsIDE4MyknLFxuICAgICAgICAncmdiKDIwNCwgMjA0LCAyMDQpJyxcbiAgICAgICAgJ3JnYigyMTcsIDIxNywgMjE3KScsXG4gICAgICAgICdyZ2IoMjM5LCAyMzksIDIzOSknLFxuICAgICAgICAncmdiKDI0MywgMjQzLCAyNDMpJyxcbiAgICAgICAgJ3JnYigyNTUsIDI1NSwgMjU1KScsXG4gICAgXSxcbiAgICBbXG4gICAgICAgICdyZ2IoMTUyLCAwLCAwKScsXG4gICAgICAgICdyZ2IoMjU1LCAwLCAwKScsXG4gICAgICAgICdyZ2IoMjU1LCAxNTMsIDApJyxcbiAgICAgICAgJ3JnYigyNTUsIDI1NSwgMCknLFxuICAgICAgICAncmdiKDAsIDI1NSwgMCknLFxuICAgICAgICAncmdiKDAsIDI1NSwgMjU1KScsXG4gICAgICAgICdyZ2IoNzQsIDEzNCwgMjMyKScsXG4gICAgICAgICdyZ2IoMCwgMCwgMjU1KScsXG4gICAgICAgICdyZ2IoMTUzLCAwLCAyNTUpJyxcbiAgICAgICAgJ3JnYigyNTUsIDAsIDI1NSknLFxuICAgIF0sXG4gICAgW1xuICAgICAgICAncmdiKDIzMCwgMTg0LCAxNzUpJyxcbiAgICAgICAgJ3JnYigyNDQsIDIwNCwgMjA0KScsXG4gICAgICAgICdyZ2IoMjUyLCAyMjksIDIwNSknLFxuICAgICAgICAncmdiKDI1NSwgMjQyLCAyMDQpJyxcbiAgICAgICAgJ3JnYigyMTcsIDIzNCwgMjExKScsXG4gICAgICAgICdyZ2IoMjA4LCAyMjQsIDIyNyknLFxuICAgICAgICAncmdiKDIwMSwgMjE4LCAyNDgpJyxcbiAgICAgICAgJ3JnYigyMDcsIDIyNiwgMjQzKScsXG4gICAgICAgICdyZ2IoMjE3LCAyMTAsIDIzMyknLFxuICAgICAgICAncmdiKDIzNCwgMjA5LCAyMjApJyxcbiAgICBdLFxuICAgIFtcbiAgICAgICAgJ3JnYigyMjEsIDEyNiwgMTA3KScsXG4gICAgICAgICdyZ2IoMjM0LCAxNTMsIDE1MyknLFxuICAgICAgICAncmdiKDI0OSwgMjAzLCAxNTYpJyxcbiAgICAgICAgJ3JnYigyNTUsIDIyOSwgMTUzKScsXG4gICAgICAgICdyZ2IoMTgyLCAyMTUsIDE2OCknLFxuICAgICAgICAncmdiKDE2MiwgMTk2LCAyMDEpJyxcbiAgICAgICAgJ3JnYigxNjQsIDE5NCwgMjQ0KScsXG4gICAgICAgICdyZ2IoMTU5LCAxOTcsIDIzMiknLFxuICAgICAgICAncmdiKDE4MCwgMTY3LCAyMTQpJyxcbiAgICAgICAgJ3JnYigyMTMsIDE2NiwgMTg5KScsXG4gICAgXSxcbiAgICBbXG4gICAgICAgICdyZ2IoMjA0LCA2NSwgMzcpJyxcbiAgICAgICAgJ3JnYigyMjQsIDEwMiwgMTAyKScsXG4gICAgICAgICdyZ2IoMjQ2LCAxNzgsIDEwNyknLFxuICAgICAgICAncmdiKDI1NSwgMjE3LCAxMDIpJyxcbiAgICAgICAgJ3JnYigxNDcsIDE5NiwgMTI1KScsXG4gICAgICAgICdyZ2IoMTE4LCAxNjUsIDE3NSknLFxuICAgICAgICAncmdiKDEwOSwgMTU4LCAyMzUpJyxcbiAgICAgICAgJ3JnYigxMTEsIDE2OCwgMjIwKScsXG4gICAgICAgICdyZ2IoMTQyLCAxMjQsIDE5NSknLFxuICAgICAgICAncmdiKDE5NCwgMTIzLCAxNjApJyxcbiAgICBdLFxuICAgIFtcbiAgICAgICAgJ3JnYigxNjYsIDI4LCAwKScsXG4gICAgICAgICdyZ2IoMjA0LCAwLCAwKScsXG4gICAgICAgICdyZ2IoMjMwLCAxNDUsIDU2KScsXG4gICAgICAgICdyZ2IoMjQxLCAxOTQsIDUwKScsXG4gICAgICAgICdyZ2IoMTA2LCAxNjgsIDc5KScsXG4gICAgICAgICdyZ2IoNjksIDEyOSwgMTQyKScsXG4gICAgICAgICdyZ2IoNjAsIDEyMCwgMjE2KScsXG4gICAgICAgICdyZ2IoNjEsIDEzMywgMTk4KScsXG4gICAgICAgICdyZ2IoMTAzLCA3OCwgMTY3KScsXG4gICAgICAgICdyZ2IoMTY2LCA3NywgMTIxKScsXG4gICAgXSxcbiAgICBbXG4gICAgICAgICdyZ2IoMTMzLCAzMiwgMTIpJyxcbiAgICAgICAgJ3JnYigxNTMsIDAsIDApJyxcbiAgICAgICAgJ3JnYigxODAsIDk1LCA2KScsXG4gICAgICAgICdyZ2IoMTkxLCAxNDQsIDApJyxcbiAgICAgICAgJ3JnYig1NiwgMTE4LCAyOSknLFxuICAgICAgICAncmdiKDE5LCA3OSwgOTIpJyxcbiAgICAgICAgJ3JnYigxNywgODUsIDIwNCknLFxuICAgICAgICAncmdiKDExLCA4MywgMTQ4KScsXG4gICAgICAgICdyZ2IoNTMsIDI4LCAxMTcpJyxcbiAgICAgICAgJ3JnYigxMTYsIDI3LCA3MSknLFxuICAgIF0sXG4gICAgW1xuICAgICAgICAncmdiKDkxLCAxNSwgMCknLFxuICAgICAgICAncmdiKDEwMiwgMCwgMCknLFxuICAgICAgICAncmdiKDEyMCwgNjMsIDQpJyxcbiAgICAgICAgJ3JnYigxMjcsIDk2LCAwKScsXG4gICAgICAgICdyZ2IoMzksIDc4LCAxOSknLFxuICAgICAgICAncmdiKDEyLCA1MiwgNjEpJyxcbiAgICAgICAgJ3JnYigyOCwgNjksIDEzNSknLFxuICAgICAgICAncmdiKDcsIDU1LCA5OSknLFxuICAgICAgICAncmdiKDMyLCAxOCwgNzcpJyxcbiAgICAgICAgJ3JnYig3NiwgMTcsIDQ4KScsXG4gICAgXSxcbl07XG5cbmV4cG9ydCBjb25zdCBHTE9CQUxfS0VZX0NPREVTID0gW1xuICAgICdCYWNrc3BhY2UnLFxuICAgICdDb250cm9sTGVmdCcsXG4gICAgJ0NvbnRyb2xSaWdodCcsXG4gICAgJ1NoaWZ0TGVmdCcsXG4gICAgJ1NoaWZ0UmlnaHQnLFxuICAgICdUYWInLFxuICAgICdBcnJvd0xlZnQnLFxuICAgICdBcnJvd1JpZ2h0JyxcbiAgICAnQXJyb3dVcCcsXG4gICAgJ0Fycm93RG93bicsXG5dO1xuXG5leHBvcnQgY29uc3QgTElTVF9FRElUX0tFWV9DT0RFUyA9IFsnQmFja3NwYWNlJywgJ0VudGVyJywgJ051bXBhZEVudGVyJ107XG4iXX0=
@@ -24,11 +24,13 @@ export class EditorJSConversionService {
24
24
  });
25
25
  }
26
26
  convertCurrentElement(element, firstCall = false) {
27
+ var _a;
27
28
  return __awaiter(this, void 0, void 0, function* () {
28
29
  if (!element) {
29
30
  return;
30
31
  }
31
32
  const children = element.children;
33
+ let isOrderedListChildren = element.tagName.toLowerCase() === 'ol';
32
34
  for (var currentElement = children[0]; currentElement; currentElement = currentElement.nextElementSibling) {
33
35
  for (const [quillClass, editorJSClass] of Object.entries(this.classesToReplace)) {
34
36
  if (quillClass.indexOf('{input}') > -1) {
@@ -57,6 +59,9 @@ export class EditorJSConversionService {
57
59
  if (currentElement.tagName.toLowerCase() === 'u') {
58
60
  let newElement = document.createElement('span');
59
61
  newElement.innerHTML = currentElement.innerHTML;
62
+ if (currentElement.classList && currentElement.classList.length > 0) {
63
+ newElement.className = currentElement.className;
64
+ }
60
65
  newElement = this.setInlineStyle(currentElement, newElement);
61
66
  if (currentElement.classList.length > 0) {
62
67
  newElement.className = currentElement.className;
@@ -68,6 +73,9 @@ export class EditorJSConversionService {
68
73
  if (currentElement.tagName.toLowerCase() === 'a' && currentElement.hasAttribute('data-htap')) {
69
74
  let newLink = document.createElement('span');
70
75
  newLink.innerHTML = currentElement.innerHTML;
76
+ if (currentElement.classList && currentElement.classList.length > 0) {
77
+ newLink.className = currentElement.className;
78
+ }
71
79
  newLink = this.setInlineStyle(currentElement, newLink);
72
80
  if (currentElement.classList.length > 0) {
73
81
  newLink.className = currentElement.className;
@@ -79,6 +87,10 @@ export class EditorJSConversionService {
79
87
  currentElement.parentElement.replaceChild(newLink, currentElement);
80
88
  currentElement = newLink;
81
89
  }
90
+ if (isOrderedListChildren && currentElement.tagName.toLowerCase() === 'li') {
91
+ let value = (_a = currentElement.previousElementSibling) === null || _a === void 0 ? void 0 : _a.getAttribute('value');
92
+ currentElement.setAttribute('value', value ? (parseInt(value) + 1).toString() : '1');
93
+ }
82
94
  if (currentElement.children.length > 0) {
83
95
  yield this.convertCurrentElement(currentElement);
84
96
  }
@@ -103,4 +115,4 @@ EditorJSConversionService.decorators = [
103
115
  },] }
104
116
  ];
105
117
  EditorJSConversionService.ctorParameters = () => [];
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yanMtY29udmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL2JyaWFuL0RvY3VtZW50cy93b3Jrc3BhY2Uvd2l6aS1ibG9jay9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zaGFyZWQvY29tcG9uZW50cy9lZGl0b3Jqcy90b29scy91dGlscy9lZGl0b3Jqcy1jb252ZXJzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyx5QkFBeUI7SUFjbEM7UUFiQSxjQUFTLEdBQXVCLElBQUksQ0FBQztRQUVyQyxxQkFBZ0IsR0FBRztZQUNmLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGNBQWMsRUFBRSxjQUFjO1lBQzlCLGVBQWUsRUFBRSxlQUFlO1lBQ2hDLGlCQUFpQixFQUFFLGlCQUFpQjtZQUNwQyxnQkFBZ0IsRUFBRSxnQkFBZ0I7WUFDbEMsa0JBQWtCLEVBQUUsa0JBQWtCO1lBQ3RDLG1CQUFtQixFQUFFLG1CQUFtQjtTQUMzQyxDQUFDO0lBRWEsQ0FBQztJQUVWLE9BQU8sQ0FBQyxPQUFlOztZQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1lBRW5DLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFdkQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUNwQyxDQUFDO0tBQUE7SUFFYSxxQkFBcUIsQ0FBQyxPQUFvQixFQUFFLFlBQXFCLEtBQUs7O1lBQ2hGLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1YsT0FBTzthQUNW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Q0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFFLEVBQUU7WUFDOUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1AsS0FBSyxNQUFNLFFBQVEsSUFBSSx5QkFBeUIsRUFBRTtZQUM5QyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQzs7OztZQTFHSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvckpTQ29udmVyc2lvblNlcnZpY2Uge1xuICAgIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNsYXNzZXNUb1JlcGxhY2UgPSB7XG4gICAgICAgICdxbC1zaXplLXNtYWxsJzogJ3dlLXNpemUtc21hbGwnLFxuICAgICAgICAncWwtc2l6ZS1sYXJnZSc6ICd3ZS1zaXplLWxhcmdlJyxcbiAgICAgICAgJ3FsLXNpemUtaHVnZSc6ICd3ZS1zaXplLWh1Z2UnLFxuICAgICAgICAncWwtYWxpZ24tbGVmdCc6ICd3ZS1hbGlnbi1sZWZ0JyxcbiAgICAgICAgJ3FsLWFsaWduLWNlbnRlcic6ICd3ZS1hbGlnbi1jZW50ZXInLFxuICAgICAgICAncWwtYWxpZ24tcmlnaHQnOiAnd2UtYWxpZ24tcmlnaHQnLFxuICAgICAgICAncWwtYWxpZ24tanVzdGlmeSc6ICd3ZS1hbGlnbi1qdXN0aWZ5JyxcbiAgICAgICAgJ3FsLWluZGVudC17aW5wdXR9JzogJ3dlLWluZGVudC17aW5wdXR9JyxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgYXN5bmMgY29udmVydChjb250ZW50OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICB0aGlzLmNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lckhUTUwgPSBjb250ZW50O1xuXG4gICAgICAgIGF3YWl0IHRoaXMuY29udmVydEN1cnJlbnRFbGVtZW50KHRoaXMuY29udGFpbmVyLCB0cnVlKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuaW5uZXJIVE1MO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgY29udmVydEN1cnJlbnRFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBmaXJzdENhbGw6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNoaWxkcmVuOiBIVE1MQ29sbGVjdGlvbiA9IGVsZW1lbnQuY2hpbGRyZW47XG4gICAgICAgIGZvciAodmFyIGN1cnJlbnRFbGVtZW50ID0gY2hpbGRyZW5bMF07IGN1cnJlbnRFbGVtZW50OyBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50Lm5leHRFbGVtZW50U2libGluZykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBbcXVpbGxDbGFzcywgZWRpdG9ySlNDbGFzc10gb2YgT2JqZWN0LmVudHJpZXModGhpcy5jbGFzc2VzVG9SZXBsYWNlKSkge1xuICAgICAgICAgICAgICAgIGlmIChxdWlsbENsYXNzLmluZGV4T2YoJ3tpbnB1dH0nKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFwcGxpZWRDbGFzcyA9IEFycmF5LmZyb20oY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0KS5zb21lKChjKSA9PiBjLnN0YXJ0c1dpdGgocXVpbGxDbGFzcy5yZXBsYWNlKCd7aW5wdXR9JywgJycpKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhcHBsaWVkQ2xhc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdC5mb3JFYWNoKChjbGFzc05hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2xhc3NOYW1lLmluZGV4T2YocXVpbGxDbGFzcy5yZXBsYWNlKCd7aW5wdXR9JywgJycpKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGNsYXNzTmFtZS5yZXBsYWNlKHF1aWxsQ2xhc3MucmVwbGFjZSgne2lucHV0fScsICcnKSwgJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoZWRpdG9ySlNDbGFzcy5yZXBsYWNlKCd7aW5wdXR9JywgJycpICsgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhxdWlsbENsYXNzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShxdWlsbENsYXNzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoZWRpdG9ySlNDbGFzcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5mcm9tKGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdCkuc29tZSgoYykgPT4gYy5zdGFydHNXaXRoKCdxbC1jdXN0b20tdXBwZXJjYXNlJykpKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncWwtY3VzdG9tLXVwcGVyY2FzZScpO1xuICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+Y3VycmVudEVsZW1lbnQpLnN0eWxlLnRleHRUcmFuc2Zvcm0gPSAndXBwZXJjYXNlJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3UnKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudC5pbm5lckhUTUwgPSBjdXJyZW50RWxlbWVudC5pbm5lckhUTUw7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IHRoaXMuc2V0SW5saW5lU3R5bGUoY3VycmVudEVsZW1lbnQsIG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50RWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdFbGVtZW50LmNsYXNzTmFtZSA9IGN1cnJlbnRFbGVtZW50LmNsYXNzTmFtZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LnN0eWxlLnRleHREZWNvcmF0aW9uID0gJ3VuZGVybGluZSc7XG5cbiAgICAgICAgICAgICAgICBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LnJlcGxhY2VDaGlsZChuZXdFbGVtZW50LCBjdXJyZW50RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQgPSBuZXdFbGVtZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYScgJiYgY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLWh0YXAnKSkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgICAgIG5ld0xpbmsuaW5uZXJIVE1MID0gY3VycmVudEVsZW1lbnQuaW5uZXJIVE1MO1xuICAgICAgICAgICAgICAgIG5ld0xpbmsgPSB0aGlzLnNldElubGluZVN0eWxlKGN1cnJlbnRFbGVtZW50LCBuZXdMaW5rKTtcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TGluay5jbGFzc05hbWUgPSBjdXJyZW50RWxlbWVudC5jbGFzc05hbWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmV3TGluay5zZXRBdHRyaWJ1dGUoJ2RhdGEtaHRhcCcsIGN1cnJlbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1odGFwJykpO1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0xpbmsuc2V0QXR0cmlidXRlKCd0YXJnZXQnLCBjdXJyZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LnJlcGxhY2VDaGlsZChuZXdMaW5rLCBjdXJyZW50RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQgPSBuZXdMaW5rO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuY29udmVydEN1cnJlbnRFbGVtZW50KDxIVE1MRWxlbWVudD5jdXJyZW50RWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldElubGluZVN0eWxlKGN1cnJlbnRFbGVtZW50LCBuZXh0RWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgY3VycmVudEVsZW1lbnRJbmxpbmVTdHlsZTogT2JqZWN0ID0gQXJyYXkuZnJvbShjdXJyZW50RWxlbWVudC5zdHlsZSkucmVkdWNlKChzdHlsZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHN0eWxlW25hbWVdID0gY3VycmVudEVsZW1lbnQuc3R5bGVbbmFtZV07XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sIHt9KTtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBjdXJyZW50RWxlbWVudElubGluZVN0eWxlKSB7XG4gICAgICAgICAgICBuZXh0RWxlbWVudC5zdHlsZVtwcm9wZXJ0eV0gPSBjdXJyZW50RWxlbWVudElubGluZVN0eWxlW3Byb3BlcnR5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dEVsZW1lbnQ7XG4gICAgfVxufVxuIl19
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yanMtY29udmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3BhdWxpbmUvRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL3V0aWxzL2VkaXRvcmpzLWNvbnZlcnNpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHlCQUF5QjtJQWNsQztRQWJBLGNBQVMsR0FBdUIsSUFBSSxDQUFDO1FBRXJDLHFCQUFnQixHQUFHO1lBQ2YsZUFBZSxFQUFFLGVBQWU7WUFDaEMsZUFBZSxFQUFFLGVBQWU7WUFDaEMsY0FBYyxFQUFFLGNBQWM7WUFDOUIsZUFBZSxFQUFFLGVBQWU7WUFDaEMsaUJBQWlCLEVBQUUsaUJBQWlCO1lBQ3BDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsbUJBQW1CLEVBQUUsbUJBQW1CO1NBQzNDLENBQUM7SUFFYSxDQUFDO0lBRVYsT0FBTyxDQUFDLE9BQWU7O1lBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7WUFDbkMsTUFBTSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUV2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3BDLENBQUM7S0FBQTtJQUVhLHFCQUFxQixDQUFDLE9BQW9CLEVBQUUsWUFBcUIsS0FBSzs7O1lBQ2hGLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1YsT0FBTzth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QVcsQ0FBQztJQUN2QixDQUFDOzs7O1lBbkhKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdG9ySlNDb252ZXJzaW9uU2VydmljZSB7XG4gICAgY29udGFpbmVyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gICAgY2xhc3Nlc1RvUmVwbGFjZSA9IHtcbiAgICAgICAgJ3FsLXNpemUtc21hbGwnOiAnd2Utc2l6ZS1zbWFsbCcsXG4gICAgICAgICdxbC1zaXplLWxhcmdlJzogJ3dlLXNpemUtbGFyZ2UnLFxuICAgICAgICAncWwtc2l6ZS1odWdlJzogJ3dlLXNpemUtaHVnZScsXG4gICAgICAgICdxbC1hbGlnbi1sZWZ0JzogJ3dlLWFsaWduLWxlZnQnLFxuICAgICAgICAncWwtYWxpZ24tY2VudGVyJzogJ3dlLWFsaWduLWNlbnRlcicsXG4gICAgICAgICdxbC1hbGlnbi1yaWdodCc6ICd3ZS1hbGlnbi1yaWdodCcsXG4gICAgICAgICdxbC1hbGlnbi1qdXN0aWZ5JzogJ3dlLWFsaWduLWp1c3RpZnknLFxuICAgICAgICAncWwtaW5kZW50LXtpbnB1dH0nOiAnd2UtaW5kZW50LXtpbnB1dH0nLFxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBhc3luYyBjb252ZXJ0KGNvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVySFRNTCA9IGNvbnRlbnQ7XG4gICAgICAgIGF3YWl0IHRoaXMuY29udmVydEN1cnJlbnRFbGVtZW50KHRoaXMuY29udGFpbmVyLCB0cnVlKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuaW5uZXJIVE1MO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgY29udmVydEN1cnJlbnRFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBmaXJzdENhbGw6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgICAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjaGlsZHJlbjogSFRNTENvbGxlY3Rpb24gPSBlbGVtZW50LmNoaWxkcmVuO1xuICAgICAgICBsZXQgaXNPcmRlcmVkTGlzdENoaWxkcmVuID0gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdvbCc7XG4gICAgICAgIGZvciAodmFyIGN1cnJlbnRFbGVtZW50ID0gY2hpbGRyZW5bMF07IGN1cnJlbnRFbGVtZW50OyBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50Lm5leHRFbGVtZW50U2libGluZykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBbcXVpbGxDbGFzcywgZWRpdG9ySlNDbGFzc10gb2YgT2JqZWN0LmVudHJpZXModGhpcy5jbGFzc2VzVG9SZXBsYWNlKSkge1xuICAgICAgICAgICAgICAgIGlmIChxdWlsbENsYXNzLmluZGV4T2YoJ3tpbnB1dH0nKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFwcGxpZWRDbGFzcyA9IEFycmF5LmZyb20oY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0KS5zb21lKChjKSA9PiBjLnN0YXJ0c1dpdGgocXVpbGxDbGFzcy5yZXBsYWNlKCd7aW5wdXR9JywgJycpKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhcHBsaWVkQ2xhc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdC5mb3JFYWNoKChjbGFzc05hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2xhc3NOYW1lLmluZGV4T2YocXVpbGxDbGFzcy5yZXBsYWNlKCd7aW5wdXR9JywgJycpKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IGNsYXNzTmFtZS5yZXBsYWNlKHF1aWxsQ2xhc3MucmVwbGFjZSgne2lucHV0fScsICcnKSwgJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoZWRpdG9ySlNDbGFzcy5yZXBsYWNlKCd7aW5wdXR9JywgJycpICsgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhxdWlsbENsYXNzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShxdWlsbENsYXNzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoZWRpdG9ySlNDbGFzcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5mcm9tKGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdCkuc29tZSgoYykgPT4gYy5zdGFydHNXaXRoKCdxbC1jdXN0b20tdXBwZXJjYXNlJykpKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgncWwtY3VzdG9tLXVwcGVyY2FzZScpO1xuICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+Y3VycmVudEVsZW1lbnQpLnN0eWxlLnRleHRUcmFuc2Zvcm0gPSAndXBwZXJjYXNlJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3UnKSB7XG4gICAgICAgICAgICAgICAgbGV0IG5ld0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudC5pbm5lckhUTUwgPSBjdXJyZW50RWxlbWVudC5pbm5lckhUTUw7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50LmNsYXNzTGlzdCAmJiBjdXJyZW50RWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdFbGVtZW50LmNsYXNzTmFtZSA9IGN1cnJlbnRFbGVtZW50LmNsYXNzTmFtZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IHRoaXMuc2V0SW5saW5lU3R5bGUoY3VycmVudEVsZW1lbnQsIG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50RWxlbWVudC5jbGFzc0xpc3QubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBuZXdFbGVtZW50LmNsYXNzTmFtZSA9IGN1cnJlbnRFbGVtZW50LmNsYXNzTmFtZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LnN0eWxlLnRleHREZWNvcmF0aW9uID0gJ3VuZGVybGluZSc7XG5cbiAgICAgICAgICAgICAgICBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LnJlcGxhY2VDaGlsZChuZXdFbGVtZW50LCBjdXJyZW50RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQgPSBuZXdFbGVtZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnYScgJiYgY3VycmVudEVsZW1lbnQuaGFzQXR0cmlidXRlKCdkYXRhLWh0YXAnKSkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgICAgIG5ld0xpbmsuaW5uZXJIVE1MID0gY3VycmVudEVsZW1lbnQuaW5uZXJIVE1MO1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50RWxlbWVudC5jbGFzc0xpc3QgJiYgY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TGluay5jbGFzc05hbWUgPSBjdXJyZW50RWxlbWVudC5jbGFzc05hbWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5ld0xpbmsgPSB0aGlzLnNldElubGluZVN0eWxlKGN1cnJlbnRFbGVtZW50LCBuZXdMaW5rKTtcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbmV3TGluay5jbGFzc05hbWUgPSBjdXJyZW50RWxlbWVudC5jbGFzc05hbWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmV3TGluay5zZXRBdHRyaWJ1dGUoJ2RhdGEtaHRhcCcsIGN1cnJlbnRFbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1odGFwJykpO1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld0xpbmsuc2V0QXR0cmlidXRlKCd0YXJnZXQnLCBjdXJyZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhcmdldCcpKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LnJlcGxhY2VDaGlsZChuZXdMaW5rLCBjdXJyZW50RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQgPSBuZXdMaW5rO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzT3JkZXJlZExpc3RDaGlsZHJlbiAmJiBjdXJyZW50RWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdsaScpIHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSBjdXJyZW50RWxlbWVudC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nPy5nZXRBdHRyaWJ1dGUoJ3ZhbHVlJyk7XG4gICAgICAgICAgICAgICAgY3VycmVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHZhbHVlID8gKHBhcnNlSW50KHZhbHVlKSArIDEpLnRvU3RyaW5nKCkgOiAnMScpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY3VycmVudEVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuY29udmVydEN1cnJlbnRFbGVtZW50KDxIVE1MRWxlbWVudD5jdXJyZW50RWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldElubGluZVN0eWxlKGN1cnJlbnRFbGVtZW50LCBuZXh0RWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgY3VycmVudEVsZW1lbnRJbmxpbmVTdHlsZTogT2JqZWN0ID0gQXJyYXkuZnJvbShjdXJyZW50RWxlbWVudC5zdHlsZSkucmVkdWNlKChzdHlsZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHN0eWxlW25hbWVdID0gY3VycmVudEVsZW1lbnQuc3R5bGVbbmFtZV07XG4gICAgICAgICAgICByZXR1cm4gc3R5bGU7XG4gICAgICAgIH0sIHt9KTtcbiAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBjdXJyZW50RWxlbWVudElubGluZVN0eWxlKSB7XG4gICAgICAgICAgICBuZXh0RWxlbWVudC5zdHlsZVtwcm9wZXJ0eV0gPSBjdXJyZW50RWxlbWVudElubGluZVN0eWxlW3Byb3BlcnR5XTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dEVsZW1lbnQ7XG4gICAgfVxufVxuIl19
@@ -5,6 +5,7 @@ export class AttributeObject {
5
5
  export class EditorJSTool {
6
6
  constructor() {
7
7
  this.parentEditor = null;
8
+ this.textContainers = 'h1,h2,h3,h4,h5,h6,p,li';
8
9
  this.selectedAnchorNode = null;
9
10
  this.selectedFocusNode = null;
10
11
  this.anchorOffset = -1;
@@ -43,8 +44,34 @@ export class EditorJSTool {
43
44
  this.focusOffset = this.currentSelection.focusOffset;
44
45
  }
45
46
  resetUserSelection() {
47
+ var _a;
48
+ console.log('reset here');
49
+ if (this.selectedAnchorNode.nodeType === Node.ELEMENT_NODE && this.selectedAnchorNode.children) {
50
+ while (this.selectedAnchorNode.children &&
51
+ this.selectedAnchorNode.innerText === ((_a = this.selectedAnchorNode.children[0]) === null || _a === void 0 ? void 0 : _a.innerText) &&
52
+ this.selectedAnchorNode.children.length === 1) {
53
+ this.selectedAnchorNode = this.selectedAnchorNode.children[0];
54
+ this.selectedFocusNode = this.selectedAnchorNode;
55
+ this.anchorOffset = 0;
56
+ this.focusOffset = 1;
57
+ }
58
+ if (this.textContainers.split(',').indexOf(this.selectedAnchorNode.tagName.toLowerCase()) > -1) {
59
+ let childTextNodes = this.getTextNodes(this.selectedAnchorNode);
60
+ let focusNode = childTextNodes.length > 1
61
+ ? this.selectedAnchorNode.childNodes[childTextNodes.length - 1]
62
+ : this.selectedAnchorNode.childNodes[0];
63
+ let focusOffset = childTextNodes.length > 1 ? childTextNodes.length : childTextNodes[0].textContent.length;
64
+ this.selectedAnchorNode = this.selectedAnchorNode.childNodes[0];
65
+ this.anchorOffset = 0;
66
+ this.selectedFocusNode = focusNode;
67
+ this.focusOffset = focusOffset;
68
+ }
69
+ }
46
70
  document.getSelection().setBaseAndExtent(this.selectedAnchorNode, this.anchorOffset, this.selectedFocusNode, this.focusOffset);
47
- this.currentSelection = this.getSelection();
71
+ }
72
+ collapseSelection() {
73
+ let selection = this.getSelection();
74
+ document.getSelection().setBaseAndExtent(selection.anchorNode, 0, selection.anchorNode, 0);
48
75
  }
49
76
  findParentEditor() {
50
77
  const selection = this.currentSelection ? this.currentSelection : this.getSelection();
@@ -53,6 +80,17 @@ export class EditorJSTool {
53
80
  clear() {
54
81
  resetBlockFocus(this.parentEditor);
55
82
  }
83
+ getTextNodes(container) {
84
+ let childTextNodes = [];
85
+ if (container.childNodes) {
86
+ for (var i = 0; i < container.childNodes.length; ++i) {
87
+ if (container.childNodes[i].nodeType === Node.TEXT_NODE) {
88
+ childTextNodes.push(container.childNodes[i]);
89
+ }
90
+ }
91
+ }
92
+ return childTextNodes;
93
+ }
56
94
  }
57
95
  export var isTextEditionTool = false;
58
96
  export var isBlockFocused = false;
@@ -82,4 +120,4 @@ export function resetBlockFocus(parentEditor) {
82
120
  containerToFocus.classList.remove('editorjs-focused');
83
121
  }
84
122
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yanMtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvYnJpYW4vRG9jdW1lbnRzL3dvcmtzcGFjZS93aXppLWJsb2NrL3Byb2plY3RzL3dpemktYmxvY2svc3JjLyIsInNvdXJjZXMiOlsibGliL3NoYXJlZC9jb21wb25lbnRzL2VkaXRvcmpzL3Rvb2xzL3V0aWxzL2VkaXRvcmpzLXRvb2wuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxXQUFXO0NBTXZCO0FBRUQsTUFBTSxPQUFPLGVBQWU7Q0FHM0I7QUFFRCxNQUFNLE9BQWdCLFlBQVk7SUFBbEM7UUFDSSxpQkFBWSxHQUFtQixJQUFJLENBQUM7UUFJcEMsdUJBQWtCLEdBQVMsSUFBSSxDQUFDO1FBRWhDLHNCQUFpQixHQUFTLElBQUksQ0FBQztRQUUvQixpQkFBWSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBRTFCLGdCQUFXLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFekIsdUJBQWtCLEdBQWEsS0FBSyxDQUFDO1FBRXJDLG1CQUFjLEdBQVcsMkJBQTJCLENBQUM7SUE2Q3pELENBQUM7SUEzQ0csWUFBWTtRQUNSLElBQUksTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFlBQVksRUFBRTtZQUN0QixPQUFPLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNoQzthQUFNLElBQUksUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLFlBQVksRUFBRTtZQUMvQixPQUFPLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNsQzthQUFNLElBQUksUUFBUSxJQUFLLFFBQWdCLENBQUMsU0FBUyxFQUFFO1lBQ2hELE9BQVEsUUFBZ0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDO1NBQ3pEO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxlQUEwQjtRQUNyQyxJQUFJLGVB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QUFDLENBQUM7SUFDMUQsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFO1FBQzNELEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7S0FDM0Q7SUFFRCxJQUFJLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkQsSUFBSSxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUU7UUFDekQsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ3pEO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTdHlsZU9iamVjdCB7XG4gICAgcHJvcGVydHk6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGRlZmF1bHQ6IHN0cmluZztcbiAgICBpbnB1dD86IHN0cmluZztcbiAgICBjbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZU9iamVjdCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFZGl0b3JKU1Rvb2wge1xuICAgIHBhcmVudEVkaXRvcjogSFRNTERpdkVsZW1lbnQgPSBudWxsO1xuXG4gICAgY3VycmVudFNlbGVjdGlvbj86IFNlbGVjdGlvbjtcblxuICAgIHNlbGVjdGVkQW5jaG9yTm9kZTogTm9kZSA9IG51bGw7XG5cbiAgICBzZWxlY3RlZEZvY3VzTm9kZTogTm9kZSA9IG51bGw7XG5cbiAgICBhbmNob3JPZmZzZXQ6IG51bWJlciA9IC0xO1xuXG4gICAgZm9jdXNPZmZzZXQ6IG51bWJlciA9IC0xO1xuXG4gICAgaGFzU2VwYXJhdG9yQmVmb3JlPzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgc2VwYXJhdG9yQ2xhc3M6IHN0cmluZyA9ICdjZS1pbmxpbmUtdG9vbC0tc2VwYXJhdG9yJztcblxuICAgIGdldFNlbGVjdGlvbigpOiBTZWxlY3Rpb24ge1xuICAgICAgICBpZiAod2luZG93Py5nZXRTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZG9jdW1lbnQ/LmdldFNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGRvY3VtZW50LmdldFNlbGVjdGlvbigpO1xuICAgICAgICB9IGVsc2UgaWYgKGRvY3VtZW50ICYmIChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIChkb2N1bWVudCBhcyBhbnkpLnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZ2V0UmFuZ2VPYmplY3Qoc2VsZWN0aW9uT2JqZWN0OiBTZWxlY3Rpb24pOiBSYW5nZSB7XG4gICAgICAgIGlmIChzZWxlY3Rpb25PYmplY3QuZ2V0UmFuZ2VBdCkge1xuICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGlvbk9iamVjdC5nZXRSYW5nZUF0KDApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgICAgIHJhbmdlLnNldFN0YXJ0KHNlbGVjdGlvbk9iamVjdC5hbmNob3JOb2RlLnBhcmVudEVsZW1lbnQsIHNlbGVjdGlvbk9iamVjdC5hbmNob3JPZmZzZXQpO1xuICAgICAgICAgICAgcmFuZ2Uuc2V0RW5kKHNlbGVjdGlvbk9iamVjdC5mb2N1c05vZGUsIHNlbGVjdGlvbk9iamVjdC5mb2N1c09mZnNldCk7XG4gICAgICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzYXZlVXNlclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEFuY2hvck5vZGUgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24uYW5jaG9yTm9kZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZvY3VzTm9kZSA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5mb2N1c05vZGU7XG4gICAgICAgIHRoaXMuYW5jaG9yT2Zmc2V0ID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmFuY2hvck9mZnNldDtcbiAgICAgICAgdGhpcy5mb2N1c09mZnNldCA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5mb2N1c09mZnNldDtcbiAgICB9XG5cbiAgICByZXNldFVzZXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIGRvY3VtZW50LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGhpcy5zZWxlY3RlZEFuY2hvck5vZGUsIHRoaXMuYW5jaG9yT2Zmc2V0LCB0aGlzLnNlbGVjdGVkRm9jdXNOb2RlLCB0aGlzLmZvY3VzT2Zmc2V0KTtcbiAgICAgICAgdGhpcy5jdXJyZW50U2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcbiAgICB9XG5cbiAgICBmaW5kUGFyZW50RWRpdG9yKCk6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbjogU2VsZWN0aW9uIHwgbnVsbCA9IHRoaXMuY3VycmVudFNlbGVjdGlvbiA/IHRoaXMuY3VycmVudFNlbGVjdGlvbiA6IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIHJldHVybiBzZWxlY3Rpb24uYW5jaG9yTm9kZS5wYXJlbnRFbGVtZW50LmNsb3Nlc3QoJy5lZGl0b3JKcycpO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICByZXNldEJsb2NrRm9jdXModGhpcy5wYXJlbnRFZGl0b3IpO1xuICAgIH1cbn1cblxuZXhwb3J0IHZhciBpc1RleHRFZGl0aW9uVG9vbDogYm9vbGVhbiA9IGZhbHNlO1xuXG5leHBvcnQgdmFyIGlzQmxvY2tGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRJc1RleHRFZGl0aW9uVG9vbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlzVGV4dEVkaXRpb25Ub29sID0gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRJc0Jsb2NrRm9jdXNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlzQmxvY2tGb2N1c2VkID0gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRCbG9ja0ZvY3VzKHBhcmVudEVkaXRvcjogSFRNTEVsZW1lbnQpIHtcbiAgICBsZXQgYmxvY2sgPSBwYXJlbnRFZGl0b3IuY2xvc2VzdCgnLndiLWJsb2Nrc19fY29udGFpbmVyJyk7XG4gICAgaWYgKCFibG9jay5jbGFzc0xpc3QuY29udGFpbnMoJ3diLWJsb2Nrc19fY29udGFpbmVyLS1mb2N1c2VkJykpIHtcbiAgICAgICAgYmxvY2suY2xhc3NMaXN0LmFkZCgnd2ItYmxvY2tzX19jb250YWluZXItLWZvY3VzZWQnKTtcbiAgICB9XG5cbiAgICBsZXQgY29udGFpbmVyVG9Gb2N1cyA9IHBhcmVudEVkaXRvci5jbG9zZXN0KCcuY29sdW1uJyk7XG4gICAgaWYgKCFjb250YWluZXJUb0ZvY3VzLmNsYXNzTGlzdC5jb250YWlucygnZWRpdG9yanMtZm9jdXNlZCcpKSB7XG4gICAgICAgIGNvbnRhaW5lclRvRm9jdXMuY2xhc3NMaXN0LmFkZCgnZWRpdG9yanMtZm9jdXNlZCcpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0QmxvY2tGb2N1cyhwYXJlbnRFZGl0b3I6IEhUTUxFbGVtZW50KSB7XG4gICAgbGV0IGJsb2NrID0gcGFyZW50RWRpdG9yLmNsb3Nlc3QoJy53Yi1ibG9ja3NfX2NvbnRhaW5lcicpO1xuICAgIGlmIChibG9jay5jbGFzc0xpc3QuY29udGFpbnMoJ3diLWJsb2Nrc19fY29udGFpbmVyLS1mb2N1c2VkJykpIHtcbiAgICAgICAgYmxvY2suY2xhc3NMaXN0LnJlbW92ZSgnd2ItYmxvY2tzX19jb250YWluZXItLWZvY3VzZWQnKTtcbiAgICB9XG5cbiAgICBsZXQgY29udGFpbmVyVG9Gb2N1cyA9IHBhcmVudEVkaXRvci5jbG9zZXN0KCcuY29sdW1uJyk7XG4gICAgaWYgKGNvbnRhaW5lclRvRm9jdXMuY2xhc3NMaXN0LmNvbnRhaW5zKCdlZGl0b3Jqcy1mb2N1c2VkJykpIHtcbiAgICAgICAgY29udGFpbmVyVG9Gb2N1cy5jbGFzc0xpc3QucmVtb3ZlKCdlZGl0b3Jqcy1mb2N1c2VkJyk7XG4gICAgfVxufVxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yanMtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcGF1bGluZS9Eb2N1bWVudHMvd29ya3NwYWNlL3dpemktYmxvY2svcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvIiwic291cmNlcyI6WyJsaWIvc2hhcmVkL2NvbXBvbmVudHMvZWRpdG9yanMvdG9vbHMvdXRpbHMvZWRpdG9yanMtdG9vbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7Q0FNdkI7QUFFRCxNQUFNLE9BQU8sZUFBZTtDQUczQjtBQUVELE1BQU0sT0FBZ0IsWUFBWTtJQUFsQztRQUNJLGlCQUFZLEdBQW1CLElBQUksQ0FBQztRQUVwQyxtQkFBYyxHQUFHLHdCQUF3QixDQUFDO1FBSTFDLHVCQUFrQixHQUFTLElBQUksQ0FBQztRQUVoQyxzQkFBaUIsR0FBUyxJQUFJLENBQUM7UUFFL0IsaUJBQVksR0FBVyxDQUFDLENBQUMsQ0FBQztRQUUxQixnQkFBVyxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXpCLHVCQUFrQixHQUFhLEtBQUssQ0FBQztRQUVyQyxtQkFBYyxHQUFXLDJCQUEyQixDQUFDO0lBdUZ6RCxDQUFDO0lBckZHLFlBQVk7UUFDUixJQUFJLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxZQUFZLEVBQUU7WUFDdEIsT0FBTyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDaEM7YUFBTSxJQUFJLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxZQUFZLEVBQUU7WUFDL0IsT0FBTyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDbEM7YUFBTSxJQUFJLFFBQVEsSUFBSyxRQUFnQixDQUFDLFNBQVMsRUFBRTtZQUNoRCxPQUFRLFFBQWdCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQztTQUN6RDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFF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QUMxRCxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLCtCQUErQixDQUFDLEVBQUU7UUFDM0QsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQztLQUMzRDtJQUVELElBQUksZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2RCxJQUFJLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsRUFBRTtRQUN6RCxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDekQ7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFN0eWxlT2JqZWN0IHtcbiAgICBwcm9wZXJ0eTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgZGVmYXVsdDogc3RyaW5nO1xuICAgIGlucHV0Pzogc3RyaW5nO1xuICAgIGNsYXNzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlT2JqZWN0IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVkaXRvckpTVG9vbCB7XG4gICAgcGFyZW50RWRpdG9yOiBIVE1MRGl2RWxlbWVudCA9IG51bGw7XG5cbiAgICB0ZXh0Q29udGFpbmVycyA9ICdoMSxoMixoMyxoNCxoNSxoNixwLGxpJztcblxuICAgIGN1cnJlbnRTZWxlY3Rpb24/OiBTZWxlY3Rpb247XG5cbiAgICBzZWxlY3RlZEFuY2hvck5vZGU6IE5vZGUgPSBudWxsO1xuXG4gICAgc2VsZWN0ZWRGb2N1c05vZGU6IE5vZGUgPSBudWxsO1xuXG4gICAgYW5jaG9yT2Zmc2V0OiBudW1iZXIgPSAtMTtcblxuICAgIGZvY3VzT2Zmc2V0OiBudW1iZXIgPSAtMTtcblxuICAgIGhhc1NlcGFyYXRvckJlZm9yZT86IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHNlcGFyYXRvckNsYXNzOiBzdHJpbmcgPSAnY2UtaW5saW5lLXRvb2wtLXNlcGFyYXRvcic7XG5cbiAgICBnZXRTZWxlY3Rpb24oKTogU2VsZWN0aW9uIHtcbiAgICAgICAgaWYgKHdpbmRvdz8uZ2V0U2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gd2luZG93LmdldFNlbGVjdGlvbigpO1xuICAgICAgICB9IGVsc2UgaWYgKGRvY3VtZW50Py5nZXRTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgfSBlbHNlIGlmIChkb2N1bWVudCAmJiAoZG9jdW1lbnQgYXMgYW55KS5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiAoZG9jdW1lbnQgYXMgYW55KS5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKS50ZXh0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGdldFJhbmdlT2JqZWN0KHNlbGVjdGlvbk9iamVjdDogU2VsZWN0aW9uKTogUmFuZ2Uge1xuICAgICAgICBpZiAoc2VsZWN0aW9uT2JqZWN0LmdldFJhbmdlQXQpIHtcbiAgICAgICAgICAgIHJldHVybiBzZWxlY3Rpb25PYmplY3QuZ2V0UmFuZ2VBdCgwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICAgICAgICByYW5nZS5zZXRTdGFydChzZWxlY3Rpb25PYmplY3QuYW5jaG9yTm9kZS5wYXJlbnRFbGVtZW50LCBzZWxlY3Rpb25PYmplY3QuYW5jaG9yT2Zmc2V0KTtcbiAgICAgICAgICAgIHJhbmdlLnNldEVuZChzZWxlY3Rpb25PYmplY3QuZm9jdXNOb2RlLCBzZWxlY3Rpb25PYmplY3QuZm9jdXNPZmZzZXQpO1xuICAgICAgICAgICAgcmV0dXJuIHJhbmdlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2F2ZVVzZXJTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBbmNob3JOb2RlID0gdGhpcy5jdXJyZW50U2VsZWN0aW9uLmFuY2hvck5vZGU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGb2N1c05vZGUgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24uZm9jdXNOb2RlO1xuICAgICAgICB0aGlzLmFuY2hvck9mZnNldCA9IHRoaXMuY3VycmVudFNlbGVjdGlvbi5hbmNob3JPZmZzZXQ7XG4gICAgICAgIHRoaXMuZm9jdXNPZmZzZXQgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24uZm9jdXNPZmZzZXQ7XG4gICAgfVxuXG4gICAgcmVzZXRVc2VyU2VsZWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBjb25zb2xlLmxvZygncmVzZXQgaGVyZScpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZEFuY2hvck5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFICYmICg8SFRNTEVsZW1lbnQ+dGhpcy5zZWxlY3RlZEFuY2hvck5vZGUpLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICB3aGlsZSAoXG4gICAgICAgICAgICAgICAgKDxIVE1MRWxlbWVudD50aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSkuY2hpbGRyZW4gJiZcbiAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PnRoaXMuc2VsZWN0ZWRBbmNob3JOb2RlKS5pbm5lclRleHQgPT09XG4gICAgICAgICAgICAgICAgICAgICg8SFRNTEVsZW1lbnQ+KDxIVE1MRWxlbWVudD50aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSkuY2hpbGRyZW5bMF0pPy5pbm5lclRleHQgJiZcbiAgICAgICAgICAgICAgICAoPEhUTUxFbGVtZW50PnRoaXMuc2VsZWN0ZWRBbmNob3JOb2RlKS5jaGlsZHJlbi5sZW5ndGggPT09IDFcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBbmNob3JOb2RlID0gKDxIVE1MRWxlbWVudD50aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSkuY2hpbGRyZW5bMF07XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZvY3VzTm9kZSA9IHRoaXMuc2VsZWN0ZWRBbmNob3JOb2RlO1xuICAgICAgICAgICAgICAgIHRoaXMuYW5jaG9yT2Zmc2V0ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLmZvY3VzT2Zmc2V0ID0gMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnRleHRDb250YWluZXJzLnNwbGl0KCcsJykuaW5kZXhPZigoPEhUTUxFbGVtZW50PnRoaXMuc2VsZWN0ZWRBbmNob3JOb2RlKS50YWdOYW1lLnRvTG93ZXJDYXNlKCkpID4gLTEpIHtcbiAgICAgICAgICAgICAgICBsZXQgY2hpbGRUZXh0Tm9kZXMgPSB0aGlzLmdldFRleHROb2Rlcyh0aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSk7XG4gICAgICAgICAgICAgICAgbGV0IGZvY3VzTm9kZSA9XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkVGV4dE5vZGVzLmxlbmd0aCA+IDFcbiAgICAgICAgICAgICAgICAgICAgICAgID8gKDxIVE1MRWxlbWVudD50aGlzLnNlbGVjdGVkQW5jaG9yTm9kZSkuY2hpbGROb2Rlc1tjaGlsZFRleHROb2Rlcy5sZW5ndGggLSAxXVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAoPEhUTUxFbGVtZW50PnRoaXMuc2VsZWN0ZWRBbmNob3JOb2RlKS5jaGlsZE5vZGVzWzBdO1xuICAgICAgICAgICAgICAgIGxldCBmb2N1c09mZnNldCA9IGNoaWxkVGV4dE5vZGVzLmxlbmd0aCA+IDEgPyBjaGlsZFRleHROb2Rlcy5sZW5ndGggOiBjaGlsZFRleHROb2Rlc1swXS50ZXh0Q29udGVudC5sZW5ndGg7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFuY2hvck5vZGUgPSAoPEhUTUxFbGVtZW50PnRoaXMuc2VsZWN0ZWRBbmNob3JOb2RlKS5jaGlsZE5vZGVzWzBdO1xuICAgICAgICAgICAgICAgIHRoaXMuYW5jaG9yT2Zmc2V0ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkRm9jdXNOb2RlID0gZm9jdXNOb2RlO1xuICAgICAgICAgICAgICAgIHRoaXMuZm9jdXNPZmZzZXQgPSBmb2N1c09mZnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHRoaXMuc2VsZWN0ZWRBbmNob3JOb2RlLCB0aGlzLmFuY2hvck9mZnNldCwgdGhpcy5zZWxlY3RlZEZvY3VzTm9kZSwgdGhpcy5mb2N1c09mZnNldCk7XG4gICAgfVxuXG4gICAgY29sbGFwc2VTZWxlY3Rpb24oKSB7XG4gICAgICAgIGxldCBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50KHNlbGVjdGlvbi5hbmNob3JOb2RlLCAwLCBzZWxlY3Rpb24uYW5jaG9yTm9kZSwgMCk7XG4gICAgfVxuXG4gICAgZmluZFBhcmVudEVkaXRvcigpOiBIVE1MRGl2RWxlbWVudCB8IG51bGwge1xuICAgICAgICBjb25zdCBzZWxlY3Rpb246IFNlbGVjdGlvbiB8IG51bGwgPSB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gPyB0aGlzLmN1cnJlbnRTZWxlY3Rpb24gOiB0aGlzLmdldFNlbGVjdGlvbigpO1xuICAgICAgICByZXR1cm4gc2VsZWN0aW9uLmFuY2hvck5vZGUucGFyZW50RWxlbWVudC5jbG9zZXN0KCcuZWRpdG9ySnMnKTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgcmVzZXRCbG9ja0ZvY3VzKHRoaXMucGFyZW50RWRpdG9yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRleHROb2Rlcyhjb250YWluZXIpOiBBcnJheTxOb2RlPiB7XG4gICAgICAgIGxldCBjaGlsZFRleHROb2RlczogQXJyYXk8Tm9kZT4gPSBbXTtcbiAgICAgICAgaWYgKGNvbnRhaW5lci5jaGlsZE5vZGVzKSB7XG4gICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbnRhaW5lci5jaGlsZE5vZGVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lci5jaGlsZE5vZGVzW2ldLm5vZGVUeXBlID09PSBOb2RlLlRFWFRfTk9ERSkge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZFRleHROb2Rlcy5wdXNoKGNvbnRhaW5lci5jaGlsZE5vZGVzW2ldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNoaWxkVGV4dE5vZGVzO1xuICAgIH1cbn1cblxuZXhwb3J0IHZhciBpc1RleHRFZGl0aW9uVG9vbDogYm9vbGVhbiA9IGZhbHNlO1xuXG5leHBvcnQgdmFyIGlzQmxvY2tGb2N1c2VkOiBib29sZWFuID0gZmFsc2U7XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRJc1RleHRFZGl0aW9uVG9vbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlzVGV4dEVkaXRpb25Ub29sID0gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRJc0Jsb2NrRm9jdXNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlzQmxvY2tGb2N1c2VkID0gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRCbG9ja0ZvY3VzKHBhcmVudEVkaXRvcjogSFRNTEVsZW1lbnQpIHtcbiAgICBsZXQgYmxvY2sgPSBwYXJlbnRFZGl0b3IuY2xvc2VzdCgnLndiLWJsb2Nrc19fY29udGFpbmVyJyk7XG4gICAgaWYgKCFibG9jay5jbGFzc0xpc3QuY29udGFpbnMoJ3diLWJsb2Nrc19fY29udGFpbmVyLS1mb2N1c2VkJykpIHtcbiAgICAgICAgYmxvY2suY2xhc3NMaXN0LmFkZCgnd2ItYmxvY2tzX19jb250YWluZXItLWZvY3VzZWQnKTtcbiAgICB9XG5cbiAgICBsZXQgY29udGFpbmVyVG9Gb2N1cyA9IHBhcmVudEVkaXRvci5jbG9zZXN0KCcuY29sdW1uJyk7XG4gICAgaWYgKCFjb250YWluZXJUb0ZvY3VzLmNsYXNzTGlzdC5jb250YWlucygnZWRpdG9yanMtZm9jdXNlZCcpKSB7XG4gICAgICAgIGNvbnRhaW5lclRvRm9jdXMuY2xhc3NMaXN0LmFkZCgnZWRpdG9yanMtZm9jdXNlZCcpO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0QmxvY2tGb2N1cyhwYXJlbnRFZGl0b3I6IEhUTUxFbGVtZW50KSB7XG4gICAgbGV0IGJsb2NrID0gcGFyZW50RWRpdG9yLmNsb3Nlc3QoJy53Yi1ibG9ja3NfX2NvbnRhaW5lcicpO1xuICAgIGlmIChibG9jay5jbGFzc0xpc3QuY29udGFpbnMoJ3diLWJsb2Nrc19fY29udGFpbmVyLS1mb2N1c2VkJykpIHtcbiAgICAgICAgYmxvY2suY2xhc3NMaXN0LnJlbW92ZSgnd2ItYmxvY2tzX19jb250YWluZXItLWZvY3VzZWQnKTtcbiAgICB9XG5cbiAgICBsZXQgY29udGFpbmVyVG9Gb2N1cyA9IHBhcmVudEVkaXRvci5jbG9zZXN0KCcuY29sdW1uJyk7XG4gICAgaWYgKGNvbnRhaW5lclRvRm9jdXMuY2xhc3NMaXN0LmNvbnRhaW5zKCdlZGl0b3Jqcy1mb2N1c2VkJykpIHtcbiAgICAgICAgY29udGFpbmVyVG9Gb2N1cy5jbGFzc0xpc3QucmVtb3ZlKCdlZGl0b3Jqcy1mb2N1c2VkJyk7XG4gICAgfVxufVxuIl19