@alfresco/aca-content 5.1.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/assets/app.extensions.json +9 -0
  2. package/assets/i18n/ar.json +600 -599
  3. package/assets/i18n/cs.json +600 -599
  4. package/assets/i18n/da.json +600 -599
  5. package/assets/i18n/de.json +600 -599
  6. package/assets/i18n/en.json +40 -1
  7. package/assets/i18n/es.json +600 -599
  8. package/assets/i18n/fi.json +600 -599
  9. package/assets/i18n/fr.json +600 -599
  10. package/assets/i18n/it.json +600 -599
  11. package/assets/i18n/ja.json +600 -599
  12. package/assets/i18n/nb.json +600 -599
  13. package/assets/i18n/nl.json +600 -599
  14. package/assets/i18n/pl.json +600 -599
  15. package/assets/i18n/pt-BR.json +600 -599
  16. package/assets/i18n/ru.json +600 -599
  17. package/assets/i18n/sv.json +600 -599
  18. package/assets/i18n/zh-CN.json +600 -599
  19. package/esm2022/about/about.component.mjs +70 -0
  20. package/esm2022/about/aca-about.module.mjs +47 -0
  21. package/esm2022/folder-rules/folder-rules.module.mjs +116 -0
  22. package/esm2022/folder-rules/manage-rules/manage-rules.smart-component.mjs +280 -0
  23. package/esm2022/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +117 -0
  24. package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +359 -0
  25. package/esm2022/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +171 -0
  26. package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +237 -0
  27. package/esm2022/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +80 -0
  28. package/esm2022/folder-rules/rule-details/options/rule-options.ui-component.mjs +129 -0
  29. package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +192 -0
  30. package/esm2022/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +87 -0
  31. package/esm2022/folder-rules/rule-details/validators/rule-actions.validator.mjs +36 -0
  32. package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +166 -0
  33. package/esm2022/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +80 -0
  34. package/esm2022/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +59 -0
  35. package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +125 -0
  36. package/esm2022/folder-rules/services/actions.service.mjs +117 -0
  37. package/esm2022/folder-rules/services/folder-rule-sets.service.mjs +230 -0
  38. package/esm2022/folder-rules/services/folder-rules.service.mjs +195 -0
  39. package/esm2022/lib/aca-content.module.mjs +303 -0
  40. package/esm2022/lib/aca-content.routes.mjs +369 -0
  41. package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +82 -0
  42. package/{esm2020 → esm2022}/lib/components/common/language-picker/language-picker.component.mjs +9 -8
  43. package/esm2022/lib/components/common/location-link/location-link.component.mjs +182 -0
  44. package/{esm2020 → esm2022}/lib/components/common/logout/logout.component.mjs +8 -6
  45. package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +81 -0
  46. package/esm2022/lib/components/common/user-info/user-info.component.mjs +46 -0
  47. package/esm2022/lib/components/context-menu/base-context-menu.directive.mjs +77 -0
  48. package/esm2022/lib/components/context-menu/context-menu-item.component.mjs +65 -0
  49. package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +62 -0
  50. package/esm2022/lib/components/context-menu/context-menu-overlay.mjs +33 -0
  51. package/esm2022/lib/components/context-menu/context-menu.component.mjs +84 -0
  52. package/esm2022/lib/components/context-menu/context-menu.service.mjs +127 -0
  53. package/esm2022/lib/components/context-menu/custom-context-menu-actions.token.mjs +26 -0
  54. package/esm2022/lib/components/context-menu/custom-context-menu.component.mjs +79 -0
  55. package/esm2022/lib/components/details/details.component.mjs +154 -0
  56. package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +75 -0
  57. package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +106 -0
  58. package/esm2022/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +52 -0
  59. package/esm2022/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +77 -0
  60. package/esm2022/lib/components/favorite-libraries/favorite-libraries.component.mjs +126 -0
  61. package/esm2022/lib/components/favorites/favorites.component.mjs +105 -0
  62. package/esm2022/lib/components/files/files.component.mjs +336 -0
  63. package/esm2022/lib/components/home/home.component.mjs +46 -0
  64. package/esm2022/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +62 -0
  65. package/esm2022/lib/components/info-drawer/info.drawer.module.mjs +74 -0
  66. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +213 -0
  67. package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +47 -0
  68. package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +145 -0
  69. package/esm2022/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +107 -0
  70. package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +135 -0
  71. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +181 -0
  72. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +77 -0
  73. package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +210 -0
  74. package/esm2022/lib/components/libraries/libraries.component.mjs +81 -0
  75. package/esm2022/lib/components/recent-files/recent-files.component.mjs +80 -0
  76. package/esm2022/lib/components/search/search-action-menu/search-action-menu.component.mjs +66 -0
  77. package/esm2022/lib/components/search/search-input/search-input.component.mjs +297 -0
  78. package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +94 -0
  79. package/esm2022/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +93 -0
  80. package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +155 -0
  81. package/esm2022/lib/components/search/search-navigation.service.mjs +62 -0
  82. package/esm2022/lib/components/search/search-results/search-results.component.mjs +279 -0
  83. package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +149 -0
  84. package/esm2022/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.mjs +82 -0
  85. package/esm2022/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.mjs +116 -0
  86. package/esm2022/lib/components/search/search-save/dialog/save-search-dialog.component.mjs +125 -0
  87. package/esm2022/lib/components/search/search-save/dialog/saved-search-form.interface.mjs +25 -0
  88. package/esm2022/lib/components/search/search-save/dialog/unique-search-name-validator.mjs +45 -0
  89. package/esm2022/lib/components/search/search-save/directive/save-search.directive.mjs +64 -0
  90. package/esm2022/lib/components/search/search-save/list/saved-searches-list-ui.service.mjs +51 -0
  91. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.mjs +44 -0
  92. package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.mjs +50 -0
  93. package/esm2022/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.mjs +153 -0
  94. package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +94 -0
  95. package/esm2022/lib/components/shared-files/shared-files.component.mjs +85 -0
  96. package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +89 -0
  97. package/esm2022/lib/components/sidenav/components/button-menu.component.mjs +66 -0
  98. package/esm2022/lib/components/sidenav/components/expand-menu.component.mjs +73 -0
  99. package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +65 -0
  100. package/esm2022/lib/components/sidenav/directives/action.directive.mjs +86 -0
  101. package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +100 -0
  102. package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +107 -0
  103. package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +103 -0
  104. package/esm2022/lib/components/sidenav/sidenav.component.mjs +101 -0
  105. package/esm2022/lib/components/sidenav/user-menu/user-menu.component.mjs +57 -0
  106. package/esm2022/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +143 -0
  107. package/esm2022/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +91 -0
  108. package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +112 -0
  109. package/esm2022/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +77 -0
  110. package/esm2022/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +107 -0
  111. package/{esm2020 → esm2022}/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +7 -6
  112. package/esm2022/lib/components/toolbar/view-node/view-node.component.mjs +128 -0
  113. package/esm2022/lib/components/trashcan/trashcan.component.mjs +66 -0
  114. package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +55 -0
  115. package/esm2022/lib/components/view-profile/view-profile.component.mjs +200 -0
  116. package/esm2022/lib/dialogs/node-template/create-from-template.dialog.mjs +127 -0
  117. package/esm2022/lib/directives/document-list.directive.mjs +207 -0
  118. package/esm2022/lib/extensions/core.extensions.module.mjs +56 -0
  119. package/esm2022/lib/services/content-management.service.mjs +892 -0
  120. package/esm2022/lib/services/content-url.service.mjs +74 -0
  121. package/esm2022/lib/services/modal-ai.service.mjs +65 -0
  122. package/esm2022/lib/services/node-actions.service.mjs +609 -0
  123. package/esm2022/lib/services/node-template.service.mjs +145 -0
  124. package/esm2022/lib/services/search-ai-navigation.service.mjs +63 -0
  125. package/esm2022/lib/store/app-store.module.mjs +101 -0
  126. package/esm2022/lib/store/effects/app.effects.mjs +46 -0
  127. package/esm2022/lib/store/effects/contextmenu.effects.mjs +65 -0
  128. package/esm2022/lib/store/effects/download.effects.mjs +153 -0
  129. package/esm2022/lib/store/effects/favorite.effects.mjs +72 -0
  130. package/esm2022/lib/store/effects/library.effects.mjs +108 -0
  131. package/esm2022/lib/store/effects/node.effects.mjs +318 -0
  132. package/esm2022/lib/store/effects/search-ai.effects.mjs +54 -0
  133. package/esm2022/lib/store/effects/search.effects.mjs +52 -0
  134. package/esm2022/lib/store/effects/template.effects.mjs +116 -0
  135. package/esm2022/lib/store/effects/upload.effects.mjs +166 -0
  136. package/esm2022/lib/store/effects/viewer.effects.mjs +169 -0
  137. package/esm2022/lib/utils/aca-search-utils.mjs +129 -0
  138. package/esm2022/ms-office/actions/aos.actions.mjs +32 -0
  139. package/esm2022/ms-office/aos-extension.module.mjs +53 -0
  140. package/esm2022/ms-office/aos-extension.service.mjs +136 -0
  141. package/esm2022/ms-office/effects/aos.effects.mjs +45 -0
  142. package/esm2022/public-api.mjs +33 -0
  143. package/esm2022/viewer/lib/components/preview/preview.component.mjs +246 -0
  144. package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +261 -0
  145. package/esm2022/viewer/lib/services/viewer.service.mjs +229 -0
  146. package/esm2022/viewer/lib/viewer.module.mjs +53 -0
  147. package/{fesm2015 → fesm2022}/alfresco-aca-content-about.mjs +17 -19
  148. package/fesm2022/alfresco-aca-content-about.mjs.map +1 -0
  149. package/{fesm2020 → fesm2022}/alfresco-aca-content-folder-rules.mjs +357 -316
  150. package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -0
  151. package/{fesm2020 → fesm2022}/alfresco-aca-content-ms-office.mjs +28 -26
  152. package/fesm2022/alfresco-aca-content-ms-office.mjs.map +1 -0
  153. package/{fesm2020 → fesm2022}/alfresco-aca-content-viewer.mjs +95 -64
  154. package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -0
  155. package/fesm2022/alfresco-aca-content.mjs +11091 -0
  156. package/fesm2022/alfresco-aca-content.mjs.map +1 -0
  157. package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
  158. package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +1 -1
  159. package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
  160. package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +1 -1
  161. package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
  162. package/folder-rules/rule-details/rule-details.ui-component.d.ts +1 -1
  163. package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +1 -1
  164. package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
  165. package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
  166. package/folder-rules/services/folder-rule-sets.service.d.ts +4 -4
  167. package/folder-rules/services/folder-rules.service.d.ts +1 -1
  168. package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +5 -10
  169. package/lib/components/common/location-link/location-link.component.d.ts +1 -1
  170. package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +1 -1
  171. package/lib/components/context-menu/base-context-menu.directive.d.ts +20 -0
  172. package/lib/components/context-menu/context-menu-item.component.d.ts +1 -1
  173. package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
  174. package/lib/components/context-menu/context-menu.component.d.ts +4 -15
  175. package/lib/components/context-menu/context-menu.service.d.ts +4 -1
  176. package/lib/components/{knowledge-retrieval/search-ai/search-ai-utils.d.ts → context-menu/custom-context-menu-actions.token.d.ts} +2 -2
  177. package/lib/components/context-menu/custom-context-menu.component.d.ts +36 -0
  178. package/lib/components/details/details.component.d.ts +1 -1
  179. package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +1 -1
  180. package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +1 -1
  181. package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
  182. package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
  183. package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +1 -1
  184. package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +1 -1
  185. package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
  186. package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
  187. package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +1 -2
  188. package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +4 -5
  189. package/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.d.ts +8 -8
  190. package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
  191. package/lib/components/search/search-input/search-input.component.d.ts +12 -14
  192. package/lib/components/search/search-input-control/search-input-control.component.d.ts +1 -1
  193. package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +0 -1
  194. package/lib/components/search/search-results/search-results.component.d.ts +15 -9
  195. package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
  196. package/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.d.ts +16 -0
  197. package/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.d.ts +22 -0
  198. package/lib/components/search/search-save/dialog/save-search-dialog.component.d.ts +23 -0
  199. package/lib/components/search/search-save/dialog/saved-search-form.interface.d.ts +28 -0
  200. package/lib/components/search/search-save/dialog/unique-search-name-validator.d.ts +34 -0
  201. package/lib/components/search/search-save/directive/save-search.directive.d.ts +13 -0
  202. package/lib/components/search/search-save/list/saved-searches-list-ui.service.d.ts +9 -0
  203. package/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.d.ts +33 -0
  204. package/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.d.ts +13 -0
  205. package/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.d.ts +66 -0
  206. package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +44 -0
  207. package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
  208. package/lib/components/sidenav/components/expand-menu.component.d.ts +3 -2
  209. package/lib/components/sidenav/directives/action.directive.d.ts +28 -1
  210. package/lib/components/sidenav/directives/active-link.directive.d.ts +2 -2
  211. package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +1 -1
  212. package/lib/components/sidenav/directives/menu-panel.directive.d.ts +1 -1
  213. package/lib/components/sidenav/sidenav.component.d.ts +4 -3
  214. package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
  215. package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
  216. package/lib/components/toolbar/view-node/view-node.component.d.ts +1 -1
  217. package/lib/services/search-ai-navigation.service.d.ts +4 -2
  218. package/lib/store/effects/app.effects.d.ts +2 -3
  219. package/lib/store/effects/contextmenu.effects.d.ts +3 -3
  220. package/lib/store/effects/download.effects.d.ts +0 -30
  221. package/lib/store/effects/favorite.effects.d.ts +0 -28
  222. package/lib/store/effects/library.effects.d.ts +2 -7
  223. package/lib/store/effects/node.effects.d.ts +7 -38
  224. package/lib/store/effects/search-ai.effects.d.ts +0 -4
  225. package/lib/store/effects/search.effects.d.ts +3 -30
  226. package/lib/store/effects/template.effects.d.ts +5 -7
  227. package/lib/store/effects/upload.effects.d.ts +8 -32
  228. package/lib/store/effects/viewer.effects.d.ts +0 -29
  229. package/lib/utils/aca-search-utils.d.ts +67 -0
  230. package/ms-office/effects/aos.effects.d.ts +0 -3
  231. package/package.json +21 -35
  232. package/public-api.d.ts +1 -0
  233. package/ui/overrides/adf-pagination.theme.scss +0 -4
  234. package/ui/theme.scss +9 -4
  235. package/assets/images/agent-avatar-blue.png +0 -0
  236. package/assets/images/agent-avatar-gold.png +0 -0
  237. package/assets/images/agent-avatar-pink.png +0 -0
  238. package/esm2020/about/about.component.mjs +0 -71
  239. package/esm2020/about/aca-about.module.mjs +0 -46
  240. package/esm2020/folder-rules/folder-rules.module.mjs +0 -115
  241. package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +0 -261
  242. package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +0 -117
  243. package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +0 -351
  244. package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +0 -172
  245. package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +0 -234
  246. package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +0 -74
  247. package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +0 -129
  248. package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +0 -185
  249. package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +0 -88
  250. package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +0 -37
  251. package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +0 -164
  252. package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +0 -81
  253. package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +0 -58
  254. package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +0 -120
  255. package/esm2020/folder-rules/services/actions.service.mjs +0 -114
  256. package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +0 -225
  257. package/esm2020/folder-rules/services/folder-rules.service.mjs +0 -193
  258. package/esm2020/lib/aca-content.module.mjs +0 -299
  259. package/esm2020/lib/aca-content.routes.mjs +0 -359
  260. package/esm2020/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +0 -83
  261. package/esm2020/lib/components/common/location-link/location-link.component.mjs +0 -180
  262. package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +0 -76
  263. package/esm2020/lib/components/common/user-info/user-info.component.mjs +0 -47
  264. package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +0 -62
  265. package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +0 -63
  266. package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +0 -32
  267. package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -114
  268. package/esm2020/lib/components/context-menu/context-menu.service.mjs +0 -99
  269. package/esm2020/lib/components/details/details.component.mjs +0 -147
  270. package/esm2020/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +0 -71
  271. package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +0 -101
  272. package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +0 -48
  273. package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +0 -75
  274. package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +0 -120
  275. package/esm2020/lib/components/favorites/favorites.component.mjs +0 -103
  276. package/esm2020/lib/components/files/files.component.mjs +0 -330
  277. package/esm2020/lib/components/home/home.component.mjs +0 -47
  278. package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +0 -59
  279. package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +0 -73
  280. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +0 -206
  281. package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +0 -45
  282. package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +0 -134
  283. package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +0 -95
  284. package/esm2020/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +0 -129
  285. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +0 -171
  286. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +0 -82
  287. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +0 -199
  288. package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-utils.mjs +0 -33
  289. package/esm2020/lib/components/libraries/libraries.component.mjs +0 -79
  290. package/esm2020/lib/components/recent-files/recent-files.component.mjs +0 -82
  291. package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +0 -64
  292. package/esm2020/lib/components/search/search-input/search-input.component.mjs +0 -301
  293. package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +0 -94
  294. package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +0 -90
  295. package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +0 -153
  296. package/esm2020/lib/components/search/search-navigation.service.mjs +0 -60
  297. package/esm2020/lib/components/search/search-results/search-results.component.mjs +0 -255
  298. package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +0 -142
  299. package/esm2020/lib/components/shared-files/shared-files.component.mjs +0 -83
  300. package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +0 -82
  301. package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +0 -62
  302. package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +0 -67
  303. package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +0 -66
  304. package/esm2020/lib/components/sidenav/directives/action.directive.mjs +0 -75
  305. package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +0 -93
  306. package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +0 -102
  307. package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +0 -99
  308. package/esm2020/lib/components/sidenav/sidenav.component.mjs +0 -89
  309. package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +0 -56
  310. package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +0 -137
  311. package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +0 -86
  312. package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +0 -107
  313. package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +0 -74
  314. package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +0 -105
  315. package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +0 -122
  316. package/esm2020/lib/components/trashcan/trashcan.component.mjs +0 -68
  317. package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +0 -52
  318. package/esm2020/lib/components/view-profile/view-profile.component.mjs +0 -193
  319. package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +0 -120
  320. package/esm2020/lib/directives/document-list.directive.mjs +0 -199
  321. package/esm2020/lib/extensions/core.extensions.module.mjs +0 -55
  322. package/esm2020/lib/services/content-management.service.mjs +0 -873
  323. package/esm2020/lib/services/content-url.service.mjs +0 -71
  324. package/esm2020/lib/services/modal-ai.service.mjs +0 -66
  325. package/esm2020/lib/services/node-actions.service.mjs +0 -600
  326. package/esm2020/lib/services/node-template.service.mjs +0 -144
  327. package/esm2020/lib/services/search-ai-navigation.service.mjs +0 -52
  328. package/esm2020/lib/store/app-store.module.mjs +0 -102
  329. package/esm2020/lib/store/effects/app.effects.mjs +0 -49
  330. package/esm2020/lib/store/effects/contextmenu.effects.mjs +0 -55
  331. package/esm2020/lib/store/effects/download.effects.mjs +0 -159
  332. package/esm2020/lib/store/effects/favorite.effects.mjs +0 -76
  333. package/esm2020/lib/store/effects/library.effects.mjs +0 -113
  334. package/esm2020/lib/store/effects/node.effects.mjs +0 -325
  335. package/esm2020/lib/store/effects/search-ai.effects.mjs +0 -57
  336. package/esm2020/lib/store/effects/search.effects.mjs +0 -60
  337. package/esm2020/lib/store/effects/template.effects.mjs +0 -121
  338. package/esm2020/lib/store/effects/upload.effects.mjs +0 -166
  339. package/esm2020/lib/store/effects/viewer.effects.mjs +0 -175
  340. package/esm2020/ms-office/actions/aos.actions.mjs +0 -31
  341. package/esm2020/ms-office/aos-extension.module.mjs +0 -52
  342. package/esm2020/ms-office/aos-extension.service.mjs +0 -132
  343. package/esm2020/ms-office/effects/aos.effects.mjs +0 -48
  344. package/esm2020/public-api.mjs +0 -32
  345. package/esm2020/viewer/lib/components/preview/preview.component.mjs +0 -236
  346. package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +0 -240
  347. package/esm2020/viewer/lib/services/viewer.service.mjs +0 -226
  348. package/esm2020/viewer/lib/viewer.module.mjs +0 -52
  349. package/fesm2015/alfresco-aca-content-about.mjs.map +0 -1
  350. package/fesm2015/alfresco-aca-content-folder-rules.mjs +0 -2662
  351. package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +0 -1
  352. package/fesm2015/alfresco-aca-content-ms-office.mjs +0 -256
  353. package/fesm2015/alfresco-aca-content-ms-office.mjs.map +0 -1
  354. package/fesm2015/alfresco-aca-content-viewer.mjs +0 -700
  355. package/fesm2015/alfresco-aca-content-viewer.mjs.map +0 -1
  356. package/fesm2015/alfresco-aca-content.mjs +0 -9835
  357. package/fesm2015/alfresco-aca-content.mjs.map +0 -1
  358. package/fesm2020/alfresco-aca-content-about.mjs +0 -193
  359. package/fesm2020/alfresco-aca-content-about.mjs.map +0 -1
  360. package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +0 -1
  361. package/fesm2020/alfresco-aca-content-ms-office.mjs.map +0 -1
  362. package/fesm2020/alfresco-aca-content-viewer.mjs.map +0 -1
  363. package/fesm2020/alfresco-aca-content.mjs +0 -9934
  364. package/fesm2020/alfresco-aca-content.mjs.map +0 -1
  365. /package/{esm2020 → esm2022}/about/alfresco-aca-content-about.mjs +0 -0
  366. /package/{esm2020 → esm2022}/about/dev-mode.tokens.mjs +0 -0
  367. /package/{esm2020 → esm2022}/about/package-json.token.mjs +0 -0
  368. /package/{esm2020 → esm2022}/about/public-api.mjs +0 -0
  369. /package/{esm2020 → esm2022}/alfresco-aca-content.mjs +0 -0
  370. /package/{esm2020 → esm2022}/folder-rules/alfresco-aca-content-folder-rules.mjs +0 -0
  371. /package/{esm2020 → esm2022}/folder-rules/folder-rules.rules.mjs +0 -0
  372. /package/{esm2020 → esm2022}/folder-rules/model/action-parameter-constraint.model.mjs +0 -0
  373. /package/{esm2020 → esm2022}/folder-rules/model/rule-action.model.mjs +0 -0
  374. /package/{esm2020 → esm2022}/folder-rules/model/rule-composite-condition.model.mjs +0 -0
  375. /package/{esm2020 → esm2022}/folder-rules/model/rule-grouping-item.model.mjs +0 -0
  376. /package/{esm2020 → esm2022}/folder-rules/model/rule-set.model.mjs +0 -0
  377. /package/{esm2020 → esm2022}/folder-rules/model/rule-simple-condition.model.mjs +0 -0
  378. /package/{esm2020 → esm2022}/folder-rules/model/rule.model.mjs +0 -0
  379. /package/{esm2020 → esm2022}/folder-rules/public-api.mjs +0 -0
  380. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +0 -0
  381. /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-fields.mjs +0 -0
  382. /package/{esm2020 → esm2022}/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +0 -0
  383. /package/{esm2020 → esm2022}/lib/components/common/index.mjs +0 -0
  384. /package/{esm2020 → esm2022}/lib/components/context-menu/direction.token.mjs +0 -0
  385. /package/{esm2020 → esm2022}/lib/components/context-menu/interfaces.mjs +0 -0
  386. /package/{esm2020 → esm2022}/lib/components/search/index.mjs +0 -0
  387. /package/{esm2020 → esm2022}/lib/components/sidenav/index.mjs +0 -0
  388. /package/{esm2020 → esm2022}/lib/components/toolbar/index.mjs +0 -0
  389. /package/{esm2020 → esm2022}/lib/components/view-profile/view-profile.guard.mjs +0 -0
  390. /package/{esm2020 → esm2022}/lib/store/effects.mjs +0 -0
  391. /package/{esm2020 → esm2022}/lib/store/initial-state.mjs +0 -0
  392. /package/{esm2020 → esm2022}/lib/store/reducers/app.reducer.mjs +0 -0
  393. /package/{esm2020 → esm2022}/ms-office/alfresco-aca-content-ms-office.mjs +0 -0
  394. /package/{esm2020 → esm2022}/ms-office/public-api.mjs +0 -0
  395. /package/{esm2020 → esm2022}/viewer/alfresco-aca-content-viewer.mjs +0 -0
  396. /package/{esm2020 → esm2022}/viewer/public-api.mjs +0 -0
