tnp-helpers 16.5.15 → 16.5.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/base-feature-for-project.mjs +8 -0
  3. package/browser/esm2022/lib/base/base-project-resolver.mjs +204 -0
  4. package/browser/esm2022/lib/base/base-project.mjs +1007 -0
  5. package/browser/esm2022/lib/base/commit-data.mjs +145 -0
  6. package/browser/esm2022/lib/base/index.mjs +11 -0
  7. package/browser/esm2022/lib/base/translate.mjs +42 -0
  8. package/browser/esm2022/lib/helpers.mjs +6 -3
  9. package/browser/esm2022/lib/index.mjs +2 -3
  10. package/browser/esm2022/lib/models.mjs +1 -1
  11. package/browser/fesm2022/tnp-helpers.mjs +860 -84
  12. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  13. package/browser/lib/base/base-feature-for-project.d.ts +6 -0
  14. package/{client/lib → browser/lib/base}/base-project-resolver.d.ts +4 -7
  15. package/browser/lib/base/base-project.d.ts +287 -0
  16. package/browser/lib/base/commit-data.d.ts +31 -0
  17. package/browser/lib/base/index.d.ts +5 -0
  18. package/browser/lib/base/translate.d.ts +2 -0
  19. package/browser/lib/index.d.ts +2 -3
  20. package/browser/lib/models.d.ts +1 -1
  21. package/client/esm2022/lib/base/base-feature-for-project.mjs +8 -0
  22. package/client/esm2022/lib/base/base-project-resolver.mjs +204 -0
  23. package/client/esm2022/lib/base/base-project.mjs +1007 -0
  24. package/client/esm2022/lib/base/commit-data.mjs +145 -0
  25. package/client/esm2022/lib/base/index.mjs +11 -0
  26. package/client/esm2022/lib/base/translate.mjs +42 -0
  27. package/client/esm2022/lib/helpers.mjs +6 -3
  28. package/client/esm2022/lib/index.mjs +2 -3
  29. package/client/esm2022/lib/models.mjs +1 -1
  30. package/client/fesm2022/tnp-helpers.mjs +860 -84
  31. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  32. package/client/lib/base/base-feature-for-project.d.ts +6 -0
  33. package/{browser/lib → client/lib/base}/base-project-resolver.d.ts +4 -7
  34. package/client/lib/base/base-project.d.ts +287 -0
  35. package/client/lib/base/commit-data.d.ts +31 -0
  36. package/client/lib/base/index.d.ts +5 -0
  37. package/client/lib/base/translate.d.ts +2 -0
  38. package/client/lib/index.d.ts +2 -3
  39. package/client/lib/models.d.ts +1 -1
  40. package/client/package.json +37 -34
  41. package/lib/base/base-command-line.backend.d.ts +79 -0
  42. package/lib/base/base-command-line.backend.js +674 -0
  43. package/lib/base/base-command-line.backend.js.map +1 -0
  44. package/lib/base/base-feature-for-project.d.ts +5 -0
  45. package/lib/base/base-feature-for-project.js +11 -0
  46. package/lib/base/base-feature-for-project.js.map +1 -0
  47. package/lib/{base-project-resolver.d.ts → base/base-project-resolver.d.ts} +4 -7
  48. package/lib/{base-project-resolver.js → base/base-project-resolver.js} +33 -28
  49. package/lib/base/base-project-resolver.js.map +1 -0
  50. package/lib/base/base-project.d.ts +297 -0
  51. package/lib/base/base-project.js +1451 -0
  52. package/lib/base/base-project.js.map +1 -0
  53. package/lib/base/base-start-config.backend.d.ts +35 -0
  54. package/lib/base/base-start-config.backend.js +126 -0
  55. package/lib/base/base-start-config.backend.js.map +1 -0
  56. package/lib/base/command-line-feature.backend.d.ts +32 -0
  57. package/lib/base/command-line-feature.backend.js +89 -0
  58. package/lib/base/command-line-feature.backend.js.map +1 -0
  59. package/lib/base/commit-data.d.ts +30 -0
  60. package/lib/base/commit-data.js +200 -0
  61. package/lib/base/commit-data.js.map +1 -0
  62. package/lib/base/index.d.ts +7 -0
  63. package/lib/base/index.js +13 -0
  64. package/lib/base/index.js.map +1 -0
  65. package/lib/base/translate.d.ts +1 -0
  66. package/lib/base/translate.js +80 -0
  67. package/lib/base/translate.js.map +1 -0
  68. package/lib/for-backend/helpers-cli-tool.backend.d.ts +42 -22
  69. package/lib/for-backend/helpers-cli-tool.backend.js +129 -180
  70. package/lib/for-backend/helpers-cli-tool.backend.js.map +1 -1
  71. package/lib/for-backend/helpers-file-folders.backend.d.ts +2 -8
  72. package/lib/for-backend/helpers-file-folders.backend.js +4 -14
  73. package/lib/for-backend/helpers-file-folders.backend.js.map +1 -1
  74. package/lib/for-backend/helpers-git.backend.d.ts +48 -12
  75. package/lib/for-backend/helpers-git.backend.js +227 -142
  76. package/lib/for-backend/helpers-git.backend.js.map +1 -1
  77. package/lib/for-backend/helpers-process.backend.d.ts +5 -11
  78. package/lib/for-backend/helpers-process.backend.js +77 -39
  79. package/lib/for-backend/helpers-process.backend.js.map +1 -1
  80. package/lib/for-backend/helpers-vscode.backend.d.ts +3 -3
  81. package/lib/for-backend/helpers-vscode.backend.js.map +1 -1
  82. package/lib/for-browser/angular.helper.js +3 -3
  83. package/lib/helpers.d.ts +2 -3
  84. package/lib/helpers.js +5 -2
  85. package/lib/helpers.js.map +1 -1
  86. package/lib/index.d.ts +2 -3
  87. package/lib/index.js +1 -2
  88. package/lib/index.js.map +1 -1
  89. package/lib/models.d.ts +1 -1
  90. package/lib/old/base-component.js +3 -3
  91. package/lib/old/base-formly-component.js +3 -3
  92. package/lib/old/dual-component-ctrl.js +3 -3
  93. package/package.json +8 -5
  94. package/package.json_tnp.json5 +4 -1
  95. package/tmp-environment.json +41 -45
  96. package/websql/esm2022/lib/base/base-feature-for-project.mjs +8 -0
  97. package/websql/esm2022/lib/base/base-project-resolver.mjs +203 -0
  98. package/websql/esm2022/lib/base/base-project.mjs +994 -0
  99. package/websql/esm2022/lib/base/commit-data.mjs +145 -0
  100. package/websql/esm2022/lib/base/index.mjs +11 -0
  101. package/websql/esm2022/lib/base/translate.mjs +42 -0
  102. package/websql/esm2022/lib/helpers.mjs +6 -3
  103. package/websql/esm2022/lib/index.mjs +2 -3
  104. package/websql/esm2022/lib/models.mjs +1 -1
  105. package/websql/fesm2022/tnp-helpers.mjs +861 -85
  106. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  107. package/websql/lib/base/base-feature-for-project.d.ts +6 -0
  108. package/websql/lib/{base-project-resolver.d.ts → base/base-project-resolver.d.ts} +4 -7
  109. package/websql/lib/base/base-project.d.ts +287 -0
  110. package/websql/lib/base/commit-data.d.ts +31 -0
  111. package/websql/lib/base/index.d.ts +5 -0
  112. package/websql/lib/base/translate.d.ts +2 -0
  113. package/websql/lib/index.d.ts +2 -3
  114. package/websql/lib/models.d.ts +1 -1
  115. package/browser/esm2022/lib/base-project-resolver.mjs +0 -223
  116. package/browser/esm2022/lib/base-project.mjs +0 -374
  117. package/browser/lib/base-project.d.ts +0 -94
  118. package/client/esm2022/lib/base-project-resolver.mjs +0 -223
  119. package/client/esm2022/lib/base-project.mjs +0 -374
  120. package/client/lib/base-project.d.ts +0 -94
  121. package/lib/base-project-resolver.js.map +0 -1
  122. package/lib/base-project.d.ts +0 -103
  123. package/lib/base-project.js +0 -482
  124. package/lib/base-project.js.map +0 -1
  125. package/lib/git-project.d.ts +0 -57
  126. package/lib/git-project.js +0 -224
  127. package/lib/git-project.js.map +0 -1
  128. package/websql/esm2022/lib/base-project-resolver.mjs +0 -222
  129. package/websql/esm2022/lib/base-project.mjs +0 -361
  130. package/websql/lib/base-project.d.ts +0 -94
