@acorex/platform 18.0.10 → 18.0.12

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 (443) hide show
  1. package/auth/lib/session.service.d.ts +2 -2
  2. package/core/index.d.ts +2 -0
  3. package/core/lib/types.d.ts +1 -0
  4. package/core/utils/countdown-timer.d.ts +14 -0
  5. package/core/utils/html-utils.d.ts +9 -0
  6. package/esm2022/auth/lib/session.service.mjs +23 -38
  7. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +2 -2
  8. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +2 -2
  9. package/esm2022/core/index.mjs +3 -1
  10. package/esm2022/core/lib/types.mjs +13 -2
  11. package/esm2022/core/utils/countdown-timer.mjs +49 -0
  12. package/esm2022/core/utils/html-utils.mjs +27 -0
  13. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +3 -3
  14. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +12 -18
  15. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +4 -1
  16. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +19 -12
  17. package/esm2022/layout/builder/lib/builder/widget.types.mjs +57 -58
  18. package/esm2022/layout/designer/index.mjs +7 -2
  19. package/esm2022/layout/designer/lib/board/board.component.mjs +127 -0
  20. package/esm2022/layout/designer/lib/breadcrumbs/breadcrumbs.component.mjs +64 -0
  21. package/esm2022/layout/designer/lib/buttons/add-widget-button/add-widget-button.component.mjs +37 -0
  22. package/esm2022/layout/designer/lib/designer/designer.component.mjs +54 -0
  23. package/esm2022/layout/designer/lib/designer.module.mjs +6 -26
  24. package/esm2022/layout/designer/lib/designer.service.mjs +356 -0
  25. package/esm2022/layout/designer/lib/header-menu/header-menu.component.mjs +24 -0
  26. package/esm2022/layout/designer/lib/history/history.component.mjs +21 -0
  27. package/esm2022/layout/designer/lib/history-manager.service.mjs +117 -0
  28. package/esm2022/layout/designer/lib/outline/outline.component.mjs +55 -0
  29. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +103 -0
  30. package/esm2022/layout/designer/lib/widget-designer-renderer.component.mjs +243 -0
  31. package/esm2022/layout/designer/lib/widget-picker/widget-picker.component.mjs +23 -0
  32. package/esm2022/layout/entity/lib/widgets/lookup-widget/index.mjs +1 -2
  33. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +3 -3
  34. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +17 -16
  35. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.mjs +3 -3
  36. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.mjs +3 -3
  37. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +4 -4
  38. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +39 -4
  39. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +3 -3
  40. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +3 -3
  41. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +7 -6
  42. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +5 -4
  43. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +4 -4
  44. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +4 -4
  45. package/esm2022/widgets/lib/properties/editors.props.mjs +390 -31
  46. package/esm2022/widgets/lib/properties/table-column.props.mjs +8 -7
  47. package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget-view.component.mjs +27 -8
  48. package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget.config.mjs +20 -4
  49. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.mjs +9 -3
  50. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +10 -7
  51. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.mjs +20 -19
  52. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.mjs +21 -1
  53. package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-column.component.mjs +19 -0
  54. package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-edit.component.mjs +48 -0
  55. package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-filter.component.mjs +20 -0
  56. package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-print.component.mjs +19 -0
  57. package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget-view.component.mjs +19 -0
  58. package/esm2022/widgets/lib/widgets/editors/color-box-widget/color-box-widget.config.mjs +34 -0
  59. package/esm2022/widgets/lib/widgets/editors/color-box-widget/index.mjs +7 -0
  60. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-column.component.mjs +23 -6
  61. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-edit.component.mjs +76 -46
  62. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-filter.component.mjs +3 -3
  63. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-print.component.mjs +3 -3
  64. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-view.component.mjs +110 -8
  65. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget.config.mjs +58 -4
  66. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact.type.mjs +2 -0
  67. package/esm2022/widgets/lib/widgets/editors/contact-widget/index.mjs +1 -2
  68. package/esm2022/widgets/lib/widgets/editors/contact-widget/popup-component.mjs +3 -3
  69. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +3 -3
  70. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +48 -37
  71. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +3 -3
  72. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +5 -5
  73. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +22 -13
  74. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget.config.mjs +16 -2
  75. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/index.mjs +1 -2
  76. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-column.component.mjs +3 -3
  77. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-edit.component.mjs +147 -126
  78. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-filter.component.mjs +3 -3
  79. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-print.component.mjs +3 -3
  80. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-view.component.mjs +30 -26
  81. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget.config.mjs +14 -2
  82. package/esm2022/widgets/lib/widgets/editors/email-box-widget/index.mjs +1 -2
  83. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-column.component.mjs +3 -3
  84. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-edit.component.mjs +14 -10
  85. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-filter.component.mjs +3 -3
  86. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-print.component.mjs +3 -3
  87. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-view.component.mjs +9 -7
  88. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.config.mjs +28 -4
  89. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.service.mjs +1 -1
  90. package/esm2022/widgets/lib/widgets/editors/file-box-widget/index.mjs +1 -2
  91. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-column.component.mjs +3 -3
  92. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-edit.component.mjs +4 -3
  93. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-filter.component.mjs +3 -3
  94. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-print.component.mjs +3 -3
  95. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-view.component.mjs +4 -3
  96. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget.config.mjs +4 -2
  97. package/esm2022/widgets/lib/widgets/editors/gallery-widget/index.mjs +1 -2
  98. package/esm2022/widgets/lib/widgets/editors/large-text-widget/index.mjs +1 -2
  99. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-column.component.mjs +3 -3
  100. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-edit.component.mjs +22 -17
  101. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-filter.component.mjs +3 -3
  102. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-print.component.mjs +3 -3
  103. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-view.component.mjs +3 -3
  104. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget.config.mjs +13 -9
  105. package/esm2022/widgets/lib/widgets/editors/link-widget/index.mjs +1 -2
  106. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-column.component.mjs +3 -3
  107. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-edit.component.mjs +35 -34
  108. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-filter.component.mjs +3 -3
  109. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-print.component.mjs +3 -3
  110. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-view.component.mjs +3 -3
  111. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget.config.mjs +4 -2
  112. package/esm2022/widgets/lib/widgets/editors/map-box-widget/index.mjs +1 -2
  113. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-column.component.mjs +3 -3
  114. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-edit.component.mjs +9 -5
  115. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-filter.component.mjs +3 -3
  116. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-print.component.mjs +3 -3
  117. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-view.component.mjs +3 -3
  118. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget.config.mjs +8 -4
  119. package/esm2022/widgets/lib/widgets/editors/number-box-widget/index.mjs +1 -2
  120. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-column.component.mjs +5 -5
  121. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-edit.component.mjs +68 -55
  122. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-filter.component.mjs +3 -3
  123. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-print.component.mjs +3 -3
  124. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-view.component.mjs +20 -17
  125. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget.config.mjs +15 -9
  126. package/esm2022/widgets/lib/widgets/editors/password-box-widget/index.mjs +1 -2
  127. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-column.component.mjs +3 -3
  128. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-edit.component.mjs +24 -11
  129. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-filter.component.mjs +3 -3
  130. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-print.component.mjs +3 -3
  131. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-view.component.mjs +17 -14
  132. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget.config.mjs +15 -4
  133. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/index.mjs +1 -2
  134. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-column.component.mjs +3 -3
  135. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-edit.component.mjs +27 -26
  136. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-filter.component.mjs +3 -3
  137. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-print.component.mjs +3 -3
  138. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-view.component.mjs +11 -9
  139. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget.config.mjs +9 -17
  140. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/index.mjs +1 -2
  141. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-popup.component.mjs +38 -0
  142. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-column.component.mjs +35 -12
  143. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-edit.component.mjs +56 -52
  144. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-filter.component.mjs +3 -3
  145. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-print.component.mjs +3 -3
  146. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-view.component.mjs +26 -20
  147. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget.config.mjs +15 -2
  148. package/esm2022/widgets/lib/widgets/editors/select-box-widget/index.mjs +1 -2
  149. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-column.component.mjs +3 -3
  150. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-edit.component.mjs +38 -33
  151. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-filter.component.mjs +3 -3
  152. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-print.component.mjs +3 -3
  153. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-view.component.mjs +10 -10
  154. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget.config.mjs +15 -4
  155. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/index.mjs +1 -2
  156. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-column.component.mjs +3 -3
  157. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-edit.component.mjs +37 -23
  158. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-filter.component.mjs +3 -3
  159. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-print.component.mjs +3 -3
  160. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-view.component.mjs +11 -8
  161. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget.config.mjs +4 -2
  162. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/index.mjs +1 -2
  163. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +3 -3
  164. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +17 -15
  165. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +3 -3
  166. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +3 -3
  167. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +6 -5
  168. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget.config.mjs +12 -2
  169. package/esm2022/widgets/lib/widgets/editors/text-box-widget/index.mjs +1 -2
  170. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-column.component.mjs +3 -3
  171. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-edit.component.mjs +21 -23
  172. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-filter.component.mjs +3 -3
  173. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-print.component.mjs +3 -3
  174. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-view.component.mjs +18 -11
  175. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget.config.mjs +15 -13
  176. package/esm2022/widgets/lib/widgets/editors/toggle-widget/index.mjs +1 -2
  177. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-column.component.mjs +9 -3
  178. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-edit.component.mjs +11 -6
  179. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-filter.component.mjs +3 -3
  180. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-print.component.mjs +3 -3
  181. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-view.component.mjs +22 -16
  182. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget.config.mjs +17 -4
  183. package/esm2022/widgets/lib/widgets/index.mjs +2 -1
  184. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget-designer.component.mjs +65 -0
  185. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget-view.component.mjs +48 -0
  186. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget.config.mjs +21 -3
  187. package/esm2022/widgets/lib/widgets/layout/block-widget/index.mjs +3 -2
  188. package/esm2022/widgets/lib/widgets/layout/page-widget/index.mjs +3 -0
  189. package/esm2022/widgets/lib/widgets/layout/page-widget/page-widget-designer.component.mjs +65 -0
  190. package/esm2022/widgets/lib/widgets/layout/page-widget/page-widget-view.component.mjs +42 -0
  191. package/esm2022/widgets/lib/widgets/layout/page-widget/page-widget.config.mjs +28 -0
  192. package/esm2022/widgets/lib/widgets/layout/repeater-widget/index.mjs +1 -3
  193. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-designer.component.mjs +39 -8
  194. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-edit.component.mjs +3 -3
  195. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-print.component.mjs +3 -3
  196. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-view.component.mjs +6 -6
  197. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget.config.mjs +5 -8
  198. package/esm2022/widgets/lib/widgets/layout/text-block-widget/index.mjs +3 -0
  199. package/esm2022/widgets/lib/widgets/layout/text-block-widget/text-block-widget-view.component.mjs +29 -0
  200. package/esm2022/widgets/lib/widgets/layout/text-block-widget/text-block-widget.config.mjs +39 -0
  201. package/esm2022/widgets/lib/widgets.module.mjs +18 -6
  202. package/fesm2022/acorex-platform-auth.mjs +22 -37
  203. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  204. package/fesm2022/{acorex-platform-common-number-widget-edit.component-bTHacO49.mjs → acorex-platform-common-number-widget-edit.component-XSWI6466.mjs} +2 -2
  205. package/fesm2022/{acorex-platform-common-number-widget-edit.component-bTHacO49.mjs.map → acorex-platform-common-number-widget-edit.component-XSWI6466.mjs.map} +1 -1
  206. package/fesm2022/{acorex-platform-common-number-widget-filter.component-CFqNphMw.mjs → acorex-platform-common-number-widget-filter.component-BOT9wPJ5.mjs} +2 -2
  207. package/fesm2022/{acorex-platform-common-number-widget-filter.component-CFqNphMw.mjs.map → acorex-platform-common-number-widget-filter.component-BOT9wPJ5.mjs.map} +1 -1
  208. package/fesm2022/acorex-platform-common.mjs +2 -2
  209. package/fesm2022/acorex-platform-core.mjs +90 -0
  210. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  211. package/fesm2022/acorex-platform-layout-builder.mjs +89 -86
  212. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  213. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DkZGbnkz.mjs +26 -0
  214. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DkZGbnkz.mjs.map +1 -0
  215. package/fesm2022/acorex-platform-layout-designer.mjs +1081 -59
  216. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  217. package/fesm2022/acorex-platform-layout-entity.mjs +59 -43
  218. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  219. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-CjofXJku.mjs → acorex-platform-layouts-entity-modify-view.component-C9L8cyBm.mjs} +7 -5
  220. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-C9L8cyBm.mjs.map +1 -0
  221. package/fesm2022/acorex-platform-layouts.mjs +6 -6
  222. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  223. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-D1vzPrng.mjs → acorex-platform-themes-default-entity-master-create-view.component-Cv0mt0pU.mjs} +5 -4
  224. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Cv0mt0pU.mjs.map +1 -0
  225. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-DCE6c3Is.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BDk03AnX.mjs} +4 -4
  226. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDk03AnX.mjs.map +1 -0
  227. package/fesm2022/acorex-platform-themes-default.mjs +7 -7
  228. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  229. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-CJUV6lFi.mjs → acorex-platform-widgets-checkbox-widget-column.component-BzNhzB9y.mjs} +9 -3
  230. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-BzNhzB9y.mjs.map +1 -0
  231. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-T-tXqoMd.mjs → acorex-platform-widgets-checkbox-widget-view.component-BCsej7C6.mjs} +20 -19
  232. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BCsej7C6.mjs.map +1 -0
  233. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DlfG4EP1.mjs +68 -0
  234. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DlfG4EP1.mjs.map +1 -0
  235. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs +41 -0
  236. package/fesm2022/acorex-platform-widgets-rich-text-popup.component-RCdFIz45.mjs.map +1 -0
  237. package/fesm2022/acorex-platform-widgets.mjs +2397 -1474
  238. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  239. package/layout/builder/lib/builder/widget-container.component.d.ts +5 -5
  240. package/layout/builder/lib/builder/widget-registery.service.d.ts +1 -0
  241. package/layout/builder/lib/builder/widget-renderer.component.d.ts +6 -3
  242. package/layout/builder/lib/builder/widget.types.d.ts +54 -33
  243. package/layout/designer/index.d.ts +6 -1
  244. package/layout/designer/lib/board/board.component.d.ts +16 -0
  245. package/layout/designer/lib/breadcrumbs/breadcrumbs.component.d.ts +11 -0
  246. package/layout/designer/lib/buttons/add-widget-button/add-widget-button.component.d.ts +9 -0
  247. package/layout/designer/lib/designer/designer.component.d.ts +9 -0
  248. package/layout/designer/lib/designer.module.d.ts +1 -7
  249. package/layout/designer/lib/designer.service.d.ts +107 -0
  250. package/layout/designer/lib/header-menu/header-menu.component.d.ts +7 -0
  251. package/layout/designer/lib/history/history.component.d.ts +7 -0
  252. package/layout/designer/lib/history-manager.service.d.ts +31 -0
  253. package/layout/designer/lib/outline/outline.component.d.ts +17 -0
  254. package/layout/designer/lib/{components → property-viewer}/widget-property-viewer.component.d.ts +12 -12
  255. package/layout/designer/lib/widget-designer-renderer.component.d.ts +38 -0
  256. package/layout/designer/lib/widget-picker/widget-picker.component.d.ts +9 -0
  257. package/layout/entity/lib/widgets/lookup-widget/index.d.ts +0 -1
  258. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.d.ts +2 -2
  259. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +9 -9
  260. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.d.ts +2 -2
  261. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.d.ts +2 -2
  262. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +5 -5
  263. package/package.json +7 -7
  264. package/widgets/lib/properties/editors.props.d.ts +22 -1
  265. package/widgets/lib/widgets/actions/button-widget/button-widget-view.component.d.ts +8 -3
  266. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-column.component.d.ts +4 -4
  267. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.d.ts +6 -4
  268. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.d.ts +5 -5
  269. package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-column.component.d.ts +6 -0
  270. package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-edit.component.d.ts +10 -0
  271. package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-filter.component.d.ts +6 -0
  272. package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-print.component.d.ts +6 -0
  273. package/widgets/lib/widgets/editors/color-box-widget/color-box-widget-view.component.d.ts +6 -0
  274. package/widgets/lib/widgets/editors/color-box-widget/color-box-widget.config.d.ts +2 -0
  275. package/widgets/lib/widgets/editors/color-box-widget/index.d.ts +6 -0
  276. package/widgets/lib/widgets/editors/contact-widget/contact-widget-column.component.d.ts +4 -2
  277. package/widgets/lib/widgets/editors/contact-widget/contact-widget-edit.component.d.ts +11 -15
  278. package/widgets/lib/widgets/editors/contact-widget/contact-widget-filter.component.d.ts +2 -2
  279. package/widgets/lib/widgets/editors/contact-widget/contact-widget-print.component.d.ts +2 -2
  280. package/widgets/lib/widgets/editors/contact-widget/contact-widget-view.component.d.ts +15 -2
  281. package/widgets/lib/widgets/editors/contact-widget/contact.type.d.ts +5 -0
  282. package/widgets/lib/widgets/editors/contact-widget/index.d.ts +0 -1
  283. package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-column.component.d.ts +2 -2
  284. package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-edit.component.d.ts +7 -7
  285. package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-filter.component.d.ts +2 -2
  286. package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-print.component.d.ts +2 -2
  287. package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-view.component.d.ts +4 -4
  288. package/widgets/lib/widgets/editors/date-time-box-widget/index.d.ts +0 -1
  289. package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-column.component.d.ts +2 -2
  290. package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-edit.component.d.ts +8 -7
  291. package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-filter.component.d.ts +2 -2
  292. package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-print.component.d.ts +2 -2
  293. package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-view.component.d.ts +4 -4
  294. package/widgets/lib/widgets/editors/email-box-widget/index.d.ts +0 -1
  295. package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-column.component.d.ts +2 -2
  296. package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-edit.component.d.ts +6 -5
  297. package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-filter.component.d.ts +2 -2
  298. package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-print.component.d.ts +2 -2
  299. package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-view.component.d.ts +4 -4
  300. package/widgets/lib/widgets/editors/file-box-widget/file-box-widget.service.d.ts +1 -1
  301. package/widgets/lib/widgets/editors/file-box-widget/index.d.ts +0 -1
  302. package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-column.component.d.ts +2 -2
  303. package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-edit.component.d.ts +3 -3
  304. package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-filter.component.d.ts +2 -2
  305. package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-print.component.d.ts +2 -2
  306. package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-view.component.d.ts +3 -3
  307. package/widgets/lib/widgets/editors/gallery-widget/index.d.ts +0 -1
  308. package/widgets/lib/widgets/editors/large-text-widget/index.d.ts +0 -1
  309. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-column.component.d.ts +2 -2
  310. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-edit.component.d.ts +7 -5
  311. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-filter.component.d.ts +2 -2
  312. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-print.component.d.ts +2 -2
  313. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-view.component.d.ts +2 -2
  314. package/widgets/lib/widgets/editors/link-widget/index.d.ts +0 -1
  315. package/widgets/lib/widgets/editors/link-widget/link-widget-column.component.d.ts +2 -2
  316. package/widgets/lib/widgets/editors/link-widget/link-widget-edit.component.d.ts +9 -9
  317. package/widgets/lib/widgets/editors/link-widget/link-widget-filter.component.d.ts +2 -2
  318. package/widgets/lib/widgets/editors/link-widget/link-widget-print.component.d.ts +2 -2
  319. package/widgets/lib/widgets/editors/link-widget/link-widget-view.component.d.ts +2 -2
  320. package/widgets/lib/widgets/editors/map-box-widget/index.d.ts +0 -1
  321. package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-column.component.d.ts +2 -2
  322. package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-edit.component.d.ts +5 -5
  323. package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-filter.component.d.ts +2 -2
  324. package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-print.component.d.ts +2 -2
  325. package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-view.component.d.ts +6 -6
  326. package/widgets/lib/widgets/editors/number-box-widget/index.d.ts +0 -1
  327. package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-column.component.d.ts +2 -2
  328. package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-edit.component.d.ts +8 -11
  329. package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-filter.component.d.ts +2 -2
  330. package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-print.component.d.ts +2 -2
  331. package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-view.component.d.ts +5 -7
  332. package/widgets/lib/widgets/editors/password-box-widget/index.d.ts +0 -1
  333. package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-column.component.d.ts +2 -2
  334. package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-edit.component.d.ts +4 -2
  335. package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-filter.component.d.ts +2 -2
  336. package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-print.component.d.ts +2 -2
  337. package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-view.component.d.ts +6 -5
  338. package/widgets/lib/widgets/editors/phone-box-widget/index.d.ts +0 -1
  339. package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-column.component.d.ts +2 -2
  340. package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-edit.component.d.ts +7 -8
  341. package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-filter.component.d.ts +2 -2
  342. package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-print.component.d.ts +2 -2
  343. package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-view.component.d.ts +4 -4
  344. package/widgets/lib/widgets/editors/rich-text-widget/index.d.ts +0 -1
  345. package/widgets/lib/widgets/editors/rich-text-widget/rich-text-popup.component.d.ts +9 -0
  346. package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-column.component.d.ts +11 -3
  347. package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-edit.component.d.ts +7 -29
  348. package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-filter.component.d.ts +2 -2
  349. package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-print.component.d.ts +2 -2
  350. package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-view.component.d.ts +10 -6
  351. package/widgets/lib/widgets/editors/select-box-widget/index.d.ts +0 -1
  352. package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-column.component.d.ts +2 -2
  353. package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-edit.component.d.ts +10 -7
  354. package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-filter.component.d.ts +2 -2
  355. package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-print.component.d.ts +2 -2
  356. package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-view.component.d.ts +5 -5
  357. package/widgets/lib/widgets/editors/selection-list-widget/index.d.ts +0 -1
  358. package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-column.component.d.ts +2 -2
  359. package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-edit.component.d.ts +10 -7
  360. package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-filter.component.d.ts +2 -2
  361. package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-print.component.d.ts +2 -2
  362. package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-view.component.d.ts +5 -5
  363. package/widgets/lib/widgets/editors/signature-pad-widget/index.d.ts +0 -1
  364. package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-column.component.d.ts +2 -2
  365. package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-edit.component.d.ts +4 -2
  366. package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-filter.component.d.ts +2 -2
  367. package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-print.component.d.ts +2 -2
  368. package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-view.component.d.ts +3 -2
  369. package/widgets/lib/widgets/editors/text-box-widget/index.d.ts +0 -1
  370. package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-column.component.d.ts +2 -2
  371. package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-edit.component.d.ts +7 -8
  372. package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-filter.component.d.ts +2 -2
  373. package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-print.component.d.ts +2 -2
  374. package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-view.component.d.ts +3 -3
  375. package/widgets/lib/widgets/editors/toggle-widget/index.d.ts +0 -1
  376. package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-column.component.d.ts +3 -3
  377. package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-edit.component.d.ts +5 -2
  378. package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-filter.component.d.ts +2 -2
  379. package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-print.component.d.ts +2 -2
  380. package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-view.component.d.ts +5 -5
  381. package/widgets/lib/widgets/index.d.ts +1 -0
  382. package/widgets/lib/widgets/layout/block-widget/block-widget-designer.component.d.ts +11 -0
  383. package/widgets/lib/widgets/layout/block-widget/{block-widget.component.d.ts → block-widget-view.component.d.ts} +5 -3
  384. package/widgets/lib/widgets/layout/block-widget/index.d.ts +2 -1
  385. package/widgets/lib/widgets/layout/page-widget/index.d.ts +2 -0
  386. package/widgets/lib/widgets/layout/page-widget/page-widget-designer.component.d.ts +10 -0
  387. package/widgets/lib/widgets/layout/page-widget/page-widget-view.component.d.ts +8 -0
  388. package/widgets/lib/widgets/layout/page-widget/page-widget.config.d.ts +2 -0
  389. package/widgets/lib/widgets/layout/repeater-widget/index.d.ts +0 -2
  390. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-designer.component.d.ts +4 -2
  391. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-edit.component.d.ts +2 -2
  392. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-print.component.d.ts +2 -2
  393. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-view.component.d.ts +2 -2
  394. package/widgets/lib/widgets/layout/text-block-widget/index.d.ts +2 -0
  395. package/widgets/lib/widgets/layout/text-block-widget/text-block-widget-view.component.d.ts +10 -0
  396. package/widgets/lib/widgets/layout/text-block-widget/text-block-widget.config.d.ts +2 -0
  397. package/esm2022/layout/designer/lib/components/widget-property-viewer.component.mjs +0 -86
  398. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.mjs +0 -19
  399. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-designer.component.mjs +0 -19
  400. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +0 -19
  401. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-designer.component.mjs +0 -19
  402. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-designer.component.mjs +0 -19
  403. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-designer.component.mjs +0 -19
  404. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-designer.component.mjs +0 -19
  405. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-designer.component.mjs +0 -19
  406. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-designer.component.mjs +0 -19
  407. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-designer.component.mjs +0 -19
  408. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-designer.component.mjs +0 -19
  409. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-designer.component.mjs +0 -19
  410. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-designer.component.mjs +0 -19
  411. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-designer.component.mjs +0 -19
  412. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-designer.component.mjs +0 -19
  413. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +0 -19
  414. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-designer.component.mjs +0 -19
  415. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-designer.component.mjs +0 -19
  416. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget.component.mjs +0 -34
  417. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-column.component.mjs +0 -19
  418. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-filter.component.mjs +0 -20
  419. package/fesm2022/acorex-platform-layouts-entity-modify-view.component-CjofXJku.mjs.map +0 -1
  420. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-D1vzPrng.mjs.map +0 -1
  421. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-DCE6c3Is.mjs.map +0 -1
  422. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CJUV6lFi.mjs.map +0 -1
  423. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-T-tXqoMd.mjs.map +0 -1
  424. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.d.ts +0 -6
  425. package/widgets/lib/widgets/editors/contact-widget/contact-widget-designer.component.d.ts +0 -6
  426. package/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-designer.component.d.ts +0 -6
  427. package/widgets/lib/widgets/editors/email-box-widget/email-box-widget-designer.component.d.ts +0 -6
  428. package/widgets/lib/widgets/editors/file-box-widget/file-box-widget-designer.component.d.ts +0 -6
  429. package/widgets/lib/widgets/editors/gallery-widget/gallery-widget-designer.component.d.ts +0 -6
  430. package/widgets/lib/widgets/editors/large-text-widget/large-text-widget-designer.component.d.ts +0 -6
  431. package/widgets/lib/widgets/editors/link-widget/link-widget-designer.component.d.ts +0 -6
  432. package/widgets/lib/widgets/editors/map-box-widget/map-box-widget-designer.component.d.ts +0 -6
  433. package/widgets/lib/widgets/editors/number-box-widget/number-box-widget-designer.component.d.ts +0 -6
  434. package/widgets/lib/widgets/editors/password-box-widget/password-box-widget-designer.component.d.ts +0 -6
  435. package/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-designer.component.d.ts +0 -6
  436. package/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-designer.component.d.ts +0 -6
  437. package/widgets/lib/widgets/editors/select-box-widget/select-box-widget-designer.component.d.ts +0 -6
  438. package/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-designer.component.d.ts +0 -6
  439. package/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-designer.component.d.ts +0 -6
  440. package/widgets/lib/widgets/editors/text-box-widget/text-box-widget-designer.component.d.ts +0 -6
  441. package/widgets/lib/widgets/editors/toggle-widget/toggle-widget-designer.component.d.ts +0 -6
  442. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-column.component.d.ts +0 -6
  443. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-filter.component.d.ts +0 -6
