@sunbird-cb/utils-v2 0.0.11 → 0.0.13

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 (311) hide show
  1. package/bundles/sunbird-cb-utils-v2.umd.js +6701 -6677
  2. package/bundles/sunbird-cb-utils-v2.umd.js.map +1 -1
  3. package/bundles/sunbird-cb-utils-v2.umd.min.js +1 -1
  4. package/bundles/sunbird-cb-utils-v2.umd.min.js.map +1 -1
  5. package/esm2015/lib/components/image-crop/image-crop.component.js +194 -194
  6. package/esm2015/lib/components/image-crop/image-crop.module.js +26 -26
  7. package/esm2015/lib/constants/features.enum.js +554 -554
  8. package/esm2015/lib/constants/instances.enum.js +4 -4
  9. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +86 -86
  10. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +14 -14
  11. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +37 -37
  12. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +14 -14
  13. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +91 -91
  14. package/esm2015/lib/directives/image-responsive/image-responsive.module.js +14 -14
  15. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +67 -67
  16. package/esm2015/lib/directives/in-view-port/in-view-port.module.js +14 -14
  17. package/esm2015/lib/directives/navigation/navigation.directive.js +38 -38
  18. package/esm2015/lib/directives/navigation/navigation.module.js +14 -14
  19. package/esm2015/lib/directives/permission/permission.directive.js +10 -10
  20. package/esm2015/lib/directives/permission/permission.module.js +14 -14
  21. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +8 -8
  22. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +98 -98
  23. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +18 -18
  24. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +194 -194
  25. package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +19 -19
  26. package/esm2015/lib/helpers/logout/logout.component.js +89 -89
  27. package/esm2015/lib/helpers/logout/logout.module.js +19 -19
  28. package/esm2015/lib/models/profile-v3.models.js +104 -104
  29. package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.js +15 -15
  30. package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +116 -94
  31. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +12 -12
  32. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +58 -58
  33. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +14 -14
  34. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +32 -32
  35. package/esm2015/lib/pipes/pipe-coursename/PipeCourseNameModule.js +15 -15
  36. package/esm2015/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +13 -13
  37. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +14 -14
  38. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +42 -42
  39. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +14 -14
  40. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +81 -81
  41. package/esm2015/lib/pipes/pipe-email/pipe-email.module.js +15 -15
  42. package/esm2015/lib/pipes/pipe-email/pipe-email.pipe.js +12 -12
  43. package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +14 -14
  44. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +15 -15
  45. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +14 -14
  46. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +37 -37
  47. package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.js +14 -14
  48. package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +20 -20
  49. package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.js +15 -15
  50. package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +23 -23
  51. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +14 -14
  52. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +11 -11
  53. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +14 -14
  54. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +24 -24
  55. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +14 -14
  56. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +16 -16
  57. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +14 -14
  58. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +26 -26
  59. package/esm2015/lib/pipes/pipe-nic-relative/pipe-nic-relative.module.js +15 -15
  60. package/esm2015/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +39 -39
  61. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +14 -14
  62. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +15 -15
  63. package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.module.js +15 -15
  64. package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +17 -17
  65. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +14 -14
  66. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +17 -17
  67. package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.module.js +15 -15
  68. package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +26 -26
  69. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +14 -14
  70. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +15 -15
  71. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +14 -14
  72. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +34 -34
  73. package/esm2015/lib/resolvers/explore-detail.resolver.js +88 -88
  74. package/esm2015/lib/resolvers/marketing-offering.resolve.js +39 -39
  75. package/esm2015/lib/resolvers/module-name.resolver.js +38 -38
  76. package/esm2015/lib/resolvers/page-name.resolver.js +32 -32
  77. package/esm2015/lib/resolvers/page.constant.js +3 -3
  78. package/esm2015/lib/resolvers/page.model.js +47 -47
  79. package/esm2015/lib/resolvers/page.resolver.js +89 -89
  80. package/esm2015/lib/resolvers/resolver.model.js +5 -5
  81. package/esm2015/lib/services/auth-keycloak.service.js +267 -267
  82. package/esm2015/lib/services/auth-microsoft.service.js +195 -195
  83. package/esm2015/lib/services/card-content.model.js +30 -30
  84. package/esm2015/lib/services/configurations.model.js +550 -550
  85. package/esm2015/lib/services/configurations.service.js +142 -140
  86. package/esm2015/lib/services/content-strip-multiple.model.js +74 -74
  87. package/esm2015/lib/services/event.model.js +257 -257
  88. package/esm2015/lib/services/event.service.js +210 -210
  89. package/esm2015/lib/services/logger.service.js +54 -54
  90. package/esm2015/lib/services/ms-office.model.js +7 -7
  91. package/esm2015/lib/services/multilingual-translations.service.js +136 -136
  92. package/esm2015/lib/services/nps-grid.service.js +45 -45
  93. package/esm2015/lib/services/subapplication-respond.service.js +213 -213
  94. package/esm2015/lib/services/telemetry.service.js +620 -620
  95. package/esm2015/lib/services/user-preference.model.js +37 -37
  96. package/esm2015/lib/services/user-preference.service.js +89 -89
  97. package/esm2015/lib/services/utility.service.js +144 -144
  98. package/esm2015/lib/services/value.service.js +30 -30
  99. package/esm2015/lib/services/widget-content.model.js +372 -372
  100. package/esm2015/lib/services/widget-content.service.js +203 -203
  101. package/esm2015/lib/services/widget-resolver.model.js +56 -56
  102. package/esm2015/lib/services/widget-search.model.js +125 -125
  103. package/esm2015/public-api.js +87 -87
  104. package/esm2015/sunbird-cb-utils-v2.js +9 -9
  105. package/esm5/lib/components/image-crop/image-crop.component.js +199 -199
  106. package/esm5/lib/components/image-crop/image-crop.module.js +30 -30
  107. package/esm5/lib/constants/features.enum.js +554 -554
  108. package/esm5/lib/constants/instances.enum.js +4 -4
  109. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +104 -104
  110. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +18 -18
  111. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +39 -39
  112. package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +18 -18
  113. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +94 -94
  114. package/esm5/lib/directives/image-responsive/image-responsive.module.js +18 -18
  115. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +72 -72
  116. package/esm5/lib/directives/in-view-port/in-view-port.module.js +18 -18
  117. package/esm5/lib/directives/navigation/navigation.directive.js +40 -40
  118. package/esm5/lib/directives/navigation/navigation.module.js +18 -18
  119. package/esm5/lib/directives/permission/permission.directive.js +13 -13
  120. package/esm5/lib/directives/permission/permission.module.js +18 -18
  121. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +8 -8
  122. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +102 -102
  123. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +22 -22
  124. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +199 -199
  125. package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +23 -23
  126. package/esm5/lib/helpers/logout/logout.component.js +95 -95
  127. package/esm5/lib/helpers/logout/logout.module.js +23 -23
  128. package/esm5/lib/models/profile-v3.models.js +104 -104
  129. package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.js +19 -19
  130. package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +118 -96
  131. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +16 -16
  132. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +62 -62
  133. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +18 -18
  134. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +36 -36
  135. package/esm5/lib/pipes/pipe-coursename/PipeCourseNameModule.js +19 -19
  136. package/esm5/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +17 -17
  137. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +18 -18
  138. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +44 -44
  139. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +18 -18
  140. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +85 -85
  141. package/esm5/lib/pipes/pipe-email/pipe-email.module.js +19 -19
  142. package/esm5/lib/pipes/pipe-email/pipe-email.pipe.js +16 -16
  143. package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +18 -18
  144. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +19 -19
  145. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +18 -18
  146. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +45 -45
  147. package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.js +18 -18
  148. package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +24 -24
  149. package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.js +19 -19
  150. package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +31 -31
  151. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +18 -18
  152. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +15 -15
  153. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +18 -18
  154. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +29 -29
  155. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +18 -18
  156. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +20 -20
  157. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +18 -18
  158. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +30 -30
  159. package/esm5/lib/pipes/pipe-nic-relative/pipe-nic-relative.module.js +19 -19
  160. package/esm5/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +41 -41
  161. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +18 -18
  162. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +17 -17
  163. package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.module.js +19 -19
  164. package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +21 -21
  165. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +18 -18
  166. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +33 -33
  167. package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.module.js +19 -19
  168. package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +28 -28
  169. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +18 -18
  170. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +19 -19
  171. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +18 -18
  172. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +37 -37
  173. package/esm5/lib/resolvers/explore-detail.resolver.js +92 -92
  174. package/esm5/lib/resolvers/marketing-offering.resolve.js +42 -42
  175. package/esm5/lib/resolvers/module-name.resolver.js +40 -40
  176. package/esm5/lib/resolvers/page-name.resolver.js +35 -35
  177. package/esm5/lib/resolvers/page.constant.js +3 -3
  178. package/esm5/lib/resolvers/page.model.js +47 -47
  179. package/esm5/lib/resolvers/page.resolver.js +97 -97
  180. package/esm5/lib/resolvers/resolver.model.js +5 -5
  181. package/esm5/lib/services/auth-keycloak.service.js +352 -352
  182. package/esm5/lib/services/auth-microsoft.service.js +250 -250
  183. package/esm5/lib/services/card-content.model.js +30 -30
  184. package/esm5/lib/services/configurations.model.js +550 -550
  185. package/esm5/lib/services/configurations.service.js +144 -142
  186. package/esm5/lib/services/content-strip-multiple.model.js +74 -74
  187. package/esm5/lib/services/event.model.js +257 -257
  188. package/esm5/lib/services/event.service.js +214 -214
  189. package/esm5/lib/services/logger.service.js +72 -72
  190. package/esm5/lib/services/ms-office.model.js +7 -7
  191. package/esm5/lib/services/multilingual-translations.service.js +138 -138
  192. package/esm5/lib/services/nps-grid.service.js +47 -47
  193. package/esm5/lib/services/subapplication-respond.service.js +218 -218
  194. package/esm5/lib/services/telemetry.service.js +669 -669
  195. package/esm5/lib/services/user-preference.model.js +37 -37
  196. package/esm5/lib/services/user-preference.service.js +108 -108
  197. package/esm5/lib/services/utility.service.js +177 -177
  198. package/esm5/lib/services/value.service.js +32 -32
  199. package/esm5/lib/services/widget-content.model.js +372 -372
  200. package/esm5/lib/services/widget-content.service.js +225 -225
  201. package/esm5/lib/services/widget-resolver.model.js +56 -56
  202. package/esm5/lib/services/widget-search.model.js +125 -125
  203. package/esm5/public-api.js +87 -87
  204. package/esm5/sunbird-cb-utils-v2.js +9 -9
  205. package/fesm2015/sunbird-cb-utils-v2.js +6192 -6168
  206. package/fesm2015/sunbird-cb-utils-v2.js.map +1 -1
  207. package/fesm5/sunbird-cb-utils-v2.js +6701 -6677
  208. package/fesm5/sunbird-cb-utils-v2.js.map +1 -1
  209. package/lib/components/image-crop/image-crop.component.d.ts +56 -56
  210. package/lib/components/image-crop/image-crop.module.d.ts +2 -2
  211. package/lib/constants/features.enum.d.ts +553 -553
  212. package/lib/constants/instances.enum.d.ts +3 -3
  213. package/lib/constants/misc.constants.d.ts +2 -2
  214. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +18 -18
  215. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +2 -2
  216. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +9 -9
  217. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +2 -2
  218. package/lib/directives/image-responsive/image-responsive.directive.d.ts +17 -17
  219. package/lib/directives/image-responsive/image-responsive.module.d.ts +2 -2
  220. package/lib/directives/in-view-port/in-view-port.directive.d.ts +11 -11
  221. package/lib/directives/in-view-port/in-view-port.module.d.ts +2 -2
  222. package/lib/directives/navigation/navigation.directive.d.ts +9 -9
  223. package/lib/directives/navigation/navigation.module.d.ts +2 -2
  224. package/lib/directives/permission/permission.directive.d.ts +3 -3
  225. package/lib/directives/permission/permission.module.d.ts +2 -2
  226. package/lib/helpers/functions/getStringifiedQueryParams.d.ts +3 -3
  227. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +18 -18
  228. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +2 -2
  229. package/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts +36 -36
  230. package/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts +2 -2
  231. package/lib/helpers/logout/logout.component.d.ts +20 -20
  232. package/lib/helpers/logout/logout.module.d.ts +2 -2
  233. package/lib/models/profile-v3.models.d.ts +91 -91
  234. package/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.module.d.ts +2 -2
  235. package/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.d.ts +6 -6
  236. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +2 -2
  237. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +10 -10
  238. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +2 -2
  239. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +4 -4
  240. package/lib/pipes/pipe-coursename/PipeCourseNameModule.d.ts +2 -2
  241. package/lib/pipes/pipe-coursename/pipe-coursename.pipe.d.ts +4 -4
  242. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +2 -2
  243. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +13 -13
  244. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +2 -2
  245. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +6 -6
  246. package/lib/pipes/pipe-email/pipe-email.module.d.ts +2 -2
  247. package/lib/pipes/pipe-email/pipe-email.pipe.d.ts +4 -4
  248. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +2 -2
  249. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +4 -4
  250. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +2 -2
  251. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +4 -4
  252. package/lib/pipes/pipe-filter-v2/pipe-filter-v2.module.d.ts +2 -2
  253. package/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.d.ts +4 -4
  254. package/lib/pipes/pipe-filter-v3/pipe-filter-v3.module.d.ts +2 -2
  255. package/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.d.ts +4 -4
  256. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +2 -2
  257. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +4 -4
  258. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +2 -2
  259. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +4 -4
  260. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +2 -2
  261. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +4 -4
  262. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +2 -2
  263. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +9 -9
  264. package/lib/pipes/pipe-nic-relative/pipe-nic-relative.module.d.ts +2 -2
  265. package/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.d.ts +7 -7
  266. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +2 -2
  267. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +9 -9
  268. package/lib/pipes/pipe-ordinal/pipe-ordinal.module.d.ts +2 -2
  269. package/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.d.ts +4 -4
  270. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +2 -2
  271. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +4 -4
  272. package/lib/pipes/pipe-public-URL/pipe-public-URL.module.d.ts +2 -2
  273. package/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts +6 -6
  274. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +2 -2
  275. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +4 -4
  276. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +2 -2
  277. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +7 -7
  278. package/lib/resolvers/explore-detail.resolver.d.ts +16 -16
  279. package/lib/resolvers/marketing-offering.resolve.d.ts +10 -10
  280. package/lib/resolvers/module-name.resolver.d.ts +6 -6
  281. package/lib/resolvers/page-name.resolver.d.ts +5 -5
  282. package/lib/resolvers/page.constant.d.ts +1 -1
  283. package/lib/resolvers/page.model.d.ts +41 -41
  284. package/lib/resolvers/page.resolver.d.ts +17 -17
  285. package/lib/resolvers/resolver.model.d.ts +4 -4
  286. package/lib/services/auth-keycloak.service.d.ts +31 -31
  287. package/lib/services/auth-microsoft.service.d.ts +30 -30
  288. package/lib/services/card-content.model.d.ts +29 -29
  289. package/lib/services/configurations.model.d.ts +523 -523
  290. package/lib/services/configurations.service.d.ts +74 -73
  291. package/lib/services/content-strip-multiple.model.d.ts +79 -79
  292. package/lib/services/event.model.d.ts +221 -221
  293. package/lib/services/event.service.d.ts +30 -30
  294. package/lib/services/logger.service.d.ts +15 -15
  295. package/lib/services/ms-office.model.d.ts +6 -6
  296. package/lib/services/multilingual-translations.service.d.ts +20 -20
  297. package/lib/services/nps-grid.service.d.ts +12 -12
  298. package/lib/services/subapplication-respond.service.d.ts +23 -23
  299. package/lib/services/telemetry.service.d.ts +56 -56
  300. package/lib/services/user-preference.model.d.ts +34 -34
  301. package/lib/services/user-preference.service.d.ts +11 -11
  302. package/lib/services/utility.service.d.ts +31 -31
  303. package/lib/services/value.service.d.ts +8 -8
  304. package/lib/services/widget-content.model.d.ts +344 -344
  305. package/lib/services/widget-content.service.d.ts +50 -50
  306. package/lib/services/widget-resolver.model.d.ts +48 -48
  307. package/lib/services/widget-search.model.d.ts +114 -114
  308. package/package.json +1 -1
  309. package/public-api.d.ts +87 -87
  310. package/sunbird-cb-utils-v2.d.ts +9 -9
  311. package/sunbird-cb-utils-v2.metadata.json +1 -1
