@lowcodeunit/applications-flow-common 1.33.138-angular-13 → 1.33.143-lets-get-social-ish

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 (257) hide show
  1. package/bundles/lowcodeunit-applications-flow-common.umd.js +6920 -0
  2. package/bundles/lowcodeunit-applications-flow-common.umd.js.map +1 -0
  3. package/bundles/lowcodeunit-applications-flow-common.umd.min.js +16 -0
  4. package/bundles/lowcodeunit-applications-flow-common.umd.min.js.map +1 -0
  5. package/esm2015/lcu.api.js +27 -0
  6. package/esm2015/lib/applications-flow.module.js +218 -0
  7. package/esm2015/lib/controls/build-pipeline-form/build-pipeline-form.component.js +213 -0
  8. package/esm2015/lib/controls/devops-source-control-form/devops-source-control-form.component.js +412 -0
  9. package/esm2015/lib/controls/edit-application-form/edit-application-form.component.js +60 -0
  10. package/esm2015/lib/controls/processor-details-form/processor-details-form.component.js +330 -0
  11. package/esm2015/lib/controls/security-toggle/security-toggle.component.js +51 -0
  12. package/esm2015/lib/controls/source-control-form/source-control-form.component.js +61 -0
  13. package/esm2015/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.js +25 -0
  14. package/esm2015/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.js +31 -0
  15. package/esm2015/lib/dialogs/edit-application-dialog/edit-application-dialog.component.js +29 -0
  16. package/esm2015/lib/dialogs/source-control-dialog/source-control-dialog.component.js +25 -0
  17. package/esm2015/lib/elements/analytics-card/analytics-card.component.js +21 -0
  18. package/esm2015/lib/elements/base-form/base-form.component.js +61 -0
  19. package/esm2015/lib/elements/breadcrumb/breadcrumb.component.js +115 -0
  20. package/esm2015/lib/elements/card-carousel/card-carousel.component.js +67 -0
  21. package/esm2015/lib/elements/dynamic-tabs/dynamic-tabs.component.js +69 -0
  22. package/esm2015/lib/elements/feed-card-sm/feed-card-sm.component.js +31 -0
  23. package/esm2015/lib/elements/form-card/form-card.component.js +22 -0
  24. package/esm2015/lib/elements/gh-control/gh-control.component.js +72 -0
  25. package/esm2015/lib/elements/main-feed-card/main-feed-card.component.js +24 -0
  26. package/esm2015/lib/elements/project-info-card/project-info-card.component.js +38 -0
  27. package/esm2015/lib/elements/projects/controls/builds/builds.component.js +26 -0
  28. package/esm2015/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.js +145 -0
  29. package/esm2015/lib/elements/projects/controls/forms/source-control/source-control.component.js +262 -0
  30. package/esm2015/lib/elements/projects/controls/git-auth/git-auth.component.js +25 -0
  31. package/esm2015/lib/elements/projects/controls/header/header.component.js +75 -0
  32. package/esm2015/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.js +102 -0
  33. package/esm2015/lib/elements/projects/controls/project-items/project-items.component.js +49 -0
  34. package/esm2015/lib/elements/projects/controls/project-tabs/project-tabs.component.js +91 -0
  35. package/esm2015/lib/elements/projects/controls/recent-activities/recent-activities.component.js +15 -0
  36. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.js +590 -0
  37. package/esm2015/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.js +62 -0
  38. package/esm2015/lib/elements/projects/controls/tabs/devops/devops.component.js +202 -0
  39. package/esm2015/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.js +178 -0
  40. package/esm2015/lib/elements/projects/controls/tabs/domains/domains.component.js +133 -0
  41. package/esm2015/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.js +86 -0
  42. package/esm2015/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.js +129 -0
  43. package/esm2015/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.js +113 -0
  44. package/esm2015/lib/elements/projects/controls/tabs/general/general.component.js +46 -0
  45. package/esm2015/lib/elements/projects/projects.component.js +99 -0
  46. package/esm2015/lib/elements/slotted-card/slotted-card.component.js +30 -0
  47. package/esm2015/lib/elements/three-column/three-column.component.js +32 -0
  48. package/esm2015/lib/elements/two-column-header/two-column-header.component.js +15 -0
  49. package/esm2015/lib/models/actions.model.js +3 -0
  50. package/esm2015/lib/models/base-form-config.model.js +6 -0
  51. package/esm2015/lib/models/card-form-config.model.js +6 -0
  52. package/esm2015/lib/models/dev-settings-preset.model.js +3 -0
  53. package/esm2015/lib/models/domain.model.js +3 -0
  54. package/esm2015/lib/models/dynamic-tabs.model.js +6 -0
  55. package/esm2015/lib/models/form-actions.model.js +3 -0
  56. package/esm2015/lib/models/form.model.js +6 -0
  57. package/esm2015/lib/models/form.values.model.js +11 -0
  58. package/esm2015/lib/models/project-actions.model.js +6 -0
  59. package/esm2015/lib/services/applications-flow.service.js +144 -0
  60. package/esm2015/lib/services/eac.service.js +218 -0
  61. package/esm2015/lib/services/forms.service.js +131 -0
  62. package/esm2015/lib/services/npm.service.js +79 -0
  63. package/esm2015/lib/services/project.service.js +318 -0
  64. package/esm2015/lib/state/applications-flow-state.context.js +37 -0
  65. package/esm2015/lib/state/applications-flow.state.js +72 -0
  66. package/esm2015/lowcodeunit-applications-flow-common.js +39 -0
  67. package/fesm2015/lowcodeunit-applications-flow-common.js +5335 -0
  68. package/fesm2015/lowcodeunit-applications-flow-common.js.map +1 -0
  69. package/lcu.api.d.ts +3 -28
  70. package/lcu.api.d.ts.map +1 -0
  71. package/lib/applications-flow.module.d.ts +1 -39
  72. package/lib/applications-flow.module.d.ts.map +1 -0
  73. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts +43 -0
  74. package/lib/controls/build-pipeline-form/build-pipeline-form.component.d.ts.map +1 -0
  75. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts +81 -0
  76. package/lib/controls/devops-source-control-form/devops-source-control-form.component.d.ts.map +1 -0
  77. package/lib/controls/edit-application-form/edit-application-form.component.d.ts +17 -0
  78. package/lib/controls/edit-application-form/edit-application-form.component.d.ts.map +1 -0
  79. package/lib/controls/processor-details-form/processor-details-form.component.d.ts +66 -0
  80. package/lib/controls/processor-details-form/processor-details-form.component.d.ts.map +1 -0
  81. package/lib/controls/security-toggle/security-toggle.component.d.ts +19 -0
  82. package/lib/controls/security-toggle/security-toggle.component.d.ts.map +1 -0
  83. package/lib/controls/source-control-form/source-control-form.component.d.ts +25 -0
  84. package/lib/controls/source-control-form/source-control-form.component.d.ts.map +1 -0
  85. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts +16 -0
  86. package/lib/dialogs/build-pipeline-dialog/build-pipeline-dialog.component.d.ts.map +1 -0
  87. package/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.d.ts +20 -0
  88. package/lib/dialogs/custom-domain-dialog/custom-domain-dialog.component.d.ts.map +1 -0
  89. package/lib/dialogs/edit-application-dialog/edit-application-dialog.component.d.ts +15 -0
  90. package/lib/dialogs/edit-application-dialog/edit-application-dialog.component.d.ts.map +1 -0
  91. package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts +16 -0
  92. package/lib/dialogs/source-control-dialog/source-control-dialog.component.d.ts.map +1 -0
  93. package/lib/elements/analytics-card/analytics-card.component.d.ts +1 -3
  94. package/lib/elements/analytics-card/analytics-card.component.d.ts.map +1 -0
  95. package/lib/elements/base-form/base-form.component.d.ts +4 -6
  96. package/lib/elements/base-form/base-form.component.d.ts.map +1 -0
  97. package/lib/elements/breadcrumb/breadcrumb.component.d.ts +33 -0
  98. package/lib/elements/breadcrumb/breadcrumb.component.d.ts.map +1 -0
  99. package/lib/elements/card-carousel/card-carousel.component.d.ts +14 -0
  100. package/lib/elements/card-carousel/card-carousel.component.d.ts.map +1 -0
  101. package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts +1 -3
  102. package/lib/elements/dynamic-tabs/dynamic-tabs.component.d.ts.map +1 -0
  103. package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts +1 -3
  104. package/lib/elements/feed-card-sm/feed-card-sm.component.d.ts.map +1 -0
  105. package/lib/elements/form-card/form-card.component.d.ts +1 -3
  106. package/lib/elements/form-card/form-card.component.d.ts.map +1 -0
  107. package/lib/elements/gh-control/gh-control.component.d.ts +1 -3
  108. package/lib/elements/gh-control/gh-control.component.d.ts.map +1 -0
  109. package/lib/elements/main-feed-card/main-feed-card.component.d.ts +1 -3
  110. package/lib/elements/main-feed-card/main-feed-card.component.d.ts.map +1 -0
  111. package/lib/elements/project-info-card/project-info-card.component.d.ts +4 -3
  112. package/lib/elements/project-info-card/project-info-card.component.d.ts.map +1 -0
  113. package/lib/elements/projects/controls/builds/builds.component.d.ts +2 -6
  114. package/lib/elements/projects/controls/builds/builds.component.d.ts.map +1 -0
  115. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts +4 -6
  116. package/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.d.ts.map +1 -0
  117. package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts +2 -6
  118. package/lib/elements/projects/controls/forms/source-control/source-control.component.d.ts.map +1 -0
  119. package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts +1 -3
  120. package/lib/elements/projects/controls/git-auth/git-auth.component.d.ts.map +1 -0
  121. package/lib/elements/projects/controls/header/header.component.d.ts +4 -6
  122. package/lib/elements/projects/controls/header/header.component.d.ts.map +1 -0
  123. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts +1 -3
  124. package/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.d.ts.map +1 -0
  125. package/lib/elements/projects/controls/project-items/project-items.component.d.ts +4 -6
  126. package/lib/elements/projects/controls/project-items/project-items.component.d.ts.map +1 -0
  127. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts +1 -3
  128. package/lib/elements/projects/controls/project-tabs/project-tabs.component.d.ts.map +1 -0
  129. package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts +1 -3
  130. package/lib/elements/projects/controls/recent-activities/recent-activities.component.d.ts.map +1 -0
  131. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts +4 -6
  132. package/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.d.ts.map +1 -0
  133. package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts +1 -3
  134. package/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.d.ts.map +1 -0
  135. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts +4 -6
  136. package/lib/elements/projects/controls/tabs/devops/devops.component.d.ts.map +1 -0
  137. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts +4 -6
  138. package/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.d.ts.map +1 -0
  139. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts +4 -6
  140. package/lib/elements/projects/controls/tabs/domains/domains.component.d.ts.map +1 -0
  141. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts +4 -6
  142. package/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.d.ts.map +1 -0
  143. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts +4 -6
  144. package/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.d.ts.map +1 -0
  145. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts +4 -6
  146. package/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.d.ts.map +1 -0
  147. package/lib/elements/projects/controls/tabs/general/general.component.d.ts +1 -3
  148. package/lib/elements/projects/controls/tabs/general/general.component.d.ts.map +1 -0
  149. package/lib/elements/projects/projects.component.d.ts +5 -14
  150. package/lib/elements/projects/projects.component.d.ts.map +1 -0
  151. package/lib/elements/slotted-card/slotted-card.component.d.ts +5 -5
  152. package/lib/elements/slotted-card/slotted-card.component.d.ts.map +1 -0
  153. package/lib/elements/three-column/three-column.component.d.ts +1 -3
  154. package/lib/elements/three-column/three-column.component.d.ts.map +1 -0
  155. package/lib/elements/two-column-header/two-column-header.component.d.ts +1 -3
  156. package/lib/elements/two-column-header/two-column-header.component.d.ts.map +1 -0
  157. package/lib/models/actions.model.d.ts +1 -0
  158. package/lib/models/actions.model.d.ts.map +1 -0
  159. package/lib/models/base-form-config.model.d.ts +1 -0
  160. package/lib/models/base-form-config.model.d.ts.map +1 -0
  161. package/lib/models/card-form-config.model.d.ts +1 -0
  162. package/lib/models/card-form-config.model.d.ts.map +1 -0
  163. package/lib/models/dev-settings-preset.model.d.ts +1 -0
  164. package/lib/models/dev-settings-preset.model.d.ts.map +1 -0
  165. package/lib/models/domain.model.d.ts +1 -0
  166. package/lib/models/domain.model.d.ts.map +1 -0
  167. package/lib/models/dynamic-tabs.model.d.ts +1 -0
  168. package/lib/models/dynamic-tabs.model.d.ts.map +1 -0
  169. package/lib/models/form-actions.model.d.ts +1 -0
  170. package/lib/models/form-actions.model.d.ts.map +1 -0
  171. package/lib/models/form.model.d.ts +1 -0
  172. package/lib/models/form.model.d.ts.map +1 -0
  173. package/lib/models/form.values.model.d.ts +1 -0
  174. package/lib/models/form.values.model.d.ts.map +1 -0
  175. package/lib/models/project-actions.model.d.ts +1 -0
  176. package/lib/models/project-actions.model.d.ts.map +1 -0
  177. package/lib/services/applications-flow.service.d.ts +3 -3
  178. package/lib/services/applications-flow.service.d.ts.map +1 -0
  179. package/lib/services/eac.service.d.ts +54 -0
  180. package/lib/services/eac.service.d.ts.map +1 -0
  181. package/lib/services/forms.service.d.ts +1 -3
  182. package/lib/services/forms.service.d.ts.map +1 -0
  183. package/lib/services/npm.service.d.ts +1 -3
  184. package/lib/services/npm.service.d.ts.map +1 -0
  185. package/lib/services/project.service.d.ts +1 -3
  186. package/lib/services/project.service.d.ts.map +1 -0
  187. package/lib/state/applications-flow-state.context.d.ts +1 -3
  188. package/lib/state/applications-flow-state.context.d.ts.map +1 -0
  189. package/lib/state/applications-flow.state.d.ts +1 -0
  190. package/lib/state/applications-flow.state.d.ts.map +1 -0
  191. package/lowcodeunit-applications-flow-common.d.ts +35 -1
  192. package/lowcodeunit-applications-flow-common.d.ts.map +1 -0
  193. package/lowcodeunit-applications-flow-common.metadata.json +1 -0
  194. package/package.json +12 -20
  195. package/esm2020/lcu.api.mjs +0 -53
  196. package/esm2020/lib/applications-flow.module.mjs +0 -248
  197. package/esm2020/lib/elements/analytics-card/analytics-card.component.mjs +0 -28
  198. package/esm2020/lib/elements/base-form/base-form.component.mjs +0 -57
  199. package/esm2020/lib/elements/column-info-card/column-info-card.component.mjs +0 -50
  200. package/esm2020/lib/elements/dynamic-tabs/dynamic-tabs.component.mjs +0 -74
  201. package/esm2020/lib/elements/feed-card-sm/feed-card-sm.component.mjs +0 -40
  202. package/esm2020/lib/elements/flow-tool/flow-tool.component.mjs +0 -77
  203. package/esm2020/lib/elements/form-card/form-card.component.mjs +0 -33
  204. package/esm2020/lib/elements/gh-control/gh-control.component.mjs +0 -78
  205. package/esm2020/lib/elements/main-feed-card/main-feed-card.component.mjs +0 -34
  206. package/esm2020/lib/elements/project-info-card/project-info-card.component.mjs +0 -46
  207. package/esm2020/lib/elements/projects/controls/builds/builds.component.mjs +0 -35
  208. package/esm2020/lib/elements/projects/controls/create-project-wizard/create-project-wizard.component.mjs +0 -145
  209. package/esm2020/lib/elements/projects/controls/forms/source-control/source-control.component.mjs +0 -287
  210. package/esm2020/lib/elements/projects/controls/git-auth/git-auth.component.mjs +0 -26
  211. package/esm2020/lib/elements/projects/controls/header/header.component.mjs +0 -83
  212. package/esm2020/lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component.mjs +0 -118
  213. package/esm2020/lib/elements/projects/controls/project-items/project-items.component.mjs +0 -54
  214. package/esm2020/lib/elements/projects/controls/project-tabs/project-tabs.component.mjs +0 -103
  215. package/esm2020/lib/elements/projects/controls/recent-activities/recent-activities.component.mjs +0 -14
  216. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/apps-flow.component.mjs +0 -563
  217. package/esm2020/lib/elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component.mjs +0 -72
  218. package/esm2020/lib/elements/projects/controls/tabs/devops/devops.component.mjs +0 -242
  219. package/esm2020/lib/elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component.mjs +0 -179
  220. package/esm2020/lib/elements/projects/controls/tabs/domains/domains.component.mjs +0 -137
  221. package/esm2020/lib/elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component.mjs +0 -90
  222. package/esm2020/lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component.mjs +0 -142
  223. package/esm2020/lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component.mjs +0 -124
  224. package/esm2020/lib/elements/projects/controls/tabs/general/general.component.mjs +0 -40
  225. package/esm2020/lib/elements/projects/projects.component.mjs +0 -219
  226. package/esm2020/lib/elements/slotted-card/slotted-card.component.mjs +0 -40
  227. package/esm2020/lib/elements/three-column/three-column.component.mjs +0 -30
  228. package/esm2020/lib/elements/two-column-header/two-column-header.component.mjs +0 -15
  229. package/esm2020/lib/models/actions.model.mjs +0 -3
  230. package/esm2020/lib/models/base-form-config.model.mjs +0 -6
  231. package/esm2020/lib/models/card-form-config.model.mjs +0 -6
  232. package/esm2020/lib/models/card-slot.model.mjs +0 -3
  233. package/esm2020/lib/models/dev-settings-preset.model.mjs +0 -3
  234. package/esm2020/lib/models/domain.model.mjs +0 -3
  235. package/esm2020/lib/models/dynamic-tabs.model.mjs +0 -6
  236. package/esm2020/lib/models/form-actions.model.mjs +0 -3
  237. package/esm2020/lib/models/form.model.mjs +0 -6
  238. package/esm2020/lib/models/form.values.model.mjs +0 -11
  239. package/esm2020/lib/models/project-actions.model.mjs +0 -6
  240. package/esm2020/lib/models/slot-action.model.mjs +0 -3
  241. package/esm2020/lib/services/applications-flow-events.service.mjs +0 -84
  242. package/esm2020/lib/services/applications-flow.service.mjs +0 -132
  243. package/esm2020/lib/services/forms.service.mjs +0 -132
  244. package/esm2020/lib/services/npm.service.mjs +0 -77
  245. package/esm2020/lib/services/project.service.mjs +0 -303
  246. package/esm2020/lib/state/applications-flow-state.context.mjs +0 -36
  247. package/esm2020/lib/state/applications-flow.state.mjs +0 -72
  248. package/esm2020/lowcodeunit-applications-flow-common.mjs +0 -5
  249. package/fesm2015/lowcodeunit-applications-flow-common.mjs +0 -4108
  250. package/fesm2015/lowcodeunit-applications-flow-common.mjs.map +0 -1
  251. package/fesm2020/lowcodeunit-applications-flow-common.mjs +0 -4052
  252. package/fesm2020/lowcodeunit-applications-flow-common.mjs.map +0 -1
  253. package/lib/elements/column-info-card/column-info-card.component.d.ts +0 -20
  254. package/lib/elements/flow-tool/flow-tool.component.d.ts +0 -30
  255. package/lib/models/card-slot.model.d.ts +0 -7
  256. package/lib/models/slot-action.model.d.ts +0 -8
  257. package/lib/services/applications-flow-events.service.d.ts +0 -60
