tnp-helpers 18.0.25 → 19.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/fesm2022/tnp-helpers.mjs +468 -431
  4. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  5. package/browser/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +2 -2
  6. package/browser/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  7. package/{websql/lib/base/classes → browser/lib/base/classes/base-cli-worker}/base-cli-worker.d.ts +23 -45
  8. package/browser/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  9. package/browser/lib/base/classes/base-git.d.ts +1 -1
  10. package/browser/lib/base/classes/base-node-modules.d.ts +1 -1
  11. package/browser/lib/base/classes/index.d.ts +0 -2
  12. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  13. package/browser/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  14. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  15. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +6 -22
  16. package/browser/lib/models.d.ts +3 -1
  17. package/client/README.md +24 -24
  18. package/client/fesm2022/tnp-helpers.mjs +468 -431
  19. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  20. package/client/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +2 -2
  21. package/client/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  22. package/client/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +23 -45
  23. package/client/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  24. package/client/lib/base/classes/base-git.d.ts +1 -1
  25. package/client/lib/base/classes/base-node-modules.d.ts +1 -1
  26. package/client/lib/base/classes/index.d.ts +0 -2
  27. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  28. package/client/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  29. package/client/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  30. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +6 -22
  31. package/client/lib/models.d.ts +3 -1
  32. package/index.js.map +1 -1
  33. package/lib/base/classes/base-bower-json.js.map +1 -1
  34. package/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +1 -1
  35. package/lib/base/classes/base-cli-worker/base-cli-worker-config.js.map +1 -0
  36. package/lib/base/classes/base-cli-worker/base-cli-worker-controller.js.map +1 -0
  37. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +39 -0
  38. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js +148 -0
  39. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js.map +1 -0
  40. package/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +21 -43
  41. package/lib/base/classes/{base-cli-worker.js → base-cli-worker/base-cli-worker.js} +93 -173
  42. package/lib/base/classes/base-cli-worker/base-cli-worker.js.map +1 -0
  43. package/lib/base/classes/base-cli-worker/index.d.ts +4 -0
  44. package/lib/base/classes/base-cli-worker/index.js +21 -0
  45. package/lib/base/classes/base-cli-worker/index.js.map +1 -0
  46. package/lib/base/classes/base-command-line-feature.backend.js.map +1 -1
  47. package/lib/base/classes/base-compiler-for-project.js.map +1 -1
  48. package/lib/base/classes/base-db.js.map +1 -1
  49. package/lib/base/classes/base-debounce-compiler-for-project.js.map +1 -1
  50. package/lib/base/classes/base-feature-for-project.js.map +1 -1
  51. package/lib/base/classes/base-git.js.map +1 -1
  52. package/lib/base/classes/base-global-command-line.backend.d.ts +2 -0
  53. package/lib/base/classes/base-global-command-line.backend.js +36 -1
  54. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  55. package/lib/base/classes/base-ignore-hide.js.map +1 -1
  56. package/lib/base/classes/base-json-file-reader.js.map +1 -1
  57. package/lib/base/classes/base-library-build.js.map +1 -1
  58. package/lib/base/classes/base-linked-projects.js.map +1 -1
  59. package/lib/base/classes/base-node-modules.d.ts +1 -1
  60. package/lib/base/classes/base-node-modules.js.map +1 -1
  61. package/lib/base/classes/base-npm-helpers.js.map +1 -1
  62. package/lib/base/classes/base-package-json.js.map +1 -1
  63. package/lib/base/classes/base-powershell.js.map +1 -1
  64. package/lib/base/classes/base-process-manager.js.map +1 -1
  65. package/lib/base/classes/base-project-resolver.js.map +1 -1
  66. package/lib/base/classes/base-project.d.ts +1 -1
  67. package/lib/base/classes/base-project.js.map +1 -1
  68. package/lib/base/classes/base-quick-fixes.js.map +1 -1
  69. package/lib/base/classes/base-release-process.js.map +1 -1
  70. package/lib/base/classes/base-start-config.backend.js.map +1 -1
  71. package/lib/base/classes/base-static-pages.js.map +1 -1
  72. package/lib/base/classes/base-vscode.js +8 -12
  73. package/lib/base/classes/base-vscode.js.map +1 -1
  74. package/lib/base/classes/index.d.ts +0 -2
  75. package/lib/base/classes/index.js +0 -2
  76. package/lib/base/classes/index.js.map +1 -1
  77. package/lib/base/commit-data.js.map +1 -1
  78. package/lib/base/config-database.js.map +1 -1
  79. package/lib/base/core-project.js.map +1 -1
  80. package/lib/base/gh-temp-code.js.map +1 -1
  81. package/lib/base/index-rebuilder.backend.js.map +1 -1
  82. package/lib/base/index.js.map +1 -1
  83. package/lib/base/linked-project.js.map +1 -1
  84. package/lib/base/project-database.js.map +1 -1
  85. package/lib/base/tcp-udp-ports/index.js.map +1 -1
  86. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  87. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
  88. package/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  89. package/lib/base/tcp-udp-ports/ports.controller.js +2 -2
  90. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  91. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
  92. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  93. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +2 -2
  94. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  95. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +32 -0
  96. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js +256 -0
  97. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js.map +1 -0
  98. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +6 -35
  99. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +4 -284
  100. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  101. package/lib/base/translate.js.map +1 -1
  102. package/lib/build-info._auto-generated_.js.map +1 -1
  103. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  104. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  105. package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +1 -1
  106. package/lib/helpers/for-backend/helpers-file-folders.js.map +1 -1
  107. package/lib/helpers/for-backend/helpers-git.backend.d.ts +2 -0
  108. package/lib/helpers/for-backend/helpers-git.backend.js +34 -23
  109. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  110. package/lib/helpers/for-backend/helpers-network.backend.js.map +1 -1
  111. package/lib/helpers/for-backend/helpers-npm.backend.js.map +1 -1
  112. package/lib/helpers/for-backend/helpers-path.backend.js.map +1 -1
  113. package/lib/helpers/for-backend/helpers-process.js.map +1 -1
  114. package/lib/helpers/for-backend/helpers-system-terminal.backend.js.map +1 -1
  115. package/lib/helpers/for-backend/helpers-vscode.backend.js.map +1 -1
  116. package/lib/helpers/for-browser/angular.helper.js +2 -2
  117. package/lib/helpers/for-browser/angular.helper.js.map +1 -1
  118. package/lib/helpers/for-browser/helpers-browser.js.map +1 -1
  119. package/lib/helpers/helpers-array-obj.js.map +1 -1
  120. package/lib/helpers/helpers-json5.backend.js.map +1 -1
  121. package/lib/helpers/helpers-numbers.js.map +1 -1
  122. package/lib/helpers/helpers-strings-regexes.js.map +1 -1
  123. package/lib/helpers/helpers-strings.js.map +1 -1
  124. package/lib/helpers/helpers.js.map +1 -1
  125. package/lib/index._auto-generated_.js.map +1 -1
  126. package/lib/index.js.map +1 -1
  127. package/lib/lowdb/adapters/Memory.js.map +1 -1
  128. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
  129. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
  130. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
  131. package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
  132. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
  133. package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
  134. package/lib/lowdb/adapters/node/steno.js.map +1 -1
  135. package/lib/lowdb/browser.js.map +1 -1
  136. package/lib/lowdb/core/Low.js.map +1 -1
  137. package/lib/lowdb/examples/browser.js.map +1 -1
  138. package/lib/lowdb/examples/cli.js.map +1 -1
  139. package/lib/lowdb/examples/in-memory.js.map +1 -1
  140. package/lib/lowdb/examples/server.js.map +1 -1
  141. package/lib/lowdb/index.js.map +1 -1
  142. package/lib/lowdb/node.js.map +1 -1
  143. package/lib/lowdb/presets/browser.js.map +1 -1
  144. package/lib/lowdb/presets/node.js.map +1 -1
  145. package/lib/models.d.ts +2 -0
  146. package/lib/models.js.map +1 -1
  147. package/lib/old/base-component.js +2 -2
  148. package/lib/old/base-component.js.map +1 -1
  149. package/lib/old/base-formly-component.js +2 -2
  150. package/lib/old/base-formly-component.js.map +1 -1
  151. package/lib/old/condition-wait.js.map +1 -1
  152. package/lib/old/dual-component-ctrl.js +2 -2
  153. package/lib/old/dual-component-ctrl.js.map +1 -1
  154. package/lib/old/execute-command.js.map +1 -1
  155. package/lib/old/helpers.js.map +1 -1
  156. package/lib/old/models.js.map +1 -1
  157. package/lib/utils.js.map +1 -1
  158. package/lib/validators/validators-firedev.js.map +1 -1
  159. package/lib/validators/validators-git.js.map +1 -1
  160. package/lib/validators/validators-network.js.map +1 -1
  161. package/lib/validators/validators.js.map +1 -1
  162. package/migrations/1736198527297_init.js.map +1 -1
  163. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  164. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  165. package/migrations/index.js.map +1 -1
  166. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  167. package/package.json +5 -5
  168. package/tmp-environment.json +2 -2
  169. package/websql/README.md +24 -24
  170. package/websql/fesm2022/tnp-helpers.mjs +468 -431
  171. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  172. package/websql/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +2 -2
  173. package/websql/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  174. package/{browser/lib/base/classes → websql/lib/base/classes/base-cli-worker}/base-cli-worker.d.ts +23 -45
  175. package/websql/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  176. package/websql/lib/base/classes/base-git.d.ts +1 -1
  177. package/websql/lib/base/classes/base-node-modules.d.ts +1 -1
  178. package/websql/lib/base/classes/index.d.ts +0 -2
  179. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  180. package/websql/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  181. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  182. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +6 -22
  183. package/websql/lib/models.d.ts +3 -1
  184. package/browser/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
  185. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  186. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  187. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  188. package/browser/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
  189. package/browser/esm2022/lib/base/classes/base-db.mjs +0 -31
  190. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
  191. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
  192. package/browser/esm2022/lib/base/classes/base-git.mjs +0 -1175
  193. package/browser/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
  194. package/browser/esm2022/lib/base/classes/base-library-build.mjs +0 -613
  195. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
  196. package/browser/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
  197. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
  198. package/browser/esm2022/lib/base/classes/base-package-json.mjs +0 -340
  199. package/browser/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
  200. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +0 -282
  201. package/browser/esm2022/lib/base/classes/base-project.mjs +0 -922
  202. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
  203. package/browser/esm2022/lib/base/classes/base-release-process.mjs +0 -599
  204. package/browser/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
  205. package/browser/esm2022/lib/base/classes/base-vscode.mjs +0 -534
  206. package/browser/esm2022/lib/base/classes/index.mjs +0 -26
  207. package/browser/esm2022/lib/base/commit-data.mjs +0 -633
  208. package/browser/esm2022/lib/base/config-database.mjs +0 -46
  209. package/browser/esm2022/lib/base/core-project.mjs +0 -115
  210. package/browser/esm2022/lib/base/index.mjs +0 -10
  211. package/browser/esm2022/lib/base/linked-project.mjs +0 -90
  212. package/browser/esm2022/lib/base/project-database.mjs +0 -18
  213. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
  214. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
  215. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -33
  216. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
  217. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -298
  218. package/browser/esm2022/lib/base/translate.mjs +0 -566
  219. package/browser/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
  220. package/browser/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
  221. package/browser/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
  222. package/browser/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
  223. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
  224. package/browser/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
  225. package/browser/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
  226. package/browser/esm2022/lib/helpers/helpers-strings.mjs +0 -258
  227. package/browser/esm2022/lib/helpers/helpers.mjs +0 -428
  228. package/browser/esm2022/lib/index.mjs +0 -13
  229. package/browser/esm2022/lib/models.mjs +0 -175
  230. package/browser/esm2022/lib/utils.mjs +0 -952
  231. package/browser/esm2022/lib/validators/validators-git.mjs +0 -12
  232. package/browser/esm2022/lib/validators/validators-network.mjs +0 -18
  233. package/browser/esm2022/lib/validators/validators.mjs +0 -10
  234. package/browser/esm2022/migrations/1736198527297_init.mjs +0 -41
  235. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
  236. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
  237. package/browser/esm2022/migrations/index.mjs +0 -5
  238. package/browser/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
  239. package/browser/esm2022/public-api.mjs +0 -2
  240. package/browser/esm2022/tnp-helpers.mjs +0 -5
  241. package/cli.d.ts +0 -6
  242. package/client/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
  243. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  244. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  245. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  246. package/client/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
  247. package/client/esm2022/lib/base/classes/base-db.mjs +0 -31
  248. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
  249. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
  250. package/client/esm2022/lib/base/classes/base-git.mjs +0 -1175
  251. package/client/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
  252. package/client/esm2022/lib/base/classes/base-library-build.mjs +0 -613
  253. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
  254. package/client/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
  255. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
  256. package/client/esm2022/lib/base/classes/base-package-json.mjs +0 -340
  257. package/client/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
  258. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +0 -282
  259. package/client/esm2022/lib/base/classes/base-project.mjs +0 -922
  260. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
  261. package/client/esm2022/lib/base/classes/base-release-process.mjs +0 -599
  262. package/client/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
  263. package/client/esm2022/lib/base/classes/base-vscode.mjs +0 -534
  264. package/client/esm2022/lib/base/classes/index.mjs +0 -26
  265. package/client/esm2022/lib/base/commit-data.mjs +0 -633
  266. package/client/esm2022/lib/base/config-database.mjs +0 -46
  267. package/client/esm2022/lib/base/core-project.mjs +0 -115
  268. package/client/esm2022/lib/base/index.mjs +0 -10
  269. package/client/esm2022/lib/base/linked-project.mjs +0 -90
  270. package/client/esm2022/lib/base/project-database.mjs +0 -18
  271. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
  272. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
  273. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -33
  274. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
  275. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -298
  276. package/client/esm2022/lib/base/translate.mjs +0 -566
  277. package/client/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
  278. package/client/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
  279. package/client/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
  280. package/client/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
  281. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
  282. package/client/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
  283. package/client/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
  284. package/client/esm2022/lib/helpers/helpers-strings.mjs +0 -258
  285. package/client/esm2022/lib/helpers/helpers.mjs +0 -428
  286. package/client/esm2022/lib/index.mjs +0 -13
  287. package/client/esm2022/lib/models.mjs +0 -175
  288. package/client/esm2022/lib/utils.mjs +0 -952
  289. package/client/esm2022/lib/validators/validators-git.mjs +0 -12
  290. package/client/esm2022/lib/validators/validators-network.mjs +0 -18
  291. package/client/esm2022/lib/validators/validators.mjs +0 -10
  292. package/client/esm2022/migrations/1736198527297_init.mjs +0 -41
  293. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
  294. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
  295. package/client/esm2022/migrations/index.mjs +0 -5
  296. package/client/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
  297. package/client/esm2022/public-api.mjs +0 -2
  298. package/client/esm2022/tnp-helpers.mjs +0 -5
  299. package/env.d.ts +0 -3
  300. package/environments/angular-node-app/env.angular-node-app.__.d.ts +0 -3
  301. package/environments/angular-node-app/env.angular-node-app.prod.d.ts +0 -3
  302. package/environments/docs-webapp/env.docs-webapp.__.d.ts +0 -3
  303. package/environments/electron-app/env.electron-app.__.d.ts +0 -3
  304. package/environments/electron-app/env.electron-app.prod.d.ts +0 -3
  305. package/environments/mobile-app/env.mobile-app.__.d.ts +0 -3
  306. package/environments/mobile-app/env.mobile-app.prod.d.ts +0 -3
  307. package/environments/npm-lib-and-cli-tool/env.npm-lib-and-cli-tool.__.d.ts +0 -3
  308. package/environments/npm-lib-and-cli-tool/env.npm-lib-and-cli-tool.prod.d.ts +0 -3
  309. package/environments/vscode-plugin/env.vscode-plugin.__.d.ts +0 -6
  310. package/environments/vscode-plugin/env.vscode-plugin.prod.d.ts +0 -4
  311. package/global-typings.d.ts +0 -41
  312. package/lib/base/classes/base-cli-worker-config.js.map +0 -1
  313. package/lib/base/classes/base-cli-worker-controller.js.map +0 -1
  314. package/lib/base/classes/base-cli-worker.js.map +0 -1
  315. package/lib/base/classes/base-detached-service.d.ts +0 -5
  316. package/lib/base/classes/base-detached-service.js +0 -12
  317. package/lib/base/classes/base-detached-service.js.map +0 -1
  318. package/lib/base/classes/base-github-pages.d.ts +0 -14
  319. package/lib/constants.d.ts +0 -77
  320. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +0 -104
  321. package/lib/helpers/for-backend/helpers-file-folders.backend.js +0 -956
  322. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +0 -1
  323. package/lib/helpers/for-backend/helpers-process.backend.d.ts +0 -87
  324. package/lib/helpers/for-backend/helpers-process.backend.js +0 -496
  325. package/lib/helpers/for-backend/helpers-process.backend.js.map +0 -1
  326. package/lib/helpers/for-backend/ts-code/index.d.ts +0 -1
  327. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.d.ts +0 -29
  328. package/lib/helpers.d.ts +0 -0
  329. package/lib/options.d.ts +0 -252
  330. package/lib/project/abstract/artifacts/__helpers__/artifacts-helpers.d.ts +0 -28
  331. package/lib/project/abstract/artifacts/__helpers__/branding.d.ts +0 -13
  332. package/lib/project/abstract/artifacts/__helpers__/environment-config/environment-config.d.ts +0 -26
  333. package/lib/project/abstract/artifacts/angular-node-app/artifact-angular-node-app.d.ts +0 -53
  334. package/lib/project/abstract/artifacts/angular-node-app/index.d.ts +0 -1
  335. package/lib/project/abstract/artifacts/angular-node-app/tools/assets-list-file-generator.d.ts +0 -19
  336. package/lib/project/abstract/artifacts/angular-node-app/tools/assets-manager.d.ts +0 -5
  337. package/lib/project/abstract/artifacts/angular-node-app/tools/basename-manager.d.ts +0 -17
  338. package/lib/project/abstract/artifacts/angular-node-app/tools/docs-app-build-config.d.ts +0 -21
  339. package/lib/project/abstract/artifacts/angular-node-app/tools/inside-struct-angular13-app.d.ts +0 -6
  340. package/lib/project/abstract/artifacts/angular-node-app/tools/migrations-helper.d.ts +0 -18
  341. package/lib/project/abstract/artifacts/artifacts-manager.d.ts +0 -39
  342. package/lib/project/abstract/artifacts/base-artifact.d.ts +0 -52
  343. package/lib/project/abstract/artifacts/docs-webapp/artifact-docs-webapp.d.ts +0 -27
  344. package/lib/project/abstract/artifacts/docs-webapp/docs.d.ts +0 -55
  345. package/lib/project/abstract/artifacts/docs-webapp/index.d.ts +0 -1
  346. package/lib/project/abstract/artifacts/electron-app/artifact-electron-app.d.ts +0 -22
  347. package/lib/project/abstract/artifacts/electron-app/index.d.ts +0 -1
  348. package/lib/project/abstract/artifacts/mobile-app/artifact-mobile-app.d.ts +0 -16
  349. package/lib/project/abstract/artifacts/mobile-app/index.d.ts +0 -1
  350. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/artifact-npm-lib-and-cli-tool.d.ts +0 -82
  351. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/index.d.ts +0 -1
  352. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/browser-code-cut.d.ts +0 -102
  353. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/code-cut.d.ts +0 -41
  354. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/code-split-process.enum.d.ts +0 -44
  355. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/cut-fn.d.ts +0 -1
  356. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/code-cut/file-split-process.d.ts +0 -14
  357. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/compilations/compilation-backend.d.ts +0 -60
  358. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/compilations/compilation-browser.d.ts +0 -41
  359. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/build-isomorphic-lib/compilations/incremental-build-process.d.ts +0 -23
  360. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/base-copy-manager.d.ts +0 -85
  361. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager-helpers.d.ts +0 -12
  362. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager-organization.d.ts +0 -0
  363. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager-standalone.d.ts +0 -77
  364. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/copy-manager.d.ts +0 -7
  365. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/mjs-fesm-module-spliter.d.ts +0 -46
  366. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/source-maping-url.d.ts +0 -11
  367. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/copy-manager/typescript-dts-fixer.d.ts +0 -25
  368. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/files-recreation/files-recreator.d.ts +0 -133
  369. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/files-recreation/files-templates.d.ts +0 -8
  370. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/files-recreation/index.d.ts +0 -2
  371. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/index-autogen-provider.d.ts +0 -15
  372. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-struct-angular13-lib.d.ts +0 -6
  373. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/inside-struct.d.ts +0 -44
  374. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/inside-structures.d.ts +0 -17
  375. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/base-inside-struct.d.ts +0 -12
  376. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/inside-struct-constants.d.ts +0 -2
  377. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/inside-struct-helpers.d.ts +0 -12
  378. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/image-loader.d.ts +0 -1
  379. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-default.d.ts +0 -1
  380. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-ellipsis.d.ts +0 -1
  381. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-facebook.d.ts +0 -1
  382. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-grid.d.ts +0 -1
  383. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-heart.d.ts +0 -1
  384. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loader-ids-ripple.d.ts +0 -1
  385. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/inside-structures/structs/loaders/loaders.d.ts +0 -2
  386. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/lib-project/lib-project-base.d.ts +0 -9
  387. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/lib-project/lib-project-standalone.d.ts +0 -9
  388. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/singular-build.d.ts +0 -0
  389. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/cypress-test-runner.d.ts +0 -7
  390. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/index.d.ts +0 -3
  391. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/jest-test-runner.d.ts +0 -8
  392. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/tools/test-runner/mocha-test-runner.d.ts +0 -7
  393. package/lib/project/abstract/artifacts/npm-lib-and-cli-tool/webpack-backend-compilation.d.ts +0 -0
  394. package/lib/project/abstract/artifacts/vscode-plugin/artifact-vscode-plugin.d.ts +0 -33
  395. package/lib/project/abstract/artifacts/vscode-plugin/index.d.ts +0 -1
  396. package/lib/project/abstract/framework.d.ts +0 -61
  397. package/lib/project/abstract/git.d.ts +0 -26
  398. package/lib/project/abstract/library-build.d.ts +0 -9
  399. package/lib/project/abstract/linked-projects.d.ts +0 -4
  400. package/lib/project/abstract/linter.d.ts +0 -9
  401. package/lib/project/abstract/node-modules.d.ts +0 -35
  402. package/lib/project/abstract/npm-helpers.d.ts +0 -22
  403. package/lib/project/abstract/package-json.d.ts +0 -14
  404. package/lib/project/abstract/packages-recognition.d.ts +0 -16
  405. package/lib/project/abstract/project-resolve.d.ts +0 -37
  406. package/lib/project/abstract/project.d.ts +0 -63
  407. package/lib/project/abstract/quick-fixes.d.ts +0 -18
  408. package/lib/project/abstract/release-process/index.d.ts +0 -1
  409. package/lib/project/abstract/release-process/release-config.d.ts +0 -0
  410. package/lib/project/abstract/release-process/release-process.d.ts +0 -26
  411. package/lib/project/abstract/taon-worker/taon-build.controller.d.ts +0 -5
  412. package/lib/project/abstract/taon-worker/taon-build.entity.d.ts +0 -8
  413. package/lib/project/abstract/taon-worker/taon-env.entity.d.ts +0 -10
  414. package/lib/project/abstract/taon-worker/taon-project.entity.d.ts +0 -8
  415. package/lib/project/abstract/taon-worker/taon.context.d.ts +0 -56
  416. package/lib/project/abstract/taon-worker/taon.controller.d.ts +0 -7
  417. package/lib/project/abstract/taon-worker/taon.worker.d.ts +0 -40
  418. package/lib/project/abstract/taonJson.d.ts +0 -49
  419. package/lib/project/abstract/vscode.d.ts +0 -80
  420. package/lib/project/cli/base-cli.d.ts +0 -8
  421. package/lib/project/cli/cli-BRANDING.d.ts +0 -23
  422. package/lib/project/cli/cli-BUILD.d.ts +0 -4
  423. package/lib/project/cli/cli-DOCS.d.ts +0 -4
  424. package/lib/project/cli/cli-INIT.d.ts +0 -13
  425. package/lib/project/cli/cli-LINK.d.ts +0 -23
  426. package/lib/project/cli/cli-MIGRATION.d.ts +0 -4
  427. package/lib/project/cli/cli-NEW.d.ts +0 -15
  428. package/lib/project/cli/cli-OPEN.d.ts +0 -15
  429. package/lib/project/cli/cli-RELEASE.d.ts +0 -4
  430. package/lib/project/cli/cli-TEST.d.ts +0 -23
  431. package/lib/project/cli/cli-VERSION.d.ts +0 -16
  432. package/lib/project/cli/cli-VSCODE.d.ts +0 -17
  433. package/lib/project/cli/cli-_GLOBAL_.d.ts +0 -85
  434. package/lib/project/cli/index.d.ts +0 -29
  435. package/lib/project/index.d.ts +0 -0
  436. package/lib/templates.d.ts +0 -1
  437. package/migrations/1737301724542_addingSampleData.d.ts +0 -14
  438. package/start.backend.d.ts +0 -2
  439. package/taon.jsonc +0 -34
  440. package/websql/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
  441. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  442. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  443. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  444. package/websql/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
  445. package/websql/esm2022/lib/base/classes/base-db.mjs +0 -31
  446. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
  447. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
  448. package/websql/esm2022/lib/base/classes/base-git.mjs +0 -1175
  449. package/websql/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
  450. package/websql/esm2022/lib/base/classes/base-library-build.mjs +0 -613
  451. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
  452. package/websql/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
  453. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
  454. package/websql/esm2022/lib/base/classes/base-package-json.mjs +0 -340
  455. package/websql/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
  456. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +0 -272
  457. package/websql/esm2022/lib/base/classes/base-project.mjs +0 -891
  458. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
  459. package/websql/esm2022/lib/base/classes/base-release-process.mjs +0 -599
  460. package/websql/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
  461. package/websql/esm2022/lib/base/classes/base-vscode.mjs +0 -534
  462. package/websql/esm2022/lib/base/classes/index.mjs +0 -26
  463. package/websql/esm2022/lib/base/commit-data.mjs +0 -633
  464. package/websql/esm2022/lib/base/config-database.mjs +0 -46
  465. package/websql/esm2022/lib/base/core-project.mjs +0 -115
  466. package/websql/esm2022/lib/base/index.mjs +0 -10
  467. package/websql/esm2022/lib/base/linked-project.mjs +0 -90
  468. package/websql/esm2022/lib/base/project-database.mjs +0 -18
  469. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
  470. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
  471. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -56
  472. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
  473. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -298
  474. package/websql/esm2022/lib/base/translate.mjs +0 -566
  475. package/websql/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
  476. package/websql/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
  477. package/websql/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
  478. package/websql/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
  479. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
  480. package/websql/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
  481. package/websql/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
  482. package/websql/esm2022/lib/helpers/helpers-strings.mjs +0 -258
  483. package/websql/esm2022/lib/helpers/helpers.mjs +0 -428
  484. package/websql/esm2022/lib/index.mjs +0 -13
  485. package/websql/esm2022/lib/models.mjs +0 -175
  486. package/websql/esm2022/lib/utils.mjs +0 -952
  487. package/websql/esm2022/lib/validators/validators-git.mjs +0 -12
  488. package/websql/esm2022/lib/validators/validators-network.mjs +0 -18
  489. package/websql/esm2022/lib/validators/validators.mjs +0 -10
  490. package/websql/esm2022/migrations/1736198527297_init.mjs +0 -41
  491. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
  492. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
  493. package/websql/esm2022/migrations/index.mjs +0 -5
  494. package/websql/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
  495. package/websql/esm2022/public-api.mjs +0 -2
  496. package/websql/esm2022/tnp-helpers.mjs +0 -5
  497. /package/browser/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  498. /package/client/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  499. /package/lib/base/classes/{base-cli-worker-config.js → base-cli-worker/base-cli-worker-config.js} +0 -0
  500. /package/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  501. /package/lib/base/classes/{base-cli-worker-controller.js → base-cli-worker/base-cli-worker-controller.js} +0 -0
  502. /package/websql/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
