tnp-helpers 18.0.16 → 18.0.18

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 (412) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  4. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  5. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +466 -0
  6. package/browser/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  7. package/browser/esm2022/lib/base/classes/base-db.mjs +31 -0
  8. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  9. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  10. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-git.mjs +2 -2
  11. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-github-pages.mjs +2 -2
  12. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-library-build.mjs +3 -3
  13. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  14. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  15. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +291 -0
  16. package/browser/esm2022/lib/base/classes/base-project.mjs +926 -0
  17. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  18. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-release-process.mjs +4 -4
  19. package/browser/esm2022/lib/base/classes/base-vscode.mjs +488 -0
  20. package/browser/esm2022/lib/base/classes/index.mjs +22 -0
  21. package/browser/esm2022/lib/base/commit-data.mjs +1 -1
  22. package/browser/esm2022/lib/base/config-database.mjs +5 -2
  23. package/browser/esm2022/lib/base/core-project.mjs +1 -1
  24. package/browser/esm2022/lib/base/index.mjs +3 -19
  25. package/browser/esm2022/lib/base/project-database.mjs +2 -2
  26. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +7 -0
  27. package/browser/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +19 -0
  28. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +108 -0
  29. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +26 -0
  30. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +35 -0
  31. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +122 -0
  32. package/browser/esm2022/lib/utils.mjs +33 -144
  33. package/browser/esm2022/migrations/1736198527297_init.mjs +41 -0
  34. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +55 -0
  35. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +37 -0
  36. package/browser/esm2022/migrations/index.mjs +5 -0
  37. package/browser/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  38. package/browser/fesm2022/tnp-helpers.mjs +2136 -1591
  39. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  40. package/{client/lib/base → browser/lib/base/classes}/base-cli-worker-controller.d.ts +2 -2
  41. package/browser/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +7 -1
  42. package/browser/lib/base/{base-git.d.ts → classes/base-git.d.ts} +1 -1
  43. package/{client/lib/base → browser/lib/base/classes}/base-library-build.d.ts +1 -1
  44. package/{websql/lib/base → browser/lib/base/classes}/base-linked-projects.d.ts +1 -1
  45. package/{client/lib/base → browser/lib/base/classes}/base-project-resolver.d.ts +4 -4
  46. package/browser/lib/base/{base-project.d.ts → classes/base-project.d.ts} +11 -4
  47. package/browser/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  48. package/browser/lib/base/classes/base-vscode.d.ts +24 -0
  49. package/browser/lib/base/classes/index.d.ts +16 -0
  50. package/browser/lib/base/config-database.d.ts +2 -2
  51. package/browser/lib/base/core-project.d.ts +1 -1
  52. package/browser/lib/base/index.d.ts +3 -16
  53. package/browser/lib/base/project-database.d.ts +2 -2
  54. package/browser/lib/base/tcp-udp-ports/index.d.ts +5 -0
  55. package/browser/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +7 -0
  56. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +20 -0
  57. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +15 -0
  58. package/browser/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  59. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +23 -0
  60. package/browser/lib/utils.d.ts +2 -38
  61. package/browser/migrations/1736198527297_init.d.ts +19 -0
  62. package/browser/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  63. package/browser/migrations/1736454437350_addFreePorts.d.ts +10 -0
  64. package/browser/migrations/index.d.ts +2 -0
  65. package/browser/migrations/migrations_index._auto-generated_.d.ts +12 -0
  66. package/client/README.md +24 -24
  67. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  68. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  69. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +466 -0
  70. package/client/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  71. package/client/esm2022/lib/base/classes/base-db.mjs +31 -0
  72. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  73. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  74. package/client/esm2022/lib/base/classes/base-git.mjs +932 -0
  75. package/client/esm2022/lib/base/classes/base-github-pages.mjs +110 -0
  76. package/{browser/esm2022/lib/base → client/esm2022/lib/base/classes}/base-library-build.mjs +2 -2
  77. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  78. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  79. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +291 -0
  80. package/client/esm2022/lib/base/classes/base-project.mjs +926 -0
  81. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  82. package/{browser/esm2022/lib/base → client/esm2022/lib/base/classes}/base-release-process.mjs +3 -3
  83. package/client/esm2022/lib/base/classes/base-vscode.mjs +488 -0
  84. package/client/esm2022/lib/base/classes/index.mjs +22 -0
  85. package/client/esm2022/lib/base/commit-data.mjs +1 -1
  86. package/client/esm2022/lib/base/config-database.mjs +5 -2
  87. package/client/esm2022/lib/base/core-project.mjs +1 -1
  88. package/client/esm2022/lib/base/index.mjs +3 -19
  89. package/client/esm2022/lib/base/project-database.mjs +2 -2
  90. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +7 -0
  91. package/client/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +19 -0
  92. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +108 -0
  93. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +26 -0
  94. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +35 -0
  95. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +122 -0
  96. package/client/esm2022/lib/utils.mjs +33 -144
  97. package/client/esm2022/migrations/1736198527297_init.mjs +41 -0
  98. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +55 -0
  99. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +37 -0
  100. package/client/esm2022/migrations/index.mjs +5 -0
  101. package/client/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  102. package/client/fesm2022/tnp-helpers.mjs +2136 -1591
  103. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  104. package/{browser/lib/base → client/lib/base/classes}/base-cli-worker-controller.d.ts +2 -2
  105. package/client/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +7 -1
  106. package/{websql/lib/base → client/lib/base/classes}/base-git.d.ts +1 -1
  107. package/{browser/lib/base → client/lib/base/classes}/base-library-build.d.ts +1 -1
  108. package/{browser/lib/base → client/lib/base/classes}/base-linked-projects.d.ts +1 -1
  109. package/{websql/lib/base → client/lib/base/classes}/base-project-resolver.d.ts +4 -4
  110. package/client/lib/base/{base-project.d.ts → classes/base-project.d.ts} +11 -4
  111. package/client/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  112. package/client/lib/base/classes/base-vscode.d.ts +24 -0
  113. package/client/lib/base/classes/index.d.ts +16 -0
  114. package/client/lib/base/config-database.d.ts +2 -2
  115. package/client/lib/base/core-project.d.ts +1 -1
  116. package/client/lib/base/index.d.ts +3 -16
  117. package/client/lib/base/project-database.d.ts +2 -2
  118. package/client/lib/base/tcp-udp-ports/index.d.ts +5 -0
  119. package/client/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +7 -0
  120. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +20 -0
  121. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +15 -0
  122. package/client/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  123. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +23 -0
  124. package/client/lib/utils.d.ts +2 -38
  125. package/client/migrations/1736198527297_init.d.ts +19 -0
  126. package/client/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  127. package/client/migrations/1736454437350_addFreePorts.d.ts +10 -0
  128. package/client/migrations/index.d.ts +2 -0
  129. package/client/migrations/migrations_index._auto-generated_.d.ts +12 -0
  130. package/lib/base/{base-cli-worker-controller.d.ts → classes/base-cli-worker-controller.d.ts} +4 -4
  131. package/lib/base/{base-cli-worker-controller.js → classes/base-cli-worker-controller.js} +3 -3
  132. package/lib/base/classes/base-cli-worker-controller.js.map +1 -0
  133. package/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +7 -1
  134. package/lib/base/{base-cli-worker.js → classes/base-cli-worker.js} +48 -29
  135. package/lib/base/classes/base-cli-worker.js.map +1 -0
  136. package/lib/base/{command-line-feature.backend.d.ts → classes/base-command-line-feature.backend.d.ts} +1 -1
  137. package/lib/base/{command-line-feature.backend.js → classes/base-command-line-feature.backend.js} +15 -15
  138. package/lib/base/classes/base-command-line-feature.backend.js.map +1 -0
  139. package/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +2 -2
  140. package/lib/base/{base-compiler-for-project.js → classes/base-compiler-for-project.js} +1 -1
  141. package/lib/base/{base-compiler-for-project.js.map → classes/base-compiler-for-project.js.map} +1 -1
  142. package/lib/base/{base-db.d.ts → classes/base-db.d.ts} +1 -1
  143. package/lib/base/{base-db.js → classes/base-db.js} +1 -1
  144. package/lib/base/{base-db.js.map → classes/base-db.js.map} +1 -1
  145. package/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +2 -2
  146. package/lib/base/{base-debounce-compiler-for-project.js.map → classes/base-debounce-compiler-for-project.js.map} +1 -1
  147. package/lib/base/{base-git.d.ts → classes/base-git.d.ts} +1 -1
  148. package/lib/base/{base-git.js → classes/base-git.js} +3 -3
  149. package/lib/base/{base-git.js.map → classes/base-git.js.map} +1 -1
  150. package/lib/base/{base-github-pages.js → classes/base-github-pages.js} +1 -1
  151. package/lib/base/{base-github-pages.js.map → classes/base-github-pages.js.map} +1 -1
  152. package/lib/base/{base-command-line.backend.d.ts → classes/base-global-command-line.backend.d.ts} +17 -4
  153. package/lib/base/{base-command-line.backend.js → classes/base-global-command-line.backend.js} +236 -161
  154. package/lib/base/classes/base-global-command-line.backend.js.map +1 -0
  155. package/lib/base/{base-ignore-hide.js → classes/base-ignore-hide.js} +1 -1
  156. package/lib/base/{base-ignore-hide.js.map → classes/base-ignore-hide.js.map} +1 -1
  157. package/lib/base/{base-library-build.d.ts → classes/base-library-build.d.ts} +3 -3
  158. package/lib/base/{base-library-build.js → classes/base-library-build.js} +2 -2
  159. package/lib/base/{base-library-build.js.map → classes/base-library-build.js.map} +1 -1
  160. package/lib/base/{base-linked-projects.d.ts → classes/base-linked-projects.d.ts} +1 -1
  161. package/lib/base/{base-linked-projects.js → classes/base-linked-projects.js} +1 -1
  162. package/lib/base/{base-linked-projects.js.map → classes/base-linked-projects.js.map} +1 -1
  163. package/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +3 -3
  164. package/lib/base/{base-npm-helpers.js → classes/base-npm-helpers.js} +1 -1
  165. package/lib/base/{base-npm-helpers.js.map → classes/base-npm-helpers.js.map} +1 -1
  166. package/lib/base/{base-project-resolver.d.ts → classes/base-project-resolver.d.ts} +4 -4
  167. package/lib/base/{base-project-resolver.js → classes/base-project-resolver.js} +6 -6
  168. package/lib/base/{base-project-resolver.js.map → classes/base-project-resolver.js.map} +1 -1
  169. package/lib/base/{base-project.d.ts → classes/base-project.d.ts} +14 -7
  170. package/lib/base/{base-project.js → classes/base-project.js} +34 -5
  171. package/lib/base/classes/base-project.js.map +1 -0
  172. package/lib/base/{base-quick-fixes.js → classes/base-quick-fixes.js} +1 -1
  173. package/lib/base/{base-quick-fixes.js.map → classes/base-quick-fixes.js.map} +1 -1
  174. package/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +3 -3
  175. package/lib/base/{base-release-process.js → classes/base-release-process.js} +2 -2
  176. package/lib/base/{base-release-process.js.map → classes/base-release-process.js.map} +1 -1
  177. package/lib/base/{base-start-config.backend.js → classes/base-start-config.backend.js} +2 -2
  178. package/lib/base/{base-start-config.backend.js.map → classes/base-start-config.backend.js.map} +1 -1
  179. package/lib/base/classes/base-vscode.d.ts +23 -0
  180. package/lib/base/classes/base-vscode.js +451 -0
  181. package/lib/base/classes/base-vscode.js.map +1 -0
  182. package/lib/base/classes/index.d.ts +18 -0
  183. package/lib/base/classes/index.js +24 -0
  184. package/lib/base/classes/index.js.map +1 -0
  185. package/lib/base/commit-data.js.map +1 -1
  186. package/lib/base/config-database.d.ts +2 -2
  187. package/lib/base/config-database.js +5 -8
  188. package/lib/base/config-database.js.map +1 -1
  189. package/lib/base/core-project.d.ts +3 -3
  190. package/lib/base/gh-temp-code.d.ts +1 -1
  191. package/lib/base/index.d.ts +2 -18
  192. package/lib/base/index.js +2 -18
  193. package/lib/base/index.js.map +1 -1
  194. package/lib/base/project-database.d.ts +2 -2
  195. package/lib/base/project-database.js +1 -1
  196. package/lib/base/project-database.js.map +1 -1
  197. package/lib/base/tcp-udp-ports/index.d.ts +4 -0
  198. package/lib/base/tcp-udp-ports/index.js +8 -0
  199. package/lib/base/tcp-udp-ports/index.js.map +1 -0
  200. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +6 -0
  201. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +45 -0
  202. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -0
  203. package/lib/base/tcp-udp-ports/ports.controller.d.ts +19 -0
  204. package/lib/base/tcp-udp-ports/ports.controller.js +135 -0
  205. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -0
  206. package/lib/base/tcp-udp-ports/ports.entity.d.ts +14 -0
  207. package/lib/base/tcp-udp-ports/ports.entity.js +45 -0
  208. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -0
  209. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +58 -0
  210. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +41 -0
  211. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -0
  212. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +31 -0
  213. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +215 -0
  214. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -0
  215. package/lib/helpers/for-backend/helpers-cli-tool.backend.d.ts +1 -1
  216. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  217. package/lib/helpers/for-backend/helpers-console-gui.js +2 -1
  218. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  219. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +2 -2
  220. package/lib/helpers/for-backend/helpers-git.backend.js +2 -2
  221. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  222. package/lib/helpers/for-backend/helpers-process.backend.d.ts +3 -3
  223. package/lib/helpers/for-backend/helpers-process.backend.js +4 -26
  224. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  225. package/lib/helpers/for-backend/helpers-vscode.backend.d.ts +2 -2
  226. package/lib/helpers/for-browser/angular.helper.js +2 -2
  227. package/lib/helpers/helpers.d.ts +1 -1
  228. package/lib/models.d.ts +2 -2
  229. package/lib/old/base-component.js +2 -2
  230. package/lib/old/base-formly-component.js +2 -2
  231. package/lib/old/dual-component-ctrl.js +2 -2
  232. package/lib/utils.d.ts +2 -38
  233. package/lib/utils.js +51 -158
  234. package/lib/utils.js.map +1 -1
  235. package/migrations/1736198527297_init.d.ts +18 -0
  236. package/migrations/1736198527297_init.js +72 -0
  237. package/migrations/1736198527297_init.js.map +1 -0
  238. package/migrations/1736199486472_addingNotAssignablePorts.d.ts +10 -0
  239. package/migrations/1736199486472_addingNotAssignablePorts.js +94 -0
  240. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -0
  241. package/migrations/1736454437350_addFreePorts.d.ts +9 -0
  242. package/migrations/1736454437350_addFreePorts.js +78 -0
  243. package/migrations/1736454437350_addFreePorts.js.map +1 -0
  244. package/migrations/migrations_index._auto-generated_.d.ts +11 -0
  245. package/migrations/migrations_index._auto-generated_.js +14 -0
  246. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  247. package/package.json +5 -5
  248. package/taon.jsonc +49 -49
  249. package/tmp-environment.json +30 -29
  250. package/websql/README.md +24 -24
  251. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  252. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  253. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +466 -0
  254. package/websql/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  255. package/websql/esm2022/lib/base/classes/base-db.mjs +31 -0
  256. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  257. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  258. package/{browser/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-git.mjs +2 -2
  259. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-github-pages.mjs +2 -2
  260. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-library-build.mjs +3 -3
  261. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  262. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  263. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +280 -0
  264. package/websql/esm2022/lib/base/classes/base-project.mjs +896 -0
  265. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  266. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-release-process.mjs +4 -4
  267. package/websql/esm2022/lib/base/classes/base-vscode.mjs +488 -0
  268. package/websql/esm2022/lib/base/classes/index.mjs +22 -0
  269. package/websql/esm2022/lib/base/commit-data.mjs +1 -1
  270. package/websql/esm2022/lib/base/config-database.mjs +5 -2
  271. package/websql/esm2022/lib/base/core-project.mjs +1 -1
  272. package/websql/esm2022/lib/base/index.mjs +3 -19
  273. package/websql/esm2022/lib/base/project-database.mjs +2 -2
  274. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +7 -0
  275. package/websql/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +34 -0
  276. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +108 -0
  277. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +34 -0
  278. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +35 -0
  279. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +122 -0
  280. package/websql/esm2022/lib/utils.mjs +33 -144
  281. package/websql/esm2022/migrations/1736198527297_init.mjs +41 -0
  282. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +55 -0
  283. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +37 -0
  284. package/websql/esm2022/migrations/index.mjs +5 -0
  285. package/websql/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  286. package/websql/fesm2022/tnp-helpers.mjs +1942 -1379
  287. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  288. package/websql/lib/base/{base-cli-worker-controller.d.ts → classes/base-cli-worker-controller.d.ts} +2 -2
  289. package/websql/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +7 -1
  290. package/{client/lib/base → websql/lib/base/classes}/base-git.d.ts +1 -1
  291. package/websql/lib/base/{base-library-build.d.ts → classes/base-library-build.d.ts} +1 -1
  292. package/{client/lib/base → websql/lib/base/classes}/base-linked-projects.d.ts +1 -1
  293. package/{browser/lib/base → websql/lib/base/classes}/base-project-resolver.d.ts +4 -4
  294. package/websql/lib/base/{base-project.d.ts → classes/base-project.d.ts} +11 -4
  295. package/websql/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  296. package/websql/lib/base/classes/base-vscode.d.ts +24 -0
  297. package/websql/lib/base/classes/index.d.ts +16 -0
  298. package/websql/lib/base/config-database.d.ts +2 -2
  299. package/websql/lib/base/core-project.d.ts +1 -1
  300. package/websql/lib/base/index.d.ts +3 -16
  301. package/websql/lib/base/project-database.d.ts +2 -2
  302. package/websql/lib/base/tcp-udp-ports/index.d.ts +5 -0
  303. package/websql/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +7 -0
  304. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +20 -0
  305. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +15 -0
  306. package/websql/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  307. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +23 -0
  308. package/websql/lib/utils.d.ts +2 -38
  309. package/websql/migrations/1736198527297_init.d.ts +19 -0
  310. package/websql/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  311. package/websql/migrations/1736454437350_addFreePorts.d.ts +10 -0
  312. package/websql/migrations/index.d.ts +2 -0
  313. package/websql/migrations/migrations_index._auto-generated_.d.ts +12 -0
  314. package/browser/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  315. package/browser/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  316. package/browser/esm2022/lib/base/base-cli-worker.mjs +0 -451
  317. package/browser/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  318. package/browser/esm2022/lib/base/base-db.mjs +0 -31
  319. package/browser/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  320. package/browser/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  321. package/browser/esm2022/lib/base/base-github-pages.mjs +0 -110
  322. package/browser/esm2022/lib/base/base-linked-projects.mjs +0 -321
  323. package/browser/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  324. package/browser/esm2022/lib/base/base-project-resolver.mjs +0 -291
  325. package/browser/esm2022/lib/base/base-project.mjs +0 -911
  326. package/browser/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  327. package/browser/esm2022/lib/base/base-vscode.mjs +0 -145
  328. package/browser/esm2022/lib/base/ports-worker.mjs +0 -162
  329. package/browser/lib/base/base-vscode.d.ts +0 -13
  330. package/browser/lib/base/ports-worker.d.ts +0 -33
  331. package/client/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  332. package/client/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  333. package/client/esm2022/lib/base/base-cli-worker.mjs +0 -451
  334. package/client/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  335. package/client/esm2022/lib/base/base-db.mjs +0 -31
  336. package/client/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  337. package/client/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  338. package/client/esm2022/lib/base/base-git.mjs +0 -932
  339. package/client/esm2022/lib/base/base-linked-projects.mjs +0 -321
  340. package/client/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  341. package/client/esm2022/lib/base/base-project-resolver.mjs +0 -291
  342. package/client/esm2022/lib/base/base-project.mjs +0 -911
  343. package/client/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  344. package/client/esm2022/lib/base/base-vscode.mjs +0 -145
  345. package/client/esm2022/lib/base/ports-worker.mjs +0 -162
  346. package/client/lib/base/base-vscode.d.ts +0 -13
  347. package/client/lib/base/ports-worker.d.ts +0 -33
  348. package/lib/base/base-cli-worker-controller.js.map +0 -1
  349. package/lib/base/base-cli-worker.js.map +0 -1
  350. package/lib/base/base-command-line.backend.js.map +0 -1
  351. package/lib/base/base-project.js.map +0 -1
  352. package/lib/base/base-vscode.d.ts +0 -12
  353. package/lib/base/base-vscode.js +0 -139
  354. package/lib/base/base-vscode.js.map +0 -1
  355. package/lib/base/command-line-feature.backend.js.map +0 -1
  356. package/lib/base/ports-worker.d.ts +0 -32
  357. package/lib/base/ports-worker.js +0 -244
  358. package/lib/base/ports-worker.js.map +0 -1
  359. package/websql/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  360. package/websql/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  361. package/websql/esm2022/lib/base/base-cli-worker.mjs +0 -451
  362. package/websql/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  363. package/websql/esm2022/lib/base/base-db.mjs +0 -31
  364. package/websql/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  365. package/websql/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  366. package/websql/esm2022/lib/base/base-linked-projects.mjs +0 -321
  367. package/websql/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  368. package/websql/esm2022/lib/base/base-project-resolver.mjs +0 -280
  369. package/websql/esm2022/lib/base/base-project.mjs +0 -883
  370. package/websql/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  371. package/websql/esm2022/lib/base/base-vscode.mjs +0 -145
  372. package/websql/esm2022/lib/base/ports-worker.mjs +0 -165
  373. package/websql/lib/base/base-vscode.d.ts +0 -13
  374. package/websql/lib/base/ports-worker.d.ts +0 -33
  375. /package/browser/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  376. /package/browser/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  377. /package/browser/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  378. /package/browser/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  379. /package/browser/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  380. /package/browser/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  381. /package/browser/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  382. /package/browser/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  383. /package/client/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  384. /package/client/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  385. /package/client/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  386. /package/client/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  387. /package/client/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  388. /package/client/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  389. /package/client/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  390. /package/client/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  391. /package/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  392. /package/lib/base/{base-cli-worker-config.js → classes/base-cli-worker-config.js} +0 -0
  393. /package/lib/base/{base-cli-worker-config.js.map → classes/base-cli-worker-config.js.map} +0 -0
  394. /package/lib/base/{base-debounce-compiler-for-project.js → classes/base-debounce-compiler-for-project.js} +0 -0
  395. /package/lib/base/{base-detached-service.d.ts → classes/base-detached-service.d.ts} +0 -0
  396. /package/lib/base/{base-detached-service.js → classes/base-detached-service.js} +0 -0
  397. /package/lib/base/{base-detached-service.js.map → classes/base-detached-service.js.map} +0 -0
  398. /package/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  399. /package/lib/base/{base-feature-for-project.js → classes/base-feature-for-project.js} +0 -0
  400. /package/lib/base/{base-feature-for-project.js.map → classes/base-feature-for-project.js.map} +0 -0
  401. /package/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  402. /package/lib/base/{base-ignore-hide.d.ts → classes/base-ignore-hide.d.ts} +0 -0
  403. /package/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  404. /package/lib/base/{base-start-config.backend.d.ts → classes/base-start-config.backend.d.ts} +0 -0
  405. /package/websql/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  406. /package/websql/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  407. /package/websql/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  408. /package/websql/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  409. /package/websql/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  410. /package/websql/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  411. /package/websql/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  412. /package/websql/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
@@ -0,0 +1,320 @@
1
+ /* */
2
+ /* */
3
+ import { _, crossPlatformPath } from 'tnp-core/websql';
4
+ import { Helpers, LinkedProject, } from '../../index'; /* */
5
+ /* */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ import { BaseFeatureForProject } from './base-feature-for-project';
10
+ import { config } from 'tnp-config/websql';
11
+ export class BaseLinkedProjects extends BaseFeatureForProject {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.cache = {};
15
+ }
16
+ get embeddedProject() {
17
+ const cacheKey = 'embeddedProject' + _.kebabCase(this.project.location);
18
+ if (!_.isUndefined(this.cache[cacheKey])) {
19
+ return this.cache[cacheKey];
20
+ }
21
+ const nearsetProj = this.project.ins.nearestTo(crossPlatformPath([this.project.location, '..']));
22
+ const linkedPorj = nearsetProj?.linkedProjects?.linkedProjects.find(l => {
23
+ const copareTo = crossPlatformPath([
24
+ nearsetProj.location,
25
+ l.relativeClonePath,
26
+ ]);
27
+ if (this.project.location === copareTo) {
28
+ return true;
29
+ }
30
+ if (l.remoteUrl() === this.project.git.originURL) {
31
+ return true;
32
+ }
33
+ return false;
34
+ });
35
+ if (!linkedPorj || !linkedPorj.internalRealtiveProjectPath) {
36
+ return;
37
+ }
38
+ const pathToEmbededProj = crossPlatformPath([
39
+ nearsetProj.location,
40
+ linkedPorj.relativeClonePath,
41
+ linkedPorj.internalRealtiveProjectPath || '',
42
+ ]);
43
+ const embdedresult = this.project.ins.From(pathToEmbededProj);
44
+ this.cache[cacheKey] = embdedresult;
45
+ return this.cache[cacheKey];
46
+ }
47
+ get projectsDbLocation() {
48
+ /* */
49
+ /* */
50
+ return (void 0);
51
+ }
52
+ async saveLocationToDB() {
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ return (void 0);
76
+ }
77
+ async saveAllLinkedProjectsToDB() {
78
+ const proj = this.project;
79
+ await proj.linkedProjects.saveLocationToDB();
80
+ for (const link of proj.linkedProjects.linkedProjects) {
81
+ const linkedPorj = this.project.ins.From([
82
+ proj.location,
83
+ link.relativeClonePath,
84
+ link.internalRealtiveProjectPath || '',
85
+ ]);
86
+ if (linkedPorj) {
87
+ await linkedPorj.linkedProjects.saveLocationToDB();
88
+ }
89
+ else {
90
+ Helpers.warn(`Folder ${link.relativeClonePath} is missing projects...`);
91
+ }
92
+ }
93
+ }
94
+ addLinkedProject(linkedProj) {
95
+ const linkedProject = _.isString(linkedProj)
96
+ ? LinkedProject.fromName(linkedProj)
97
+ : linkedProj;
98
+ /* */
99
+ /* */
100
+ /* */
101
+ /* */
102
+ return (void 0);
103
+ }
104
+ addLinkedProjects(linkedProjs) {
105
+ /* */
106
+ /* */
107
+ /* */
108
+ /* */
109
+ return (void 0);
110
+ }
111
+ setLinkedProjectsConfig(linkedPorjectsConfig) {
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
+ return (void 0);
150
+ }
151
+ get linkedProjectsConfigPath() {
152
+ return this.project.pathFor(config.file.linked_projects_json);
153
+ }
154
+ get linkedProjectsConfigTempPath() {
155
+ return this.project.pathFor([`tmp-${config.file.linked_projects_json}`]);
156
+ }
157
+ recreateLinkedProjectsConfig() {
158
+ /* */
159
+ /* */
160
+ /* */
161
+ /* */
162
+ /* */
163
+ /* */
164
+ /* */
165
+ /* */
166
+ /* */
167
+ /* */
168
+ return (void 0);
169
+ }
170
+ getLinkedProjectsConfig() {
171
+ /* */
172
+ /* */
173
+ /* */
174
+ /* */
175
+ /* */
176
+ /* */
177
+ /* */
178
+ /* */
179
+ /* */
180
+ /* */
181
+ /* */
182
+ /* */
183
+ /* */
184
+ /* */
185
+ /* */
186
+ /* */
187
+ /* */
188
+ /* */
189
+ /* */
190
+ /* */
191
+ /* */
192
+ /* */
193
+ /* */
194
+ /* */
195
+ /* */
196
+ /* */
197
+ /* */
198
+ /* */
199
+ /* */
200
+ /* */
201
+ /* */
202
+ /* */
203
+ /* */
204
+ /* */
205
+ /* */
206
+ /* */
207
+ /* */
208
+ /* */
209
+ /* */
210
+ /* */
211
+ /* */
212
+ /* */
213
+ /* */
214
+ /* */
215
+ /* */
216
+ /* */
217
+ /* */
218
+ return (void 0);
219
+ }
220
+ get linkedProjects() {
221
+ return this.getLinkedProjectsConfig().projects || [];
222
+ }
223
+ get detectedLinkedProjects() {
224
+ const detectedLinkedProjects = LinkedProject.detect(this.project.location, true);
225
+ return detectedLinkedProjects;
226
+ }
227
+ get linkedProjectsPrefix() {
228
+ return this.getLinkedProjectsConfig().prefix;
229
+ }
230
+ resetLinkedProjectsOnlyToCoreBranches() {
231
+ return false;
232
+ }
233
+ async cloneUnexistedLinkedProjects(actionType, setOrigin, cloneChildren = false) {
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
+ /* */
300
+ /* */
301
+ /* */
302
+ /* */
303
+ /* */
304
+ /* */
305
+ /* */
306
+ /* */
307
+ /* */
308
+ /* */
309
+ /* */
310
+ /* */
311
+ /* */
312
+ /* */
313
+ /* */
314
+ /* */
315
+ return (void 0);
316
+ }
317
+ }
318
+ ;
319
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-linked-projects.ts
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saW5rZWQtcHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NsYXNzZXMvYmFzZS1saW5rZWQtcHJvamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsQ0FBQyxFQUFTLGlCQUFpQixFQUFRLE1BQU0saUJBQWlCLENBQUM7QUFDcEUsT0FBTyxFQUFJLE9BQU8sRUFBNEIsYUFBYSxHQUFzQixNQUFNLGFBQWEsQ0FBQyxDQUFBLEtBQUs7QUFDMUcsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR25FLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUczQyxNQUFNLE9BQU8sa0JBRVgsU0FBUSxxQkFBcUI7SUFGL0I7O1FBR1UsVUFBSyxHQUFRLEVBQUUsQ0FBQztJQXdXMUIsQ0FBQztJQXBXQyxJQUFJLGVBQWU7UUFDakIsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUM1QyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQ3RDLENBQUM7UUFDYixNQUFNLFVBQVUsR0FBRyxXQUFXLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDdEUsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUM7Z0JBQ2pDLFdBQVcsQ0FBQyxRQUFRO2dCQUNwQixDQUFDLENBQUMsaUJBQWlCO2FBQ3BCLENBQUMsQ0FBQztZQUNILElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3ZDLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1lBQzNELE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztZQUMxQyxXQUFXLENBQUMsUUFBUTtZQUNwQixVQUFVLENBQUMsaUJBQWlCO1lBQzVCLFVBQVUsQ0FBQywyQkFBMkIsSUFBSSxFQUFFO1NBQzdDLENBQUMsQ0FBQztRQUNILE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBWSxDQUFDO1FBRXpFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsWUFBWSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBSUQsSUFBSSxrQkFBa0I7UUFDeEIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLGdCQUFnQjtRQUN4QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyx5QkFBeUI7UUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxQixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUN2QyxJQUFJLENBQUMsUUFBUTtnQkFDYixJQUFJLENBQUMsaUJBQWlCO2dCQUN0QixJQUFJLENBQUMsMkJBQTJCLElBQUksRUFBRTthQUN2QyxDQUFZLENBQUM7WUFFZCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLE1BQU0sVUFBVSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JELENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLGlCQUFpQix5QkFBeUIsQ0FBQyxDQUFDO1lBQzFFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUlELGdCQUFnQixDQUFDLFVBQWtDO1FBQ2pELE1BQU0sYUFBYSxHQUFrQixDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUN6RCxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDcEMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUNuQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0csT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUlELGlCQUFpQixDQUFDLFdBQTRCO1FBQ2hELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsdUJBQXVCLENBQUMsb0JBQW1EO1FBQzdFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBWSx3QkFBd0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELElBQVksNEJBQTRCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUlTLDRCQUE0QjtRQUN4QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELHVCQUF1QjtRQUN6QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFJRCxJQUFJLHNCQUFzQjtRQUN4QixNQUFNLHNCQUFzQixHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQ2pELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUNyQixJQUFJLENBQ0wsQ0FBQztRQUNGLE9BQU8sc0JBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUlELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsTUFBTSxDQUFDO0lBQy9DLENBQUM7SUFJRCxxQ0FBcUM7UUFDbkMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBSUQsS0FBSyxDQUFDLDRCQUE0QixDQUNoQyxVQUEyQixFQUMzQixTQUF5QixFQUN6QixhQUFhLEdBQUcsS0FBSztRQUV6QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlGQUFpRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IF8sIGNoYWxrLCBjcm9zc1BsYXRmb3JtUGF0aCwgcGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyAgIEhlbHBlcnMsICAgTGlua2VkUG9yamVjdHNDb25maWcsICAgTGlua2VkUHJvamVjdCwgICBVdGlsc1R5cGVzY3JpcHQsIH0gZnJvbSAnLi4vLi4vaW5kZXgnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0ICogYXMganNvbjVXcml0ZSBmcm9tICdqc29uMTAtd3JpdGVyL3dlYnNxbCc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5cblxuZXhwb3J0IGNsYXNzIEJhc2VMaW5rZWRQcm9qZWN0czxcbiAgUFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55LFxuPiBleHRlbmRzIEJhc2VGZWF0dXJlRm9yUHJvamVjdCB7XG4gIHByaXZhdGUgY2FjaGU6IGFueSA9IHt9O1xuICBwcm9qZWN0OiBQUk9KRUNUO1xuXG5cbiAgZ2V0IGVtYmVkZGVkUHJvamVjdCgpOiBQUk9KRUNUIHtcbiAgICBjb25zdCBjYWNoZUtleSA9ICdlbWJlZGRlZFByb2plY3QnICsgXy5rZWJhYkNhc2UodGhpcy5wcm9qZWN0LmxvY2F0aW9uKTtcbiAgICBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5jYWNoZVtjYWNoZUtleV0pKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZVtjYWNoZUtleV07XG4gICAgfVxuXG4gICAgY29uc3QgbmVhcnNldFByb2ogPSB0aGlzLnByb2plY3QuaW5zLm5lYXJlc3RUbyhcbiAgICAgIGNyb3NzUGxhdGZvcm1QYXRoKFt0aGlzLnByb2plY3QubG9jYXRpb24sICcuLiddKSxcbiAgICApIGFzIFBST0pFQ1Q7XG4gICAgY29uc3QgbGlua2VkUG9yaiA9IG5lYXJzZXRQcm9qPy5saW5rZWRQcm9qZWN0cz8ubGlua2VkUHJvamVjdHMuZmluZChsID0+IHtcbiAgICAgIGNvbnN0IGNvcGFyZVRvID0gY3Jvc3NQbGF0Zm9ybVBhdGgoW1xuICAgICAgICBuZWFyc2V0UHJvai5sb2NhdGlvbixcbiAgICAgICAgbC5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIF0pO1xuICAgICAgaWYgKHRoaXMucHJvamVjdC5sb2NhdGlvbiA9PT0gY29wYXJlVG8pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAobC5yZW1vdGVVcmwoKSA9PT0gdGhpcy5wcm9qZWN0LmdpdC5vcmlnaW5VUkwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgaWYgKCFsaW5rZWRQb3JqIHx8ICFsaW5rZWRQb3JqLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBwYXRoVG9FbWJlZGVkUHJvaiA9IGNyb3NzUGxhdGZvcm1QYXRoKFtcbiAgICAgIG5lYXJzZXRQcm9qLmxvY2F0aW9uLFxuICAgICAgbGlua2VkUG9yai5yZWxhdGl2ZUNsb25lUGF0aCxcbiAgICAgIGxpbmtlZFBvcmouaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoIHx8ICcnLFxuICAgIF0pO1xuICAgIGNvbnN0IGVtYmRlZHJlc3VsdCA9IHRoaXMucHJvamVjdC5pbnMuRnJvbShwYXRoVG9FbWJlZGVkUHJvaikgYXMgUFJPSkVDVDtcblxuICAgIHRoaXMuY2FjaGVbY2FjaGVLZXldID0gZW1iZGVkcmVzdWx0O1xuICAgIHJldHVybiB0aGlzLmNhY2hlW2NhY2hlS2V5XTtcbiAgfVxuXG5cblxuICBnZXQgcHJvamVjdHNEYkxvY2F0aW9uKCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHNhdmVMb2NhdGlvblRvREIoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBzYXZlQWxsTGlua2VkUHJvamVjdHNUb0RCKCkge1xuICAgIGNvbnN0IHByb2ogPSB0aGlzLnByb2plY3Q7XG4gICAgYXdhaXQgcHJvai5saW5rZWRQcm9qZWN0cy5zYXZlTG9jYXRpb25Ub0RCKCk7XG4gICAgZm9yIChjb25zdCBsaW5rIG9mIHByb2oubGlua2VkUHJvamVjdHMubGlua2VkUHJvamVjdHMpIHtcbiAgICAgIGNvbnN0IGxpbmtlZFBvcmogPSB0aGlzLnByb2plY3QuaW5zLkZyb20oW1xuICAgICAgICBwcm9qLmxvY2F0aW9uLFxuICAgICAgICBsaW5rLnJlbGF0aXZlQ2xvbmVQYXRoLFxuICAgICAgICBsaW5rLmludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aCB8fCAnJyxcbiAgICAgIF0pIGFzIFBST0pFQ1Q7XG5cbiAgICAgIGlmIChsaW5rZWRQb3JqKSB7XG4gICAgICAgIGF3YWl0IGxpbmtlZFBvcmoubGlua2VkUHJvamVjdHMuc2F2ZUxvY2F0aW9uVG9EQigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgSGVscGVycy53YXJuKGBGb2xkZXIgJHtsaW5rLnJlbGF0aXZlQ2xvbmVQYXRofSBpcyBtaXNzaW5nIHByb2plY3RzLi4uYCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIGFkZExpbmtlZFByb2plY3QobGlua2VkUHJvajogTGlua2VkUHJvamVjdCB8IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmtlZFByb2plY3Q6IExpbmtlZFByb2plY3QgPSBfLmlzU3RyaW5nKGxpbmtlZFByb2opXG4gICAgICA/IExpbmtlZFByb2plY3QuZnJvbU5hbWUobGlua2VkUHJvailcbiAgICAgIDogbGlua2VkUHJvajtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhZGRMaW5rZWRQcm9qZWN0cyhsaW5rZWRQcm9qczogTGlua2VkUHJvamVjdFtdKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzZXRMaW5rZWRQcm9qZWN0c0NvbmZpZyhsaW5rZWRQb3JqZWN0c0NvbmZpZzogUGFydGlhbDxMaW5rZWRQb3JqZWN0c0NvbmZpZz4pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHByaXZhdGUgZ2V0IGxpbmtlZFByb2plY3RzQ29uZmlnUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0LnBhdGhGb3IoY29uZmlnLmZpbGUubGlua2VkX3Byb2plY3RzX2pzb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgbGlua2VkUHJvamVjdHNDb25maWdUZW1wUGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9qZWN0LnBhdGhGb3IoW2B0bXAtJHtjb25maWcuZmlsZS5saW5rZWRfcHJvamVjdHNfanNvbn1gXSk7XG4gIH1cblxuXG5cbiAgcHJvdGVjdGVkIHJlY3JlYXRlTGlua2VkUHJvamVjdHNDb25maWcoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXRMaW5rZWRQcm9qZWN0c0NvbmZpZygpOiBMaW5rZWRQb3JqZWN0c0NvbmZpZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGxpbmtlZFByb2plY3RzKCk6IExpbmtlZFByb2plY3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGlua2VkUHJvamVjdHNDb25maWcoKS5wcm9qZWN0cyB8fCBbXTtcbiAgfVxuXG5cblxuICBnZXQgZGV0ZWN0ZWRMaW5rZWRQcm9qZWN0cygpOiBMaW5rZWRQcm9qZWN0W10ge1xuICAgIGNvbnN0IGRldGVjdGVkTGlua2VkUHJvamVjdHMgPSBMaW5rZWRQcm9qZWN0LmRldGVjdChcbiAgICAgIHRoaXMucHJvamVjdC5sb2NhdGlvbixcbiAgICAgIHRydWUsIC8vIFRPT0QgZml4IHJlY3J1c2l2ZVxuICAgICk7XG4gICAgcmV0dXJuIGRldGVjdGVkTGlua2VkUHJvamVjdHM7XG4gIH1cblxuXG5cbiAgZ2V0IGxpbmtlZFByb2plY3RzUHJlZml4KCkge1xuICAgIHJldHVybiB0aGlzLmdldExpbmtlZFByb2plY3RzQ29uZmlnKCkucHJlZml4O1xuICB9XG5cblxuXG4gIHJlc2V0TGlua2VkUHJvamVjdHNPbmx5VG9Db3JlQnJhbmNoZXMoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cblxuXG4gIGFzeW5jIGNsb25lVW5leGlzdGVkTGlua2VkUHJvamVjdHMoXG4gICAgYWN0aW9uVHlwZTogJ3B1bGwnIHwgJ3B1c2gnLFxuICAgIHNldE9yaWdpbjogJ3NzaCcgfCAnaHR0cCcsXG4gICAgY2xvbmVDaGlsZHJlbiA9IGZhbHNlLFxuICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY2xhc3Nlcy9iYXNlLWxpbmtlZC1wcm9qZWN0cy50cyJdfQ==