ngx-techlify-core 11.4.8 → 11.5.2

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 (627) hide show
  1. package/karma.conf.js +44 -0
  2. package/ng-package.json +27 -0
  3. package/package.json +29 -37
  4. package/src/lib/action-popup/action-popup.component.html +21 -0
  5. package/src/lib/action-popup/action-popup.component.scss +0 -0
  6. package/src/lib/action-popup/action-popup.component.spec.ts +25 -0
  7. package/src/lib/action-popup/action-popup.component.ts +31 -0
  8. package/{lib/action-popup/action-popup.model.d.ts → src/lib/action-popup/action-popup.model.ts} +2 -2
  9. package/src/lib/action-popup/action-popup.module.ts +23 -0
  10. package/{lib/action-popup/index.d.ts → src/lib/action-popup/index.ts} +1 -1
  11. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.ts +10 -0
  12. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.html +9 -0
  13. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.scss +0 -0
  14. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.spec.ts +25 -0
  15. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.component.ts +49 -0
  16. package/src/lib/audit-log/audit-log-for-model/audit-log-for-model.module.ts +24 -0
  17. package/src/lib/audit-log/audit-log-list/audit-log-list-routing.module.ts +10 -0
  18. package/src/lib/audit-log/audit-log-list/audit-log-list.component.html +92 -0
  19. package/src/lib/audit-log/audit-log-list/audit-log-list.component.scss +21 -0
  20. package/src/lib/audit-log/audit-log-list/audit-log-list.component.spec.ts +25 -0
  21. package/src/lib/audit-log/audit-log-list/audit-log-list.component.ts +138 -0
  22. package/src/lib/audit-log/audit-log-list/audit-log-list.module.ts +28 -0
  23. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.ts +10 -0
  24. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.html +49 -0
  25. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.scss +0 -0
  26. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.spec.ts +26 -0
  27. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.ts +74 -0
  28. package/src/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.ts +24 -0
  29. package/src/lib/audit-log/audit-log-routing.module.ts +18 -0
  30. package/src/lib/audit-log/audit-log-view/audit-log-view-routing.module.ts +10 -0
  31. package/src/lib/audit-log/audit-log-view/audit-log-view.component.html +46 -0
  32. package/src/lib/audit-log/audit-log-view/audit-log-view.component.scss +0 -0
  33. package/src/lib/audit-log/audit-log-view/audit-log-view.component.spec.ts +25 -0
  34. package/src/lib/audit-log/audit-log-view/audit-log-view.component.ts +54 -0
  35. package/src/lib/audit-log/audit-log-view/audit-log-view.module.ts +20 -0
  36. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.ts +10 -0
  37. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.html +38 -0
  38. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.scss +4 -0
  39. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.spec.ts +25 -0
  40. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.component.ts +53 -0
  41. package/src/lib/audit-log/audit-log-view-model/audit-log-view-model.module.ts +20 -0
  42. package/src/lib/audit-log/audit-log.module.ts +20 -0
  43. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.ts +10 -0
  44. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.html +4 -0
  45. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.scss +4 -0
  46. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.spec.ts +25 -0
  47. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.ts +28 -0
  48. package/src/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.ts +20 -0
  49. package/src/lib/base-model/index.ts +3 -0
  50. package/src/lib/base-model/techlify-form-component.class.ts +60 -0
  51. package/src/lib/base-model/techlify-listing-component.class.ts +67 -0
  52. package/src/lib/base-model/techlify-service.class.ts +73 -0
  53. package/src/lib/core/alert.service.ts +32 -0
  54. package/src/lib/core/api-prefix.interceptor.ts +22 -0
  55. package/src/lib/core/authentication.guard.ts +34 -0
  56. package/src/lib/core/authentication.service.ts +53 -0
  57. package/src/lib/core/cache.interceptor.ts +59 -0
  58. package/src/lib/core/config.service.ts +52 -0
  59. package/src/lib/core/core.module.ts +44 -0
  60. package/src/lib/core/credentials.service.ts +91 -0
  61. package/{lib/core/dataManager.service.d.ts → src/lib/core/dataManager.service.ts} +76 -22
  62. package/src/lib/core/error-handler.interceptor.ts +43 -0
  63. package/src/lib/core/error-handler.service.ts +61 -0
  64. package/src/lib/core/filter.service.ts +42 -0
  65. package/src/lib/core/form-validator.service.ts +23 -0
  66. package/src/lib/core/header.interceptor.ts +22 -0
  67. package/src/lib/core/http-cache.service.ts +122 -0
  68. package/src/lib/core/http.service.ts +137 -0
  69. package/{lib/core/index.d.ts → src/lib/core/index.ts} +2 -0
  70. package/src/lib/core/logger.service.ts +113 -0
  71. package/src/lib/core/route-reusable-strategy.ts +36 -0
  72. package/src/lib/core/snack/error-snack.html +8 -0
  73. package/src/lib/core/snack/snack.component.ts +19 -0
  74. package/src/lib/core/snack/snack.module.ts +22 -0
  75. package/src/lib/core/snack/snack.scss +18 -0
  76. package/src/lib/core/snack/success-snack.html +8 -0
  77. package/src/lib/core/storage.service.ts +38 -0
  78. package/src/lib/core/techlify-config.model.ts +32 -0
  79. package/src/lib/core/token.interceptor.ts +25 -0
  80. package/src/lib/data-table/data-table.component.html +139 -0
  81. package/src/lib/data-table/data-table.component.scss +54 -0
  82. package/src/lib/data-table/data-table.component.spec.ts +25 -0
  83. package/src/lib/data-table/data-table.component.ts +232 -0
  84. package/{lib/data-table/data-table.model.d.ts → src/lib/data-table/data-table.model.ts} +9 -6
  85. package/src/lib/data-table/data-table.module.ts +23 -0
  86. package/{lib/data-table/index.d.ts → src/lib/data-table/index.ts} +1 -1
  87. package/src/lib/date-validator.ts +12 -0
  88. package/src/lib/document-viewer/document-viewer.component.css +5 -0
  89. package/src/lib/document-viewer/document-viewer.component.html +19 -0
  90. package/src/lib/document-viewer/document-viewer.component.ts +66 -0
  91. package/src/lib/document-viewer/document-viewer.module.ts +22 -0
  92. package/{lib/document-viewer/index.d.ts → src/lib/document-viewer/index.ts} +1 -1
  93. package/src/lib/document-viewer/viewer-config.model.ts +5 -0
  94. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.ts +25 -0
  95. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.html +23 -0
  96. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.scss +4 -0
  97. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.spec.ts +25 -0
  98. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.ts +74 -0
  99. package/src/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.ts +22 -0
  100. package/{lib/email-subscription/email-subscription-for-user/index.d.ts → src/lib/email-subscription/email-subscription-for-user/index.ts} +0 -0
  101. package/src/lib/email-subscription/email-subscription-routing.module.ts +10 -0
  102. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.ts +10 -0
  103. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.html +47 -0
  104. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.scss +0 -0
  105. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.spec.ts +25 -0
  106. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.ts +113 -0
  107. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.ts +28 -0
  108. package/{lib/email-subscription/email-subscription-type/email-subscription-type-form/index.d.ts → src/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.ts} +0 -0
  109. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.ts +29 -0
  110. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.html +76 -0
  111. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.scss +4 -0
  112. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.spec.ts +25 -0
  113. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.ts +170 -0
  114. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.ts +26 -0
  115. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.ts +1 -0
  116. package/src/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.ts +11 -0
  117. package/src/lib/email-subscription/email-subscription-type/email-subscription-type.module.ts +14 -0
  118. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.ts +10 -0
  119. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.html +38 -0
  120. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.scss +0 -0
  121. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.spec.ts +25 -0
  122. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.ts +113 -0
  123. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.ts +26 -0
  124. package/{lib/email-subscription/email-subscription-user/email-subscription-user-form/index.d.ts → src/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.ts} +0 -0
  125. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.ts +27 -0
  126. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.html +74 -0
  127. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.scss +5 -0
  128. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.spec.ts +25 -0
  129. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.ts +174 -0
  130. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.ts +28 -0
  131. package/{lib/email-subscription/email-subscription-user/email-subscription-user-list/index.d.ts → src/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.ts} +0 -0
  132. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.ts +10 -0
  133. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.html +21 -0
  134. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.scss +0 -0
  135. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.spec.ts +25 -0
  136. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.ts +56 -0
  137. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.ts +24 -0
  138. package/{lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.d.ts → src/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.ts} +0 -0
  139. package/src/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.ts +11 -0
  140. package/src/lib/email-subscription/email-subscription-user/email-subscription-user.module.ts +14 -0
  141. package/src/lib/email-subscription/email-subscription.module.ts +15 -0
  142. package/src/lib/entity-files/entity-file-form/entity-file-form.component.css +0 -0
  143. package/src/lib/entity-files/entity-file-form/entity-file-form.component.html +45 -0
  144. package/src/lib/entity-files/entity-file-form/entity-file-form.component.ts +172 -0
  145. package/src/lib/entity-files/entity-file.service.ts +46 -0
  146. package/src/lib/entity-files/entity-files-view-all.component.css +0 -0
  147. package/src/lib/entity-files/entity-files-view-all.component.html +236 -0
  148. package/src/lib/entity-files/entity-files-view-all.component.ts +325 -0
  149. package/src/lib/entity-files/entity-files-view-all.module.ts +38 -0
  150. package/src/lib/entity-files/index.ts +2 -0
  151. package/src/lib/export-excel/export-excel-button/export-excel-button.component.html +1 -0
  152. package/src/lib/export-excel/export-excel-button/export-excel-button.component.scss +0 -0
  153. package/src/lib/export-excel/export-excel-button/export-excel-button.component.spec.ts +25 -0
  154. package/src/lib/export-excel/export-excel-button/export-excel-button.component.ts +31 -0
  155. package/src/lib/export-excel/export-excel.module.ts +16 -0
  156. package/src/lib/file-dropper/file-dropper.component.html +41 -0
  157. package/src/lib/file-dropper/file-dropper.component.scss +8 -0
  158. package/src/lib/file-dropper/file-dropper.component.ts +139 -0
  159. package/src/lib/file-dropper/file-dropper.model.ts +10 -0
  160. package/src/lib/file-dropper/file-dropper.module.ts +18 -0
  161. package/{lib/file-dropper/index.d.ts → src/lib/file-dropper/index.ts} +1 -1
  162. package/src/lib/import-csv/data-import/data-import.component.html +11 -0
  163. package/src/lib/import-csv/data-import/data-import.component.scss +0 -0
  164. package/src/lib/import-csv/data-import/data-import.component.spec.ts +28 -0
  165. package/src/lib/import-csv/data-import/data-import.component.ts +16 -0
  166. package/src/lib/import-csv/failed-items-list/failed-items-list.component.html +61 -0
  167. package/src/lib/import-csv/failed-items-list/failed-items-list.component.scss +0 -0
  168. package/src/lib/import-csv/failed-items-list/failed-items-list.component.spec.ts +28 -0
  169. package/src/lib/import-csv/failed-items-list/failed-items-list.component.ts +30 -0
  170. package/src/lib/import-csv/field-mapping/field-mapping.component.html +70 -0
  171. package/src/lib/import-csv/field-mapping/field-mapping.component.scss +15 -0
  172. package/src/lib/import-csv/field-mapping/field-mapping.component.ts +161 -0
  173. package/src/lib/import-csv/import-csv-config.ts +17 -0
  174. package/src/lib/import-csv/import-csv.component.html +71 -0
  175. package/src/lib/import-csv/import-csv.component.scss +15 -0
  176. package/src/lib/import-csv/import-csv.component.spec.ts +28 -0
  177. package/src/lib/import-csv/import-csv.component.ts +198 -0
  178. package/src/lib/import-csv/import-csv.module.ts +43 -0
  179. package/src/lib/import-csv/import-history-list/import-history-list.component.html +43 -0
  180. package/src/lib/import-csv/import-history-list/import-history-list.component.scss +0 -0
  181. package/src/lib/import-csv/import-history-list/import-history-list.component.spec.ts +28 -0
  182. package/src/lib/import-csv/import-history-list/import-history-list.component.ts +74 -0
  183. package/src/lib/import-csv/import-success/import-success.component.html +22 -0
  184. package/src/lib/import-csv/import-success/import-success.component.scss +0 -0
  185. package/src/lib/import-csv/import-success/import-success.component.spec.ts +28 -0
  186. package/src/lib/import-csv/import-success/import-success.component.ts +17 -0
  187. package/{lib/loader/index.d.ts → src/lib/loader/index.ts} +0 -0
  188. package/src/lib/loader/loader.component.html +4 -0
  189. package/src/lib/loader/loader.component.scss +8 -0
  190. package/src/lib/loader/loader.component.spec.ts +73 -0
  191. package/src/lib/loader/loader.component.ts +18 -0
  192. package/src/lib/loader/loader.module.ts +18 -0
  193. package/src/lib/login-history-for-user/login-history-for-user-routing.module.ts +18 -0
  194. package/src/lib/login-history-for-user/login-history-for-user.component.html +31 -0
  195. package/src/lib/login-history-for-user/login-history-for-user.component.scss +4 -0
  196. package/src/lib/login-history-for-user/login-history-for-user.component.spec.ts +25 -0
  197. package/src/lib/login-history-for-user/login-history-for-user.component.ts +94 -0
  198. package/src/lib/login-history-for-user/login-history-for-user.module.ts +26 -0
  199. package/src/lib/material.module.ts +68 -0
  200. package/src/lib/note/comment-form/comment-form.component.html +45 -0
  201. package/src/lib/note/comment-form/comment-form.component.scss +7 -0
  202. package/src/lib/note/comment-form/comment-form.component.spec.ts +24 -0
  203. package/src/lib/note/comment-form/comment-form.component.ts +84 -0
  204. package/{lib/note/index.d.ts → src/lib/note/index.ts} +0 -0
  205. package/src/lib/note/note-form/note-form.component.css +0 -0
  206. package/src/lib/note/note-form/note-form.component.html +26 -0
  207. package/src/lib/note/note-form/note-form.component.spec.ts +25 -0
  208. package/src/lib/note/note-form/note-form.component.ts +93 -0
  209. package/src/lib/note/note-list/note-list.component.css +4 -0
  210. package/src/lib/note/note-list/note-list.component.html +58 -0
  211. package/src/lib/note/note-list/note-list.component.spec.ts +25 -0
  212. package/src/lib/note/note-list/note-list.component.ts +156 -0
  213. package/src/lib/note/note.module.ts +33 -0
  214. package/src/lib/note/note.service.spec.ts +16 -0
  215. package/src/lib/note/note.service.ts +26 -0
  216. package/src/lib/read-more/read-more.component.html +3 -0
  217. package/src/lib/read-more/read-more.component.scss +8 -0
  218. package/src/lib/read-more/read-more.component.spec.ts +24 -0
  219. package/src/lib/read-more/read-more.component.ts +41 -0
  220. package/src/lib/read-more/read-more.module.ts +18 -0
  221. package/src/lib/request-helper/request-helper.service.ts +92 -0
  222. package/src/lib/searchable-selector/index.ts +2 -0
  223. package/src/lib/searchable-selector/mat-select-infinite-scroll.directive.ts +89 -0
  224. package/src/lib/searchable-selector/searchable-selector.component.html +21 -0
  225. package/src/lib/searchable-selector/searchable-selector.component.scss +8 -0
  226. package/src/lib/searchable-selector/searchable-selector.component.spec.ts +25 -0
  227. package/src/lib/searchable-selector/searchable-selector.component.ts +337 -0
  228. package/src/lib/searchable-selector/searchable-selector.module.ts +25 -0
  229. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.html +4 -0
  230. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.scss +0 -0
  231. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.spec.ts +28 -0
  232. package/src/lib/techlify-feature/on-off-switch/on-off-switch.component.ts +25 -0
  233. package/src/lib/techlify-feature/techlify-feature-enabled.directive.ts +71 -0
  234. package/src/lib/techlify-feature/techlify-feature-listing.component.html +65 -0
  235. package/src/lib/techlify-feature/techlify-feature-listing.component.scss +0 -0
  236. package/src/lib/techlify-feature/techlify-feature-listing.component.ts +174 -0
  237. package/src/lib/techlify-feature/techlify-feature.module.ts +28 -0
  238. package/src/lib/techlify-feature/techlify-feature.routing.ts +13 -0
  239. package/src/lib/techlify-feature/techlify-feature.service.ts +23 -0
  240. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.ts +25 -0
  241. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.html +18 -0
  242. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.scss +6 -0
  243. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.spec.ts +25 -0
  244. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.ts +308 -0
  245. package/src/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.ts +24 -0
  246. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.html +8 -0
  247. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.scss +0 -0
  248. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.spec.ts +25 -0
  249. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.ts +180 -0
  250. package/src/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.ts +28 -0
  251. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.html +78 -0
  252. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.scss +0 -0
  253. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.spec.ts +25 -0
  254. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.component.ts +113 -0
  255. package/src/lib/techlify-update/techlify-update-form/techlify-update-form.module.ts +25 -0
  256. package/src/lib/techlify-update/techlify-update-history/index.ts +1 -0
  257. package/src/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.ts +21 -0
  258. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.html +94 -0
  259. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.scss +0 -0
  260. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.component.ts +142 -0
  261. package/src/lib/techlify-update/techlify-update-history/techlify-update-history.module.ts +25 -0
  262. package/src/lib/techlify-update/techlify-update-routing.module.ts +21 -0
  263. package/src/lib/techlify-update/techlify-update.module.ts +27 -0
  264. package/src/lib/techlify-update/techlify-update.service.spec.ts +16 -0
  265. package/src/lib/techlify-update/techlify-update.service.ts +42 -0
  266. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.html +104 -0
  267. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.scss +0 -0
  268. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.spec.ts +25 -0
  269. package/src/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.ts +167 -0
  270. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.html +39 -0
  271. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.scss +57 -0
  272. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.spec.ts +25 -0
  273. package/src/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.ts +76 -0
  274. package/src/lib/techlify-update/update-notifier/update-notifier.component.html +0 -0
  275. package/src/lib/techlify-update/update-notifier/update-notifier.component.scss +3 -0
  276. package/src/lib/techlify-update/update-notifier/update-notifier.component.spec.ts +25 -0
  277. package/src/lib/techlify-update/update-notifier/update-notifier.component.ts +56 -0
  278. package/src/lib/techlify-update/update-notifier/update-notifier.module.ts +27 -0
  279. package/src/lib/techlify-update/update-view/update-view.component.html +63 -0
  280. package/src/lib/techlify-update/update-view/update-view.component.scss +19 -0
  281. package/src/lib/techlify-update/update-view/update-view.component.spec.ts +25 -0
  282. package/src/lib/techlify-update/update-view/update-view.component.ts +36 -0
  283. package/src/lib/techlify-update/update-view/update-view.module.ts +23 -0
  284. package/src/lib/timeline-filter/README.md +60 -0
  285. package/src/lib/timeline-filter/calculate-timeline.ts +109 -0
  286. package/{lib/timeline-filter/index.d.ts → src/lib/timeline-filter/index.ts} +1 -1
  287. package/src/lib/timeline-filter/timeline-filter-routing.module.ts +10 -0
  288. package/src/lib/timeline-filter/timeline-filter.component.html +54 -0
  289. package/src/lib/timeline-filter/timeline-filter.component.scss +0 -0
  290. package/src/lib/timeline-filter/timeline-filter.component.spec.ts +25 -0
  291. package/src/lib/timeline-filter/timeline-filter.component.ts +220 -0
  292. package/src/lib/timeline-filter/timeline-filter.module.ts +22 -0
  293. package/src/lib/timeline-filter/timeline.model.ts +17 -0
  294. package/src/lib/utility/date-utils.service.ts +51 -0
  295. package/{lib/utility/index.d.ts → src/lib/utility/index.ts} +1 -1
  296. package/src/lib/utility/num-items-selector.component.ts +29 -0
  297. package/src/lib/utility/num-items-selector.html +13 -0
  298. package/src/lib/utility/number-selector.component.ts +38 -0
  299. package/src/lib/utility/number-selector.html +6 -0
  300. package/src/lib/utility/utility.module.ts +20 -0
  301. package/{public-api.d.ts → src/public-api.ts} +31 -0
  302. package/src/test.ts +26 -0
  303. package/tsconfig.lib.json +26 -0
  304. package/tsconfig.lib.prod.json +10 -0
  305. package/tsconfig.spec.json +17 -0
  306. package/tslint.json +17 -0
  307. package/bundles/ngx-techlify-core.umd.js +0 -8325
  308. package/bundles/ngx-techlify-core.umd.js.map +0 -1
  309. package/bundles/ngx-techlify-core.umd.min.js +0 -2
  310. package/bundles/ngx-techlify-core.umd.min.js.map +0 -1
  311. package/esm2015/lib/action-popup/action-popup.component.js +0 -32
  312. package/esm2015/lib/action-popup/action-popup.model.js +0 -3
  313. package/esm2015/lib/action-popup/action-popup.module.js +0 -26
  314. package/esm2015/lib/action-popup/index.js +0 -3
  315. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.js +0 -12
  316. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.component.js +0 -49
  317. package/esm2015/lib/audit-log/audit-log-for-model/audit-log-for-model.module.js +0 -25
  318. package/esm2015/lib/audit-log/audit-log-list/audit-log-list-routing.module.js +0 -12
  319. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.component.js +0 -132
  320. package/esm2015/lib/audit-log/audit-log-list/audit-log-list.module.js +0 -29
  321. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.js +0 -12
  322. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.js +0 -67
  323. package/esm2015/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.js +0 -25
  324. package/esm2015/lib/audit-log/audit-log-routing.module.js +0 -19
  325. package/esm2015/lib/audit-log/audit-log-view/audit-log-view-routing.module.js +0 -12
  326. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.component.js +0 -60
  327. package/esm2015/lib/audit-log/audit-log-view/audit-log-view.module.js +0 -21
  328. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.js +0 -12
  329. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.component.js +0 -57
  330. package/esm2015/lib/audit-log/audit-log-view-model/audit-log-view-model.module.js +0 -21
  331. package/esm2015/lib/audit-log/audit-log.module.js +0 -20
  332. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.js +0 -12
  333. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.js +0 -35
  334. package/esm2015/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.js +0 -21
  335. package/esm2015/lib/base-model/index.js +0 -4
  336. package/esm2015/lib/base-model/techlify-form-component.class.js +0 -51
  337. package/esm2015/lib/base-model/techlify-listing-component.class.js +0 -41
  338. package/esm2015/lib/base-model/techlify-service.class.js +0 -64
  339. package/esm2015/lib/core/alert.service.js +0 -40
  340. package/esm2015/lib/core/api-prefix.interceptor.js +0 -28
  341. package/esm2015/lib/core/authentication.guard.js +0 -39
  342. package/esm2015/lib/core/authentication.service.js +0 -59
  343. package/esm2015/lib/core/cache.interceptor.js +0 -60
  344. package/esm2015/lib/core/config.service.js +0 -47
  345. package/esm2015/lib/core/core.module.js +0 -42
  346. package/esm2015/lib/core/credentials.service.js +0 -84
  347. package/esm2015/lib/core/dataManager.service.js +0 -121
  348. package/esm2015/lib/core/error-handler.interceptor.js +0 -53
  349. package/esm2015/lib/core/error-handler.service.js +0 -60
  350. package/esm2015/lib/core/form-validator.service.js +0 -23
  351. package/esm2015/lib/core/header.interceptor.js +0 -22
  352. package/esm2015/lib/core/http-cache.service.js +0 -110
  353. package/esm2015/lib/core/http.service.js +0 -82
  354. package/esm2015/lib/core/index.js +0 -21
  355. package/esm2015/lib/core/logger.service.js +0 -100
  356. package/esm2015/lib/core/route-reusable-strategy.js +0 -35
  357. package/esm2015/lib/core/snack/snack.component.js +0 -33
  358. package/esm2015/lib/core/snack/snack.module.js +0 -25
  359. package/esm2015/lib/core/storage.service.js +0 -37
  360. package/esm2015/lib/core/techlify-config.model.js +0 -28
  361. package/esm2015/lib/core/token.interceptor.js +0 -30
  362. package/esm2015/lib/data-table/data-table.component.js +0 -190
  363. package/esm2015/lib/data-table/data-table.model.js +0 -11
  364. package/esm2015/lib/data-table/data-table.module.js +0 -25
  365. package/esm2015/lib/data-table/index.js +0 -3
  366. package/esm2015/lib/date-validator.js +0 -10
  367. package/esm2015/lib/document-viewer/document-viewer.component.js +0 -58
  368. package/esm2015/lib/document-viewer/document-viewer.module.js +0 -25
  369. package/esm2015/lib/document-viewer/index.js +0 -3
  370. package/esm2015/lib/document-viewer/viewer-config.model.js +0 -3
  371. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.js +0 -26
  372. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.js +0 -72
  373. package/esm2015/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.js +0 -23
  374. package/esm2015/lib/email-subscription/email-subscription-for-user/index.js +0 -2
  375. package/esm2015/lib/email-subscription/email-subscription-routing.module.js +0 -12
  376. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.js +0 -12
  377. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.js +0 -102
  378. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.js +0 -28
  379. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.js +0 -2
  380. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.js +0 -28
  381. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.js +0 -153
  382. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.js +0 -27
  383. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.js +0 -2
  384. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.js +0 -12
  385. package/esm2015/lib/email-subscription/email-subscription-type/email-subscription-type.module.js +0 -15
  386. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.js +0 -12
  387. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.js +0 -99
  388. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.js +0 -27
  389. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.js +0 -2
  390. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.js +0 -28
  391. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.js +0 -155
  392. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.js +0 -29
  393. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.js +0 -2
  394. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.js +0 -12
  395. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.js +0 -50
  396. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.js +0 -25
  397. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.js +0 -2
  398. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.js +0 -12
  399. package/esm2015/lib/email-subscription/email-subscription-user/email-subscription-user.module.js +0 -15
  400. package/esm2015/lib/email-subscription/email-subscription.module.js +0 -15
  401. package/esm2015/lib/entity-files/entity-file-form/entity-file-form.component.js +0 -138
  402. package/esm2015/lib/entity-files/entity-file.service.js +0 -42
  403. package/esm2015/lib/entity-files/entity-files-view-all.component.js +0 -208
  404. package/esm2015/lib/entity-files/entity-files-view-all.module.js +0 -34
  405. package/esm2015/lib/entity-files/index.js +0 -3
  406. package/esm2015/lib/export-excel/export-excel-button/export-excel-button.component.js +0 -32
  407. package/esm2015/lib/export-excel/export-excel.module.js +0 -17
  408. package/esm2015/lib/file-dropper/file-dropper.component.js +0 -122
  409. package/esm2015/lib/file-dropper/file-dropper.model.js +0 -3
  410. package/esm2015/lib/file-dropper/file-dropper.module.js +0 -21
  411. package/esm2015/lib/file-dropper/index.js +0 -3
  412. package/esm2015/lib/import-csv/data-import/data-import.component.js +0 -18
  413. package/esm2015/lib/import-csv/failed-items-list/failed-items-list.component.js +0 -33
  414. package/esm2015/lib/import-csv/field-mapping/field-mapping.component.js +0 -148
  415. package/esm2015/lib/import-csv/import-csv-config.js +0 -2
  416. package/esm2015/lib/import-csv/import-csv.component.js +0 -196
  417. package/esm2015/lib/import-csv/import-csv.module.js +0 -46
  418. package/esm2015/lib/import-csv/import-history-list/import-history-list.component.js +0 -71
  419. package/esm2015/lib/import-csv/import-success/import-success.component.js +0 -19
  420. package/esm2015/lib/loader/index.js +0 -2
  421. package/esm2015/lib/loader/loader.component.js +0 -22
  422. package/esm2015/lib/loader/loader.module.js +0 -21
  423. package/esm2015/lib/login-history-for-user/login-history-for-user-routing.module.js +0 -20
  424. package/esm2015/lib/login-history-for-user/login-history-for-user.component.js +0 -88
  425. package/esm2015/lib/login-history-for-user/login-history-for-user.module.js +0 -27
  426. package/esm2015/lib/material.module.js +0 -60
  427. package/esm2015/lib/note/comment-form/comment-form.component.js +0 -73
  428. package/esm2015/lib/note/index.js +0 -4
  429. package/esm2015/lib/note/note-form/note-form.component.js +0 -81
  430. package/esm2015/lib/note/note-list/note-list.component.js +0 -151
  431. package/esm2015/lib/note/note.module.js +0 -36
  432. package/esm2015/lib/note/note.service.js +0 -31
  433. package/esm2015/lib/read-more/read-more.component.js +0 -43
  434. package/esm2015/lib/read-more/read-more.module.js +0 -21
  435. package/esm2015/lib/searchable-selector/index.js +0 -3
  436. package/esm2015/lib/searchable-selector/mat-select-infinite-scroll.directive.js +0 -81
  437. package/esm2015/lib/searchable-selector/searchable-selector.component.js +0 -307
  438. package/esm2015/lib/searchable-selector/searchable-selector.module.js +0 -28
  439. package/esm2015/lib/techlify-feature/on-off-switch/on-off-switch.component.js +0 -27
  440. package/esm2015/lib/techlify-feature/techlify-feature-enabled.directive.js +0 -78
  441. package/esm2015/lib/techlify-feature/techlify-feature-listing.component.js +0 -177
  442. package/esm2015/lib/techlify-feature/techlify-feature.module.js +0 -30
  443. package/esm2015/lib/techlify-feature/techlify-feature.routing.js +0 -12
  444. package/esm2015/lib/techlify-feature/techlify-feature.service.js +0 -28
  445. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.js +0 -15
  446. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.js +0 -269
  447. package/esm2015/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.js +0 -25
  448. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.js +0 -168
  449. package/esm2015/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.js +0 -29
  450. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.component.js +0 -114
  451. package/esm2015/lib/techlify-update/techlify-update-form/techlify-update-form.module.js +0 -28
  452. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.js +0 -22
  453. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.component.js +0 -143
  454. package/esm2015/lib/techlify-update/techlify-update-history/techlify-update-history.module.js +0 -28
  455. package/esm2015/lib/techlify-update/techlify-update-routing.module.js +0 -22
  456. package/esm2015/lib/techlify-update/techlify-update.module.js +0 -30
  457. package/esm2015/lib/techlify-update/techlify-update.service.js +0 -43
  458. package/esm2015/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.js +0 -161
  459. package/esm2015/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.js +0 -82
  460. package/esm2015/lib/techlify-update/update-notifier/update-notifier.component.js +0 -62
  461. package/esm2015/lib/techlify-update/update-notifier/update-notifier.module.js +0 -29
  462. package/esm2015/lib/techlify-update/update-view/update-view.component.js +0 -36
  463. package/esm2015/lib/techlify-update/update-view/update-view.module.js +0 -24
  464. package/esm2015/lib/timeline-filter/calculate-timeline.js +0 -102
  465. package/esm2015/lib/timeline-filter/index.js +0 -4
  466. package/esm2015/lib/timeline-filter/timeline-filter-routing.module.js +0 -12
  467. package/esm2015/lib/timeline-filter/timeline-filter.component.js +0 -213
  468. package/esm2015/lib/timeline-filter/timeline-filter.module.js +0 -23
  469. package/esm2015/lib/timeline-filter/timeline.model.js +0 -18
  470. package/esm2015/lib/utility/date-utils.service.js +0 -48
  471. package/esm2015/lib/utility/index.js +0 -4
  472. package/esm2015/lib/utility/num-items-selector.component.js +0 -30
  473. package/esm2015/lib/utility/number-selector.component.js +0 -38
  474. package/esm2015/lib/utility/utility.module.js +0 -21
  475. package/esm2015/ngx-techlify-core.js +0 -60
  476. package/esm2015/public-api.js +0 -96
  477. package/fesm2015/ngx-techlify-core.js +0 -7039
  478. package/fesm2015/ngx-techlify-core.js.map +0 -1
  479. package/lib/action-popup/action-popup.component.d.ts +0 -14
  480. package/lib/action-popup/action-popup.module.d.ts +0 -2
  481. package/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.d.ts +0 -2
  482. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +0 -12
  483. package/lib/audit-log/audit-log-for-model/audit-log-for-model.module.d.ts +0 -2
  484. package/lib/audit-log/audit-log-list/audit-log-list-routing.module.d.ts +0 -2
  485. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +0 -32
  486. package/lib/audit-log/audit-log-list/audit-log-list.module.d.ts +0 -2
  487. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.d.ts +0 -2
  488. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +0 -19
  489. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.d.ts +0 -2
  490. package/lib/audit-log/audit-log-routing.module.d.ts +0 -2
  491. package/lib/audit-log/audit-log-view/audit-log-view-routing.module.d.ts +0 -2
  492. package/lib/audit-log/audit-log-view/audit-log-view.component.d.ts +0 -17
  493. package/lib/audit-log/audit-log-view/audit-log-view.module.d.ts +0 -2
  494. package/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.d.ts +0 -2
  495. package/lib/audit-log/audit-log-view-model/audit-log-view-model.component.d.ts +0 -15
  496. package/lib/audit-log/audit-log-view-model/audit-log-view-model.module.d.ts +0 -2
  497. package/lib/audit-log/audit-log.module.d.ts +0 -2
  498. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.d.ts +0 -2
  499. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.d.ts +0 -11
  500. package/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.d.ts +0 -2
  501. package/lib/base-model/index.d.ts +0 -3
  502. package/lib/base-model/techlify-form-component.class.d.ts +0 -43
  503. package/lib/base-model/techlify-listing-component.class.d.ts +0 -47
  504. package/lib/base-model/techlify-service.class.d.ts +0 -52
  505. package/lib/core/alert.service.d.ts +0 -12
  506. package/lib/core/api-prefix.interceptor.d.ts +0 -11
  507. package/lib/core/authentication.guard.d.ts +0 -10
  508. package/lib/core/authentication.service.d.ts +0 -23
  509. package/lib/core/cache.interceptor.d.ts +0 -21
  510. package/lib/core/config.service.d.ts +0 -19
  511. package/lib/core/core.module.d.ts +0 -3
  512. package/lib/core/credentials.service.d.ts +0 -36
  513. package/lib/core/error-handler.interceptor.d.ts +0 -14
  514. package/lib/core/error-handler.service.d.ts +0 -14
  515. package/lib/core/form-validator.service.d.ts +0 -8
  516. package/lib/core/header.interceptor.d.ts +0 -8
  517. package/lib/core/http-cache.service.d.ts +0 -54
  518. package/lib/core/http.service.d.ts +0 -56
  519. package/lib/core/logger.service.d.ts +0 -85
  520. package/lib/core/route-reusable-strategy.d.ts +0 -13
  521. package/lib/core/snack/snack.component.d.ts +0 -8
  522. package/lib/core/snack/snack.module.d.ts +0 -2
  523. package/lib/core/storage.service.d.ts +0 -15
  524. package/lib/core/techlify-config.model.d.ts +0 -18
  525. package/lib/core/token.interceptor.d.ts +0 -11
  526. package/lib/data-table/data-table.component.d.ts +0 -60
  527. package/lib/data-table/data-table.module.d.ts +0 -2
  528. package/lib/date-validator.d.ts +0 -1
  529. package/lib/document-viewer/document-viewer.component.d.ts +0 -16
  530. package/lib/document-viewer/document-viewer.module.d.ts +0 -2
  531. package/lib/document-viewer/viewer-config.model.d.ts +0 -5
  532. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.d.ts +0 -7
  533. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.d.ts +0 -17
  534. package/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.d.ts +0 -2
  535. package/lib/email-subscription/email-subscription-routing.module.d.ts +0 -2
  536. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.d.ts +0 -2
  537. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.d.ts +0 -32
  538. package/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.d.ts +0 -2
  539. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.d.ts +0 -9
  540. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.d.ts +0 -30
  541. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.d.ts +0 -2
  542. package/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.d.ts +0 -1
  543. package/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.d.ts +0 -2
  544. package/lib/email-subscription/email-subscription-type/email-subscription-type.module.d.ts +0 -2
  545. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.d.ts +0 -2
  546. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.d.ts +0 -32
  547. package/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.d.ts +0 -2
  548. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.d.ts +0 -9
  549. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.d.ts +0 -32
  550. package/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.d.ts +0 -2
  551. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.d.ts +0 -2
  552. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.d.ts +0 -13
  553. package/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.d.ts +0 -2
  554. package/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.d.ts +0 -2
  555. package/lib/email-subscription/email-subscription-user/email-subscription-user.module.d.ts +0 -2
  556. package/lib/email-subscription/email-subscription.module.d.ts +0 -2
  557. package/lib/entity-files/entity-file-form/entity-file-form.component.d.ts +0 -34
  558. package/lib/entity-files/entity-file.service.d.ts +0 -10
  559. package/lib/entity-files/entity-files-view-all.component.d.ts +0 -45
  560. package/lib/entity-files/entity-files-view-all.module.d.ts +0 -2
  561. package/lib/entity-files/index.d.ts +0 -2
  562. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +0 -8
  563. package/lib/export-excel/export-excel.module.d.ts +0 -2
  564. package/lib/file-dropper/file-dropper.component.d.ts +0 -33
  565. package/lib/file-dropper/file-dropper.model.d.ts +0 -10
  566. package/lib/file-dropper/file-dropper.module.d.ts +0 -2
  567. package/lib/import-csv/data-import/data-import.component.d.ts +0 -6
  568. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +0 -12
  569. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +0 -34
  570. package/lib/import-csv/import-csv-config.d.ts +0 -17
  571. package/lib/import-csv/import-csv.component.d.ts +0 -33
  572. package/lib/import-csv/import-csv.module.d.ts +0 -2
  573. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +0 -21
  574. package/lib/import-csv/import-success/import-success.component.d.ts +0 -8
  575. package/lib/loader/loader.component.d.ts +0 -8
  576. package/lib/loader/loader.module.d.ts +0 -2
  577. package/lib/login-history-for-user/login-history-for-user-routing.module.d.ts +0 -2
  578. package/lib/login-history-for-user/login-history-for-user.component.d.ts +0 -23
  579. package/lib/login-history-for-user/login-history-for-user.module.d.ts +0 -2
  580. package/lib/material.module.d.ts +0 -2
  581. package/lib/note/comment-form/comment-form.component.d.ts +0 -22
  582. package/lib/note/note-form/note-form.component.d.ts +0 -27
  583. package/lib/note/note-list/note-list.component.d.ts +0 -28
  584. package/lib/note/note.module.d.ts +0 -2
  585. package/lib/note/note.service.d.ts +0 -9
  586. package/lib/read-more/read-more.component.d.ts +0 -12
  587. package/lib/read-more/read-more.module.d.ts +0 -2
  588. package/lib/searchable-selector/index.d.ts +0 -2
  589. package/lib/searchable-selector/mat-select-infinite-scroll.directive.d.ts +0 -23
  590. package/lib/searchable-selector/searchable-selector.component.d.ts +0 -81
  591. package/lib/searchable-selector/searchable-selector.module.d.ts +0 -2
  592. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +0 -9
  593. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +0 -17
  594. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +0 -37
  595. package/lib/techlify-feature/techlify-feature.module.d.ts +0 -2
  596. package/lib/techlify-feature/techlify-feature.routing.d.ts +0 -2
  597. package/lib/techlify-feature/techlify-feature.service.d.ts +0 -8
  598. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.d.ts +0 -12
  599. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +0 -76
  600. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.d.ts +0 -2
  601. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +0 -58
  602. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.d.ts +0 -2
  603. package/lib/techlify-update/techlify-update-form/techlify-update-form.component.d.ts +0 -30
  604. package/lib/techlify-update/techlify-update-form/techlify-update-form.module.d.ts +0 -2
  605. package/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.d.ts +0 -2
  606. package/lib/techlify-update/techlify-update-history/techlify-update-history.component.d.ts +0 -31
  607. package/lib/techlify-update/techlify-update-history/techlify-update-history.module.d.ts +0 -2
  608. package/lib/techlify-update/techlify-update-routing.module.d.ts +0 -2
  609. package/lib/techlify-update/techlify-update.module.d.ts +0 -2
  610. package/lib/techlify-update/techlify-update.service.d.ts +0 -13
  611. package/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.d.ts +0 -31
  612. package/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.d.ts +0 -25
  613. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +0 -16
  614. package/lib/techlify-update/update-notifier/update-notifier.module.d.ts +0 -2
  615. package/lib/techlify-update/update-view/update-view.component.d.ts +0 -14
  616. package/lib/techlify-update/update-view/update-view.module.d.ts +0 -2
  617. package/lib/timeline-filter/calculate-timeline.d.ts +0 -6
  618. package/lib/timeline-filter/timeline-filter-routing.module.d.ts +0 -2
  619. package/lib/timeline-filter/timeline-filter.component.d.ts +0 -61
  620. package/lib/timeline-filter/timeline-filter.module.d.ts +0 -2
  621. package/lib/timeline-filter/timeline.model.d.ts +0 -17
  622. package/lib/utility/date-utils.service.d.ts +0 -21
  623. package/lib/utility/num-items-selector.component.d.ts +0 -16
  624. package/lib/utility/number-selector.component.d.ts +0 -20
  625. package/lib/utility/utility.module.d.ts +0 -2
  626. package/ngx-techlify-core.d.ts +0 -59
  627. package/ngx-techlify-core.metadata.json +0 -1
