@hmcts/media-viewer 2.9.5 → 2.10.0

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 (475) hide show
  1. package/assets/all.scss +1 -1
  2. package/assets/sass/tags.scss +1 -1
  3. package/esm2020/hmcts-media-viewer.mjs +5 -0
  4. package/esm2020/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +116 -0
  5. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +109 -0
  6. package/esm2020/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +75 -0
  7. package/esm2020/lib/annotations/annotation-set/annotation-set.component.mjs +50 -0
  8. package/esm2020/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +94 -0
  9. package/esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +116 -0
  10. package/esm2020/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +118 -0
  11. package/esm2020/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +87 -0
  12. package/esm2020/lib/annotations/annotations.module.mjs +158 -0
  13. package/esm2020/lib/annotations/comment-set/comment/comment.component.mjs +176 -0
  14. package/esm2020/lib/annotations/comment-set/comment/comment.service.mjs +50 -0
  15. package/esm2020/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +47 -0
  16. package/esm2020/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +31 -0
  17. package/esm2020/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +91 -0
  18. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +61 -0
  19. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +53 -0
  20. package/esm2020/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +68 -0
  21. package/esm2020/lib/annotations/comment-set/comment-set-render.service.mjs +54 -0
  22. package/esm2020/lib/annotations/comment-set/comment-set.component.mjs +123 -0
  23. package/esm2020/lib/annotations/comments-summary/comments-summary.component.mjs +113 -0
  24. package/esm2020/lib/annotations/pipes/date/date.pipe.mjs +26 -0
  25. package/esm2020/lib/annotations/pipes/filter/filter.pipe.mjs +32 -0
  26. package/esm2020/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +16 -0
  27. package/esm2020/lib/annotations/services/annotation-api/annotation-api.service.mjs +58 -0
  28. package/esm2020/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +45 -0
  29. package/esm2020/lib/annotations/services/tags/tags.services.mjs +41 -0
  30. package/esm2020/lib/annotations/tags/tags.component.mjs +53 -0
  31. package/esm2020/lib/bookmark/components/bookmark-icons.component.mjs +25 -0
  32. package/esm2020/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +22 -0
  33. package/esm2020/lib/icp/icp-follower.service.mjs +60 -0
  34. package/esm2020/lib/icp/icp-presenter.service.mjs +55 -0
  35. package/esm2020/lib/icp/icp-session-api.service.mjs +21 -0
  36. package/esm2020/lib/icp/icp-update.service.mjs +57 -0
  37. package/esm2020/lib/icp/icp.service.mjs +93 -0
  38. package/esm2020/lib/icp/participants-list/participants-list.component.mjs +30 -0
  39. package/esm2020/lib/icp/socket.service.mjs +118 -0
  40. package/esm2020/lib/media-viewer.component.mjs +244 -0
  41. package/esm2020/lib/media-viewer.module.mjs +151 -0
  42. package/{esm2015/lib/print.service.js → esm2020/lib/print.service.mjs} +9 -7
  43. package/esm2020/lib/redaction/components/redaction.component.mjs +91 -0
  44. package/esm2020/lib/redaction/services/redaction-api.service.mjs +50 -0
  45. package/esm2020/lib/shared/gov-uk-date/gov-uk-date.component.mjs +28 -0
  46. package/esm2020/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +34 -0
  47. package/esm2020/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +63 -0
  48. package/esm2020/lib/shared/gov-uk-label/gov-uk-label.component.mjs +44 -0
  49. package/esm2020/lib/shared/shared.module.mjs +53 -0
  50. package/esm2020/lib/shared/util/services/number.helper.service.mjs +23 -0
  51. package/{esm2015/lib/store/bookmarks-store-utils.js → esm2020/lib/store/bookmarks-store-utils.mjs} +1 -3
  52. package/esm2020/lib/store/effects/annotation.effects.mjs +44 -0
  53. package/esm2020/lib/store/effects/bookmarks.effects.mjs +44 -0
  54. package/esm2020/lib/store/effects/document.effects.mjs +44 -0
  55. package/esm2020/lib/store/effects/icp.effects.mjs +26 -0
  56. package/esm2020/lib/store/effects/redaction.effects.mjs +67 -0
  57. package/esm2020/lib/store/reducers/annotations.reducer.mjs +183 -0
  58. package/esm2020/lib/store/reducers/bookmarks.reducer.mjs +116 -0
  59. package/esm2020/lib/store/reducers/document.reducer.mjs +135 -0
  60. package/esm2020/lib/store/reducers/icp.reducer.mjs +56 -0
  61. package/esm2020/lib/store/reducers/redaction.reducer.mjs +116 -0
  62. package/esm2020/lib/store/reducers/tags.reducer.mjs +93 -0
  63. package/esm2020/lib/store/selectors/annotation.selectors.mjs +81 -0
  64. package/esm2020/lib/store/selectors/bookmark.selectors.mjs +36 -0
  65. package/{esm2015/lib/store/selectors/document.selectors.js → esm2020/lib/store/selectors/document.selectors.mjs} +3 -6
  66. package/esm2020/lib/store/selectors/icp.selectors.mjs +13 -0
  67. package/{esm2015/lib/store/selectors/redaction.selectors.js → esm2020/lib/store/selectors/redaction.selectors.mjs} +6 -10
  68. package/{esm2015/lib/store/selectors/tag.selectors.js → esm2020/lib/store/selectors/tag.selectors.mjs} +4 -7
  69. package/esm2020/lib/store/store-utils.mjs +131 -0
  70. package/esm2020/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +41 -0
  71. package/esm2020/lib/toolbar/main-toolbar/main-toolbar.component.mjs +188 -0
  72. package/esm2020/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +199 -0
  73. package/esm2020/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +66 -0
  74. package/esm2020/lib/toolbar/search-bar/search-bar.component.mjs +105 -0
  75. package/esm2020/lib/toolbar/toolbar-button-visibility.service.mjs +94 -0
  76. package/{esm2015/lib/toolbar/toolbar-event.service.js → esm2020/lib/toolbar/toolbar-event.service.mjs} +7 -5
  77. package/esm2020/lib/toolbar/toolbar.module.mjs +67 -0
  78. package/esm2020/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +78 -0
  79. package/esm2020/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +22 -0
  80. package/esm2020/lib/viewers/grab-n-drag.directive.mjs +57 -0
  81. package/esm2020/lib/viewers/image-viewer/image-viewer.component.mjs +166 -0
  82. package/esm2020/lib/viewers/multimedia-player/multimedia-player.component.mjs +58 -0
  83. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +193 -0
  84. package/esm2020/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +40 -0
  85. package/esm2020/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +230 -0
  86. package/esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +192 -0
  87. package/esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +49 -0
  88. package/esm2020/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +77 -0
  89. package/esm2020/lib/viewers/rotation-persist/rotation-api.service.mjs +27 -0
  90. package/esm2020/lib/viewers/rotation-persist/rotation-persist.directive.mjs +64 -0
  91. package/esm2020/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +49 -0
  92. package/esm2020/lib/viewers/viewer-event.service.mjs +30 -0
  93. package/esm2020/lib/viewers/viewer-util.service.mjs +20 -0
  94. package/esm2020/public_api.mjs +32 -0
  95. package/fesm2015/hmcts-media-viewer.mjs +6602 -0
  96. package/fesm2015/hmcts-media-viewer.mjs.map +1 -0
  97. package/fesm2020/hmcts-media-viewer.mjs +6893 -0
  98. package/fesm2020/hmcts-media-viewer.mjs.map +1 -0
  99. package/hmcts-media-viewer.d.ts.map +1 -1
  100. package/index.d.ts +6 -0
  101. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +3 -0
  102. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts.map +1 -1
  103. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts +3 -0
  104. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.d.ts.map +1 -1
  105. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts +3 -0
  106. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.d.ts.map +1 -1
  107. package/lib/annotations/annotation-set/annotation-set.component.d.ts +3 -0
  108. package/lib/annotations/annotation-set/annotation-set.component.d.ts.map +1 -1
  109. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts +3 -0
  110. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.d.ts.map +1 -1
  111. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts +5 -2
  112. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.d.ts.map +1 -1
  113. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts +3 -0
  114. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.d.ts.map +1 -1
  115. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts +3 -0
  116. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.d.ts.map +1 -1
  117. package/lib/annotations/annotations.module.d.ts +32 -0
  118. package/lib/annotations/annotations.module.d.ts.map +1 -1
  119. package/lib/annotations/comment-set/comment/comment.component.d.ts +3 -0
  120. package/lib/annotations/comment-set/comment/comment.component.d.ts.map +1 -1
  121. package/lib/annotations/comment-set/comment/comment.service.d.ts +5 -2
  122. package/lib/annotations/comment-set/comment/comment.service.d.ts.map +1 -1
  123. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts +3 -0
  124. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.d.ts.map +1 -1
  125. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts +3 -0
  126. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.d.ts.map +1 -1
  127. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts +3 -0
  128. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.d.ts.map +1 -1
  129. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts +6 -3
  130. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.d.ts.map +1 -1
  131. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts +3 -0
  132. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.d.ts.map +1 -1
  133. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts +3 -0
  134. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.d.ts.map +1 -1
  135. package/lib/annotations/comment-set/comment-set-render.service.d.ts +3 -0
  136. package/lib/annotations/comment-set/comment-set-render.service.d.ts.map +1 -1
  137. package/lib/annotations/comment-set/comment-set.component.d.ts +3 -0
  138. package/lib/annotations/comment-set/comment-set.component.d.ts.map +1 -1
  139. package/lib/annotations/comments-summary/comments-summary.component.d.ts +6 -3
  140. package/lib/annotations/comments-summary/comments-summary.component.d.ts.map +1 -1
  141. package/lib/annotations/pipes/date/date.pipe.d.ts +3 -0
  142. package/lib/annotations/pipes/date/date.pipe.d.ts.map +1 -1
  143. package/lib/annotations/pipes/filter/filter.pipe.d.ts +3 -0
  144. package/lib/annotations/pipes/filter/filter.pipe.d.ts.map +1 -1
  145. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts +3 -0
  146. package/lib/annotations/pipes/unsnake/unsnake.pipe.d.ts.map +1 -1
  147. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts +3 -0
  148. package/lib/annotations/services/annotation-api/annotation-api.service.d.ts.map +1 -1
  149. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts +3 -0
  150. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.d.ts.map +1 -1
  151. package/lib/annotations/services/tags/tags.services.d.ts +3 -0
  152. package/lib/annotations/services/tags/tags.services.d.ts.map +1 -1
  153. package/lib/annotations/tags/tags.component.d.ts +6 -3
  154. package/lib/annotations/tags/tags.component.d.ts.map +1 -1
  155. package/lib/bookmark/components/bookmark-icons.component.d.ts +3 -0
  156. package/lib/bookmark/components/bookmark-icons.component.d.ts.map +1 -1
  157. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts +3 -0
  158. package/lib/icp/confirm-exit/confirm-action-dialog.component.d.ts.map +1 -1
  159. package/lib/icp/icp-follower.service.d.ts +3 -0
  160. package/lib/icp/icp-follower.service.d.ts.map +1 -1
  161. package/lib/icp/icp-presenter.service.d.ts +3 -0
  162. package/lib/icp/icp-presenter.service.d.ts.map +1 -1
  163. package/lib/icp/icp-session-api.service.d.ts +3 -0
  164. package/lib/icp/icp-session-api.service.d.ts.map +1 -1
  165. package/lib/icp/icp-update.service.d.ts +3 -0
  166. package/lib/icp/icp-update.service.d.ts.map +1 -1
  167. package/lib/icp/icp.service.d.ts +3 -0
  168. package/lib/icp/icp.service.d.ts.map +1 -1
  169. package/lib/icp/participants-list/participants-list.component.d.ts +3 -0
  170. package/lib/icp/participants-list/participants-list.component.d.ts.map +1 -1
  171. package/lib/icp/socket.service.d.ts +3 -0
  172. package/lib/icp/socket.service.d.ts.map +1 -1
  173. package/lib/media-viewer.component.d.ts +3 -0
  174. package/lib/media-viewer.component.d.ts.map +1 -1
  175. package/lib/media-viewer.module.d.ts +31 -0
  176. package/lib/media-viewer.module.d.ts.map +1 -1
  177. package/lib/print.service.d.ts +3 -0
  178. package/lib/print.service.d.ts.map +1 -1
  179. package/lib/redaction/components/redaction.component.d.ts +3 -0
  180. package/lib/redaction/components/redaction.component.d.ts.map +1 -1
  181. package/lib/redaction/services/redaction-api.service.d.ts +3 -0
  182. package/lib/redaction/services/redaction-api.service.d.ts.map +1 -1
  183. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts +3 -0
  184. package/lib/shared/gov-uk-date/gov-uk-date.component.d.ts.map +1 -1
  185. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
  186. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.d.ts.map +1 -1
  187. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
  188. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.d.ts.map +1 -1
  189. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts +3 -0
  190. package/lib/shared/gov-uk-label/gov-uk-label.component.d.ts.map +1 -1
  191. package/lib/shared/shared.module.d.ts +11 -0
  192. package/lib/shared/shared.module.d.ts.map +1 -1
  193. package/lib/shared/util/services/number.helper.service.d.ts +3 -0
  194. package/lib/shared/util/services/number.helper.service.d.ts.map +1 -1
  195. package/lib/store/actions/annotation.actions.d.ts +1 -1
  196. package/lib/store/actions/annotation.actions.d.ts.map +1 -1
  197. package/lib/store/actions/bookmark.actions.d.ts +1 -1
  198. package/lib/store/actions/bookmark.actions.d.ts.map +1 -1
  199. package/lib/store/actions/document.actions.d.ts +1 -1
  200. package/lib/store/actions/document.actions.d.ts.map +1 -1
  201. package/lib/store/actions/icp.actions.d.ts +1 -1
  202. package/lib/store/actions/icp.actions.d.ts.map +1 -1
  203. package/lib/store/actions/redaction.actions.d.ts +1 -1
  204. package/lib/store/actions/redaction.actions.d.ts.map +1 -1
  205. package/lib/store/actions/tag.actions.d.ts +1 -1
  206. package/lib/store/actions/tag.actions.d.ts.map +1 -1
  207. package/lib/store/effects/annotation.effects.d.ts +6 -3
  208. package/lib/store/effects/annotation.effects.d.ts.map +1 -1
  209. package/lib/store/effects/bookmarks.effects.d.ts +8 -5
  210. package/lib/store/effects/bookmarks.effects.d.ts.map +1 -1
  211. package/lib/store/effects/document.effects.d.ts +6 -3
  212. package/lib/store/effects/document.effects.d.ts.map +1 -1
  213. package/lib/store/effects/icp.effects.d.ts +5 -2
  214. package/lib/store/effects/icp.effects.d.ts.map +1 -1
  215. package/lib/store/effects/redaction.effects.d.ts +9 -6
  216. package/lib/store/effects/redaction.effects.d.ts.map +1 -1
  217. package/lib/store/selectors/annotation.selectors.d.ts +70 -27
  218. package/lib/store/selectors/annotation.selectors.d.ts.map +1 -1
  219. package/lib/store/selectors/bookmark.selectors.d.ts +18 -10
  220. package/lib/store/selectors/bookmark.selectors.d.ts.map +1 -1
  221. package/lib/store/selectors/document.selectors.d.ts +13 -11
  222. package/lib/store/selectors/document.selectors.d.ts.map +1 -1
  223. package/lib/store/selectors/icp.selectors.d.ts +9 -8
  224. package/lib/store/selectors/icp.selectors.d.ts.map +1 -1
  225. package/lib/store/selectors/redaction.selectors.d.ts +17 -11
  226. package/lib/store/selectors/redaction.selectors.d.ts.map +1 -1
  227. package/lib/store/selectors/tag.selectors.d.ts +14 -12
  228. package/lib/store/selectors/tag.selectors.d.ts.map +1 -1
  229. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts +3 -0
  230. package/lib/toolbar/icp-toolbar/icp-toolbar.component.d.ts.map +1 -1
  231. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts +3 -0
  232. package/lib/toolbar/main-toolbar/main-toolbar.component.d.ts.map +1 -1
  233. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts +5 -2
  234. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.d.ts.map +1 -1
  235. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts +3 -0
  236. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.d.ts.map +1 -1
  237. package/lib/toolbar/search-bar/search-bar.component.d.ts +3 -0
  238. package/lib/toolbar/search-bar/search-bar.component.d.ts.map +1 -1
  239. package/lib/toolbar/toolbar-button-visibility.service.d.ts +3 -0
  240. package/lib/toolbar/toolbar-button-visibility.service.d.ts.map +1 -1
  241. package/lib/toolbar/toolbar-event.service.d.ts +5 -2
  242. package/lib/toolbar/toolbar-event.service.d.ts.map +1 -1
  243. package/lib/toolbar/toolbar.module.d.ts +13 -0
  244. package/lib/toolbar/toolbar.module.d.ts.map +1 -1
  245. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts +3 -0
  246. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.d.ts.map +1 -1
  247. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts +3 -0
  248. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.d.ts.map +1 -1
  249. package/lib/viewers/grab-n-drag.directive.d.ts +3 -0
  250. package/lib/viewers/grab-n-drag.directive.d.ts.map +1 -1
  251. package/lib/viewers/image-viewer/image-viewer.component.d.ts +3 -0
  252. package/lib/viewers/image-viewer/image-viewer.component.d.ts.map +1 -1
  253. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts +3 -0
  254. package/lib/viewers/multimedia-player/multimedia-player.component.d.ts.map +1 -1
  255. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts +3 -0
  256. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.d.ts.map +1 -1
  257. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +3 -0
  258. package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts.map +1 -1
  259. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +5 -2
  260. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
  261. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts +3 -0
  262. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.d.ts.map +1 -1
  263. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts +3 -0
  264. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.d.ts.map +1 -1
  265. package/lib/viewers/rotation-persist/rotation-api.service.d.ts +3 -0
  266. package/lib/viewers/rotation-persist/rotation-api.service.d.ts.map +1 -1
  267. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts +3 -0
  268. package/lib/viewers/rotation-persist/rotation-persist.directive.d.ts.map +1 -1
  269. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts +3 -0
  270. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.d.ts.map +1 -1
  271. package/lib/viewers/viewer-event.service.d.ts +3 -0
  272. package/lib/viewers/viewer-event.service.d.ts.map +1 -1
  273. package/lib/viewers/viewer-util.service.d.ts +3 -0
  274. package/lib/viewers/viewer-util.service.d.ts.map +1 -1
  275. package/package.json +34 -22
  276. package/public_api.d.ts +1 -0
  277. package/public_api.d.ts.map +1 -1
  278. package/bundles/hmcts-media-viewer.umd.js +0 -7552
  279. package/bundles/hmcts-media-viewer.umd.js.map +0 -1
  280. package/bundles/hmcts-media-viewer.umd.min.js +0 -2
  281. package/bundles/hmcts-media-viewer.umd.min.js.map +0 -1
  282. package/esm2015/hmcts-media-viewer.js +0 -64
  283. package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +0 -113
  284. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.js +0 -111
  285. package/esm2015/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.js +0 -61
  286. package/esm2015/lib/annotations/annotation-set/annotation-set.component.js +0 -47
  287. package/esm2015/lib/annotations/annotation-set/annotation-view/annotation-view.component.js +0 -86
  288. package/esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.js +0 -108
  289. package/esm2015/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.js +0 -107
  290. package/esm2015/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.js +0 -81
  291. package/esm2015/lib/annotations/annotations.module.js +0 -103
  292. package/esm2015/lib/annotations/comment-set/comment/comment.component.js +0 -162
  293. package/esm2015/lib/annotations/comment-set/comment/comment.service.js +0 -47
  294. package/esm2015/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.js +0 -48
  295. package/esm2015/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.js +0 -31
  296. package/esm2015/lib/annotations/comment-set/comment-navigate/comments-navigate.component.js +0 -95
  297. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.js +0 -60
  298. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.js +0 -53
  299. package/esm2015/lib/annotations/comment-set/comment-set-header/comment-set-header.component.js +0 -68
  300. package/esm2015/lib/annotations/comment-set/comment-set-render.service.js +0 -51
  301. package/esm2015/lib/annotations/comment-set/comment-set.component.js +0 -110
  302. package/esm2015/lib/annotations/comments-summary/comments-summary.component.js +0 -106
  303. package/esm2015/lib/annotations/pipes/date/date.pipe.js +0 -22
  304. package/esm2015/lib/annotations/pipes/filter/filter.pipe.js +0 -28
  305. package/esm2015/lib/annotations/pipes/unsnake/unsnake.pipe.js +0 -12
  306. package/esm2015/lib/annotations/services/annotation-api/annotation-api.service.js +0 -59
  307. package/esm2015/lib/annotations/services/bookmarks-api/bookmarks-api.service.js +0 -46
  308. package/esm2015/lib/annotations/services/tags/tags.services.js +0 -36
  309. package/esm2015/lib/annotations/tags/tags.component.js +0 -52
  310. package/esm2015/lib/bookmark/components/bookmark-icons.component.js +0 -26
  311. package/esm2015/lib/icp/confirm-exit/confirm-action-dialog.component.js +0 -25
  312. package/esm2015/lib/icp/icp-follower.service.js +0 -63
  313. package/esm2015/lib/icp/icp-presenter.service.js +0 -57
  314. package/esm2015/lib/icp/icp-session-api.service.js +0 -22
  315. package/esm2015/lib/icp/icp-update.service.js +0 -56
  316. package/esm2015/lib/icp/icp.service.js +0 -98
  317. package/esm2015/lib/icp/participants-list/participants-list.component.js +0 -32
  318. package/esm2015/lib/icp/socket.service.js +0 -117
  319. package/esm2015/lib/media-viewer.component.js +0 -210
  320. package/esm2015/lib/media-viewer.module.js +0 -102
  321. package/esm2015/lib/redaction/components/redaction.component.js +0 -97
  322. package/esm2015/lib/redaction/services/redaction-api.service.js +0 -51
  323. package/esm2015/lib/shared/gov-uk-date/gov-uk-date.component.js +0 -21
  324. package/esm2015/lib/shared/gov-uk-error-message/gov-uk-error-message.component.js +0 -27
  325. package/esm2015/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -42
  326. package/esm2015/lib/shared/gov-uk-label/gov-uk-label.component.js +0 -32
  327. package/esm2015/lib/shared/shared.module.js +0 -34
  328. package/esm2015/lib/shared/util/services/number.helper.service.js +0 -23
  329. package/esm2015/lib/store/effects/annotation.effects.js +0 -58
  330. package/esm2015/lib/store/effects/bookmarks.effects.js +0 -66
  331. package/esm2015/lib/store/effects/document.effects.js +0 -59
  332. package/esm2015/lib/store/effects/icp.effects.js +0 -37
  333. package/esm2015/lib/store/effects/redaction.effects.js +0 -94
  334. package/esm2015/lib/store/reducers/annotations.reducer.js +0 -115
  335. package/esm2015/lib/store/reducers/bookmarks.reducer.js +0 -80
  336. package/esm2015/lib/store/reducers/document.reducer.js +0 -100
  337. package/esm2015/lib/store/reducers/icp.reducer.js +0 -40
  338. package/esm2015/lib/store/reducers/redaction.reducer.js +0 -75
  339. package/esm2015/lib/store/reducers/tags.reducer.js +0 -67
  340. package/esm2015/lib/store/selectors/annotation.selectors.js +0 -84
  341. package/esm2015/lib/store/selectors/bookmark.selectors.js +0 -41
  342. package/esm2015/lib/store/selectors/icp.selectors.js +0 -18
  343. package/esm2015/lib/store/store-utils.js +0 -105
  344. package/esm2015/lib/toolbar/icp-toolbar/icp-toolbar.component.js +0 -43
  345. package/esm2015/lib/toolbar/main-toolbar/main-toolbar.component.js +0 -175
  346. package/esm2015/lib/toolbar/redaction-search-bar/redaction-search-bar.component.js +0 -201
  347. package/esm2015/lib/toolbar/redaction-toolbar/redaction-toolbar.component.js +0 -70
  348. package/esm2015/lib/toolbar/search-bar/search-bar.component.js +0 -102
  349. package/esm2015/lib/toolbar/toolbar-button-visibility.service.js +0 -92
  350. package/esm2015/lib/toolbar/toolbar.module.js +0 -45
  351. package/esm2015/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.js +0 -72
  352. package/esm2015/lib/viewers/convertible-content-viewer/document-conversion-api.service.js +0 -23
  353. package/esm2015/lib/viewers/grab-n-drag.directive.js +0 -51
  354. package/esm2015/lib/viewers/image-viewer/image-viewer.component.js +0 -164
  355. package/esm2015/lib/viewers/multimedia-player/multimedia-player.component.js +0 -54
  356. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.js +0 -203
  357. package/esm2015/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.js +0 -43
  358. package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +0 -220
  359. package/esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.js +0 -179
  360. package/esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.js +0 -44
  361. package/esm2015/lib/viewers/pdf-viewer/side-bar/side-bar.component.js +0 -72
  362. package/esm2015/lib/viewers/rotation-persist/rotation-api.service.js +0 -28
  363. package/esm2015/lib/viewers/rotation-persist/rotation-persist.directive.js +0 -67
  364. package/esm2015/lib/viewers/unsupported-viewer/unsupported-viewer.component.js +0 -47
  365. package/esm2015/lib/viewers/viewer-event.service.js +0 -30
  366. package/esm2015/lib/viewers/viewer-util.service.js +0 -23
  367. package/esm2015/public_api.js +0 -31
  368. package/fesm2015/hmcts-media-viewer.js +0 -6585
  369. package/fesm2015/hmcts-media-viewer.js.map +0 -1
  370. package/hmcts-media-viewer.d.ts +0 -69
  371. package/hmcts-media-viewer.metadata.json +0 -1
  372. package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.ngfactory.d.ts.map +0 -1
  373. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.ngfactory.d.ts.map +0 -1
  374. package/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.ngfactory.d.ts.map +0 -1
  375. package/lib/annotations/annotation-set/annotation-set.component.ngfactory.d.ts.map +0 -1
  376. package/lib/annotations/annotation-set/annotation-view/annotation-view.component.ngfactory.d.ts.map +0 -1
  377. package/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.ngfactory.d.ts.map +0 -1
  378. package/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.ngfactory.d.ts.map +0 -1
  379. package/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.ngfactory.d.ts.map +0 -1
  380. package/lib/annotations/annotations.module.ngfactory.d.ts.map +0 -1
  381. package/lib/annotations/comment-set/comment/comment.component.ngfactory.d.ts.map +0 -1
  382. package/lib/annotations/comment-set/comment/comment.service.ngfactory.d.ts.map +0 -1
  383. package/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.ngfactory.d.ts.map +0 -1
  384. package/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.ngfactory.d.ts.map +0 -1
  385. package/lib/annotations/comment-set/comment-navigate/comments-navigate.component.ngfactory.d.ts.map +0 -1
  386. package/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.ngfactory.d.ts.map +0 -1
  387. package/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.ngfactory.d.ts.map +0 -1
  388. package/lib/annotations/comment-set/comment-set-header/comment-set-header.component.ngfactory.d.ts.map +0 -1
  389. package/lib/annotations/comment-set/comment-set-render.service.ngfactory.d.ts.map +0 -1
  390. package/lib/annotations/comment-set/comment-set.component.ngfactory.d.ts.map +0 -1
  391. package/lib/annotations/comments-summary/comments-summary.component.ngfactory.d.ts.map +0 -1
  392. package/lib/annotations/pipes/date/date.pipe.ngfactory.d.ts.map +0 -1
  393. package/lib/annotations/pipes/filter/filter.pipe.ngfactory.d.ts.map +0 -1
  394. package/lib/annotations/pipes/unsnake/unsnake.pipe.ngfactory.d.ts.map +0 -1
  395. package/lib/annotations/services/annotation-api/annotation-api.service.ngfactory.d.ts.map +0 -1
  396. package/lib/annotations/services/bookmarks-api/bookmarks-api.service.ngfactory.d.ts.map +0 -1
  397. package/lib/annotations/services/tags/tags.services.ngfactory.d.ts.map +0 -1
  398. package/lib/annotations/tags/tags.component.ngfactory.d.ts.map +0 -1
  399. package/lib/bookmark/components/bookmark-icons.component.ngfactory.d.ts.map +0 -1
  400. package/lib/icp/confirm-exit/confirm-action-dialog.component.ngfactory.d.ts.map +0 -1
  401. package/lib/icp/icp-follower.service.ngfactory.d.ts.map +0 -1
  402. package/lib/icp/icp-presenter.service.ngfactory.d.ts.map +0 -1
  403. package/lib/icp/icp-session-api.service.ngfactory.d.ts.map +0 -1
  404. package/lib/icp/icp-update.service.ngfactory.d.ts.map +0 -1
  405. package/lib/icp/icp.service.ngfactory.d.ts.map +0 -1
  406. package/lib/icp/participants-list/participants-list.component.ngfactory.d.ts.map +0 -1
  407. package/lib/icp/socket.service.ngfactory.d.ts.map +0 -1
  408. package/lib/media-viewer.component.ngfactory.d.ts.map +0 -1
  409. package/lib/media-viewer.module.ngfactory.d.ts.map +0 -1
  410. package/lib/print.service.ngfactory.d.ts.map +0 -1
  411. package/lib/redaction/components/redaction.component.ngfactory.d.ts.map +0 -1
  412. package/lib/redaction/services/redaction-api.service.ngfactory.d.ts.map +0 -1
  413. package/lib/shared/gov-uk-date/gov-uk-date.component.ngfactory.d.ts.map +0 -1
  414. package/lib/shared/gov-uk-error-message/gov-uk-error-message.component.ngfactory.d.ts.map +0 -1
  415. package/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.ngfactory.d.ts.map +0 -1
  416. package/lib/shared/gov-uk-label/gov-uk-label.component.ngfactory.d.ts.map +0 -1
  417. package/lib/shared/shared.module.ngfactory.d.ts.map +0 -1
  418. package/lib/shared/util/services/number.helper.service.ngfactory.d.ts.map +0 -1
  419. package/lib/store/effects/annotation.effects.ngfactory.d.ts.map +0 -1
  420. package/lib/store/effects/bookmarks.effects.ngfactory.d.ts.map +0 -1
  421. package/lib/store/effects/document.effects.ngfactory.d.ts.map +0 -1
  422. package/lib/store/effects/icp.effects.ngfactory.d.ts.map +0 -1
  423. package/lib/store/effects/redaction.effects.ngfactory.d.ts.map +0 -1
  424. package/lib/toolbar/icp-toolbar/icp-toolbar.component.ngfactory.d.ts.map +0 -1
  425. package/lib/toolbar/main-toolbar/main-toolbar.component.ngfactory.d.ts.map +0 -1
  426. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.ngfactory.d.ts.map +0 -1
  427. package/lib/toolbar/redaction-search-bar/redaction-search-bar.component.scss.shim.ngstyle.d.ts.map +0 -1
  428. package/lib/toolbar/redaction-toolbar/redaction-toolbar.component.ngfactory.d.ts.map +0 -1
  429. package/lib/toolbar/search-bar/search-bar.component.ngfactory.d.ts.map +0 -1
  430. package/lib/toolbar/toolbar-button-visibility.service.ngfactory.d.ts.map +0 -1
  431. package/lib/toolbar/toolbar-event.service.ngfactory.d.ts.map +0 -1
  432. package/lib/toolbar/toolbar.module.ngfactory.d.ts.map +0 -1
  433. package/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.ngfactory.d.ts.map +0 -1
  434. package/lib/viewers/convertible-content-viewer/document-conversion-api.service.ngfactory.d.ts.map +0 -1
  435. package/lib/viewers/grab-n-drag.directive.ngfactory.d.ts.map +0 -1
  436. package/lib/viewers/image-viewer/image-viewer.component.ngfactory.d.ts.map +0 -1
  437. package/lib/viewers/multimedia-player/multimedia-player.component.ngfactory.d.ts.map +0 -1
  438. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.ngfactory.d.ts.map +0 -1
  439. package/lib/viewers/pdf-viewer/pdf-viewer.component.ngfactory.d.ts.map +0 -1
  440. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.ngfactory.d.ts.map +0 -1
  441. package/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.ngfactory.d.ts.map +0 -1
  442. package/lib/viewers/pdf-viewer/side-bar/side-bar.component.ngfactory.d.ts.map +0 -1
  443. package/lib/viewers/rotation-persist/rotation-api.service.ngfactory.d.ts.map +0 -1
  444. package/lib/viewers/rotation-persist/rotation-persist.directive.ngfactory.d.ts.map +0 -1
  445. package/lib/viewers/unsupported-viewer/unsupported-viewer.component.ngfactory.d.ts.map +0 -1
  446. package/lib/viewers/viewer-event.service.ngfactory.d.ts.map +0 -1
  447. package/lib/viewers/viewer-util.service.ngfactory.d.ts.map +0 -1
  448. /package/{esm2015/lib/annotations/annotation-set/annotation-set.model.js → esm2020/lib/annotations/annotation-set/annotation-set.model.mjs} +0 -0
  449. /package/{esm2015/lib/annotations/annotation-set/annotation-view/annotation.model.js → esm2020/lib/annotations/annotation-set/annotation-view/annotation.model.mjs} +0 -0
  450. /package/{esm2015/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.js → esm2020/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.model.mjs} +0 -0
  451. /package/{esm2015/lib/annotations/comment-set/comment/comment.model.js → esm2020/lib/annotations/comment-set/comment/comment.model.mjs} +0 -0
  452. /package/{esm2015/lib/annotations/models/api-persisted.model.js → esm2020/lib/annotations/models/api-persisted.model.mjs} +0 -0
  453. /package/{esm2015/lib/annotations/models/event-select.model.js → esm2020/lib/annotations/models/event-select.model.mjs} +0 -0
  454. /package/{esm2015/lib/annotations/models/tags.model.js → esm2020/lib/annotations/models/tags.model.mjs} +0 -0
  455. /package/{esm2015/lib/annotations/models/user.model.js → esm2020/lib/annotations/models/user.model.mjs} +0 -0
  456. /package/{esm2015/lib/icp/icp.events.js → esm2020/lib/icp/icp.events.mjs} +0 -0
  457. /package/{esm2015/lib/icp/icp.interfaces.js → esm2020/lib/icp/icp.interfaces.mjs} +0 -0
  458. /package/{esm2015/lib/redaction/services/redaction.model.js → esm2020/lib/redaction/services/redaction.model.mjs} +0 -0
  459. /package/{esm2015/lib/shared/util/helpers/html-templates.helper.js → esm2020/lib/shared/util/helpers/html-templates.helper.mjs} +0 -0
  460. /package/{esm2015/lib/store/actions/annotation.actions.js → esm2020/lib/store/actions/annotation.actions.mjs} +0 -0
  461. /package/{esm2015/lib/store/actions/bookmark.actions.js → esm2020/lib/store/actions/bookmark.actions.mjs} +0 -0
  462. /package/{esm2015/lib/store/actions/document.actions.js → esm2020/lib/store/actions/document.actions.mjs} +0 -0
  463. /package/{esm2015/lib/store/actions/icp.actions.js → esm2020/lib/store/actions/icp.actions.mjs} +0 -0
  464. /package/{esm2015/lib/store/actions/redaction.actions.js → esm2020/lib/store/actions/redaction.actions.mjs} +0 -0
  465. /package/{esm2015/lib/store/actions/tag.actions.js → esm2020/lib/store/actions/tag.actions.mjs} +0 -0
  466. /package/{esm2015/lib/store/effects/index.js → esm2020/lib/store/effects/index.mjs} +0 -0
  467. /package/{esm2015/lib/store/models/bookmarks.interface.js → esm2020/lib/store/models/bookmarks.interface.mjs} +0 -0
  468. /package/{esm2015/lib/store/models/filters.interface.js → esm2020/lib/store/models/filters.interface.mjs} +0 -0
  469. /package/{esm2015/lib/store/reducers/reducers.js → esm2020/lib/store/reducers/reducers.mjs} +0 -0
  470. /package/{esm2015/lib/toolbar/icp-event.service.js → esm2020/lib/toolbar/icp-event.service.mjs} +0 -0
  471. /package/{esm2015/lib/toolbar/redaction-search-bar/redaction-search.model.js → esm2020/lib/toolbar/redaction-search-bar/redaction-search.model.mjs} +0 -0
  472. /package/{esm2015/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.js → esm2020/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.interfaces.mjs} +0 -0
  473. /package/{esm2015/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.js → esm2020/lib/viewers/pdf-viewer/side-bar/outline-item/outline.model.mjs} +0 -0
  474. /package/{esm2015/lib/viewers/rotation-persist/rotation.model.js → esm2020/lib/viewers/rotation-persist/rotation.model.mjs} +0 -0
  475. /package/{esm2015/lib/viewers/viewer-exception.model.js → esm2020/lib/viewers/viewer-exception.model.mjs} +0 -0