@@ -1,214 +1,214 @@
1
- import { Injectable } from '@angular/core';
2
- import { ActivatedRoute, Router } from '@angular/router';
3
- import { WidgetContentService } from './widget-content.service';
4
- import { ConfigurationsService } from './configurations.service';
5
- import { WsEvents } from './event.model';
6
- import { EventService } from './event.service';
7
- import { TelemetryService } from './telemetry.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "./configurations.service";
10
- import * as i2 from "./widget-content.service";
11
- import * as i3 from "@angular/router";
12
- import * as i4 from "./event.service";
13
- import * as i5 from "./telemetry.service";
14
- export class SubapplicationRespondService {
15
- constructor(configSvc, contentSvc, activatedRoute, router, eventSvc, teleSvc) {
16
- this.configSvc = configSvc;
17
- this.contentSvc = contentSvc;
18
- this.activatedRoute = activatedRoute;
19
- this.router = router;
20
- this.eventSvc = eventSvc;
21
- this.teleSvc = teleSvc;
22
- this.subAppname = '';
23
- this.continueLearningData = null;
24
- this.loaded = false;
25
- this.changeContextrespond();
26
- this.configSvc.prefChangeNotifier.subscribe((() => {
27
- this.changeContextrespond();
28
- }));
29
- }
30
- loadedRespond(contentWindow, applicationName, id) {
31
- if (id && this.activatedRoute.snapshot.queryParams.viewMode && this.activatedRoute.snapshot.queryParams.viewMode === 'RESUME') {
32
- this.continueLearningData = null;
33
- this.contentSvc.fetchContentHistory(id).subscribe((data => {
34
- this.continueLearningData = data.continueData;
35
- if (this.configSvc && this.configSvc.userProfile) {
36
- const firstName = this.configSvc.userProfile.userName ?
37
- this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
38
- const lastName = this.configSvc.userProfile.userName ?
39
- this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
40
- const viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
41
- this.activatedRoute.snapshot.queryParams.viewMode : '';
42
- const response = {
43
- subApplicationName: applicationName,
44
- requestId: 'LOADED',
45
- parentContext: {
46
- domainName: window.location.host,
47
- url: this.router.url,
48
- rootOrg: this.configSvc.rootOrg,
49
- theme: this.configSvc.activeThemeObject ? Object.assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
50
- fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
51
- locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
52
- darkMode: this.configSvc.isDarkMode,
53
- subApplicationStartMode: viewMode.toUpperCase(),
54
- user: {
55
- firstName,
56
- lastName,
57
- userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
58
- roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
59
- },
60
- heartbeatFrequency: '200',
61
- },
62
- data: this.continueLearningData.data ? {
63
- continueLearning: this.continueLearningData.data,
64
- } : null,
65
- };
66
- contentWindow.postMessage(response, '*');
67
- this.contentWindowinfo = contentWindow;
68
- this.loaded = true;
69
- this.subAppname = applicationName;
70
- }
71
- }));
72
- }
73
- else {
74
- if (this.configSvc && this.configSvc.userProfile) {
75
- const firstName = this.configSvc.userProfile.userName ?
76
- this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
77
- const lastName = this.configSvc.userProfile.userName ?
78
- this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
79
- const viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
80
- this.activatedRoute.snapshot.queryParams.viewMode : '';
81
- const response = {
82
- subApplicationName: applicationName,
83
- requestId: 'LOADED',
84
- parentContext: {
85
- domainName: window.location.host,
86
- url: this.router.url,
87
- rootOrg: this.configSvc.rootOrg,
88
- theme: this.configSvc.activeThemeObject ? Object.assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
89
- fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
90
- locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
91
- darkMode: this.configSvc.isDarkMode,
92
- subApplicationStartMode: viewMode.toUpperCase(),
93
- user: {
94
- firstName,
95
- lastName,
96
- userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
97
- roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
98
- },
99
- heartbeatFrequency: '200',
100
- },
101
- data: null,
102
- };
103
- contentWindow.postMessage(response, '*');
104
- this.contentWindowinfo = contentWindow;
105
- this.loaded = true;
106
- this.subAppname = applicationName;
107
- }
108
- }
109
- }
110
- continueLearningRespond(id, continueLearning) {
111
- this.contentSvc.saveContinueLearning({
112
- contextPathId: id,
113
- resourceId: id,
114
- data: JSON.stringify({ timestamp: Date.now(), data: continueLearning }),
115
- dateAccessed: Date.now(),
116
- })
117
- .toPromise()
118
- .catch();
119
- }
120
- telemetryEvents(tData) {
121
- if (tData) {
122
- switch (tData.eventId) {
123
- case 'INTERACT':
124
- this.eventSvc.dispatchEvent({
125
- eventType: WsEvents.WsEventType.Telemetry,
126
- eventLogLevel: WsEvents.WsEventLogLevel.Warn,
127
- data: Object.assign({}, tData.data, { eventSubType: WsEvents.EnumTelemetrySubType.Interact }),
128
- from: tData.subApplicationName,
129
- to: 'Telemetry',
130
- });
131
- break;
132
- case 'HEARTBEAT':
133
- this.eventSvc.dispatchEvent({
134
- eventType: WsEvents.WsEventType.Telemetry,
135
- eventLogLevel: WsEvents.WsEventLogLevel.Trace,
136
- data: Object.assign({}, tData.data, { eventSubType: WsEvents.EnumTelemetrySubType.HeartBeat }),
137
- from: tData.subApplicationName,
138
- to: 'Telemetry',
139
- });
140
- break;
141
- case 'IMPRESSION':
142
- this.teleSvc.externalImpression(tData.data);
143
- break;
144
- default:
145
- break;
146
- }
147
- }
148
- }
149
- unsubscribeResponse() {
150
- this.subAppname = '';
151
- this.continueLearningData = null;
152
- this.contentWindowinfo = null;
153
- this.loaded = false;
154
- }
155
- changeContextrespond() {
156
- if (this.loaded && this.contentWindowinfo && this.configSvc && this.configSvc.userProfile && this.subAppname) {
157
- const firstName = this.configSvc.userProfile.userName ?
158
- this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
159
- const lastName = this.configSvc.userProfile.userName ?
160
- this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
161
- const viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
162
- this.activatedRoute.snapshot.queryParams.viewMode : '';
163
- const response = {
164
- subApplicationName: this.subAppname,
165
- requestId: 'CONTEXT_CHANGE',
166
- parentContext: {
167
- domainName: window.location.host,
168
- url: this.router.url,
169
- rootOrg: this.configSvc.rootOrg,
170
- theme: this.configSvc.activeThemeObject ? Object.assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
171
- fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
172
- locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
173
- darkMode: this.configSvc.isDarkMode,
174
- subApplicationStartMode: viewMode.toUpperCase(),
175
- user: {
176
- firstName,
177
- lastName,
178
- userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
179
- roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
180
- },
181
- heartbeatFrequency: '200',
182
- },
183
- };
184
- this.contentWindowinfo.postMessage(response, '*');
185
- }
186
- }
187
- }
188
- SubapplicationRespondService.decorators = [
189
- { type: Injectable, args: [{
190
- providedIn: 'root',
191
- },] }
192
- ];
193
- SubapplicationRespondService.ctorParameters = () => [
194
- { type: ConfigurationsService },
195
- { type: WidgetContentService },
196
- { type: ActivatedRoute },
197
- { type: Router },
198
- { type: EventService },
199
- { type: TelemetryService }
200
- ];
201
- /** @nocollapse */ SubapplicationRespondService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function SubapplicationRespondService_Factory() { return new SubapplicationRespondService(i0.ɵɵinject(i1.ConfigurationsService), i0.ɵɵinject(i2.WidgetContentService), i0.ɵɵinject(i3.ActivatedRoute), i0.ɵɵinject(i3.Router), i0.ɵɵinject(i4.EventService), i0.ɵɵinject(i5.TelemetryService)); }, token: SubapplicationRespondService, providedIn: "root" });
202
- if (false) {
203
- SubapplicationRespondService.prototype.subAppname;
204
- SubapplicationRespondService.prototype.continueLearningData;
205
- SubapplicationRespondService.prototype.contentWindowinfo;
206
- SubapplicationRespondService.prototype.loaded;
207
- SubapplicationRespondService.prototype.configSvc;
208
- SubapplicationRespondService.prototype.contentSvc;
209
- SubapplicationRespondService.prototype.activatedRoute;
210
- SubapplicationRespondService.prototype.router;
211
- SubapplicationRespondService.prototype.eventSvc;
212
- SubapplicationRespondService.prototype.teleSvc;
213
- }
1
+ import { Injectable } from '@angular/core';
2
+ import { ActivatedRoute, Router } from '@angular/router';
3
+ import { WidgetContentService } from './widget-content.service';
4
+ import { ConfigurationsService } from './configurations.service';
5
+ import { WsEvents } from './event.model';
6
+ import { EventService } from './event.service';
7
+ import { TelemetryService } from './telemetry.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./configurations.service";
10
+ import * as i2 from "./widget-content.service";
11
+ import * as i3 from "@angular/router";
12
+ import * as i4 from "./event.service";
13
+ import * as i5 from "./telemetry.service";
14
+ export class SubapplicationRespondService {
15
+ constructor(configSvc, contentSvc, activatedRoute, router, eventSvc, teleSvc) {
16
+ this.configSvc = configSvc;
17
+ this.contentSvc = contentSvc;
18
+ this.activatedRoute = activatedRoute;
19
+ this.router = router;
20
+ this.eventSvc = eventSvc;
21
+ this.teleSvc = teleSvc;
22
+ this.subAppname = '';
23
+ this.continueLearningData = null;
24
+ this.loaded = false;
25
+ this.changeContextrespond();
26
+ this.configSvc.prefChangeNotifier.subscribe((() => {
27
+ this.changeContextrespond();
28
+ }));
29
+ }
30
+ loadedRespond(contentWindow, applicationName, id) {
31
+ if (id && this.activatedRoute.snapshot.queryParams.viewMode && this.activatedRoute.snapshot.queryParams.viewMode === 'RESUME') {
32
+ this.continueLearningData = null;
33
+ this.contentSvc.fetchContentHistory(id).subscribe((data => {
34
+ this.continueLearningData = data.continueData;
35
+ if (this.configSvc && this.configSvc.userProfile) {
36
+ const firstName = this.configSvc.userProfile.userName ?
37
+ this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
38
+ const lastName = this.configSvc.userProfile.userName ?
39
+ this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
40
+ const viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
41
+ this.activatedRoute.snapshot.queryParams.viewMode : '';
42
+ const response = {
43
+ subApplicationName: applicationName,
44
+ requestId: 'LOADED',
45
+ parentContext: {
46
+ domainName: window.location.host,
47
+ url: this.router.url,
48
+ rootOrg: this.configSvc.rootOrg,
49
+ theme: this.configSvc.activeThemeObject ? Object.assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
50
+ fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
51
+ locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
52
+ darkMode: this.configSvc.isDarkMode,
53
+ subApplicationStartMode: viewMode.toUpperCase(),
54
+ user: {
55
+ firstName,
56
+ lastName,
57
+ userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
58
+ roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
59
+ },
60
+ heartbeatFrequency: '200',
61
+ },
62
+ data: this.continueLearningData.data ? {
63
+ continueLearning: this.continueLearningData.data,
64
+ } : null,
65
+ };
66
+ contentWindow.postMessage(response, '*');
67
+ this.contentWindowinfo = contentWindow;
68
+ this.loaded = true;
69
+ this.subAppname = applicationName;
70
+ }
71
+ }));
72
+ }
73
+ else {
74
+ if (this.configSvc && this.configSvc.userProfile) {
75
+ const firstName = this.configSvc.userProfile.userName ?
76
+ this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
77
+ const lastName = this.configSvc.userProfile.userName ?
78
+ this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
79
+ const viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
80
+ this.activatedRoute.snapshot.queryParams.viewMode : '';
81
+ const response = {
82
+ subApplicationName: applicationName,
83
+ requestId: 'LOADED',
84
+ parentContext: {
85
+ domainName: window.location.host,
86
+ url: this.router.url,
87
+ rootOrg: this.configSvc.rootOrg,
88
+ theme: this.configSvc.activeThemeObject ? Object.assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
89
+ fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
90
+ locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
91
+ darkMode: this.configSvc.isDarkMode,
92
+ subApplicationStartMode: viewMode.toUpperCase(),
93
+ user: {
94
+ firstName,
95
+ lastName,
96
+ userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
97
+ roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
98
+ },
99
+ heartbeatFrequency: '200',
100
+ },
101
+ data: null,
102
+ };
103
+ contentWindow.postMessage(response, '*');
104
+ this.contentWindowinfo = contentWindow;
105
+ this.loaded = true;
106
+ this.subAppname = applicationName;
107
+ }
108
+ }
109
+ }
110
+ continueLearningRespond(id, continueLearning) {
111
+ this.contentSvc.saveContinueLearning({
112
+ contextPathId: id,
113
+ resourceId: id,
114
+ data: JSON.stringify({ timestamp: Date.now(), data: continueLearning }),
115
+ dateAccessed: Date.now(),
116
+ })
117
+ .toPromise()
118
+ .catch();
119
+ }
120
+ telemetryEvents(tData) {
121
+ if (tData) {
122
+ switch (tData.eventId) {
123
+ case 'INTERACT':
124
+ this.eventSvc.dispatchEvent({
125
+ eventType: WsEvents.WsEventType.Telemetry,
126
+ eventLogLevel: WsEvents.WsEventLogLevel.Warn,
127
+ data: Object.assign({}, tData.data, { eventSubType: WsEvents.EnumTelemetrySubType.Interact }),
128
+ from: tData.subApplicationName,
129
+ to: 'Telemetry',
130
+ });
131
+ break;
132
+ case 'HEARTBEAT':
133
+ this.eventSvc.dispatchEvent({
134
+ eventType: WsEvents.WsEventType.Telemetry,
135
+ eventLogLevel: WsEvents.WsEventLogLevel.Trace,
136
+ data: Object.assign({}, tData.data, { eventSubType: WsEvents.EnumTelemetrySubType.HeartBeat }),
137
+ from: tData.subApplicationName,
138
+ to: 'Telemetry',
139
+ });
140
+ break;
141
+ case 'IMPRESSION':
142
+ this.teleSvc.externalImpression(tData.data);
143
+ break;
144
+ default:
145
+ break;
146
+ }
147
+ }
148
+ }
149
+ unsubscribeResponse() {
150
+ this.subAppname = '';
151
+ this.continueLearningData = null;
152
+ this.contentWindowinfo = null;
153
+ this.loaded = false;
154
+ }
155
+ changeContextrespond() {
156
+ if (this.loaded && this.contentWindowinfo && this.configSvc && this.configSvc.userProfile && this.subAppname) {
157
+ const firstName = this.configSvc.userProfile.userName ?
158
+ this.configSvc.userProfile.userName.split(' ', 2)[0] : '';
159
+ const lastName = this.configSvc.userProfile.userName ?
160
+ this.configSvc.userProfile.userName.split(' ', 2)[1] : '';
161
+ const viewMode = this.activatedRoute.snapshot.queryParams.viewMode ?
162
+ this.activatedRoute.snapshot.queryParams.viewMode : '';
163
+ const response = {
164
+ subApplicationName: this.subAppname,
165
+ requestId: 'CONTEXT_CHANGE',
166
+ parentContext: {
167
+ domainName: window.location.host,
168
+ url: this.router.url,
169
+ rootOrg: this.configSvc.rootOrg,
170
+ theme: this.configSvc.activeThemeObject ? Object.assign({ name: this.configSvc.activeThemeObject.themeName }, this.configSvc.activeThemeObject.color) : '',
171
+ fontSize: this.configSvc.activeFontObject ? this.configSvc.activeFontObject.baseFontSize : '14px',
172
+ locale: (this.configSvc.userPreference && this.configSvc.userPreference.selectedLocale) || 'en',
173
+ darkMode: this.configSvc.isDarkMode,
174
+ subApplicationStartMode: viewMode.toUpperCase(),
175
+ user: {
176
+ firstName,
177
+ lastName,
178
+ userId: this.configSvc.userProfile.userId ? this.configSvc.userProfile.userId : '',
179
+ roles: this.configSvc.userRoles ? Array.from(this.configSvc.userRoles) : [],
180
+ },
181
+ heartbeatFrequency: '200',
182
+ },
183
+ };
184
+ this.contentWindowinfo.postMessage(response, '*');
185
+ }
186
+ }
187
+ }
188
+ SubapplicationRespondService.decorators = [
189
+ { type: Injectable, args: [{
190
+ providedIn: 'root',
191
+ },] }
192
+ ];
193
+ SubapplicationRespondService.ctorParameters = () => [
194
+ { type: ConfigurationsService },
195
+ { type: WidgetContentService },
196
+ { type: ActivatedRoute },
197
+ { type: Router },
198
+ { type: EventService },
199
+ { type: TelemetryService }
200
+ ];
201
+ /** @nocollapse */ SubapplicationRespondService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function SubapplicationRespondService_Factory() { return new SubapplicationRespondService(i0.ɵɵinject(i1.ConfigurationsService), i0.ɵɵinject(i2.WidgetContentService), i0.ɵɵinject(i3.ActivatedRoute), i0.ɵɵinject(i3.Router), i0.ɵɵinject(i4.EventService), i0.ɵɵinject(i5.TelemetryService)); }, token: SubapplicationRespondService, providedIn: "root" });
202
+ if (false) {
203
+ SubapplicationRespondService.prototype.subAppname;
204
+ SubapplicationRespondService.prototype.continueLearningData;
205
+ SubapplicationRespondService.prototype.contentWindowinfo;
206
+ SubapplicationRespondService.prototype.loaded;
207
+ SubapplicationRespondService.prototype.configSvc;
208
+ SubapplicationRespondService.prototype.contentSvc;
209
+ SubapplicationRespondService.prototype.activatedRoute;
210
+ SubapplicationRespondService.prototype.router;
211
+ SubapplicationRespondService.prototype.eventSvc;
212
+ SubapplicationRespondService.prototype.teleSvc;
213
+ }
214
214
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViYXBwbGljYXRpb24tcmVzcG9uZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvc3ViYXBwbGljYXRpb24tcmVzcG9uZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUUvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTs7Ozs7OztBQUl0RCxNQUFNLE9BQU8sNEJBQTRCO0lBS3ZDLFlBQ1UsU0FBZ0MsRUFDaEMsVUFBZ0MsRUFFaEMsY0FBOEIsRUFDOUIsTUFBYyxFQUNkLFFBQXNCLEVBQ3RCLE9BQXlCO1FBTnpCLGNBQVMsR0FBVCxTQUFTLENBQXVCO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQXNCO1FBRWhDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsYUFBUSxHQUFSLFFBQVEsQ0FBYztRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQVhuQyxlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YseUJBQW9CLEdBQVEsSUFBSSxDQUFBO1FBRWhDLFdBQU0sR0FBRyxLQUFLLENBQUE7UUFVWixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtRQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFr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O0lBS3ZCLGtEQUFlO0lBQ2YsNERBQWdDO0lBQ2hDLHlEQUFzQjtJQUN0Qiw4Q0FBYztJQUVaLGlEQUF3QztJQUN4QyxrREFBd0M7SUFFeEMsc0RBQXNDO0lBQ3RDLDhDQUFzQjtJQUN0QixnREFBOEI7SUFDOUIsK0NBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXHJcbmltcG9ydCB7IFdpZGdldENvbnRlbnRTZXJ2aWNlIH0gZnJvbSAnLi93aWRnZXQtY29udGVudC5zZXJ2aWNlJ1xyXG4vLyBpbXBvcnQgeyBBdXRoS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLWtleWNsb2FrLnNlcnZpY2UnXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMuc2VydmljZSdcclxuaW1wb3J0IHsgV3NFdmVudHMgfSBmcm9tICcuL2V2ZW50Lm1vZGVsJ1xyXG5pbXBvcnQgeyBFdmVudFNlcnZpY2UgfSBmcm9tICcuL2V2ZW50LnNlcnZpY2UnXHJcbmltcG9ydCB7IFRlbGVtZXRyeVNlcnZpY2UgfSBmcm9tICcuL3RlbGVtZXRyeS5zZXJ2aWNlJ1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3ViYXBwbGljYXRpb25SZXNwb25kU2VydmljZSB7XHJcbiAgc3ViQXBwbmFtZSA9ICcnXHJcbiAgY29udGludWVMZWFybmluZ0RhdGE6IGFueSA9IG51bGxcclxuICBjb250ZW50V2luZG93aW5mbzogYW55XHJcbiAgbG9hZGVkID0gZmFsc2VcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbnRlbnRTdmM6IFdpZGdldENvbnRlbnRTZXJ2aWNlLFxyXG4gICAgLy8gcHJpdmF0ZSBrZXlDbG9ha1N2YzogQXV0aEtleWNsb2FrU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgZXZlbnRTdmM6IEV2ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgdGVsZVN2YzogVGVsZW1ldHJ5U2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMuY2hhbmdlQ29udGV4dHJlc3BvbmQoKVxyXG4gICAgdGhpcy5jb25maWdTdmMucHJlZkNoYW5nZU5vdGlmaWVyLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2hhbmdlQ29udGV4dHJlc3BvbmQoKVxyXG4gICAgfSlcclxuICB9XHJcbiAgbG9hZGVkUmVzcG9uZChjb250ZW50V2luZG93OiBhbnksIGFwcGxpY2F0aW9uTmFtZTogc3RyaW5nLCBpZD86IHN0cmluZykge1xyXG4gICAgaWYgKGlkICYmIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudmlld01vZGUgJiYgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy52aWV3TW9kZSA9PT0gJ1JFU1VNRScpIHtcclxuICAgICAgdGhpcy5jb250aW51ZUxlYXJuaW5nRGF0YSA9IG51bGxcclxuICAgICAgdGhpcy5jb250ZW50U3ZjLmZldGNoQ29udGVudEhpc3RvcnkoaWQpLnN1YnNjcmliZShcclxuICAgICAgICBkYXRhID0+IHtcclxuICAgICAgICAgIHRoaXMuY29udGludWVMZWFybmluZ0RhdGEgPSBkYXRhLmNvbnRpbnVlRGF0YVxyXG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnU3ZjICYmIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0TmFtZSA9IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lID9cclxuICAgICAgICAgICAgICB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZS5zcGxpdCgnICcsIDIpWzBdIDogJydcclxuICAgICAgICAgICAgY29uc3QgbGFzdE5hbWUgPSB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZSA/XHJcbiAgICAgICAgICAgICAgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUuc3BsaXQoJyAnLCAyKVsxXSA6ICcnXHJcbiAgICAgICAgICAgIGNvbnN0IHZpZXdNb2RlOiBzdHJpbmcgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnZpZXdNb2RlID9cclxuICAgICAgICAgICAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnZpZXdNb2RlIDogJydcclxuICAgICAgICAgICAgLy8gY29uc3QgdG9rZW4gPSB0aGlzLmtleUNsb2FrU3ZjLnRva2VuXHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0ge1xyXG4gICAgICAgICAgICAgIHN1YkFwcGxpY2F0aW9uTmFtZTogYXBwbGljYXRpb25OYW1lLFxyXG4gICAgICAgICAgICAgIHJlcXVlc3RJZDogJ0xPQURFRCcsXHJcbiAgICAgICAgICAgICAgcGFyZW50Q29udGV4dDoge1xyXG4gICAgICAgICAgICAgICAgZG9tYWluTmFtZTogd2luZG93LmxvY2F0aW9uLmhvc3QsXHJcbiAgICAgICAgICAgICAgICB1cmw6IHRoaXMucm91dGVyLnVybCxcclxuICAgICAgICAgICAgICAgIHJvb3RPcmc6IHRoaXMuY29uZmlnU3ZjLnJvb3RPcmcsXHJcbiAgICAgICAgICAgICAgICB0aGVtZTogdGhpcy5jb25maWdTdmMuYWN0aXZlVGhlbWVPYmplY3QgPyB7XHJcbiAgICAgICAgICAgICAgICAgIG5hbWU6IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0LnRoZW1lTmFtZSxcclxuICAgICAgICAgICAgICAgICAgLi4udGhpcy5jb25maWdTdmMuYWN0aXZlVGhlbWVPYmplY3QuY29sb3IsXHJcbiAgICAgICAgICAgICAgICB9IDogJycsXHJcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogdGhpcy5jb25maWdTdmMuYWN0aXZlRm9udE9iamVjdCA/IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZUZvbnRPYmplY3QuYmFzZUZvbnRTaXplIDogJzE0cHgnLFxyXG4gICAgICAgICAgICAgICAgbG9jYWxlOiAodGhpcy5jb25maWdTdmMudXNlclByZWZlcmVuY2UgJiYgdGhpcy5jb25maWdTdmMudXNlclByZWZlcmVuY2Uuc2VsZWN0ZWRMb2NhbGUpIHx8ICdlbicsXHJcbiAgICAgICAgICAgICAgICBkYXJrTW9kZTogdGhpcy5jb25maWdTdmMuaXNEYXJrTW9kZSxcclxuICAgICAgICAgICAgICAgIHN1YkFwcGxpY2F0aW9uU3RhcnRNb2RlOiB2aWV3TW9kZS50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICAgICAgICAgICAgdXNlcjoge1xyXG4gICAgICAgICAgICAgICAgICBmaXJzdE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgIGxhc3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAvLyB0b2tlbixcclxuICAgICAgICAgICAgICAgICAgdXNlcklkOiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VySWQgPyB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VySWQgOiAnJyxcclxuICAgICAgICAgICAgICAgICAgcm9sZXM6IHRoaXMuY29uZmlnU3ZjLnVzZXJSb2xlcyA/IEFycmF5LmZyb20odGhpcy5jb25maWdTdmMudXNlclJvbGVzKSA6IFtdLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGhlYXJ0YmVhdEZyZXF1ZW5jeTogJzIwMCcsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBkYXRhOiB0aGlzLmNvbnRpbnVlTGVhcm5pbmdEYXRhLmRhdGEgPyB7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZUxlYXJuaW5nOiB0aGlzLmNvbnRpbnVlTGVhcm5pbmdEYXRhLmRhdGEsXHJcbiAgICAgICAgICAgICAgfSA6IG51bGwsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShyZXNwb25zZSwgJyonKVxyXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRXaW5kb3dpbmZvID0gY29udGVudFdpbmRvd1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRlZCA9IHRydWVcclxuICAgICAgICAgICAgdGhpcy5zdWJBcHBuYW1lID0gYXBwbGljYXRpb25OYW1lXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZ1N2YyAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSkge1xyXG4gICAgICAgIGNvbnN0IGZpcnN0TmFtZSA9IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lID9cclxuICAgICAgICAgIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lLnNwbGl0KCcgJywgMilbMF0gOiAnJ1xyXG4gICAgICAgIGNvbnN0IGxhc3ROYW1lID0gdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUgP1xyXG4gICAgICAgICAgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUuc3BsaXQoJyAnLCAyKVsxXSA6ICcnXHJcbiAgICAgICAgY29uc3Qgdmlld01vZGU6IHN0cmluZyA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudmlld01vZGUgP1xyXG4gICAgICAgICAgdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy52aWV3TW9kZSA6ICcnXHJcbiAgICAgICAgLy8gY29uc3QgdG9rZW4gPSB0aGlzLmtleUNsb2FrU3ZjLnRva2VuXHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XHJcbiAgICAgICAgICBzdWJBcHBsaWNhdGlvbk5hbWU6IGFwcGxpY2F0aW9uTmFtZSxcclxuICAgICAgICAgIHJlcXVlc3RJZDogJ0xPQURFRCcsXHJcbiAgICAgICAgICBwYXJlbnRDb250ZXh0OiB7XHJcbiAgICAgICAgICAgIGRvbWFpbk5hbWU6IHdpbmRvdy5sb2NhdGlvbi5ob3N0LFxyXG4gICAgICAgICAgICB1cmw6IHRoaXMucm91dGVyLnVybCxcclxuICAgICAgICAgICAgcm9vdE9yZzogdGhpcy5jb25maWdTdmMucm9vdE9yZyxcclxuICAgICAgICAgICAgdGhlbWU6IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0ID8ge1xyXG4gICAgICAgICAgICAgIG5hbWU6IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0LnRoZW1lTmFtZSxcclxuICAgICAgICAgICAgICAuLi50aGlzLmNvbmZpZ1N2Yy5hY3RpdmVUaGVtZU9iamVjdC5jb2xvcixcclxuICAgICAgICAgICAgfSA6ICcnLFxyXG4gICAgICAgICAgICBmb250U2l6ZTogdGhpcy5jb25maWdTdmMuYWN0aXZlRm9udE9iamVjdCA/IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZUZvbnRPYmplY3QuYmFzZUZvbnRTaXplIDogJzE0cHgnLFxyXG4gICAgICAgICAgICBsb2NhbGU6ICh0aGlzLmNvbmZpZ1N2Yy51c2VyUHJlZmVyZW5jZSAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJlZmVyZW5jZS5zZWxlY3RlZExvY2FsZSkgfHwgJ2VuJyxcclxuICAgICAgICAgICAgZGFya01vZGU6IHRoaXMuY29uZmlnU3ZjLmlzRGFya01vZGUsXHJcbiAgICAgICAgICAgIHN1YkFwcGxpY2F0aW9uU3RhcnRNb2RlOiB2aWV3TW9kZS50b1VwcGVyQ2FzZSgpLFxyXG4gICAgICAgICAgICB1c2VyOiB7XHJcbiAgICAgICAgICAgICAgZmlyc3ROYW1lLFxyXG4gICAgICAgICAgICAgIGxhc3ROYW1lLFxyXG4gICAgICAgICAgICAgIC8vIHRva2VuLFxyXG4gICAgICAgICAgICAgIHVzZXJJZDogdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlcklkID8gdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlcklkIDogJycsXHJcbiAgICAgICAgICAgICAgcm9sZXM6IHRoaXMuY29uZmlnU3ZjLnVzZXJSb2xlcyA/IEFycmF5LmZyb20odGhpcy5jb25maWdTdmMudXNlclJvbGVzKSA6IFtdLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBoZWFydGJlYXRGcmVxdWVuY3k6ICcyMDAnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGE6IG51bGwsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UocmVzcG9uc2UsICcqJylcclxuICAgICAgICB0aGlzLmNvbnRlbnRXaW5kb3dpbmZvID0gY29udGVudFdpbmRvd1xyXG4gICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZVxyXG4gICAgICAgIHRoaXMuc3ViQXBwbmFtZSA9IGFwcGxpY2F0aW9uTmFtZVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbnRpbnVlTGVhcm5pbmdSZXNwb25kKGlkOiBzdHJpbmcsIGNvbnRpbnVlTGVhcm5pbmc6IGFueSkge1xyXG4gICAgdGhpcy5jb250ZW50U3ZjLnNhdmVDb250aW51ZUxlYXJuaW5nKFxyXG4gICAgICB7XHJcbiAgICAgICAgY29udGV4dFBhdGhJZDogaWQsXHJcbiAgICAgICAgcmVzb3VyY2VJZDogaWQsXHJcbiAgICAgICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0aW1lc3RhbXA6IERhdGUubm93KCksIGRhdGE6IGNvbnRpbnVlTGVhcm5pbmcgfSksXHJcbiAgICAgICAgZGF0ZUFjY2Vzc2VkOiBEYXRlLm5vdygpLFxyXG4gICAgICB9LFxyXG4gICAgKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICAgICAgLmNhdGNoKClcclxuICB9XHJcbiAgdGVsZW1ldHJ5RXZlbnRzKHREYXRhOiBhbnkpIHtcclxuICAgIGlmICh0RGF0YSkge1xyXG4gICAgICBzd2l0Y2ggKHREYXRhLmV2ZW50SWQpIHtcclxuICAgICAgICBjYXNlICdJTlRFUkFDVCc6XHJcbiAgICAgICAgICB0aGlzLmV2ZW50U3ZjLmRpc3BhdGNoRXZlbnQ8V3NFdmVudHMuSVdzRXZlbnRUZWxlbWV0cnlJbnRlcmFjdD4oe1xyXG4gICAgICAgICAgICBldmVudFR5cGU6IFdzRXZlbnRzLldzRXZlbnRUeXBlLlRlbGVtZXRyeSxcclxuICAgICAgICAgICAgZXZlbnRMb2dMZXZlbDogV3NFdmVudHMuV3NFdmVudExvZ0xldmVsLldhcm4sXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAuLi50RGF0YS5kYXRhLFxyXG4gICAgICAgICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW50ZXJhY3QsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGZyb206IHREYXRhLnN1YkFwcGxpY2F0aW9uTmFtZSxcclxuICAgICAgICAgICAgdG86ICdUZWxlbWV0cnknLFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgY2FzZSAnSEVBUlRCRUFUJzpcclxuICAgICAgICAgIHRoaXMuZXZlbnRTdmMuZGlzcGF0Y2hFdmVudDxXc0V2ZW50cy5JV3NFdmVudFRlbGVtZXRyeUhlYXJ0QmVhdD4oe1xyXG4gICAgICAgICAgICBldmVudFR5cGU6IFdzRXZlbnRzLldzRXZlbnRUeXBlLlRlbGVtZXRyeSxcclxuICAgICAgICAgICAgZXZlbnRMb2dMZXZlbDogV3NFdmVudHMuV3NFdmVudExvZ0xldmVsLlRyYWNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgLi4udERhdGEuZGF0YSxcclxuICAgICAgICAgICAgICBldmVudFN1YlR5cGU6IFdzRXZlbnRzLkVudW1UZWxlbWV0cnlTdWJUeXBlLkhlYXJ0QmVhdCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZnJvbTogdERhdGEuc3ViQXBwbGljYXRpb25OYW1lLFxyXG4gICAgICAgICAgICB0bzogJ1RlbGVtZXRyeScsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgYnJlYWtcclxuICAgICAgICBjYXNlICdJTVBSRVNTSU9OJzpcclxuICAgICAgICAgIHRoaXMudGVsZVN2Yy5leHRlcm5hbEltcHJlc3Npb24odERhdGEuZGF0YSlcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGJyZWFrXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgdW5zdWJzY3JpYmVSZXNwb25zZSgpIHtcclxuICAgIHRoaXMuc3ViQXBwbmFtZSA9ICcnXHJcbiAgICB0aGlzLmNvbnRpbnVlTGVhcm5pbmdEYXRhID0gbnVsbFxyXG4gICAgdGhpcy5jb250ZW50V2luZG93aW5mbyA9IG51bGxcclxuICAgIHRoaXMubG9hZGVkID0gZmFsc2VcclxuICB9XHJcbiAgY2hhbmdlQ29udGV4dHJlc3BvbmQoKSB7XHJcbiAgICBpZiAodGhpcy5sb2FkZWQgJiYgdGhpcy5jb250ZW50V2luZG93aW5mbyAmJiB0aGlzLmNvbmZpZ1N2YyAmJiB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZSAmJiB0aGlzLnN1YkFwcG5hbWUpIHtcclxuICAgICAgY29uc3QgZmlyc3ROYW1lID0gdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlck5hbWUgP1xyXG4gICAgICAgIHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lLnNwbGl0KCcgJywgMilbMF0gOiAnJ1xyXG4gICAgICBjb25zdCBsYXN0TmFtZSA9IHRoaXMuY29uZmlnU3ZjLnVzZXJQcm9maWxlLnVzZXJOYW1lID9cclxuICAgICAgICB0aGlzLmNvbmZpZ1N2Yy51c2VyUHJvZmlsZS51c2VyTmFtZS5zcGxpdCgnICcsIDIpWzFdIDogJydcclxuICAgICAgY29uc3Qgdmlld01vZGU6IHN0cmluZyA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudmlld01vZGUgP1xyXG4gICAgICAgIHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudmlld01vZGUgOiAnJ1xyXG4gICAgICAvLyBjb25zdCB0b2tlbiA9IHRoaXMua2V5Q2xvYWtTdmMudG9rZW5cclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSB7XHJcbiAgICAgICAgc3ViQXBwbGljYXRpb25OYW1lOiB0aGlzLnN1YkFwcG5hbWUsXHJcbiAgICAgICAgcmVxdWVzdElkOiAnQ09OVEVYVF9DSEFOR0UnLFxyXG4gICAgICAgIHBhcmVudENvbnRleHQ6IHtcclxuICAgICAgICAgIGRvbWFpbk5hbWU6IHdpbmRvdy5sb2NhdGlvbi5ob3N0LFxyXG4gICAgICAgICAgdXJsOiB0aGlzLnJvdXRlci51cmwsXHJcbiAgICAgICAgICByb290T3JnOiB0aGlzLmNvbmZpZ1N2Yy5yb290T3JnLFxyXG4gICAgICAgICAgdGhlbWU6IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0ID8ge1xyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVUaGVtZU9iamVjdC50aGVtZU5hbWUsXHJcbiAgICAgICAgICAgIC4uLnRoaXMuY29uZmlnU3ZjLmFjdGl2ZVRoZW1lT2JqZWN0LmNvbG9yLFxyXG4gICAgICAgICAgfSA6ICcnLFxyXG4gICAgICAgICAgZm9udFNpemU6IHRoaXMuY29uZmlnU3ZjLmFjdGl2ZUZvbnRPYmplY3QgPyB0aGlzLmNvbmZpZ1N2Yy5hY3RpdmVGb250T2JqZWN0LmJhc2VGb250U2l6ZSA6ICcxNHB4JyxcclxuICAgICAgICAgIGxvY2FsZTogKHRoaXMuY29uZmlnU3ZjLnVzZXJQcmVmZXJlbmNlICYmIHRoaXMuY29uZmlnU3ZjLnVzZXJQcmVmZXJlbmNlLnNlbGVjdGVkTG9jYWxlKSB8fCAnZW4nLFxyXG4gICAgICAgICAgZGFya01vZGU6IHRoaXMuY29uZmlnU3ZjLmlzRGFya01vZGUsXHJcbiAgICAgICAgICBzdWJBcHBsaWNhdGlvblN0YXJ0TW9kZTogdmlld01vZGUudG9VcHBlckNhc2UoKSxcclxuICAgICAgICAgIHVzZXI6IHtcclxuICAgICAgICAgICAgZmlyc3ROYW1lLFxyXG4gICAgICAgICAgICBsYXN0TmFtZSxcclxuICAgICAgICAgICAgLy8gdG9rZW4sXHJcbiAgICAgICAgICAgIHVzZXJJZDogdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlcklkID8gdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUudXNlcklkIDogJycsXHJcbiAgICAgICAgICAgIHJvbGVzOiB0aGlzLmNvbmZpZ1N2Yy51c2VyUm9sZXMgPyBBcnJheS5mcm9tKHRoaXMuY29uZmlnU3ZjLnVzZXJSb2xlcykgOiBbXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBoZWFydGJlYXRGcmVxdWVuY3k6ICcyMDAnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb250ZW50V2luZG93aW5mby5wb3N0TWVzc2FnZShyZXNwb25zZSwgJyonKVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=