@@ -1,307 +0,0 @@
1
- var SearchableSelectorComponent_1;
2
- import { __decorate } from "tslib";
3
- import { FocusMonitor } from '@angular/cdk/a11y';
4
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
5
- import { Component, ElementRef, Input, Optional, Self, Output, EventEmitter } from '@angular/core';
6
- import { FormBuilder, NgControl, Validators } from '@angular/forms';
7
- import { MatFormFieldControl } from '@angular/material/form-field';
8
- import { Subject, of, from } from 'rxjs';
9
- import { debounceTime, distinctUntilChanged, startWith, switchMap, finalize } from 'rxjs/operators';
10
- import { MatDialog } from '@angular/material/dialog';
11
- import { HttpService } from '../core/http.service';
12
- import { UntilDestroy, untilDestroyed } from "@ngneat/until-destroy";
13
- let SearchableSelectorComponent = SearchableSelectorComponent_1 = class SearchableSelectorComponent {
14
- constructor(formBuilder, _focusMonitor, http, _elementRef, dialog, ngControl) {
15
- this._focusMonitor = _focusMonitor;
16
- this.http = http;
17
- this._elementRef = _elementRef;
18
- this.dialog = dialog;
19
- this.ngControl = ngControl;
20
- this.valueField = 'id';
21
- this.titleField = 'title';
22
- this.multiple = false;
23
- this.selectedValueChange = new EventEmitter();
24
- this.enableSearch = true;
25
- this.add = false;
26
- this.edit = false;
27
- this.sort = true;
28
- this.items = [];
29
- this.apiDataProperty = 'data';
30
- this.cache = false;
31
- this.perPage = 25;
32
- this.inDataSearch = false;
33
- this.selectionChange = new EventEmitter();
34
- this.itemsChange = new EventEmitter();
35
- this.isLoading = false;
36
- this.onChange = () => { };
37
- this.onTouched = () => { };
38
- this.stateChanges = new Subject();
39
- this.focused = false;
40
- this.controlType = 'searchable-selctor';
41
- this.id = `searchable-selctor-${SearchableSelectorComponent_1.nextId++}`;
42
- this.describedBy = '';
43
- this.cachedItems = [];
44
- this._required = false;
45
- this._disabled = false;
46
- this.selectorForm = formBuilder.group({
47
- select_value: [null],
48
- search: ''
49
- });
50
- _focusMonitor.monitor(_elementRef, true).subscribe(origin => {
51
- if (this.focused && !origin) {
52
- this.onTouched();
53
- }
54
- this.focused = !!origin;
55
- this.stateChanges.next();
56
- });
57
- if (this.ngControl != null) {
58
- this.ngControl.valueAccessor = this;
59
- }
60
- }
61
- get empty() {
62
- const { value: { select_value } } = this.selectorForm;
63
- return !select_value;
64
- }
65
- get shouldLabelFloat() { return this.focused || !this.empty; }
66
- get required() { return this._required; }
67
- set required(value) {
68
- this.selectorForm.get('select_value').setValidators(Validators.required);
69
- this._required = coerceBooleanProperty(value);
70
- this.stateChanges.next();
71
- }
72
- get disabled() { return this._disabled; }
73
- set disabled(value) {
74
- this._disabled = coerceBooleanProperty(value);
75
- this._disabled ? this.selectorForm.disable() : this.selectorForm.enable();
76
- this.stateChanges.next();
77
- }
78
- get value() {
79
- if (this.selectorForm.valid) {
80
- return this.selectorForm.value.select_value;
81
- }
82
- return '';
83
- }
84
- set value(data) {
85
- this.selectorForm.patchValue({ select_value: data || '' });
86
- this.stateChanges.next();
87
- }
88
- openedChange(event) {
89
- if (this.dataItems.length === 0 && this.selectorForm.get('search').value) {
90
- this.selectorForm.get('search').setValue('');
91
- }
92
- }
93
- get dataItems() {
94
- let items = [];
95
- if (this.multiple && this.selectedValue && (this.selectedValue.length > 0))
96
- items = [...this.selectedValue, ...this.items];
97
- else if ((!this.multiple) && this.selectedValue)
98
- items = [this.selectedValue, ...this.items];
99
- else
100
- items = this.items;
101
- items = items.filter((v, i, a) => a.findIndex(v => v[this.valueField] === a[i][this.valueField]) === i);
102
- //Emit the items to any child component
103
- this.itemsChange.emit(items);
104
- return items;
105
- }
106
- ngOnInit() {
107
- this.selectorForm.get('search').valueChanges
108
- .pipe(debounceTime(500), distinctUntilChanged(), untilDestroyed(this)).subscribe(value => {
109
- if (this.enableSearch)
110
- this.search(value);
111
- });
112
- this.filters = {
113
- perPage: this.perPage,
114
- search: '',
115
- page: 1,
116
- lastPage: 1
117
- };
118
- if (this.sort) {
119
- this.filters.sort_by = this.sortBy || `${this.titleField}|asc`;
120
- }
121
- //Fetch Items only if it is not present, can be used in places where we load many entries.
122
- if (this.items.length === 0) {
123
- this.fetchItemList();
124
- }
125
- }
126
- fetchItemList() {
127
- this.isLoading = true;
128
- let request = this.http.get(this.apiUrl, { params: this.filters });
129
- if (this.cache) {
130
- request = this.http.cache().get(this.apiUrl, { params: this.filters });
131
- }
132
- of().pipe(startWith(true), switchMap((_) => from(request)), finalize(() => this.isLoading = false), untilDestroyed(this)).subscribe((result) => {
133
- this.items = this.items.concat(result[this.apiDataProperty]);
134
- if (this.cache) {
135
- this.cachedItems = this.items;
136
- }
137
- this.filters.page = (result === null || result === void 0 ? void 0 : result.current_page) || 1;
138
- this.filters.lastPage = (result === null || result === void 0 ? void 0 : result.last_page) || 1;
139
- });
140
- }
141
- setDescribedByIds(ids) {
142
- this.describedBy = ids.join(' ');
143
- }
144
- onContainerClick(event) {
145
- event.stopPropagation();
146
- }
147
- writeValue(data) {
148
- this.value = data;
149
- }
150
- registerOnChange(fn) {
151
- this.onChange = fn;
152
- }
153
- registerOnTouched(fn) {
154
- this.onTouched = fn;
155
- }
156
- setDisabledState(isDisabled) {
157
- this.disabled = isDisabled;
158
- }
159
- getPropertyValue(ele, keyString) {
160
- keyString = keyString.replace(/\[(\w+)\]/g, ".$1"); // convert indexes to properties
161
- keyString = keyString.replace(/^\./, ""); // strip a leading dot
162
- const keyList = keyString.split(".");
163
- for (let i = 0, n = keyList.length; i < n; ++i) {
164
- const key = keyList[i];
165
- if (ele && key in ele) {
166
- ele = ele[key];
167
- }
168
- else {
169
- return;
170
- }
171
- }
172
- return ele;
173
- }
174
- _handleInput() {
175
- this.onChange(this.value);
176
- if (this.multiple)
177
- this.selectedValue = this.value.map(x => this.dataItems.find(y => y[this.valueField] === x));
178
- else
179
- this.selectedValue = this.dataItems.find(x => x[this.valueField] === this.value);
180
- this.selectedValueChange.emit(this.selectedValue);
181
- this.selectionChange.emit(this.value);
182
- }
183
- get errorState() {
184
- return (this.ngControl && this.ngControl.invalid && (this.ngControl.touched || this.ngControl.dirty));
185
- }
186
- onScroll() {
187
- if (this.filters.lastPage > this.filters.page) {
188
- this.filters.page += 1;
189
- this.fetchItemList();
190
- }
191
- }
192
- reloadData() {
193
- this.items = [];
194
- this.filters.page = 1;
195
- this.filters.lastPage = 1;
196
- this.fetchItemList();
197
- }
198
- search(event) {
199
- if (this.searchField) {
200
- this.filters[this.searchField] = event;
201
- }
202
- else {
203
- this.filters.search = event;
204
- }
205
- // we need search field to search in data
206
- if (this.inDataSearch && this.searchField) {
207
- this.filterItems(event);
208
- }
209
- else {
210
- this.reloadData();
211
- }
212
- }
213
- filterItems(event) {
214
- if (event) {
215
- this.items = this.cachedItems.filter((value) => {
216
- return value[this.searchField].toLowerCase().search(event.toLowerCase()) != -1;
217
- });
218
- }
219
- else {
220
- this.items = this.cachedItems;
221
- }
222
- }
223
- addItem(event) {
224
- const dialogRef = this.dialog.open(this.itemComponent, Object.assign({ width: '400px', autoFocus: false, data: {} }, this.addConfig));
225
- dialogRef.afterClosed().subscribe((result) => {
226
- if (result) {
227
- this.items.push(result.item);
228
- this.selectorForm.get('select_value').setValue(result.item[this.valueField]);
229
- this._handleInput();
230
- }
231
- });
232
- event.stopPropagation();
233
- }
234
- editItem(event) {
235
- const dialogRef = this.dialog.open(this.itemComponent, Object.assign({ width: '400px', autoFocus: false, data: {
236
- item: this.selectedValue
237
- } }, this.editConfig));
238
- dialogRef.afterClosed().subscribe((result) => {
239
- if (result) {
240
- this.items = this.items.filter(x => x[this.valueField] !== this.selectedValue[this.valueField]);
241
- this.items.push(result.item);
242
- this.selectedValue = null;
243
- this.selectorForm.get('select_value').setValue(result.item[this.valueField]);
244
- this._handleInput();
245
- }
246
- });
247
- event.stopPropagation();
248
- }
249
- ngOnDestroy() {
250
- this.stateChanges.complete();
251
- this._focusMonitor.stopMonitoring(this._elementRef);
252
- }
253
- };
254
- SearchableSelectorComponent.nextId = 0;
255
- SearchableSelectorComponent.decorators = [
256
- { type: Component, args: [{
257
- selector: 'app-searchable-selector',
258
- template: "<div [formGroup]=\"selectorForm\" class=\"searchable-selctor-container\">\r\n <mat-select formControlName=\"select_value\" focused=\"false\" [multiple]=\"multiple\" [required]=\"required\"\r\n autocomplete=\"off\" (selectionChange)=\"_handleInput()\" msInfiniteScroll (infiniteScroll)=\"onScroll()\"\r\n (openedChange)=\"openedChange($event)\">\r\n <mat-form-field *ngIf=\"enableSearch\" class=\"p-1 w-100\">\r\n <input matInput formControlName=\"search\" placeholder=\"Search...\" (keydown)=\"$event.stopPropagation();\"\r\n autocomplete=\"off\">\r\n </mat-form-field>\r\n <div>\r\n <!-- TODO:Implement scroll only for options and have search fixed -->\r\n <mat-option *ngFor=\" let item of dataItems\" [value]=\"getPropertyValue(item,valueField)\">\r\n {{getPropertyValue(item,titleField)}}\r\n </mat-option>\r\n </div>\r\n <div fxlayout=\"column\" class=\"w-100\" fxLayoutAlign=\"center center\">\r\n <mat-spinner class=\"my-4\" color=\"primary\" diameter=\"30\" *ngIf=\"isLoading\"></mat-spinner>\r\n </div>\r\n </mat-select>\r\n <mat-icon *ngIf=\"add\" class=\"relative-icon\" matSuffix (click)=\"addItem($event)\">add_circle_outline</mat-icon>\r\n <mat-icon *ngIf=\"edit && selectedValue\" class=\"relative-icon\" matSuffix (click)=\"editItem($event)\">edit</mat-icon>\r\n</div>",
259
- providers: [
260
- {
261
- provide: MatFormFieldControl,
262
- useExisting: SearchableSelectorComponent_1
263
- }
264
- ],
265
- styles: [".searchable-selctor-container{display:flex}.relative-icon{position:relative;top:-4px}"]
266
- },] }
267
- ];
268
- SearchableSelectorComponent.ctorParameters = () => [
269
- { type: FormBuilder },
270
- { type: FocusMonitor },
271
- { type: HttpService },
272
- { type: ElementRef },
273
- { type: MatDialog },
274
- { type: NgControl, decorators: [{ type: Optional }, { type: Self }] }
275
- ];
276
- SearchableSelectorComponent.propDecorators = {
277
- valueField: [{ type: Input }],
278
- titleField: [{ type: Input }],
279
- apiUrl: [{ type: Input }],
280
- multiple: [{ type: Input }],
281
- selectedValue: [{ type: Input }],
282
- selectedValueChange: [{ type: Output }],
283
- enableSearch: [{ type: Input }],
284
- add: [{ type: Input }],
285
- addConfig: [{ type: Input }],
286
- edit: [{ type: Input }],
287
- editConfig: [{ type: Input }],
288
- sort: [{ type: Input }],
289
- sortBy: [{ type: Input }],
290
- searchField: [{ type: Input }],
291
- itemComponent: [{ type: Input }],
292
- items: [{ type: Input }],
293
- apiDataProperty: [{ type: Input }],
294
- cache: [{ type: Input }],
295
- perPage: [{ type: Input }],
296
- inDataSearch: [{ type: Input }],
297
- selectionChange: [{ type: Output }],
298
- itemsChange: [{ type: Output }],
299
- required: [{ type: Input }],
300
- disabled: [{ type: Input }],
301
- value: [{ type: Input }]
302
- };
303
- SearchableSelectorComponent = SearchableSelectorComponent_1 = __decorate([
304
- UntilDestroy()
305
- ], SearchableSelectorComponent);
306
- export { SearchableSelectorComponent };
307
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbkksT0FBTyxFQUFFLFdBQVcsRUFBbUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0lBY3hELDJCQUEyQix5Q0FBM0IsMkJBQTJCO0lBOEV0QyxZQUNFLFdBQXdCLEVBQ2hCLGFBQTJCLEVBQzNCLElBQWlCLEVBQ2pCLFdBQW9DLEVBQ3BDLE1BQWlCLEVBQ0UsU0FBb0I7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Q0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUVGLENBQUE7QUEzUlEsa0NBQU0sR0FBRyxDQUFDLENBQUM7O1lBeENuQixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMseTZDQUFtRDtnQkFFbkQsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxtQkFBbUI7d0JBQzVCLFdBQVcsRUFBRSw2QkFBMkI7cUJBQ3pDO2lCQUNGOzthQUNGOzs7WUFwQlEsV0FBVztZQUhYLFlBQVk7WUFTWixXQUFXO1lBUEEsVUFBVTtZQUtyQixTQUFTO1lBSnFDLFNBQVMsdUJBeUczRCxRQUFRLFlBQUksSUFBSTs7O3lCQWxGbEIsS0FBSzt5QkFDTCxLQUFLO3FCQUNMLEtBQUs7dUJBQ0wsS0FBSzs0QkFDTCxLQUFLO2tDQUNMLE1BQU07MkJBQ04sS0FBSztrQkFDTCxLQUFLO3dCQUNMLEtBQUs7bUJBQ0wsS0FBSzt5QkFDTCxLQUFLO21CQUNMLEtBQUs7cUJBQ0wsS0FBSzswQkFDTCxLQUFLOzRCQUNMLEtBQUs7b0JBQ0wsS0FBSzs4QkFDTCxLQUFLO29CQUNMLEtBQUs7c0JBQ0wsS0FBSzsyQkFDTCxLQUFLOzhCQUNMLE1BQU07MEJBQ04sTUFBTTt1QkF5Qk4sS0FBSzt1QkFTTCxLQUFLO29CQVNMLEtBQUs7O0FBbEVLLDJCQUEyQjtJQVp2QyxZQUFZLEVBQUU7R0FZRiwyQkFBMkIsQ0F3VHZDO1NBeFRZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBvZiwgZnJvbSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h0dHAuc2VydmljZSc7XHJcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQG5nbmVhdC91bnRpbC1kZXN0cm95XCI7XHJcblxyXG5AVW50aWxEZXN0cm95KClcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2VhcmNoYWJsZS1zZWxlY3RvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaGFibGUtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaGFibGUtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudFxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIHZhbHVlRmllbGQ6IHN0cmluZyA9ICdpZCc7XHJcbiAgQElucHV0KCkgdGl0bGVGaWVsZDogc3RyaW5nID0gJ3RpdGxlJztcclxuICBASW5wdXQoKSBhcGlVcmwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzZWxlY3RlZFZhbHVlOiBhbnk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZW5hYmxlU2VhcmNoOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhZGQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhZGRDb25maWc6IGFueTtcclxuICBASW5wdXQoKSBlZGl0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZWRpdENvbmZpZzogYW55O1xyXG4gIEBJbnB1dCgpIHNvcnQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNvcnRCeTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNlYXJjaEZpZWxkOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXRlbUNvbXBvbmVudDogQ29tcG9uZW50VHlwZTx1bmtub3duPiB8IFRlbXBsYXRlUmVmPHVua25vd24+O1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGFwaURhdGFQcm9wZXJ0eTogc3RyaW5nID0gJ2RhdGEnO1xyXG4gIEBJbnB1dCgpIGNhY2hlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGVyUGFnZTogbnVtYmVyID0gMjU7XHJcbiAgQElucHV0KCkgaW5EYXRhU2VhcmNoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaXRlbXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG4gIG9uVG91Y2hlZDogYW55ID0gKCkgPT4geyB9O1xyXG4gIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHNlbGVjdG9yRm9ybTogRm9ybUdyb3VwO1xyXG4gIHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgZm9jdXNlZCA9IGZhbHNlO1xyXG4gIGNvbnRyb2xUeXBlID0gJ3NlYXJjaGFibGUtc2VsY3Rvcic7XHJcbiAgaWQgPSBgc2VhcmNoYWJsZS1zZWxjdG9yLSR7U2VhcmNoYWJsZVNlbGVjdG9yQ29tcG9uZW50Lm5leHRJZCsrfWA7XHJcbiAgZGVzY3JpYmVkQnkgPSAnJztcclxuICBmaWx0ZXJzOiBhbnk7XHJcbiAgY2FjaGVkSXRlbXM6IGFueVtdID0gW107XHJcblxyXG5cclxuICBnZXQgZW1wdHkoKSB7XHJcbiAgICBjb25zdCB7IHZhbHVlOiB7IHNlbGVjdF92YWx1ZSB9IH0gPSB0aGlzLnNlbGVjdG9yRm9ybTtcclxuICAgIHJldHVybiAhc2VsZWN0X3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3VsZExhYmVsRmxvYXQoKSB7IHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHk7IH1cclxuXHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7IH1cclxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnc2VsZWN0X3ZhbHVlJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPyB0aGlzLnNlbGVjdG9yRm9ybS5kaXNhYmxlKCkgOiB0aGlzLnNlbGVjdG9yRm9ybS5lbmFibGUoKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIGlmICh0aGlzLnNlbGVjdG9yRm9ybS52YWxpZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWxlY3RvckZvcm0udmFsdWUuc2VsZWN0X3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuICBzZXQgdmFsdWUoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdG9yRm9ybS5wYXRjaFZhbHVlKHsgc2VsZWN0X3ZhbHVlOiBkYXRhIHx8ICcnIH0pO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIF9mb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge1xyXG5cclxuICAgIHRoaXMuc2VsZWN0b3JGb3JtID0gZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICBzZWxlY3RfdmFsdWU6IFtudWxsXSxcclxuICAgICAgc2VhcmNoOiAnJ1xyXG4gICAgfSk7XHJcblxyXG4gICAgX2ZvY3VzTW9uaXRvci5tb25pdG9yKF9lbGVtZW50UmVmLCB0cnVlKS5zdWJzY3JpYmUob3JpZ2luID0+IHtcclxuICAgICAgaWYgKHRoaXMuZm9jdXNlZCAmJiAhb3JpZ2luKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpbjtcclxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuZWRDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuZGF0YUl0ZW1zLmxlbmd0aCA9PT0gMCAmJiB0aGlzLnNlbGVjdG9yRm9ybS5nZXQoJ3NlYXJjaCcpLnZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnc2VhcmNoJykuc2V0VmFsdWUoJycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGRhdGFJdGVtcygpOiBhbnlbXSB7XHJcbiAgICBsZXQgaXRlbXM6IGFueVtdID0gW107XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkVmFsdWUgJiYgKHRoaXMuc2VsZWN0ZWRWYWx1ZS5sZW5ndGggPiAwKSlcclxuICAgICAgaXRlbXMgPSBbLi4udGhpcy5zZWxlY3RlZFZhbHVlLCAuLi50aGlzLml0ZW1zXTtcclxuICAgIGVsc2UgaWYgKCghdGhpcy5tdWx0aXBsZSkgJiYgdGhpcy5zZWxlY3RlZFZhbHVlKVxyXG4gICAgICBpdGVtcyA9IFt0aGlzLnNlbGVjdGVkVmFsdWUsIC4uLnRoaXMuaXRlbXNdO1xyXG4gICAgZWxzZVxyXG4gICAgICBpdGVtcyA9IHRoaXMuaXRlbXM7XHJcbiAgICBpdGVtcyA9IGl0ZW1zLmZpbHRlcigodiwgaSwgYSkgPT4gYS5maW5kSW5kZXgodiA9PiB2W3RoaXMudmFsdWVGaWVsZF0gPT09IGFbaV1bdGhpcy52YWx1ZUZpZWxkXSkgPT09IGkpO1xyXG4gICAgLy9FbWl0IHRoZSBpdGVtcyB0byBhbnkgY2hpbGQgY29tcG9uZW50XHJcbiAgICB0aGlzLml0ZW1zQ2hhbmdlLmVtaXQoaXRlbXMpO1xyXG4gICAgcmV0dXJuIGl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdG9yRm9ybS5nZXQoJ3NlYXJjaCcpLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShcclxuICAgICAgICBkZWJvdW5jZVRpbWUoNTAwKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpXHJcbiAgICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVTZWFyY2gpXHJcbiAgICAgICAgICB0aGlzLnNlYXJjaCh2YWx1ZSk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZmlsdGVycyA9IHtcclxuICAgICAgcGVyUGFnZTogdGhpcy5wZXJQYWdlLFxyXG4gICAgICBzZWFyY2g6ICcnLFxyXG4gICAgICBwYWdlOiAxLFxyXG4gICAgICBsYXN0UGFnZTogMVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc29ydCkge1xyXG4gICAgICB0aGlzLmZpbHRlcnMuc29ydF9ieSA9IHRoaXMuc29ydEJ5IHx8IGAke3RoaXMudGl0bGVGaWVsZH18YXNjYDtcclxuICAgIH1cclxuXHJcbiAgICAvL0ZldGNoIEl0ZW1zIG9ubHkgaWYgaXQgaXMgbm90IHByZXNlbnQsIGNhbiBiZSB1c2VkIGluIHBsYWNlcyB3aGVyZSB3ZSBsb2FkIG1hbnkgZW50cmllcy5cclxuICAgIGlmICh0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmZldGNoSXRlbUxpc3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZldGNoSXRlbUxpc3QoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICBsZXQgcmVxdWVzdCA9IHRoaXMuaHR0cC5nZXQodGhpcy5hcGlVcmwsIHsgcGFyYW1zOiB0aGlzLmZpbHRlcnMgfSlcclxuICAgIGlmICh0aGlzLmNhY2hlKSB7XHJcbiAgICAgIHJlcXVlc3QgPSB0aGlzLmh0dHAuY2FjaGUoKS5nZXQodGhpcy5hcGlVcmwsIHsgcGFyYW1zOiB0aGlzLmZpbHRlcnMgfSlcclxuICAgIH1cclxuICAgIG9mKCkucGlwZShcclxuICAgICAgc3RhcnRXaXRoKHRydWUpLFxyXG4gICAgICBzd2l0Y2hNYXAoKF8pID0+IGZyb20ocmVxdWVzdCkpLFxyXG4gICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSxcclxuICAgICAgdW50aWxEZXN0cm95ZWQodGhpcylcclxuICAgICkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5pdGVtcy5jb25jYXQocmVzdWx0W3RoaXMuYXBpRGF0YVByb3BlcnR5XSk7XHJcbiAgICAgIGlmICh0aGlzLmNhY2hlKSB7XHJcbiAgICAgICAgdGhpcy5jYWNoZWRJdGVtcyA9IHRoaXMuaXRlbXM7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5maWx0ZXJzLnBhZ2UgPSByZXN1bHQ/LmN1cnJlbnRfcGFnZSB8fCAxO1xyXG4gICAgICB0aGlzLmZpbHRlcnMubGFzdFBhZ2UgPSByZXN1bHQ/Lmxhc3RfcGFnZSB8fCAxO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUoZGF0YTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gZGF0YTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBnZXRQcm9wZXJ0eVZhbHVlKGVsZTogYW55LCBrZXlTdHJpbmc6IHN0cmluZykge1xyXG4gICAga2V5U3RyaW5nID0ga2V5U3RyaW5nLnJlcGxhY2UoL1xcWyhcXHcrKVxcXS9nLCBcIi4kMVwiKTsgLy8gY29udmVydCBpbmRleGVzIHRvIHByb3BlcnRpZXNcclxuICAgIGtleVN0cmluZyA9IGtleVN0cmluZy5yZXBsYWNlKC9eXFwuLywgXCJcIik7IC8vIHN0cmlwIGEgbGVhZGluZyBkb3RcclxuICAgIGNvbnN0IGtleUxpc3QgPSBrZXlTdHJpbmcuc3BsaXQoXCIuXCIpO1xyXG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSBrZXlMaXN0Lmxlbmd0aDsgaSA8IG47ICsraSkge1xyXG4gICAgICBjb25zdCBrZXkgPSBrZXlMaXN0W2ldO1xyXG4gICAgICBpZiAoZWxlICYmIGtleSBpbiBlbGUpIHtcclxuICAgICAgICBlbGUgPSBlbGVba2V5XTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBlbGU7XHJcbiAgfVxyXG5cclxuICBfaGFuZGxlSW5wdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9ICh0aGlzLnZhbHVlIGFzIFtdKS5tYXAoeCA9PiB0aGlzLmRhdGFJdGVtcy5maW5kKHkgPT4geVt0aGlzLnZhbHVlRmllbGRdID09PSB4KSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRoaXMuZGF0YUl0ZW1zLmZpbmQoeCA9PiB4W3RoaXMudmFsdWVGaWVsZF0gPT09IHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZFZhbHVlKTtcclxuICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXQgZXJyb3JTdGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuaW52YWxpZCAmJiAodGhpcy5uZ0NvbnRyb2wudG91Y2hlZCB8fCB0aGlzLm5nQ29udHJvbC5kaXJ0eSkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVkOiBib29sZWFuIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfcmVxdWlyZWQ6IGJvb2xlYW4gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG5cclxuICBvblNjcm9sbCgpIHtcclxuICAgIGlmICh0aGlzLmZpbHRlcnMubGFzdFBhZ2UgPiB0aGlzLmZpbHRlcnMucGFnZSkge1xyXG4gICAgICB0aGlzLmZpbHRlcnMucGFnZSArPSAxO1xyXG4gICAgICB0aGlzLmZldGNoSXRlbUxpc3QoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbG9hZERhdGEoKSB7XHJcbiAgICB0aGlzLml0ZW1zID0gW107XHJcbiAgICB0aGlzLmZpbHRlcnMucGFnZSA9IDE7XHJcbiAgICB0aGlzLmZpbHRlcnMubGFzdFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5mZXRjaEl0ZW1MaXN0KCk7XHJcbiAgfVxyXG5cclxuICBzZWFyY2goZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoRmllbGQpIHtcclxuICAgICAgdGhpcy5maWx0ZXJzW3RoaXMuc2VhcmNoRmllbGRdID0gZXZlbnQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbHRlcnMuc2VhcmNoID0gZXZlbnQ7XHJcbiAgICB9XHJcbiAgICAvLyB3ZSBuZWVkIHNlYXJjaCBmaWVsZCB0byBzZWFyY2ggaW4gZGF0YVxyXG4gICAgaWYgKHRoaXMuaW5EYXRhU2VhcmNoICYmIHRoaXMuc2VhcmNoRmllbGQpIHtcclxuICAgICAgdGhpcy5maWx0ZXJJdGVtcyhldmVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlbG9hZERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZpbHRlckl0ZW1zKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5jYWNoZWRJdGVtcy5maWx0ZXIoKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gKHZhbHVlW3RoaXMuc2VhcmNoRmllbGRdIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKS5zZWFyY2goZXZlbnQudG9Mb3dlckNhc2UoKSkgIT0gLTFcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLmNhY2hlZEl0ZW1zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkSXRlbShldmVudDogYW55KSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKHRoaXMuaXRlbUNvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogJzQwMHB4JyxcclxuICAgICAgYXV0b0ZvY3VzOiBmYWxzZSxcclxuICAgICAgZGF0YToge30sXHJcbiAgICAgIC4uLnRoaXMuYWRkQ29uZmlnXHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICB0aGlzLml0ZW1zLnB1c2gocmVzdWx0Lml0ZW0pO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnc2VsZWN0X3ZhbHVlJykuc2V0VmFsdWUocmVzdWx0Lml0ZW1bdGhpcy52YWx1ZUZpZWxkXSk7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlSW5wdXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGVkaXRJdGVtKGV2ZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4odGhpcy5pdGVtQ29tcG9uZW50LCB7XHJcbiAgICAgIHdpZHRoOiAnNDAwcHgnLFxyXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgaXRlbTogdGhpcy5zZWxlY3RlZFZhbHVlXHJcbiAgICAgIH0sXHJcbiAgICAgIC4uLnRoaXMuZWRpdENvbmZpZ1xyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKHggPT4geFt0aGlzLnZhbHVlRmllbGRdICE9PSB0aGlzLnNlbGVjdGVkVmFsdWVbdGhpcy52YWx1ZUZpZWxkXSk7XHJcbiAgICAgICAgdGhpcy5pdGVtcy5wdXNoKHJlc3VsdC5pdGVtKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0b3JGb3JtLmdldCgnc2VsZWN0X3ZhbHVlJykuc2V0VmFsdWUocmVzdWx0Lml0ZW1bdGhpcy52YWx1ZUZpZWxkXSk7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlSW5wdXQoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { SearchableSelectorComponent } from './searchable-selector.component';
4
- import { FlexLayoutModule } from '@angular/flex-layout';
5
- import { ReactiveFormsModule } from '@angular/forms';
6
- import { MatSelectInfiniteScrollDirective } from './mat-select-infinite-scroll.directive';
7
- import { MaterialModule } from '../material.module';
8
- export class SearchableSelectorModule {
9
- }
10
- SearchableSelectorModule.decorators = [
11
- { type: NgModule, args: [{
12
- imports: [
13
- CommonModule,
14
- ReactiveFormsModule,
15
- FlexLayoutModule,
16
- MaterialModule
17
- ],
18
- declarations: [
19
- SearchableSelectorComponent,
20
- MatSelectInfiniteScrollDirective
21
- ],
22
- exports: [
23
- SearchableSelectorComponent,
24
- MatSelectInfiniteScrollDirective
25
- ]
26
- },] }
27
- ];
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3NlYXJjaGFibGUtc2VsZWN0b3Ivc2VhcmNoYWJsZS1zZWxlY3Rvci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBa0JwRCxNQUFNLE9BQU8sd0JBQXdCOzs7WUFoQnBDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixtQkFBbUI7b0JBQ25CLGdCQUFnQjtvQkFDaEIsY0FBYztpQkFDZjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osMkJBQTJCO29CQUMzQixnQ0FBZ0M7aUJBQ2pDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCwyQkFBMkI7b0JBQzNCLGdDQUFnQztpQkFDakM7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoYWJsZS1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vbWF0LXNlbGVjdC1pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIE1hdGVyaWFsTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNlYXJjaGFibGVTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIE1hdFNlbGVjdEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTZWFyY2hhYmxlU2VsZWN0b3JDb21wb25lbnQsXHJcbiAgICBNYXRTZWxlY3RJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNlYXJjaGFibGVTZWxlY3Rvck1vZHVsZSB7IH1cclxuIl19
@@ -1,27 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { FormBuilder } from '@angular/forms';
3
- export class OnOffSwitchComponent {
4
- constructor(fb) {
5
- this.fb = fb;
6
- this.slideToggle = this.fb.group({
7
- toggle: [""]
8
- });
9
- }
10
- ngOnInit() {
11
- this.slideToggle.get('toggle').setValue(this.value);
12
- }
13
- }
14
- OnOffSwitchComponent.decorators = [
15
- { type: Component, args: [{
16
- selector: 'app-on-off-switch',
17
- template: "<form [formGroup]=\"slideToggle\">\r\n <mat-slide-toggle formControlName=\"toggle\">On / Off\r\n </mat-slide-toggle>\r\n</form>\r\n",
18
- styles: [""]
19
- },] }
20
- ];
21
- OnOffSwitchComponent.ctorParameters = () => [
22
- { type: FormBuilder }
23
- ];
24
- OnOffSwitchComponent.propDecorators = {
25
- value: [{ type: Input }]
26
- };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib24tb2ZmLXN3aXRjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL3RlY2hsaWZ5LWZlYXR1cmUvb24tb2ZmLXN3aXRjaC9vbi1vZmYtc3dpdGNoLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFReEQsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQixZQUFvQixFQUFlO1FBQWYsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNqQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQy9CLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs7WUFuQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLGlKQUE2Qzs7YUFFOUM7OztZQU5RLFdBQVc7OztvQkFVakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtb24tb2ZmLXN3aXRjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29uLW9mZi1zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29uLW9mZi1zd2l0Y2guY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE9uT2ZmU3dpdGNoQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgdmFsdWU6IGJvb2xlYW47XHJcbiAgc2xpZGVUb2dnbGU6IEZvcm1Hcm91cDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIHRoaXMuc2xpZGVUb2dnbGUgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgdG9nZ2xlOiBbXCJcIl1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2xpZGVUb2dnbGUuZ2V0KCd0b2dnbGUnKS5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -1,78 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Directive, ElementRef, Input } from '@angular/core';
3
- import { ErrorHandlerService } from '../core/error-handler.service';
4
- import { StorageService } from '../core/storage.service';
5
- import { TechlifyFeatureService } from './techlify-feature.service';
6
- export class TechlifyFeatureEnabledDirective {
7
- constructor(el, featureService, errorHandler, storage) {
8
- this.el = el;
9
- this.featureService = featureService;
10
- this.errorHandler = errorHandler;
11
- this.storage = storage;
12
- this.localFeatures = [];
13
- }
14
- ngOnInit() {
15
- if (!this.storage.getItem('features')) {
16
- this.getFeatures();
17
- }
18
- else {
19
- this.checkForFeatureEnabled();
20
- }
21
- }
22
- getFeatures() {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- try {
25
- let features = yield this.featureService.getFeatures();
26
- for (let feature of features.data) {
27
- if (!feature.client_feature) {
28
- if (feature.is_enabled_default) {
29
- this.localFeatures.push(feature.code);
30
- }
31
- }
32
- else {
33
- if (feature.client_feature.is_enabled) {
34
- this.localFeatures.push(feature.code);
35
- }
36
- }
37
- }
38
- this.storage.setItem("features", this.localFeatures);
39
- }
40
- catch (error) {
41
- this.errorHandler.handleError(error);
42
- }
43
- finally {
44
- this.checkForFeatureEnabled();
45
- }
46
- });
47
- }
48
- checkForFeatureEnabled() {
49
- try {
50
- let features = this.storage.getItem('features');
51
- let features_split = features.split(',');
52
- if (features_split.includes(this.enabledFeature)) {
53
- this.el.nativeElement.style.display = "show";
54
- }
55
- else {
56
- this.el.nativeElement.remove();
57
- }
58
- }
59
- catch (error) {
60
- this.errorHandler.handleError(error);
61
- }
62
- }
63
- }
64
- TechlifyFeatureEnabledDirective.decorators = [
65
- { type: Directive, args: [{
66
- selector: '[techlifyFeatureEnabled]'
67
- },] }
68
- ];
69
- TechlifyFeatureEnabledDirective.ctorParameters = () => [
70
- { type: ElementRef },
71
- { type: TechlifyFeatureService },
72
- { type: ErrorHandlerService },
73
- { type: StorageService }
74
- ];
75
- TechlifyFeatureEnabledDirective.propDecorators = {
76
- enabledFeature: [{ type: Input, args: ['techlifyFeatureEnabled',] }]
77
- };
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktZmVhdHVyZS1lbmFibGVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGVjaGxpZnktZmVhdHVyZS90ZWNobGlmeS1mZWF0dXJlLWVuYWJsZWQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBS3BFLE1BQU0sT0FBTywrQkFBK0I7SUFNMUMsWUFDVSxFQUFjLEVBQ2QsY0FBc0MsRUFDdEMsWUFBaUMsRUFDakMsT0FBdUI7UUFIdkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUF3QjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFQakMsa0JBQWEsR0FBVSxFQUFFLENBQUM7SUFTMUIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO2FBQU07WUFDTCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFSyxXQUFXOztZQUNmLElBQUk7Z0JBQ0YsSUFBSSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUV2RCxLQUFLLElBQUksT0FBTyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO3dCQUMzQixJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTs0QkFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO3lCQUN2QztxQkFDRjt5QkFBTTt3QkFDTCxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFOzRCQUNyQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7eUJBQ3ZDO3FCQUNGO2lCQUVGO2dCQUNELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDdEQ7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN0QztvQkFBUztnQkFDUixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTthQUM5QjtRQUNILENBQUM7S0FBQTtJQUVELHNCQUFzQjtRQUNwQixJQUFJO1lBQ0YsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDaEQsSUFBSSxjQUFjLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUV6QyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQzthQUM5QztpQkFBTTtnQkFDTCxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNoQztTQUVGO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QztJQUNILENBQUM7OztZQS9ERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjthQUNyQzs7O1lBUG1CLFVBQVU7WUFHckIsc0JBQXNCO1lBRnRCLG1CQUFtQjtZQUNuQixjQUFjOzs7NkJBVXBCLEtBQUssU0FBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2Vycm9yLWhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUZWNobGlmeUZlYXR1cmVTZXJ2aWNlIH0gZnJvbSAnLi90ZWNobGlmeS1mZWF0dXJlLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbdGVjaGxpZnlGZWF0dXJlRW5hYmxlZF0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZWNobGlmeUZlYXR1cmVFbmFibGVkRGlyZWN0aXZlIHtcclxuXHJcbiAgZmVhdHVyZXM6IGFueTtcclxuICBsb2NhbEZlYXR1cmVzOiBhbnlbXSA9IFtdO1xyXG4gIEBJbnB1dCgndGVjaGxpZnlGZWF0dXJlRW5hYmxlZCcpIGVuYWJsZWRGZWF0dXJlOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgZmVhdHVyZVNlcnZpY2U6IFRlY2hsaWZ5RmVhdHVyZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVycm9ySGFuZGxlcjogRXJyb3JIYW5kbGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZVNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2ZlYXR1cmVzJykpIHtcclxuICAgICAgdGhpcy5nZXRGZWF0dXJlcygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jaGVja0ZvckZlYXR1cmVFbmFibGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRGZWF0dXJlcygpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGxldCBmZWF0dXJlcyA9IGF3YWl0IHRoaXMuZmVhdHVyZVNlcnZpY2UuZ2V0RmVhdHVyZXMoKTtcclxuXHJcbiAgICAgIGZvciAobGV0IGZlYXR1cmUgb2YgZmVhdHVyZXMuZGF0YSkge1xyXG4gICAgICAgIGlmICghZmVhdHVyZS5jbGllbnRfZmVhdHVyZSkge1xyXG4gICAgICAgICAgaWYgKGZlYXR1cmUuaXNfZW5hYmxlZF9kZWZhdWx0KSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9jYWxGZWF0dXJlcy5wdXNoKGZlYXR1cmUuY29kZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChmZWF0dXJlLmNsaWVudF9mZWF0dXJlLmlzX2VuYWJsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5sb2NhbEZlYXR1cmVzLnB1c2goZmVhdHVyZS5jb2RlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKFwiZmVhdHVyZXNcIiwgdGhpcy5sb2NhbEZlYXR1cmVzKTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHRoaXMuY2hlY2tGb3JGZWF0dXJlRW5hYmxlZCgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja0ZvckZlYXR1cmVFbmFibGVkKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgbGV0IGZlYXR1cmVzID0gdGhpcy5zdG9yYWdlLmdldEl0ZW0oJ2ZlYXR1cmVzJyk7XHJcbiAgICAgIGxldCBmZWF0dXJlc19zcGxpdCA9IGZlYXR1cmVzLnNwbGl0KCcsJyk7XHJcblxyXG4gICAgICBpZiAoZmVhdHVyZXNfc3BsaXQuaW5jbHVkZXModGhpcy5lbmFibGVkRmVhdHVyZSkpIHtcclxuICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwic2hvd1wiO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmUoKTtcclxuICAgICAgfVxyXG5cclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKGVycm9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==