@@ -0,0 +1,244 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
2
+ import { defaultImageOptions, defaultMultimediaOptions, defaultPdfOptions, defaultUnsupportedOptions } from './toolbar/toolbar-button-visibility.service';
3
+ import 'hammerjs';
4
+ import { select } from '@ngrx/store';
5
+ import * as fromAnnoSelectors from './store/selectors/annotation.selectors';
6
+ import * as fromDocumentsSelector from './store/selectors/document.selectors';
7
+ import * as fromAnnoActions from './store/actions/annotation.actions';
8
+ import * as fromRedactActions from './store/actions/redaction.actions';
9
+ import * as fromDocumentActions from './store/actions/document.actions';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@ngrx/store";
12
+ import * as i2 from "./toolbar/toolbar-button-visibility.service";
13
+ import * as i3 from "./toolbar/toolbar-event.service";
14
+ import * as i4 from "./annotations/services/annotation-api/annotation-api.service";
15
+ import * as i5 from "./annotations/comment-set/comment/comment.service";
16
+ import * as i6 from "@angular/common";
17
+ import * as i7 from "./toolbar/main-toolbar/main-toolbar.component";
18
+ import * as i8 from "./toolbar/redaction-toolbar/redaction-toolbar.component";
19
+ import * as i9 from "./toolbar/icp-toolbar/icp-toolbar.component";
20
+ import * as i10 from "./annotations/comments-summary/comments-summary.component";
21
+ import * as i11 from "./viewers/pdf-viewer/pdf-viewer.component";
22
+ import * as i12 from "./viewers/image-viewer/image-viewer.component";
23
+ import * as i13 from "./viewers/unsupported-viewer/unsupported-viewer.component";
24
+ import * as i14 from "./viewers/multimedia-player/multimedia-player.component";
25
+ import * as i15 from "./viewers/convertible-content-viewer/convertible-content-viewer.component";
26
+ import * as i16 from "./viewers/rotation-persist/rotation-persist.directive";
27
+ import * as i17 from "./icp/confirm-exit/confirm-action-dialog.component";
28
+ var CoreContentTypes;
29
+ (function (CoreContentTypes) {
30
+ CoreContentTypes["PDF"] = "pdf";
31
+ CoreContentTypes["IMAGE"] = "image";
32
+ })(CoreContentTypes || (CoreContentTypes = {}));
33
+ var MultimediaContentTypes;
34
+ (function (MultimediaContentTypes) {
35
+ MultimediaContentTypes["MP4"] = "mp4";
36
+ MultimediaContentTypes["MP3"] = "mp3";
37
+ })(MultimediaContentTypes || (MultimediaContentTypes = {}));
38
+ var ConvertibleContentTypes;
39
+ (function (ConvertibleContentTypes) {
40
+ ConvertibleContentTypes["EXCEL"] = "excel";
41
+ ConvertibleContentTypes["WORD"] = "word";
42
+ ConvertibleContentTypes["POWERPOINT"] = "powerpoint";
43
+ ConvertibleContentTypes["TXT"] = "txt";
44
+ ConvertibleContentTypes["RTF"] = "rtf";
45
+ })(ConvertibleContentTypes || (ConvertibleContentTypes = {}));
46
+ export class MediaViewerComponent {
47
+ constructor(store, toolbarButtons, toolbarEvents, api, commentService, elRef, cdr) {
48
+ this.store = store;
49
+ this.toolbarButtons = toolbarButtons;
50
+ this.toolbarEvents = toolbarEvents;
51
+ this.api = api;
52
+ this.commentService = commentService;
53
+ this.elRef = elRef;
54
+ this.cdr = cdr;
55
+ this.showToolbar = true;
56
+ this.toolbarButtonOverrides = {};
57
+ this.width = '100%';
58
+ this.mediaLoadStatus = new EventEmitter();
59
+ this.viewerException = new EventEmitter();
60
+ this.toolbarEventsOutput = new EventEmitter();
61
+ this.unsavedChanges = new EventEmitter();
62
+ this.enableAnnotations = false;
63
+ this.enableRedactions = false;
64
+ this.enableICP = false;
65
+ this.multimediaPlayerEnabled = false;
66
+ this.enableRedactSearch = false;
67
+ this.multimediaContent = false;
68
+ this.convertibleContent = false;
69
+ this.unsupportedContent = false;
70
+ this.typeException = false;
71
+ if (this.annotationApiUrl) {
72
+ api.annotationApiUrl = this.annotationApiUrl;
73
+ }
74
+ }
75
+ ngAfterContentInit() {
76
+ this.annotationSet$ = this.store.pipe(select(fromAnnoSelectors.getAnnotationSet));
77
+ this.hasDifferentPageSize$ = this.store.pipe(select(fromDocumentsSelector.getPageDifference));
78
+ this.setToolbarButtons();
79
+ this.toolbarEventsOutput.emit(this.toolbarEvents);
80
+ this.$subscriptions = this.commentService.getUnsavedChanges()
81
+ .subscribe(changes => this.onCommentChange(changes));
82
+ this.$subscriptions.add(this.toolbarEvents.getShowCommentSummary()
83
+ .subscribe(changes => this.showCommentSummary = changes));
84
+ }
85
+ ngAfterViewChecked() {
86
+ if (this.height && this.viewerHeight !== this.height) {
87
+ this.viewerHeight = this.height;
88
+ this.cdr.detectChanges();
89
+ return;
90
+ }
91
+ if (!this.height) {
92
+ const compOffsetTop = this.elRef.nativeElement.getBoundingClientRect().top;
93
+ const viewerOffsetTop = this.viewerRef.nativeElement.offsetTop;
94
+ const offset = compOffsetTop + viewerOffsetTop;
95
+ if (this.prevOffset !== offset) {
96
+ this.viewerHeight = `calc(100vh - ${offset}px)`;
97
+ this.prevOffset = offset;
98
+ this.cdr.detectChanges();
99
+ }
100
+ }
101
+ }
102
+ ngOnChanges(changes) {
103
+ if (changes.annotationApiUrl) {
104
+ this.api.annotationApiUrl = this.annotationApiUrl;
105
+ }
106
+ if (changes.url) {
107
+ this.toolbarEvents.reset();
108
+ this.commentService.resetCommentSet();
109
+ this.documentId = this.extractDMStoreDocId(this.url);
110
+ this.store.dispatch(new fromDocumentActions.SetDocumentId(this.documentId));
111
+ if (this.enableAnnotations && !(this.multimediaContent || this.unsupportedContent)) {
112
+ this.store.dispatch(new fromAnnoActions.LoadAnnotationSet(this.documentId));
113
+ }
114
+ if (this.enableRedactions && !(this.multimediaContent || this.unsupportedContent) && this.documentId) {
115
+ this.store.dispatch(new fromRedactActions.LoadRedactions(this.documentId));
116
+ }
117
+ if (this.contentType === 'image') {
118
+ this.documentTitle = null;
119
+ }
120
+ }
121
+ if (changes.contentType) {
122
+ this.convertibleContent = this.needsConverting();
123
+ this.multimediaContent = this.isMultimedia();
124
+ this.unsupportedContent = !this.isSupported();
125
+ }
126
+ this.setToolbarButtons();
127
+ this.detectOs();
128
+ this.typeException = false;
129
+ }
130
+ ngOnDestroy() {
131
+ this.$subscriptions.unsubscribe();
132
+ }
133
+ needsConverting() {
134
+ return this.contentType !== null && Object.keys(ConvertibleContentTypes).includes(this.contentType.toUpperCase());
135
+ }
136
+ isMultimedia() {
137
+ return this.contentType !== null && Object.keys(MultimediaContentTypes).includes(this.contentType.toUpperCase());
138
+ }
139
+ isSupported() {
140
+ const supportedTypes = Object.assign({}, MultimediaContentTypes, ConvertibleContentTypes, CoreContentTypes);
141
+ return this.contentType !== null && Object.keys(supportedTypes).includes(this.contentType.toUpperCase());
142
+ }
143
+ onMediaLoad(status) {
144
+ this.mediaLoadStatus.emit(status);
145
+ }
146
+ setToolbarButtons() {
147
+ if (this.contentType === CoreContentTypes.PDF || this.needsConverting()) {
148
+ this.toolbarButtons.setup({
149
+ ...defaultPdfOptions, showHighlightButton: this.enableAnnotations, showDrawButton: this.enableAnnotations,
150
+ ...this.toolbarButtonOverrides
151
+ });
152
+ }
153
+ else if (this.contentType === CoreContentTypes.IMAGE) {
154
+ this.toolbarButtons.setup({
155
+ ...defaultImageOptions, showDrawButton: this.enableAnnotations,
156
+ ...this.toolbarButtonOverrides
157
+ });
158
+ }
159
+ else if (this.isMultimedia()) {
160
+ this.toolbarButtons.setup({
161
+ ...defaultMultimediaOptions,
162
+ ...this.toolbarButtonOverrides
163
+ });
164
+ }
165
+ else {
166
+ this.toolbarButtons.setup({
167
+ ...defaultUnsupportedOptions,
168
+ ...this.toolbarButtonOverrides
169
+ });
170
+ }
171
+ }
172
+ onLoadException(exception) {
173
+ this.viewerException.emit(exception);
174
+ if (!this.isSupported()) {
175
+ this.typeException = false;
176
+ }
177
+ else {
178
+ this.typeException = true;
179
+ this.contentType = null;
180
+ this.setToolbarButtons();
181
+ }
182
+ }
183
+ onCommentChange(changes) {
184
+ this.unsavedChanges.emit(changes);
185
+ }
186
+ onDocumentTitleChange(title) {
187
+ this.documentTitle = title;
188
+ }
189
+ // If secure mode is enabled (which adds "documentsv2" to the documentId), get rid of it
190
+ extractDMStoreDocId(url) {
191
+ url = url.includes('/documents/') ? url.split('/documents/')[1] : url;
192
+ url = url.includes('/documentsv2/') ? url.split('/documentsv2/')[1] : url;
193
+ return url.replace('/binary', '');
194
+ }
195
+ detectOs() {
196
+ this.hasScrollBar = window.navigator.userAgent.indexOf('Win') !== -1;
197
+ }
198
+ }
199
+ /** @nocollapse */ MediaViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaViewerComponent, deps: [{ token: i1.Store }, { token: i2.ToolbarButtonVisibilityService }, { token: i3.ToolbarEventService }, { token: i4.AnnotationApiService }, { token: i5.CommentService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
200
+ /** @nocollapse */ MediaViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MediaViewerComponent, selector: "mv-media-viewer", inputs: { url: "url", downloadFileName: "downloadFileName", contentType: "contentType", showToolbar: "showToolbar", toolbarButtonOverrides: "toolbarButtonOverrides", height: "height", width: "width", enableAnnotations: "enableAnnotations", annotationApiUrl: "annotationApiUrl", enableRedactions: "enableRedactions", enableICP: "enableICP", multimediaPlayerEnabled: "multimediaPlayerEnabled", enableRedactSearch: "enableRedactSearch", caseId: "caseId" }, outputs: { mediaLoadStatus: "mediaLoadStatus", viewerException: "viewerException", toolbarEventsOutput: "toolbarEventsOutput", unsavedChanges: "unsavedChanges" }, viewQueries: [{ propertyName: "viewerRef", first: true, predicate: ["viewerRef"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n id=\"outerContainer\"\n [ngClass]=\"{\n 'has-redact-bar': toolbarEvents.redactionMode | async,\n 'icp-mode': toolbarEvents.icp.enabled | async,\n 'is-redaction-preview': toolbarEvents.redactionPreview | async,\n sidebarOpen: toolbarEvents.sidebarOpen | async,\n 'has-scroll-bar': hasScrollBar,\n 'has-different-page-size': hasDifferentPageSize$ | async\n }\"\n [ngStyle]=\"{ width: width }\"\n>\n <mv-comments-summary\n *ngIf=\"showCommentSummary\"\n [title]=\"documentTitle || 'Comment Summary'\"\n [contentType]=\"contentType\"\n >\n </mv-comments-summary>\n\n <mv-confirm-action\n *ngIf=\"toolbarEvents.icp.leavingSession | async\"\n ></mv-confirm-action>\n\n <div id=\"mainContainer\">\n <mv-main-toolbar\n *ngIf=\"showToolbar\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableICP]=\"enableICP\"\n [enableRedactions]=\"enableRedactions\"\n [contentType]=\"contentType\"\n >\n </mv-main-toolbar>\n <mv-redaction-toolbar\n [showRedactSearch]=\"enableRedactSearch\"\n *ngIf=\"toolbarEvents.redactionMode | async\"\n ></mv-redaction-toolbar>\n <mv-icp-toolbar *ngIf=\"toolbarEvents.icp.enabled | async\"></mv-icp-toolbar>\n\n <div #viewerRef>\n <mv-conversion-viewer\n *ngIf=\"convertibleContent\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (viewerException)=\"onLoadException($event)\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [originalUrl]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist\n >\n </mv-conversion-viewer>\n <mv-pdf-viewer\n *ngIf=\"contentType === 'pdf'\"\n #pdfViewer\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (pdfViewerException)=\"onLoadException($event)\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [enableICP]=\"enableICP\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n [caseId]=\"caseId\"\n mvRotationPersist\n >\n </mv-pdf-viewer>\n <mv-image-viewer\n *ngIf=\"contentType === 'image'\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (imageViewerException)=\"onLoadException($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist\n >\n </mv-image-viewer>\n <mv-multimedia-player\n *ngIf=\"multimediaContent\"\n [multimediaOn]=\"multimediaPlayerEnabled\"\n [url]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\"\n >\n </mv-multimedia-player>\n <mv-unsupported-viewer\n *ngIf=\"unsupportedContent\"\n [url]=\"url\"\n [typeException]=\"typeException\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\"\n (unsupportedViewerException)=\"onLoadException($event)\"\n >\n </mv-unsupported-viewer>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i7.MainToolbarComponent, selector: "mv-main-toolbar", inputs: ["enableAnnotations", "enableRedactions", "enableICP", "contentType"] }, { kind: "component", type: i8.RedactionToolbarComponent, selector: "mv-redaction-toolbar", inputs: ["showRedactSearch"] }, { kind: "component", type: i9.IcpToolbarComponent, selector: "mv-icp-toolbar" }, { kind: "component", type: i10.CommentsSummaryComponent, selector: "mv-comments-summary", inputs: ["title", "contentType"] }, { kind: "component", type: i11.PdfViewerComponent, selector: "mv-pdf-viewer", inputs: ["downloadUrl", "url", "downloadFileName", "enableAnnotations", "enableRedactions", "enableICP", "annotationSet", "enableRedactSearch", "height", "caseId", "searchBarHidden"], outputs: ["mediaLoadStatus", "pdfViewerException", "documentTitle"] }, { kind: "component", type: i12.ImageViewerComponent, selector: "mv-image-viewer", inputs: ["url", "downloadFileName", "enableAnnotations", "annotationSet", "height"], outputs: ["mediaLoadStatus", "imageViewerException"] }, { kind: "component", type: i13.UnsupportedViewerComponent, selector: "mv-unsupported-viewer", inputs: ["url", "downloadFileName", "typeException"], outputs: ["loadStatus", "unsupportedViewerException"] }, { kind: "component", type: i14.MultimediaPlayerComponent, selector: "mv-multimedia-player", inputs: ["url", "downloadFileName", "multimediaOn"], outputs: ["loadStatus"] }, { kind: "component", type: i15.ConvertibleContentViewerComponent, selector: "mv-conversion-viewer", inputs: ["originalUrl", "downloadFileName", "height", "enableAnnotations", "enableRedactions", "annotationSet"], outputs: ["mediaLoadStatus", "viewerException", "documentTitle"] }, { kind: "directive", type: i16.RotationPersistDirective, selector: "[mvRotationPersist]" }, { kind: "component", type: i17.ConfirmActionDialogComponent, selector: "mv-confirm-action" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
201
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaViewerComponent, decorators: [{
202
+ type: Component,
203
+ args: [{ selector: 'mv-media-viewer', encapsulation: ViewEncapsulation.None, template: "<div\n id=\"outerContainer\"\n [ngClass]=\"{\n 'has-redact-bar': toolbarEvents.redactionMode | async,\n 'icp-mode': toolbarEvents.icp.enabled | async,\n 'is-redaction-preview': toolbarEvents.redactionPreview | async,\n sidebarOpen: toolbarEvents.sidebarOpen | async,\n 'has-scroll-bar': hasScrollBar,\n 'has-different-page-size': hasDifferentPageSize$ | async\n }\"\n [ngStyle]=\"{ width: width }\"\n>\n <mv-comments-summary\n *ngIf=\"showCommentSummary\"\n [title]=\"documentTitle || 'Comment Summary'\"\n [contentType]=\"contentType\"\n >\n </mv-comments-summary>\n\n <mv-confirm-action\n *ngIf=\"toolbarEvents.icp.leavingSession | async\"\n ></mv-confirm-action>\n\n <div id=\"mainContainer\">\n <mv-main-toolbar\n *ngIf=\"showToolbar\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableICP]=\"enableICP\"\n [enableRedactions]=\"enableRedactions\"\n [contentType]=\"contentType\"\n >\n </mv-main-toolbar>\n <mv-redaction-toolbar\n [showRedactSearch]=\"enableRedactSearch\"\n *ngIf=\"toolbarEvents.redactionMode | async\"\n ></mv-redaction-toolbar>\n <mv-icp-toolbar *ngIf=\"toolbarEvents.icp.enabled | async\"></mv-icp-toolbar>\n\n <div #viewerRef>\n <mv-conversion-viewer\n *ngIf=\"convertibleContent\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (viewerException)=\"onLoadException($event)\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [originalUrl]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist\n >\n </mv-conversion-viewer>\n <mv-pdf-viewer\n *ngIf=\"contentType === 'pdf'\"\n #pdfViewer\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (pdfViewerException)=\"onLoadException($event)\"\n (documentTitle)=\"onDocumentTitleChange($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [enableRedactions]=\"enableRedactions\"\n [enableICP]=\"enableICP\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n [caseId]=\"caseId\"\n mvRotationPersist\n >\n </mv-pdf-viewer>\n <mv-image-viewer\n *ngIf=\"contentType === 'image'\"\n (mediaLoadStatus)=\"onMediaLoad($event)\"\n (imageViewerException)=\"onLoadException($event)\"\n [url]=\"url\"\n [enableAnnotations]=\"enableAnnotations\"\n [annotationSet]=\"enableAnnotations ? (annotationSet$ | async) : null\"\n [downloadFileName]=\"downloadFileName\"\n [height]=\"viewerHeight\"\n mvRotationPersist\n >\n </mv-image-viewer>\n <mv-multimedia-player\n *ngIf=\"multimediaContent\"\n [multimediaOn]=\"multimediaPlayerEnabled\"\n [url]=\"url\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\"\n >\n </mv-multimedia-player>\n <mv-unsupported-viewer\n *ngIf=\"unsupportedContent\"\n [url]=\"url\"\n [typeException]=\"typeException\"\n [downloadFileName]=\"downloadFileName\"\n (loadStatus)=\"onMediaLoad($event)\"\n (unsupportedViewerException)=\"onLoadException($event)\"\n >\n </mv-unsupported-viewer>\n </div>\n </div>\n</div>\n" }]
204
+ }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.ToolbarButtonVisibilityService }, { type: i3.ToolbarEventService }, { type: i4.AnnotationApiService }, { type: i5.CommentService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { viewerRef: [{
205
+ type: ViewChild,
206
+ args: ['viewerRef', { static: false }]
207
+ }], url: [{
208
+ type: Input
209
+ }], downloadFileName: [{
210
+ type: Input
211
+ }], contentType: [{
212
+ type: Input
213
+ }], showToolbar: [{
214
+ type: Input
215
+ }], toolbarButtonOverrides: [{
216
+ type: Input
217
+ }], height: [{
218
+ type: Input
219
+ }], width: [{
220
+ type: Input
221
+ }], mediaLoadStatus: [{
222
+ type: Output
223
+ }], viewerException: [{
224
+ type: Output
225
+ }], toolbarEventsOutput: [{
226
+ type: Output
227
+ }], unsavedChanges: [{
228
+ type: Output
229
+ }], enableAnnotations: [{
230
+ type: Input
231
+ }], annotationApiUrl: [{
232
+ type: Input
233
+ }], enableRedactions: [{
234
+ type: Input
235
+ }], enableICP: [{
236
+ type: Input
237
+ }], multimediaPlayerEnabled: [{
238
+ type: Input
239
+ }], enableRedactSearch: [{
240
+ type: Input
241
+ }], caseId: [{
242
+ type: Input
243
+ }] } });
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL21lZGlhLXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9tZWRpYS12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxtQkFBbUIsRUFBRSx3QkFBd0IsRUFDN0MsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUUxQixNQUFNLDZDQUE2QyxDQUFDO0FBTXJELE9BQU8sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxNQUFNLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sS0FBSyxxQkFBcUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEtBQUssZUFBZSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEtBQUssbUJBQW1CLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFeEUsSUFBSyxnQkFHSjtBQUhELFdBQUssZ0JBQWdCO0lBQ25CLCtCQUFXLENBQUE7SUFDWCxtQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFISSxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBR3BCO0FBRUQsSUFBSyxzQkFHSjtBQUhELFdBQUssc0JBQXNCO0lBQ3pCLHFDQUFXLENBQUE7SUFDWCxxQ0FBVyxDQUFBO0FBQ2IsQ0FBQyxFQUhJLHNCQUFzQixLQUF0Qixz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a0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRlZmF1bHRJbWFnZU9wdGlvbnMsIGRlZmF1bHRNdWx0aW1lZGlhT3B0aW9ucyxcbiAgZGVmYXVsdFBkZk9wdGlvbnMsXG4gIGRlZmF1bHRVbnN1cHBvcnRlZE9wdGlvbnMsXG4gIFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZVxufSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEFubm90YXRpb25TZXQgfSBmcm9tICcuL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFubm90YXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9zZXJ2aWNlcy9hbm5vdGF0aW9uLWFwaS9hbm5vdGF0aW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSwgVmlld2VyRXhjZXB0aW9uIH0gZnJvbSAnLi92aWV3ZXJzL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWVudFNlcnZpY2UgfSBmcm9tICcuL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQvY29tbWVudC5zZXJ2aWNlJztcbmltcG9ydCAnaGFtbWVyanMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Bbm5vU2VsZWN0b3JzIGZyb20gJy4vc3RvcmUvc2VsZWN0b3JzL2Fubm90YXRpb24uc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudHNTZWxlY3RvciBmcm9tICcuL3N0b3JlL3NlbGVjdG9ycy9kb2N1bWVudC5zZWxlY3RvcnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm9BY3Rpb25zIGZyb20gJy4vc3RvcmUvYWN0aW9ucy9hbm5vdGF0aW9uLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVJlZGFjdEFjdGlvbnMgZnJvbSAnLi9zdG9yZS9hY3Rpb25zL3JlZGFjdGlvbi5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudEFjdGlvbnMgZnJvbSAnLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuXG5lbnVtIENvcmVDb250ZW50VHlwZXMge1xuICBQREYgPSAncGRmJyxcbiAgSU1BR0UgPSAnaW1hZ2UnXG59XG5cbmVudW0gTXVsdGltZWRpYUNvbnRlbnRUeXBlcyB7XG4gIE1QNCA9ICdtcDQnLFxuICBNUDMgPSAnbXAzJyxcbn1cblxuZW51bSBDb252ZXJ0aWJsZUNvbnRlbnRUeXBlcyB7XG4gIEVYQ0VMID0gJ2V4Y2VsJyxcbiAgV09SRCA9ICd3b3JkJyxcbiAgUE9XRVJQT0lOVCA9ICdwb3dlcnBvaW50JyxcbiAgVFhUID0gJ3R4dCcsXG4gIFJURiA9ICdydGYnXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LW1lZGlhLXZpZXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWRpYS12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdlclJlZicsIHtzdGF0aWM6IGZhbHNlfSkgdmlld2VyUmVmOiBFbGVtZW50UmVmO1xuXG4gIEBJbnB1dCgpIHVybDtcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBjb250ZW50VHlwZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHNob3dUb29sYmFyID0gdHJ1ZTtcbiAgQElucHV0KCkgdG9vbGJhckJ1dHRvbk92ZXJyaWRlczogYW55ID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhlaWdodDogc3RyaW5nO1xuICBwdWJsaWMgdmlld2VySGVpZ2h0OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgd2lkdGggPSAnMTAwJSc7XG5cbiAgQE91dHB1dCgpIG1lZGlhTG9hZFN0YXR1cyA9IG5ldyBFdmVudEVtaXR0ZXI8UmVzcG9uc2VUeXBlPigpO1xuICBAT3V0cHV0KCkgdmlld2VyRXhjZXB0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxWaWV3ZXJFeGNlcHRpb24+KCk7XG4gIEBPdXRwdXQoKSB0b29sYmFyRXZlbnRzT3V0cHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxUb29sYmFyRXZlbnRTZXJ2aWNlPigpO1xuICBAT3V0cHV0KCkgdW5zYXZlZENoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQElucHV0KCkgZW5hYmxlQW5ub3RhdGlvbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgYW5ub3RhdGlvbkFwaVVybDtcblxuICBASW5wdXQoKSBlbmFibGVSZWRhY3Rpb25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVuYWJsZUlDUCA9IGZhbHNlO1xuICBASW5wdXQoKSBtdWx0aW1lZGlhUGxheWVyRW5hYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBlbmFibGVSZWRhY3RTZWFyY2ggPSBmYWxzZTtcblxuXG4gIEBJbnB1dCgpIGNhc2VJZDogc3RyaW5nO1xuXG4gIG11bHRpbWVkaWFDb250ZW50ID0gZmFsc2U7XG4gIGNvbnZlcnRpYmxlQ29udGVudCA9IGZhbHNlO1xuICB1bnN1cHBvcnRlZENvbnRlbnQgPSBmYWxzZTtcblxuICBkb2N1bWVudFRpdGxlOiBzdHJpbmc7XG4gIHNob3dDb21tZW50U3VtbWFyeTogYm9vbGVhbjtcbiAgYW5ub3RhdGlvblNldCQ6IE9ic2VydmFibGU8QW5ub3RhdGlvblNldCB8IHt9PjtcbiAgaGFzU2Nyb2xsQmFyOiBib29sZWFuO1xuICB0eXBlRXhjZXB0aW9uID0gZmFsc2U7XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgJHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwcmV2T2Zmc2V0OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcGk6IEFubm90YXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudFNlcnZpY2U6IENvbW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIGlmICh0aGlzLmFubm90YXRpb25BcGlVcmwpIHtcbiAgICAgIGFwaS5hbm5vdGF0aW9uQXBpVXJsID0gdGhpcy5hbm5vdGF0aW9uQXBpVXJsO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmFubm90YXRpb25TZXQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tQW5ub1NlbGVjdG9ycy5nZXRBbm5vdGF0aW9uU2V0KSk7XG4gICAgdGhpcy5oYXNEaWZmZXJlbnRQYWdlU2l6ZSQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudHNTZWxlY3Rvci5nZXRQYWdlRGlmZmVyZW5jZSkpO1xuICAgIHRoaXMuc2V0VG9vbGJhckJ1dHRvbnMoKTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHNPdXRwdXQuZW1pdCh0aGlzLnRvb2xiYXJFdmVudHMpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMgPSB0aGlzLmNvbW1lbnRTZXJ2aWNlLmdldFVuc2F2ZWRDaGFuZ2VzKClcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB0aGlzLm9uQ29tbWVudENoYW5nZShjaGFuZ2VzKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy5hZGQodGhpcy50b29sYmFyRXZlbnRzLmdldFNob3dDb21tZW50U3VtbWFyeSgpXG4gICAgICAuc3Vic2NyaWJlKGNoYW5nZXMgPT4gdGhpcy5zaG93Q29tbWVudFN1bW1hcnkgPSBjaGFuZ2VzKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGVpZ2h0ICYmIHRoaXMudmlld2VySGVpZ2h0ICE9PSB0aGlzLmhlaWdodCkge1xuICAgICAgdGhpcy52aWV3ZXJIZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaGVpZ2h0KSB7XG4gICAgICBjb25zdCBjb21wT2Zmc2V0VG9wID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIGNvbnN0IHZpZXdlck9mZnNldFRvcCA9IHRoaXMudmlld2VyUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gY29tcE9mZnNldFRvcCArIHZpZXdlck9mZnNldFRvcDtcblxuICAgICAgaWYgKHRoaXMucHJldk9mZnNldCAhPT0gb2Zmc2V0KSB7XG4gICAgICAgIHRoaXMudmlld2VySGVpZ2h0ID0gYGNhbGMoMTAwdmggLSAke29mZnNldH1weClgO1xuICAgICAgICB0aGlzLnByZXZPZmZzZXQgPSBvZmZzZXQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuYW5ub3RhdGlvbkFwaVVybCkge1xuICAgICAgdGhpcy5hcGkuYW5ub3RhdGlvbkFwaVVybCA9IHRoaXMuYW5ub3RhdGlvbkFwaVVybDtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy51cmwpIHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZXNldCgpO1xuICAgICAgdGhpcy5jb21tZW50U2VydmljZS5yZXNldENvbW1lbnRTZXQoKTtcbiAgICAgIHRoaXMuZG9jdW1lbnRJZCA9IHRoaXMuZXh0cmFjdERNU3RvcmVEb2NJZCh0aGlzLnVybCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tRG9jdW1lbnRBY3Rpb25zLlNldERvY3VtZW50SWQodGhpcy5kb2N1bWVudElkKSk7XG4gICAgICBpZiAodGhpcy5lbmFibGVBbm5vdGF0aW9ucyAmJiAhKHRoaXMubXVsdGltZWRpYUNvbnRlbnQgfHwgdGhpcy51bnN1cHBvcnRlZENvbnRlbnQpKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Bbm5vQWN0aW9ucy5Mb2FkQW5ub3RhdGlvblNldCh0aGlzLmRvY3VtZW50SWQpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmVuYWJsZVJlZGFjdGlvbnMgJiYgISh0aGlzLm11bHRpbWVkaWFDb250ZW50IHx8IHRoaXMudW5zdXBwb3J0ZWRDb250ZW50KSAmJiB0aGlzLmRvY3VtZW50SWQpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbVJlZGFjdEFjdGlvbnMuTG9hZFJlZGFjdGlvbnModGhpcy5kb2N1bWVudElkKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jb250ZW50VHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICB0aGlzLmRvY3VtZW50VGl0bGUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLmNvbnZlcnRpYmxlQ29udGVudCA9IHRoaXMubmVlZHNDb252ZXJ0aW5nKCk7XG4gICAgICB0aGlzLm11bHRpbWVkaWFDb250ZW50ID0gdGhpcy5pc011bHRpbWVkaWEoKTtcbiAgICAgIHRoaXMudW5zdXBwb3J0ZWRDb250ZW50ID0gIXRoaXMuaXNTdXBwb3J0ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgdGhpcy5kZXRlY3RPcygpO1xuICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmVlZHNDb252ZXJ0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKENvbnZlcnRpYmxlQ29udGVudFR5cGVzKS5pbmNsdWRlcyh0aGlzLmNvbnRlbnRUeXBlLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgaXNNdWx0aW1lZGlhKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKE11bHRpbWVkaWFDb250ZW50VHlwZXMpLmluY2x1ZGVzKHRoaXMuY29udGVudFR5cGUudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICBpc1N1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5hc3NpZ24oe30sIE11bHRpbWVkaWFDb250ZW50VHlwZXMsIENvbnZlcnRpYmxlQ29udGVudFR5cGVzLCBDb3JlQ29udGVudFR5cGVzKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50VHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyhzdXBwb3J0ZWRUeXBlcykuaW5jbHVkZXModGhpcy5jb250ZW50VHlwZS50b1VwcGVyQ2FzZSgpKTtcbiAgfVxuXG4gIG9uTWVkaWFMb2FkKHN0YXR1czogUmVzcG9uc2VUeXBlKSB7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChzdGF0dXMpO1xuICB9XG5cbiAgc2V0VG9vbGJhckJ1dHRvbnMoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudFR5cGUgPT09IENvcmVDb250ZW50VHlwZXMuUERGIHx8IHRoaXMubmVlZHNDb252ZXJ0aW5nKCkpIHtcbiAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMuc2V0dXAoe1xuICAgICAgICAuLi5kZWZhdWx0UGRmT3B0aW9ucywgc2hvd0hpZ2hsaWdodEJ1dHRvbjogdGhpcy5lbmFibGVBbm5vdGF0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRlbnRUeXBlID09PSBDb3JlQ29udGVudFR5cGVzLklNQUdFKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdEltYWdlT3B0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTXVsdGltZWRpYSgpKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdE11bHRpbWVkaWFPcHRpb25zLFxuICAgICAgICAuLi50aGlzLnRvb2xiYXJCdXR0b25PdmVycmlkZXNcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdFVuc3VwcG9ydGVkT3B0aW9ucyxcbiAgICAgICAgLi4udGhpcy50b29sYmFyQnV0dG9uT3ZlcnJpZGVzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkxvYWRFeGNlcHRpb24oZXhjZXB0aW9uOiBWaWV3ZXJFeGNlcHRpb24pIHtcbiAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbi5lbWl0KGV4Y2VwdGlvbik7XG4gICAgaWYgKCF0aGlzLmlzU3VwcG9ydGVkKCkpIHtcbiAgICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnR5cGVFeGNlcHRpb24gPSB0cnVlO1xuICAgICAgdGhpcy5jb250ZW50VHlwZSA9IG51bGw7XG4gICAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgfVxuICB9XG5cbiAgb25Db21tZW50Q2hhbmdlKGNoYW5nZXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnVuc2F2ZWRDaGFuZ2VzLmVtaXQoY2hhbmdlcyk7XG4gIH1cblxuICBvbkRvY3VtZW50VGl0bGVDaGFuZ2UodGl0bGU6IHN0cmluZykge1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZSA9IHRpdGxlO1xuICB9XG5cbiAgLy8gSWYgc2VjdXJlIG1vZGUgaXMgZW5hYmxlZCAod2hpY2ggYWRkcyBcImRvY3VtZW50c3YyXCIgdG8gdGhlIGRvY3VtZW50SWQpLCBnZXQgcmlkIG9mIGl0XG4gIHByaXZhdGUgZXh0cmFjdERNU3RvcmVEb2NJZCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdXJsID0gdXJsLmluY2x1ZGVzKCcvZG9jdW1lbnRzLycpID8gdXJsLnNwbGl0KCcvZG9jdW1lbnRzLycpWzFdIDogdXJsO1xuICAgIHVybCA9IHVybC5pbmNsdWRlcygnL2RvY3VtZW50c3YyLycpID8gdXJsLnNwbGl0KCcvZG9jdW1lbnRzdjIvJylbMV0gOiB1cmw7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKCcvYmluYXJ5JywgJycpO1xuICB9XG5cbiAgZGV0ZWN0T3MoKSB7XG4gICAgdGhpcy5oYXNTY3JvbGxCYXIgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdXaW4nKSAhPT0gLTE7XG4gIH1cbn1cbiIsIjxkaXZcbiAgaWQ9XCJvdXRlckNvbnRhaW5lclwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnaGFzLXJlZGFjdC1iYXInOiB0b29sYmFyRXZlbnRzLnJlZGFjdGlvbk1vZGUgfCBhc3luYyxcbiAgICAnaWNwLW1vZGUnOiB0b29sYmFyRXZlbnRzLmljcC5lbmFibGVkIHwgYXN5bmMsXG4gICAgJ2lzLXJlZGFjdGlvbi1wcmV2aWV3JzogdG9vbGJhckV2ZW50cy5yZWRhY3Rpb25QcmV2aWV3IHwgYXN5bmMsXG4gICAgc2lkZWJhck9wZW46IHRvb2xiYXJFdmVudHMuc2lkZWJhck9wZW4gfCBhc3luYyxcbiAgICAnaGFzLXNjcm9sbC1iYXInOiBoYXNTY3JvbGxCYXIsXG4gICAgJ2hhcy1kaWZmZXJlbnQtcGFnZS1zaXplJzogaGFzRGlmZmVyZW50UGFnZVNpemUkIHwgYXN5bmNcbiAgfVwiXG4gIFtuZ1N0eWxlXT1cInsgd2lkdGg6IHdpZHRoIH1cIlxuPlxuICA8bXYtY29tbWVudHMtc3VtbWFyeVxuICAgICpuZ0lmPVwic2hvd0NvbW1lbnRTdW1tYXJ5XCJcbiAgICBbdGl0bGVdPVwiZG9jdW1lbnRUaXRsZSB8fCAnQ29tbWVudCBTdW1tYXJ5J1wiXG4gICAgW2NvbnRlbnRUeXBlXT1cImNvbnRlbnRUeXBlXCJcbiAgPlxuICA8L212LWNvbW1lbnRzLXN1bW1hcnk+XG5cbiAgPG12LWNvbmZpcm0tYWN0aW9uXG4gICAgKm5nSWY9XCJ0b29sYmFyRXZlbnRzLmljcC5sZWF2aW5nU2Vzc2lvbiB8IGFzeW5jXCJcbiAgPjwvbXYtY29uZmlybS1hY3Rpb24+XG5cbiAgPGRpdiBpZD1cIm1haW5Db250YWluZXJcIj5cbiAgICA8bXYtbWFpbi10b29sYmFyXG4gICAgICAqbmdJZj1cInNob3dUb29sYmFyXCJcbiAgICAgIFtlbmFibGVBbm5vdGF0aW9uc109XCJlbmFibGVBbm5vdGF0aW9uc1wiXG4gICAgICBbZW5hYmxlSUNQXT1cImVuYWJsZUlDUFwiXG4gICAgICBbZW5hYmxlUmVkYWN0aW9uc109XCJlbmFibGVSZWRhY3Rpb25zXCJcbiAgICAgIFtjb250ZW50VHlwZV09XCJjb250ZW50VHlwZVwiXG4gICAgPlxuICAgIDwvbXYtbWFpbi10b29sYmFyPlxuICAgIDxtdi1yZWRhY3Rpb24tdG9vbGJhclxuICAgICAgW3Nob3dSZWRhY3RTZWFyY2hdPVwiZW5hYmxlUmVkYWN0U2VhcmNoXCJcbiAgICAgICpuZ0lmPVwidG9vbGJhckV2ZW50cy5yZWRhY3Rpb25Nb2RlIHwgYXN5bmNcIlxuICAgID48L212LXJlZGFjdGlvbi10b29sYmFyPlxuICAgIDxtdi1pY3AtdG9vbGJhciAqbmdJZj1cInRvb2xiYXJFdmVudHMuaWNwLmVuYWJsZWQgfCBhc3luY1wiPjwvbXYtaWNwLXRvb2xiYXI+XG5cbiAgICA8ZGl2ICN2aWV3ZXJSZWY+XG4gICAgICA8bXYtY29udmVyc2lvbi12aWV3ZXJcbiAgICAgICAgKm5nSWY9XCJjb252ZXJ0aWJsZUNvbnRlbnRcIlxuICAgICAgICAoZG9jdW1lbnRUaXRsZSk9XCJvbkRvY3VtZW50VGl0bGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChtZWRpYUxvYWRTdGF0dXMpPVwib25NZWRpYUxvYWQoJGV2ZW50KVwiXG4gICAgICAgICh2aWV3ZXJFeGNlcHRpb24pPVwib25Mb2FkRXhjZXB0aW9uKCRldmVudClcIlxuICAgICAgICBbZW5hYmxlQW5ub3RhdGlvbnNdPVwiZW5hYmxlQW5ub3RhdGlvbnNcIlxuICAgICAgICBbZW5hYmxlUmVkYWN0aW9uc109XCJlbmFibGVSZWRhY3Rpb25zXCJcbiAgICAgICAgW2Fubm90YXRpb25TZXRdPVwiZW5hYmxlQW5ub3RhdGlvbnMgPyAoYW5ub3RhdGlvblNldCQgfCBhc3luYykgOiBudWxsXCJcbiAgICAgICAgW29yaWdpbmFsVXJsXT1cInVybFwiXG4gICAgICAgIFtkb3dubG9hZEZpbGVOYW1lXT1cImRvd25sb2FkRmlsZU5hbWVcIlxuICAgICAgICBbaGVpZ2h0XT1cInZpZXdlckhlaWdodFwiXG4gICAgICAgIG12Um90YXRpb25QZXJzaXN0XG4gICAgICA+XG4gICAgICA8L212LWNvbnZlcnNpb24tdmlld2VyPlxuICAgICAgPG12LXBkZi12aWV3ZXJcbiAgICAgICAgKm5nSWY9XCJjb250ZW50VHlwZSA9PT0gJ3BkZidcIlxuICAgICAgICAjcGRmVmlld2VyXG4gICAgICAgIChtZWRpYUxvYWRTdGF0dXMpPVwib25NZWRpYUxvYWQoJGV2ZW50KVwiXG4gICAgICAgIChwZGZWaWV3ZXJFeGNlcHRpb24pPVwib25Mb2FkRXhjZXB0aW9uKCRldmVudClcIlxuICAgICAgICAoZG9jdW1lbnRUaXRsZSk9XCJvbkRvY3VtZW50VGl0bGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFt1cmxdPVwidXJsXCJcbiAgICAgICAgW2VuYWJsZUFubm90YXRpb25zXT1cImVuYWJsZUFubm90YXRpb25zXCJcbiAgICAgICAgW2VuYWJsZVJlZGFjdGlvbnNdPVwiZW5hYmxlUmVkYWN0aW9uc1wiXG4gICAgICAgIFtlbmFibGVJQ1BdPVwiZW5hYmxlSUNQXCJcbiAgICAgICAgW2Fubm90YXRpb25TZXRdPVwiZW5hYmxlQW5ub3RhdGlvbnMgPyAoYW5ub3RhdGlvblNldCQgfCBhc3luYykgOiBudWxsXCJcbiAgICAgICAgW2Rvd25sb2FkRmlsZU5hbWVdPVwiZG93bmxvYWRGaWxlTmFtZVwiXG4gICAgICAgIFtoZWlnaHRdPVwidmlld2VySGVpZ2h0XCJcbiAgICAgICAgW2Nhc2VJZF09XCJjYXNlSWRcIlxuICAgICAgICBtdlJvdGF0aW9uUGVyc2lzdFxuICAgICAgPlxuICAgICAgPC9tdi1wZGYtdmlld2VyPlxuICAgICAgPG12LWltYWdlLXZpZXdlclxuICAgICAgICAqbmdJZj1cImNvbnRlbnRUeXBlID09PSAnaW1hZ2UnXCJcbiAgICAgICAgKG1lZGlhTG9hZFN0YXR1cyk9XCJvbk1lZGlhTG9hZCgkZXZlbnQpXCJcbiAgICAgICAgKGltYWdlVmlld2VyRXhjZXB0aW9uKT1cIm9uTG9hZEV4Y2VwdGlvbigkZXZlbnQpXCJcbiAgICAgICAgW3VybF09XCJ1cmxcIlxuICAgICAgICBbZW5hYmxlQW5ub3RhdGlvbnNdPVwiZW5hYmxlQW5ub3RhdGlvbnNcIlxuICAgICAgICBbYW5ub3RhdGlvblNldF09XCJlbmFibGVBbm5vdGF0aW9ucyA/IChhbm5vdGF0aW9uU2V0JCB8IGFzeW5jKSA6IG51bGxcIlxuICAgICAgICBbZG93bmxvYWRGaWxlTmFtZV09XCJkb3dubG9hZEZpbGVOYW1lXCJcbiAgICAgICAgW2hlaWdodF09XCJ2aWV3ZXJIZWlnaHRcIlxuICAgICAgICBtdlJvdGF0aW9uUGVyc2lzdFxuICAgICAgPlxuICAgICAgPC9tdi1pbWFnZS12aWV3ZXI+XG4gICAgICA8bXYtbXVsdGltZWRpYS1wbGF5ZXJcbiAgICAgICAgKm5nSWY9XCJtdWx0aW1lZGlhQ29udGVudFwiXG4gICAgICAgIFttdWx0aW1lZGlhT25dPVwibXVsdGltZWRpYVBsYXllckVuYWJsZWRcIlxuICAgICAgICBbdXJsXT1cInVybFwiXG4gICAgICAgIFtkb3dubG9hZEZpbGVOYW1lXT1cImRvd25sb2FkRmlsZU5hbWVcIlxuICAgICAgICAobG9hZFN0YXR1cyk9XCJvbk1lZGlhTG9hZCgkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvbXYtbXVsdGltZWRpYS1wbGF5ZXI+XG4gICAgICA8bXYtdW5zdXBwb3J0ZWQtdmlld2VyXG4gICAgICAgICpuZ0lmPVwidW5zdXBwb3J0ZWRDb250ZW50XCJcbiAgICAgICAgW3VybF09XCJ1cmxcIlxuICAgICAgICBbdHlwZUV4Y2VwdGlvbl09XCJ0eXBlRXhjZXB0aW9uXCJcbiAgICAgICAgW2Rvd25sb2FkRmlsZU5hbWVdPVwiZG93bmxvYWRGaWxlTmFtZVwiXG4gICAgICAgIChsb2FkU3RhdHVzKT1cIm9uTWVkaWFMb2FkKCRldmVudClcIlxuICAgICAgICAodW5zdXBwb3J0ZWRWaWV3ZXJFeGNlcHRpb24pPVwib25Mb2FkRXhjZXB0aW9uKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9tdi11bnN1cHBvcnRlZC12aWV3ZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,151 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { HttpClientModule } from '@angular/common/http';
5
+ import { PdfViewerComponent } from './viewers/pdf-viewer/pdf-viewer.component';
6
+ import { ImageViewerComponent } from './viewers/image-viewer/image-viewer.component';
7
+ import { UnsupportedViewerComponent } from './viewers/unsupported-viewer/unsupported-viewer.component';
8
+ import { MediaViewerComponent } from './media-viewer.component';
9
+ import { ToolbarModule } from './toolbar/toolbar.module';
10
+ import { PdfJsWrapperFactory } from './viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider';
11
+ import { AnnotationsModule } from './annotations/annotations.module';
12
+ import { CommentService } from './annotations/comment-set/comment/comment.service';
13
+ import { GrabNDragDirective } from './viewers/grab-n-drag.directive';
14
+ import { SideBarComponent } from './viewers/pdf-viewer/side-bar/side-bar.component';
15
+ import { OutlineItemComponent } from './viewers/pdf-viewer/side-bar/outline-item/outline-item.component';
16
+ import { TagInputModule } from 'ngx-chips';
17
+ import { RouterModule } from '@angular/router';
18
+ import { EffectsModule } from '@ngrx/effects';
19
+ import { StoreModule } from '@ngrx/store';
20
+ import { RedactionComponent } from './redaction/components/redaction.component';
21
+ import { IcpSessionApiService } from './icp/icp-session-api.service';
22
+ import { IcpUpdateService } from './icp/icp-update.service';
23
+ import { IcpService } from './icp/icp.service';
24
+ import { SocketService } from './icp/socket.service';
25
+ import { reducers } from './store/reducers/reducers';
26
+ import { effects } from './store/effects/index';
27
+ import { BookmarksComponent } from './viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component';
28
+ import { RedactionApiService } from './redaction/services/redaction-api.service';
29
+ import { MutableDivModule } from 'mutable-div';
30
+ import { ConvertibleContentViewerComponent } from './viewers/convertible-content-viewer/convertible-content-viewer.component';
31
+ import { DocumentConversionApiService } from './viewers/convertible-content-viewer/document-conversion-api.service';
32
+ import { IcpPresenterService } from './icp/icp-presenter.service';
33
+ import { IcpFollowerService } from './icp/icp-follower.service';
34
+ import { ConfirmActionDialogComponent } from './icp/confirm-exit/confirm-action-dialog.component';
35
+ import { TreeModule } from '@circlon/angular-tree-component';
36
+ import { BookmarkIconsComponent } from './bookmark/components/bookmark-icons.component';
37
+ import { RotationApiService } from './viewers/rotation-persist/rotation-api.service';
38
+ import { RotationPersistDirective } from './viewers/rotation-persist/rotation-persist.directive';
39
+ import { ParticipantsListComponent } from './icp/participants-list/participants-list.component';
40
+ import { HighlightCreateDirective } from './annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive';
41
+ import { MultimediaPlayerComponent } from './viewers/multimedia-player/multimedia-player.component';
42
+ import * as i0 from "@angular/core";
43
+ import * as i1 from "@ngrx/store";
44
+ import * as i2 from "@ngrx/effects";
45
+ export class MediaViewerModule {
46
+ }
47
+ /** @nocollapse */ MediaViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
48
+ /** @nocollapse */ MediaViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: MediaViewerModule, declarations: [PdfViewerComponent,
49
+ SideBarComponent,
50
+ BookmarksComponent,
51
+ OutlineItemComponent,
52
+ ImageViewerComponent,
53
+ UnsupportedViewerComponent,
54
+ MultimediaPlayerComponent,
55
+ MediaViewerComponent,
56
+ ConvertibleContentViewerComponent,
57
+ GrabNDragDirective,
58
+ RotationPersistDirective,
59
+ HighlightCreateDirective,
60
+ ConfirmActionDialogComponent,
61
+ RedactionComponent,
62
+ BookmarkIconsComponent,
63
+ ParticipantsListComponent], imports: [CommonModule,
64
+ HttpClientModule,
65
+ ToolbarModule,
66
+ AnnotationsModule,
67
+ TagInputModule,
68
+ FormsModule,
69
+ ReactiveFormsModule,
70
+ RouterModule, i1.StoreFeatureModule, i2.EffectsFeatureModule, TreeModule,
71
+ MutableDivModule], exports: [MediaViewerComponent] });
72
+ /** @nocollapse */ MediaViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaViewerModule, providers: [
73
+ PdfJsWrapperFactory,
74
+ CommentService,
75
+ RedactionApiService,
76
+ IcpSessionApiService,
77
+ IcpUpdateService,
78
+ SocketService,
79
+ IcpService,
80
+ IcpPresenterService,
81
+ IcpFollowerService,
82
+ RedactionApiService,
83
+ DocumentConversionApiService,
84
+ RotationApiService,
85
+ ], imports: [CommonModule,
86
+ HttpClientModule,
87
+ ToolbarModule,
88
+ AnnotationsModule,
89
+ TagInputModule,
90
+ FormsModule,
91
+ ReactiveFormsModule,
92
+ RouterModule,
93
+ StoreModule.forFeature('media-viewer', reducers),
94
+ EffectsModule.forFeature(effects),
95
+ TreeModule,
96
+ MutableDivModule] });
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MediaViewerModule, decorators: [{
98
+ type: NgModule,
99
+ args: [{
100
+ imports: [
101
+ CommonModule,
102
+ HttpClientModule,
103
+ ToolbarModule,
104
+ AnnotationsModule,
105
+ TagInputModule,
106
+ FormsModule,
107
+ ReactiveFormsModule,
108
+ RouterModule,
109
+ StoreModule.forFeature('media-viewer', reducers),
110
+ EffectsModule.forFeature(effects),
111
+ TreeModule,
112
+ MutableDivModule
113
+ ],
114
+ declarations: [
115
+ PdfViewerComponent,
116
+ SideBarComponent,
117
+ BookmarksComponent,
118
+ OutlineItemComponent,
119
+ ImageViewerComponent,
120
+ UnsupportedViewerComponent,
121
+ MultimediaPlayerComponent,
122
+ MediaViewerComponent,
123
+ ConvertibleContentViewerComponent,
124
+ GrabNDragDirective,
125
+ RotationPersistDirective,
126
+ HighlightCreateDirective,
127
+ ConfirmActionDialogComponent,
128
+ RedactionComponent,
129
+ BookmarkIconsComponent,
130
+ ParticipantsListComponent
131
+ ],
132
+ providers: [
133
+ PdfJsWrapperFactory,
134
+ CommentService,
135
+ RedactionApiService,
136
+ IcpSessionApiService,
137
+ IcpUpdateService,
138
+ SocketService,
139
+ IcpService,
140
+ IcpPresenterService,
141
+ IcpFollowerService,
142
+ RedactionApiService,
143
+ DocumentConversionApiService,
144
+ RotationApiService,
145
+ ],
146
+ exports: [
147
+ MediaViewerComponent
148
+ ]
149
+ }]
150
+ }] });
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL21lZGlhLXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDekcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMkVBQTJFLENBQUM7QUFDOUgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDcEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRGQUE0RixDQUFDO0FBQ3RJLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHlEQUF5RCxDQUFDOzs7O0FBcURsRyxNQUFNLE9BQU8saUJBQWlCOztpSUFBakIsaUJBQWlCO2tJQUFqQixpQkFBaUIsaUJBbkN0QixrQkFBa0I7UUFDbEIsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsb0JBQW9CO1FBQ3BCLDBCQUEwQjtRQUMxQix5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLGlDQUFpQztRQUNqQyxrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4Qiw0QkFBNEI7UUFDNUIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0Qix5QkFBeUIsYUE3QnpCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixZQUFZLGtEQUdaLFVBQVU7UUFDVixnQkFBZ0IsYUFtQ2hCLG9CQUFvQjtrSUFHZixpQkFBaUIsYUFsQmY7UUFDUCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixVQUFVO1FBQ1YsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsNEJBQTRCO1FBQzVCLGtCQUFrQjtLQUNyQixZQTVDRyxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixpQkFBaUI7UUFDakIsY0FBYztRQUNkLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQztRQUNoRCxhQUFhLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxVQUFVO1FBQ1YsZ0JBQWdCOzJGQXNDWCxpQkFBaUI7a0JBbkQ3QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osV0FBVyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDO3dCQUNoRCxhQUFhLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQzt3QkFDakMsVUFBVTt3QkFDVixnQkFBZ0I7cUJBQ25CO29CQUNELFlBQVksRUFBRTt3QkFDVixrQkFBa0I7d0JBQ2xCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsaUNBQWlDO3dCQUNqQyxrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3dCQUN4Qiw0QkFBNEI7d0JBQzVCLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7cUJBQzVCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixVQUFVO3dCQUNWLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLDRCQUE0Qjt3QkFDNUIsa0JBQWtCO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsb0JBQW9CO3FCQUN2QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUGRmVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW1hZ2VWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlcnMvaW1hZ2Utdmlld2VyL2ltYWdlLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdlcnMvdW5zdXBwb3J0ZWQtdmlld2VyL3Vuc3VwcG9ydGVkLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWVkaWFWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL21lZGlhLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJhck1vZHVsZSB9IGZyb20gJy4vdG9vbGJhci90b29sYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBQZGZKc1dyYXBwZXJGYWN0b3J5IH0gZnJvbSAnLi92aWV3ZXJzL3BkZi12aWV3ZXIvcGRmLWpzL3BkZi1qcy13cmFwcGVyLnByb3ZpZGVyJztcbmltcG9ydCB7IEFubm90YXRpb25zTW9kdWxlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9ucy5tb2R1bGUnO1xuaW1wb3J0IHsgQ29tbWVudFNlcnZpY2UgfSBmcm9tICcuL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQvY29tbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdyYWJORHJhZ0RpcmVjdGl2ZSB9IGZyb20gJy4vdmlld2Vycy9ncmFiLW4tZHJhZy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2lkZUJhckNvbXBvbmVudCB9IGZyb20gJy4vdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL3NpZGUtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdXRsaW5lSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdmlld2Vycy9wZGYtdmlld2VyL3NpZGUtYmFyL291dGxpbmUtaXRlbS9vdXRsaW5lLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFRhZ0lucHV0TW9kdWxlIH0gZnJvbSAnbmd4LWNoaXBzJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFZmZlY3RzTW9kdWxlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZU1vZHVsZX0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUmVkYWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9yZWRhY3Rpb24vY29tcG9uZW50cy9yZWRhY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEljcFNlc3Npb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi9pY3AvaWNwLXNlc3Npb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNwVXBkYXRlU2VydmljZSB9IGZyb20gJy4vaWNwL2ljcC11cGRhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBJY3BTZXJ2aWNlIH0gZnJvbSAnLi9pY3AvaWNwLnNlcnZpY2UnO1xuaW1wb3J0IHsgU29ja2V0U2VydmljZSB9IGZyb20gJy4vaWNwL3NvY2tldC5zZXJ2aWNlJztcbmltcG9ydCB7IHJlZHVjZXJzfSBmcm9tICcuL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCB7IGVmZmVjdHMgfSBmcm9tICcuL3N0b3JlL2VmZmVjdHMvaW5kZXgnO1xuaW1wb3J0IHsgQm9va21hcmtzQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL3BkZi12aWV3ZXIvc2lkZS1iYXIvYm9va21hcmtzL2Jvb2ttYXJrcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVkYWN0aW9uQXBpU2VydmljZSB9IGZyb20gJy4vcmVkYWN0aW9uL3NlcnZpY2VzL3JlZGFjdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBNdXRhYmxlRGl2TW9kdWxlIH0gZnJvbSAnbXV0YWJsZS1kaXYnO1xuaW1wb3J0IHsgQ29udmVydGlibGVDb250ZW50Vmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3ZXJzL2NvbnZlcnRpYmxlLWNvbnRlbnQtdmlld2VyL2NvbnZlcnRpYmxlLWNvbnRlbnQtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb2N1bWVudENvbnZlcnNpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi92aWV3ZXJzL2NvbnZlcnRpYmxlLWNvbnRlbnQtdmlld2VyL2RvY3VtZW50LWNvbnZlcnNpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSWNwUHJlc2VudGVyU2VydmljZSB9IGZyb20gJy4vaWNwL2ljcC1wcmVzZW50ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBJY3BGb2xsb3dlclNlcnZpY2UgfSBmcm9tICcuL2ljcC9pY3AtZm9sbG93ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maXJtQWN0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9pY3AvY29uZmlybS1leGl0L2NvbmZpcm0tYWN0aW9uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZU1vZHVsZSB9IGZyb20gJ0BjaXJjbG9uL2FuZ3VsYXItdHJlZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgQm9va21hcmtJY29uc0NvbXBvbmVudCB9IGZyb20gJy4vYm9va21hcmsvY29tcG9uZW50cy9ib29rbWFyay1pY29ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm90YXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi92aWV3ZXJzL3JvdGF0aW9uLXBlcnNpc3Qvcm90YXRpb24tYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm90YXRpb25QZXJzaXN0RGlyZWN0aXZlIH0gZnJvbSAnLi92aWV3ZXJzL3JvdGF0aW9uLXBlcnNpc3Qvcm90YXRpb24tcGVyc2lzdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUGFydGljaXBhbnRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vaWNwL3BhcnRpY2lwYW50cy1saXN0L3BhcnRpY2lwYW50cy1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIaWdobGlnaHRDcmVhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tY3JlYXRlL2hpZ2hsaWdodC1jcmVhdGUvaGlnaGxpZ2h0LWNyZWF0ZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtNdWx0aW1lZGlhUGxheWVyQ29tcG9uZW50fSBmcm9tICcuL3ZpZXdlcnMvbXVsdGltZWRpYS1wbGF5ZXIvbXVsdGltZWRpYS1wbGF5ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICAgICAgVG9vbGJhck1vZHVsZSxcbiAgICAgICAgQW5ub3RhdGlvbnNNb2R1bGUsXG4gICAgICAgIFRhZ0lucHV0TW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKCdtZWRpYS12aWV3ZXInLCByZWR1Y2VycyksXG4gICAgICAgIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShlZmZlY3RzKSxcbiAgICAgICAgVHJlZU1vZHVsZSxcbiAgICAgICAgTXV0YWJsZURpdk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBkZlZpZXdlckNvbXBvbmVudCxcbiAgICAgICAgU2lkZUJhckNvbXBvbmVudCxcbiAgICAgICAgQm9va21hcmtzQ29tcG9uZW50LFxuICAgICAgICBPdXRsaW5lSXRlbUNvbXBvbmVudCxcbiAgICAgICAgSW1hZ2VWaWV3ZXJDb21wb25lbnQsXG4gICAgICAgIFVuc3VwcG9ydGVkVmlld2VyQ29tcG9uZW50LFxuICAgICAgICBNdWx0aW1lZGlhUGxheWVyQ29tcG9uZW50LFxuICAgICAgICBNZWRpYVZpZXdlckNvbXBvbmVudCxcbiAgICAgICAgQ29udmVydGlibGVDb250ZW50Vmlld2VyQ29tcG9uZW50LFxuICAgICAgICBHcmFiTkRyYWdEaXJlY3RpdmUsXG4gICAgICAgIFJvdGF0aW9uUGVyc2lzdERpcmVjdGl2ZSxcbiAgICAgICAgSGlnaGxpZ2h0Q3JlYXRlRGlyZWN0aXZlLFxuICAgICAgICBDb25maXJtQWN0aW9uRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBSZWRhY3Rpb25Db21wb25lbnQsXG4gICAgICAgIEJvb2ttYXJrSWNvbnNDb21wb25lbnQsXG4gICAgICAgIFBhcnRpY2lwYW50c0xpc3RDb21wb25lbnRcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBQZGZKc1dyYXBwZXJGYWN0b3J5LFxuICAgICAgICBDb21tZW50U2VydmljZSxcbiAgICAgICAgUmVkYWN0aW9uQXBpU2VydmljZSxcbiAgICAgICAgSWNwU2Vzc2lvbkFwaVNlcnZpY2UsXG4gICAgICAgIEljcFVwZGF0ZVNlcnZpY2UsXG4gICAgICAgIFNvY2tldFNlcnZpY2UsXG4gICAgICAgIEljcFNlcnZpY2UsXG4gICAgICAgIEljcFByZXNlbnRlclNlcnZpY2UsXG4gICAgICAgIEljcEZvbGxvd2VyU2VydmljZSxcbiAgICAgICAgUmVkYWN0aW9uQXBpU2VydmljZSxcbiAgICAgICAgRG9jdW1lbnRDb252ZXJzaW9uQXBpU2VydmljZSxcbiAgICAgICAgUm90YXRpb25BcGlTZXJ2aWNlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBNZWRpYVZpZXdlckNvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTWVkaWFWaWV3ZXJNb2R1bGUgeyB9XG4iXX0=
@@ -19,10 +19,12 @@ export class PrintService {
19
19
  printWindow.close();
20
20
  }
