tnp-helpers 16.444.25 → 18.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 (208) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base/base-git.mjs +76 -3
  4. package/browser/esm2022/lib/base/base-linked-projects.mjs +1 -1
  5. package/browser/esm2022/lib/base/base-npm-helpers.mjs +119 -2
  6. package/browser/esm2022/lib/base/base-project-resolver.mjs +7 -3
  7. package/browser/esm2022/lib/base/base-project.mjs +59 -3
  8. package/browser/esm2022/lib/base/base-release-process.mjs +2 -1
  9. package/browser/esm2022/lib/base/base-vscode.mjs +13 -1
  10. package/browser/esm2022/lib/base/commit-data.mjs +238 -4
  11. package/browser/esm2022/lib/base/core-project.mjs +2 -3
  12. package/browser/esm2022/lib/base/linked-project.mjs +1 -1
  13. package/browser/esm2022/lib/helpers/for-browser/angular.helper.mjs +1 -1
  14. package/browser/esm2022/lib/helpers/for-browser/helpers-browser.mjs +2 -3
  15. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  16. package/browser/esm2022/lib/helpers/helpers-strings-regexes.mjs +3 -3
  17. package/browser/esm2022/lib/helpers/helpers-strings.mjs +1 -1
  18. package/browser/esm2022/lib/helpers/helpers.mjs +53 -2
  19. package/browser/esm2022/lib/index.mjs +2 -1
  20. package/browser/esm2022/lib/utils.mjs +45 -0
  21. package/browser/esm2022/lib/validators/validators-network.mjs +1 -1
  22. package/browser/fesm2022/tnp-helpers.mjs +594 -12
  23. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  24. package/browser/lib/base/base-git.d.ts +22 -2
  25. package/browser/lib/base/base-library-build.d.ts +1 -1
  26. package/browser/lib/base/base-npm-helpers.d.ts +35 -3
  27. package/browser/lib/base/base-project-resolver.d.ts +1 -1
  28. package/browser/lib/base/base-project.d.ts +25 -2
  29. package/browser/lib/base/commit-data.d.ts +41 -3
  30. package/browser/lib/base/config-database.d.ts +1 -1
  31. package/browser/lib/helpers/helpers.d.ts +11 -1
  32. package/browser/lib/index.d.ts +1 -0
  33. package/browser/lib/utils.d.ts +12 -0
  34. package/client/README.md +24 -24
  35. package/client/esm2022/lib/base/base-git.mjs +76 -3
  36. package/client/esm2022/lib/base/base-linked-projects.mjs +1 -1
  37. package/client/esm2022/lib/base/base-npm-helpers.mjs +119 -2
  38. package/client/esm2022/lib/base/base-project-resolver.mjs +7 -3
  39. package/client/esm2022/lib/base/base-project.mjs +59 -3
  40. package/client/esm2022/lib/base/base-release-process.mjs +2 -1
  41. package/client/esm2022/lib/base/base-vscode.mjs +13 -1
  42. package/client/esm2022/lib/base/commit-data.mjs +238 -4
  43. package/client/esm2022/lib/base/core-project.mjs +2 -3
  44. package/client/esm2022/lib/base/linked-project.mjs +1 -1
  45. package/client/esm2022/lib/helpers/for-browser/angular.helper.mjs +1 -1
  46. package/client/esm2022/lib/helpers/for-browser/helpers-browser.mjs +2 -3
  47. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  48. package/client/esm2022/lib/helpers/helpers-strings-regexes.mjs +3 -3
  49. package/client/esm2022/lib/helpers/helpers-strings.mjs +1 -1
  50. package/client/esm2022/lib/helpers/helpers.mjs +53 -2
  51. package/client/esm2022/lib/index.mjs +2 -1
  52. package/client/esm2022/lib/utils.mjs +45 -0
  53. package/client/esm2022/lib/validators/validators-network.mjs +1 -1
  54. package/client/fesm2022/tnp-helpers.mjs +594 -12
  55. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  56. package/client/lib/base/base-git.d.ts +22 -2
  57. package/client/lib/base/base-library-build.d.ts +1 -1
  58. package/client/lib/base/base-npm-helpers.d.ts +35 -3
  59. package/client/lib/base/base-project-resolver.d.ts +1 -1
  60. package/client/lib/base/base-project.d.ts +25 -2
  61. package/client/lib/base/commit-data.d.ts +41 -3
  62. package/client/lib/base/config-database.d.ts +1 -1
  63. package/client/lib/helpers/helpers.d.ts +11 -1
  64. package/client/lib/index.d.ts +1 -0
  65. package/client/lib/utils.d.ts +12 -0
  66. package/firedev.jsonc +41 -61
  67. package/lib/base/base-command-line.backend.d.ts +8 -3
  68. package/lib/base/base-command-line.backend.js +81 -32
  69. package/lib/base/base-command-line.backend.js.map +1 -1
  70. package/lib/base/base-db.js.map +1 -1
  71. package/lib/base/base-git.d.ts +22 -2
  72. package/lib/base/base-git.js +200 -136
  73. package/lib/base/base-git.js.map +1 -1
  74. package/lib/base/base-library-build.js +37 -37
  75. package/lib/base/base-library-build.js.map +1 -1
  76. package/lib/base/base-linked-projects.js +4 -4
  77. package/lib/base/base-linked-projects.js.map +1 -1
  78. package/lib/base/base-npm-helpers.d.ts +31 -3
  79. package/lib/base/base-npm-helpers.js +142 -10
  80. package/lib/base/base-npm-helpers.js.map +1 -1
  81. package/lib/base/base-project-resolver.d.ts +1 -1
  82. package/lib/base/base-project-resolver.js +5 -2
  83. package/lib/base/base-project-resolver.js.map +1 -1
  84. package/lib/base/base-project.d.ts +25 -2
  85. package/lib/base/base-project.js +87 -18
  86. package/lib/base/base-project.js.map +1 -1
  87. package/lib/base/base-release-process.js +12 -9
  88. package/lib/base/base-release-process.js.map +1 -1
  89. package/lib/base/base-start-config.backend.js +1 -1
  90. package/lib/base/base-start-config.backend.js.map +1 -1
  91. package/lib/base/base-vscode.js +13 -1
  92. package/lib/base/base-vscode.js.map +1 -1
  93. package/lib/base/command-line-feature.backend.js.map +1 -1
  94. package/lib/base/commit-data.d.ts +41 -3
  95. package/lib/base/commit-data.js +347 -85
  96. package/lib/base/commit-data.js.map +1 -1
  97. package/lib/base/config-database.d.ts +1 -1
  98. package/lib/base/config-database.js.map +1 -1
  99. package/lib/base/core-project.js +23 -22
  100. package/lib/base/core-project.js.map +1 -1
  101. package/lib/base/linked-project.js.map +1 -1
  102. package/lib/base/project-database.js.map +1 -1
  103. package/lib/base/translate.js +10 -6
  104. package/lib/base/translate.js.map +1 -1
  105. package/lib/helpers/for-backend/helpers-cli-tool.backend.d.ts +1 -1
  106. package/lib/helpers/for-backend/helpers-cli-tool.backend.js +42 -39
  107. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  108. package/lib/helpers/for-backend/helpers-console-gui.d.ts +5 -1
  109. package/lib/helpers/for-backend/helpers-console-gui.js +7 -3
  110. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  111. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -1
  112. package/lib/helpers/for-backend/helpers-git.backend.d.ts +3 -0
  113. package/lib/helpers/for-backend/helpers-git.backend.js +132 -45
  114. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  115. package/lib/helpers/for-backend/helpers-network.backend.d.ts +2 -1
  116. package/lib/helpers/for-backend/helpers-network.backend.js.map +1 -1
  117. package/lib/helpers/for-backend/helpers-npm.backend.js.map +1 -1
  118. package/lib/helpers/for-backend/helpers-process.backend.d.ts +10 -3
  119. package/lib/helpers/for-backend/helpers-process.backend.js +57 -34
  120. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  121. package/lib/helpers/for-backend/helpers-system-terminal.backend.js.map +1 -1
  122. package/lib/helpers/for-backend/helpers-vscode.backend.js.map +1 -1
  123. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js.map +1 -1
  124. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js.map +1 -1
  125. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js.map +1 -1
  126. package/lib/helpers/for-browser/angular.helper.js +2 -3
  127. package/lib/helpers/for-browser/angular.helper.js.map +1 -1
  128. package/lib/helpers/for-browser/helpers-browser.js +2 -1
  129. package/lib/helpers/for-browser/helpers-browser.js.map +1 -1
  130. package/lib/helpers/helpers-array-obj.js.map +1 -1
  131. package/lib/helpers/helpers-json5.backend.js.map +1 -1
  132. package/lib/helpers/helpers-strings-regexes.js +1 -1
  133. package/lib/helpers/helpers-strings-regexes.js.map +1 -1
  134. package/lib/helpers/helpers-strings.js.map +1 -1
  135. package/lib/helpers/helpers.d.ts +11 -2
  136. package/lib/helpers/helpers.js +63 -16
  137. package/lib/helpers/helpers.js.map +1 -1
  138. package/lib/index.d.ts +1 -0
  139. package/lib/index.js +1 -0
  140. package/lib/index.js.map +1 -1
  141. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
  142. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
  143. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
  144. package/lib/lowdb/adapters/node/DataFile.d.ts +0 -1
  145. package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
  146. package/lib/lowdb/adapters/node/JSONFile.d.ts +0 -1
  147. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
  148. package/lib/lowdb/adapters/node/TextFile.d.ts +0 -1
  149. package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
  150. package/lib/lowdb/adapters/node/steno.js +1 -1
  151. package/lib/lowdb/adapters/node/steno.js.map +1 -1
  152. package/lib/lowdb/presets/browser.js +2 -3
  153. package/lib/lowdb/presets/browser.js.map +1 -1
  154. package/lib/lowdb/presets/node.d.ts +0 -1
  155. package/lib/lowdb/presets/node.js +2 -3
  156. package/lib/lowdb/presets/node.js.map +1 -1
  157. package/lib/old/base-component.js +2 -3
  158. package/lib/old/base-component.js.map +1 -1
  159. package/lib/old/base-formly-component.js +2 -3
  160. package/lib/old/base-formly-component.js.map +1 -1
  161. package/lib/old/dual-component-ctrl.js +2 -3
  162. package/lib/old/dual-component-ctrl.js.map +1 -1
  163. package/lib/utils.d.ts +11 -0
  164. package/lib/utils.js +55 -0
  165. package/lib/utils.js.map +1 -0
  166. package/lib/validators/validators-firedev.js +1 -1
  167. package/lib/validators/validators-firedev.js.map +1 -1
  168. package/lib/validators/validators-git.js +1 -1
  169. package/lib/validators/validators-git.js.map +1 -1
  170. package/lib/validators/validators-network.js +1 -1
  171. package/lib/validators/validators-network.js.map +1 -1
  172. package/lib/validators/validators.js +1 -1
  173. package/lib/validators/validators.js.map +1 -1
  174. package/package.json +6 -6
  175. package/tmp-environment.json +186 -185
  176. package/websql/README.md +24 -24
  177. package/websql/esm2022/lib/base/base-git.mjs +76 -3
  178. package/websql/esm2022/lib/base/base-linked-projects.mjs +1 -1
  179. package/websql/esm2022/lib/base/base-npm-helpers.mjs +119 -2
  180. package/websql/esm2022/lib/base/base-project-resolver.mjs +6 -3
  181. package/websql/esm2022/lib/base/base-project.mjs +59 -3
  182. package/websql/esm2022/lib/base/base-release-process.mjs +2 -1
  183. package/websql/esm2022/lib/base/base-vscode.mjs +13 -1
  184. package/websql/esm2022/lib/base/commit-data.mjs +238 -4
  185. package/websql/esm2022/lib/base/core-project.mjs +2 -3
  186. package/websql/esm2022/lib/base/linked-project.mjs +1 -1
  187. package/websql/esm2022/lib/helpers/for-browser/angular.helper.mjs +1 -1
  188. package/websql/esm2022/lib/helpers/for-browser/helpers-browser.mjs +2 -3
  189. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  190. package/websql/esm2022/lib/helpers/helpers-strings-regexes.mjs +3 -3
  191. package/websql/esm2022/lib/helpers/helpers-strings.mjs +1 -1
  192. package/websql/esm2022/lib/helpers/helpers.mjs +53 -2
  193. package/websql/esm2022/lib/index.mjs +2 -1
  194. package/websql/esm2022/lib/utils.mjs +45 -0
  195. package/websql/esm2022/lib/validators/validators-network.mjs +1 -1
  196. package/websql/fesm2022/tnp-helpers.mjs +594 -12
  197. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  198. package/websql/lib/base/base-git.d.ts +22 -2
  199. package/websql/lib/base/base-library-build.d.ts +1 -1
  200. package/websql/lib/base/base-npm-helpers.d.ts +33 -3
  201. package/websql/lib/base/base-project-resolver.d.ts +1 -1
  202. package/websql/lib/base/base-project.d.ts +29 -2
  203. package/websql/lib/base/commit-data.d.ts +41 -3
  204. package/websql/lib/base/config-database.d.ts +1 -1
  205. package/websql/lib/helpers/helpers.d.ts +11 -1
  206. package/websql/lib/index.d.ts +1 -0
  207. package/websql/lib/utils.d.ts +12 -0
  208. package/client/package.json +0 -362
@@ -1,4 +1,7 @@
1
1
  import { _, /* */ /* */ } from 'tnp-core/websql'; /* */
2
+ const openSourceProvidersIssuePrefix = [
3
+ 'GH',
4
+ ];
2
5
  const regexTeamsID = /[A-Z0-9]+\#/;
3
6
  const regexCommitModuleInArgs = /\[[a-z|\-|\,]+\]/;
4
7
  const regexCommitModuleInBranch = /\-\-[a-z|\-|\_]+\-\-/;
@@ -65,19 +68,124 @@ export class CommitData {
65
68
  /* */
66
69
  return (void 0);
67
70
  }