@@ -39,7 +39,7 @@ export declare class AXPSessionService {
39
39
  restoreSession(): Promise<void>;
40
40
  signin(credentials: AXPBaseCredentials): Promise<void>;
41
41
  signout(): Promise<void>;
42
- refreshToken(): Promise<void>;
42
+ refreshToken(): Promise<any>;
43
43
  setTenant(tenant: AXPTenant | null): Promise<void>;
44
44
  setApplication(application: AXPApplication | null): Promise<void>;
45
45
  private loadPermissions;
@@ -51,7 +51,7 @@ export declare class AXPSessionService {
51
51
  private clearSession;
52
52
  authorize(...keys: string[]): boolean;
53
53
  isFeatureEnabled(...keys: string[]): boolean;
54
- getToken(): Observable<string | undefined>;
54
+ getToken(): string | undefined;
55
55
  private checkTokenValidation;
56
56
  private getContext;
57
57
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPSessionService, never>;
package/core/index.d.ts CHANGED
@@ -1 +1,3 @@
1
1
  export * from './lib/types';
2
+ export * from './utils/countdown-timer';
3
+ export * from './utils/html-utils';
@@ -10,3 +10,4 @@ export type AXPValidationRule = {
10
10
  disabled?: boolean;
11
11
  };
12
12
  export type AXPValidationRules = AXPValidationRule[];
13
+ export declare function getNestedKeys(obj: any, prefix?: string): string[];
@@ -0,0 +1,14 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AXPCountdownPipe implements PipeTransform {
5
+ private calendarService;
6
+ private countdownSignal;
7
+ private targetDate;
8
+ private prevValue;
9
+ transform(value: number): Observable<string>;
10
+ private setupTimer;
11
+ private updateTargetDate;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPCountdownPipe, never>;
13
+ static ɵpipe: i0.ɵɵPipeDeclaration<AXPCountdownPipe, "countdown", true>;
14
+ }
@@ -0,0 +1,9 @@
1
+ import { SafeHtml } from '@angular/platform-browser';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AXPHtmlUtils {
4
+ private sanitizer;
5
+ getTextFromHTML(html: string | undefined | null): string;
6
+ getSafeHTMLfromHTML(html: string | undefined | null): SafeHtml | null;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPHtmlUtils, never>;
8
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPHtmlUtils>;
9
+ }
@@ -2,7 +2,7 @@ import { AXPSignInAction, AXPSignOutAction } from '@acorex/platform/common';
2
2
  import { Injectable, inject } from '@angular/core';
3
3
  import { Store } from '@ngrx/store';
4
4
  import { isEmpty, merge } from 'lodash-es';
5
- import { BehaviorSubject, defaultIfEmpty, firstValueFrom, from, map, of, shareReplay, switchMap } from 'rxjs';
5
+ import { BehaviorSubject, defaultIfEmpty, firstValueFrom, map, shareReplay } from 'rxjs';
6
6
  import { AXP_APPLICATION_LOADER } from './application/application.loader';
7
7
  import { AXPAuthStrategyRegistryService } from './auth-registry.service';
8
8
  import { AXP_FEATURE_LOADER } from './feature';
@@ -127,24 +127,26 @@ export class AXPSessionService {
127
127
  this.store.dispatch(AXPSignOutAction());
128
128
  }
129
129
  async refreshToken() {
130
- localStorage.setItem('refreshTokenCalledIn', new Date().toISOString());
131
- const sessionData = this.getSessionData();
132
- if (!sessionData || !sessionData?.refreshToken) {
133
- return;
134
- }
135
- const strategy = this.authStrategyRegistry.get(sessionData.strategy);
136
- if (!strategy) {
137
- throw new Error(`Authentication strategy '${sessionData.strategy}' is not found`);
138
- }
139
- const result = await strategy.refreshToken(this.getContext());
140
- if (result.succeed) {
141
- this.setSession(result.data);
142
- this.status.next(AXPSessionStatus.Authorized);
143
- }
144
- else {
145
- this.clearSession();
146
- this.status.next(AXPSessionStatus.Expired);
147
- }
130
+ return new Promise(async (resolve, reject) => {
131
+ const sessionData = this.getSessionData();
132
+ if (!sessionData || !sessionData?.refreshToken) {
133
+ return;
134
+ }
135
+ const strategy = this.authStrategyRegistry.get(sessionData.strategy);
136
+ if (!strategy) {
137
+ reject();
138
+ throw new Error(`Authentication strategy '${sessionData.strategy}' is not found`);
139
+ }
140
+ const result = await strategy.refreshToken(this.getContext());
141
+ if (result.succeed) {
142
+ this.setSession(result.data);
143
+ resolve(result.data?.accessToken);
144
+ }
145
+ else {
146
+ this.clearSession();
147
+ this.status.next(AXPSessionStatus.Expired);
148
+ }
149
+ });
148
150
  }
149
151
  async setTenant(tenant) {
150
152
  defaultIfEmpty;
@@ -220,7 +222,6 @@ export class AXPSessionService {
220
222
  this.featuresSubject.next([]);
221
223
  //
222
224
  localStorage.removeItem(AXPSessionService.SESSION_KEY);
223
- localStorage.removeItem('refreshTokenCalledIn');
224
225
  }
225
226
  authorize(...keys) {
226
227
  return keys.every((k) => isEmpty(k) || this.permissions.indexOf(k) > -1);
@@ -230,23 +231,7 @@ export class AXPSessionService {
230
231
  }
231
232
  getToken() {
232
233
  const sessionData = this.getSessionData();
233
- const tokenIsValid = this.checkTokenValidation();
234
- if (tokenIsValid) {
235
- return of(sessionData?.accessToken);
236
- }
237
- else if (sessionData?.refreshToken) {
238
- const refreshTokenCalledIn = localStorage.getItem('refreshTokenCalledIn') ? new Date(localStorage.getItem('refreshTokenCalledIn')) : null;
239
- const now = new Date();
240
- const timeSinceLastRefresh = refreshTokenCalledIn ? now.getTime() - refreshTokenCalledIn.getTime() : Infinity;
241
- // ta 30 sanie ghabl az akharin refreshtoken darkhst jadid nemifrestad
242
- if (!refreshTokenCalledIn || timeSinceLastRefresh > 30000) {
243
- return from(this.refreshToken()).pipe(switchMap(() => {
244
- const newSessionData = this.getSessionData();
245
- return of(newSessionData?.accessToken);
246
- }));
247
- }
248
- }
249
- return of(sessionData?.accessToken);
234
+ return sessionData?.accessToken;
250
235
  }
251
236
  checkTokenValidation() {
252
237
  let sessionData = this.getSessionData();
@@ -275,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
275
260
  providedIn: 'root',
276
261
  }]
277
262
  }] });
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9hdXRoL3NyYy9saWIvc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsY0FBYyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBYyxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPM0QsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUlVLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIseUJBQW9CLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFHckQscUJBQWdCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFD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N0MsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFeEMsSUFBSSxXQUFXLElBQUksV0FBVyxFQUFFLFdBQVcsSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDckUsTUFBTSxhQUFhLEdBQUcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RELElBQUksYUFBYSxHQUFHLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDL0IsdUJBQXVCO2dCQUN2QixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sVUFBVTtRQUNoQixPQUFPLElBQUksaUJBQWlCLENBQUM7WUFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQTdSVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQU2lnbkluQWN0aW9uLCBBWFBTaWduT3V0QWN0aW9uIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGlzRW1wdHksIG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgZGVmYXVsdElmRW1wdHksIGZpcnN0VmFsdWVGcm9tLCBmcm9tLCBtYXAsIG9mLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBfQVBQTElDQVRJT05fTE9BREVSIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbi5sb2FkZXInO1xuaW1wb3J0IHsgQVhQQXBwbGljYXRpb24gfSBmcm9tICcuL2FwcGxpY2F0aW9uL2FwcGxpY2F0aW9uLnR5cGVzJztcbmltcG9ydCB7IEFYUEF1dGhTdHJhdGVneVJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4vYXV0aC1yZWdpc3RyeS5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUEJhc2VDcmVkZW50aWFscywgQVhQU2Vzc2lvbkRhdGEgfSBmcm9tICcuL2F1dGguc3RyYXRlZ3knO1xuaW1wb3J0IHsgQVhQRmVhdHVyZSwgQVhQX0ZFQVRVUkVfTE9BREVSIH0gZnJvbSAnLi9mZWF0dXJlJztcbmltcG9ydCB7IEFYUF9QRVJNSVNTSU9OX0xPQURFUiB9IGZyb20gJy4vcGVybWlzc2lvbi9wZXJtaXNzaW9uLmxvYWRlcic7XG5pbXBvcnQgeyBBWFBQZXJtaXNzaW9uIH0gZnJvbSAnLi9wZXJtaXNzaW9uL3Blcm1pc3Npb24udHlwZXMnO1xuaW1wb3J0IHsgQVhQU2Vzc2lvbkNvbnRleHQsIEFYUFNlc3Npb25TdGF0dXMgfSBmcm9tICcuL3Nlc3Npb24udHlwZXMnO1xuaW1wb3J0IHsgQVhQX1RFTkFOVF9MT0FERVIgfSBmcm9tICcuL3RlbmFudC90ZW5hbnQubG9hZGVyJztcbmltcG9ydCB7IEFYUFRlbmFudCB9IGZyb20gJy4vdGVuYW50L3RlbmFudC50eXBlcyc7XG5pbXBvcnQgeyBBWFBVc2VyIH0gZnJvbSAnLi91c2VyL3VzZXIudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQU2Vzc2lvblNlcnZpY2Uge1xuICBwcml2YXRlIHN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICBwcml2YXRlIGF1dGhTdHJhdGVneVJlZ2lzdHJ5ID0gaW5qZWN0KEFYUEF1dGhTdHJhdGVneVJlZ2lzdHJ5U2VydmljZSk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU0VTU0lPTl9LRVkgPSAnQVhQX1NFU1NJT04nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGVybWlzc2lvbkxvYWRlciA9IGluamVjdChBWFBfUEVSTUlTU0lPTl9MT0FERVIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVMb2FkZXIgPSBpbmplY3QoQVhQX0ZFQVRVUkVfTE9BREVSKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZW5hbnRMb2FkZXIgPSBpbmplY3QoQVhQX1RFTkFOVF9MT0FERVIpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uTG9hZGVyID0gaW5qZWN0KEFYUF9BUFBMSUNBVElPTl9MT0FERVIpO1xuXG4gIHByaXZhdGUgc3RhdHVzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBTZXNzaW9uU3RhdHVzPihBWFBTZXNzaW9uU3RhdHVzLlVuYXV0aGVudGljYXRlZCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0dXMkID0gdGhpcy5zdGF0dXMuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG5cbiAgcHJpdmF0ZSBjdXJyZW50VXNlclN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUFVzZXIgfCBudWxsPihudWxsKTtcbiAgcHVibGljIHJlYWRvbmx5IHVzZXIkID0gdGhpcy5jdXJyZW50VXNlclN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIHB1YmxpYyBnZXQgdXNlcigpOiBBWFBVc2VyIHwgbnVsbCB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKTtcbiAgICBpZiAoc2Vzc2lvbj8udXNlciAmJiAhdGhpcy5jdXJyZW50VXNlclN1YmplY3QudmFsdWUpIHtcbiAgICAgIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0Lm5leHQoc2Vzc2lvbi51c2VyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0LnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50VGVuYW50U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQVGVuYW50IHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSB0ZW5hbnQkID0gdGhpcy5jdXJyZW50VGVuYW50U3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpKTtcbiAgcHVibGljIGdldCB0ZW5hbnQoKTogQVhQVGVuYW50IHwgbnVsbCB7XG5cbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuICAgIGlmIChzZXNzaW9uPy50ZW5hbnQgJiYgIXRoaXMuY3VycmVudFRlbmFudFN1YmplY3QudmFsdWUpIHtcbiAgICAgIHRoaXMuY3VycmVudFRlbmFudFN1YmplY3QubmV4dChzZXNzaW9uLnRlbmFudCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRUZW5hbnRTdWJqZWN0LnZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZW5hbnRzJCgpOiBPYnNlcnZhYmxlPEFYUFRlbmFudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMudGVuYW50TG9hZGVyLmdldExpc3QodGhpcy5nZXRDb250ZXh0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50QXBwbGljYXRpb25TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBBcHBsaWNhdGlvbiB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbGljYXRpb24kID0gdGhpcy5jdXJyZW50QXBwbGljYXRpb25TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuICBwdWJsaWMgZ2V0IGFwcGxpY2F0aW9uKCk6IEFYUEFwcGxpY2F0aW9uIHwgbnVsbCB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKTtcbiAgICBpZiAoc2Vzc2lvbj8uYXBwbGljYXRpb24gJiYgIXRoaXMuY3VycmVudEFwcGxpY2F0aW9uU3ViamVjdC52YWx1ZSkge1xuICAgICAgdGhpcy5jdXJyZW50QXBwbGljYXRpb25TdWJqZWN0Lm5leHQoc2Vzc2lvbi5hcHBsaWNhdGlvbik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFwcGxpY2F0aW9ucyQoKTogT2JzZXJ2YWJsZTxBWFBBcHBsaWNhdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25Mb2FkZXIuZ2V0TGlzdCh0aGlzLmdldENvbnRleHQoKSk7XG4gIH1cblxuICBwcml2YXRlIHBlcm1pc3Npb25zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQUGVybWlzc2lvbltdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSBwZXJtaXNzaW9ucyQgPSB0aGlzLnBlcm1pc3Npb25zU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpLCBkZWZhdWx0SWZFbXB0eShbXSkpO1xuICBwdWJsaWMgZ2V0IHBlcm1pc3Npb25zKCk6IEFYUFBlcm1pc3Npb25bXSB7XG4gICAgcmV0dXJuIHRoaXMucGVybWlzc2lvbnNTdWJqZWN0LnZhbHVlID8/IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBmZWF0dXJlc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEZlYXR1cmVbXT4oW10pO1xuICBwdWJsaWMgcmVhZG9ubHkgZmVhdHVyZXMkID0gdGhpcy5mZWF0dXJlc1N1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSwgZGVmYXVsdElmRW1wdHkoW10pKTtcbiAgcHVibGljIGdldCBmZWF0dXJlcygpOiBBWFBGZWF0dXJlW10ge1xuICAgIHJldHVybiB0aGlzLmZlYXR1cmVzU3ViamVjdC52YWx1ZSA/PyBbXTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBpc0F1dGhlbnRpY2F0ZWQkID0gdGhpcy5zdGF0dXMkLnBpcGUoXG4gICAgbWFwKChzdGF0dXMpID0+IHN0YXR1cyA9PT0gQVhQU2Vzc2lvblN0YXR1cy5BdXRoZW50aWNhdGVkIHx8IHN0YXR1cyA9PT0gQVhQU2Vzc2lvblN0YXR1cy5BdXRob3JpemVkKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBpc0F1dGhvcml6ZWQkID0gdGhpcy5zdGF0dXMkLnBpcGUoXG4gICAgbWFwKChzdGF0dXMpID0+IHN0YXR1cyA9PT0gQVhQU2Vzc2lvblN0YXR1cy5BdXRob3JpemVkKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHB1YmxpYyBhc3luYyByZXN0b3JlU2Vzc2lvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXNzaW9uRGF0YSA9IHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKTtcbiAgICBpZiAoc2Vzc2lvbkRhdGEpIHtcbiAgICAgIGlmIChzZXNzaW9uRGF0YS51c2VyKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0Lm5leHQoc2Vzc2lvbkRhdGEudXNlcik7XG4gICAgICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5BdXRoZW50aWNhdGVkKTtcbiAgICAgIH1cbiAgICAgIC8vIGlmIChzZXNzaW9uRGF0YS50ZW5hbnQpIHtcbiAgICAgIC8vICAgdGhpcy5zZXRUZW5hbnQoc2Vzc2lvbkRhdGEudGVuYW50KTtcbiAgICAgIC8vIH1cbiAgICAgIC8vIGlmIChzZXNzaW9uRGF0YS5hcHBsaWNhdGlvbikge1xuICAgICAgLy8gICB0aGlzLnNldEFwcGxpY2F0aW9uKHNlc3Npb25EYXRhLmFwcGxpY2F0aW9uKTtcbiAgICAgIC8vIH1cbiAgICAgIGF3YWl0IHRoaXMuc2lnbkluQ29tcGxldGUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGF0dXMubmV4dChBWFBTZXNzaW9uU3RhdHVzLlVuYXV0aG9yaXplZCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbmluKGNyZWRlbnRpYWxzOiBBWFBCYXNlQ3JlZGVudGlhbHMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuYXV0aFN0cmF0ZWd5UmVnaXN0cnkuZ2V0KGNyZWRlbnRpYWxzLnN0cmF0ZWd5KTtcbiAgICBpZiAoIXN0cmF0ZWd5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEF1dGhlbnRpY2F0aW9uIHN0cmF0ZWd5ICcke2NyZWRlbnRpYWxzLnN0cmF0ZWd5fScgaXMgbm90IHN1cHBvcnRlZGApO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzdHJhdGVneS5zaWduaW4oY3JlZGVudGlhbHMpO1xuICAgIGlmIChyZXN1bHQuc3VjY2VlZCkge1xuICAgICAgdGhpcy5jdXJyZW50VXNlclN1YmplY3QubmV4dChyZXN1bHQuZGF0YSEudXNlcik7XG4gICAgICB0aGlzLnNldFNlc3Npb24oe1xuICAgICAgICBhY2Nlc3NUb2tlbjogcmVzdWx0LmRhdGEhLmFjY2Vzc1Rva2VuLFxuICAgICAgICByZWZyZXNoVG9rZW46IHJlc3VsdC5kYXRhIS5yZWZyZXNoVG9rZW4sXG4gICAgICAgIHN0cmF0ZWd5OiBjcmVkZW50aWFscy5zdHJhdGVneSxcbiAgICAgICAgdXNlcjogcmVzdWx0LmRhdGEhLnVzZXIsXG4gICAgICAgIGFwcGxpY2F0aW9uOiByZXN1bHQuZGF0YT8uYXBwbGljYXRpb24sXG4gICAgICAgIHRlbmFudDogcmVzdWx0LmRhdGE/LnRlbmFudCxcbiAgICAgICAgZXhwaXJlc0luOiByZXN1bHQuZGF0YT8uZXhwaXJlc0luLFxuICAgICAgICBpZFRva2VuOiByZXN1bHQuZGF0YT8uaWRUb2tlbiA/PyBudWxsLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnN0YXR1cy5uZXh0KEFYUFNlc3Npb25TdGF0dXMuQXV0aGVudGljYXRlZCk7XG4gICAgICBpZiAodGhpcy5hcHBsaWNhdGlvbiAmJiB0aGlzLnRlbmFudCkgYXdhaXQgdGhpcy5zaWduSW5Db21wbGV0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXR1cy5uZXh0KEFYUFNlc3Npb25TdGF0dXMuVW5hdXRoZW50aWNhdGVkKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBVc2VybmFtZSBvciBQYXNzd29yZGApO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNpZ25vdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2Vzc2lvbkRhdGEgPSB0aGlzLmdldFNlc3Npb25EYXRhKCk7XG4gICAgaWYgKHNlc3Npb25EYXRhPy5zdHJhdGVneSkge1xuICAgICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLmF1dGhTdHJhdGVneVJlZ2lzdHJ5LmdldChzZXNzaW9uRGF0YT8uc3RyYXRlZ3kpO1xuICAgICAgaWYgKHN0cmF0ZWd5KSB7XG4gICAgICAgIGF3YWl0IHN0cmF0ZWd5LnNpZ25vdXQoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy9cbiAgICB0aGlzLmNsZWFyU2Vzc2lvbigpO1xuICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5TaWduZWRPdXQpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQVhQU2lnbk91dEFjdGlvbigpKTtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncmVmcmVzaFRva2VuQ2FsbGVkSW4nLCBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpO1xuICAgIGNvbnN0IHNlc3Npb25EYXRhID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuICAgIGlmICghc2Vzc2lvbkRhdGEgfHwgIXNlc3Npb25EYXRhPy5yZWZyZXNoVG9rZW4pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3Qgc3RyYXRlZ3kgPSB0aGlzLmF1dGhTdHJhdGVneVJlZ2lzdHJ5LmdldChzZXNzaW9uRGF0YS5zdHJhdGVneSk7XG4gICAgaWYgKCFzdHJhdGVneSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBBdXRoZW50aWNhdGlvbiBzdHJhdGVneSAnJHtzZXNzaW9uRGF0YS5zdHJhdGVneX0nIGlzIG5vdCBmb3VuZGApO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzdHJhdGVneS5yZWZyZXNoVG9rZW4odGhpcy5nZXRDb250ZXh0KCkpO1xuICAgIGlmIChyZXN1bHQuc3VjY2VlZCkge1xuICAgICAgdGhpcy5zZXRTZXNzaW9uKHJlc3VsdC5kYXRhIGFzIEFYUFNlc3Npb25EYXRhKTtcbiAgICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5BdXRob3JpemVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhclNlc3Npb24oKTtcbiAgICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5FeHBpcmVkKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzZXRUZW5hbnQodGVuYW50OiBBWFBUZW5hbnQgfCBudWxsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZGVmYXVsdElmRW1wdHlcbiAgICB0aGlzLmN1cnJlbnRUZW5hbnRTdWJqZWN0Lm5leHQodGVuYW50KTtcbiAgICBpZiAodGVuYW50KSB0aGlzLnVwZGF0ZVNlc3Npb24oeyB0ZW5hbnQ6IHRlbmFudCB9KTtcbiAgICBhd2FpdCB0aGlzLnJlZnJlc2hUb2tlbigpO1xuICB9XG5cbiAgYXN5bmMgc2V0QXBwbGljYXRpb24oYXBwbGljYXRpb246IEFYUEFwcGxpY2F0aW9uIHwgbnVsbCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuY3VycmVudEFwcGxpY2F0aW9uU3ViamVjdC5uZXh0KGFwcGxpY2F0aW9uKTtcbiAgICBpZiAoYXBwbGljYXRpb24pIHRoaXMudXBkYXRlU2Vzc2lvbih7IGFwcGxpY2F0aW9uOiBhcHBsaWNhdGlvbiB9KTtcbiAgICBhd2FpdCB0aGlzLnJlZnJlc2hUb2tlbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkUGVybWlzc2lvbnMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5wZXJtaXNzaW9uTG9hZGVyLmdldExpc3QodGhpcy5nZXRDb250ZXh0KCkpKTtcbiAgICAgIHRoaXMucGVybWlzc2lvbnNTdWJqZWN0Lm5leHQocGVybWlzc2lvbnMgPz8gW10pO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBWFBTaWduSW5BY3Rpb24oKSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgcGVybWlzc2lvbnM6JywgZXJyb3IpO1xuICAgICAgdGhpcy5wZXJtaXNzaW9uc1N1YmplY3QubmV4dChbXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRmVhdHVyZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZlYXR1cmVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5mZWF0dXJlTG9hZGVyLmdldExpc3QodGhpcy5nZXRDb250ZXh0KCkpKTtcbiAgICAgIHRoaXMuZmVhdHVyZXNTdWJqZWN0Lm5leHQoZmVhdHVyZXMgPz8gW10pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIGZlYXR1cmVzOicsIGVycm9yKTtcbiAgICAgIHRoaXMuZmVhdHVyZXNTdWJqZWN0Lm5leHQoW10pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNpZ25JbkNvbXBsZXRlKCkge1xuICAgIGF3YWl0IHRoaXMubG9hZFBlcm1pc3Npb25zKCk7XG4gICAgYXdhaXQgdGhpcy5sb2FkRmVhdHVyZXMoKTtcbiAgICB0aGlzLnN0YXR1cy5uZXh0KEFYUFNlc3Npb25TdGF0dXMuQXV0aG9yaXplZCk7XG4gIH1cblxuICBwcml2YXRlIHNldFNlc3Npb24odG9rZW5zOiBQYXJ0aWFsPEFYUFNlc3Npb25EYXRhPik6IHZvaWQge1xuICAgIGNvbnN0IHNlc3Npb25EYXRhOiBQYXJ0aWFsPEFYUFNlc3Npb25EYXRhPiA9IHtcbiAgICAgIGFjY2Vzc1Rva2VuOiB0b2tlbnMuYWNjZXNzVG9rZW4sXG4gICAgICByZWZyZXNoVG9rZW46IHRva2Vucy5yZWZyZXNoVG9rZW4sXG4gICAgICBzdHJhdGVneTogdG9rZW5zLnN0cmF0ZWd5LFxuICAgICAgdXNlcjogdGhpcy51c2VyLFxuICAgICAgYXBwbGljYXRpb246IHRva2Vucy5hcHBsaWNhdGlvbixcbiAgICAgIHRlbmFudDogdG9rZW5zLnRlbmFudCxcbiAgICAgIGV4cGlyZXNJbjogdG9rZW5zLmV4cGlyZXNJbixcbiAgICAgIGlkVG9rZW46IHRva2Vucy5pZFRva2VuLFxuICAgIH07XG4gICAgdGhpcy51cGRhdGVTZXNzaW9uKHNlc3Npb25EYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2Vzc2lvbih1cGRhdGU6IFBhcnRpYWw8QVhQU2Vzc2lvbkRhdGE+KSB7XG4gICAgY29uc3QgY3VycmVudFNlc3Npb24gPSB0aGlzLmdldFNlc3Npb25EYXRhKCkgPz8ge307XG4gICAgY29uc3QgdXBkYXRlZFNlc3Npb24gPSBtZXJnZSh7fSwgY3VycmVudFNlc3Npb24sIHVwZGF0ZSk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oQVhQU2Vzc2lvblNlcnZpY2UuU0VTU0lPTl9LRVksIEpTT04uc3RyaW5naWZ5KHVwZGF0ZWRTZXNzaW9uKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2Vzc2lvbkRhdGEoKTogQVhQU2Vzc2lvbkRhdGEgfCBudWxsIHtcbiAgICBjb25zdCBzZXNzaW9uRGF0YVN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKEFYUFNlc3Npb25TZXJ2aWNlLlNFU1NJT05fS0VZKTtcbiAgICByZXR1cm4gc2Vzc2lvbkRhdGFTdHJpbmcgPyBKU09OLnBhcnNlKHNlc3Npb25EYXRhU3RyaW5nKSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyU2Vzc2lvbigpOiB2b2lkIHtcbiAgICAvL1xuICAgIHRoaXMuY3VycmVudFVzZXJTdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgLy9cbiAgICB0aGlzLnNldFRlbmFudChudWxsKTtcbiAgICAvL1xuICAgIHRoaXMuc2V0QXBwbGljYXRpb24obnVsbCk7XG4gICAgLy9cbiAgICB0aGlzLnBlcm1pc3Npb25zU3ViamVjdC5uZXh0KFtdKTtcbiAgICAvL1xuICAgIHRoaXMuZmVhdHVyZXNTdWJqZWN0Lm5leHQoW10pO1xuICAgIC8vXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oQVhQU2Vzc2lvblNlcnZpY2UuU0VTU0lPTl9LRVkpO1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdyZWZyZXNoVG9rZW5DYWxsZWRJbicpO1xuICB9XG5cbiAgcHVibGljIGF1dGhvcml6ZSguLi5rZXlzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBrZXlzLmV2ZXJ5KChrKSA9PiBpc0VtcHR5KGspIHx8IHRoaXMucGVybWlzc2lvbnMuaW5kZXhPZihrKSA+IC0xKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0ZlYXR1cmVFbmFibGVkKC4uLmtleXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGtleXMuZXZlcnkoKGspID0+IGlzRW1wdHkoaykgfHwgdGhpcy5mZWF0dXJlcy5zb21lKChjKSA9PiBjLm5hbWUgPT0gayAmJiBjLnZhbHVlID09IHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb2tlbigpOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHNlc3Npb25EYXRhID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuICAgIGNvbnN0IHRva2VuSXNWYWxpZCA9IHRoaXMuY2hlY2tUb2tlblZhbGlkYXRpb24oKTtcbiAgICBpZiAodG9rZW5Jc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gb2Yoc2Vzc2lvbkRhdGE/LmFjY2Vzc1Rva2VuKTtcbiAgICB9IGVsc2UgaWYgKHNlc3Npb25EYXRhPy5yZWZyZXNoVG9rZW4pIHtcbiAgICAgIGNvbnN0IHJlZnJlc2hUb2tlbkNhbGxlZEluID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3JlZnJlc2hUb2tlbkNhbGxlZEluJykgPyBuZXcgRGF0ZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgncmVmcmVzaFRva2VuQ2FsbGVkSW4nKSEpIDogbnVsbDtcbiAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICBjb25zdCB0aW1lU2luY2VMYXN0UmVmcmVzaCA9IHJlZnJlc2hUb2tlbkNhbGxlZEluID8gbm93LmdldFRpbWUoKSAtIHJlZnJlc2hUb2tlbkNhbGxlZEluLmdldFRpbWUoKSA6IEluZmluaXR5O1xuXG4gICAgICAvLyB0YSAzMCBzYW5pZSBnaGFibCBheiBha2hhcmluIHJlZnJlc2h0b2tlbiBkYXJraHN0IGphZGlkIG5lbWlmcmVzdGFkXG4gICAgICBpZiAoIXJlZnJlc2hUb2tlbkNhbGxlZEluIHx8IHRpbWVTaW5jZUxhc3RSZWZyZXNoID4gMzAwMDApIHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5yZWZyZXNoVG9rZW4oKSkucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3U2Vzc2lvbkRhdGEgPSB0aGlzLmdldFNlc3Npb25EYXRhKCk7XG4gICAgICAgICAgICByZXR1cm4gb2YobmV3U2Vzc2lvbkRhdGE/LmFjY2Vzc1Rva2VuKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2Yoc2Vzc2lvbkRhdGE/LmFjY2Vzc1Rva2VuKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tUb2tlblZhbGlkYXRpb24oKTogYm9vbGVhbiB7XG4gICAgbGV0IHNlc3Npb25EYXRhID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuXG4gICAgaWYgKHNlc3Npb25EYXRhICYmIHNlc3Npb25EYXRhPy5hY2Nlc3NUb2tlbiAmJiBzZXNzaW9uRGF0YS5leHBpcmVzSW4pIHtcbiAgICAgIGNvbnN0IGV4cGlyZXNJbkRhdGUgPSBuZXcgRGF0ZShzZXNzaW9uRGF0YS5leHBpcmVzSW4pO1xuICAgICAgaWYgKGV4cGlyZXNJbkRhdGUgPiBuZXcgRGF0ZSgpKSB7XG4gICAgICAgIC8vIFRva2VuIGlzIHN0aWxsIHZhbGlkXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGdldENvbnRleHQoKTogQVhQU2Vzc2lvbkNvbnRleHQge1xuICAgIHJldHVybiBuZXcgQVhQU2Vzc2lvbkNvbnRleHQoe1xuICAgICAgdXNlcjogdGhpcy51c2VyLFxuICAgICAgdGVuYW50OiB0aGlzLnRlbmFudCxcbiAgICAgIGFwcGxpY2F0aW9uOiB0aGlzLmFwcGxpY2F0aW9uLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9hdXRoL3NyYy9saWIvc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQWMsY0FBYyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBYyxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPM0QsTUFBTSxPQUFPLGlCQUFpQjtJQUg5QjtRQUlVLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIseUJBQW9CLEdBQUcsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFHckQscUJBQWdCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDakQsa0JBQWEsR0FBRyxNQUFNLENB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QUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFMUMsT0FBTyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXhDLElBQUksV0FBVyxJQUFJLFdBQVcsRUFBRSxXQUFXLElBQUksV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JFLE1BQU0sYUFBYSxHQUFHLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxJQUFJLGFBQWEsR0FBRyxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQy9CLHVCQUF1QjtnQkFDdkIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVPLFVBQVU7UUFDaEIsT0FBTyxJQUFJLGlCQUFpQixDQUFDO1lBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E1UVUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNpZ25JbkFjdGlvbiwgQVhQU2lnbk91dEFjdGlvbiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBpc0VtcHR5LCBtZXJnZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRlZmF1bHRJZkVtcHR5LCBmaXJzdFZhbHVlRnJvbSwgbWFwLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQX0FQUExJQ0FUSU9OX0xPQURFUiB9IGZyb20gJy4vYXBwbGljYXRpb24vYXBwbGljYXRpb24ubG9hZGVyJztcbmltcG9ydCB7IEFYUEFwcGxpY2F0aW9uIH0gZnJvbSAnLi9hcHBsaWNhdGlvbi9hcHBsaWNhdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBWFBBdXRoU3RyYXRlZ3lSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL2F1dGgtcmVnaXN0cnkuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBCYXNlQ3JlZGVudGlhbHMsIEFYUFNlc3Npb25EYXRhIH0gZnJvbSAnLi9hdXRoLnN0cmF0ZWd5JztcbmltcG9ydCB7IEFYUEZlYXR1cmUsIEFYUF9GRUFUVVJFX0xPQURFUiB9IGZyb20gJy4vZmVhdHVyZSc7XG5pbXBvcnQgeyBBWFBfUEVSTUlTU0lPTl9MT0FERVIgfSBmcm9tICcuL3Blcm1pc3Npb24vcGVybWlzc2lvbi5sb2FkZXInO1xuaW1wb3J0IHsgQVhQUGVybWlzc2lvbiB9IGZyb20gJy4vcGVybWlzc2lvbi9wZXJtaXNzaW9uLnR5cGVzJztcbmltcG9ydCB7IEFYUFNlc3Npb25Db250ZXh0LCBBWFBTZXNzaW9uU3RhdHVzIH0gZnJvbSAnLi9zZXNzaW9uLnR5cGVzJztcbmltcG9ydCB7IEFYUF9URU5BTlRfTE9BREVSIH0gZnJvbSAnLi90ZW5hbnQvdGVuYW50LmxvYWRlcic7XG5pbXBvcnQgeyBBWFBUZW5hbnQgfSBmcm9tICcuL3RlbmFudC90ZW5hbnQudHlwZXMnO1xuaW1wb3J0IHsgQVhQVXNlciB9IGZyb20gJy4vdXNlci91c2VyLnR5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFNlc3Npb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdG9yZSA9IGluamVjdChTdG9yZSk7XG5cbiAgcHJpdmF0ZSBhdXRoU3RyYXRlZ3lSZWdpc3RyeSA9IGluamVjdChBWFBBdXRoU3RyYXRlZ3lSZWdpc3RyeVNlcnZpY2UpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFNFU1NJT05fS0VZID0gJ0FYUF9TRVNTSU9OJztcblxuICBwcml2YXRlIHJlYWRvbmx5IHBlcm1pc3Npb25Mb2FkZXIgPSBpbmplY3QoQVhQX1BFUk1JU1NJT05fTE9BREVSKTtcbiAgcHJpdmF0ZSByZWFkb25seSBmZWF0dXJlTG9hZGVyID0gaW5qZWN0KEFYUF9GRUFUVVJFX0xPQURFUik7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGVuYW50TG9hZGVyID0gaW5qZWN0KEFYUF9URU5BTlRfTE9BREVSKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHBsaWNhdGlvbkxvYWRlciA9IGluamVjdChBWFBfQVBQTElDQVRJT05fTE9BREVSKTtcblxuICBwcml2YXRlIHN0YXR1cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQU2Vzc2lvblN0YXR1cz4oQVhQU2Vzc2lvblN0YXR1cy5VbmF1dGhlbnRpY2F0ZWQpO1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzJCA9IHRoaXMuc3RhdHVzLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHByaXZhdGUgY3VycmVudFVzZXJTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBVc2VyIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSB1c2VyJCA9IHRoaXMuY3VycmVudFVzZXJTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xuICBwdWJsaWMgZ2V0IHVzZXIoKTogQVhQVXNlciB8IG51bGwge1xuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmdldFNlc3Npb25EYXRhKCk7XG4gICAgaWYgKHNlc3Npb24/LnVzZXIgJiYgIXRoaXMuY3VycmVudFVzZXJTdWJqZWN0LnZhbHVlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC5uZXh0KHNlc3Npb24udXNlcik7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudFRlbmFudFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUFRlbmFudCB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgcmVhZG9ubHkgdGVuYW50JCA9IHRoaXMuY3VycmVudFRlbmFudFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIHB1YmxpYyBnZXQgdGVuYW50KCk6IEFYUFRlbmFudCB8IG51bGwge1xuICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLmdldFNlc3Npb25EYXRhKCk7XG4gICAgaWYgKHNlc3Npb24/LnRlbmFudCAmJiAhdGhpcy5jdXJyZW50VGVuYW50U3ViamVjdC52YWx1ZSkge1xuICAgICAgdGhpcy5jdXJyZW50VGVuYW50U3ViamVjdC5uZXh0KHNlc3Npb24udGVuYW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFRlbmFudFN1YmplY3QudmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRlbmFudHMkKCk6IE9ic2VydmFibGU8QVhQVGVuYW50W10+IHtcbiAgICByZXR1cm4gdGhpcy50ZW5hbnRMb2FkZXIuZ2V0TGlzdCh0aGlzLmdldENvbnRleHQoKSk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEFwcGxpY2F0aW9uIHwgbnVsbD4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBhcHBsaWNhdGlvbiQgPSB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZVJlcGxheSgxKSk7XG4gIHB1YmxpYyBnZXQgYXBwbGljYXRpb24oKTogQVhQQXBwbGljYXRpb24gfCBudWxsIHtcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuICAgIGlmIChzZXNzaW9uPy5hcHBsaWNhdGlvbiAmJiAhdGhpcy5jdXJyZW50QXBwbGljYXRpb25TdWJqZWN0LnZhbHVlKSB7XG4gICAgICB0aGlzLmN1cnJlbnRBcHBsaWNhdGlvblN1YmplY3QubmV4dChzZXNzaW9uLmFwcGxpY2F0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEFwcGxpY2F0aW9uU3ViamVjdC52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXBwbGljYXRpb25zJCgpOiBPYnNlcnZhYmxlPEFYUEFwcGxpY2F0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvbkxvYWRlci5nZXRMaXN0KHRoaXMuZ2V0Q29udGV4dCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgcGVybWlzc2lvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBQZXJtaXNzaW9uW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHBlcm1pc3Npb25zJCA9IHRoaXMucGVybWlzc2lvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmVSZXBsYXkoMSksIGRlZmF1bHRJZkVtcHR5KFtdKSk7XG4gIHB1YmxpYyBnZXQgcGVybWlzc2lvbnMoKTogQVhQUGVybWlzc2lvbltdIHtcbiAgICByZXR1cm4gdGhpcy5wZXJtaXNzaW9uc1N1YmplY3QudmFsdWUgPz8gW107XG4gIH1cblxuICBwcml2YXRlIGZlYXR1cmVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRmVhdHVyZVtdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSBmZWF0dXJlcyQgPSB0aGlzLmZlYXR1cmVzU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlUmVwbGF5KDEpLCBkZWZhdWx0SWZFbXB0eShbXSkpO1xuICBwdWJsaWMgZ2V0IGZlYXR1cmVzKCk6IEFYUEZlYXR1cmVbXSB7XG4gICAgcmV0dXJuIHRoaXMuZmVhdHVyZXNTdWJqZWN0LnZhbHVlID8/IFtdO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzQXV0aGVudGljYXRlZCQgPSB0aGlzLnN0YXR1cyQucGlwZShcbiAgICBtYXAoKHN0YXR1cykgPT4gc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhlbnRpY2F0ZWQgfHwgc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhvcml6ZWQpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzQXV0aG9yaXplZCQgPSB0aGlzLnN0YXR1cyQucGlwZShcbiAgICBtYXAoKHN0YXR1cykgPT4gc3RhdHVzID09PSBBWFBTZXNzaW9uU3RhdHVzLkF1dGhvcml6ZWQpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcHVibGljIGFzeW5jIHJlc3RvcmVTZXNzaW9uKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNlc3Npb25EYXRhID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuICAgIGlmIChzZXNzaW9uRGF0YSkge1xuICAgICAgaWYgKHNlc3Npb25EYXRhLnVzZXIpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50VXNlclN1YmplY3QubmV4dChzZXNzaW9uRGF0YS51c2VyKTtcbiAgICAgICAgdGhpcy5zdGF0dXMubmV4dChBWFBTZXNzaW9uU3RhdHVzLkF1dGhlbnRpY2F0ZWQpO1xuICAgICAgfVxuICAgICAgLy8gaWYgKHNlc3Npb25EYXRhLnRlbmFudCkge1xuICAgICAgLy8gICB0aGlzLnNldFRlbmFudChzZXNzaW9uRGF0YS50ZW5hbnQpO1xuICAgICAgLy8gfVxuICAgICAgLy8gaWYgKHNlc3Npb25EYXRhLmFwcGxpY2F0aW9uKSB7XG4gICAgICAvLyAgIHRoaXMuc2V0QXBwbGljYXRpb24oc2Vzc2lvbkRhdGEuYXBwbGljYXRpb24pO1xuICAgICAgLy8gfVxuICAgICAgYXdhaXQgdGhpcy5zaWduSW5Db21wbGV0ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXR1cy5uZXh0KEFYUFNlc3Npb25TdGF0dXMuVW5hdXRob3JpemVkKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzaWduaW4oY3JlZGVudGlhbHM6IEFYUEJhc2VDcmVkZW50aWFscyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5hdXRoU3RyYXRlZ3lSZWdpc3RyeS5nZXQoY3JlZGVudGlhbHMuc3RyYXRlZ3kpO1xuICAgIGlmICghc3RyYXRlZ3kpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQXV0aGVudGljYXRpb24gc3RyYXRlZ3kgJyR7Y3JlZGVudGlhbHMuc3RyYXRlZ3l9JyBpcyBub3Qgc3VwcG9ydGVkYCk7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0cmF0ZWd5LnNpZ25pbihjcmVkZW50aWFscyk7XG4gICAgaWYgKHJlc3VsdC5zdWNjZWVkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRVc2VyU3ViamVjdC5uZXh0KHJlc3VsdC5kYXRhIS51c2VyKTtcbiAgICAgIHRoaXMuc2V0U2Vzc2lvbih7XG4gICAgICAgIGFjY2Vzc1Rva2VuOiByZXN1bHQuZGF0YSEuYWNjZXNzVG9rZW4sXG4gICAgICAgIHJlZnJlc2hUb2tlbjogcmVzdWx0LmRhdGEhLnJlZnJlc2hUb2tlbixcbiAgICAgICAgc3RyYXRlZ3k6IGNyZWRlbnRpYWxzLnN0cmF0ZWd5LFxuICAgICAgICB1c2VyOiByZXN1bHQuZGF0YSEudXNlcixcbiAgICAgICAgYXBwbGljYXRpb246IHJlc3VsdC5kYXRhPy5hcHBsaWNhdGlvbixcbiAgICAgICAgdGVuYW50OiByZXN1bHQuZGF0YT8udGVuYW50LFxuICAgICAgICBleHBpcmVzSW46IHJlc3VsdC5kYXRhPy5leHBpcmVzSW4sXG4gICAgICAgIGlkVG9rZW46IHJlc3VsdC5kYXRhPy5pZFRva2VuID8/IG51bGwsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5BdXRoZW50aWNhdGVkKTtcbiAgICAgIGlmICh0aGlzLmFwcGxpY2F0aW9uICYmIHRoaXMudGVuYW50KSBhd2FpdCB0aGlzLnNpZ25JbkNvbXBsZXRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5VbmF1dGhlbnRpY2F0ZWQpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFVzZXJuYW1lIG9yIFBhc3N3b3JkYCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbm91dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZXNzaW9uRGF0YSA9IHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKTtcbiAgICBpZiAoc2Vzc2lvbkRhdGE/LnN0cmF0ZWd5KSB7XG4gICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuYXV0aFN0cmF0ZWd5UmVnaXN0cnkuZ2V0KHNlc3Npb25EYXRhPy5zdHJhdGVneSk7XG4gICAgICBpZiAoc3RyYXRlZ3kpIHtcbiAgICAgICAgYXdhaXQgc3RyYXRlZ3kuc2lnbm91dCgpO1xuICAgICAgfVxuICAgIH1cbiAgICAvL1xuICAgIHRoaXMuY2xlYXJTZXNzaW9uKCk7XG4gICAgdGhpcy5zdGF0dXMubmV4dChBWFBTZXNzaW9uU3RhdHVzLlNpZ25lZE91dCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBWFBTaWduT3V0QWN0aW9uKCkpO1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHNlc3Npb25EYXRhID0gdGhpcy5nZXRTZXNzaW9uRGF0YSgpO1xuICAgICAgaWYgKCFzZXNzaW9uRGF0YSB8fCAhc2Vzc2lvbkRhdGE/LnJlZnJlc2hUb2tlbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuYXV0aFN0cmF0ZWd5UmVnaXN0cnkuZ2V0KHNlc3Npb25EYXRhLnN0cmF0ZWd5KTtcbiAgICAgIGlmICghc3RyYXRlZ3kpIHtcbiAgICAgICAgcmVqZWN0KCk7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQXV0aGVudGljYXRpb24gc3RyYXRlZ3kgJyR7c2Vzc2lvbkRhdGEuc3RyYXRlZ3l9JyBpcyBub3QgZm91bmRgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHN0cmF0ZWd5LnJlZnJlc2hUb2tlbih0aGlzLmdldENvbnRleHQoKSk7XG4gICAgICBpZiAocmVzdWx0LnN1Y2NlZWQpIHtcbiAgICAgICAgdGhpcy5zZXRTZXNzaW9uKHJlc3VsdC5kYXRhIGFzIEFYUFNlc3Npb25EYXRhKTtcbiAgICAgICAgcmVzb2x2ZShyZXN1bHQuZGF0YT8uYWNjZXNzVG9rZW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jbGVhclNlc3Npb24oKTtcbiAgICAgICAgdGhpcy5zdGF0dXMubmV4dChBWFBTZXNzaW9uU3RhdHVzLkV4cGlyZWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2V0VGVuYW50KHRlbmFudDogQVhQVGVuYW50IHwgbnVsbCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGRlZmF1bHRJZkVtcHR5O1xuICAgIHRoaXMuY3VycmVudFRlbmFudFN1YmplY3QubmV4dCh0ZW5hbnQpO1xuICAgIGlmICh0ZW5hbnQpIHRoaXMudXBkYXRlU2Vzc2lvbih7IHRlbmFudDogdGVuYW50IH0pO1xuICAgIGF3YWl0IHRoaXMucmVmcmVzaFRva2VuKCk7XG4gIH1cblxuICBhc3luYyBzZXRBcHBsaWNhdGlvbihhcHBsaWNhdGlvbjogQVhQQXBwbGljYXRpb24gfCBudWxsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5jdXJyZW50QXBwbGljYXRpb25TdWJqZWN0Lm5leHQoYXBwbGljYXRpb24pO1xuICAgIGlmIChhcHBsaWNhdGlvbikgdGhpcy51cGRhdGVTZXNzaW9uKHsgYXBwbGljYXRpb246IGFwcGxpY2F0aW9uIH0pO1xuICAgIGF3YWl0IHRoaXMucmVmcmVzaFRva2VuKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRQZXJtaXNzaW9ucygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGVybWlzc2lvbnMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnBlcm1pc3Npb25Mb2FkZXIuZ2V0TGlzdCh0aGlzLmdldENvbnRleHQoKSkpO1xuICAgICAgdGhpcy5wZXJtaXNzaW9uc1N1YmplY3QubmV4dChwZXJtaXNzaW9ucyA/PyBbXSk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFYUFNpZ25JbkFjdGlvbigpKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBwZXJtaXNzaW9uczonLCBlcnJvcik7XG4gICAgICB0aGlzLnBlcm1pc3Npb25zU3ViamVjdC5uZXh0KFtdKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRGZWF0dXJlcygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgZmVhdHVyZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmZlYXR1cmVMb2FkZXIuZ2V0TGlzdCh0aGlzLmdldENvbnRleHQoKSkpO1xuICAgICAgdGhpcy5mZWF0dXJlc1N1YmplY3QubmV4dChmZWF0dXJlcyA/PyBbXSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgZmVhdHVyZXM6JywgZXJyb3IpO1xuICAgICAgdGhpcy5mZWF0dXJlc1N1YmplY3QubmV4dChbXSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbkluQ29tcGxldGUoKSB7XG4gICAgYXdhaXQgdGhpcy5sb2FkUGVybWlzc2lvbnMoKTtcbiAgICBhd2FpdCB0aGlzLmxvYWRGZWF0dXJlcygpO1xuICAgIHRoaXMuc3RhdHVzLm5leHQoQVhQU2Vzc2lvblN0YXR1cy5BdXRob3JpemVkKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0U2Vzc2lvbih0b2tlbnM6IFBhcnRpYWw8QVhQU2Vzc2lvbkRhdGE+KTogdm9pZCB7XG4gICAgY29uc3Qgc2Vzc2lvbkRhdGE6IFBhcnRpYWw8QVhQU2Vzc2lvbkRhdGE+ID0ge1xuICAgICAgYWNjZXNzVG9rZW46IHRva2Vucy5hY2Nlc3NUb2tlbixcbiAgICAgIHJlZnJlc2hUb2tlbjogdG9rZW5zLnJlZnJlc2hUb2tlbixcbiAgICAgIHN0cmF0ZWd5OiB0b2tlbnMuc3RyYXRlZ3ksXG4gICAgICB1c2VyOiB0aGlzLnVzZXIsXG4gICAgICBhcHBsaWNhdGlvbjogdG9rZW5zLmFwcGxpY2F0aW9uLFxuICAgICAgdGVuYW50OiB0b2tlbnMudGVuYW50LFxuICAgICAgZXhwaXJlc0luOiB0b2tlbnMuZXhwaXJlc0luLFxuICAgICAgaWRUb2tlbjogdG9rZW5zLmlkVG9rZW4sXG4gICAgfTtcbiAgICB0aGlzLnVwZGF0ZVNlc3Npb24oc2Vzc2lvbkRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTZXNzaW9uKHVwZGF0ZTogUGFydGlhbDxBWFBTZXNzaW9uRGF0YT4pIHtcbiAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IHRoaXMuZ2V0U2Vzc2lvbkRhdGEoKSA/PyB7fTtcbiAgICBjb25zdCB1cGRhdGVkU2Vzc2lvbiA9IG1lcmdlKHt9LCBjdXJyZW50U2Vzc2lvbiwgdXBkYXRlKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShBWFBTZXNzaW9uU2VydmljZS5TRVNTSU9OX0tFWSwgSlNPTi5zdHJpbmdpZnkodXBkYXRlZFNlc3Npb24pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTZXNzaW9uRGF0YSgpOiBBWFBTZXNzaW9uRGF0YSB8IG51bGwge1xuICAgIGNvbnN0IHNlc3Npb25EYXRhU3RyaW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oQVhQU2Vzc2lvblNlcnZpY2UuU0VTU0lPTl9LRVkpO1xuICAgIHJldHVybiBzZXNzaW9uRGF0YVN0cmluZyA/IEpTT04ucGFyc2Uoc2Vzc2lvbkRhdGFTdHJpbmcpIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJTZXNzaW9uKCk6IHZvaWQge1xuICAgIC8vXG4gICAgdGhpcy5jdXJyZW50VXNlclN1YmplY3QubmV4dChudWxsKTtcbiAgICAvL1xuICAgIHRoaXMuc2V0VGVuYW50KG51bGwpO1xuICAgIC8vXG4gICAgdGhpcy5zZXRBcHBsaWNhdGlvbihudWxsKTtcbiAgICAvL1xuICAgIHRoaXMucGVybWlzc2lvbnNTdWJqZWN0Lm5leHQoW10pO1xuICAgIC8vXG4gICAgdGhpcy5mZWF0dXJlc1N1YmplY3QubmV4dChbXSk7XG4gICAgLy9cbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShBWFBTZXNzaW9uU2VydmljZS5TRVNTSU9OX0tFWSk7XG4gIH1cblxuICBwdWJsaWMgYXV0aG9yaXplKC4uLmtleXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGtleXMuZXZlcnkoKGspID0+IGlzRW1wdHkoaykgfHwgdGhpcy5wZXJtaXNzaW9ucy5pbmRleE9mKGspID4gLTEpO1xuICB9XG5cbiAgcHVibGljIGlzRmVhdHVyZUVuYWJsZWQoLi4ua2V5czogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4ga2V5cy5ldmVyeSgoaykgPT4gaXNFbXB0eShrKSB8fCB0aGlzLmZlYXR1cmVzLnNvbWUoKGMpID0+IGMubmFtZSA9PSBrICYmIGMudmFsdWUgPT0gdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldFRva2VuKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgc2Vzc2lvbkRhdGEgPSB0aGlzLmdldFNlc3Npb25EYXRhKCk7XG5cbiAgICByZXR1cm4gc2Vzc2lvbkRhdGE/LmFjY2Vzc1Rva2VuO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1Rva2VuVmFsaWRhdGlvbigpOiBib29sZWFuIHtcbiAgICBsZXQgc2Vzc2lvbkRhdGEgPSB0aGlzLmdldFNlc3Npb25EYXRhKCk7XG5cbiAgICBpZiAoc2Vzc2lvbkRhdGEgJiYgc2Vzc2lvbkRhdGE/LmFjY2Vzc1Rva2VuICYmIHNlc3Npb25EYXRhLmV4cGlyZXNJbikge1xuICAgICAgY29uc3QgZXhwaXJlc0luRGF0ZSA9IG5ldyBEYXRlKHNlc3Npb25EYXRhLmV4cGlyZXNJbik7XG4gICAgICBpZiAoZXhwaXJlc0luRGF0ZSA+IG5ldyBEYXRlKCkpIHtcbiAgICAgICAgLy8gVG9rZW4gaXMgc3RpbGwgdmFsaWRcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udGV4dCgpOiBBWFBTZXNzaW9uQ29udGV4dCB7XG4gICAgcmV0dXJuIG5ldyBBWFBTZXNzaW9uQ29udGV4dCh7XG4gICAgICB1c2VyOiB0aGlzLnVzZXIsXG4gICAgICB0ZW5hbnQ6IHRoaXMudGVuYW50LFxuICAgICAgYXBwbGljYXRpb246IHRoaXMuYXBwbGljYXRpb24sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -78,7 +78,7 @@ export class AXPNumberWidgetFilterComponent extends AXPWidgetFilterBase {
78
78
  </ax-popover>
79
79
  }