@@ -0,0 +1,27 @@
1
+ export * from './lib/applications-flow.module';
2
+ export * from './lib/services/applications-flow.service';
3
+ export * from './lib/state/applications-flow-state.context';
4
+ export * from './lib/state/applications-flow.state';
5
+ export * from './lib/elements/projects/projects.component';
6
+ export * from './lib/elements/projects/controls/forms/source-control/source-control.component';
7
+ export * from './lib/elements/projects/controls/create-project-wizard/create-project-wizard.component';
8
+ export * from './lib/elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component';
9
+ export * from './lib/models/dynamic-tabs.model';
10
+ export * from './lib/models/project-actions.model';
11
+ export * from './lib/services/project.service';
12
+ export * from './lib/services/npm.service';
13
+ export * from './lib/models/actions.model';
14
+ export * from './lib/models/form-actions.model';
15
+ export * from './lib/models/dev-settings-preset.model';
16
+ export * from './lib/models/domain.model';
17
+ export * from './lib/elements/projects/controls/tabs/general/forms/project-details/project-details.component';
18
+ export * from './lib/elements/projects/controls/tabs/general/forms/root-directory/root-directory.component';
19
+ export * from './lib/models/card-form-config.model';
20
+ export * from './lib/services/forms.service';
21
+ export * from './lib/services/eac.service';
22
+ export * from './lib/models/form.model';
23
+ export * from './lib/models/form.values.model';
24
+ export * from './lib/models/base-form-config.model';
25
+ export * from './lib/elements/projects/controls/git-auth/git-auth.component';
26
+ export * from './lib/elements/three-column/three-column.component';
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGN1LmFwaS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ydW5uZXIvd29yay9hcHBsaWNhdGlvbnMtZmxvdy9hcHBsaWNhdGlvbnMtZmxvdy9wcm9qZWN0cy9jb21tb24vc3JjLyIsInNvdXJjZXMiOlsibGN1LmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnRkFBZ0YsQ0FBQztBQUMvRixjQUFjLHdGQUF3RixDQUFDO0FBQ3ZHLGNBQWMsa0dBQWtHLENBQUM7QUFDakgsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0ZBQStGLENBQUM7QUFDOUcsY0FBYyw2RkFBNkYsQ0FBQztBQUM1RyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsb0RBQW9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9hcHBsaWNhdGlvbnMtZmxvdy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RhdGUvYXBwbGljYXRpb25zLWZsb3ctc3RhdGUuY29udGV4dCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvcHJvamVjdHMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvZm9ybXMvc291cmNlLWNvbnRyb2wvc291cmNlLWNvbnRyb2wuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvY3JlYXRlLXByb2plY3Qtd2l6YXJkL2NyZWF0ZS1wcm9qZWN0LXdpemFyZC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9ob3N0aW5nLWRldGFpbHMtZm9ybS1ncm91cC9ob3N0aW5nLWRldGFpbHMtZm9ybS1ncm91cC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZHluYW1pYy10YWJzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Byb2plY3QtYWN0aW9ucy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3Byb2plY3Quc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL25wbS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2FjdGlvbnMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZm9ybS1hY3Rpb25zLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Rldi1zZXR0aW5ncy1wcmVzZXQubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZG9tYWluLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Byb2plY3QtZGV0YWlscy9wcm9qZWN0LWRldGFpbHMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9nZW5lcmFsL2Zvcm1zL3Jvb3QtZGlyZWN0b3J5L3Jvb3QtZGlyZWN0b3J5LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jYXJkLWZvcm0tY29uZmlnLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZm9ybXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZm9ybS52YWx1ZXMubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFzZS1mb3JtLWNvbmZpZy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2dpdC1hdXRoL2dpdC1hdXRoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VsZW1lbnRzL3RocmVlLWNvbHVtbi90aHJlZS1jb2x1bW4uY29tcG9uZW50JztcclxuIl19
@@ -0,0 +1,218 @@
1
+ import { FormsService } from './services/forms.service';
2
+ import { ProjectService } from './services/project.service';
3
+ import { NgModule } from '@angular/core';
4
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
5
+ import { FlexLayoutModule } from '@angular/flex-layout';
6
+ import { FathymSharedModule, MaterialModule } from '@lcu/common';
7
+ import { ApplicationsFlowStateContext } from './state/applications-flow-state.context';
8
+ import { ApplicationsFlowProjectsElementComponent } from './elements/projects/projects.component';
9
+ import { AppHostModule } from '@lowcodeunit/app-host-common';
10
+ import { ApplicationsFlowService } from './services/applications-flow.service';
11
+ import { HostingDetailsFormGroupComponent } from './elements/projects/controls/hosting-details-form-group/hosting-details-form-group.component';
12
+ import { CreateProjectWizardComponent } from './elements/projects/controls/create-project-wizard/create-project-wizard.component';
13
+ import { ClipboardModule } from '@angular/cdk/clipboard';
14
+ import { DynamicTabsComponent } from './elements/dynamic-tabs/dynamic-tabs.component';
15
+ import { HeaderComponent } from './elements/projects/controls/header/header.component';
16
+ import { ProjectTabsComponent } from './elements/projects/controls/project-tabs/project-tabs.component';
17
+ import { GeneralComponent } from './elements/projects/controls/tabs/general/general.component';
18
+ import { DomainsComponent } from './elements/projects/controls/tabs/domains/domains.component';
19
+ import { ProjectItemsComponent } from './elements/projects/controls/project-items/project-items.component';
20
+ import { BuildsComponent } from './elements/projects/controls/builds/builds.component';
21
+ import { RecentActivitiesComponent } from './elements/projects/controls/recent-activities/recent-activities.component';
22
+ import { FormCardComponent } from './elements/form-card/form-card.component';
23
+ import { ProjectNameComponent } from './elements/projects/controls/tabs/general/forms/project-details/project-details.component';
24
+ import { RootDirectoryComponent } from './elements/projects/controls/tabs/general/forms/root-directory/root-directory.component';
25
+ import { BaseFormComponent } from './elements/base-form/base-form.component';
26
+ import { BaseFormTestComponent } from './elements/projects/controls/tabs/general/forms/base-form-test/base-form-test.component';
27
+ import { GitAuthComponent } from './elements/projects/controls/git-auth/git-auth.component';
28
+ import { SourceControlFormControlsComponent } from './elements/projects/controls/forms/source-control/source-control.component';
29
+ import { AppsFlowComponent } from './elements/projects/controls/tabs/apps-flow/apps-flow.component';
30
+ import { NPMService } from './services/npm.service';
31
+ import { NpmPackageSelectComponent } from './elements/projects/controls/tabs/apps-flow/npm-package-select/npm-package-select.component';
32
+ import { DevOpsComponent } from './elements/projects/controls/tabs/devops/devops.component';
33
+ import { DFSModifiersComponent } from './elements/projects/controls/tabs/dfs-modifiers/dfs-modifiers.component';
34
+ import { ThreeColumnComponent } from './elements/three-column/three-column.component';
35
+ import { SlottedCardComponent } from './elements/slotted-card/slotted-card.component';
36
+ import { ProjectInfoCardComponent } from './elements/project-info-card/project-info-card.component';
37
+ import { AnalyticsCardComponent } from './elements/analytics-card/analytics-card.component';
38
+ import { FeedCardSmComponent } from './elements/feed-card-sm/feed-card-sm.component';
39
+ import { GhControlComponent } from './elements/gh-control/gh-control.component';
40
+ import { MainFeedCardComponent } from './elements/main-feed-card/main-feed-card.component';
41
+ import { TwoColumnHeaderComponent } from './elements/two-column-header/two-column-header.component';
42
+ import { CardCarouselComponent } from './elements/card-carousel/card-carousel.component';
43
+ import { SecurityToggleComponent } from './controls/security-toggle/security-toggle.component';
44
+ import { MatTooltipModule } from '@angular/material/tooltip';
45
+ import { EaCService } from './services/eac.service';
46
+ import { MatSlideToggleModule } from '@angular/material/slide-toggle';
47
+ import { ProcessorDetailsFormComponent } from './controls/processor-details-form/processor-details-form.component';
48
+ import { SourceControlFormComponent } from './controls/source-control-form/source-control-form.component';
49
+ import { BuildPipelineFormComponent } from './controls/build-pipeline-form/build-pipeline-form.component';
50
+ import { DevopsSourceControlFormComponent } from './controls/devops-source-control-form/devops-source-control-form.component';
51
+ import { SourceControlDialogComponent } from './dialogs/source-control-dialog/source-control-dialog.component';
52
+ import { BuildPipelineDialogComponent } from './dialogs/build-pipeline-dialog/build-pipeline-dialog.component';
53
+ import { EditApplicationFormComponent } from './controls/edit-application-form/edit-application-form.component';
54
+ import { BreadcrumbComponent } from './elements/breadcrumb/breadcrumb.component';
55
+ import { CustomDomainDialogComponent } from './dialogs/custom-domain-dialog/custom-domain-dialog.component';
56
+ import { EditApplicationDialogComponent } from './dialogs/edit-application-dialog/edit-application-dialog.component';
57
+ export class ApplicationsFlowModule {
58
+ static forRoot() {
59
+ return {
60
+ ngModule: ApplicationsFlowModule,
61
+ providers: [
62
+ ApplicationsFlowStateContext,
63
+ ApplicationsFlowService,
64
+ ProjectService,
65
+ NPMService,
66
+ FormsService,
67
+ EaCService
68
+ ],
69
+ };
70
+ }
71
+ }
72
+ ApplicationsFlowModule.decorators = [
73
+ { type: NgModule, args: [{
74
+ declarations: [
75
+ ApplicationsFlowProjectsElementComponent,
76
+ HostingDetailsFormGroupComponent,
77
+ CreateProjectWizardComponent,
78
+ DynamicTabsComponent,
79
+ HeaderComponent,
80
+ ProjectTabsComponent,
81
+ GeneralComponent,
82
+ DomainsComponent,
83
+ ProjectItemsComponent,
84
+ BuildsComponent,
85
+ RecentActivitiesComponent,
86
+ FormCardComponent,
87
+ ProjectNameComponent,
88
+ RootDirectoryComponent,
89
+ BaseFormComponent,
90
+ BaseFormTestComponent,
91
+ GitAuthComponent,
92
+ SourceControlFormControlsComponent,
93
+ AppsFlowComponent,
94
+ DevOpsComponent,
95
+ DFSModifiersComponent,
96
+ NpmPackageSelectComponent,
97
+ ThreeColumnComponent,
98
+ SlottedCardComponent,
99
+ ProjectInfoCardComponent,
100
+ AnalyticsCardComponent,
101
+ FeedCardSmComponent,
102
+ GhControlComponent,
103
+ MainFeedCardComponent,
104
+ TwoColumnHeaderComponent,
105
+ CardCarouselComponent,
106
+ SecurityToggleComponent,
107
+ ProcessorDetailsFormComponent,
108
+ SourceControlFormComponent,
109
+ BuildPipelineFormComponent,
110
+ DevopsSourceControlFormComponent,
111
+ SourceControlDialogComponent,
112
+ BuildPipelineDialogComponent,
113
+ EditApplicationFormComponent,
114
+ BreadcrumbComponent,
115
+ CustomDomainDialogComponent,
116
+ EditApplicationDialogComponent
117
+ ],
118
+ imports: [
119
+ ClipboardModule,
120
+ FathymSharedModule,
121
+ FormsModule,
122
+ ReactiveFormsModule,
123
+ FlexLayoutModule,
124
+ MaterialModule,
125
+ AppHostModule,
126
+ MatTooltipModule,
127
+ MatSlideToggleModule
128
+ // LazyElementModule,
129
+ ],
130
+ exports: [
131
+ ApplicationsFlowProjectsElementComponent,
132
+ HostingDetailsFormGroupComponent,
133
+ CreateProjectWizardComponent,
134
+ DynamicTabsComponent,
135
+ HeaderComponent,
136
+ ProjectTabsComponent,
137
+ GeneralComponent,
138
+ DomainsComponent,
139
+ ProjectItemsComponent,
140
+ BuildsComponent,
141
+ RecentActivitiesComponent,
142
+ FormCardComponent,
143
+ ProjectNameComponent,
144
+ RootDirectoryComponent,
145
+ BaseFormComponent,
146
+ BaseFormTestComponent,
147
+ GitAuthComponent,
148
+ SourceControlFormControlsComponent,
149
+ AppsFlowComponent,
150
+ DevOpsComponent,
151
+ DFSModifiersComponent,
152
+ NpmPackageSelectComponent,
153
+ ThreeColumnComponent,
154
+ SlottedCardComponent,
155
+ ProjectInfoCardComponent,
156
+ AnalyticsCardComponent,
157
+ FeedCardSmComponent,
158
+ GhControlComponent,
159
+ MainFeedCardComponent,
160
+ TwoColumnHeaderComponent,
161
+ CardCarouselComponent,
162
+ SecurityToggleComponent,
163
+ ProcessorDetailsFormComponent,
164
+ SourceControlFormComponent,
165
+ BuildPipelineFormComponent,
166
+ DevopsSourceControlFormComponent,
167
+ SourceControlDialogComponent,
168
+ BuildPipelineDialogComponent,
169
+ EditApplicationFormComponent,
170
+ BreadcrumbComponent,
171
+ CustomDomainDialogComponent,
172
+ EditApplicationDialogComponent
173
+ ],
174
+ entryComponents: [
175
+ ApplicationsFlowProjectsElementComponent,
176
+ DynamicTabsComponent,
177
+ HeaderComponent,
178
+ ProjectTabsComponent,
179
+ GeneralComponent,
180
+ DomainsComponent,
181
+ ProjectItemsComponent,
182
+ BuildsComponent,
183
+ RecentActivitiesComponent,
184
+ FormCardComponent,
185
+ ProjectNameComponent,
186
+ RootDirectoryComponent,
187
+ BaseFormComponent,
188
+ BaseFormTestComponent,
189
+ GitAuthComponent,
190
+ SourceControlFormControlsComponent,
191
+ AppsFlowComponent,
192
+ DevOpsComponent,
193
+ DFSModifiersComponent,
194
+ NpmPackageSelectComponent,
195
+ ThreeColumnComponent,
196
+ SlottedCardComponent,
197
+ ProjectInfoCardComponent,
198
+ AnalyticsCardComponent,
199
+ FeedCardSmComponent,
200
+ GhControlComponent,
201
+ MainFeedCardComponent,
202
+ TwoColumnHeaderComponent,
203
+ CardCarouselComponent,
204
+ SecurityToggleComponent,
205
+ ProcessorDetailsFormComponent,
206
+ SourceControlFormComponent,
207
+ BuildPipelineFormComponent,
208
+ DevopsSourceControlFormComponent,
209
+ SourceControlDialogComponent,
210
+ BuildPipelineDialogComponent,
211
+ EditApplicationFormComponent,
212
+ BreadcrumbComponent,
213
+ CustomDomainDialogComponent,
214
+ EditApplicationDialogComponent
215
+ ],
216
+ },] }
217
+ ];
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3J1bm5lci93b3JrL2FwcGxpY2F0aW9ucy1mbG93L2FwcGxpY2F0aW9ucy1mbG93L3Byb2plY3RzL2NvbW1vbi9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBwbGljYXRpb25zLWZsb3cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDakUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDhGQUE4RixDQUFDO0FBQ2hKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ2xJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDdkYsT0FBTyxF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QWdCO29CQUNoQixrQ0FBa0M7b0JBQ2xDLGlCQUFpQjtvQkFDakIsZUFBZTtvQkFDZixxQkFBcUI7b0JBQ3JCLHlCQUF5QjtvQkFDekIsb0JBQW9CO29CQUNwQixvQkFBb0I7b0JBQ3BCLHdCQUF3QjtvQkFDeEIsc0JBQXNCO29CQUN0QixtQkFBbUI7b0JBQ25CLGtCQUFrQjtvQkFDbEIscUJBQXFCO29CQUNyQix3QkFBd0I7b0JBQ3hCLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2Qiw2QkFBNkI7b0JBQzdCLDBCQUEwQjtvQkFDMUIsMEJBQTBCO29CQUMxQixnQ0FBZ0M7b0JBQ2hDLDRCQUE0QjtvQkFDNUIsNEJBQTRCO29CQUM1Qiw0QkFBNEI7b0JBQzVCLG1CQUFtQjtvQkFDbkIsMkJBQTJCO29CQUMzQiw4QkFBOEI7aUJBQy9CO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3Jtc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2Zvcm1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9qZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcHJvamVjdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7IEZhdGh5bVNoYXJlZE1vZHVsZSwgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICdAbGN1L2NvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZUNvbnRleHQgfSBmcm9tICcuL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LXN0YXRlLmNvbnRleHQnO1xyXG5pbXBvcnQgeyBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9wcm9qZWN0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBIb3N0TW9kdWxlIH0gZnJvbSAnQGxvd2NvZGV1bml0L2FwcC1ob3N0LWNvbW1vbic7XHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwL2hvc3RpbmctZGV0YWlscy1mb3JtLWdyb3VwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENyZWF0ZVByb2plY3RXaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2NyZWF0ZS1wcm9qZWN0LXdpemFyZC9jcmVhdGUtcHJvamVjdC13aXphcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2xpcGJvYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9keW5hbWljLXRhYnMvZHluYW1pYy10YWJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0VGFic0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvcHJvamVjdC10YWJzL3Byb2plY3QtdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHZW5lcmFsQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2dlbmVyYWwvZ2VuZXJhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEb21haW5zQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy90YWJzL2RvbWFpbnMvZG9tYWlucy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9qZWN0SXRlbXNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3Byb2plY3QtaXRlbXMvcHJvamVjdC1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdWlsZHNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL2J1aWxkcy9idWlsZHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvcmVjZW50LWFjdGl2aXRpZXMvcmVjZW50LWFjdGl2aXRpZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2Zvcm0tY2FyZC9mb3JtLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvamVjdE5hbWVDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZ2VuZXJhbC9mb3Jtcy9wcm9qZWN0LWRldGFpbHMvcHJvamVjdC1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvb3REaXJlY3RvcnlDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZ2VuZXJhbC9mb3Jtcy9yb290LWRpcmVjdG9yeS9yb290LWRpcmVjdG9yeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXNlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvYmFzZS1mb3JtL2Jhc2UtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCYXNlRm9ybVRlc3RDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZ2VuZXJhbC9mb3Jtcy9iYXNlLWZvcm0tdGVzdC9iYXNlLWZvcm0tdGVzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHaXRBdXRoQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9naXQtYXV0aC9naXQtYXV0aC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9wcm9qZWN0cy9jb250cm9scy9mb3Jtcy9zb3VyY2UtY29udHJvbC9zb3VyY2UtY29udHJvbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBcHBzRmxvd0NvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9hcHBzLWZsb3cvYXBwcy1mbG93LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE5QTVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL25wbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnBtUGFja2FnZVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdHMvY29udHJvbHMvdGFicy9hcHBzLWZsb3cvbnBtLXBhY2thZ2Utc2VsZWN0L25wbS1wYWNrYWdlLXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEZXZPcHNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZGV2b3BzL2Rldm9wcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBERlNNb2RpZmllcnNDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL3Byb2plY3RzL2NvbnRyb2xzL3RhYnMvZGZzLW1vZGlmaWVycy9kZnMtbW9kaWZpZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRocmVlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy90aHJlZS1jb2x1bW4vdGhyZWUtY29sdW1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNsb3R0ZWRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9zbG90dGVkLWNhcmQvc2xvdHRlZC1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2plY3RJbmZvQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvcHJvamVjdC1pbmZvLWNhcmQvcHJvamVjdC1pbmZvLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQW5hbHl0aWNzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvYW5hbHl0aWNzLWNhcmQvYW5hbHl0aWNzLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmVlZENhcmRTbUNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvZmVlZC1jYXJkLXNtL2ZlZWQtY2FyZC1zbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHaENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL2doLWNvbnRyb2wvZ2gtY29udHJvbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYWluRmVlZENhcmRDb21wb25lbnQgfSBmcm9tICcuL2VsZW1lbnRzL21haW4tZmVlZC1jYXJkL21haW4tZmVlZC1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFR3b0NvbHVtbkhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvdHdvLWNvbHVtbi1oZWFkZXIvdHdvLWNvbHVtbi1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZENhcm91c2VsQ29tcG9uZW50IH0gZnJvbSAnLi9lbGVtZW50cy9jYXJkLWNhcm91c2VsL2NhcmQtY2Fyb3VzZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VjdXJpdHlUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL3NlY3VyaXR5LXRvZ2dsZS9zZWN1cml0eS10b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5pbXBvcnQgeyBFYUNTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9lYWMuc2VydmljZSc7XHJcbmltcG9ydCB7TWF0U2xpZGVUb2dnbGVNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XHJcbmltcG9ydCB7IFByb2Nlc3NvckRldGFpbHNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9wcm9jZXNzb3ItZGV0YWlscy1mb3JtL3Byb2Nlc3Nvci1kZXRhaWxzLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL3NvdXJjZS1jb250cm9sLWZvcm0vc291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdWlsZFBpcGVsaW5lRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYnVpbGQtcGlwZWxpbmUtZm9ybS9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERldm9wc1NvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9kaWFsb2dzL3NvdXJjZS1jb250cm9sLWRpYWxvZy9zb3VyY2UtY29udHJvbC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9idWlsZC1waXBlbGluZS1kaWFsb2cvYnVpbGQtcGlwZWxpbmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXRBcHBsaWNhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2VkaXQtYXBwbGljYXRpb24tZm9ybS9lZGl0LWFwcGxpY2F0aW9uLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vZWxlbWVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURvbWFpbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9ncy9jdXN0b20tZG9tYWluLWRpYWxvZy9jdXN0b20tZG9tYWluLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFZGl0QXBwbGljYXRpb25EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZ3MvZWRpdC1hcHBsaWNhdGlvbi1kaWFsb2cvZWRpdC1hcHBsaWNhdGlvbi1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBBcHBsaWNhdGlvbnNGbG93UHJvamVjdHNFbGVtZW50Q29tcG9uZW50LFxyXG4gICAgSG9zdGluZ0RldGFpbHNGb3JtR3JvdXBDb21wb25lbnQsXHJcbiAgICBDcmVhdGVQcm9qZWN0V2l6YXJkQ29tcG9uZW50LFxyXG4gICAgRHluYW1pY1RhYnNDb21wb25lbnQsXHJcbiAgICBIZWFkZXJDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0VGFic0NvbXBvbmVudCxcclxuICAgIEdlbmVyYWxDb21wb25lbnQsXHJcbiAgICBEb21haW5zQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdEl0ZW1zQ29tcG9uZW50LFxyXG4gICAgQnVpbGRzQ29tcG9uZW50LFxyXG4gICAgUmVjZW50QWN0aXZpdGllc0NvbXBvbmVudCxcclxuICAgIEZvcm1DYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdE5hbWVDb21wb25lbnQsXHJcbiAgICBSb290RGlyZWN0b3J5Q29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1Db21wb25lbnQsXHJcbiAgICBCYXNlRm9ybVRlc3RDb21wb25lbnQsXHJcbiAgICBHaXRBdXRoQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbEZvcm1Db250cm9sc0NvbXBvbmVudCxcclxuICAgIEFwcHNGbG93Q29tcG9uZW50LFxyXG4gICAgRGV2T3BzQ29tcG9uZW50LFxyXG4gICAgREZTTW9kaWZpZXJzQ29tcG9uZW50LFxyXG4gICAgTnBtUGFja2FnZVNlbGVjdENvbXBvbmVudCxcclxuICAgIFRocmVlQ29sdW1uQ29tcG9uZW50LFxyXG4gICAgU2xvdHRlZENhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SW5mb0NhcmRDb21wb25lbnQsXHJcbiAgICBBbmFseXRpY3NDYXJkQ29tcG9uZW50LFxyXG4gICAgRmVlZENhcmRTbUNvbXBvbmVudCxcclxuICAgIEdoQ29udHJvbENvbXBvbmVudCxcclxuICAgIE1haW5GZWVkQ2FyZENvbXBvbmVudCxcclxuICAgIFR3b0NvbHVtbkhlYWRlckNvbXBvbmVudCxcclxuICAgIENhcmRDYXJvdXNlbENvbXBvbmVudCxcclxuICAgIFNlY3VyaXR5VG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgUHJvY2Vzc29yRGV0YWlsc0Zvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCxcclxuICAgIEJ1aWxkUGlwZWxpbmVGb3JtQ29tcG9uZW50LFxyXG4gICAgRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQnVpbGRQaXBlbGluZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIEVkaXRBcHBsaWNhdGlvbkZvcm1Db21wb25lbnQsXHJcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRG9tYWluRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRWRpdEFwcGxpY2F0aW9uRGlhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDbGlwYm9hcmRNb2R1bGUsXHJcbiAgICBGYXRoeW1TaGFyZWRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxyXG4gICAgTWF0ZXJpYWxNb2R1bGUsXHJcbiAgICBBcHBIb3N0TW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlXHJcbiAgICAvLyBMYXp5RWxlbWVudE1vZHVsZSxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEFwcGxpY2F0aW9uc0Zsb3dQcm9qZWN0c0VsZW1lbnRDb21wb25lbnQsXHJcbiAgICBIb3N0aW5nRGV0YWlsc0Zvcm1Hcm91cENvbXBvbmVudCxcclxuICAgIENyZWF0ZVByb2plY3RXaXphcmRDb21wb25lbnQsXHJcbiAgICBEeW5hbWljVGFic0NvbXBvbmVudCxcclxuICAgIEhlYWRlckNvbXBvbmVudCxcclxuICAgIFByb2plY3RUYWJzQ29tcG9uZW50LFxyXG4gICAgR2VuZXJhbENvbXBvbmVudCxcclxuICAgIERvbWFpbnNDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0SXRlbXNDb21wb25lbnQsXHJcbiAgICBCdWlsZHNDb21wb25lbnQsXHJcbiAgICBSZWNlbnRBY3Rpdml0aWVzQ29tcG9uZW50LFxyXG4gICAgRm9ybUNhcmRDb21wb25lbnQsXHJcbiAgICBQcm9qZWN0TmFtZUNvbXBvbmVudCxcclxuICAgIFJvb3REaXJlY3RvcnlDb21wb25lbnQsXHJcbiAgICBCYXNlRm9ybUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtVGVzdENvbXBvbmVudCxcclxuICAgIEdpdEF1dGhDb21wb25lbnQsXHJcbiAgICBTb3VyY2VDb250cm9sRm9ybUNvbnRyb2xzQ29tcG9uZW50LFxyXG4gICAgQXBwc0Zsb3dDb21wb25lbnQsXHJcbiAgICBEZXZPcHNDb21wb25lbnQsXHJcbiAgICBERlNNb2RpZmllcnNDb21wb25lbnQsXHJcbiAgICBOcG1QYWNrYWdlU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgVGhyZWVDb2x1bW5Db21wb25lbnQsXHJcbiAgICBTbG90dGVkQ2FyZENvbXBvbmVudCxcclxuICAgIFByb2plY3RJbmZvQ2FyZENvbXBvbmVudCxcclxuICAgIEFuYWx5dGljc0NhcmRDb21wb25lbnQsXHJcbiAgICBGZWVkQ2FyZFNtQ29tcG9uZW50LFxyXG4gICAgR2hDb250cm9sQ29tcG9uZW50LFxyXG4gICAgTWFpbkZlZWRDYXJkQ29tcG9uZW50LFxyXG4gICAgVHdvQ29sdW1uSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgQ2FyZENhcm91c2VsQ29tcG9uZW50LFxyXG4gICAgU2VjdXJpdHlUb2dnbGVDb21wb25lbnQsXHJcbiAgICBQcm9jZXNzb3JEZXRhaWxzRm9ybUNvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50LFxyXG4gICAgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQsXHJcbiAgICBEZXZvcHNTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xEaWFsb2dDb21wb25lbnQsXHJcbiAgICBCdWlsZFBpcGVsaW5lRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRWRpdEFwcGxpY2F0aW9uRm9ybUNvbXBvbmVudCxcclxuICAgIEJyZWFkY3J1bWJDb21wb25lbnQsXHJcbiAgICBDdXN0b21Eb21haW5EaWFsb2dDb21wb25lbnQsXHJcbiAgICBFZGl0QXBwbGljYXRpb25EaWFsb2dDb21wb25lbnRcclxuICBdLFxyXG4gIGVudHJ5Q29tcG9uZW50czogW1xyXG4gICAgQXBwbGljYXRpb25zRmxvd1Byb2plY3RzRWxlbWVudENvbXBvbmVudCxcclxuICAgIER5bmFtaWNUYWJzQ29tcG9uZW50LFxyXG4gICAgSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdFRhYnNDb21wb25lbnQsXHJcbiAgICBHZW5lcmFsQ29tcG9uZW50LFxyXG4gICAgRG9tYWluc0NvbXBvbmVudCxcclxuICAgIFByb2plY3RJdGVtc0NvbXBvbmVudCxcclxuICAgIEJ1aWxkc0NvbXBvbmVudCxcclxuICAgIFJlY2VudEFjdGl2aXRpZXNDb21wb25lbnQsXHJcbiAgICBGb3JtQ2FyZENvbXBvbmVudCxcclxuICAgIFByb2plY3ROYW1lQ29tcG9uZW50LFxyXG4gICAgUm9vdERpcmVjdG9yeUNvbXBvbmVudCxcclxuICAgIEJhc2VGb3JtQ29tcG9uZW50LFxyXG4gICAgQmFzZUZvcm1UZXN0Q29tcG9uZW50LFxyXG4gICAgR2l0QXV0aENvbXBvbmVudCxcclxuICAgIFNvdXJjZUNvbnRyb2xGb3JtQ29udHJvbHNDb21wb25lbnQsXHJcbiAgICBBcHBzRmxvd0NvbXBvbmVudCxcclxuICAgIERldk9wc0NvbXBvbmVudCxcclxuICAgIERGU01vZGlmaWVyc0NvbXBvbmVudCxcclxuICAgIE5wbVBhY2thZ2VTZWxlY3RDb21wb25lbnQsXHJcbiAgICBUaHJlZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIFNsb3R0ZWRDYXJkQ29tcG9uZW50LFxyXG4gICAgUHJvamVjdEluZm9DYXJkQ29tcG9uZW50LFxyXG4gICAgQW5hbHl0aWNzQ2FyZENvbXBvbmVudCxcclxuICAgIEZlZWRDYXJkU21Db21wb25lbnQsXHJcbiAgICBHaENvbnRyb2xDb21wb25lbnQsXHJcbiAgICBNYWluRmVlZENhcmRDb21wb25lbnQsXHJcbiAgICBUd29Db2x1bW5IZWFkZXJDb21wb25lbnQsXHJcbiAgICBDYXJkQ2Fyb3VzZWxDb21wb25lbnQsXHJcbiAgICBTZWN1cml0eVRvZ2dsZUNvbXBvbmVudCxcclxuICAgIFByb2Nlc3NvckRldGFpbHNGb3JtQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQsXHJcbiAgICBCdWlsZFBpcGVsaW5lRm9ybUNvbXBvbmVudCxcclxuICAgIERldm9wc1NvdXJjZUNvbnRyb2xGb3JtQ29tcG9uZW50LFxyXG4gICAgU291cmNlQ29udHJvbERpYWxvZ0NvbXBvbmVudCxcclxuICAgIEJ1aWxkUGlwZWxpbmVEaWFsb2dDb21wb25lbnQsXHJcbiAgICBFZGl0QXBwbGljYXRpb25Gb3JtQ29tcG9uZW50LFxyXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcclxuICAgIEN1c3RvbURvbWFpbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgIEVkaXRBcHBsaWNhdGlvbkRpYWxvZ0NvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbnNGbG93TW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFwcGxpY2F0aW9uc0Zsb3dNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBBcHBsaWNhdGlvbnNGbG93TW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBBcHBsaWNhdGlvbnNGbG93U3RhdGVDb250ZXh0LFxyXG4gICAgICAgIEFwcGxpY2F0aW9uc0Zsb3dTZXJ2aWNlLFxyXG4gICAgICAgIFByb2plY3RTZXJ2aWNlLFxyXG4gICAgICAgIE5QTVNlcnZpY2UsXHJcbiAgICAgICAgRm9ybXNTZXJ2aWNlLFxyXG4gICAgICAgIEVhQ1NlcnZpY2VcclxuICAgICAgXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,213 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { FormBuilder, Validators } from '@angular/forms';
3
+ import { Guid } from '@lcu/common';
4
+ import { ApplicationsFlowService } from '../../services/applications-flow.service';
5
+ import { EaCService } from '../../services/eac.service';
6
+ import { ProjectHostingDetails } from '../../state/applications-flow.state';
7
+ export class BuildPipelineFormComponent {
8
+ constructor(eacSvc, formBuilder, appsFlowSvc) {
9
+ this.eacSvc = eacSvc;
10
+ this.formBuilder = formBuilder;
11
+ this.appsFlowSvc = appsFlowSvc;
12
+ this.HostingDetails = new ProjectHostingDetails();
13
+ }
14
+ get Artifact() {
15
+ var _a, _b;
16
+ // console.log("ARTIFACT: ", this.Environment?.Artifacts[this.ArtifactLookup]);
17
+ return ((_a = this.Environment) === null || _a === void 0 ? void 0 : _a.Artifacts) && this.ArtifactLookup
18
+ ? ((_b = this.Environment) === null || _b === void 0 ? void 0 : _b.Artifacts[this.ArtifactLookup]) || {}
19
+ : {};
20
+ }
21
+ get ArtifactLookup() {
22
+ var _a, _b;
23
+ const artLookup = ((_a = this.DevOpsAction) === null || _a === void 0 ? void 0 : _a.ArtifactLookups) ? (_b = this.DevOpsAction) === null || _b === void 0 ? void 0 : _b.ArtifactLookups[0] : null;
24
+ return artLookup;
25
+ }
26
+ get BuildPipelineFormControl() {
27
+ var _a;
28
+ return (_a = this.BuildPipelineFormGroup) === null || _a === void 0 ? void 0 : _a.get('buildPipeline');
29
+ }
30
+ get DevOpsAction() {
31
+ return this.Environment.DevOpsActions && this.DevOpsActionLookup
32
+ ? this.Environment.DevOpsActions[this.DevOpsActionLookup] || {}
33
+ : {};
34
+ }
35
+ get DevOpsActions() {
36
+ return this.Environment.DevOpsActions || {};
37
+ }
38
+ get DevOpsActionNameFormControl() {
39
+ return this.BuildPipelineFormGroup.get('devOpsActionName');
40
+ }
41
+ get NPMTokenFormControl() {
42
+ return this.BuildPipelineFormGroup.get('npmToken');
43
+ }
44
+ // (ho) => ho.Lookup === this.BuildPipeline
45
+ get SelectedHostingOption() {
46
+ var _a, _b;
47
+ return (_b = (_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find((ho) => ho.Lookup === this.BuildPipeline);
48
+ }
49
+ get SelectedHostingOptionInputControlValues() {
50
+ var _a, _b;
51
+ return (_b = (_a = this.SelectedHostingOption) === null || _a === void 0 ? void 0 : _a.Inputs) === null || _b === void 0 ? void 0 : _b.reduce((prev, cur) => {
52
+ const res = Object.assign({}, prev);
53
+ res[cur.Lookup] = this.BuildPipelineFormGroup.controls[cur.Lookup].value;
54
+ return res;
55
+ }, {});
56
+ }
57
+ get SourceControlLookups() {
58
+ return Object.keys(this.SourceControls || {});
59
+ }
60
+ get SourceControls() {
61
+ return this.Environment.Sources || {};
62
+ }
63
+ ngOnInit() {
64
+ // console.log('BuildPipeline = ', this.BuildPipeline)
65
+ // this.BuildPipelineFormGroup = this.formBuilder.group({});
66
+ // if (this.BuildPipelineFormGroup != null) {
67
+ // this.BuildPipelineFormGroup.removeControl('hostingDetails');
68
+ // }
69
+ // this.BuildPipelineFormGroup.addControl(
70
+ // 'hostingDetails',
71
+ this.BuildPipelineFormGroup = this.formBuilder.group({
72
+ buildPipeline: [this.BuildPipeline, [Validators.required]],
73
+ });
74
+ // );
75
+ this.loadProjectHostingDetails();
76
+ // this.setupControlsForForm();
77
+ }
78
+ //API METHODS
79
+ BuildPipelineChanged() {
80
+ var _a;
81
+ //for some reason this value is coming back undefined
82
+ // console.log("build pipeline value: ", this.BuildPipelineFormControl?.value)
83
+ this.BuildPipeline = (_a = this.BuildPipelineFormControl) === null || _a === void 0 ? void 0 : _a.value;
84
+ this.setupControlsForForm();
85
+ }
86
+ SubmitBuildPipeline() {
87
+ // console.log("submitting build pipeline: ", this.BuildPipelineFormGroup.value);
88
+ this.SaveEnvironment();
89
+ }
90
+ SaveEnvironment() {
91
+ var _a;
92
+ const saveEnvReq = {
93
+ Environment: Object.assign(Object.assign({}, this.Environment), { Artifacts: this.Environment.Artifacts || {}, DevOpsActions: this.Environment.DevOpsActions || {}, Secrets: this.Environment.Secrets || {}, Sources: this.Environment.Sources || {} }),
94
+ EnvironmentLookup: this.EnvironmentLookup,
95
+ EnterpriseDataTokens: {},
96
+ };
97
+ let artifactLookup;
98
+ let artifact = Object.assign(Object.assign({}, this.Artifact), this.SelectedHostingOptionInputControlValues);
99
+ if (!this.ArtifactLookup) {
100
+ artifactLookup = Guid.CreateRaw();
101
+ artifact = Object.assign(Object.assign({}, artifact), { Type: this.SelectedHostingOption
102
+ .ArtifactType, Name: this.SelectedHostingOption.Name, NPMRegistry: 'https://registry.npmjs.org/' });
103
+ }
104
+ else {
105
+ artifactLookup = this.ArtifactLookup;
106
+ }
107
+ saveEnvReq.Environment.Artifacts[artifactLookup] = artifact;
108
+ let devOpsActionLookup;
109
+ if (!this.DevOpsActionLookup) {
110
+ devOpsActionLookup = Guid.CreateRaw();
111
+ const doa = Object.assign(Object.assign({}, this.DevOpsAction), { ArtifactLookups: [artifactLookup], Name: this.DevOpsActionNameFormControl.value, Path: this.SelectedHostingOption.Path, Templates: this.SelectedHostingOption.Templates });
112
+ if ((_a = this.NPMTokenFormControl) === null || _a === void 0 ? void 0 : _a.value) {
113
+ const secretLookup = 'npm-access-token';
114
+ doa.SecretLookups = [secretLookup];
115
+ saveEnvReq.Environment.Secrets[secretLookup] = {
116
+ Name: 'NPM Access Token',
117
+ DataTokenLookup: secretLookup,
118
+ KnownAs: 'NPM_TOKEN',
119
+ };
120
+ saveEnvReq.EnterpriseDataTokens[secretLookup] = {
121
+ Name: saveEnvReq.Environment.Secrets[secretLookup].Name,
122
+ Description: saveEnvReq.Environment.Secrets[secretLookup].Name,
123
+ Value: this.NPMTokenFormControl.value,
124
+ };
125
+ }
126
+ saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
127
+ }
128
+ else {
129
+ devOpsActionLookup = this.DevOpsActionLookup;
130
+ const doa = Object.assign(Object.assign({}, this.DevOpsAction), { Name: this.DevOpsActionNameFormControl.value });
131
+ saveEnvReq.Environment.DevOpsActions[devOpsActionLookup] = doa;
132
+ }
133
+ this.eacSvc.SaveEnvironmentAsCode(saveEnvReq);
134
+ }
135
+ // Helpers
136
+ setupControlsForForm() {
137
+ // this.BuildPipeline =
138
+ // this.BuildPipeline || this.HostingDetails?.HostingOptions
139
+ // ? this.HostingDetails?.HostingOptions[0]?.Lookup
140
+ // : '';
141
+ var _a, _b, _c, _d, _e, _f;
142
+ // console.log("hosting details: ", this.HostingDetails)
143
+ for (const ctrlName in this.BuildPipelineFormGroup.controls) {
144
+ //devOpsAction doesn't exist
145
+ //removes hosting details
146
+ if (ctrlName !== 'buildPipeline' && ctrlName !== 'devOpsAction') {
147
+ // console.log("removing control: ", ctrlName)
148
+ this.BuildPipelineFormGroup.removeControl(ctrlName);
149
+ }
150
+ }
151
+ this.BuildPipelineFormGroup.addControl('devOpsActionName', this.formBuilder.control(((_a = this.DevOpsAction) === null || _a === void 0 ? void 0 : _a.Name) || ((_b = this.SelectedHostingOption) === null || _b === void 0 ? void 0 : _b.Name) || '', [Validators.required]));
152
+ // console.log("selected hosting options: ", this.SelectedHostingOption.Inputs);
153
+ (_d = (_c = this.SelectedHostingOption) === null || _c === void 0 ? void 0 : _c.Inputs) === null || _d === void 0 ? void 0 : _d.forEach((input) => {
154
+ const validators = input.Required ? [Validators.required] : [];
155
+ this.BuildPipelineFormGroup.addControl(input.Lookup, this.formBuilder.control(this.Artifact[input.Lookup] || input.DefaultValue || '', validators));
156
+ // if (this.Disabled) {
157
+ // this.FormGroup.controls[input.Lookup].disable();
158
+ // }
159
+ });
160
+ if (((_e = this.BuildPipelineFormControl) === null || _e === void 0 ? void 0 : _e.value) === 'npm-release') {
161
+ if (!this.BuildPipelineFormGroup.controls.npmToken) {
162
+ this.BuildPipelineFormGroup.addControl('npmToken', this.formBuilder.control('', this.Disabled ? [] : [Validators.required]));
163
+ if (this.Disabled) {
164
+ this.BuildPipelineFormGroup.controls.npmToken.disable();
165
+ }
166
+ }
167
+ }
168
+ else if (((_f = this.BuildPipelineFormControl) === null || _f === void 0 ? void 0 : _f.value) === 'github-artifacts-release') {
169
+ if (this.BuildPipelineFormGroup.controls.npmToken) {
170
+ this.BuildPipelineFormGroup.removeControl('npmToken');
171
+ }
172
+ }
173
+ }
174
+ loadProjectHostingDetails() {
175
+ this.HostingDetails.Loading = true;
176
+ this.appsFlowSvc
177
+ .NewLoadProjectHostingDetails()
178
+ .subscribe((response) => {
179
+ var _a, _b;
180
+ this.HostingDetails = response.Model;
181
+ // console.log("response: ", response);
182
+ this.HostingDetails.Loading = false;
183
+ const hostOption = (_b = (_a = this.HostingDetails) === null || _a === void 0 ? void 0 : _a.HostingOptions) === null || _b === void 0 ? void 0 : _b.find((ho) => ho.Path === this.DevOpsAction.Path);
184
+ this.BuildPipeline = hostOption.Lookup;
185
+ // console.log("Build Pipeline HERE= ", this.BuildPipeline);
186
+ this.setupControlsForForm();
187
+ }, (err) => {
188
+ console.log("ERR: ", err);
189
+ this.HostingDetails.Loading = false;
190
+ });
191
+ console.log("HOSTING DETAILS: ", this.HostingDetails);
192
+ }
193
+ }
194
+ BuildPipelineFormComponent.decorators = [
195
+ { type: Component, args: [{
196
+ selector: 'lcu-build-pipeline-form',
197
+ template: "<form class=\"form-card\" [formGroup]=\"BuildPipelineFormGroup\" (ngSubmit)=\"SubmitBuildPipeline()\">\n <mat-card\n class=\"spread\" \n >\n <mat-card-header>\n <mat-card-title> Build Pipeline </mat-card-title>\n\n <mat-hint>\n Changes made here are reflected for all sources using this\n DevOpsAction\n </mat-hint>\n </mat-card-header>\n\n <mat-card-content>\n\n\n <div *ngIf=\"!HostingDetails?.Loading\">\n <mat-form-field class=\"mat-full-width\">\n <mat-select\n formControlName=\"buildPipeline\"\n placeholder=\"Build Pipeline\"\n [disabled]=\"Disabled\"\n (selectionChange)=\"BuildPipelineChanged()\"\n required\n >\n <ng-container\n *ngFor=\"let hostOption of HostingDetails?.HostingOptions; let i = index\"\n >\n <mat-option [value]=\"hostOption.Lookup\">\n {{ hostOption.Name }}\n </mat-option>\n </ng-container>\n </mat-select>\n \n <mat-hint>\n <ng-container *ngFor=\"let hostOption of HostingDetails?.HostingOptions\">\n <span *ngIf=\"BuildPipeline == hostOption?.Lookup\">\n {{ hostOption.Description }}\n </span>\n </ng-container>\n </mat-hint>\n </mat-form-field>\n \n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n formControlName=\"devOpsActionName\"\n placeholder=\"Name of DevOps Action\"\n required=\"true\"\n />\n </mat-form-field>\n \n <ng-container *ngFor=\"let input of SelectedHostingOption?.Inputs\">\n <mat-form-field class=\"mat-full-width\">\n <input\n matInput\n [formControlName]=\"input.Lookup\"\n [placeholder]=\"input.Placeholder\"\n [required]=\"input.Required\"\n />\n \n <mat-hint>{{ input.Hint }}</mat-hint>\n </mat-form-field>\n </ng-container>\n \n <div *ngIf=\"BuildPipeline == 'npm-release'\">\n <mat-form-field class=\"mat-full-width with-hint padding-bottom-4\">\n <mat-icon matPrefix>security</mat-icon>\n \n <input\n id=\"npm-token\"\n matInput\n type=\"text\"\n formControlName=\"npmToken\"\n placeholder=\"NPM token\"\n [required]=\"!Disabled\"\n style=\"-webkit-text-security: disc;\"\n />\n <mat-hint>\n Securely publish to NPM, provide an NPM Personal Access Token (PAT) with publish access to the organization used for your NPM packages. \n Learn how to create and view access tokens \n <a\n href=\"https://docs.npmjs.com/creating-and-viewing-access-tokens\"\n target=\"_blank\"\n >\n here.\n </a>\n </mat-hint>\n </mat-form-field>\n </div>\n </div>\n \n <div *ngIf=\"HostingDetails?.Loading\">\n <div class=\"spread\">\n <lcu-loader style=\"margin: auto\" [loading]=\"true\"></lcu-loader>\n \n <div class=\"margin-3\">\n <h4 class=\"mat-title\">Loading hosting details</h4>\n </div>\n </div>\n </div>\n </mat-card-content>\n <mat-card-actions fxLayoutAlign=\"center center\">\n\n <button \n mat-raised-button \n type=\"submit\" \n fxFlex=\"100%\" \n color=\"primary\" \n [disabled]=\"!BuildPipelineFormGroup.valid || !BuildPipelineFormGroup.dirty\">\n <mat-icon>save</mat-icon>\n Save Build Pipeline\n </button>\n \n </mat-card-actions>\n </mat-card>\n</form>\n",
198
+ styles: [""]
199
+ },] }
200
+ ];
201
+ BuildPipelineFormComponent.ctorParameters = () => [
202
+ { type: EaCService },
203
+ { type: FormBuilder },
204
+ { type: ApplicationsFlowService }
205
+ ];
206
+ BuildPipelineFormComponent.propDecorators = {
207
+ DevOpsActionLookup: [{ type: Input, args: ['devops-action-lookup',] }],
208
+ Disabled: [{ type: Input, args: ['disabled',] }],
209
+ Environment: [{ type: Input, args: ['environment',] }],
210
+ EnvironmentLookup: [{ type: Input, args: ['environment-lookup',] }],
211
+ HostingDetails: [{ type: Input, args: ['hosting-details',] }]
212
+ };
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtcGlwZWxpbmUtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvYXBwbGljYXRpb25zLWZsb3cvYXBwbGljYXRpb25zLWZsb3cvcHJvamVjdHMvY29tbW9uL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250cm9scy9idWlsZC1waXBlbGluZS1mb3JtL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBbUIsV0FBVyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBdUIsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQXFDLE1BQU0sNEJBQTRCLENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUF3QixNQUFNLHFDQUFxQyxDQUFDO0FBT2xHLE1BQU0sT0FBTywwQkFBMEI7SUFxR3JDLFlBQXNCLE1BQWtCLEVBQzVCLFdBQXdCLEVBQ3hCLFdBQW9DO1FBRjFCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDNUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQzlDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFqRkQsSUFBVyxRQUFROztRQUNqQiwrRUFBK0U7UUFDL0UsT0FBTyxPQUFBLElBQUksQ0FBQyxXQUFXLDBDQUFFLFNBQVMsS0FBSSxJQUFJLENBQUMsY0FBYztZQUN2RCxDQUFDLENBQUMsT0FBQSxJQUFJLENBQUMsV0FBVywwQ0FBRSxTQUFTLENBQUMsSUFBSSxDQUFDLGNBQWMsTUFBSyxF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dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlTW9kZWxlZFJlc3BvbnNlLCBHdWlkIH0gZnJvbSAnQGxjdS9jb21tb24nO1xuaW1wb3J0IHsgRWFDQXJ0aWZhY3QsIEVhQ0Rldk9wc0FjdGlvbiwgRWFDRW52aXJvbm1lbnRBc0NvZGUsIEVhQ1NvdXJjZUNvbnRyb2wgfSBmcm9tICdAc2VtYW50aWNqcy9jb21tb24nO1xuaW1wb3J0IHsgQXBwbGljYXRpb25zRmxvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHBsaWNhdGlvbnMtZmxvdy5zZXJ2aWNlJztcbmltcG9ydCB7IEVhQ1NlcnZpY2UsIFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2plY3RIb3N0aW5nRGV0YWlscywgUHJvamVjdEhvc3RpbmdPcHRpb24gfSBmcm9tICcuLi8uLi9zdGF0ZS9hcHBsaWNhdGlvbnMtZmxvdy5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xjdS1idWlsZC1waXBlbGluZS1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1aWxkLXBpcGVsaW5lLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idWlsZC1waXBlbGluZS1mb3JtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnVpbGRQaXBlbGluZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG5cbiAgLy9QUk9QRVJUSUVTXG5cbiAgLy8gQElucHV0KCdidWlsZC1waXBlbGluZScpXG4gIHB1YmxpYyBCdWlsZFBpcGVsaW5lOiBzdHJpbmc7XG5cbiAgQElucHV0KCdkZXZvcHMtYWN0aW9uLWxvb2t1cCcpXG4gIHB1YmxpYyBEZXZPcHNBY3Rpb25Mb29rdXA6IHN0cmluZztcblxuICBASW5wdXQoJ2Rpc2FibGVkJylcbiAgcHVibGljIERpc2FibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgnZW52aXJvbm1lbnQnKVxuICBwdWJsaWMgRW52aXJvbm1lbnQ6IEVhQ0Vudmlyb25tZW50QXNDb2RlO1xuXG4gIEBJbnB1dCgnZW52aXJvbm1lbnQtbG9va3VwJylcbiAgcHVibGljIEVudmlyb25tZW50TG9va3VwOiBzdHJpbmc7XG5cbiAgQElucHV0KCdob3N0aW5nLWRldGFpbHMnKVxuICBwdWJsaWMgSG9zdGluZ0RldGFpbHM6IFByb2plY3RIb3N0aW5nRGV0YWlscztcblxuXG4gIHB1YmxpYyBnZXQgQXJ0aWZhY3QoKTogRWFDQXJ0aWZhY3Qge1xuICAgIC8vIGNvbnNvbGUubG9nKFwiQVJUSUZBQ1Q6IFwiLCB0aGlzLkVudmlyb25tZW50Py5BcnRpZmFjdHNbdGhpcy5BcnRpZmFjdExvb2t1cF0pO1xuICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50Py5BcnRpZmFjdHMgJiYgdGhpcy5BcnRpZmFjdExvb2t1cFxuICAgICAgPyB0aGlzLkVudmlyb25tZW50Py5BcnRpZmFjdHNbdGhpcy5BcnRpZmFjdExvb2t1cF0gfHwge31cbiAgICAgIDoge307XG4gIH1cblxuICBwdWJsaWMgZ2V0IEFydGlmYWN0TG9va3VwKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYXJ0TG9va3VwID0gdGhpcy5EZXZPcHNBY3Rpb24/LkFydGlmYWN0TG9va3Vwc1xuICAgICAgPyB0aGlzLkRldk9wc0FjdGlvbj8uQXJ0aWZhY3RMb29rdXBzWzBdXG4gICAgICA6IG51bGw7XG5cbiAgICByZXR1cm4gYXJ0TG9va3VwO1xuICB9XG5cbiAgXG5cbiAgcHVibGljIGdldCBCdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcblxuICAgIHJldHVybiB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXA/LmdldCgnYnVpbGRQaXBlbGluZScpO1xuICB9XG5cblxuICBwdWJsaWMgZ2V0IERldk9wc0FjdGlvbigpOiBFYUNEZXZPcHNBY3Rpb24ge1xuICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50LkRldk9wc0FjdGlvbnMgJiYgdGhpcy5EZXZPcHNBY3Rpb25Mb29rdXBcbiAgICAgID8gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW3RoaXMuRGV2T3BzQWN0aW9uTG9va3VwXSB8fCB7fVxuICAgICAgOiB7fTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgRGV2T3BzQWN0aW9ucygpOiB7IFtsb29rdXA6IHN0cmluZ106IEVhQ0Rldk9wc0FjdGlvbiB9IHtcbiAgICByZXR1cm4gdGhpcy5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zIHx8IHt9O1xuICB9XG5cbiAgcHVibGljIGdldCBEZXZPcHNBY3Rpb25OYW1lRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmdldCgnZGV2T3BzQWN0aW9uTmFtZScpO1xuICB9XG5cbiAgXG5cblxuICBwdWJsaWMgZ2V0IE5QTVRva2VuRm9ybUNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmdldCgnbnBtVG9rZW4nKTtcbiAgfVxuXG4gIC8vIChobykgPT4gaG8uTG9va3VwID09PSB0aGlzLkJ1aWxkUGlwZWxpbmVcbiAgcHVibGljIGdldCBTZWxlY3RlZEhvc3RpbmdPcHRpb24oKTogUHJvamVjdEhvc3RpbmdPcHRpb24ge1xuICAgIHJldHVybiB0aGlzLkhvc3RpbmdEZXRhaWxzPy5Ib3N0aW5nT3B0aW9ucz8uZmluZChcbiAgICAgIChobykgPT4gaG8uTG9va3VwID09PSB0aGlzLkJ1aWxkUGlwZWxpbmVcbiAgICApO1xuICB9XG5cblxuICBwdWJsaWMgZ2V0IFNlbGVjdGVkSG9zdGluZ09wdGlvbklucHV0Q29udHJvbFZhbHVlcygpOiB7XG4gICAgW2xvb2t1cDogc3RyaW5nXTogYW55O1xuICB9IHtcbiAgICByZXR1cm4gdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24/LklucHV0cz8ucmVkdWNlKChwcmV2LCBjdXIpID0+IHtcbiAgICAgIGNvbnN0IHJlcyA9IHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgIH07XG5cbiAgICAgIHJlc1tjdXIuTG9va3VwXSA9IHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5jb250cm9sc1tjdXIuTG9va3VwXS52YWx1ZTtcblxuICAgICAgcmV0dXJuIHJlcztcbiAgICB9LCB7fSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFNvdXJjZUNvbnRyb2xMb29rdXBzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLlNvdXJjZUNvbnRyb2xzIHx8IHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgU291cmNlQ29udHJvbHMoKTogeyBbbG9va3VwOiBzdHJpbmddOiBFYUNTb3VyY2VDb250cm9sIH0ge1xuICAgIHJldHVybiB0aGlzLkVudmlyb25tZW50LlNvdXJjZXMgfHwge307XG4gIH1cblxuICBwdWJsaWMgQnVpbGRQaXBlbGluZUZvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgIHByb3RlY3RlZCBhcHBzRmxvd1N2YzogQXBwbGljYXRpb25zRmxvd1NlcnZpY2UpIHtcbiAgICB0aGlzLkhvc3RpbmdEZXRhaWxzID0gbmV3IFByb2plY3RIb3N0aW5nRGV0YWlscygpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgICBcblxuICAgICAgLy8gY29uc29sZS5sb2coJ0J1aWxkUGlwZWxpbmUgPSAnLCB0aGlzLkJ1aWxkUGlwZWxpbmUpXG5cbiAgICBcbiAgICAvLyB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHt9KTtcblxuICAgIC8vIGlmICh0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAgIT0gbnVsbCkge1xuICAgIC8vICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ2hvc3RpbmdEZXRhaWxzJyk7XG4gICAgLy8gfVxuXG4gICAgXG4gICAgLy8gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmFkZENvbnRyb2woXG4gICAgLy8gICAnaG9zdGluZ0RldGFpbHMnLFxuICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICBidWlsZFBpcGVsaW5lOiBbdGhpcy5CdWlsZFBpcGVsaW5lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgfSlcbiAgICAvLyApO1xuXG4gICAgdGhpcy5sb2FkUHJvamVjdEhvc3RpbmdEZXRhaWxzKCk7XG4gICAgLy8gdGhpcy5zZXR1cENvbnRyb2xzRm9yRm9ybSgpO1xuXG4gIH1cblxuICAvL0FQSSBNRVRIT0RTXG5cbiAgcHVibGljIEJ1aWxkUGlwZWxpbmVDaGFuZ2VkKCk6IHZvaWQge1xuICAgIC8vZm9yIHNvbWUgcmVhc29uIHRoaXMgdmFsdWUgaXMgY29taW5nIGJhY2sgdW5kZWZpbmVkXG4gICAgLy8gY29uc29sZS5sb2coXCJidWlsZCBwaXBlbGluZSB2YWx1ZTogXCIsIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZSlcbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPSB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtQ29udHJvbD8udmFsdWU7XG5cbiAgICB0aGlzLnNldHVwQ29udHJvbHNGb3JGb3JtKCk7XG4gIH1cblxuICBwdWJsaWMgU3VibWl0QnVpbGRQaXBlbGluZSgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhcInN1Ym1pdHRpbmcgYnVpbGQgcGlwZWxpbmU6IFwiLCB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAudmFsdWUpO1xuICAgIHRoaXMuU2F2ZUVudmlyb25tZW50KCk7XG4gIH1cblxuICBwdWJsaWMgU2F2ZUVudmlyb25tZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHNhdmVFbnZSZXE6IFNhdmVFbnZpcm9ubWVudEFzQ29kZUV2ZW50UmVxdWVzdCA9IHtcbiAgICAgIEVudmlyb25tZW50OiB7XG4gICAgICAgIC4uLnRoaXMuRW52aXJvbm1lbnQsXG4gICAgICAgIEFydGlmYWN0czogdGhpcy5FbnZpcm9ubWVudC5BcnRpZmFjdHMgfHwge30sXG4gICAgICAgIERldk9wc0FjdGlvbnM6IHRoaXMuRW52aXJvbm1lbnQuRGV2T3BzQWN0aW9ucyB8fCB7fSxcbiAgICAgICAgU2VjcmV0czogdGhpcy5FbnZpcm9ubWVudC5TZWNyZXRzIHx8IHt9LFxuICAgICAgICBTb3VyY2VzOiB0aGlzLkVudmlyb25tZW50LlNvdXJjZXMgfHwge30sXG4gICAgICB9LFxuICAgICAgRW52aXJvbm1lbnRMb29rdXA6IHRoaXMuRW52aXJvbm1lbnRMb29rdXAsXG4gICAgICBFbnRlcnByaXNlRGF0YVRva2Vuczoge30sXG4gICAgfTtcblxuICAgIGxldCBhcnRpZmFjdExvb2t1cDogc3RyaW5nO1xuXG4gICAgbGV0IGFydGlmYWN0OiBFYUNBcnRpZmFjdCA9IHtcbiAgICAgIC4uLnRoaXMuQXJ0aWZhY3QsXG4gICAgICAuLi50aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbklucHV0Q29udHJvbFZhbHVlcyxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLkFydGlmYWN0TG9va3VwKSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IEd1aWQuQ3JlYXRlUmF3KCk7XG5cbiAgICAgIGFydGlmYWN0ID0ge1xuICAgICAgICAuLi5hcnRpZmFjdCxcbiAgICAgICAgVHlwZTogdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb25cbiAgICAgICAgICAuQXJ0aWZhY3RUeXBlLFxuICAgICAgICBOYW1lOiB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbi5OYW1lLFxuICAgICAgICBOUE1SZWdpc3RyeTogJ2h0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnLycsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnRpZmFjdExvb2t1cCA9IHRoaXMuQXJ0aWZhY3RMb29rdXA7XG4gICAgfVxuXG4gICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5BcnRpZmFjdHNbYXJ0aWZhY3RMb29rdXBdID0gYXJ0aWZhY3Q7XG5cbiAgICBsZXQgZGV2T3BzQWN0aW9uTG9va3VwOiBzdHJpbmc7XG5cbiAgICBpZiAoIXRoaXMuRGV2T3BzQWN0aW9uTG9va3VwKSB7XG4gICAgICBkZXZPcHNBY3Rpb25Mb29rdXAgPSBHdWlkLkNyZWF0ZVJhdygpO1xuXG4gICAgICBjb25zdCBkb2E6IEVhQ0Rldk9wc0FjdGlvbiA9IHtcbiAgICAgICAgLi4udGhpcy5EZXZPcHNBY3Rpb24sXG4gICAgICAgIEFydGlmYWN0TG9va3VwczogW2FydGlmYWN0TG9va3VwXSxcbiAgICAgICAgTmFtZTogdGhpcy5EZXZPcHNBY3Rpb25OYW1lRm9ybUNvbnRyb2wudmFsdWUsXG4gICAgICAgIFBhdGg6IHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uLlBhdGgsXG4gICAgICAgIFRlbXBsYXRlczpcbiAgICAgICAgICB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbi5UZW1wbGF0ZXMsXG4gICAgICB9O1xuXG4gICAgICBpZiAodGhpcy5OUE1Ub2tlbkZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgICBjb25zdCBzZWNyZXRMb29rdXAgPSAnbnBtLWFjY2Vzcy10b2tlbic7XG5cbiAgICAgICAgZG9hLlNlY3JldExvb2t1cHMgPSBbc2VjcmV0TG9va3VwXTtcblxuICAgICAgICBzYXZlRW52UmVxLkVudmlyb25tZW50LlNlY3JldHNbc2VjcmV0TG9va3VwXSA9IHtcbiAgICAgICAgICBOYW1lOiAnTlBNIEFjY2VzcyBUb2tlbicsXG4gICAgICAgICAgRGF0YVRva2VuTG9va3VwOiBzZWNyZXRMb29rdXAsXG4gICAgICAgICAgS25vd25BczogJ05QTV9UT0tFTicsXG4gICAgICAgIH07XG5cbiAgICAgICAgc2F2ZUVudlJlcS5FbnRlcnByaXNlRGF0YVRva2Vuc1tzZWNyZXRMb29rdXBdID0ge1xuICAgICAgICAgIE5hbWU6IHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuU2VjcmV0c1tzZWNyZXRMb29rdXBdLk5hbWUsXG4gICAgICAgICAgRGVzY3JpcHRpb246IHNhdmVFbnZSZXEuRW52aXJvbm1lbnQuU2VjcmV0c1tzZWNyZXRMb29rdXBdLk5hbWUsXG4gICAgICAgICAgVmFsdWU6IHRoaXMuTlBNVG9rZW5Gb3JtQ29udHJvbC52YWx1ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW2Rldk9wc0FjdGlvbkxvb2t1cF0gPSBkb2E7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRldk9wc0FjdGlvbkxvb2t1cCA9IHRoaXMuRGV2T3BzQWN0aW9uTG9va3VwO1xuXG4gICAgICBjb25zdCBkb2E6IEVhQ0Rldk9wc0FjdGlvbiA9IHtcbiAgICAgICAgLi4udGhpcy5EZXZPcHNBY3Rpb24sXG4gICAgICAgIE5hbWU6IHRoaXMuRGV2T3BzQWN0aW9uTmFtZUZvcm1Db250cm9sLnZhbHVlLFxuICAgICAgfTtcblxuICAgICAgc2F2ZUVudlJlcS5FbnZpcm9ubWVudC5EZXZPcHNBY3Rpb25zW2Rldk9wc0FjdGlvbkxvb2t1cF0gPSBkb2E7XG4gICAgfVxuXG4gICAgdGhpcy5lYWNTdmMuU2F2ZUVudmlyb25tZW50QXNDb2RlKHNhdmVFbnZSZXEpO1xuICB9XG5cbiAgLy8gIEhlbHBlcnNcbiAgcHJvdGVjdGVkIHNldHVwQ29udHJvbHNGb3JGb3JtKCk6IHZvaWQge1xuXG4gICAgLy8gdGhpcy5CdWlsZFBpcGVsaW5lID1cbiAgICAvLyAgICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZSB8fCB0aGlzLkhvc3RpbmdEZXRhaWxzPy5Ib3N0aW5nT3B0aW9uc1xuICAgIC8vICAgICAgICAgICA/IHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zWzBdPy5Mb29rdXBcbiAgICAvLyAgICAgICAgICAgOiAnJztcblxuICAgIC8vIGNvbnNvbGUubG9nKFwiaG9zdGluZyBkZXRhaWxzOiBcIiwgdGhpcy5Ib3N0aW5nRGV0YWlscylcblxuICAgIGZvciAoY29uc3QgY3RybE5hbWUgaW4gdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzKSB7XG4gICAgICAvL2Rldk9wc0FjdGlvbiBkb2Vzbid0IGV4aXN0XG4gICAgICAvL3JlbW92ZXMgaG9zdGluZyBkZXRhaWxzXG4gICAgICBpZiAoY3RybE5hbWUgIT09ICdidWlsZFBpcGVsaW5lJyAmJiBjdHJsTmFtZSAhPT0gJ2Rldk9wc0FjdGlvbicpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJyZW1vdmluZyBjb250cm9sOiBcIiwgY3RybE5hbWUpXG4gICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5yZW1vdmVDb250cm9sKGN0cmxOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuYWRkQ29udHJvbChcbiAgICAgICdkZXZPcHNBY3Rpb25OYW1lJyxcbiAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgdGhpcy5EZXZPcHNBY3Rpb24/Lk5hbWUgfHwgdGhpcy5TZWxlY3RlZEhvc3RpbmdPcHRpb24/Lk5hbWUgfHwgJycsXG4gICAgICAgIFtWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBjb25zb2xlLmxvZyhcInNlbGVjdGVkIGhvc3Rpbmcgb3B0aW9uczogXCIsIHRoaXMuU2VsZWN0ZWRIb3N0aW5nT3B0aW9uLklucHV0cyk7XG5cbiAgICB0aGlzLlNlbGVjdGVkSG9zdGluZ09wdGlvbj8uSW5wdXRzPy5mb3JFYWNoKChpbnB1dCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IGlucHV0LlJlcXVpcmVkID8gW1ZhbGlkYXRvcnMucmVxdWlyZWRdIDogW107XG5cbiAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICBpbnB1dC5Mb29rdXAsXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChcbiAgICAgICAgICB0aGlzLkFydGlmYWN0W2lucHV0Lkxvb2t1cF0gfHwgaW5wdXQuRGVmYXVsdFZhbHVlIHx8ICcnLFxuICAgICAgICAgIHZhbGlkYXRvcnNcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgICAgLy8gaWYgKHRoaXMuRGlzYWJsZWQpIHtcbiAgICAgIC8vICAgdGhpcy5Gb3JtR3JvdXAuY29udHJvbHNbaW5wdXQuTG9va3VwXS5kaXNhYmxlKCk7XG4gICAgICAvLyB9XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5CdWlsZFBpcGVsaW5lRm9ybUNvbnRyb2w/LnZhbHVlID09PSAnbnBtLXJlbGVhc2UnKSB7XG5cbiAgICAgIGlmICghdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLmNvbnRyb2xzLm5wbVRva2VuKSB7XG4gICAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Hcm91cC5hZGRDb250cm9sKFxuICAgICAgICAgICducG1Ub2tlbicsXG4gICAgICAgICAgdGhpcy5mb3JtQnVpbGRlci5jb250cm9sKFxuICAgICAgICAgICAgJycsXG4gICAgICAgICAgICB0aGlzLkRpc2FibGVkID8gW10gOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuRGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuY29udHJvbHMubnBtVG9rZW4uZGlzYWJsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcbiAgICAgIHRoaXMuQnVpbGRQaXBlbGluZUZvcm1Db250cm9sPy52YWx1ZSA9PT0gJ2dpdGh1Yi1hcnRpZmFjdHMtcmVsZWFzZSdcbiAgICApIHtcbiAgICAgIGlmICh0aGlzLkJ1aWxkUGlwZWxpbmVGb3JtR3JvdXAuY29udHJvbHMubnBtVG9rZW4pIHtcbiAgICAgICAgdGhpcy5CdWlsZFBpcGVsaW5lRm9ybUdyb3VwLnJlbW92ZUNvbnRyb2woJ25wbVRva2VuJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgXG5cbiAgcHJvdGVjdGVkIGxvYWRQcm9qZWN0SG9zdGluZ0RldGFpbHMoKTogdm9pZCB7XG4gICAgdGhpcy5Ib3N0aW5nRGV0YWlscy5Mb2FkaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmFwcHNGbG93U3ZjXG4gICAgICAuTmV3TG9hZFByb2plY3RIb3N0aW5nRGV0YWlscygpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzcG9uc2U6IEJhc2VNb2RlbGVkUmVzcG9uc2U8UHJvamVjdEhvc3RpbmdEZXRhaWxzPikgPT4ge1xuICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMgPSByZXNwb25zZS5Nb2RlbDtcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcInJlc3BvbnNlOiBcIiwgcmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuSG9zdGluZ0RldGFpbHMuTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgaG9zdE9wdGlvbiA9IHRoaXMuSG9zdGluZ0RldGFpbHM/Lkhvc3RpbmdPcHRpb25zPy5maW5kKFxuICAgICAgICAgICAgKGhvKSA9PiBoby5QYXRoID09PSB0aGlzLkRldk9wc0FjdGlvbi5QYXRoXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLkJ1aWxkUGlwZWxpbmUgPSAgaG9zdE9wdGlvbi5Mb29rdXA7XG5cbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyhcIkJ1aWxkIFBpcGVsaW5lIEhFUkU9IFwiLCB0aGlzLkJ1aWxkUGlwZWxpbmUpO1xuXG4gICAgICAgICAgdGhpcy5zZXR1cENvbnRyb2xzRm9yRm9ybSgpO1xuXG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcblxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiRVJSOiBcIiwgZXJyKTtcbiAgICAgICAgICB0aGlzLkhvc3RpbmdEZXRhaWxzLkxvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgICB9XG4gICAgICApO1xuICAgIGNvbnNvbGUubG9nKFwiSE9TVElORyBERVRBSUxTOiBcIiwgdGhpcy5Ib3N0aW5nRGV0YWlscyk7XG5cbiAgfVxuXG59XG4iXX0=