tnp-helpers 18.0.17 → 18.0.19

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 (401) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  3. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  4. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +513 -0
  5. package/browser/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  6. package/browser/esm2022/lib/base/classes/base-db.mjs +31 -0
  7. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  8. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  9. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-git.mjs +2 -2
  10. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-github-pages.mjs +2 -2
  11. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-library-build.mjs +3 -3
  12. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  13. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  14. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +291 -0
  15. package/browser/esm2022/lib/base/classes/base-project.mjs +926 -0
  16. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  17. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-release-process.mjs +4 -4
  18. package/browser/esm2022/lib/base/classes/base-vscode.mjs +513 -0
  19. package/browser/esm2022/lib/base/classes/index.mjs +22 -0
  20. package/browser/esm2022/lib/base/commit-data.mjs +1 -1
  21. package/browser/esm2022/lib/base/config-database.mjs +5 -2
  22. package/browser/esm2022/lib/base/core-project.mjs +1 -1
  23. package/browser/esm2022/lib/base/index.mjs +3 -19
  24. package/browser/esm2022/lib/base/project-database.mjs +2 -2
  25. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +6 -0
  26. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +260 -0
  27. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +33 -0
  28. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +34 -0
  29. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +298 -0
  30. package/browser/esm2022/lib/utils.mjs +33 -144
  31. package/browser/esm2022/migrations/1736198527297_init.mjs +41 -0
  32. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +63 -0
  33. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +50 -0
  34. package/browser/esm2022/migrations/index.mjs +5 -0
  35. package/browser/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  36. package/browser/fesm2022/tnp-helpers.mjs +2635 -1685
  37. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  38. package/{client/lib/base → browser/lib/base/classes}/base-cli-worker-controller.d.ts +2 -2
  39. package/browser/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +33 -4
  40. package/browser/lib/base/{base-git.d.ts → classes/base-git.d.ts} +1 -1
  41. package/{client/lib/base → browser/lib/base/classes}/base-library-build.d.ts +1 -1
  42. package/{websql/lib/base → browser/lib/base/classes}/base-linked-projects.d.ts +1 -1
  43. package/{client/lib/base → browser/lib/base/classes}/base-project-resolver.d.ts +4 -4
  44. package/browser/lib/base/{base-project.d.ts → classes/base-project.d.ts} +7 -4
  45. package/browser/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  46. package/browser/lib/base/classes/base-vscode.d.ts +24 -0
  47. package/browser/lib/base/classes/index.d.ts +16 -0
  48. package/browser/lib/base/config-database.d.ts +2 -2
  49. package/browser/lib/base/core-project.d.ts +1 -1
  50. package/browser/lib/base/index.d.ts +3 -16
  51. package/browser/lib/base/project-database.d.ts +2 -2
  52. package/browser/lib/base/tcp-udp-ports/index.d.ts +4 -0
  53. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +29 -0
  54. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +19 -0
  55. package/browser/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  56. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +25 -0
  57. package/browser/lib/utils.d.ts +2 -38
  58. package/browser/migrations/1736198527297_init.d.ts +19 -0
  59. package/browser/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  60. package/browser/migrations/1736454437350_addFreePorts.d.ts +10 -0
  61. package/browser/migrations/index.d.ts +2 -0
  62. package/browser/migrations/migrations_index._auto-generated_.d.ts +12 -0
  63. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  64. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  65. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +513 -0
  66. package/client/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  67. package/client/esm2022/lib/base/classes/base-db.mjs +31 -0
  68. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  69. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  70. package/client/esm2022/lib/base/classes/base-git.mjs +932 -0
  71. package/client/esm2022/lib/base/classes/base-github-pages.mjs +110 -0
  72. package/{browser/esm2022/lib/base → client/esm2022/lib/base/classes}/base-library-build.mjs +2 -2
  73. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  74. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  75. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +291 -0
  76. package/client/esm2022/lib/base/classes/base-project.mjs +926 -0
  77. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  78. package/{browser/esm2022/lib/base → client/esm2022/lib/base/classes}/base-release-process.mjs +3 -3
  79. package/client/esm2022/lib/base/classes/base-vscode.mjs +513 -0
  80. package/client/esm2022/lib/base/classes/index.mjs +22 -0
  81. package/client/esm2022/lib/base/commit-data.mjs +1 -1
  82. package/client/esm2022/lib/base/config-database.mjs +5 -2
  83. package/client/esm2022/lib/base/core-project.mjs +1 -1
  84. package/client/esm2022/lib/base/index.mjs +3 -19
  85. package/client/esm2022/lib/base/project-database.mjs +2 -2
  86. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +6 -0
  87. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +260 -0
  88. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +33 -0
  89. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +34 -0
  90. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +298 -0
  91. package/client/esm2022/lib/utils.mjs +33 -144
  92. package/client/esm2022/migrations/1736198527297_init.mjs +41 -0
  93. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +63 -0
  94. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +50 -0
  95. package/client/esm2022/migrations/index.mjs +5 -0
  96. package/client/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  97. package/client/fesm2022/tnp-helpers.mjs +2635 -1685
  98. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  99. package/{browser/lib/base → client/lib/base/classes}/base-cli-worker-controller.d.ts +2 -2
  100. package/client/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +33 -4
  101. package/{websql/lib/base → client/lib/base/classes}/base-git.d.ts +1 -1
  102. package/{browser/lib/base → client/lib/base/classes}/base-library-build.d.ts +1 -1
  103. package/{browser/lib/base → client/lib/base/classes}/base-linked-projects.d.ts +1 -1
  104. package/{websql/lib/base → client/lib/base/classes}/base-project-resolver.d.ts +4 -4
  105. package/client/lib/base/{base-project.d.ts → classes/base-project.d.ts} +7 -4
  106. package/client/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  107. package/client/lib/base/classes/base-vscode.d.ts +24 -0
  108. package/client/lib/base/classes/index.d.ts +16 -0
  109. package/client/lib/base/config-database.d.ts +2 -2
  110. package/client/lib/base/core-project.d.ts +1 -1
  111. package/client/lib/base/index.d.ts +3 -16
  112. package/client/lib/base/project-database.d.ts +2 -2
  113. package/client/lib/base/tcp-udp-ports/index.d.ts +4 -0
  114. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +29 -0
  115. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +19 -0
  116. package/client/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  117. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +25 -0
  118. package/client/lib/utils.d.ts +2 -38
  119. package/client/migrations/1736198527297_init.d.ts +19 -0
  120. package/client/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  121. package/client/migrations/1736454437350_addFreePorts.d.ts +10 -0
  122. package/client/migrations/index.d.ts +2 -0
  123. package/client/migrations/migrations_index._auto-generated_.d.ts +12 -0
  124. package/lib/base/{base-cli-worker-controller.d.ts → classes/base-cli-worker-controller.d.ts} +4 -4
  125. package/lib/base/{base-cli-worker-controller.js → classes/base-cli-worker-controller.js} +3 -3
  126. package/lib/base/classes/base-cli-worker-controller.js.map +1 -0
  127. package/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +33 -4
  128. package/lib/base/{base-cli-worker.js → classes/base-cli-worker.js} +125 -40
  129. package/lib/base/classes/base-cli-worker.js.map +1 -0
  130. package/lib/base/{command-line-feature.backend.d.ts → classes/base-command-line-feature.backend.d.ts} +1 -1
  131. package/lib/base/{command-line-feature.backend.js → classes/base-command-line-feature.backend.js} +15 -15
  132. package/lib/base/classes/base-command-line-feature.backend.js.map +1 -0
  133. package/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +2 -2
  134. package/lib/base/{base-compiler-for-project.js → classes/base-compiler-for-project.js} +1 -1
  135. package/lib/base/{base-compiler-for-project.js.map → classes/base-compiler-for-project.js.map} +1 -1
  136. package/lib/base/{base-db.d.ts → classes/base-db.d.ts} +1 -1
  137. package/lib/base/{base-db.js → classes/base-db.js} +1 -1
  138. package/lib/base/{base-db.js.map → classes/base-db.js.map} +1 -1
  139. package/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +2 -2
  140. package/lib/base/{base-debounce-compiler-for-project.js.map → classes/base-debounce-compiler-for-project.js.map} +1 -1
  141. package/lib/base/{base-git.d.ts → classes/base-git.d.ts} +1 -1
  142. package/lib/base/{base-git.js → classes/base-git.js} +3 -3
  143. package/lib/base/{base-git.js.map → classes/base-git.js.map} +1 -1
  144. package/lib/base/{base-github-pages.js → classes/base-github-pages.js} +1 -1
  145. package/lib/base/{base-github-pages.js.map → classes/base-github-pages.js.map} +1 -1
  146. package/lib/base/{base-command-line.backend.d.ts → classes/base-global-command-line.backend.d.ts} +18 -4
  147. package/lib/base/{base-command-line.backend.js → classes/base-global-command-line.backend.js} +248 -161
  148. package/lib/base/classes/base-global-command-line.backend.js.map +1 -0
  149. package/lib/base/{base-ignore-hide.js → classes/base-ignore-hide.js} +1 -1
  150. package/lib/base/{base-ignore-hide.js.map → classes/base-ignore-hide.js.map} +1 -1
  151. package/lib/base/{base-library-build.d.ts → classes/base-library-build.d.ts} +3 -3
  152. package/lib/base/{base-library-build.js → classes/base-library-build.js} +2 -2
  153. package/lib/base/{base-library-build.js.map → classes/base-library-build.js.map} +1 -1
  154. package/lib/base/{base-linked-projects.d.ts → classes/base-linked-projects.d.ts} +1 -1
  155. package/lib/base/{base-linked-projects.js → classes/base-linked-projects.js} +1 -1
  156. package/lib/base/{base-linked-projects.js.map → classes/base-linked-projects.js.map} +1 -1
  157. package/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +3 -3
  158. package/lib/base/{base-npm-helpers.js → classes/base-npm-helpers.js} +1 -1
  159. package/lib/base/{base-npm-helpers.js.map → classes/base-npm-helpers.js.map} +1 -1
  160. package/lib/base/{base-project-resolver.d.ts → classes/base-project-resolver.d.ts} +4 -4
  161. package/lib/base/{base-project-resolver.js → classes/base-project-resolver.js} +6 -6
  162. package/lib/base/{base-project-resolver.js.map → classes/base-project-resolver.js.map} +1 -1
  163. package/lib/base/{base-project.d.ts → classes/base-project.d.ts} +10 -7
  164. package/lib/base/{base-project.js → classes/base-project.js} +20 -5
  165. package/lib/base/{base-project.js.map → classes/base-project.js.map} +1 -1
  166. package/lib/base/{base-quick-fixes.js → classes/base-quick-fixes.js} +1 -1
  167. package/lib/base/{base-quick-fixes.js.map → classes/base-quick-fixes.js.map} +1 -1
  168. package/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +3 -3
  169. package/lib/base/{base-release-process.js → classes/base-release-process.js} +2 -2
  170. package/lib/base/{base-release-process.js.map → classes/base-release-process.js.map} +1 -1
  171. package/lib/base/{base-start-config.backend.js → classes/base-start-config.backend.js} +2 -2
  172. package/lib/base/{base-start-config.backend.js.map → classes/base-start-config.backend.js.map} +1 -1
  173. package/lib/base/classes/base-vscode.d.ts +23 -0
  174. package/lib/base/classes/base-vscode.js +469 -0
  175. package/lib/base/classes/base-vscode.js.map +1 -0
  176. package/lib/base/classes/index.d.ts +18 -0
  177. package/lib/base/classes/index.js +24 -0
  178. package/lib/base/classes/index.js.map +1 -0
  179. package/lib/base/commit-data.js.map +1 -1
  180. package/lib/base/config-database.d.ts +2 -2
  181. package/lib/base/config-database.js +5 -8
  182. package/lib/base/config-database.js.map +1 -1
  183. package/lib/base/core-project.d.ts +3 -3
  184. package/lib/base/gh-temp-code.d.ts +1 -1
  185. package/lib/base/index.d.ts +2 -18
  186. package/lib/base/index.js +2 -18
  187. package/lib/base/index.js.map +1 -1
  188. package/lib/base/project-database.d.ts +2 -2
  189. package/lib/base/project-database.js +1 -1
  190. package/lib/base/project-database.js.map +1 -1
  191. package/lib/base/tcp-udp-ports/index.d.ts +3 -0
  192. package/lib/base/tcp-udp-ports/index.js +7 -0
  193. package/lib/base/tcp-udp-ports/index.js.map +1 -0
  194. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +0 -0
  195. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +5 -0
  196. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -0
  197. package/lib/base/tcp-udp-ports/ports.controller.d.ts +28 -0
  198. package/lib/base/tcp-udp-ports/ports.controller.js +343 -0
  199. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -0
  200. package/lib/base/tcp-udp-ports/ports.entity.d.ts +18 -0
  201. package/lib/base/tcp-udp-ports/ports.entity.js +75 -0
  202. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -0
  203. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +58 -0
  204. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +40 -0
  205. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -0
  206. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +37 -0
  207. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +478 -0
  208. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -0
  209. package/lib/helpers/for-backend/helpers-cli-tool.backend.d.ts +1 -1
  210. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  211. package/lib/helpers/for-backend/helpers-console-gui.js +2 -1
  212. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  213. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +2 -2
  214. package/lib/helpers/for-backend/helpers-git.backend.js +2 -2
  215. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  216. package/lib/helpers/for-backend/helpers-process.backend.d.ts +3 -3
  217. package/lib/helpers/for-backend/helpers-process.backend.js +4 -26
  218. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  219. package/lib/helpers/for-backend/helpers-vscode.backend.d.ts +2 -2
  220. package/lib/helpers/for-browser/angular.helper.js +2 -2
  221. package/lib/helpers/helpers.d.ts +1 -1
  222. package/lib/models.d.ts +2 -2
  223. package/lib/old/base-component.js +2 -2
  224. package/lib/old/base-formly-component.js +2 -2
  225. package/lib/old/dual-component-ctrl.js +2 -2
  226. package/lib/utils.d.ts +2 -38
  227. package/lib/utils.js +51 -158
  228. package/lib/utils.js.map +1 -1
  229. package/migrations/1736198527297_init.d.ts +18 -0
  230. package/migrations/1736198527297_init.js +72 -0
  231. package/migrations/1736198527297_init.js.map +1 -0
  232. package/migrations/1736199486472_addingNotAssignablePorts.d.ts +10 -0
  233. package/migrations/1736199486472_addingNotAssignablePorts.js +117 -0
  234. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -0
  235. package/migrations/1736454437350_addFreePorts.d.ts +9 -0
  236. package/migrations/1736454437350_addFreePorts.js +106 -0
  237. package/migrations/1736454437350_addFreePorts.js.map +1 -0
  238. package/migrations/migrations_index._auto-generated_.d.ts +11 -0
  239. package/migrations/migrations_index._auto-generated_.js +14 -0
  240. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  241. package/package.json +5 -5
  242. package/tmp-environment.json +30 -29
  243. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  244. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  245. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +513 -0
  246. package/websql/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  247. package/websql/esm2022/lib/base/classes/base-db.mjs +31 -0
  248. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  249. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  250. package/{browser/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-git.mjs +2 -2
  251. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-github-pages.mjs +2 -2
  252. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-library-build.mjs +3 -3
  253. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  254. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  255. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +280 -0
  256. package/websql/esm2022/lib/base/classes/base-project.mjs +896 -0
  257. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  258. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-release-process.mjs +4 -4
  259. package/websql/esm2022/lib/base/classes/base-vscode.mjs +513 -0
  260. package/websql/esm2022/lib/base/classes/index.mjs +22 -0
  261. package/websql/esm2022/lib/base/commit-data.mjs +1 -1
  262. package/websql/esm2022/lib/base/config-database.mjs +5 -2
  263. package/websql/esm2022/lib/base/core-project.mjs +1 -1
  264. package/websql/esm2022/lib/base/index.mjs +3 -19
  265. package/websql/esm2022/lib/base/project-database.mjs +2 -2
  266. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +6 -0
  267. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +260 -0
  268. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +56 -0
  269. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +34 -0
  270. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +298 -0
  271. package/websql/esm2022/lib/utils.mjs +33 -144
  272. package/websql/esm2022/migrations/1736198527297_init.mjs +41 -0
  273. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +63 -0
  274. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +50 -0
  275. package/websql/esm2022/migrations/index.mjs +5 -0
  276. package/websql/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  277. package/websql/fesm2022/tnp-helpers.mjs +2719 -1749
  278. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  279. package/websql/lib/base/{base-cli-worker-controller.d.ts → classes/base-cli-worker-controller.d.ts} +2 -2
  280. package/websql/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +33 -4
  281. package/{client/lib/base → websql/lib/base/classes}/base-git.d.ts +1 -1
  282. package/websql/lib/base/{base-library-build.d.ts → classes/base-library-build.d.ts} +1 -1
  283. package/{client/lib/base → websql/lib/base/classes}/base-linked-projects.d.ts +1 -1
  284. package/{browser/lib/base → websql/lib/base/classes}/base-project-resolver.d.ts +4 -4
  285. package/websql/lib/base/{base-project.d.ts → classes/base-project.d.ts} +7 -4
  286. package/websql/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  287. package/websql/lib/base/classes/base-vscode.d.ts +24 -0
  288. package/websql/lib/base/classes/index.d.ts +16 -0
  289. package/websql/lib/base/config-database.d.ts +2 -2
  290. package/websql/lib/base/core-project.d.ts +1 -1
  291. package/websql/lib/base/index.d.ts +3 -16
  292. package/websql/lib/base/project-database.d.ts +2 -2
  293. package/websql/lib/base/tcp-udp-ports/index.d.ts +4 -0
  294. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +29 -0
  295. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +19 -0
  296. package/websql/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  297. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +25 -0
  298. package/websql/lib/utils.d.ts +2 -38
  299. package/websql/migrations/1736198527297_init.d.ts +19 -0
  300. package/websql/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  301. package/websql/migrations/1736454437350_addFreePorts.d.ts +10 -0
  302. package/websql/migrations/index.d.ts +2 -0
  303. package/websql/migrations/migrations_index._auto-generated_.d.ts +12 -0
  304. package/browser/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  305. package/browser/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  306. package/browser/esm2022/lib/base/base-cli-worker.mjs +0 -451
  307. package/browser/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  308. package/browser/esm2022/lib/base/base-db.mjs +0 -31
  309. package/browser/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  310. package/browser/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  311. package/browser/esm2022/lib/base/base-github-pages.mjs +0 -110
  312. package/browser/esm2022/lib/base/base-linked-projects.mjs +0 -321
  313. package/browser/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  314. package/browser/esm2022/lib/base/base-project-resolver.mjs +0 -291
  315. package/browser/esm2022/lib/base/base-project.mjs +0 -919
  316. package/browser/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  317. package/browser/esm2022/lib/base/base-vscode.mjs +0 -145
  318. package/browser/esm2022/lib/base/ports-worker.mjs +0 -162
  319. package/browser/lib/base/base-vscode.d.ts +0 -13
  320. package/browser/lib/base/ports-worker.d.ts +0 -33
  321. package/client/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  322. package/client/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  323. package/client/esm2022/lib/base/base-cli-worker.mjs +0 -451
  324. package/client/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  325. package/client/esm2022/lib/base/base-db.mjs +0 -31
  326. package/client/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  327. package/client/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  328. package/client/esm2022/lib/base/base-git.mjs +0 -932
  329. package/client/esm2022/lib/base/base-linked-projects.mjs +0 -321
  330. package/client/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  331. package/client/esm2022/lib/base/base-project-resolver.mjs +0 -291
  332. package/client/esm2022/lib/base/base-project.mjs +0 -919
  333. package/client/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  334. package/client/esm2022/lib/base/base-vscode.mjs +0 -145
  335. package/client/esm2022/lib/base/ports-worker.mjs +0 -162
  336. package/client/lib/base/base-vscode.d.ts +0 -13
  337. package/client/lib/base/ports-worker.d.ts +0 -33
  338. package/lib/base/base-cli-worker-controller.js.map +0 -1
  339. package/lib/base/base-cli-worker.js.map +0 -1
  340. package/lib/base/base-command-line.backend.js.map +0 -1
  341. package/lib/base/base-vscode.d.ts +0 -12
  342. package/lib/base/base-vscode.js +0 -139
  343. package/lib/base/base-vscode.js.map +0 -1
  344. package/lib/base/command-line-feature.backend.js.map +0 -1
  345. package/lib/base/ports-worker.d.ts +0 -32
  346. package/lib/base/ports-worker.js +0 -244
  347. package/lib/base/ports-worker.js.map +0 -1
  348. package/websql/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  349. package/websql/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  350. package/websql/esm2022/lib/base/base-cli-worker.mjs +0 -451
  351. package/websql/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  352. package/websql/esm2022/lib/base/base-db.mjs +0 -31
  353. package/websql/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  354. package/websql/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  355. package/websql/esm2022/lib/base/base-linked-projects.mjs +0 -321
  356. package/websql/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  357. package/websql/esm2022/lib/base/base-project-resolver.mjs +0 -280
  358. package/websql/esm2022/lib/base/base-project.mjs +0 -889
  359. package/websql/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  360. package/websql/esm2022/lib/base/base-vscode.mjs +0 -145
  361. package/websql/esm2022/lib/base/ports-worker.mjs +0 -165
  362. package/websql/lib/base/base-vscode.d.ts +0 -13
  363. package/websql/lib/base/ports-worker.d.ts +0 -33
  364. /package/browser/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  365. /package/browser/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  366. /package/browser/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  367. /package/browser/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  368. /package/browser/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  369. /package/browser/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  370. /package/browser/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  371. /package/browser/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  372. /package/client/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  373. /package/client/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  374. /package/client/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  375. /package/client/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  376. /package/client/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  377. /package/client/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  378. /package/client/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  379. /package/client/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  380. /package/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  381. /package/lib/base/{base-cli-worker-config.js → classes/base-cli-worker-config.js} +0 -0
  382. /package/lib/base/{base-cli-worker-config.js.map → classes/base-cli-worker-config.js.map} +0 -0
  383. /package/lib/base/{base-debounce-compiler-for-project.js → classes/base-debounce-compiler-for-project.js} +0 -0
  384. /package/lib/base/{base-detached-service.d.ts → classes/base-detached-service.d.ts} +0 -0
  385. /package/lib/base/{base-detached-service.js → classes/base-detached-service.js} +0 -0
  386. /package/lib/base/{base-detached-service.js.map → classes/base-detached-service.js.map} +0 -0
  387. /package/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  388. /package/lib/base/{base-feature-for-project.js → classes/base-feature-for-project.js} +0 -0
  389. /package/lib/base/{base-feature-for-project.js.map → classes/base-feature-for-project.js.map} +0 -0
  390. /package/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  391. /package/lib/base/{base-ignore-hide.d.ts → classes/base-ignore-hide.d.ts} +0 -0
  392. /package/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  393. /package/lib/base/{base-start-config.backend.d.ts → classes/base-start-config.backend.d.ts} +0 -0
  394. /package/websql/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  395. /package/websql/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  396. /package/websql/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  397. /package/websql/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  398. /package/websql/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  399. /package/websql/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  400. /package/websql/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  401. /package/websql/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
@@ -32,6 +32,9 @@
32
32
  /* */
33
33
  /* */
34
34
  /* */
35
+ /* */
36
+ /* */
37
+ /* */
35
38
  import { CoreModels, Utils } from 'tnp-core/websql';
36
39
  export var UtilsNpm;
37
40
  (function (UtilsNpm) {
@@ -74,24 +77,16 @@ export var UtilsNpm;
74
77
  return `${major}.${minor}.${patch}${alphaOrBetaOrRc ? '.' + alphaOrBetaOrRc : ''}`;
75
78
  };
76
79
  })(UtilsNpm || (UtilsNpm = {}));