80
80
  </div>
81
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i5.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "hintField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i1.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "hasWheel", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i5.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "hintField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i6.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
82
  }
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPNumberWidgetFilterComponent, decorators: [{
84
84
  type: Component,
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
132
132
  imports: [AXNumberBoxModule, FormsModule, AXDecoratorModule, AXPopoverModule, AXSelectionListModule, AXButtonModule],
133
133
  }]
134
134
  }] });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXdpZGdldC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zY2hlbWEvd2lkZ2V0cy9jb21tb24td2lkZ2V0LWZpbHRlci9udW1iZXItd2lkZ2V0LWZpbHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFvRC9ELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxtQkFBd0I7SUFqRDVFOztRQWtERSxlQUFVLEdBQXdCLEVBQUUsQ0FBQztLQXFCdEM7SUFuQlUsTUFBTTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdkQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUN6RyxDQUFDOzhHQXJCVSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwyR0EvQy9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1QsMkRBR1MsaUJBQWlCLDhlQUFFLFdBQVcsOFZBQUUsaUJBQWlCLCtPQUFFLGVBQWUsb1RBQUUscUJBQXFCLDJZQUFFLGNBQWM7OzJGQUV4Ryw4QkFBOEI7a0JBakQxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLENBQUM7aUJBQ3JIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhOdW1iZXJCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbnVtYmVyLWJveCc7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0aW9uLWxpc3QnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBXaWRnZXRGaWx0ZXJCYXNlIH0gZnJvbSAnLi4vLi4vd2lkZ2V0L3dpZGdldC1iYXNlJztcbmltcG9ydCB7IEFYUEZpbHRlck9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vYXBwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLW51bWJlci13aWRnZXQtZmlsdGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIEBpZihvcGVyYXRvciE9PVwiYmV0d2VlblwiKXtcbiAgICAgIDxheC1udW1iZXItYm94IFtkaXNhYmxlZF09XCIhdGhpcy5nZXRPcGVyYXRvckhhc1ZhbHVlKClcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XG4gICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgICB9QGVsc2V7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1nYXAtM1wiPlxuICAgICAgICA8YXgtbnVtYmVyLWJveCBwbGFjZWhvbGRlcj1cImZyb21cIiBbKG5nTW9kZWwpXT1cInZhbHVlLmZyb21cIj5cbiAgICAgICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgICAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgICAgIDxheC1udW1iZXItYm94IHBsYWNlaG9sZGVyPVwidG9cIiBbKG5nTW9kZWwpXT1cInZhbHVlLnRvXCI+XG4gICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgPC9kaXY+XG4gICAgICB9IEBpZihvcGVyYXRpb25zLmxlbmd0aCl7XG4gICAgICA8YXgtYnV0dG9uICNjaGFuZ2VPcGVyYXRvciBsb29rPVwiYmxhbmtcIiBjb2xvcj1cImRlZmF1bHRcIiBjbGFzcz1cImF4LXNtXCI+XG4gICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZWxsaXBzaXMtdmVydGljYWxcIj48L2F4LWljb24+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIDxheC1wb3BvdmVyXG4gICAgICAgICNvcGVyYXRvcnNQb3BvdmVyXG4gICAgICAgIFt0YXJnZXRdPVwiY2hhbmdlT3BlcmF0b3JcIlxuICAgICAgICBbb3Blbk9uXT1cIid0b2dnbGUnXCJcbiAgICAgICAgW2Nsb3NlT25dPVwiJ2NsaWNrT3V0J1wiXG4gICAgICAgIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYXgtYmctc3VyZmFjZSBheC1weS01IGF4LXB4LTMgYXgtYm9yZGVyIGF4LWJvcmRlci1kZWZhdWx0IGF4LXJvdW5kZWQtbWQgYXgtc2hhZG93LW1kIGF4LXctZnVsbCBheC1taW4tdy1bMjUwcHhdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwiJ25hbWUnXCJcbiAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiJ3RpdGxlJ1wiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm9wZXJhdG9yXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9wZXJhdG9yc1BvcG92ZXIuY2xvc2UoKTsgdXBkYXRlVmFsdWVPbk9wZXJhdG9yQ2hhbmdlKClcIlxuICAgICAgICAgICAgW2RpcmVjdGlvbl09XCIndmVydGljYWwnXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJvcGVyYXRpb25zXCJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICAgICAgPjwvYXgtc2VsZWN0aW9uLWxpc3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heC1wb3BvdmVyPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0FYTnVtYmVyQm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYUG9wb3Zlck1vZHVsZSwgQVhTZWxlY3Rpb25MaXN0TW9kdWxlLCBBWEJ1dHRvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE51bWJlcldpZGdldEZpbHRlckNvbXBvbmVudCBleHRlbmRzIEFYUFdpZGdldEZpbHRlckJhc2U8YW55PiB7XG4gIG9wZXJhdGlvbnM6IEFYUEZpbHRlck9wZXJhdG9yW10gPSBbXTtcblxuICBvdmVycmlkZSByZW5kZXIoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVyYXRpb25zID0gdGhpcy5zY2hlbWEuZmlsdGVyT3B0aW9ucy5vcGVyYXRvcnM7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0T3BlcmF0b3JIYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBvcGVyYXRvciA9IHRoaXMub3BlcmF0aW9ucy5maW5kKChvcCkgPT4gb3AubmFtZSA9PSB0aGlzLm9wZXJhdG9yKTtcbiAgICByZXR1cm4gIW9wZXJhdG9yIHx8IG9wZXJhdG9yLmhhc1ZhbHVlID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZU9uT3BlcmF0b3JDaGFuZ2UoKTtcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlT25PcGVyYXRvckNoYW5nZSgpIHtcbiAgICBpZiAoIXRoaXMuZ2V0T3BlcmF0b3JIYXNWYWx1ZSgpKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMub3BlcmF0b3IgPT09ICdiZXR3ZWVuJykgdGhpcy52YWx1ZSA9IHsgZnJvbTogdGhpcy52YWx1ZT8uZnJvbSB8fCAwLCB0bzogdGhpcy52YWx1ZT8udG8gfHwgMCB9O1xuICB9XG59XG4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXdpZGdldC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zY2hlbWEvd2lkZ2V0cy9jb21tb24td2lkZ2V0LWZpbHRlci9udW1iZXItd2lkZ2V0LWZpbHRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFvRC9ELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxtQkFBd0I7SUFqRDVFOztRQWtERSxlQUFVLEdBQXdCLEVBQUUsQ0FBQztLQXFCdEM7SUFuQlUsTUFBTTtRQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdkQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUztZQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUN6RyxDQUFDOzhHQXJCVSw4QkFBOEI7a0dBQTlCLDhCQUE4QiwyR0EvQy9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ1QsMkRBR1MsaUJBQWlCLDBmQUFFLFdBQVcsOFZBQUUsaUJBQWlCLCtPQUFFLGVBQWUsb1RBQUUscUJBQXFCLDJZQUFFLGNBQWM7OzJGQUV4Ryw4QkFBOEI7a0JBakQxQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMENUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxjQUFjLENBQUM7aUJBQ3JIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhOdW1iZXJCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbnVtYmVyLWJveCc7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFNlbGVjdGlvbkxpc3RNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0aW9uLWxpc3QnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBXaWRnZXRGaWx0ZXJCYXNlIH0gZnJvbSAnLi4vLi4vd2lkZ2V0L3dpZGdldC1iYXNlJztcbmltcG9ydCB7IEFYUEZpbHRlck9wZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vYXBwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLW51bWJlci13aWRnZXQtZmlsdGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXJcIj5cbiAgICAgIEBpZihvcGVyYXRvciE9PVwiYmV0d2VlblwiKXtcbiAgICAgIDxheC1udW1iZXItYm94IFtkaXNhYmxlZF09XCIhdGhpcy5nZXRPcGVyYXRvckhhc1ZhbHVlKClcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCI+XG4gICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgICB9QGVsc2V7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1nYXAtM1wiPlxuICAgICAgICA8YXgtbnVtYmVyLWJveCBwbGFjZWhvbGRlcj1cImZyb21cIiBbKG5nTW9kZWwpXT1cInZhbHVlLmZyb21cIj5cbiAgICAgICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgICAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgICAgIDxheC1udW1iZXItYm94IHBsYWNlaG9sZGVyPVwidG9cIiBbKG5nTW9kZWwpXT1cInZhbHVlLnRvXCI+XG4gICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgPC9kaXY+XG4gICAgICB9IEBpZihvcGVyYXRpb25zLmxlbmd0aCl7XG4gICAgICA8YXgtYnV0dG9uICNjaGFuZ2VPcGVyYXRvciBsb29rPVwiYmxhbmtcIiBjb2xvcj1cImRlZmF1bHRcIiBjbGFzcz1cImF4LXNtXCI+XG4gICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZWxsaXBzaXMtdmVydGljYWxcIj48L2F4LWljb24+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIDxheC1wb3BvdmVyXG4gICAgICAgICNvcGVyYXRvcnNQb3BvdmVyXG4gICAgICAgIFt0YXJnZXRdPVwiY2hhbmdlT3BlcmF0b3JcIlxuICAgICAgICBbb3Blbk9uXT1cIid0b2dnbGUnXCJcbiAgICAgICAgW2Nsb3NlT25dPVwiJ2NsaWNrT3V0J1wiXG4gICAgICAgIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgID5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiYXgtYmctc3VyZmFjZSBheC1weS01IGF4LXB4LTMgYXgtYm9yZGVyIGF4LWJvcmRlci1kZWZhdWx0IGF4LXJvdW5kZWQtbWQgYXgtc2hhZG93LW1kIGF4LXctZnVsbCBheC1taW4tdy1bMjUwcHhdXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1zZWxlY3Rpb24tbGlzdFxuICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwiJ25hbWUnXCJcbiAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiJ3RpdGxlJ1wiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm9wZXJhdG9yXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9wZXJhdG9yc1BvcG92ZXIuY2xvc2UoKTsgdXBkYXRlVmFsdWVPbk9wZXJhdG9yQ2hhbmdlKClcIlxuICAgICAgICAgICAgW2RpcmVjdGlvbl09XCIndmVydGljYWwnXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJvcGVyYXRpb25zXCJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICAgICAgPjwvYXgtc2VsZWN0aW9uLWxpc3Q+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heC1wb3BvdmVyPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0FYTnVtYmVyQm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYUG9wb3Zlck1vZHVsZSwgQVhTZWxlY3Rpb25MaXN0TW9kdWxlLCBBWEJ1dHRvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE51bWJlcldpZGdldEZpbHRlckNvbXBvbmVudCBleHRlbmRzIEFYUFdpZGdldEZpbHRlckJhc2U8YW55PiB7XG4gIG9wZXJhdGlvbnM6IEFYUEZpbHRlck9wZXJhdG9yW10gPSBbXTtcblxuICBvdmVycmlkZSByZW5kZXIoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVyYXRpb25zID0gdGhpcy5zY2hlbWEuZmlsdGVyT3B0aW9ucy5vcGVyYXRvcnM7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0T3BlcmF0b3JIYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBvcGVyYXRvciA9IHRoaXMub3BlcmF0aW9ucy5maW5kKChvcCkgPT4gb3AubmFtZSA9PSB0aGlzLm9wZXJhdG9yKTtcbiAgICByZXR1cm4gIW9wZXJhdG9yIHx8IG9wZXJhdG9yLmhhc1ZhbHVlID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZU9uT3BlcmF0b3JDaGFuZ2UoKTtcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlT25PcGVyYXRvckNoYW5nZSgpIHtcbiAgICBpZiAoIXRoaXMuZ2V0T3BlcmF0b3JIYXNWYWx1ZSgpKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMub3BlcmF0b3IgPT09ICdiZXR3ZWVuJykgdGhpcy52YWx1ZSA9IHsgZnJvbTogdGhpcy52YWx1ZT8uZnJvbSB8fCAwLCB0bzogdGhpcy52YWx1ZT8udG8gfHwgMCB9O1xuICB9XG59XG4iXX0=