@@ -1,193 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- import { Injectable } from '@angular/core';
25
- import { AlfrescoApiService } from '@alfresco/adf-content-services';
26
- import { BehaviorSubject, from } from 'rxjs';
27
- import { finalize, map } from 'rxjs/operators';
28
- import * as i0 from "@angular/core";
29
- import * as i1 from "@alfresco/adf-content-services";
30
- export class FolderRulesService {
31
- static get emptyCompositeCondition() {
32
- return {
33
- inverted: false,
34
- booleanMode: 'and',
35
- compositeConditions: [],
36
- simpleConditions: []
37
- };
38
- }
39
- static get emptyRuleOptions() {
40
- return {
41
- isEnabled: true,
42
- isInheritable: false,
43
- isAsynchronous: false,
44
- errorScript: ''
45
- };
46
- }
47
- static get emptyRule() {
48
- return {
49
- id: '',
50
- name: '',
51
- description: '',
52
- isShared: false,
53
- triggers: ['inbound'],
54
- conditions: FolderRulesService.emptyCompositeCondition,
55
- actions: [],
56
- ...FolderRulesService.emptyRuleOptions
57
- };
58
- }
59
- static get emptyRuleForForm() {
60
- const value = {
61
- ...FolderRulesService.emptyRule,
62
- options: FolderRulesService.emptyRuleOptions
63
- };
64
- Object.keys(value.options).forEach((key) => {
65
- delete value[key];
66
- });
67
- return value;
68
- }
69
- constructor(apiService) {
70
- this.apiService = apiService;
71
- this.selectedRuleSource = new BehaviorSubject(null);
72
- this.deletedRuleIdSource = new BehaviorSubject(null);
73
- this.selectedRule$ = this.selectedRuleSource.asObservable();
74
- this.deletedRuleId$ = this.deletedRuleIdSource.asObservable();
75
- }
76
- callApi(path, httpMethod, body = {}) {
77
- // APIs used by this service are still private and not yet available for public use
78
- const params = [{}, {}, {}, {}, body, ['application/json'], ['application/json']];
79
- return this.apiService.getInstance().contentPrivateClient.callApi(path, httpMethod, ...params);
80
- }
81
- getRules(owningFolderId, ruleSetId, skipCount = 0) {
82
- return from(this.callApi(`/nodes/${owningFolderId}/rule-sets/${ruleSetId}/rules?skipCount=${skipCount}&maxItems=${FolderRulesService.MAX_RULES_PER_GET}`, 'GET')).pipe(map((res) => ({
83
- rules: this.formatRules(res),
84
- hasMoreRules: !!res?.list?.pagination?.hasMoreItems
85
- })));
86
- }
87
- loadRules(ruleSet, skipCount = ruleSet.rules.length, selectRule = null) {
88
- if (ruleSet && !ruleSet.loadingRules) {
89
- ruleSet.loadingRules = true;
90
- this.getRules(ruleSet.owningFolder.id, ruleSet.id, skipCount)
91
- .pipe(finalize(() => {
92
- ruleSet.loadingRules = false;
93
- }))
94
- .subscribe((res) => {
95
- ruleSet.hasMoreRules = res.hasMoreRules;
96
- ruleSet.rules.splice(skipCount);
97
- ruleSet.rules.push(...res.rules);
98
- this.selectRuleInRuleSet(ruleSet, selectRule);
99
- });
100
- }
101
- }
102
- async createRule(nodeId, rule, ruleSetId = '-default-') {
103
- const response = await this.callApi(`/nodes/${nodeId}/rule-sets/${ruleSetId}/rules`, 'POST', { ...rule });
104
- return this.formatRule(response.entry);
105
- }
106
- async updateRule(nodeId, ruleId, rule, ruleSetId = '-default-') {
107
- const response = await this.callApi(`/nodes/${nodeId}/rule-sets/${ruleSetId}/rules/${ruleId}`, 'PUT', { ...rule });
108
- return this.formatRule(response.entry);
109
- }
110
- deleteRule(nodeId, ruleId, ruleSetId = '-default-') {
111
- from(this.callApi(`/nodes/${nodeId}/rule-sets/${ruleSetId}/rules/${ruleId}`, 'DELETE')).subscribe(() => {
112
- this.deletedRuleIdSource.next(ruleId);
113
- }, (error) => {
114
- this.deletedRuleIdSource.next(error);
115
- });
116
- }
117
- async getRuleSettings(nodeId, key = '-isInheritanceEnabled-') {
118
- const response = await this.callApi(`/nodes/${nodeId}/rule-settings/${key}`, 'GET');
119
- return response.entry;
120
- }
121
- async updateRuleSettings(nodeId, key, body) {
122
- const response = await this.callApi(`/nodes/${nodeId}/rule-settings/${key}`, 'PUT', { ...body });
123
- return response.entry;
124
- }
125
- formatRules(res) {
126
- return [...res.list.entries.map((entry) => this.formatRule(entry.entry))];
127
- }
128
- formatRule(obj) {
129
- return {
130
- id: obj.id,
131
- name: obj.name ?? FolderRulesService.emptyRule.name,
132
- description: obj.description ?? FolderRulesService.emptyRule.description,
133
- isEnabled: obj.isEnabled ?? FolderRulesService.emptyRule.isEnabled,
134
- isInheritable: obj.isInheritable ?? FolderRulesService.emptyRule.isInheritable,
135
- isAsynchronous: obj.isAsynchronous ?? FolderRulesService.emptyRule.isAsynchronous,
136
- errorScript: obj.errorScript ?? FolderRulesService.emptyRule.errorScript,
137
- isShared: obj.isShared ?? FolderRulesService.emptyRule.isShared,
138
- triggers: obj.triggers ?? FolderRulesService.emptyRule.triggers,
139
- conditions: this.formatCompositeCondition(obj.conditions ?? { ...FolderRulesService.emptyRule.conditions }),
140
- actions: obj.actions ?? FolderRulesService.emptyRule.actions
141
- };
142
- }
143
- formatCompositeCondition(obj) {
144
- return {
145
- inverted: obj.inverted ?? false,
146
- booleanMode: obj.booleanMode ?? 'and',
147
- compositeConditions: (obj.compositeConditions || []).map((condition) => this.formatCompositeCondition(condition)),
148
- simpleConditions: this.parseSimpleCondition(obj.simpleConditions)
149
- };
150
- }
151
- parseSimpleCondition(arr) {
152
- if (arr) {
153
- if (arr.every((element) => element === null)) {
154
- return [];
155
- }
156
- return arr.map((condition) => this.formatSimpleCondition(condition));
157
- }
158
- else {
159
- return [];
160
- }
161
- }
162
- formatSimpleCondition(obj) {
163
- return {
164
- field: obj.field || 'cm:name',
165
- comparator: obj.comparator || 'equals',
166
- parameter: obj.parameter || ''
167
- };
168
- }
169
- selectRule(rule) {
170
- this.selectedRuleSource.next(rule);
171
- }
172
- selectRuleInRuleSet(ruleSet, selectRule = null) {
173
- if (selectRule === 'first') {
174
- this.selectRule(ruleSet.rules[0]);
175
- }
176
- else if (selectRule === 'last') {
177
- this.selectRule(ruleSet.rules[ruleSet.rules.length - 1]);
178
- }
179
- else if (selectRule) {
180
- this.selectRule(selectRule);
181
- }
182
- }
183
- }
184
- FolderRulesService.MAX_RULES_PER_GET = 100;
185
- FolderRulesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FolderRulesService, deps: [{ token: i1.AlfrescoApiService }], target: i0.ɵɵFactoryTarget.Injectable });
186
- FolderRulesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FolderRulesService, providedIn: 'root' });
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FolderRulesService, decorators: [{
188
- type: Injectable,
189
- args: [{
190
- providedIn: 'root'
191
- }]
192
- }], ctorParameters: function () { return [{ type: i1.AlfrescoApiService }]; } });
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLXJ1bGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9mb2xkZXItcnVsZXMvc3JjL3NlcnZpY2VzL2ZvbGRlci1ydWxlcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFjL0MsTUFBTSxPQUFPLGtCQUFrQjtJQUd0QixNQUFNLEtBQUssdUJBQXVCO1FBQ3ZDLE9BQU87WUFDTCxRQUFRLEVBQUUsS0FBSztZQUNmLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLG1CQUFtQixFQUFFLEVBQUU7WUFDdkIsZ0JBQWdCLEVBQUUsRUFBRTtTQUNyQixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sS0FBSyxnQkFBZ0I7UUFDaEMsT0FBTztZQUNMLFNBQVMsRUFBRSxJQUFJO1lBQ2YsYUFBYSxFQUFFLEtBQUs7WUFDcEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsV0FBVyxFQUFFLEVBQUU7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNLEtBQUssU0FBUztRQUN6QixPQUFPO1lBQ0wsRUFBRSxFQUFFLEVBQUU7WUFDTixJQUFJLEVBQUUsRUFBRTtZQUNSLFdBQVcsRUFBRSxFQUFFO1lBQ2YsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDckIsVUFBVSxFQUFFLGtCQUFrQixDQUFDLHVCQUF1QjtZQUN0RCxPQUFPLEVB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VUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29udGVudC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbmFsaXplLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSdWxlLCBSdWxlRm9yRm9ybSwgUnVsZU9wdGlvbnMsIFJ1bGVTZXR0aW5ncyB9IGZyb20gJy4uL21vZGVsL3J1bGUubW9kZWwnO1xuaW1wb3J0IHsgUnVsZUNvbXBvc2l0ZUNvbmRpdGlvbiB9IGZyb20gJy4uL21vZGVsL3J1bGUtY29tcG9zaXRlLWNvbmRpdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBSdWxlU2ltcGxlQ29uZGl0aW9uIH0gZnJvbSAnLi4vbW9kZWwvcnVsZS1zaW1wbGUtY29uZGl0aW9uLm1vZGVsJztcbmltcG9ydCB7IFJ1bGVTZXQgfSBmcm9tICcuLi9tb2RlbC9ydWxlLXNldC5tb2RlbCc7XG5cbmludGVyZmFjZSBHZXRSdWxlc1Jlc3VsdCB7XG4gIHJ1bGVzOiBSdWxlW107XG4gIGhhc01vcmVSdWxlczogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRm9sZGVyUnVsZXNTZXJ2aWNlIHtcbiAgcHVibGljIHN0YXRpYyBNQVhfUlVMRVNfUEVSX0dFVCA9IDEwMDtcblxuICBwdWJsaWMgc3RhdGljIGdldCBlbXB0eUNvbXBvc2l0ZUNvbmRpdGlvbigpOiBSdWxlQ29tcG9zaXRlQ29uZGl0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW52ZXJ0ZWQ6IGZhbHNlLFxuICAgICAgYm9vbGVhbk1vZGU6ICdhbmQnLFxuICAgICAgY29tcG9zaXRlQ29uZGl0aW9uczogW10sXG4gICAgICBzaW1wbGVDb25kaXRpb25zOiBbXVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldCBlbXB0eVJ1bGVPcHRpb25zKCk6IFJ1bGVPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXNFbmFibGVkOiB0cnVlLFxuICAgICAgaXNJbmhlcml0YWJsZTogZmFsc2UsXG4gICAgICBpc0FzeW5jaHJvbm91czogZmFsc2UsXG4gICAgICBlcnJvclNjcmlwdDogJydcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgZW1wdHlSdWxlKCk6IFJ1bGUge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogJycsXG4gICAgICBuYW1lOiAnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIGlzU2hhcmVkOiBmYWxzZSxcbiAgICAgIHRyaWdnZXJzOiBbJ2luYm91bmQnXSxcbiAgICAgIGNvbmRpdGlvbnM6IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eUNvbXBvc2l0ZUNvbmRpdGlvbixcbiAgICAgIGFjdGlvbnM6IFtdLFxuICAgICAgLi4uRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZU9wdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXQgZW1wdHlSdWxlRm9yRm9ybSgpOiBSdWxlRm9yRm9ybSB7XG4gICAgY29uc3QgdmFsdWUgPSB7XG4gICAgICAuLi5Gb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLFxuICAgICAgb3B0aW9uczogRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZU9wdGlvbnNcbiAgICB9O1xuICAgIE9iamVjdC5rZXlzKHZhbHVlLm9wdGlvbnMpLmZvckVhY2goKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBkZWxldGUgdmFsdWVba2V5XTtcbiAgICB9KTtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdGVkUnVsZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UnVsZT4obnVsbCk7XG4gIHByaXZhdGUgZGVsZXRlZFJ1bGVJZFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICBzZWxlY3RlZFJ1bGUkID0gdGhpcy5zZWxlY3RlZFJ1bGVTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG4gIGRlbGV0ZWRSdWxlSWQkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLmRlbGV0ZWRSdWxlSWRTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UpIHt9XG5cbiAgcHJpdmF0ZSBjYWxsQXBpKHBhdGg6IHN0cmluZywgaHR0cE1ldGhvZDogc3RyaW5nLCBib2R5OiBvYmplY3QgPSB7fSk6IFByb21pc2U8YW55PiB7XG4gICAgLy8gQVBJcyB1c2VkIGJ5IHRoaXMgc2VydmljZSBhcmUgc3RpbGwgcHJpdmF0ZSBhbmQgbm90IHlldCBhdmFpbGFibGUgZm9yIHB1YmxpYyB1c2VcbiAgICBjb25zdCBwYXJhbXMgPSBbe30sIHt9LCB7fSwge30sIGJvZHksIFsnYXBwbGljYXRpb24vanNvbiddLCBbJ2FwcGxpY2F0aW9uL2pzb24nXV07XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpLmNvbnRlbnRQcml2YXRlQ2xpZW50LmNhbGxBcGkocGF0aCwgaHR0cE1ldGhvZCwgLi4ucGFyYW1zKTtcbiAgfVxuXG4gIGdldFJ1bGVzKG93bmluZ0ZvbGRlcklkOiBzdHJpbmcsIHJ1bGVTZXRJZDogc3RyaW5nLCBza2lwQ291bnQgPSAwKTogT2JzZXJ2YWJsZTxHZXRSdWxlc1Jlc3VsdD4ge1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5jYWxsQXBpKFxuICAgICAgICBgL25vZGVzLyR7b3duaW5nRm9sZGVySWR9L3J1bGUtc2V0cy8ke3J1bGVTZXRJZH0vcnVsZXM/c2tpcENvdW50PSR7c2tpcENvdW50fSZtYXhJdGVtcz0ke0ZvbGRlclJ1bGVzU2VydmljZS5NQVhfUlVMRVNfUEVSX0dFVH1gLFxuICAgICAgICAnR0VUJ1xuICAgICAgKVxuICAgICkucGlwZShcbiAgICAgIG1hcCgocmVzKSA9PiAoe1xuICAgICAgICBydWxlczogdGhpcy5mb3JtYXRSdWxlcyhyZXMpLFxuICAgICAgICBoYXNNb3JlUnVsZXM6ICEhcmVzPy5saXN0Py5wYWdpbmF0aW9uPy5oYXNNb3JlSXRlbXNcbiAgICAgIH0pKVxuICAgICk7XG4gIH1cblxuICBsb2FkUnVsZXMocnVsZVNldDogUnVsZVNldCwgc2tpcENvdW50ID0gcnVsZVNldC5ydWxlcy5sZW5ndGgsIHNlbGVjdFJ1bGU6ICdmaXJzdCcgfCAnbGFzdCcgfCBSdWxlID0gbnVsbCkge1xuICAgIGlmIChydWxlU2V0ICYmICFydWxlU2V0LmxvYWRpbmdSdWxlcykge1xuICAgICAgcnVsZVNldC5sb2FkaW5nUnVsZXMgPSB0cnVlO1xuICAgICAgdGhpcy5nZXRSdWxlcyhydWxlU2V0Lm93bmluZ0ZvbGRlci5pZCwgcnVsZVNldC5pZCwgc2tpcENvdW50KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICBydWxlU2V0LmxvYWRpbmdSdWxlcyA9IGZhbHNlO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgocmVzOiBHZXRSdWxlc1Jlc3VsdCkgPT4ge1xuICAgICAgICAgIHJ1bGVTZXQuaGFzTW9yZVJ1bGVzID0gcmVzLmhhc01vcmVSdWxlcztcbiAgICAgICAgICBydWxlU2V0LnJ1bGVzLnNwbGljZShza2lwQ291bnQpO1xuICAgICAgICAgIHJ1bGVTZXQucnVsZXMucHVzaCguLi5yZXMucnVsZXMpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0UnVsZUluUnVsZVNldChydWxlU2V0LCBzZWxlY3RSdWxlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgY3JlYXRlUnVsZShub2RlSWQ6IHN0cmluZywgcnVsZTogUGFydGlhbDxSdWxlPiwgcnVsZVNldElkOiBzdHJpbmcgPSAnLWRlZmF1bHQtJyk6IFByb21pc2U8UnVsZT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQXBpKGAvbm9kZXMvJHtub2RlSWR9L3J1bGUtc2V0cy8ke3J1bGVTZXRJZH0vcnVsZXNgLCAnUE9TVCcsIHsgLi4ucnVsZSB9KTtcbiAgICByZXR1cm4gdGhpcy5mb3JtYXRSdWxlKHJlc3BvbnNlLmVudHJ5KTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVJ1bGUobm9kZUlkOiBzdHJpbmcsIHJ1bGVJZDogc3RyaW5nLCBydWxlOiBSdWxlLCBydWxlU2V0SWQ6IHN0cmluZyA9ICctZGVmYXVsdC0nKTogUHJvbWlzZTxSdWxlPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxBcGkoYC9ub2Rlcy8ke25vZGVJZH0vcnVsZS1zZXRzLyR7cnVsZVNldElkfS9ydWxlcy8ke3J1bGVJZH1gLCAnUFVUJywgeyAuLi5ydWxlIH0pO1xuICAgIHJldHVybiB0aGlzLmZvcm1hdFJ1bGUocmVzcG9uc2UuZW50cnkpO1xuICB9XG5cbiAgZGVsZXRlUnVsZShub2RlSWQ6IHN0cmluZywgcnVsZUlkOiBzdHJpbmcsIHJ1bGVTZXRJZDogc3RyaW5nID0gJy1kZWZhdWx0LScpIHtcbiAgICBmcm9tKHRoaXMuY2FsbEFwaShgL25vZGVzLyR7bm9kZUlkfS9ydWxlLXNldHMvJHtydWxlU2V0SWR9L3J1bGVzLyR7cnVsZUlkfWAsICdERUxFVEUnKSkuc3Vic2NyaWJlKFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLmRlbGV0ZWRSdWxlSWRTb3VyY2UubmV4dChydWxlSWQpO1xuICAgICAgfSxcbiAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLmRlbGV0ZWRSdWxlSWRTb3VyY2UubmV4dChlcnJvcik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGdldFJ1bGVTZXR0aW5ncyhub2RlSWQ6IHN0cmluZywga2V5OiBzdHJpbmcgPSAnLWlzSW5oZXJpdGFuY2VFbmFibGVkLScpOiBQcm9taXNlPFJ1bGVTZXR0aW5ncz4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQXBpKGAvbm9kZXMvJHtub2RlSWR9L3J1bGUtc2V0dGluZ3MvJHtrZXl9YCwgJ0dFVCcpO1xuICAgIHJldHVybiByZXNwb25zZS5lbnRyeTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVJ1bGVTZXR0aW5ncyhub2RlSWQ6IHN0cmluZywga2V5OiBzdHJpbmcsIGJvZHk6IFJ1bGVTZXR0aW5ncyk6IFByb21pc2U8UnVsZVNldHRpbmdzPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxBcGkoYC9ub2Rlcy8ke25vZGVJZH0vcnVsZS1zZXR0aW5ncy8ke2tleX1gLCAnUFVUJywgeyAuLi5ib2R5IH0pO1xuICAgIHJldHVybiByZXNwb25zZS5lbnRyeTtcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0UnVsZXMocmVzKTogUnVsZVtdIHtcbiAgICByZXR1cm4gWy4uLnJlcy5saXN0LmVudHJpZXMubWFwKChlbnRyeSkgPT4gdGhpcy5mb3JtYXRSdWxlKGVudHJ5LmVudHJ5KSldO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRSdWxlKG9iaik6IFJ1bGUge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogb2JqLmlkLFxuICAgICAgbmFtZTogb2JqLm5hbWUgPz8gRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZS5uYW1lLFxuICAgICAgZGVzY3JpcHRpb246IG9iai5kZXNjcmlwdGlvbiA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmRlc2NyaXB0aW9uLFxuICAgICAgaXNFbmFibGVkOiBvYmouaXNFbmFibGVkID8/IEZvbGRlclJ1bGVzU2VydmljZS5lbXB0eVJ1bGUuaXNFbmFibGVkLFxuICAgICAgaXNJbmhlcml0YWJsZTogb2JqLmlzSW5oZXJpdGFibGUgPz8gRm9sZGVyUnVsZXNTZXJ2aWNlLmVtcHR5UnVsZS5pc0luaGVyaXRhYmxlLFxuICAgICAgaXNBc3luY2hyb25vdXM6IG9iai5pc0FzeW5jaHJvbm91cyA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmlzQXN5bmNocm9ub3VzLFxuICAgICAgZXJyb3JTY3JpcHQ6IG9iai5lcnJvclNjcmlwdCA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmVycm9yU2NyaXB0LFxuICAgICAgaXNTaGFyZWQ6IG9iai5pc1NoYXJlZCA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmlzU2hhcmVkLFxuICAgICAgdHJpZ2dlcnM6IG9iai50cmlnZ2VycyA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLnRyaWdnZXJzLFxuICAgICAgY29uZGl0aW9uczogdGhpcy5mb3JtYXRDb21wb3NpdGVDb25kaXRpb24ob2JqLmNvbmRpdGlvbnMgPz8geyAuLi5Gb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmNvbmRpdGlvbnMgfSksXG4gICAgICBhY3Rpb25zOiBvYmouYWN0aW9ucyA/PyBGb2xkZXJSdWxlc1NlcnZpY2UuZW1wdHlSdWxlLmFjdGlvbnNcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRDb21wb3NpdGVDb25kaXRpb24ob2JqKTogUnVsZUNvbXBvc2l0ZUNvbmRpdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGludmVydGVkOiBvYmouaW52ZXJ0ZWQgPz8gZmFsc2UsXG4gICAgICBib29sZWFuTW9kZTogb2JqLmJvb2xlYW5Nb2RlID8/ICdhbmQnLFxuICAgICAgY29tcG9zaXRlQ29uZGl0aW9uczogKG9iai5jb21wb3NpdGVDb25kaXRpb25zIHx8IFtdKS5tYXAoKGNvbmRpdGlvbikgPT4gdGhpcy5mb3JtYXRDb21wb3NpdGVDb25kaXRpb24oY29uZGl0aW9uKSksXG4gICAgICBzaW1wbGVDb25kaXRpb25zOiB0aGlzLnBhcnNlU2ltcGxlQ29uZGl0aW9uKG9iai5zaW1wbGVDb25kaXRpb25zKVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHBhcnNlU2ltcGxlQ29uZGl0aW9uKGFycikge1xuICAgIGlmIChhcnIpIHtcbiAgICAgIGlmIChhcnIuZXZlcnkoKGVsZW1lbnQpID0+IGVsZW1lbnQgPT09IG51bGwpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnIubWFwKChjb25kaXRpb24pID0+IHRoaXMuZm9ybWF0U2ltcGxlQ29uZGl0aW9uKGNvbmRpdGlvbikpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRTaW1wbGVDb25kaXRpb24ob2JqKTogUnVsZVNpbXBsZUNvbmRpdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkOiBvYmouZmllbGQgfHwgJ2NtOm5hbWUnLFxuICAgICAgY29tcGFyYXRvcjogb2JqLmNvbXBhcmF0b3IgfHwgJ2VxdWFscycsXG4gICAgICBwYXJhbWV0ZXI6IG9iai5wYXJhbWV0ZXIgfHwgJydcbiAgICB9O1xuICB9XG5cbiAgc2VsZWN0UnVsZShydWxlOiBSdWxlKSB7XG4gICAgdGhpcy5zZWxlY3RlZFJ1bGVTb3VyY2UubmV4dChydWxlKTtcbiAgfVxuXG4gIHNlbGVjdFJ1bGVJblJ1bGVTZXQocnVsZVNldDogUnVsZVNldCwgc2VsZWN0UnVsZTogJ2ZpcnN0JyB8ICdsYXN0JyB8IFJ1bGUgPSBudWxsKSB7XG4gICAgaWYgKHNlbGVjdFJ1bGUgPT09ICdmaXJzdCcpIHtcbiAgICAgIHRoaXMuc2VsZWN0UnVsZShydWxlU2V0LnJ1bGVzWzBdKTtcbiAgICB9IGVsc2UgaWYgKHNlbGVjdFJ1bGUgPT09ICdsYXN0Jykge1xuICAgICAgdGhpcy5zZWxlY3RSdWxlKHJ1bGVTZXQucnVsZXNbcnVsZVNldC5ydWxlcy5sZW5ndGggLSAxXSk7XG4gICAgfSBlbHNlIGlmIChzZWxlY3RSdWxlKSB7XG4gICAgICB0aGlzLnNlbGVjdFJ1bGUoc2VsZWN0UnVsZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,299 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- import { HammerModule } from '@angular/platform-browser';
25
- import { NgModule } from '@angular/core';
26
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
27
- import { TRANSLATION_PROVIDER, AuthGuardEcm, LanguagePickerComponent, NotificationHistoryComponent } from '@alfresco/adf-core';
28
- import { ContentModule, ContentVersionService, LibraryNameColumnComponent, LibraryRoleColumnComponent, LibraryStatusColumnComponent, TrashcanNameColumnComponent } from '@alfresco/adf-content-services';
29
- import { DocumentBasePageService, ExtensionsDataLoaderGuard, OpenInAppComponent } from '@alfresco/aca-shared';
30
- import * as rules from '@alfresco/aca-shared/rules';
31
- import { AppStoreModule } from './store/app-store.module';
32
- import { CoreExtensionsModule } from './extensions/core.extensions.module';
33
- import { AppInfoDrawerModule } from './components/info-drawer/info.drawer.module';
34
- import { ExtensionService, ExtensionsModule } from '@alfresco/adf-extensions';
35
- import { APP_TOOLBAR_DIRECTIVES } from './components/toolbar';
36
- import { APP_SIDENAV_DIRECTIVES } from './components/sidenav';
37
- import { APP_COMMON_DIRECTIVES } from './components/common';
38
- import { APP_SEARCH_DIRECTIVES } from './components/search';
39
- import { CreateFromTemplateDialogComponent } from './dialogs/node-template/create-from-template.dialog';
40
- import { ContentUrlService } from './services/content-url.service';
41
- import { CommonModule } from '@angular/common';
42
- import { LocationLinkComponent } from './components/common/location-link/location-link.component';
43
- import { LogoutComponent } from './components/common/logout/logout.component';
44
- import { ToggleSharedComponent } from './components/common/toggle-shared/toggle-shared.component';
45
- import { CustomNameColumnComponent } from './components/dl-custom-components/name-column/name-column.component';
46
- import { CommentsTabComponent } from './components/info-drawer/comments-tab/comments-tab.component';
47
- import { LibraryMetadataTabComponent } from './components/info-drawer/library-metadata-tab/library-metadata-tab.component';
48
- import { MetadataTabComponent } from './components/info-drawer/metadata-tab/metadata-tab.component';
49
- import { VersionsTabComponent } from './components/info-drawer/versions-tab/versions-tab.component';
50
- import { PreviewComponent } from '@alfresco/aca-content/viewer';
51
- import { ToggleEditOfflineComponent } from './components/toolbar/toggle-edit-offline/toggle-edit-offline.component';
52
- import { ToggleFavoriteLibraryComponent } from './components/toolbar/toggle-favorite-library/toggle-favorite-library.component';
53
- import { ToggleFavoriteComponent } from './components/toolbar/toggle-favorite/toggle-favorite.component';
54
- import { ToggleInfoDrawerComponent } from './components/toolbar/toggle-info-drawer/toggle-info-drawer.component';
55
- import { ToggleJoinLibraryButtonComponent } from './components/toolbar/toggle-join-library/toggle-join-library-button.component';
56
- import { ToggleJoinLibraryMenuComponent } from './components/toolbar/toggle-join-library/toggle-join-library-menu.component';
57
- import { ViewNodeComponent } from './components/toolbar/view-node/view-node.component';
58
- import { CONTENT_ROUTES } from './aca-content.routes';
59
- import { RouterModule } from '@angular/router';
60
- import { UploadFilesDialogComponent } from './components/upload-files-dialog/upload-files-dialog.component';
61
- import { AcaFolderRulesModule } from '@alfresco/aca-content/folder-rules';
62
- import { TagsColumnComponent } from './components/dl-custom-components/tags-column/tags-column.component';
63
- import { UserInfoComponent } from './components/common/user-info/user-info.component';
64
- import { SidenavComponent } from './components/sidenav/sidenav.component';
65
- import { ContentManagementService } from './services/content-management.service';
66
- import { ShellLayoutComponent, SHELL_NAVBAR_MIN_WIDTH } from '@alfresco/adf-core/shell';
67
- import { UserMenuComponent } from './components/sidenav/user-menu/user-menu.component';
68
- import { ContextMenuComponent } from './components/context-menu/context-menu.component';
69
- import { MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
70
- import { SearchResultsRowComponent } from './components/search/search-results-row/search-results-row.component';
71
- import { BulkActionsDropdownComponent } from './components/bulk-actions-dropdown/bulk-actions-dropdown.component';
72
- import { AgentsButtonComponent } from './components/knowledge-retrieval/search-ai/agents-button/agents-button.component';
73
- import * as i0 from "@angular/core";
74
- import * as i1 from "@alfresco/adf-extensions";
75
- import * as i2 from "@alfresco/adf-content-services";
76
- import * as i3 from "@angular/router";
77
- import * as i4 from "./components/common/language-picker/language-picker.component";
78
- import * as i5 from "./components/common/location-link/location-link.component";
79
- import * as i6 from "./components/common/logout/logout.component";
80
- import * as i7 from "./components/common/toggle-shared/toggle-shared.component";
81
- import * as i8 from "./components/common/user-info/user-info.component";
82
- import * as i9 from "./components/toolbar/toggle-favorite/toggle-favorite.component";
83
- import * as i10 from "./components/toolbar/toggle-edit-offline/toggle-edit-offline.component";
84
- import * as i11 from "./components/toolbar/toggle-info-drawer/toggle-info-drawer.component";
85
- import * as i12 from "./components/toolbar/toggle-join-library/toggle-join-library-button.component";
86
- import * as i13 from "./components/toolbar/toggle-join-library/toggle-join-library-menu.component";
87
- import * as i14 from "./components/toolbar/toggle-favorite-library/toggle-favorite-library.component";
88
- import * as i15 from "./components/toolbar/view-node/view-node.component";
89
- import * as i16 from "./components/sidenav/components/button-menu.component";
90
- import * as i17 from "./components/sidenav/directives/active-link.directive";
91
- import * as i18 from "./components/sidenav/directives/action.directive";
92
- import * as i19 from "./components/sidenav/directives/menu-panel.directive";
93
- import * as i20 from "./components/sidenav/components/expand-menu.component";
94
- import * as i21 from "./components/sidenav/directives/expansion-panel.directive";
95
- import * as i22 from "./components/sidenav/components/sidenav-header.component";
96
- import * as i23 from "./components/sidenav/user-menu/user-menu.component";
97
- import * as i24 from "./components/sidenav/sidenav.component";
98
- import * as i25 from "./components/search/search-action-menu/search-action-menu.component";
99
- import * as i26 from "./components/search/search-libraries-results/search-libraries-results.component";
100
- import * as i27 from "./components/search/search-results/search-results.component";
101
- import * as i28 from "./components/search/search-results-row/search-results-row.component";
102
- import * as i29 from "./components/search/search-input/search-input.component";
103
- import * as i30 from "./components/search/search-input-control/search-input-control.component";
104
- export class ContentServiceExtensionModule {
105
- constructor(extensions) {
106
- this.extensions = extensions;
107
- extensions.setAuthGuards({
108
- 'app.auth': AuthGuardEcm,
109
- 'app.extensions.dataLoaderGuard': ExtensionsDataLoaderGuard
110
- });
111
- extensions.setComponents({
112
- 'app.layout.main': ShellLayoutComponent,
113
- 'app.layout.sidenav': SidenavComponent,
114
- 'app.shell.sibling': UploadFilesDialogComponent,
115
- 'app.components.tabs.metadata': MetadataTabComponent,
116
- 'app.components.tabs.library.metadata': LibraryMetadataTabComponent,
117
- 'app.components.tabs.comments': CommentsTabComponent,
118
- 'app.components.tabs.versions': VersionsTabComponent,
119
- 'app.components.preview': PreviewComponent,
120
- 'app.toolbar.toggleInfoDrawer': ToggleInfoDrawerComponent,
121
- 'app.toolbar.toggleFavorite': ToggleFavoriteComponent,
122
- 'app.toolbar.toggleFavoriteLibrary': ToggleFavoriteLibraryComponent,
123
- 'app.toolbar.toggleJoinLibrary': ToggleJoinLibraryButtonComponent,
124
- 'app.toolbar.ai.agents-button': AgentsButtonComponent,
125
- 'app.menu.toggleJoinLibrary': ToggleJoinLibraryMenuComponent,
126
- 'app.bulk-actions-dropdown': BulkActionsDropdownComponent,
127
- 'app.shared-link.toggleSharedLink': ToggleSharedComponent,
128
- 'app.columns.name': CustomNameColumnComponent,
129
- 'app.columns.libraryName': LibraryNameColumnComponent,
130
- 'app.columns.libraryRole': LibraryRoleColumnComponent,
131
- 'app.columns.libraryStatus': LibraryStatusColumnComponent,
132
- 'app.columns.trashcanName': TrashcanNameColumnComponent,
133
- 'app.columns.location': LocationLinkComponent,
134
- 'app.columns.tags': TagsColumnComponent,
135
- 'app.toolbar.toggleEditOffline': ToggleEditOfflineComponent,
136
- 'app.toolbar.viewNode': ViewNodeComponent,
137
- 'app.languagePicker': LanguagePickerComponent,
138
- 'app.logout': LogoutComponent,
139
- 'app.user': UserInfoComponent,
140
- 'app.notification-center': NotificationHistoryComponent,
141
- 'app.user.menu': UserMenuComponent,
142
- 'app.search.columns.name': SearchResultsRowComponent
143
- });
144
- extensions.setEvaluators({
145
- canCopyNode: rules.canCopyNode,
146
- canToggleJoinLibrary: rules.canToggleJoinLibrary,
147
- canEditFolder: rules.canEditFolder,
148
- isTrashcanItemSelected: rules.isTrashcanItemSelected,
149
- canViewFile: rules.canViewFile,
150
- canLeaveLibrary: rules.canLeaveLibrary,
151
- canToggleSharedLink: rules.canToggleSharedLink,
152
- canShowInfoDrawer: rules.canShowInfoDrawer,
153
- canManageFileVersions: rules.canManageFileVersions,
154
- canManagePermissions: rules.canManagePermissions,
155
- canToggleEditOffline: rules.canToggleEditOffline,
156
- canToggleFavorite: rules.canToggleFavorite,
157
- isLibraryManager: rules.isLibraryManager,
158
- canEditAspects: rules.canEditAspects,
159
- canShowExpand: rules.canShowExpand,
160
- canInfoPreview: rules.canInfoPreview,
161
- 'app.selection.canDelete': rules.canDeleteSelection,
162
- 'app.selection.file.canUnlock': rules.canUnlockFile,
163
- 'app.selection.file.canLock': rules.canLockFile,
164
- 'app.selection.canDownload': rules.canDownloadSelection,
165
- 'app.selection.notEmpty': rules.hasSelection,
166
- 'app.selection.canUnshare': rules.canUnshareNodes,
167
- 'app.selection.canAddFavorite': rules.canAddFavorite,
168
- 'app.selection.canRemoveFavorite': rules.canRemoveFavorite,
169
- 'app.selection.first.canUpdate': rules.canUpdateSelectedNode,
170
- 'app.selection.file': rules.hasFileSelected,
171
- 'app.selection.file.canShare': rules.canShareFile,
172
- 'app.selection.file.isShared': rules.isShared,
173
- 'app.selection.file.isLocked': rules.hasLockedFiles,
174
- 'app.selection.file.isLockOwner': rules.isUserWriteLockOwner,
175
- 'app.selection.file.canUploadVersion': rules.canUploadVersion,
176
- 'app.selection.library': rules.hasLibrarySelected,
177
- 'app.selection.isPrivateLibrary': rules.isPrivateLibrary,
178
- 'app.selection.hasLibraryRole': rules.hasLibraryRole,
179
- 'app.selection.hasNoLibraryRole': rules.hasNoLibraryRole,
180
- 'app.selection.folder': rules.hasFolderSelected,
181
- 'app.selection.folder.canUpdate': rules.canUpdateSelectedFolder,
182
- 'app.selection.displayedKnowledgeRetrievalButton': rules.canDisplayKnowledgeRetrievalButton,
183
- 'app.navigation.folder.canCreate': rules.canCreateFolder,
184
- 'app.navigation.folder.canUpload': rules.canUpload,
185
- 'app.navigation.isTrashcan': rules.isTrashcan,
186
- 'app.navigation.isNotTrashcan': rules.isNotTrashcan,
187
- 'app.navigation.isLibraries': rules.isLibraries,
188
- 'app.navigation.isLibraryFiles': rules.isLibraryFiles,
189
- 'app.navigation.isPersonalFiles': rules.isPersonalFiles,
190
- 'app.navigation.isNotLibraries': rules.isNotLibraries,
191
- 'app.navigation.isSharedFiles': rules.isSharedFiles,
192
- 'app.navigation.isNotSharedFiles': rules.isNotSharedFiles,
193
- 'app.navigation.isFavorites': rules.isFavorites,
194
- 'app.navigation.isNotFavorites': rules.isNotFavorites,
195
- 'app.navigation.isRecentFiles': rules.isRecentFiles,
196
- 'app.navigation.isNotRecentFiles': rules.isNotRecentFiles,
197
- 'app.navigation.isSearchResults': rules.isSearchResults,
198
- 'app.navigation.isNotSearchResults': rules.isNotSearchResults,
199
- 'app.navigation.isPreview': rules.isPreview,
200
- 'app.navigation.isSharedPreview': rules.isSharedPreview,
201
- 'app.navigation.isFavoritesPreview': rules.isFavoritesPreview,
202
- 'app.navigation.isSharedFileViewer': rules.isSharedFileViewer,
203
- 'repository.isQuickShareEnabled': rules.hasQuickShareEnabled,
204
- 'user.isAdmin': rules.isAdmin,
205
- 'app.canShowLogout': rules.canShowLogout,
206
- 'app.isContentServiceEnabled': rules.isContentServiceEnabled,
207
- 'app.isUploadSupported': rules.isUploadSupported,
208
- 'app.canCreateLibrary': rules.canCreateLibrary,
209
- 'app.areTagsEnabled': rules.areTagsEnabled,
210
- 'app.areCategoriesEnabled': rules.areCategoriesEnabled
211
- });
212
- }
213
- }
214
- ContentServiceExtensionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContentServiceExtensionModule, deps: [{ token: i1.ExtensionService }], target: i0.ɵɵFactoryTarget.NgModule });
215
- ContentServiceExtensionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ContentServiceExtensionModule, imports: [CommonModule,
216
- FormsModule,
217
- ReactiveFormsModule, i2.ContentModule, i3.RouterModule, ExtensionsModule,
218
- CoreExtensionsModule,
219
- AppStoreModule, i4.LanguagePickerComponent, i5.LocationLinkComponent, i6.LogoutComponent, i7.ToggleSharedComponent, i8.UserInfoComponent, i9.ToggleFavoriteComponent, i10.ToggleEditOfflineComponent, i11.ToggleInfoDrawerComponent, i12.ToggleJoinLibraryButtonComponent, i13.ToggleJoinLibraryMenuComponent, i14.ToggleFavoriteLibraryComponent, i15.ViewNodeComponent, i16.ButtonMenuComponent, i17.ActiveLinkDirective, i18.ActionDirective, i19.MenuPanelDirective, i20.ExpandMenuComponent, i21.ExpansionPanelDirective, i22.SidenavHeaderComponent, i23.UserMenuComponent, i24.SidenavComponent, i25.SearchActionMenuComponent, i26.SearchLibrariesResultsComponent, i27.SearchResultsComponent, i28.SearchResultsRowComponent, i29.SearchInputComponent, i30.SearchInputControlComponent, ContextMenuComponent,
220
- AppInfoDrawerModule,
221
- HammerModule,
222
- AcaFolderRulesModule,
223
- CreateFromTemplateDialogComponent,
224
- OpenInAppComponent,
225
- UploadFilesDialogComponent] });
226
- ContentServiceExtensionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContentServiceExtensionModule, providers: [
227
- { provide: ContentVersionService, useClass: ContentUrlService },
228
- { provide: DocumentBasePageService, useExisting: ContentManagementService },
229
- {
230
- provide: TRANSLATION_PROVIDER,
231
- multi: true,
232
- useValue: {
233
- name: 'app',
234
- source: 'assets'
235
- }
236
- },
237
- { provide: SHELL_NAVBAR_MIN_WIDTH, useValue: 0 },
238
- {
239
- provide: MAT_DIALOG_DEFAULT_OPTIONS,
240
- useValue: { closeOnNavigation: true, hasBackdrop: true, autoFocus: true }
241
- }
242
- ], imports: [CommonModule,
243
- FormsModule,
244
- ReactiveFormsModule,
245
- ContentModule.forRoot(),
246
- RouterModule.forChild(CONTENT_ROUTES),
247
- ExtensionsModule,
248
- CoreExtensionsModule,
249
- AppStoreModule, APP_COMMON_DIRECTIVES, APP_TOOLBAR_DIRECTIVES, i16.ButtonMenuComponent, i20.ExpandMenuComponent, i22.SidenavHeaderComponent, i23.UserMenuComponent, i24.SidenavComponent, APP_SEARCH_DIRECTIVES, ContextMenuComponent,
250
- AppInfoDrawerModule,
251
- HammerModule,
252
- AcaFolderRulesModule,
253
- CreateFromTemplateDialogComponent,
254
- OpenInAppComponent,
255
- UploadFilesDialogComponent] });
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContentServiceExtensionModule, decorators: [{
257
- type: NgModule,
258
- args: [{
259
- imports: [
260
- CommonModule,
261
- FormsModule,
262
- ReactiveFormsModule,
263
- ContentModule.forRoot(),
264
- RouterModule.forChild(CONTENT_ROUTES),
265
- ExtensionsModule,
266
- CoreExtensionsModule,
267
- AppStoreModule,
268
- ...APP_COMMON_DIRECTIVES,
269
- ...APP_TOOLBAR_DIRECTIVES,
270
- ...APP_SIDENAV_DIRECTIVES,
271
- ...APP_SEARCH_DIRECTIVES,
272
- ContextMenuComponent,
273
- AppInfoDrawerModule,
274
- HammerModule,
275
- AcaFolderRulesModule,
276
- CreateFromTemplateDialogComponent,
277
- OpenInAppComponent,
278
- UploadFilesDialogComponent
279
- ],
280
- providers: [
281
- { provide: ContentVersionService, useClass: ContentUrlService },
282
- { provide: DocumentBasePageService, useExisting: ContentManagementService },
283
- {
284
- provide: TRANSLATION_PROVIDER,
285
- multi: true,
286
- useValue: {
287
- name: 'app',
288
- source: 'assets'
289
- }
290
- },
291
- { provide: SHELL_NAVBAR_MIN_WIDTH, useValue: 0 },
292
- {
293
- provide: MAT_DIALOG_DEFAULT_OPTIONS,
294
- useValue: { closeOnNavigation: true, hasBackdrop: true, autoFocus: true }
295
- }
296
- ]
297
- }]
298
- }], ctorParameters: function () { return [{ type: i1.ExtensionService }]; } });
299
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNhLWNvbnRlbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9hY2EtY29udGVudC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ILE9BQU8sRUFDTCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsNEJBQTRCLEVBQzVCLDJCQUEyQixFQUM1QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlHLE9BQU8sS0FBSyxLQUFLLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFz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N0IsS0FBSyxFQUFFLElBQUk7NEJBQ1gsUUFBUSxFQUFFO2dDQUNSLElBQUksRUFBRSxLQUFLO2dDQUNYLE1BQU0sRUFBRSxRQUFROzZCQUNqQjt5QkFDRjt3QkFDRCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO3dCQUNoRDs0QkFDRSxPQUFPLEVBQUUsMEJBQTBCOzRCQUNuQyxRQUFRLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFO3lCQUMxRTtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBIYW1tZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRSQU5TTEFUSU9OX1BST1ZJREVSLCBBdXRoR3VhcmRFY20sIExhbmd1YWdlUGlja2VyQ29tcG9uZW50LCBOb3RpZmljYXRpb25IaXN0b3J5Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7XG4gIENvbnRlbnRNb2R1bGUsXG4gIENvbnRlbnRWZXJzaW9uU2VydmljZSxcbiAgTGlicmFyeU5hbWVDb2x1bW5Db21wb25lbnQsXG4gIExpYnJhcnlSb2xlQ29sdW1uQ29tcG9uZW50LFxuICBMaWJyYXJ5U3RhdHVzQ29sdW1uQ29tcG9uZW50LFxuICBUcmFzaGNhbk5hbWVDb2x1bW5Db21wb25lbnRcbn0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IERvY3VtZW50QmFzZVBhZ2VTZXJ2aWNlLCBFeHRlbnNpb25zRGF0YUxvYWRlckd1YXJkLCBPcGVuSW5BcHBDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgKiBhcyBydWxlcyBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9ydWxlcyc7XG5pbXBvcnQgeyBBcHBTdG9yZU1vZHVsZSB9IGZyb20gJy4vc3RvcmUvYXBwLXN0b3JlLm1vZHVsZSc7XG5pbXBvcnQgeyBDb3JlRXh0ZW5zaW9uc01vZHVsZSB9IGZyb20gJy4vZXh0ZW5zaW9ucy9jb3JlLmV4dGVuc2lvbnMubW9kdWxlJztcbmltcG9ydCB7IEFwcEluZm9EcmF3ZXJNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5mby1kcmF3ZXIvaW5mby5kcmF3ZXIubW9kdWxlJztcbmltcG9ydCB7IEV4dGVuc2lvblNlcnZpY2UsIEV4dGVuc2lvbnNNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgQVBQX1RPT0xCQVJfRElSRUNUSVZFUyB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyJztcbmltcG9ydCB7IEFQUF9TSURFTkFWX0RJUkVDVElWRVMgfSBmcm9tICcuL2NvbXBvbmVudHMvc2lkZW5hdic7XG5pbXBvcnQgeyBBUFBfQ09NTU9OX0RJUkVDVElWRVMgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFQUF9TRUFSQ0hfRElSRUNUSVZFUyB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gnO1xuaW1wb3J0IHsgQ3JlYXRlRnJvbVRlbXBsYXRlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL25vZGUtdGVtcGxhdGUvY3JlYXRlLWZyb20tdGVtcGxhdGUuZGlhbG9nJztcbmltcG9ydCB7IENvbnRlbnRVcmxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb250ZW50LXVybC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBMb2NhdGlvbkxpbmtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tbW9uL2xvY2F0aW9uLWxpbmsvbG9jYXRpb24tbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9nb3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbW1vbi9sb2dvdXQvbG9nb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb2dnbGVTaGFyZWRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tbW9uL3RvZ2dsZS1zaGFyZWQvdG9nZ2xlLXNoYXJlZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tTmFtZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy9uYW1lLWNvbHVtbi9uYW1lLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbWVudHNUYWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5mby1kcmF3ZXIvY29tbWVudHMtdGFiL2NvbW1lbnRzLXRhYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlicmFyeU1ldGFkYXRhVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2luZm8tZHJhd2VyL2xpYnJhcnktbWV0YWRhdGEtdGFiL2xpYnJhcnktbWV0YWRhdGEtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXRhZGF0YVRhYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbmZvLWRyYXdlci9tZXRhZGF0YS10YWIvbWV0YWRhdGEtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWZXJzaW9uc1RhYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbmZvLWRyYXdlci92ZXJzaW9ucy10YWIvdmVyc2lvbnMtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1jb250ZW50L3ZpZXdlcic7XG5pbXBvcnQgeyBUb2dnbGVFZGl0T2ZmbGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3RvZ2dsZS1lZGl0LW9mZmxpbmUvdG9nZ2xlLWVkaXQtb2ZmbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9nZ2xlRmF2b3JpdGVMaWJyYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkvdG9nZ2xlLWZhdm9yaXRlLWxpYnJhcnkuY29tcG9uZW50JztcbmltcG9ydCB7IFRvZ2dsZUZhdm9yaXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWZhdm9yaXRlL3RvZ2dsZS1mYXZvcml0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9nZ2xlSW5mb0RyYXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b29sYmFyL3RvZ2dsZS1pbmZvLWRyYXdlci90b2dnbGUtaW5mby1kcmF3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFRvZ2dsZUpvaW5MaWJyYXJ5QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWpvaW4tbGlicmFyeS90b2dnbGUtam9pbi1saWJyYXJ5LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9nZ2xlSm9pbkxpYnJhcnlNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdG9nZ2xlLWpvaW4tbGlicmFyeS90b2dnbGUtam9pbi1saWJyYXJ5LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Rvb2xiYXIvdmlldy1ub2RlL3ZpZXctbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ09OVEVOVF9ST1VURVMgfSBmcm9tICcuL2FjYS1jb250ZW50LnJvdXRlcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVXBsb2FkRmlsZXNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdXBsb2FkLWZpbGVzLWRpYWxvZy91cGxvYWQtZmlsZXMtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY2FGb2xkZXJSdWxlc01vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hY2EtY29udGVudC9mb2xkZXItcnVsZXMnO1xuaW1wb3J0IHsgVGFnc0NvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kbC1jdXN0b20tY29tcG9uZW50cy90YWdzLWNvbHVtbi90YWdzLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXNlckluZm9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tbW9uL3VzZXItaW5mby91c2VyLWluZm8uY29tcG9uZW50JztcbmltcG9ydCB7IFNpZGVuYXZDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb250ZW50TWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbnRlbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNoZWxsTGF5b3V0Q29tcG9uZW50LCBTSEVMTF9OQVZCQVJfTUlOX1dJRFRIIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlL3NoZWxsJztcbmltcG9ydCB7IFVzZXJNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpZGVuYXYvdXNlci1tZW51L3VzZXItbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19ERUZBVUxUX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c1Jvd0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLXJlc3VsdHMtcm93L3NlYXJjaC1yZXN1bHRzLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnVsa0FjdGlvbnNEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idWxrLWFjdGlvbnMtZHJvcGRvd24vYnVsay1hY3Rpb25zLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZ2VudHNCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMva25vd2xlZGdlLXJldHJpZXZhbC9zZWFyY2gtYWkvYWdlbnRzLWJ1dHRvbi9hZ2VudHMtYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDb250ZW50TW9kdWxlLmZvclJvb3QoKSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQoQ09OVEVOVF9ST1VURVMpLFxuICAgIEV4dGVuc2lvbnNNb2R1bGUsXG4gICAgQ29yZUV4dGVuc2lvbnNNb2R1bGUsXG4gICAgQXBwU3RvcmVNb2R1bGUsXG4gICAgLi4uQVBQX0NPTU1PTl9ESVJFQ1RJVkVTLFxuICAgIC4uLkFQUF9UT09MQkFSX0RJUkVDVElWRVMsXG4gICAgLi4uQVBQX1NJREVOQVZfRElSRUNUSVZFUyxcbiAgICAuLi5BUFBfU0VBUkNIX0RJUkVDVElWRVMsXG4gICAgQ29udGV4dE1lbnVDb21wb25lbnQsXG4gICAgQXBwSW5mb0RyYXdlck1vZHVsZSxcbiAgICBIYW1tZXJNb2R1bGUsXG4gICAgQWNhRm9sZGVyUnVsZXNNb2R1bGUsXG4gICAgQ3JlYXRlRnJvbVRlbXBsYXRlRGlhbG9nQ29tcG9uZW50LFxuICAgIE9wZW5JbkFwcENvbXBvbmVudCxcbiAgICBVcGxvYWRGaWxlc0RpYWxvZ0NvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IENvbnRlbnRWZXJzaW9uU2VydmljZSwgdXNlQ2xhc3M6IENvbnRlbnRVcmxTZXJ2aWNlIH0sXG4gICAgeyBwcm92aWRlOiBEb2N1bWVudEJhc2VQYWdlU2VydmljZSwgdXNlRXhpc3Rpbmc6IENvbnRlbnRNYW5hZ2VtZW50U2VydmljZSB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTEFUSU9OX1BST1ZJREVSLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBuYW1lOiAnYXBwJyxcbiAgICAgICAgc291cmNlOiAnYXNzZXRzJ1xuICAgICAgfVxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBTSEVMTF9OQVZCQVJfTUlOX1dJRFRILCB1c2VWYWx1ZTogMCB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLFxuICAgICAgdXNlVmFsdWU6IHsgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsIGhhc0JhY2tkcm9wOiB0cnVlLCBhdXRvRm9jdXM6IHRydWUgfVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50U2VydmljZUV4dGVuc2lvbk1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBleHRlbnNpb25zOiBFeHRlbnNpb25TZXJ2aWNlKSB7XG4gICAgZXh0ZW5zaW9ucy5zZXRBdXRoR3VhcmRzKHtcbiAgICAgICdhcHAuYXV0aCc6IEF1dGhHdWFyZEVjbSxcbiAgICAgICdhcHAuZXh0ZW5zaW9ucy5kYXRhTG9hZGVyR3VhcmQnOiBFeHRlbnNpb25zRGF0YUxvYWRlckd1YXJkXG4gICAgfSk7XG5cbiAgICBleHRlbnNpb25zLnNldENvbXBvbmVudHMoe1xuICAgICAgJ2FwcC5sYXlvdXQubWFpbic6IFNoZWxsTGF5b3V0Q29tcG9uZW50LFxuICAgICAgJ2FwcC5sYXlvdXQuc2lkZW5hdic6IFNpZGVuYXZDb21wb25lbnQsXG4gICAgICAnYXBwLnNoZWxsLnNpYmxpbmcnOiBVcGxvYWRGaWxlc0RpYWxvZ0NvbXBvbmVudCxcbiAgICAgICdhcHAuY29tcG9uZW50cy50YWJzLm1ldGFkYXRhJzogTWV0YWRhdGFUYWJDb21wb25lbnQsXG4gICAgICAnYXBwLmNvbXBvbmVudHMudGFicy5saWJyYXJ5Lm1ldGFkYXRhJzogTGlicmFyeU1ldGFkYXRhVGFiQ29tcG9uZW50LFxuICAgICAgJ2FwcC5jb21wb25lbnRzLnRhYnMuY29tbWVudHMnOiBDb21tZW50c1RhYkNvbXBvbmVudCxcbiAgICAgICdhcHAuY29tcG9uZW50cy50YWJzLnZlcnNpb25zJzogVmVyc2lvbnNUYWJDb21wb25lbnQsXG4gICAgICAnYXBwLmNvbXBvbmVudHMucHJldmlldyc6IFByZXZpZXdDb21wb25lbnQsXG4gICAgICAnYXBwLnRvb2xiYXIudG9nZ2xlSW5mb0RyYXdlcic6IFRvZ2dsZUluZm9EcmF3ZXJDb21wb25lbnQsXG4gICAgICAnYXBwLnRvb2xiYXIudG9nZ2xlRmF2b3JpdGUnOiBUb2dnbGVGYXZvcml0ZUNvbXBvbmVudCxcbiAgICAgICdhcHAudG9vbGJhci50b2dnbGVGYXZvcml0ZUxpYnJhcnknOiBUb2dnbGVGYXZvcml0ZUxpYnJhcnlDb21wb25lbnQsXG4gICAgICAnYXBwLnRvb2xiYXIudG9nZ2xlSm9pbkxpYnJhcnknOiBUb2dnbGVKb2luTGlicmFyeUJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICdhcHAudG9vbGJhci5haS5hZ2VudHMtYnV0dG9uJzogQWdlbnRzQnV0dG9uQ29tcG9uZW50LFxuICAgICAgJ2FwcC5tZW51LnRvZ2dsZUpvaW5MaWJyYXJ5JzogVG9nZ2xlSm9pbkxpYnJhcnlNZW51Q29tcG9uZW50LFxuICAgICAgJ2FwcC5idWxrLWFjdGlvbnMtZHJvcGRvd24nOiBCdWxrQWN0aW9uc0Ryb3Bkb3duQ29tcG9uZW50LFxuICAgICAgJ2FwcC5zaGFyZWQtbGluay50b2dnbGVTaGFyZWRMaW5rJzogVG9nZ2xlU2hhcmVkQ29tcG9uZW50LFxuICAgICAgJ2FwcC5jb2x1bW5zLm5hbWUnOiBDdXN0b21OYW1lQ29sdW1uQ29tcG9uZW50LFxuICAgICAgJ2FwcC5jb2x1bW5zLmxpYnJhcnlOYW1lJzogTGlicmFyeU5hbWVDb2x1bW5Db21wb25lbnQsXG4gICAgICAnYXBwLmNvbHVtbnMubGlicmFyeVJvbGUnOiBMaWJyYXJ5Um9sZUNvbHVtbkNvbXBvbmVudCxcbiAgICAgICdhcHAuY29sdW1ucy5saWJyYXJ5U3RhdHVzJzogTGlicmFyeVN0YXR1c0NvbHVtbkNvbXBvbmVudCxcbiAgICAgICdhcHAuY29sdW1ucy50cmFzaGNhbk5hbWUnOiBUcmFzaGNhbk5hbWVDb2x1bW5Db21wb25lbnQsXG4gICAgICAnYXBwLmNvbHVtbnMubG9jYXRpb24nOiBMb2NhdGlvbkxpbmtDb21wb25lbnQsXG4gICAgICAnYXBwLmNvbHVtbnMudGFncyc6IFRhZ3NDb2x1bW5Db21wb25lbnQsXG4gICAgICAnYXBwLnRvb2xiYXIudG9nZ2xlRWRpdE9mZmxpbmUnOiBUb2dnbGVFZGl0T2ZmbGluZUNvbXBvbmVudCxcbiAgICAgICdhcHAudG9vbGJhci52aWV3Tm9kZSc6IFZpZXdOb2RlQ29tcG9uZW50LFxuICAgICAgJ2FwcC5sYW5ndWFnZVBpY2tlcic6IExhbmd1YWdlUGlja2VyQ29tcG9uZW50LFxuICAgICAgJ2FwcC5sb2dvdXQnOiBMb2dvdXRDb21wb25lbnQsXG4gICAgICAnYXBwLnVzZXInOiBVc2VySW5mb0NvbXBvbmVudCxcbiAgICAgICdhcHAubm90aWZpY2F0aW9uLWNlbnRlcic6IE5vdGlmaWNhdGlvbkhpc3RvcnlDb21wb25lbnQsXG4gICAgICAnYXBwLnVzZXIubWVudSc6IFVzZXJNZW51Q29tcG9uZW50LFxuICAgICAgJ2FwcC5zZWFyY2guY29sdW1ucy5uYW1lJzogU2VhcmNoUmVzdWx0c1Jvd0NvbXBvbmVudFxuICAgIH0pO1xuXG4gICAgZXh0ZW5zaW9ucy5zZXRFdmFsdWF0b3JzKHtcbiAgICAgIGNhbkNvcHlOb2RlOiBydWxlcy5jYW5Db3B5Tm9kZSxcbiAgICAgIGNhblRvZ2dsZUpvaW5MaWJyYXJ5OiBydWxlcy5jYW5Ub2dnbGVKb2luTGlicmFyeSxcbiAgICAgIGNhbkVkaXRGb2xkZXI6IHJ1bGVzLmNhbkVkaXRGb2xkZXIsXG4gICAgICBpc1RyYXNoY2FuSXRlbVNlbGVjdGVkOiBydWxlcy5pc1RyYXNoY2FuSXRlbVNlbGVjdGVkLFxuICAgICAgY2FuVmlld0ZpbGU6IHJ1bGVzLmNhblZpZXdGaWxlLFxuICAgICAgY2FuTGVhdmVMaWJyYXJ5OiBydWxlcy5jYW5MZWF2ZUxpYnJhcnksXG4gICAgICBjYW5Ub2dnbGVTaGFyZWRMaW5rOiBydWxlcy5jYW5Ub2dnbGVTaGFyZWRMaW5rLFxuICAgICAgY2FuU2hvd0luZm9EcmF3ZXI6IHJ1bGVzLmNhblNob3dJbmZvRHJhd2VyLFxuICAgICAgY2FuTWFuYWdlRmlsZVZlcnNpb25zOiBydWxlcy5jYW5NYW5hZ2VGaWxlVmVyc2lvbnMsXG4gICAgICBjYW5NYW5hZ2VQZXJtaXNzaW9uczogcnVsZXMuY2FuTWFuYWdlUGVybWlzc2lvbnMsXG4gICAgICBjYW5Ub2dnbGVFZGl0T2ZmbGluZTogcnVsZXMuY2FuVG9nZ2xlRWRpdE9mZmxpbmUsXG4gICAgICBjYW5Ub2dnbGVGYXZvcml0ZTogcnVsZXMuY2FuVG9nZ2xlRmF2b3JpdGUsXG4gICAgICBpc0xpYnJhcnlNYW5hZ2VyOiBydWxlcy5pc0xpYnJhcnlNYW5hZ2VyLFxuICAgICAgY2FuRWRpdEFzcGVjdHM6IHJ1bGVzLmNhbkVkaXRBc3BlY3RzLFxuICAgICAgY2FuU2hvd0V4cGFuZDogcnVsZXMuY2FuU2hvd0V4cGFuZCxcbiAgICAgIGNhbkluZm9QcmV2aWV3OiBydWxlcy5jYW5JbmZvUHJldmlldyxcblxuICAgICAgJ2FwcC5zZWxlY3Rpb24uY2FuRGVsZXRlJzogcnVsZXMuY2FuRGVsZXRlU2VsZWN0aW9uLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uZmlsZS5jYW5VbmxvY2snOiBydWxlcy5jYW5VbmxvY2tGaWxlLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uZmlsZS5jYW5Mb2NrJzogcnVsZXMuY2FuTG9ja0ZpbGUsXG4gICAgICAnYXBwLnNlbGVjdGlvbi5jYW5Eb3dubG9hZCc6IHJ1bGVzLmNhbkRvd25sb2FkU2VsZWN0aW9uLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24ubm90RW1wdHknOiBydWxlcy5oYXNTZWxlY3Rpb24sXG4gICAgICAnYXBwLnNlbGVjdGlvbi5jYW5VbnNoYXJlJzogcnVsZXMuY2FuVW5zaGFyZU5vZGVzLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uY2FuQWRkRmF2b3JpdGUnOiBydWxlcy5jYW5BZGRGYXZvcml0ZSxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmNhblJlbW92ZUZhdm9yaXRlJzogcnVsZXMuY2FuUmVtb3ZlRmF2b3JpdGUsXG4gICAgICAnYXBwLnNlbGVjdGlvbi5maXJzdC5jYW5VcGRhdGUnOiBydWxlcy5jYW5VcGRhdGVTZWxlY3RlZE5vZGUsXG4gICAgICAnYXBwLnNlbGVjdGlvbi5maWxlJzogcnVsZXMuaGFzRmlsZVNlbGVjdGVkLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uZmlsZS5jYW5TaGFyZSc6IHJ1bGVzLmNhblNoYXJlRmlsZSxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmZpbGUuaXNTaGFyZWQnOiBydWxlcy5pc1NoYXJlZCxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmZpbGUuaXNMb2NrZWQnOiBydWxlcy5oYXNMb2NrZWRGaWxlcyxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmZpbGUuaXNMb2NrT3duZXInOiBydWxlcy5pc1VzZXJXcml0ZUxvY2tPd25lcixcbiAgICAgICdhcHAuc2VsZWN0aW9uLmZpbGUuY2FuVXBsb2FkVmVyc2lvbic6IHJ1bGVzLmNhblVwbG9hZFZlcnNpb24sXG4gICAgICAnYXBwLnNlbGVjdGlvbi5saWJyYXJ5JzogcnVsZXMuaGFzTGlicmFyeVNlbGVjdGVkLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uaXNQcml2YXRlTGlicmFyeSc6IHJ1bGVzLmlzUHJpdmF0ZUxpYnJhcnksXG4gICAgICAnYXBwLnNlbGVjdGlvbi5oYXNMaWJyYXJ5Um9sZSc6IHJ1bGVzLmhhc0xpYnJhcnlSb2xlLFxuICAgICAgJ2FwcC5zZWxlY3Rpb24uaGFzTm9MaWJyYXJ5Um9sZSc6IHJ1bGVzLmhhc05vTGlicmFyeVJvbGUsXG4gICAgICAnYXBwLnNlbGVjdGlvbi5mb2xkZXInOiBydWxlcy5oYXNGb2xkZXJTZWxlY3RlZCxcbiAgICAgICdhcHAuc2VsZWN0aW9uLmZvbGRlci5jYW5VcGRhdGUnOiBydWxlcy5jYW5VcGRhdGVTZWxlY3RlZEZvbGRlcixcbiAgICAgICdhcHAuc2VsZWN0aW9uLmRpc3BsYXllZEtub3dsZWRnZVJldHJpZXZhbEJ1dHRvbic6IHJ1bGVzLmNhbkRpc3BsYXlLbm93bGVkZ2VSZXRyaWV2YWxCdXR0b24sXG5cbiAgICAgICdhcHAubmF2aWdhdGlvbi5mb2xkZXIuY2FuQ3JlYXRlJzogcnVsZXMuY2FuQ3JlYXRlRm9sZGVyLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmZvbGRlci5jYW5VcGxvYWQnOiBydWxlcy5jYW5VcGxvYWQsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNUcmFzaGNhbic6IHJ1bGVzLmlzVHJhc2hjYW4sXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNOb3RUcmFzaGNhbic6IHJ1bGVzLmlzTm90VHJhc2hjYW4sXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNMaWJyYXJpZXMnOiBydWxlcy5pc0xpYnJhcmllcyxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc0xpYnJhcnlGaWxlcyc6IHJ1bGVzLmlzTGlicmFyeUZpbGVzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzUGVyc29uYWxGaWxlcyc6IHJ1bGVzLmlzUGVyc29uYWxGaWxlcyxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc05vdExpYnJhcmllcyc6IHJ1bGVzLmlzTm90TGlicmFyaWVzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzU2hhcmVkRmlsZXMnOiBydWxlcy5pc1NoYXJlZEZpbGVzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzTm90U2hhcmVkRmlsZXMnOiBydWxlcy5pc05vdFNoYXJlZEZpbGVzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzRmF2b3JpdGVzJzogcnVsZXMuaXNGYXZvcml0ZXMsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNOb3RGYXZvcml0ZXMnOiBydWxlcy5pc05vdEZhdm9yaXRlcyxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc1JlY2VudEZpbGVzJzogcnVsZXMuaXNSZWNlbnRGaWxlcyxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc05vdFJlY2VudEZpbGVzJzogcnVsZXMuaXNOb3RSZWNlbnRGaWxlcyxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc1NlYXJjaFJlc3VsdHMnOiBydWxlcy5pc1NlYXJjaFJlc3VsdHMsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNOb3RTZWFyY2hSZXN1bHRzJzogcnVsZXMuaXNOb3RTZWFyY2hSZXN1bHRzLFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzUHJldmlldyc6IHJ1bGVzLmlzUHJldmlldyxcbiAgICAgICdhcHAubmF2aWdhdGlvbi5pc1NoYXJlZFByZXZpZXcnOiBydWxlcy5pc1NoYXJlZFByZXZpZXcsXG4gICAgICAnYXBwLm5hdmlnYXRpb24uaXNGYXZvcml0ZXNQcmV2aWV3JzogcnVsZXMuaXNGYXZvcml0ZXNQcmV2aWV3LFxuICAgICAgJ2FwcC5uYXZpZ2F0aW9uLmlzU2hhcmVkRmlsZVZpZXdlcic6IHJ1bGVzLmlzU2hhcmVkRmlsZVZpZXdlcixcblxuICAgICAgJ3JlcG9zaXRvcnkuaXNRdWlja1NoYXJlRW5hYmxlZCc6IHJ1bGVzLmhhc1F1aWNrU2hhcmVFbmFibGVkLFxuICAgICAgJ3VzZXIuaXNBZG1pbic6IHJ1bGVzLmlzQWRtaW4sXG4gICAgICAnYXBwLmNhblNob3dMb2dvdXQnOiBydWxlcy5jYW5TaG93TG9nb3V0LFxuICAgICAgJ2FwcC5pc0NvbnRlbnRTZXJ2aWNlRW5hYmxlZCc6IHJ1bGVzLmlzQ29udGVudFNlcnZpY2VFbmFibGVkLFxuICAgICAgJ2FwcC5pc1VwbG9hZFN1cHBvcnRlZCc6IHJ1bGVzLmlzVXBsb2FkU3VwcG9ydGVkLFxuICAgICAgJ2FwcC5jYW5DcmVhdGVMaWJyYXJ5JzogcnVsZXMuY2FuQ3JlYXRlTGlicmFyeSxcbiAgICAgICdhcHAuYXJlVGFnc0VuYWJsZWQnOiBydWxlcy5hcmVUYWdzRW5hYmxlZCxcbiAgICAgICdhcHAuYXJlQ2F0ZWdvcmllc0VuYWJsZWQnOiBydWxlcy5hcmVDYXRlZ29yaWVzRW5hYmxlZFxuICAgIH0pO1xuICB9XG59XG4iXX0=