@sunbird-cb/toc 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. package/esm2022/lib/_collection/_common/attendance-card/attendance-card.component.mjs +55 -0
  2. package/esm2022/lib/_collection/_common/attendance-card/attendance-card.module.mjs +126 -0
  3. package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.component.mjs +32 -0
  4. package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.module.mjs +85 -0
  5. package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.component.mjs +100 -0
  6. package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.module.mjs +48 -0
  7. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.component.mjs +120 -0
  8. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.module.mjs +92 -0
  9. package/esm2022/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.mjs +48 -0
  10. package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.component.mjs +25 -0
  11. package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.module.mjs +41 -0
  12. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover-card.component.mjs +89 -0
  13. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.module.mjs +42 -0
  14. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.servive.mjs +41 -0
  15. package/esm2022/lib/_collection/_common/connection-name/connection-name.component.mjs +78 -0
  16. package/esm2022/lib/_collection/_common/connection-name/connection-name.module.mjs +45 -0
  17. package/esm2022/lib/_collection/_common/connection-name/profile-v2.model.mjs +2 -0
  18. package/esm2022/lib/_collection/_common/content-progress/content-progress.component.mjs +70 -0
  19. package/esm2022/lib/_collection/_common/content-progress/content-progress.module.mjs +28 -0
  20. package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.mjs +187 -0
  21. package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.mjs +86 -0
  22. package/esm2022/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.mjs +31 -0
  23. package/esm2022/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.mjs +941 -0
  24. package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.mjs +183 -0
  25. package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.mjs +327 -0
  26. package/esm2022/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.mjs +297 -0
  27. package/esm2022/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.mjs +223 -0
  28. package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.mjs +591 -0
  29. package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.mjs +16 -0
  30. package/esm2022/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.mjs +43 -0
  31. package/esm2022/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.mjs +133 -0
  32. package/esm2022/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.mjs +66 -0
  33. package/esm2022/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.mjs +278 -0
  34. package/esm2022/lib/_collection/_common/content-toc/content-services/handle-claim.service.mjs +21 -0
  35. package/esm2022/lib/_collection/_common/content-toc/content-services/review-component-data.service.mjs +21 -0
  36. package/esm2022/lib/_collection/_common/content-toc/content-toc.component.mjs +847 -0
  37. package/esm2022/lib/_collection/_common/content-toc/content-toc.module.mjs +219 -0
  38. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +209 -0
  39. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.module.mjs +26 -0
  40. package/esm2022/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.mjs +19 -0
  41. package/esm2022/lib/_collection/_common/content-toc/pipes/truncate.pipe.mjs +23 -0
  42. package/esm2022/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.mjs +113 -0
  43. package/esm2022/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.mjs +110 -0
  44. package/esm2022/lib/_collection/_common/display-content-type/display-content-type.component.mjs +26 -0
  45. package/esm2022/lib/_collection/_common/display-content-type/display-content-type.module.mjs +19 -0
  46. package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.mjs +67 -0
  47. package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.mjs +28 -0
  48. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.component.mjs +77 -0
  49. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.model.mjs +2 -0
  50. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.module.mjs +61 -0
  51. package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.module.mjs +20 -0
  52. package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.mjs +73 -0
  53. package/esm2022/lib/_collection/_common/player-brief/player-brief.component.mjs +139 -0
  54. package/esm2022/lib/_collection/_common/player-brief/player-brief.module.mjs +71 -0
  55. package/esm2022/lib/_collection/_common/rating-summary/rating-summary.component.mjs +34 -0
  56. package/esm2022/lib/_collection/_common/rating-summary/rating-summary.module.mjs +56 -0
  57. package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.component.mjs +25 -0
  58. package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.module.mjs +37 -0
  59. package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.mjs +32 -0
  60. package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner.module.mjs +30 -0
  61. package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.mjs +38 -0
  62. package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.mjs +51 -0
  63. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.component.mjs +115 -0
  64. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.model.mjs +12 -0
  65. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.module.mjs +51 -0
  66. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.service.mjs +61 -0
  67. package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.component.mjs +87 -0
  68. package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.module.mjs +36 -0
  69. package/esm2022/lib/_collection/_common/user-image/user-image.component.mjs +62 -0
  70. package/esm2022/lib/_collection/_common/user-image/user-image.module.mjs +24 -0
  71. package/esm2022/lib/_collection/btn-page-back/btn-page-back.component.mjs +192 -0
  72. package/esm2022/lib/_collection/btn-page-back/btn-page-back.module.mjs +44 -0
  73. package/esm2022/lib/_collection/btn-page-back/btn-page-back.service.mjs +99 -0
  74. package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.component.mjs +58 -0
  75. package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.module.mjs +67 -0
  76. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.component.mjs +112 -0
  77. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.model.mjs +2 -0
  78. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.module.mjs +69 -0
  79. package/esm2022/lib/_collection-api.mjs +57 -0
  80. package/esm2022/lib/_constants/widget-content.constants.mjs +19 -0
  81. package/esm2022/lib/_directives/tooltip.directive.mjs +68 -0
  82. package/esm2022/lib/_models/common.model.mjs +2 -0
  83. package/esm2022/lib/_models/error.model.mjs +2 -0
  84. package/esm2022/lib/_pipes/highlight.pipe.mjs +24 -0
  85. package/esm2022/lib/_services/rating.service.mjs +89 -0
  86. package/esm2022/lib/_services/samuhik-charcha.service.mjs +29 -0
  87. package/esm2022/lib/_services/viewer-route-util.mjs +103 -0
  88. package/esm2022/lib/_services/widget-content.model.mjs +246 -0
  89. package/esm2022/lib/_services/widget-content.service.mjs +589 -0
  90. package/esm2022/lib/_shared/translate-loader.factory.mjs +9 -0
  91. package/esm2022/lib/app-toc-lib.module.mjs +499 -0
  92. package/esm2022/lib/collection.config.mjs +161 -0
  93. package/esm2022/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.mjs +37 -0
  94. package/esm2022/lib/components/app-toc-banner/app-toc-banner.component.mjs +1436 -0
  95. package/esm2022/lib/components/app-toc-cios-home/app-toc-cios-home.component.mjs +475 -0
  96. package/esm2022/lib/components/app-toc-cios-home/consent-dialog.component.mjs +119 -0
  97. package/esm2022/lib/components/app-toc-cohorts/app-toc-cohorts.component.mjs +80 -0
  98. package/esm2022/lib/components/app-toc-content-card/app-toc-content-card.component.mjs +249 -0
  99. package/esm2022/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.mjs +39 -0
  100. package/esm2022/lib/components/app-toc-discussion/app-toc-discussion.component.mjs +58 -0
  101. package/esm2022/lib/components/app-toc-home/app-toc-home.component.mjs +2229 -0
  102. package/esm2022/lib/components/app-toc-home-v2/app-toc-home-v2.component.mjs +2796 -0
  103. package/esm2022/lib/components/app-toc-overview/app-toc-overview.component.mjs +157 -0
  104. package/esm2022/lib/components/app-toc-session-card/app-toc-session-card.component.mjs +48 -0
  105. package/esm2022/lib/components/app-toc-sessions/app-toc-sessions.component.mjs +47 -0
  106. package/esm2022/lib/components/app-toc-single-page/app-toc-single-page.component.mjs +766 -0
  107. package/esm2022/lib/components/completion-survey-form/completion-survey-form.component.mjs +243 -0
  108. package/esm2022/lib/components/create-batch-dialog/create-batch-dialog.component.mjs +116 -0
  109. package/esm2022/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.mjs +44 -0
  110. package/esm2022/lib/components/enroll-profile-form/enroll-profile-form.component.mjs +1838 -0
  111. package/esm2022/lib/components/enroll-questionnaire/enroll-questionnaire.component.mjs +236 -0
  112. package/esm2022/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.mjs +213 -0
  113. package/esm2022/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.mjs +36 -0
  114. package/esm2022/lib/components/public-survey-form/public-survey-form.component.mjs +256 -0
  115. package/esm2022/lib/components/survey-form-question/survey-form-question.component.mjs +133 -0
  116. package/esm2022/lib/components/survey-form-section/survey-form-section.component.mjs +36 -0
  117. package/esm2022/lib/models/app-toc-analytics.model.mjs +2 -0
  118. package/esm2022/lib/models/app-toc.model.mjs +38 -0
  119. package/esm2022/lib/models/auto-complete.model.mjs +2 -0
  120. package/esm2022/lib/models/card-content.model.mjs +13 -0
  121. package/esm2022/lib/models/content-strip-with-tabs.model.mjs +2 -0
  122. package/esm2022/lib/models/discussion-forum.model.mjs +14 -0
  123. package/esm2022/lib/models/goal.model.mjs +2 -0
  124. package/esm2022/lib/models/meta-tag.model.mjs +8 -0
  125. package/esm2022/lib/models/playlist.model.mjs +2 -0
  126. package/esm2022/lib/models/profile-revamp.model.mjs +2 -0
  127. package/esm2022/lib/models/rating.model.mjs +2 -0
  128. package/esm2022/lib/models/user-profile.model.mjs +21 -0
  129. package/esm2022/lib/resolvers/app-toc-cios-resolver.service.mjs +24 -0
  130. package/esm2022/lib/resolvers/app-toc-cios-user-enroll-resolver.service.mjs +24 -0
  131. package/esm2022/lib/resolvers/app-toc-content-read-resolver.service.mjs +60 -0
  132. package/esm2022/lib/resolvers/app-toc-ext-public-resolver.service.mjs +25 -0
  133. package/esm2022/lib/resolvers/app-toc-resolver.service.mjs +106 -0
  134. package/esm2022/lib/resolvers/config-resolver.service.mjs +25 -0
  135. package/esm2022/lib/resolvers/profile-resolver.service.mjs +25 -0
  136. package/esm2022/lib/resolvers/restricted-features-resolver.service.mjs +25 -0
  137. package/esm2022/lib/routes/app-toc-home/app-toc-home.component.mjs +51 -0
  138. package/esm2022/lib/routes/app-toc-home/app-toc-home.directive.mjs +16 -0
  139. package/esm2022/lib/routes/app-toc-home/app-toc-home.service.mjs +18 -0
  140. package/esm2022/lib/services/access-control.service.mjs +56 -0
  141. package/esm2022/lib/services/action.service.mjs +23 -0
  142. package/esm2022/lib/services/app-toc-v2.service.mjs +47 -0
  143. package/esm2022/lib/services/app-toc.service.mjs +1001 -0
  144. package/esm2022/lib/services/certificate.service.mjs +69 -0
  145. package/esm2022/lib/services/discuss-utils.service.mjs +58 -0
  146. package/esm2022/lib/services/editor.service.mjs +34 -0
  147. package/esm2022/lib/services/load-check.service.mjs +21 -0
  148. package/esm2022/lib/services/loader.service.mjs +33 -0
  149. package/esm2022/lib/services/mobile-apps.service.mjs +67 -0
  150. package/esm2022/lib/services/netcore.service.mjs +56 -0
  151. package/esm2022/lib/services/nps-grid.service.mjs +31 -0
  152. package/esm2022/lib/services/otp.service.mjs +43 -0
  153. package/esm2022/lib/services/profile-v2.service.mjs +43 -0
  154. package/esm2022/lib/services/reset-ratings.service.mjs +19 -0
  155. package/esm2022/lib/services/resource-download-helper.service.mjs +64 -0
  156. package/esm2022/lib/services/timer.service.mjs +23 -0
  157. package/esm2022/lib/services/title-tag.service.mjs +71 -0
  158. package/esm2022/lib/services/user-profile.service.mjs +55 -0
  159. package/esm2022/lib/services/viewer-data.service.mjs +64 -0
  160. package/esm2022/lib/services/viewer-util.service.mjs +500 -0
  161. package/esm2022/lib/share-toc/share-toc/share-toc.component.mjs +291 -0
  162. package/esm2022/lib/share-toc/share-toc.module.mjs +119 -0
  163. package/esm2022/public-api.mjs +56 -0
  164. package/esm2022/sunbird-cb-toc.mjs +5 -0
  165. package/fesm2022/sunbird-cb-toc.mjs +23517 -0
  166. package/fesm2022/sunbird-cb-toc.mjs.map +1 -0
  167. package/index.d.ts +6 -0
  168. package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts +17 -0
  169. package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts.map +1 -0
  170. package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts +32 -0
  171. package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts.map +1 -0
  172. package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts +16 -0
  173. package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts.map +1 -0
  174. package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts +21 -0
  175. package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts.map +1 -0
  176. package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts +23 -0
  177. package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts.map +1 -0
  178. package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts +16 -0
  179. package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts.map +1 -0
  180. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +23 -0
  181. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts.map +1 -0
  182. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +23 -0
  183. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts.map +1 -0
  184. package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts +10 -0
  185. package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts.map +1 -0
  186. package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts +12 -0
  187. package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts.map +1 -0
  188. package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts +13 -0
  189. package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts.map +1 -0
  190. package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts +19 -0
  191. package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts.map +1 -0
  192. package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts +15 -0
  193. package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts.map +1 -0
  194. package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts +12 -0
  195. package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts.map +1 -0
  196. package/lib/_collection/_common/connection-name/connection-name.component.d.ts +18 -0
  197. package/lib/_collection/_common/connection-name/connection-name.component.d.ts.map +1 -0
  198. package/lib/_collection/_common/connection-name/connection-name.module.d.ts +15 -0
  199. package/lib/_collection/_common/connection-name/connection-name.module.d.ts.map +1 -0
  200. package/lib/_collection/_common/connection-name/profile-v2.model.d.ts +200 -0
  201. package/lib/_collection/_common/connection-name/profile-v2.model.d.ts.map +1 -0
  202. package/lib/_collection/_common/content-progress/content-progress.component.d.ts +17 -0
  203. package/lib/_collection/_common/content-progress/content-progress.component.d.ts.map +1 -0
  204. package/lib/_collection/_common/content-progress/content-progress.module.d.ts +11 -0
  205. package/lib/_collection/_common/content-progress/content-progress.module.d.ts.map +1 -0
  206. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts +39 -0
  207. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts.map +1 -0
  208. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts +20 -0
  209. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts.map +1 -0
  210. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +12 -0
  211. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts.map +1 -0
  212. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +184 -0
  213. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts.map +1 -0
  214. package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts +42 -0
  215. package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts.map +1 -0
  216. package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts +55 -0
  217. package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts.map +1 -0
  218. package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts +48 -0
  219. package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts.map +1 -0
  220. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +49 -0
  221. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts.map +1 -0
  222. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +92 -0
  223. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts.map +1 -0
  224. package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts +9 -0
  225. package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts.map +1 -0
  226. package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts +17 -0
  227. package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts.map +1 -0
  228. package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts +41 -0
  229. package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts.map +1 -0
  230. package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts +22 -0
  231. package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts.map +1 -0
  232. package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts +46 -0
  233. package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts.map +1 -0
  234. package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts +11 -0
  235. package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts.map +1 -0
  236. package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts +11 -0
  237. package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts.map +1 -0
  238. package/lib/_collection/_common/content-toc/content-toc.component.d.ts +129 -0
  239. package/lib/_collection/_common/content-toc/content-toc.component.d.ts.map +1 -0
  240. package/lib/_collection/_common/content-toc/content-toc.module.d.ts +52 -0
  241. package/lib/_collection/_common/content-toc/content-toc.module.d.ts.map +1 -0
  242. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +30 -0
  243. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts.map +1 -0
  244. package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts +10 -0
  245. package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts.map +1 -0
  246. package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts +8 -0
  247. package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts.map +1 -0
  248. package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts +8 -0
  249. package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts.map +1 -0
  250. package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts +29 -0
  251. package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts.map +1 -0
  252. package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts +25 -0
  253. package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts.map +1 -0
  254. package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts +15 -0
  255. package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts.map +1 -0
  256. package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts +10 -0
  257. package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts.map +1 -0
  258. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts +13 -0
  259. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts.map +1 -0
  260. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts +11 -0
  261. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts.map +1 -0
  262. package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts +23 -0
  263. package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts.map +1 -0
  264. package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts +9 -0
  265. package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts.map +1 -0
  266. package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts +19 -0
  267. package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts.map +1 -0
  268. package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts +9 -0
  269. package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts.map +1 -0
  270. package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts +17 -0
  271. package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts.map +1 -0
  272. package/lib/_collection/_common/player-brief/player-brief.component.d.ts +36 -0
  273. package/lib/_collection/_common/player-brief/player-brief.component.d.ts.map +1 -0
  274. package/lib/_collection/_common/player-brief/player-brief.module.d.ts +20 -0
  275. package/lib/_collection/_common/player-brief/player-brief.module.d.ts.map +1 -0
  276. package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts +15 -0
  277. package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts.map +1 -0
  278. package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts +14 -0
  279. package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts.map +1 -0
  280. package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts +12 -0
  281. package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts.map +1 -0
  282. package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts +12 -0
  283. package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts.map +1 -0
  284. package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts +16 -0
  285. package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts.map +1 -0
  286. package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts +11 -0
  287. package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts.map +1 -0
  288. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts +17 -0
  289. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts.map +1 -0
  290. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts +12 -0
  291. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts.map +1 -0
  292. package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts +35 -0
  293. package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts.map +1 -0
  294. package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts +18 -0
  295. package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts.map +1 -0
  296. package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts +16 -0
  297. package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts.map +1 -0
  298. package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts +16 -0
  299. package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts.map +1 -0
  300. package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts +22 -0
  301. package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts.map +1 -0
  302. package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts +13 -0
  303. package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts.map +1 -0
  304. package/lib/_collection/_common/user-image/user-image.component.d.ts +22 -0
  305. package/lib/_collection/_common/user-image/user-image.component.d.ts.map +1 -0
  306. package/lib/_collection/_common/user-image/user-image.module.d.ts +10 -0
  307. package/lib/_collection/_common/user-image/user-image.module.d.ts.map +1 -0
  308. package/lib/_collection/btn-page-back/btn-page-back.component.d.ts +48 -0
  309. package/lib/_collection/btn-page-back/btn-page-back.component.d.ts.map +1 -0
  310. package/lib/_collection/btn-page-back/btn-page-back.module.d.ts +15 -0
  311. package/lib/_collection/btn-page-back/btn-page-back.module.d.ts.map +1 -0
  312. package/lib/_collection/btn-page-back/btn-page-back.service.d.ts +23 -0
  313. package/lib/_collection/btn-page-back/btn-page-back.service.d.ts.map +1 -0
  314. package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts +20 -0
  315. package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts.map +1 -0
  316. package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts +16 -0
  317. package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts.map +1 -0
  318. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +26 -0
  319. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts.map +1 -0
  320. package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts +22 -0
  321. package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts.map +1 -0
  322. package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts +19 -0
  323. package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts.map +1 -0
  324. package/lib/_collection-api.d.ts +35 -0
  325. package/lib/_collection-api.d.ts.map +1 -0
  326. package/lib/_constants/widget-content.constants.d.ts +8 -0
  327. package/lib/_constants/widget-content.constants.d.ts.map +1 -0
  328. package/lib/_directives/tooltip.directive.d.ts +18 -0
  329. package/lib/_directives/tooltip.directive.d.ts.map +1 -0
  330. package/lib/_models/common.model.d.ts +4 -0
  331. package/lib/_models/common.model.d.ts.map +1 -0
  332. package/lib/_models/error.model.d.ts +6 -0
  333. package/lib/_models/error.model.d.ts.map +1 -0
  334. package/lib/_pipes/highlight.pipe.d.ts +11 -0
  335. package/lib/_pipes/highlight.pipe.d.ts.map +1 -0
  336. package/lib/_services/rating.service.d.ts +19 -0
  337. package/lib/_services/rating.service.d.ts.map +1 -0
  338. package/lib/_services/samuhik-charcha.service.d.ts +14 -0
  339. package/lib/_services/samuhik-charcha.service.d.ts.map +1 -0
  340. package/lib/_services/viewer-route-util.d.ts +9 -0
  341. package/lib/_services/viewer-route-util.d.ts.map +1 -0
  342. package/lib/_services/widget-content.model.d.ts +515 -0
  343. package/lib/_services/widget-content.model.d.ts.map +1 -0
  344. package/lib/_services/widget-content.service.d.ts +101 -0
  345. package/lib/_services/widget-content.service.d.ts.map +1 -0
  346. package/lib/_shared/translate-loader.factory.d.ts +8 -0
  347. package/lib/_shared/translate-loader.factory.d.ts.map +1 -0
  348. package/lib/app-toc-lib.module.d.ts +89 -0
  349. package/lib/app-toc-lib.module.d.ts.map +1 -0
  350. package/lib/collection.config.d.ts +160 -0
  351. package/lib/collection.config.d.ts.map +1 -0
  352. package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts +18 -0
  353. package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts.map +1 -0
  354. package/lib/components/app-toc-banner/app-toc-banner.component.d.ts +226 -0
  355. package/lib/components/app-toc-banner/app-toc-banner.component.d.ts.map +1 -0
  356. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +79 -0
  357. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts.map +1 -0
  358. package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts +23 -0
  359. package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts.map +1 -0
  360. package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts +32 -0
  361. package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts.map +1 -0
  362. package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts +48 -0
  363. package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts.map +1 -0
  364. package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts +15 -0
  365. package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts.map +1 -0
  366. package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts +22 -0
  367. package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts.map +1 -0
  368. package/lib/components/app-toc-home/app-toc-home.component.d.ts +315 -0
  369. package/lib/components/app-toc-home/app-toc-home.component.d.ts.map +1 -0
  370. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +386 -0
  371. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts.map +1 -0
  372. package/lib/components/app-toc-overview/app-toc-overview.component.d.ts +48 -0
  373. package/lib/components/app-toc-overview/app-toc-overview.component.d.ts.map +1 -0
  374. package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts +23 -0
  375. package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts.map +1 -0
  376. package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts +15 -0
  377. package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts.map +1 -0
  378. package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts +150 -0
  379. package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts.map +1 -0
  380. package/lib/components/completion-survey-form/completion-survey-form.component.d.ts +43 -0
  381. package/lib/components/completion-survey-form/completion-survey-form.component.d.ts.map +1 -0
  382. package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts +28 -0
  383. package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts.map +1 -0
  384. package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts +16 -0
  385. package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts.map +1 -0
  386. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +196 -0
  387. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts.map +1 -0
  388. package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts +45 -0
  389. package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts.map +1 -0
  390. package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts +55 -0
  391. package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts.map +1 -0
  392. package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts +19 -0
  393. package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts.map +1 -0
  394. package/lib/components/public-survey-form/public-survey-form.component.d.ts +44 -0
  395. package/lib/components/public-survey-form/public-survey-form.component.d.ts.map +1 -0
  396. package/lib/components/survey-form-question/survey-form-question.component.d.ts +21 -0
  397. package/lib/components/survey-form-question/survey-form-question.component.d.ts.map +1 -0
  398. package/lib/components/survey-form-section/survey-form-section.component.d.ts +14 -0
  399. package/lib/components/survey-form-section/survey-form-section.component.d.ts.map +1 -0
  400. package/lib/models/app-toc-analytics.model.d.ts +153 -0
  401. package/lib/models/app-toc-analytics.model.d.ts.map +1 -0
  402. package/lib/models/app-toc.model.d.ts +85 -0
  403. package/lib/models/app-toc.model.d.ts.map +1 -0
  404. package/lib/models/auto-complete.model.d.ts +28 -0
  405. package/lib/models/auto-complete.model.d.ts.map +1 -0
  406. package/lib/models/card-content.model.d.ts +20 -0
  407. package/lib/models/card-content.model.d.ts.map +1 -0
  408. package/lib/models/content-strip-with-tabs.model.d.ts +45 -0
  409. package/lib/models/content-strip-with-tabs.model.d.ts.map +1 -0
  410. package/lib/models/discussion-forum.model.d.ts +41 -0
  411. package/lib/models/discussion-forum.model.d.ts.map +1 -0
  412. package/lib/models/goal.model.d.ts +23 -0
  413. package/lib/models/goal.model.d.ts.map +1 -0
  414. package/lib/models/meta-tag.model.d.ts +7 -0
  415. package/lib/models/meta-tag.model.d.ts.map +1 -0
  416. package/lib/models/playlist.model.d.ts +24 -0
  417. package/lib/models/playlist.model.d.ts.map +1 -0
  418. package/lib/models/profile-revamp.model.d.ts +15 -0
  419. package/lib/models/profile-revamp.model.d.ts.map +1 -0
  420. package/lib/models/rating.model.d.ts +18 -0
  421. package/lib/models/rating.model.d.ts.map +1 -0
  422. package/lib/models/user-profile.model.d.ts +38 -0
  423. package/lib/models/user-profile.model.d.ts.map +1 -0
  424. package/lib/resolvers/app-toc-cios-resolver.service.d.ts +13 -0
  425. package/lib/resolvers/app-toc-cios-resolver.service.d.ts.map +1 -0
  426. package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts +13 -0
  427. package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts.map +1 -0
  428. package/lib/resolvers/app-toc-content-read-resolver.service.d.ts +17 -0
  429. package/lib/resolvers/app-toc-content-read-resolver.service.d.ts.map +1 -0
  430. package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts +13 -0
  431. package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts.map +1 -0
  432. package/lib/resolvers/app-toc-resolver.service.d.ts +17 -0
  433. package/lib/resolvers/app-toc-resolver.service.d.ts.map +1 -0
  434. package/lib/resolvers/config-resolver.service.d.ts +12 -0
  435. package/lib/resolvers/config-resolver.service.d.ts.map +1 -0
  436. package/lib/resolvers/profile-resolver.service.d.ts +12 -0
  437. package/lib/resolvers/profile-resolver.service.d.ts.map +1 -0
  438. package/lib/resolvers/restricted-features-resolver.service.d.ts +12 -0
  439. package/lib/resolvers/restricted-features-resolver.service.d.ts.map +1 -0
  440. package/lib/routes/app-toc-home/app-toc-home.component.d.ts +20 -0
  441. package/lib/routes/app-toc-home/app-toc-home.component.d.ts.map +1 -0
  442. package/lib/routes/app-toc-home/app-toc-home.directive.d.ts +9 -0
  443. package/lib/routes/app-toc-home/app-toc-home.directive.d.ts.map +1 -0
  444. package/lib/routes/app-toc-home/app-toc-home.service.d.ts +9 -0
  445. package/lib/routes/app-toc-home/app-toc-home.service.d.ts.map +1 -0
  446. package/lib/services/access-control.service.d.ts +30 -0
  447. package/lib/services/access-control.service.d.ts.map +1 -0
  448. package/lib/services/action.service.d.ts +10 -0
  449. package/lib/services/action.service.d.ts.map +1 -0
  450. package/lib/services/app-toc-v2.service.d.ts +8 -0
  451. package/lib/services/app-toc-v2.service.d.ts.map +1 -0
  452. package/lib/services/app-toc.service.d.ts +131 -0
  453. package/lib/services/app-toc.service.d.ts.map +1 -0
  454. package/lib/services/certificate.service.d.ts +43 -0
  455. package/lib/services/certificate.service.d.ts.map +1 -0
  456. package/lib/services/discuss-utils.service.d.ts +34 -0
  457. package/lib/services/discuss-utils.service.d.ts.map +1 -0
  458. package/lib/services/editor.service.d.ts +18 -0
  459. package/lib/services/editor.service.d.ts.map +1 -0
  460. package/lib/services/load-check.service.d.ts +9 -0
  461. package/lib/services/load-check.service.d.ts.map +1 -0
  462. package/lib/services/loader.service.d.ts +17 -0
  463. package/lib/services/loader.service.d.ts.map +1 -0
  464. package/lib/services/mobile-apps.service.d.ts +39 -0
  465. package/lib/services/mobile-apps.service.d.ts.map +1 -0
  466. package/lib/services/netcore.service.d.ts +34 -0
  467. package/lib/services/netcore.service.d.ts.map +1 -0
  468. package/lib/services/nps-grid.service.d.ts +16 -0
  469. package/lib/services/nps-grid.service.d.ts.map +1 -0
  470. package/lib/services/otp.service.d.ts +21 -0
  471. package/lib/services/otp.service.d.ts.map +1 -0
  472. package/lib/services/profile-v2.service.d.ts +21 -0
  473. package/lib/services/profile-v2.service.d.ts.map +1 -0
  474. package/lib/services/reset-ratings.service.d.ts +9 -0
  475. package/lib/services/reset-ratings.service.d.ts.map +1 -0
  476. package/lib/services/resource-download-helper.service.d.ts +30 -0
  477. package/lib/services/resource-download-helper.service.d.ts.map +1 -0
  478. package/lib/services/timer.service.d.ts +10 -0
  479. package/lib/services/timer.service.d.ts.map +1 -0
  480. package/lib/services/title-tag.service.d.ts +22 -0
  481. package/lib/services/title-tag.service.d.ts.map +1 -0
  482. package/lib/services/user-profile.service.d.ts +25 -0
  483. package/lib/services/user-profile.service.d.ts.map +1 -0
  484. package/lib/services/viewer-data.service.d.ts +59 -0
  485. package/lib/services/viewer-data.service.d.ts.map +1 -0
  486. package/lib/services/viewer-util.service.d.ts +63 -0
  487. package/lib/services/viewer-util.service.d.ts.map +1 -0
  488. package/lib/share-toc/share-toc/share-toc.component.d.ts +57 -0
  489. package/lib/share-toc/share-toc/share-toc.component.d.ts.map +1 -0
  490. package/lib/share-toc/share-toc.module.d.ts +33 -0
  491. package/lib/share-toc/share-toc.module.d.ts.map +1 -0
  492. package/package.json +36 -0
  493. package/public-api.d.ts +44 -0
  494. package/public-api.d.ts.map +1 -0
  495. package/sunbird-cb-toc.d.ts.map +1 -0