@@ -24,7 +24,7 @@ export class AXPNumberWidgetEditComponent extends AXPWidgetEditBase {
24
24
  }
25
25
  <ax-clear-button *ngIf="clearButton"></ax-clear-button>
26
26
  </ax-number-box>
27
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i2.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i5.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i2.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "hasWheel", "thousandsSeparator", "padDecimalZeros", "step", "decimals", "decimalStep", "showSpinButtons", "minValue", "maxValue", "class"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "directive", type: i5.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
28
  }
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPNumberWidgetEditComponent, decorators: [{
30
30
  type: Component,
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
43
43
  imports: [CommonModule, AXNumberBoxModule, FormsModule, AXDecoratorModule, AXFormModule],
44
44
  }]
45
45
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXdpZGdldC1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvc2NoZW1hL3dpZGdldHMvbnVtYmVyL251bWJlci13aWRnZXQtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWdCN0MsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGlCQUFpQjtJQWRuRTs7UUFlSSxnQkFBVyxHQUFZLElBQUksQ0FBQztLQUMvQjs4R0FGWSw0QkFBNEI7a0dBQTVCLDRCQUE0Qix5R0FaM0I7Ozs7Ozs7S0FPVCwyREFHUyxZQUFZLGtJQUFFLGlCQUFpQiw4ZUFBRSxXQUFXLDhWQUFFLGlCQUFpQiw4SUFBRSxZQUFZOzsyRkFFOUUsNEJBQTRCO2tCQWR4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRTs7Ozs7OztLQU9UO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLENBQUM7aUJBQzNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEZvcm1Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWE51bWJlckJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9udW1iZXItYm94JztcbmltcG9ydCB7IEFYUFdpZGdldEVkaXRCYXNlIH0gZnJvbSAnLi4vLi4vd2lkZ2V0L3dpZGdldC1iYXNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtbnVtYmVyLXdpZGdldC1lZGl0JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxheC1udW1iZXItYm94IFsobmdNb2RlbCldPVwidmFsdWVcIiA+XG4gICAgICAgICAgICBAZm9yKHZsIG9mIHZhbGlkYXRpb25zO3RyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSAgW3J1bGVdPVwidmwucnVsZVwiIFtvcHRpb25zXT1cInZsLm9wdGlvbnNcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgfVxuICAgICAgICA8YXgtY2xlYXItYnV0dG9uICpuZ0lmPVwiY2xlYXJCdXR0b25cIj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYTnVtYmVyQm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYRm9ybU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE51bWJlcldpZGdldEVkaXRDb21wb25lbnQgZXh0ZW5kcyBBWFBXaWRnZXRFZGl0QmFzZSB7XG4gICAgY2xlYXJCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xufSJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXdpZGdldC1lZGl0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvc2NoZW1hL3dpZGdldHMvbnVtYmVyL251bWJlci13aWRnZXQtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQWdCN0MsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGlCQUFpQjtJQWRuRTs7UUFlSSxnQkFBVyxHQUFZLElBQUksQ0FBQztLQUMvQjs4R0FGWSw0QkFBNEI7a0dBQTVCLDRCQUE0Qix5R0FaM0I7Ozs7Ozs7S0FPVCwyREFHUyxZQUFZLGtJQUFFLGlCQUFpQiwwZkFBRSxXQUFXLDhWQUFFLGlCQUFpQiw4SUFBRSxZQUFZOzsyRkFFOUUsNEJBQTRCO2tCQWR4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFFBQVEsRUFBRTs7Ozs7OztLQU9UO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxZQUFZLENBQUM7aUJBQzNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEZvcm1Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZm9ybSc7XG5pbXBvcnQgeyBBWE51bWJlckJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9udW1iZXItYm94JztcbmltcG9ydCB7IEFYUFdpZGdldEVkaXRCYXNlIH0gZnJvbSAnLi4vLi4vd2lkZ2V0L3dpZGdldC1iYXNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtbnVtYmVyLXdpZGdldC1lZGl0JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgIDxheC1udW1iZXItYm94IFsobmdNb2RlbCldPVwidmFsdWVcIiA+XG4gICAgICAgICAgICBAZm9yKHZsIG9mIHZhbGlkYXRpb25zO3RyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGF4LXZhbGlkYXRpb24tcnVsZSAgW3J1bGVdPVwidmwucnVsZVwiIFtvcHRpb25zXT1cInZsLm9wdGlvbnNcIj48L2F4LXZhbGlkYXRpb24tcnVsZT5cbiAgICAgICAgfVxuICAgICAgICA8YXgtY2xlYXItYnV0dG9uICpuZ0lmPVwiY2xlYXJCdXR0b25cIj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICA8L2F4LW51bWJlci1ib3g+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYTnVtYmVyQm94TW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhEZWNvcmF0b3JNb2R1bGUsIEFYRm9ybU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE51bWJlcldpZGdldEVkaXRDb21wb25lbnQgZXh0ZW5kcyBBWFBXaWRnZXRFZGl0QmFzZSB7XG4gICAgY2xlYXJCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xufSJdfQ==
@@ -1,2 +1,4 @@
1
1
  export * from './lib/types';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcyc7XG4iXX0=
