myrta-ui 13.0.32 → 13.0.33

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 (398) hide show
  1. package/esm2020/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +3 -3
  2. package/fesm2015/myrta-ui.mjs +2 -2
  3. package/fesm2015/myrta-ui.mjs.map +1 -1
  4. package/fesm2020/myrta-ui.mjs +2 -2
  5. package/fesm2020/myrta-ui.mjs.map +1 -1
  6. package/package.json +1 -1
  7. package/esm2022/lib/components/alert/alert.component.mjs +0 -45
  8. package/esm2022/lib/components/alert/alert.enum.mjs +0 -23
  9. package/esm2022/lib/components/alert/alert.module.mjs +0 -19
  10. package/esm2022/lib/components/badges/badge.enum.mjs +0 -32
  11. package/esm2022/lib/components/badges/badges.module.mjs +0 -30
  12. package/esm2022/lib/components/badges/components/badge/badge.component.mjs +0 -61
  13. package/esm2022/lib/components/badges/components/badge-group/badge-group.component.mjs +0 -11
  14. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +0 -28
  15. package/esm2022/lib/components/breadcrumbs/breadcrumbs.enum.mjs +0 -6
  16. package/esm2022/lib/components/breadcrumbs/breadcrumbs.module.mjs +0 -31
  17. package/esm2022/lib/components/button/button.component.mjs +0 -113
  18. package/esm2022/lib/components/button/button.enum.mjs +0 -27
  19. package/esm2022/lib/components/button/button.module.mjs +0 -22
  20. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip/tooltip-container.component.mjs +0 -29
  21. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.directive.mjs +0 -99
  22. package/esm2022/lib/components/cdk-tooltip/cdk-tooltip.module.mjs +0 -21
  23. package/esm2022/lib/components/cdk-tooltip/models/tooltip-data.mjs +0 -2
  24. package/esm2022/lib/components/chars-left/chars-left.component.mjs +0 -24
  25. package/esm2022/lib/components/chars-left/chars-left.module.mjs +0 -19
  26. package/esm2022/lib/components/dropdown/directives/hide-after-click.directive.mjs +0 -24
  27. package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -107
  28. package/esm2022/lib/components/dropdown/dropdown.module.mjs +0 -21
  29. package/esm2022/lib/components/error-message/error-message.component.mjs +0 -32
  30. package/esm2022/lib/components/error-message/error-message.module.mjs +0 -19
  31. package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +0 -148
  32. package/esm2022/lib/components/form/checkbox/checkbox.enum.mjs +0 -2
  33. package/esm2022/lib/components/form/checkbox/checkbox.module.mjs +0 -22
  34. package/esm2022/lib/components/form/checkbox-group/checkbox-group.component.mjs +0 -228
  35. package/esm2022/lib/components/form/checkbox-group/checkbox-group.module.mjs +0 -47
  36. package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-header/checkbox-group-header.component.mjs +0 -63
  37. package/esm2022/lib/components/form/checkbox-group/components/checkbox-group-item/checkbox-group-item.component.mjs +0 -113
  38. package/esm2022/lib/components/form/checkbox-group/helpers/change-group-value.mjs +0 -19
  39. package/esm2022/lib/components/form/checkbox-group/helpers/change-item-value.mjs +0 -15
  40. package/esm2022/lib/components/form/checkbox-group/helpers/filter-search-group.mjs +0 -27
  41. package/esm2022/lib/components/form/checkbox-group/helpers/get-checked-items.mjs +0 -20
  42. package/esm2022/lib/components/form/checkbox-group/helpers/get-inner-list.helper.mjs +0 -46
  43. package/esm2022/lib/components/form/checkbox-group/helpers/get-item-by-id.mjs +0 -11
  44. package/esm2022/lib/components/form/checkbox-group/helpers/get-sorted-list.mjs +0 -50
  45. package/esm2022/lib/components/form/checkbox-group/helpers/inner-list-to-list.helper.mjs +0 -13
  46. package/esm2022/lib/components/form/checkbox-group/models/checkbox-group.model.mjs +0 -2
  47. package/esm2022/lib/components/form/code-editor/code-editor.component.mjs +0 -238
  48. package/esm2022/lib/components/form/code-editor/code-editor.enum.mjs +0 -2
  49. package/esm2022/lib/components/form/code-editor/code-editor.module.mjs +0 -28
  50. package/esm2022/lib/components/form/code-editor/utils/codeeditoroptions.mjs +0 -65
  51. package/esm2022/lib/components/form/editor/config/default-inline-style.mjs +0 -6
  52. package/esm2022/lib/components/form/editor/config/index.mjs +0 -2
  53. package/esm2022/lib/components/form/editor/config/popups-toolbar.mjs +0 -9
  54. package/esm2022/lib/components/form/editor/config/toolbar.mjs +0 -72
  55. package/esm2022/lib/components/form/editor/editor.component.mjs +0 -372
  56. package/esm2022/lib/components/form/editor/editor.enum.mjs +0 -7
  57. package/esm2022/lib/components/form/editor/editor.module.mjs +0 -48
  58. package/esm2022/lib/components/form/editor/models/toolbar.model.mjs +0 -2
  59. package/esm2022/lib/components/form/editor/modules/change-icon-module.mjs +0 -92
  60. package/esm2022/lib/components/form/formula-editor/enums/error-messages.enum.mjs +0 -16
  61. package/esm2022/lib/components/form/formula-editor/enums/formula-editor-size.enum.mjs +0 -7
  62. package/esm2022/lib/components/form/formula-editor/formula-editor.component.mjs +0 -410
  63. package/esm2022/lib/components/form/formula-editor/formula-editor.module.mjs +0 -44
  64. package/esm2022/lib/components/form/formula-editor/helpers/check-errors.helper.mjs +0 -73
  65. package/esm2022/lib/components/form/formula-editor/helpers/create-tags.helper.mjs +0 -21
  66. package/esm2022/lib/components/form/formula-editor/models/check-error-result.model.mjs +0 -2
  67. package/esm2022/lib/components/form/formula-editor/models/formula-editor.model.mjs +0 -2
  68. package/esm2022/lib/components/form/formula-editor/models/index.mjs +0 -4
  69. package/esm2022/lib/components/form/formula-editor/models/white-list-item.model.mjs +0 -2
  70. package/esm2022/lib/components/form/input-date/components/date-calendar/date-calendar.component.mjs +0 -229
  71. package/esm2022/lib/components/form/input-date/helpers/date-helpers.mjs +0 -70
  72. package/esm2022/lib/components/form/input-date/input-date.component.mjs +0 -320
  73. package/esm2022/lib/components/form/input-date/input-date.enum.mjs +0 -7
  74. package/esm2022/lib/components/form/input-date/input-date.module.mjs +0 -51
  75. package/esm2022/lib/components/form/input-date-time/constants/value-models.mjs +0 -14
  76. package/esm2022/lib/components/form/input-date-time/enum/timezone.mjs +0 -7
  77. package/esm2022/lib/components/form/input-date-time/helpers/clean-date.mjs +0 -5
  78. package/esm2022/lib/components/form/input-date-time/helpers/cursor-position.mjs +0 -28
  79. package/esm2022/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +0 -18
  80. package/esm2022/lib/components/form/input-date-time/helpers/formatting-moscow-timezone.mjs +0 -22
  81. package/esm2022/lib/components/form/input-date-time/helpers/validate-value-models.mjs +0 -91
  82. package/esm2022/lib/components/form/input-date-time/helpers/value-parser.mjs +0 -60
  83. package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +0 -547
  84. package/esm2022/lib/components/form/input-date-time/input-date-time.enum.mjs +0 -7
  85. package/esm2022/lib/components/form/input-date-time/input-date-time.module.mjs +0 -46
  86. package/esm2022/lib/components/form/input-date-time/models/input-date-time.model.mjs +0 -2
  87. package/esm2022/lib/components/form/input-datepicker/constants/value-models.mjs +0 -15
  88. package/esm2022/lib/components/form/input-datepicker/helpers/clean-date.mjs +0 -5
  89. package/esm2022/lib/components/form/input-datepicker/helpers/cursor-position.mjs +0 -23
  90. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-dayjs-object.mjs +0 -10
  91. package/esm2022/lib/components/form/input-datepicker/helpers/get-date-object.mjs +0 -10
  92. package/esm2022/lib/components/form/input-datepicker/helpers/validate-value-models.mjs +0 -74
  93. package/esm2022/lib/components/form/input-datepicker/helpers/value-parser.mjs +0 -47
  94. package/esm2022/lib/components/form/input-datepicker/input-datepicker.component.mjs +0 -375
  95. package/esm2022/lib/components/form/input-datepicker/input-datepicker.enum.mjs +0 -7
  96. package/esm2022/lib/components/form/input-datepicker/input-datepicker.module.mjs +0 -46
  97. package/esm2022/lib/components/form/input-file/enums/error-messages.enum.mjs +0 -8
  98. package/esm2022/lib/components/form/input-file/input-file.component.mjs +0 -366
  99. package/esm2022/lib/components/form/input-file/input-file.enum.mjs +0 -8
  100. package/esm2022/lib/components/form/input-file/input-file.module.mjs +0 -26
  101. package/esm2022/lib/components/form/input-file-image/components/file-image-edit-modal/file-image-edit-modal.component.mjs +0 -91
  102. package/esm2022/lib/components/form/input-file-image/input-file-image.component.mjs +0 -361
  103. package/esm2022/lib/components/form/input-file-image/input-file-image.enum.mjs +0 -10
  104. package/esm2022/lib/components/form/input-file-image/input-file-image.module.mjs +0 -53
  105. package/esm2022/lib/components/form/input-number/input-number.component.mjs +0 -281
  106. package/esm2022/lib/components/form/input-number/input-number.enum.mjs +0 -7
  107. package/esm2022/lib/components/form/input-number/input-number.module.mjs +0 -55
  108. package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.component.mjs +0 -370
  109. package/esm2022/lib/components/form/input-opt/components/input-opt/input-opt.enum.mjs +0 -8
  110. package/esm2022/lib/components/form/input-opt/directives/opt-pattern.directive.mjs +0 -43
  111. package/esm2022/lib/components/form/input-opt/input-opt.module.mjs +0 -38
  112. package/esm2022/lib/components/form/input-opt/models/input-opt.model.mjs +0 -6
  113. package/esm2022/lib/components/form/input-opt/services/input-opt.service.mjs +0 -33
  114. package/esm2022/lib/components/form/input-password/input-password.component.mjs +0 -121
  115. package/esm2022/lib/components/form/input-password/input-password.enum.mjs +0 -7
  116. package/esm2022/lib/components/form/input-password/input-password.module.mjs +0 -36
  117. package/esm2022/lib/components/form/input-phone/data/country-code.mjs +0 -1331
  118. package/esm2022/lib/components/form/input-phone/directives/native-element-injector.directive.mjs +0 -35
  119. package/esm2022/lib/components/form/input-phone/enums/input-phone.enum.mjs +0 -7
  120. package/esm2022/lib/components/form/input-phone/enums/mask.enum.mjs +0 -139
  121. package/esm2022/lib/components/form/input-phone/enums/phone-number-format.enum.mjs +0 -6
  122. package/esm2022/lib/components/form/input-phone/enums/search-country-field.enum.mjs +0 -8
  123. package/esm2022/lib/components/form/input-phone/input-phone.component.mjs +0 -679
  124. package/esm2022/lib/components/form/input-phone/input-phone.module.mjs +0 -50
  125. package/esm2022/lib/components/form/input-phone/input-phone.validator.mjs +0 -61
  126. package/esm2022/lib/components/form/input-phone/interfaces/change-data.mjs +0 -2
  127. package/esm2022/lib/components/form/input-phone/models/country.model.mjs +0 -2
  128. package/esm2022/lib/components/form/input-search/input-search.component.mjs +0 -167
  129. package/esm2022/lib/components/form/input-search/input-search.enum.mjs +0 -7
  130. package/esm2022/lib/components/form/input-search/input-search.module.mjs +0 -41
  131. package/esm2022/lib/components/form/input-select/input-select.component.mjs +0 -256
  132. package/esm2022/lib/components/form/input-select/input-select.enum.mjs +0 -6
  133. package/esm2022/lib/components/form/input-select/input-select.module.mjs +0 -45
  134. package/esm2022/lib/components/form/input-tel/assets/base64.mjs +0 -4
  135. package/esm2022/lib/components/form/input-tel/data/all-countries.mjs +0 -1954
  136. package/esm2022/lib/components/form/input-tel/data/countries-rus-label.enum.mjs +0 -247
  137. package/esm2022/lib/components/form/input-tel/data/country-iso.enum.mjs +0 -247
  138. package/esm2022/lib/components/form/input-tel/data/phone-number-format.enum.mjs +0 -6
  139. package/esm2022/lib/components/form/input-tel/data/search-country-field.enum.mjs +0 -8
  140. package/esm2022/lib/components/form/input-tel/directives/input-tel.directive.mjs +0 -66
  141. package/esm2022/lib/components/form/input-tel/enums/input-tel.enum.mjs +0 -7
  142. package/esm2022/lib/components/form/input-tel/input-tel.component.mjs +0 -422
  143. package/esm2022/lib/components/form/input-tel/input-tel.module.mjs +0 -58
  144. package/esm2022/lib/components/form/input-tel/models/country.model.mjs +0 -2
  145. package/esm2022/lib/components/form/input-text/input-text.component.mjs +0 -189
  146. package/esm2022/lib/components/form/input-text/input-text.enum.mjs +0 -15
  147. package/esm2022/lib/components/form/input-text/input-text.module.mjs +0 -49
  148. package/esm2022/lib/components/form/input-textarea/input-textarea.component.mjs +0 -317
  149. package/esm2022/lib/components/form/input-textarea/input-textarea.enum.mjs +0 -7
  150. package/esm2022/lib/components/form/input-textarea/input-textarea.module.mjs +0 -49
  151. package/esm2022/lib/components/form/input-timepicker/constants/value-models.mjs +0 -8
  152. package/esm2022/lib/components/form/input-timepicker/helpers/clean-date.mjs +0 -5
  153. package/esm2022/lib/components/form/input-timepicker/helpers/cursor-position.mjs +0 -14
  154. package/esm2022/lib/components/form/input-timepicker/helpers/get-date-dayjs-object.mjs +0 -5
  155. package/esm2022/lib/components/form/input-timepicker/helpers/get-date-object.mjs +0 -5
  156. package/esm2022/lib/components/form/input-timepicker/helpers/validate-value-models.mjs +0 -29
  157. package/esm2022/lib/components/form/input-timepicker/helpers/value-parser.mjs +0 -18
  158. package/esm2022/lib/components/form/input-timepicker/input-timepicker.component.mjs +0 -292
  159. package/esm2022/lib/components/form/input-timepicker/input-timepicker.enum.mjs +0 -7
  160. package/esm2022/lib/components/form/input-timepicker/input-timepicker.module.mjs +0 -46
  161. package/esm2022/lib/components/form/json-editor/json-editor.component.mjs +0 -224
  162. package/esm2022/lib/components/form/json-editor/json-editor.enum.mjs +0 -2
  163. package/esm2022/lib/components/form/json-editor/json-editor.module.mjs +0 -24
  164. package/esm2022/lib/components/form/json-editor/utils/jsoneditoroptions.mjs +0 -133
  165. package/esm2022/lib/components/form/radio/radio.component.mjs +0 -91
  166. package/esm2022/lib/components/form/radio/radio.enum.mjs +0 -5
  167. package/esm2022/lib/components/form/radio/radio.module.mjs +0 -20
  168. package/esm2022/lib/components/form/radio-group/components/radio-group-header/radio-group-header.component.mjs +0 -47
  169. package/esm2022/lib/components/form/radio-group/components/radio-group-item/radio-group-item.component.mjs +0 -65
  170. package/esm2022/lib/components/form/radio-group/helpers/filter-search-group.mjs +0 -27
  171. package/esm2022/lib/components/form/radio-group/helpers/get-item-by-id.mjs +0 -11
  172. package/esm2022/lib/components/form/radio-group/helpers/move-selected-to-first.mjs +0 -27
  173. package/esm2022/lib/components/form/radio-group/models/radio-group.model.mjs +0 -2
  174. package/esm2022/lib/components/form/radio-group/radio-group.component.mjs +0 -179
  175. package/esm2022/lib/components/form/radio-group/radio-group.module.mjs +0 -56
  176. package/esm2022/lib/components/form/rating/rating.component.mjs +0 -215
  177. package/esm2022/lib/components/form/rating/rating.enum.mjs +0 -16
  178. package/esm2022/lib/components/form/rating/rating.module.mjs +0 -25
  179. package/esm2022/lib/components/form/select/enums/index.mjs +0 -2
  180. package/esm2022/lib/components/form/select/enums/select-size.enum.mjs +0 -6
  181. package/esm2022/lib/components/form/select/helpers/clean-selected-items.helper.mjs +0 -3
  182. package/esm2022/lib/components/form/select/helpers/get-inner-items.helper.mjs +0 -13
  183. package/esm2022/lib/components/form/select/helpers/get-inner-selected.helper.mjs +0 -13
  184. package/esm2022/lib/components/form/select/helpers/get-selected-items.helper.mjs +0 -6
  185. package/esm2022/lib/components/form/select/helpers/modify-origin-items.helper.mjs +0 -21
  186. package/esm2022/lib/components/form/select/models/index.mjs +0 -4
  187. package/esm2022/lib/components/form/select/models/select-inner-item.model.mjs +0 -2
  188. package/esm2022/lib/components/form/select/models/select-item.model.mjs +0 -2
  189. package/esm2022/lib/components/form/select/models/template-output.model.mjs +0 -2
  190. package/esm2022/lib/components/form/select/select.component.mjs +0 -357
  191. package/esm2022/lib/components/form/select/select.enum.mjs +0 -2
  192. package/esm2022/lib/components/form/select/select.module.mjs +0 -67
  193. package/esm2022/lib/components/form/switch/switch.component.mjs +0 -95
  194. package/esm2022/lib/components/form/switch/switch.enum.mjs +0 -11
  195. package/esm2022/lib/components/form/switch/switch.module.mjs +0 -21
  196. package/esm2022/lib/components/hint-error-message/hint-error-message.component.mjs +0 -121
  197. package/esm2022/lib/components/hint-error-message/hint-error-message.module.mjs +0 -19
  198. package/esm2022/lib/components/icon-button/icon-button.component.mjs +0 -56
  199. package/esm2022/lib/components/icon-button/icon-button.enum.mjs +0 -17
  200. package/esm2022/lib/components/icon-button/icon-button.module.mjs +0 -19
  201. package/esm2022/lib/components/label/label.component.mjs +0 -160
  202. package/esm2022/lib/components/label/label.module.mjs +0 -26
  203. package/esm2022/lib/components/link/link.component.mjs +0 -59
  204. package/esm2022/lib/components/link/link.enum.mjs +0 -20
  205. package/esm2022/lib/components/link/link.module.mjs +0 -20
  206. package/esm2022/lib/components/loader/loader.component.mjs +0 -24
  207. package/esm2022/lib/components/loader/loader.enum.mjs +0 -20
  208. package/esm2022/lib/components/loader/loader.module.mjs +0 -19
  209. package/esm2022/lib/components/modal/modal.component.mjs +0 -143
  210. package/esm2022/lib/components/modal/modal.emun.mjs +0 -21
  211. package/esm2022/lib/components/modal/modal.module.mjs +0 -21
  212. package/esm2022/lib/components/pages-nav/pages-nav.component.mjs +0 -31
  213. package/esm2022/lib/components/pages-nav/pages-nav.enum.mjs +0 -6
  214. package/esm2022/lib/components/pages-nav/pages-nav.module.mjs +0 -24
  215. package/esm2022/lib/components/paginator/paginator.component.mjs +0 -204
  216. package/esm2022/lib/components/paginator/paginator.enum.mjs +0 -6
  217. package/esm2022/lib/components/paginator/paginator.module.mjs +0 -35
  218. package/esm2022/lib/components/pdf-viewer/pdf-viewer.component.mjs +0 -330
  219. package/esm2022/lib/components/pdf-viewer/pdf-viewer.module.mjs +0 -56
  220. package/esm2022/lib/components/popup/components/popup/popup.component.mjs +0 -50
  221. package/esm2022/lib/components/popup/components/popup-item/popup-item.component.mjs +0 -32
  222. package/esm2022/lib/components/popup/directives/popup-trigger.directive.mjs +0 -173
  223. package/esm2022/lib/components/popup/popup.module.mjs +0 -39
  224. package/esm2022/lib/components/progress/progress.component.mjs +0 -24
  225. package/esm2022/lib/components/progress/progress.enum.mjs +0 -8
  226. package/esm2022/lib/components/progress/progress.module.mjs +0 -19
  227. package/esm2022/lib/components/save-state/components/save-state-checkbox/save-state-checkbox.component.mjs +0 -16
  228. package/esm2022/lib/components/save-state/components/save-state-checkbox-group/save-state-checkbox-group.component.mjs +0 -16
  229. package/esm2022/lib/components/save-state/components/save-state-editor/save-state-editor.component.mjs +0 -16
  230. package/esm2022/lib/components/save-state/components/save-state-input/save-state-input.component.mjs +0 -16
  231. package/esm2022/lib/components/save-state/components/save-state-switch/save-state-switch.component.mjs +0 -16
  232. package/esm2022/lib/components/save-state/save-state.component.mjs +0 -40
  233. package/esm2022/lib/components/save-state/save-state.enum.mjs +0 -2
  234. package/esm2022/lib/components/save-state/save-state.module.mjs +0 -37
  235. package/esm2022/lib/components/side-page/side-page.component.mjs +0 -172
  236. package/esm2022/lib/components/side-page/side-page.emun.mjs +0 -17
  237. package/esm2022/lib/components/side-page/side-page.module.mjs +0 -37
  238. package/esm2022/lib/components/stepper/stepper.component.mjs +0 -52
  239. package/esm2022/lib/components/stepper/stepper.enum.mjs +0 -6
  240. package/esm2022/lib/components/stepper/stepper.module.mjs +0 -20
  241. package/esm2022/lib/components/table/components/column/column.component.mjs +0 -40
  242. package/esm2022/lib/components/table/default/default-pager-settings.mjs +0 -7
  243. package/esm2022/lib/components/table/models/data-state-change.event.mjs +0 -2
  244. package/esm2022/lib/components/table/models/index.mjs +0 -4
  245. package/esm2022/lib/components/table/models/pager-settings.mjs +0 -2
  246. package/esm2022/lib/components/table/table.component.mjs +0 -286
  247. package/esm2022/lib/components/table/table.enum.mjs +0 -8
  248. package/esm2022/lib/components/table/table.module.mjs +0 -54
  249. package/esm2022/lib/components/tabs/tab/tab.component.mjs +0 -33
  250. package/esm2022/lib/components/tabs/tabs-group/tabs-group.component.mjs +0 -27
  251. package/esm2022/lib/components/tabs/tabs.enum.mjs +0 -14
  252. package/esm2022/lib/components/tabs/tabs.module.mjs +0 -20
  253. package/esm2022/lib/components/tooltip/services/tooltip.service.mjs +0 -65
  254. package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.component.mjs +0 -36
  255. package/esm2022/lib/components/tooltip/tooltip-trigger/tooltip-trigger.enum.mjs +0 -11
  256. package/esm2022/lib/components/tooltip/tooltip.component.mjs +0 -59
  257. package/esm2022/lib/components/tooltip/tooltip.enum.mjs +0 -6
  258. package/esm2022/lib/components/tooltip/tooltip.module.mjs +0 -21
  259. package/esm2022/lib/components/truncate-text/directives/truncate-text.directive.mjs +0 -149
  260. package/esm2022/lib/components/truncate-text/truncate-text.component.mjs +0 -42
  261. package/esm2022/lib/components/truncate-text/truncate-text.enum.mjs +0 -2
  262. package/esm2022/lib/components/truncate-text/truncate-text.module.mjs +0 -21
  263. package/esm2022/lib/components/warning-message/warning-message.component.mjs +0 -29
  264. package/esm2022/lib/components/warning-message/warning-message.module.mjs +0 -19
  265. package/esm2022/lib/components/wrappers/content-title-wrapper/content-title-wrapper.component.mjs +0 -25
  266. package/esm2022/lib/components/wrappers/content-title-wrapper/content-title-wrapper.module.mjs +0 -19
  267. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.component.mjs +0 -25
  268. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.enum.mjs +0 -6
  269. package/esm2022/lib/components/wrappers/content-wrapper/content-wrapper.module.mjs +0 -19
  270. package/esm2022/lib/components/wrappers/controls-wrapper/components/controls-item/controls-item.component.mjs +0 -15
  271. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.component.mjs +0 -23
  272. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.enum.mjs +0 -7
  273. package/esm2022/lib/components/wrappers/controls-wrapper/controls-wrapper.module.mjs +0 -20
  274. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.component.mjs +0 -99
  275. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.enum.mjs +0 -17
  276. package/esm2022/lib/components/wrappers/widget-wrapper/widget-wrapper.module.mjs +0 -24
  277. package/esm2022/lib/directives/autosize/autosize.directive.mjs +0 -84
  278. package/esm2022/lib/directives/autosize/autosize.module.mjs +0 -24
  279. package/esm2022/lib/directives/truncate/truncate.directive.mjs +0 -34
  280. package/esm2022/lib/directives/truncate/truncate.module.mjs +0 -18
  281. package/esm2022/lib/enums/country-iso.enum.mjs +0 -247
  282. package/esm2022/lib/enums/index.mjs +0 -2
  283. package/esm2022/lib/enums/overlay/index.mjs +0 -78
  284. package/esm2022/lib/enums/typed.input.state.mjs +0 -8
  285. package/esm2022/lib/helpers/extension/input-file.extension.mjs +0 -39
  286. package/esm2022/lib/helpers/formatting-date.mjs +0 -51
  287. package/esm2022/lib/helpers/formatting-dates-from-array.mjs +0 -18
  288. package/esm2022/lib/helpers/formatting-iso-to-string.mjs +0 -13
  289. package/esm2022/lib/helpers/index.mjs +0 -8
  290. package/esm2022/lib/helpers/is-number.helper.mjs +0 -7
  291. package/esm2022/lib/helpers/number-format.mjs +0 -9
  292. package/esm2022/lib/helpers/string-hash-code.mjs +0 -17
  293. package/esm2022/lib/helpers/word-form.mjs +0 -11
  294. package/esm2022/lib/models/index.mjs +0 -3
  295. package/esm2022/lib/models/input-file/input-file.model.mjs +0 -2
  296. package/esm2022/lib/models/typed-input-model.mjs +0 -2
  297. package/esm2022/lib/pipes/currency/currency.module.mjs +0 -20
  298. package/esm2022/lib/pipes/currency/currency.pipe.mjs +0 -22
  299. package/esm2022/lib/pipes/date/date-format.module.mjs +0 -19
  300. package/esm2022/lib/pipes/date/date-format.pipe.mjs +0 -21
  301. package/esm2022/lib/pipes/date/date-time-format.pipe.mjs +0 -21
  302. package/esm2022/lib/pipes/date/enums/timezone.mjs +0 -10
  303. package/esm2022/lib/pipes/date/helpers/change-timezone.mjs +0 -25
  304. package/esm2022/lib/pipes/phone/phone-format.module.mjs +0 -18
  305. package/esm2022/lib/pipes/phone/phone-format.pipe.mjs +0 -23
  306. package/esm2022/lib/pipes/safe/safe.module.mjs +0 -20
  307. package/esm2022/lib/pipes/safe/safe.pipe.mjs +0 -21
  308. package/esm2022/lib/pipes/spaceBetweenDigits/space-between-digits.module.mjs +0 -20
  309. package/esm2022/lib/pipes/spaceBetweenDigits/space-between-digits.pipe.mjs +0 -40
  310. package/esm2022/lib/pipes/truncate/truncate.module.mjs +0 -20
  311. package/esm2022/lib/pipes/truncate/truncate.pipe.mjs +0 -23
  312. package/esm2022/lib/services/file-upload/file-upload.service.mjs +0 -27
  313. package/esm2022/lib/services/index.mjs +0 -14
  314. package/esm2022/lib/services/modal-service/components/alert-modal/alert-modal.component.mjs +0 -43
  315. package/esm2022/lib/services/modal-service/components/confirm-modal/confirm-modal.component.mjs +0 -47
  316. package/esm2022/lib/services/modal-service/helpers/index.mjs +0 -5
  317. package/esm2022/lib/services/modal-service/helpers/modal-default-config.mjs +0 -17
  318. package/esm2022/lib/services/modal-service/helpers/modal-ref.mjs +0 -41
  319. package/esm2022/lib/services/modal-service/helpers/modal-tokens.mjs +0 -4
  320. package/esm2022/lib/services/modal-service/helpers/modal.component.mjs +0 -4
  321. package/esm2022/lib/services/modal-service/modal-service.module.mjs +0 -31
  322. package/esm2022/lib/services/modal-service/modal-service.service.mjs +0 -102
  323. package/esm2022/lib/services/modal-service/models/modal-config.model.mjs +0 -14
  324. package/esm2022/lib/services/mrx-form-validator/constants/invalid-messages.mjs +0 -10
  325. package/esm2022/lib/services/mrx-form-validator/helpers/get-error-message.helper.mjs +0 -10
  326. package/esm2022/lib/services/mrx-form-validator/helpers/get-sorting-validations.helper.mjs +0 -29
  327. package/esm2022/lib/services/mrx-form-validator/models/index.mjs +0 -4
  328. package/esm2022/lib/services/mrx-form-validator/models/validations-options.model.mjs +0 -2
  329. package/esm2022/lib/services/mrx-form-validator/models/validations-settings.model.mjs +0 -2
  330. package/esm2022/lib/services/mrx-form-validator/models/validations-types.model.mjs +0 -22
  331. package/esm2022/lib/services/mrx-form-validator/mrx-form-validator.mjs +0 -197
  332. package/esm2022/lib/services/mrx-form-validator/validations/callback.validation.mjs +0 -15
  333. package/esm2022/lib/services/mrx-form-validator/validations/email.validation.mjs +0 -11
  334. package/esm2022/lib/services/mrx-form-validator/validations/max-length.validation.mjs +0 -14
  335. package/esm2022/lib/services/mrx-form-validator/validations/max-value.validation.mjs +0 -10
  336. package/esm2022/lib/services/mrx-form-validator/validations/min-length.validation.mjs +0 -14
  337. package/esm2022/lib/services/mrx-form-validator/validations/min-value.validation.mjs +0 -10
  338. package/esm2022/lib/services/mrx-form-validator/validations/pattern.validation.mjs +0 -11
  339. package/esm2022/lib/services/mrx-form-validator/validations/required.validation.mjs +0 -22
  340. package/esm2022/lib/services/notify-service/components/index.mjs +0 -2
  341. package/esm2022/lib/services/notify-service/components/notification/notification.component.mjs +0 -21
  342. package/esm2022/lib/services/notify-service/enums/index.mjs +0 -3
  343. package/esm2022/lib/services/notify-service/enums/notification-position.enum.mjs +0 -8
  344. package/esm2022/lib/services/notify-service/enums/notification-type.enum.mjs +0 -8
  345. package/esm2022/lib/services/notify-service/index.mjs +0 -4
  346. package/esm2022/lib/services/notify-service/models/index.mjs +0 -2
  347. package/esm2022/lib/services/notify-service/models/notification-config.model.mjs +0 -2
  348. package/esm2022/lib/services/notify-service/models/notification-state.model.mjs +0 -2
  349. package/esm2022/lib/services/notify-service/notification.service.mjs +0 -125
  350. package/esm2022/lib/services/save-store/auto-save.store.mjs +0 -120
  351. package/esm2022/lib/services/save-store/index.mjs +0 -3
  352. package/esm2022/lib/services/save-store/models/field.model.mjs +0 -2
  353. package/esm2022/lib/services/save-store/models/index.mjs +0 -3
  354. package/esm2022/lib/services/save-store/models/state.model.mjs +0 -2
  355. package/esm2022/lib/services/toaster-service/components/toaster/toaster.component.mjs +0 -28
  356. package/esm2022/lib/services/toaster-service/config/index.mjs +0 -15
  357. package/esm2022/lib/services/toaster-service/models/toaster.model.mjs +0 -15
  358. package/esm2022/lib/services/toaster-service/toaster-service.module.mjs +0 -36
  359. package/esm2022/lib/services/toaster-service/toaster-service.service.mjs +0 -73
  360. package/esm2022/myrta-ui.mjs +0 -5
  361. package/esm2022/public-api.mjs +0 -215
  362. package/fesm2022/myrta-ui.mjs +0 -20379
  363. package/fesm2022/myrta-ui.mjs.map +0 -1
  364. package/index.d.ts +0 -5
  365. package/lib/components/form/code-editor/code-editor.component.d.ts +0 -57
  366. package/lib/components/form/code-editor/code-editor.enum.d.ts +0 -5
  367. package/lib/components/form/code-editor/code-editor.module.d.ts +0 -10
  368. package/lib/components/form/code-editor/utils/codeeditoroptions.d.ts +0 -51
  369. package/lib/components/form/input-tel/enums/input-tel.enum.d.ts +0 -12
  370. package/lib/components/side-page/side-page.component.d.ts +0 -53
  371. package/lib/components/side-page/side-page.emun.d.ts +0 -16
  372. package/lib/components/side-page/side-page.module.d.ts +0 -12
  373. package/lib/components/wrappers/content-title-wrapper/content-title-wrapper.component.d.ts +0 -10
  374. package/lib/components/wrappers/content-title-wrapper/content-title-wrapper.module.d.ts +0 -8
  375. package/lib/enums/country-iso.enum.d.ts +0 -245
  376. package/lib/enums/index.d.ts +0 -1
  377. package/lib/pipes/spaceBetweenDigits/space-between-digits.module.d.ts +0 -8
  378. package/lib/pipes/spaceBetweenDigits/space-between-digits.pipe.d.ts +0 -14
  379. package/lib/services/modal-service/components/alert-modal/alert-modal.component.d.ts +0 -20
  380. package/lib/services/modal-service/components/confirm-modal/confirm-modal.component.d.ts +0 -21
  381. package/lib/services/modal-service/helpers/index.d.ts +0 -4
  382. package/lib/services/modal-service/helpers/modal-default-config.d.ts +0 -3
  383. package/lib/services/modal-service/helpers/modal-ref.d.ts +0 -17
  384. package/lib/services/modal-service/helpers/modal-tokens.d.ts +0 -3
  385. package/lib/services/modal-service/helpers/modal.component.d.ts +0 -3
  386. package/lib/services/modal-service/modal-service.module.d.ts +0 -9
  387. package/lib/services/modal-service/modal-service.service.d.ts +0 -28
  388. package/lib/services/modal-service/models/modal-config.model.d.ts +0 -23
  389. package/lib/services/save-store/auto-save.store.d.ts +0 -27
  390. package/lib/services/save-store/index.d.ts +0 -2
  391. package/lib/services/save-store/models/field.model.d.ts +0 -6
  392. package/lib/services/save-store/models/index.d.ts +0 -2
  393. package/lib/services/save-store/models/state.model.d.ts +0 -1
  394. package/lib/services/toaster-service/components/toaster/toaster.component.d.ts +0 -12
  395. package/lib/services/toaster-service/config/index.d.ts +0 -2
  396. package/lib/services/toaster-service/models/toaster.model.d.ts +0 -12
  397. package/lib/services/toaster-service/toaster-service.module.d.ts +0 -10
  398. package/lib/services/toaster-service/toaster-service.service.d.ts +0 -22
