tnp-helpers 19.0.0 → 19.0.2

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 (246) hide show
  1. package/assets/shared/shared_folder_info.txt +3 -3
  2. package/browser/fesm2022/tnp-helpers.mjs +74 -39
  3. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  4. package/browser/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +13 -3
  5. package/browser/lib/base/classes/base-git.d.ts +1 -1
  6. package/browser/lib/base/classes/base-node-modules.d.ts +1 -1
  7. package/browser/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  8. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -7
  9. package/browser/lib/build-info._auto-generated_.d.ts +3 -0
  10. package/browser/lib/helpers/helpers.d.ts +4 -1
  11. package/client/fesm2022/tnp-helpers.mjs +74 -39
  12. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  13. package/client/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +13 -3
  14. package/client/lib/base/classes/base-git.d.ts +1 -1
  15. package/client/lib/base/classes/base-node-modules.d.ts +1 -1
  16. package/client/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  17. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -7
  18. package/client/lib/build-info._auto-generated_.d.ts +3 -0
  19. package/client/lib/helpers/helpers.d.ts +4 -1
  20. package/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +13 -3
  21. package/lib/base/classes/base-cli-worker/base-cli-worker.js +54 -1
  22. package/lib/base/classes/base-cli-worker/base-cli-worker.js.map +1 -1
  23. package/lib/base/classes/base-global-command-line.backend.d.ts +2 -0
  24. package/lib/base/classes/base-global-command-line.backend.js +36 -1
  25. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  26. package/lib/base/classes/base-node-modules.d.ts +1 -1
  27. package/lib/base/classes/base-project-resolver.js +4 -2
  28. package/lib/base/classes/base-project-resolver.js.map +1 -1
  29. package/lib/base/classes/base-project.d.ts +1 -1
  30. package/lib/base/classes/base-vscode.js +3 -0
  31. package/lib/base/classes/base-vscode.js.map +1 -1
  32. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  33. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  34. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +2 -2
  35. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  36. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -7
  37. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +3 -33
  38. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  39. package/lib/build-info._auto-generated_.d.ts +1 -0
  40. package/lib/build-info._auto-generated_.js +4 -1
  41. package/lib/build-info._auto-generated_.js.map +1 -1
  42. package/lib/helpers/for-backend/helpers-file-folders.js.map +1 -1
  43. package/lib/helpers/for-backend/helpers-git.backend.d.ts +2 -0
  44. package/lib/helpers/for-backend/helpers-git.backend.js +34 -23
  45. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  46. package/lib/helpers/for-browser/angular.helper.js +2 -2
  47. package/lib/helpers/helpers.d.ts +4 -1
  48. package/lib/helpers/helpers.js +18 -15
  49. package/lib/helpers/helpers.js.map +1 -1
  50. package/lib/index._auto-generated_.js +2 -2
  51. package/lib/index._auto-generated_.js.map +1 -1
  52. package/lib/old/base-component.js +2 -2
  53. package/lib/old/base-formly-component.js +2 -2
  54. package/lib/old/dual-component-ctrl.js +2 -2
  55. package/package.json +5 -5
  56. package/src.d.ts +3 -3
  57. package/tmp-environment.json +5 -4
  58. package/websql/fesm2022/tnp-helpers.mjs +74 -40
  59. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  60. package/websql/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +13 -3
  61. package/websql/lib/base/classes/base-git.d.ts +1 -1
  62. package/websql/lib/base/classes/base-node-modules.d.ts +1 -1
  63. package/websql/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +10 -43
  64. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -7
  65. package/websql/lib/build-info._auto-generated_.d.ts +3 -0
  66. package/websql/lib/helpers/helpers.d.ts +4 -1
  67. package/browser/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
  68. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +0 -37
  69. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +0 -125
  70. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +0 -133
  71. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +0 -404
  72. package/browser/esm2022/lib/base/classes/base-cli-worker/index.mjs +0 -7
  73. package/browser/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
  74. package/browser/esm2022/lib/base/classes/base-db.mjs +0 -31
  75. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
  76. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
  77. package/browser/esm2022/lib/base/classes/base-git.mjs +0 -1175
  78. package/browser/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
  79. package/browser/esm2022/lib/base/classes/base-library-build.mjs +0 -613
  80. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
  81. package/browser/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
  82. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
  83. package/browser/esm2022/lib/base/classes/base-package-json.mjs +0 -340
  84. package/browser/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
  85. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +0 -282
  86. package/browser/esm2022/lib/base/classes/base-project.mjs +0 -922
  87. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
  88. package/browser/esm2022/lib/base/classes/base-release-process.mjs +0 -599
  89. package/browser/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
  90. package/browser/esm2022/lib/base/classes/base-vscode.mjs +0 -531
  91. package/browser/esm2022/lib/base/classes/index.mjs +0 -24
  92. package/browser/esm2022/lib/base/commit-data.mjs +0 -633
  93. package/browser/esm2022/lib/base/config-database.mjs +0 -46
  94. package/browser/esm2022/lib/base/core-project.mjs +0 -115
  95. package/browser/esm2022/lib/base/index.mjs +0 -10
  96. package/browser/esm2022/lib/base/linked-project.mjs +0 -90
  97. package/browser/esm2022/lib/base/project-database.mjs +0 -18
  98. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
  99. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
  100. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -33
  101. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
  102. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +0 -261
  103. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -45
  104. package/browser/esm2022/lib/base/translate.mjs +0 -566
  105. package/browser/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
  106. package/browser/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
  107. package/browser/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
  108. package/browser/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
  109. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
  110. package/browser/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
  111. package/browser/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
  112. package/browser/esm2022/lib/helpers/helpers-strings.mjs +0 -258
  113. package/browser/esm2022/lib/helpers/helpers.mjs +0 -428
  114. package/browser/esm2022/lib/index.mjs +0 -13
  115. package/browser/esm2022/lib/models.mjs +0 -175
  116. package/browser/esm2022/lib/utils.mjs +0 -952
  117. package/browser/esm2022/lib/validators/validators-git.mjs +0 -12
  118. package/browser/esm2022/lib/validators/validators-network.mjs +0 -18
  119. package/browser/esm2022/lib/validators/validators.mjs +0 -10
  120. package/browser/esm2022/migrations/1736198527297_init.mjs +0 -41
  121. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
  122. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
  123. package/browser/esm2022/migrations/index.mjs +0 -5
  124. package/browser/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
  125. package/browser/esm2022/public-api.mjs +0 -2
  126. package/browser/esm2022/tnp-helpers.mjs +0 -5
  127. package/client/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
  128. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +0 -37
  129. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +0 -125
  130. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +0 -133
  131. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +0 -404
  132. package/client/esm2022/lib/base/classes/base-cli-worker/index.mjs +0 -7
  133. package/client/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
  134. package/client/esm2022/lib/base/classes/base-db.mjs +0 -31
  135. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
  136. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
  137. package/client/esm2022/lib/base/classes/base-git.mjs +0 -1175
  138. package/client/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
  139. package/client/esm2022/lib/base/classes/base-library-build.mjs +0 -613
  140. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
  141. package/client/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
  142. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
  143. package/client/esm2022/lib/base/classes/base-package-json.mjs +0 -340
  144. package/client/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
  145. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +0 -282
  146. package/client/esm2022/lib/base/classes/base-project.mjs +0 -922
  147. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
  148. package/client/esm2022/lib/base/classes/base-release-process.mjs +0 -599
  149. package/client/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
  150. package/client/esm2022/lib/base/classes/base-vscode.mjs +0 -531
  151. package/client/esm2022/lib/base/classes/index.mjs +0 -24
  152. package/client/esm2022/lib/base/commit-data.mjs +0 -633
  153. package/client/esm2022/lib/base/config-database.mjs +0 -46
  154. package/client/esm2022/lib/base/core-project.mjs +0 -115
  155. package/client/esm2022/lib/base/index.mjs +0 -10
  156. package/client/esm2022/lib/base/linked-project.mjs +0 -90
  157. package/client/esm2022/lib/base/project-database.mjs +0 -18
  158. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
  159. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
  160. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -33
  161. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
  162. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +0 -261
  163. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -45
  164. package/client/esm2022/lib/base/translate.mjs +0 -566
  165. package/client/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
  166. package/client/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
  167. package/client/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
  168. package/client/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
  169. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
  170. package/client/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
  171. package/client/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
  172. package/client/esm2022/lib/helpers/helpers-strings.mjs +0 -258
  173. package/client/esm2022/lib/helpers/helpers.mjs +0 -428
  174. package/client/esm2022/lib/index.mjs +0 -13
  175. package/client/esm2022/lib/models.mjs +0 -175
  176. package/client/esm2022/lib/utils.mjs +0 -952
  177. package/client/esm2022/lib/validators/validators-git.mjs +0 -12
  178. package/client/esm2022/lib/validators/validators-network.mjs +0 -18
  179. package/client/esm2022/lib/validators/validators.mjs +0 -10
  180. package/client/esm2022/migrations/1736198527297_init.mjs +0 -41
  181. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
  182. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
  183. package/client/esm2022/migrations/index.mjs +0 -5
  184. package/client/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
  185. package/client/esm2022/public-api.mjs +0 -2
  186. package/client/esm2022/tnp-helpers.mjs +0 -5
  187. package/websql/esm2022/lib/base/classes/base-bower-json.mjs +0 -14
  188. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +0 -37
  189. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +0 -125
  190. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +0 -133
  191. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +0 -404
  192. package/websql/esm2022/lib/base/classes/base-cli-worker/index.mjs +0 -7
  193. package/websql/esm2022/lib/base/classes/base-compiler-for-project.mjs +0 -61
  194. package/websql/esm2022/lib/base/classes/base-db.mjs +0 -31
  195. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +0 -56
  196. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +0 -11
  197. package/websql/esm2022/lib/base/classes/base-git.mjs +0 -1175
  198. package/websql/esm2022/lib/base/classes/base-json-file-reader.mjs +0 -114
  199. package/websql/esm2022/lib/base/classes/base-library-build.mjs +0 -613
  200. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +0 -323
  201. package/websql/esm2022/lib/base/classes/base-node-modules.mjs +0 -417
  202. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +0 -266
  203. package/websql/esm2022/lib/base/classes/base-package-json.mjs +0 -340
  204. package/websql/esm2022/lib/base/classes/base-process-manager.mjs +0 -285
  205. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +0 -272
  206. package/websql/esm2022/lib/base/classes/base-project.mjs +0 -891
  207. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +0 -88
  208. package/websql/esm2022/lib/base/classes/base-release-process.mjs +0 -599
  209. package/websql/esm2022/lib/base/classes/base-static-pages.mjs +0 -110
  210. package/websql/esm2022/lib/base/classes/base-vscode.mjs +0 -531
  211. package/websql/esm2022/lib/base/classes/index.mjs +0 -24
  212. package/websql/esm2022/lib/base/commit-data.mjs +0 -633
  213. package/websql/esm2022/lib/base/config-database.mjs +0 -46
  214. package/websql/esm2022/lib/base/core-project.mjs +0 -115
  215. package/websql/esm2022/lib/base/index.mjs +0 -10
  216. package/websql/esm2022/lib/base/linked-project.mjs +0 -90
  217. package/websql/esm2022/lib/base/project-database.mjs +0 -18
  218. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +0 -6
  219. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +0 -260
  220. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +0 -56
  221. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +0 -32
  222. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +0 -261
  223. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +0 -45
  224. package/websql/esm2022/lib/base/translate.mjs +0 -566
  225. package/websql/esm2022/lib/helpers/for-backend/helpers-file-folders.mjs +0 -1008
  226. package/websql/esm2022/lib/helpers/for-backend/helpers-process.mjs +0 -493
  227. package/websql/esm2022/lib/helpers/for-browser/angular.helper.mjs +0 -89
  228. package/websql/esm2022/lib/helpers/for-browser/helpers-browser.mjs +0 -47
  229. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +0 -118
  230. package/websql/esm2022/lib/helpers/helpers-numbers.mjs +0 -12
  231. package/websql/esm2022/lib/helpers/helpers-strings-regexes.mjs +0 -51
  232. package/websql/esm2022/lib/helpers/helpers-strings.mjs +0 -258
  233. package/websql/esm2022/lib/helpers/helpers.mjs +0 -428
  234. package/websql/esm2022/lib/index.mjs +0 -13
  235. package/websql/esm2022/lib/models.mjs +0 -175
  236. package/websql/esm2022/lib/utils.mjs +0 -952
  237. package/websql/esm2022/lib/validators/validators-git.mjs +0 -12
  238. package/websql/esm2022/lib/validators/validators-network.mjs +0 -18
  239. package/websql/esm2022/lib/validators/validators.mjs +0 -10
  240. package/websql/esm2022/migrations/1736198527297_init.mjs +0 -41
  241. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +0 -63
  242. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +0 -50
  243. package/websql/esm2022/migrations/index.mjs +0 -5
  244. package/websql/esm2022/migrations/migrations_index._auto-generated_.mjs +0 -16
  245. package/websql/esm2022/public-api.mjs +0 -2
  246. package/websql/esm2022/tnp-helpers.mjs +0 -5
