myrta-ui 1.0.65 → 17.0.0-beta.1

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 (755) hide show
  1. package/esm2022/lib/components/alert/alert.component.mjs +43 -0
  2. package/{esm2020 → esm2022}/lib/components/alert/alert.enum.mjs +14 -14
  3. package/esm2022/lib/components/alert/alert.module.mjs +19 -0
  4. package/{esm2020 → esm2022}/lib/components/badges/badge.enum.mjs +31 -31
  5. package/esm2022/lib/components/badges/badges.module.mjs +30 -0
  6. package/esm2022/lib/components/badges/components/badge/badge.component.mjs +61 -0
  7. package/{esm2020 → esm2022}/lib/components/badges/components/badge-group/badge-group.component.mjs +11 -11
  8. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +28 -0
  9. package/{esm2020 → esm2022}/lib/components/breadcrumbs/breadcrumbs.enum.mjs +5 -5
  10. package/esm2022/lib/components/breadcrumbs/breadcrumbs.module.mjs +25 -0
  11. package/esm2022/lib/components/button/button.component.mjs +100 -0
  12. package/esm2022/lib/components/button/button.enum.mjs +27 -0
  13. package/esm2022/lib/components/button/button.module.mjs +21 -0
  14. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +29 -0
  15. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +99 -0
  16. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +21 -0
  17. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/constants/index.mjs +69 -69
  18. package/{esm2020 → esm2022}/lib/components/cdk-tooltip/models/tooltip-data.mjs +1 -1
  19. package/esm2022/lib/components/chars-left/chars-left.component.mjs +24 -0
  20. package/esm2022/lib/components/chars-left/chars-left.module.mjs +19 -0
  21. package/esm2022/lib/components/dropdown/directives/hide-after-click.directive.mjs +24 -0
  22. package/esm2022/lib/components/dropdown/dropdown.component.mjs +107 -0
  23. package/esm2022/lib/components/dropdown/dropdown.module.mjs +21 -0
  24. package/esm2022/lib/components/error-message/error-message.component.mjs +32 -0
  25. package/esm2022/lib/components/error-message/error-message.module.mjs +19 -0
  26. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +153 -0
  27. package/{esm2020 → esm2022}/lib/components/form/checkbox/checkbox.enum.mjs +4 -4
  28. package/esm2022/lib/components/form/checkbox/checkbox.module.mjs +22 -0
  29. package/esm2022/lib/components/form/checkbox-group/checkbox-group.component.mjs +178 -0
  30. package/esm2022/lib/components/form/checkbox-group/checkbox-group.module.mjs +47 -0
  31. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +48 -49
  32. package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +106 -0
  33. package/esm2022/lib/components/form/checkbox-group/helpers/change-group-value.mjs +20 -0
  34. package/esm2022/lib/components/form/checkbox-group/helpers/change-item-value.mjs +15 -0
  35. package/esm2022/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +27 -0
  36. package/esm2022/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +20 -0
  37. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +10 -10
  38. package/esm2022/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +50 -0
  39. package/{esm2020 → esm2022}/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +1 -1
  40. package/{esm2020 → esm2022}/lib/components/form/editor/config/default-inline-style.mjs +5 -5
  41. package/{esm2020 → esm2022}/lib/components/form/editor/config/index.mjs +1 -1
  42. package/{esm2020 → esm2022}/lib/components/form/editor/config/popups-toolbar.mjs +8 -8
  43. package/{esm2020 → esm2022}/lib/components/form/editor/config/toolbar.mjs +71 -71
  44. package/esm2022/lib/components/form/editor/editor.component.mjs +261 -0
  45. package/esm2022/lib/components/form/editor/editor.module.mjs +45 -0
  46. package/{esm2020 → esm2022}/lib/components/form/editor/models/toolbar.model.mjs +1 -1
  47. package/esm2022/lib/components/form/editor/modules/change-icon-module.mjs +92 -0
  48. package/{esm2020 → esm2022}/lib/components/form/input-date-time/constants/value-models.mjs +13 -13
  49. package/{esm2020 → esm2022}/lib/components/form/input-date-time/enum/timezone.mjs +6 -6
  50. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/clean-date.mjs +4 -4
  51. package/esm2022/lib/components/form/input-date-time/helpers/cursor-position.mjs +23 -0
  52. package/esm2022/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +10 -0
  53. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.mjs +9 -9
  54. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/validate-value-models.mjs +60 -60
  55. package/{esm2020 → esm2022}/lib/components/form/input-date-time/helpers/value-parser.mjs +38 -38
  56. package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +386 -0
  57. package/{esm2020 → esm2022}/lib/components/form/input-date-time/input-date-time.enum.mjs +6 -6
  58. package/esm2022/lib/components/form/input-date-time/input-date-time.module.mjs +46 -0
  59. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/constants/value-models.mjs +14 -14
  60. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/clean-date.mjs +4 -4
  61. package/esm2022/lib/components/form/input-datepicker/helpers/cursor-position.mjs +23 -0
  62. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +10 -0
  63. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-object.mjs +10 -0
  64. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/validate-value-models.mjs +74 -74
  65. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/helpers/value-parser.mjs +47 -47
  66. package/esm2022/lib/components/form/input-datepicker/input-datepicker.component.mjs +356 -0
  67. package/{esm2020 → esm2022}/lib/components/form/input-datepicker/input-datepicker.enum.mjs +6 -6
  68. package/esm2022/lib/components/form/input-datepicker/input-datepicker.module.mjs +46 -0
  69. package/{esm2020 → esm2022}/lib/components/form/input-file/enums/error-messages.enum.mjs +7 -7
  70. package/esm2022/lib/components/form/input-file/input-file.component.mjs +370 -0
  71. package/{esm2020 → esm2022}/lib/components/form/input-file/input-file.enum.mjs +7 -7
  72. package/esm2022/lib/components/form/input-file/input-file.module.mjs +26 -0
  73. package/esm2022/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +88 -0
  74. package/esm2022/lib/components/form/input-file-image/input-file-image.component.mjs +364 -0
  75. package/{esm2020 → esm2022}/lib/components/form/input-file-image/input-file-image.enum.mjs +9 -9
  76. package/esm2022/lib/components/form/input-file-image/input-file-image.module.mjs +51 -0
  77. package/esm2022/lib/components/form/input-number/input-number.component.mjs +267 -0
  78. package/{esm2020 → esm2022}/lib/components/form/input-number/input-number.enum.mjs +6 -6
  79. package/esm2022/lib/components/form/input-number/input-number.module.mjs +55 -0
  80. package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +370 -0
  81. package/{esm2020 → esm2022}/lib/components/form/input-opt/components/input-opt/input-opt.enum.mjs +7 -7
  82. package/esm2022/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +43 -0
  83. package/esm2022/lib/components/form/input-opt/input-opt.module.mjs +38 -0
  84. package/{esm2020 → esm2022}/lib/components/form/input-opt/models/input-opt.model.mjs +5 -5
  85. package/{esm2020 → esm2022}/lib/components/form/input-opt/services/input-opt.service.mjs +33 -33
  86. package/esm2022/lib/components/form/input-password/input-password.component.mjs +118 -0
  87. package/{esm2020 → esm2022}/lib/components/form/input-password/input-password.enum.mjs +6 -6
  88. package/esm2022/lib/components/form/input-password/input-password.module.mjs +36 -0
  89. package/esm2022/lib/components/form/input-phone/data/country-code.mjs +1331 -0
  90. package/esm2022/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +35 -0
  91. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/country-iso.enum.mjs +246 -246
  92. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/input-phone.enum.mjs +6 -6
  93. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/mask.enum.mjs +138 -138
  94. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/phone-number-format.enum.mjs +5 -5
  95. package/{esm2020 → esm2022}/lib/components/form/input-phone/enums/search-country-field.enum.mjs +7 -7
  96. package/esm2022/lib/components/form/input-phone/input-phone.component.mjs +679 -0
  97. package/esm2022/lib/components/form/input-phone/input-phone.module.mjs +50 -0
  98. package/esm2022/lib/components/form/input-phone/input-phone.validator.mjs +61 -0
  99. package/{esm2020 → esm2022}/lib/components/form/input-phone/interfaces/change-data.mjs +1 -1
  100. package/{esm2020 → esm2022}/lib/components/form/input-phone/models/country.model.mjs +1 -1
  101. package/esm2022/lib/components/form/input-search/input-search.component.mjs +167 -0
  102. package/{esm2020 → esm2022}/lib/components/form/input-search/input-search.enum.mjs +6 -6
  103. package/esm2022/lib/components/form/input-search/input-search.module.mjs +41 -0
  104. package/esm2022/lib/components/form/input-select/input-select.component.mjs +253 -0
  105. package/{esm2020 → esm2022}/lib/components/form/input-select/input-select.enum.mjs +5 -5
  106. package/esm2022/lib/components/form/input-select/input-select.module.mjs +45 -0
  107. package/{esm2020 → esm2022}/lib/components/form/input-tel/assets/base64.mjs +3 -3
  108. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/all-countries.mjs +1322 -1322
  109. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/country-iso.enum.mjs +246 -246
  110. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/phone-number-format.enum.mjs +5 -5
  111. package/{esm2020 → esm2022}/lib/components/form/input-tel/data/search-country-field.enum.mjs +7 -7
  112. package/esm2022/lib/components/form/input-tel/directives/input-tel.directive.mjs +66 -0
  113. package/{esm2020 → esm2022}/lib/components/form/input-tel/enums/input-phone.enum.mjs +6 -6
  114. package/esm2022/lib/components/form/input-tel/input-tel.component.mjs +400 -0
  115. package/esm2022/lib/components/form/input-tel/input-tel.module.mjs +43 -0
  116. package/{esm2020 → esm2022}/lib/components/form/input-tel/models/country.model.mjs +1 -1
  117. package/esm2022/lib/components/form/input-text/input-text.component.mjs +189 -0
  118. package/{esm2020 → esm2022}/lib/components/form/input-text/input-text.enum.mjs +14 -14
  119. package/esm2022/lib/components/form/input-text/input-text.module.mjs +49 -0
  120. package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +197 -0
  121. package/{esm2020 → esm2022}/lib/components/form/input-textarea/input-textarea.enum.mjs +6 -6
  122. package/esm2022/lib/components/form/input-textarea/input-textarea.module.mjs +49 -0
  123. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/constants/value-models.mjs +7 -7
  124. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/clean-date.mjs +4 -4
  125. package/esm2022/lib/components/form/input-timepicker/helpers/cursor-position.mjs +14 -0
  126. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.mjs +4 -4
  127. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/get-date-object.mjs +4 -4
  128. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/validate-value-models.mjs +29 -29
  129. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/helpers/value-parser.mjs +17 -17
  130. package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +292 -0
  131. package/{esm2020 → esm2022}/lib/components/form/input-timepicker/input-timepicker.enum.mjs +6 -6
  132. package/esm2022/lib/components/form/input-timepicker/input-timepicker.module.mjs +46 -0
  133. package/esm2022/lib/components/form/radio/radio.component.mjs +91 -0
  134. package/{esm2020 → esm2022}/lib/components/form/radio/radio.enum.mjs +4 -4
  135. package/esm2022/lib/components/form/radio/radio.module.mjs +20 -0
  136. package/esm2022/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +45 -0
  137. package/esm2022/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +66 -0
  138. package/esm2022/lib/components/form/radio-group/helpers/filter-search-group.mjs +27 -0
  139. package/{esm2020 → esm2022}/lib/components/form/radio-group/helpers/get-item-by-id.mjs +10 -10
  140. package/esm2022/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +27 -0
  141. package/{esm2020 → esm2022}/lib/components/form/radio-group/models/radio-group.model.mjs +1 -1
  142. package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +175 -0
  143. package/esm2022/lib/components/form/radio-group/radio-group.module.mjs +26 -0
  144. package/esm2022/lib/components/form/rating/rating.component.mjs +215 -0
  145. package/{esm2020 → esm2022}/lib/components/form/rating/rating.enum.mjs +15 -15
  146. package/esm2022/lib/components/form/rating/rating.module.mjs +25 -0
  147. package/esm2022/lib/components/form/switch/switch.component.mjs +95 -0
  148. package/{esm2020 → esm2022}/lib/components/form/switch/switch.enum.mjs +10 -10
  149. package/esm2022/lib/components/form/switch/switch.module.mjs +21 -0
  150. package/esm2022/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +39 -0
  151. package/esm2022/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +112 -0
  152. package/{esm2020 → esm2022}/lib/components/gallery/constants/custom-buttons-default.mjs +6 -6
  153. package/{esm2020 → esm2022}/lib/components/gallery/constants/thumbs-config-default.mjs +4 -4
  154. package/esm2022/lib/components/gallery/gallery.component.mjs +203 -0
  155. package/esm2022/lib/components/gallery/gallery.module.mjs +54 -0
  156. package/{esm2020 → esm2022}/lib/components/gallery/models/gallery-item.model.mjs +1 -1
  157. package/esm2022/lib/components/gallery/services/gallery.service.mjs +33 -0
  158. package/esm2022/lib/components/hint-error-message/hint-error-message.component.mjs +121 -0
  159. package/esm2022/lib/components/hint-error-message/hint-error-message.module.mjs +19 -0
  160. package/esm2022/lib/components/icon-button/icon-button.component.mjs +49 -0
  161. package/{esm2020 → esm2022}/lib/components/icon-button/icon-button.enum.mjs +15 -15
  162. package/esm2022/lib/components/icon-button/icon-button.module.mjs +19 -0
  163. package/esm2022/lib/components/label/label.component.mjs +143 -0
  164. package/esm2022/lib/components/label/label.module.mjs +25 -0
  165. package/esm2022/lib/components/link/link.component.mjs +48 -0
  166. package/{esm2020 → esm2022}/lib/components/link/link.enum.mjs +19 -19
  167. package/esm2022/lib/components/link/link.module.mjs +19 -0
  168. package/esm2022/lib/components/loader/loader.component.mjs +24 -0
  169. package/{esm2020 → esm2022}/lib/components/loader/loader.enum.mjs +19 -19
  170. package/esm2022/lib/components/loader/loader.module.mjs +19 -0
  171. package/esm2022/lib/components/modal/modal.component.mjs +137 -0
  172. package/{esm2020 → esm2022}/lib/components/modal/modal.emun.mjs +20 -20
  173. package/esm2022/lib/components/modal/modal.module.mjs +20 -0
  174. package/esm2022/lib/components/pages-nav/pages-nav.component.mjs +31 -0
  175. package/{esm2020 → esm2022}/lib/components/pages-nav/pages-nav.enum.mjs +5 -5
  176. package/esm2022/lib/components/pages-nav/pages-nav.module.mjs +24 -0
  177. package/esm2022/lib/components/paginator/paginator.component.mjs +140 -0
  178. package/{esm2020 → esm2022}/lib/components/paginator/paginator.enum.mjs +5 -5
  179. package/esm2022/lib/components/paginator/paginator.module.mjs +31 -0
  180. package/esm2022/lib/components/progress/progress.component.mjs +24 -0
  181. package/{esm2020 → esm2022}/lib/components/progress/progress.enum.mjs +7 -7
  182. package/esm2022/lib/components/progress/progress.module.mjs +19 -0
  183. package/esm2022/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +16 -0
  184. package/esm2022/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +16 -0
  185. package/esm2022/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +16 -0
  186. package/esm2022/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +16 -0
  187. package/esm2022/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +16 -0
  188. package/esm2022/lib/components/save-state/save-state.component.mjs +40 -0
  189. package/{esm2020 → esm2022}/lib/components/save-state/save-state.enum.mjs +1 -1
  190. package/esm2022/lib/components/save-state/save-state.module.mjs +37 -0
  191. package/esm2022/lib/components/stepper/stepper.component.mjs +52 -0
  192. package/{esm2020 → esm2022}/lib/components/stepper/stepper.enum.mjs +5 -5
  193. package/esm2022/lib/components/stepper/stepper.module.mjs +20 -0
  194. package/esm2022/lib/components/table/components/column/column.component.mjs +40 -0
  195. package/{esm2020 → esm2022}/lib/components/table/default/default-pager-settings.mjs +6 -6
  196. package/{esm2020 → esm2022}/lib/components/table/models/data-state-change.event.mjs +1 -1
  197. package/{esm2020 → esm2022}/lib/components/table/models/index.mjs +3 -3
  198. package/{esm2020 → esm2022}/lib/components/table/models/pager-settings.mjs +1 -1
  199. package/esm2022/lib/components/table/table.component.mjs +281 -0
  200. package/{esm2020 → esm2022}/lib/components/table/table.enum.mjs +7 -7
  201. package/esm2022/lib/components/table/table.module.mjs +50 -0
  202. package/esm2022/lib/components/tabs/tab/tab.component.mjs +33 -0
  203. package/esm2022/lib/components/tabs/tabs-group/tabs-group.component.mjs +27 -0
  204. package/{esm2020 → esm2022}/lib/components/tabs/tabs.enum.mjs +13 -13
  205. package/esm2022/lib/components/tabs/tabs.module.mjs +20 -0
  206. package/esm2022/lib/components/tooltip/services/tooltip.service.mjs +65 -0
  207. package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +36 -0
  208. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.mjs +10 -10
  209. package/esm2022/lib/components/tooltip/tooltip.component.mjs +59 -0
  210. package/{esm2020 → esm2022}/lib/components/tooltip/tooltip.enum.mjs +5 -5
  211. package/esm2022/lib/components/tooltip/tooltip.module.mjs +21 -0
  212. package/{esm2020 → esm2022}/lib/components/truncate-text/directives/truncate-text.directive.mjs +149 -139
  213. package/esm2022/lib/components/truncate-text/truncate-text.component.mjs +30 -0
  214. package/{esm2020 → esm2022}/lib/components/truncate-text/truncate-text.enum.mjs +1 -1
  215. package/esm2022/lib/components/truncate-text/truncate-text.module.mjs +21 -0
  216. package/esm2022/lib/components/warning-message/warning-message.component.mjs +29 -0
  217. package/esm2022/lib/components/warning-message/warning-message.module.mjs +19 -0
  218. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +25 -0
  219. package/{esm2020 → esm2022}/lib/components/wrappers/content-wrapper/content-wrapper.enum.mjs +5 -5
  220. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +19 -0
  221. package/esm2022/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +15 -0
  222. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +23 -0
  223. package/{esm2020 → esm2022}/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.mjs +6 -6
  224. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +20 -0
  225. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +99 -0
  226. package/{esm2020 → esm2022}/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.mjs +16 -16
  227. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +24 -0
  228. package/esm2022/lib/directives/autosize/autosize.directive.mjs +57 -0
  229. package/esm2022/lib/directives/autosize/autosize.module.mjs +24 -0
  230. package/esm2022/lib/directives/truncate/truncate.directive.mjs +34 -0
  231. package/esm2022/lib/directives/truncate/truncate.module.mjs +18 -0
  232. package/{esm2020 → esm2022}/lib/enums/typed.input.state.mjs +7 -7
  233. package/esm2022/lib/helpers/extension/input-file.extension.mjs +39 -0
  234. package/esm2022/lib/helpers/formatting-date.mjs +51 -0
  235. package/{esm2020 → esm2022}/lib/helpers/formatting-dates-from-array.mjs +18 -18
  236. package/{esm2020 → esm2022}/lib/helpers/formatting-iso-to-string.mjs +12 -12
  237. package/{esm2020 → esm2022}/lib/helpers/index.mjs +7 -7
  238. package/{esm2020 → esm2022}/lib/helpers/number-format.mjs +8 -8
  239. package/esm2022/lib/helpers/string-hash-code.mjs +17 -0
  240. package/{esm2020 → esm2022}/lib/helpers/word-form.mjs +10 -10
  241. package/{esm2020 → esm2022}/lib/models/index.mjs +2 -2
  242. package/{esm2020 → esm2022}/lib/models/input-file/input-file.model.mjs +1 -1
  243. package/{esm2020 → esm2022}/lib/models/typed-input-model.mjs +1 -1
  244. package/esm2022/lib/pipes/currency/currency.module.mjs +20 -0
  245. package/esm2022/lib/pipes/currency/currency.pipe.mjs +22 -0
  246. package/esm2022/lib/pipes/date/date-format.module.mjs +19 -0
  247. package/esm2022/lib/pipes/date/date-format.pipe.mjs +21 -0
  248. package/esm2022/lib/pipes/date/date-time-format.pipe.mjs +21 -0
  249. package/{esm2020 → esm2022}/lib/pipes/date/enums/timezone.mjs +9 -9
  250. package/{esm2020 → esm2022}/lib/pipes/date/helpers/change-timezone.mjs +22 -22
  251. package/esm2022/lib/pipes/phone/phone-format.module.mjs +18 -0
  252. package/esm2022/lib/pipes/phone/phone-format.pipe.mjs +23 -0
  253. package/esm2022/lib/pipes/safe/safe.module.mjs +20 -0
  254. package/esm2022/lib/pipes/safe/safe.pipe.mjs +21 -0
  255. package/esm2022/lib/pipes/truncate/truncate.module.mjs +20 -0
  256. package/esm2022/lib/pipes/truncate/truncate.pipe.mjs +23 -0
  257. package/esm2022/lib/services/file-upload/file-upload.service.mjs +27 -0
  258. package/{esm2020 → esm2022}/lib/services/index.mjs +6 -6
  259. package/esm2022/lib/services/modal-service/components/alert-modal/alert-modal.component.mjs +46 -0
  260. package/esm2022/lib/services/modal-service/components/confirm-modal/confirm-modal.component.mjs +50 -0
  261. package/esm2022/lib/services/modal-service/helpers/modal-default-config.mjs +14 -0
  262. package/esm2022/lib/services/modal-service/helpers/modal-ref.mjs +29 -0
  263. package/esm2022/lib/services/modal-service/helpers/modal-tokens.mjs +4 -0
  264. package/esm2022/lib/services/modal-service/helpers/modal.component.mjs +5 -0
  265. package/esm2022/lib/services/modal-service/modal-service.service.mjs +84 -0
  266. package/esm2022/lib/services/modal-service/models/modal-config.model.mjs +2 -0
  267. package/esm2022/lib/services/mrx-autosave/mrx-autosave.service.mjs +43 -0
  268. package/esm2022/lib/services/mrx-form-validator/mrx-form-validator.mjs +283 -0
  269. package/{esm2020 → esm2022}/lib/services/save-store/constants/constants.mjs +1 -1
  270. package/{esm2020 → esm2022}/lib/services/save-store/models/save-store.model.mjs +1 -1
  271. package/esm2022/lib/services/save-store/save-store.module.mjs +29 -0
  272. package/{esm2020 → esm2022}/lib/services/save-store/store/actions.mjs +22 -22
  273. package/esm2022/lib/services/save-store/store/effect.mjs +61 -0
  274. package/esm2022/lib/services/save-store/store/reducer.mjs +96 -0
  275. package/{esm2020 → esm2022}/lib/services/save-store/store/selectors.mjs +4 -4
  276. package/{esm2020 → esm2022}/lib/services/save-store/store/state.mjs +3 -3
  277. package/{esm2020 → esm2022}/myrta-ui.mjs +4 -4
  278. package/esm2022/public-api.mjs +176 -0
  279. package/fesm2022/myrta-ui.mjs +15458 -0
  280. package/fesm2022/myrta-ui.mjs.map +1 -0
  281. package/{myrta-ui.d.ts → index.d.ts} +5 -5
  282. package/lib/components/alert/alert.component.d.ts +17 -17
  283. package/lib/components/alert/alert.enum.d.ts +13 -13
  284. package/lib/components/alert/alert.module.d.ts +8 -8
  285. package/lib/components/badges/badge.enum.d.ts +38 -38
  286. package/lib/components/badges/badges.module.d.ts +9 -9
  287. package/lib/components/badges/components/badge/badge.component.d.ts +21 -21
  288. package/lib/components/badges/components/badge-group/badge-group.component.d.ts +5 -5
  289. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +11 -11
  290. package/lib/components/breadcrumbs/breadcrumbs.enum.d.ts +11 -11
  291. package/lib/components/breadcrumbs/breadcrumbs.module.d.ts +8 -8
  292. package/lib/components/button/button.component.d.ts +31 -31
  293. package/lib/components/button/button.enum.d.ts +27 -29
  294. package/lib/components/button/button.module.d.ts +10 -10
  295. package/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.d.ts +13 -13
  296. package/lib/components/cdk-tooltip/cdk-tooltip.directive.d.ts +24 -24
  297. package/lib/components/cdk-tooltip/cdk-tooltip.module.d.ts +10 -10
  298. package/lib/components/cdk-tooltip/constants/index.d.ts +7 -7
  299. package/lib/components/cdk-tooltip/models/tooltip-data.d.ts +6 -6
  300. package/lib/components/chars-left/chars-left.component.d.ts +9 -9
  301. package/lib/components/chars-left/chars-left.module.d.ts +8 -8
  302. package/lib/components/dropdown/directives/hide-after-click.directive.d.ts +9 -9
  303. package/lib/components/dropdown/dropdown.component.d.ts +26 -26
  304. package/lib/components/dropdown/dropdown.module.d.ts +10 -10
  305. package/lib/components/error-message/error-message.component.d.ts +10 -10
  306. package/lib/components/error-message/error-message.module.d.ts +8 -8
  307. package/lib/components/form/checkbox/checkbox.component.d.ts +48 -48
  308. package/lib/components/form/checkbox/checkbox.enum.d.ts +14 -14
  309. package/lib/components/form/checkbox/checkbox.module.d.ts +11 -11
  310. package/lib/components/form/checkbox-group/checkbox-group.component.d.ts +54 -54
  311. package/lib/components/form/checkbox-group/checkbox-group.module.d.ts +16 -16
  312. package/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.d.ts +19 -19
  313. package/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.d.ts +26 -26
  314. package/lib/components/form/checkbox-group/helpers/change-group-value.d.ts +3 -3
  315. package/lib/components/form/checkbox-group/helpers/change-item-value.d.ts +3 -3
  316. package/lib/components/form/checkbox-group/helpers/filter-search-group.d.ts +2 -2
  317. package/lib/components/form/checkbox-group/helpers/get-checked-items.d.ts +2 -2
  318. package/lib/components/form/checkbox-group/helpers/get-item-by-id.d.ts +2 -2
  319. package/lib/components/form/checkbox-group/helpers/get-sorted-list.d.ts +2 -2
  320. package/lib/components/form/checkbox-group/models/checkbox-group.model.d.ts +15 -15
  321. package/lib/components/form/editor/config/default-inline-style.d.ts +11 -11
  322. package/lib/components/form/editor/config/index.d.ts +1 -1
  323. package/lib/components/form/editor/config/popups-toolbar.d.ts +15 -15
  324. package/lib/components/form/editor/config/toolbar.d.ts +2 -2
  325. package/lib/components/form/editor/editor.component.d.ts +63 -49
  326. package/lib/components/form/editor/editor.module.d.ts +14 -14
  327. package/lib/components/form/editor/models/toolbar.model.d.ts +6 -6
  328. package/lib/components/form/editor/modules/change-icon-module.d.ts +1 -1
  329. package/lib/components/form/input-date-time/constants/value-models.d.ts +3 -3
  330. package/lib/components/form/input-date-time/enum/timezone.d.ts +6 -6
  331. package/lib/components/form/input-date-time/helpers/clean-date.d.ts +1 -1
  332. package/lib/components/form/input-date-time/helpers/cursor-position.d.ts +1 -1
  333. package/lib/components/form/input-date-time/helpers/formatting-from-models.d.ts +3 -3
  334. package/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.d.ts +2 -2
  335. package/lib/components/form/input-date-time/helpers/validate-value-models.d.ts +19 -19
  336. package/lib/components/form/input-date-time/helpers/value-parser.d.ts +4 -4
  337. package/lib/components/form/input-date-time/input-date-time.component.d.ts +72 -72
  338. package/lib/components/form/input-date-time/input-date-time.enum.d.ts +21 -21
  339. package/lib/components/form/input-date-time/input-date-time.module.d.ts +13 -13
  340. package/lib/components/form/input-datepicker/constants/value-models.d.ts +3 -3
  341. package/lib/components/form/input-datepicker/helpers/clean-date.d.ts +1 -1
  342. package/lib/components/form/input-datepicker/helpers/cursor-position.d.ts +1 -1
  343. package/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  344. package/lib/components/form/input-datepicker/helpers/get-date-object.d.ts +2 -2
  345. package/lib/components/form/input-datepicker/helpers/validate-value-models.d.ts +20 -20
  346. package/lib/components/form/input-datepicker/helpers/value-parser.d.ts +3 -3
  347. package/lib/components/form/input-datepicker/input-datepicker.component.d.ts +69 -69
  348. package/lib/components/form/input-datepicker/input-datepicker.enum.d.ts +12 -12
  349. package/lib/components/form/input-datepicker/input-datepicker.module.d.ts +13 -13
  350. package/lib/components/form/input-file/enums/error-messages.enum.d.ts +6 -6
  351. package/lib/components/form/input-file/input-file.component.d.ts +72 -72
  352. package/lib/components/form/input-file/input-file.enum.d.ts +7 -7
  353. package/lib/components/form/input-file/input-file.module.d.ts +13 -13
  354. package/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.d.ts +42 -39
  355. package/lib/components/form/input-file-image/input-file-image.component.d.ts +62 -62
  356. package/lib/components/form/input-file-image/input-file-image.enum.d.ts +8 -8
  357. package/lib/components/form/input-file-image/input-file-image.module.d.ts +15 -16
  358. package/lib/components/form/input-number/input-number.component.d.ts +64 -64
  359. package/lib/components/form/input-number/input-number.enum.d.ts +12 -12
  360. package/lib/components/form/input-number/input-number.module.d.ts +13 -13
  361. package/lib/components/form/input-opt/components/input-opt/input-opt.component.d.ts +77 -77
  362. package/lib/components/form/input-opt/components/input-opt/input-opt.enum.d.ts +7 -7
  363. package/lib/components/form/input-opt/directives/opt-pattern.directive.d.ts +8 -8
  364. package/lib/components/form/input-opt/input-opt.module.d.ts +11 -11
  365. package/lib/components/form/input-opt/models/input-opt.model.d.ts +26 -26
  366. package/lib/components/form/input-opt/services/input-opt.service.d.ts +11 -11
  367. package/lib/components/form/input-password/input-password.component.d.ts +38 -38
  368. package/lib/components/form/input-password/input-password.enum.d.ts +7 -7
  369. package/lib/components/form/input-password/input-password.module.d.ts +11 -11
  370. package/lib/components/form/input-phone/data/country-code.d.ts +6 -6
  371. package/lib/components/form/input-phone/directives/native-element-injector.directive.d.ts +11 -11
  372. package/lib/components/form/input-phone/enums/country-iso.enum.d.ts +245 -245
  373. package/lib/components/form/input-phone/enums/input-phone.enum.d.ts +11 -11
  374. package/lib/components/form/input-phone/enums/mask.enum.d.ts +8 -8
  375. package/lib/components/form/input-phone/enums/phone-number-format.enum.d.ts +4 -4
  376. package/lib/components/form/input-phone/enums/search-country-field.enum.d.ts +6 -6
  377. package/lib/components/form/input-phone/input-phone.component.d.ts +132 -132
  378. package/lib/components/form/input-phone/input-phone.module.d.ts +14 -14
  379. package/lib/components/form/input-phone/input-phone.validator.d.ts +5 -5
  380. package/lib/components/form/input-phone/interfaces/change-data.d.ts +9 -9
  381. package/lib/components/form/input-phone/models/country.model.d.ts +13 -13
  382. package/lib/components/form/input-search/input-search.component.d.ts +48 -48
  383. package/lib/components/form/input-search/input-search.enum.d.ts +6 -6
  384. package/lib/components/form/input-search/input-search.module.d.ts +12 -12
  385. package/lib/components/form/input-select/input-select.component.d.ts +84 -84
  386. package/lib/components/form/input-select/input-select.enum.d.ts +10 -10
  387. package/lib/components/form/input-select/input-select.module.d.ts +14 -14
  388. package/lib/components/form/input-tel/assets/base64.d.ts +3 -3
  389. package/lib/components/form/input-tel/data/all-countries.d.ts +1 -1
  390. package/lib/components/form/input-tel/data/country-iso.enum.d.ts +245 -245
  391. package/lib/components/form/input-tel/data/phone-number-format.enum.d.ts +5 -5
  392. package/lib/components/form/input-tel/data/search-country-field.enum.d.ts +6 -6
  393. package/lib/components/form/input-tel/directives/input-tel.directive.d.ts +21 -21
  394. package/lib/components/form/input-tel/enums/input-phone.enum.d.ts +11 -11
  395. package/lib/components/form/input-tel/input-tel.component.d.ts +89 -89
  396. package/lib/components/form/input-tel/input-tel.module.d.ts +13 -14
  397. package/lib/components/form/input-tel/models/country.model.d.ts +18 -18
  398. package/lib/components/form/input-text/input-text.component.d.ts +54 -54
  399. package/lib/components/form/input-text/input-text.enum.d.ts +19 -19
  400. package/lib/components/form/input-text/input-text.module.d.ts +14 -14
  401. package/lib/components/form/input-textarea/input-textarea.component.d.ts +54 -54
  402. package/lib/components/form/input-textarea/input-textarea.enum.d.ts +11 -11
  403. package/lib/components/form/input-textarea/input-textarea.module.d.ts +14 -14
  404. package/lib/components/form/input-timepicker/constants/value-models.d.ts +2 -2
  405. package/lib/components/form/input-timepicker/helpers/clean-date.d.ts +1 -1
  406. package/lib/components/form/input-timepicker/helpers/cursor-position.d.ts +1 -1
  407. package/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.d.ts +3 -3
  408. package/lib/components/form/input-timepicker/helpers/get-date-object.d.ts +2 -2
  409. package/lib/components/form/input-timepicker/helpers/validate-value-models.d.ts +10 -10
  410. package/lib/components/form/input-timepicker/helpers/value-parser.d.ts +2 -2
  411. package/lib/components/form/input-timepicker/input-timepicker.component.d.ts +60 -60
  412. package/lib/components/form/input-timepicker/input-timepicker.enum.d.ts +11 -11
  413. package/lib/components/form/input-timepicker/input-timepicker.module.d.ts +13 -13
  414. package/lib/components/form/radio/radio.component.d.ts +29 -29
  415. package/lib/components/form/radio/radio.enum.d.ts +4 -4
  416. package/lib/components/form/radio/radio.module.d.ts +9 -9
  417. package/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.d.ts +18 -18
  418. package/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.d.ts +26 -26
  419. package/lib/components/form/radio-group/helpers/filter-search-group.d.ts +2 -2
  420. package/lib/components/form/radio-group/helpers/get-item-by-id.d.ts +2 -2
  421. package/lib/components/form/radio-group/helpers/move-selected-to-first.d.ts +2 -2
  422. package/lib/components/form/radio-group/models/radio-group.model.d.ts +8 -8
  423. package/lib/components/form/radio-group/radio-group.component.d.ts +57 -57
  424. package/lib/components/form/radio-group/radio-group.module.d.ts +15 -15
  425. package/lib/components/form/rating/rating.component.d.ts +51 -51
  426. package/lib/components/form/rating/rating.enum.d.ts +27 -27
  427. package/lib/components/form/rating/rating.module.d.ts +9 -9
  428. package/lib/components/form/switch/switch.component.d.ts +32 -32
  429. package/lib/components/form/switch/switch.enum.d.ts +15 -15
  430. package/lib/components/form/switch/switch.module.d.ts +10 -10
  431. package/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.d.ts +21 -17
  432. package/lib/components/gallery/components/gallery-item/gallery-item.component.d.ts +38 -38
  433. package/lib/components/gallery/constants/custom-buttons-default.d.ts +3 -3
  434. package/lib/components/gallery/constants/thumbs-config-default.d.ts +2 -2
  435. package/lib/components/gallery/gallery.component.d.ts +38 -38
  436. package/lib/components/gallery/gallery.module.d.ts +16 -16
  437. package/lib/components/gallery/models/gallery-item.model.d.ts +24 -24
  438. package/lib/components/gallery/services/gallery.service.d.ts +14 -14
  439. package/lib/components/hint-error-message/hint-error-message.component.d.ts +21 -21
  440. package/lib/components/hint-error-message/hint-error-message.module.d.ts +8 -8
  441. package/lib/components/icon-button/icon-button.component.d.ts +19 -19
  442. package/lib/components/icon-button/icon-button.enum.d.ts +15 -15
  443. package/lib/components/icon-button/icon-button.module.d.ts +9 -9
  444. package/lib/components/label/label.component.d.ts +44 -44
  445. package/lib/components/label/label.module.d.ts +14 -14
  446. package/lib/components/link/link.component.d.ts +18 -18
  447. package/lib/components/link/link.enum.d.ts +19 -19
  448. package/lib/components/link/link.module.d.ts +8 -8
  449. package/lib/components/loader/loader.component.d.ts +10 -10
  450. package/lib/components/loader/loader.enum.d.ts +19 -19
  451. package/lib/components/loader/loader.module.d.ts +8 -8
  452. package/lib/components/modal/modal.component.d.ts +36 -37
  453. package/lib/components/modal/modal.emun.d.ts +20 -20
  454. package/lib/components/modal/modal.module.d.ts +9 -9
  455. package/lib/components/pages-nav/pages-nav.component.d.ts +12 -12
  456. package/lib/components/pages-nav/pages-nav.enum.d.ts +5 -5
  457. package/lib/components/pages-nav/pages-nav.module.d.ts +8 -8
  458. package/lib/components/paginator/paginator.component.d.ts +29 -29
  459. package/lib/components/paginator/paginator.enum.d.ts +10 -10
  460. package/lib/components/paginator/paginator.module.d.ts +10 -10
  461. package/lib/components/progress/progress.component.d.ts +10 -10
  462. package/lib/components/progress/progress.enum.d.ts +7 -7
  463. package/lib/components/progress/progress.module.d.ts +8 -8
  464. package/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.d.ts +8 -8
  465. package/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.d.ts +8 -8
  466. package/lib/components/save-state/components/save-state-editor/save-state-editor.component.d.ts +8 -8
  467. package/lib/components/save-state/components/save-state-input/save-state-input.component.d.ts +8 -8
  468. package/lib/components/save-state/components/save-state-switch/save-state-switch.component.d.ts +8 -8
  469. package/lib/components/save-state/save-state.component.d.ts +13 -13
  470. package/lib/components/save-state/save-state.enum.d.ts +1 -1
  471. package/lib/components/save-state/save-state.module.d.ts +13 -13
  472. package/lib/components/stepper/stepper.component.d.ts +17 -17
  473. package/lib/components/stepper/stepper.enum.d.ts +5 -5
  474. package/lib/components/stepper/stepper.module.d.ts +9 -9
  475. package/lib/components/table/components/column/column.component.d.ts +14 -14
  476. package/lib/components/table/default/default-pager-settings.d.ts +2 -2
  477. package/lib/components/table/models/data-state-change.event.d.ts +15 -15
  478. package/lib/components/table/models/index.d.ts +3 -3
  479. package/lib/components/table/models/pager-settings.d.ts +22 -22
  480. package/lib/components/table/table.component.d.ts +55 -55
  481. package/lib/components/table/table.enum.d.ts +32 -32
  482. package/lib/components/table/table.module.d.ts +14 -14
  483. package/lib/components/tabs/tab/tab.component.d.ts +13 -13
  484. package/lib/components/tabs/tabs-group/tabs-group.component.d.ts +11 -11
  485. package/lib/components/tabs/tabs.enum.d.ts +11 -11
  486. package/lib/components/tabs/tabs.module.d.ts +9 -9
  487. package/lib/components/tooltip/services/tooltip.service.d.ts +18 -18
  488. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.d.ts +15 -15
  489. package/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.d.ts +10 -10
  490. package/lib/components/tooltip/tooltip.component.d.ts +18 -18
  491. package/lib/components/tooltip/tooltip.enum.d.ts +4 -4
  492. package/lib/components/tooltip/tooltip.module.d.ts +10 -10
  493. package/lib/components/truncate-text/directives/truncate-text.directive.d.ts +37 -37
  494. package/lib/components/truncate-text/truncate-text.component.d.ts +12 -12
  495. package/lib/components/truncate-text/truncate-text.enum.d.ts +2 -2
  496. package/lib/components/truncate-text/truncate-text.module.d.ts +10 -10
  497. package/lib/components/warning-message/warning-message.component.d.ts +9 -9
  498. package/lib/components/warning-message/warning-message.module.d.ts +8 -8
  499. package/lib/components/wrappers/content-wrapper/content-wrapper.component.d.ts +10 -10
  500. package/lib/components/wrappers/content-wrapper/content-wrapper.enum.d.ts +5 -5
  501. package/lib/components/wrappers/content-wrapper/content-wrapper.module.d.ts +8 -8
  502. package/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.d.ts +6 -6
  503. package/lib/components/wrappers/controls-wrapper/controls-wrapper.component.d.ts +10 -10
  504. package/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.d.ts +6 -6
  505. package/lib/components/wrappers/controls-wrapper/controls-wrapper.module.d.ts +9 -9
  506. package/lib/components/wrappers/widget-wrapper/widget-wrapper.component.d.ts +26 -26
  507. package/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.d.ts +15 -15
  508. package/lib/components/wrappers/widget-wrapper/widget-wrapper.module.d.ts +8 -8
  509. package/lib/directives/autosize/autosize.directive.d.ts +16 -16
  510. package/lib/directives/autosize/autosize.module.d.ts +8 -8
  511. package/lib/directives/truncate/truncate.directive.d.ts +12 -12
  512. package/lib/directives/truncate/truncate.module.d.ts +8 -8
  513. package/lib/enums/typed.input.state.d.ts +6 -6
  514. package/lib/helpers/extension/input-file.extension.d.ts +4 -4
  515. package/lib/helpers/formatting-date.d.ts +9 -9
  516. package/lib/helpers/formatting-dates-from-array.d.ts +2 -2
  517. package/lib/helpers/formatting-iso-to-string.d.ts +2 -2
  518. package/lib/helpers/index.d.ts +7 -7
  519. package/lib/helpers/number-format.d.ts +6 -6
  520. package/lib/helpers/string-hash-code.d.ts +2 -2
  521. package/lib/helpers/word-form.d.ts +7 -7
  522. package/lib/models/index.d.ts +2 -2
  523. package/lib/models/input-file/input-file.model.d.ts +22 -22
  524. package/lib/models/typed-input-model.d.ts +16 -16
  525. package/lib/pipes/currency/currency.module.d.ts +8 -8
  526. package/lib/pipes/currency/currency.pipe.d.ts +7 -7
  527. package/lib/pipes/date/date-format.module.d.ts +9 -9
  528. package/lib/pipes/date/date-format.pipe.d.ts +9 -9
  529. package/lib/pipes/date/date-time-format.pipe.d.ts +9 -9
  530. package/lib/pipes/date/enums/timezone.d.ts +8 -8
  531. package/lib/pipes/date/helpers/change-timezone.d.ts +2 -2
  532. package/lib/pipes/phone/phone-format.module.d.ts +8 -8
  533. package/lib/pipes/phone/phone-format.pipe.d.ts +8 -8
  534. package/lib/pipes/safe/safe.module.d.ts +8 -8
  535. package/lib/pipes/safe/safe.pipe.d.ts +10 -10
  536. package/lib/pipes/truncate/truncate.module.d.ts +8 -8
  537. package/lib/pipes/truncate/truncate.pipe.d.ts +7 -7
  538. package/lib/services/file-upload/file-upload.service.d.ts +12 -12
  539. package/lib/services/index.d.ts +6 -6
  540. package/lib/services/modal-service/components/alert-modal/alert-modal.component.d.ts +20 -0
  541. package/lib/services/modal-service/components/confirm-modal/confirm-modal.component.d.ts +21 -0
  542. package/lib/services/modal-service/helpers/modal-default-config.d.ts +3 -0
  543. package/lib/services/modal-service/helpers/modal-ref.d.ts +11 -0
  544. package/lib/services/modal-service/helpers/modal-tokens.d.ts +3 -0
  545. package/lib/services/modal-service/helpers/modal.component.d.ts +4 -0
  546. package/lib/services/modal-service/modal-service.service.d.ts +20 -0
  547. package/lib/services/modal-service/models/modal-config.model.d.ts +14 -0
  548. package/lib/services/mrx-autosave/mrx-autosave.service.d.ts +19 -19
  549. package/lib/services/mrx-form-validator/mrx-form-validator.d.ts +51 -51
  550. package/lib/services/save-store/constants/constants.d.ts +1 -1
  551. package/lib/services/save-store/models/save-store.model.d.ts +4 -4
  552. package/lib/services/save-store/save-store.module.d.ts +9 -9
  553. package/lib/services/save-store/store/actions.d.ts +21 -21
  554. package/lib/services/save-store/store/effect.d.ts +10 -16
  555. package/lib/services/save-store/store/reducer.d.ts +3 -3
  556. package/lib/services/save-store/store/selectors.d.ts +3 -3
  557. package/lib/services/save-store/store/state.d.ts +11 -11
  558. package/package.json +29 -39
  559. package/public-api.d.ts +162 -175
  560. package/esm2020/lib/components/alert/alert.component.mjs +0 -45
  561. package/esm2020/lib/components/alert/alert.module.mjs +0 -19
  562. package/esm2020/lib/components/badges/badges.module.mjs +0 -32
  563. package/esm2020/lib/components/badges/components/badge/badge.component.mjs +0 -61
  564. package/esm2020/lib/components/breadcrumbs/breadcrumbs.component.mjs +0 -29
  565. package/esm2020/lib/components/breadcrumbs/breadcrumbs.module.mjs +0 -27
  566. package/esm2020/lib/components/button/button.component.mjs +0 -102
  567. package/esm2020/lib/components/button/button.enum.mjs +0 -29
  568. package/esm2020/lib/components/button/button.module.mjs +0 -21
  569. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +0 -28
  570. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +0 -95
  571. package/esm2020/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +0 -21
  572. package/esm2020/lib/components/chars-left/chars-left.component.mjs +0 -26
  573. package/esm2020/lib/components/chars-left/chars-left.module.mjs +0 -19
  574. package/esm2020/lib/components/context-menu/components/context-menu/context-menu.component.mjs +0 -121
  575. package/esm2020/lib/components/context-menu/components/context-menu-content/context-menu-content.component.mjs +0 -343
  576. package/esm2020/lib/components/context-menu/context-menu.module.mjs +0 -51
  577. package/esm2020/lib/components/context-menu/context-menu.options.mjs +0 -2
  578. package/esm2020/lib/components/context-menu/context-menu.tokens.mjs +0 -3
  579. package/esm2020/lib/components/context-menu/directives/context-menu/context-menu.directive.mjs +0 -36
  580. package/esm2020/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.mjs +0 -61
  581. package/esm2020/lib/components/context-menu/models/context-menu.enum.mjs +0 -2
  582. package/esm2020/lib/components/context-menu/services/context-menu/context-menu-fixed.service.mjs +0 -103
  583. package/esm2020/lib/components/context-menu/services/context-menu/context-menu.service.mjs +0 -223
  584. package/esm2020/lib/components/dropdown/directives/hide-after-click.directive.mjs +0 -23
  585. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -104
  586. package/esm2020/lib/components/dropdown/dropdown.module.mjs +0 -21
  587. package/esm2020/lib/components/error-message/error-message.component.mjs +0 -34
  588. package/esm2020/lib/components/error-message/error-message.module.mjs +0 -19
  589. package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -150
  590. package/esm2020/lib/components/form/checkbox/checkbox.module.mjs +0 -22
  591. package/esm2020/lib/components/form/checkbox-group/checkbox-group.component.mjs +0 -178
  592. package/esm2020/lib/components/form/checkbox-group/checkbox-group.module.mjs +0 -49
  593. package/esm2020/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +0 -103
  594. package/esm2020/lib/components/form/checkbox-group/helpers/change-group-value.mjs +0 -20
  595. package/esm2020/lib/components/form/checkbox-group/helpers/change-item-value.mjs +0 -15
  596. package/esm2020/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +0 -27
  597. package/esm2020/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +0 -20
  598. package/esm2020/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +0 -50
  599. package/esm2020/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.mjs +0 -33
  600. package/esm2020/lib/components/form/document-editor/document-editor.component.mjs +0 -105
  601. package/esm2020/lib/components/form/document-editor/document-editor.module.mjs +0 -44
  602. package/esm2020/lib/components/form/document-editor/helpers/transform-sysname.mjs +0 -41
  603. package/esm2020/lib/components/form/document-editor/models/document-editor-short-codes.enum.mjs +0 -2
  604. package/esm2020/lib/components/form/editor/editor.component.mjs +0 -240
  605. package/esm2020/lib/components/form/editor/editor.module.mjs +0 -47
  606. package/esm2020/lib/components/form/editor/modules/change-icon-module.mjs +0 -92
  607. package/esm2020/lib/components/form/input-date-time/helpers/cursor-position.mjs +0 -23
  608. package/esm2020/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +0 -10
  609. package/esm2020/lib/components/form/input-date-time/input-date-time.component.mjs +0 -381
  610. package/esm2020/lib/components/form/input-date-time/input-date-time.module.mjs +0 -48
  611. package/esm2020/lib/components/form/input-datepicker/helpers/cursor-position.mjs +0 -23
  612. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +0 -10
  613. package/esm2020/lib/components/form/input-datepicker/helpers/get-date-object.mjs +0 -10
  614. package/esm2020/lib/components/form/input-datepicker/input-datepicker.component.mjs +0 -354
  615. package/esm2020/lib/components/form/input-datepicker/input-datepicker.module.mjs +0 -48
  616. package/esm2020/lib/components/form/input-file/input-file.component.mjs +0 -362
  617. package/esm2020/lib/components/form/input-file/input-file.module.mjs +0 -26
  618. package/esm2020/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +0 -66
  619. package/esm2020/lib/components/form/input-file-image/input-file-image.component.mjs +0 -354
  620. package/esm2020/lib/components/form/input-file-image/input-file-image.module.mjs +0 -60
  621. package/esm2020/lib/components/form/input-number/input-number.component.mjs +0 -258
  622. package/esm2020/lib/components/form/input-number/input-number.module.mjs +0 -57
  623. package/esm2020/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +0 -361
  624. package/esm2020/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +0 -44
  625. package/esm2020/lib/components/form/input-opt/input-opt.module.mjs +0 -40
  626. package/esm2020/lib/components/form/input-password/input-password.component.mjs +0 -119
  627. package/esm2020/lib/components/form/input-password/input-password.module.mjs +0 -38
  628. package/esm2020/lib/components/form/input-phone/data/country-code.mjs +0 -1333
  629. package/esm2020/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +0 -33
  630. package/esm2020/lib/components/form/input-phone/input-phone.component.mjs +0 -671
  631. package/esm2020/lib/components/form/input-phone/input-phone.module.mjs +0 -52
  632. package/esm2020/lib/components/form/input-phone/input-phone.validator.mjs +0 -61
  633. package/esm2020/lib/components/form/input-search/input-search.component.mjs +0 -166
  634. package/esm2020/lib/components/form/input-search/input-search.module.mjs +0 -43
  635. package/esm2020/lib/components/form/input-select/input-select.component.mjs +0 -243
  636. package/esm2020/lib/components/form/input-select/input-select.module.mjs +0 -47
  637. package/esm2020/lib/components/form/input-tel/directives/input-tel.directive.mjs +0 -62
  638. package/esm2020/lib/components/form/input-tel/input-tel.component.mjs +0 -389
  639. package/esm2020/lib/components/form/input-tel/input-tel.module.mjs +0 -49
  640. package/esm2020/lib/components/form/input-text/input-text.component.mjs +0 -188
  641. package/esm2020/lib/components/form/input-text/input-text.module.mjs +0 -51
  642. package/esm2020/lib/components/form/input-textarea/input-textarea.component.mjs +0 -195
  643. package/esm2020/lib/components/form/input-textarea/input-textarea.module.mjs +0 -50
  644. package/esm2020/lib/components/form/input-timepicker/helpers/cursor-position.mjs +0 -14
  645. package/esm2020/lib/components/form/input-timepicker/input-timepicker.component.mjs +0 -290
  646. package/esm2020/lib/components/form/input-timepicker/input-timepicker.module.mjs +0 -48
  647. package/esm2020/lib/components/form/radio/radio.component.mjs +0 -91
  648. package/esm2020/lib/components/form/radio/radio.module.mjs +0 -20
  649. package/esm2020/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +0 -46
  650. package/esm2020/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +0 -63
  651. package/esm2020/lib/components/form/radio-group/helpers/filter-search-group.mjs +0 -27
  652. package/esm2020/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +0 -27
  653. package/esm2020/lib/components/form/radio-group/radio-group.component.mjs +0 -175
  654. package/esm2020/lib/components/form/radio-group/radio-group.module.mjs +0 -26
  655. package/esm2020/lib/components/form/rating/rating.component.mjs +0 -217
  656. package/esm2020/lib/components/form/rating/rating.module.mjs +0 -27
  657. package/esm2020/lib/components/form/switch/switch.component.mjs +0 -97
  658. package/esm2020/lib/components/form/switch/switch.module.mjs +0 -21
  659. package/esm2020/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +0 -22
  660. package/esm2020/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +0 -102
  661. package/esm2020/lib/components/gallery/gallery.component.mjs +0 -197
  662. package/esm2020/lib/components/gallery/gallery.module.mjs +0 -56
  663. package/esm2020/lib/components/gallery/services/gallery.service.mjs +0 -31
  664. package/esm2020/lib/components/hint-error-message/hint-error-message.component.mjs +0 -123
  665. package/esm2020/lib/components/hint-error-message/hint-error-message.module.mjs +0 -19
  666. package/esm2020/lib/components/icon-button/icon-button.component.mjs +0 -51
  667. package/esm2020/lib/components/icon-button/icon-button.module.mjs +0 -19
  668. package/esm2020/lib/components/label/label.component.mjs +0 -141
  669. package/esm2020/lib/components/label/label.module.mjs +0 -25
  670. package/esm2020/lib/components/link/link.component.mjs +0 -50
  671. package/esm2020/lib/components/link/link.module.mjs +0 -19
  672. package/esm2020/lib/components/loader/loader.component.mjs +0 -26
  673. package/esm2020/lib/components/loader/loader.module.mjs +0 -19
  674. package/esm2020/lib/components/modal/modal.component.mjs +0 -146
  675. package/esm2020/lib/components/modal/modal.module.mjs +0 -20
  676. package/esm2020/lib/components/pages-nav/pages-nav.component.mjs +0 -33
  677. package/esm2020/lib/components/pages-nav/pages-nav.module.mjs +0 -26
  678. package/esm2020/lib/components/paginator/paginator.component.mjs +0 -142
  679. package/esm2020/lib/components/paginator/paginator.module.mjs +0 -33
  680. package/esm2020/lib/components/progress/progress.component.mjs +0 -26
  681. package/esm2020/lib/components/progress/progress.module.mjs +0 -19
  682. package/esm2020/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +0 -15
  683. package/esm2020/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +0 -15
  684. package/esm2020/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +0 -15
  685. package/esm2020/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +0 -15
  686. package/esm2020/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +0 -15
  687. package/esm2020/lib/components/save-state/save-state.component.mjs +0 -39
  688. package/esm2020/lib/components/save-state/save-state.module.mjs +0 -39
  689. package/esm2020/lib/components/stepper/stepper.component.mjs +0 -54
  690. package/esm2020/lib/components/stepper/stepper.module.mjs +0 -20
  691. package/esm2020/lib/components/table/components/column/column.component.mjs +0 -40
  692. package/esm2020/lib/components/table/table.component.mjs +0 -274
  693. package/esm2020/lib/components/table/table.module.mjs +0 -52
  694. package/esm2020/lib/components/tabs/tab/tab.component.mjs +0 -31
  695. package/esm2020/lib/components/tabs/tabs-group/tabs-group.component.mjs +0 -29
  696. package/esm2020/lib/components/tabs/tabs.module.mjs +0 -20
  697. package/esm2020/lib/components/tooltip/services/tooltip.service.mjs +0 -67
  698. package/esm2020/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +0 -38
  699. package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -60
  700. package/esm2020/lib/components/tooltip/tooltip.module.mjs +0 -21
  701. package/esm2020/lib/components/truncate-text/truncate-text.component.mjs +0 -30
  702. package/esm2020/lib/components/truncate-text/truncate-text.module.mjs +0 -21
  703. package/esm2020/lib/components/warning-message/warning-message.component.mjs +0 -31
  704. package/esm2020/lib/components/warning-message/warning-message.module.mjs +0 -19
  705. package/esm2020/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +0 -26
  706. package/esm2020/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +0 -19
  707. package/esm2020/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +0 -17
  708. package/esm2020/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +0 -24
  709. package/esm2020/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +0 -20
  710. package/esm2020/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +0 -96
  711. package/esm2020/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +0 -26
  712. package/esm2020/lib/directives/autosize/autosize.directive.mjs +0 -55
  713. package/esm2020/lib/directives/autosize/autosize.module.mjs +0 -26
  714. package/esm2020/lib/directives/truncate/truncate.directive.mjs +0 -32
  715. package/esm2020/lib/directives/truncate/truncate.module.mjs +0 -18
  716. package/esm2020/lib/helpers/extension/input-file.extension.mjs +0 -39
  717. package/esm2020/lib/helpers/formatting-date.mjs +0 -51
  718. package/esm2020/lib/helpers/string-hash-code.mjs +0 -17
  719. package/esm2020/lib/pipes/currency/currency.module.mjs +0 -22
  720. package/esm2020/lib/pipes/currency/currency.pipe.mjs +0 -22
  721. package/esm2020/lib/pipes/date/date-format.module.mjs +0 -19
  722. package/esm2020/lib/pipes/date/date-format.pipe.mjs +0 -21
  723. package/esm2020/lib/pipes/date/date-time-format.pipe.mjs +0 -21
  724. package/esm2020/lib/pipes/phone/phone-format.module.mjs +0 -18
  725. package/esm2020/lib/pipes/phone/phone-format.pipe.mjs +0 -23
  726. package/esm2020/lib/pipes/safe/safe.module.mjs +0 -22
  727. package/esm2020/lib/pipes/safe/safe.pipe.mjs +0 -20
  728. package/esm2020/lib/pipes/truncate/truncate.module.mjs +0 -22
  729. package/esm2020/lib/pipes/truncate/truncate.pipe.mjs +0 -23
  730. package/esm2020/lib/services/file-upload/file-upload.service.mjs +0 -26
  731. package/esm2020/lib/services/mrx-autosave/mrx-autosave.service.mjs +0 -44
  732. package/esm2020/lib/services/mrx-form-validator/mrx-form-validator.mjs +0 -283
  733. package/esm2020/lib/services/save-store/save-store.module.mjs +0 -31
  734. package/esm2020/lib/services/save-store/store/effect.mjs +0 -31
  735. package/esm2020/lib/services/save-store/store/reducer.mjs +0 -79
  736. package/esm2020/public-api.mjs +0 -185
  737. package/fesm2015/myrta-ui.mjs +0 -16173
  738. package/fesm2015/myrta-ui.mjs.map +0 -1
  739. package/fesm2020/myrta-ui.mjs +0 -16212
  740. package/fesm2020/myrta-ui.mjs.map +0 -1
  741. package/lib/components/context-menu/components/context-menu/context-menu.component.d.ts +0 -34
  742. package/lib/components/context-menu/components/context-menu-content/context-menu-content.component.d.ts +0 -62
  743. package/lib/components/context-menu/context-menu.module.d.ts +0 -15
  744. package/lib/components/context-menu/context-menu.options.d.ts +0 -4
  745. package/lib/components/context-menu/context-menu.tokens.d.ts +0 -2
  746. package/lib/components/context-menu/directives/context-menu/context-menu.directive.d.ts +0 -12
  747. package/lib/components/context-menu/directives/context-menu-item/context-menu-item.directive.d.ts +0 -30
  748. package/lib/components/context-menu/models/context-menu.enum.d.ts +0 -11
  749. package/lib/components/context-menu/services/context-menu/context-menu-fixed.service.d.ts +0 -11
  750. package/lib/components/context-menu/services/context-menu/context-menu.service.d.ts +0 -56
  751. package/lib/components/form/document-editor/components/document-editor-preview-modal/document-editor-preview-modal.component.d.ts +0 -22
  752. package/lib/components/form/document-editor/document-editor.component.d.ts +0 -37
  753. package/lib/components/form/document-editor/document-editor.module.d.ts +0 -13
  754. package/lib/components/form/document-editor/helpers/transform-sysname.d.ts +0 -5
  755. package/lib/components/form/document-editor/models/document-editor-short-codes.enum.d.ts +0 -6