@@ -138,10 +138,10 @@ export class GalleryItemComponent {
138
138
  });
139
139
  }
140
140
  changeField(field, obj) {
141
- if (!this.needToSaveInvalidDate && this.isDateInvalid)
142
- return;
143
141
  clearTimeout(this._timer);
144
142
  this.preview[field] = obj.value;
143
+ if (!this.needToSaveInvalidDate && this.isDateInvalid)
144
+ return;
145
145
  this._store.dispatch(autosaveAddId({ id: obj.id, groupId: this.preview.uuid }));
146
146
  this._store.dispatch(autosaveStartFor({ id: obj.id, groupId: this.preview.uuid }));
147
147
  this._timer = setTimeout(() => {
@@ -210,4 +210,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
210
210
  }], updatePhoto: [{
211
211
  type: Output
212
212
  }] } });
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2NvbXBvbmVudHMvZ2FsbGVyeS1pdGVtL2dhbGxlcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZ2FsbGVyeS9jb21wb25lbnRzL2dhbGxlcnktaXRlbS9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQ0wsZUFBZSxFQUloQixNQUFNLGlDQUFpQyxDQUFDO0FBR3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3hHLE9BQU8sRUFDTCxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBRXJFLGtCQUFrQixFQUNsQixZQUFZLEVBQ2IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVc5QixNQUFNLE9BQU8sb0JBQW9CO0lBbUMvQixZQUNVLGNBQThCLEVBQzlCLG1CQUF1QyxFQUN2QyxNQUFhO1FBRmIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQXJDZixjQUFTLEdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdWLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQzNDLFlB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QVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZWFibGVGaWVsZCxcclxuICBHYWxsZXJ5SXRlbU1vZGVsLFxyXG4gIEdhbGxlcnlSb3RhdGVTbGlkZXMsXHJcbiAgR2FsbGVyeVVwZGF0ZVBheWxvYWRcclxufSBmcm9tICcuLi8uLi9tb2RlbHMvZ2FsbGVyeS1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgR2FsbGVyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nYWxsZXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaW1wbGVNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtc2ltcGxlLW1vZGFsJztcclxuaW1wb3J0IHsgR2FsbGVyeUNvbmZpcm1Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2dhbGxlcnktY29uZmlybS1tb2RhbC9nYWxsZXJ5LWNvbmZpcm0tbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBhdXRvc2F2ZUFkZElkLCBhdXRvc2F2ZUVycm9yRm9yLCBhdXRvc2F2ZVN0YXJ0Rm9yLCBhdXRvc2F2ZVN1Y2Nlc3NGb3IsXHJcbiAgRmllbGQsXHJcbiAgTXJ4QXV0b3NhdmVTZXJ2aWNlLFxyXG4gIHNlbGVjdEZpZWxkc1xyXG59IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1nYWxsZXJ5LWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2dhbGxlcnktaXRlbS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW01yeEF1dG9zYXZlU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEdhbGxlcnlJdGVtQ29tcG9uZW50IHtcclxuICBwcml2YXRlIHRpbWVTdGFtcDogbnVtYmVyID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcclxuICBwcml2YXRlIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3RpbWVyITogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBDaGFuZ2VhYmxlRmllbGQgPSBDaGFuZ2VhYmxlRmllbGQ7XHJcbiAgcHVibGljIGZpZWxkcyQ6IE9ic2VydmFibGU8RmllbGRbXT4gPSB0aGlzLl9zdG9yZS5zZWxlY3Qoc2VsZWN0RmllbGRzKVxyXG5cclxuICBASW5wdXQoKSBwcmV2aWV3ITogR2FsbGVyeUl0ZW1Nb2RlbDtcclxuICBASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBpc0VkaXRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkZXNjcmlwdGlvbk1heExlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgZGVsZXRlRW5kUG9pbnQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXBkYXRlRW5kUG9pbnQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcm90YXRlU2xpZGVzOiBHYWxsZXJ5Um90YXRlU2xpZGVzW10gPSBbXTtcclxuICBASW5wdXQoKSBzaG93RGF0ZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd0NvdW50ZXJwYXJ0aWVzITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBtaW5EYXRlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heERhdGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmVxdWlyZWREYXRlITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCdpc0xvYWRpbmcnKSBzZXQgc2V0SXNMb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHZhbHVlO1xyXG4gICAgdGhpcy50aW1lU3RhbXAgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgbmVlZFRvU2F2ZUludmFsaWREYXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtaW5EYXRlSW52YWxpZE1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG1heERhdGVJbnZhbGlkTWVzc2FnZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgdmFsaWRhdGVPblN1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb3BlbkdhbGxlcnlNb2RhbDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlUGhvdG86IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHVwZGF0ZVBob3RvOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZ2FsbGVyeVNlcnZpY2U6IEdhbGxlcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2ltcGxlTW9kYWxTZXJ2aWNlOiBTaW1wbGVNb2RhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9yZTogU3RvcmVcclxuICApIHtcclxuICB9XHJcblxyXG4gIGdldEltYWdlVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5wcmV2aWV3LnByZXZpZXdVcmwgKyAnPycgKyB0aGlzLnRpbWVTdGFtcDtcclxuICB9XHJcblxyXG4gIGdldCB5YW5kZXhDaGVja1VybCgpIHtcclxuICAgIHJldHVybiBgaHR0cHM6Ly95YW5kZXgucnUvaW1hZ2VzL3NlYXJjaD9zb3VyY2U9Y29sbGVjdGlvbnMmcnB0PWltYWdldmlldyZ1cmw9JHt0aGlzLnByZXZpZXcudXJsfWA7XHJcbiAgfVxyXG5cclxuICBnZXQgZ29vZ2xlQ2hlY2tVcmwoKSB7XHJcbiAgICByZXR1cm4gYGh0dHBzOi8vbGVucy5nb29nbGUuY29tL3VwbG9hZGJ5dXJsP3VybD0ke3RoaXMucHJldmlldy51cmx9YDtcclxuICB9XHJcblxyXG4gIGdldCBpc0xvYWRpbmdJbWFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZyAmJiAhIXRoaXMucm90YXRlU2xpZGVzLmZpbmQoKHMpID0+IHMucHJldmlld0ltYWdlSWQgPT09IHRoaXMucHJldmlldy5wcmV2aWV3SW1hZ2VJZCk7XHJcbiAgfVxyXG5cclxuICBnZXQgY291bnRlcnBhcnRpZXNUZXh0KCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMucHJldmlldy5jb3VudGVycGFydGllcykge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHJldmlldy5jb3VudGVycGFydGllcy5tYXAoaXRlbSA9PiBpdGVtLnRleHQpLmpvaW4oJywgJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDb3VudGVycGFydGllc0ludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMudmFsaWRhdGVPblN1Ym1pdCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICF0aGlzLnByZXZpZXcuY291bnRlcnBhcnR5U2VsZWN0ZWRJZHMgfHwgdGhpcy5wcmV2aWV3LmNvdW50ZXJwYXJ0eVNlbGVjdGVkSWRzLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIGdldCBjb3VudGVycGFydGllc0NoZWNrSW52YWxpZCgpOiB0cnVlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0NvdW50ZXJwYXJ0aWVzSW52YWxpZCA/IHRydWUgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvdW50ZXJwYXJ0aWVzSW52YWxpZE1lc3NhZ2UoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlzQ291bnRlcnBhcnRpZXNJbnZhbGlkID8gJ9CS0YvQsdC10YDQuNGC0LUg0L7RgiAxINC00L4gMyDQstCw0YDQuNCw0L3RgtC+0LInIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNEZXNjcmlwdGlvbkludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMudmFsaWRhdGVPblN1Ym1pdCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICF0aGlzLnByZXZpZXcuZGVzY3JpcHRpb24gfHwgIXRoaXMucHJldmlldy5kZXNjcmlwdGlvbi50cmltKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZGVzY3JpcHRpb25DaGVja0ludmFsaWQoKTogdHJ1ZSB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNEZXNjcmlwdGlvbkludmFsaWQgPyB0cnVlIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGdldCBkZXNjcmlwdGlvbkludmFsaWRNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0Rlc2NyaXB0aW9uSW52YWxpZCA/ICfQn9C+0LvQtSDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdC+INC00LvRjyDQt9Cw0L/QvtC70L3QtdC90LjRjycgOiAnJztcclxuICB9XHJcblxyXG4gIGdldCBpc0Vycm9yTWluRGF0ZSgpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5wcmV2aWV3LmV2ZW50RGF0ZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmFjdERhdGUgPSBuZXcgRGF0ZSh0aGlzLnByZXZpZXcuZXZlbnREYXRlKTtcclxuICAgIHJldHVybiAhIXRoaXMubWluRGF0ZSA/IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkuZ2V0VGltZSgpID4gZmFjdERhdGUuZ2V0VGltZSgpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNFcnJvck1heERhdGUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMucHJldmlldy5ldmVudERhdGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZhY3REYXRlID0gbmV3IERhdGUodGhpcy5wcmV2aWV3LmV2ZW50RGF0ZSk7XHJcbiAgICByZXR1cm4gISF0aGlzLm1heERhdGUgPyBuZXcgRGF0ZSh0aGlzLm1heERhdGUpLmdldFRpbWUoKSA8IGZhY3REYXRlLmdldFRpbWUoKSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGF0ZUludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMuaXNFcnJvck1pbkRhdGUgfHwgdGhpcy5pc0Vycm9yTWF4RGF0ZSkgfHxcclxuICAgICAgKCF0aGlzLnByZXZpZXcuZXZlbnREYXRlICYmIHRoaXMucmVxdWlyZWREYXRlKTtcclxuICB9XHJcblxyXG4gIGdldCBkYXRlSW52YWxpZE1lc3NhZ2UoKSB7XHJcbiAgICBpZiAoIXRoaXMucHJldmlldy5ldmVudERhdGUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZhY3REYXRlID0gbmV3IERhdGUodGhpcy5wcmV2aWV3LmV2ZW50RGF0ZSk7XHJcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5taW5EYXRlID8gbmV3IERhdGUodGhpcy5taW5EYXRlKSA6IG51bGw7XHJcbiAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5tYXhEYXRlID8gbmV3IERhdGUodGhpcy5tYXhEYXRlKSA6IG51bGw7XHJcblxyXG4gICAgaWYgKG1pbkRhdGUgJiYgbWluRGF0ZS5nZXRUaW1lKCkgPiBmYWN0RGF0ZS5nZXRUaW1lKCkpIHtcclxuICAgICAgcmV0dXJuICEhdGhpcy5taW5EYXRlSW52YWxpZE1lc3NhZ2UgPyB0aGlzLm1pbkRhdGVJbnZhbGlkTWVzc2FnZSA6IHRoaXMuZm9ybWF0RGF0ZUVycm9yTWVzc2FnZSh0aGlzLm1pbkRhdGUsICfQndC10LvRjNC30Y8g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LTQsNGC0YMsINGA0LDQvdC10LUg0YfQtdC8Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1heERhdGUgJiYgbWF4RGF0ZS5nZXRUaW1lKCkgPCBmYWN0RGF0ZS5nZXRUaW1lKCkpIHtcclxuICAgICAgcmV0dXJuICEhdGhpcy5tYXhEYXRlSW52YWxpZE1lc3NhZ2UgPyB0aGlzLm1heERhdGVJbnZhbGlkTWVzc2FnZSA6IHRoaXMuZm9ybWF0RGF0ZUVycm9yTWVzc2FnZSh0aGlzLm1heERhdGUsICfQndC10LvRjNC30Y8g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LTQsNGC0YMsINC/0L7Qt9C00L3QtdC1INGH0LXQvCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG5cclxuICBmb3JtYXREYXRlRXJyb3JNZXNzYWdlKGRhdGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBuZXcgRGF0ZShkYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoJ3J1LVJVJywge1xyXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcclxuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcclxuICAgICAgeWVhcjogJ251bWVyaWMnXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBgJHttZXNzYWdlfSAke2Zvcm1hdHRlZERhdGV9YDtcclxuICB9XHJcblxyXG4gIG9uT3BlbkdhbGxlcnlNb2RhbCgpIHtcclxuICAgIHRoaXMub3BlbkdhbGxlcnlNb2RhbC5lbWl0KHRoaXMuaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlSW1hZ2UoKSB7XHJcbiAgICB0aGlzLl9zaW1wbGVNb2RhbFNlcnZpY2UuYWRkTW9kYWwoR2FsbGVyeUNvbmZpcm1Nb2RhbENvbXBvbmVudCwge1xyXG4gICAgICB0aXRsZTogJ9Cj0JTQkNCb0JXQndCY0JUg0KTQntCi0J7Qk9Cg0JDQpNCY0JgnLFxyXG4gICAgICBtZXNzYWdlOiAn0JLRiyDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0YTQvtGC0L7Qs9GA0LDRhNC40Y4/J1xyXG4gICAgfSwge3dyYXBwZXJEZWZhdWx0Q2xhc3NlczogJ21yeC1tb2RhbCBmYWRlLWFuaW0nfSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5yZXN1bHQpIHtcclxuICAgICAgICAgIHRoaXMuZ2FsbGVyeVNlcnZpY2UuZGVsZXRlKHRoaXMuZGVsZXRlRW5kUG9pbnQsIHRoaXMucHJldmlldy51dWlkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kZWxldGVQaG90by5lbWl0KHJlcyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBjaGFuZ2VGaWVsZChmaWVsZDogQ2hhbmdlYWJsZUZpZWxkLCBvYmo6IGFueSkge1xyXG4gICAgaWYoIXRoaXMubmVlZFRvU2F2ZUludmFsaWREYXRlICYmIHRoaXMuaXNEYXRlSW52YWxpZCkgcmV0dXJuO1xyXG5cclxuICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lcik7XHJcblxyXG4gICAgdGhpcy5wcmV2aWV3W2ZpZWxkXSA9IG9iai52YWx1ZTtcclxuXHJcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZUFkZElkKHtpZDogb2JqLmlkLCBncm91cElkOiB0aGlzLnByZXZpZXcudXVpZH0pKVxyXG4gICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goYXV0b3NhdmVTdGFydEZvcih7aWQ6IG9iai5pZCwgZ3JvdXBJZDogdGhpcy5wcmV2aWV3LnV1aWR9KSlcclxuXHJcbiAgICB0aGlzLl90aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCB1cGRhdGVEYXRhOiBHYWxsZXJ5VXBkYXRlUGF5bG9hZCA9IHtcclxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5wcmV2aWV3LmRlc2NyaXB0aW9uXHJcbiAgICAgIH07XHJcblxyXG4gICAgICBpZiAodGhpcy5wcmV2aWV3LmV2ZW50RGF0ZSkge1xyXG4gICAgICAgIHVwZGF0ZURhdGEuZXZlbnREYXRlID0gdGhpcy5wcmV2aWV3LmV2ZW50RGF0ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMucHJldmlldy5jb3VudGVycGFydHlTZWxlY3RlZElkcykge1xyXG4gICAgICAgIHVwZGF0ZURhdGEuY291bnRlcnBhcnR5U2VsZWN0ZWRJZHMgPSB0aGlzLnByZXZpZXcuY291bnRlcnBhcnR5U2VsZWN0ZWRJZHM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZ2FsbGVyeVNlcnZpY2UudXBkYXRlKHRoaXMudXBkYXRlRW5kUG9pbnQsIHRoaXMucHJldmlldy51dWlkLCB1cGRhdGVEYXRhKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBob3RvLmVtaXQocmVzKTtcclxuICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZVN1Y2Nlc3NGb3Ioe2lkOiBvYmouaWQsIGdyb3VwSWQ6IHRoaXMucHJldmlldy51dWlkfSkpXHJcbiAgICAgIH0sICgpID0+IHtcclxuICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZUVycm9yRm9yKHtpZDogb2JqLmlkLCBncm91cElkOiB0aGlzLnByZXZpZXcudXVpZH0pKVxyXG4gICAgICB9KTtcclxuICAgIH0sIDE1MDApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3XCIgKGNsaWNrKT1cIm9uT3BlbkdhbGxlcnlNb2RhbCgpXCI+XHJcblxyXG4gICAgPGltZyBbc3JjXT1cImdldEltYWdlVXJsKClcIiBbYWx0XT1cInByZXZpZXcuaW1hZ2VOYW1lIHx8ICdpbWFnZSdcIiAqbmdJZj1cIiFpc0xvYWRpbmdJbWFnZTsgZWxzZSBza2VsZXRvblRlbXBsYXRlXCI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNza2VsZXRvblRlbXBsYXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHctMTAwIGgtMTAwXCI+XHJcbiAgICAgICAgPG1yeC1sb2FkZXIgc2l6ZT1cIm1lZGl1bVwiIGNvbG9yPVwiYnJhbmRcIj48L21yeC1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1vdmVybGF5XCIgKm5nSWY9XCIhaXNMb2FkaW5nSW1hZ2VcIj48L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9sc1wiICpuZ0lmPVwiIWlzTG9hZGluZ0ltYWdlXCI+XHJcbiAgICAgIDxhIGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9scy0taWNvblwiIFtocmVmXT1cInlhbmRleENoZWNrVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMjM0Nl8xMjA3NilcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDMxIDE1Ljk4MzhDMTIuNDA5NiAxNS45ODM4IDE1Ljk4NCAxMi40MDkzIDE1Ljk4NCA4LjAwMDA2QzE1Ljk4NCAzLjU5MDc4IDEyLjQwOTYgMC4wMTYzNTc0IDguMDAwMzEgMC4wMTYzNTc0QzMuNTkxMDMgMC4wMTYzNTc0IDAuMDE2NjAxNiAzLjU5MDc4IDAuMDE2NjAxNiA4LjAwMDA2QzAuMDE2NjAxNiAxMi40MDkzIDMuNTkxMDMgMTUuOTgzOCA4LjAwMDMxIDE1Ljk4MzhaXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjg4OTMgMTMuMDExOEg5LjEzNjdWNC4zNDM2MUg4LjM1NTk2QzYuOTI0ODQgNC4zNDM2MSA2LjE3NTIxIDUuMDU5MTYgNi4xNzUyMSA2LjEyNzMxQzYuMTc1MjEgNy4zMzkxNiA2LjY5MjI1IDcuOTAwNjUgNy43NjE4OCA4LjYxNjJMOC42NDMzNiA5LjIxMDI4TDYuMTEwMDMgMTMuMDEwM0g0LjIyNTU5TDYuNTA1NTkgOS42MTc2OEM1LjE5NDQ3IDguNjgxMzkgNC40NTY3IDcuNzY3MzEgNC40NTY3IDYuMjI1MDlDNC40NTY3IDQuMjk3NjggNS44MDA0IDIuOTg2NTcgOC4zNDQxIDIuOTg2NTdIMTAuODc3NFYxMy4wMDg4SDEwLjg4OTNWMTMuMDExOFpcIiBmaWxsPVwiI0ZDM0YxRFwiLz5cclxuICAgICAgICAgIDwvZz5cclxuICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMjM0Nl8xMjA3NlwiPlxyXG4gICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgPC9hPlxyXG5cclxuICAgICAgPGEgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3LWNvbnRyb2xzLS1pY29uXCIgW2hyZWZdPVwiZ29vZ2xlQ2hlY2tVcmxcIiB0YXJnZXQ9XCJfYmxhbmtcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTExLjU1NjEgNC44OTAxSDExLjA5OTdWNC44NjY1OUg1Ljk5OTY3VjcuMTMzMjVIOS4yMDIxOUM4LjczNDk3IDguNDUyNzMgNy40Nzk1MiA5LjM5OTkyIDUuOTk5NjcgOS4zOTk5MkM0LjEyMjAyIDkuMzk5OTIgMi41OTk2NyA3Ljg3NzU3IDIuNTk5NjcgNS45OTk5MkMyLjU5OTY3IDQuMTIyMjcgNC4xMjIwMiAyLjU5OTkyIDUuOTk5NjcgMi41OTk5MkM2Ljg2NjM5IDIuNTk5OTIgNy42NTQ5MSAyLjkyNjg5IDguMjU1MjkgMy40NjA5N0w5Ljg1ODExIDEuODU4MTVDOC44NDYwNCAwLjkxNDkzNSA3LjQ5MjI3IDAuMzMzMjUyIDUuOTk5NjcgMC4zMzMyNTJDMi44NzAyNiAwLjMzMzI1MiAwLjMzMzAwOCAyLjg3MDUgMC4zMzMwMDggNS45OTk5MkMwLjMzMzAwOCA5LjEyOTM0IDIuODcwMjYgMTEuNjY2NiA1Ljk5OTY3IDExLjY2NjZDOS4xMjkwOSAxMS42NjY2IDExLjY2NjMgOS4xMjkzNCAxMS42NjYzIDUuOTk5OTJDMTEuNjY2MyA1LjYxOTk3IDExLjYyNzIgNS4yNDkwOSAxMS41NTYxIDQuODkwMVpcIiBmaWxsPVwiI0ZCQzAyRFwiLz5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMC45ODczMDUgMy4zNjIzN0wyLjg0OTA5IDQuNzI3NzVDMy4zNTI4NSAzLjQ4MDUyIDQuNTcyODkgMi41OTk5MiA2LjAwMDYgMi41OTk5MkM2Ljg2NzMyIDIuNTk5OTIgNy42NTU4NCAyLjkyNjg5IDguMjU2MjIgMy40NjA5N0w5Ljg1OTA0IDEuODU4MTVDOC44NDY5NyAwLjkxNDkzNSA3LjQ5MzIgMC4zMzMyNTIgNi4wMDA2IDAuMzMzMjUyQzMuODI0MDQgMC4zMzMyNTIgMS45MzY0NyAxLjU2MjA3IDAuOTg3MzA1IDMuMzYyMzdaXCIgZmlsbD1cIiNFNTM5MzVcIi8+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwOCAxMS42NjY1QzcuNDY0NSAxMS42NjY1IDguNzk0NDcgMTEuMTA2MyA5LjgwMDAyIDEwLjE5NTRMOC4wNDYxOSA4LjcxMTNDNy40NzcyNSA5LjE0MjI1IDYuNzcwMDUgOS4zOTk4IDYuMDAwOCA5LjM5OThDNC41MjY5IDkuMzk5OCAzLjI3NTQyIDguNDU5OTkgMi44MDM5NSA3LjE0ODQ0TDAuOTU2MDU1IDguNTcyMTlDMS44OTM4OSAxMC40MDczIDMuNzk4NDUgMTEuNjY2NSA2LjAwMDggMTEuNjY2NVpcIiBmaWxsPVwiIzRDQUY1MFwiLz5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNTU2NCA0Ljg4OTk3TDExLjU1MTkgNC44NjY0NkgxMS4xSDZWNy4xMzMxMkg5LjIwMjUyQzguOTc4MTIgNy43NjY5NCA4LjU3MDQgOC4zMTM0OSA4LjA0NDUzIDguNzExNTdDOC4wNDQ4MiA4LjcxMTI5IDguMDQ1MSA4LjcxMTI5IDguMDQ1MzggOC43MTEwMUw5Ljc5OTIyIDEwLjE5NTFDOS42NzUxMiAxMC4zMDc5IDExLjY2NjcgOC44MzMxMiAxMS42NjY3IDUuOTk5NzlDMTEuNjY2NyA1LjYxOTg0IDExLjYyNzYgNS4yNDg5NiAxMS41NTY0IDQuODg5OTdaXCIgZmlsbD1cIiMxNTY1QzBcIi8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvYT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3LWNvbnRyb2xzX19idXR0b24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgKm5nSWY9XCJpc0VkaXRpbmdcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRlbGV0ZSBpY29uLWZvbnQtMTYgdGV4dC1ib2xkXCIgKGNsaWNrKT1cImRlbGV0ZUltYWdlKClcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzaG93RGF0ZVwiIGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fZGF0ZSBtYi0yXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0aW5nOyBlbHNlIGRhdGVUZW1wbGF0ZVwiPlxyXG4gICAgICA8bXJ4LWxhYmVsIFtyZXF1aXJlZF09XCJyZXF1aXJlZERhdGVcIj7QlNCw0YLQsCDQvNC10YDQvtC/0YDQuNGP0YLQuNGPPC9tcngtbGFiZWw+XHJcblxyXG4gICAgICA8bXJ4LWlucHV0LWRhdGVwaWNrZXJcclxuICAgICAgICBbZmllbGRzXT1cIihmaWVsZHMkIHwgYXN5bmMpIVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJwcmV2aWV3LmV2ZW50RGF0ZVwiXHJcbiAgICAgICAgW2ludmFsaWRdPVwiaXNEYXRlSW52YWxpZFwiXHJcbiAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgW2lzU2hvd01lc3NhZ2VzXT1cImZhbHNlXCJcclxuICAgICAgICBbaW52YWxpZE1lc3NhZ2VdPVwiZGF0ZUludmFsaWRNZXNzYWdlXCJcclxuICAgICAgICBbY2xvc2FibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtmb3JtYXRdPVwiJ1lZWVktTU0tREQnXCJcclxuICAgICAgICBbdGltZXBpY2tlcl09XCJmYWxzZVwiXHJcbiAgICAgICAgW2xlYWRaZXJvRGF0ZVRpbWVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW21hc2tdPVwiJ2QwLk0wLjAwMDAnXCJcclxuICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlRmllbGQoQ2hhbmdlYWJsZUZpZWxkLkV2ZW50RGF0ZSwgJGV2ZW50KVwiXHJcbiAgICAgID48L21yeC1pbnB1dC1kYXRlcGlja2VyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNkYXRlVGVtcGxhdGU+XHJcbiAgICAgIDxwPtCU0LDRgtCwINC80LXRgNC+0L/RgNC40Y/RgtC40Y86IHt7IHByZXZpZXcuZXZlbnREYXRlIHwgZGF0ZUZvcm1hdCB9fTwvcD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzaG93Q291bnRlcnBhcnRpZXNcIiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX2NvdW50ZXJwYXJ0aWVzIG1iLTJcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRpbmc7IGVsc2UgY291bnRlcnBhcnRpZXNUZW1wbGF0ZVwiPlxyXG4gICAgICA8bXJ4LWxhYmVsPtCd0LDQuNC80LXQvdC+0LLQsNC90LjQtSDQutC+0L3RgtGA0LDQs9C10L3RgtCwPC9tcngtbGFiZWw+XHJcblxyXG4gICAgICA8bXJ4LWlucHV0LXNlbGVjdFxyXG4gICAgICAgIFtmaWVsZHNdPVwiKGZpZWxkcyQgfCBhc3luYykhXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInByZXZpZXcuY291bnRlcnBhcnR5U2VsZWN0ZWRJZHNcIlxyXG4gICAgICAgIFtpdGVtc109XCJwcmV2aWV3LmNvdW50ZXJwYXJ0aWVzIHx8IFtdXCJcclxuICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3NvcnRhYmxlXT1cInRydWVcIlxyXG4gICAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgIFttYXhTZWxlY3RlZEl0ZW1zXT1cIjNcIlxyXG4gICAgICAgIFtiaW5kVmFsdWVdPVwiJ3ZhbHVlJ1wiXHJcbiAgICAgICAgW2JpbmRMYWJlbF09XCIndGV4dCdcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCIn0JLRi9Cx0LXRgNC40YLQtSDQutC+0L3RgtGA0LDQs9C10L3RgtCwJ1wiXHJcbiAgICAgICAgW2NoZWNrSW52YWxpZF09XCJjb3VudGVycGFydGllc0NoZWNrSW52YWxpZFwiXHJcbiAgICAgICAgW2ludmFsaWRdPVwiaXNDb3VudGVycGFydGllc0ludmFsaWRcIlxyXG4gICAgICAgIFtpbnZhbGlkTWVzc2FnZV09XCJjb3VudGVycGFydGllc0ludmFsaWRNZXNzYWdlXCJcclxuICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlRmllbGQoQ2hhbmdlYWJsZUZpZWxkLkNvdW50ZXJwYXJ0aWVzLCAkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJweS0xIHB4LTMgbW5oLXB4LTM2IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY29sb3ItdGV4dC1zZWNvbmRhcnlcIj7QktGL0LHQtdGA0LjRgtC1INC+0YIgMSDQtNC+IDMg0LLQsNGA0LjQsNC90YLQvtCyPC9zcGFuPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbXJ4LWlucHV0LXNlbGVjdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY291bnRlcnBhcnRpZXNUZW1wbGF0ZT5cclxuICAgICAgPHA+0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INC60L7QvdGC0YDQsNCz0LXQvdGC0LA6IHt7IGNvdW50ZXJwYXJ0aWVzVGV4dCB9fTwvcD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19kZXNjcmlwdGlvblwiPlxyXG4gICAgPG1yeC1pbnB1dC10ZXh0YXJlYVxyXG4gICAgICAqbmdJZj1cImlzRWRpdGluZzsgZWxzZSB0ZXh0VGVtcGxhdGVcIlxyXG4gICAgICBbZmllbGRzXT1cIihmaWVsZHMkIHwgYXN5bmMpIVwiXHJcbiAgICAgIFtuZ01vZGVsXT1cInByZXZpZXcuZGVzY3JpcHRpb25cIlxyXG4gICAgICBbYXV0b3NpemVdPVwiZmFsc2VcIlxyXG4gICAgICBbcm93c109XCIyXCJcclxuICAgICAgW21heGxlbmd0aF09XCJkZXNjcmlwdGlvbk1heExlbmd0aFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCIn0JLQstC10LTQuNGC0LUg0L7Qv9C40YHQsNC90LjQtSdcIlxyXG4gICAgICBbY2hlY2tJbnZhbGlkXT1cImRlc2NyaXB0aW9uQ2hlY2tJbnZhbGlkXCJcclxuICAgICAgW2ludmFsaWRdPVwiaXNEZXNjcmlwdGlvbkludmFsaWRcIlxyXG4gICAgICBbaW52YWxpZE1lc3NhZ2VdPVwiZGVzY3JpcHRpb25JbnZhbGlkTWVzc2FnZVwiXHJcbiAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VGaWVsZChDaGFuZ2VhYmxlRmllbGQuRGVzY3JpcHRpb24sICRldmVudClcIlxyXG4gICAgPjwvbXJ4LWlucHV0LXRleHRhcmVhPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdGV4dFRlbXBsYXRlPlxyXG4gICAgICB7eyBwcmV2aWV3LmRlc2NyaXB0aW9uIH19XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FsbGVyeS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9nYWxsZXJ5L2NvbXBvbmVudHMvZ2FsbGVyeS1pdGVtL2dhbGxlcnktaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZ2FsbGVyeS9jb21wb25lbnRzL2dhbGxlcnktaXRlbS9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQ0wsZUFBZSxFQUloQixNQUFNLGlDQUFpQyxDQUFDO0FBR3pDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3hHLE9BQU8sRUFDTCxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBRXJFLGtCQUFrQixFQUNsQixZQUFZLEVBQ2IsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVc5QixNQUFNLE9BQU8sb0JBQW9CO0lBbUMvQixZQUNVLGNBQThCLEVBQzlCLG1CQUF1QyxFQUN2QyxNQUFhO1FBRmIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQXJDZixjQUFTLEdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUdWLG9CQUFlLEdBQUcsZUFBZSxDQUFDO1FBQzNDLFlB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QVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZWFibGVGaWVsZCxcclxuICBHYWxsZXJ5SXRlbU1vZGVsLFxyXG4gIEdhbGxlcnlSb3RhdGVTbGlkZXMsXHJcbiAgR2FsbGVyeVVwZGF0ZVBheWxvYWRcclxufSBmcm9tICcuLi8uLi9tb2RlbHMvZ2FsbGVyeS1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgR2FsbGVyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9nYWxsZXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTaW1wbGVNb2RhbFNlcnZpY2UgfSBmcm9tICduZ3gtc2ltcGxlLW1vZGFsJztcclxuaW1wb3J0IHsgR2FsbGVyeUNvbmZpcm1Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL2dhbGxlcnktY29uZmlybS1tb2RhbC9nYWxsZXJ5LWNvbmZpcm0tbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBhdXRvc2F2ZUFkZElkLCBhdXRvc2F2ZUVycm9yRm9yLCBhdXRvc2F2ZVN0YXJ0Rm9yLCBhdXRvc2F2ZVN1Y2Nlc3NGb3IsXHJcbiAgRmllbGQsXHJcbiAgTXJ4QXV0b3NhdmVTZXJ2aWNlLFxyXG4gIHNlbGVjdEZpZWxkc1xyXG59IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1nYWxsZXJ5LWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9nYWxsZXJ5LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2dhbGxlcnktaXRlbS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW01yeEF1dG9zYXZlU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEdhbGxlcnlJdGVtQ29tcG9uZW50IHtcclxuICBwcml2YXRlIHRpbWVTdGFtcDogbnVtYmVyID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcclxuICBwcml2YXRlIGlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3RpbWVyITogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD47XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBDaGFuZ2VhYmxlRmllbGQgPSBDaGFuZ2VhYmxlRmllbGQ7XHJcbiAgcHVibGljIGZpZWxkcyQ6IE9ic2VydmFibGU8RmllbGRbXT4gPSB0aGlzLl9zdG9yZS5zZWxlY3Qoc2VsZWN0RmllbGRzKVxyXG5cclxuICBASW5wdXQoKSBwcmV2aWV3ITogR2FsbGVyeUl0ZW1Nb2RlbDtcclxuICBASW5wdXQoKSBpbmRleCE6IG51bWJlcjtcclxuICBASW5wdXQoKSBpc0VkaXRpbmcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBkZXNjcmlwdGlvbk1heExlbmd0aCA9IDA7XHJcbiAgQElucHV0KCkgZGVsZXRlRW5kUG9pbnQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdXBkYXRlRW5kUG9pbnQhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcm90YXRlU2xpZGVzOiBHYWxsZXJ5Um90YXRlU2xpZGVzW10gPSBbXTtcclxuICBASW5wdXQoKSBzaG93RGF0ZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2hvd0NvdW50ZXJwYXJ0aWVzITogYm9vbGVhbjtcclxuICBASW5wdXQoKSBtaW5EYXRlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1heERhdGUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcmVxdWlyZWREYXRlITogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCdpc0xvYWRpbmcnKSBzZXQgc2V0SXNMb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHZhbHVlO1xyXG4gICAgdGhpcy50aW1lU3RhbXAgPSAobmV3IERhdGUoKSkuZ2V0VGltZSgpO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgbmVlZFRvU2F2ZUludmFsaWREYXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBtaW5EYXRlSW52YWxpZE1lc3NhZ2U6IHN0cmluZyA9ICcnO1xyXG4gIEBJbnB1dCgpIG1heERhdGVJbnZhbGlkTWVzc2FnZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgdmFsaWRhdGVPblN1Ym1pdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb3BlbkdhbGxlcnlNb2RhbDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgZGVsZXRlUGhvdG86IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHVwZGF0ZVBob3RvOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZ2FsbGVyeVNlcnZpY2U6IEdhbGxlcnlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2ltcGxlTW9kYWxTZXJ2aWNlOiBTaW1wbGVNb2RhbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zdG9yZTogU3RvcmVcclxuICApIHtcclxuICB9XHJcblxyXG4gIGdldEltYWdlVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5wcmV2aWV3LnByZXZpZXdVcmwgKyAnPycgKyB0aGlzLnRpbWVTdGFtcDtcclxuICB9XHJcblxyXG4gIGdldCB5YW5kZXhDaGVja1VybCgpIHtcclxuICAgIHJldHVybiBgaHR0cHM6Ly95YW5kZXgucnUvaW1hZ2VzL3NlYXJjaD9zb3VyY2U9Y29sbGVjdGlvbnMmcnB0PWltYWdldmlldyZ1cmw9JHt0aGlzLnByZXZpZXcudXJsfWA7XHJcbiAgfVxyXG5cclxuICBnZXQgZ29vZ2xlQ2hlY2tVcmwoKSB7XHJcbiAgICByZXR1cm4gYGh0dHBzOi8vbGVucy5nb29nbGUuY29tL3VwbG9hZGJ5dXJsP3VybD0ke3RoaXMucHJldmlldy51cmx9YDtcclxuICB9XHJcblxyXG4gIGdldCBpc0xvYWRpbmdJbWFnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzTG9hZGluZyAmJiAhIXRoaXMucm90YXRlU2xpZGVzLmZpbmQoKHMpID0+IHMucHJldmlld0ltYWdlSWQgPT09IHRoaXMucHJldmlldy5wcmV2aWV3SW1hZ2VJZCk7XHJcbiAgfVxyXG5cclxuICBnZXQgY291bnRlcnBhcnRpZXNUZXh0KCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMucHJldmlldy5jb3VudGVycGFydGllcykge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHJldmlldy5jb3VudGVycGFydGllcy5tYXAoaXRlbSA9PiBpdGVtLnRleHQpLmpvaW4oJywgJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDb3VudGVycGFydGllc0ludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMudmFsaWRhdGVPblN1Ym1pdCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICF0aGlzLnByZXZpZXcuY291bnRlcnBhcnR5U2VsZWN0ZWRJZHMgfHwgdGhpcy5wcmV2aWV3LmNvdW50ZXJwYXJ0eVNlbGVjdGVkSWRzLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIGdldCBjb3VudGVycGFydGllc0NoZWNrSW52YWxpZCgpOiB0cnVlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0NvdW50ZXJwYXJ0aWVzSW52YWxpZCA/IHRydWUgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvdW50ZXJwYXJ0aWVzSW52YWxpZE1lc3NhZ2UoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlzQ291bnRlcnBhcnRpZXNJbnZhbGlkID8gJ9CS0YvQsdC10YDQuNGC0LUg0L7RgiAxINC00L4gMyDQstCw0YDQuNCw0L3RgtC+0LInIDogJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNEZXNjcmlwdGlvbkludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMudmFsaWRhdGVPblN1Ym1pdCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICF0aGlzLnByZXZpZXcuZGVzY3JpcHRpb24gfHwgIXRoaXMucHJldmlldy5kZXNjcmlwdGlvbi50cmltKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZGVzY3JpcHRpb25DaGVja0ludmFsaWQoKTogdHJ1ZSB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNEZXNjcmlwdGlvbkludmFsaWQgPyB0cnVlIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGdldCBkZXNjcmlwdGlvbkludmFsaWRNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0Rlc2NyaXB0aW9uSW52YWxpZCA/ICfQn9C+0LvQtSDQvtCx0Y/Qt9Cw0YLQtdC70YzQvdC+INC00LvRjyDQt9Cw0L/QvtC70L3QtdC90LjRjycgOiAnJztcclxuICB9XHJcblxyXG4gIGdldCBpc0Vycm9yTWluRGF0ZSgpOiBib29sZWFuIHtcclxuICAgIGlmICghdGhpcy5wcmV2aWV3LmV2ZW50RGF0ZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgZmFjdERhdGUgPSBuZXcgRGF0ZSh0aGlzLnByZXZpZXcuZXZlbnREYXRlKTtcclxuICAgIHJldHVybiAhIXRoaXMubWluRGF0ZSA/IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkuZ2V0VGltZSgpID4gZmFjdERhdGUuZ2V0VGltZSgpIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNFcnJvck1heERhdGUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMucHJldmlldy5ldmVudERhdGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZhY3REYXRlID0gbmV3IERhdGUodGhpcy5wcmV2aWV3LmV2ZW50RGF0ZSk7XHJcbiAgICByZXR1cm4gISF0aGlzLm1heERhdGUgPyBuZXcgRGF0ZSh0aGlzLm1heERhdGUpLmdldFRpbWUoKSA8IGZhY3REYXRlLmdldFRpbWUoKSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzRGF0ZUludmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKHRoaXMuaXNFcnJvck1pbkRhdGUgfHwgdGhpcy5pc0Vycm9yTWF4RGF0ZSkgfHxcclxuICAgICAgKCF0aGlzLnByZXZpZXcuZXZlbnREYXRlICYmIHRoaXMucmVxdWlyZWREYXRlKTtcclxuICB9XHJcblxyXG4gIGdldCBkYXRlSW52YWxpZE1lc3NhZ2UoKSB7XHJcbiAgICBpZiAoIXRoaXMucHJldmlldy5ldmVudERhdGUpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZhY3REYXRlID0gbmV3IERhdGUodGhpcy5wcmV2aWV3LmV2ZW50RGF0ZSk7XHJcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5taW5EYXRlID8gbmV3IERhdGUodGhpcy5taW5EYXRlKSA6IG51bGw7XHJcbiAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5tYXhEYXRlID8gbmV3IERhdGUodGhpcy5tYXhEYXRlKSA6IG51bGw7XHJcblxyXG4gICAgaWYgKG1pbkRhdGUgJiYgbWluRGF0ZS5nZXRUaW1lKCkgPiBmYWN0RGF0ZS5nZXRUaW1lKCkpIHtcclxuICAgICAgcmV0dXJuICEhdGhpcy5taW5EYXRlSW52YWxpZE1lc3NhZ2UgPyB0aGlzLm1pbkRhdGVJbnZhbGlkTWVzc2FnZSA6IHRoaXMuZm9ybWF0RGF0ZUVycm9yTWVzc2FnZSh0aGlzLm1pbkRhdGUsICfQndC10LvRjNC30Y8g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LTQsNGC0YMsINGA0LDQvdC10LUg0YfQtdC8Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1heERhdGUgJiYgbWF4RGF0ZS5nZXRUaW1lKCkgPCBmYWN0RGF0ZS5nZXRUaW1lKCkpIHtcclxuICAgICAgcmV0dXJuICEhdGhpcy5tYXhEYXRlSW52YWxpZE1lc3NhZ2UgPyB0aGlzLm1heERhdGVJbnZhbGlkTWVzc2FnZSA6IHRoaXMuZm9ybWF0RGF0ZUVycm9yTWVzc2FnZSh0aGlzLm1heERhdGUsICfQndC10LvRjNC30Y8g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LTQsNGC0YMsINC/0L7Qt9C00L3QtdC1INGH0LXQvCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG5cclxuICBmb3JtYXREYXRlRXJyb3JNZXNzYWdlKGRhdGU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBuZXcgRGF0ZShkYXRlKS50b0xvY2FsZURhdGVTdHJpbmcoJ3J1LVJVJywge1xyXG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcclxuICAgICAgbW9udGg6ICcyLWRpZ2l0JyxcclxuICAgICAgeWVhcjogJ251bWVyaWMnXHJcbiAgICB9KTtcclxuICAgIHJldHVybiBgJHttZXNzYWdlfSAke2Zvcm1hdHRlZERhdGV9YDtcclxuICB9XHJcblxyXG4gIG9uT3BlbkdhbGxlcnlNb2RhbCgpIHtcclxuICAgIHRoaXMub3BlbkdhbGxlcnlNb2RhbC5lbWl0KHRoaXMuaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlSW1hZ2UoKSB7XHJcbiAgICB0aGlzLl9zaW1wbGVNb2RhbFNlcnZpY2UuYWRkTW9kYWwoR2FsbGVyeUNvbmZpcm1Nb2RhbENvbXBvbmVudCwge1xyXG4gICAgICB0aXRsZTogJ9Cj0JTQkNCb0JXQndCY0JUg0KTQntCi0J7Qk9Cg0JDQpNCY0JgnLFxyXG4gICAgICBtZXNzYWdlOiAn0JLRiyDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0YTQvtGC0L7Qs9GA0LDRhNC40Y4/J1xyXG4gICAgfSwge3dyYXBwZXJEZWZhdWx0Q2xhc3NlczogJ21yeC1tb2RhbCBmYWRlLWFuaW0nfSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5yZXN1bHQpIHtcclxuICAgICAgICAgIHRoaXMuZ2FsbGVyeVNlcnZpY2UuZGVsZXRlKHRoaXMuZGVsZXRlRW5kUG9pbnQsIHRoaXMucHJldmlldy51dWlkKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kZWxldGVQaG90by5lbWl0KHJlcyk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgfVxyXG5cclxuICBjaGFuZ2VGaWVsZChmaWVsZDogQ2hhbmdlYWJsZUZpZWxkLCBvYmo6IGFueSkge1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVyKTtcclxuXHJcbiAgICB0aGlzLnByZXZpZXdbZmllbGRdID0gb2JqLnZhbHVlO1xyXG5cclxuICAgIGlmKCF0aGlzLm5lZWRUb1NhdmVJbnZhbGlkRGF0ZSAmJiB0aGlzLmlzRGF0ZUludmFsaWQpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZUFkZElkKHtpZDogb2JqLmlkLCBncm91cElkOiB0aGlzLnByZXZpZXcudXVpZH0pKVxyXG4gICAgdGhpcy5fc3RvcmUuZGlzcGF0Y2goYXV0b3NhdmVTdGFydEZvcih7aWQ6IG9iai5pZCwgZ3JvdXBJZDogdGhpcy5wcmV2aWV3LnV1aWR9KSlcclxuXHJcbiAgICB0aGlzLl90aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBjb25zdCB1cGRhdGVEYXRhOiBHYWxsZXJ5VXBkYXRlUGF5bG9hZCA9IHtcclxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5wcmV2aWV3LmRlc2NyaXB0aW9uXHJcbiAgICAgIH07XHJcblxyXG4gICAgICBpZiAodGhpcy5wcmV2aWV3LmV2ZW50RGF0ZSkge1xyXG4gICAgICAgIHVwZGF0ZURhdGEuZXZlbnREYXRlID0gdGhpcy5wcmV2aWV3LmV2ZW50RGF0ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMucHJldmlldy5jb3VudGVycGFydHlTZWxlY3RlZElkcykge1xyXG4gICAgICAgIHVwZGF0ZURhdGEuY291bnRlcnBhcnR5U2VsZWN0ZWRJZHMgPSB0aGlzLnByZXZpZXcuY291bnRlcnBhcnR5U2VsZWN0ZWRJZHM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuZ2FsbGVyeVNlcnZpY2UudXBkYXRlKHRoaXMudXBkYXRlRW5kUG9pbnQsIHRoaXMucHJldmlldy51dWlkLCB1cGRhdGVEYXRhKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBob3RvLmVtaXQocmVzKTtcclxuICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZVN1Y2Nlc3NGb3Ioe2lkOiBvYmouaWQsIGdyb3VwSWQ6IHRoaXMucHJldmlldy51dWlkfSkpXHJcbiAgICAgIH0sICgpID0+IHtcclxuICAgICAgICB0aGlzLl9zdG9yZS5kaXNwYXRjaChhdXRvc2F2ZUVycm9yRm9yKHtpZDogb2JqLmlkLCBncm91cElkOiB0aGlzLnByZXZpZXcudXVpZH0pKVxyXG4gICAgICB9KTtcclxuICAgIH0sIDE1MDApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3XCIgKGNsaWNrKT1cIm9uT3BlbkdhbGxlcnlNb2RhbCgpXCI+XHJcblxyXG4gICAgPGltZyBbc3JjXT1cImdldEltYWdlVXJsKClcIiBbYWx0XT1cInByZXZpZXcuaW1hZ2VOYW1lIHx8ICdpbWFnZSdcIiAqbmdJZj1cIiFpc0xvYWRpbmdJbWFnZTsgZWxzZSBza2VsZXRvblRlbXBsYXRlXCI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNza2VsZXRvblRlbXBsYXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHctMTAwIGgtMTAwXCI+XHJcbiAgICAgICAgPG1yeC1sb2FkZXIgc2l6ZT1cIm1lZGl1bVwiIGNvbG9yPVwiYnJhbmRcIj48L21yeC1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1vdmVybGF5XCIgKm5nSWY9XCIhaXNMb2FkaW5nSW1hZ2VcIj48L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9sc1wiICpuZ0lmPVwiIWlzTG9hZGluZ0ltYWdlXCI+XHJcbiAgICAgIDxhIGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fcHJldmlldy1jb250cm9scy0taWNvblwiIFtocmVmXT1cInlhbmRleENoZWNrVXJsXCIgdGFyZ2V0PVwiX2JsYW5rXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8xMjM0Nl8xMjA3NilcIj5cclxuICAgICAgICAgICAgPHBhdGggZD1cIk04LjAwMDMxIDE1Ljk4MzhDMTIuNDA5NiAxNS45ODM4IDE1Ljk4NCAxMi40MDkzIDE1Ljk4NCA4LjAwMDA2QzE1Ljk4NCAzLjU5MDc4IDEyLjQwOTYgMC4wMTYzNTc0IDguMDAwMzEgMC4wMTYzNTc0QzMuNTkxMDMgMC4wMTYzNTc0IDAuMDE2NjAxNiAzLjU5MDc4IDAuMDE2NjAxNiA4LjAwMDA2QzAuMDE2NjAxNiAxMi40MDkzIDMuNTkxMDMgMTUuOTgzOCA4LjAwMDMxIDE1Ljk4MzhaXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjg4OTMgMTMuMDExOEg5LjEzNjdWNC4zNDM2MUg4LjM1NTk2QzYuOTI0ODQgNC4zNDM2MSA2LjE3NTIxIDUuMDU5MTYgNi4xNzUyMSA2LjEyNzMxQzYuMTc1MjEgNy4zMzkxNiA2LjY5MjI1IDcuOTAwNjUgNy43NjE4OCA4LjYxNjJMOC42NDMzNiA5LjIxMDI4TDYuMTEwMDMgMTMuMDEwM0g0LjIyNTU5TDYuNTA1NTkgOS42MTc2OEM1LjE5NDQ3IDguNjgxMzkgNC40NTY3IDcuNzY3MzEgNC40NTY3IDYuMjI1MDlDNC40NTY3IDQuMjk3NjggNS44MDA0IDIuOTg2NTcgOC4zNDQxIDIuOTg2NTdIMTAuODc3NFYxMy4wMDg4SDEwLjg4OTNWMTMuMDExOFpcIiBmaWxsPVwiI0ZDM0YxRFwiLz5cclxuICAgICAgICAgIDwvZz5cclxuICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMjM0Nl8xMjA3NlwiPlxyXG4gICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgPC9hPlxyXG5cclxuICAgICAgPGEgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3LWNvbnRyb2xzLS1pY29uXCIgW2hyZWZdPVwiZ29vZ2xlQ2hlY2tVcmxcIiB0YXJnZXQ9XCJfYmxhbmtcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTExLjU1NjEgNC44OTAxSDExLjA5OTdWNC44NjY1OUg1Ljk5OTY3VjcuMTMzMjVIOS4yMDIxOUM4LjczNDk3IDguNDUyNzMgNy40Nzk1MiA5LjM5OTkyIDUuOTk5NjcgOS4zOTk5MkM0LjEyMjAyIDkuMzk5OTIgMi41OTk2NyA3Ljg3NzU3IDIuNTk5NjcgNS45OTk5MkMyLjU5OTY3IDQuMTIyMjcgNC4xMjIwMiAyLjU5OTkyIDUuOTk5NjcgMi41OTk5MkM2Ljg2NjM5IDIuNTk5OTIgNy42NTQ5MSAyLjkyNjg5IDguMjU1MjkgMy40NjA5N0w5Ljg1ODExIDEuODU4MTVDOC44NDYwNCAwLjkxNDkzNSA3LjQ5MjI3IDAuMzMzMjUyIDUuOTk5NjcgMC4zMzMyNTJDMi44NzAyNiAwLjMzMzI1MiAwLjMzMzAwOCAyLjg3MDUgMC4zMzMwMDggNS45OTk5MkMwLjMzMzAwOCA5LjEyOTM0IDIuODcwMjYgMTEuNjY2NiA1Ljk5OTY3IDExLjY2NjZDOS4xMjkwOSAxMS42NjY2IDExLjY2NjMgOS4xMjkzNCAxMS42NjYzIDUuOTk5OTJDMTEuNjY2MyA1LjYxOTk3IDExLjYyNzIgNS4yNDkwOSAxMS41NTYxIDQuODkwMVpcIiBmaWxsPVwiI0ZCQzAyRFwiLz5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMC45ODczMDUgMy4zNjIzN0wyLjg0OTA5IDQuNzI3NzVDMy4zNTI4NSAzLjQ4MDUyIDQuNTcyODkgMi41OTk5MiA2LjAwMDYgMi41OTk5MkM2Ljg2NzMyIDIuNTk5OTIgNy42NTU4NCAyLjkyNjg5IDguMjU2MjIgMy40NjA5N0w5Ljg1OTA0IDEuODU4MTVDOC44NDY5NyAwLjkxNDkzNSA3LjQ5MzIgMC4zMzMyNTIgNi4wMDA2IDAuMzMzMjUyQzMuODI0MDQgMC4zMzMyNTIgMS45MzY0NyAxLjU2MjA3IDAuOTg3MzA1IDMuMzYyMzdaXCIgZmlsbD1cIiNFNTM5MzVcIi8+XHJcbiAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwOCAxMS42NjY1QzcuNDY0NSAxMS42NjY1IDguNzk0NDcgMTEuMTA2MyA5LjgwMDAyIDEwLjE5NTRMOC4wNDYxOSA4LjcxMTNDNy40NzcyNSA5LjE0MjI1IDYuNzcwMDUgOS4zOTk4IDYuMDAwOCA5LjM5OThDNC41MjY5IDkuMzk5OCAzLjI3NTQyIDguNDU5OTkgMi44MDM5NSA3LjE0ODQ0TDAuOTU2MDU1IDguNTcyMTlDMS44OTM4OSAxMC40MDczIDMuNzk4NDUgMTEuNjY2NSA2LjAwMDggMTEuNjY2NVpcIiBmaWxsPVwiIzRDQUY1MFwiLz5cclxuICAgICAgICAgIDxwYXRoIGQ9XCJNMTEuNTU2NCA0Ljg4OTk3TDExLjU1MTkgNC44NjY0NkgxMS4xSDZWNy4xMzMxMkg5LjIwMjUyQzguOTc4MTIgNy43NjY5NCA4LjU3MDQgOC4zMTM0OSA4LjA0NDUzIDguNzExNTdDOC4wNDQ4MiA4LjcxMTI5IDguMDQ1MSA4LjcxMTI5IDguMDQ1MzggOC43MTEwMUw5Ljc5OTIyIDEwLjE5NTFDOS42NzUxMiAxMC4zMDc5IDExLjY2NjcgOC44MzMxMiAxMS42NjY3IDUuOTk5NzlDMTEuNjY2NyA1LjYxOTg0IDExLjYyNzYgNS4yNDg5NiAxMS41NTY0IDQuODg5OTdaXCIgZmlsbD1cIiMxNTY1QzBcIi8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvYT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19wcmV2aWV3LWNvbnRyb2xzX19idXR0b24gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgKm5nSWY9XCJpc0VkaXRpbmdcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRlbGV0ZSBpY29uLWZvbnQtMTYgdGV4dC1ib2xkXCIgKGNsaWNrKT1cImRlbGV0ZUltYWdlKClcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzaG93RGF0ZVwiIGNsYXNzPVwibXJ4LWdhbGxlcnktaXRlbV9fZGF0ZSBtYi0yXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFZGl0aW5nOyBlbHNlIGRhdGVUZW1wbGF0ZVwiPlxyXG4gICAgICA8bXJ4LWxhYmVsIFtyZXF1aXJlZF09XCJyZXF1aXJlZERhdGVcIj7QlNCw0YLQsCDQvNC10YDQvtC/0YDQuNGP0YLQuNGPPC9tcngtbGFiZWw+XHJcblxyXG4gICAgICA8bXJ4LWlucHV0LWRhdGVwaWNrZXJcclxuICAgICAgICBbZmllbGRzXT1cIihmaWVsZHMkIHwgYXN5bmMpIVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJwcmV2aWV3LmV2ZW50RGF0ZVwiXHJcbiAgICAgICAgW2ludmFsaWRdPVwiaXNEYXRlSW52YWxpZFwiXHJcbiAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgW2lzU2hvd01lc3NhZ2VzXT1cImZhbHNlXCJcclxuICAgICAgICBbaW52YWxpZE1lc3NhZ2VdPVwiZGF0ZUludmFsaWRNZXNzYWdlXCJcclxuICAgICAgICBbY2xvc2FibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtmb3JtYXRdPVwiJ1lZWVktTU0tREQnXCJcclxuICAgICAgICBbdGltZXBpY2tlcl09XCJmYWxzZVwiXHJcbiAgICAgICAgW2xlYWRaZXJvRGF0ZVRpbWVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW21hc2tdPVwiJ2QwLk0wLjAwMDAnXCJcclxuICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlRmllbGQoQ2hhbmdlYWJsZUZpZWxkLkV2ZW50RGF0ZSwgJGV2ZW50KVwiXHJcbiAgICAgID48L21yeC1pbnB1dC1kYXRlcGlja2VyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNkYXRlVGVtcGxhdGU+XHJcbiAgICAgIDxwPtCU0LDRgtCwINC80LXRgNC+0L/RgNC40Y/RgtC40Y86IHt7IHByZXZpZXcuZXZlbnREYXRlIHwgZGF0ZUZvcm1hdCB9fTwvcD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgKm5nSWY9XCJzaG93Q291bnRlcnBhcnRpZXNcIiBjbGFzcz1cIm1yeC1nYWxsZXJ5LWl0ZW1fX2NvdW50ZXJwYXJ0aWVzIG1iLTJcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRpbmc7IGVsc2UgY291bnRlcnBhcnRpZXNUZW1wbGF0ZVwiPlxyXG4gICAgICA8bXJ4LWxhYmVsPtCd0LDQuNC80LXQvdC+0LLQsNC90LjQtSDQutC+0L3RgtGA0LDQs9C10L3RgtCwPC9tcngtbGFiZWw+XHJcblxyXG4gICAgICA8bXJ4LWlucHV0LXNlbGVjdFxyXG4gICAgICAgIFtmaWVsZHNdPVwiKGZpZWxkcyQgfCBhc3luYykhXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cInByZXZpZXcuY291bnRlcnBhcnR5U2VsZWN0ZWRJZHNcIlxyXG4gICAgICAgIFtpdGVtc109XCJwcmV2aWV3LmNvdW50ZXJwYXJ0aWVzIHx8IFtdXCJcclxuICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3NvcnRhYmxlXT1cInRydWVcIlxyXG4gICAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIlxyXG4gICAgICAgIFttYXhTZWxlY3RlZEl0ZW1zXT1cIjNcIlxyXG4gICAgICAgIFtiaW5kVmFsdWVdPVwiJ3ZhbHVlJ1wiXHJcbiAgICAgICAgW2JpbmRMYWJlbF09XCIndGV4dCdcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCIn0JLRi9Cx0LXRgNC40YLQtSDQutC+0L3RgtGA0LDQs9C10L3RgtCwJ1wiXHJcbiAgICAgICAgW2NoZWNrSW52YWxpZF09XCJjb3VudGVycGFydGllc0NoZWNrSW52YWxpZFwiXHJcbiAgICAgICAgW2ludmFsaWRdPVwiaXNDb3VudGVycGFydGllc0ludmFsaWRcIlxyXG4gICAgICAgIFtpbnZhbGlkTWVzc2FnZV09XCJjb3VudGVycGFydGllc0ludmFsaWRNZXNzYWdlXCJcclxuICAgICAgICAobW9kZWxDaGFuZ2UpPVwiY2hhbmdlRmllbGQoQ2hhbmdlYWJsZUZpZWxkLkNvdW50ZXJwYXJ0aWVzLCAkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJweS0xIHB4LTMgbW5oLXB4LTM2IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgY29sb3ItdGV4dC1zZWNvbmRhcnlcIj7QktGL0LHQtdGA0LjRgtC1INC+0YIgMSDQtNC+IDMg0LLQsNGA0LjQsNC90YLQvtCyPC9zcGFuPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbXJ4LWlucHV0LXNlbGVjdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjY291bnRlcnBhcnRpZXNUZW1wbGF0ZT5cclxuICAgICAgPHA+0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INC60L7QvdGC0YDQsNCz0LXQvdGC0LA6IHt7IGNvdW50ZXJwYXJ0aWVzVGV4dCB9fTwvcD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJtcngtZ2FsbGVyeS1pdGVtX19kZXNjcmlwdGlvblwiPlxyXG4gICAgPG1yeC1pbnB1dC10ZXh0YXJlYVxyXG4gICAgICAqbmdJZj1cImlzRWRpdGluZzsgZWxzZSB0ZXh0VGVtcGxhdGVcIlxyXG4gICAgICBbZmllbGRzXT1cIihmaWVsZHMkIHwgYXN5bmMpIVwiXHJcbiAgICAgIFtuZ01vZGVsXT1cInByZXZpZXcuZGVzY3JpcHRpb25cIlxyXG4gICAgICBbYXV0b3NpemVdPVwiZmFsc2VcIlxyXG4gICAgICBbcm93c109XCIyXCJcclxuICAgICAgW21heGxlbmd0aF09XCJkZXNjcmlwdGlvbk1heExlbmd0aFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCIn0JLQstC10LTQuNGC0LUg0L7Qv9C40YHQsNC90LjQtSdcIlxyXG4gICAgICBbY2hlY2tJbnZhbGlkXT1cImRlc2NyaXB0aW9uQ2hlY2tJbnZhbGlkXCJcclxuICAgICAgW2ludmFsaWRdPVwiaXNEZXNjcmlwdGlvbkludmFsaWRcIlxyXG4gICAgICBbaW52YWxpZE1lc3NhZ2VdPVwiZGVzY3JpcHRpb25JbnZhbGlkTWVzc2FnZVwiXHJcbiAgICAgIChtb2RlbENoYW5nZSk9XCJjaGFuZ2VGaWVsZChDaGFuZ2VhYmxlRmllbGQuRGVzY3JpcHRpb24sICRldmVudClcIlxyXG4gICAgPjwvbXJ4LWlucHV0LXRleHRhcmVhPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjdGV4dFRlbXBsYXRlPlxyXG4gICAgICB7eyBwcmV2aWV3LmRlc2NyaXB0aW9uIH19XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -6498,10 +6498,10 @@ class GalleryItemComponent {
6498
6498
  });
6499
6499
  }
6500
6500
  changeField(field, obj) {
6501
- if (!this.needToSaveInvalidDate && this.isDateInvalid)
6502
- return;
6503
6501
  clearTimeout(this._timer);
6504
6502
  this.preview[field] = obj.value;
6503
+ if (!this.needToSaveInvalidDate && this.isDateInvalid)
6504
+ return;
6505
6505
  this._store.dispatch(autosaveAddId({ id: obj.id, groupId: this.preview.uuid }));
6506
6506
  this._store.dispatch(autosaveStartFor({ id: obj.id, groupId: this.preview.uuid }));
6507
6507
  this._timer = setTimeout(() => {