@@ -0,0 +1,145 @@
1
+ import { _, /* */ /* */ } from 'tnp-core/websql'; /* */
2
+ export class CommitData {
3
+ /**
4
+ *
5
+ * @returns jiras (from oldest to newset)
6
+ */
7
+ static extractAndOrderJiraNumbers(commitOrBranchName) {
8
+ /* */
9
+ /* */
10
+ /* */
11
+ /* */
12
+ /* */
13
+ /* */
14
+ /* */
15
+ /* */
16
+ /* */
17
+ return (void 0);
18
+ }
19
+ static cleanHttpFromCommitMessage(commitMsg) {
20
+ if (!commitMsg) {
21
+ return commitMsg;
22
+ }
23
+ commitMsg = commitMsg.replace('https://', '');
24
+ commitMsg = commitMsg.replace('http://', '');
25
+ return commitMsg;
26
+ }
27
+ static async getFromArgs(args, typeOfCommit) {
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ /* */
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ /* */
55
+ /* */
56
+ return (void 0);
57
+ }
58
+ static async getFromBranch(currentBranchName) {
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ /* */
64
+ /* */
65
+ /* */
66
+ /* */
67
+ /* */
68
+ /* */
69
+ /* */
70
+ /* */
71
+ /* */
72
+ /* */
73
+ /* */
74
+ /* */
75
+ /* */
76
+ /* */
77
+ /* */
78
+ /* */
79
+ /* */
80
+ /* */
81
+ /* */
82
+ /* */
83
+ /* */
84
+ /* */
85
+ return (void 0);
86
+ }
87
+ static from(options) {
88
+ options = (options ? options : {});
89
+ const opt = _.merge(new CommitData(), _.cloneDeep(options));
90
+ return opt;
91
+ }
92
+ /**
93
+ * pure message what was done (without jira or prefixes)
94
+ * => is included in this.commitMessage
95
+ */
96
+ get message() {
97
+ return this._message;
98
+ }
99
+ set message(message) {
100
+ for (const jira of (this.jiraNumbers || [])) {
101
+ message = message.replace(jira, ' ');
102
+ message = message.replace(jira.toLowerCase(), ' ');
103
+ message = message.replace(jira.toLowerCase().replace('-', ''), ' ');
104
+ }
105
+ this._message = message;
106
+ }
107
+ get branchPrefix() {
108
+ /* */
109
+ /* */
110
+ /* */
111
+ /* */
112
+ /* */
113
+ /* */
114
+ /* */
115
+ /* */
116
+ /* */
117
+ /* */
118
+ return (void 0);
119
+ }
120
+ get commitMessage() {
121
+ /* */
122
+ /* */
123
+ /* */
124
+ /* */
125
+ /* */
126
+ /* */
127
+ /* */
128
+ /* */
129
+ /* */
130
+ return (void 0);
131
+ }
132
+ get branchName() {
133
+ /* */
134
+ /* */
135
+ return (void 0);
136
+ }
137
+ get isActionCommit() {
138
+ /* */
139
+ /* */
140
+ return (void 0);
141
+ }
142
+ }
143
+ ;
144
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/commit-data.ts
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWl0LWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2NvbW1pdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBSyxNQUFNLGlCQUFpQixDQUFDLENBQUEsS0FBSztBQVkzRCxNQUFNLE9BQU8sVUFBVTtJQUtyQjs7O09BR0c7SUFDSyxNQUFNLENBQUMsMEJBQTBCLENBQUMsa0JBQTBCO1FBQ3RFLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFJTyxNQUFNLENBQUMsMEJBQTBCLENBQUMsU0FBUztRQUNqRCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxTQUFTLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDOUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFJRCxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFjLEVBQUUsWUFBMEI7UUFDckUsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFD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ICovIC8qICovICAgIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4uL2luZGV4JztcblxuZXhwb3J0IHR5cGUgQ29tbW9uQ29tbWl0TXNnQnJhbmNoID0gfCAncmVmYWN0b3InIHwgJ2Nob3JlJyB8ICdzdHlsZScgfCAnZG9jcycgfCAndGVzdCcgfCAnY2knIHwgJ2J1aWxkJztcbmV4cG9ydCB0eXBlIFR5cGVPZkNvbW1pdCA9ICdmZWF0dXJlJyB8ICdidWdmaXgnIHwgJ3BlcmZvcm1hbmNlJyB8IENvbW1vbkNvbW1pdE1zZ0JyYW5jaDtcbmV4cG9ydCB0eXBlIFR5cGVPZk1zZ1ByZWZpeCA9ICdmZWF0JyB8ICdmaXgnIHwgJ3BlcmYnIHwgQ29tbW9uQ29tbWl0TXNnQnJhbmNoO1xuXG5leHBvcnQgY2xhc3MgQ29tbWl0RGF0YSB7XG4gIHByaXZhdGUgX21lc3NhZ2U6IHN0cmluZztcblxuXG5cbiAgLyoqXG4gICAqXG4gICAqIEByZXR1cm5zIGppcmFzIChmcm9tIG9sZGVzdCB0byBuZXdzZXQpXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBleHRyYWN0QW5kT3JkZXJKaXJhTnVtYmVycyhjb21taXRPckJyYW5jaE5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBzdGF0aWMgY2xlYW5IdHRwRnJvbUNvbW1pdE1lc3NhZ2UoY29tbWl0TXNnKTogc3RyaW5nIHtcbiAgICBpZiAoIWNvbW1pdE1zZykge1xuICAgICAgcmV0dXJuIGNvbW1pdE1zZztcbiAgICB9XG4gICAgY29tbWl0TXNnID0gY29tbWl0TXNnLnJlcGxhY2UoJ2h0dHBzOi8vJywgJycpO1xuICAgIGNvbW1pdE1zZyA9IGNvbW1pdE1zZy5yZXBsYWNlKCdodHRwOi8vJywgJycpO1xuICAgIHJldHVybiBjb21taXRNc2c7XG4gIH1cblxuXG5cbiAgc3RhdGljIGFzeW5jIGdldEZyb21BcmdzKGFyZ3M6IHN0cmluZ1tdLCB0eXBlT2ZDb21taXQ6IFR5cGVPZkNvbW1pdCkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGFzeW5jIGdldEZyb21CcmFuY2goY3VycmVudEJyYW5jaE5hbWU6IHN0cmluZykge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHB1YmxpYyBzdGF0aWMgZnJvbShvcHRpb25zOiBQaWNrPENvbW1pdERhdGEsICdtZXNzYWdlJyB8ICdqaXJhTnVtYmVycycgfCAndHlwZU9mQ29tbWl0Jz4pOiBDb21taXREYXRhIHtcbiAgICBvcHRpb25zID0gKG9wdGlvbnMgPyBvcHRpb25zIDoge30pIGFzIGFueTtcbiAgICBjb25zdCBvcHQgPSBfLm1lcmdlKG5ldyBDb21taXREYXRhKCksIF8uY2xvbmVEZWVwKG9wdGlvbnMpKTtcblxuICAgIHJldHVybiBvcHQ7XG4gIH1cblxuXG5cblxuXG4gIHR5cGVPZkNvbW1pdDogVHlwZU9mQ29tbWl0O1xuICAvKipcbiAgICogcHVyZSBtZXNzYWdlIHdoYXQgd2FzIGRvbmUgKHdpdGhvdXQgamlyYSBvciBwcmVmaXhlcylcbiAgICogPT4gaXMgaW5jbHVkZWQgaW4gdGhpcy5jb21taXRNZXNzYWdlXG4gICAqL1xuICBnZXQgbWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZTtcbiAgfVxuICBzZXQgbWVzc2FnZShtZXNzYWdlKSB7XG4gICAgZm9yIChjb25zdCBqaXJhIG9mICh0aGlzLmppcmFOdW1iZXJzIHx8IFtdKSkge1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShqaXJhLCAnICcpO1xuICAgICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZShqaXJhLnRvTG93ZXJDYXNlKCksICcgJyk7XG4gICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKGppcmEudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCctJywgJycpLCAnICcpO1xuICAgIH1cbiAgICB0aGlzLl9tZXNzYWdlID0gbWVzc2FnZTtcbiAgfVxuICAvKipcbiAgICogZXguIEpJUkEtMjEzMiBvciBNWUpJUkFSRUZJWC0yMzQyMzRcbiAgICovXG4gIGppcmFOdW1iZXJzOiBzdHJpbmdbXTtcblxuXG5cblxuXG4gIGdldCBicmFuY2hQcmVmaXgoKTogVHlwZU9mTXNnUHJlZml4IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldCBjb21taXRNZXNzYWdlKCk6IHN0cmluZyB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBnZXQgYnJhbmNoTmFtZSgpIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgZ2V0IGlzQWN0aW9uQ29tbWl0KCkge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvY29tbWl0LWRhdGEudHMiXX0=
@@ -0,0 +1,11 @@
1
+ export * from './base-project';
2
+ export * from './base-project-resolver';
3
+ export * from './base-feature-for-project';
4
+ export * from './commit-data';
5
+ /* */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ ;
10
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/index.ts
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHSixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDBEQUEwRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtcHJvamVjdC1yZXNvbHZlcic7XG5leHBvcnQgKiBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbW1pdC1kYXRhJztcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvaW5kZXgudHMiXX0=
@@ -0,0 +1,42 @@
1
+ // @ts-ignore
2
+ var iso = { aar: "aa", abk: "ab", afr: "af", aka: "ak", alb: "sq", amh: "am", ara: "ar", arg: "an", arm: "hy", asm: "as", ava: "av", ave: "ae", aym: "ay", aze: "az", bak: "ba", bam: "bm", baq: "eu", bel: "be", ben: "bn", bih: "bh", bis: "bi", bos: "bs", bre: "br", bul: "bg", bur: "my", cat: "ca", cha: "ch", che: "ce", chi: "zh", chu: "cu", chv: "cv", cor: "kw", cos: "co", cre: "cr", cze: "cs", dan: "da", div: "dv", dut: "nl", dzo: "dz", eng: "en", epo: "eo", est: "et", ewe: "ee", fao: "fo", fij: "fj", fin: "fi", fre: "fr", fry: "fy", ful: "ff", geo: "ka", ger: "de", gla: "gd", gle: "ga", glg: "gl", glv: "gv", gre: "el", grn: "gn", guj: "gu", hat: "ht", hau: "ha", heb: "he", her: "hz", hin: "hi", hmo: "ho", hrv: "hr", hun: "hu", ibo: "ig", ice: "is", ido: "io", iii: "ii", iku: "iu", ile: "ie", ina: "ia", ind: "id", ipk: "ik", ita: "it", jav: "jv", jpn: "ja", kal: "kl", kan: "kn", kas: "ks", kau: "kr", kaz: "kk", khm: "km", kik: "ki", kin: "rw", kir: "ky", kom: "kv", kon: "kg", kor: "ko", kua: "kj", kur: "ku", lao: "lo", lat: "la", lav: "lv", lim: "li", lin: "ln", lit: "lt", ltz: "lb", lub: "lu", lug: "lg", mac: "mk", mah: "mh", mal: "ml", mao: "mi", mar: "mr", may: "ms", mlg: "mg", mlt: "mt", mon: "mn", nau: "na", nav: "nv", nbl: "nr", nde: "nd", ndo: "ng", nep: "ne", nno: "nn", nob: "nb", nor: "no", nya: "ny", oci: "oc", oji: "oj", ori: "or", orm: "om", oss: "os", pan: "pa", per: "fa", pli: "pi", pol: "pl", por: "pt", pus: "ps", que: "qu", roh: "rm", rum: "ro", run: "rn", rus: "ru", sag: "sg", san: "sa", sin: "si", slo: "sk", slv: "sl", sme: "se", smo: "sm", sna: "sn", snd: "sd", som: "so", sot: "st", spa: "es", srd: "sc", srp: "sr", ssw: "ss", sun: "su", swa: "sw", swe: "sv", tah: "ty", tam: "ta", tat: "tt", tel: "te", tgk: "tg", tgl: "tl", tha: "th", tib: "bo", tir: "ti", ton: "to", tsn: "tn", tso: "ts", tuk: "tk", tur: "tr", twi: "tw", uig: "ug", ukr: "uk", urd: "ur", uzb: "uz", ven: "ve", vie: "vi", vol: "vo", wel: "cy", wln: "wa", wol: "wo", xho: "xh", yid: "yi", yor: "yo", zha: "za", zul: "zu" }, names = { afar: "aa", abkhazian: "ab", afrikaans: "af", akan: "ak", albanian: "sq", amharic: "am", arabic: "ar", aragonese: "an", armenian: "hy", assamese: "as", avaric: "av", avestan: "ae", aymara: "ay", azerbaijani: "az", bashkir: "ba", bambara: "bm", basque: "eu", belarusian: "be", bengali: "bn", "bihari languages": "bh", bislama: "bi", tibetan: "bo", bosnian: "bs", breton: "br", bulgarian: "bg", burmese: "my", catalan: "ca", valencian: "ca", czech: "cs", chamorro: "ch", chechen: "ce", chinese: "zh", "church slavic": "cu", "old slavonic": "cu", "church slavonic": "cu", "old bulgarian": "cu", "old church slavonic": "cu", chuvash: "cv", cornish: "kw", corsican: "co", cree: "cr", welsh: "cy", danish: "da", german: "de", divehi: "dv", dhivehi: "dv", maldivian: "dv", dutch: "nl", flemish: "nl", dzongkha: "dz", greek: "el", english: "en", esperanto: "eo", estonian: "et", ewe: "ee", faroese: "fo", persian: "fa", fijian: "fj", finnish: "fi", french: "fr", "western frisian": "fy", fulah: "ff", georgian: "ka", gaelic: "gd", "scottish gaelic": "gd", irish: "ga", galician: "gl", manx: "gv", guarani: "gn", gujarati: "gu", haitian: "ht", "haitian creole": "ht", hausa: "ha", hebrew: "he", herero: "hz", hindi: "hi", "hiri motu": "ho", croatian: "hr", hungarian: "hu", igbo: "ig", icelandic: "is", ido: "io", "sichuan yi": "ii", nuosu: "ii", inuktitut: "iu", interlingue: "ie", occidental: "ie", interlingua: "ia", indonesian: "id", inupiaq: "ik", italian: "it", javanese: "jv", japanese: "ja", kalaallisut: "kl", greenlandic: "kl", kannada: "kn", kashmiri: "ks", kanuri: "kr", kazakh: "kk", "central khmer": "km", kikuyu: "ki", gikuyu: "ki", kinyarwanda: "rw", kirghiz: "ky", kyrgyz: "ky", komi: "kv", kongo: "kg", korean: "ko", kuanyama: "kj", kwanyama: "kj", kurdish: "ku", lao: "lo", latin: "la", latvian: "lv", limburgan: "li", limburger: "li", limburgish: "li", lingala: "ln", lithuanian: "lt", luxembourgish: "lb", letzeburgesch: "lb", "luba-katanga": "lu", ganda: "lg", macedonian: "mk", marshallese: "mh", malayalam: "ml", maori: "mi", marathi: "mr", malay: "ms", malagasy: "mg", maltese: "mt", mongolian: "mn", nauru: "na", navajo: "nv", navaho: "nv", "ndebele, south": "nr", "south ndebele": "nr", "ndebele, north": "nd", "north ndebele": "nd", ndonga: "ng", nepali: "ne", "norwegian nynorsk": "nn", "nynorsk, norwegian": "nn", "norwegian bokmål": "nb", "bokmål, norwegian": "nb", norwegian: "no", chichewa: "ny", chewa: "ny", nyanja: "ny", occitan: "oc", ojibwa: "oj", oriya: "or", oromo: "om", ossetian: "os", ossetic: "os", panjabi: "pa", punjabi: "pa", pali: "pi", polish: "pl", portuguese: "pt", pushto: "ps", pashto: "ps", quechua: "qu", romansh: "rm", romanian: "ro", moldavian: "ro", moldovan: "ro", rundi: "rn", russian: "ru", sango: "sg", sanskrit: "sa", sinhala: "si", sinhalese: "si", slovak: "sk", slovenian: "sl", "northern sami": "se", samoan: "sm", shona: "sn", sindhi: "sd", somali: "so", "sotho, southern": "st", spanish: "es", castilian: "es", sardinian: "sc", serbian: "sr", swati: "ss", sundanese: "su", swahili: "sw", swedish: "sv", tahitian: "ty", tamil: "ta", tatar: "tt", telugu: "te", tajik: "tg", tagalog: "tl", thai: "th", tigrinya: "ti", tonga: "to", tswana: "tn", tsonga: "ts", turkmen: "tk", turkish: "tr", twi: "tw", uighur: "ug", uyghur: "ug", ukrainian: "uk", urdu: "ur", uzbek: "uz", venda: "ve", vietnamese: "vi", "volapük": "vo", walloon: "wa", wolof: "wo", xhosa: "xh", yiddish: "yi", yoruba: "yo", zhuang: "za", chuang: "za", zulu: "zu" };
3
+ // @ts-ignore
4
+ const isoKeys = Object.values(iso).sort();
5
+ var languages = e => { if ("string" != typeof e)
6
+ throw new Error('The "language" must be a string, received ' + typeof e); if (e.length > 100)
7
+ throw new Error(`The "language" is too long at ${e.length} characters`); if (e = e.toLowerCase(), e = names[e] || iso[e] || e, !isoKeys.includes(e))
8
+ throw new Error(`The language "${e}" is not part of the ISO 639-1`); return e; };
9
+ function Cache() { var e = Object.create(null); function a(a) { delete e[a]; } this.set = function (n, i, r) { if (void 0 !== r && ("number" != typeof r || isNaN(r) || r <= 0))
10
+ throw new Error("Cache timeout must be a positive number"); var t = e[n]; t && clearTimeout(t.timeout); var o = { value: i, expire: r + Date.now() }; return isNaN(o.expire) || (o.timeout = setTimeout((() => a(n)), r)), e[n] = o, i; }, this.del = function (n) { var i = !0, r = e[n]; return r ? (clearTimeout(r.timeout), !isNaN(r.expire) && r.expire < Date.now() && (i = !1)) : i = !1, i && a(n), i; }, this.clear = function () { for (var a in e)
11
+ clearTimeout(e[a].timeout); e = Object.create(null); }, this.get = function (a) { var n = e[a]; if (void 0 !== n) {
12
+ if (isNaN(n.expire) || n.expire >= Date.now())
13
+ return n.value;
14
+ delete e[a];
15
+ } return null; }; }
16
+ const exp$1 = new Cache;
17
+ exp$1.Cache = Cache;
18
+ const base = "https://translate.googleapis.com/translate_a/single";
19
+ var google = { fetch: ({ key: e, from: a, to: n, text: i }) => [`${base}?client=gtx&sl=${a}&tl=${n}&dt=t&q=${encodeURI(i)}`], parse: e => e.json().then((e => { if (!(e = e && e[0] && e[0][0] && e[0].map((e => e[0])).join("")))
20
+ throw new Error("Translation not found"); return e; })) }, yandex = { needkey: !0, fetch: ({ key: e, from: a, to: n, text: i }) => [`https://translate.yandex.net/api/v1.5/tr.json/translate?key=${e}&lang=${a}-${n}&text=${encodeURIComponent(i)}`, { method: "POST", body: "" }], parse: e => e.json().then((e => { if (200 !== e.code)
21
+ throw new Error(e.message); return e.text[0]; })) };
22
+ const libreUrl = "https://libretranslate.com/translate";
23
+ var libre = { needkey: !1, fetch: ({ url: e = libreUrl, key: a, from: n, to: i, text: r }) => [e, { method: "POST", body: JSON.stringify({ q: r, source: n, target: i, api_key: a }), headers: { "Content-Type": "application/json" } }], parse: e => e.json().then((e => { if (!e)
24
+ throw new Error("No response found"); if (e.error)
25
+ throw new Error(e.error); if (!e.translatedText)
26
+ throw new Error("No response found"); return e.translatedText; })) }, deepl = { needkey: !0, fetch: ({ key: e, from: a, to: n, text: i }) => [`https://api${/:fx$/.test(e) ? "-free" : ""}.deepl.com/v2/translate?auth_key=${e}&source_lang=${a}&target_lang=${n}&text=${i = encodeURIComponent(i)}`, { method: "POST", body: "" }], parse: async (e) => { if (!e.ok) {
27
+ if (403 === e.status)
28
+ throw new Error("Auth Error, please review the key for DeepL");
29
+ throw new Error(`Error ${e.status}`);
30
+ } return e.json().then((e => e.translations[0].text)); } }, engines = { google: google, yandex: yandex, libre: libre, deepl: deepl };
31
+ const Translate = function (e = {}) { if (!(this instanceof Translate))
32
+ return new Translate(e); const a = { from: "en", to: "en", cache: void 0, languages: languages, engines: engines, engine: "google", keys: {} }, n = async (e, a = {}) => { "string" == typeof a && (a = { to: a }), a.text = e, a.from = languages(a.from || n.from), a.to = languages(a.to || n.to), a.cache = a.cache || n.cache, a.engines = a.engines || {}, a.engine = a.engine || n.engine, a.url = a.url || n.url, a.id = a.id || `${a.url}:${a.from}:${a.to}:${a.engine}:${a.text}`, a.keys = a.keys || n.keys || {}; for (let e in n.keys)
33
+ a.keys[e] = a.keys[e] || n.keys[e]; a.key = a.key || n.key || a.keys[a.engine]; const i = a.engines[a.engine] || n.engines[a.engine], r = exp$1.get(a.id); if (r)
34
+ return Promise.resolve(r); if (a.to === a.from)
35
+ return Promise.resolve(a.text); if (i.needkey && !a.key)
36
+ throw new Error(`The engine "${a.engine}" needs a key, please provide it`); const t = i.fetch(a); return fetch(...t).then(i.parse).then((e => exp$1.set(a.id, e, a.cache))); }; for (let i in a)
37
+ n[i] = void 0 === e[i] ? a[i] : e[i]; return n; }, exp = new Translate;
38
+ exp.Translate = Translate;
39
+ export const translate = exp;
40
+ ;
41
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/translate.ts
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS90cmFuc2xhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsYUFBYTtBQUNiLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUM3NUssYUFBYTtBQUNiLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFBQyxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksUUFBUSxJQUFJLE9BQU8sQ0FBQztJQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHO0lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLE1BQU0sYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztBQUFDLFNBQVMsS0FBSyxLQUFLLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7SUFBRSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7Q0FBRSxDQUFDLE9BQU8sSUFBSSxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQztBQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDO0FBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFBQyxNQUFNLElBQUksR0FBRyxxREFBcUQsQ0FBQztBQUFDLElBQUksTUFBTSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxXQUFXLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLCtEQUErRCxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQUMsTUFBTSxRQUFRLEdBQUcsc0NBQXNDLENBQUM7QUFBQyxJQUFJLEtBQUssR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjO1FBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsY0FBYyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxvQ0FBb0MsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFDLENBQUMsRUFBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFBRSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsTUFBTTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtLQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFBQyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxZQUFZLFNBQVMsQ0FBQztJQUFFLE9BQU8sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSTtJQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUk7SUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUc7SUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sa0NBQWtDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUM7SUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxJQUFJLFNBQVMsQ0FBQztBQUNqakksR0FBRyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDMUIsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFJLEdBQUcsQ0FBQztBQUU3QixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhEQUE4RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG4vLyBAdHMtaWdub3JlXG52YXIgaXNvID0geyBhYXI6IFwiYWFcIiwgYWJrOiBcImFiXCIsIGFmcjogXCJhZlwiLCBha2E6IFwiYWtcIiwgYWxiOiBcInNxXCIsIGFtaDogXCJhbVwiLCBhcmE6IFwiYXJcIiwgYXJnOiBcImFuXCIsIGFybTogXCJoeVwiLCBhc206IFwiYXNcIiwgYXZhOiBcImF2XCIsIGF2ZTogXCJhZVwiLCBheW06IFwiYXlcIiwgYXplOiBcImF6XCIsIGJhazogXCJiYVwiLCBiYW06IFwiYm1cIiwgYmFxOiBcImV1XCIsIGJlbDogXCJiZVwiLCBiZW46IFwiYm5cIiwgYmloOiBcImJoXCIsIGJpczogXCJiaVwiLCBib3M6IFwiYnNcIiwgYnJlOiBcImJyXCIsIGJ1bDogXCJiZ1wiLCBidXI6IFwibXlcIiwgY2F0OiBcImNhXCIsIGNoYTogXCJjaFwiLCBjaGU6IFwiY2VcIiwgY2hpOiBcInpoXCIsIGNodTogXCJjdVwiLCBjaHY6IFwiY3ZcIiwgY29yOiBcImt3XCIsIGNvczogXCJjb1wiLCBjcmU6IFwiY3JcIiwgY3plOiBcImNzXCIsIGRhbjogXCJkYVwiLCBkaXY6IFwiZHZcIiwgZHV0OiBcIm5sXCIsIGR6bzogXCJkelwiLCBlbmc6IFwiZW5cIiwgZXBvOiBcImVvXCIsIGVzdDogXCJldFwiLCBld2U6IFwiZWVcIiwgZmFvOiBcImZvXCIsIGZpajogXCJmalwiLCBmaW46IFwiZmlcIiwgZnJlOiBcImZyXCIsIGZyeTogXCJmeVwiLCBmdWw6IFwiZmZcIiwgZ2VvOiBcImthXCIsIGdlcjogXCJkZVwiLCBnbGE6IFwiZ2RcIiwgZ2xlOiBcImdhXCIsIGdsZzogXCJnbFwiLCBnbHY6IFwiZ3ZcIiwgZ3JlOiBcImVsXCIsIGdybjogXCJnblwiLCBndWo6IFwiZ3VcIiwgaGF0OiBcImh0XCIsIGhhdTogXCJoYVwiLCBoZWI6IFwiaGVcIiwgaGVyOiBcImh6XCIsIGhpbjogXCJoaVwiLCBobW86IFwiaG9cIiwgaHJ2OiBcImhyXCIsIGh1bjogXCJodVwiLCBpYm86IFwiaWdcIiwgaWNlOiBcImlzXCIsIGlkbzogXCJpb1wiLCBpaWk6IFwiaWlcIiwgaWt1OiBcIml1XCIsIGlsZTogXCJpZVwiLCBpbmE6IFwiaWFcIiwgaW5kOiBcImlkXCIsIGlwazogXCJpa1wiLCBpdGE6IFwiaXRcIiwgamF2OiBcImp2XCIsIGpwbjogXCJqYVwiLCBrYWw6IFwia2xcIiwga2FuOiBcImtuXCIsIGthczogXCJrc1wiLCBrYXU6IFwia3JcIiwga2F6OiBcImtrXCIsIGtobTogXCJrbVwiLCBraWs6IFwia2lcIiwga2luOiBcInJ3XCIsIGtpcjogXCJreVwiLCBrb206IFwia3ZcIiwga29uOiBcImtnXCIsIGtvcjogXCJrb1wiLCBrdWE6IFwia2pcIiwga3VyOiBcImt1XCIsIGxhbzogXCJsb1wiLCBsYXQ6IFwibGFcIiwgbGF2OiBcImx2XCIsIGxpbTogXCJsaVwiLCBsaW46IFwibG5cIiwgbGl0OiBcImx0XCIsIGx0ejogXCJsYlwiLCBsdWI6IFwibHVcIiwgbHVnOiBcImxnXCIsIG1hYzogXCJta1wiLCBtYWg6IFwibWhcIiwgbWFsOiBcIm1sXCIsIG1hbzogXCJtaVwiLCBtYXI6IFwibXJcIiwgbWF5OiBcIm1zXCIsIG1sZzogXCJtZ1wiLCBtbHQ6IFwibXRcIiwgbW9uOiBcIm1uXCIsIG5hdTogXCJuYVwiLCBuYXY6IFwibnZcIiwgbmJsOiBcIm5yXCIsIG5kZTogXCJuZFwiLCBuZG86IFwibmdcIiwgbmVwOiBcIm5lXCIsIG5ubzogXCJublwiLCBub2I6IFwibmJcIiwgbm9yOiBcIm5vXCIsIG55YTogXCJueVwiLCBvY2k6IFwib2NcIiwgb2ppOiBcIm9qXCIsIG9yaTogXCJvclwiLCBvcm06IFwib21cIiwgb3NzOiBcIm9zXCIsIHBhbjogXCJwYVwiLCBwZXI6IFwiZmFcIiwgcGxpOiBcInBpXCIsIHBvbDogXCJwbFwiLCBwb3I6IFwicHRcIiwgcHVzOiBcInBzXCIsIHF1ZTogXCJxdVwiLCByb2g6IFwicm1cIiwgcnVtOiBcInJvXCIsIHJ1bjogXCJyblwiLCBydXM6IFwicnVcIiwgc2FnOiBcInNnXCIsIHNhbjogXCJzYVwiLCBzaW46IFwic2lcIiwgc2xvOiBcInNrXCIsIHNsdjogXCJzbFwiLCBzbWU6IFwic2VcIiwgc21vOiBcInNtXCIsIHNuYTogXCJzblwiLCBzbmQ6IFwic2RcIiwgc29tOiBcInNvXCIsIHNvdDogXCJzdFwiLCBzcGE6IFwiZXNcIiwgc3JkOiBcInNjXCIsIHNycDogXCJzclwiLCBzc3c6IFwic3NcIiwgc3VuOiBcInN1XCIsIHN3YTogXCJzd1wiLCBzd2U6IFwic3ZcIiwgdGFoOiBcInR5XCIsIHRhbTogXCJ0YVwiLCB0YXQ6IFwidHRcIiwgdGVsOiBcInRlXCIsIHRnazogXCJ0Z1wiLCB0Z2w6IFwidGxcIiwgdGhhOiBcInRoXCIsIHRpYjogXCJib1wiLCB0aXI6IFwidGlcIiwgdG9uOiBcInRvXCIsIHRzbjogXCJ0blwiLCB0c286IFwidHNcIiwgdHVrOiBcInRrXCIsIHR1cjogXCJ0clwiLCB0d2k6IFwidHdcIiwgdWlnOiBcInVnXCIsIHVrcjogXCJ1a1wiLCB1cmQ6IFwidXJcIiwgdXpiOiBcInV6XCIsIHZlbjogXCJ2ZVwiLCB2aWU6IFwidmlcIiwgdm9sOiBcInZvXCIsIHdlbDogXCJjeVwiLCB3bG46IFwid2FcIiwgd29sOiBcIndvXCIsIHhobzogXCJ4aFwiLCB5aWQ6IFwieWlcIiwgeW9yOiBcInlvXCIsIHpoYTogXCJ6YVwiLCB6dWw6IFwienVcIiB9LCBuYW1lcyA9IHsgYWZhcjogXCJhYVwiLCBhYmtoYXppYW46IFwiYWJcIiwgYWZyaWthYW5zOiBcImFmXCIsIGFrYW46IFwiYWtcIiwgYWxiYW5pYW46IFwic3FcIiwgYW1oYXJpYzogXCJhbVwiLCBhcmFiaWM6IFwiYXJcIiwgYXJhZ29uZXNlOiBcImFuXCIsIGFybWVuaWFuOiBcImh5XCIsIGFzc2FtZXNlOiBcImFzXCIsIGF2YXJpYzogXCJhdlwiLCBhdmVzdGFuOiBcImFlXCIsIGF5bWFyYTogXCJheVwiLCBhemVyYmFpamFuaTogXCJhelwiLCBiYXNoa2lyOiBcImJhXCIsIGJhbWJhcmE6IFwiYm1cIiwgYmFzcXVlOiBcImV1XCIsIGJlbGFydXNpYW46IFwiYmVcIiwgYmVuZ2FsaTogXCJiblwiLCBcImJpaGFyaSBsYW5ndWFnZXNcIjogXCJiaFwiLCBiaXNsYW1hOiBcImJpXCIsIHRpYmV0YW46IFwiYm9cIiwgYm9zbmlhbjogXCJic1wiLCBicmV0b246IFwiYnJcIiwgYnVsZ2FyaWFuOiBcImJnXCIsIGJ1cm1lc2U6IFwibXlcIiwgY2F0YWxhbjogXCJjYVwiLCB2YWxlbmNpYW46IFwiY2FcIiwgY3plY2g6IFwiY3NcIiwgY2hhbW9ycm86IFwiY2hcIiwgY2hlY2hlbjogXCJjZVwiLCBjaGluZXNlOiBcInpoXCIsIFwiY2h1cmNoIHNsYXZpY1wiOiBcImN1XCIsIFwib2xkIHNsYXZvbmljXCI6IFwiY3VcIiwgXCJjaHVyY2ggc2xhdm9uaWNcIjogXCJjdVwiLCBcIm9sZCBidWxnYXJpYW5cIjogXCJjdVwiLCBcIm9sZCBjaHVyY2ggc2xhdm9uaWNcIjogXCJjdVwiLCBjaHV2YXNoOiBcImN2XCIsIGNvcm5pc2g6IFwia3dcIiwgY29yc2ljYW46IFwiY29cIiwgY3JlZTogXCJjclwiLCB3ZWxzaDogXCJjeVwiLCBkYW5pc2g6IFwiZGFcIiwgZ2VybWFuOiBcImRlXCIsIGRpdmVoaTogXCJkdlwiLCBkaGl2ZWhpOiBcImR2XCIsIG1hbGRpdmlhbjogXCJkdlwiLCBkdXRjaDogXCJubFwiLCBmbGVtaXNoOiBcIm5sXCIsIGR6b25na2hhOiBcImR6XCIsIGdyZWVrOiBcImVsXCIsIGVuZ2xpc2g6IFwiZW5cIiwgZXNwZXJhbnRvOiBcImVvXCIsIGVzdG9uaWFuOiBcImV0XCIsIGV3ZTogXCJlZVwiLCBmYXJvZXNlOiBcImZvXCIsIHBlcnNpYW46IFwiZmFcIiwgZmlqaWFuOiBcImZqXCIsIGZpbm5pc2g6IFwiZmlcIiwgZnJlbmNoOiBcImZyXCIsIFwid2VzdGVybiBmcmlzaWFuXCI6IFwiZnlcIiwgZnVsYWg6IFwiZmZcIiwgZ2VvcmdpYW46IFwia2FcIiwgZ2FlbGljOiBcImdkXCIsIFwic2NvdHRpc2ggZ2FlbGljXCI6IFwiZ2RcIiwgaXJpc2g6IFwiZ2FcIiwgZ2FsaWNpYW46IFwiZ2xcIiwgbWFueDogXCJndlwiLCBndWFyYW5pOiBcImduXCIsIGd1amFyYXRpOiBcImd1XCIsIGhhaXRpYW46IFwiaHRcIiwgXCJoYWl0aWFuIGNyZW9sZVwiOiBcImh0XCIsIGhhdXNhOiBcImhhXCIsIGhlYnJldzogXCJoZVwiLCBoZXJlcm86IFwiaHpcIiwgaGluZGk6IFwiaGlcIiwgXCJoaXJpIG1vdHVcIjogXCJob1wiLCBjcm9hdGlhbjogXCJoclwiLCBodW5nYXJpYW46IFwiaHVcIiwgaWdibzogXCJpZ1wiLCBpY2VsYW5kaWM6IFwiaXNcIiwgaWRvOiBcImlvXCIsIFwic2ljaHVhbiB5aVwiOiBcImlpXCIsIG51b3N1OiBcImlpXCIsIGludWt0aXR1dDogXCJpdVwiLCBpbnRlcmxpbmd1ZTogXCJpZVwiLCBvY2NpZGVudGFsOiBcImllXCIsIGludGVybGluZ3VhOiBcImlhXCIsIGluZG9uZXNpYW46IFwiaWRcIiwgaW51cGlhcTogXCJpa1wiLCBpdGFsaWFuOiBcIml0XCIsIGphdmFuZXNlOiBcImp2XCIsIGphcGFuZXNlOiBcImphXCIsIGthbGFhbGxpc3V0OiBcImtsXCIsIGdyZWVubGFuZGljOiBcImtsXCIsIGthbm5hZGE6IFwia25cIiwga2FzaG1pcmk6IFwia3NcIiwga2FudXJpOiBcImtyXCIsIGthemFraDogXCJra1wiLCBcImNlbnRyYWwga2htZXJcIjogXCJrbVwiLCBraWt1eXU6IFwia2lcIiwgZ2lrdXl1OiBcImtpXCIsIGtpbnlhcndhbmRhOiBcInJ3XCIsIGtpcmdoaXo6IFwia3lcIiwga3lyZ3l6OiBcImt5XCIsIGtvbWk6IFwia3ZcIiwga29uZ286IFwia2dcIiwga29yZWFuOiBcImtvXCIsIGt1YW55YW1hOiBcImtqXCIsIGt3YW55YW1hOiBcImtqXCIsIGt1cmRpc2g6IFwia3VcIiwgbGFvOiBcImxvXCIsIGxhdGluOiBcImxhXCIsIGxhdHZpYW46IFwibHZcIiwgbGltYnVyZ2FuOiBcImxpXCIsIGxpbWJ1cmdlcjogXCJsaVwiLCBsaW1idXJnaXNoOiBcImxpXCIsIGxpbmdhbGE6IFwibG5cIiwgbGl0aHVhbmlhbjogXCJsdFwiLCBsdXhlbWJvdXJnaXNoOiBcImxiXCIsIGxldHplYnVyZ2VzY2g6IFwibGJcIiwgXCJsdWJhLWthdGFuZ2FcIjogXCJsdVwiLCBnYW5kYTogXCJsZ1wiLCBtYWNlZG9uaWFuOiBcIm1rXCIsIG1hcnNoYWxsZXNlOiBcIm1oXCIsIG1hbGF5YWxhbTogXCJtbFwiLCBtYW9yaTogXCJtaVwiLCBtYXJhdGhpOiBcIm1yXCIsIG1hbGF5OiBcIm1zXCIsIG1hbGFnYXN5OiBcIm1nXCIsIG1hbHRlc2U6IFwibXRcIiwgbW9uZ29saWFuOiBcIm1uXCIsIG5hdXJ1OiBcIm5hXCIsIG5hdmFqbzogXCJudlwiLCBuYXZhaG86IFwibnZcIiwgXCJuZGViZWxlLCBzb3V0aFwiOiBcIm5yXCIsIFwic291dGggbmRlYmVsZVwiOiBcIm5yXCIsIFwibmRlYmVsZSwgbm9ydGhcIjogXCJuZFwiLCBcIm5vcnRoIG5kZWJlbGVcIjogXCJuZFwiLCBuZG9uZ2E6IFwibmdcIiwgbmVwYWxpOiBcIm5lXCIsIFwibm9yd2VnaWFuIG55bm9yc2tcIjogXCJublwiLCBcIm55bm9yc2ssIG5vcndlZ2lhblwiOiBcIm5uXCIsIFwibm9yd2VnaWFuIGJva23DpWxcIjogXCJuYlwiLCBcImJva23DpWwsIG5vcndlZ2lhblwiOiBcIm5iXCIsIG5vcndlZ2lhbjogXCJub1wiLCBjaGljaGV3YTogXCJueVwiLCBjaGV3YTogXCJueVwiLCBueWFuamE6IFwibnlcIiwgb2NjaXRhbjogXCJvY1wiLCBvamlid2E6IFwib2pcIiwgb3JpeWE6IFwib3JcIiwgb3JvbW86IFwib21cIiwgb3NzZXRpYW46IFwib3NcIiwgb3NzZXRpYzogXCJvc1wiLCBwYW5qYWJpOiBcInBhXCIsIHB1bmphYmk6IFwicGFcIiwgcGFsaTogXCJwaVwiLCBwb2xpc2g6IFwicGxcIiwgcG9ydHVndWVzZTogXCJwdFwiLCBwdXNodG86IFwicHNcIiwgcGFzaHRvOiBcInBzXCIsIHF1ZWNodWE6IFwicXVcIiwgcm9tYW5zaDogXCJybVwiLCByb21hbmlhbjogXCJyb1wiLCBtb2xkYXZpYW46IFwicm9cIiwgbW9sZG92YW46IFwicm9cIiwgcnVuZGk6IFwicm5cIiwgcnVzc2lhbjogXCJydVwiLCBzYW5nbzogXCJzZ1wiLCBzYW5za3JpdDogXCJzYVwiLCBzaW5oYWxhOiBcInNpXCIsIHNpbmhhbGVzZTogXCJzaVwiLCBzbG92YWs6IFwic2tcIiwgc2xvdmVuaWFuOiBcInNsXCIsIFwibm9ydGhlcm4gc2FtaVwiOiBcInNlXCIsIHNhbW9hbjogXCJzbVwiLCBzaG9uYTogXCJzblwiLCBzaW5kaGk6IFwic2RcIiwgc29tYWxpOiBcInNvXCIsIFwic290aG8sIHNvdXRoZXJuXCI6IFwic3RcIiwgc3BhbmlzaDogXCJlc1wiLCBjYXN0aWxpYW46IFwiZXNcIiwgc2FyZGluaWFuOiBcInNjXCIsIHNlcmJpYW46IFwic3JcIiwgc3dhdGk6IFwic3NcIiwgc3VuZGFuZXNlOiBcInN1XCIsIHN3YWhpbGk6IFwic3dcIiwgc3dlZGlzaDogXCJzdlwiLCB0YWhpdGlhbjogXCJ0eVwiLCB0YW1pbDogXCJ0YVwiLCB0YXRhcjogXCJ0dFwiLCB0ZWx1Z3U6IFwidGVcIiwgdGFqaWs6IFwidGdcIiwgdGFnYWxvZzogXCJ0bFwiLCB0aGFpOiBcInRoXCIsIHRpZ3JpbnlhOiBcInRpXCIsIHRvbmdhOiBcInRvXCIsIHRzd2FuYTogXCJ0blwiLCB0c29uZ2E6IFwidHNcIiwgdHVya21lbjogXCJ0a1wiLCB0dXJraXNoOiBcInRyXCIsIHR3aTogXCJ0d1wiLCB1aWdodXI6IFwidWdcIiwgdXlnaHVyOiBcInVnXCIsIHVrcmFpbmlhbjogXCJ1a1wiLCB1cmR1OiBcInVyXCIsIHV6YmVrOiBcInV6XCIsIHZlbmRhOiBcInZlXCIsIHZpZXRuYW1lc2U6IFwidmlcIiwgXCJ2b2xhcMO8a1wiOiBcInZvXCIsIHdhbGxvb246IFwid2FcIiwgd29sb2Y6IFwid29cIiwgeGhvc2E6IFwieGhcIiwgeWlkZGlzaDogXCJ5aVwiLCB5b3J1YmE6IFwieW9cIiwgemh1YW5nOiBcInphXCIsIGNodWFuZzogXCJ6YVwiLCB6dWx1OiBcInp1XCIgfTtcbi8vIEB0cy1pZ25vcmVcbmNvbnN0IGlzb0tleXMgPSBPYmplY3QudmFsdWVzKGlzbykuc29ydCgpOyB2YXIgbGFuZ3VhZ2VzID0gZSA9PiB7IGlmIChcInN0cmluZ1wiICE9IHR5cGVvZiBlKSB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBcImxhbmd1YWdlXCIgbXVzdCBiZSBhIHN0cmluZywgcmVjZWl2ZWQgJyArIHR5cGVvZiBlKTsgaWYgKGUubGVuZ3RoID4gMTAwKSB0aHJvdyBuZXcgRXJyb3IoYFRoZSBcImxhbmd1YWdlXCIgaXMgdG9vIGxvbmcgYXQgJHtlLmxlbmd0aH0gY2hhcmFjdGVyc2ApOyBpZiAoZSA9IGUudG9Mb3dlckNhc2UoKSwgZSA9IG5hbWVzW2VdIHx8IGlzb1tlXSB8fCBlLCAhaXNvS2V5cy5pbmNsdWRlcyhlKSkgdGhyb3cgbmV3IEVycm9yKGBUaGUgbGFuZ3VhZ2UgXCIke2V9XCIgaXMgbm90IHBhcnQgb2YgdGhlIElTTyA2MzktMWApOyByZXR1cm4gZSB9OyBmdW5jdGlvbiBDYWNoZSgpIHsgdmFyIGUgPSBPYmplY3QuY3JlYXRlKG51bGwpOyBmdW5jdGlvbiBhKGEpIHsgZGVsZXRlIGVbYV0gfSB0aGlzLnNldCA9IGZ1bmN0aW9uIChuLCBpLCByKSB7IGlmICh2b2lkIDAgIT09IHIgJiYgKFwibnVtYmVyXCIgIT0gdHlwZW9mIHIgfHwgaXNOYU4ocikgfHwgciA8PSAwKSkgdGhyb3cgbmV3IEVycm9yKFwiQ2FjaGUgdGltZW91dCBtdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyXCIpOyB2YXIgdCA9IGVbbl07IHQgJiYgY2xlYXJUaW1lb3V0KHQudGltZW91dCk7IHZhciBvID0geyB2YWx1ZTogaSwgZXhwaXJlOiByICsgRGF0ZS5ub3coKSB9OyByZXR1cm4gaXNOYU4oby5leHBpcmUpIHx8IChvLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgoKSA9PiBhKG4pKSwgcikpLCBlW25dID0gbywgaSB9LCB0aGlzLmRlbCA9IGZ1bmN0aW9uIChuKSB7IHZhciBpID0gITAsIHIgPSBlW25dOyByZXR1cm4gciA/IChjbGVhclRpbWVvdXQoci50aW1lb3V0KSwgIWlzTmFOKHIuZXhwaXJlKSAmJiByLmV4cGlyZSA8IERhdGUubm93KCkgJiYgKGkgPSAhMSkpIDogaSA9ICExLCBpICYmIGEobiksIGkgfSwgdGhpcy5jbGVhciA9IGZ1bmN0aW9uICgpIHsgZm9yICh2YXIgYSBpbiBlKSBjbGVhclRpbWVvdXQoZVthXS50aW1lb3V0KTsgZSA9IE9iamVjdC5jcmVhdGUobnVsbCkgfSwgdGhpcy5nZXQgPSBmdW5jdGlvbiAoYSkgeyB2YXIgbiA9IGVbYV07IGlmICh2b2lkIDAgIT09IG4pIHsgaWYgKGlzTmFOKG4uZXhwaXJlKSB8fCBuLmV4cGlyZSA+PSBEYXRlLm5vdygpKSByZXR1cm4gbi52YWx1ZTsgZGVsZXRlIGVbYV0gfSByZXR1cm4gbnVsbCB9IH0gY29uc3QgZXhwJDEgPSBuZXcgQ2FjaGU7IGV4cCQxLkNhY2hlID0gQ2FjaGU7IGNvbnN0IGJhc2UgPSBcImh0dHBzOi8vdHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tL3RyYW5zbGF0ZV9hL3NpbmdsZVwiOyB2YXIgZ29vZ2xlID0geyBmZXRjaDogKHsga2V5OiBlLCBmcm9tOiBhLCB0bzogbiwgdGV4dDogaSB9KSA9PiBbYCR7YmFzZX0/Y2xpZW50PWd0eCZzbD0ke2F9JnRsPSR7bn0mZHQ9dCZxPSR7ZW5jb2RlVVJJKGkpfWBdLCBwYXJzZTogZSA9PiBlLmpzb24oKS50aGVuKChlID0+IHsgaWYgKCEoZSA9IGUgJiYgZVswXSAmJiBlWzBdWzBdICYmIGVbMF0ubWFwKChlID0+IGVbMF0pKS5qb2luKFwiXCIpKSkgdGhyb3cgbmV3IEVycm9yKFwiVHJhbnNsYXRpb24gbm90IGZvdW5kXCIpOyByZXR1cm4gZSB9KSkgfSwgeWFuZGV4ID0geyBuZWVka2V5OiAhMCwgZmV0Y2g6ICh7IGtleTogZSwgZnJvbTogYSwgdG86IG4sIHRleHQ6IGkgfSkgPT4gW2BodHRwczovL3RyYW5zbGF0ZS55YW5kZXgubmV0L2FwaS92MS41L3RyLmpzb24vdHJhbnNsYXRlP2tleT0ke2V9Jmxhbmc9JHthfS0ke259JnRleHQ9JHtlbmNvZGVVUklDb21wb25lbnQoaSl9YCwgeyBtZXRob2Q6IFwiUE9TVFwiLCBib2R5OiBcIlwiIH1dLCBwYXJzZTogZSA9PiBlLmpzb24oKS50aGVuKChlID0+IHsgaWYgKDIwMCAhPT0gZS5jb2RlKSB0aHJvdyBuZXcgRXJyb3IoZS5tZXNzYWdlKTsgcmV0dXJuIGUudGV4dFswXSB9KSkgfTsgY29uc3QgbGlicmVVcmwgPSBcImh0dHBzOi8vbGlicmV0cmFuc2xhdGUuY29tL3RyYW5zbGF0ZVwiOyB2YXIgbGlicmUgPSB7IG5lZWRrZXk6ICExLCBmZXRjaDogKHsgdXJsOiBlID0gbGlicmVVcmwsIGtleTogYSwgZnJvbTogbiwgdG86IGksIHRleHQ6IHIgfSkgPT4gW2UsIHsgbWV0aG9kOiBcIlBPU1RcIiwgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBxOiByLCBzb3VyY2U6IG4sIHRhcmdldDogaSwgYXBpX2tleTogYSB9KSwgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9IH1dLCBwYXJzZTogZSA9PiBlLmpzb24oKS50aGVuKChlID0+IHsgaWYgKCFlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyByZXNwb25zZSBmb3VuZFwiKTsgaWYgKGUuZXJyb3IpIHRocm93IG5ldyBFcnJvcihlLmVycm9yKTsgaWYgKCFlLnRyYW5zbGF0ZWRUZXh0KSB0aHJvdyBuZXcgRXJyb3IoXCJObyByZXNwb25zZSBmb3VuZFwiKTsgcmV0dXJuIGUudHJhbnNsYXRlZFRleHQgfSkpIH0sIGRlZXBsID0geyBuZWVka2V5OiAhMCwgZmV0Y2g6ICh7IGtleTogZSwgZnJvbTogYSwgdG86IG4sIHRleHQ6IGkgfSkgPT4gW2BodHRwczovL2FwaSR7LzpmeCQvLnRlc3QoZSkgPyBcIi1mcmVlXCIgOiBcIlwifS5kZWVwbC5jb20vdjIvdHJhbnNsYXRlP2F1dGhfa2V5PSR7ZX0mc291cmNlX2xhbmc9JHthfSZ0YXJnZXRfbGFuZz0ke259JnRleHQ9JHtpID0gZW5jb2RlVVJJQ29tcG9uZW50KGkpfWAsIHsgbWV0aG9kOiBcIlBPU1RcIiwgYm9keTogXCJcIiB9XSwgcGFyc2U6IGFzeW5jIGUgPT4geyBpZiAoIWUub2spIHsgaWYgKDQwMyA9PT0gZS5zdGF0dXMpIHRocm93IG5ldyBFcnJvcihcIkF1dGggRXJyb3IsIHBsZWFzZSByZXZpZXcgdGhlIGtleSBmb3IgRGVlcExcIik7IHRocm93IG5ldyBFcnJvcihgRXJyb3IgJHtlLnN0YXR1c31gKSB9IHJldHVybiBlLmpzb24oKS50aGVuKChlID0+IGUudHJhbnNsYXRpb25zWzBdLnRleHQpKSB9IH0sIGVuZ2luZXMgPSB7IGdvb2dsZTogZ29vZ2xlLCB5YW5kZXg6IHlhbmRleCwgbGlicmU6IGxpYnJlLCBkZWVwbDogZGVlcGwgfTsgY29uc3QgVHJhbnNsYXRlID0gZnVuY3Rpb24gKGUgPSB7fSkgeyBpZiAoISh0aGlzIGluc3RhbmNlb2YgVHJhbnNsYXRlKSkgcmV0dXJuIG5ldyBUcmFuc2xhdGUoZSk7IGNvbnN0IGEgPSB7IGZyb206IFwiZW5cIiwgdG86IFwiZW5cIiwgY2FjaGU6IHZvaWQgMCwgbGFuZ3VhZ2VzOiBsYW5ndWFnZXMsIGVuZ2luZXM6IGVuZ2luZXMsIGVuZ2luZTogXCJnb29nbGVcIiwga2V5czoge30gfSwgbiA9IGFzeW5jIChlLCBhID0ge30pID0+IHsgXCJzdHJpbmdcIiA9PSB0eXBlb2YgYSAmJiAoYSA9IHsgdG86IGEgfSksIGEudGV4dCA9IGUsIGEuZnJvbSA9IGxhbmd1YWdlcyhhLmZyb20gfHwgbi5mcm9tKSwgYS50byA9IGxhbmd1YWdlcyhhLnRvIHx8IG4udG8pLCBhLmNhY2hlID0gYS5jYWNoZSB8fCBuLmNhY2hlLCBhLmVuZ2luZXMgPSBhLmVuZ2luZXMgfHwge30sIGEuZW5naW5lID0gYS5lbmdpbmUgfHwgbi5lbmdpbmUsIGEudXJsID0gYS51cmwgfHwgbi51cmwsIGEuaWQgPSBhLmlkIHx8IGAke2EudXJsfToke2EuZnJvbX06JHthLnRvfToke2EuZW5naW5lfToke2EudGV4dH1gLCBhLmtleXMgPSBhLmtleXMgfHwgbi5rZXlzIHx8IHt9OyBmb3IgKGxldCBlIGluIG4ua2V5cykgYS5rZXlzW2VdID0gYS5rZXlzW2VdIHx8IG4ua2V5c1tlXTsgYS5rZXkgPSBhLmtleSB8fCBuLmtleSB8fCBhLmtleXNbYS5lbmdpbmVdOyBjb25zdCBpID0gYS5lbmdpbmVzW2EuZW5naW5lXSB8fCBuLmVuZ2luZXNbYS5lbmdpbmVdLCByID0gZXhwJDEuZ2V0KGEuaWQpOyBpZiAocikgcmV0dXJuIFByb21pc2UucmVzb2x2ZShyKTsgaWYgKGEudG8gPT09IGEuZnJvbSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZShhLnRleHQpOyBpZiAoaS5uZWVka2V5ICYmICFhLmtleSkgdGhyb3cgbmV3IEVycm9yKGBUaGUgZW5naW5lIFwiJHthLmVuZ2luZX1cIiBuZWVkcyBhIGtleSwgcGxlYXNlIHByb3ZpZGUgaXRgKTsgY29uc3QgdCA9IGkuZmV0Y2goYSk7IHJldHVybiBmZXRjaCguLi50KS50aGVuKGkucGFyc2UpLnRoZW4oKGUgPT4gZXhwJDEuc2V0KGEuaWQsIGUsIGEuY2FjaGUpKSkgfTsgZm9yIChsZXQgaSBpbiBhKSBuW2ldID0gdm9pZCAwID09PSBlW2ldID8gYVtpXSA6IGVbaV07IHJldHVybiBuIH0sIGV4cCA9IG5ldyBUcmFuc2xhdGU7XG5leHAuVHJhbnNsYXRlID0gVHJhbnNsYXRlO1xuZXhwb3J0IGNvbnN0IHRyYW5zbGF0ZSAgPSBleHA7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS90cmFuc2xhdGUudHMiXX0=
@@ -211,7 +211,10 @@ export class HelpersFiredev extends CoreHelpers {
211
211
  /* */
212
212
  async mesureExectionInMs(description, functionToExecute, ...functionArguments) {
213
213
  var start = new Date();
214
- await Helpers.runSyncOrAsync(functionToExecute, ...functionArguments);
214
+ await Helpers.runSyncOrAsync({
215
+ functionFn: functionToExecute,
216
+ arrayOfParams: functionArguments
217
+ });
215
218
  //@ts-ignore
216
219
  var end = new Date() - start;
217
220
  if (Helpers.isBrowser) {
@@ -235,7 +238,7 @@ export class HelpersFiredev extends CoreHelpers {
235
238
  }
236
239
  waitForCondition(conditionFn, howOfftenCheckInMs = 1000) {
237
240
  return new Promise(async (resolve, reject) => {
238
- const result = await Helpers.runSyncOrAsync(conditionFn);
241
+ const result = await Helpers.runSyncOrAsync({ functionFn: conditionFn });
239
242
  if (result) {
240
243
  resolve(void 0);
241
244
  }
@@ -289,4 +292,4 @@ applyMixins(HelpersFiredev, [
289
292
  ]);
290
293
  ;
291
294
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers.ts
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUF1Qm5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHOUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBZ0IsRUFBRSxTQUFnQjtJQUM1RCxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFB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QUM7UUFFSCxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUU7WUFDdkIsT0FBTyxVQUFVLENBQUM7U0FDbkI7UUFFRCxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksS0FBSyxFQUFFO1lBQ1QsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM3QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFXO1FBQ3ZCLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sS0FBSyxHQUFXLENBQVEsQ0FBQztZQUMvQixJQUFJLEtBQUssS0FBSyxNQUFNO2dCQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDcEMsSUFBSSxLQUFLLEtBQUssT0FBTztnQkFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQXVGRjtBQVlELFdBQVcsQ0FBQyxjQUFjLEVBQUU7SUFDMUIscUJBQXFCO0lBQ3ZCLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztDQUVKLENBQUMsQ0FBQztBQUVGLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsdURBQXVEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVyc0FycmF5T2JqIH0gZnJvbSAnLi9oZWxwZXJzLWFycmF5LW9iaic7XG5pbXBvcnQgeyBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncy1yZWdleGVzJztcbmltcG9ydCB7IEhlbHBlcnNTdHJpbmdzIH0gZnJvbSAnLi9oZWxwZXJzLXN0cmluZ3MnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgY29uZmlnLCBDb25maWdNb2RlbHMgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzLCBWYWxpZGF0b3JzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy93ZWJzcWwnO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVyc051bWJlciB9IGZyb20gJy4vaGVscGVycy1udW1iZXJzJztcblxuaW1wb3J0IHsgSGVscGVyc0Jyb3dzZXIgfSBmcm9tICcuL2Zvci1icm93c2VyL2hlbHBlcnMtYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzQW5ndWxhciB9IGZyb20gJy4vZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXInO1xuXG5cbi8qKlxuICogTWl4aW5nIGZvciBtdWx0aWNsYXNzIGluaGVyaXRhbmNlXG4gKlxuICogSG93IHRvIHVzZSBJdDpcbiAqXG4gKiBjbGFzcyBXb2x2ZXJpbmUge31cbiAqIGNsYXNzIEplYW4ge31cbiAqIGV4cG9ydCBjbGFzcyBDaGlsZCB7fVxuICogZXhwb3J0IGludGVyZmFjZSBNeUNoaWxkIGltcGxlbWVudHMgV29sdmVyaW5lLCBKZWFuIHt9XG4gKiBhcHBseU1peGluZyhDaGlsZCxbV29sdmVyaW5lLCBKZWFuXSk7XG4gKlxuICogQHBhcmFtIGRlcml2ZWRDdG9yIFRhcmdldCBDbGFzc1xuICogQHBhcmFtIGJhc2VDdG9ycyBCYXNlIENsYXNzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5TWl4aW5zKGRlcml2ZWRDdG9yOiBhbnksIGJhc2VDdG9yczogYW55W10pIHtcbiAgYmFzZUN0b3JzLmZvckVhY2goYmFzZUN0b3IgPT4ge1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGJhc2VDdG9yLnByb3RvdHlwZSkuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXJpdmVkQ3Rvci5wcm90b3R5cGUsIG5hbWUsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmFzZUN0b3IucHJvdG90eXBlLCBuYW1lKSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY2xhc3MgSGVscGVyc0ZpcmVkZXYgZXh0ZW5kcyBDb3JlSGVscGVycyB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBIZWxwZXJzRmlyZWRldiAmIENvcmVIZWxwZXJzO1xuICBwdWJsaWMgc3RhdGljIGdldCBJbnN0YW5jZSgpIHtcbiAgICBpZiAoIUhlbHBlcnNGaXJlZGV2Ll9pbnN0YW5jZSkge1xuICAgICAgSGVscGVyc0ZpcmVkZXYuX2luc3RhbmNlID0gbmV3IEhlbHBlcnNGaXJlZGV2KCk7XG4gICAgfVxuICAgIHJldHVybiBIZWxwZXJzRmlyZWRldi5faW5zdGFuY2U7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcHVibGljIGFycmF5cyA9IG5ldyBIZWxwZXJzQXJyYXlPYmooKSxcbiAgICBwdWJsaWMgc3RyaW5ncyA9IG5ldyBIZWxwZXJzU3RyaW5ncygpLFxuICAgIHB1YmxpYyBudW1iZXJzID0gbmV3IEhlbHBlcnNOdW1iZXIoKSxcblxuICAgIHB1YmxpYyBicm93c2VyID0gSGVscGVyc0Jyb3dzZXIuaW5zdGFuY2UsXG4gICAgcHVibGljIG5nID0gSGVscGVyc0FuZ3VsYXJcblxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgQ0xJV1JBUChmOiBGdW5jdGlvbiwgbmFtZTogc3RyaW5nKSB7XG4gICAgQ0xBU1Muc2V0TmFtZShmLCBuYW1lKTtcbiAgICByZXR1cm4gZjtcbiAgfVxuXG5cblxuXG5cblxuXG5cblxuICB1cmxQYXJzZShwb3J0T3JIb3N0OiAobnVtYmVyIHwgc3RyaW5nIHwgVVJMKSwgZm9yY2VEb21haW4gPSBmYWxzZSkge1xuICAgIGxldCB1cmw6IFVSTDtcbiAgICBpZiAocG9ydE9ySG9zdCBpbnN0YW5jZW9mIFVSTCkge1xuICAgICAgdXJsID0gcG9ydE9ySG9zdDtcbiAgICB9IGVsc2UgaWYgKF8uaXNOdW1iZXIocG9ydE9ySG9zdCkpIHtcbiAgICAgIHVybCA9IG5ldyBVUkwoYGh0dHA6Ly9sb2NhbGhvc3Q6JHtwb3J0T3JIb3N0fWApO1xuICAgIH0gZWxzZSBpZiAoIV8uaXNOYU4oTnVtYmVyKHBvcnRPckhvc3QpKSkge1xuICAgICAgdXJsID0gbmV3IFVSTChgaHR0cDovL2xvY2FsaG9zdDoke051bWJlcihwb3J0T3JIb3N0KX1gKTtcbiAgICB9IGVsc2UgaWYgKF8uaXNTdHJpbmcocG9ydE9ySG9zdCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwocG9ydE9ySG9zdCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikgeyB9XG4gICAgICBpZiAoVmFsaWRhdG9ycy5uZXR3b3JrLmlzVmFsaWRJcChwb3J0T3JIb3N0KSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHVybCA9IG5ldyBVUkwoYGh0dHA6Ly8ke3BvcnRPckhvc3R9YCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgSGVscGVycy53YXJuKGBOb3QgYWJsZSB0byBnZXQgcG9ydCBmcm9tICR7cG9ydE9ySG9zdH1gKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZm9yY2VEb21haW4pIHtcbiAgICAgICAgY29uc3QgZG9tYWluID0gKHBvcnRPckhvc3QgYXMgc3RyaW5nKVxuICAgICAgICB1cmwgPSBuZXcgVVJMKGRvbWFpbi5zdGFydHNXaXRoKCdodHRwJykgPyBkb21haW4gOiBgaHR0cDovLyR7cG9ydE9ySG9zdH1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gIGFzeW5jIGlzRWxldmF0ZWQoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuICBhc3luYyBtZXN1cmVFeGVjdGlvbkluTXMoXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBmdW5jdGlvblRvRXhlY3V0ZTogRnVuY3Rpb24sXG4gICAgLi4uZnVuY3Rpb25Bcmd1bWVudHM6IGFueVtdKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpXG4gICAgYXdhaXQgSGVscGVycy5ydW5TeW5jT3JBc3luYyhmdW5jdGlvblRvRXhlY3V0ZSwgLi4uZnVuY3Rpb25Bcmd1bWVudHMpO1xuICAgIC8vQHRzLWlnbm9yZVxuICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpIC0gc3RhcnRcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIEhlbHBlcnMuaW5mbyhgRXhlY3V0aW9uIHRpbWU6ICR7ZW5kLnRvU3RyaW5nKCl9bXMgZm9yIFwiJHtkZXNjcmlwdGlvbn1cImApO1xuICAgIH1cbi8qICovXG4vKiAqL1xuICBcbiAgICByZXR1cm4gZW5kO1xuICB9XG5cbiAgbWVzdXJlRXhlY3Rpb25Jbk1zU3luYyhcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIGZ1bmN0aW9uVG9FeGVjdXRlOiAoKSA9PiB2b2lkKTogbnVtYmVyIHtcbiAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGUoKTtcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB2YXIgZW5kID0gbmV3IERhdGUoKSAtIHN0YXJ0XG4gICAgaWYgKEhlbHBlcnMuaXNCcm93c2VyKSB7XG4gICAgICBIZWxwZXJzLmxvZyhgRXhlY3V0aW9uIHRpbWU6ICR7ZW5kLnRvU3RyaW5nKCl9bXMgZm9yIFwiJHtkZXNjcmlwdGlvbn1cImApO1xuICAgIH1cbi8qICovXG4vKiAqL1xuICBcbiAgICByZXR1cm4gZW5kO1xuICB9XG5cbiAgd2FpdEZvckNvbmRpdGlvbihjb25kaXRpb25GbjogKGFueSkgPT4gYm9vbGVhbiwgaG93T2ZmdGVuQ2hlY2tJbk1zID0gMTAwMCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IEhlbHBlcnMucnVuU3luY09yQXN5bmMoY29uZGl0aW9uRm4pO1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICByZXNvbHZlKHZvaWQgMClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIEhlbHBlcnMud2FpdEZvckNvbmRpdGlvbihjb25kaXRpb25GbiwgaG93T2ZmdGVuQ2hlY2tJbk1zKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHJlc29sdmUodm9pZCAwKTtcbiAgICAgICAgICB9KVxuICAgICAgICB9LCBob3dPZmZ0ZW5DaGVja0luTXMpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXRCcm93c2VyVmVyUGF0aChtb2R1bGVOYW1lPzogc3RyaW5nLCB3ZWJzcWw6IGJvb2xlYW4gPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICB9XG5cbiAgZ2V0TWV0aG9kTmFtZShvYmosIG1ldGhvZCk6IHN0cmluZyB7XG4gICAgdmFyIG1ldGhvZE5hbWUgPSBudWxsO1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaikuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgIGlmIChvYmpbcHJvcF0gPT09IG1ldGhvZCkge1xuICAgICAgICBtZXRob2ROYW1lID0gcHJvcDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChtZXRob2ROYW1lICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gbWV0aG9kTmFtZTtcbiAgICB9XG5cbiAgICB2YXIgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKTtcbiAgICBpZiAocHJvdG8pIHtcbiAgICAgIHJldHVybiBIZWxwZXJzLmdldE1ldGhvZE5hbWUocHJvdG8sIG1ldGhvZCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZml4V2VicGFja0VudihlbnY6IE9iamVjdCkge1xuICAgIF8uZm9ySW4oZW52LCAodiwgaykgPT4ge1xuICAgICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IHYgYXMgYW55O1xuICAgICAgaWYgKHZhbHVlID09PSAndHJ1ZScpIGVudltrXSA9IHRydWU7XG4gICAgICBpZiAodmFsdWUgPT09ICdmYWxzZScpIGVudltrXSA9IGZhbHNlO1xuICAgIH0pXG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuICBcbiAgcHVibGljIGFwcGx5TWl4aW5zID0gYXBwbHlNaXhpbnM7XG5cbiAgaXNWYWxpZElwID0gVmFsaWRhdG9ycy5uZXR3b3JrLmlzVmFsaWRJcDtcbiAgaXNWYWxpZEdpdFJlcHVVcmwgPSBWYWxpZGF0b3JzLmdpdC5pc1ZhbGlkUmVwb1VybDtcbn1cblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGludGVyZmFjZSBIZWxwZXJzRmlyZWRldiBleHRlbmRzXG4gIEhlbHBlcnNTdHJpbmdzUmVnZXhlc1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG57IH1cblxuYXBwbHlNaXhpbnMoSGVscGVyc0ZpcmVkZXYsIFtcbiAgSGVscGVyc1N0cmluZ3NSZWdleGVzLFxuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbl0pO1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMudHMiXX0=
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUF1Qm5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHOUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBZ0IsRUFBRSxTQUFnQjtJQUM1RCxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzVELE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFB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Q3hCLFVBQVUsR0FBRyxJQUFJLENBQUM7YUFDbkI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksVUFBVSxLQUFLLElBQUksRUFBRTtZQUN2QixPQUFPLFVBQVUsQ0FBQztTQUNuQjtRQUVELElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQVc7UUFDdkIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQVcsQ0FBUSxDQUFDO1lBQy9CLElBQUksS0FBSyxLQUFLLE1BQU07Z0JBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNwQyxJQUFJLEtBQUssS0FBSyxPQUFPO2dCQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0NBdUZGO0FBWUQsV0FBVyxDQUFDLGNBQWMsRUFBRTtJQUMxQixxQkFBcUI7SUFDdkIsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0NBRUosQ0FBQyxDQUFDO0FBRUYsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1REFBdUQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzQXJyYXlPYmogfSBmcm9tICcuL2hlbHBlcnMtYXJyYXktb2JqJztcbmltcG9ydCB7IEhlbHBlcnNTdHJpbmdzUmVnZXhlcyB9IGZyb20gJy4vaGVscGVycy1zdHJpbmdzLXJlZ2V4ZXMnO1xuaW1wb3J0IHsgSGVscGVyc1N0cmluZ3MgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncyc7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzLCBWYWxpZGF0b3JzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy93ZWJzcWwnO1xuaW1wb3J0IHsgQ29yZUhlbHBlcnMsIENvcmVNb2RlbHMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVyc051bWJlciB9IGZyb20gJy4vaGVscGVycy1udW1iZXJzJztcblxuaW1wb3J0IHsgSGVscGVyc0Jyb3dzZXIgfSBmcm9tICcuL2Zvci1icm93c2VyL2hlbHBlcnMtYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzQW5ndWxhciB9IGZyb20gJy4vZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXInO1xuXG5cbi8qKlxuICogTWl4aW5nIGZvciBtdWx0aWNsYXNzIGluaGVyaXRhbmNlXG4gKlxuICogSG93IHRvIHVzZSBJdDpcbiAqXG4gKiBjbGFzcyBXb2x2ZXJpbmUge31cbiAqIGNsYXNzIEplYW4ge31cbiAqIGV4cG9ydCBjbGFzcyBDaGlsZCB7fVxuICogZXhwb3J0IGludGVyZmFjZSBNeUNoaWxkIGltcGxlbWVudHMgV29sdmVyaW5lLCBKZWFuIHt9XG4gKiBhcHBseU1peGluZyhDaGlsZCxbV29sdmVyaW5lLCBKZWFuXSk7XG4gKlxuICogQHBhcmFtIGRlcml2ZWRDdG9yIFRhcmdldCBDbGFzc1xuICogQHBhcmFtIGJhc2VDdG9ycyBCYXNlIENsYXNzZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5TWl4aW5zKGRlcml2ZWRDdG9yOiBhbnksIGJhc2VDdG9yczogYW55W10pIHtcbiAgYmFzZUN0b3JzLmZvckVhY2goYmFzZUN0b3IgPT4ge1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGJhc2VDdG9yLnByb3RvdHlwZSkuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXJpdmVkQ3Rvci5wcm90b3R5cGUsIG5hbWUsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmFzZUN0b3IucHJvdG90eXBlLCBuYW1lKSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY2xhc3MgSGVscGVyc0ZpcmVkZXYgZXh0ZW5kcyBDb3JlSGVscGVycyB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBIZWxwZXJzRmlyZWRldiAmIENvcmVIZWxwZXJzO1xuICBwdWJsaWMgc3RhdGljIGdldCBJbnN0YW5jZSgpIHtcbiAgICBpZiAoIUhlbHBlcnNGaXJlZGV2Ll9pbnN0YW5jZSkge1xuICAgICAgSGVscGVyc0ZpcmVkZXYuX2luc3RhbmNlID0gbmV3IEhlbHBlcnNGaXJlZGV2KCk7XG4gICAgfVxuICAgIHJldHVybiBIZWxwZXJzRmlyZWRldi5faW5zdGFuY2U7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcHVibGljIGFycmF5cyA9IG5ldyBIZWxwZXJzQXJyYXlPYmooKSxcbiAgICBwdWJsaWMgc3RyaW5ncyA9IG5ldyBIZWxwZXJzU3RyaW5ncygpLFxuICAgIHB1YmxpYyBudW1iZXJzID0gbmV3IEhlbHBlcnNOdW1iZXIoKSxcblxuICAgIHB1YmxpYyBicm93c2VyID0gSGVscGVyc0Jyb3dzZXIuaW5zdGFuY2UsXG4gICAgcHVibGljIG5nID0gSGVscGVyc0FuZ3VsYXJcblxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgQ0xJV1JBUChmOiBGdW5jdGlvbiwgbmFtZTogc3RyaW5nKSB7XG4gICAgQ0xBU1Muc2V0TmFtZShmLCBuYW1lKTtcbiAgICByZXR1cm4gZjtcbiAgfVxuXG5cblxuXG5cblxuXG5cblxuICB1cmxQYXJzZShwb3J0T3JIb3N0OiAobnVtYmVyIHwgc3RyaW5nIHwgVVJMKSwgZm9yY2VEb21haW4gPSBmYWxzZSkge1xuICAgIGxldCB1cmw6IFVSTDtcbiAgICBpZiAocG9ydE9ySG9zdCBpbnN0YW5jZW9mIFVSTCkge1xuICAgICAgdXJsID0gcG9ydE9ySG9zdDtcbiAgICB9IGVsc2UgaWYgKF8uaXNOdW1iZXIocG9ydE9ySG9zdCkpIHtcbiAgICAgIHVybCA9IG5ldyBVUkwoYGh0dHA6Ly9sb2NhbGhvc3Q6JHtwb3J0T3JIb3N0fWApO1xuICAgIH0gZWxzZSBpZiAoIV8uaXNOYU4oTnVtYmVyKHBvcnRPckhvc3QpKSkge1xuICAgICAgdXJsID0gbmV3IFVSTChgaHR0cDovL2xvY2FsaG9zdDoke051bWJlcihwb3J0T3JIb3N0KX1gKTtcbiAgICB9IGVsc2UgaWYgKF8uaXNTdHJpbmcocG9ydE9ySG9zdCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHVybCA9IG5ldyBVUkwocG9ydE9ySG9zdCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikgeyB9XG4gICAgICBpZiAoVmFsaWRhdG9ycy5uZXR3b3JrLmlzVmFsaWRJcChwb3J0T3JIb3N0KSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHVybCA9IG5ldyBVUkwoYGh0dHA6Ly8ke3BvcnRPckhvc3R9YCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgSGVscGVycy53YXJuKGBOb3QgYWJsZSB0byBnZXQgcG9ydCBmcm9tICR7cG9ydE9ySG9zdH1gKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZm9yY2VEb21haW4pIHtcbiAgICAgICAgY29uc3QgZG9tYWluID0gKHBvcnRPckhvc3QgYXMgc3RyaW5nKVxuICAgICAgICB1cmwgPSBuZXcgVVJMKGRvbWFpbi5zdGFydHNXaXRoKCdodHRwJykgPyBkb21haW4gOiBgaHR0cDovLyR7cG9ydE9ySG9zdH1gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gIGFzeW5jIGlzRWxldmF0ZWQoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuICBhc3luYyBtZXN1cmVFeGVjdGlvbkluTXMoXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBmdW5jdGlvblRvRXhlY3V0ZTogRnVuY3Rpb24sXG4gICAgLi4uZnVuY3Rpb25Bcmd1bWVudHM6IGFueVtdKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpXG4gICAgYXdhaXQgSGVscGVycy5ydW5TeW5jT3JBc3luYyh7XG4gICAgICBmdW5jdGlvbkZuOiBmdW5jdGlvblRvRXhlY3V0ZSxcbiAgICAgIGFycmF5T2ZQYXJhbXM6IGZ1bmN0aW9uQXJndW1lbnRzXG4gICAgfSk7XG4gICAgLy9AdHMtaWdub3JlXG4gICAgdmFyIGVuZCA9IG5ldyBEYXRlKCkgLSBzdGFydFxuICAgIGlmIChIZWxwZXJzLmlzQnJvd3Nlcikge1xuICAgICAgSGVscGVycy5pbmZvKGBFeGVjdXRpb24gdGltZTogJHtlbmQudG9TdHJpbmcoKX1tcyBmb3IgXCIke2Rlc2NyaXB0aW9ufVwiYCk7XG4gICAgfVxuLyogKi9cbi8qICovXG4gIFxuICAgIHJldHVybiBlbmQ7XG4gIH1cblxuICBtZXN1cmVFeGVjdGlvbkluTXNTeW5jKFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGU6ICgpID0+IHZvaWQpOiBudW1iZXIge1xuICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKClcbiAgICBmdW5jdGlvblRvRXhlY3V0ZSgpO1xuICAgIC8vQHRzLWlnbm9yZVxuICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpIC0gc3RhcnRcbiAgICBpZiAoSGVscGVycy5pc0Jyb3dzZXIpIHtcbiAgICAgIEhlbHBlcnMubG9nKGBFeGVjdXRpb24gdGltZTogJHtlbmQudG9TdHJpbmcoKX1tcyBmb3IgXCIke2Rlc2NyaXB0aW9ufVwiYCk7XG4gICAgfVxuLyogKi9cbi8qICovXG4gIFxuICAgIHJldHVybiBlbmQ7XG4gIH1cblxuXG5cbiAgd2FpdEZvckNvbmRpdGlvbihjb25kaXRpb25GbjogKGFueSkgPT4gYm9vbGVhbiwgaG93T2ZmdGVuQ2hlY2tJbk1zID0gMTAwMCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IEhlbHBlcnMucnVuU3luY09yQXN5bmMoeyBmdW5jdGlvbkZuOiBjb25kaXRpb25GbiB9KTtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmVzb2x2ZSh2b2lkIDApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBIZWxwZXJzLndhaXRGb3JDb25kaXRpb24oY29uZGl0aW9uRm4sIGhvd09mZnRlbkNoZWNrSW5NcykudGhlbigoKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHZvaWQgMCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgfSwgaG93T2ZmdGVuQ2hlY2tJbk1zKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0QnJvd3NlclZlclBhdGgobW9kdWxlTmFtZT86IHN0cmluZywgd2Vic3FsOiBib29sZWFuID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIGdldE1ldGhvZE5hbWUob2JqLCBtZXRob2QpOiBzdHJpbmcge1xuICAgIHZhciBtZXRob2ROYW1lID0gbnVsbDtcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICBpZiAob2JqW3Byb3BdID09PSBtZXRob2QpIHtcbiAgICAgICAgbWV0aG9kTmFtZSA9IHByb3A7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAobWV0aG9kTmFtZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1ldGhvZE5hbWU7XG4gICAgfVxuXG4gICAgdmFyIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7XG4gICAgaWYgKHByb3RvKSB7XG4gICAgICByZXR1cm4gSGVscGVycy5nZXRNZXRob2ROYW1lKHByb3RvLCBtZXRob2QpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZpeFdlYnBhY2tFbnYoZW52OiBPYmplY3QpIHtcbiAgICBfLmZvckluKGVudiwgKHYsIGspID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB2IGFzIGFueTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gJ3RydWUnKSBlbnZba10gPSB0cnVlO1xuICAgICAgaWYgKHZhbHVlID09PSAnZmFsc2UnKSBlbnZba10gPSBmYWxzZTtcbiAgICB9KVxuICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbiAgXG4gIHB1YmxpYyBhcHBseU1peGlucyA9IGFwcGx5TWl4aW5zO1xuXG4gIGlzVmFsaWRJcCA9IFZhbGlkYXRvcnMubmV0d29yay5pc1ZhbGlkSXA7XG4gIGlzVmFsaWRHaXRSZXB1VXJsID0gVmFsaWRhdG9ycy5naXQuaXNWYWxpZFJlcG9Vcmw7XG59XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBpbnRlcmZhY2UgSGVscGVyc0ZpcmVkZXYgZXh0ZW5kc1xuICBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXNcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxueyB9XG5cbmFwcGx5TWl4aW5zKEhlbHBlcnNGaXJlZGV2LCBbXG4gIEhlbHBlcnNTdHJpbmdzUmVnZXhlcyxcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5dKTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9oZWxwZXJzLnRzIl19
@@ -5,9 +5,8 @@ import { HelpersFiredev as Base } from './helpers';
5
5
  * Firedev helpers
6
6
  */
7
7
  export const Helpers = Base.Instance;
8
- export * from './base-project';
9
- export * from './base-project-resolver';
10
8
  export * from './models';
9
+ export * from './base';
11
10
  ;
12
11
  ({}); // @--end-of-file-for-module=tnp-helpers lib/index.ts
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsY0FBYyxJQUFJLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLFVBQVUsQ0FBQztBQUd4QixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFEQUFxRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL3ZhbGlkYXRvcnMvdmFsaWRhdG9ycyc7XG5cbmV4cG9ydCB7IEhlbHBlcnNBbmd1bGFyIH0gZnJvbSAnLi9mb3ItYnJvd3Nlci9hbmd1bGFyLmhlbHBlcic7XG5cblxuaW1wb3J0IHsgSGVscGVyc0ZpcmVkZXYgYXMgQmFzZSB9IGZyb20gJy4vaGVscGVycyc7XG5cbi8qKlxuICogRmlyZWRldiBoZWxwZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBIZWxwZXJzID0gQmFzZS5JbnN0YW5jZTtcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1wcm9qZWN0LXJlc29sdmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2luZGV4LnRzIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsY0FBYyxJQUFJLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQ3JDLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsUUFBUSxDQUFDO0FBRXRCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcblxuZXhwb3J0IHsgSGVscGVyc0FuZ3VsYXIgfSBmcm9tICcuL2Zvci1icm93c2VyL2FuZ3VsYXIuaGVscGVyJztcblxuXG5pbXBvcnQgeyBIZWxwZXJzRmlyZWRldiBhcyBCYXNlIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuLyoqXG4gKiBGaXJlZGV2IGhlbHBlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEhlbHBlcnMgPSBCYXNlLkluc3RhbmNlO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlJztcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9pbmRleC50cyJdfQ==
@@ -1,4 +1,4 @@
1
1
  ;
2
2
  ({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts
3
3
  export {};
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlDLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0RBQXNEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tIFwiLi9iYXNlLXByb2plY3RcIjtcblxuZXhwb3J0IHR5cGUgRW1wdHlQcm9qZWN0U3RydWN0dXJlID0ge1xuICBpbmNsdWRlQ29udGVudD86IGJvb2xlYW47XG4gIHJlbGF0aXZlUGF0aDogc3RyaW5nO1xuICByZWxhdGl2ZUxpbmtGcm9tPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUHJvamVjdEJ1aWxkID0geyBwcm9qZWN0OiBCYXNlUHJvamVjdDsgYXBwQnVpbGQ6IGJvb2xlYW47IH07XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvbW9kZWxzLnRzIl19
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlDLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0RBQXNEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB0eXBlIHsgQmFzZVByb2plY3QgfSBmcm9tIFwiLi9iYXNlL2Jhc2UtcHJvamVjdFwiO1xuXG5leHBvcnQgdHlwZSBFbXB0eVByb2plY3RTdHJ1Y3R1cmUgPSB7XG4gIGluY2x1ZGVDb250ZW50PzogYm9vbGVhbjtcbiAgcmVsYXRpdmVQYXRoOiBzdHJpbmc7XG4gIHJlbGF0aXZlTGlua0Zyb20/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBQcm9qZWN0QnVpbGQgPSB7IHByb2plY3Q6IEJhc2VQcm9qZWN0OyBhcHBCdWlsZDogYm9vbGVhbjsgfTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9tb2RlbHMudHMiXX0=