@@ -0,0 +1,278 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { VIEWER_ROUTE_FROM_MIME } from '../../../../_services/viewer-route-util';
3
+ import { NsContent, WsEvents } from '@sunbird-cb/utils-v2';
4
+ import * as fileSaver from 'file-saver';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ import * as i2 from "@sunbird-cb/utils-v2";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "@angular/material/icon";
10
+ import * as i5 from "@angular/material/progress-spinner";
11
+ import * as i6 from "@ngx-translate/core";
12
+ export class AppTocTeachersNotesComponent {
13
+ constructor(router, eventSvc) {
14
+ this.router = router;
15
+ this.eventSvc = eventSvc;
16
+ this.primaryCategory = NsContent.EPrimaryCategory;
17
+ this.downloadInProgress = {};
18
+ this.isDownloadingAll = false;
19
+ this.forPreview = false;
20
+ this.forPreview = window.location.href.includes('/public/') || window.location.href.includes('&preview=true');
21
+ }
22
+ ngOnInit() { }
23
+ raiseDownloadAllTelemetry(subType) {
24
+ const event = {
25
+ eventType: WsEvents.WsEventType.Telemetry,
26
+ eventLogLevel: WsEvents.WsEventLogLevel.Info,
27
+ data: {
28
+ edata: {
29
+ type: "click",
30
+ id: this.notesDisplayType == 'Reference Resource' ? "teachers-note" : "reference-note",
31
+ pageid: `/app/toc/${this.content?.identifier}`,
32
+ subType: subType,
33
+ },
34
+ object: {
35
+ id: this.content?.identifier,
36
+ type: this.content?.courseCategory,
37
+ },
38
+ state: WsEvents.EnumTelemetrySubType.Interact,
39
+ eventSubType: WsEvents.EnumTelemetrySubType.Chatbot,
40
+ mode: 'view',
41
+ },
42
+ pageContext: {
43
+ pageId: `/app/toc/${this.content?.identifier}`,
44
+ module: this.notesDisplayType == 'Reference Resource' ? 'Amrit Gyaan Kosh' : 'Learn'
45
+ },
46
+ from: '',
47
+ to: 'Telemetry',
48
+ };
49
+ this.eventSvc.dispatchChatbotEvent(event);
50
+ }
51
+ downloadPDF(contentData) {
52
+ if (!contentData?.artifactUrl) {
53
+ console.error('No artifact URL provided');
54
+ return;
55
+ }
56
+ this.downloadInProgress[contentData.identifier] = true;
57
+ this.downloadFile(contentData.artifactUrl, contentData.name || 'download', contentData.identifier);
58
+ this.raiseDownloadAllTelemetry('download');
59
+ }
60
+ previewContent(contentData) {
61
+ this.router.navigate([`/app/amrit-gyaan-kosh/player/${VIEWER_ROUTE_FROM_MIME(contentData.mimeType)}/${contentData.identifier}`], {
62
+ queryParams: {
63
+ primaryCategory: this.primaryCategory.RESOURCE,
64
+ playerPreview: true,
65
+ collectionId: this.content.identifier,
66
+ },
67
+ });
68
+ }
69
+ downloadAllContent() {
70
+ if (!this.content?.referenceNodes?.length) {
71
+ return;
72
+ }
73
+ const teacherResources = this.content.referenceNodes.filter((ele) => ele?.resourceCategory === this.notesDisplayType && ele.artifactUrl);
74
+ if (teacherResources.length === 0) {
75
+ return;
76
+ }
77
+ this.isDownloadingAll = true;
78
+ let completedCount = 0;
79
+ teacherResources.forEach((ele) => {
80
+ this.downloadInProgress[ele.identifier] = true;
81
+ this.downloadFile(ele.artifactUrl, ele.name || 'download', ele.identifier)
82
+ .finally(() => {
83
+ completedCount++;
84
+ if (completedCount === teacherResources.length) {
85
+ this.isDownloadingAll = false;
86
+ }
87
+ });
88
+ });
89
+ this.raiseDownloadAllTelemetry('download-all');
90
+ }
91
+ /**
92
+ * Check if any download is currently in progress
93
+ */
94
+ hasActiveDownloads() {
95
+ return this.isDownloadingAll || Object.values(this.downloadInProgress).some(status => status);
96
+ }
97
+ /**
98
+ * Check if content has any teacher resources
99
+ */
100
+ hasTeacherResources() {
101
+ return this.content?.referenceNodes?.some((node) => node?.resourceCategory === this.notesDisplayType) || false;
102
+ }
103
+ /**
104
+ * Download file using multiple methods to ensure compatibility across browsers
105
+ * @returns Promise that resolves when download completes or fails
106
+ */
107
+ downloadFile(url, fileName, identifier) {
108
+ // Add file extension if missing
109
+ const fileExtension = this.getFileExtension(url);
110
+ if (fileExtension && !fileName.toLowerCase().endsWith(fileExtension.toLowerCase())) {
111
+ fileName = `${fileName}.${fileExtension}`;
112
+ }
113
+ // Return a promise to track completion
114
+ return new Promise((resolve) => {
115
+ // Use fetch API instead of HttpClient for better control over the download
116
+ this.downloadInProgress[identifier] = true;
117
+ fetch(url, {
118
+ method: 'GET',
119
+ mode: 'cors',
120
+ })
121
+ .then(response => {
122
+ if (!response.ok) {
123
+ throw new Error('Network response was not ok');
124
+ }
125
+ return response.blob();
126
+ })
127
+ .then(blob => {
128
+ // Create a new blob with the correct MIME type if needed
129
+ const contentType = this.getMimeTypeFromUrl(url);
130
+ const newBlob = new Blob([blob], { type: contentType });
131
+ // Try to save the blob
132
+ this.saveBlob(newBlob, fileName);
133
+ resolve();
134
+ })
135
+ .catch(error => {
136
+ console.error('Fetch download failed:', error);
137
+ // Fallback to XHR which sometimes handles CORS better
138
+ this.downloadWithXHR(url, fileName).finally(resolve);
139
+ })
140
+ .finally(() => {
141
+ this.downloadInProgress[identifier] = false;
142
+ });
143
+ });
144
+ }
145
+ /**
146
+ * Attempt download using XMLHttpRequest as a fallback
147
+ */
148
+ downloadWithXHR(url, fileName) {
149
+ return new Promise((resolve) => {
150
+ const xhr = new XMLHttpRequest();
151
+ xhr.open('GET', url, true);
152
+ xhr.responseType = 'blob';
153
+ xhr.onload = () => {
154
+ if (xhr.status === 200) {
155
+ const contentType = xhr.getResponseHeader('Content-Type') || this.getMimeTypeFromUrl(url);
156
+ const blob = new Blob([xhr.response], { type: contentType });
157
+ this.saveBlob(blob, fileName);
158
+ resolve();
159
+ }
160
+ else {
161
+ console.error('XHR download failed, trying direct iframe method');
162
+ this.tryDirectDownload(url, fileName);
163
+ resolve();
164
+ }
165
+ };
166
+ xhr.onerror = () => {
167
+ console.error('XHR download failed, trying direct iframe method');
168
+ this.tryDirectDownload(url, fileName);
169
+ resolve();
170
+ };
171
+ xhr.send();
172
+ });
173
+ }
174
+ getFileExtension(url) {
175
+ if (!url)
176
+ return '';
177
+ const urlParts = url.split('.');
178
+ if (urlParts.length > 1) {
179
+ return urlParts[urlParts.length - 1].split(/[?#]/)[0].toLowerCase();
180
+ }
181
+ return '';
182
+ }
183
+ getMimeTypeFromUrl(url) {
184
+ const extension = this.getFileExtension(url);
185
+ switch (extension) {
186
+ case 'pdf':
187
+ return 'application/pdf';
188
+ case 'mp4':
189
+ return 'video/mp4';
190
+ case 'doc':
191
+ case 'docx':
192
+ return 'application/msword';
193
+ case 'xls':
194
+ case 'xlsx':
195
+ return 'application/vnd.ms-excel';
196
+ case 'ppt':
197
+ case 'pptx':
198
+ return 'application/vnd.ms-powerpoint';
199
+ case 'jpg':
200
+ case 'jpeg':
201
+ return 'image/jpeg';
202
+ case 'png':
203
+ return 'image/png';
204
+ default:
205
+ return 'application/octet-stream'; // Default binary mime type
206
+ }
207
+ }
208
+ saveBlob(blob, fileName) {
209
+ try {
210
+ // For modern browsers using FileSaver
211
+ fileSaver.saveAs(blob, fileName);
212
+ }
213
+ catch (e) {
214
+ console.error('FileSaver failed, trying manual download', e);
215
+ // Manual download fallback
216
+ const url = window.URL.createObjectURL(blob);
217
+ const a = document.createElement('a');
218
+ a.style.display = 'none';
219
+ a.href = url;
220
+ a.download = fileName;
221
+ document.body.appendChild(a);
222
+ a.click();
223
+ window.URL.revokeObjectURL(url);
224
+ document.body.removeChild(a);
225
+ }
226
+ }
227
+ tryDirectDownload(url, fileName) {
228
+ // Use iframe for potentially bypassing CORS issues
229
+ const iframe = document.createElement('iframe');
230
+ iframe.style.display = 'none';
231
+ document.body.appendChild(iframe);
232
+ try {
233
+ // Construct a download URL
234
+ const downloadUrl = url + (url.indexOf('?') === -1 ? '?' : '&') + 'download=true';
235
+ // Create a link inside the iframe and click it
236
+ const doc = iframe.contentDocument || iframe.contentWindow?.document;
237
+ if (doc) {
238
+ const a = doc.createElement('a');
239
+ a.href = downloadUrl;
240
+ a.download = fileName;
241
+ a.style.display = 'none';
242
+ doc.body.appendChild(a);
243
+ a.click();
244
+ doc.body.removeChild(a);
245
+ }
246
+ }
247
+ catch (e) {
248
+ console.error('Iframe download approach failed:', e);
249
+ // Last resort - try download attribute on anchor tag
250
+ const a = document.createElement('a');
251
+ a.href = url;
252
+ a.download = fileName;
253
+ a.target = '_self'; // Important: use _self instead of _blank
254
+ document.body.appendChild(a);
255
+ a.click();
256
+ document.body.removeChild(a);
257
+ }
258
+ finally {
259
+ // Clean up the iframe
260
+ setTimeout(() => {
261
+ if (document.body.contains(iframe)) {
262
+ document.body.removeChild(iframe);
263
+ }
264
+ }, 1000);
265
+ }
266
+ }
267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocTeachersNotesComponent, deps: [{ token: i1.Router }, { token: i2.EventService }], target: i0.ɵɵFactoryTarget.Component }); }
268
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AppTocTeachersNotesComponent, selector: "ws-widget-app-toc-teachers-notes", inputs: { content: "content", notesDisplayType: "notesDisplayType" }, ngImport: i0, template: "<div class=\"flex justify-between items-center\">\n <div class=\"teachers-note-header\">{{ 'apptocsinglepage.teachersNoteHeading' | translate }}</div>\n <div>\n <button [disabled]=\"hasActiveDownloads()\" (click)=\"downloadAllContent()\" class=\"download-all flex items-center\">\n <span *ngIf=\"!isDownloadingAll\">{{ 'apptocsinglepage.downaloadAllPdfs' | translate }}</span>\n <span *ngIf=\"isDownloadingAll\" class=\"flex items-center\">\n <mat-spinner diameter=\"16\" class=\"mr-2\"></mat-spinner>\n Downloading\n </span>\n </button>\n </div>\n</div>\n\n<div class=\"guide-container\" *ngIf=\"content?.referenceNodes\">\n <ng-container *ngFor=\"let note of content?.referenceNodes\">\n <div class=\"guide-card flex gap-4 justify-between\" *ngIf=\"note?.resourceCategory === notesDisplayType\">\n <div class=\"flex flex-col justify-center\">\n <div class=\"note-title\">{{note?.name}}</div>\n <!-- To remove view option in case of public preview of toc -->\n <ng-container *ngIf=\"!forPreview\">\n <div class=\"flex gap-2 pt-2\">\n <mat-icon class=\"material-symbols-outlined\">\n visibility\n </mat-icon>\n\n <a (click)=\"previewContent(note)\">\n <span class=\"view-pdf\">{{ 'apptocsinglepage.viewPDF' | translate }}</span>\n </a>\n </div>\n </ng-container>\n </div>\n <div>\n <div class=\"download-ind\">\n <a (click)=\"downloadPDF(note)\" class=\"download-link flex items-center\">\n <span *ngIf=\"!downloadInProgress[note.identifier]\">{{ 'apptocsinglepage.downloadPdf' | translate }}</span>\n <span *ngIf=\"downloadInProgress[note.identifier]\" class=\"flex items-center\">\n <mat-spinner diameter=\"16\" class=\"mr-2\"></mat-spinner>\n Downloading\n </span>\n </a>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- No teachers resources message -->\n<div *ngIf=\"!hasTeacherResources()\" class=\"no-resources-message mt-4\">\n {{ 'apptocsinglepage.noTeachersResources' | translate }}\n</div>", styles: [".teachers-note-header{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.download-all{padding:0 16px;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1;cursor:pointer;background:transparent;border:none}.guide-container .view-pdf{font-size:14px;cursor:pointer;opacity:.8;color:#000}.guide-container .note-title{font-family:Lato;font-size:16px;font-weight:700;line-height:24px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1}.guide-container .guide-card{border-radius:8px;background-color:#fff;padding:16px;margin:16px 0}.guide-container .download-ind{padding:12px 16px;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1;cursor:pointer;border-radius:40px;border-color:1px solid #c3c3c3}.download-btn,.download-link{cursor:pointer;transition:opacity .2s ease}.download-btn:disabled,.download-link:disabled{opacity:.6;cursor:not-allowed}.download-link{display:inline-flex;align-items:center}.no-resources-message{color:#666;font-style:italic;padding:1rem 0}mat-spinner{display:inline-block;vertical-align:middle;margin-right:8px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
269
+ }
270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocTeachersNotesComponent, decorators: [{
271
+ type: Component,
272
+ args: [{ selector: 'ws-widget-app-toc-teachers-notes', template: "<div class=\"flex justify-between items-center\">\n <div class=\"teachers-note-header\">{{ 'apptocsinglepage.teachersNoteHeading' | translate }}</div>\n <div>\n <button [disabled]=\"hasActiveDownloads()\" (click)=\"downloadAllContent()\" class=\"download-all flex items-center\">\n <span *ngIf=\"!isDownloadingAll\">{{ 'apptocsinglepage.downaloadAllPdfs' | translate }}</span>\n <span *ngIf=\"isDownloadingAll\" class=\"flex items-center\">\n <mat-spinner diameter=\"16\" class=\"mr-2\"></mat-spinner>\n Downloading\n </span>\n </button>\n </div>\n</div>\n\n<div class=\"guide-container\" *ngIf=\"content?.referenceNodes\">\n <ng-container *ngFor=\"let note of content?.referenceNodes\">\n <div class=\"guide-card flex gap-4 justify-between\" *ngIf=\"note?.resourceCategory === notesDisplayType\">\n <div class=\"flex flex-col justify-center\">\n <div class=\"note-title\">{{note?.name}}</div>\n <!-- To remove view option in case of public preview of toc -->\n <ng-container *ngIf=\"!forPreview\">\n <div class=\"flex gap-2 pt-2\">\n <mat-icon class=\"material-symbols-outlined\">\n visibility\n </mat-icon>\n\n <a (click)=\"previewContent(note)\">\n <span class=\"view-pdf\">{{ 'apptocsinglepage.viewPDF' | translate }}</span>\n </a>\n </div>\n </ng-container>\n </div>\n <div>\n <div class=\"download-ind\">\n <a (click)=\"downloadPDF(note)\" class=\"download-link flex items-center\">\n <span *ngIf=\"!downloadInProgress[note.identifier]\">{{ 'apptocsinglepage.downloadPdf' | translate }}</span>\n <span *ngIf=\"downloadInProgress[note.identifier]\" class=\"flex items-center\">\n <mat-spinner diameter=\"16\" class=\"mr-2\"></mat-spinner>\n Downloading\n </span>\n </a>\n </div>\n </div>\n </div>\n </ng-container>\n</div>\n\n<!-- No teachers resources message -->\n<div *ngIf=\"!hasTeacherResources()\" class=\"no-resources-message mt-4\">\n {{ 'apptocsinglepage.noTeachersResources' | translate }}\n</div>", styles: [".teachers-note-header{font-family:Lato;font-size:14px;font-weight:400;line-height:16.8px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}.download-all{padding:0 16px;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1;cursor:pointer;background:transparent;border:none}.guide-container .view-pdf{font-size:14px;cursor:pointer;opacity:.8;color:#000}.guide-container .note-title{font-family:Lato;font-size:16px;font-weight:700;line-height:24px;text-align:left;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1}.guide-container .guide-card{border-radius:8px;background-color:#fff;padding:16px;margin:16px 0}.guide-container .download-ind{padding:12px 16px;font-family:Lato;font-size:14px;font-weight:700;line-height:16.8px;text-underline-position:from-font;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;color:#1b4ca1;cursor:pointer;border-radius:40px;border-color:1px solid #c3c3c3}.download-btn,.download-link{cursor:pointer;transition:opacity .2s ease}.download-btn:disabled,.download-link:disabled{opacity:.6;cursor:not-allowed}.download-link{display:inline-flex;align-items:center}.no-resources-message{color:#666;font-style:italic;padding:1rem 0}mat-spinner{display:inline-block;vertical-align:middle;margin-right:8px}\n"] }]
273
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.EventService }]; }, propDecorators: { content: [{
274
+ type: Input
275
+ }], notesDisplayType: [{
276
+ type: Input
277
+ }] } });
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRvYy10ZWFjaGVycy1ub3Rlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vX2NvbW1vbi9jb250ZW50LXRvYy9hcHAtdG9jLXRlYWNoZXJzLW5vdGVzL2FwcC10b2MtdGVhY2hlcnMtbm90ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL19jb2xsZWN0aW9uL19jb21tb24vY29udGVudC10b2MvYXBwLXRvYy10ZWFjaGVycy1ub3Rlcy9hcHAtdG9jLXRlYWNoZXJzLW5vdGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFBO0FBRXhELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQ2hGLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ3hFLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFBOzs7Ozs7OztBQVF2QyxNQUFNLE9BQU8sNEJBQTRCO0lBU3ZDLFlBQW1CLE1BQWMsRUFDeEIsUUFBc0I7UUFEWixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ3hCLGFBQVEsR0FBUixRQUFRLENBQWM7UUFOL0Isb0JBQWUsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUE7UUFDNUMsdUJBQWtCLEdBQStCLEVBQUUsQ0FBQTtRQUNuRCxxQkFBZ0IsR0FBRyxLQUFLLENBQUE7UUFDeEIsZUFBVSxHQUFHLEtBQUssQ0FBQTtRQUtoQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFV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QUUsQ0FBQyxDQUFDLENBQUE7WUFFcEQscURBQXFEO1lBQ3JELE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDckMsQ0FBQyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUE7WUFDWixDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtZQUNyQixDQUFDLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQSxDQUFDLHlDQUF5QztZQUM1RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUM1QixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDVCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtTQUM3QjtnQkFBUztZQUNSLHNCQUFzQjtZQUN0QixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO2lCQUNsQztZQUNILENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQTtTQUNUO0lBQ0gsQ0FBQzsrR0E5UlUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsOElDWnpDLDZvRUFpRE07OzRGRHJDTyw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0Usa0NBQWtDO3dIQU9uQyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFZJRVdFUl9ST1VURV9GUk9NX01JTUUgfSBmcm9tICcuLi8uLi8uLi8uLi9fc2VydmljZXMvdmlld2VyLXJvdXRlLXV0aWwnXG5pbXBvcnQgeyBFdmVudFNlcnZpY2UsIE5zQ29udGVudCwgV3NFdmVudHMgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcbmltcG9ydCAqIGFzIGZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJ1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3cy13aWRnZXQtYXBwLXRvYy10ZWFjaGVycy1ub3RlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtdG9jLXRlYWNoZXJzLW5vdGVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLXRvYy10ZWFjaGVycy1ub3Rlcy5jb21wb25lbnQuc2NzcyddLFxufSlcblxuZXhwb3J0IGNsYXNzIEFwcFRvY1RlYWNoZXJzTm90ZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGNvbnRlbnQhOiBOc0NvbnRlbnQuSUNvbnRlbnRcbiAgQElucHV0KCkgbm90ZXNEaXNwbGF5VHlwZSE6IHN0cmluZ1xuICBwcmltYXJ5Q2F0ZWdvcnkgPSBOc0NvbnRlbnQuRVByaW1hcnlDYXRlZ29yeVxuICBkb3dubG9hZEluUHJvZ3Jlc3M6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge31cbiAgaXNEb3dubG9hZGluZ0FsbCA9IGZhbHNlXG4gIGZvclByZXZpZXcgPSBmYWxzZVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcixcbiAgICBwdWJsaWMgZXZlbnRTdmM6IEV2ZW50U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5mb3JQcmV2aWV3ID0gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJy9wdWJsaWMvJykgfHwgd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJyZwcmV2aWV3PXRydWUnKVxuICB9XG5cbiAgbmdPbkluaXQoKSB7IH1cblxuICByYWlzZURvd25sb2FkQWxsVGVsZW1ldHJ5KHN1YlR5cGU6IHN0cmluZykge1xuICAgIGNvbnN0IGV2ZW50ID0ge1xuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXG4gICAgICBldmVudExvZ0xldmVsOiBXc0V2ZW50cy5Xc0V2ZW50TG9nTGV2ZWwuSW5mbyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgZWRhdGE6IHtcbiAgICAgICAgICB0eXBlOiBcImNsaWNrXCIsXG4gICAgICAgICAgaWQ6IHRoaXMubm90ZXNEaXNwbGF5VHlwZSA9PSAnUmVmZXJlbmNlIFJlc291cmNlJyA/IFwidGVhY2hlcnMtbm90ZVwiIDogXCJyZWZlcmVuY2Utbm90ZVwiLFxuICAgICAgICAgIHBhZ2VpZDogYC9hcHAvdG9jLyR7dGhpcy5jb250ZW50Py5pZGVudGlmaWVyfWAsXG4gICAgICAgICAgc3ViVHlwZTogc3ViVHlwZSxcbiAgICAgICAgfSxcbiAgICAgICAgb2JqZWN0OiB7XG4gICAgICAgICAgaWQ6IHRoaXMuY29udGVudD8uaWRlbnRpZmllcixcbiAgICAgICAgICB0eXBlOiB0aGlzLmNvbnRlbnQ/LmNvdXJzZUNhdGVnb3J5LFxuICAgICAgICB9LFxuICAgICAgICBzdGF0ZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW50ZXJhY3QsXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuQ2hhdGJvdCxcbiAgICAgICAgbW9kZTogJ3ZpZXcnLFxuICAgICAgfSxcbiAgICAgIHBhZ2VDb250ZXh0OiB7XG4gICAgICAgIHBhZ2VJZDogYC9hcHAvdG9jLyR7dGhpcy5jb250ZW50Py5pZGVudGlmaWVyfWAsXG4gICAgICAgIG1vZHVsZTogdGhpcy5ub3Rlc0Rpc3BsYXlUeXBlID09ICdSZWZlcmVuY2UgUmVzb3VyY2UnID8gJ0Ftcml0IEd5YWFuIEtvc2gnIDogJ0xlYXJuJ1xuICAgICAgfSxcbiAgICAgIGZyb206ICcnLFxuICAgICAgdG86ICdUZWxlbWV0cnknLFxuICAgIH1cbiAgICB0aGlzLmV2ZW50U3ZjLmRpc3BhdGNoQ2hhdGJvdEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KGV2ZW50KVxuICB9XG5cbiAgZG93bmxvYWRQREYoY29udGVudERhdGE6IGFueSkge1xuICAgIGlmICghY29udGVudERhdGE/LmFydGlmYWN0VXJsKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdObyBhcnRpZmFjdCBVUkwgcHJvdmlkZWQnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5kb3dubG9hZEluUHJvZ3Jlc3NbY29udGVudERhdGEuaWRlbnRpZmllcl0gPSB0cnVlXG4gICAgdGhpcy5kb3dubG9hZEZpbGUoY29udGVudERhdGEuYXJ0aWZhY3RVcmwsIGNvbnRlbnREYXRhLm5hbWUgfHwgJ2Rvd25sb2FkJywgY29udGVudERhdGEuaWRlbnRpZmllcilcbiAgICB0aGlzLnJhaXNlRG93bmxvYWRBbGxUZWxlbWV0cnkoJ2Rvd25sb2FkJylcbiAgfVxuXG4gIHByZXZpZXdDb250ZW50KGNvbnRlbnREYXRhOiBhbnkpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9hcHAvYW1yaXQtZ3lhYW4ta29zaC9wbGF5ZXIvJHtWSUVXRVJfUk9VVEVfRlJPTV9NSU1FKGNvbnRlbnREYXRhLm1pbWVUeXBlKX0vJHtjb250ZW50RGF0YS5pZGVudGlmaWVyfWBdLCB7XG4gICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICBwcmltYXJ5Q2F0ZWdvcnk6IHRoaXMucHJpbWFyeUNhdGVnb3J5LlJFU09VUkNFLFxuICAgICAgICBwbGF5ZXJQcmV2aWV3OiB0cnVlLFxuICAgICAgICBjb2xsZWN0aW9uSWQ6IHRoaXMuY29udGVudC5pZGVudGlmaWVyLFxuICAgICAgfSxcbiAgICB9KVxuICB9XG5cbiAgZG93bmxvYWRBbGxDb250ZW50KCkge1xuICAgIGlmICghdGhpcy5jb250ZW50Py5yZWZlcmVuY2VOb2Rlcz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCB0ZWFjaGVyUmVzb3VyY2VzID0gdGhpcy5jb250ZW50LnJlZmVyZW5jZU5vZGVzLmZpbHRlcihcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5yZXNvdXJjZUNhdGVnb3J5ID09PSB0aGlzLm5vdGVzRGlzcGxheVR5cGUgJiYgZWxlLmFydGlmYWN0VXJsXG4gICAgKVxuXG4gICAgaWYgKHRlYWNoZXJSZXNvdXJjZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmlzRG93bmxvYWRpbmdBbGwgPSB0cnVlXG4gICAgbGV0IGNvbXBsZXRlZENvdW50ID0gMFxuXG4gICAgdGVhY2hlclJlc291cmNlcy5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xuICAgICAgdGhpcy5kb3dubG9hZEluUHJvZ3Jlc3NbZWxlLmlkZW50aWZpZXJdID0gdHJ1ZVxuICAgICAgdGhpcy5kb3dubG9hZEZpbGUoZWxlLmFydGlmYWN0VXJsLCBlbGUubmFtZSB8fCAnZG93bmxvYWQnLCBlbGUuaWRlbnRpZmllcilcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIGNvbXBsZXRlZENvdW50KytcbiAgICAgICAgICBpZiAoY29tcGxldGVkQ291bnQgPT09IHRlYWNoZXJSZXNvdXJjZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmlzRG93bmxvYWRpbmdBbGwgPSBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9KVxuICAgIHRoaXMucmFpc2VEb3dubG9hZEFsbFRlbGVtZXRyeSgnZG93bmxvYWQtYWxsJylcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhbnkgZG93bmxvYWQgaXMgY3VycmVudGx5IGluIHByb2dyZXNzXG4gICAqL1xuICBoYXNBY3RpdmVEb3dubG9hZHMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNEb3dubG9hZGluZ0FsbCB8fCBPYmplY3QudmFsdWVzKHRoaXMuZG93bmxvYWRJblByb2dyZXNzKS5zb21lKHN0YXR1cyA9PiBzdGF0dXMpXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgY29udGVudCBoYXMgYW55IHRlYWNoZXIgcmVzb3VyY2VzXG4gICAqL1xuICBoYXNUZWFjaGVyUmVzb3VyY2VzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnQ/LnJlZmVyZW5jZU5vZGVzPy5zb21lKChub2RlOiBhbnkpID0+IG5vZGU/LnJlc291cmNlQ2F0ZWdvcnkgPT09IHRoaXMubm90ZXNEaXNwbGF5VHlwZSkgfHwgZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBEb3dubG9hZCBmaWxlIHVzaW5nIG11bHRpcGxlIG1ldGhvZHMgdG8gZW5zdXJlIGNvbXBhdGliaWxpdHkgYWNyb3NzIGJyb3dzZXJzXG4gICAqIEByZXR1cm5zIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGRvd25sb2FkIGNvbXBsZXRlcyBvciBmYWlsc1xuICAgKi9cbiAgcHJpdmF0ZSBkb3dubG9hZEZpbGUodXJsOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcsIGlkZW50aWZpZXI6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEFkZCBmaWxlIGV4dGVuc2lvbiBpZiBtaXNzaW5nXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHRoaXMuZ2V0RmlsZUV4dGVuc2lvbih1cmwpXG4gICAgaWYgKGZpbGVFeHRlbnNpb24gJiYgIWZpbGVOYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoZmlsZUV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgZmlsZU5hbWUgPSBgJHtmaWxlTmFtZX0uJHtmaWxlRXh0ZW5zaW9ufWBcbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gYSBwcm9taXNlIHRvIHRyYWNrIGNvbXBsZXRpb25cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIC8vIFVzZSBmZXRjaCBBUEkgaW5zdGVhZCBvZiBIdHRwQ2xpZW50IGZvciBiZXR0ZXIgY29udHJvbCBvdmVyIHRoZSBkb3dubG9hZFxuICAgICAgdGhpcy5kb3dubG9hZEluUHJvZ3Jlc3NbaWRlbnRpZmllcl0gPSB0cnVlXG5cbiAgICAgIGZldGNoKHVybCwge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBtb2RlOiAnY29ycycsXG4gICAgICB9KVxuICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdOZXR3b3JrIHJlc3BvbnNlIHdhcyBub3Qgb2snKVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYmxvYigpXG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKGJsb2IgPT4ge1xuICAgICAgICAgIC8vIENyZWF0ZSBhIG5ldyBibG9iIHdpdGggdGhlIGNvcnJlY3QgTUlNRSB0eXBlIGlmIG5lZWRlZFxuICAgICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gdGhpcy5nZXRNaW1lVHlwZUZyb21VcmwodXJsKVxuICAgICAgICAgIGNvbnN0IG5ld0Jsb2IgPSBuZXcgQmxvYihbYmxvYl0sIHsgdHlwZTogY29udGVudFR5cGUgfSlcblxuICAgICAgICAgIC8vIFRyeSB0byBzYXZlIHRoZSBibG9iXG4gICAgICAgICAgdGhpcy5zYXZlQmxvYihuZXdCbG9iLCBmaWxlTmFtZSlcbiAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdGZXRjaCBkb3dubG9hZCBmYWlsZWQ6JywgZXJyb3IpXG5cbiAgICAgICAgICAvLyBGYWxsYmFjayB0byBYSFIgd2hpY2ggc29tZXRpbWVzIGhhbmRsZXMgQ09SUyBiZXR0ZXJcbiAgICAgICAgICB0aGlzLmRvd25sb2FkV2l0aFhIUih1cmwsIGZpbGVOYW1lKS5maW5hbGx5KHJlc29sdmUpXG4gICAgICAgIH0pXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmRvd25sb2FkSW5Qcm9ncmVzc1tpZGVudGlmaWVyXSA9IGZhbHNlXG4gICAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0IGRvd25sb2FkIHVzaW5nIFhNTEh0dHBSZXF1ZXN0IGFzIGEgZmFsbGJhY2tcbiAgICovXG4gIHByaXZhdGUgZG93bmxvYWRXaXRoWEhSKHVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAgICAgeGhyLm9wZW4oJ0dFVCcsIHVybCwgdHJ1ZSlcbiAgICAgIHhoci5yZXNwb25zZVR5cGUgPSAnYmxvYidcblxuICAgICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgaWYgKHhoci5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0geGhyLmdldFJlc3BvbnNlSGVhZGVyKCdDb250ZW50LVR5cGUnKSB8fCB0aGlzLmdldE1pbWVUeXBlRnJvbVVybCh1cmwpXG4gICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt4aHIucmVzcG9uc2VdLCB7IHR5cGU6IGNvbnRlbnRUeXBlIH0pXG4gICAgICAgICAgdGhpcy5zYXZlQmxvYihibG9iLCBmaWxlTmFtZSlcbiAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdYSFIgZG93bmxvYWQgZmFpbGVkLCB0cnlpbmcgZGlyZWN0IGlmcmFtZSBtZXRob2QnKVxuICAgICAgICAgIHRoaXMudHJ5RGlyZWN0RG93bmxvYWQodXJsLCBmaWxlTmFtZSlcbiAgICAgICAgICByZXNvbHZlKClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB4aHIub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignWEhSIGRvd25sb2FkIGZhaWxlZCwgdHJ5aW5nIGRpcmVjdCBpZnJhbWUgbWV0aG9kJylcbiAgICAgICAgdGhpcy50cnlEaXJlY3REb3dubG9hZCh1cmwsIGZpbGVOYW1lKVxuICAgICAgICByZXNvbHZlKClcbiAgICAgIH1cblxuICAgICAgeGhyLnNlbmQoKVxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVFeHRlbnNpb24odXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdXJsKSByZXR1cm4gJydcblxuICAgIGNvbnN0IHVybFBhcnRzID0gdXJsLnNwbGl0KCcuJylcbiAgICBpZiAodXJsUGFydHMubGVuZ3RoID4gMSkge1xuICAgICAgcmV0dXJuIHVybFBhcnRzW3VybFBhcnRzLmxlbmd0aCAtIDFdLnNwbGl0KC9bPyNdLylbMF0udG9Mb3dlckNhc2UoKVxuICAgIH1cbiAgICByZXR1cm4gJydcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWltZVR5cGVGcm9tVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSB0aGlzLmdldEZpbGVFeHRlbnNpb24odXJsKVxuXG4gICAgc3dpdGNoIChleHRlbnNpb24pIHtcbiAgICAgIGNhc2UgJ3BkZic6XG4gICAgICAgIHJldHVybiAnYXBwbGljYXRpb24vcGRmJ1xuICAgICAgY2FzZSAnbXA0JzpcbiAgICAgICAgcmV0dXJuICd2aWRlby9tcDQnXG4gICAgICBjYXNlICdkb2MnOlxuICAgICAgY2FzZSAnZG9jeCc6XG4gICAgICAgIHJldHVybiAnYXBwbGljYXRpb24vbXN3b3JkJ1xuICAgICAgY2FzZSAneGxzJzpcbiAgICAgIGNhc2UgJ3hsc3gnOlxuICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCdcbiAgICAgIGNhc2UgJ3BwdCc6XG4gICAgICBjYXNlICdwcHR4JzpcbiAgICAgICAgcmV0dXJuICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCdcbiAgICAgIGNhc2UgJ2pwZyc6XG4gICAgICBjYXNlICdqcGVnJzpcbiAgICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJ1xuICAgICAgY2FzZSAncG5nJzpcbiAgICAgICAgcmV0dXJuICdpbWFnZS9wbmcnXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgLy8gRGVmYXVsdCBiaW5hcnkgbWltZSB0eXBlXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzYXZlQmxvYihibG9iOiBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEZvciBtb2Rlcm4gYnJvd3NlcnMgdXNpbmcgRmlsZVNhdmVyXG4gICAgICBmaWxlU2F2ZXIuc2F2ZUFzKGJsb2IsIGZpbGVOYW1lKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZpbGVTYXZlciBmYWlsZWQsIHRyeWluZyBtYW51YWwgZG93bmxvYWQnLCBlKVxuXG4gICAgICAvLyBNYW51YWwgZG93bmxvYWQgZmFsbGJhY2tcbiAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpXG4gICAgICBjb25zdCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG4gICAgICBhLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcbiAgICAgIGEuaHJlZiA9IHVybFxuICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpXG4gICAgICBhLmNsaWNrKClcbiAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybClcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyeURpcmVjdERvd25sb2FkKHVybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gVXNlIGlmcmFtZSBmb3IgcG90ZW50aWFsbHkgYnlwYXNzaW5nIENPUlMgaXNzdWVzXG4gICAgY29uc3QgaWZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJylcbiAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKVxuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENvbnN0cnVjdCBhIGRvd25sb2FkIFVSTFxuICAgICAgY29uc3QgZG93bmxvYWRVcmwgPSB1cmwgKyAodXJsLmluZGV4T2YoJz8nKSA9PT0gLTEgPyAnPycgOiAnJicpICsgJ2Rvd25sb2FkPXRydWUnXG5cbiAgICAgIC8vIENyZWF0ZSBhIGxpbmsgaW5zaWRlIHRoZSBpZnJhbWUgYW5kIGNsaWNrIGl0XG4gICAgICBjb25zdCBkb2MgPSBpZnJhbWUuY29udGVudERvY3VtZW50IHx8IGlmcmFtZS5jb250ZW50V2luZG93Py5kb2N1bWVudFxuICAgICAgaWYgKGRvYykge1xuICAgICAgICBjb25zdCBhID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2EnKVxuICAgICAgICBhLmhyZWYgPSBkb3dubG9hZFVybFxuICAgICAgICBhLmRvd25sb2FkID0gZmlsZU5hbWVcbiAgICAgICAgYS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnXG4gICAgICAgIGRvYy5ib2R5LmFwcGVuZENoaWxkKGEpXG4gICAgICAgIGEuY2xpY2soKVxuICAgICAgICBkb2MuYm9keS5yZW1vdmVDaGlsZChhKVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0lmcmFtZSBkb3dubG9hZCBhcHByb2FjaCBmYWlsZWQ6JywgZSlcblxuICAgICAgLy8gTGFzdCByZXNvcnQgLSB0cnkgZG93bmxvYWQgYXR0cmlidXRlIG9uIGFuY2hvciB0YWdcbiAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJylcbiAgICAgIGEuaHJlZiA9IHVybFxuICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lXG4gICAgICBhLnRhcmdldCA9ICdfc2VsZicgLy8gSW1wb3J0YW50OiB1c2UgX3NlbGYgaW5zdGVhZCBvZiBfYmxhbmtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSlcbiAgICAgIGEuY2xpY2soKVxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChhKVxuICAgIH0gZmluYWxseSB7XG4gICAgICAvLyBDbGVhbiB1cCB0aGUgaWZyYW1lXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnMoaWZyYW1lKSkge1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoaWZyYW1lKVxuICAgICAgICB9XG4gICAgICB9LCAxMDAwKVxuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxuICA8ZGl2IGNsYXNzPVwidGVhY2hlcnMtbm90ZS1oZWFkZXJcIj57eyAnYXBwdG9jc2luZ2xlcGFnZS50ZWFjaGVyc05vdGVIZWFkaW5nJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICA8ZGl2PlxuICAgIDxidXR0b24gW2Rpc2FibGVkXT1cImhhc0FjdGl2ZURvd25sb2FkcygpXCIgKGNsaWNrKT1cImRvd25sb2FkQWxsQ29udGVudCgpXCIgY2xhc3M9XCJkb3dubG9hZC1hbGwgZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiIWlzRG93bmxvYWRpbmdBbGxcIj57eyAnYXBwdG9jc2luZ2xlcGFnZS5kb3duYWxvYWRBbGxQZGZzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaXNEb3dubG9hZGluZ0FsbFwiIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPG1hdC1zcGlubmVyIGRpYW1ldGVyPVwiMTZcIiBjbGFzcz1cIm1yLTJcIj48L21hdC1zcGlubmVyPlxuICAgICAgICBEb3dubG9hZGluZ1xuICAgICAgPC9zcGFuPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZ3VpZGUtY29udGFpbmVyXCIgKm5nSWY9XCJjb250ZW50Py5yZWZlcmVuY2VOb2Rlc1wiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBub3RlIG9mIGNvbnRlbnQ/LnJlZmVyZW5jZU5vZGVzXCI+XG4gICAgPGRpdiBjbGFzcz1cImd1aWRlLWNhcmQgZmxleCBnYXAtNCBqdXN0aWZ5LWJldHdlZW5cIiAqbmdJZj1cIm5vdGU/LnJlc291cmNlQ2F0ZWdvcnkgPT09IG5vdGVzRGlzcGxheVR5cGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJub3RlLXRpdGxlXCI+e3tub3RlPy5uYW1lfX08L2Rpdj5cbiAgICAgICAgPCEtLSBUbyByZW1vdmUgdmlldyBvcHRpb24gaW4gY2FzZSBvZiBwdWJsaWMgcHJldmlldyBvZiB0b2MgIC0tPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWZvclByZXZpZXdcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMiBwdC0yXCI+XG4gICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkXCI+XG4gICAgICAgICAgICAgIHZpc2liaWxpdHlcbiAgICAgICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgIDxhIChjbGljayk9XCJwcmV2aWV3Q29udGVudChub3RlKVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZpZXctcGRmXCI+e3sgJ2FwcHRvY3NpbmdsZXBhZ2Uudmlld1BERicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZG93bmxvYWQtaW5kXCI+XG4gICAgICAgICAgPGEgKGNsaWNrKT1cImRvd25sb2FkUERGKG5vdGUpXCIgY2xhc3M9XCJkb3dubG9hZC1saW5rIGZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFkb3dubG9hZEluUHJvZ3Jlc3Nbbm90ZS5pZGVudGlmaWVyXVwiPnt7ICdhcHB0b2NzaW5nbGVwYWdlLmRvd25sb2FkUGRmJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZG93bmxvYWRJblByb2dyZXNzW25vdGUuaWRlbnRpZmllcl1cIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBkaWFtZXRlcj1cIjE2XCIgY2xhc3M9XCJtci0yXCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgRG93bmxvYWRpbmdcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjwhLS0gTm8gdGVhY2hlcnMgcmVzb3VyY2VzIG1lc3NhZ2UgLS0+XG48ZGl2ICpuZ0lmPVwiIWhhc1RlYWNoZXJSZXNvdXJjZXMoKVwiIGNsYXNzPVwibm8tcmVzb3VyY2VzLW1lc3NhZ2UgbXQtNFwiPlxuICB7eyAnYXBwdG9jc2luZ2xlcGFnZS5ub1RlYWNoZXJzUmVzb3VyY2VzJyB8IHRyYW5zbGF0ZSB9fVxuPC9kaXY+Il19
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class HandleClaimService {
5
+ constructor() {
6
+ this.eventData$ = new Subject();
7
+ }
8
+ getClaimData() {
9
+ return this.eventData$.asObservable();
10
+ }
11
+ setClaimData(reviewData) {
12
+ this.eventData$.next(reviewData);
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HandleClaimService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HandleClaimService, providedIn: 'root' }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HandleClaimService, decorators: [{
18
+ type: Injectable,
19
+ args: [{ providedIn: 'root' }]
20
+ }], ctorParameters: function () { return []; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWNsYWltLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vX2NvbW1vbi9jb250ZW50LXRvYy9jb250ZW50LXNlcnZpY2VzL2hhbmRsZS1jbGFpbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTs7QUFJMUMsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQjtRQUNRLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFBO0lBRHZCLENBQUM7SUFHVixZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFBO0lBQ3pDLENBQUM7SUFFTSxZQUFZLENBQUMsVUFBZTtRQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNwQyxDQUFDOytHQVZRLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRkwsTUFBTTs7NEZBRW5CLGtCQUFrQjtrQkFGOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuXG5leHBvcnQgY2xhc3MgSGFuZGxlQ2xhaW1TZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxuICAgIHByaXZhdGUgZXZlbnREYXRhJCA9IG5ldyBTdWJqZWN0PGFueT4oKVxuXG4gICAgcHVibGljIGdldENsYWltRGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmVudERhdGEkLmFzT2JzZXJ2YWJsZSgpXG4gICAgfVxuXG4gICAgcHVibGljIHNldENsYWltRGF0YShyZXZpZXdEYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5ldmVudERhdGEkLm5leHQocmV2aWV3RGF0YSlcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class ReviewComponentDataService {
5
+ constructor() {
6
+ this.reviewData$ = new Subject();
7
+ }
8
+ getReviewData() {
9
+ return this.reviewData$.asObservable();
10
+ }
11
+ setReviewData(reviewData) {
12
+ this.reviewData$.next(reviewData);
13
+ }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReviewComponentDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReviewComponentDataService, providedIn: 'root' }); }
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ReviewComponentDataService, decorators: [{
18
+ type: Injectable,
19
+ args: [{ providedIn: 'root' }]
20
+ }], ctorParameters: function () { return []; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV2aWV3LWNvbXBvbmVudC1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJ5L3N1bmJpcmQtY2IvdG9jL3NyYy9saWIvX2NvbGxlY3Rpb24vX2NvbW1vbi9jb250ZW50LXRvYy9jb250ZW50LXNlcnZpY2VzL3Jldmlldy1jb21wb25lbnQtZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTs7QUFJMUMsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQztRQUNRLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQTtJQUR4QixDQUFDO0lBR1YsYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDMUMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFlO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7K0dBVlEsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGYixNQUFNOzs0RkFFbkIsMEJBQTBCO2tCQUZ0QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5cbmV4cG9ydCBjbGFzcyBSZXZpZXdDb21wb25lbnREYXRhU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7IH1cbiAgICBwcml2YXRlIHJldmlld0RhdGEkID0gbmV3IFN1YmplY3Q8YW55PigpXG5cbiAgICBwdWJsaWMgZ2V0UmV2aWV3RGF0YSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXZpZXdEYXRhJC5hc09ic2VydmFibGUoKVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRSZXZpZXdEYXRhKHJldmlld0RhdGE6IGFueSkge1xuICAgICAgICB0aGlzLnJldmlld0RhdGEkLm5leHQocmV2aWV3RGF0YSlcbiAgICB9XG59XG4iXX0=