2
+ export * from './utils/countdown-timer';
3
+ export * from './utils/html-utils';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvY291bnRkb3duLXRpbWVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvaHRtbC11dGlscyc7XG4iXX0=
@@ -1,2 +1,13 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQVhQUGFydGlhbE5lc3RlZDxUPiA9IHtcbiAgICBbSyBpbiBrZXlvZiBUXT86IFRbS10gZXh0ZW5kcyBvYmplY3QgPyBBWFBQYXJ0aWFsTmVzdGVkPFRbS10+IDogVFtLXTtcbn07XG5cbmV4cG9ydCB0eXBlIEFYUE1ldGFEYXRhID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IHR5cGUgQVhQT3B0aW9uc0RhdGEgPSBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5leHBvcnQgdHlwZSBBWFBWYWxpZGF0aW9uUnVsZSA9IHsgcnVsZTogc3RyaW5nOyBtZXNzYWdlPzogc3RyaW5nOyBvcHRpb25zPzogYW55OyBkaXNhYmxlZD86IGJvb2xlYW4gfTtcblxuZXhwb3J0IHR5cGUgQVhQVmFsaWRhdGlvblJ1bGVzID0gQVhQVmFsaWRhdGlvblJ1bGVbXTsiXX0=
1
+ export function getNestedKeys(obj, prefix = '') {
2
+ let keys = [];
3
+ for (const key in obj) {
4
+ if (typeof obj[key] === 'object' && obj[key] !== null && !Array.isArray(obj[key])) {
5
+ keys = [...keys, ...getNestedKeys(obj[key], prefix + key + '.')];
6
+ }
7
+ else {
8
+ keys.push(prefix + key);
9
+ }
10
+ }
11
+ return keys;
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvcmUvc3JjL2xpYi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVEsRUFBRSxTQUFpQixFQUFFO0lBQ3ZELElBQUksSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUN4QixLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDaEYsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFYUFBhcnRpYWxOZXN0ZWQ8VD4gPSB7XG4gICAgW0sgaW4ga2V5b2YgVF0/OiBUW0tdIGV4dGVuZHMgb2JqZWN0ID8gQVhQUGFydGlhbE5lc3RlZDxUW0tdPiA6IFRbS107XG59O1xuXG5leHBvcnQgdHlwZSBBWFBNZXRhRGF0YSA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbmV4cG9ydCB0eXBlIEFYUE9wdGlvbnNEYXRhID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IHR5cGUgQVhQVmFsaWRhdGlvblJ1bGUgPSB7IHJ1bGU6IHN0cmluZzsgbWVzc2FnZT86IHN0cmluZzsgb3B0aW9ucz86IGFueTsgZGlzYWJsZWQ/OiBib29sZWFuIH07XG5cbmV4cG9ydCB0eXBlIEFYUFZhbGlkYXRpb25SdWxlcyA9IEFYUFZhbGlkYXRpb25SdWxlW107XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5lc3RlZEtleXMob2JqOiBhbnksIHByZWZpeDogc3RyaW5nID0gJycpOiBzdHJpbmdbXSB7XG4gICAgbGV0IGtleXM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnICYmIG9ialtrZXldICE9PSBudWxsICYmICFBcnJheS5pc0FycmF5KG9ialtrZXldKSkge1xuICAgICAgICAgICAga2V5cyA9IFsuLi5rZXlzLCAuLi5nZXROZXN0ZWRLZXlzKG9ialtrZXldLCBwcmVmaXggKyBrZXkgKyAnLicpXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGtleXMucHVzaChwcmVmaXggKyBrZXkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBrZXlzO1xufSJdfQ==
@@ -0,0 +1,49 @@
1
+ import { AXCalendarService } from '@acorex/core/date-time';
2
+ import { inject, Pipe, signal } from '@angular/core';
3
+ import { interval } from 'rxjs';
4
+ import { map, startWith } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ export class AXPCountdownPipe {
7
+ constructor() {
8
+ this.calendarService = inject(AXCalendarService);
9
+ this.countdownSignal = signal(this.setupTimer());
10
+ this.targetDate = 0;
11
+ this.prevValue = 0;
12
+ }
13
+ transform(value) {
14
+ if (this.prevValue != value) {
15
+ this.prevValue = value;
16
+ const expireTime = this.calendarService.calendar.add(new Date(), 'second', value).date;
17
+ this.updateTargetDate(expireTime.toISOString());
18
+ }
19
+ return this.countdownSignal();
20
+ }
21
+ setupTimer() {
22
+ return interval(1000).pipe(startWith(0), map(() => {
23
+ const diff = this.targetDate - new Date().getTime();
24
+ if (diff < 0) {
25
+ return "Time's up!";
26
+ }
27
+ const times = [86400, 3600, 60, 1].map((seconds) => Math.floor((diff / 1000 / seconds) % (seconds === 1 ? 60 : 24)));
28
+ const labels = ['d', 'h', 'm', 's'];
29
+ return times
30
+ .map((t, i) => (t > 0 || i === 3 ? `${t}${labels[i]}` : ''))
31
+ .join(' ')
32
+ .trim();
33
+ }));
34
+ }
35
+ updateTargetDate(value) {
36
+ this.targetDate = new Date(value).getTime();
37
+ }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPCountdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
39
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPCountdownPipe, isStandalone: true, name: "countdown", pure: false }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPCountdownPipe, decorators: [{
42
+ type: Pipe,
43
+ args: [{
44
+ name: 'countdown',
45
+ pure: false,
46
+ standalone: true,
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRkb3duLXRpbWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb3JlL3NyYy91dGlscy9jb3VudGRvd24tdGltZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT2hELE1BQU0sT0FBTyxnQkFBZ0I7SUFMN0I7UUFNVSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTVDLG9CQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFDdkIsY0FBUyxHQUFHLENBQUMsQ0FBQztLQWlDdkI7SUEvQkMsU0FBUyxDQUFDLEtBQWE7UUFDckIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdkYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sVUFBVTtRQUNoQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3hCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFDWixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BELElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNiLE9BQU8sWUFBWSxDQUFDO1lBQ3RCLENBQUM7WUFFRCxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNySCxNQUFNLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sS0FBSztpQkFDVCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUNULElBQUksRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ3BDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUMsQ0FBQzs4R0F0Q1UsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBTDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLElBQUksRUFBRSxLQUFLO29CQUNYLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0sIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW50ZXJ2YWwsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjb3VudGRvd24nLFxuICBwdXJlOiBmYWxzZSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQQ291bnRkb3duUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBwcml2YXRlIGNhbGVuZGFyU2VydmljZSA9IGluamVjdChBWENhbGVuZGFyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBjb3VudGRvd25TaWduYWwgPSBzaWduYWwodGhpcy5zZXR1cFRpbWVyKCkpO1xuXG4gIHByaXZhdGUgdGFyZ2V0RGF0ZTogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBwcmV2VmFsdWUgPSAwO1xuXG4gIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAodGhpcy5wcmV2VmFsdWUgIT0gdmFsdWUpIHtcbiAgICAgIHRoaXMucHJldlZhbHVlID0gdmFsdWU7XG4gICAgICBjb25zdCBleHBpcmVUaW1lID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY2FsZW5kYXIuYWRkKG5ldyBEYXRlKCksICdzZWNvbmQnLCB2YWx1ZSkuZGF0ZTtcbiAgICAgIHRoaXMudXBkYXRlVGFyZ2V0RGF0ZShleHBpcmVUaW1lLnRvSVNPU3RyaW5nKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb3VudGRvd25TaWduYWwoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBUaW1lcigpIHtcbiAgICByZXR1cm4gaW50ZXJ2YWwoMTAwMCkucGlwZShcbiAgICAgIHN0YXJ0V2l0aCgwKSxcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRpZmYgPSB0aGlzLnRhcmdldERhdGUgLSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgaWYgKGRpZmYgPCAwKSB7XG4gICAgICAgICAgcmV0dXJuIFwiVGltZSdzIHVwIVwiO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGltZXMgPSBbODY0MDAsIDM2MDAsIDYwLCAxXS5tYXAoKHNlY29uZHMpID0+IE1hdGguZmxvb3IoKGRpZmYgLyAxMDAwIC8gc2Vjb25kcykgJSAoc2Vjb25kcyA9PT0gMSA/IDYwIDogMjQpKSk7XG4gICAgICAgIGNvbnN0IGxhYmVscyA9IFsnZCcsICdoJywgJ20nLCAncyddO1xuICAgICAgICByZXR1cm4gdGltZXNcbiAgICAgICAgICAubWFwKCh0LCBpKSA9PiAodCA+IDAgfHwgaSA9PT0gMyA/IGAke3R9JHtsYWJlbHNbaV19YCA6ICcnKSlcbiAgICAgICAgICAuam9pbignICcpXG4gICAgICAgICAgLnRyaW0oKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVGFyZ2V0RGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy50YXJnZXREYXRlID0gbmV3IERhdGUodmFsdWUpLmdldFRpbWUoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,27 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ import * as i0 from "@angular/core";
4
+ export class AXPHtmlUtils {
5
+ constructor() {
6
+ this.sanitizer = inject(DomSanitizer);
7
+ }
8
+ getTextFromHTML(html) {
9
+ if (!html)
10
+ return '';
11
+ const tempElement = document.createElement('div');
12
+ tempElement.innerHTML = html;
13
+ return tempElement.innerText || tempElement.textContent || '';
14
+ }
15
+ getSafeHTMLfromHTML(html) {
16
+ if (!html)
17
+ return null;
18
+ return this.sanitizer.bypassSecurityTrustHtml(html);
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPHtmlUtils, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPHtmlUtils, providedIn: 'root' }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPHtmlUtils, decorators: [{
24
+ type: Injectable,
25
+ args: [{ providedIn: 'root' }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29yZS9zcmMvdXRpbHMvaHRtbC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUM7O0FBR25FLE1BQU0sT0FBTyxZQUFZO0lBRHpCO1FBRVUsY0FBUyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztLQVcxQztJQVZDLGVBQWUsQ0FBQyxJQUErQjtRQUM3QyxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3JCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDN0IsT0FBTyxXQUFXLENBQUMsU0FBUyxJQUFJLFdBQVcsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFDRCxtQkFBbUIsQ0FBQyxJQUErQjtRQUNqRCxJQUFJLENBQUMsSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDOzhHQVhVLFlBQVk7a0hBQVosWUFBWSxjQURDLE1BQU07OzJGQUNuQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYUEh0bWxVdGlscyB7XG4gIHByaXZhdGUgc2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIGdldFRleHRGcm9tSFRNTChodG1sOiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoIWh0bWwpIHJldHVybiAnJztcbiAgICBjb25zdCB0ZW1wRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRlbXBFbGVtZW50LmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHRlbXBFbGVtZW50LmlubmVyVGV4dCB8fCB0ZW1wRWxlbWVudC50ZXh0Q29udGVudCB8fCAnJztcbiAgfVxuICBnZXRTYWZlSFRNTGZyb21IVE1MKGh0bWw6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYWZlSHRtbCB8IG51bGwge1xuICAgIGlmICghaHRtbCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwpO1xuICB9XG59XG4iXX0=
@@ -40,13 +40,13 @@ export class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent
40
40
  const mode = 'column';
41
41
  this.component = await widget?.components[mode]?.component();
42
42
  //
43
- const props = widget?.components[mode].properties?.filter(c => c.schema.defaultValue)
43
+ const props = widget?.components[mode]?.properties?.filter(c => c.schema.defaultValue)
44
44
  .map(c => ({ [c.name]: c.schema.defaultValue }))
45
45
  .reduce((acc, curr) => {
46
46
  return { ...acc, ...curr };
47
47
  }, {});
48
48
  //
49
- this.mergedOptions.set(merge(widget?.defaultOptions, props, this.node.options) || {});
49
+ this.mergedOptions.set(merge(props, this.node.options) || {});
50
50
  const tokenValue = {
51
51
  path: this.node.path,
52
52
  options: this.mergedOptions()
@@ -114,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
114
114
  type: ViewChild,
115
115
  args: ['header']
116
116
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbHVtbi1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXIvc3JjL2xpYi9idWlsZGVyL3dpZGdldC1jb2x1bW4tcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSSxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQWlCdkMsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLDBCQUEwQjtJQWZoRjs7UUFpQlksb0JBQWUsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQVdyRCxrQkFBYSxHQUFHLE1BQU0sQ0FBTSxFQUFFLENBQUMsQ0FBQztRQXlDaEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0F5Q3pDO0lBM0ZDLElBQ1csSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsQ0FBc0I7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakIs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QVRsSDs7Ozs7Ozs7R0FRVDs7MkZBS1UsZ0NBQWdDO2tCQWY1QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRTs7Ozs7Ozs7R0FRVDtvQkFDRCxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxXQUFXLGtDQUFrQyxFQUFFLENBQUM7b0JBQzVILGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUM7aUJBQ3BCOzhCQU9ZLElBQUk7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBV2xCLGNBQWM7c0JBRHBCLEtBQUs7Z0JBSUUsc0JBQXNCO3NCQUQ3QixTQUFTO3VCQUFDLFFBQVE7Z0JBUVosWUFBWTtzQkFEbEIsS0FBSztnQkFJRSxvQkFBb0I7c0JBRDNCLFNBQVM7dUJBQUMsTUFBTTtnQkFRVixjQUFjO3NCQURwQixLQUFLO2dCQUlFLHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGF0YS10YWJsZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0Q29sdW1uTm9kZSwgQVhQX1dJREdFVF9DT0xVTU5fVE9LRU4gfSBmcm9tICcuL3dpZGdldC50eXBlcyc7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyU2VydmljZSB9IGZyb20gJy4vYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdpZGdldFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4vd2lkZ2V0LXJlZ2lzdGVyeS5zZXJ2aWNlJztcbmltcG9ydCB7IGdldCwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtd2lkZ2V0LWNvbHVtbi1yZW5kZXJlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXI+e3sgY2FwdGlvbiB9fTwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNjZWxsIGxldC1yb3c+XG4gICAgICBAaWYoY29tcG9uZW50ICYmIHdpZGdldEluamVjdG9yICYmIHJvdz8uZGF0YSkge1xuICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJjb21wb25lbnQ7IGluamVjdG9yOiB3aWRnZXRJbmplY3RvcjsgaW5wdXRzOiBnZXRJbnB1dHMocm93LmRhdGEpXCI+PC9uZy1jb250YWluZXI+XG4gICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3Rlcj48L25nLXRlbXBsYXRlPlxuICBgLFxuICBwcm92aWRlcnM6IFtBWFBMYXlvdXRCdWlsZGVyU2VydmljZSwgeyBwcm92aWRlOiBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCwgdXNlRXhpc3Rpbmc6IEFYUFdpZGdldENvbHVtblJlbmRlcmVyQ29tcG9uZW50IH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW5wdXRzOiBbJ2NhcHRpb24nXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV2lkZ2V0Q29sdW1uUmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBBWERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG5cbiAgcHJvdGVjdGVkIHdpZGdldFJlZ2lzdGVyeSA9IGluamVjdChBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UpO1xuXG4gIHByaXZhdGUgX25vZGU6IEFYUFdpZGdldENvbHVtbk5vZGU7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBnZXQgbm9kZSgpOiBBWFBXaWRnZXRDb2x1bW5Ob2RlIHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZTtcbiAgfVxuICBwdWJsaWMgc2V0IG5vZGUodjogQVhQV2lkZ2V0Q29sdW1uTm9kZSkge1xuICAgIHRoaXMuX25vZGUgPSB2O1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZWRPcHRpb25zID0gc2lnbmFsPGFueT4oe30pO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQFZpZXdDaGlsZCgnZm9vdGVyJylcbiAgcHJpdmF0ZSBfY29udGVudEZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgcmVuZGVyRm9vdGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmZvb3RlclRlbXBsYXRlID8/IHRoaXMuX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2NlbGwnKVxuICBwcml2YXRlIF9jb250ZW50Q2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgcmVuZGVyQ2VsbFRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5jZWxsVGVtcGxhdGUgPz8gdGhpcy5fY29udGVudENlbGxUZW1wbGF0ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQFZpZXdDaGlsZCgnaGVhZGVyJylcbiAgcHJpdmF0ZSBfY29udGVudEhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBnZXQgcmVuZGVySGVhZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmhlYWRlclRlbXBsYXRlID8/IHRoaXMuX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBsb2FkaW5nRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBjb2wtJHt0aGlzLm5vZGUucGF0aH1gO1xuICB9XG5cblxuICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcm90ZWN0ZWQgd2lkZ2V0SW5qZWN0b3IhOiBJbmplY3RvcjtcbiAgcHJvdGVjdGVkIGNvbXBvbmVudCE6IGFueTtcblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCB3aWRnZXQgPSB0aGlzLndpZGdldFJlZ2lzdGVyeS5yZXNvbHZlKHRoaXMubm9kZS50eXBlKTtcbiAgICBjb25zdCBtb2RlID0gJ2NvbHVtbidcbiAgICB0aGlzLmNvbXBvbmVudCA9IGF3YWl0IHdpZGdldD8uY29tcG9uZW50c1ttb2RlXT8uY29tcG9uZW50KCk7XG4gICAgLy9cbiAgICBjb25zdCBwcm9wcyA9IHdpZGdldD8uY29tcG9uZW50c1ttb2RlXS5wcm9wZXJ0aWVzPy5maWx0ZXIoYyA9PiBjLnNjaGVtYS5kZWZhdWx0VmFsdWUpXG4gICAgICAubWFwKGMgPT4gKHsgW2MubmFtZV06IGMuc2NoZW1hLmRlZmF1bHRWYWx1ZSB9KSlcbiAgICAgIC5yZWR1Y2UoKGFjYywgY3VycikgPT4ge1xuICAgICAgICByZXR1cm4geyAuLi5hY2MsIC4uLmN1cnIgfTtcbiAgICAgIH0sIHt9KTtcbiAgICAvL1xuICAgIHRoaXMubWVyZ2VkT3B0aW9ucy5zZXQoXG4gICAgICBtZXJnZSh3aWRnZXQ/LmRlZmF1bHRPcHRpb25zLCBwcm9wcywgdGhpcy5ub2RlLm9wdGlvbnMpIHx8IHt9XG4gICAgKTtcblxuICAgIGNvbnN0IHRva2VuVmFsdWUgPSB7XG4gICAgICBwYXRoOiB0aGlzLm5vZGUucGF0aCxcbiAgICAgIG9wdGlvbnM6IHRoaXMubWVyZ2VkT3B0aW9ucygpXG4gICAgfTtcbiAgICB0aGlzLndpZGdldEluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVhQX1dJREdFVF9DT0xVTU5fVE9LRU4sXG4gICAgICAgICAgdXNlVmFsdWU6IHRva2VuVmFsdWUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgdGhpcy53aWR0aCA9IHRoaXMubWVyZ2VkT3B0aW9ucygpLndpZHRoID8/ICcyMDBweCc7XG4gICAgdGhpcy5hbGxvd1Jlc2l6aW5nID0gdGhpcy5tZXJnZWRPcHRpb25zKCkuYWxsb3dSZXNpemluZyB8fCB0cnVlO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldElucHV0cyhkYXRhOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiB7IHJhd1ZhbHVlOiBnZXQoZGF0YSwgdGhpcy5ub2RlLnBhdGghKSB9O1xuICB9XG59XG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbHVtbi1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXIvc3JjL2xpYi9idWlsZGVyL3dpZGdldC1jb2x1bW4tcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSSxPQUFPLEVBQXVCLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQWlCdkMsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLDBCQUEwQjtJQWZoRjs7UUFpQlksb0JBQWUsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQVdyRCxrQkFBYSxHQUFHLE1BQU0sQ0FBTSxFQUFFLENBQUMsQ0FBQztRQXlDaEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0F5Q3pDO0lBM0ZDLElBQ1csSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFBVyxJQUFJLENBQUMsQ0FBc0I7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDakIs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QUtVLGdDQUFnQztrQkFmNUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUU7Ozs7Ozs7O0dBUVQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsV0FBVyxrQ0FBa0MsRUFBRSxDQUFDO29CQUM1SCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO2lCQUNwQjs4QkFPWSxJQUFJO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVdsQixjQUFjO3NCQURwQixLQUFLO2dCQUlFLHNCQUFzQjtzQkFEN0IsU0FBUzt1QkFBQyxRQUFRO2dCQVFaLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUUsb0JBQW9CO3NCQUQzQixTQUFTO3VCQUFDLE1BQU07Z0JBUVYsY0FBYztzQkFEcEIsS0FBSztnQkFJRSxzQkFBc0I7c0JBRDdCLFNBQVM7dUJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RhdGEtdGFibGUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdG9yLCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldENvbHVtbk5vZGUsIEFYUF9XSURHRVRfQ09MVU1OX1RPS0VOIH0gZnJvbSAnLi93aWRnZXQudHlwZXMnO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL2J1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBWFBXaWRnZXRSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL3dpZGdldC1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQgeyBnZXQsIG1lcmdlIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLXdpZGdldC1jb2x1bW4tcmVuZGVyZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyPnt7IGNhcHRpb24gfX08L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2VsbCBsZXQtcm93PlxuICAgICAgQGlmKGNvbXBvbmVudCAmJiB3aWRnZXRJbmplY3RvciAmJiByb3c/LmRhdGEpIHtcbiAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiY29tcG9uZW50OyBpbmplY3Rvcjogd2lkZ2V0SW5qZWN0b3I7IGlucHV0czogZ2V0SW5wdXRzKHJvdy5kYXRhKVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICNmb290ZXI+PC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbQVhQTGF5b3V0QnVpbGRlclNlcnZpY2UsIHsgcHJvdmlkZTogQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWFBXaWRnZXRDb2x1bW5SZW5kZXJlckNvbXBvbmVudCB9XSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogWydjYXB0aW9uJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdpZGdldENvbHVtblJlbmRlcmVyQ29tcG9uZW50IGV4dGVuZHMgQVhEYXRhVGFibGVDb2x1bW5Db21wb25lbnQge1xuXG4gIHByb3RlY3RlZCB3aWRnZXRSZWdpc3RlcnkgPSBpbmplY3QoQVhQV2lkZ2V0UmVnaXN0cnlTZXJ2aWNlKTtcblxuICBwcml2YXRlIF9ub2RlOiBBWFBXaWRnZXRDb2x1bW5Ob2RlO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgZ2V0IG5vZGUoKTogQVhQV2lkZ2V0Q29sdW1uTm9kZSB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGU7XG4gIH1cbiAgcHVibGljIHNldCBub2RlKHY6IEFYUFdpZGdldENvbHVtbk5vZGUpIHtcbiAgICB0aGlzLl9ub2RlID0gdjtcbiAgfVxuXG4gIHByaXZhdGUgbWVyZ2VkT3B0aW9ucyA9IHNpZ25hbDxhbnk+KHt9KTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRGb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckZvb3RlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5mb290ZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50Rm9vdGVyVGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBAVmlld0NoaWxkKCdjZWxsJylcbiAgcHJpdmF0ZSBfY29udGVudENlbGxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckNlbGxUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbFRlbXBsYXRlID8/IHRoaXMuX2NvbnRlbnRDZWxsVGVtcGxhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlcicpXG4gIHByaXZhdGUgX2NvbnRlbnRIZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgZ2V0IHJlbmRlckhlYWRlclRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJUZW1wbGF0ZSA/PyB0aGlzLl9jb250ZW50SGVhZGVyVGVtcGxhdGU7XG4gIH1cblxuICBnZXQgbG9hZGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgY29sLSR7dGhpcy5ub2RlLnBhdGh9YDtcbiAgfVxuXG5cbiAgcHJpdmF0ZSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgcHJvdGVjdGVkIHdpZGdldEluamVjdG9yITogSW5qZWN0b3I7XG4gIHByb3RlY3RlZCBjb21wb25lbnQhOiBhbnk7XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgY29uc3Qgd2lkZ2V0ID0gdGhpcy53aWRnZXRSZWdpc3RlcnkucmVzb2x2ZSh0aGlzLm5vZGUudHlwZSk7XG4gICAgY29uc3QgbW9kZSA9ICdjb2x1bW4nXG4gICAgdGhpcy5jb21wb25lbnQgPSBhd2FpdCB3aWRnZXQ/LmNvbXBvbmVudHNbbW9kZV0/LmNvbXBvbmVudCgpO1xuICAgIC8vXG4gICAgY29uc3QgcHJvcHMgPSB3aWRnZXQ/LmNvbXBvbmVudHNbbW9kZV0/LnByb3BlcnRpZXM/LmZpbHRlcihjID0+IGMuc2NoZW1hLmRlZmF1bHRWYWx1ZSlcbiAgICAgIC5tYXAoYyA9PiAoeyBbYy5uYW1lXTogYy5zY2hlbWEuZGVmYXVsdFZhbHVlIH0pKVxuICAgICAgLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiB7XG4gICAgICAgIHJldHVybiB7IC4uLmFjYywgLi4uY3VyciB9O1xuICAgICAgfSwge30pO1xuICAgIC8vXG4gICAgdGhpcy5tZXJnZWRPcHRpb25zLnNldChcbiAgICAgIG1lcmdlKHByb3BzLCB0aGlzLm5vZGUub3B0aW9ucykgfHwge31cbiAgICApO1xuXG4gICAgY29uc3QgdG9rZW5WYWx1ZSA9IHtcbiAgICAgIHBhdGg6IHRoaXMubm9kZS5wYXRoLFxuICAgICAgb3B0aW9uczogdGhpcy5tZXJnZWRPcHRpb25zKClcbiAgICB9O1xuICAgIHRoaXMud2lkZ2V0SW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBBWFBfV0lER0VUX0NPTFVNTl9UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogdG9rZW5WYWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLndpZHRoID0gdGhpcy5tZXJnZWRPcHRpb25zKCkud2lkdGggPz8gJzIwMHB4JztcbiAgICB0aGlzLmFsbG93UmVzaXppbmcgPSB0aGlzLm1lcmdlZE9wdGlvbnMoKS5hbGxvd1Jlc2l6aW5nIHx8IHRydWU7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0SW5wdXRzKGRhdGE6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHsgcmF3VmFsdWU6IGdldChkYXRhLCB0aGlzLm5vZGUucGF0aCEpIH07XG4gIH1cbn1cbiJdfQ==