21
21
  }
22
- /** @nocollapse */ PrintService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PrintService_Factory() { return new PrintService(); }, token: PrintService, providedIn: "root" });
23
- PrintService.decorators = [
24
- { type: Injectable, args: [{
25
- providedIn: 'root'
26
- },] }
27
- ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ByaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIscUJBQXFCLENBQUMsR0FBVztRQUMvQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBb0IsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUN0RSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEtBQUssV0FBVyxNQUFNLGtDQUFrQyxDQUFDLENBQUM7UUFDeEgsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNuQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0QsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7O1lBdEJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJpbnRTZXJ2aWNlIHtcblxuICBwcmludERvY3VtZW50TmF0aXZlbHkodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwcmludFdpbmRvdyA9IHdpbmRvdy5vcGVuKHVybCk7XG4gICAgcHJpbnRXaW5kb3cuZm9jdXMoKTtcbiAgICBzZXRUaW1lb3V0KChwcmludGVyKSA9PiB7XG4gICAgICBwcmludGVyLnByaW50KCk7XG4gICAgfSwgMzAwMCwgcHJpbnRXaW5kb3cpO1xuICB9XG5cbiAgcHJpbnRFbGVtZW50TmF0aXZlbHkoZWxlbWVudDogSFRNTEVsZW1lbnQsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgcHJpbnRXaW5kb3cgPSB3aW5kb3cub3BlbignJywgJycsIGBsZWZ0PTAsdG9wPTAsd2lkdGg9JHt3aWR0aH0saGVpZ2h0PSR7aGVpZ2h0fSx0b29sYmFyPTAsc2Nyb2xsYmFycz0wLHN0YXR1cz0wYCk7XG4gICAgY29uc3QgZG9jdW1lbnRIZWFkID0gZG9jdW1lbnQuaGVhZDtcbiAgICBwcmludFdpbmRvdy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50SGVhZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgIHByaW50V2luZG93LmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgIHByaW50V2luZG93LmRvY3VtZW50LmNsb3NlKCk7XG4gICAgcHJpbnRXaW5kb3cuZm9jdXMoKTtcbiAgICBwcmludFdpbmRvdy5wcmludCgpO1xuICAgIHByaW50V2luZG93LmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==
22
+ /** @nocollapse */ PrintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
23
+ /** @nocollapse */ PrintService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PrintService, providedIn: 'root' });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PrintService, decorators: [{
25
+ type: Injectable,
26
+ args: [{
27
+ providedIn: 'root'
28
+ }]
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL3ByaW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIscUJBQXFCLENBQUMsR0FBVztRQUMvQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixVQUFVLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBb0IsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUN0RSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEtBQUssV0FBVyxNQUFNLGtDQUFrQyxDQUFDLENBQUM7UUFDeEgsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNuQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0QsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs0SEFuQlUsWUFBWTtnSUFBWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUHJpbnRTZXJ2aWNlIHtcblxuICBwcmludERvY3VtZW50TmF0aXZlbHkodXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwcmludFdpbmRvdyA9IHdpbmRvdy5vcGVuKHVybCk7XG4gICAgcHJpbnRXaW5kb3cuZm9jdXMoKTtcbiAgICBzZXRUaW1lb3V0KChwcmludGVyKSA9PiB7XG4gICAgICBwcmludGVyLnByaW50KCk7XG4gICAgfSwgMzAwMCwgcHJpbnRXaW5kb3cpO1xuICB9XG5cbiAgcHJpbnRFbGVtZW50TmF0aXZlbHkoZWxlbWVudDogSFRNTEVsZW1lbnQsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgcHJpbnRXaW5kb3cgPSB3aW5kb3cub3BlbignJywgJycsIGBsZWZ0PTAsdG9wPTAsd2lkdGg9JHt3aWR0aH0saGVpZ2h0PSR7aGVpZ2h0fSx0b29sYmFyPTAsc2Nyb2xsYmFycz0wLHN0YXR1cz0wYCk7XG4gICAgY29uc3QgZG9jdW1lbnRIZWFkID0gZG9jdW1lbnQuaGVhZDtcbiAgICBwcmludFdpbmRvdy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50SGVhZC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgIHByaW50V2luZG93LmRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgIHByaW50V2luZG93LmRvY3VtZW50LmNsb3NlKCk7XG4gICAgcHJpbnRXaW5kb3cuZm9jdXMoKTtcbiAgICBwcmludFdpbmRvdy5wcmludCgpO1xuICAgIHByaW50V2luZG93LmNsb3NlKCk7XG4gIH1cbn1cbiJdfQ==