@@ -1,633 +0,0 @@
1
- import { _, /* */ /* */ } from 'tnp-core/websql'; /* */
2
- const openSourceProvidersIssuePrefix = [
3
- 'GH',
4
- ];
5
- const regexTeamsID = /[A-Z0-9]+\#/;
6
- const regexCommitModuleInArgs = /\[[a-z|\-|\,]+\]/;
7
- const regexCommitModuleInBranch = /\-\-[a-z|\-|\_]+\-\-/;
8
- export class CommitData {
9
- constructor() {
10
- this.useFeatureBranchForTestBranch = false;
11
- }
12
- static cleanHttpFromCommitMessage(commitMsg) {
13
- if (!commitMsg) {
14
- return commitMsg;
15
- }
16
- commitMsg = commitMsg.replace('https://', '');
17
- commitMsg = commitMsg.replace('http://', '');
18
- return commitMsg;
19
- }
20
- static getTeamsIdFrom(commitMsg) {
21
- let teamID = _.first(commitMsg.match(regexTeamsID));
22
- if (teamID) {
23
- commitMsg = commitMsg.replace(teamID, '');
24
- }
25
- return {
26
- commitMsgOrBranchName: commitMsg,
27
- teamID,
28
- };
29
- }
30
- static getModuleNameFrom(commitMsg) {
31
- let commitModuleName = _.first(commitMsg.match(regexCommitModuleInArgs));
32
- if (commitModuleName) {
33
- commitMsg = commitMsg.replace(commitModuleName, '');
34
- }
35
- commitModuleName = commitModuleName?.replace(/\[/g, '').replace(/\]/g, '');
36
- return {
37
- commitMsg,
38
- commitModuleName,
39
- };
40
- }
41
- /**
42
- *
43
- * @returns jiras (from oldest to newset)
44
- */
45
- static extractAndOrderJiraNumbers(commitOrBranchName) {
46
- /* */
47
- /* */
48
- /* */
49
- /* */
50
- /* */
51
- /* */
52
- /* */
53
- /* */
54
- /* */
55
- /* */
56
- /* */
57
- /* */
58
- /* */
59
- /* */
60
- /* */
61
- /* */
62
- /* */
63
- /* */
64
- /* */
65
- /* */
66
- /* */
67
- /* */
68
- /* */
69
- /* */
70
- /* */
71
- /* */
72
- return (void 0);
73
- }
74
- /**
75
- *
76
- * @returns jiras (from oldest to newset)
77
- */
78
- static extractAndOrderIssuesFromOtherProjects(
79
- /**
80
- * example:
81
- * commit: proper git commands tnp/GH-9 darekf77/tnp-helpers/GH-10
82
- * feature/__tnp-GH-9____darekf77_tnp-helpers-GH10__-proper-git-commands
83
- */
84
- commitOrBranchName, currentOrigin) {
85
- /* */
86
- /* */
87
- /* */
88
- /* */
89
- /* */
90
- /* */
91
- /* */
92
- /* */
93
- /* */
94
- /* */
95
- /* */
96
- /* */
97
- /* */
98
- /* */
99
- /* */
100
- /* */
101
- /* */
102
- /* */
103
- /* */
104
- /* */
105
- /* */
106
- /* */
107
- /* */
108
- /* */
109
- /* */
110
- /* */
111
- /* */
112
- /* */
113
- /* */
114
- /* */
115
- /* */
116
- /* */
117
- /* */
118
- /* */
119
- /* */
120
- /* */
121
- /* */
122
- /* */
123
- /* */
124
- /* */
125
- /* */
126
- /* */
127
- /* */
128
- /* */
129
- /* */
130
- /* */
131
- /* */
132
- /* */
133
- /* */
134
- /* */
135
- /* */
136
- /* */
137
- /* */
138
- /* */
139
- /* */
140
- /* */
141
- /* */
142
- /* */
143
- /* */
144
- /* */
145
- /* */
146
- /* */
147
- /* */
148
- /* */
149
- /* */
150
- /* */
151
- /* */
152
- /* */
153
- /* */
154
- /* */
155
- /* */
156
- /* */
157
- /* */
158
- /* */
159
- /* */
160
- /* */
161
- /* */
162
- /* */
163
- return (void 0);
164
- }
165
- static cleanMessageFromJiraNumTeamIdEtc(message, optinos) {
166
- message = message || '';
167
- let { teamID, commitModuleName, jiraNumbers, issuesFromOtherProjects } = optinos || {};
168
- teamID = teamID || this.getTeamsIdFrom(message).teamID || '';
169
- commitModuleName =
170
- commitModuleName ||
171
- this.getModuleNameFrom(message).commitModuleName ||
172
- '';
173
- jiraNumbers = jiraNumbers || this.extractAndOrderJiraNumbers(message) || [];
174
- issuesFromOtherProjects =
175
- issuesFromOtherProjects ||
176
- this.extractAndOrderIssuesFromOtherProjects(message) ||
177
- [];
178
- if (!!teamID.trim()) {
179
- message = message.replace(teamID.toLowerCase().replace('-', ' '), ' ');
180
- message = message.replace(teamID.toUpperCase().replace('-', ' '), ' ');
181
- }
182
- for (const issueFromOtherProj of issuesFromOtherProjects || []) {
183
- message = message.replace(`__${issueFromOtherProj.replace(/\//g, '_').replace(/\-/g, ' ')}__`, ' ');
184
- message = message.replace(issueFromOtherProj, ' ');
185
- message = message.replace(issueFromOtherProj.toLowerCase().replace('-', ' '), ' ');
186
- message = message.replace(issueFromOtherProj.toUpperCase().replace('-', ' '), ' ');
187
- message = message.replace(issueFromOtherProj.toLowerCase(), ' ');
188
- message = message.replace(regexCommitModuleInArgs, ' ');
189
- message = message.replace(regexCommitModuleInBranch, ' ');
190
- message = message.replace(/\ \ /g, ' ');
191
- }
192
- for (const jira of jiraNumbers || []) {
193
- message = message.replace(jira.toLowerCase().replace('-', ' '), ' ');
194
- message = message.replace(jira.toUpperCase().replace('-', ' '), ' ');
195
- message = message.replace(jira, ' ');
196
- message = message.replace(jira.toLowerCase(), ' ');
197
- message = message.replace(regexCommitModuleInArgs, ' ');
198
- message = message.replace(regexCommitModuleInBranch, ' ');
199
- message = message.replace(/\ \ /g, ' ');
200
- }
201
- if (!!teamID.trim()) {
202
- message = message.replace(/\_/g, ' ');
203
- }
204
- if (!!commitModuleName.trim()) {
205
- const cleanedModuleName = commitModuleName
206
- .replace(/\-/g, ' ')
207
- .replace(/\,/g, '_');
208
- message = message.replace(cleanedModuleName, ' ');
209
- }
210
- return message
211
- .replace(/\ \ /g, ' ')
212
- .replace(/\ \ /g, ' ')
213
- .replace(/\ \ /g, ' ');
214
- }
215
- static getModuleNameFromBranch(branchName) {
216
- let commitModuleName = _.first(branchName.match(regexCommitModuleInBranch));
217
- if (commitModuleName) {
218
- branchName = branchName.replace(commitModuleName, '');
219
- commitModuleName = commitModuleName
220
- ?.replace(/^\-\-/, '')
221
- ?.replace(/\-\-$/, '');
222
- if (commitModuleName.startsWith('-')) {
223
- commitModuleName = commitModuleName.replace(/^\-/, '');
224
- }
225
- }
226
- commitModuleName = commitModuleName
227
- ?.replace(/^\-\-/, '')
228
- ?.replace(/\-\-$/, '')
229
- .replace(/\_/, ',');
230
- return { commitModuleName };
231
- }
232
- static async getFromArgs(args, options) {
233
- /* */
234
- /* */
235
- /* */
236
- /* */
237
- /* */
238
- /* */
239
- /* */
240
- /* */
241
- /* */
242
- /* */
243
- /* */
244
- /* */
245
- /* */
246
- /* */
247
- /* */
248
- /* */
249
- /* */
250
- /* */
251
- /* */
252
- /* */
253
- /* */
254
- /* */
255
- /* */
256
- /* */
257
- /* */
258
- /* */
259
- /* */
260
- /* */
261
- /* */
262
- /* */
263
- /* */
264
- /* */
265
- /* */
266
- /* */
267
- /* */
268
- /* */
269
- /* */
270
- /* */
271
- /* */
272
- /* */
273
- /* */
274
- /* */
275
- /* */
276
- /* */
277
- /* */
278
- /* */
279
- /* */
280
- /* */
281
- /* */
282
- /* */
283
- /* */
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- /* */
289
- /* */
290
- /* */
291
- /* */
292
- /* */
293
- /* */
294
- /* */
295
- /* */
296
- /* */
297
- /* */
298
- /* */
299
- return (void 0);
300
- }
301
- static async getFromBranch(currentBranchName, options) {
302
- /* */
303
- /* */
304
- /* */
305
- /* */
306
- /* */
307
- /* */
308
- /* */
309
- /* */
310
- /* */
311
- /* */
312
- /* */
313
- /* */
314
- /* */
315
- /* */
316
- /* */
317
- /* */
318
- /* */
319
- /* */
320
- /* */
321
- /* */
322
- /* */
323
- /* */
324
- /* */
325
- /* */
326
- /* */
327
- /* */
328
- /* */
329
- /* */
330
- /* */
331
- /* */
332
- /* */
333
- /* */
334
- /* */
335
- /* */
336
- /* */
337
- /* */
338
- /* */
339
- /* */
340
- /* */
341
- /* */
342
- /* */
343
- /* */
344
- /* */
345
- /* */
346
- /* */
347
- /* */
348
- /* */
349
- /* */
350
- /* */
351
- /* */
352
- /* */
353
- /* */
354
- /* */
355
- /* */
356
- /* */
357
- /* */
358
- /* */
359
- /* */
360
- /* */
361
- /* */
362
- /* */
363
- /* */
364
- /* */
365
- /* */
366
- /* */
367
- /* */
368
- /* */
369
- /* */
370
- /* */
371
- /* */
372
- /* */
373
- /* */
374
- /* */
375
- /* */
376
- /* */
377
- /* */
378
- /* */
379
- /* */
380
- /* */
381
- /* */
382
- /* */
383
- /* */
384
- /* */
385
- /* */
386
- /* */
387
- /* */
388
- /* */
389
- /* */
390
- /* */
391
- /* */
392
- /* */
393
- /* */
394
- /* */
395
- /* */
396
- /* */
397
- /* */
398
- /* */
399
- /* */
400
- /* */
401
- /* */
402
- /* */
403
- /* */
404
- /* */
405
- /* */
406
- /* */
407
- /* */
408
- /* */
409
- /* */
410
- /* */
411
- /* */
412
- /* */
413
- return (void 0);
414
- }
415
- static from(options) {
416
- options = (options ? options : {});
417
- const opt = _.merge(new CommitData(), _.cloneDeep(options));
418
- return opt;
419
- }
420
- clearMessage(message) {
421
- return CommitData.cleanMessageFromJiraNumTeamIdEtc(message, {
422
- teamID: this.teamID,
423
- commitModuleName: this.commitModuleName,
424
- jiraNumbers: this.jiraNumbers,
425
- issuesFromOtherProjects: this.issuesFromOtherProjects,
426
- });
427
- }
428
- /**
429
- * pure message what was done (without jira or prefixes)
430
- * => is included in this.commitMessage
431
- */
432
- get message() {
433
- return this.clearMessage(this._message);
434
- }
435
- set message(message) {
436
- this._message = this.clearMessage(message);
437
- }
438
- get branchPrefix() {
439
- /* */
440
- /* */
441
- /* */
442
- /* */
443
- /* */
444
- /* */
445
- /* */
446
- /* */
447
- /* */
448
- /* */
449
- return (void 0);
450
- }
451
- /**
452
- * ex. taon/GH-12 darekf77/tnp-helpers/GH-4
453
- */
454
- get issuesFromOtherProjects() {
455
- return this.__issuesFromOtherProjects;
456
- }
457
- set issuesFromOtherProjects(value) {
458
- this.__issuesFromOtherProjects = value;
459
- }
460
- get commitMessage() {
461
- /* */
462
- /* */
463
- /* */
464
- /* */
465
- /* */
466
- /* */
467
- /* */
468
- /* */
469
- /* */
470
- /* */
471
- /* */
472
- /* */
473
- /* */
474
- /* */
475
- /* */
476
- /* */
477
- /* */
478
- /* */
479
- /* */
480
- /* */
481
- /* */
482
- /* */
483
- /* */
484
- /* */
485
- /* */
486
- /* */
487
- /* */
488
- /* */
489
- /* */
490
- /* */
491
- /* */
492
- /* */
493
- /* */
494
- /* */
495
- /* */
496
- /* */
497
- /* */
498
- /* */
499
- /* */
500
- /* */
501
- /* */
502
- /* */
503
- /* */
504
- /* */
505
- /* */
506
- /* */
507
- /* */
508
- /* */
509
- /* */
510
- /* */
511
- /* */
512
- /* */
513
- /* */
514
- /* */
515
- /* */
516
- /* */
517
- /* */
518
- /* */
519
- /* */
520
- /* */
521
- /* */
522
- /* */
523
- /* */
524
- /* */
525
- /* */
526
- /* */
527
- /* */
528
- /* */
529
- /* */
530
- /* */
531
- /* */
532
- /* */
533
- /* */
534
- /* */
535
- /* */
536
- /* */
537
- /* */
538
- /* */
539
- /* */
540
- /* */
541
- /* */
542
- /* */
543
- /* */
544
- /* */
545
- /* */
546
- /* */
547
- /* */
548
- /* */
549
- /* */
550
- /* */
551
- /* */
552
- /* */
553
- /* */
554
- /* */
555
- /* */
556
- /* */
557
- /* */
558
- /* */
559
- /* */
560
- /* */
561
- /* */
562
- /* */
563
- /* */
564
- /* */
565
- /* */
566
- /* */
567
- /* */
568
- /* */
569
- /* */
570
- /* */
571
- /* */
572
- /* */
573
- /* */
574
- /* */
575
- return (void 0);
576
- }
577
- get branchName() {
578
- /* */
579
- /* */
580
- /* */
581
- /* */
582
- /* */
583
- /* */
584
- /* */
585
- /* */
586
- /* */
587
- /* */
588
- /* */
589
- /* */
590
- /* */
591
- /* */
592
- /* */
593
- /* */
594
- /* */
595
- /* */
596
- /* */
597
- /* */
598
- /* */
599
- /* */
600
- /* */
601
- /* */
602
- /* */
603
- /* */
604
- /* */
605
- /* */
606
- /* */
607
- /* */
608
- /* */
609
- /* */
610
- /* */
611
- /* */
612
- /* */
613
- /* */
614
- /* */
615
- /* */
616
- /* */
617
- /* */
618
- /* */
619
- /* */
620
- /* */
621
- /* */
622
- /* */
623
- return (void 0);
624
- }
625
- get isActionCommit() {
626
- /* */
627
- /* */
628
- return (void 0);
629
- }
630
- }
631
- ;
632
- ({}); // @--end-of-file-for-module=tnp-helpers lib/base/commit-data.ts
633
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NvbW1pdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBSyxNQUFNLGlCQUFpQixDQUFDLENBQUEsS0FBSztBQVczRCxNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLElBQUk7Q0FNTCxDQUFDO0FBd0JGLE1BQU0sWUFBWSxHQUFXLGFBQWEsQ0FBQztBQUUzQyxNQUFNLHVCQUF1QixHQUFXLGtCQUFrQixDQUFDO0FBQzNELE1BQU0seUJBQXlCLEdBQVcsc0JBQXNCLENBQUM7QUFFakUsTUFBTSxPQUFPLFVBQVU7SUFBdkI7UUFtakJFLGtDQUE2QixHQUFZLEtBQUssQ0FBQztJQW9PakQsQ0FBQztJQW54QlMsTUFBTSxDQUFDLDBCQUEwQixDQUFDLFNBQWlCO1FBQ3pELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFJTyxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQWlCO1FBQzdDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELE9BQU87WUFDTCxxQkFBcUIsRUFBRSxTQUFTO1lBQ2hDLE1BQU07U0FDUCxDQUFDO0lBQ0osQ0FBQztJQUlPLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxTQUFpQjtRQUNoRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7UUFDekUsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxnQkFBZ0IsR0FBRyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0UsT0FBTztZQUNMLFNBQVM7WUFDVCxnQkFBZ0I7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFJRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsMEJBQTBCLENBQUMsa0JBQTBCO1FBQzlELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxzQ0FBc0M7SUFDM0M7Ozs7T0FJRztJQUNILGtCQUEwQixFQUMxQixhQUFzQjtRQUUxQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsTUFBTSxDQUFDLGdDQUFnQyxDQUNyQyxPQUFlLEVBQ2YsT0FLQztRQUVELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3hCLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLEdBQ3BFLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDaEIsTUFBTSxHQUFHLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDN0QsZ0JBQWdCO1lBQ2QsZ0JBQWdCO2dCQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsZ0JBQWdCO2dCQUNoRCxFQUFFLENBQUM7UUFDTCxXQUFXLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUUsdUJBQXVCO1lBQ3JCLHVCQUF1QjtnQkFDdkIsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQztnQkFDcEQsRUFBRSxDQUFDO1FBRUwsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDcEIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdkUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUlELEtBQUssTUFBTSxrQkFBa0IsSUFBSSx1QkFBdUIsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUcvRCxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FDdkIsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksRUFDbkUsR0FBRyxDQUNKLENBQUM7WUFDRixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNuRCxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FDdkIsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFDbEQsR0FBRyxDQUNKLENBQUM7WUFDRixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FDdkIsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFDbEQsR0FBRyxDQUNKLENBQUM7WUFDRixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNqRSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4RCxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxRCxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELEtBQUssTUFBTSxJQUFJLElBQUksV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JFLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JFLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNyQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDbkQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDeEQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMseUJBQXlCLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDMUQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEMsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDOUIsTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0I7aUJBQ3ZDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO2lCQUNuQixPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBRXZCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxPQUFPLE9BQU87YUFDWCxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQzthQUNyQixPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQzthQUNyQixPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFLTyxNQUFNLENBQUMsdUJBQXVCLENBQUMsVUFBa0I7UUFDdkQsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO1FBQzVFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN0RCxnQkFBZ0IsR0FBRyxnQkFBZ0I7Z0JBQ2pDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6QixJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELENBQUM7UUFDSCxDQUFDO1FBQ0QsZ0JBQWdCLEdBQUcsZ0JBQWdCO1lBQ2pDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDdEIsRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQzthQUNyQixPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXRCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFJRCxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDdEIsSUFBYyxFQUNkLE9BV0M7UUFFTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQ3hCLGlCQUF5QixFQUN6QixPQVdDO1FBRUwsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlNLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLE9BU0M7UUFFRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFRLENBQUM7UUFFMUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM1RCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUE4Qk8sWUFBWSxDQUFDLE9BQWU7UUFDbEMsT0FBTyxVQUFVLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxFQUFFO1lBQzFELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1lBQ3ZDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3Qix1QkFBdUIsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1NBQ3RELENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRDs7O09BR0c7SUFDSCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBTUQsSUFBSSxZQUFZO1FBQ2xCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7O09BRUc7SUFDSCxJQUFJLHVCQUF1QjtRQUN6QixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSx1QkFBdUIsQ0FBQyxLQUFlO1FBQ3pDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUM7SUFrQnpDLENBQUM7SUFNRCxJQUFJLGFBQWE7UUFDbkIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksVUFBVTtRQUNoQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSxjQUFjO1FBQ3BCLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnRUFBZ0UiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyAgIF8sIC8qICovIC8qICovICAgIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7IHBhdGggfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuXG5cblxuY29uc3Qgb3BlblNvdXJjZVByb3ZpZGVyc0lzc3VlUHJlZml4ID0gW1xuICAnR0gnLFxuXG5cblxuXG5cbl07XG5cblxuXG5leHBvcnQgdHlwZSBDb21tb25Db21taXRNc2dCcmFuY2ggPVxuICB8ICdyZWZhY3RvcidcbiAgfCAnY2hvcmUnXG4gIHwgJ3N0eWxlJ1xuICB8ICdkb2NzJ1xuICB8ICd0ZXN0J1xuICB8ICdjaSdcbiAgfCAnYnVpbGQnXG4gIHwgJ3JlbGVhc2UnO1xuXG5cblxuZXhwb3J0IHR5cGUgVHlwZU9mQ29tbWl0ID1cbiAgfCAnZmVhdHVyZSdcbiAgfCAnYnVnZml4J1xuICB8ICdwZXJmb3JtYW5jZSdcbiAgfCBDb21tb25Db21taXRNc2dCcmFuY2g7XG5cblxuZXhwb3J0IHR5cGUgVHlwZU9mTXNnUHJlZml4ID0gJ2ZlYXQnIHwgJ2ZpeCcgfCAncGVyZicgfCBDb21tb25Db21taXRNc2dCcmFuY2g7XG5jb25zdCByZWdleFRlYW1zSUQ6IFJlZ0V4cCA9IC9bQS1aMC05XStcXCMvO1xuXG5jb25zdCByZWdleENvbW1pdE1vZHVsZUluQXJnczogUmVnRXhwID0gL1xcW1thLXp8XFwtfFxcLF0rXFxdLztcbmNvbnN0IHJlZ2V4Q29tbWl0TW9kdWxlSW5CcmFuY2g6IFJlZ0V4cCA9IC9cXC1cXC1bYS16fFxcLXxcXF9dK1xcLVxcLS87XG5cbmV4cG9ydCBjbGFzcyBDb21taXREYXRhIHtcblxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2xlYW5IdHRwRnJvbUNvbW1pdE1lc3NhZ2UoY29tbWl0TXNnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghY29tbWl0TXNnKSB7XG4gICAgICByZXR1cm4gY29tbWl0TXNnO1xuICAgIH1cbiAgICBjb21taXRNc2cgPSBjb21taXRNc2cucmVwbGFjZSgnaHR0cHM6Ly8nLCAnJyk7XG4gICAgY29tbWl0TXNnID0gY29tbWl0TXNnLnJlcGxhY2UoJ2h0dHA6Ly8nLCAnJyk7XG4gICAgcmV0dXJuIGNvbW1pdE1zZztcbiAgfVxuXG5cblxuICBwcml2YXRlIHN0YXRpYyBnZXRUZWFtc0lkRnJvbShjb21taXRNc2c6IHN0cmluZykge1xuICAgIGxldCB0ZWFtSUQgPSBfLmZpcnN0KGNvbW1pdE1zZy5tYXRjaChyZWdleFRlYW1zSUQpKTtcbiAgICBpZiAodGVhbUlEKSB7XG4gICAgICBjb21taXRNc2cgPSBjb21taXRNc2cucmVwbGFjZSh0ZWFtSUQsICcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1pdE1zZ09yQnJhbmNoTmFtZTogY29tbWl0TXNnLFxuICAgICAgdGVhbUlELFxuICAgIH07XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0TW9kdWxlTmFtZUZyb20oY29tbWl0TXNnOiBzdHJpbmcpIHtcbiAgICBsZXQgY29tbWl0TW9kdWxlTmFtZSA9IF8uZmlyc3QoY29tbWl0TXNnLm1hdGNoKHJlZ2V4Q29tbWl0TW9kdWxlSW5BcmdzKSk7XG4gICAgaWYgKGNvbW1pdE1vZHVsZU5hbWUpIHtcbiAgICAgIGNvbW1pdE1zZyA9IGNvbW1pdE1zZy5yZXBsYWNlKGNvbW1pdE1vZHVsZU5hbWUsICcnKTtcbiAgICB9XG4gICAgY29tbWl0TW9kdWxlTmFtZSA9IGNvbW1pdE1vZHVsZU5hbWU/LnJlcGxhY2UoL1xcWy9nLCAnJykucmVwbGFjZSgvXFxdL2csICcnKTtcbiAgICByZXR1cm4ge1xuICAgICAgY29tbWl0TXNnLFxuICAgICAgY29tbWl0TW9kdWxlTmFtZSxcbiAgICB9O1xuICB9XG5cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJucyBqaXJhcyAoZnJvbSBvbGRlc3QgdG8gbmV3c2V0KVxuICAgKi9cbiAgc3RhdGljIGV4dHJhY3RBbmRPcmRlckppcmFOdW1iZXJzKGNvbW1pdE9yQnJhbmNoTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJucyBqaXJhcyAoZnJvbSBvbGRlc3QgdG8gbmV3c2V0KVxuICAgKi9cbiAgc3RhdGljIGV4dHJhY3RBbmRPcmRlcklzc3Vlc0Zyb21PdGhlclByb2plY3RzKFxuICAgIC8qKlxuICAgICAqIGV4YW1wbGU6XG4gICAgICogY29tbWl0OiBwcm9wZXIgZ2l0IGNvbW1hbmRzIHRucC9HSC05IGRhcmVrZjc3L3RucC1oZWxwZXJzL0dILTEwXG4gICAgICogZmVhdHVyZS9fX3RucC1HSC05X19fX2RhcmVrZjc3X3RucC1oZWxwZXJzLUdIMTBfXy1wcm9wZXItZ2l0LWNvbW1hbmRzXG4gICAgICovXG4gICAgY29tbWl0T3JCcmFuY2hOYW1lOiBzdHJpbmcsXG4gICAgY3VycmVudE9yaWdpbj86IHN0cmluZyxcbiAgKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGF0aWMgY2xlYW5NZXNzYWdlRnJvbUppcmFOdW1UZWFtSWRFdGMoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG9wdGlub3M/OiB7XG4gICAgICB0ZWFtSUQ6IHN0cmluZztcbiAgICAgIGNvbW1pdE1vZHVsZU5hbWU6IHN0cmluZztcbiAgICAgIGppcmFOdW1iZXJzOiBzdHJpbmdbXTtcbiAgICAgIGlzc3Vlc0Zyb21PdGhlclByb2plY3RzOiBzdHJpbmdbXTtcbiAgICB9LFxuICApOiBzdHJpbmcge1xuICAgIG1lc3NhZ2UgPSBtZXNzYWdlIHx8ICcnO1xuICAgIGxldCB7IHRlYW1JRCwgY29tbWl0TW9kdWxlTmFtZSwgamlyYU51bWJlcnMsIGlzc3Vlc0Zyb21PdGhlclByb2plY3RzIH0gPVxuICAgICAgb3B0aW5vcyB8fCB7fTtcbiAgICB0ZWFtSUQgPSB0ZWFtSUQgfHwgdGhpcy5nZXRUZWFtc0lkRnJvbShtZXNzYWdlKS50ZWFtSUQgfHwgJyc7XG4gICAgY29tbWl0TW9kdWxlTmFtZSA9XG4gICAgICBjb21taXRNb2R1bGVOYW1lIHx8XG4gICAgICB0aGlzLmdldE1vZHVsZU5hbWVGcm9tKG1lc3NhZ2UpLmNvbW1pdE1vZHVsZU5hbWUgfHxcbiAgICAgICcnO1xuICAgIGppcmFOdW1iZXJzID0gamlyYU51bWJlcnMgfHwgdGhpcy5leHRyYWN0QW5kT3JkZXJKaXJhTnVtYmVycyhtZXNzYWdlKSB8fCBbXTtcbiAgICBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyA9XG4gICAgICBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyB8fFxuICAgICAgdGhpcy5leHRyYWN0QW5kT3JkZXJJc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyhtZXNzYWdlKSB8fFxuICAgICAgW107XG5cbiAgICBpZiAoISF0ZWFtSUQudHJpbSgpKSB7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHRlYW1JRC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSh0ZWFtSUQudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJyAnKSwgJyAnKTtcbiAgICB9XG5cblxuXG4gICAgZm9yIChjb25zdCBpc3N1ZUZyb21PdGhlclByb2ogb2YgaXNzdWVzRnJvbU90aGVyUHJvamVjdHMgfHwgW10pIHtcblxuXG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKFxuICAgICAgICBgX18ke2lzc3VlRnJvbU90aGVyUHJvai5yZXBsYWNlKC9cXC8vZywgJ18nKS5yZXBsYWNlKC9cXC0vZywgJyAnKX1fX2AsXG4gICAgICAgICcgJyxcbiAgICAgICk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGlzc3VlRnJvbU90aGVyUHJvaiwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoXG4gICAgICAgIGlzc3VlRnJvbU90aGVyUHJvai50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLFxuICAgICAgICAnICcsXG4gICAgICApO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShcbiAgICAgICAgaXNzdWVGcm9tT3RoZXJQcm9qLnRvVXBwZXJDYXNlKCkucmVwbGFjZSgnLScsICcgJyksXG4gICAgICAgICcgJyxcbiAgICAgICk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGlzc3VlRnJvbU90aGVyUHJvai50b0xvd2VyQ2FzZSgpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShyZWdleENvbW1pdE1vZHVsZUluQXJncywgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UocmVnZXhDb21taXRNb2R1bGVJbkJyYW5jaCwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL1xcIFxcIC9nLCAnICcpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgamlyYSBvZiBqaXJhTnVtYmVycyB8fCBbXSkge1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShqaXJhLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgnLScsICcgJyksICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGppcmEudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJyAnKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoamlyYSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoamlyYS50b0xvd2VyQ2FzZSgpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShyZWdleENvbW1pdE1vZHVsZUluQXJncywgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UocmVnZXhDb21taXRNb2R1bGVJbkJyYW5jaCwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL1xcIFxcIC9nLCAnICcpO1xuICAgIH1cblxuICAgIGlmICghIXRlYW1JRC50cmltKCkpIHtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL1xcXy9nLCAnICcpO1xuICAgIH1cblxuICAgIGlmICghIWNvbW1pdE1vZHVsZU5hbWUudHJpbSgpKSB7XG4gICAgICBjb25zdCBjbGVhbmVkTW9kdWxlTmFtZSA9IGNvbW1pdE1vZHVsZU5hbWVcbiAgICAgICAgLnJlcGxhY2UoL1xcLS9nLCAnICcpXG4gICAgICAgIC5yZXBsYWNlKC9cXCwvZywgJ18nKTtcblxuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShjbGVhbmVkTW9kdWxlTmFtZSwgJyAnKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VcbiAgICAgIC5yZXBsYWNlKC9cXCBcXCAvZywgJyAnKVxuICAgICAgLnJlcGxhY2UoL1xcIFxcIC9nLCAnICcpXG4gICAgICAucmVwbGFjZSgvXFwgXFwgL2csICcgJyk7XG4gIH1cblxuXG5cblxuICBwcml2YXRlIHN0YXRpYyBnZXRNb2R1bGVOYW1lRnJvbUJyYW5jaChicmFuY2hOYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgY29tbWl0TW9kdWxlTmFtZSA9IF8uZmlyc3QoYnJhbmNoTmFtZS5tYXRjaChyZWdleENvbW1pdE1vZHVsZUluQnJhbmNoKSk7XG4gICAgaWYgKGNvbW1pdE1vZHVsZU5hbWUpIHtcbiAgICAgIGJyYW5jaE5hbWUgPSBicmFuY2hOYW1lLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZSwgJycpO1xuICAgICAgY29tbWl0TW9kdWxlTmFtZSA9IGNvbW1pdE1vZHVsZU5hbWVcbiAgICAgICAgPy5yZXBsYWNlKC9eXFwtXFwtLywgJycpXG4gICAgICAgID8ucmVwbGFjZSgvXFwtXFwtJC8sICcnKTtcbiAgICAgIGlmIChjb21taXRNb2R1bGVOYW1lLnN0YXJ0c1dpdGgoJy0nKSkge1xuICAgICAgICBjb21taXRNb2R1bGVOYW1lID0gY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9eXFwtLywgJycpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb21taXRNb2R1bGVOYW1lID0gY29tbWl0TW9kdWxlTmFtZVxuICAgICAgPy5yZXBsYWNlKC9eXFwtXFwtLywgJycpXG4gICAgICA/LnJlcGxhY2UoL1xcLVxcLSQvLCAnJylcbiAgICAgIC5yZXBsYWNlKC9cXF8vLCAnLCcpO1xuXG4gICAgcmV0dXJuIHsgY29tbWl0TW9kdWxlTmFtZSB9O1xuICB9XG5cblxuXG4gIHN0YXRpYyBhc3luYyBnZXRGcm9tQXJncyhcbiAgICBhcmdzOiBzdHJpbmdbXSxcbiAgICBvcHRpb25zOiB7XG4gICAgICB0eXBlT2ZDb21taXQ6IFR5cGVPZkNvbW1pdDtcbiAgICAgIC8qKlxuICAgICAgICogb25seSBuZWVkZWQgd2hlbiBwdXNoIGdpdGh1YlxuICAgICAgICogYW5kIEkgZm9yZ290IHRvIGFkZCBteSB1c2VybmFtZSBiZWZvcmUgaXNzdWVcbiAgICAgICAqIHRhb24gcGZpeCBwcm9wZXIgaW5wdXQgbXktcmVwbyMzNDRcbiAgICAgICAqIHRoYXQgc2hvdWxkIGJlXG4gICAgICAgKiB0YW9uIHBmaXggcHJvcGVyIGlucHV0IG15LXVzZXJuYW1lL215LXJlcG8jMzQ0XG4gICAgICAgKi9cbiAgICAgIGN1cnJlbnRPcmlnaW4/OiBzdHJpbmc7XG4gICAgICBqaXJhSXNzdWVzQXJlT3V0c2lkZUJyYWNrZXRzPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBQcm9taXNlPENvbW1pdERhdGE+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGFzeW5jIGdldEZyb21CcmFuY2goXG4gICAgY3VycmVudEJyYW5jaE5hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgcmVsZWFzZVdvcmRzPzogc3RyaW5nW107XG4gICAgICAvKipcbiAgICAgICAqIG9ubHkgbmVlZGVkIHdoZW4gcHVzaCBnaXRodWJcbiAgICAgICAqIGFuZCBJIGZvcmdvdCB0byBhZGQgbXkgdXNlcm5hbWUgYmVmb3JlIGlzc3VlXG4gICAgICAgKiB0YW9uIHBmaXggcHJvcGVyIGlucHV0IG15LXJlcG8jMzQ0XG4gICAgICAgKiB0aGF0IHNob3VsZCBiZVxuICAgICAgICogdGFvbiBwZml4IHByb3BlciBpbnB1dCBteS11c2VybmFtZS9teS1yZXBvIzM0NFxuICAgICAgICovXG4gICAgICBjdXJyZW50T3JpZ2luPzogc3RyaW5nO1xuICAgICAgamlyYUlzc3Vlc0FyZU91dHNpZGVCcmFja2V0cz86IGJvb2xlYW47XG4gICAgfSxcbiAgKTogUHJvbWlzZTxDb21taXREYXRhPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbShcbiAgICBvcHRpb25zOiBQaWNrPFxuICAgICAgQ29tbWl0RGF0YSxcbiAgICAgIHwgJ21lc3NhZ2UnXG4gICAgICB8ICdqaXJhTnVtYmVycydcbiAgICAgIHwgJ3R5cGVPZkNvbW1pdCdcbiAgICAgIHwgJ2NvbW1pdE1vZHVsZU5hbWUnXG4gICAgICB8ICd0ZWFtSUQnXG4gICAgICB8ICdpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cydcbiAgICAgIHwgJ2ppcmFJc3N1ZXNBcmVPdXRzaWRlQnJhY2tldHMnXG4gICAgPixcbiAgKTogQ29tbWl0RGF0YSB7XG4gICAgb3B0aW9ucyA9IChvcHRpb25zID8gb3B0aW9ucyA6IHt9KSBhcyBhbnk7XG5cbiAgICBjb25zdCBvcHQgPSBfLm1lcmdlKG5ldyBDb21taXREYXRhKCksIF8uY2xvbmVEZWVwKG9wdGlvbnMpKTtcbiAgICByZXR1cm4gb3B0O1xuICB9XG5cblxuXG5cblxuICBwcml2YXRlIF9tZXNzYWdlOiBzdHJpbmc7XG4gIHR5cGVPZkNvbW1pdDogVHlwZU9mQ29tbWl0O1xuICAvKipcbiAgICogZXguIEpJUkEtMjEzMiBvciBNWUpJUkFSRUZJWC0yMzQyMzRcbiAgICovXG4gIGppcmFOdW1iZXJzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogaWYgdHJ1ZSB0aGVuIGppcmEgaXNzdWVzIGFyZSBvdXRzaWRlIGJyYWNrZXRzXG4gICAqIGZlYXQ6IHByb3BlciBnaXQgY29tbWFuZHMgSklSQS0xMjM0XG4gICAqXG4gICAqIGJ5IGRlZmF1bHQgaXMgZmFsc2VcbiAgICogZmVhdChKSVJBLTEyMzQpOiBwcm9wZXIgZ2l0IGNvbW1hbmRzXG4gICAqL1xuICBqaXJhSXNzdWVzQXJlT3V0c2lkZUJyYWNrZXRzOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiB3aGVuIHNldCAtPiBqaXJhSXNzdWVzQXJlT3V0c2lkZUJyYWNrZXRzIGlzIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGNvbW1pdE1vZHVsZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdGVhbUlEOiBzdHJpbmc7XG5cblxuXG4gIHByaXZhdGUgY2xlYXJNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIENvbW1pdERhdGEuY2xlYW5NZXNzYWdlRnJvbUppcmFOdW1UZWFtSWRFdGMobWVzc2FnZSwge1xuICAgICAgdGVhbUlEOiB0aGlzLnRlYW1JRCxcbiAgICAgIGNvbW1pdE1vZHVsZU5hbWU6IHRoaXMuY29tbWl0TW9kdWxlTmFtZSxcbiAgICAgIGppcmFOdW1iZXJzOiB0aGlzLmppcmFOdW1iZXJzLFxuICAgICAgaXNzdWVzRnJvbU90aGVyUHJvamVjdHM6IHRoaXMuaXNzdWVzRnJvbU90aGVyUHJvamVjdHMsXG4gICAgfSk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIHB1cmUgbWVzc2FnZSB3aGF0IHdhcyBkb25lICh3aXRob3V0IGppcmEgb3IgcHJlZml4ZXMpXG4gICAqID0+IGlzIGluY2x1ZGVkIGluIHRoaXMuY29tbWl0TWVzc2FnZVxuICAgKi9cbiAgZ2V0IG1lc3NhZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2xlYXJNZXNzYWdlKHRoaXMuX21lc3NhZ2UpO1xuICB9XG4gIHNldCBtZXNzYWdlKG1lc3NhZ2UpIHtcbiAgICB0aGlzLl9tZXNzYWdlID0gdGhpcy5jbGVhck1lc3NhZ2UobWVzc2FnZSk7XG4gIH1cblxuXG4gIHVzZUZlYXR1cmVCcmFuY2hGb3JUZXN0QnJhbmNoOiBib29sZWFuID0gZmFsc2U7XG5cblxuICBnZXQgYnJhbmNoUHJlZml4KCk6IFR5cGVPZk1zZ1ByZWZpeCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogZXguIHRhb24vR0gtMTIgIGRhcmVrZjc3L3RucC1oZWxwZXJzL0dILTRcbiAgICovXG4gIGdldCBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX19pc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cztcbiAgfVxuXG4gIHNldCBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9faXNzdWVzRnJvbU90aGVyUHJvamVjdHMgPSB2YWx1ZTtcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4gIH1cblxuICBwcml2YXRlIF9faXNzdWVzRnJvbU90aGVyUHJvamVjdHM6IHN0cmluZ1tdO1xuXG5cblxuICBnZXQgY29tbWl0TWVzc2FnZSgpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgYnJhbmNoTmFtZSgpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNBY3Rpb25Db21taXQoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY29tbWl0LWRhdGEudHMiXX0=