@@ -0,0 +1,112 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { GalleryConfirmModalComponent } from '../gallery-confirm-modal/gallery-confirm-modal.component';
3
+ import { autosaveAddId, autosaveErrorFor, autosaveStartFor, autosaveSuccessFor, MrxAutosaveService, selectFields } from '../../../../services';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/gallery.service";
6
+ import * as i2 from "../../../../services/modal-service/modal-service.service";
7
+ import * as i3 from "@ngrx/store";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "@angular/forms";
10
+ import * as i6 from "../../../form/input-textarea/input-textarea.component";
11
+ import * as i7 from "../../../loader/loader.component";
12
+ export class GalleryItemComponent {
13
+ _galleryService;
14
+ _modalService;
15
+ _store;
16
+ timeStamp = (new Date()).getTime();
17
+ isLoading = false;
18
+ _timer;
19
+ fields$;
20
+ preview;
21
+ index;
22
+ isEditing = false;
23
+ descriptionMaxLength = 0;
24
+ deleteEndPoint;
25
+ updateEndPoint;
26
+ rotateSlides = [];
27
+ set setIsLoading(value) {
28
+ this.isLoading = value;
29
+ this.timeStamp = (new Date()).getTime();
30
+ }
31
+ openGalleryModal = new EventEmitter();
32
+ deletePhoto = new EventEmitter();
33
+ updatePhoto = new EventEmitter();
34
+ constructor(_galleryService, _modalService, _store) {
35
+ this._galleryService = _galleryService;
36
+ this._modalService = _modalService;
37
+ this._store = _store;
38
+ this.fields$ = this._store.select(selectFields);
39
+ }
40
+ getImageUrl() {
41
+ return this.preview.previewUrl + '?' + this.timeStamp;
42
+ }
43
+ get yandexCheckUrl() {
44
+ return `https://yandex.ru/images/search?source=collections&rpt=imageview&url=${this.preview.url}`;
45
+ }
46
+ get googleCheckUrl() {
47
+ return `https://lens.google.com/uploadbyurl?url=${this.preview.url}`;
48
+ }
49
+ get isLoadingImage() {
50
+ return this.isLoading && !!this.rotateSlides.find((s) => s.previewImageId === this.preview.previewImageId);
51
+ }
52
+ onOpenGalleryModal() {
53
+ this.openGalleryModal.emit(this.index);
54
+ }
55
+ deleteImage() {
56
+ this._modalService.open(GalleryConfirmModalComponent, {
57
+ title: 'УДАЛЕНИЕ ДАННЫХ',
58
+ message: 'Вы уверены, что хотите удалить файл?'
59
+ })
60
+ .afterClosed()
61
+ .subscribe((res) => {
62
+ if (res.result) {
63
+ this._galleryService.delete(this.deleteEndPoint, this.preview.uuid).subscribe(res => {
64
+ this.deletePhoto.emit(res);
65
+ });
66
+ }
67
+ });
68
+ }
69
+ changeDescription(obj) {
70
+ clearTimeout(this._timer);
71
+ this._store.dispatch(autosaveAddId({ id: obj.id }));
72
+ this._store.dispatch(autosaveStartFor({ id: obj.id }));
73
+ this._timer = setTimeout(() => {
74
+ this._galleryService.update(this.updateEndPoint, this.preview.uuid, obj.value).subscribe(res => {
75
+ this.updatePhoto.emit(res);
76
+ this._store.dispatch(autosaveSuccessFor({ id: obj.id }));
77
+ }, () => {
78
+ this._store.dispatch(autosaveErrorFor({ id: obj.id }));
79
+ });
80
+ }, 1500);
81
+ }
82
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GalleryItemComponent, deps: [{ token: i1.GalleryService }, { token: i2.ModalService }, { token: i3.Store }], target: i0.ɵɵFactoryTarget.Component });
83
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: GalleryItemComponent, selector: "mrx-gallery-item", inputs: { preview: "preview", index: "index", isEditing: "isEditing", descriptionMaxLength: "descriptionMaxLength", deleteEndPoint: "deleteEndPoint", updateEndPoint: "updateEndPoint", rotateSlides: "rotateSlides", setIsLoading: ["isLoading", "setIsLoading"] }, outputs: { openGalleryModal: "openGalleryModal", deletePhoto: "deletePhoto", updatePhoto: "updatePhoto" }, providers: [MrxAutosaveService], ngImport: i0, template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"(fields$ | async)!\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.InputTextareaComponent, selector: "mrx-input-textarea", inputs: ["fields", "disabled", "readonly", "autosize", "maxlength", "minlength", "rows", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "blurred", "modelChange"] }, { kind: "component", type: i7.LoaderComponent, selector: "mrx-loader", inputs: ["size", "color", "customClasses"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GalleryItemComponent, decorators: [{
86
+ type: Component,
87
+ args: [{ selector: 'mrx-gallery-item', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MrxAutosaveService], template: "<div class=\"mrx-gallery-item\">\r\n <div class=\"mrx-gallery-item__preview\" (click)=\"onOpenGalleryModal()\">\r\n\r\n <img [src]=\"getImageUrl()\" [alt]=\"preview.imageName || 'image'\" *ngIf=\"!isLoadingImage; else skeletonTemplate\">\r\n\r\n <ng-template #skeletonTemplate>\r\n <div class=\"d-flex align-items-center justify-content-center w-100 h-100\">\r\n <mrx-loader size=\"medium\" color=\"brand\"></mrx-loader>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"mrx-gallery-item__preview-overlay\" *ngIf=\"!isLoadingImage\"></div>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls\" *ngIf=\"!isLoadingImage\">\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"yandexCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12346_12076)\">\r\n <path d=\"M8.00031 15.9838C12.4096 15.9838 15.984 12.4093 15.984 8.00006C15.984 3.59078 12.4096 0.0163574 8.00031 0.0163574C3.59103 0.0163574 0.0166016 3.59078 0.0166016 8.00006C0.0166016 12.4093 3.59103 15.9838 8.00031 15.9838Z\" fill=\"white\"/>\r\n <path d=\"M10.8893 13.0118H9.1367V4.34361H8.35596C6.92484 4.34361 6.17521 5.05916 6.17521 6.12731C6.17521 7.33916 6.69225 7.90065 7.76188 8.6162L8.64336 9.21028L6.11003 13.0103H4.22559L6.50559 9.61768C5.19447 8.68139 4.4567 7.76731 4.4567 6.22509C4.4567 4.29768 5.8004 2.98657 8.3441 2.98657H10.8774V13.0088H10.8893V13.0118Z\" fill=\"#FC3F1D\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12346_12076\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </a>\r\n\r\n <a class=\"mrx-gallery-item__preview-controls--icon\" [href]=\"googleCheckUrl\" target=\"_blank\" (click)=\"$event.stopPropagation()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path d=\"M11.5561 4.8901H11.0997V4.86659H5.99967V7.13325H9.20219C8.73497 8.45273 7.47952 9.39992 5.99967 9.39992C4.12202 9.39992 2.59967 7.87757 2.59967 5.99992C2.59967 4.12227 4.12202 2.59992 5.99967 2.59992C6.86639 2.59992 7.65491 2.92689 8.25529 3.46097L9.85811 1.85815C8.84604 0.914935 7.49227 0.333252 5.99967 0.333252C2.87026 0.333252 0.333008 2.8705 0.333008 5.99992C0.333008 9.12934 2.87026 11.6666 5.99967 11.6666C9.12909 11.6666 11.6663 9.12934 11.6663 5.99992C11.6663 5.61997 11.6272 5.24909 11.5561 4.8901Z\" fill=\"#FBC02D\"/>\r\n <path d=\"M0.987305 3.36237L2.84909 4.72775C3.35285 3.48052 4.57289 2.59992 6.0006 2.59992C6.86732 2.59992 7.65584 2.92689 8.25622 3.46097L9.85904 1.85815C8.84697 0.914935 7.4932 0.333252 6.0006 0.333252C3.82404 0.333252 1.93647 1.56207 0.987305 3.36237Z\" fill=\"#E53935\"/>\r\n <path d=\"M6.0008 11.6665C7.4645 11.6665 8.79447 11.1063 9.80002 10.1954L8.04619 8.7113C7.47725 9.14225 6.77005 9.3998 6.0008 9.3998C4.5269 9.3998 3.27542 8.45999 2.80395 7.14844L0.956055 8.57219C1.89389 10.4073 3.79845 11.6665 6.0008 11.6665Z\" fill=\"#4CAF50\"/>\r\n <path d=\"M11.5564 4.88997L11.5519 4.86646H11.1H6V7.13312H9.20252C8.97812 7.76694 8.5704 8.31349 8.04453 8.71157C8.04482 8.71129 8.0451 8.71129 8.04538 8.71101L9.79922 10.1951C9.67512 10.3079 11.6667 8.83312 11.6667 5.99979C11.6667 5.61984 11.6276 5.24896 11.5564 4.88997Z\" fill=\"#1565C0\"/>\r\n </svg>\r\n </a>\r\n\r\n <div class=\"mrx-gallery-item__preview-controls__button d-flex align-items-center justify-content-center\" *ngIf=\"isEditing\" (click)=\"$event.stopPropagation()\">\r\n <span class=\"mrx-icon icon-delete icon-font-16 text-bold\" (click)=\"deleteImage()\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"mrx-gallery-item__description\">\r\n <mrx-input-textarea\r\n *ngIf=\"isEditing; else textTemplate\"\r\n [fields]=\"(fields$ | async)!\"\r\n [ngModel]=\"preview.description\"\r\n [autosize]=\"false\"\r\n [rows]=\"2\"\r\n [maxlength]=\"descriptionMaxLength\"\r\n (modelChange)=\"changeDescription($event)\"\r\n ></mrx-input-textarea>\r\n\r\n <ng-template #textTemplate>\r\n {{ preview.description }}\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: [".mrx-gallery-item{cursor:pointer}.mrx-gallery-item__preview{width:100%;height:180px;border-radius:4px;overflow:hidden;position:relative;margin-bottom:8px}.mrx-gallery-item__preview img{width:100%;height:100%;object-fit:cover;object-position:center top}.mrx-gallery-item__preview-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0000 78.93%,#00000059 91.52%)}.mrx-gallery-item__preview-controls{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:8px;display:flex;align-items:center;justify-content:flex-end;gap:8px}.mrx-gallery-item__preview-controls--text{font-family:var(--body-sm-font-family);font-size:var(--body-sm-font-size);font-weight:var(--body-sm-font-weight);line-height:var(--body-sm-line-height);color:var(--neutral-text-inverse);opacity:.8}.mrx-gallery-item__preview-controls--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;background-color:#fff;border-radius:50%}.mrx-gallery-item__preview-controls__button{padding:4px;border-radius:4px;background:var(--system-white, #FFF)}.mrx-gallery-item__description{font-family:var(--body-md-font-family);font-size:var(--body-md-font-size);font-weight:var(--body-md-font-weight);line-height:var(--body-md-line-height);color:var(--neutral-text-primary)}\n"] }]
88
+ }], ctorParameters: () => [{ type: i1.GalleryService }, { type: i2.ModalService }, { type: i3.Store }], propDecorators: { preview: [{
89
+ type: Input
90
+ }], index: [{
91
+ type: Input
92
+ }], isEditing: [{
93
+ type: Input
94
+ }], descriptionMaxLength: [{
95
+ type: Input
96
+ }], deleteEndPoint: [{
97
+ type: Input
98
+ }], updateEndPoint: [{
99
+ type: Input
100
+ }], rotateSlides: [{
101
+ type: Input
102
+ }], setIsLoading: [{
103
+ type: Input,
104
+ args: ['isLoading']
105
+ }], openGalleryModal: [{
106
+ type: Output
107
+ }], deletePhoto: [{
108
+ type: Output
109
+ }], updatePhoto: [{
110
+ type: Output
111
+ }] } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2NvbXBvbmVudHMvZ2FsbGVyeS1pdGVtL2dhbGxlcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZ2FsbGVyeS9jb21wb25lbnRzL2dhbGxlcnktaXRlbS9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsYUFBYSxFQUFFLGdCQUFnQixFQUMvQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBRWxCLGtCQUFrQixFQUNsQixZQUFZLEVBQ2IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0FBWTlCLE1BQU0sT0FBTyxvQkFBb0I7SUF5QnJCO0lBQ0E7SUFDQTtJQTFCRixTQUFTLEdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0MsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixNQUFNLENBQWlDO0lBRXhDLE9BQU8sQ0FBdUI7SUFFNUIsT0FBTyxDQUFvQjtJQUMzQixLQUFLLENBQVU7SUFDZixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUN6QixjQUFjLENBQVU7SUFDeEIsY0FBYyxDQUFVO0lBQ3hCLFlBQVksR0FBMEIsRUFBRSxDQUFDO0lBRWxELElBQXdCLFlBQVksQ0FBQyxLQUFjO1FBQ2pELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVTLGdCQUFnQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBQ3BFLFdBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUN6RCxXQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFFbkUsWUFDVSxlQUErQixFQUMvQixhQUEyQixFQUMzQixNQUFhO1FBRmIsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzNCLFdBQU0sR0FBTixNQUFNLENBQU87UUFFckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLHdFQUF3RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ3BHLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTywyQ0FBMkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDcEQsS0FBSyxFQUFFLGlCQUFpQjtZQUN4QixPQUFPLEVBQUUsc0NBQXNDO1NBQ2hELENBQUM7YUFDQyxXQUFXLEVBQUU7YUFDYixTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNsRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsR0FBUTtRQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDN0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUM7WUFDekQsQ0FBQyxFQUFFLEdBQUcsRUFBRTtnQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt3R0FqRlUsb0JBQW9COzRGQUFwQixvQkFBb0IsMlpBRnBCLENBQUMsa0JBQWtCLENBQUMsMEJDckJqQyxpeklBMERBOzs0RkRuQ2Esb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsa0JBQWtCLENBQUM7a0lBU3RCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRWtCLFlBQVk7c0JBQW5DLEtBQUs7dUJBQUMsV0FBVztnQkFLUixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdhbGxlcnlJdGVtTW9kZWwsIEdhbGxlcnlSb3RhdGVTbGlkZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZ2FsbGVyeS1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgR2FsbGVyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nYWxsZXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHYWxsZXJ5Q29uZmlybU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2FsbGVyeS1jb25maXJtLW1vZGFsL2dhbGxlcnktY29uZmlybS1tb2RhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIGF1dG9zYXZlQWRkSWQsIGF1dG9zYXZlRXJyb3JGb3IsXHJcbiAgYXV0b3NhdmVTdGFydEZvcixcclxuICBhdXRvc2F2ZVN1Y2Nlc3NGb3IsXHJcbiAgRmllbGQsXHJcbiAgTXJ4QXV0b3NhdmVTZXJ2aWNlLFxyXG4gIHNlbGVjdEZpZWxkc1xyXG59IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbW9kYWwtc2VydmljZS9tb2RhbC1zZXJ2aWNlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtZ2FsbGVyeS1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtNcnhBdXRvc2F2ZVNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHYWxsZXJ5SXRlbUNvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSB0aW1lU3RhbXA6IG51bWJlciA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcbiAgcHJpdmF0ZSBpc0xvYWRpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIF90aW1lciE6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xyXG5cclxuICBwdWJsaWMgZmllbGRzJCE6IE9ic2VydmFibGU8RmllbGRbXT47XHJcblxyXG4gIEBJbnB1dCgpIHByZXZpZXchOiBHYWxsZXJ5SXRlbU1vZGVsO1xyXG4gIEBJbnB1dCgpIGluZGV4ITogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGlzRWRpdGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uTWF4TGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSBkZWxldGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSB1cGRhdGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSByb3RhdGVTbGlkZXM6IEdhbGxlcnlSb3RhdGVTbGlkZXNbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoJ2lzTG9hZGluZycpIHNldCBzZXRJc0xvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdmFsdWU7XHJcbiAgICB0aGlzLnRpbWVTdGFtcCA9IChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgb3BlbkdhbGxlcnlNb2RhbDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlUGhvdG86IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHVwZGF0ZVBob3RvOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2dhbGxlcnlTZXJ2aWNlOiBHYWxsZXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX21vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc3RvcmU6IFN0b3JlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmZpZWxkcyQgPSB0aGlzLl9zdG9yZS5zZWxlY3Qoc2VsZWN0RmllbGRzKTtcclxuICB9XHJcblxyXG4gIGdldEltYWdlVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5wcmV2aWV3LnByZXZpZXdVcmwgKyAnPycgKyB0aGlzLnRpbWVTdGFtcDtcclxuICB9XHJcblxyXG4gIGdldCB5YW5kZXhDaGVja1VybCgpIHtcclxuICAgIHJldHVybiBgaHR0cHM6Ly95YW5kZXgucnUvaW1hZ2VzL3NlYXJjaD9zb3VyY2U9Y29sbGVjdGlvbnMmcnB0PWltYWdldmlldyZ1cmw9JHt0aGlzLnByZXZpZXcudXJsfWA7XHJcbiAgfVxyXG5cclxuICBnZXQgZ29vZ2xlQ2hlY2tVcmwoKSB7XHJcbiAgICByZXR1cm4gYGh0dHBzOi8vbGVucy5nb29nbGUuY29tL3VwbG9hZGJ5dXJsP3VybD0ke3RoaXMucHJldmlldy51cmx9YDtcclxuICB9XHJcblxyXG4gIGdldCBpc0xvYWRpbmdJbWFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZyAmJiAhIXRoaXMucm90YXRlU2xpZGVzLmZpbmQoKHMpID0+IHMucHJldmlld0ltYWdlSWQgPT09IHRoaXMucHJldmlldy5wcmV2aWV3SW1hZ2VJZCk7XHJcbiAgfVxyXG5cclxuICBvbk9wZW5HYWxsZXJ5TW9kYWwoKSB7XHJcbiAgICB0aGlzLm9wZW5HYWxsZXJ5TW9kYWwuZW1pdCh0aGlzLmluZGV4KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUltYWdlKCkge1xyXG4gICAgdGhpcy5fbW9kYWxTZXJ2aWNlLm9wZW4oR2FsbGVyeUNvbmZpcm1Nb2RhbENvbXBvbmVudCwge1xyXG4gICAgICB0aXRsZTogJ9Cj0JTQkNCb0JXQndCY0JUg0JTQkNCd0J3Qq9ClJyxcclxuICAgICAgbWVzc2FnZTogJ9CS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0YTQsNC50Ls/J1xyXG4gICAgfSlcclxuICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5yZXN1bHQpIHtcclxuICAgICAgICAgIHRoaXMuX2dhbGxlcnlTZXJ2aWNlLmRlbGV0ZSh0aGlzLmRlbGV0ZUVuZFBvaW50LCB0aGlzLnByZXZpZXcudXVpZCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlUGhvdG8uZW1pdChyZXMpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZURlc2NyaXB0aW9uKG9iajogYW55KSB7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5fdGltZXIpO1xyXG5cclxuICAgIHRoaXMuX3N0b3JlLmRpc3BhdGNoKGF1dG9zYXZlQWRkSWQoe2lkOiBvYmouaWR9KSk7XHJcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZVN0YXJ0Rm9yKHtpZDogb2JqLmlkfSkpO1xyXG5cclxuICAgIHRoaXMuX3RpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2dhbGxlcnlTZXJ2aWNlLnVwZGF0ZSh0aGlzLnVwZGF0ZUVuZFBvaW50LCB0aGlzLnByZXZpZXcudXVpZCwgb2JqLnZhbHVlKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBob3RvLmVtaXQocmVzKTtcclxuICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZVN1Y2Nlc3NGb3Ioe2lkOiBvYmouaWR9KSk7XHJcbiAgICAgIH0sICgpID0+IHtcclxuICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZUVycm9yRm9yKHtpZDogb2JqLmlkfSkpO1xyXG4gICAgICB9KTtcclxuICAgIH0sIDE1MDApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3XCIgKGNsaWNrKT1cIm9uT3BlbkdhbGxlcnlNb2RhbCgpXCI+XHJcblxyXG4gICAgPGltZyBbc3JjXT1cImdldEltYWdlVXJsKClcIiBbYWx0XT1cInByZXZpZXcuaW1hZ2VOYW1lIHx8ICdpbWFnZSdcIiAqbmdJZj1cIiFpc0xvYWRpbmdJbWFnZTsgZWxzZSBza2VsZXRvblRlbXBsYXRlXCI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNza2VsZXRvblRlbXBsYXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHctMTAwIGgtMTAwXCI+XHJcbiAgICAgICAgPG1yeC1sb2FkZXIgc2l6ZT1cIm1lZGl1bVwiIGNvbG9yPVwiYnJhbmRcIj48L21yeC1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1vdmVybGF5XCIgKm5nSWY9XCIhaXNMb2FkaW5nSW1hZ2VcIj48L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9sc1wiICpuZ0lmPVwiIWlzTG9hZGluZ0ltYWdlXCI+XHJcbiAgICAgIDxhIGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9scy0taWNvblwiIFtocmVmXT1cInlhbmRleENoZWNrVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMjM0Nl8xMjA3NilcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDMxIDE1Ljk4MzhDMTIuNDA5NiAxNS45ODM4IDE1Ljk4NCAxMi40MDkzIDE1Ljk4NCA4LjAwMDA2QzE1Ljk4NCAzLjU5MDc4IDEyLjQwOTYgMC4wMTYzNTc0IDguMDAwMzEgMC4wMTYzNTc0QzMuNTkxMDMgMC4wMTYzNTc0IDAuMDE2NjAxNiAzLjU5MDc4IDAuMDE2NjAxNiA4LjAwMDA2QzAuMDE2NjAxNiAxMi40MDkzIDMuNTkxMDMgMTUuOTgzOCA4LjAwMDMxIDE1Ljk4MzhaXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjg4OTMgMTMuMDExOEg5LjEzNjdWNC4zNDM2MUg4LjM1NTk2QzYuOTI0ODQgNC4zNDM2MSA2LjE3NTIxIDUuMDU5MTYgNi4xNzUyMSA2LjEyNzMxQzYuMTc1MjEgNy4zMzkxNiA2LjY5MjI1IDcuOTAwNjUgNy43NjE4OCA4LjYxNjJMOC42NDMzNiA5LjIxMDI4TDYuMTEwMDMgMTMuMDEwM0g0LjIyNTU5TDYuNTA1NTkgOS42MTc2OEM1LjE5NDQ3IDguNjgxMzkgNC40NTY3IDcuNzY3MzEgNC40NTY3IDYuMjI1MDlDNC40NTY3IDQuMjk3NjggNS44MDA0IDIuOTg2NTcgOC4zNDQxIDIuOTg2NTdIMTAuODc3NFYxMy4wMDg4SDEwLjg4OTNWMTMuMDExOFpcIiBmaWxsPVwiI0ZDM0YxRFwiLz5cclxuICAgICAgICAgIDwvZz5cclxuICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMjM0Nl8xMjA3NlwiPlxyXG4gICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgPC9hPlxyXG5cclxuICAgICAgPGEgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3LWNvbnRyb2xzLS1pY29uXCIgW2hyZWZdPVwiZ29vZ2xlQ2hlY2tVcmxcIiB0YXJnZXQ9XCJfYmxhbmtcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTExLjU1NjEgNC44OTAxSDExLjA5OTdWNC44NjY1OUg1Ljk5OTY3VjcuMTMzMjVIOS4yMDIxOUM4LjczNDk3IDguNDUyNzMgNy40Nzk1MiA5LjM5OTkyIDUuOTk5NjcgOS4zOTk5MkM0LjEyMjAyIDkuMzk5OTIgMi41OTk2NyA3Ljg3NzU3IDIuNTk5NjcgNS45OTk5MkMyLjU5OTY3IDQuMTIyMjcgNC4xMjIwMiAyLjU5OTkyIDUuOTk5NjcgMi41OTk5MkM2Ljg2NjM5IDIuNTk5OTIgNy42NTQ5MSAyLjkyNjg5IDguMjU1MjkgMy40NjA5N0w5Ljg1ODExIDEuODU4MTVDOC44NDYwNCAwLjkxNDkzNSA3LjQ5MjI3IDAuMzMzMjUyIDUuOTk5NjcgMC4zMzMyNTJDMi44NzAyNiAwLjMzMzI1MiAwLjMzMzAwOCAyLjg3MDUgMC4zMzMwMDggNS45OTk5MkMwLjMzMzAwOCA5LjEyOTM0IDIuODcwMjYgMTEuNjY2NiA1Ljk5OTY3IDExLjY2NjZDOS4xMjkwOSAxMS42NjY2IDExLjY2NjMgOS4xMjkzNCAxMS42NjYzIDUuOTk5OTJDMTEuNjY2MyA1LjYxOTk3IDExLjYyNzIgNS4yNDkwOSAxMS41NTYxIDQuODkwMVpcIiBmaWxsPVwiI0ZCQzAyRFwiLz5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMC45ODczMDUgMy4zNjIzN0wyLjg0OTA5IDQuNzI3NzVDMy4zNTI4NSAzLjQ4MDUyIDQuNTcyODkgMi41OTk5MiA2LjAwMDYgMi41OTk5MkM2Ljg2NzMyIDIuNTk5OTIgNy42NTU4NCAyLjkyNjg5IDguMjU2MjIgMy40NjA5N0w5Ljg1OTA0IDEuODU4MTVDOC44NDY5NyAwLjkxNDkzNSA3LjQ5MzIgMC4zMzMyNTIgNi4wMDA2IDAuMzMzMjUyQzMuODI0MDQgMC4zMzMyNTIgMS45MzY0NyAxLjU2MjA3IDAuOTg3MzA1IDMuMzYyMzdaXCIgZmlsbD1cIiNFNTM5MzVcIi8+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwOCAxMS42NjY1QzcuNDY0NSAxMS42NjY1IDguNzk0NDcgMTEuMTA2MyA5LjgwMDAyIDEwLjE5NTRMOC4wNDYxOSA4LjcxMTNDNy40NzcyNSA5LjE0MjI1IDYuNzcwMDUgOS4zOTk4IDYuMDAwOCA5LjM5OThDNC41MjY5IDkuMzk5OCAzLjI3NTQyIDguNDU5OTkgMi44MDM5NSA3LjE0ODQ0TDAuOTU2MDU1IDguNTcyMTlDMS44OTM4OSAxMC40MDczIDMuNzk4NDUgMTEuNjY2NSA2LjAwMDggMTEuNjY2NVpcIiBmaWxsPVwiIzRDQUY1MFwiLz5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNTU2NCA0Ljg4OTk3TDExLjU1MTkgNC44NjY0NkgxMS4xSDZWNy4xMzMxMkg5LjIwMjUyQzguOTc4MTIgNy43NjY5NCA4LjU3MDQgOC4zMTM0OSA4LjA0NDUzIDguNzExNTdDOC4wNDQ4MiA4LjcxMTI5IDguMDQ1MSA4LjcxMTI5IDguMDQ1MzggOC43MTEwMUw5Ljc5OTIyIDEwLjE5NTFDOS42NzUxMiAxMC4zMDc5IDExLjY2NjcgOC44MzMxMiAxMS42NjY3IDUuOTk5NzlDMTEuNjY2NyA1LjYxOTg0IDExLjYyNzYgNS4yNDg5NiAxMS41NTY0IDQuODg5OTdaXCIgZmlsbD1cIiMxNTY1QzBcIi8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvYT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3LWNvbnRyb2xzX19idXR0b24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgKm5nSWY9XCJpc0VkaXRpbmdcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRlbGV0ZSBpY29uLWZvbnQtMTYgdGV4dC1ib2xkXCIgKGNsaWNrKT1cImRlbGV0ZUltYWdlKClcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX2Rlc2NyaXB0aW9uXCI+XHJcbiAgICA8bXJ4LWlucHV0LXRleHRhcmVhXHJcbiAgICAgICpuZ0lmPVwiaXNFZGl0aW5nOyBlbHNlIHRleHRUZW1wbGF0ZVwiXHJcbiAgICAgIFtmaWVsZHNdPVwiKGZpZWxkcyQgfCBhc3luYykhXCJcclxuICAgICAgW25nTW9kZWxdPVwicHJldmlldy5kZXNjcmlwdGlvblwiXHJcbiAgICAgIFthdXRvc2l6ZV09XCJmYWxzZVwiXHJcbiAgICAgIFtyb3dzXT1cIjJcIlxyXG4gICAgICBbbWF4bGVuZ3RoXT1cImRlc2NyaXB0aW9uTWF4TGVuZ3RoXCJcclxuICAgICAgKG1vZGVsQ2hhbmdlKT1cImNoYW5nZURlc2NyaXB0aW9uKCRldmVudClcIlxyXG4gICAgPjwvbXJ4LWlucHV0LXRleHRhcmVhPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdGV4dFRlbXBsYXRlPlxyXG4gICAgICB7eyBwcmV2aWV3LmRlc2NyaXB0aW9uIH19XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,7 +1,7 @@
1
- export const customButtonsDefault = {};
2
- export const customToolbarDefault = {
3
- left: ['infobar'],
4
- middle: [],
5
- right: ['rotateLeft', 'rotateRight', 'iterateZoom', 'slideshow', 'thumbs', 'close'],
6
- };
1
+ export const customButtonsDefault = {};
2
+ export const customToolbarDefault = {
3
+ left: ['infobar'],
4
+ middle: [],
5
+ right: ['rotateLeft', 'rotateRight', 'iterateZoom', 'slideshow', 'thumbs', 'close'],
6
+ };
7
7
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWJ1dHRvbnMtZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2NvbnN0YW50cy9jdXN0b20tYnV0dG9ucy1kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFxQixFQUVyRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQW1EO0lBQ2xGLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUNqQixNQUFNLEVBQUUsRUFBRTtJQUNWLEtBQUssRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDO0NBQ3BGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFRvb2xiYXJJdGVtS2V5LFxyXG4gIFRvb2xiYXJJdGVtc1R5cGUsXHJcbiAgVG9vbGJhclBvc2l0aW9uXHJcbn0gZnJvbSAnbXJ4LWdhbGxlcnktbGliL3R5cGVzL0ZhbmN5Ym94L3BsdWdpbnMvVG9vbGJhci9Ub29sYmFyJztcclxuXHJcbmV4cG9ydCBjb25zdCBjdXN0b21CdXR0b25zRGVmYXVsdDogVG9vbGJhckl0ZW1zVHlwZSA9IHtcclxuXHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgY3VzdG9tVG9vbGJhckRlZmF1bHQ6IFJlY29yZDxUb29sYmFyUG9zaXRpb24sIEFycmF5PFRvb2xiYXJJdGVtS2V5Pj4gPSB7XHJcbiAgbGVmdDogWydpbmZvYmFyJ10sXHJcbiAgbWlkZGxlOiBbXSxcclxuICByaWdodDogWydyb3RhdGVMZWZ0JywgJ3JvdGF0ZVJpZ2h0JywgJ2l0ZXJhdGVab29tJywgJ3NsaWRlc2hvdycsICd0aHVtYnMnLCAnY2xvc2UnXSxcclxufVxyXG4iXX0=
@@ -1,5 +1,5 @@
1
- export const thumbsConfigDefault = {
2
- type: 'modern',
3
- showOnStart: false,
4
- };
1
+ export const thumbsConfigDefault = {
2
+ type: 'modern',
3
+ showOnStart: false,
4
+ };
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJzLWNvbmZpZy1kZWZhdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2dhbGxlcnkvY29uc3RhbnRzL3RodW1icy1jb25maWctZGVmYXVsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBeUM7SUFDdkUsSUFBSSxFQUFFLFFBQVE7SUFDZCxXQUFXLEVBQUUsS0FBSztDQUNuQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh1bWJzT3B0aW9uc1R5cGUgfSBmcm9tICdtcngtZ2FsbGVyeS1saWInO1xyXG5cclxuZXhwb3J0IGNvbnN0IHRodW1ic0NvbmZpZ0RlZmF1bHQ6IEJvb2xlYW4gfCBQYXJ0aWFsPFRodW1ic09wdGlvbnNUeXBlPiA9IHtcclxuICB0eXBlOiAnbW9kZXJuJyxcclxuICBzaG93T25TdGFydDogZmFsc2UsXHJcbn1cclxuIl19
@@ -0,0 +1,203 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Fancybox } from 'mrx-gallery-lib';
3
+ import { customToolbarDefault } from './constants/custom-buttons-default';
4
+ import { thumbsConfigDefault } from './constants/thumbs-config-default';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "./services/gallery.service";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "../button/button.component";
9
+ import * as i4 from "./components/gallery-item/gallery-item.component";
10
+ export class GalleryComponent {
11
+ galleryService;
12
+ timeStamp = (new Date()).getTime();
13
+ rotateSlides = [];
14
+ isLoading = false;
15
+ isExpanded = false;
16
+ data = [];
17
+ isExpandable = true;
18
+ customClasses = '';
19
+ rotateEndPoint;
20
+ deleteEndPoint;
21
+ updateEndPoint;
22
+ isEditing = false;
23
+ isSaveRotate = true;
24
+ descriptionMaxLength = 0;
25
+ thumbsConfig;
26
+ toolbarConfig;
27
+ deletePhoto = new EventEmitter();
28
+ updatePhoto = new EventEmitter();
29
+ defaultConfig = {};
30
+ constructor(galleryService) {
31
+ this.galleryService = galleryService;
32
+ }
33
+ ngOnInit() {
34
+ if (this.isExpandable) {
35
+ this.isExpanded = false;
36
+ }
37
+ if (this.thumbsConfig) {
38
+ this.defaultConfig.Thumbs = this.thumbsConfig;
39
+ }
40
+ if (this.toolbarConfig) {
41
+ this.defaultConfig.Toolbar = this.toolbarConfig;
42
+ }
43
+ }
44
+ get getClasses() {
45
+ return `${this.customClasses}`;
46
+ }
47
+ get isShowMore() {
48
+ return this.data.length > 8;
49
+ }
50
+ get getData() {
51
+ if (this.isExpandable && !this.isExpanded) {
52
+ return this.data.slice(0, 8);
53
+ }
54
+ else {
55
+ return this.data;
56
+ }
57
+ }
58
+ get getSlides() {
59
+ return this.data.map((slide) => {
60
+ return {
61
+ src: slide.url + '?' + this.timeStamp,
62
+ thumb: slide.previewUrl,
63
+ caption: slide.description,
64
+ uuid: slide.uuid,
65
+ imageName: slide.imageName,
66
+ previewImageId: slide.previewImageId
67
+ };
68
+ });
69
+ }
70
+ get getIsExpanded() {
71
+ return this.isExpanded;
72
+ }
73
+ changeExpanded() {
74
+ this.isExpanded = !this.isExpanded;
75
+ }
76
+ trackByFn(index, item) {
77
+ return item.id;
78
+ }
79
+ openGalleryModal(id) {
80
+ new Fancybox(this.getSlides, {
81
+ startIndex: id,
82
+ compact: false,
83
+ hideScrollbar: false,
84
+ Carousel: {},
85
+ Thumbs: thumbsConfigDefault,
86
+ on: {
87
+ close: (fancy, event) => {
88
+ if (this.rotateSlides.length) {
89
+ this.galleryService.rotate(this.rotateSlides, this.rotateEndPoint).subscribe(res => {
90
+ this.isLoading = true;
91
+ setTimeout(() => {
92
+ this.isLoading = false;
93
+ this.rotateSlides.length = 0;
94
+ this.timeStamp = (new Date()).getTime();
95
+ }, 1000);
96
+ });
97
+ }
98
+ }
99
+ },
100
+ Toolbar: {
101
+ items: {
102
+ rotateLeft: {
103
+ tpl: `
104
+ <button title="Rotate counterclockwise" class="f-button">
105
+ <svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
106
+ <path d="M15 4.55a8 8 0 0 0-6 14.9M9 15v5H4M18.37 7.16v.01M13 19.94v.01M16.84 18.37v.01M19.37 15.1v.01M19.94 11v.01">
107
+ </path>
108
+ </svg>
109
+ </button>
110
+ `,
111
+ click: (a) => {
112
+ const slide = a.instance.getSlide();
113
+ if (!slide)
114
+ return;
115
+ const foundRotateSlide = this.rotateSlides.find((s) => s.previewImageId === slide.previewImageId);
116
+ if (foundRotateSlide) {
117
+ this.rotateSlides = this.rotateSlides.map((s) => {
118
+ if (s.previewImageId === foundRotateSlide.previewImageId) {
119
+ s.rotate = s.rotate === -270 ? 0 : s.rotate - 90;
120
+ }
121
+ return s;
122
+ }).filter((s) => s.rotate !== 0);
123
+ }
124
+ else {
125
+ this.rotateSlides.push({
126
+ previewImageId: slide.previewImageId,
127
+ rotate: -90
128
+ });
129
+ }
130
+ slide.panzoom?.rotateCCW();
131
+ }
132
+ },
133
+ rotateRight: {
134
+ tpl: `
135
+ <button title="Rotate clockwise" class="f-button">
136
+ <svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
137
+ <path d="M9 4.55a8 8 0 0 1 6 14.9M15 15v5h5M5.63 7.16v.01M4.06 11v.01M4.63 15.1v.01M7.16 18.37v.01M11 19.94v.01">
138
+ </path>
139
+ </svg>
140
+ </button>
141
+ `,
142
+ click: (a) => {
143
+ const slide = a.instance.getSlide();
144
+ if (!slide)
145
+ return;
146
+ const foundRotateSlide = this.rotateSlides.find((s) => s.previewImageId === slide.previewImageId);
147
+ if (foundRotateSlide) {
148
+ this.rotateSlides = this.rotateSlides.map((s) => {
149
+ if (s.previewImageId === foundRotateSlide.previewImageId) {
150
+ s.rotate = s.rotate === 270 ? 0 : s.rotate + 90;
151
+ }
152
+ return s;
153
+ }).filter((s) => s.rotate !== 0);
154
+ }
155
+ else {
156
+ this.rotateSlides.push({
157
+ previewImageId: slide.previewImageId,
158
+ rotate: 90
159
+ });
160
+ }
161
+ slide.panzoom?.rotateCW();
162
+ }
163
+ }
164
+ },
165
+ display: customToolbarDefault,
166
+ },
167
+ ...this.defaultConfig
168
+ }, {});
169
+ }
170
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GalleryComponent, deps: [{ token: i1.GalleryService }], target: i0.ɵɵFactoryTarget.Component });
171
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: GalleryComponent, selector: "mrx-gallery", inputs: { data: "data", isExpandable: "isExpandable", customClasses: "customClasses", rotateEndPoint: "rotateEndPoint", deleteEndPoint: "deleteEndPoint", updateEndPoint: "updateEndPoint", isEditing: "isEditing", isSaveRotate: "isSaveRotate", descriptionMaxLength: "descriptionMaxLength", thumbsConfig: "thumbsConfig", toolbarConfig: "toolbarConfig" }, outputs: { deletePhoto: "deletePhoto", updatePhoto: "updatePhoto" }, ngImport: i0, template: "<div class=\"mrx-gallery\" [class]=\"getClasses\">\r\n <div class=\"mrx-gallery-row row\">\r\n <div *ngFor=\"let preview of getData; trackBy: trackByFn; let index = index\" class=\"col col-12 col-sm-6 col-md-3\">\r\n <mrx-gallery-item\r\n [preview]=\"preview\"\r\n [index]=\"index\"\r\n [isEditing]=\"isEditing\"\r\n [descriptionMaxLength]=\"descriptionMaxLength\"\r\n [rotateSlides]=\"rotateSlides\"\r\n [isLoading]=\"isLoading\"\r\n [deleteEndPoint]=\"deleteEndPoint\"\r\n [updateEndPoint]=\"updateEndPoint\"\r\n (openGalleryModal)=\"openGalleryModal($event)\"\r\n (deletePhoto)=\"deletePhoto.emit($event)\"\r\n (updatePhoto)=\"updatePhoto.emit($event)\"\r\n ></mrx-gallery-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-3\" *ngIf=\"isShowMore\">\r\n <div class=\"col d-flex justify-content-center\">\r\n <mrx-button type=\"tertiary\" (mrxClick)=\"changeExpanded()\">\r\n {{ getIsExpanded ? '\u0421\u043A\u0440\u044B\u0442\u044C' : '\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u0444\u043E\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0438' }}\r\n <span\r\n class=\"mrx-icon icon-font-16 ml-2\"\r\n [class.icon-chevron-down]=\"!getIsExpanded\"\r\n [class.icon-chevron-up]=\"getIsExpanded\"\r\n ></span>\r\n </mrx-button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep :root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, .1);--f-spinner-color-2: rgba(17, 24, 28, .8);--f-spinner-stroke: 2.75}::ng-deep .f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}::ng-deep .f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}::ng-deep .f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}::ng-deep .f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}::ng-deep .f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{to{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}::ng-deep .f-throwOutUp{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutUp}::ng-deep .f-throwOutDown{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throw-out-distance, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throw-out-distance, 150px),0);opacity:0}}::ng-deep .f-zoomInUp{animation:var(--f-transition-duration, .2s) ease .1s both f-zoomInUp}::ng-deep .f-zoomOutDown{animation:var(--f-transition-duration, .2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(.975) translate3d(0,16px,0);opacity:0}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(.975) translate3d(0,16px,0);opacity:0}}::ng-deep .f-fadeIn{animation:var(--f-transition-duration, .2s) ease both f-fadeIn;z-index:2}::ng-deep .f-fadeOut{animation:var(--f-transition-duration, .2s) ease both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}::ng-deep .f-fadeFastIn{animation:var(--f-transition-duration, .2s) ease-out both f-fadeFastIn;z-index:2}::ng-deep .f-fadeFastOut{animation:var(--f-transition-duration, .1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}to{opacity:1}}@keyframes f-fadeFastOut{to{opacity:0}}::ng-deep .f-fadeSlowIn{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowIn;z-index:2}::ng-deep .f-fadeSlowOut{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeSlowOut{to{opacity:0}}::ng-deep .f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease-out both f-crossfadeIn;z-index:2}::ng-deep .f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s) * .5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}::ng-deep .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNext}::ng-deep .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrev}::ng-deep .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNext}::ng-deep .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translate(100%)}to{transform:translateZ(0)}}@keyframes f-slideInNext{0%{transform:translate(-100%)}to{transform:translateZ(0)}}@keyframes f-slideOutNext{to{transform:translate(-100%)}}@keyframes f-slideOutPrev{to{transform:translate(100%)}}::ng-deep .f-classicIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInNext;z-index:2}::ng-deep .f-classicIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInPrev;z-index:2}::ng-deep .f-classicOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutNext;z-index:1}::ng-deep .f-classicOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translate(-75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translate(75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicOutNext{to{transform:translate(-75px);opacity:0}}@keyframes f-classicOutPrev{to{transform:translate(75px);opacity:0}}::ng-deep :root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: .65}::ng-deep .f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media (hover: hover){::ng-deep .f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}::ng-deep .f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}::ng-deep .f-button:focus:not(:focus-visible){outline:none}::ng-deep .f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}::ng-deep .f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}::ng-deep .f-button[disabled]{cursor:default}::ng-deep .f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}::ng-deep .f-carousel__nav .f-button.is-prev,::ng-deep .f-carousel__nav .f-button.is-next,::ng-deep .fancybox__nav .f-button.is-prev,::ng-deep .fancybox__nav .f-button.is-next{position:absolute;z-index:1}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal .fancybox__nav .f-button.is-prev,::ng-deep .is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}::ng-deep .is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}::ng-deep .is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev,::ng-deep .is-vertical .f-carousel__nav .f-button.is-next,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev,::ng-deep .is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translate(-50%)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-next,::ng-deep .is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev svg,::ng-deep .is-vertical .f-carousel__nav .f-button.is-next svg,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev svg,::ng-deep .is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}::ng-deep html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}::ng-deep html.with-fancybox body{touch-action:none}::ng-deep html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden!important;overscroll-behavior-y:none}::ng-deep .fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, .98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, .1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;inset:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}::ng-deep .fancybox__container *,::ng-deep .fancybox__container *:before,::ng-deep .fancybox__container *:after{box-sizing:inherit}::ng-deep .fancybox__container::backdrop{background-color:#0000}::ng-deep .fancybox__backdrop{position:fixed;inset:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}::ng-deep .fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}::ng-deep .fancybox__viewport{width:100%;height:100%}::ng-deep .fancybox__viewport.is-draggable{cursor:move;cursor:grab}::ng-deep .fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}::ng-deep .fancybox__track{display:flex;margin:0 auto;height:100%}::ng-deep .fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;overscroll-behavior:contain;transform:translateZ(0);backface-visibility:hidden}::ng-deep .fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}::ng-deep .fancybox__slide.has-iframe,::ng-deep .fancybox__slide.has-video,::ng-deep .fancybox__slide.has-html5video{overflow:hidden}::ng-deep .fancybox__slide.has-image{overflow:hidden}::ng-deep .fancybox__slide.has-image.is-animating,::ng-deep .fancybox__slide.has-image.is-selected{overflow:visible}::ng-deep .fancybox__slide:before,::ng-deep .fancybox__slide:after{content:\"\";flex:0 0 0;margin:auto}::ng-deep .fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}::ng-deep .is-loading .fancybox__content{opacity:0}::ng-deep .is-draggable .fancybox__content{cursor:move;cursor:grab}::ng-deep .can-zoom_in .fancybox__content{cursor:zoom-in}::ng-deep .can-zoom_out .fancybox__content{cursor:zoom-out}::ng-deep .is-dragging .fancybox__content{cursor:move;cursor:grabbing}::ng-deep .fancybox__content [data-selectable],::ng-deep .fancybox__content [contenteditable]{cursor:auto}::ng-deep .fancybox__slide.has-image>.fancybox__content{padding:0;background:#0000;min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translateZ(0);backface-visibility:hidden}::ng-deep .fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}::ng-deep .is-zooming-in .fancybox__viewport:not(.is-dragging) .fancybox__slide:not(.is-selected) .fancybox__content,::ng-deep .is-zooming-out .fancybox__viewport:not(.is-dragging) .fancybox__slide:not(.is-selected) .fancybox__content{visibility:hidden}::ng-deep .is-animating .fancybox__content,::ng-deep .is-dragging .fancybox__content{filter:blur(0px);will-change:transform,width,height}::ng-deep .fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;-webkit-user-select:none;user-select:none}::ng-deep .fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}::ng-deep .is-loading .fancybox__caption,::ng-deep .is-closing .fancybox__caption{opacity:0;visibility:hidden}::ng-deep .is-compact .fancybox__caption{padding-bottom:0}::ng-deep .f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}::ng-deep .fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}::ng-deep .is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}::ng-deep .is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}::ng-deep .fancybox__content>.f-button.is-close-btn:hover{opacity:1}::ng-deep .fancybox__footer{padding:0;margin:0;position:relative}::ng-deep .fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}::ng-deep .is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:#18181b80}::ng-deep .is-compact .fancybox__footer .fancybox__caption{padding:12px}::ng-deep .is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, .6);--f-button-active-bg: rgba(0, 0, 0, .6);--f-button-hover-bg: rgba(0, 0, 0, .6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}::ng-deep .fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, .3);--f-button-active-bg: rgba(24, 24, 27, .5);--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .5));--f-button-svg-disabled-opacity: .65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}::ng-deep .fancybox__nav .f-button:before{position:absolute;content:\"\";inset:-30px -20px;z-index:1}::ng-deep .is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}::ng-deep .is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}::ng-deep .fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -.5));z-index:30;cursor:pointer}::ng-deep .fancybox-protected{position:absolute;inset:0;z-index:40;-webkit-user-select:none;user-select:none}::ng-deep .fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}::ng-deep .fancybox__container:not([aria-hidden]){opacity:0}::ng-deep .fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-enter-duration, .25s) ease .1s backwards f-fadeIn}::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:var(--f-backdrop-enter-duration, .35s) ease backwards f-fadeIn}::ng-deep .fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-exit-duration, .15s) ease forwards f-fadeOut}::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:var(--f-backdrop-exit-duration, .35s) ease forwards f-fadeOut}::ng-deep .has-iframe .fancybox__content,::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content,::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}::ng-deep .has-iframe .fancybox__content,::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}::ng-deep .fancybox__container.is-compact .has-iframe .fancybox__content,::ng-deep .fancybox__container.is-compact .has-map .fancybox__content,::ng-deep .fancybox__container.is-compact .has-pdf .fancybox__content{width:100%;height:100%}::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content,::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{padding:0;background:#18181be6;color:#fff}::ng-deep .has-map .fancybox__content{background:#e5e3df}::ng-deep .fancybox__html5video,::ng-deep .fancybox__iframe{border:0;display:block;height:100%;width:100%;background:#0000}::ng-deep .fancybox-placeholder{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}::ng-deep .f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}::ng-deep .f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}::ng-deep .f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px}::ng-deep .f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;user-select:none;perspective:1000px;transform:translateZ(0)}::ng-deep .f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2,#e2e8f0);z-index:-1}::ng-deep .f-thumbs .f-spinner svg{display:none}::ng-deep .f-thumbs.is-vertical{height:100%}::ng-deep .f-thumbs__viewport{width:100%;height:auto;overflow:hidden;transform:translateZ(0)}::ng-deep .f-thumbs__track{display:flex}::ng-deep .f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}::ng-deep .f-thumbs__slide.is-loading img{opacity:0}::ng-deep .is-classic .f-thumbs__viewport{height:100%}::ng-deep .is-modern .f-thumbs__track{width:max-content}::ng-deep .is-modern .f-thumbs__track:before{content:\"\";position:absolute;top:0;bottom:0;left:calc((var(--f-thumb-clip-width, 0)) * -.5);width:calc(var(--width, 0) * 1px + var(--f-thumb-clip-width, 0));cursor:pointer}::ng-deep .is-modern .f-thumbs__slide{width:var(--f-thumb-clip-width);transform:translate3d(calc(var(--shift, 0) * -1px),0,0);transition:none;pointer-events:none}::ng-deep .is-modern.is-resting .f-thumbs__slide{transition:transform .33s ease}::ng-deep .is-modern.is-resting .f-thumbs__slide__button{transition:clip-path .33s ease}::ng-deep .is-using-tab .is-modern .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}::ng-deep .f-thumbs__slide__button{appearance:none;width:var(--f-thumb-width);height:100%;margin:0 -100%;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:#0000;outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}::ng-deep .f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}::ng-deep .f-thumbs__slide__button:focus:not(:focus-visible){outline:none}::ng-deep .f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}::ng-deep .is-modern .f-thumbs__slide__button{--clip-path: inset(0 calc((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0)) * (1 - var(--progress, 0)) * .5) round var(--f-thumb-border-radius, 0));clip-path:var(--clip-path)}::ng-deep .is-classic .is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}::ng-deep .is-classic .is-nav-selected .f-thumbs__slide__button:after{content:\"\";position:absolute;inset:0;height:auto;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}::ng-deep .f-thumbs__slide__img{overflow:hidden;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover;border-radius:var(--f-thumb-border-radius)}::ng-deep .f-thumbs.is-horizontal .f-thumbs__track{padding:8px 0 12px}::ng-deep .f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}::ng-deep .f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;padding:0 8px}::ng-deep .f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}::ng-deep .fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(.23,1,.32,1)}::ng-deep .fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1}::ng-deep .fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}::ng-deep .fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}::ng-deep .fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}::ng-deep .fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}::ng-deep .fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}::ng-deep .is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}::ng-deep .fancybox__thumbs.is-masked{max-height:0px!important}::ng-deep .is-closing .fancybox__thumbs{transition:none!important}::ng-deep .fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, .94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, .65);--f-button-hover-bg: rgba(70, 70, 73, .65);--f-button-active-bg: rgba(90, 90, 93, .65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: .65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Adjusted,Segoe UI,Liberation Sans,sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, .5));pointer-events:none;z-index:20}::ng-deep .fancybox__toolbar :focus-visible{z-index:1}::ng-deep .fancybox__toolbar.is-absolute,::ng-deep .is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}::ng-deep .is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}::ng-deep .fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}::ng-deep .fancybox__toolbar__column.is-left,::ng-deep .fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}::ng-deep .fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}::ng-deep .fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;-webkit-user-select:none;user-select:none}::ng-deep .fancybox__infobar span{padding:0 5px}::ng-deep .fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}::ng-deep [data-fancybox-toggle-slideshow]{position:relative}::ng-deep [data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}::ng-deep [data-fancybox-toggle-slideshow] svg g:first-child{display:flex}::ng-deep [data-fancybox-toggle-slideshow] svg g:last-child{display:none}::ng-deep .has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}::ng-deep .has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}::ng-deep [data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}::ng-deep [data-fancybox-toggle-fullscreen] svg g:last-child{display:none}::ng-deep :fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}::ng-deep :fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}::ng-deep .f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;-webkit-user-select:none;user-select:none;pointer-events:none}.mrx-gallery-row{row-gap:16px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "mrx-button", inputs: ["size", "type", "color", "iconPosition", "active", "disabled", "isLoading", "iconOnly", "customClasses", "label", "icon", "iconClass", "buttonType"], outputs: ["mrxClick"] }, { kind: "component", type: i4.GalleryItemComponent, selector: "mrx-gallery-item", inputs: ["preview", "index", "isEditing", "descriptionMaxLength", "deleteEndPoint", "updateEndPoint", "rotateSlides", "isLoading"], outputs: ["openGalleryModal", "deletePhoto", "updatePhoto"] }] });
172
+ }
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: GalleryComponent, decorators: [{
174
+ type: Component,
175
+ args: [{ selector: 'mrx-gallery', template: "<div class=\"mrx-gallery\" [class]=\"getClasses\">\r\n <div class=\"mrx-gallery-row row\">\r\n <div *ngFor=\"let preview of getData; trackBy: trackByFn; let index = index\" class=\"col col-12 col-sm-6 col-md-3\">\r\n <mrx-gallery-item\r\n [preview]=\"preview\"\r\n [index]=\"index\"\r\n [isEditing]=\"isEditing\"\r\n [descriptionMaxLength]=\"descriptionMaxLength\"\r\n [rotateSlides]=\"rotateSlides\"\r\n [isLoading]=\"isLoading\"\r\n [deleteEndPoint]=\"deleteEndPoint\"\r\n [updateEndPoint]=\"updateEndPoint\"\r\n (openGalleryModal)=\"openGalleryModal($event)\"\r\n (deletePhoto)=\"deletePhoto.emit($event)\"\r\n (updatePhoto)=\"updatePhoto.emit($event)\"\r\n ></mrx-gallery-item>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row mt-3\" *ngIf=\"isShowMore\">\r\n <div class=\"col d-flex justify-content-center\">\r\n <mrx-button type=\"tertiary\" (mrxClick)=\"changeExpanded()\">\r\n {{ getIsExpanded ? '\u0421\u043A\u0440\u044B\u0442\u044C' : '\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435 \u0444\u043E\u0442\u043E\u0433\u0440\u0430\u0444\u0438\u0438' }}\r\n <span\r\n class=\"mrx-icon icon-font-16 ml-2\"\r\n [class.icon-chevron-down]=\"!getIsExpanded\"\r\n [class.icon-chevron-up]=\"getIsExpanded\"\r\n ></span>\r\n </mrx-button>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["::ng-deep :root{--f-spinner-width: 36px;--f-spinner-height: 36px;--f-spinner-color-1: rgba(0, 0, 0, .1);--f-spinner-color-2: rgba(17, 24, 28, .8);--f-spinner-stroke: 2.75}::ng-deep .f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}::ng-deep .f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}::ng-deep .f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}::ng-deep .f-spinner svg *:first-child{stroke:var(--f-spinner-color-1)}::ng-deep .f-spinner svg *:last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{to{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}::ng-deep .f-throwOutUp{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutUp}::ng-deep .f-throwOutDown{animation:var(--f-throw-out-duration, .175s) ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,calc(var(--f-throw-out-distance, 150px) * -1),0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,var(--f-throw-out-distance, 150px),0);opacity:0}}::ng-deep .f-zoomInUp{animation:var(--f-transition-duration, .2s) ease .1s both f-zoomInUp}::ng-deep .f-zoomOutDown{animation:var(--f-transition-duration, .2s) ease both f-zoomOutDown}@keyframes f-zoomInUp{0%{transform:scale(.975) translate3d(0,16px,0);opacity:0}to{transform:scale(1) translateZ(0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(.975) translate3d(0,16px,0);opacity:0}}::ng-deep .f-fadeIn{animation:var(--f-transition-duration, .2s) ease both f-fadeIn;z-index:2}::ng-deep .f-fadeOut{animation:var(--f-transition-duration, .2s) ease both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeOut{to{opacity:0}}::ng-deep .f-fadeFastIn{animation:var(--f-transition-duration, .2s) ease-out both f-fadeFastIn;z-index:2}::ng-deep .f-fadeFastOut{animation:var(--f-transition-duration, .1s) ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}to{opacity:1}}@keyframes f-fadeFastOut{to{opacity:0}}::ng-deep .f-fadeSlowIn{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowIn;z-index:2}::ng-deep .f-fadeSlowOut{animation:var(--f-transition-duration, .5s) ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}to{opacity:1}}@keyframes f-fadeSlowOut{to{opacity:0}}::ng-deep .f-crossfadeIn{animation:var(--f-transition-duration, .2s) ease-out both f-crossfadeIn;z-index:2}::ng-deep .f-crossfadeOut{animation:calc(var(--f-transition-duration, .2s) * .5) linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}to{opacity:1}}@keyframes f-crossfadeOut{to{opacity:0}}::ng-deep .f-slideIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInNext}::ng-deep .f-slideIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideInPrev}::ng-deep .f-slideOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutNext}::ng-deep .f-slideOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translate(100%)}to{transform:translateZ(0)}}@keyframes f-slideInNext{0%{transform:translate(-100%)}to{transform:translateZ(0)}}@keyframes f-slideOutNext{to{transform:translate(-100%)}}@keyframes f-slideOutPrev{to{transform:translate(100%)}}::ng-deep .f-classicIn.from-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInNext;z-index:2}::ng-deep .f-classicIn.from-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicInPrev;z-index:2}::ng-deep .f-classicOut.to-next{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutNext;z-index:1}::ng-deep .f-classicOut.to-prev{animation:var(--f-transition-duration, .85s) cubic-bezier(.16,1,.3,1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translate(-75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translate(75px);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes f-classicOutNext{to{transform:translate(-75px);opacity:0}}@keyframes f-classicOutPrev{to{transform:translate(75px);opacity:0}}::ng-deep :root{--f-button-width: 40px;--f-button-height: 40px;--f-button-border: 0;--f-button-border-radius: 0;--f-button-color: #374151;--f-button-bg: #f8f8f8;--f-button-hover-bg: #e0e0e0;--f-button-active-bg: #d0d0d0;--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 20px;--f-button-svg-height: 20px;--f-button-svg-stroke-width: 1.5;--f-button-svg-fill: none;--f-button-svg-filter: none;--f-button-svg-disabled-opacity: .65}::ng-deep .f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media (hover: hover){::ng-deep .f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}::ng-deep .f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}::ng-deep .f-button:focus:not(:focus-visible){outline:none}::ng-deep .f-button:focus-visible{outline:none;box-shadow:inset 0 0 0 var(--f-button-outline, 2px) var(--f-button-outline-color, var(--f-button-color))}::ng-deep .f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}::ng-deep .f-button[disabled]{cursor:default}::ng-deep .f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}::ng-deep .f-carousel__nav .f-button.is-prev,::ng-deep .f-carousel__nav .f-button.is-next,::ng-deep .fancybox__nav .f-button.is-prev,::ng-deep .fancybox__nav .f-button.is-next{position:absolute;z-index:1}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal .fancybox__nav .f-button.is-prev,::ng-deep .is-horizontal .fancybox__nav .f-button.is-next{top:50%;transform:translateY(-50%)}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}::ng-deep .is-horizontal .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}::ng-deep .is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,::ng-deep .is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}::ng-deep .is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,::ng-deep .is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev,::ng-deep .is-vertical .f-carousel__nav .f-button.is-next,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev,::ng-deep .is-vertical .fancybox__nav .f-button.is-next{top:auto;left:50%;transform:translate(-50%)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-next,::ng-deep .is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}::ng-deep .is-vertical .f-carousel__nav .f-button.is-prev svg,::ng-deep .is-vertical .f-carousel__nav .f-button.is-next svg,::ng-deep .is-vertical .fancybox__nav .f-button.is-prev svg,::ng-deep .is-vertical .fancybox__nav .f-button.is-next svg{transform:rotate(90deg)}::ng-deep html.with-fancybox{width:auto;overflow:visible;scroll-behavior:auto}::ng-deep html.with-fancybox body{touch-action:none}::ng-deep html.with-fancybox body.hide-scrollbar{width:auto;margin-right:calc(var(--fancybox-body-margin, 0px) + var(--fancybox-scrollbar-compensate, 0px));overflow:hidden!important;overscroll-behavior-y:none}::ng-deep .fancybox__container{--fancybox-color: #dbdbdb;--fancybox-hover-color: #fff;--fancybox-bg: rgba(24, 24, 27, .98);--fancybox-slide-gap: 10px;--f-spinner-width: 50px;--f-spinner-height: 50px;--f-spinner-color-1: rgba(255, 255, 255, .1);--f-spinner-color-2: #bbb;--f-spinner-stroke: 3.65;position:fixed;inset:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:visible;z-index:var(--fancybox-zIndex, 1050);outline:none;transform-origin:top left;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:contain}::ng-deep .fancybox__container *,::ng-deep .fancybox__container *:before,::ng-deep .fancybox__container *:after{box-sizing:inherit}::ng-deep .fancybox__container::backdrop{background-color:#0000}::ng-deep .fancybox__backdrop{position:fixed;inset:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity, 1);will-change:opacity}::ng-deep .fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}::ng-deep .fancybox__viewport{width:100%;height:100%}::ng-deep .fancybox__viewport.is-draggable{cursor:move;cursor:grab}::ng-deep .fancybox__viewport.is-dragging{cursor:move;cursor:grabbing}::ng-deep .fancybox__track{display:flex;margin:0 auto;height:100%}::ng-deep .fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;overscroll-behavior:contain;transform:translateZ(0);backface-visibility:hidden}::ng-deep .fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}::ng-deep .fancybox__slide.has-iframe,::ng-deep .fancybox__slide.has-video,::ng-deep .fancybox__slide.has-html5video{overflow:hidden}::ng-deep .fancybox__slide.has-image{overflow:hidden}::ng-deep .fancybox__slide.has-image.is-animating,::ng-deep .fancybox__slide.has-image.is-selected{overflow:visible}::ng-deep .fancybox__slide:before,::ng-deep .fancybox__slide:after{content:\"\";flex:0 0 0;margin:auto}::ng-deep .fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color, #374151);background:var(--fancybox-content-bg, #fff);cursor:default;border-radius:0;z-index:20}::ng-deep .is-loading .fancybox__content{opacity:0}::ng-deep .is-draggable .fancybox__content{cursor:move;cursor:grab}::ng-deep .can-zoom_in .fancybox__content{cursor:zoom-in}::ng-deep .can-zoom_out .fancybox__content{cursor:zoom-out}::ng-deep .is-dragging .fancybox__content{cursor:move;cursor:grabbing}::ng-deep .fancybox__content [data-selectable],::ng-deep .fancybox__content [contenteditable]{cursor:auto}::ng-deep .fancybox__slide.has-image>.fancybox__content{padding:0;background:#0000;min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translateZ(0);backface-visibility:hidden}::ng-deep .fancybox__slide.has-image>.fancybox__content>picture>img{width:100%;height:auto;max-height:100%}::ng-deep .is-zooming-in .fancybox__viewport:not(.is-dragging) .fancybox__slide:not(.is-selected) .fancybox__content,::ng-deep .is-zooming-out .fancybox__viewport:not(.is-dragging) .fancybox__slide:not(.is-selected) .fancybox__content{visibility:hidden}::ng-deep .is-animating .fancybox__content,::ng-deep .is-dragging .fancybox__content{filter:blur(0px);will-change:transform,width,height}::ng-deep .fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;-webkit-user-select:none;user-select:none}::ng-deep .fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);cursor:auto;visibility:visible}::ng-deep .is-loading .fancybox__caption,::ng-deep .is-closing .fancybox__caption{opacity:0;visibility:hidden}::ng-deep .is-compact .fancybox__caption{padding-bottom:0}::ng-deep .f-button.is-close-btn{--f-button-svg-stroke-width: 2;position:absolute;top:0;right:8px;z-index:40}::ng-deep .fancybox__content>.f-button.is-close-btn{--f-button-width: 34px;--f-button-height: 34px;--f-button-border-radius: 4px;--f-button-color: var(--fancybox-color, #fff);--f-button-hover-color: var(--fancybox-color, #fff);--f-button-bg: transparent;--f-button-hover-bg: transparent;--f-button-active-bg: transparent;--f-button-svg-width: 22px;--f-button-svg-height: 22px;position:absolute;top:-38px;right:0;opacity:.75}::ng-deep .is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}::ng-deep .is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}::ng-deep .fancybox__content>.f-button.is-close-btn:hover{opacity:1}::ng-deep .fancybox__footer{padding:0;margin:0;position:relative}::ng-deep .fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity, 1);transition:all .25s ease}::ng-deep .is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:#18181b80}::ng-deep .is-compact .fancybox__footer .fancybox__caption{padding:12px}::ng-deep .is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius: 50%;--f-button-color: #fff;--f-button-hover-color: #fff;--f-button-outline-color: #000;--f-button-bg: rgba(0, 0, 0, .6);--f-button-active-bg: rgba(0, 0, 0, .6);--f-button-hover-bg: rgba(0, 0, 0, .6);--f-button-svg-width: 18px;--f-button-svg-height: 18px;--f-button-svg-filter: none;top:5px;right:5px}::ng-deep .fancybox__nav{--f-button-width: 50px;--f-button-height: 50px;--f-button-border: 0;--f-button-border-radius: 50%;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: transparent;--f-button-hover-bg: rgba(24, 24, 27, .3);--f-button-active-bg: rgba(24, 24, 27, .5);--f-button-shadow: none;--f-button-transition: all .15s ease;--f-button-transform: none;--f-button-svg-width: 26px;--f-button-svg-height: 26px;--f-button-svg-stroke-width: 2.5;--f-button-svg-fill: none;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .5));--f-button-svg-disabled-opacity: .65;--f-button-next-pos: 1rem;--f-button-prev-pos: 1rem;opacity:var(--fancybox-opacity, 1)}::ng-deep .fancybox__nav .f-button:before{position:absolute;content:\"\";inset:-30px -20px;z-index:1}::ng-deep .is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}::ng-deep .is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}::ng-deep .fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top, calc(var(--f-spinner-width) * -.5)) 0 0 var(--f-spinner-left, calc(var(--f-spinner-height) * -.5));z-index:30;cursor:pointer}::ng-deep .fancybox-protected{position:absolute;inset:0;z-index:40;-webkit-user-select:none;user-select:none}::ng-deep .fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;-webkit-user-select:none;user-select:none;pointer-events:none}::ng-deep .fancybox-focus-guard{outline:none;opacity:0;position:fixed;pointer-events:none}::ng-deep .fancybox__container:not([aria-hidden]){opacity:0}::ng-deep .fancybox__container.is-animated[aria-hidden=false]>*:not(.fancybox__backdrop,.fancybox__carousel),::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>*:not(.fancybox__viewport),::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-enter-duration, .25s) ease .1s backwards f-fadeIn}::ng-deep .fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:var(--f-backdrop-enter-duration, .35s) ease backwards f-fadeIn}::ng-deep .fancybox__container.is-animated[aria-hidden=true]>*:not(.fancybox__backdrop,.fancybox__carousel),::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>*:not(.fancybox__viewport),::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>*:not(.fancybox__content){animation:var(--f-interface-exit-duration, .15s) ease forwards f-fadeOut}::ng-deep .fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:var(--f-backdrop-exit-duration, .35s) ease forwards f-fadeOut}::ng-deep .has-iframe .fancybox__content,::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content,::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}::ng-deep .has-iframe .fancybox__content,::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}::ng-deep .fancybox__container.is-compact .has-iframe .fancybox__content,::ng-deep .fancybox__container.is-compact .has-map .fancybox__content,::ng-deep .fancybox__container.is-compact .has-pdf .fancybox__content{width:100%;height:100%}::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}::ng-deep .has-map .fancybox__content,::ng-deep .has-pdf .fancybox__content,::ng-deep .has-youtube .fancybox__content,::ng-deep .has-vimeo .fancybox__content,::ng-deep .has-html5video .fancybox__content{padding:0;background:#18181be6;color:#fff}::ng-deep .has-map .fancybox__content{background:#e5e3df}::ng-deep .fancybox__html5video,::ng-deep .fancybox__iframe{border:0;display:block;height:100%;width:100%;background:#0000}::ng-deep .fancybox-placeholder{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}::ng-deep .f-carousel__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-outline: 0;--f-thumb-outline-color: #5eb0ef;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1;--f-thumb-border-radius: 2px;--f-thumb-offset: 0px;--f-button-next-pos: 0;--f-button-prev-pos: 0}::ng-deep .f-carousel__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1;--f-thumb-selected-opacity: 1}::ng-deep .f-carousel__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px}::ng-deep .f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;user-select:none;perspective:1000px;transform:translateZ(0)}::ng-deep .f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2,#e2e8f0);z-index:-1}::ng-deep .f-thumbs .f-spinner svg{display:none}::ng-deep .f-thumbs.is-vertical{height:100%}::ng-deep .f-thumbs__viewport{width:100%;height:auto;overflow:hidden;transform:translateZ(0)}::ng-deep .f-thumbs__track{display:flex}::ng-deep .f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}::ng-deep .f-thumbs__slide.is-loading img{opacity:0}::ng-deep .is-classic .f-thumbs__viewport{height:100%}::ng-deep .is-modern .f-thumbs__track{width:max-content}::ng-deep .is-modern .f-thumbs__track:before{content:\"\";position:absolute;top:0;bottom:0;left:calc((var(--f-thumb-clip-width, 0)) * -.5);width:calc(var(--width, 0) * 1px + var(--f-thumb-clip-width, 0));cursor:pointer}::ng-deep .is-modern .f-thumbs__slide{width:var(--f-thumb-clip-width);transform:translate3d(calc(var(--shift, 0) * -1px),0,0);transition:none;pointer-events:none}::ng-deep .is-modern.is-resting .f-thumbs__slide{transition:transform .33s ease}::ng-deep .is-modern.is-resting .f-thumbs__slide__button{transition:clip-path .33s ease}::ng-deep .is-using-tab .is-modern .f-thumbs__slide:focus-within{filter:drop-shadow(-1px 0px 0px var(--f-thumb-outline-color)) drop-shadow(2px 0px 0px var(--f-thumb-outline-color)) drop-shadow(0px -1px 0px var(--f-thumb-outline-color)) drop-shadow(0px 2px 0px var(--f-thumb-outline-color))}::ng-deep .f-thumbs__slide__button{appearance:none;width:var(--f-thumb-width);height:100%;margin:0 -100%;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:#0000;outline:none;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}::ng-deep .f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}::ng-deep .f-thumbs__slide__button:focus:not(:focus-visible){outline:none}::ng-deep .f-thumbs__slide__button:focus-visible{outline:none;opacity:var(--f-thumb-selected-opacity)}::ng-deep .is-modern .f-thumbs__slide__button{--clip-path: inset(0 calc((var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0)) * (1 - var(--progress, 0)) * .5) round var(--f-thumb-border-radius, 0));clip-path:var(--clip-path)}::ng-deep .is-classic .is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}::ng-deep .is-classic .is-nav-selected .f-thumbs__slide__button:after{content:\"\";position:absolute;inset:0;height:auto;border:var(--f-thumb-outline, 0) solid var(--f-thumb-outline-color, transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}::ng-deep .f-thumbs__slide__img{overflow:hidden;position:absolute;inset:0;width:100%;height:100%;margin:0;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover;border-radius:var(--f-thumb-border-radius)}::ng-deep .f-thumbs.is-horizontal .f-thumbs__track{padding:8px 0 12px}::ng-deep .f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}::ng-deep .f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;padding:0 8px}::ng-deep .f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}::ng-deep .fancybox__thumbs{--f-thumb-width: 96px;--f-thumb-height: 72px;--f-thumb-border-radius: 2px;--f-thumb-outline: 2px;--f-thumb-outline-color: #ededed;position:relative;opacity:var(--fancybox-opacity, 1);transition:max-height .35s cubic-bezier(.23,1,.32,1)}::ng-deep .fancybox__thumbs.is-classic{--f-thumb-gap: 8px;--f-thumb-opacity: .5;--f-thumb-hover-opacity: 1}::ng-deep .fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}::ng-deep .fancybox__thumbs.is-modern{--f-thumb-gap: 4px;--f-thumb-extra-gap: 16px;--f-thumb-clip-width: 46px;--f-thumb-opacity: 1;--f-thumb-hover-opacity: 1}::ng-deep .fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(#ffffff1a,#ffffff0d)}::ng-deep .fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}::ng-deep .fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}::ng-deep .is-compact .fancybox__thumbs{--f-thumb-width: 64px;--f-thumb-clip-width: 32px;--f-thumb-height: 48px;--f-thumb-extra-gap: 10px}::ng-deep .fancybox__thumbs.is-masked{max-height:0px!important}::ng-deep .is-closing .fancybox__thumbs{transition:none!important}::ng-deep .fancybox__toolbar{--f-progress-color: var(--fancybox-color, rgba(255, 255, 255, .94));--f-button-width: 46px;--f-button-height: 46px;--f-button-color: var(--fancybox-color);--f-button-hover-color: var(--fancybox-hover-color);--f-button-bg: rgba(24, 24, 27, .65);--f-button-hover-bg: rgba(70, 70, 73, .65);--f-button-active-bg: rgba(90, 90, 93, .65);--f-button-border-radius: 0;--f-button-svg-width: 24px;--f-button-svg-height: 24px;--f-button-svg-stroke-width: 1.5;--f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, .15));--f-button-svg-fill: none;--f-button-svg-disabled-opacity: .65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI Adjusted,Segoe UI,Liberation Sans,sans-serif;color:var(--fancybox-color, currentColor);opacity:var(--fancybox-opacity, 1);text-shadow:var(--fancybox-toolbar-text-shadow, 1px 1px 1px rgba(0, 0, 0, .5));pointer-events:none;z-index:20}::ng-deep .fancybox__toolbar :focus-visible{z-index:1}::ng-deep .fancybox__toolbar.is-absolute,::ng-deep .is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}::ng-deep .is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}::ng-deep .fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}::ng-deep .fancybox__toolbar__column.is-left,::ng-deep .fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}::ng-deep .fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}::ng-deep .fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;-webkit-user-select:none;user-select:none}::ng-deep .fancybox__infobar span{padding:0 5px}::ng-deep .fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}::ng-deep [data-fancybox-toggle-slideshow]{position:relative}::ng-deep [data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}::ng-deep [data-fancybox-toggle-slideshow] svg g:first-child{display:flex}::ng-deep [data-fancybox-toggle-slideshow] svg g:last-child{display:none}::ng-deep .has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}::ng-deep .has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}::ng-deep [data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}::ng-deep [data-fancybox-toggle-fullscreen] svg g:last-child{display:none}::ng-deep :fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}::ng-deep :fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}::ng-deep .f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color, var(--f-carousel-theme-color, #0091ff));z-index:30;-webkit-user-select:none;user-select:none;pointer-events:none}.mrx-gallery-row{row-gap:16px}\n"] }]
176
+ }], ctorParameters: () => [{ type: i1.GalleryService }], propDecorators: { data: [{
177
+ type: Input
178
+ }], isExpandable: [{
179
+ type: Input
180
+ }], customClasses: [{
181
+ type: Input
182
+ }], rotateEndPoint: [{
183
+ type: Input
184
+ }], deleteEndPoint: [{
185
+ type: Input
186
+ }], updateEndPoint: [{
187
+ type: Input
188
+ }], isEditing: [{
189
+ type: Input
190
+ }], isSaveRotate: [{
191
+ type: Input
192
+ }], descriptionMaxLength: [{
193
+ type: Input
194
+ }], thumbsConfig: [{
195
+ type: Input
196
+ }], toolbarConfig: [{
197
+ type: Input
198
+ }], deletePhoto: [{
199
+ type: Output
200
+ }], updatePhoto: [{
201
+ type: Output
202
+ }] } });
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZ2FsbGVyeS9nYWxsZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2dhbGxlcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUF5QyxNQUFNLGlCQUFpQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFReEUsTUFBTSxPQUFPLGdCQUFnQjtJQXlCakI7SUF4QkYsU0FBUyxHQUFXLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzVDLFlBQVksR0FBMEIsRUFBRSxDQUFDO0lBQ3pDLFNBQVMsR0FBRyxLQUFLLENBQUE7SUFFaEIsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVsQixJQUFJLEdBQXVCLEVBQUUsQ0FBQTtJQUM3QixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDbkIsY0FBYyxDQUFVO0lBQ3hCLGNBQWMsQ0FBVTtJQUN4QixjQUFjLENBQVU7SUFDeEIsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLG9CQUFvQixHQUFHLENBQUMsQ0FBQztJQUN6QixZQUFZLENBQXdDO0lBQ3BELGFBQWEsQ0FBeUM7SUFFckQsV0FBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3pELFdBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUUzRCxhQUFhLEdBQXlCLEVBQUUsQ0FBQztJQUVqRCxZQUNVLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUV4QyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ2hELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUM3QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVksU0FBUztRQUNuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsT0FBTztnQkFDTCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVM7Z0JBQ3JDLEtBQUssRUFBRSxLQUFLLENBQUMsVUFBVTtnQkFDdkIsT0FBTyxFQUFFLEtBQUssQ0FBQyxXQUFXO2dCQUMxQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0JBQ2hCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDMUIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO2FBQ3JDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxTQUFTLENBQUMsS0FBYSxFQUFFLElBQVM7UUFDdkMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFVO1FBQ2hDLElBQUksUUFBUSxDQUNWLElBQUksQ0FBQyxTQUFTLEVBQ2Q7WUFDRSxVQUFVLEVBQUUsRUFBRTtZQUNkLE9BQU8sRUFBRSxLQUFLO1lBQ2QsYUFBYSxFQUFFLEtBQUs7WUFDcEIsUUFBUSxFQUFFLEVBQUU7WUFDWixNQUFNLEVBQUUsbUJBQW1CO1lBQzNCLEVBQUUsRUFBRTtnQkFDRixLQUFLLEVBQUUsQ0FBQyxLQUFVLEVBQUUsS0FBVSxFQUFFLEVBQUU7b0JBQ2hDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFOzRCQUNqRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQTs0QkFFckIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQ0FDZCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtnQ0FDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFBO2dDQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDOzRCQUMxQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUE7d0JBQ1YsQ0FBQyxDQUFDLENBQUE7b0JBQ0osQ0FBQztnQkFDSCxDQUFDO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFO29CQUNMLFVBQVUsRUFBRTt3QkFDVixHQUFHLEVBQUU7Ozs7Ozs7V0FPUjt3QkFDRyxLQUFLLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRTs0QkFDaEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQzs0QkFDcEMsSUFBSSxDQUFDLEtBQUs7Z0NBQUUsT0FBTzs0QkFFbkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsS0FBSyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7NEJBRWxHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztnQ0FDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29DQUM5QyxJQUFJLENBQUMsQ0FBQyxjQUFjLEtBQUssZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7d0NBQ3pELENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztvQ0FDbkQsQ0FBQztvQ0FDRCxPQUFPLENBQUMsQ0FBQztnQ0FDWCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7NEJBQ25DLENBQUM7aUNBQU0sQ0FBQztnQ0FDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztvQ0FDckIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO29DQUNwQyxNQUFNLEVBQUUsQ0FBQyxFQUFFO2lDQUNaLENBQUMsQ0FBQzs0QkFDTCxDQUFDOzRCQUVELEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUE7d0JBQzVCLENBQUM7cUJBQ0Y7b0JBQ0QsV0FBVyxFQUFFO3dCQUNYLEdBQUcsRUFBRTs7Ozs7OztXQU9SO3dCQUNHLEtBQUssRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFOzRCQUNoQixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDOzRCQUNwQyxJQUFJLENBQUMsS0FBSztnQ0FBRSxPQUFPOzRCQUVuQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxLQUFLLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQzs0QkFFbEcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dDQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0NBQzlDLElBQUksQ0FBQyxDQUFDLGNBQWMsS0FBSyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQzt3Q0FDekQsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztvQ0FDbEQsQ0FBQztvQ0FDRCxPQUFPLENBQUMsQ0FBQztnQ0FDWCxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7NEJBQ25DLENBQUM7aUNBQU0sQ0FBQztnQ0FDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztvQ0FDckIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO29DQUNwQyxNQUFNLEVBQUUsRUFBRTtpQ0FDWCxDQUFDLENBQUM7NEJBQ0wsQ0FBQzs0QkFFRCxLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFBO3dCQUMzQixDQUFDO3FCQUNGO2lCQUNGO2dCQUNELE9BQU8sRUFBRSxvQkFBb0I7YUFDOUI7WUFDRCxHQUFHLElBQUksQ0FBQyxhQUFhO1NBQ3RCLEVBQ0QsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO3dHQXJMVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQix3ZENuQjdCLDQ2Q0FnQ0E7OzRGRGJhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhO21GQVdkLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRmFuY3lib3gsIFRodW1ic09wdGlvbnNUeXBlLCBUb29sYmFyT3B0aW9uc1R5cGUgfSBmcm9tICdtcngtZ2FsbGVyeS1saWInO1xyXG5pbXBvcnQgeyBHYWxsZXJ5SW5uZXJJdGVtTW9kYWwsIEdhbGxlcnlJdGVtTW9kZWwsIEdhbGxlcnlSb3RhdGVTbGlkZXMgfSBmcm9tICcuL21vZGVscy9nYWxsZXJ5LWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBjdXN0b21Ub29sYmFyRGVmYXVsdCB9IGZyb20gJy4vY29uc3RhbnRzL2N1c3RvbS1idXR0b25zLWRlZmF1bHQnO1xyXG5pbXBvcnQgeyBPcHRpb25zVHlwZSB9IGZyb20gJ21yeC1nYWxsZXJ5LWxpYi90eXBlcy9GYW5jeWJveC9vcHRpb25zJztcclxuaW1wb3J0IHsgdGh1bWJzQ29uZmlnRGVmYXVsdCB9IGZyb20gJy4vY29uc3RhbnRzL3RodW1icy1jb25maWctZGVmYXVsdCc7XHJcbmltcG9ydCB7IEdhbGxlcnlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9nYWxsZXJ5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtZ2FsbGVyeScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dhbGxlcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2dhbGxlcnkuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdhbGxlcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgdGltZVN0YW1wOiBudW1iZXIgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gIHB1YmxpYyByb3RhdGVTbGlkZXM6IEdhbGxlcnlSb3RhdGVTbGlkZXNbXSA9IFtdO1xyXG4gIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZVxyXG5cclxuICBwcml2YXRlIGlzRXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgZGF0YTogR2FsbGVyeUl0ZW1Nb2RlbFtdID0gW11cclxuICBASW5wdXQoKSBpc0V4cGFuZGFibGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSByb3RhdGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSBkZWxldGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSB1cGRhdGVFbmRQb2ludCE6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0VkaXRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc1NhdmVSb3RhdGUgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uTWF4TGVuZ3RoID0gMDtcclxuICBASW5wdXQoKSB0aHVtYnNDb25maWchOiBCb29sZWFuIHwgUGFydGlhbDxUaHVtYnNPcHRpb25zVHlwZT47XHJcbiAgQElucHV0KCkgdG9vbGJhckNvbmZpZyE6IEJvb2xlYW4gfCBQYXJ0aWFsPFRvb2xiYXJPcHRpb25zVHlwZT47XHJcblxyXG4gIEBPdXRwdXQoKSBkZWxldGVQaG90bzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgdXBkYXRlUGhvdG86IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogUGFydGlhbDxPcHRpb25zVHlwZT4gPSB7fTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGdhbGxlcnlTZXJ2aWNlOiBHYWxsZXJ5U2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNFeHBhbmRhYmxlKSB7XHJcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnRodW1ic0NvbmZpZykge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuVGh1bWJzID0gdGhpcy50aHVtYnNDb25maWc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMudG9vbGJhckNvbmZpZykge1xyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuVG9vbGJhciA9IHRoaXMudG9vbGJhckNvbmZpZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1Nob3dNb3JlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YS5sZW5ndGggPiA4XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldERhdGEoKTogR2FsbGVyeUl0ZW1Nb2RlbFtdIHtcclxuICAgIGlmICh0aGlzLmlzRXhwYW5kYWJsZSAmJiAhdGhpcy5pc0V4cGFuZGVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRhdGEuc2xpY2UoMCwgOCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgZ2V0U2xpZGVzKCk6IEdhbGxlcnlJbm5lckl0ZW1Nb2RhbFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGEubWFwKChzbGlkZSkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHNyYzogc2xpZGUudXJsICsgJz8nICsgdGhpcy50aW1lU3RhbXAsXHJcbiAgICAgICAgdGh1bWI6IHNsaWRlLnByZXZpZXdVcmwsXHJcbiAgICAgICAgY2FwdGlvbjogc2xpZGUuZGVzY3JpcHRpb24sXHJcbiAgICAgICAgdXVpZDogc2xpZGUudXVpZCxcclxuICAgICAgICBpbWFnZU5hbWU6IHNsaWRlLmltYWdlTmFtZSxcclxuICAgICAgICBwcmV2aWV3SW1hZ2VJZDogc2xpZGUucHJldmlld0ltYWdlSWRcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRJc0V4cGFuZGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNFeHBhbmRlZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VFeHBhbmRlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNFeHBhbmRlZCA9ICF0aGlzLmlzRXhwYW5kZWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlbkdhbGxlcnlNb2RhbChpZDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBuZXcgRmFuY3lib3goXHJcbiAgICAgIHRoaXMuZ2V0U2xpZGVzLFxyXG4gICAgICB7XHJcbiAgICAgICAgc3RhcnRJbmRleDogaWQsXHJcbiAgICAgICAgY29tcGFjdDogZmFsc2UsXHJcbiAgICAgICAgaGlkZVNjcm9sbGJhcjogZmFsc2UsXHJcbiAgICAgICAgQ2Fyb3VzZWw6IHt9LFxyXG4gICAgICAgIFRodW1iczogdGh1bWJzQ29uZmlnRGVmYXVsdCxcclxuICAgICAgICBvbjoge1xyXG4gICAgICAgICAgY2xvc2U6IChmYW5jeTogYW55LCBldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnJvdGF0ZVNsaWRlcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICB0aGlzLmdhbGxlcnlTZXJ2aWNlLnJvdGF0ZSh0aGlzLnJvdGF0ZVNsaWRlcywgdGhpcy5yb3RhdGVFbmRQb2ludCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWVcclxuXHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJvdGF0ZVNsaWRlcy5sZW5ndGggPSAwXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGltZVN0YW1wID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcclxuICAgICAgICAgICAgICAgIH0sIDEwMDApXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgVG9vbGJhcjoge1xyXG4gICAgICAgICAgaXRlbXM6IHtcclxuICAgICAgICAgICAgcm90YXRlTGVmdDoge1xyXG4gICAgICAgICAgICAgIHRwbDogYFxyXG4gICAgICAgICAgICA8YnV0dG9uIHRpdGxlPVwiUm90YXRlIGNvdW50ZXJjbG9ja3dpc2VcIiBjbGFzcz1cImYtYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB0YWJpbmRleD1cIi0xXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTUgNC41NWE4IDggMCAwIDAtNiAxNC45TTkgMTV2NUg0TTE4LjM3IDcuMTZ2LjAxTTEzIDE5Ljk0di4wMU0xNi44NCAxOC4zN3YuMDFNMTkuMzcgMTUuMXYuMDFNMTkuOTQgMTF2LjAxXCI+XHJcbiAgICAgICAgICAgICAgICA8L3BhdGg+XHJcbiAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgYCxcclxuICAgICAgICAgICAgICBjbGljazogKGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgc2xpZGUgPSBhLmluc3RhbmNlLmdldFNsaWRlKCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXNsaWRlKSByZXR1cm47XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgZm91bmRSb3RhdGVTbGlkZSA9IHRoaXMucm90YXRlU2xpZGVzLmZpbmQoKHMpID0+IHMucHJldmlld0ltYWdlSWQgPT09IHNsaWRlLnByZXZpZXdJbWFnZUlkKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmRSb3RhdGVTbGlkZSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJvdGF0ZVNsaWRlcyA9IHRoaXMucm90YXRlU2xpZGVzLm1hcCgocykgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChzLnByZXZpZXdJbWFnZUlkID09PSBmb3VuZFJvdGF0ZVNsaWRlLnByZXZpZXdJbWFnZUlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBzLnJvdGF0ZSA9IHMucm90YXRlID09PSAtMjcwID8gMCA6IHMucm90YXRlIC0gOTA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBzO1xyXG4gICAgICAgICAgICAgICAgICB9KS5maWx0ZXIoKHMpID0+IHMucm90YXRlICE9PSAwKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucm90YXRlU2xpZGVzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHByZXZpZXdJbWFnZUlkOiBzbGlkZS5wcmV2aWV3SW1hZ2VJZCxcclxuICAgICAgICAgICAgICAgICAgICByb3RhdGU6IC05MFxyXG4gICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzbGlkZS5wYW56b29tPy5yb3RhdGVDQ1coKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcm90YXRlUmlnaHQ6IHtcclxuICAgICAgICAgICAgICB0cGw6IGBcclxuICAgICAgICAgICAgPGJ1dHRvbiB0aXRsZT1cIlJvdGF0ZSBjbG9ja3dpc2VcIiBjbGFzcz1cImYtYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPHN2ZyB0YWJpbmRleD1cIi0xXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOSA0LjU1YTggOCAwIDAgMSA2IDE0LjlNMTUgMTV2NWg1TTUuNjMgNy4xNnYuMDFNNC4wNiAxMXYuMDFNNC42MyAxNS4xdi4wMU03LjE2IDE4LjM3di4wMU0xMSAxOS45NHYuMDFcIj5cclxuICAgICAgICAgICAgICAgIDwvcGF0aD5cclxuICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICBgLFxyXG4gICAgICAgICAgICAgIGNsaWNrOiAoYTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzbGlkZSA9IGEuaW5zdGFuY2UuZ2V0U2xpZGUoKTtcclxuICAgICAgICAgICAgICAgIGlmICghc2xpZGUpIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBmb3VuZFJvdGF0ZVNsaWRlID0gdGhpcy5yb3RhdGVTbGlkZXMuZmluZCgocykgPT4gcy5wcmV2aWV3SW1hZ2VJZCA9PT0gc2xpZGUucHJldmlld0ltYWdlSWQpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChmb3VuZFJvdGF0ZVNsaWRlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMucm90YXRlU2xpZGVzID0gdGhpcy5yb3RhdGVTbGlkZXMubWFwKChzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHMucHJldmlld0ltYWdlSWQgPT09IGZvdW5kUm90YXRlU2xpZGUucHJldmlld0ltYWdlSWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHMucm90YXRlID0gcy5yb3RhdGUgPT09IDI3MCA/IDAgOiBzLnJvdGF0ZSArIDkwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcztcclxuICAgICAgICAgICAgICAgICAgfSkuZmlsdGVyKChzKSA9PiBzLnJvdGF0ZSAhPT0gMCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnJvdGF0ZVNsaWRlcy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICBwcmV2aWV3SW1hZ2VJZDogc2xpZGUucHJldmlld0ltYWdlSWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcm90YXRlOiA5MFxyXG4gICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBzbGlkZS5wYW56b29tPy5yb3RhdGVDVygpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGlzcGxheTogY3VzdG9tVG9vbGJhckRlZmF1bHQsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi50aGlzLmRlZmF1bHRDb25maWdcclxuICAgICAgfSxcclxuICAgICAge31cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeVwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1nYWxsZXJ5LXJvdyByb3dcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHByZXZpZXcgb2YgZ2V0RGF0YTsgdHJhY2tCeTogdHJhY2tCeUZuOyBsZXQgaW5kZXggPSBpbmRleFwiIGNsYXNzPVwiY29sIGNvbC0xMiBjb2wtc20tNiBjb2wtbWQtM1wiPlxyXG4gICAgICA8bXJ4LWdhbGxlcnktaXRlbVxyXG4gICAgICAgIFtwcmV2aWV3XT1cInByZXZpZXdcIlxyXG4gICAgICAgIFtpbmRleF09XCJpbmRleFwiXHJcbiAgICAgICAgW2lzRWRpdGluZ109XCJpc0VkaXRpbmdcIlxyXG4gICAgICAgIFtkZXNjcmlwdGlvbk1heExlbmd0aF09XCJkZXNjcmlwdGlvbk1heExlbmd0aFwiXHJcbiAgICAgICAgW3JvdGF0ZVNsaWRlc109XCJyb3RhdGVTbGlkZXNcIlxyXG4gICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcclxuICAgICAgICBbZGVsZXRlRW5kUG9pbnRdPVwiZGVsZXRlRW5kUG9pbnRcIlxyXG4gICAgICAgIFt1cGRhdGVFbmRQb2ludF09XCJ1cGRhdGVFbmRQb2ludFwiXHJcbiAgICAgICAgKG9wZW5HYWxsZXJ5TW9kYWwpPVwib3BlbkdhbGxlcnlNb2RhbCgkZXZlbnQpXCJcclxuICAgICAgICAoZGVsZXRlUGhvdG8pPVwiZGVsZXRlUGhvdG8uZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAodXBkYXRlUGhvdG8pPVwidXBkYXRlUGhvdG8uZW1pdCgkZXZlbnQpXCJcclxuICAgICAgPjwvbXJ4LWdhbGxlcnktaXRlbT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93IG10LTNcIiAqbmdJZj1cImlzU2hvd01vcmVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgPG1yeC1idXR0b24gdHlwZT1cInRlcnRpYXJ5XCIgKG1yeENsaWNrKT1cImNoYW5nZUV4cGFuZGVkKClcIj5cclxuICAgICAgICB7eyBnZXRJc0V4cGFuZGVkID8gJ9Ch0LrRgNGL0YLRjCcgOiAn0J/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0YTQvtGC0L7Qs9GA0LDRhNC40LgnIH19XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIGNsYXNzPVwibXJ4LWljb24gaWNvbi1mb250LTE2IG1sLTJcIlxyXG4gICAgICAgICAgW2NsYXNzLmljb24tY2hldnJvbi1kb3duXT1cIiFnZXRJc0V4cGFuZGVkXCJcclxuICAgICAgICAgIFtjbGFzcy5pY29uLWNoZXZyb24tdXBdPVwiZ2V0SXNFeHBhbmRlZFwiXHJcbiAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgPC9tcngtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=