@@ -1,428 +0,0 @@
1
- import { _ } from 'tnp-core/browser';
2
- import { HelpersArrayObj } from './helpers-array-obj';
3
- import { HelpersStringsRegexes } from './helpers-strings-regexes';
4
- import { HelpersStrings } from './helpers-strings';
5
- import { HelpersProcess } from './for-backend/helpers-process';
6
- import { HelpersFileFolders } from './for-backend/helpers-file-folders';
7
- import { Helpers, Validators } from '../index';
8
- import { CLASS } from 'typescript-class-helpers/browser';
9
- import { CoreHelpers } from 'tnp-core/browser';
10
- import { HelpersNumber } from './helpers-numbers';
11
- import { HelpersBrowser } from './for-browser/helpers-browser';
12
- import { HelpersAngular } from './for-browser/angular.helper';
13
- /**
14
- * Mixing for multiclass inheritance
15
- *
16
- * How to use It:
17
- *
18
- * class Wolverine {}
19
- * class Jean {}
20
- * export class Child {}
21
- * export interface MyChild implements Wolverine, Jean {}
22
- * applyMixing(Child,[Wolverine, Jean]);
23
- *
24
- * @param derivedCtor Target Class
25
- * @param baseCtors Base Classes
26
- */
27
- export function applyMixins(derivedCtor, baseCtors) {
28
- baseCtors.forEach(baseCtor => {
29
- Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
30
- Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));
31
- });
32
- });
33
- }
34
- export class HelpersTaon extends CoreHelpers {
35
- static get Instance() {
36
- if (!HelpersTaon._instance) {
37
- HelpersTaon._instance = new HelpersTaon();
38
- }
39
- return HelpersTaon._instance;
40
- }
41
- constructor(
42
- /* */
43
- /* */
44
- /* */
45
- /* */
46
- /* */
47
- /* */
48
- /* */
49
- /* */
50
- /* */
51
- /* */
52
- /* */
53
- arrays = new HelpersArrayObj(), strings = new HelpersStrings(), numbers = new HelpersNumber(), browser = HelpersBrowser.instance, ng = HelpersAngular) {
54
- super();
55
- this.arrays = arrays;
56
- this.strings = strings;
57
- this.numbers = numbers;
58
- this.browser = browser;
59
- this.ng = ng;
60
- this.applyMixins = applyMixins;
61
- this.isValidIp = Validators.network.isValidIp;
62
- this.isValidGitRepuUrl = Validators.git.isValidRepoUrl;
63
- }
64
- CLIWRAP(f, name) {
65
- CLASS.setName(f, name);
66
- return f;
67
- }
68
- /**
69
- * Bundle file with node_modules into one file
70
- */
71
- async ncc(pathToJsFile, outputFilePath, options) {
72
- /* */
73
- /* */
74
- /* */
75
- /* */
76
- /* */
77
- /* */
78
- /* */
79
- /* */
80
- /* */
81
- /* */
82
- /* */
83
- /* */
84
- /* */
85
- /* */
86
- /* */
87
- /* */
88
- /* */
89
- /* */
90
- /* */
91
- /* */
92
- /* */
93
- /* */
94
- /* */
95
- /* */
96
- /* */
97
- /* */
98
- /* */
99
- /* */
100
- /* */
101
- /* */
102
- /* */
103
- /* */
104
- /* */
105
- /* */
106
- /* */
107
- /* */
108
- /* */
109
- /* */
110
- /* */
111
- /* */
112
- /* */
113
- /* */
114
- /* */
115
- /* */
116
- /* */
117
- /* */
118
- /* */
119
- /* */
120
- /* */
121
- /* */
122
- /* */
123
- /* */
124
- /* */
125
- /* */
126
- /* */
127
- /* */
128
- /* */
129
- /* */
130
- /* */
131
- /* */
132
- /* */
133
- /* */
134
- /* */
135
- /* */
136
- /* */
137
- /* */
138
- /* */
139
- /* */
140
- /* */
141
- /* */
142
- /* */
143
- /* */
144
- /* */
145
- /* */
146
- /* */
147
- /* */
148
- /* */
149
- return (void 0);
150
- }
151
- /**
152
- * @deprecated
153
- * use Utils.uniqArray from tnp-core
154
- */
155
- uniqArray(array, uniqueProperty) {
156
- /* */
157
- /* */
158
- /* */
159
- return (void 0);
160
- }
161
- urlParse(portOrHost, forceDomain = false) {
162
- let url;
163
- if (portOrHost instanceof URL) {
164
- url = portOrHost;
165
- }
166
- else if (_.isNumber(portOrHost)) {
167
- url = new URL(`http://localhost:${portOrHost}`);
168
- }
169
- else if (!_.isNaN(Number(portOrHost))) {
170
- url = new URL(`http://localhost:${Number(portOrHost)}`);
171
- }
172
- else if (_.isString(portOrHost)) {
173
- try {
174
- url = new URL(portOrHost);
175
- }
176
- catch (error) { }
177
- if (Validators.network.isValidIp(portOrHost)) {
178
- try {
179
- url = new URL(`http://${portOrHost}`);
180
- }
181
- catch (error) {
182
- Helpers.warn(`Not able to get port from ${portOrHost}`);
183
- }
184
- }
185
- if (forceDomain) {
186
- const domain = portOrHost;
187
- url = new URL(domain.startsWith('http') ? domain : `http://${portOrHost}`);
188
- }
189
- }
190
- return url;
191
- }
192
- slash(pathFromWindowsOrUnixType) {
193
- /* */
194
- /* */
195
- return (void 0);
196
- }
197
- async isElevated() {
198
- /* */
199
- /* */
200
- /* */
201
- /* */
202
- /* */
203
- /* */
204
- /* */
205
- /* */
206
- }
207
- /**
208
- * TODO fix this methods
209
- */
210
- async localIpAddress() {
211
- /* */
212
- /* */
213
- /* */
214
- /* */
215
- /* */
216
- /* */
217
- /* */
218
- /* */
219
- /* */
220
- /* */
221
- /* */
222
- /* */
223
- /* */
224
- /* */
225
- /* */
226
- /* */
227
- /* */
228
- /* */
229
- /* */
230
- /* */
231
- /* */
232
- /* */
233
- /* */
234
- /* */
235
- /* */
236
- return (void 0);
237
- }
238
- allLocalIpAddresses() {
239
- /* */
240
- /* */
241
- /* */
242
- /* */
243
- /* */
244
- /* */
245
- /* */
246
- /* */
247
- /* */
248
- /* */
249
- /* */
250
- /* */
251
- /* */
252
- /* */
253
- /* */
254
- /* */
255
- /* */
256
- /* */
257
- return (void 0);
258
- }
259
- async mesureExectionInMs(description, functionToExecute, ...functionArguments) {
260
- var start = new Date();
261
- await Helpers.runSyncOrAsync({
262
- functionFn: functionToExecute,
263
- arrayOfParams: functionArguments,
264
- });
265
- //@ts-ignore
266
- var end = new Date() - start;
267
- if (Helpers.isBrowser) {
268
- Helpers.info(`Execution time: ${end.toString()}ms for "${description}"`);
269
- }
270
- /* */
271
- /* */
272
- /* */
273
- /* */
274
- return end;
275
- }
276
- mesureExectionInMsSync(description, functionToExecute) {
277
- var start = new Date();
278
- functionToExecute();
279
- //@ts-ignore
280
- var end = new Date() - start;
281
- if (Helpers.isBrowser) {
282
- Helpers.info(`Execution time: ${end.toString()}ms for "${description}"`);
283
- }
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- return end;
289
- }
290
- waitForCondition(conditionFn, howOfftenCheckInMs = 1000) {
291
- return new Promise(async (resolve, reject) => {
292
- const result = await Helpers.runSyncOrAsync({ functionFn: conditionFn });
293
- if (result) {
294
- resolve(void 0);
295
- }
296
- else {
297
- setTimeout(() => {
298
- Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {
299
- resolve(void 0);
300
- });
301
- }, howOfftenCheckInMs);
302
- }
303
- });
304
- }
305
- getMethodName(classObject, method) {
306
- var methodName = null;
307
- Object.getOwnPropertyNames(classObject).forEach(prop => {
308
- if (classObject[prop] === method) {
309
- methodName = prop;
310
- }
311
- });
312
- if (methodName !== null) {
313
- return methodName;
314
- }
315
- var proto = Object.getPrototypeOf(classObject);
316
- if (proto) {
317
- return Helpers.getMethodName(proto, method);
318
- }
319
- return null;
320
- }
321
- /**
322
- * @deprecated
323
- */
324
- fixWebpackEnv(env) {
325
- _.forIn(env, (v, k) => {
326
- const value = v;
327
- if (value === 'true')
328
- env[k] = true;
329
- if (value === 'false')
330
- env[k] = false;
331
- });
332
- }
333
- /**
334
- * @deprecated
335
- */
336
- async workerCalculateArray(dataToSplit, operation, options) {
337
- /* */
338
- /* */
339
- /* */
340
- /* */
341
- /* */
342
- /* */
343
- /* */
344
- /* */
345
- /* */
346
- /* */
347
- /* */
348
- /* */
349
- /* */
350
- /* */
351
- /* */
352
- /* */
353
- /* */
354
- /* */
355
- /* */
356
- /* */
357
- /* */
358
- /* */
359
- /* */
360
- /* */
361
- /* */
362
- /* */
363
- /* */
364
- /* */
365
- /* */
366
- /* */
367
- /* */
368
- /* */
369
- /* */
370
- /* */
371
- /* */
372
- /* */
373
- /* */
374
- /* */
375
- /* */
376
- /* */
377
- /* */
378
- /* */
379
- /* */
380
- /* */
381
- /* */
382
- /* */
383
- /* */
384
- /* */
385
- /* */
386
- /* */
387
- /* */
388
- /* */
389
- /* */
390
- /* */
391
- /* */
392
- /* */
393
- /* */
394
- /* */
395
- /* */
396
- /* */
397
- /* */
398
- /* */
399
- /* */
400
- /* */
401
- /* */
402
- /* */
403
- /* */
404
- /* */
405
- /* */
406
- /* */
407
- /* */
408
- /* */
409
- /* */
410
- /* */
411
- /* */
412
- /* */
413
- /* */
414
- }
415
- checkEnvironment(deps) {
416
- /* */
417
- /* */
418
- return (void 0);
419
- }
420
- }
421
- applyMixins(HelpersTaon, [
422
- HelpersStringsRegexes,
423
- HelpersProcess,
424
- HelpersFileFolders,
425
- ]);
426
- ;
427
- ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers.ts
428
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxDQUFDLEVBQVEsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQXFCeEUsT0FBTyxFQUFFLE9BQU8sRUFBbUIsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFLOUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBZ0IsRUFBRSxTQUFnQjtJQUM1RCxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVELE1BQU0sQ0FBQyxjQUFjLENBQ25CLFdBQVcsQ0FBQyxTQUFTLEVBQ3JCLElBQUksRUFDSixNQUFNLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FDMUQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBR0QsTUFBTSxPQUFPLFdBQVksU0FBUSxXQUFXO0lBR25DLE1BQU0sS0FBSyxRQUFRO1FBQ3hCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0IsV0FBVyxDQUFDLFNBQVMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPLFdBQVcsQ0FBQyxTQUFTLENBQUM7SUFDL0IsQ0FBQztJQUlEO0lBQ0YsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFFTSxTQUFTLElBQUksZUFBZSxFQUFFLEVBQzlCLFVBQVUsSUFBSSxjQUFjLEVBQUUsRUFDOUIsVUFBVSxJQUFJLGFBQWEsRUFBRSxFQUU3QixVQUFVLGNBQWMsQ0FBQyxRQUFRLEVBQ2pDLEtBQUssY0FBYztRQUcxQixLQUFLLEVBQUUsQ0FBQztRQVJELFdBQU0sR0FBTixNQUFNLENBQXdCO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBRTdCLFlBQU8sR0FBUCxPQUFPLENBQTBCO1FBQ2pDLE9BQUUsR0FBRixFQUFFLENBQWlCO1FBZ2NyQixnQkFBVyxHQUFHLFdBQVcsQ0FBQztRQUlqQyxjQUFTLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFJekMsc0JBQWlCLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUM7SUFwY2xELENBQUM7SUFJRCxPQUFPLENBQUMsQ0FBVyxFQUFFLElBQVk7UUFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBSUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUNQLFlBQW9CLEVBQ3BCLGNBQXNCLEVBQ3RCLE9BV0M7UUFFTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQVUsS0FBWSxFQUFFLGNBQXdCO1FBQzNELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFXRCxRQUFRLENBQUMsVUFBaUMsRUFBRSxXQUFXLEdBQUcsS0FBSztRQUM3RCxJQUFJLEdBQVEsQ0FBQztRQUNiLElBQUksVUFBVSxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQzlCLEdBQUcsR0FBRyxVQUFVLENBQUM7UUFDbkIsQ0FBQzthQUFNLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2xDLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNsRCxDQUFDO2FBQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsb0JBQW9CLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQzthQUFNLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQztnQkFDSCxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQSxDQUFDO1lBQ2xCLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDO29CQUNILEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBQ3hDLENBQUM7Z0JBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztvQkFDZixPQUFPLENBQUMsSUFBSSxDQUFDLDZCQUE2QixVQUFVLEVBQUUsQ0FBQyxDQUFDO2dCQUMxRCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2hCLE1BQU0sTUFBTSxHQUFHLFVBQW9CLENBQUM7Z0JBQ3BDLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FDWCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsVUFBVSxFQUFFLENBQzVELENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUlELEtBQUssQ0FBQyx5QkFBaUM7UUFDekMsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLFVBQVU7UUFDbEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDO0lBSUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYztRQUN0QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUtELG1CQUFtQjtRQUNyQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixXQUFtQixFQUNuQixpQkFBMkIsRUFDM0IsR0FBRyxpQkFBd0I7UUFFM0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFDM0IsVUFBVSxFQUFFLGlCQUFpQjtZQUM3QixhQUFhLEVBQUUsaUJBQWlCO1NBQ2pDLENBQUMsQ0FBQztRQUNILFlBQVk7UUFDWixJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsUUFBUSxFQUFFLFdBQVcsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUlELHNCQUFzQixDQUNwQixXQUFtQixFQUNuQixpQkFBNkI7UUFFN0IsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixpQkFBaUIsRUFBRSxDQUFDO1FBQ3BCLFlBQVk7UUFDWixJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsUUFBUSxFQUFFLFdBQVcsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUlELGdCQUFnQixDQUFDLFdBQTZCLEVBQUUsa0JBQWtCLEdBQUcsSUFBSTtRQUN2RSxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDbEUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7b0JBQ2xCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRCxhQUFhLENBQUMsV0FBVyxFQUFFLE1BQU07UUFDL0IsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDckQsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ2pDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDcEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDeEIsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztRQUVELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0MsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUlEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLEdBQVc7UUFDdkIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQVcsQ0FBUSxDQUFDO1lBQy9CLElBQUksS0FBSyxLQUFLLE1BQU07Z0JBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNwQyxJQUFJLEtBQUssS0FBSyxPQUFPO2dCQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBSUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsb0JBQW9CLENBQ3hCLFdBQWtCLEVBQ2xCLFNBR2tCLEVBQ2xCLE9BSUM7UUFFTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztJQUVILENBQUM7SUFJRCxnQkFBZ0IsQ0FBQyxJQUFvQztRQUN2RCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FjRjtBQVFELFdBQVcsQ0FBQyxXQUFXLEVBQUU7SUFDdkIscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxrQkFBa0I7Q0FDbkIsQ0FBQyxDQUFDO0FBSUYsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrREFBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBfLCBwYXRoIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzQXJyYXlPYmogfSBmcm9tICcuL2hlbHBlcnMtYXJyYXktb2JqJztcbmltcG9ydCB7IEhlbHBlcnNTdHJpbmdzUmVnZXhlcyB9IGZyb20gJy4vaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMnO1xuaW1wb3J0IHsgSGVscGVyc1N0cmluZ3MgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncyc7XG5pbXBvcnQgeyBIZWxwZXJzUHJvY2VzcyB9IGZyb20gJy4vZm9yLWJhY2tlbmQvaGVscGVycy1wcm9jZXNzJztcbmltcG9ydCB7IEhlbHBlcnNGaWxlRm9sZGVycyB9IGZyb20gJy4vZm9yLWJhY2tlbmQvaGVscGVycy1maWxlLWZvbGRlcnMnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzLCBVdGlsc1F1aWNrRml4ZXMsIFZhbGlkYXRvcnMgfSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy9icm93c2VyJztcbmltcG9ydCB7IENvcmVIZWxwZXJzLCBDb3JlTW9kZWxzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzTnVtYmVyIH0gZnJvbSAnLi9oZWxwZXJzLW51bWJlcnMnO1xuXG5pbXBvcnQgeyBIZWxwZXJzQnJvd3NlciB9IGZyb20gJy4vZm9yLWJyb3dzZXIvaGVscGVycy1icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnNBbmd1bGFyIH0gZnJvbSAnLi9mb3ItYnJvd3Nlci9hbmd1bGFyLmhlbHBlcic7XG5cblxuXG5cbi8qKlxuICogTWl4aW5nIGZvciBtdWx0aWNsYXNzIGluaGVyaXRhbmNlXG4gKlxuICogSG93IHRvIHVzZSBJdDpcbiAqXG4gKiBjbGFzcyBXb2x2ZXJpbmUge31cbiAqIGNsYXNzIEplYW4ge31cbiAqIGV4cG9ydCBjbGFzcyBDaGlsZCB7fVxuICogZXhwb3J0IGludGVyZmFjZSBNeUNoaWxkIGltcGxlbWVudHMgV29sdmVyaW5lLCBKZWFuIHt9XG4gKiBhcHBseU1peGluZyhDaGlsZCxbV29sdmVyaW5lLCBKZWFuXSk7XG4gKlxuICogQHBhcmFtIGRlcml2ZWRDdG9yIFRhcmdldCBDbGFzc1xuICogQHBhcmFtIGJhc2VDdG9ycyBCYXNlIENsYXNzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5TWl4aW5zKGRlcml2ZWRDdG9yOiBhbnksIGJhc2VDdG9yczogYW55W10pIHtcbiAgYmFzZUN0b3JzLmZvckVhY2goYmFzZUN0b3IgPT4ge1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGJhc2VDdG9yLnByb3RvdHlwZSkuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcbiAgICAgICAgZGVyaXZlZEN0b3IucHJvdG90eXBlLFxuICAgICAgICBuYW1lLFxuICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJhc2VDdG9yLnByb3RvdHlwZSwgbmFtZSksXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn1cblxuXG5leHBvcnQgY2xhc3MgSGVscGVyc1Rhb24gZXh0ZW5kcyBDb3JlSGVscGVycyB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBIZWxwZXJzVGFvbiAmIENvcmVIZWxwZXJzO1xuICBwdWJsaWMgc3RhdGljIGdldCBJbnN0YW5jZSgpOiBIZWxwZXJzVGFvbiB7XG4gICAgaWYgKCFIZWxwZXJzVGFvbi5faW5zdGFuY2UpIHtcbiAgICAgIEhlbHBlcnNUYW9uLl9pbnN0YW5jZSA9IG5ldyBIZWxwZXJzVGFvbigpO1xuICAgIH1cbiAgICByZXR1cm4gSGVscGVyc1Rhb24uX2luc3RhbmNlO1xuICB9XG5cblxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcHVibGljIGFycmF5cyA9IG5ldyBIZWxwZXJzQXJyYXlPYmooKSxcbiAgICBwdWJsaWMgc3RyaW5ncyA9IG5ldyBIZWxwZXJzU3RyaW5ncygpLFxuICAgIHB1YmxpYyBudW1iZXJzID0gbmV3IEhlbHBlcnNOdW1iZXIoKSxcblxuICAgIHB1YmxpYyBicm93c2VyID0gSGVscGVyc0Jyb3dzZXIuaW5zdGFuY2UsXG4gICAgcHVibGljIG5nID0gSGVscGVyc0FuZ3VsYXIsXG5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG5cblxuICBDTElXUkFQKGY6IEZ1bmN0aW9uLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBDTEFTUy5zZXROYW1lKGYsIG5hbWUpO1xuICAgIHJldHVybiBmO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBCdW5kbGUgZmlsZSB3aXRoIG5vZGVfbW9kdWxlcyBpbnRvIG9uZSBmaWxlXG4gICAqL1xuICBhc3luYyBuY2MoXG4gICAgcGF0aFRvSnNGaWxlOiBzdHJpbmcsXG4gICAgb3V0cHV0RmlsZVBhdGg6IHN0cmluZyxcbiAgICBvcHRpb25zPzoge1xuICAgICAgLyoqXG4gICAgICAgKiAhIGJlZm9yZVdyaXRlIG5lZWRzIHRvIHJldHVybiBvdXRwdXRcbiAgICAgICAqL1xuICAgICAgYmVmb3JlV3JpdGU/OiAob3B0aW9uczoge1xuICAgICAgICBvdXRwdXQ/OiBzdHJpbmc7XG4gICAgICAgIGNvcHlUb0Rlc3RpbmF0aW9uPzogKGZpbGVPckZvbGRlckFic1BhdGg6IHN0cmluZykgPT4gdm9pZDtcbiAgICAgIH0pID0+IHN0cmluZztcbiAgICAgIGFkZGl0aW9uYWxFeHRlcm5hbHM/OiBzdHJpbmdbXTtcbiAgICAgIHNraXBSZW1vdmluZ0VsZWN0cm9uPzogYm9vbGVhbjtcbiAgICAgIHNraXBGaXhpbmdTUUxsaXRlPzogYm9vbGVhbjtcbiAgICB9LFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgVXRpbHMudW5pcUFycmF5IGZyb20gdG5wLWNvcmVcbiAgICovXG4gIHVuaXFBcnJheTxUID0gYW55PihhcnJheTogYW55W10sIHVuaXF1ZVByb3BlcnR5Pzoga2V5b2YgVCk6IFRbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxuXG5cblxuXG5cbiAgdXJsUGFyc2UocG9ydE9ySG9zdDogbnVtYmVyIHwgc3RyaW5nIHwgVVJMLCBmb3JjZURvbWFpbiA9IGZhbHNlKSB7XG4gICAgbGV0IHVybDogVVJMO1xuICAgIGlmIChwb3J0T3JIb3N0IGluc3RhbmNlb2YgVVJMKSB7XG4gICAgICB1cmwgPSBwb3J0T3JIb3N0O1xuICAgIH0gZWxzZSBpZiAoXy5pc051bWJlcihwb3J0T3JIb3N0KSkge1xuICAgICAgdXJsID0gbmV3IFVSTChgaHR0cDovL2xvY2FsaG9zdDoke3BvcnRPckhvc3R9YCk7XG4gICAgfSBlbHNlIGlmICghXy5pc05hTihOdW1iZXIocG9ydE9ySG9zdCkpKSB7XG4gICAgICB1cmwgPSBuZXcgVVJMKGBodHRwOi8vbG9jYWxob3N0OiR7TnVtYmVyKHBvcnRPckhvc3QpfWApO1xuICAgIH0gZWxzZSBpZiAoXy5pc1N0cmluZyhwb3J0T3JIb3N0KSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdXJsID0gbmV3IFVSTChwb3J0T3JIb3N0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgICAgaWYgKFZhbGlkYXRvcnMubmV0d29yay5pc1ZhbGlkSXAocG9ydE9ySG9zdCkpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB1cmwgPSBuZXcgVVJMKGBodHRwOi8vJHtwb3J0T3JIb3N0fWApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIEhlbHBlcnMud2FybihgTm90IGFibGUgdG8gZ2V0IHBvcnQgZnJvbSAke3BvcnRPckhvc3R9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChmb3JjZURvbWFpbikge1xuICAgICAgICBjb25zdCBkb21haW4gPSBwb3J0T3JIb3N0IGFzIHN0cmluZztcbiAgICAgICAgdXJsID0gbmV3IFVSTChcbiAgICAgICAgICBkb21haW4uc3RhcnRzV2l0aCgnaHR0cCcpID8gZG9tYWluIDogYGh0dHA6Ly8ke3BvcnRPckhvc3R9YCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG5cblxuICBzbGFzaChwYXRoRnJvbVdpbmRvd3NPclVuaXhUeXBlOiBzdHJpbmcpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBhc3luYyBpc0VsZXZhdGVkKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cblxuXG4gIC8qKlxuICAgKiBUT0RPIGZpeCB0aGlzIG1ldGhvZHNcbiAgICovXG4gIGFzeW5jIGxvY2FsSXBBZGRyZXNzKCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuICBhbGxMb2NhbElwQWRkcmVzc2VzKCk6IFVSTFtdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgbWVzdXJlRXhlY3Rpb25Jbk1zKFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGU6IEZ1bmN0aW9uLFxuICAgIC4uLmZ1bmN0aW9uQXJndW1lbnRzOiBhbnlbXVxuICApOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKCk7XG4gICAgYXdhaXQgSGVscGVycy5ydW5TeW5jT3JBc3luYyh7XG4gICAgICBmdW5jdGlvbkZuOiBmdW5jdGlvblRvRXhlY3V0ZSxcbiAgICAgIGFycmF5T2ZQYXJhbXM6IGZ1bmN0aW9uQXJndW1lbnRzLFxuICAgIH0pO1xuICAgIC8vQHRzLWlnbm9yZVxuICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpIC0gc3RhcnQ7XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBIZWxwZXJzLmluZm8oYEV4ZWN1dGlvbiB0aW1lOiAke2VuZC50b1N0cmluZygpfW1zIGZvciBcIiR7ZGVzY3JpcHRpb259XCJgKTtcbiAgICB9XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICByZXR1cm4gZW5kO1xuICB9XG5cblxuXG4gIG1lc3VyZUV4ZWN0aW9uSW5Nc1N5bmMoXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBmdW5jdGlvblRvRXhlY3V0ZTogKCkgPT4gdm9pZCxcbiAgKTogbnVtYmVyIHtcbiAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpO1xuICAgIGZ1bmN0aW9uVG9FeGVjdXRlKCk7XG4gICAgLy9AdHMtaWdub3JlXG4gICAgdmFyIGVuZCA9IG5ldyBEYXRlKCkgLSBzdGFydDtcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhgRXhlY3V0aW9uIHRpbWU6ICR7ZW5kLnRvU3RyaW5nKCl9bXMgZm9yIFwiJHtkZXNjcmlwdGlvbn1cImApO1xuICAgIH1cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgIHJldHVybiBlbmQ7XG4gIH1cblxuXG5cbiAgd2FpdEZvckNvbmRpdGlvbihjb25kaXRpb25GbjogKGFueSkgPT4gYm9vbGVhbiwgaG93T2ZmdGVuQ2hlY2tJbk1zID0gMTAwMCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKHsgZnVuY3Rpb25GbjogY29uZGl0aW9uRm4gfSk7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIEhlbHBlcnMud2FpdEZvckNvbmRpdGlvbihjb25kaXRpb25GbiwgaG93T2ZmdGVuQ2hlY2tJbk1zKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgaG93T2ZmdGVuQ2hlY2tJbk1zKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG5cblxuICBnZXRNZXRob2ROYW1lKGNsYXNzT2JqZWN0LCBtZXRob2QpOiBzdHJpbmcge1xuICAgIHZhciBtZXRob2ROYW1lID0gbnVsbDtcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjbGFzc09iamVjdCkuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgIGlmIChjbGFzc09iamVjdFtwcm9wXSA9PT0gbWV0aG9kKSB7XG4gICAgICAgIG1ldGhvZE5hbWUgPSBwcm9wO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBtZXRob2ROYW1lO1xuICAgIH1cblxuICAgIHZhciBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihjbGFzc09iamVjdCk7XG4gICAgaWYgKHByb3RvKSB7XG4gICAgICByZXR1cm4gSGVscGVycy5nZXRNZXRob2ROYW1lKHByb3RvLCBtZXRob2QpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGZpeFdlYnBhY2tFbnYoZW52OiBPYmplY3QpIHtcbiAgICBfLmZvckluKGVudiwgKHYsIGspID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB2IGFzIGFueTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gJ3RydWUnKSBlbnZba10gPSB0cnVlO1xuICAgICAgaWYgKHZhbHVlID09PSAnZmFsc2UnKSBlbnZba10gPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGFzeW5jIHdvcmtlckNhbGN1bGF0ZUFycmF5KFxuICAgIGRhdGFUb1NwbGl0OiBhbnlbXSxcbiAgICBvcGVyYXRpb246IChcbiAgICAgIGRhdGFDaHVuazogYW55W10sXG4gICAgICB3b3JrZXJOdW1iZXI/OiBudW1iZXIgfCB1bmRlZmluZWQsXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICBtYXhlc0Zvcldvcmtlcz86IHsgW3dvcmtlck1heGVzOiBudW1iZXJdOiBudW1iZXIgfTtcbiAgICAgIHdvcmtlckxpbWl0PzogbnVtYmVyO1xuICAgICAgZ2xvYmFscz86IGFueTtcbiAgICB9LFxuICApIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBjaGVja0Vudmlyb25tZW50KGRlcHM/OiBDb3JlTW9kZWxzLkdsb2JhbERlcGVuZGVuY2llcykge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBhcHBseU1peGlucyA9IGFwcGx5TWl4aW5zO1xuXG5cblxuICBpc1ZhbGlkSXAgPSBWYWxpZGF0b3JzLm5ldHdvcmsuaXNWYWxpZElwO1xuXG5cblxuICBpc1ZhbGlkR2l0UmVwdVVybCA9IFZhbGlkYXRvcnMuZ2l0LmlzVmFsaWRSZXBvVXJsO1xuXG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBIZWxwZXJzVGFvblxuICBleHRlbmRzIEhlbHBlcnNTdHJpbmdzUmVnZXhlcyxcbiAgICBIZWxwZXJzUHJvY2VzcyxcbiAgICBIZWxwZXJzRmlsZUZvbGRlcnMge31cblxuYXBwbHlNaXhpbnMoSGVscGVyc1Rhb24sIFtcbiAgSGVscGVyc1N0cmluZ3NSZWdleGVzLFxuICBIZWxwZXJzUHJvY2VzcyxcbiAgSGVscGVyc0ZpbGVGb2xkZXJzLFxuXSk7XG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMvaGVscGVycy50cyJdfQ==
@@ -1,13 +0,0 @@
1
- export * from './validators/validators';
2
- export { HelpersAngular } from './helpers/for-browser/angular.helper';
3
- export * from './utils';
4
- import { HelpersTaon as Base } from './helpers/helpers';
5
- export const Helpers = Base.Instance;
6
- export * from './base';
7
- export * from './models';
8
- /* */
9
- /* */
10
- /* */
11
- ;
12
- ({}); // @--end-of-file-for-module=tnp-helpers lib/index.ts
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBR3RFLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxXQUFXLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFTLElBQUksQ0FBQyxRQUFnQixDQUFDO0FBQ25ELGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUdKLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcblxuZXhwb3J0IHsgSGVscGVyc0FuZ3VsYXIgfSBmcm9tICcuL2hlbHBlcnMvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXInO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgSGVscGVyc1Rhb24gYXMgQmFzZSB9IGZyb20gJy4vaGVscGVycy9oZWxwZXJzJztcbmV4cG9ydCBjb25zdCBIZWxwZXJzOiBCYXNlID0gQmFzZS5JbnN0YW5jZSBhcyBCYXNlO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaW5kZXgudHMiXX0=
@@ -1,175 +0,0 @@
1
- import { CoreModels } from 'tnp-core/browser';
2
- export const BaseProjectTypeArr = CoreModels.BaseProjectTypeArr;
3
- export class CommandConfig {
4
- static from(config) {
5
- return new CommandConfig(config);
6
- }
7
- constructor(data) {
8
- /**
9
- * Process that should be started
10
- * before this process starts.
11
- */
12
- this.shouldBeActiveOrAlreadyBuild = [];
13
- Object.keys(data).forEach(key => {
14
- this[key] = data[key];
15
- });
16
- }
17
- }
18
- export var CommandProcessState;
19
- (function (CommandProcessState) {
20
- CommandProcessState["NOT_STARTED"] = "not-started";
21
- CommandProcessState["WAITING_TO_START"] = "waiting-to-start";
22
- CommandProcessState["RUNNING"] = "running";
23
- CommandProcessState["FINISHED_AND_RUNNING"] = "finished-and-running";
24
- CommandProcessState["FINISHED"] = "finished";
25
- })(CommandProcessState || (CommandProcessState = {}));
26
- export class CommandProcess {
27
- get cmd() {
28
- return this.config.cmd;
29
- }
30
- get name() {
31
- return this.config.name;
32
- }
33
- get headerMessageWhenActive() {
34
- return this.config.headerMessageWhenActive;
35
- }
36
- get pid() {
37
- return this.child_process.pid;
38
- }
39
- get isFinished() {
40
- return [
41
- CommandProcessState.FINISHED,
42
- CommandProcessState.FINISHED_AND_RUNNING,
43
- ].includes(this.state);
44
- }
45
- get isRunning() {
46
- return [
47
- CommandProcessState.RUNNING,
48
- CommandProcessState.FINISHED_AND_RUNNING,
49
- ].includes(this.state);
50
- }
51
- get isWaitingToStart() {
52
- return this.state === CommandProcessState.WAITING_TO_START;
53
- }
54
- markForStart() {
55
- if (this.isRunning || this.isWaitingToStart) {
56
- console.warn(`Already running or waiting to start: ${this.name}`);
57
- return;
58
- }
59
- this.state = CommandProcessState.WAITING_TO_START;
60
- }
61
- constructor(project, config, manager) {
62
- this.project = project;
63
- this.config = config;
64
- this.manager = manager;
65
- this.state = CommandProcessState.NOT_STARTED;
66
- this.dependenciesProcesses = [];
67
- }
68
- async start(options) {
69
- /* */
70
- /* */
71
- /* */
72
- /* */
73
- /* */
74
- /* */
75
- /* */
76
- /* */
77
- /* */
78
- /* */
79
- /* */
80
- /* */
81
- /* */
82
- /* */
83
- /* */
84
- /* */
85
- /* */
86
- /* */
87
- /* */
88
- /* */
89
- /* */
90
- /* */
91
- /* */
92
- /* */
93
- /* */
94
- /* */
95
- /* */
96
- /* */
97
- /* */
98
- /* */
99
- /* */
100
- /* */
101
- /* */
102
- /* */
103
- /* */
104
- /* */
105
- /* */
106
- /* */
107
- /* */
108
- /* */
109
- /* */
110
- /* */
111
- /* */
112
- /* */
113
- /* */
114
- /* */
115
- /* */
116
- /* */
117
- /* */
118
- /* */
119
- /* */
120
- /* */
121
- /* */
122
- /* */
123
- /* */
124
- /* */
125
- /* */
126
- /* */
127
- /* */
128
- /* */
129
- return (void 0);
130
- }
131
- async stop() {
132
- /* */
133
- /* */
134
- /* */
135
- /* */
136
- /* */
137
- /* */
138
- /* */
139
- /* */
140
- /* */
141
- /* */
142
- /* */
143
- /* */
144
- /* */
145
- /* */
146
- /* */
147
- /* */
148
- /* */
149
- /* */
150
- /* */
151
- /* */
152
- /* */
153
- /* */
154
- /* */
155
- /* */
156
- /* */
157
- /* */
158
- /* */
159
- /* */
160
- /* */
161
- /* */
162
- /* */
163
- /* */
164
- /* */
165
- /* */
166
- /* */
167
- /* */
168
- /* */
169
- /* */
170
- return (void 0);
171
- }
172
- }
173
- ;
174
- ({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLFVBQVUsRUFBSyxNQUFNLGtCQUFrQixDQUFDO0FBUWpELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQztBQThGaEUsTUFBTSxPQUFPLGFBQWE7SUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFxQjtRQUMvQixPQUFPLElBQUksYUFBYSxDQUFDLE1BQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxZQUFvQixJQUFtQjtRQWN2Qzs7O1dBR0c7UUFDSCxpQ0FBNEIsR0FBcUIsRUFBRSxDQUFDO1FBakJsRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQXFCRjtBQW1CRCxNQUFNLENBQU4sSUFBWSxtQkFNWDtBQU5ELFdBQVksbUJBQW1CO0lBQzdCLGtEQUEyQixDQUFBO0lBQzNCLDREQUFxQyxDQUFBO0lBQ3JDLDBDQUFtQixDQUFBO0lBQ25CLG9FQUE2QyxDQUFBO0lBQzdDLDRDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBTTlCO0FBY0QsTUFBTSxPQUFPLGNBQWM7SUFLekIsSUFBYyxHQUFHO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPO1lBQ0wsbUJBQW1CLENBQUMsUUFBUTtZQUM1QixtQkFBbUIsQ0FBQyxvQkFBb0I7U0FDekMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPO1lBQ0wsbUJBQW1CLENBQUMsT0FBTztZQUMzQixtQkFBbUIsQ0FBQyxvQkFBb0I7U0FDekMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssbUJBQW1CLENBQUMsZ0JBQWdCLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDNUMsT0FBTyxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDbEUsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLGdCQUFnQixDQUFDO0lBQ3BELENBQUM7SUFNRCxZQUNVLE9BQW9CLEVBQ3BCLE1BQXFCLEVBQ3JCLE9BQTBCO1FBRjFCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQXBENUIsVUFBSyxHQUF3QixtQkFBbUIsQ0FBQyxXQUFXLENBQUM7UUE4QzlELDBCQUFxQixHQUFxQixFQUFFLENBQUM7SUFPakQsQ0FBQztJQUtKLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBa0M7UUFDaEQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELEtBQUssQ0FBQyxJQUFJO1FBQ1osS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFxQkEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxzREFBc0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBDaGlsZFByb2Nlc3MsIGV4ZWNTeW5jIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5cbmltcG9ydCB7IEhlbHBlcnMsIFV0aWxzVGVybWluYWwgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IENvcmVNb2RlbHMsIF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdCwgVHlwZU9mQ29tbWl0IH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2Nlc3NNYW5nZXIgfSBmcm9tICcuL2Jhc2UvY2xhc3Nlcy9iYXNlLXByb2Nlc3MtbWFuYWdlcic7XG5cblxuXG5leHBvcnQgdHlwZSBCYXNlUHJvamVjdFR5cGUgPSBDb3JlTW9kZWxzLkJhc2VQcm9qZWN0VHlwZTtcbmV4cG9ydCBjb25zdCBCYXNlUHJvamVjdFR5cGVBcnIgPSBDb3JlTW9kZWxzLkJhc2VQcm9qZWN0VHlwZUFycjtcblxuXG5cbi8qKlxuICogQW5ndWxhciBwcm9qZWN0IHR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgTmdQcm9qZWN0ID0ge1xuICBwcm9qZWN0VHlwZTogJ2xpYnJhcnknIHwgJ2FwcGxpY2F0aW9uJztcbiAgLyoqXG4gICAqIHdoZXJlIG5nLXBhY2thZ3IuanNvbiBpcyBsb2NhdGVkLCB0c2NvbmZpZyBldGMuXG4gICAqL1xuICByb290OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTb3VyY2UgY29kZSBwcm9qZWN0XG4gICAqL1xuICBzb3VyY2VSb290OiBzdHJpbmc7XG4gIHByZWZpeDogc3RyaW5nO1xufTtcblxuXG5cblxuZXhwb3J0IHR5cGUgTGlicmFyeUJ1aWxkQ29tbWFuZE9wdGlvbnMgPSB7XG4gIHdhdGNoPzogYm9vbGVhbjtcbn07XG5cblxuXG5leHBvcnQgdHlwZSBMaWJyYXJpZXNCdWlsZE9wdGlvbnM8UFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gQmFzZVByb2plY3Q+ID0ge1xuICBzdHJhdGVneT86ICdsaW5rJyB8ICdjb3B5JztcbiAgLyoqXG4gICAqIGJ5IGRlZmF1bHQgd2UgYXJlIGNvcHlpbmcgYWxsIGxpYnJhcmllcyB0byBub2RlX21vZHVsZXMgb2YgaXRzZWxmXG4gICAqL1xuICBjb3B5bGlua190b19ub2RlX21vZHVsZXM/OiBzdHJpbmdbXTtcbiAgcmVsZWFzZUJ1aWxkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIG92ZXJyaWRlIGJ1aWxkIG9wdGlvbnMgZm9yIHNwZWNpZmljIGxpYnJhcmllc1xuICAgKiBAdG9kb1xuICAgKi9cbiAgbGlicmFyaWVzPzogUFJPSkVDVFtdO1xuICBvdXRwdXRMaW5lUmVwbGFjZT86IChcbiAgICBsaWJGb3JPdXRwdXQ6IFBST0pFQ1QsXG4gICAgdXNlRXh0ZXJuYWxQcm92aWRlZExpYnM6IGJvb2xlYW4sXG4gICkgPT4gKGxpbmU6IHN0cmluZykgPT4gc3RyaW5nO1xuICB1c2VMYXN0VXNlckNvbmZpZ3VyYXRpb24/OiBib29sZWFuO1xufTtcblxuXG5cbmV4cG9ydCB0eXBlIFRlc3RCdWlsZE9wdGlvbnMgPSB7XG4gIG9ubHlTcGVjeWZpY0ZpbGVzPzogc3RyaW5nW107XG4gIHVwZGF0ZVNuYXBzaG90PzogYm9vbGVhbjtcbn07XG5cblxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZWxvZ0RhdGEge1xuICBjaGFuZ2VzOiBzdHJpbmdbXTtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBkYXRlOiBzdHJpbmc7XG59XG5cblxuXG5leHBvcnQgaW50ZXJmYWNlIFB1c2hQcm9jZXNzT3B0aW9ucyB7XG4gIGZvcmNlPzogYm9vbGVhbjtcbiAgdHlwZW9mQ29tbWl0PzogVHlwZU9mQ29tbWl0O1xuICBtZXJnZVVwZGF0ZUNvbW1pdHM/OiBib29sZWFuO1xuICBhc2tUb0NvbmZpcm1QdXNoPzogYm9vbGVhbjtcbiAgYXNrVG9Db25maXJtQ29tbWl0PzogYm9vbGVhbjtcbiAgc2tpcExpbnQ/OiBib29sZWFuO1xuICBhc2tUb0NvbmZpcm1CcmFuY2hDaGFuZ2U/OiBib29sZWFuO1xuICBvcmlnaW4/OiBzdHJpbmc7XG4gIGFyZ3M/OiBzdHJpbmdbXTtcbiAgc2V0T3JpZ2luPzogJ3NzaCcgfCAnaHR0cCc7XG4gIGV4aXRDYWxsQmFjaz86ICgpID0+IHZvaWQ7XG4gIGZvcmNlUHVzaE5vUXVlc3Rpb24/OiBib29sZWFuO1xuICBvdmVycmlkZUNvbW1pdE1lc3NhZ2U/OiBzdHJpbmc7XG4gIGNvbW1pdE1lc3NhZ2VSZXF1aXJlZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBvbmx5IG5lZWRlZCB3aGVuIHB1c2ggZ2l0aHViXG4gICAqIGFuZCBJIGZvcmdvdCB0byBhZGQgbXkgdXNlcm5hbWUgYmVmb3JlIGlzc3VlXG4gICAqIHRhb24gcGZpeCBwcm9wZXIgaW5wdXQgbXktcmVwbyMzNDRcbiAgICogdGhhdCBzaG91bGQgYmVcbiAgICogdGFvbiBwZml4IHByb3BlciBpbnB1dCBteS11c2VybmFtZS9teS1yZXBvIzM0NFxuICAgKi9cbiAgY3VycmVudE9yaWdpbj86IHN0cmluZztcbiAgc2tpcENoaWxkcmVuPzogYm9vbGVhbjtcbiAgbm9FeGl0PzogYm9vbGVhbjtcbn1cblxuXG5cbmV4cG9ydCBjbGFzcyBDb21tYW5kQ29uZmlnIHtcbiAgc3RhdGljIGZyb20oY29uZmlnOiBDb21tYW5kQ29uZmlnKTogQ29tbWFuZENvbmZpZyB7XG4gICAgcmV0dXJuIG5ldyBDb21tYW5kQ29uZmlnKGNvbmZpZyBhcyBhbnkpO1xuICB9XG4gIHByaXZhdGUgY29uc3RydWN0b3IoZGF0YTogQ29tbWFuZENvbmZpZykge1xuICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIHRoaXNba2V5XSA9IGRhdGFba2V5XTtcbiAgICB9KTtcbiAgfVxuICBuYW1lOiBzdHJpbmc7XG4gIGNtZDogc3RyaW5nO1xuXG4gIGhlYWRlck1lc3NhZ2VXaGVuQWN0aXZlPzogc3RyaW5nO1xuICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIG91dHB1dCB3aWxsIGJlIHN0b3JlZCBpbiBhIGJ1ZmZlciBhbmQgZGlzcGxheWVkIHdoZW4gcmVxdWVzdGVkLlxuICAgKiBEZWZhdWx0OiB0cnVlXG4gICAqL1xuICB1c2VEYXRhQnVmZmVyPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFByb2Nlc3MgdGhhdCBzaG91bGQgYmUgc3RhcnRlZFxuICAgKiBiZWZvcmUgdGhpcyBwcm9jZXNzIHN0YXJ0cy5cbiAgICovXG4gIHNob3VsZEJlQWN0aXZlT3JBbHJlYWR5QnVpbGQ/OiBDb21tYW5kQ29uZmlnW10gPSBbXTtcbiAgZ29Ub05leHRDb21tYW5kV2hlbk91dHB1dD86XG4gICAgfCBzdHJpbmdcbiAgICB8IHtcbiAgICAgICAgc3Rkb3V0Q29udGFpbnM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgICAgc3RkZXJyQ29udGFpbnM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgIH07XG59XG5cblxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NNYW5hZ2VyQ29uZmlnPFBST0pFQ1Q+IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgaGVhZGVyPzogc3RyaW5nO1xuICBjb21tYW5kczogQ29tbWFuZENvbmZpZ1tdO1xuICAvKipcbiAgICogRGVmYXVsdDogZmFsc2VcbiAgICogSWYgZmFsc2UgLSBhZnRlciBmaXJzdCBzZWxlY3Rpb24gb2YgcHJvY2Vzc2VzLCBpdCB3aWxsIGJlIG5vdCBwb3NzaWJsZVxuICAgKiB0byBhZGQgbmV3IHByb2Nlc3NlcyB0byBidWlsZCBhbmQgYnVpbGQgd2lsbCBiZSBkb25lIGFmdGVyXG4gICAqIGFsbCBwcm9jZXNzZXMgYXJlIGRvbmUuXG4gICAqL1xuICB3YXRjaD86IGJvb2xlYW47XG59XG5cblxuXG5leHBvcnQgZW51bSBDb21tYW5kUHJvY2Vzc1N0YXRlIHtcbiAgTk9UX1NUQVJURUQgPSAnbm90LXN0YXJ0ZWQnLFxuICBXQUlUSU5HX1RPX1NUQVJUID0gJ3dhaXRpbmctdG8tc3RhcnQnLFxuICBSVU5OSU5HID0gJ3J1bm5pbmcnLFxuICBGSU5JU0hFRF9BTkRfUlVOTklORyA9ICdmaW5pc2hlZC1hbmQtcnVubmluZycsIC8vIG9ubHkgZm9yIHdhdGNoIG1vZGVcbiAgRklOSVNIRUQgPSAnZmluaXNoZWQnLCAvLyBvbmx5IGZvciBub3JtYWwgbW9kZVxufVxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kUHJvY2Vzc1J1bk9wdGlvbnMge1xuICBwcm9ncmVzcz86IChuOiBudW1iZXIsIHRvdGFsOiBudW1iZXIpID0+IHZvaWQ7XG4gIHJlc29sdmVOZXh0UHJvY2Vzcz86IChcbiAgICBjdXJyZW50UHJvY2VzczogQ29tbWFuZFByb2Nlc3MsXG4gICkgPT4gUHJvbWlzZTxDb21tYW5kUHJvY2Vzcz47XG4gIHJlc29sdmVXaGVuRmluaXNoPzogYm9vbGVhbjtcbn1cblxuXG5cbmV4cG9ydCBjbGFzcyBDb21tYW5kUHJvY2VzcyB7XG5cbiAgcHJpdmF0ZSBzdGF0ZTogQ29tbWFuZFByb2Nlc3NTdGF0ZSA9IENvbW1hbmRQcm9jZXNzU3RhdGUuTk9UX1NUQVJURUQ7XG4gIHB1YmxpYyByZWFkb25seSBjaGlsZF9wcm9jZXNzPzogQ2hpbGRQcm9jZXNzO1xuXG4gIHByb3RlY3RlZCBnZXQgY21kKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNtZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5uYW1lO1xuICB9XG5cbiAgZ2V0IGhlYWRlck1lc3NhZ2VXaGVuQWN0aXZlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmhlYWRlck1lc3NhZ2VXaGVuQWN0aXZlO1xuICB9XG5cbiAgZ2V0IHBpZCgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNoaWxkX3Byb2Nlc3MucGlkO1xuICB9XG5cbiAgZ2V0IGlzRmluaXNoZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENvbW1hbmRQcm9jZXNzU3RhdGUuRklOSVNIRUQsXG4gICAgICBDb21tYW5kUHJvY2Vzc1N0YXRlLkZJTklTSEVEX0FORF9SVU5OSU5HLFxuICAgIF0uaW5jbHVkZXModGhpcy5zdGF0ZSk7XG4gIH1cblxuICBnZXQgaXNSdW5uaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBbXG4gICAgICBDb21tYW5kUHJvY2Vzc1N0YXRlLlJVTk5JTkcsXG4gICAgICBDb21tYW5kUHJvY2Vzc1N0YXRlLkZJTklTSEVEX0FORF9SVU5OSU5HLFxuICAgIF0uaW5jbHVkZXModGhpcy5zdGF0ZSk7XG4gIH1cblxuICBnZXQgaXNXYWl0aW5nVG9TdGFydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSA9PT0gQ29tbWFuZFByb2Nlc3NTdGF0ZS5XQUlUSU5HX1RPX1NUQVJUO1xuICB9XG5cbiAgbWFya0ZvclN0YXJ0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzUnVubmluZyB8fCB0aGlzLmlzV2FpdGluZ1RvU3RhcnQpIHtcbiAgICAgIGNvbnNvbGUud2FybihgQWxyZWFkeSBydW5uaW5nIG9yIHdhaXRpbmcgdG8gc3RhcnQ6ICR7dGhpcy5uYW1lfWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlID0gQ29tbWFuZFByb2Nlc3NTdGF0ZS5XQUlUSU5HX1RPX1NUQVJUO1xuICB9XG5cblxuICBwdWJsaWMgZGVwZW5kZW5jaWVzUHJvY2Vzc2VzOiBDb21tYW5kUHJvY2Vzc1tdID0gW107XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHByb2plY3Q6IEJhc2VQcm9qZWN0LFxuICAgIHByaXZhdGUgY29uZmlnOiBDb21tYW5kQ29uZmlnLFxuICAgIHByaXZhdGUgbWFuYWdlcjogQmFzZVByb2Nlc3NNYW5nZXIsXG4gICkge31cblxuXG5cblxuICBhc3luYyBzdGFydChvcHRpb25zPzogQ29tbWFuZFByb2Nlc3NSdW5PcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHN0b3AoKTogUHJvbWlzZTx2b2lkPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG5cblxuZXhwb3J0IHR5cGUgQ2ZvbnRTdHlsZSA9XG4gIHwgJ2Jsb2NrJ1xuICB8ICdzbGljaydcbiAgfCAndGlueSdcbiAgfCAnZ3JpZCdcbiAgfCAncGFsbGV0J1xuICB8ICdzaGFkZSdcbiAgfCAnY2hyb21lJ1xuICB8ICdzaW1wbGUnXG4gIHwgJ3NpbXBsZUJsb2NrJ1xuICB8ICczZCdcbiAgfCAnc2ltcGxlM2QnXG4gIHwgJ2h1Z2UnO1xuXG5leHBvcnQgdHlwZSBDZm9udEFsaWduID0gJ2xlZnQnIHwgJ2NlbnRlcicgfCAncmlnaHQnIHwgJ2Jsb2NrJztcblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL21vZGVscy50cyJdfQ==