77
- export var UtilsTerminal;
78
- (function (UtilsTerminal) {
79
- const transformChoices = (choices) => {
80
- /* */
81
- /* */
82
- /* */
83
- /* */
84
- /* */
85
- /* */
86
- /* */
87
- /* */
88
- /* */
89
- /* */
90
- /* */
91
- /* */
92
- return (void 0);
93
- };
94
- UtilsTerminal.multiselect = async (options) => {
80
+ export var UtilsTypescript;
81
+ (function (UtilsTypescript) {
82
+ /**
83
+ * Remove TypeScript region blocks by their name, including nested regions.
84
+ *
85
+ * @param sourceCode - The TypeScript source code as a string.
86
+ * @param regionName - The name of the region to remove.
87
+ * @returns Modified TypeScript code without the specified regions.
88
+ */
89
+ UtilsTypescript.removeRegionByName = (sourceCode, regionName) => {
95
90
  /* */
96
91
  /* */
97
92
  /* */
@@ -167,9 +162,6 @@ export var UtilsTerminal;
167
162
  /* */
168
163
  /* */
169
164
  /* */
170
- return (void 0);
171
- };
172
- UtilsTerminal.select = async (options) => {
173
165
  /* */
174
166
  /* */
175
167
  /* */
@@ -213,33 +205,7 @@ export var UtilsTerminal;
213
205
  /* */
214
206
  return (void 0);
215
207
  };
216
- UtilsTerminal.input = async ({ defaultValue, question, required, // TODO something is werid with required
217
- }) => {
218
- /* */
219
- /* */
220
- /* */
221
- /* */
222
- /* */
223
- /* */
224
- /* */
225
- /* */
226
- /* */
227
- /* */
228
- /* */
229
- /* */
230
- /* */
231
- /* */
232
- /* */
233
- /* */
234
- /* */
235
- /* */
236
- /* */
237
- /* */
238
- /* */
239
- /* */
240
- /* */
241
- /* */
242
- /* */
208
+ const isExported = (node) => {
243
209
  /* */
244
210
  /* */
245
211
  /* */
@@ -247,21 +213,10 @@ export var UtilsTerminal;
247
213
  /* */
248
214
  return (void 0);
249
215
  };
250
- })(UtilsTerminal || (UtilsTerminal = {}));
251
- export var UtilsTypescript;
252
- (function (UtilsTypescript) {
253
216
  /**
254
- * Remove TypeScript region blocks by their name, including nested regions.
255
- *
256
- * @param sourceCode - The TypeScript source code as a string.
257
- * @param regionName - The name of the region to remove.
258
- * @returns Modified TypeScript code without the specified regions.
217
+ * Function to extract exports from a TypeScript file
259
218
  */
260
- UtilsTypescript.removeRegionByName = (sourceCode, regionName) => {
261
- /* */
262
- /* */
263
- /* */
264
- /* */
219
+ UtilsTypescript.exportsFromFile = (filePath) => {
265
220
  /* */
266
221
  /* */
267
222
  /* */
@@ -335,6 +290,9 @@ export var UtilsTypescript;
335
290
  /* */
336
291
  /* */
337
292
  /* */
293
+ return (void 0);
294
+ };
295
+ UtilsTypescript.extractDefaultClassNameFromString = (sourceCode) => {
338
296
  /* */
339
297
  /* */
340
298
  /* */
@@ -356,6 +314,9 @@ export var UtilsTypescript;
356
314
  /* */
357
315
  /* */
358
316
  /* */
317
+ return (void 0);
318
+ };
319
+ UtilsTypescript.extractClassNameFromString = (sourceCode) => {
359
320
  /* */
360
321
  /* */
361
322
  /* */
@@ -376,70 +337,19 @@ export var UtilsTypescript;
376
337
  /* */
377
338
  return (void 0);
378
339
  };
379
- const isExported = (node) => {
380
- /* */
381
- /* */
340
+ UtilsTypescript.extractClassNamesFromFile = (absoluteFilePath) => {
382
341
  /* */
383
342
  /* */
384
343
  /* */
385
344
  return (void 0);
386
345
  };
387
- /**
388
- * Function to extract exports from a TypeScript file
389
- */
390
- UtilsTypescript.exportsFromFile = (filePath) => {
391
- /* */
392
- /* */
393
- /* */
394
- /* */
395
- /* */
396
- /* */
397
- /* */
398
- /* */
399
- /* */
400
- /* */
401
- /* */
402
- /* */
403
- /* */
404
- /* */
405
- /* */
406
- /* */
407
- /* */
408
- /* */
409
- /* */
410
- /* */
411
- /* */
412
- /* */
413
- /* */
414
- /* */
415
- /* */
416
- /* */
417
- /* */
418
- /* */
419
- /* */
420
- /* */
421
- /* */
422
- /* */
423
- /* */
424
- /* */
425
- /* */
426
- /* */
427
- /* */
428
- /* */
429
- /* */
430
- /* */
431
- /* */
432
- /* */
433
- /* */
434
- /* */
435
- /* */
436
- /* */
437
- /* */
438
- /* */
439
- /* */
346
+ UtilsTypescript.extractDefaultClassNameFromFile = (absoluteFilePath) => {
440
347
  /* */
441
348
  /* */
442
349
  /* */
350
+ return (void 0);
351
+ };
352
+ UtilsTypescript.formatFile = (absPathToFile) => {
443
353
  /* */
444
354
  /* */
445
355
  /* */
@@ -452,6 +362,9 @@ export var UtilsTypescript;
452
362
  /* */
453
363
  /* */
454
364
  /* */
365
+ return (void 0);
366
+ };
367
+ UtilsTypescript.formatAllFilesInsideFolder = (absPathToFolder) => {
455
368
  /* */
456
369
  /* */
457
370
  /* */
@@ -463,7 +376,7 @@ export var UtilsTypescript;
463
376
  /* */
464
377
  return (void 0);
465
378
  };
466
- UtilsTypescript.extractDefaultClassNameFromString = (sourceCode) => {
379
+ UtilsTypescript.getTaonContextFromContent = (fileContent) => {
467
380
  /* */
468
381
  /* */
469
382
  /* */
@@ -485,9 +398,6 @@ export var UtilsTypescript;
485
398
  /* */
486
399
  /* */
487
400
  /* */
488
- return (void 0);
489
- };
490
- UtilsTypescript.extractClassNameFromString = (sourceCode) => {
491
401
  /* */
492
402
  /* */
493
403
  /* */
@@ -505,22 +415,8 @@ export var UtilsTypescript;
505
415
  /* */
506
416
  /* */
507
417
  /* */
508
- /* */
509
- return (void 0);
510
- };
511
- UtilsTypescript.extractClassNamesFromFile = (absoluteFilePath) => {
512
- /* */
513
- /* */
514
- /* */
515
- return (void 0);
516
- };
517
- UtilsTypescript.extractDefaultClassNameFromFile = (absoluteFilePath) => {
518
418
  /* */
519
419
  /* */
520
- /* */
521
- return (void 0);
522
- };
523
- UtilsTypescript.formatFile = (absPathToFile) => {
524
420
  /* */
525
421
  /* */
526
422
  /* */
@@ -535,14 +431,7 @@ export var UtilsTypescript;
535
431
  /* */
536
432
  return (void 0);
537
433
  };
538
- UtilsTypescript.formatAllFilesInsideFolder = (absPathToFolder) => {
539
- /* */
540
- /* */
541
- /* */
542
- /* */
543
- /* */
544
- /* */
545
- /* */
434
+ UtilsTypescript.getTaonContextsNamesFromFile = (tsAbsFilePath) => {
546
435
  /* */
547
436
  /* */
548
437
  return (void 0);
@@ -699,4 +588,4 @@ export var UtilsQuickFixes;
699
588
  })(UtilsQuickFixes || (UtilsQuickFixes = {}));
700
589
  ;
701
590
  ({}); // @--end-of-file-for-module=tnp-helpers lib/utils.ts
702
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFZLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk5RCxNQUFNLEtBQVcsUUFBUSxDQTREeEI7QUE1REQsV0FBaUIsUUFBUTtJQUVWLHlCQUFnQixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7UUFDbEQsT0FBTyxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQztJQUlXLHFCQUFZLEdBQUcsQ0FDMUIsT0FBZSxFQUNmLE9BTUMsRUFDRCxFQUFFO1FBQ0YsTUFBTSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBRXZELElBQUksQ0FBQyxPQUFPLElBQUksU0FBQSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU8s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QUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBSVcsb0JBQU0sR0FBRyxLQUFLLEVBQWMsT0FPeEMsRUFBYyxFQUFFO1FBQ25CLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBSVcsbUJBQUssR0FBRyxLQUFLLEVBQUUsRUFDMUIsWUFBWSxFQUNaLFFBQVEsRUFDUixRQUFRLEVBQUUsd0NBQXdDO01BTW5ELEVBQW1CLEVBQUU7UUFDeEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxFQWxOZ0IsYUFBYSxLQUFiLGFBQWEsUUFrTjdCO0FBSUQsTUFBTSxLQUFXLGVBQWUsQ0F3Vi9CO0FBeFZELFdBQWlCLGVBQWU7SUFFOUI7Ozs7OztPQU1HO0lBQ1Usa0NBQWtCLEdBQUcsQ0FDaEMsVUFBa0IsRUFDbEIsVUFBa0IsRUFDVixFQUFFO1FBQ2QsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUM7SUFNRixNQUFNLFVBQVUsR0FBRyxDQUFDLElBQVUsRUFBVyxFQUFFO1FBQzdDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBSUY7O09BRUc7SUFDVSwrQkFBZSxHQUFHLENBQzdCLFFBQWdCLEVBZWQsRUFBRTtRQUNSLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUM7SUFPVyxpREFBaUMsR0FBRyxDQUMvQyxVQUFrQixFQUNFLEVBQUU7UUFDMUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRVcsMENBQTBCLEdBQUcsQ0FBQyxVQUFrQixFQUFZLEVBQUU7UUFDN0UsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUss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SUFDVSwrQkFBdUIsR0FBRyxDQUNyQyxhQUFxQixFQUNyQixLQUFLLEdBQUcsQ0FBQyxFQUNELEVBQUU7UUFDZCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUM7QUFDSixDQUFDLEVBL0ZnQixPQUFPLEtBQVAsT0FBTyxRQStGdkI7QUFJRCxNQUFNLEtBQVcsZUFBZSxDQXdCL0I7QUF4QkQsV0FBaUIsZUFBZTtJQUU5Qjs7O09BR0c7SUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxrQkFBMEI7UUFDckUsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBaEJlLHdDQUF3QiwyQkFnQnZDLENBQUE7QUFFSCxDQUFDLEVBeEJnQixlQUFlLEtBQWYsZUFBZSxRQXdCL0I7QUFHQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFEQUFxRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgXywgY2hhbGssIENvcmVNb2RlbHMsIFV0aWxzIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcblxuXG5cbmV4cG9ydCBuYW1lc3BhY2UgVXRpbHNOcG0ge1xuXG4gIGV4cG9ydCBjb25zdCBpc1NwZWNpYWxWZXJzaW9uID0gKHZlcnNpb246IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBDb3JlTW9kZWxzLk5wbVNwZWNpYWxWZXJzaW9ucy5pbmNsdWRlcyh2ZXJzaW9uKTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGNsZWFyVmVyc2lvbiA9IChcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgb3B0aW9uczoge1xuICAgICAgcmVtb3ZlUHJlZml4ZXM/OiBib29sZWFuO1xuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgYWxwaGEsIGJldGEsIHJjLCBsYXRlc3QsIG5leHQgZXRjLlxuICAgICAgICovXG4gICAgICByZW1vdmVTdWZmaXg/OiBib29sZWFuO1xuICAgIH0sXG4gICkgPT4ge1xuICAgIGNvbnN0IHsgcmVtb3ZlUHJlZml4ZXMsIHJlbW92ZVN1ZmZpeCB9ID0gb3B0aW9ucyB8fCB7fTtcblxuICAgIGlmICghdmVyc2lvbiB8fCBpc1NwZWNpYWxWZXJzaW9uKHZlcnNpb24pKSB7XG4gICAgICByZXR1cm4gdmVyc2lvbjtcbiAgICB9XG5cbiAgICB2ZXJzaW9uID0gKHZlcnNpb24gfHwgJycpXG4gICAgICAudHJpbSgpXG4gICAgICAucmVwbGFjZShuZXcgUmVnRXhwKFV0aWxzLmVzY2FwZVN0cmluZ0ZvclJlZ0V4KCd1bmRlZmluZWQnKSwgJ2cnKSwgJzAnKTtcblxuICAgIGlmIChyZW1vdmVQcmVmaXhlcykge1xuICAgICAgdmVyc2lvbiA9IHZlcnNpb24ucmVwbGFjZSgnXicsICcnKS5yZXBsYWNlKCd+JywgJycpO1xuICAgIH1cbiAgICBsZXQgW21ham9yLCBtaW5vciwgcGF0Y2gsIGFscGhhT3JCZXRhT3JSY10gPSB2ZXJzaW9uLnNwbGl0KCcuJyk7XG4gICAgaWYgKHJlbW92ZVN1ZmZpeCkge1xuICAgICAgYWxwaGFPckJldGFPclJjID0gJyc7XG4gICAgfVxuICAgIHJldHVybiBmaXhNYWpvclZlck51bWJlcihcbiAgICAgIGAke21ham9yfS4ke21pbm9yfS4ke3BhdGNofSR7YWxwaGFPckJldGFPclJjID8gJy4nICsgYWxwaGFPckJldGFPclJjIDogJyd9YCxcbiAgICApO1xuICB9O1xuXG5cblxuICBleHBvcnQgY29uc3QgZml4TWFqb3JWZXJOdW1iZXIgPSAodmVyc2lvbjogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCF2ZXJzaW9uIHx8IGlzU3BlY2lhbFZlcnNpb24odmVyc2lvbikpIHtcbiAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgIH1cbiAgICB2ZXJzaW9uID0gKHZlcnNpb24gfHwgJycpXG4gICAgICAudHJpbSgpXG4gICAgICAucmVwbGFjZShuZXcgUmVnRXhwKFV0aWxzLmVzY2FwZVN0cmluZ0ZvclJlZ0V4KCd1bmRlZmluZWQnKSwgJ2cnKSwgJzAnKTtcbiAgICBjb25zdCBzcGxpdGVkID0gdmVyc2lvbi5zcGxpdCgnLicpO1xuICAgIGxldCBbbWFqb3IsIG1pbm9yLCBwYXRjaCwgYWxwaGFPckJldGFPclJjXSA9IHNwbGl0ZWQ7XG4gICAgaWYgKHNwbGl0ZWQubGVuZ3RoID09PSAxKSB7XG4gICAgICBtaW5vciA9ICcwJztcbiAgICAgIHBhdGNoID0gJzAnO1xuICAgIH0gZWxzZSBpZiAoc3BsaXRlZC5sZW5ndGggPT09IDIpIHtcbiAgICAgIHBhdGNoID0gJzAnO1xuICAgIH1cbiAgICByZXR1cm4gYCR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9JHthbHBoYU9yQmV0YU9yUmMgPyAnLicgKyBhbHBoYU9yQmV0YU9yUmMgOiAnJ31gO1xuICB9O1xuXG59XG5cblxuXG5leHBvcnQgbmFtZXNwYWNlIFV0aWxzVGVybWluYWwge1xuXG4gIGNvbnN0IHRyYW5zZm9ybUNob2ljZXMgPSAoXG4gICAgY2hvaWNlczogYW55LFxuICApOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10gPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IG11bHRpc2VsZWN0ID0gYXN5bmMgPFQgPSBzdHJpbmc+KG9wdGlvbnM6IHtcbiAgICBxdWVzdGlvbjogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZW4gb25seSBvbmUgY2hvaWNlIGNhbiBiZSBzZWxlY3RlZFxuICAgICAqL1xuICAgIG9ubHlPbmVDaG9pY2U/OiBib29sZWFuO1xuICAgIGNob2ljZXM6XG4gICAgICB8IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogVCB9W11cbiAgICAgIHwgeyBbY2hvaWNlOiBzdHJpbmddOiB7IG5hbWU6IHN0cmluZyB9IH07XG4gICAgYXV0b2NvbXBsZXRlPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0U2VsZWN0ZWQ/OiBzdHJpbmdbXTtcbiAgfSk6IFByb21pc2U8VFtdPiA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG5cblxuICBleHBvcnQgY29uc3Qgc2VsZWN0ID0gYXN5bmMgPFQgPSBzdHJpbmc+KG9wdGlvbnM6IHtcbiAgICBxdWVzdGlvbjogc3RyaW5nO1xuICAgIGNob2ljZXM6XG4gICAgICB8IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogVCB9W11cbiAgICAgIHwgeyBbY2hvaWNlOiBzdHJpbmddOiB7IG5hbWU6IHN0cmluZyB9IH07XG4gICAgYXV0b2NvbXBsZXRlPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0U2VsZWN0ZWQ/OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPFQ+ID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGlucHV0ID0gYXN5bmMgKHtcbiAgICBkZWZhdWx0VmFsdWUsXG4gICAgcXVlc3Rpb24sXG4gICAgcmVxdWlyZWQsIC8vIFRPRE8gc29tZXRoaW5nIGlzIHdlcmlkIHdpdGggcmVxdWlyZWRcbiAgfToge1xuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgICBxdWVzdGlvbjogc3RyaW5nO1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB2YWxpZGF0ZT86ICh2YWx1ZTogc3RyaW5nKSA9PiBib29sZWFuO1xuICB9KTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH07XG59XG5cblxuXG5leHBvcnQgbmFtZXNwYWNlIFV0aWxzVHlwZXNjcmlwdCB7XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBUeXBlU2NyaXB0IHJlZ2lvbiBibG9ja3MgYnkgdGhlaXIgbmFtZSwgaW5jbHVkaW5nIG5lc3RlZCByZWdpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gc291cmNlQ29kZSAtIFRoZSBUeXBlU2NyaXB0IHNvdXJjZSBjb2RlIGFzIGEgc3RyaW5nLlxuICAgKiBAcGFyYW0gcmVnaW9uTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSByZWdpb24gdG8gcmVtb3ZlLlxuICAgKiBAcmV0dXJucyBNb2RpZmllZCBUeXBlU2NyaXB0IGNvZGUgd2l0aG91dCB0aGUgc3BlY2lmaWVkIHJlZ2lvbnMuXG4gICAqL1xuICBleHBvcnQgY29uc3QgcmVtb3ZlUmVnaW9uQnlOYW1lID0gKFxuICAgIHNvdXJjZUNvZGU6IHN0cmluZyxcbiAgICByZWdpb25OYW1lOiBzdHJpbmcsXG4gICk6IHN0cmluZyA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH07XG5cblxuXG5cblxuICBjb25zdCBpc0V4cG9ydGVkID0gKG5vZGU6IE5vZGUpOiBib29sZWFuID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuXG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGV4dHJhY3QgZXhwb3J0cyBmcm9tIGEgVHlwZVNjcmlwdCBmaWxlXG4gICAqL1xuICBleHBvcnQgY29uc3QgZXhwb3J0c0Zyb21GaWxlID0gKFxuICAgIGZpbGVQYXRoOiBzdHJpbmcsXG4gICk6IHtcbiAgICB0eXBlOlxuICAgICAgfCAnY2xhc3MnXG4gICAgICB8ICdmdW5jdGlvbidcbiAgICAgIHwgJ2NvbnN0J1xuICAgICAgfCAnbGV0J1xuICAgICAgfCAndmFyJ1xuICAgICAgfCAnZW51bSdcbiAgICAgIHwgJ3R5cGUnXG4gICAgICB8ICdpbnRlcmZhY2UnXG4gICAgICB8ICdkZWZhdWx0J1xuICAgICAgfCAnbW9kdWxlJ1xuICAgICAgfCAnbmFtZXNwYWNlJztcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH1bXSA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuXG5cblxuXG5cbiAgZXhwb3J0IGNvbnN0IGV4dHJhY3REZWZhdWx0Q2xhc3NOYW1lRnJvbVN0cmluZyA9IChcbiAgICBzb3VyY2VDb2RlOiBzdHJpbmcsXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBleHRyYWN0Q2xhc3NOYW1lRnJvbVN0cmluZyA9IChzb3VyY2VDb2RlOiBzdHJpbmcpOiBzdHJpbmdbXSA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBleHRyYWN0Q2xhc3NOYW1lc0Zyb21GaWxlID0gKFxuICAgIGFic29sdXRlRmlsZVBhdGg6IHN0cmluZyxcbiAgKTogc3RyaW5nW10gPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuICBleHBvcnQgY29uc3QgZXh0cmFjdERlZmF1bHRDbGFzc05hbWVGcm9tRmlsZSA9IChhYnNvbHV0ZUZpbGVQYXRoOiBzdHJpbmcpID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH07XG5cblxuXG4gIGV4cG9ydCBjb25zdCBmb3JtYXRGaWxlID0gKGFic1BhdGhUb0ZpbGU6IHN0cmluZyk6IHZvaWQgPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuICBleHBvcnQgY29uc3QgZm9ybWF0QWxsRmlsZXNJbnNpZGVGb2xkZXIgPSAoYWJzUGF0aFRvRm9sZGVyOiBzdHJpbmcpOiB2b2lkID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH07XG5cbn1cblxuXG5cblxuZXhwb3J0IG5hbWVzcGFjZSBVdGlsc0h0dHAge1xuXG4gIGV4cG9ydCBjb25zdCBzdGFydEh0dHBTZXJ2ZXIgPSBhc3luYyAoY3dkOiBzdHJpbmcsIHBvcnQ6IG51bWJlcikgPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG59XG5cblxuXG5leHBvcnQgbmFtZXNwYWNlIFV0aWxzTWQge1xuICAvKipcbiAgICogZXh0cmFjdCBhc3NldHMgcGF0aGVzIGZyb20gLm1kIGZpbGVcbiAgICovXG4gIGV4cG9ydCBjb25zdCBnZXRBc3NldHMgPSAobWRmaWxlQ29udGVudDogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBFeHRyYWN0IGxpbmtzIHRvIG90aGVyIE1hcmtkb3duIGZpbGVzIGZyb20gYSBnaXZlbiBNYXJrZG93biBjb250ZW50LlxuICAgKiBAcGFyYW0gbWRmaWxlQ29udGVudFxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IGdldExpbmtzVG9PdGhlck1kRmlsZXMgPSAobWRmaWxlQ29udGVudDogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIE1vdmUgYXNzZXQgcGF0aHMgdG8gYSBoaWdoZXIgZGlyZWN0b3J5IGxldmVsIGJ5IGFkZGluZyBcIi4uL1wiIGJlZm9yZSBlYWNoIHBhdGguXG4gICAqXG4gICAqIEBwYXJhbSBtZGZpbGVDb250ZW50IC0gVGhlIGNvbnRlbnQgb2YgdGhlIC5tZCBmaWxlLlxuICAgKiBAcGFyYW0gbGV2ZWwgLSBUaGUgbnVtYmVyIG9mIGxldmVscyB0byBnbyB1cCAoZGVmYXVsdCBpcyAxKS5cbiAgICogQHJldHVybnMgVGhlIG1vZGlmaWVkIGNvbnRlbnQgd2l0aCB1cGRhdGVkIGFzc2V0IHBhdGhzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IG1vdmVBc3NldHNQYXRoZXNUb0xldmVsID0gKFxuICAgIG1kZmlsZUNvbnRlbnQ6IHN0cmluZyxcbiAgICBsZXZlbCA9IDEsXG4gICk6IHN0cmluZyA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xufVxuXG5cblxuZXhwb3J0IG5hbWVzcGFjZSBVdGlsc1F1aWNrRml4ZXMge1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gbm9kZV9tb2R1bGVzL3NxbC5qcy9kaXN0L3NxbC13YXNtLmpzXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gcmVwbGFjZVNRTGxpdGVGYXVsdHlDb2RlKGNvbnRlbnRvZlNRTFdhc21KUzogc3RyaW5nKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi91dGlscy50cyJdfQ==
591
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFZLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUk5RCxNQUFNLEtBQVcsUUFBUSxDQTREeEI7QUE1REQsV0FBaUIsUUFBUTtJQUVWLHlCQUFnQixHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7UUFDbEQsT0FBTyxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FBQztJQUlXLHFCQUFZLEdBQUcsQ0FDMUIsT0FBZSxFQUNmLE9BTUMsRUFDRCxFQUFFO1FBQ0YsTUFBTSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBRXZELElBQUksQ0FBQyxPQUFPLElBQUksU0FBQSxnQkFBZ0IsQ0FBQyxP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UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUss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O0lBQ2xCLENBQUMsQ0FBQztJQUlXLDBCQUFVLEdBQUcsQ0FBQyxhQUFxQixFQUFRLEVBQUU7UUFDNUQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRVcsMENBQTBCLEdBQUcsQ0FBQyxlQUF1QixFQUFRLEVBQUU7UUFDOUUsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBSVcseUNBQXlCLEdBQUcsQ0FBQyxXQUFtQixFQUFZLEVBQUU7UUFDN0UsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0ws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QUFlLENBd0IvQjtBQXhCRCxXQUFpQixlQUFlO0lBRTlCOzs7T0FHRztJQUNILFNBQWdCLHdCQUF3QixDQUFDLGtCQUEwQjtRQUNyRSxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFoQmUsd0NBQXdCLDJCQWdCdkMsQ0FBQTtBQUVILENBQUMsRUF4QmdCLGVBQWUsS0FBZixlQUFlLFFBd0IvQjtBQUdBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBfLCBjaGFsaywgQ29yZU1vZGVscywgVXRpbHMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuXG5cblxuZXhwb3J0IG5hbWVzcGFjZSBVdGlsc05wbSB7XG5cbiAgZXhwb3J0IGNvbnN0IGlzU3BlY2lhbFZlcnNpb24gPSAodmVyc2lvbjogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIENvcmVNb2RlbHMuTnBtU3BlY2lhbFZlcnNpb25zLmluY2x1ZGVzKHZlcnNpb24pO1xuICB9O1xuXG5cblxuICBleHBvcnQgY29uc3QgY2xlYXJWZXJzaW9uID0gKFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICBvcHRpb25zOiB7XG4gICAgICByZW1vdmVQcmVmaXhlcz86IGJvb2xlYW47XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBhbHBoYSwgYmV0YSwgcmMsIGxhdGVzdCwgbmV4dCBldGMuXG4gICAgICAgKi9cbiAgICAgIHJlbW92ZVN1ZmZpeD86IGJvb2xlYW47XG4gICAgfSxcbiAgKSA9PiB7XG4gICAgY29uc3QgeyByZW1vdmVQcmVmaXhlcywgcmVtb3ZlU3VmZml4IH0gPSBvcHRpb25zIHx8IHt9O1xuXG4gICAgaWYgKCF2ZXJzaW9uIHx8IGlzU3BlY2lhbFZlcnNpb24odmVyc2lvbikpIHtcbiAgICAgIHJldHVybiB2ZXJzaW9uO1xuICAgIH1cblxuICAgIHZlcnNpb24gPSAodmVyc2lvbiB8fCAnJylcbiAgICAgIC50cmltKClcbiAgICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoVXRpbHMuZXNjYXBlU3RyaW5nRm9yUmVnRXgoJ3VuZGVmaW5lZCcpLCAnZycpLCAnMCcpO1xuXG4gICAgaWYgKHJlbW92ZVByZWZpeGVzKSB7XG4gICAgICB2ZXJzaW9uID0gdmVyc2lvbi5yZXBsYWNlKCdeJywgJycpLnJlcGxhY2UoJ34nLCAnJyk7XG4gICAgfVxuICAgIGxldCBbbWFqb3IsIG1pbm9yLCBwYXRjaCwgYWxwaGFPckJldGFPclJjXSA9IHZlcnNpb24uc3BsaXQoJy4nKTtcbiAgICBpZiAocmVtb3ZlU3VmZml4KSB7XG4gICAgICBhbHBoYU9yQmV0YU9yUmMgPSAnJztcbiAgICB9XG4gICAgcmV0dXJuIGZpeE1ham9yVmVyTnVtYmVyKFxuICAgICAgYCR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9JHthbHBoYU9yQmV0YU9yUmMgPyAnLicgKyBhbHBoYU9yQmV0YU9yUmMgOiAnJ31gLFxuICAgICk7XG4gIH07XG5cblxuXG4gIGV4cG9ydCBjb25zdCBmaXhNYWpvclZlck51bWJlciA9ICh2ZXJzaW9uOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIXZlcnNpb24gfHwgaXNTcGVjaWFsVmVyc2lvbih2ZXJzaW9uKSkge1xuICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgfVxuICAgIHZlcnNpb24gPSAodmVyc2lvbiB8fCAnJylcbiAgICAgIC50cmltKClcbiAgICAgIC5yZXBsYWNlKG5ldyBSZWdFeHAoVXRpbHMuZXNjYXBlU3RyaW5nRm9yUmVnRXgoJ3VuZGVmaW5lZCcpLCAnZycpLCAnMCcpO1xuICAgIGNvbnN0IHNwbGl0ZWQgPSB2ZXJzaW9uLnNwbGl0KCcuJyk7XG4gICAgbGV0IFttYWpvciwgbWlub3IsIHBhdGNoLCBhbHBoYU9yQmV0YU9yUmNdID0gc3BsaXRlZDtcbiAgICBpZiAoc3BsaXRlZC5sZW5ndGggPT09IDEpIHtcbiAgICAgIG1pbm9yID0gJzAnO1xuICAgICAgcGF0Y2ggPSAnMCc7XG4gICAgfSBlbHNlIGlmIChzcGxpdGVkLmxlbmd0aCA9PT0gMikge1xuICAgICAgcGF0Y2ggPSAnMCc7XG4gICAgfVxuICAgIHJldHVybiBgJHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH0ke2FscGhhT3JCZXRhT3JSYyA/ICcuJyArIGFscGhhT3JCZXRhT3JSYyA6ICcnfWA7XG4gIH07XG5cbn1cblxuXG5cbmV4cG9ydCBuYW1lc3BhY2UgVXRpbHNUeXBlc2NyaXB0IHtcblxuICAvKipcbiAgICogUmVtb3ZlIFR5cGVTY3JpcHQgcmVnaW9uIGJsb2NrcyBieSB0aGVpciBuYW1lLCBpbmNsdWRpbmcgbmVzdGVkIHJlZ2lvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2VDb2RlIC0gVGhlIFR5cGVTY3JpcHQgc291cmNlIGNvZGUgYXMgYSBzdHJpbmcuXG4gICAqIEBwYXJhbSByZWdpb25OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHJlZ2lvbiB0byByZW1vdmUuXG4gICAqIEByZXR1cm5zIE1vZGlmaWVkIFR5cGVTY3JpcHQgY29kZSB3aXRob3V0IHRoZSBzcGVjaWZpZWQgcmVnaW9ucy5cbiAgICovXG4gIGV4cG9ydCBjb25zdCByZW1vdmVSZWdpb25CeU5hbWUgPSAoXG4gICAgc291cmNlQ29kZTogc3RyaW5nLFxuICAgIHJlZ2lvbk5hbWU6IHN0cmluZyxcbiAgKTogc3RyaW5nID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuXG5cblxuXG4gIGNvbnN0IGlzRXhwb3J0ZWQgPSAobm9kZTogTm9kZSk6IGJvb2xlYW4gPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG5cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gZXh0cmFjdCBleHBvcnRzIGZyb20gYSBUeXBlU2NyaXB0IGZpbGVcbiAgICovXG4gIGV4cG9ydCBjb25zdCBleHBvcnRzRnJvbUZpbGUgPSAoXG4gICAgZmlsZVBhdGg6IHN0cmluZyxcbiAgKToge1xuICAgIHR5cGU6XG4gICAgICB8ICdjbGFzcydcbiAgICAgIHwgJ2Z1bmN0aW9uJ1xuICAgICAgfCAnY29uc3QnXG4gICAgICB8ICdsZXQnXG4gICAgICB8ICd2YXInXG4gICAgICB8ICdlbnVtJ1xuICAgICAgfCAndHlwZSdcbiAgICAgIHwgJ2ludGVyZmFjZSdcbiAgICAgIHwgJ2RlZmF1bHQnXG4gICAgICB8ICdtb2R1bGUnXG4gICAgICB8ICduYW1lc3BhY2UnO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfVtdID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG5cblxuXG5cblxuICBleHBvcnQgY29uc3QgZXh0cmFjdERlZmF1bHRDbGFzc05hbWVGcm9tU3RyaW5nID0gKFxuICAgIHNvdXJjZUNvZGU6IHN0cmluZyxcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH07XG5cbiAgZXhwb3J0IGNvbnN0IGV4dHJhY3RDbGFzc05hbWVGcm9tU3RyaW5nID0gKHNvdXJjZUNvZGU6IHN0cmluZyk6IHN0cmluZ1tdID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH07XG5cbiAgZXhwb3J0IGNvbnN0IGV4dHJhY3RDbGFzc05hbWVzRnJvbUZpbGUgPSAoXG4gICAgYWJzb2x1dGVGaWxlUGF0aDogc3RyaW5nLFxuICApOiBzdHJpbmdbXSA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBleHRyYWN0RGVmYXVsdENsYXNzTmFtZUZyb21GaWxlID0gKGFic29sdXRlRmlsZVBhdGg6IHN0cmluZykgPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGZvcm1hdEZpbGUgPSAoYWJzUGF0aFRvRmlsZTogc3RyaW5nKTogdm9pZCA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBmb3JtYXRBbGxGaWxlc0luc2lkZUZvbGRlciA9IChhYnNQYXRoVG9Gb2xkZXI6IHN0cmluZyk6IHZvaWQgPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGdldFRhb25Db250ZXh0RnJvbUNvbnRlbnQgPSAoZmlsZUNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZ1tdID0+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBnZXRUYW9uQ29udGV4dHNOYW1lc0Zyb21GaWxlID0gKFxuICAgIHRzQWJzRmlsZVBhdGg6IHN0cmluZyxcbiAgKTogc3RyaW5nW10gPT4ge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG5cbn1cblxuXG5cblxuZXhwb3J0IG5hbWVzcGFjZSBVdGlsc0h0dHAge1xuXG4gIGV4cG9ydCBjb25zdCBzdGFydEh0dHBTZXJ2ZXIgPSBhc3luYyAoY3dkOiBzdHJpbmcsIHBvcnQ6IG51bWJlcikgPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG59XG5cblxuXG5leHBvcnQgbmFtZXNwYWNlIFV0aWxzTWQge1xuICAvKipcbiAgICogZXh0cmFjdCBhc3NldHMgcGF0aGVzIGZyb20gLm1kIGZpbGVcbiAgICovXG4gIGV4cG9ydCBjb25zdCBnZXRBc3NldHMgPSAobWRmaWxlQ29udGVudDogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBFeHRyYWN0IGxpbmtzIHRvIG90aGVyIE1hcmtkb3duIGZpbGVzIGZyb20gYSBnaXZlbiBNYXJrZG93biBjb250ZW50LlxuICAgKiBAcGFyYW0gbWRmaWxlQ29udGVudFxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IGdldExpbmtzVG9PdGhlck1kRmlsZXMgPSAobWRmaWxlQ29udGVudDogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIE1vdmUgYXNzZXQgcGF0aHMgdG8gYSBoaWdoZXIgZGlyZWN0b3J5IGxldmVsIGJ5IGFkZGluZyBcIi4uL1wiIGJlZm9yZSBlYWNoIHBhdGguXG4gICAqXG4gICAqIEBwYXJhbSBtZGZpbGVDb250ZW50IC0gVGhlIGNvbnRlbnQgb2YgdGhlIC5tZCBmaWxlLlxuICAgKiBAcGFyYW0gbGV2ZWwgLSBUaGUgbnVtYmVyIG9mIGxldmVscyB0byBnbyB1cCAoZGVmYXVsdCBpcyAxKS5cbiAgICogQHJldHVybnMgVGhlIG1vZGlmaWVkIGNvbnRlbnQgd2l0aCB1cGRhdGVkIGFzc2V0IHBhdGhzLlxuICAgKi9cbiAgZXhwb3J0IGNvbnN0IG1vdmVBc3NldHNQYXRoZXNUb0xldmVsID0gKFxuICAgIG1kZmlsZUNvbnRlbnQ6IHN0cmluZyxcbiAgICBsZXZlbCA9IDEsXG4gICk6IHN0cmluZyA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9O1xufVxuXG5cblxuZXhwb3J0IG5hbWVzcGFjZSBVdGlsc1F1aWNrRml4ZXMge1xuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gbm9kZV9tb2R1bGVzL3NxbC5qcy9kaXN0L3NxbC13YXNtLmpzXG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gcmVwbGFjZVNRTGxpdGVGYXVsdHlDb2RlKGNvbnRlbnRvZlNRTFdhc21KUzogc3RyaW5nKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi91dGlscy50cyJdfQ==
@@ -0,0 +1,41 @@
1
+ import { __decorate } from "tslib";
2
+ import { Taon } from 'taon/websql';
3
+ let MainContext_1736198527297_init = class MainContext_1736198527297_init extends Taon.Base.Migration {
4
+ /**
5
+ * remove this method if you are ready to run this migration
6
+ */
7
+ isReadyToRun() {
8
+ return false;
9
+ }
10
+ async up(queryRunner) {
11
+ }
12
+ async down(queryRunner) {
13
+ }
14
+ };
15
+ MainContext_1736198527297_init = __decorate([
16
+ Taon.Migration({
17
+ className: 'MainContext_1736198527297_init',
18
+ })
19
+ ], MainContext_1736198527297_init);
20
+ export { MainContext_1736198527297_init };
21
+ let PortsContext_1736198527297_init = class PortsContext_1736198527297_init extends Taon.Base.Migration {
22
+ /**
23
+ * remove this method if you are ready to run this migration
24
+ */
25
+ isReadyToRun() {
26
+ return true;
27
+ }
28
+ async up(queryRunner) {
29
+ }
30
+ async down(queryRunner) {
31
+ }
32
+ };
33
+ PortsContext_1736198527297_init = __decorate([
34
+ Taon.Migration({
35
+ className: 'PortsContext_1736198527297_init',
36
+ })
37
+ ], PortsContext_1736198527297_init);
38
+ export { PortsContext_1736198527297_init };
39
+ ;
40
+ ({}); // @--end-of-file-for-module=tnp-helpers migrations/1736198527297_init.ts
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTczNjE5ODUyNzI5N19pbml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9taWdyYXRpb25zLzE3MzYxOTg1MjcyOTdfaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU01QixJQUFNLDhCQUE4QixHQUFwQyxNQUFNLDhCQUErQixTQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztJQUNyRTs7T0FFRztJQUNJLFlBQVk7UUFDakIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUF3QjtJQUVqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUF3QjtJQUVuQyxDQUFDO0NBQ0YsQ0FBQTtBQWZZLDhCQUE4QjtJQUgxQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2QsU0FBUyxFQUFFLGdDQUFnQztLQUM1QyxDQUFDO0dBQ1csOEJBQThCLENBZTFDOztBQUtNLElBQU0sK0JBQStCLEdBQXJDLE1BQU0sK0JBQWdDLFNBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO0lBQ3RFOztPQUVHO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQXdCO0lBR2pDLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO0lBR25DLENBQUM7Q0FDRixDQUFBO0FBakJZLCtCQUErQjtJQUgzQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2QsU0FBUyxFQUFFLGlDQUFpQztLQUM3QyxDQUFDO0dBQ1csK0JBQStCLENBaUIzQzs7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHlFQUF5RSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBUYW9uIH0gZnJvbSAndGFvbi93ZWJzcWwnO1xuaW1wb3J0IHsgUXVlcnlSdW5uZXIgfSBmcm9tICd0YW9uLXR5cGVvcm0vd2Vic3FsJztcblxuQFRhb24uTWlncmF0aW9uKHtcbiAgY2xhc3NOYW1lOiAnTWFpbkNvbnRleHRfMTczNjE5ODUyNzI5N19pbml0Jyxcbn0pXG5leHBvcnQgY2xhc3MgTWFpbkNvbnRleHRfMTczNjE5ODUyNzI5N19pbml0IGV4dGVuZHMgVGFvbi5CYXNlLk1pZ3JhdGlvbiB7XG4gIC8qKlxuICAgKiByZW1vdmUgdGhpcyBtZXRob2QgaWYgeW91IGFyZSByZWFkeSB0byBydW4gdGhpcyBtaWdyYXRpb25cbiAgICovXG4gIHB1YmxpYyBpc1JlYWR5VG9SdW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgdXAocXVlcnlSdW5uZXI6IFF1ZXJ5UnVubmVyKTogUHJvbWlzZTxhbnk+IHtcblxuICB9XG5cbiAgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPGFueT4ge1xuXG4gIH1cbn1cblxuQFRhb24uTWlncmF0aW9uKHtcbiAgY2xhc3NOYW1lOiAnUG9ydHNDb250ZXh0XzE3MzYxOTg1MjcyOTdfaW5pdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBvcnRzQ29udGV4dF8xNzM2MTk4NTI3Mjk3X2luaXQgZXh0ZW5kcyBUYW9uLkJhc2UuTWlncmF0aW9uIHtcbiAgLyoqXG4gICAqIHJlbW92ZSB0aGlzIG1ldGhvZCBpZiB5b3UgYXJlIHJlYWR5IHRvIHJ1biB0aGlzIG1pZ3JhdGlvblxuICAgKi9cbiAgcHVibGljIGlzUmVhZHlUb1J1bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIHVwKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8YW55PiB7XG5cblxuICB9XG5cbiAgYXN5bmMgZG93bihxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPGFueT4ge1xuXG5cbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbWlncmF0aW9ucy8xNzM2MTk4NTI3Mjk3X2luaXQudHMiXX0=
@@ -0,0 +1,63 @@
1
+ import { __decorate } from "tslib";
2
+ import { Taon } from 'taon/websql';
3
+ import { Port, PortsController } from '../lib';
4
+ const portsWithDescription = {
5
+ 3000: 'Commonly used for development servers',
6
+ 3001: 'Alternate development server port',
7
+ 3306: 'MySQL',
8
+ 3389: 'Remote Desktop Protocol (RDP)',
9
+ 3478: 'STUN (Session Traversal Utilities for NAT)',
10
+ 4000: 'Alternative development server port',
11
+ 4200: 'Angular CLI Development Server',
12
+ 4500: 'IPSec NAT traversal',
13
+ 4567: 'Sinatra Default Port',
14
+ 5000: 'Flask, Python development server, or Node.js apps',
15
+ 5432: 'PostgreSQL',
16
+ 5500: 'Live Server (VS Code Extension)',
17
+ 5672: 'RabbitMQ',
18
+ 5800: 'VNC Remote Desktop (HTTP)',
19
+ 5900: 'VNC Remote Desktop',
20
+ 5984: 'CouchDB',
21
+ 6000: 'in use by something in macos',
22
+ };
23
+ let PortsContext_1736199486472_addingNotAssignablePorts = class PortsContext_1736199486472_addingNotAssignablePorts extends Taon
24
+ .Base.Migration {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.portsController = this.injectController(PortsController);
28
+ this.commonPortsFrom3000to6000 = Object.keys(portsWithDescription).map(Number);
29
+ }
30
+ async up(queryRunner) {
31
+ const db = await queryRunner.manager.getRepository(Port);
32
+ const allPorts = this.commonPortsFrom3000to6000.map(port => Port.from({
33
+ port,
34
+ serviceId: `not assignable (${portsWithDescription[port]})`,
35
+ status: 'assigned-taken-by-os',
36
+ }));
37
+ await db.save(allPorts);
38
+ for (const commonPortObj of allPorts) {
39
+ this.portsController.portsCache.set(commonPortObj.serviceId, commonPortObj);
40
+ }
41
+ }
42
+ async down(queryRunner) {
43
+ const db = await queryRunner.manager.getRepository(Port);
44
+ await db.remove(await db.find({
45
+ where: {
46
+ status: 'assigned-taken-by-os',
47
+ },
48
+ }));
49
+ const allPorts = Array.from(this.portsController.portsCache.values()).filter(f => f.status === 'assigned-taken-by-os');
50
+ for (const port of allPorts) {
51
+ this.portsController.portsCache.delete(port.serviceId);
52
+ }
53
+ }
54
+ };
55
+ PortsContext_1736199486472_addingNotAssignablePorts = __decorate([
56
+ Taon.Migration({
57
+ className: 'PortsContext_1736199486472_addingNotAssignablePorts',
58
+ })
59
+ ], PortsContext_1736199486472_addingNotAssignablePorts);
60
+ export { PortsContext_1736199486472_addingNotAssignablePorts };
61
+ ;
62
+ ({}); // @--end-of-file-for-module=tnp-helpers migrations/1736199486472_addingNotAssignablePorts.ts
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTczNjE5OTQ4NjQ3Ml9hZGRpbmdOb3RBc3NpZ25hYmxlUG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL21pZ3JhdGlvbnMvMTczNjE5OTQ4NjQ3Ml9hZGRpbmdOb3RBc3NpZ25hYmxlUG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHbkMsT0FBTyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFL0MsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixJQUFJLEVBQUUsdUNBQXVDO0lBQzdDLElBQUksRUFBRSxtQ0FBbUM7SUFDekMsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsK0JBQStCO0lBQ3JDLElBQUksRUFBRSw0Q0FBNEM7SUFDbEQsSUFBSSxFQUFFLHFDQUFxQztJQUMzQyxJQUFJLEVBQUUsZ0NBQWdDO0lBQ3RDLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsSUFBSSxFQUFFLHNCQUFzQjtJQUM1QixJQUFJLEVBQUUsbURBQW1EO0lBQ3pELElBQUksRUFBRSxZQUFZO0lBQ2xCLElBQUksRUFBRSxpQ0FBaUM7SUFDdkMsSUFBSSxFQUFFLFVBQVU7SUFDaEIsSUFBSSxFQUFFLDJCQUEyQjtJQUNqQyxJQUFJLEVBQUUsb0JBQW9CO0lBQzFCLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLDhCQUE4QjtDQUNyQyxDQUFDO0FBS0ssSUFBTSxtREFBbUQsR0FBekQsTUFBTSxtREFBb0QsU0FBUSxJQUFJO0tBQzFFLElBQUksQ0FBQyxTQUFTO0lBRFY7O1FBRUssb0JBQWUsR0FDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXhCLDhCQUF5QixHQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBcUNsRCxDQUFDO0lBbkNDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBd0I7UUFDL0IsTUFBTSxFQUFFLEdBQUcsTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3pELElBQUksQ0FBQyxJQUFJLENBQUM7WUFDUixJQUFJO1lBQ0osU0FBUyxFQUFFLG1CQUFtQixvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRztZQUMzRCxNQUFNLEVBQUUsc0JBQXNCO1NBQy9CLENBQUMsQ0FDSCxDQUFDO1FBQ0YsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLEtBQUssTUFBTSxhQUFhLElBQUksUUFBUSxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUNqQyxhQUFhLENBQUMsU0FBUyxFQUN2QixhQUFhLENBQ2QsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxXQUF3QjtRQUNqQyxNQUFNLEVBQUUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FDYixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDWixLQUFLLEVBQUU7Z0JBQ0wsTUFBTSxFQUFFLHNCQUFzQjthQUMvQjtTQUNGLENBQUMsQ0FDSCxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQ3pDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ25ELEtBQUssTUFBTSxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUEzQ1ksbURBQW1EO0lBSC9ELElBQUksQ0FBQyxTQUFTLENBQUM7UUFDZCxTQUFTLEVBQUUscURBQXFEO0tBQ2pFLENBQUM7R0FDVyxtREFBbUQsQ0EyQy9EOztBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNkZBQTZGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IFRhb24gfSBmcm9tICd0YW9uL3dlYnNxbCc7XG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IFF1ZXJ5UnVubmVyIH0gZnJvbSAndGFvbi10eXBlb3JtL3dlYnNxbCc7XG5pbXBvcnQgeyBQb3J0LCBQb3J0c0NvbnRyb2xsZXIgfSBmcm9tICcuLi9saWInO1xuXG5jb25zdCBwb3J0c1dpdGhEZXNjcmlwdGlvbiA9IHtcbiAgMzAwMDogJ0NvbW1vbmx5IHVzZWQgZm9yIGRldmVsb3BtZW50IHNlcnZlcnMnLFxuICAzMDAxOiAnQWx0ZXJuYXRlIGRldmVsb3BtZW50IHNlcnZlciBwb3J0JyxcbiAgMzMwNjogJ015U1FMJyxcbiAgMzM4OTogJ1JlbW90ZSBEZXNrdG9wIFByb3RvY29sIChSRFApJyxcbiAgMzQ3ODogJ1NUVU4gKFNlc3Npb24gVHJhdmVyc2FsIFV0aWxpdGllcyBmb3IgTkFUKScsXG4gIDQwMDA6ICdBbHRlcm5hdGl2ZSBkZXZlbG9wbWVudCBzZXJ2ZXIgcG9ydCcsXG4gIDQyMDA6ICdBbmd1bGFyIENMSSBEZXZlbG9wbWVudCBTZXJ2ZXInLFxuICA0NTAwOiAnSVBTZWMgTkFUIHRyYXZlcnNhbCcsXG4gIDQ1Njc6ICdTaW5hdHJhIERlZmF1bHQgUG9ydCcsXG4gIDUwMDA6ICdGbGFzaywgUHl0aG9uIGRldmVsb3BtZW50IHNlcnZlciwgb3IgTm9kZS5qcyBhcHBzJyxcbiAgNTQzMjogJ1Bvc3RncmVTUUwnLFxuICA1NTAwOiAnTGl2ZSBTZXJ2ZXIgKFZTIENvZGUgRXh0ZW5zaW9uKScsXG4gIDU2NzI6ICdSYWJiaXRNUScsXG4gIDU4MDA6ICdWTkMgUmVtb3RlIERlc2t0b3AgKEhUVFApJyxcbiAgNTkwMDogJ1ZOQyBSZW1vdGUgRGVza3RvcCcsXG4gIDU5ODQ6ICdDb3VjaERCJyxcbiAgNjAwMDogJ2luIHVzZSBieSBzb21ldGhpbmcgaW4gbWFjb3MnLFxufTtcblxuQFRhb24uTWlncmF0aW9uKHtcbiAgY2xhc3NOYW1lOiAnUG9ydHNDb250ZXh0XzE3MzYxOTk0ODY0NzJfYWRkaW5nTm90QXNzaWduYWJsZVBvcnRzJyxcbn0pXG5leHBvcnQgY2xhc3MgUG9ydHNDb250ZXh0XzE3MzYxOTk0ODY0NzJfYWRkaW5nTm90QXNzaWduYWJsZVBvcnRzIGV4dGVuZHMgVGFvblxuICAuQmFzZS5NaWdyYXRpb24ge1xuICBwcm90ZWN0ZWQgcG9ydHNDb250cm9sbGVyOiBQb3J0c0NvbnRyb2xsZXIgPVxuICAgIHRoaXMuaW5qZWN0Q29udHJvbGxlcihQb3J0c0NvbnRyb2xsZXIpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbW9uUG9ydHNGcm9tMzAwMHRvNjAwMDogbnVtYmVyW10gPVxuICAgIE9iamVjdC5rZXlzKHBvcnRzV2l0aERlc2NyaXB0aW9uKS5tYXAoTnVtYmVyKTtcblxuICBhc3luYyB1cChxdWVyeVJ1bm5lcjogUXVlcnlSdW5uZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGRiID0gYXdhaXQgcXVlcnlSdW5uZXIubWFuYWdlci5nZXRSZXBvc2l0b3J5KFBvcnQpO1xuXG4gICAgY29uc3QgYWxsUG9ydHMgPSB0aGlzLmNvbW1vblBvcnRzRnJvbTMwMDB0bzYwMDAubWFwKHBvcnQgPT5cbiAgICAgIFBvcnQuZnJvbSh7XG4gICAgICAgIHBvcnQsXG4gICAgICAgIHNlcnZpY2VJZDogYG5vdCBhc3NpZ25hYmxlICgke3BvcnRzV2l0aERlc2NyaXB0aW9uW3BvcnRdfSlgLFxuICAgICAgICBzdGF0dXM6ICdhc3NpZ25lZC10YWtlbi1ieS1vcycsXG4gICAgICB9KSxcbiAgICApO1xuICAgIGF3YWl0IGRiLnNhdmUoYWxsUG9ydHMpO1xuICAgIGZvciAoY29uc3QgY29tbW9uUG9ydE9iaiBvZiBhbGxQb3J0cykge1xuICAgICAgdGhpcy5wb3J0c0NvbnRyb2xsZXIucG9ydHNDYWNoZS5zZXQoXG4gICAgICAgIGNvbW1vblBvcnRPYmouc2VydmljZUlkLFxuICAgICAgICBjb21tb25Qb3J0T2JqLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkb3duKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgZGIgPSBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkoUG9ydCk7XG4gICAgYXdhaXQgZGIucmVtb3ZlKFxuICAgICAgYXdhaXQgZGIuZmluZCh7XG4gICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgc3RhdHVzOiAnYXNzaWduZWQtdGFrZW4tYnktb3MnLFxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgICBjb25zdCBhbGxQb3J0cyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnBvcnRzQ29udHJvbGxlci5wb3J0c0NhY2hlLnZhbHVlcygpLFxuICAgICkuZmlsdGVyKGYgPT4gZi5zdGF0dXMgPT09ICdhc3NpZ25lZC10YWtlbi1ieS1vcycpO1xuICAgIGZvciAoY29uc3QgcG9ydCBvZiBhbGxQb3J0cykge1xuICAgICAgdGhpcy5wb3J0c0NvbnRyb2xsZXIucG9ydHNDYWNoZS5kZWxldGUocG9ydC5zZXJ2aWNlSWQpO1xuICAgIH1cbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbWlncmF0aW9ucy8xNzM2MTk5NDg2NDcyX2FkZGluZ05vdEFzc2lnbmFibGVQb3J0cy50cyJdfQ==
@@ -0,0 +1,50 @@
1
+ import { __decorate } from "tslib";
2
+ import { Taon } from 'taon/websql';
3
+ import { _ } from 'tnp-core/websql';
4
+ import { Port, PortsController } from '../lib';
5
+ let PortsContext_1736454437350_addFreePorts = class PortsContext_1736454437350_addFreePorts extends Taon.Base
6
+ .Migration {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.portsController = this.injectController(PortsController);
10
+ }
11
+ async up(queryRunner) {
12
+ const portsTableRepo = await queryRunner.manager.getRepository(Port);
13
+ const addFreePortsInRange = _.range(this.portsController.START_PORT, this.portsController.END_PORT + 1);
14
+ const allTakeByOsPort = (await portsTableRepo.find({
15
+ where: {
16
+ status: 'assigned-taken-by-os',
17
+ },
18
+ })).map(f => f.port);
19
+ const freePortsInRange = addFreePortsInRange.map(port => Port.from({
20
+ port: port,
21
+ serviceId: Port.getTitleForFreePort(port),
22
+ status: 'unassigned',
23
+ })).filter(f => !allTakeByOsPort.includes(f.port));
24
+ await portsTableRepo.save(freePortsInRange);
25
+ for (const port of freePortsInRange) {
26
+ this.portsController.portsCache.set(port.serviceId, port);
27
+ }
28
+ }
29
+ async down(queryRunner) {
30
+ const db = await queryRunner.manager.getRepository(Port);
31
+ await db.remove(await db.find({
32
+ where: {
33
+ status: 'unassigned',
34
+ },
35
+ }));
36
+ const allPorts = Array.from(this.portsController.portsCache.values()).filter(f => f.status === 'unassigned');
37
+ for (const port of allPorts) {
38
+ this.portsController.portsCache.delete(port.serviceId);
39
+ }
40
+ }
41
+ };
42
+ PortsContext_1736454437350_addFreePorts = __decorate([
43
+ Taon.Migration({
44
+ className: 'PortsContext_1736454437350_addFreePorts',
45
+ })
46
+ ], PortsContext_1736454437350_addFreePorts);
47
+ export { PortsContext_1736454437350_addFreePorts };
48
+ ;
49
+ ({}); // @--end-of-file-for-module=tnp-helpers migrations/1736454437350_addFreePorts.ts
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL21pZ3JhdGlvbnMvMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbkMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBS3hDLElBQU0sdUNBQXVDLEdBQTdDLE1BQU0sdUNBQXdDLFNBQVEsSUFBSSxDQUFDLElBQUk7S0FDbkUsU0FBUztJQURMOztRQUVLLG9CQUFlLEdBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQWlEM0MsQ0FBQztJQS9DQyxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQXdCO1FBQy9CLE1BQU0sY0FBYyxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckUsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUNqQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUNsQyxDQUFDO1FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FDdEIsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3hCLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsc0JBQXNCO2FBQy9CO1NBQ0YsQ0FBQyxDQUNILENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRW5CLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3RELElBQUksQ0FBQyxJQUFJLENBQUM7WUFDUixJQUFJLEVBQUUsSUFBSTtZQUNWLFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO1lBQ3pDLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQUMsQ0FDSCxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUVqRCxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU1QyxLQUFLLE1BQU0sSUFBSSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQXdCO1FBRWpDLE1BQU0sRUFBRSxHQUFHLE1BQU0sV0FBVyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUNiLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztZQUNaLEtBQUssRUFBRTtnQkFDTCxNQUFNLEVBQUUsWUFBWTthQUNyQjtTQUNGLENBQUMsQ0FDSCxDQUFDO1FBQ0YsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDekIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQ3pDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsQ0FBQztRQUN6QyxLQUFLLE1BQU0sSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFBO0FBcERZLHVDQUF1QztJQUhuRCxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2QsU0FBUyxFQUFFLHlDQUF5QztLQUNyRCxDQUFDO0dBQ1csdUNBQXVDLENBb0RuRDs7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlGQUFpRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBUYW9uIH0gZnJvbSAndGFvbi93ZWJzcWwnO1xuaW1wb3J0IHsgUXVlcnlSdW5uZXIgfSBmcm9tICd0YW9uLXR5cGVvcm0vd2Vic3FsJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgUG9ydCwgUG9ydHNDb250cm9sbGVyIH0gZnJvbSAnLi4vbGliJztcblxuQFRhb24uTWlncmF0aW9uKHtcbiAgY2xhc3NOYW1lOiAnUG9ydHNDb250ZXh0XzE3MzY0NTQ0MzczNTBfYWRkRnJlZVBvcnRzJyxcbn0pXG5leHBvcnQgY2xhc3MgUG9ydHNDb250ZXh0XzE3MzY0NTQ0MzczNTBfYWRkRnJlZVBvcnRzIGV4dGVuZHMgVGFvbi5CYXNlXG4gIC5NaWdyYXRpb24ge1xuICBwcm90ZWN0ZWQgcG9ydHNDb250cm9sbGVyOiBQb3J0c0NvbnRyb2xsZXIgPVxuICAgIHRoaXMuaW5qZWN0Q29udHJvbGxlcihQb3J0c0NvbnRyb2xsZXIpO1xuXG4gIGFzeW5jIHVwKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgcG9ydHNUYWJsZVJlcG8gPSBhd2FpdCBxdWVyeVJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkoUG9ydCk7XG4gICAgY29uc3QgYWRkRnJlZVBvcnRzSW5SYW5nZSA9IF8ucmFuZ2UoXG4gICAgICB0aGlzLnBvcnRzQ29udHJvbGxlci5TVEFSVF9QT1JULFxuICAgICAgdGhpcy5wb3J0c0NvbnRyb2xsZXIuRU5EX1BPUlQgKyAxLFxuICAgICk7XG5cbiAgICBjb25zdCBhbGxUYWtlQnlPc1BvcnQgPSAoXG4gICAgICBhd2FpdCBwb3J0c1RhYmxlUmVwby5maW5kKHtcbiAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICBzdGF0dXM6ICdhc3NpZ25lZC10YWtlbi1ieS1vcycsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICkubWFwKGYgPT4gZi5wb3J0KTtcblxuICAgIGNvbnN0IGZyZWVQb3J0c0luUmFuZ2UgPSBhZGRGcmVlUG9ydHNJblJhbmdlLm1hcChwb3J0ID0+XG4gICAgICBQb3J0LmZyb20oe1xuICAgICAgICBwb3J0OiBwb3J0LFxuICAgICAgICBzZXJ2aWNlSWQ6IFBvcnQuZ2V0VGl0bGVGb3JGcmVlUG9ydChwb3J0KSxcbiAgICAgICAgc3RhdHVzOiAndW5hc3NpZ25lZCcsXG4gICAgICB9KSxcbiAgICApLmZpbHRlcihmID0+ICFhbGxUYWtlQnlPc1BvcnQuaW5jbHVkZXMoZi5wb3J0KSk7XG5cbiAgICBhd2FpdCBwb3J0c1RhYmxlUmVwby5zYXZlKGZyZWVQb3J0c0luUmFuZ2UpO1xuXG4gICAgZm9yIChjb25zdCBwb3J0IG9mIGZyZWVQb3J0c0luUmFuZ2UpIHtcbiAgICAgIHRoaXMucG9ydHNDb250cm9sbGVyLnBvcnRzQ2FjaGUuc2V0KHBvcnQuc2VydmljZUlkLCBwb3J0KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkb3duKHF1ZXJ5UnVubmVyOiBRdWVyeVJ1bm5lcik6IFByb21pc2U8YW55PiB7XG5cbiAgICBjb25zdCBkYiA9IGF3YWl0IHF1ZXJ5UnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeShQb3J0KTtcbiAgICBhd2FpdCBkYi5yZW1vdmUoXG4gICAgICBhd2FpdCBkYi5maW5kKHtcbiAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICBzdGF0dXM6ICd1bmFzc2lnbmVkJyxcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgY29uc3QgYWxsUG9ydHMgPSBBcnJheS5mcm9tKFxuICAgICAgdGhpcy5wb3J0c0NvbnRyb2xsZXIucG9ydHNDYWNoZS52YWx1ZXMoKSxcbiAgICApLmZpbHRlcihmID0+IGYuc3RhdHVzID09PSAndW5hc3NpZ25lZCcpO1xuICAgIGZvciAoY29uc3QgcG9ydCBvZiBhbGxQb3J0cykge1xuICAgICAgdGhpcy5wb3J0c0NvbnRyb2xsZXIucG9ydHNDYWNoZS5kZWxldGUocG9ydC5zZXJ2aWNlSWQpO1xuICAgIH1cbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbWlncmF0aW9ucy8xNzM2NDU0NDM3MzUwX2FkZEZyZWVQb3J0cy50cyJdfQ==
@@ -0,0 +1,5 @@
1
+ //@ts-nocheck
2
+ export * from './migrations_index._auto-generated_';
3
+ ;
4
+ ({}); // @--end-of-file-for-module=tnp-helpers migrations/index.ts
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL21pZ3JhdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsYUFBYTtBQUNiLGNBQWMscUNBQXFDLENBQUM7QUFFbkQsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw0REFBNEQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuLy9AdHMtbm9jaGVja1xuZXhwb3J0ICogZnJvbSAnLi9taWdyYXRpb25zX2luZGV4Ll9hdXRvLWdlbmVyYXRlZF8nO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbWlncmF0aW9ucy9pbmRleC50cyJdfQ==
@@ -0,0 +1,16 @@
1
+ import { MainContext_1736198527297_init, PortsContext_1736198527297_init, } from './1736198527297_init'; /* */
2
+ /* */
3
+ /* */
4
+ import { PortsContext_1736199486472_addingNotAssignablePorts } from './1736199486472_addingNotAssignablePorts';
5
+ import { PortsContext_1736454437350_addFreePorts } from './1736454437350_addFreePorts';
6
+ export const MIGRATIONS_CLASSES_FOR_MainContext = {
7
+ /* 06-01-2025 22:22:07 */ MainContext_1736198527297_init,
8
+ };
9
+ export const MIGRATIONS_CLASSES_FOR_PortsContext = {
10
+ /* 06-01-2025 22:22:07 */ PortsContext_1736198527297_init,
11
+ /* 06-01-2025 22:38:06 */ PortsContext_1736199486472_addingNotAssignablePorts,
12
+ /* 09-01-2025 21:27:17 */ PortsContext_1736454437350_addFreePorts,
13
+ };
14
+ ;
15
+ ({}); // @--end-of-file-for-module=tnp-helpers migrations/migrations_index._auto-generated_.ts
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uc19pbmRleC5fYXV0by1nZW5lcmF0ZWRfLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9taWdyYXRpb25zL21pZ3JhdGlvbnNfaW5kZXguX2F1dG8tZ2VuZXJhdGVkXy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUksOEJBQThCLEVBQUksK0JBQStCLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxDQUFBLEtBQUs7QUFDakgsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUsbURBQW1ELEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV2RixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRztJQUNoRCx5QkFBeUIsQ0FBQyw4QkFBOEI7Q0FDekQsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHO0lBQ2pELHlCQUF5QixDQUFDLCtCQUErQjtJQUN6RCx5QkFBeUIsQ0FBQyxtREFBbUQ7SUFDN0UseUJBQXlCLENBQUMsdUNBQXVDO0NBQ2xFLENBQUM7QUFHRCxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdGQUF3RiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7ICAgTWFpbkNvbnRleHRfMTczNjE5ODUyNzI5N19pbml0LCAgIFBvcnRzQ29udGV4dF8xNzM2MTk4NTI3Mjk3X2luaXQsIH0gZnJvbSAnLi8xNzM2MTk4NTI3Mjk3X2luaXQnOy8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgUG9ydHNDb250ZXh0XzE3MzYxOTk0ODY0NzJfYWRkaW5nTm90QXNzaWduYWJsZVBvcnRzIH0gZnJvbSAnLi8xNzM2MTk5NDg2NDcyX2FkZGluZ05vdEFzc2lnbmFibGVQb3J0cyc7XG5pbXBvcnQgeyBQb3J0c0NvbnRleHRfMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMgfSBmcm9tICcuLzE3MzY0NTQ0MzczNTBfYWRkRnJlZVBvcnRzJztcblxuZXhwb3J0IGNvbnN0IE1JR1JBVElPTlNfQ0xBU1NFU19GT1JfTWFpbkNvbnRleHQgPSB7XG4gIC8qIDA2LTAxLTIwMjUgMjI6MjI6MDcgKi8gTWFpbkNvbnRleHRfMTczNjE5ODUyNzI5N19pbml0LFxufTtcbmV4cG9ydCBjb25zdCBNSUdSQVRJT05TX0NMQVNTRVNfRk9SX1BvcnRzQ29udGV4dCA9IHtcbiAgLyogMDYtMDEtMjAyNSAyMjoyMjowNyAqLyBQb3J0c0NvbnRleHRfMTczNjE5ODUyNzI5N19pbml0LFxuICAvKiAwNi0wMS0yMDI1IDIyOjM4OjA2ICovIFBvcnRzQ29udGV4dF8xNzM2MTk5NDg2NDcyX2FkZGluZ05vdEFzc2lnbmFibGVQb3J0cyxcbiAgLyogMDktMDEtMjAyNSAyMToyNzoxNyAqLyBQb3J0c0NvbnRleHRfMTczNjQ1NDQzNzM1MF9hZGRGcmVlUG9ydHMsXG59O1xuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBtaWdyYXRpb25zL21pZ3JhdGlvbnNfaW5kZXguX2F1dG8tZ2VuZXJhdGVkXy50cyJdfQ==