71
+ /**
72
+ *
73
+ * @returns jiras (from oldest to newset)
74
+ */
75
+ static extractAndOrderIssuesFromOtherProjects(
76
+ /**
77
+ * example:
78
+ * commit: proper git commands tnp/GH-9 darekf77/tnp-helpers/GH-10
79
+ * feature/__tnp-GH-9____darekf77_tnp-helpers-GH10__-proper-git-commands
80
+ */
81
+ commitOrBranchName, currentOrigin) {
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
+ /* */
150
+ /* */
151
+ /* */
152
+ /* */
153
+ /* */
154
+ /* */
155
+ /* */
156
+ /* */
157
+ /* */
158
+ /* */
159
+ /* */
160
+ return (void 0);
161
+ }
68
162
  static cleanMessageFromJiraNumTeamIdEtc(message, optinos) {
69
163
  message = message || '';
70
- let { teamID, commitModuleName, jiraNumbers } = optinos || {};
164
+ let { teamID, commitModuleName, jiraNumbers, issuesFromOtherProjects } = optinos || {};
71
165
  teamID = teamID || this.getTeamsIdFrom(message).teamID || '';
72
166
  commitModuleName =
73
167
  commitModuleName ||
74
168
  this.getModuleNameFrom(message).commitModuleName ||
75
169
  '';
76
170
  jiraNumbers = jiraNumbers || this.extractAndOrderJiraNumbers(message) || [];
171
+ issuesFromOtherProjects =
172
+ issuesFromOtherProjects ||
173
+ this.extractAndOrderIssuesFromOtherProjects(message) ||
174
+ [];
77
175
  if (!!teamID.trim()) {
78
176
  message = message.replace(teamID.toLowerCase().replace('-', ' '), ' ');
79
177
  message = message.replace(teamID.toUpperCase().replace('-', ' '), ' ');
80
178
  }
179
+ for (const issueFromOtherProj of issuesFromOtherProjects || []) {
180
+ message = message.replace(`__${issueFromOtherProj.replace(/\//g, '_').replace(/\-/g, ' ')}__`, ' ');
181
+ message = message.replace(issueFromOtherProj, ' ');
182
+ message = message.replace(issueFromOtherProj.toLowerCase().replace('-', ' '), ' ');
183
+ message = message.replace(issueFromOtherProj.toUpperCase().replace('-', ' '), ' ');
184
+ message = message.replace(issueFromOtherProj.toLowerCase(), ' ');
185
+ message = message.replace(regexCommitModuleInArgs, ' ');
186
+ message = message.replace(regexCommitModuleInBranch, ' ');
187
+ message = message.replace(/\ \ /g, ' ');
188
+ }
81
189
  for (const jira of jiraNumbers || []) {
82
190
  message = message.replace(jira.toLowerCase().replace('-', ' '), ' ');
83
191
  message = message.replace(jira.toUpperCase().replace('-', ' '), ' ');
@@ -117,7 +225,36 @@ export class CommitData {
117
225
  .replace(/\_/, ',');
118
226
  return { commitModuleName };
119
227
  }
120
- static async getFromArgs(args, typeOfCommit) {
228
+ static async getFromArgs(args, options) {
229
+ /* */
230
+ /* */
231
+ /* */
232
+ /* */
233
+ /* */
234
+ /* */
235
+ /* */
236
+ /* */
237
+ /* */
238
+ /* */
239
+ /* */
240
+ /* */
241
+ /* */
242
+ /* */
243
+ /* */
244
+ /* */
245
+ /* */
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ /* */
251
+ /* */
252
+ /* */
253
+ /* */
254
+ /* */
255
+ /* */
256
+ /* */
257
+ /* */
121
258
  /* */
122
259
  /* */
123
260
  /* */
@@ -156,7 +293,19 @@ export class CommitData {
156
293
  /* */
157
294
  return (void 0);
158
295
  }
159
- static async getFromBranch(currentBranchName, releaseWords = []) {
296
+ static async getFromBranch(currentBranchName, options) {
297
+ /* */
298
+ /* */
299
+ /* */
300
+ /* */
301
+ /* */
302
+ /* */
303
+ /* */
304
+ /* */
305
+ /* */
306
+ /* */
307
+ /* */
308
+ /* */
160
309
  /* */
161
310
  /* */
162
311
  /* */
@@ -267,6 +416,7 @@ export class CommitData {
267
416
  teamID: this.teamID,
268
417
  commitModuleName: this.commitModuleName,
269
418
  jiraNumbers: this.jiraNumbers,
419
+ issuesFromOtherProjects: this.issuesFromOtherProjects,
270
420
  });
271
421
  }
272
422
  /**
@@ -292,7 +442,70 @@ export class CommitData {
292
442
  /* */
293
443
  return (void 0);
294
444
  }
445
+ /**
446
+ * ex. firedev/GH-12 darekf77/tnp-helpers/GH-4
447
+ */
448
+ get issuesFromOtherProjects() {
449
+ return this.__issuesFromOtherProjects;
450
+ }
451
+ set issuesFromOtherProjects(value) {
452
+ this.__issuesFromOtherProjects = value;
453
+ }
295
454
  get commitMessage() {
455
+ /* */
456
+ /* */
457
+ /* */
458
+ /* */
459
+ /* */
460
+ /* */
461
+ /* */
462
+ /* */
463
+ /* */
464
+ /* */
465
+ /* */
466
+ /* */
467
+ /* */
468
+ /* */
469
+ /* */
470
+ /* */
471
+ /* */
472
+ /* */
473
+ /* */
474
+ /* */
475
+ /* */
476
+ /* */
477
+ /* */
478
+ /* */
479
+ /* */
480
+ /* */
481
+ /* */
482
+ /* */
483
+ /* */
484
+ /* */
485
+ /* */
486
+ /* */
487
+ /* */
488
+ /* */
489
+ /* */
490
+ /* */
491
+ /* */
492
+ /* */
493
+ /* */
494
+ /* */
495
+ /* */
496
+ /* */
497
+ /* */
498
+ /* */
499
+ /* */
500
+ /* */
501
+ /* */
502
+ /* */
503
+ /* */
504
+ /* */
505
+ /* */
506
+ /* */
507
+ /* */
508
+ /* */
296
509
  /* */
297
510
  /* */
298
511
  /* */
@@ -342,6 +555,27 @@ export class CommitData {
342
555
  return (void 0);
343
556
  }
344
557
  get branchName() {
558
+ /* */
559
+ /* */
560
+ /* */
561
+ /* */
562
+ /* */
563
+ /* */
564
+ /* */
565
+ /* */
566
+ /* */
567
+ /* */
568
+ /* */
569
+ /* */
570
+ /* */
571
+ /* */
572
+ /* */
573
+ /* */
574
+ /* */
575
+ /* */
576
+ /* */
577
+ /* */
578
+ /* */
345
579
  /* */
346
580
  /* */
347
581
  /* */
@@ -372,4 +606,4 @@ export class CommitData {
372
606
  }
373
607
  ;
374
608
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/commit-data.ts
375
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NvbW1pdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBSyxNQUFNLGlCQUFpQixDQUFDLENBQUEsS0FBSztBQXVCM0QsTUFBTSxZQUFZLEdBQVcsYUFBYSxDQUFDO0FBRTNDLE1BQU0sdUJBQXVCLEdBQVcsa0JBQWtCLENBQUM7QUFDM0QsTUFBTSx5QkFBeUIsR0FBVyxzQkFBc0IsQ0FBQztBQUVqRSxNQUFNLE9BQU8sVUFBVTtJQUliLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxTQUFpQjtRQUN6RCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFJTyxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQWlCO1FBQzdDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksTUFBTSxFQUFFO1lBQ1YsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsT0FBTztZQUNMLHFCQUFxQixFQUFFLFNBQVM7WUFDaEMsTUFBTTtTQUNQLENBQUM7SUFDSixDQUFDO0lBSU8sTUFBTSxDQUFD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QUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUN4QixpQkFBeUIsRUFDekIsZUFBeUIsRUFBRTtRQUUvQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJTSxNQUFNLENBQUMsSUFBSSxDQUNoQixPQUdDO1FBRUQsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBUSxDQUFDO1FBRTFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFFNUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBb0JPLFlBQVksQ0FBQyxPQUFlO1FBQ2xDLE9BQU8sVUFBVSxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sRUFBRTtZQUMxRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlEOzs7T0FHRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQU87UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFJRCxJQUFJLFlBQVk7UUFDbEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLGFBQWE7UUFDbkIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLFVBQVU7UUFDaEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBSSxjQUFjO1FBQ3BCLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUlGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnRUFBZ0UiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgICBfLCAvKiAqLyAvKiAqLyAgICB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCB0eXBlIENvbW1vbkNvbW1pdE1zZ0JyYW5jaCA9XG4gIHwgJ3JlZmFjdG9yJ1xuICB8ICdjaG9yZSdcbiAgfCAnc3R5bGUnXG4gIHwgJ2RvY3MnXG4gIHwgJ3Rlc3QnXG4gIHwgJ2NpJ1xuICB8ICdidWlsZCdcbiAgfCAncmVsZWFzZSc7XG5leHBvcnQgdHlwZSBUeXBlT2ZDb21taXQgPVxuICB8ICdmZWF0dXJlJ1xuICB8ICdidWdmaXgnXG4gIHwgJ3BlcmZvcm1hbmNlJ1xuICB8IENvbW1vbkNvbW1pdE1zZ0JyYW5jaDtcbmV4cG9ydCB0eXBlIFR5cGVPZk1zZ1ByZWZpeCA9ICdmZWF0JyB8ICdmaXgnIHwgJ3BlcmYnIHwgQ29tbW9uQ29tbWl0TXNnQnJhbmNoO1xuY29uc3QgcmVnZXhUZWFtc0lEOiBSZWdFeHAgPSAvW0EtWjAtOV0rXFwjLztcblxuY29uc3QgcmVnZXhDb21taXRNb2R1bGVJbkFyZ3M6IFJlZ0V4cCA9IC9cXFtbYS16fFxcLXxcXCxdK1xcXS87XG5jb25zdCByZWdleENvbW1pdE1vZHVsZUluQnJhbmNoOiBSZWdFeHAgPSAvXFwtXFwtW2EtenxcXC18XFxfXStcXC1cXC0vO1xuXG5leHBvcnQgY2xhc3MgQ29tbWl0RGF0YSB7XG5cblxuXG4gIHByaXZhdGUgc3RhdGljIGNsZWFuSHR0cEZyb21Db21taXRNZXNzYWdlKGNvbW1pdE1zZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbW1pdE1zZykge1xuICAgICAgcmV0dXJuIGNvbW1pdE1zZztcbiAgICB9XG4gICAgY29tbWl0TXNnID0gY29tbWl0TXNnLnJlcGxhY2UoJ2h0dHBzOi8vJywgJycpO1xuICAgIGNvbW1pdE1zZyA9IGNvbW1pdE1zZy5yZXBsYWNlKCdodHRwOi8vJywgJycpO1xuICAgIHJldHVybiBjb21taXRNc2c7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0VGVhbXNJZEZyb20oY29tbWl0TXNnOiBzdHJpbmcpIHtcbiAgICBsZXQgdGVhbUlEID0gXy5maXJzdChjb21taXRNc2cubWF0Y2gocmVnZXhUZWFtc0lEKSk7XG4gICAgaWYgKHRlYW1JRCkge1xuICAgICAgY29tbWl0TXNnID0gY29tbWl0TXNnLnJlcGxhY2UodGVhbUlELCAnJyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBjb21taXRNc2dPckJyYW5jaE5hbWU6IGNvbW1pdE1zZyxcbiAgICAgIHRlYW1JRCxcbiAgICB9O1xuICB9XG5cblxuXG4gIHByaXZhdGUgc3RhdGljIGdldE1vZHVsZU5hbWVGcm9tKGNvbW1pdE1zZzogc3RyaW5nKSB7XG4gICAgbGV0IGNvbW1pdE1vZHVsZU5hbWUgPSBfLmZpcnN0KGNvbW1pdE1zZy5tYXRjaChyZWdleENvbW1pdE1vZHVsZUluQXJncykpO1xuICAgIGlmIChjb21taXRNb2R1bGVOYW1lKSB7XG4gICAgICBjb21taXRNc2cgPSBjb21taXRNc2cucmVwbGFjZShjb21taXRNb2R1bGVOYW1lLCAnJyk7XG4gICAgfVxuICAgIGNvbW1pdE1vZHVsZU5hbWUgPSBjb21taXRNb2R1bGVOYW1lPy5yZXBsYWNlKC9cXFsvZywgJycpLnJlcGxhY2UoL1xcXS9nLCAnJyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1pdE1zZyxcbiAgICAgIGNvbW1pdE1vZHVsZU5hbWUsXG4gICAgfTtcbiAgfVxuXG5cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybnMgamlyYXMgKGZyb20gb2xkZXN0IHRvIG5ld3NldClcbiAgICovXG4gIHN0YXRpYyBleHRyYWN0QW5kT3JkZXJKaXJhTnVtYmVycyhjb21taXRPckJyYW5jaE5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGF0aWMgY2xlYW5NZXNzYWdlRnJvbUppcmFOdW1UZWFtSWRFdGMoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG9wdGlub3M/OiB7XG4gICAgICB0ZWFtSUQ6IHN0cmluZztcbiAgICAgIGNvbW1pdE1vZHVsZU5hbWU6IHN0cmluZztcbiAgICAgIGppcmFOdW1iZXJzOiBzdHJpbmdbXTtcbiAgICB9LFxuICApOiBzdHJpbmcge1xuICAgIG1lc3NhZ2UgPSBtZXNzYWdlIHx8ICcnO1xuICAgIGxldCB7IHRlYW1JRCwgY29tbWl0TW9kdWxlTmFtZSwgamlyYU51bWJlcnMgfSA9IG9wdGlub3MgfHwge307XG4gICAgdGVhbUlEID0gdGVhbUlEIHx8IHRoaXMuZ2V0VGVhbXNJZEZyb20obWVzc2FnZSkudGVhbUlEIHx8ICcnO1xuICAgIGNvbW1pdE1vZHVsZU5hbWUgPVxuICAgICAgY29tbWl0TW9kdWxlTmFtZSB8fFxuICAgICAgdGhpcy5nZXRNb2R1bGVOYW1lRnJvbShtZXNzYWdlKS5jb21taXRNb2R1bGVOYW1lIHx8XG4gICAgICAnJztcbiAgICBqaXJhTnVtYmVycyA9IGppcmFOdW1iZXJzIHx8IHRoaXMuZXh0cmFjdEFuZE9yZGVySmlyYU51bWJlcnMobWVzc2FnZSkgfHwgW107XG5cbiAgICBpZiAoISF0ZWFtSUQudHJpbSgpKSB7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHRlYW1JRC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSh0ZWFtSUQudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJyAnKSwgJyAnKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGppcmEgb2YgamlyYU51bWJlcnMgfHwgW10pIHtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoamlyYS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShqaXJhLnRvVXBwZXJDYXNlKCkucmVwbGFjZSgnLScsICcgJyksICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGppcmEsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGppcmEudG9Mb3dlckNhc2UoKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UocmVnZXhDb21taXRNb2R1bGVJbkFyZ3MsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHJlZ2V4Q29tbWl0TW9kdWxlSW5CcmFuY2gsICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9cXCBcXCAvZywgJyAnKTtcbiAgICB9XG5cbiAgICBpZiAoISF0ZWFtSUQudHJpbSgpKSB7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9cXF8vZywgJyAnKTtcbiAgICB9XG4gICAgaWYgKCEhY29tbWl0TW9kdWxlTmFtZS50cmltKCkpIHtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9cXC0vZywgJyAnKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9cXCwvZywgJyAnKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9cXCwvZywgJ18nKSwgJyAnKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VcbiAgICAgIC5yZXBsYWNlKC9cXCBcXCAvZywgJyAnKVxuICAgICAgLnJlcGxhY2UoL1xcIFxcIC9nLCAnICcpXG4gICAgICAucmVwbGFjZSgvXFwgXFwgL2csICcgJyk7XG4gIH1cblxuXG5cblxuICBwcml2YXRlIHN0YXRpYyBnZXRNb2R1bGVOYW1lRnJvbUJyYW5jaChicmFuY2hOYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgY29tbWl0TW9kdWxlTmFtZSA9IF8uZmlyc3QoYnJhbmNoTmFtZS5tYXRjaChyZWdleENvbW1pdE1vZHVsZUluQnJhbmNoKSk7XG4gICAgaWYgKGNvbW1pdE1vZHVsZU5hbWUpIHtcbiAgICAgIGJyYW5jaE5hbWUgPSBicmFuY2hOYW1lLnJlcGxhY2UoY29tbWl0TW9kdWxlTmFtZSwgJycpO1xuICAgICAgY29tbWl0TW9kdWxlTmFtZSA9IGNvbW1pdE1vZHVsZU5hbWVcbiAgICAgICAgPy5yZXBsYWNlKC9eXFwtXFwtLywgJycpXG4gICAgICAgID8ucmVwbGFjZSgvXFwtXFwtJC8sICcnKTtcbiAgICAgIGlmIChjb21taXRNb2R1bGVOYW1lLnN0YXJ0c1dpdGgoJy0nKSkge1xuICAgICAgICBjb21taXRNb2R1bGVOYW1lID0gY29tbWl0TW9kdWxlTmFtZS5yZXBsYWNlKC9eXFwtLywgJycpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb21taXRNb2R1bGVOYW1lID0gY29tbWl0TW9kdWxlTmFtZVxuICAgICAgPy5yZXBsYWNlKC9eXFwtXFwtLywgJycpXG4gICAgICA/LnJlcGxhY2UoL1xcLVxcLSQvLCAnJylcbiAgICAgIC5yZXBsYWNlKC9cXF8vLCAnLCcpO1xuXG4gICAgcmV0dXJuIHsgY29tbWl0TW9kdWxlTmFtZSB9O1xuICB9XG5cblxuXG4gIHN0YXRpYyBhc3luYyBnZXRGcm9tQXJncyhhcmdzOiBzdHJpbmdbXSwgdHlwZU9mQ29tbWl0OiBUeXBlT2ZDb21taXQpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGFzeW5jIGdldEZyb21CcmFuY2goXG4gICAgY3VycmVudEJyYW5jaE5hbWU6IHN0cmluZyxcbiAgICByZWxlYXNlV29yZHM6IHN0cmluZ1tdID0gW10sXG4gICk6IFByb21pc2U8Q29tbWl0RGF0YT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbShcbiAgICBvcHRpb25zOiBQaWNrPFxuICAgICAgQ29tbWl0RGF0YSxcbiAgICAgICdtZXNzYWdlJyB8ICdqaXJhTnVtYmVycycgfCAndHlwZU9mQ29tbWl0JyB8ICdjb21taXRNb2R1bGVOYW1lJyB8ICd0ZWFtSUQnXG4gICAgPixcbiAgKTogQ29tbWl0RGF0YSB7XG4gICAgb3B0aW9ucyA9IChvcHRpb25zID8gb3B0aW9ucyA6IHt9KSBhcyBhbnk7XG5cbiAgICBjb25zdCBvcHQgPSBfLm1lcmdlKG5ldyBDb21taXREYXRhKCksIF8uY2xvbmVEZWVwKG9wdGlvbnMpKTtcblxuICAgIHJldHVybiBvcHQ7XG4gIH1cblxuXG5cblxuXG4gIHByaXZhdGUgX21lc3NhZ2U6IHN0cmluZztcbiAgdHlwZU9mQ29tbWl0OiBUeXBlT2ZDb21taXQ7XG4gIC8qKlxuICAgKiBleC4gSklSQS0yMTMyIG9yIE1ZSklSQVJFRklYLTIzNDIzNFxuICAgKi9cbiAgamlyYU51bWJlcnM6IHN0cmluZ1tdO1xuXG4gIHJlYWRvbmx5IGNvbW1pdE1vZHVsZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdGVhbUlEOiBzdHJpbmc7XG5cblxuXG5cblxuICBwcml2YXRlIGNsZWFyTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBDb21taXREYXRhLmNsZWFuTWVzc2FnZUZyb21KaXJhTnVtVGVhbUlkRXRjKG1lc3NhZ2UsIHtcbiAgICAgIHRlYW1JRDogdGhpcy50ZWFtSUQsXG4gICAgICBjb21taXRNb2R1bGVOYW1lOiB0aGlzLmNvbW1pdE1vZHVsZU5hbWUsXG4gICAgICBqaXJhTnVtYmVyczogdGhpcy5qaXJhTnVtYmVycyxcbiAgICB9KTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogcHVyZSBtZXNzYWdlIHdoYXQgd2FzIGRvbmUgKHdpdGhvdXQgamlyYSBvciBwcmVmaXhlcylcbiAgICogPT4gaXMgaW5jbHVkZWQgaW4gdGhpcy5jb21taXRNZXNzYWdlXG4gICAqL1xuICBnZXQgbWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jbGVhck1lc3NhZ2UodGhpcy5fbWVzc2FnZSk7XG4gIH1cbiAgc2V0IG1lc3NhZ2UobWVzc2FnZSkge1xuICAgIHRoaXMuX21lc3NhZ2UgPSB0aGlzLmNsZWFyTWVzc2FnZShtZXNzYWdlKTtcbiAgfVxuXG5cblxuICBnZXQgYnJhbmNoUHJlZml4KCk6IFR5cGVPZk1zZ1ByZWZpeCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgY29tbWl0TWVzc2FnZSgpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGJyYW5jaE5hbWUoKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNBY3Rpb25Db21taXQoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2NvbW1pdC1kYXRhLnRzIl19
609
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NvbW1pdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBSyxNQUFNLGlCQUFpQixDQUFDLENBQUEsS0FBSztBQVkzRCxNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLElBQUk7Q0FNTCxDQUFDO0FBd0JGLE1BQU0sWUFBWSxHQUFXLGFBQWEsQ0FBQztBQUUzQyxNQUFNLHVCQUF1QixHQUFXLGtCQUFrQixDQUFDO0FBQzNELE1BQU0seUJBQXlCLEdBQVcsc0JBQXNCLENBQUM7QUFFakUsTUFBTSxPQUFPLFVBQVU7SUFJYixNQUFNLENBQUMsMEJBQTBCLENBQUMsU0FBaUI7UUFDekQsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0MsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUlPLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBaUI7UUFDN0MsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLFNBQVMsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTztZQUNMLHFCQUFxQixFQUFFLFNBQVM7WUFDaEMsTUFBTTtTQUNQLENBQUM7SUFDSixDQUFDO0lBSU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFNBQWlCO1FBQ2hELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQztRQUN6RSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELGdCQUFnQixHQUFHLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRSxPQUFPO1lBQ0wsU0FBUztZQUNULGdCQUFnQjtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUlEOzs7T0FHRztJQUNILE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxrQkFBMEI7UUFDOUQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLHNDQUFzQztJQUMzQzs7OztPQUlHO0lBQ0gsa0JBQTBCLEVBQzFCLGFBQXNCO1FBRTFCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxNQUFNLENBQUMsZ0NBQWdDLENBQ3JDLE9BQWUsRUFDZixPQUtDO1FBRUQsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFBSSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUUsR0FDcEUsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNoQixNQUFNLEdBQUcsTUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUM3RCxnQkFBZ0I7WUFDZCxnQkFBZ0I7Z0JBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0I7Z0JBQ2hELEVBQUUsQ0FBQztRQUNMLFdBQVcsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1RSx1QkFBdUI7WUFDckIsdUJBQXVCO2dCQUN2QixJQUFJLENBQUMsc0NBQXNDLENBQUMsT0FBTyxDQUFDO2dCQUNwRCxFQUFFLENBQUM7UUFFTCxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBSUQsS0FBSyxNQUFNLGtCQUFrQixJQUFJLHVCQUF1QixJQUFJLEVBQUUsRUFBRSxDQUFDO1lBRy9ELE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUN2QixLQUFLLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBSSxFQUNuRSxHQUFHLENBQ0osQ0FBQztZQUNGLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUN2QixrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUNsRCxHQUFHLENBQ0osQ0FBQztZQUNGLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUN2QixrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUNsRCxHQUFHLENBQ0osQ0FBQztZQUNGLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzFELE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLElBQUksRUFBRSxFQUFFLENBQUM7WUFDckMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDckUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDckUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNuRCxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN4RCxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxRCxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUM5QixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JFLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDckUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBQ0QsT0FBTyxPQUFPO2FBQ1gsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7YUFDckIsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7YUFDckIsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBS08sTUFBTSxDQUFDLHVCQUF1QixDQUFDLFVBQWtCO1FBQ3ZELElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsVUFBVSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdEQsZ0JBQWdCLEdBQUcsZ0JBQWdCO2dCQUNqQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUN0QixFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDekIsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6RCxDQUFDO1FBQ0gsQ0FBQztRQUNELGdCQUFnQixHQUFHLGdCQUFnQjtZQUNqQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7YUFDckIsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV0QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBSUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQ3RCLElBQWMsRUFDZCxPQVVDO1FBRUwsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQ3hCLGlCQUF5QixFQUN6QixPQVVDO1FBRUwsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBSU0sTUFBTSxDQUFDLElBQUksQ0FDaEIsT0FRQztRQUVELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQVEsQ0FBQztRQUUxQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQWtCTyxZQUFZLENBQUMsT0FBZTtRQUNsQyxPQUFPLFVBQVUsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLEVBQUU7WUFDMUQsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUI7U0FDdEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlEOzs7T0FHRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQU87UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFJRCxJQUFJLFlBQVk7UUFDbEIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRDs7T0FFRztJQUNILElBQUksdUJBQXVCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLHVCQUF1QixDQUFDLEtBQWU7UUFDekMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEtBQUssQ0FBQztJQWtCekMsQ0FBQztJQU1ELElBQUksYUFBYTtRQUNuQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUlELElBQUksVUFBVTtRQUNoQixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJRCxJQUFJLGNBQWM7UUFDcEIsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdFQUFnRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7ICAgXywgLyogKi8gLyogKi8gICAgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdCB9IGZyb20gJy4vYmFzZS1wcm9qZWN0JztcbmltcG9ydCB7IHBhdGggfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuXG5cblxuY29uc3Qgb3BlblNvdXJjZVByb3ZpZGVyc0lzc3VlUHJlZml4ID0gW1xuICAnR0gnLFxuXG5cblxuXG5cbl07XG5cblxuXG5leHBvcnQgdHlwZSBDb21tb25Db21taXRNc2dCcmFuY2ggPVxuICB8ICdyZWZhY3RvcidcbiAgfCAnY2hvcmUnXG4gIHwgJ3N0eWxlJ1xuICB8ICdkb2NzJ1xuICB8ICd0ZXN0J1xuICB8ICdjaSdcbiAgfCAnYnVpbGQnXG4gIHwgJ3JlbGVhc2UnO1xuXG5cblxuZXhwb3J0IHR5cGUgVHlwZU9mQ29tbWl0ID1cbiAgfCAnZmVhdHVyZSdcbiAgfCAnYnVnZml4J1xuICB8ICdwZXJmb3JtYW5jZSdcbiAgfCBDb21tb25Db21taXRNc2dCcmFuY2g7XG5cblxuZXhwb3J0IHR5cGUgVHlwZU9mTXNnUHJlZml4ID0gJ2ZlYXQnIHwgJ2ZpeCcgfCAncGVyZicgfCBDb21tb25Db21taXRNc2dCcmFuY2g7XG5jb25zdCByZWdleFRlYW1zSUQ6IFJlZ0V4cCA9IC9bQS1aMC05XStcXCMvO1xuXG5jb25zdCByZWdleENvbW1pdE1vZHVsZUluQXJnczogUmVnRXhwID0gL1xcW1thLXp8XFwtfFxcLF0rXFxdLztcbmNvbnN0IHJlZ2V4Q29tbWl0TW9kdWxlSW5CcmFuY2g6IFJlZ0V4cCA9IC9cXC1cXC1bYS16fFxcLXxcXF9dK1xcLVxcLS87XG5cbmV4cG9ydCBjbGFzcyBDb21taXREYXRhIHtcblxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2xlYW5IdHRwRnJvbUNvbW1pdE1lc3NhZ2UoY29tbWl0TXNnOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghY29tbWl0TXNnKSB7XG4gICAgICByZXR1cm4gY29tbWl0TXNnO1xuICAgIH1cbiAgICBjb21taXRNc2cgPSBjb21taXRNc2cucmVwbGFjZSgnaHR0cHM6Ly8nLCAnJyk7XG4gICAgY29tbWl0TXNnID0gY29tbWl0TXNnLnJlcGxhY2UoJ2h0dHA6Ly8nLCAnJyk7XG4gICAgcmV0dXJuIGNvbW1pdE1zZztcbiAgfVxuXG5cblxuICBwcml2YXRlIHN0YXRpYyBnZXRUZWFtc0lkRnJvbShjb21taXRNc2c6IHN0cmluZykge1xuICAgIGxldCB0ZWFtSUQgPSBfLmZpcnN0KGNvbW1pdE1zZy5tYXRjaChyZWdleFRlYW1zSUQpKTtcbiAgICBpZiAodGVhbUlEKSB7XG4gICAgICBjb21taXRNc2cgPSBjb21taXRNc2cucmVwbGFjZSh0ZWFtSUQsICcnKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1pdE1zZ09yQnJhbmNoTmFtZTogY29tbWl0TXNnLFxuICAgICAgdGVhbUlELFxuICAgIH07XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0TW9kdWxlTmFtZUZyb20oY29tbWl0TXNnOiBzdHJpbmcpIHtcbiAgICBsZXQgY29tbWl0TW9kdWxlTmFtZSA9IF8uZmlyc3QoY29tbWl0TXNnLm1hdGNoKHJlZ2V4Q29tbWl0TW9kdWxlSW5BcmdzKSk7XG4gICAgaWYgKGNvbW1pdE1vZHVsZU5hbWUpIHtcbiAgICAgIGNvbW1pdE1zZyA9IGNvbW1pdE1zZy5yZXBsYWNlKGNvbW1pdE1vZHVsZU5hbWUsICcnKTtcbiAgICB9XG4gICAgY29tbWl0TW9kdWxlTmFtZSA9IGNvbW1pdE1vZHVsZU5hbWU/LnJlcGxhY2UoL1xcWy9nLCAnJykucmVwbGFjZSgvXFxdL2csICcnKTtcbiAgICByZXR1cm4ge1xuICAgICAgY29tbWl0TXNnLFxuICAgICAgY29tbWl0TW9kdWxlTmFtZSxcbiAgICB9O1xuICB9XG5cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJucyBqaXJhcyAoZnJvbSBvbGRlc3QgdG8gbmV3c2V0KVxuICAgKi9cbiAgc3RhdGljIGV4dHJhY3RBbmRPcmRlckppcmFOdW1iZXJzKGNvbW1pdE9yQnJhbmNoTmFtZTogc3RyaW5nKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJucyBqaXJhcyAoZnJvbSBvbGRlc3QgdG8gbmV3c2V0KVxuICAgKi9cbiAgc3RhdGljIGV4dHJhY3RBbmRPcmRlcklzc3Vlc0Zyb21PdGhlclByb2plY3RzKFxuICAgIC8qKlxuICAgICAqIGV4YW1wbGU6XG4gICAgICogY29tbWl0OiBwcm9wZXIgZ2l0IGNvbW1hbmRzIHRucC9HSC05IGRhcmVrZjc3L3RucC1oZWxwZXJzL0dILTEwXG4gICAgICogZmVhdHVyZS9fX3RucC1HSC05X19fX2RhcmVrZjc3X3RucC1oZWxwZXJzLUdIMTBfXy1wcm9wZXItZ2l0LWNvbW1hbmRzXG4gICAgICovXG4gICAgY29tbWl0T3JCcmFuY2hOYW1lOiBzdHJpbmcsXG4gICAgY3VycmVudE9yaWdpbj86IHN0cmluZyxcbiAgKTogc3RyaW5nW10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGF0aWMgY2xlYW5NZXNzYWdlRnJvbUppcmFOdW1UZWFtSWRFdGMoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG9wdGlub3M/OiB7XG4gICAgICB0ZWFtSUQ6IHN0cmluZztcbiAgICAgIGNvbW1pdE1vZHVsZU5hbWU6IHN0cmluZztcbiAgICAgIGppcmFOdW1iZXJzOiBzdHJpbmdbXTtcbiAgICAgIGlzc3Vlc0Zyb21PdGhlclByb2plY3RzOiBzdHJpbmdbXTtcbiAgICB9LFxuICApOiBzdHJpbmcge1xuICAgIG1lc3NhZ2UgPSBtZXNzYWdlIHx8ICcnO1xuICAgIGxldCB7IHRlYW1JRCwgY29tbWl0TW9kdWxlTmFtZSwgamlyYU51bWJlcnMsIGlzc3Vlc0Zyb21PdGhlclByb2plY3RzIH0gPVxuICAgICAgb3B0aW5vcyB8fCB7fTtcbiAgICB0ZWFtSUQgPSB0ZWFtSUQgfHwgdGhpcy5nZXRUZWFtc0lkRnJvbShtZXNzYWdlKS50ZWFtSUQgfHwgJyc7XG4gICAgY29tbWl0TW9kdWxlTmFtZSA9XG4gICAgICBjb21taXRNb2R1bGVOYW1lIHx8XG4gICAgICB0aGlzLmdldE1vZHVsZU5hbWVGcm9tKG1lc3NhZ2UpLmNvbW1pdE1vZHVsZU5hbWUgfHxcbiAgICAgICcnO1xuICAgIGppcmFOdW1iZXJzID0gamlyYU51bWJlcnMgfHwgdGhpcy5leHRyYWN0QW5kT3JkZXJKaXJhTnVtYmVycyhtZXNzYWdlKSB8fCBbXTtcbiAgICBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyA9XG4gICAgICBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyB8fFxuICAgICAgdGhpcy5leHRyYWN0QW5kT3JkZXJJc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyhtZXNzYWdlKSB8fFxuICAgICAgW107XG5cbiAgICBpZiAoISF0ZWFtSUQudHJpbSgpKSB7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKHRlYW1JRC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSh0ZWFtSUQudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJyAnKSwgJyAnKTtcbiAgICB9XG5cblxuXG4gICAgZm9yIChjb25zdCBpc3N1ZUZyb21PdGhlclByb2ogb2YgaXNzdWVzRnJvbU90aGVyUHJvamVjdHMgfHwgW10pIHtcblxuXG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKFxuICAgICAgICBgX18ke2lzc3VlRnJvbU90aGVyUHJvai5yZXBsYWNlKC9cXC8vZywgJ18nKS5yZXBsYWNlKC9cXC0vZywgJyAnKX1fX2AsXG4gICAgICAgICcgJyxcbiAgICAgICk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGlzc3VlRnJvbU90aGVyUHJvaiwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoXG4gICAgICAgIGlzc3VlRnJvbU90aGVyUHJvai50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoJy0nLCAnICcpLFxuICAgICAgICAnICcsXG4gICAgICApO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShcbiAgICAgICAgaXNzdWVGcm9tT3RoZXJQcm9qLnRvVXBwZXJDYXNlKCkucmVwbGFjZSgnLScsICcgJyksXG4gICAgICAgICcgJyxcbiAgICAgICk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGlzc3VlRnJvbU90aGVyUHJvai50b0xvd2VyQ2FzZSgpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShyZWdleENvbW1pdE1vZHVsZUluQXJncywgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UocmVnZXhDb21taXRNb2R1bGVJbkJyYW5jaCwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL1xcIFxcIC9nLCAnICcpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgamlyYSBvZiBqaXJhTnVtYmVycyB8fCBbXSkge1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShqaXJhLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgnLScsICcgJyksICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGppcmEudG9VcHBlckNhc2UoKS5yZXBsYWNlKCctJywgJyAnKSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoamlyYSwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoamlyYS50b0xvd2VyQ2FzZSgpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShyZWdleENvbW1pdE1vZHVsZUluQXJncywgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UocmVnZXhDb21taXRNb2R1bGVJbkJyYW5jaCwgJyAnKTtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL1xcIFxcIC9nLCAnICcpO1xuICAgIH1cblxuICAgIGlmICghIXRlYW1JRC50cmltKCkpIHtcbiAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL1xcXy9nLCAnICcpO1xuICAgIH1cbiAgICBpZiAoISFjb21taXRNb2R1bGVOYW1lLnRyaW0oKSkge1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShjb21taXRNb2R1bGVOYW1lLnJlcGxhY2UoL1xcLS9nLCAnICcpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShjb21taXRNb2R1bGVOYW1lLnJlcGxhY2UoL1xcLC9nLCAnICcpLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShjb21taXRNb2R1bGVOYW1lLnJlcGxhY2UoL1xcLC9nLCAnXycpLCAnICcpO1xuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZVxuICAgICAgLnJlcGxhY2UoL1xcIFxcIC9nLCAnICcpXG4gICAgICAucmVwbGFjZSgvXFwgXFwgL2csICcgJylcbiAgICAgIC5yZXBsYWNlKC9cXCBcXCAvZywgJyAnKTtcbiAgfVxuXG5cblxuXG4gIHByaXZhdGUgc3RhdGljIGdldE1vZHVsZU5hbWVGcm9tQnJhbmNoKGJyYW5jaE5hbWU6IHN0cmluZykge1xuICAgIGxldCBjb21taXRNb2R1bGVOYW1lID0gXy5maXJzdChicmFuY2hOYW1lLm1hdGNoKHJlZ2V4Q29tbWl0TW9kdWxlSW5CcmFuY2gpKTtcbiAgICBpZiAoY29tbWl0TW9kdWxlTmFtZSkge1xuICAgICAgYnJhbmNoTmFtZSA9IGJyYW5jaE5hbWUucmVwbGFjZShjb21taXRNb2R1bGVOYW1lLCAnJyk7XG4gICAgICBjb21taXRNb2R1bGVOYW1lID0gY29tbWl0TW9kdWxlTmFtZVxuICAgICAgICA/LnJlcGxhY2UoL15cXC1cXC0vLCAnJylcbiAgICAgICAgPy5yZXBsYWNlKC9cXC1cXC0kLywgJycpO1xuICAgICAgaWYgKGNvbW1pdE1vZHVsZU5hbWUuc3RhcnRzV2l0aCgnLScpKSB7XG4gICAgICAgIGNvbW1pdE1vZHVsZU5hbWUgPSBjb21taXRNb2R1bGVOYW1lLnJlcGxhY2UoL15cXC0vLCAnJyk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbW1pdE1vZHVsZU5hbWUgPSBjb21taXRNb2R1bGVOYW1lXG4gICAgICA/LnJlcGxhY2UoL15cXC1cXC0vLCAnJylcbiAgICAgID8ucmVwbGFjZSgvXFwtXFwtJC8sICcnKVxuICAgICAgLnJlcGxhY2UoL1xcXy8sICcsJyk7XG5cbiAgICByZXR1cm4geyBjb21taXRNb2R1bGVOYW1lIH07XG4gIH1cblxuXG5cbiAgc3RhdGljIGFzeW5jIGdldEZyb21BcmdzKFxuICAgIGFyZ3M6IHN0cmluZ1tdLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHR5cGVPZkNvbW1pdDogVHlwZU9mQ29tbWl0O1xuICAgICAgLyoqXG4gICAgICAgKiBvbmx5IG5lZWRlZCB3aGVuIHB1c2ggZ2l0aHViXG4gICAgICAgKiBhbmQgSSBmb3Jnb3QgdG8gYWRkIG15IHVzZXJuYW1lIGJlZm9yZSBpc3N1ZVxuICAgICAgICogZmlyZWRldiBwZml4IHByb3BlciBpbnB1dCBteS1yZXBvIzM0NFxuICAgICAgICogdGhhdCBzaG91bGQgYmVcbiAgICAgICAqIGZpcmVkZXYgcGZpeCBwcm9wZXIgaW5wdXQgbXktdXNlcm5hbWUvbXktcmVwbyMzNDRcbiAgICAgICAqL1xuICAgICAgY3VycmVudE9yaWdpbj86IHN0cmluZztcbiAgICB9LFxuICApOiBQcm9taXNlPENvbW1pdERhdGE+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBzdGF0aWMgYXN5bmMgZ2V0RnJvbUJyYW5jaChcbiAgICBjdXJyZW50QnJhbmNoTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiB7XG4gICAgICByZWxlYXNlV29yZHM/OiBzdHJpbmdbXTtcbiAgICAgIC8qKlxuICAgICAgICogb25seSBuZWVkZWQgd2hlbiBwdXNoIGdpdGh1YlxuICAgICAgICogYW5kIEkgZm9yZ290IHRvIGFkZCBteSB1c2VybmFtZSBiZWZvcmUgaXNzdWVcbiAgICAgICAqIGZpcmVkZXYgcGZpeCBwcm9wZXIgaW5wdXQgbXktcmVwbyMzNDRcbiAgICAgICAqIHRoYXQgc2hvdWxkIGJlXG4gICAgICAgKiBmaXJlZGV2IHBmaXggcHJvcGVyIGlucHV0IG15LXVzZXJuYW1lL215LXJlcG8jMzQ0XG4gICAgICAgKi9cbiAgICAgIGN1cnJlbnRPcmlnaW4/OiBzdHJpbmc7XG4gICAgfSxcbiAgKTogUHJvbWlzZTxDb21taXREYXRhPiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHVibGljIHN0YXRpYyBmcm9tKFxuICAgIG9wdGlvbnM6IFBpY2s8XG4gICAgICBDb21taXREYXRhLFxuICAgICAgfCAnbWVzc2FnZSdcbiAgICAgIHwgJ2ppcmFOdW1iZXJzJ1xuICAgICAgfCAndHlwZU9mQ29tbWl0J1xuICAgICAgfCAnY29tbWl0TW9kdWxlTmFtZSdcbiAgICAgIHwgJ3RlYW1JRCdcbiAgICAgIHwgJ2lzc3Vlc0Zyb21PdGhlclByb2plY3RzJ1xuICAgID4sXG4gICk6IENvbW1pdERhdGEge1xuICAgIG9wdGlvbnMgPSAob3B0aW9ucyA/IG9wdGlvbnMgOiB7fSkgYXMgYW55O1xuXG4gICAgY29uc3Qgb3B0ID0gXy5tZXJnZShuZXcgQ29tbWl0RGF0YSgpLCBfLmNsb25lRGVlcChvcHRpb25zKSk7XG4gICAgcmV0dXJuIG9wdDtcbiAgfVxuXG5cblxuXG5cbiAgcHJpdmF0ZSBfbWVzc2FnZTogc3RyaW5nO1xuICB0eXBlT2ZDb21taXQ6IFR5cGVPZkNvbW1pdDtcbiAgLyoqXG4gICAqIGV4LiBKSVJBLTIxMzIgb3IgTVlKSVJBUkVGSVgtMjM0MjM0XG4gICAqL1xuICBqaXJhTnVtYmVyczogc3RyaW5nW107XG5cbiAgcmVhZG9ubHkgY29tbWl0TW9kdWxlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSB0ZWFtSUQ6IHN0cmluZztcblxuXG5cbiAgcHJpdmF0ZSBjbGVhck1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQ29tbWl0RGF0YS5jbGVhbk1lc3NhZ2VGcm9tSmlyYU51bVRlYW1JZEV0YyhtZXNzYWdlLCB7XG4gICAgICB0ZWFtSUQ6IHRoaXMudGVhbUlELFxuICAgICAgY29tbWl0TW9kdWxlTmFtZTogdGhpcy5jb21taXRNb2R1bGVOYW1lLFxuICAgICAgamlyYU51bWJlcnM6IHRoaXMuamlyYU51bWJlcnMsXG4gICAgICBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0czogdGhpcy5pc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyxcbiAgICB9KTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogcHVyZSBtZXNzYWdlIHdoYXQgd2FzIGRvbmUgKHdpdGhvdXQgamlyYSBvciBwcmVmaXhlcylcbiAgICogPT4gaXMgaW5jbHVkZWQgaW4gdGhpcy5jb21taXRNZXNzYWdlXG4gICAqL1xuICBnZXQgbWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5jbGVhck1lc3NhZ2UodGhpcy5fbWVzc2FnZSk7XG4gIH1cbiAgc2V0IG1lc3NhZ2UobWVzc2FnZSkge1xuICAgIHRoaXMuX21lc3NhZ2UgPSB0aGlzLmNsZWFyTWVzc2FnZShtZXNzYWdlKTtcbiAgfVxuXG5cblxuICBnZXQgYnJhbmNoUHJlZml4KCk6IFR5cGVPZk1zZ1ByZWZpeCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogZXguIGZpcmVkZXYvR0gtMTIgIGRhcmVrZjc3L3RucC1oZWxwZXJzL0dILTRcbiAgICovXG4gIGdldCBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX19pc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cztcbiAgfVxuXG4gIHNldCBpc3N1ZXNGcm9tT3RoZXJQcm9qZWN0cyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLl9faXNzdWVzRnJvbU90aGVyUHJvamVjdHMgPSB2YWx1ZTtcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4gIH1cblxuICBwcml2YXRlIF9faXNzdWVzRnJvbU90aGVyUHJvamVjdHM6IHN0cmluZ1tdO1xuXG5cblxuICBnZXQgY29tbWl0TWVzc2FnZSgpOiBzdHJpbmcge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgZ2V0IGJyYW5jaE5hbWUoKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgaXNBY3Rpb25Db21taXQoKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY29tbWl0LWRhdGEudHMiXX0=
@@ -2,7 +2,7 @@ import { _, path } from 'tnp-core/websql';
2
2
  const defaultDb = {
3
3
  projects: [],
4
4
  };
5
- class CoreProject {
5
+ export class CoreProject {
6
6
  static { this.coreProjects = []; }
7
7
  static from(options) {
8
8
  /* */
@@ -57,7 +57,6 @@ class CoreProject {
57
57
  return (this.urlHttp ? this.urlHttp : this.urlSSH) || '';
58
58
  }
59
59
  }
60
- export { CoreProject };
61
60
  export const CoreTypescriptProject = CoreProject.from({
62
61
  branches: ['master', 'develop'],
63
62
  urlHttp: 'https://github.com/microsoft/TypeScript',
@@ -113,4 +112,4 @@ export const CoreAngularProject = CoreProject.from({
113
112
  });
114
113
  ;
115
114
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/core-project.ts
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9jb3JlLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQXFCLE1BQU0saUJBQWlCLENBQUM7QUFpQjdELE1BQU0sU0FBUyxHQUFHO0lBQ2hCLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQXVDRixNQUFhLFdBQVc7YUFJUixpQkFBWSxHQUF1QixFQUFFLEFBQXpCLENBQTBCO0lBSXBELE1BQU0sQ0FBQyxJQUFJLENBQ1QsT0FBMkQ7UUFFL0QsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFNRDtRQTRCQTs7V0FFRztRQUNILGlCQUFZLEdBQThCLEVBQUUsQ0FBQztJQS9CdEIsQ0FBQztJQStDeEI7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEdBQUc7UUFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzRCxDQUFDOztTQTdHVSxXQUFXO0FBaUh4QixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFjO0lBRWpFLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7SUFDL0IsT0FBTyxFQUFFLHlDQUF5QztJQUNsRCxZQUFZLEVBQUUsRUFBRTtJQUNoQixZQUFZLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDMUIsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDaEMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtRQUN2QyxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FHRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFjO0lBRTlELE9BQU8sRUFBRSxxQkFBcUI7SUFDOUIsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQztJQUMvQixPQUFPLEVBQUUsd0NBQXdDO0lBQ2pELFlBQVksRUFBRSxFQUFFO0lBQ2hCLFlBQVksRUFBRSxPQUFPLENBQUMsRUFBRTtRQUN0QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDNUIsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDeEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUNELEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDNUIsTUFBTSxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFLENBQUM7UUFDeEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pDLENBQUM7Q0FFRixDQUFDLENBQUM7QUFFRixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlFQUFpRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IF8sIHBhdGgsIGNyb3NzUGxhdGZvcm1QYXRoIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVycywgTGlicmFyaWVzQnVpbGRPcHRpb25zIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5cblxuZXhwb3J0IHR5cGUgQ29yZVByb2plY3RFbnZpcm9ubWVudCA9IHtcbiAgc2hvcnROYW1lPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgb25saW5lTGluaz86IHN0cmluZztcbn07XG5cblxuXG5cbmNvbnN0IGRlZmF1bHREYiA9IHtcbiAgcHJvamVjdHM6IFtdLFxufTtcblxuXG5cblxuZXhwb3J0IHR5cGUgQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1QgZXh0ZW5kcyBCYXNlUHJvamVjdD4gPSB7XG4gIHByb2plY3Q/OiBQUk9KRUNUO1xuICAvKipcbiAgICogd2F0Y2ggbW9kZVxuICAgKi9cbiAgd2F0Y2g/OiBib29sZWFuO1xuICBwcm9kPzogYm9vbGVhbjtcbiAgZGVidWc/OiBib29sZWFuO1xuICBpc0luUmVsZWFzZVByb2Nlc3M/OiBib29sZWFuO1xuICBsaWJyYXJ5QnVpbGRPcHRpb25zPzogTGlicmFyaWVzQnVpbGRPcHRpb25zO1xuICAvKipcbiAgICogZmlyc3QgYXJnIGZyb20gY29tbWFuZCBsaW5lXG4gICAqL1xuICBmaXJzdEFyZzogc3RyaW5nO1xuICAvKipcbiAgICogTm90IHF1ZXN0aW9uIGZvciB1c2VyIGV4LlxuICAgKiAtIGF1dG9tYXRpYyBwcm9jZXNzIG9mIHBhdGNoIHJlbGVhc2VcbiAgICogLSBhdXRvbWF0aWMgZGVwbG95bWVudCBmb3IgZGVmYXVsdCBzZXJ2ZXJcbiAgICovXG4gIGF1dG9tYXRpY1Byb2Nlc3M/OiBib29sZWFuO1xuICAvKipcbiAgICogb3JpZ25hbCBhcmdzIHdpdGggcGFyYW1zXG4gICAqL1xuICBhcmdzV2l0aFBhcmFtczogc3RyaW5nO1xuICBjb3B5dG8/OiBzdHJpbmdbXTtcbiAgY29weXRvYWxsPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIGFyZ3MgZnJvbSBjb21tYW5kIGxpbmUgKGNsZWFybiBmcm9tIHBhcmFtcylcbiAgICovXG4gIGFyZ3M6IHN0cmluZ1tdO1xuICBleGl0Q2FsbGJhY2s6ICgpID0+IHZvaWQ7XG59O1xuXG5cbmV4cG9ydCBjbGFzcyBDb3JlUHJvamVjdDxQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBCYXNlUHJvamVjdD4ge1xuXG5cblxuICBwdWJsaWMgc3RhdGljIGNvcmVQcm9qZWN0czogQ29yZVByb2plY3Q8YW55PltdID0gW107XG5cblxuXG4gIHN0YXRpYyBmcm9tPFByb2ogZXh0ZW5kcyBCYXNlUHJvamVjdCA9IEJhc2VQcm9qZWN0PihcbiAgICBvcHRpb25zOiBPbWl0PENvcmVQcm9qZWN0PFByb2o+LCAnbmFtZScgfCAndXJsJyB8ICdicmFuY2gnPixcbiAgKTogQ29yZVByb2plY3Q8UHJvaj4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxuXG5cblxuICBleHRlbmRzPzogQ29yZVByb2plY3Q8YW55PjtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzZWNvbmQgY29sb3IgZm9yIHByb2plY3QgKG9wdGlvbmFsKVxuICAgKi9cbiAgc2Vjb25kQ29sb3I/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBzZWNvbmQgY29sb3IgZm9yIHByb2plY3QgKG9wdGlvbmFsKVxuICAgKi9cbiAgdGhpcmRDb2xvcj86IHN0cmluZztcbiAgbnBtUmVnaXN0cnk/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogc3NoIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHVybFNTSD86IHN0cmluZztcbiAgLyoqXG4gICAqIGh0dHBzIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHVybEh0dHA/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBtYWluIGJyYW5jaGVzIC0gZmlyc3QgaXMgZGVmYXVsdFxuICAgKi9cbiAgYnJhbmNoZXM6IHN0cmluZ1tdO1xuICAvKipcbiAgICogcHJvamVjdCBlbnZpcm9ubWVudHNcbiAgICovXG4gIGVudmlyb25tZW50cz86IENvcmVQcm9qZWN0RW52aXJvbm1lbnRbXSA9IFtdO1xuXG5cblxuICBzdGFydENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZWxhc2VDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcHVibGlzaENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBkZXBsb3lDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgdGVzdENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBidWlsZENvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBkb2NzQ29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIC8qKlxuICAgKiBmdW5jdGlvbiB0byByZWNvZ25pemUgcHJvamVjdFxuICAgKi9cbiAgcmVjb2duaXplZEZuOiAocHJvamVjdDogUFJPSkVDVCkgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogY29yZSBwb3JqZWN0IG5hbWUgZnJvbSByZXBvIGJhc2VuYW1lXG4gICAqL1xuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gcGF0aC5iYXNlbmFtZSh0aGlzLnVybCkucmVwbGFjZSgvXFwuZ2l0JC8sICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBtYWluIChkZWZhdWx0IGZvciByZXNldCkgYnJhbmNoXG4gICAqL1xuICBnZXQgYnJhbmNoKCkge1xuICAgIHJldHVybiBfLmZpcnN0KHRoaXMuYnJhbmNoZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIGdldCB1cmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMudXJsSHR0cCA/IHRoaXMudXJsSHR0cCA6IHRoaXMudXJsU1NIKSB8fCAnJztcbiAgfVxuXG59XG5cbmV4cG9ydCBjb25zdCBDb3JlVHlwZXNjcmlwdFByb2plY3QgPSBDb3JlUHJvamVjdC5mcm9tPEJhc2VQcm9qZWN0Pih7XG5cbiAgYnJhbmNoZXM6IFsnbWFzdGVyJywgJ2RldmVsb3AnXSxcbiAgdXJsSHR0cDogJ2h0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdCcsXG4gIGVudmlyb25tZW50czogW10sXG4gIHJlY29nbml6ZWRGbjogcHJvamVjdCA9PiB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9LFxuICBhc3luYyBzdGFydENvbW1hbmQoeyBwcm9qZWN0IH0pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9LFxuICBhc3luYyBidWlsZENvbW1hbmQoeyBwcm9qZWN0LCB3YXRjaCB9KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH0sXG5cblxufSk7XG5cbmV4cG9ydCBjb25zdCBDb3JlQW5ndWxhclByb2plY3QgPSBDb3JlUHJvamVjdC5mcm9tPEJhc2VQcm9qZWN0Pih7XG5cbiAgZXh0ZW5kczogQ29yZVR5cGVzY3JpcHRQcm9qZWN0LFxuICBicmFuY2hlczogWydtYXN0ZXInLCAnZGV2ZWxvcCddLFxuICB1cmxIdHRwOiAnaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci1jbGknLFxuICBlbnZpcm9ubWVudHM6IFtdLFxuICByZWNvZ25pemVkRm46IHByb2plY3QgPT4ge1xuICAgIHJldHVybiBwcm9qZWN0Lmhhc0ZpbGUoJ2FuZ3VsYXIuanNvbicpO1xuICB9LFxuICBhc3luYyBzdGFydENvbW1hbmQoeyBwcm9qZWN0IH0pIHtcbiAgICBhd2FpdCBwcm9qZWN0Lm5wbUhlbHBlcnMubWFrZVN1cmVOb2RlTW9kdWxlc0luc3RhbGxlZCgpO1xuICAgIGNvbnN0IHBvcnQgPSBhd2FpdCBwcm9qZWN0LmFzc2lnbkZyZWVQb3J0KDQyMDApO1xuICAgIHByb2plY3QucnVuKGBucG0tcnVuIG5nIHNlcnZlIC0tcG9ydCAke3BvcnR9YCkuc3luYygpO1xuICB9LFxuICBhc3luYyBidWlsZENvbW1hbmQoeyBwcm9qZWN0IH0pIHtcbiAgICBhd2FpdCBwcm9qZWN0Lm5wbUhlbHBlcnMubWFrZVN1cmVOb2RlTW9kdWxlc0luc3RhbGxlZCgpO1xuICAgIHByb2plY3QucnVuKGBucG0tcnVuIG5nIGJ1aWxkYCkuc3luYygpO1xuICB9LFxuXG59KTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2NvcmUtcHJvamVjdC50cyJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9jb3JlLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQXFCLE1BQU0saUJBQWlCLENBQUM7QUFpQjdELE1BQU0sU0FBUyxHQUFHO0lBQ2hCLFFBQVEsRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQXVDRixNQUFNLE9BQU8sV0FBVzthQUlSLGlCQUFZLEdBQXVCLEVBQUUsQUFBekIsQ0FBMEI7SUFJcEQsTUFBTSxDQUFDLElBQUksQ0FDVCxPQUEyRDtRQUUvRCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQU1EO1FBNEJBOztXQUVHO1FBQ0gsaUJBQVksR0FBOEIsRUFBRSxDQUFDO0lBL0J0QixDQUFDO0lBK0N4Qjs7T0FFRztJQUNILElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE1BQU07UUFDUixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNELENBQUM7O0FBSUgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBYztJQUVqRSxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO0lBQy9CLE9BQU8sRUFBRSx5Q0FBeUM7SUFDbEQsWUFBWSxFQUFFLEVBQUU7SUFDaEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQzFCLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFO1FBQ2hDLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBQ0QsS0FBSyxDQUFDLFlBQVksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7UUFDdkMsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBR0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBYztJQUU5RCxPQUFPLEVBQUUscUJBQXFCO0lBQzlCLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUM7SUFDL0IsT0FBTyxFQUFFLHdDQUF3QztJQUNqRCxZQUFZLEVBQUUsRUFBRTtJQUNoQixZQUFZLEVBQUUsT0FBTyxDQUFDLEVBQUU7UUFDdEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFO1FBQzVCLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3hELE1BQU0sSUFBSSxHQUFHLE1BQU0sT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsT0FBTyxFQUFFO1FBQzVCLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ3hELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBRUYsQ0FBQyxDQUFDO0FBRUYsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpRUFBaUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBfLCBwYXRoLCBjcm9zc1BsYXRmb3JtUGF0aCB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvd2Vic3FsJztcbmltcG9ydCB7IEhlbHBlcnMsIExpYnJhcmllc0J1aWxkT3B0aW9ucyB9IGZyb20gJy4uL2luZGV4JztcblxuXG5cbmV4cG9ydCB0eXBlIENvcmVQcm9qZWN0RW52aXJvbm1lbnQgPSB7XG4gIHNob3J0TmFtZT86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIG9ubGluZUxpbms/OiBzdHJpbmc7XG59O1xuXG5cblxuXG5jb25zdCBkZWZhdWx0RGIgPSB7XG4gIHByb2plY3RzOiBbXSxcbn07XG5cblxuXG5cbmV4cG9ydCB0eXBlIENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3Q+ID0ge1xuICBwcm9qZWN0PzogUFJPSkVDVDtcbiAgLyoqXG4gICAqIHdhdGNoIG1vZGVcbiAgICovXG4gIHdhdGNoPzogYm9vbGVhbjtcbiAgcHJvZD86IGJvb2xlYW47XG4gIGRlYnVnPzogYm9vbGVhbjtcbiAgaXNJblJlbGVhc2VQcm9jZXNzPzogYm9vbGVhbjtcbiAgbGlicmFyeUJ1aWxkT3B0aW9ucz86IExpYnJhcmllc0J1aWxkT3B0aW9ucztcbiAgLyoqXG4gICAqIGZpcnN0IGFyZyBmcm9tIGNvbW1hbmQgbGluZVxuICAgKi9cbiAgZmlyc3RBcmc6IHN0cmluZztcbiAgLyoqXG4gICAqIE5vdCBxdWVzdGlvbiBmb3IgdXNlciBleC5cbiAgICogLSBhdXRvbWF0aWMgcHJvY2VzcyBvZiBwYXRjaCByZWxlYXNlXG4gICAqIC0gYXV0b21hdGljIGRlcGxveW1lbnQgZm9yIGRlZmF1bHQgc2VydmVyXG4gICAqL1xuICBhdXRvbWF0aWNQcm9jZXNzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIG9yaWduYWwgYXJncyB3aXRoIHBhcmFtc1xuICAgKi9cbiAgYXJnc1dpdGhQYXJhbXM6IHN0cmluZztcbiAgY29weXRvPzogc3RyaW5nW107XG4gIGNvcHl0b2FsbD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBhcmdzIGZyb20gY29tbWFuZCBsaW5lIChjbGVhcm4gZnJvbSBwYXJhbXMpXG4gICAqL1xuICBhcmdzOiBzdHJpbmdbXTtcbiAgZXhpdENhbGxiYWNrOiAoKSA9PiB2b2lkO1xufTtcblxuXG5leHBvcnQgY2xhc3MgQ29yZVByb2plY3Q8UFJPSkVDVCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gQmFzZVByb2plY3Q+IHtcblxuXG5cbiAgcHVibGljIHN0YXRpYyBjb3JlUHJvamVjdHM6IENvcmVQcm9qZWN0PGFueT5bXSA9IFtdO1xuXG5cblxuICBzdGF0aWMgZnJvbTxQcm9qIGV4dGVuZHMgQmFzZVByb2plY3QgPSBCYXNlUHJvamVjdD4oXG4gICAgb3B0aW9uczogT21pdDxDb3JlUHJvamVjdDxQcm9qPiwgJ25hbWUnIHwgJ3VybCcgfCAnYnJhbmNoJz4sXG4gICk6IENvcmVQcm9qZWN0PFByb2o+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cblxuXG5cbiAgZXh0ZW5kcz86IENvcmVQcm9qZWN0PGFueT47XG4gIGNvbG9yPzogc3RyaW5nO1xuICAvKipcbiAgICogc2Vjb25kIGNvbG9yIGZvciBwcm9qZWN0IChvcHRpb25hbClcbiAgICovXG4gIHNlY29uZENvbG9yPzogc3RyaW5nO1xuICAvKipcbiAgICogc2Vjb25kIGNvbG9yIGZvciBwcm9qZWN0IChvcHRpb25hbClcbiAgICovXG4gIHRoaXJkQ29sb3I/OiBzdHJpbmc7XG4gIG5wbVJlZ2lzdHJ5Pzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIHNzaCB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICB1cmxTU0g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBodHRwcyB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICB1cmxIdHRwPzogc3RyaW5nO1xuICAvKipcbiAgICogbWFpbiBicmFuY2hlcyAtIGZpcnN0IGlzIGRlZmF1bHRcbiAgICovXG4gIGJyYW5jaGVzOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIHByb2plY3QgZW52aXJvbm1lbnRzXG4gICAqL1xuICBlbnZpcm9ubWVudHM/OiBDb3JlUHJvamVjdEVudmlyb25tZW50W10gPSBbXTtcblxuXG5cbiAgc3RhcnRDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVsYXNlQ29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIHB1Ymxpc2hDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZGVwbG95Q29tbWFuZD86IChvcHRpb25zOiBDb3JlQ29tbWFuZEFyZ09wdGlvbnM8UFJPSkVDVD4pID0+IFByb21pc2U8dm9pZD47XG4gIHRlc3RDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgYnVpbGRDb21tYW5kPzogKG9wdGlvbnM6IENvcmVDb21tYW5kQXJnT3B0aW9uczxQUk9KRUNUPikgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZG9jc0NvbW1hbmQ/OiAob3B0aW9uczogQ29yZUNvbW1hbmRBcmdPcHRpb25zPFBST0pFQ1Q+KSA9PiBQcm9taXNlPHZvaWQ+O1xuICAvKipcbiAgICogZnVuY3Rpb24gdG8gcmVjb2duaXplIHByb2plY3RcbiAgICovXG4gIHJlY29nbml6ZWRGbjogKHByb2plY3Q6IFBST0pFQ1QpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIGNvcmUgcG9yamVjdCBuYW1lIGZyb20gcmVwbyBiYXNlbmFtZVxuICAgKi9cbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHBhdGguYmFzZW5hbWUodGhpcy51cmwpLnJlcGxhY2UoL1xcLmdpdCQvLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogbWFpbiAoZGVmYXVsdCBmb3IgcmVzZXQpIGJyYW5jaFxuICAgKi9cbiAgZ2V0IGJyYW5jaCgpIHtcbiAgICByZXR1cm4gXy5maXJzdCh0aGlzLmJyYW5jaGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICBnZXQgdXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLnVybEh0dHAgPyB0aGlzLnVybEh0dHAgOiB0aGlzLnVybFNTSCkgfHwgJyc7XG4gIH1cblxufVxuXG5leHBvcnQgY29uc3QgQ29yZVR5cGVzY3JpcHRQcm9qZWN0ID0gQ29yZVByb2plY3QuZnJvbTxCYXNlUHJvamVjdD4oe1xuXG4gIGJyYW5jaGVzOiBbJ21hc3RlcicsICdkZXZlbG9wJ10sXG4gIHVybEh0dHA6ICdodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQnLFxuICBlbnZpcm9ubWVudHM6IFtdLFxuICByZWNvZ25pemVkRm46IHByb2plY3QgPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfSxcbiAgYXN5bmMgc3RhcnRDb21tYW5kKHsgcHJvamVjdCB9KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfSxcbiAgYXN5bmMgYnVpbGRDb21tYW5kKHsgcHJvamVjdCwgd2F0Y2ggfSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9LFxuXG5cbn0pO1xuXG5leHBvcnQgY29uc3QgQ29yZUFuZ3VsYXJQcm9qZWN0ID0gQ29yZVByb2plY3QuZnJvbTxCYXNlUHJvamVjdD4oe1xuXG4gIGV4dGVuZHM6IENvcmVUeXBlc2NyaXB0UHJvamVjdCxcbiAgYnJhbmNoZXM6IFsnbWFzdGVyJywgJ2RldmVsb3AnXSxcbiAgdXJsSHR0cDogJ2h0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXItY2xpJyxcbiAgZW52aXJvbm1lbnRzOiBbXSxcbiAgcmVjb2duaXplZEZuOiBwcm9qZWN0ID0+IHtcbiAgICByZXR1cm4gcHJvamVjdC5oYXNGaWxlKCdhbmd1bGFyLmpzb24nKTtcbiAgfSxcbiAgYXN5bmMgc3RhcnRDb21tYW5kKHsgcHJvamVjdCB9KSB7XG4gICAgYXdhaXQgcHJvamVjdC5ucG1IZWxwZXJzLm1ha2VTdXJlTm9kZU1vZHVsZXNJbnN0YWxsZWQoKTtcbiAgICBjb25zdCBwb3J0ID0gYXdhaXQgcHJvamVjdC5hc3NpZ25GcmVlUG9ydCg0MjAwKTtcbiAgICBwcm9qZWN0LnJ1bihgbnBtLXJ1biBuZyBzZXJ2ZSAtLXBvcnQgJHtwb3J0fWApLnN5bmMoKTtcbiAgfSxcbiAgYXN5bmMgYnVpbGRDb21tYW5kKHsgcHJvamVjdCB9KSB7XG4gICAgYXdhaXQgcHJvamVjdC5ucG1IZWxwZXJzLm1ha2VTdXJlTm9kZU1vZHVsZXNJbnN0YWxsZWQoKTtcbiAgICBwcm9qZWN0LnJ1bihgbnBtLXJ1biBuZyBidWlsZGApLnN5bmMoKTtcbiAgfSxcblxufSk7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9jb3JlLXByb2plY3QudHMiXX0=
@@ -70,4 +70,4 @@ export class LinkedPorjectsConfig {
70
70
  }
71
71
  ;
72
72
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/linked-project.ts
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2xpbmtlZC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQXFCLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzdELE1BQU0sT0FBTyxhQUFhO0lBSXhCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBK0I7UUFDekMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FDeEIsSUFBSyxhQUFxQixFQUFFLEVBQzVCLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQ0osQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFO1lBQ2pDLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUMxQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FDM0MsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUU7WUFDN0IsVUFBVSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7U0FDckM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBSUQsTUFBTSxDQUFDLFFBQVEsQ0FDYixXQUFtQixFQUNuQixnQkFBeUIsRUFDekIsYUFBc0I7UUFFdEIsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFDL0IsR0FBRyxXQUFXLE1BQU0sQ0FDckI7WUFDRCxhQUFhLEVBQUUsYUFBYTtZQUM1QixpQkFBaUIsRUFBRSxXQUFXO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRCxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQXNCLEVBQUUsU0FBUyxHQUFHLEtBQUs7UUFDekQsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBc0JEOztPQUVHO0lBQ0ksU0FBUztRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDckI7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FJRjtBQUVELE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFzQztRQUNoRCxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtnQkFDaEMsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDakQ7WUFDRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUlILE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFLLG9CQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FRRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUVBQW1FIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8sIGNyb3NzUGxhdGZvcm1QYXRoLCBwYXRoIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRQcm9qZWN0IHtcblxuXG5cbiAgc3RhdGljIGZyb20ob3B0aW9uczogUGFydGlhbDxMaW5rZWRQcm9qZWN0Pikge1xuICAgIGNvbnN0IGxpbmtlZFByb2ogPSBfLm1lcmdlKFxuICAgICAgbmV3IChMaW5rZWRQcm9qZWN0IGFzIGFueSkoKSxcbiAgICAgIF8uY2xvbmVEZWVwKG9wdGlvbnMpLFxuICAgICkgYXMgTGlua2VkUHJvamVjdDtcbiAgICBpZiAoIWxpbmtlZFByb2oucmVsYXRpdmVDbG9uZVBhdGgpIHtcbiAgICAgIGxpbmtlZFByb2oucmVsYXRpdmVDbG9uZVBhdGggPSBwYXRoLmJhc2VuYW1lKFxuICAgICAgICBsaW5rZWRQcm9qLnJlbW90ZVVybCgpLnJlcGxhY2UoJy5naXQnLCAnJyksXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWxpbmtlZFByb2ouZGVhZnVsdEJyYW5jaCkge1xuICAgICAgbGlua2VkUHJvai5kZWFmdWx0QnJhbmNoID0gJ21hc3Rlcic7XG4gICAgfVxuICAgIHJldHVybiBsaW5rZWRQcm9qO1xuICB9XG5cblxuXG4gIHN0YXRpYyBmcm9tTmFtZShcbiAgICBwcm9qZWN0TmFtZTogc3RyaW5nLFxuICAgIGN1cnJlbnRSZW1vdGVVcmw/OiBzdHJpbmcsXG4gICAgY3VycmVudEJyYW5jaD86IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbSh7XG4gICAgICByZXBvVXJsOiBjdXJyZW50UmVtb3RlVXJsPy5yZXBsYWNlKFxuICAgICAgICBwYXRoLmJhc2VuYW1lKGN1cnJlbnRSZW1vdGVVcmwpLFxuICAgICAgICBgJHtwcm9qZWN0TmFtZX0uZ2l0YCxcbiAgICAgICksXG4gICAgICBkZWFmdWx0QnJhbmNoOiBjdXJyZW50QnJhbmNoLFxuICAgICAgcmVsYXRpdmVDbG9uZVBhdGg6IHByb2plY3ROYW1lLFxuICAgIH0pO1xuICB9XG5cblxuXG4gIHN0YXRpYyBkZXRlY3QoaW5zaWRlTG9jYXRpb246IHN0cmluZywgcmVjdXJzaXZlID0gZmFsc2UpOiBMaW5rZWRQcm9qZWN0W10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cbiAgLyoqXG4gICAqIHNvbWV0aW1lIHRoZXJlIGlzIHByb2plY3QgdGhhdCBoYXMgb25lIHByb2plY3RcbiAgICogZW1iZWRlIGluc2lkZSBhbm90aGVyIHByb2plY3RcbiAgICovXG4gIGludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9VcmxTc2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBkb24ndCBhY2Nlc3MgZGlyZWN0bHksIHVzZSByZW1vdGVVcmwoKSBpbnN0ZWFkXG4gICAqL1xuICByZXBvVXJsSHR0cD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9Vcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICBwdWJsaWMgcmVtb3RlVXJsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucmVwb1VybCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb1VybDtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVwb1VybEh0dHApIHtcbiAgICAgIHJldHVybiB0aGlzLnJlcG9VcmxIdHRwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXBvVXJsU3NoO1xuICB9XG4gIGRlYWZ1bHRCcmFuY2g/OiBzdHJpbmc7XG4gIHB1cnBvc2U/OiBzdHJpbmc7XG4gIHJlbGF0aXZlQ2xvbmVQYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTGlua2VkUG9yamVjdHNDb25maWcge1xuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFBvcmplY3RzQ29uZmlnPikge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIG9wdGlvbnMucHJvamVjdHMgPSAob3B0aW9ucy5wcm9qZWN0cyB8fCBbXSkubWFwKGxpbmtlZFByb2pPcm5hbWUgPT4ge1xuICAgICAgaWYgKF8uaXNTdHJpbmcobGlua2VkUHJvak9ybmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbU5hbWUobGlua2VkUHJvak9ybmFtZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tKGxpbmtlZFByb2pPcm5hbWUpO1xuICAgIH0pO1xuXG5cblxuICAgIHJldHVybiBfLm1lcmdlKG5ldyAoTGlua2VkUG9yamVjdHNDb25maWcgYXMgYW55KSgpLCBfLmNsb25lRGVlcChvcHRpb25zKSk7XG4gIH1cblxuXG5cbiAgcHJlZml4Pzogc3RyaW5nO1xuICBza2lwUmVjcnVzaXZlUHVzaD86IGJvb2xlYW47XG4gIHJlc2V0T25seUNoaWxkcmVuPzogYm9vbGVhbjtcbiAgcHJvamVjdHM6IExpbmtlZFByb2plY3RbXTtcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2xpbmtlZC1wcm9qZWN0LnRzIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2xpbmtlZC1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxDQUFDLEVBQXFCLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzdELE1BQU0sT0FBTyxhQUFhO0lBSXhCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBK0I7UUFDekMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FDeEIsSUFBSyxhQUFxQixFQUFFLEVBQzVCLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQ0osQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDbEMsVUFBVSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQzFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUMzQyxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDOUIsVUFBVSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7UUFDdEMsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFJRCxNQUFNLENBQUMsUUFBUSxDQUNiLFdBQW1CLEVBQ25CLGdCQUF5QixFQUN6QixhQUFzQjtRQUV0QixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUMvQixHQUFHLFdBQVcsTUFBTSxDQUNyQjtZQUNELGFBQWEsRUFBRSxhQUFhO1lBQzVCLGlCQUFpQixFQUFFLFdBQVc7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBc0IsRUFBRSxTQUFTLEdBQUcsS0FBSztRQUN6RCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFzQkQ7O09BRUc7SUFDSSxTQUFTO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0NBSUY7QUFFRCxNQUFNLE9BQU8sb0JBQW9CO0lBSS9CLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBc0M7UUFDaEQsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDakUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbEQsQ0FBQztZQUNELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBSUgsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssb0JBQTRCLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQVFGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRUFBbUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXywgY3Jvc3NQbGF0Zm9ybVBhdGgsIHBhdGggfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcblxuZXhwb3J0IGNsYXNzIExpbmtlZFByb2plY3Qge1xuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFByb2plY3Q+KSB7XG4gICAgY29uc3QgbGlua2VkUHJvaiA9IF8ubWVyZ2UoXG4gICAgICBuZXcgKExpbmtlZFByb2plY3QgYXMgYW55KSgpLFxuICAgICAgXy5jbG9uZURlZXAob3B0aW9ucyksXG4gICAgKSBhcyBMaW5rZWRQcm9qZWN0O1xuICAgIGlmICghbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCkge1xuICAgICAgbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCA9IHBhdGguYmFzZW5hbWUoXG4gICAgICAgIGxpbmtlZFByb2oucmVtb3RlVXJsKCkucmVwbGFjZSgnLmdpdCcsICcnKSxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghbGlua2VkUHJvai5kZWFmdWx0QnJhbmNoKSB7XG4gICAgICBsaW5rZWRQcm9qLmRlYWZ1bHRCcmFuY2ggPSAnbWFzdGVyJztcbiAgICB9XG4gICAgcmV0dXJuIGxpbmtlZFByb2o7XG4gIH1cblxuXG5cbiAgc3RhdGljIGZyb21OYW1lKFxuICAgIHByb2plY3ROYW1lOiBzdHJpbmcsXG4gICAgY3VycmVudFJlbW90ZVVybD86IHN0cmluZyxcbiAgICBjdXJyZW50QnJhbmNoPzogc3RyaW5nLFxuICApIHtcbiAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tKHtcbiAgICAgIHJlcG9Vcmw6IGN1cnJlbnRSZW1vdGVVcmw/LnJlcGxhY2UoXG4gICAgICAgIHBhdGguYmFzZW5hbWUoY3VycmVudFJlbW90ZVVybCksXG4gICAgICAgIGAke3Byb2plY3ROYW1lfS5naXRgLFxuICAgICAgKSxcbiAgICAgIGRlYWZ1bHRCcmFuY2g6IGN1cnJlbnRCcmFuY2gsXG4gICAgICByZWxhdGl2ZUNsb25lUGF0aDogcHJvamVjdE5hbWUsXG4gICAgfSk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGRldGVjdChpbnNpZGVMb2NhdGlvbjogc3RyaW5nLCByZWN1cnNpdmUgPSBmYWxzZSk6IExpbmtlZFByb2plY3RbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuICAvKipcbiAgICogc29tZXRpbWUgdGhlcmUgaXMgcHJvamVjdCB0aGF0IGhhcyBvbmUgcHJvamVjdFxuICAgKiBlbWJlZGUgaW5zaWRlIGFub3RoZXIgcHJvamVjdFxuICAgKi9cbiAgaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybFNzaD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9VcmxIdHRwPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHB1YmxpYyByZW1vdGVVcmwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5yZXBvVXJsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvVXJsO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXBvVXJsSHR0cCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb1VybEh0dHA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlcG9VcmxTc2g7XG4gIH1cbiAgZGVhZnVsdEJyYW5jaD86IHN0cmluZztcbiAgcHVycG9zZT86IHN0cmluZztcbiAgcmVsYXRpdmVDbG9uZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRQb3JqZWN0c0NvbmZpZyB7XG5cblxuXG4gIHN0YXRpYyBmcm9tKG9wdGlvbnM6IFBhcnRpYWw8TGlua2VkUG9yamVjdHNDb25maWc+KSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gICAgb3B0aW9ucy5wcm9qZWN0cyA9IChvcHRpb25zLnByb2plY3RzIHx8IFtdKS5tYXAobGlua2VkUHJvak9ybmFtZSA9PiB7XG4gICAgICBpZiAoXy5pc1N0cmluZyhsaW5rZWRQcm9qT3JuYW1lKSkge1xuICAgICAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tTmFtZShsaW5rZWRQcm9qT3JuYW1lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBMaW5rZWRQcm9qZWN0LmZyb20obGlua2VkUHJvak9ybmFtZSk7XG4gICAgfSk7XG5cblxuXG4gICAgcmV0dXJuIF8ubWVyZ2UobmV3IChMaW5rZWRQb3JqZWN0c0NvbmZpZyBhcyBhbnkpKCksIF8uY2xvbmVEZWVwKG9wdGlvbnMpKTtcbiAgfVxuXG5cblxuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHNraXBSZWNydXNpdmVQdXNoPzogYm9vbGVhbjtcbiAgcmVzZXRPbmx5Q2hpbGRyZW4/OiBib29sZWFuO1xuICBwcm9qZWN0czogTGlua2VkUHJvamVjdFtdO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXX0=
@@ -86,4 +86,4 @@ export var HelpersAngular;
86
86
  })(HelpersAngular || (HelpersAngular = {}));
87
87
  ;
88
88
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/angular.helper.ts
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUN4QyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztBQUd0QyxNQUFNLEtBQVcsY0FBYyxDQXFGOUI7QUFyRkQsV0FBaUIsY0FBYztJQUU3QixNQUFhLGlCQUFpQjtRQUM1QixZQUNTLEVBQVU7WUFBVixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsQ0FBQztLQUNOO0lBSlksZ0NBQWlCLG9CQUk3QixDQUFBO0lBR0QsU0FBUyxTQUFTLENBQUMsY0FBNEI7UUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzNDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLElBQUksaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsMEJBQTBCLENBQUMsRUFBRSxDQUFDLEdBQUcsY0FBYyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFnQixTQUFTLENBQUMsUUFBc0I7UUFDOUMsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUZlLHdCQUFTLFlBRXhCLENBQUE7SUFFRDs7T0FFRztJQUNILFNBQWdCLFdBQVcsQ0FBQyxRQUFnQztRQUMxRCxJQUFJLFFBQVEsRUFBRSxFQUFFLEVBQUU7WUFDaEIsTUFBTSxrQkFBa0IsR0FBRywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsT0FBTyxrQkFBa0IsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBTmUsMEJBQVcsY0FNMUIsQ0FBQTtJQUVELFNBQWdCLFdBQVcsQ0FBQyxRQUFzQjtRQUNoRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsSUFBSSxjQUFjLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLE9BQU8sMEJBQTBCLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDO0lBTmUsMEJBQVcsY0FNMUIsQ0FBQTtJQUlEOzs7Ozs7Ozs7Ozs7Ozs7U0FlSztJQUNMLFNBQWdCLFFBQVEsQ0FBQyxNQUFjO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE9BQU87WUFDTCxXQUFXLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDNUIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7b0JBQ2pELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDdkIsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7d0JBQ3BCLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7cUJBQy9CO2lCQUNGO1lBQ0gsQ0FBQztZQUNELFdBQVcsRUFBRSxDQUFDLElBQVksRUFBVSxFQUFFO2dCQUNwQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDakQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTt3QkFDcEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUN6RDtpQkFDRjtZQUNILENBQUM7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQXRCZSx1QkFBUSxXQXNCdkIsQ0FBQTtBQUNILENBQUMsRUFyRmdCLGNBQWMsS0FBZCxjQUFjLFFBcUY5QjtBQUlBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0ZBQWtGIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5cbmNvbnN0IGNvbXBvbmVudENvbnRleHRTeW1ib2wgPSBTeW1ib2woKTtcbmNvbnN0IGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzID0ge307XG5cblxuZXhwb3J0IG5hbWVzcGFjZSBIZWxwZXJzQW5ndWxhciB7XG5cbiAgZXhwb3J0IGNsYXNzIFNlcmlhbGl6ZWRTdWJqZWN0PFQ+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBpZDogc3RyaW5nXG4gICAgKSB7IH1cbiAgfVxuXG5cbiAgZnVuY3Rpb24gc3ViamVjdElkKGRlc3Ryb3lTdWJqZWN0OiBTdWJqZWN0PGFueT4pOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+IHtcbiAgICBjb25zdCBpZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICBpZiAoIWRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdKSB7XG4gICAgICBkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXSA9IG5ldyBTZXJpYWxpemVkU3ViamVjdChpZCk7XG4gICAgICBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tpZF0gPSBkZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pik6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4ge1xuICAgIHJldHVybiBzdWJqZWN0SWQoZGVzdHJveSQpO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZShkZXN0cm95JDogU2VyaWFsaXplZFN1YmplY3Q8YW55Pik6IFN1YmplY3Q8YW55PiB7XG4gICAgaWYgKGRlc3Ryb3kkPy5pZCkge1xuICAgICAgY29uc3QgcmVhbERlc3Ryb3lTdWJqZWN0ID0gY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveSQuaWRdO1xuICAgICAgcmV0dXJuIHJlYWxEZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTdWJqZWN0KCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gdW5zdWJzY3JpYmUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pikge1xuICAgIGNvbnN0IGRlc3Ryb3lTdWJqZWN0ID0gc3ViamVjdElkKGRlc3Ryb3kkKTtcbiAgICBpZiAoZGVzdHJveVN1YmplY3Q/LmlkKSB7XG4gICAgICBkZWxldGUgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveVN1YmplY3QuaWRdO1xuICAgICAgZGVsZXRlIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICAgIH1cbiAgfVxuXG5cblxuICAvKipcbiAgZ2V0IHByb3BlcnRpZXMgZnJvbSBzY3NzIGZpbGVcblxuXG4gIGltcG9ydCBzdHlsZXMgZnJvbSAnLi90YXNrcy1uZ3J4LWRhdGEuY29tcG9uZW50LnNjc3MnO1xuXG4gIGV4cG9ydCBjbGFzcyBFeGFtcGxlQ29tcG9uZW50IHtcbiAgICBzYXNzRmlsZSA9IHNhc3NGaWxlKHN0eWxlcyk7XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMudGFza3NTZXJ2aWNlLmdldEFsbCgpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5zYXNzRmlsZS5zdHJpbmdWYWx1ZSgnLS1tYXgtY29udGFpbmVyLXNpemUnKSlcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2Fzc0ZpbGUubnVtYmVyVmFsdWUoJy0tbWF4LWNvbnRhaW5lci1zaXplJykpXG4gICAgfVxuICB9XG4gICAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzYXNzRmlsZShzdHlsZXM6IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmVzID0gKHN0eWxlcy5zcGxpdCgnXFxuJykpO1xuICAgIHJldHVybiB7XG4gICAgICBzdHJpbmdWYWx1ZTogKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoJzsnLCAnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbnVtYmVyVmFsdWU6IChuYW1lOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZS5yZXBsYWNlKCdweCcsICcnKS5yZXBsYWNlKCc7JywgJycpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaGVscGVycy9mb3ItYnJvd3Nlci9hbmd1bGFyLmhlbHBlci50cyJdfQ==
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9oZWxwZXJzL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUN4QyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztBQUd0QyxNQUFNLEtBQVcsY0FBYyxDQXFGOUI7QUFyRkQsV0FBaUIsY0FBYztJQUU3QixNQUFhLGlCQUFpQjtRQUM1QixZQUNTLEVBQVU7WUFBVixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsQ0FBQztLQUNOO0lBSlksZ0NBQWlCLG9CQUk3QixDQUFBO0lBR0QsU0FBUyxTQUFTLENBQUMsY0FBNEI7UUFDN0MsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7WUFDNUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSwwQkFBMEIsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sY0FBYyxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBZ0IsU0FBUyxDQUFDLFFBQXNCO1FBQzlDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFGZSx3QkFBUyxZQUV4QixDQUFBO0lBRUQ7O09BRUc7SUFDSCxTQUFnQixXQUFXLENBQUMsUUFBZ0M7UUFDMUQsSUFBSSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDakIsTUFBTSxrQkFBa0IsR0FBRywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkUsT0FBTyxrQkFBa0IsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFOZSwwQkFBVyxjQU0xQixDQUFBO0lBRUQsU0FBZ0IsV0FBVyxDQUFDLFFBQXNCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLGNBQWMsRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUN2QixPQUFPLDBCQUEwQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyRCxPQUFPLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBTmUsMEJBQVcsY0FNMUIsQ0FBQTtJQUlEOzs7Ozs7Ozs7Ozs7Ozs7U0FlSztJQUNMLFNBQWdCLFFBQVEsQ0FBQyxNQUFjO1FBQ3JDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE9BQU87WUFDTCxXQUFXLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRTtnQkFDNUIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztvQkFDbEQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDO3dCQUNyQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNoQyxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBQ0QsV0FBVyxFQUFFLENBQUMsSUFBWSxFQUFVLEVBQUU7Z0JBQ3BDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7b0JBQ2xELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDdkIsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUM3QyxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQzt3QkFDckIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUMxRCxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQTtJQUNILENBQUM7SUF0QmUsdUJBQVEsV0FzQnZCLENBQUE7QUFDSCxDQUFDLEVBckZnQixjQUFjLEtBQWQsY0FBYyxRQXFGOUI7QUFJQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGtGQUFrRiIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5jb25zdCBjb21wb25lbnRDb250ZXh0U3ltYm9sID0gU3ltYm9sKCk7XG5jb25zdCBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0cyA9IHt9O1xuXG5cbmV4cG9ydCBuYW1lc3BhY2UgSGVscGVyc0FuZ3VsYXIge1xuXG4gIGV4cG9ydCBjbGFzcyBTZXJpYWxpemVkU3ViamVjdDxUPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgaWQ6IHN0cmluZ1xuICAgICkgeyB9XG4gIH1cblxuXG4gIGZ1bmN0aW9uIHN1YmplY3RJZChkZXN0cm95U3ViamVjdDogU3ViamVjdDxhbnk+KTogU2VyaWFsaXplZFN1YmplY3Q8YW55PiB7XG4gICAgY29uc3QgaWQgPSBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMik7XG4gICAgaWYgKCFkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXSkge1xuICAgICAgZGVzdHJveVN1YmplY3RbY29tcG9uZW50Q29udGV4dFN5bWJvbF0gPSBuZXcgU2VyaWFsaXplZFN1YmplY3QoaWQpO1xuICAgICAgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbaWRdID0gZGVzdHJveVN1YmplY3Q7XG4gICAgfVxuICAgIHJldHVybiBkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZiB5b3UgYXJlIHVzaW5nIHRoaXMuLiBwbGVhc2UgY2FsbCBIZWxwZXJzLm5nLnVuc3Vic2NyaWJlKHRoaXMuJGRlc3Ryb3kpIGluIG5nT25EZXN0cm95KCk7XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplKGRlc3Ryb3kkOiBTdWJqZWN0PGFueT4pOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+IHtcbiAgICByZXR1cm4gc3ViamVjdElkKGRlc3Ryb3kkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBpZiB5b3UgYXJlIHVzaW5nIHRoaXMuLiBwbGVhc2UgY2FsbCBIZWxwZXJzLm5nLnVuc3Vic2NyaWJlKHRoaXMuJGRlc3Ryb3kpIGluIG5nT25EZXN0cm95KCk7XG4gICAqL1xuICBleHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemUoZGVzdHJveSQ6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4pOiBTdWJqZWN0PGFueT4ge1xuICAgIGlmIChkZXN0cm95JD8uaWQpIHtcbiAgICAgIGNvbnN0IHJlYWxEZXN0cm95U3ViamVjdCA9IGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzW2Rlc3Ryb3kkLmlkXTtcbiAgICAgIHJldHVybiByZWFsRGVzdHJveVN1YmplY3Q7XG4gICAgfVxuICAgIHJldHVybiBuZXcgU3ViamVjdCgpO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIHVuc3Vic2NyaWJlKGRlc3Ryb3kkOiBTdWJqZWN0PGFueT4pIHtcbiAgICBjb25zdCBkZXN0cm95U3ViamVjdCA9IHN1YmplY3RJZChkZXN0cm95JCk7XG4gICAgaWYgKGRlc3Ryb3lTdWJqZWN0Py5pZCkge1xuICAgICAgZGVsZXRlIGNvbXBvbmVudHNEZXN0cm95JFN1YmplY3RzW2Rlc3Ryb3lTdWJqZWN0LmlkXTtcbiAgICAgIGRlbGV0ZSBkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXTtcbiAgICB9XG4gIH1cblxuXG5cbiAgLyoqXG4gIGdldCBwcm9wZXJ0aWVzIGZyb20gc2NzcyBmaWxlXG5cblxuICBpbXBvcnQgc3R5bGVzIGZyb20gJy4vdGFza3MtbmdyeC1kYXRhLmNvbXBvbmVudC5zY3NzJztcblxuICBleHBvcnQgY2xhc3MgRXhhbXBsZUNvbXBvbmVudCB7XG4gICAgc2Fzc0ZpbGUgPSBzYXNzRmlsZShzdHlsZXMpO1xuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICB0aGlzLnRhc2tzU2VydmljZS5nZXRBbGwoKTtcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2Fzc0ZpbGUuc3RyaW5nVmFsdWUoJy0tbWF4LWNvbnRhaW5lci1zaXplJykpXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnNhc3NGaWxlLm51bWJlclZhbHVlKCctLW1heC1jb250YWluZXItc2l6ZScpKVxuICAgIH1cbiAgfVxuICAgICAqL1xuICBleHBvcnQgZnVuY3Rpb24gc2Fzc0ZpbGUoc3R5bGVzOiBzdHJpbmcpIHtcbiAgICBjb25zdCBsaW5lcyA9IChzdHlsZXMuc3BsaXQoJ1xcbicpKTtcbiAgICByZXR1cm4ge1xuICAgICAgc3RyaW5nVmFsdWU6IChuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxpbmVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgIGNvbnN0IGwgPSBsaW5lc1tpbmRleF07XG4gICAgICAgICAgY29uc3QgW3Zhck5hbWUsIHZhbHVlXSA9IGwudHJpbSgpLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgaWYgKHZhck5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKCc7JywgJycpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG51bWJlclZhbHVlOiAobmFtZTogc3RyaW5nKTogbnVtYmVyID0+IHtcbiAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxpbmVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgIGNvbnN0IGwgPSBsaW5lc1tpbmRleF07XG4gICAgICAgICAgY29uc3QgW3Zhck5hbWUsIHZhbHVlXSA9IGwudHJpbSgpLnNwbGl0KCc6Jyk7XG4gICAgICAgICAgaWYgKHZhck5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUucmVwbGFjZSgncHgnLCAnJykucmVwbGFjZSgnOycsICcnKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXIudHMiXX0=
@@ -1,5 +1,5 @@
1
1
  const key = Symbol('[firedev-helpers] helper browser key');
2
- class HelpersBrowser {
2
+ export class HelpersBrowser {
3
3
  static { this.callbacks = []; }
4
4
  static onInit(callback) {
5
5
  this.callbacks.push(callback);
@@ -42,7 +42,6 @@ class HelpersBrowser {
42
42
  return HelpersBrowser.inst;
43
43
  }
44
44
  }
45
- export { HelpersBrowser };
46
45
  ;
47
46
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/helpers-browser.ts
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy9mb3ItYnJvd3Nlci9oZWxwZXJzLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFFMUQsTUFBYSxjQUFjO2FBRVYsY0FBUyxHQUFHLEVBQUUsQUFBTCxDQUFNO0lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBc0M7UUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksR0FBRztRQUNMLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNqQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxJQUFZLG1CQUFtQjtRQUM3QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQWNELFlBQW9CLEdBQVc7UUFUL0IsU0FBSSxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUVyQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNwQztZQUNELGNBQWMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFJSCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUVkLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUU7Z0JBQzdCLGFBQWE7Z0JBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDeEM7aUJBQ0k7Z0JBQ0gsYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQzNFO1lBQ0QsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ1YsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUdKLENBQUM7SUFHRCxNQUFNLEtBQUssUUFBUTtRQUNqQixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7U0F6RFUsY0FBYztBQWtFMUIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRkFBbUYiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5cblxuY29uc3Qga2V5ID0gU3ltYm9sKCdbZmlyZWRldi1oZWxwZXJzXSBoZWxwZXIgYnJvd3NlciBrZXknKVxuXG5leHBvcnQgY2xhc3MgSGVscGVyc0Jyb3dzZXIge1xuXG4gIHByaXZhdGUgc3RhdGljIGNhbGxiYWNrcyA9IFtdO1xuICBzdGF0aWMgb25Jbml0KGNhbGxiYWNrOiAoaW5zOiBIZWxwZXJzQnJvd3NlcikgPT4gYW55KSB7XG4gICAgdGhpcy5jYWxsYmFja3MucHVzaChjYWxsYmFjayk7XG4gIH1cblxuICBnZXQgd2luKCkge1xuICAgIGxldCB3aW4gPSB3aW5kb3c7XG4gICAgcmV0dXJuIHdpbjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHRhYklkU2Vzc2lvblN0b3JhZ2UoKSB7XG4gICAgcmV0dXJuIE51bWJlcih0aGlzLndpbi5zZXNzaW9uU3RvcmFnZT8udGFiSWQpIHx8IDA7XG4gIH1cblxuICByZWFkb25seSB0YWJJZDogbnVtYmVyO1xuXG4gIHByaXZhdGUgc3RhdGljIGluc3Q6IEhlbHBlcnNCcm93c2VyO1xuICBpbml0ID0gKCgpID0+IHtcbiAgICBjb25zdCB3aW4gPSB0aGlzLndpbjtcblxuICAgIGlmICghd2luW2tleV0pIHtcbiAgICAgIHdpbltrZXldID0gbmV3IEhlbHBlcnNCcm93c2VyKHdpbik7XG4gICAgfVxuICAgIEhlbHBlcnNCcm93c2VyLmluc3QgPSB3aW5ba2V5XTtcbiAgfSkoKTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHdpbjogV2luZG93KSB7XG5cbiAgICB3aW4uYWRkRXZlbnRMaXN0ZW5lcihcImJlZm9yZXVubG9hZFwiLCAoZSkgPT4ge1xuICAgICAgd2luLnNlc3Npb25TdG9yYWdlLnRhYklkID0gdGhpcy50YWJJZDtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG5cbiAgICAgIGlmICh3aW4uc2Vzc2lvblN0b3JhZ2U/LnRhYklkKSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy50YWJJZCA9IE51bWJlcih3aW4uc2Vzc2lvblN0b3JhZ2UudGFiSWQpO1xuICAgICAgICB3aW4uc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShcInRhYklkXCIpO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgdGhpcy50YWJJZCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMDApICsgKG5ldyBEYXRlKCkpLmdldFRpbWUoKTtcbiAgICAgIH1cbiAgICAgIEhlbHBlcnNCcm93c2VyLmNhbGxiYWNrcy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgIGModGhpcyk7XG4gICAgICB9KTtcbiAgICB9KVxuXG5cbiAgfVxuXG5cbiAgc3RhdGljIGdldCBpbnN0YW5jZSgpIHtcbiAgICByZXR1cm4gSGVscGVyc0Jyb3dzZXIuaW5zdDtcbiAgfVxuXG59XG5cblxuXG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMvZm9yLWJyb3dzZXIvaGVscGVycy1icm93c2VyLnRzIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy9mb3ItYnJvd3Nlci9oZWxwZXJzLWJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLENBQUE7QUFFMUQsTUFBTSxPQUFPLGNBQWM7YUFFVixjQUFTLEdBQUcsRUFBRSxBQUFMLENBQU07SUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFzQztRQUNsRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxHQUFHO1FBQ0wsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELElBQVksbUJBQW1CO1FBQzdCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBY0QsWUFBb0IsR0FBVztRQVQvQixTQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBRXJCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDZCxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckMsQ0FBQztZQUNELGNBQWMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFJSCxHQUFHLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDekMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUVkLElBQUksR0FBRyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQztnQkFDOUIsYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM5QyxHQUFHLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxDQUFDO2lCQUNJLENBQUM7Z0JBQ0osYUFBYTtnQkFDYixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVFLENBQUM7WUFDRCxjQUFjLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDVixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFBO0lBR0osQ0FBQztJQUdELE1BQU0sS0FBSyxRQUFRO1FBQ2pCLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDOztBQVNGLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUZBQW1GIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuXG5cbmNvbnN0IGtleSA9IFN5bWJvbCgnW2ZpcmVkZXYtaGVscGVyc10gaGVscGVyIGJyb3dzZXIga2V5JylcblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNCcm93c2VyIHtcblxuICBwcml2YXRlIHN0YXRpYyBjYWxsYmFja3MgPSBbXTtcbiAgc3RhdGljIG9uSW5pdChjYWxsYmFjazogKGluczogSGVscGVyc0Jyb3dzZXIpID0+IGFueSkge1xuICAgIHRoaXMuY2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuICB9XG5cbiAgZ2V0IHdpbigpIHtcbiAgICBsZXQgd2luID0gd2luZG93O1xuICAgIHJldHVybiB3aW47XG4gIH1cblxuICBwcml2YXRlIGdldCB0YWJJZFNlc3Npb25TdG9yYWdlKCkge1xuICAgIHJldHVybiBOdW1iZXIodGhpcy53aW4uc2Vzc2lvblN0b3JhZ2U/LnRhYklkKSB8fCAwO1xuICB9XG5cbiAgcmVhZG9ubHkgdGFiSWQ6IG51bWJlcjtcblxuICBwcml2YXRlIHN0YXRpYyBpbnN0OiBIZWxwZXJzQnJvd3NlcjtcbiAgaW5pdCA9ICgoKSA9PiB7XG4gICAgY29uc3Qgd2luID0gdGhpcy53aW47XG5cbiAgICBpZiAoIXdpbltrZXldKSB7XG4gICAgICB3aW5ba2V5XSA9IG5ldyBIZWxwZXJzQnJvd3Nlcih3aW4pO1xuICAgIH1cbiAgICBIZWxwZXJzQnJvd3Nlci5pbnN0ID0gd2luW2tleV07XG4gIH0pKCk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcih3aW46IFdpbmRvdykge1xuXG4gICAgd2luLmFkZEV2ZW50TGlzdGVuZXIoXCJiZWZvcmV1bmxvYWRcIiwgKGUpID0+IHtcbiAgICAgIHdpbi5zZXNzaW9uU3RvcmFnZS50YWJJZCA9IHRoaXMudGFiSWQ7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuXG4gICAgICBpZiAod2luLnNlc3Npb25TdG9yYWdlPy50YWJJZCkge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMudGFiSWQgPSBOdW1iZXIod2luLnNlc3Npb25TdG9yYWdlLnRhYklkKTtcbiAgICAgICAgd2luLnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oXCJ0YWJJZFwiKTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHRoaXMudGFiSWQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAxMDAwMDAwKSArIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7XG4gICAgICB9XG4gICAgICBIZWxwZXJzQnJvd3Nlci5jYWxsYmFja3MuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICBjKHRoaXMpO1xuICAgICAgfSk7XG4gICAgfSlcblxuXG4gIH1cblxuXG4gIHN0YXRpYyBnZXQgaW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIEhlbHBlcnNCcm93c2VyLmluc3Q7XG4gIH1cblxufVxuXG5cblxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9oZWxwZXJzL2Zvci1icm93c2VyL2hlbHBlcnMtYnJvd3Nlci50cyJdfQ==