tnp-helpers 16.0.5 → 16.0.6

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 (174) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2020/lib/base-component.mjs +50 -0
  4. package/browser/esm2020/lib/base-formly-component.mjs +113 -0
  5. package/browser/esm2020/lib/helpers-browser.mjs +47 -0
  6. package/browser/esm2020/lib/helpers.mjs +286 -0
  7. package/browser/esm2020/lib/long-press.directive.mjs +113 -0
  8. package/browser/esm2020/lib/project.mjs +430 -0
  9. package/browser/esm2020/lib/resize-service.mjs +22 -0
  10. package/browser/fesm2015/tnp-helpers.mjs +1741 -0
  11. package/browser/fesm2015/tnp-helpers.mjs.map +1 -0
  12. package/{client/fesm2022 → browser/fesm2020}/tnp-helpers.mjs +35 -39
  13. package/browser/{fesm2022 → fesm2020}/tnp-helpers.mjs.map +1 -1
  14. package/browser/lib/base-component.d.ts +1 -1
  15. package/browser/lib/base-formly-component.d.ts +1 -1
  16. package/browser/lib/condition-wait.d.ts +1 -1
  17. package/browser/lib/long-press.directive.d.ts +1 -1
  18. package/browser/lib/project.d.ts +2 -2
  19. package/browser/package.json +12 -6
  20. package/client/README.md +24 -24
  21. package/client/esm2020/lib/base-component.mjs +50 -0
  22. package/client/esm2020/lib/base-formly-component.mjs +113 -0
  23. package/client/esm2020/lib/helpers-browser.mjs +47 -0
  24. package/client/esm2020/lib/helpers.mjs +286 -0
  25. package/client/esm2020/lib/long-press.directive.mjs +113 -0
  26. package/client/esm2020/lib/project.mjs +430 -0
  27. package/client/esm2020/lib/resize-service.mjs +22 -0
  28. package/client/fesm2015/tnp-helpers.mjs +1741 -0
  29. package/client/fesm2015/tnp-helpers.mjs.map +1 -0
  30. package/{browser/fesm2022 → client/fesm2020}/tnp-helpers.mjs +35 -39
  31. package/client/{fesm2022 → fesm2020}/tnp-helpers.mjs.map +1 -1
  32. package/client/lib/base-component.d.ts +1 -1
  33. package/client/lib/base-formly-component.d.ts +1 -1
  34. package/client/lib/condition-wait.d.ts +1 -1
  35. package/client/lib/long-press.directive.d.ts +1 -1
  36. package/client/lib/project.d.ts +2 -2
  37. package/client/package.json +17 -17
  38. package/index.js.map +1 -1
  39. package/lib/angular.helper.js +3 -3
  40. package/lib/angular.helper.js.map +1 -1
  41. package/lib/base-component.js +3 -3
  42. package/lib/base-component.js.map +1 -1
  43. package/lib/base-formly-component.js +3 -3
  44. package/lib/base-formly-component.js.map +1 -1
  45. package/lib/condition-wait.d.ts +1 -1
  46. package/lib/condition-wait.js.map +1 -1
  47. package/lib/constants.js.map +1 -1
  48. package/lib/dual-component-ctrl.js +3 -3
  49. package/lib/dual-component-ctrl.js.map +1 -1
  50. package/lib/firedev-models.js.map +1 -1
  51. package/lib/git-project.js.map +1 -1
  52. package/lib/helpers-array-obj.js.map +1 -1
  53. package/lib/helpers-browser.js +2 -1
  54. package/lib/helpers-browser.js.map +1 -1
  55. package/lib/helpers-cli-tool.backend.js.map +1 -1
  56. package/lib/helpers-console-gui.js.map +1 -1
  57. package/lib/helpers-dependencies.backend.js.map +1 -1
  58. package/lib/helpers-environment.js.map +1 -1
  59. package/lib/helpers-file-folders.backend.js.map +1 -1
  60. package/lib/helpers-git.backend.js +5 -1
  61. package/lib/helpers-git.backend.js.map +1 -1
  62. package/lib/helpers-json5.backend.js.map +1 -1
  63. package/lib/helpers-morphi-framework.backend.js.map +1 -1
  64. package/lib/helpers-network.backend.js.map +1 -1
  65. package/lib/helpers-npm.backend.js.map +1 -1
  66. package/lib/helpers-numbers.js.map +1 -1
  67. package/lib/helpers-path.backend.js.map +1 -1
  68. package/lib/helpers-process.backend.js.map +1 -1
  69. package/lib/helpers-strings-regexes.js.map +1 -1
  70. package/lib/helpers-strings.js.map +1 -1
  71. package/lib/helpers-system-terminal.backend.js.map +1 -1
  72. package/lib/helpers-vscode.backend.js.map +1 -1
  73. package/lib/helpers.js.map +1 -1
  74. package/lib/index.js.map +1 -1
  75. package/lib/long-press.directive.js +2 -1
  76. package/lib/long-press.directive.js.map +1 -1
  77. package/lib/merge-helpers.backend.d.ts +1 -1
  78. package/lib/merge-helpers.backend.js.map +1 -1
  79. package/lib/project.d.ts +2 -2
  80. package/lib/project.js +3 -4
  81. package/lib/project.js.map +1 -1
  82. package/lib/resize-service.js +2 -1
  83. package/lib/resize-service.js.map +1 -1
  84. package/lib/ts-code/index.js.map +1 -1
  85. package/lib/ts-code/ts-code-extractor.d.ts +1 -1
  86. package/lib/ts-code/ts-code-extractor.js.map +1 -1
  87. package/lib/ts-code/ts-code-modifier.backend.js.map +1 -1
  88. package/package.json +3 -3
  89. package/package.json_devDependencies.json +222 -222
  90. package/package.json_tnp.json5 +49 -49
  91. package/tmp-environment.json +21 -21
  92. package/websql/README.md +24 -24
  93. package/websql/esm2020/lib/base-component.mjs +50 -0
  94. package/websql/esm2020/lib/base-formly-component.mjs +113 -0
  95. package/websql/esm2020/lib/helpers-browser.mjs +47 -0
  96. package/websql/esm2020/lib/helpers.mjs +286 -0
  97. package/{browser/esm2022 → websql/esm2020}/lib/long-press.directive.mjs +7 -8
  98. package/websql/esm2020/lib/project.mjs +430 -0
  99. package/websql/esm2020/lib/resize-service.mjs +22 -0
  100. package/websql/fesm2015/tnp-helpers.mjs +1741 -0
  101. package/websql/fesm2015/tnp-helpers.mjs.map +1 -0
  102. package/websql/{fesm2022 → fesm2020}/tnp-helpers.mjs +35 -39
  103. package/websql/{fesm2022 → fesm2020}/tnp-helpers.mjs.map +1 -1
  104. package/websql/lib/base-component.d.ts +1 -1
  105. package/websql/lib/base-formly-component.d.ts +1 -1
  106. package/websql/lib/condition-wait.d.ts +1 -1
  107. package/websql/lib/long-press.directive.d.ts +1 -1
  108. package/websql/lib/project.d.ts +2 -2
  109. package/websql/package.json +12 -6
  110. package/browser/esm2022/lib/base-component.mjs +0 -51
  111. package/browser/esm2022/lib/base-formly-component.mjs +0 -114
  112. package/browser/esm2022/lib/helpers-browser.mjs +0 -48
  113. package/browser/esm2022/lib/helpers.mjs +0 -286
  114. package/browser/esm2022/lib/project.mjs +0 -431
  115. package/browser/esm2022/lib/resize-service.mjs +0 -23
  116. package/client/esm2022/lib/base-component.mjs +0 -51
  117. package/client/esm2022/lib/base-formly-component.mjs +0 -114
  118. package/client/esm2022/lib/helpers-browser.mjs +0 -48
  119. package/client/esm2022/lib/helpers.mjs +0 -286
  120. package/client/esm2022/lib/long-press.directive.mjs +0 -114
  121. package/client/esm2022/lib/project.mjs +0 -431
  122. package/client/esm2022/lib/resize-service.mjs +0 -23
  123. package/websql/esm2022/lib/base-component.mjs +0 -51
  124. package/websql/esm2022/lib/base-formly-component.mjs +0 -114
  125. package/websql/esm2022/lib/helpers-browser.mjs +0 -48
  126. package/websql/esm2022/lib/helpers.mjs +0 -286
  127. package/websql/esm2022/lib/long-press.directive.mjs +0 -114
  128. package/websql/esm2022/lib/project.mjs +0 -431
  129. package/websql/esm2022/lib/resize-service.mjs +0 -23
  130. /package/browser/{esm2022 → esm2020}/lib/angular.helper.mjs +0 -0
  131. /package/browser/{esm2022 → esm2020}/lib/condition-wait.mjs +0 -0
  132. /package/browser/{esm2022 → esm2020}/lib/constants.mjs +0 -0
  133. /package/browser/{esm2022 → esm2020}/lib/dual-component-ctrl.mjs +0 -0
  134. /package/browser/{esm2022 → esm2020}/lib/firedev-models.mjs +0 -0
  135. /package/browser/{esm2022 → esm2020}/lib/helpers-array-obj.mjs +0 -0
  136. /package/browser/{esm2022 → esm2020}/lib/helpers-console-gui.mjs +0 -0
  137. /package/browser/{esm2022 → esm2020}/lib/helpers-environment.mjs +0 -0
  138. /package/browser/{esm2022 → esm2020}/lib/helpers-numbers.mjs +0 -0
  139. /package/browser/{esm2022 → esm2020}/lib/helpers-strings-regexes.mjs +0 -0
  140. /package/browser/{esm2022 → esm2020}/lib/helpers-strings.mjs +0 -0
  141. /package/browser/{esm2022 → esm2020}/lib/index.mjs +0 -0
  142. /package/browser/{esm2022 → esm2020}/public-api.mjs +0 -0
  143. /package/browser/{esm2022 → esm2020}/tnp-helpers.mjs +0 -0
  144. /package/browser/{index.d.ts → tnp-helpers.d.ts} +0 -0
  145. /package/client/{esm2022 → esm2020}/lib/angular.helper.mjs +0 -0
  146. /package/client/{esm2022 → esm2020}/lib/condition-wait.mjs +0 -0
  147. /package/client/{esm2022 → esm2020}/lib/constants.mjs +0 -0
  148. /package/client/{esm2022 → esm2020}/lib/dual-component-ctrl.mjs +0 -0
  149. /package/client/{esm2022 → esm2020}/lib/firedev-models.mjs +0 -0
  150. /package/client/{esm2022 → esm2020}/lib/helpers-array-obj.mjs +0 -0
  151. /package/client/{esm2022 → esm2020}/lib/helpers-console-gui.mjs +0 -0
  152. /package/client/{esm2022 → esm2020}/lib/helpers-environment.mjs +0 -0
  153. /package/client/{esm2022 → esm2020}/lib/helpers-numbers.mjs +0 -0
  154. /package/client/{esm2022 → esm2020}/lib/helpers-strings-regexes.mjs +0 -0
  155. /package/client/{esm2022 → esm2020}/lib/helpers-strings.mjs +0 -0
  156. /package/client/{esm2022 → esm2020}/lib/index.mjs +0 -0
  157. /package/client/{esm2022 → esm2020}/public-api.mjs +0 -0
  158. /package/client/{esm2022 → esm2020}/tnp-helpers.mjs +0 -0
  159. /package/client/{index.d.ts → tnp-helpers.d.ts} +0 -0
  160. /package/websql/{esm2022 → esm2020}/lib/angular.helper.mjs +0 -0
  161. /package/websql/{esm2022 → esm2020}/lib/condition-wait.mjs +0 -0
  162. /package/websql/{esm2022 → esm2020}/lib/constants.mjs +0 -0
  163. /package/websql/{esm2022 → esm2020}/lib/dual-component-ctrl.mjs +0 -0
  164. /package/websql/{esm2022 → esm2020}/lib/firedev-models.mjs +0 -0
  165. /package/websql/{esm2022 → esm2020}/lib/helpers-array-obj.mjs +0 -0
  166. /package/websql/{esm2022 → esm2020}/lib/helpers-console-gui.mjs +0 -0
  167. /package/websql/{esm2022 → esm2020}/lib/helpers-environment.mjs +0 -0
  168. /package/websql/{esm2022 → esm2020}/lib/helpers-numbers.mjs +0 -0
  169. /package/websql/{esm2022 → esm2020}/lib/helpers-strings-regexes.mjs +0 -0
  170. /package/websql/{esm2022 → esm2020}/lib/helpers-strings.mjs +0 -0
  171. /package/websql/{esm2022 → esm2020}/lib/index.mjs +0 -0
  172. /package/websql/{esm2022 → esm2020}/public-api.mjs +0 -0
  173. /package/websql/{esm2022 → esm2020}/tnp-helpers.mjs +0 -0
  174. /package/websql/{index.d.ts → tnp-helpers.d.ts} +0 -0
@@ -0,0 +1,286 @@
1
+ import { _ } from 'tnp-core/websql';
2
+ import { HelpersArrayObj } from './helpers-array-obj';
3
+ import { HelpersStringsRegexes } from './helpers-strings-regexes';
4
+ import { HelpersEnvironment } from './helpers-environment';
5
+ import { HelpersStrings } from './helpers-strings';
6
+ import { HelpersConsoleGui } from './helpers-console-gui';
7
+ import { conditionWait } from './condition-wait';
8
+ import { Helpers } from './index';
9
+ import { CLASS } from 'typescript-class-helpers/websql';
10
+ import { Morphi } from 'morphi/websql';
11
+ import { CoreHelpers } from 'tnp-core/websql';
12
+ import { HelpersNumber } from './helpers-numbers';
13
+ import { HelpersBrowaser } from './helpers-browser';
14
+ import { NgHelpers } from './angular.helper';
15
+ export function applyMixins(derivedCtor, baseCtors) {
16
+ baseCtors.forEach(baseCtor => {
17
+ Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
18
+ Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));
19
+ });
20
+ });
21
+ }
22
+ // @ts-ignore
23
+ export class HelpersTnp extends CoreHelpers {
24
+ constructor(
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
37
+ /* */
38
+ arrays = new HelpersArrayObj(), strings = new HelpersStrings(), numbers = new HelpersNumber(), consoleGui = new HelpersConsoleGui(), browser = HelpersBrowaser.instance, ng = NgHelpers) {
39
+ super();
40
+ this.arrays = arrays;
41
+ this.strings = strings;
42
+ this.numbers = numbers;
43
+ this.consoleGui = consoleGui;
44
+ this.browser = browser;
45
+ this.ng = ng;
46
+ this.conditionWait = conditionWait;
47
+ /* */
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ /* */
55
+ /* */
56
+ /* */
57
+ /* */
58
+ /* */
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
+ /* */
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
+ this.applyMixins = applyMixins;
126
+ }
127
+ static get Instance() {
128
+ if (!HelpersTnp._instance) {
129
+ HelpersTnp._instance = new HelpersTnp();
130
+ }
131
+ return HelpersTnp._instance;
132
+ }
133
+ CLIWRAP(f, name) {
134
+ CLASS.setName(f, name);
135
+ return f;
136
+ }
137
+ /* */
138
+ /* */
139
+ /* */
140
+ /* */
141
+ /* */
142
+ /* */
143
+ /* */
144
+ /* */
145
+ /* */
146
+ /* */
147
+ /* */
148
+ /* */
149
+ /* */
150
+ /* */
151
+ /* */
152
+ /* */
153
+ /* */
154
+ /* */
155
+ /* */
156
+ /* */
157
+ /* */
158
+ /* */
159
+ /* */
160
+ /* */
161
+ /* */
162
+ /* */
163
+ /* */
164
+ /* */
165
+ /* */
166
+ /* */
167
+ /* */
168
+ /* */
169
+ /* */
170
+ /* */
171
+ /* */
172
+ /* */
173
+ /* */
174
+ /* */
175
+ async isElevated() {
176
+ /* */
177
+ /* */
178
+ /* */
179
+ /* */
180
+ }
181
+ /* */
182
+ /* */
183
+ /* */
184
+ /* */
185
+ /* */
186
+ /* */
187
+ /* */
188
+ /* */
189
+ /* */
190
+ /* */
191
+ /* */
192
+ /* */
193
+ /* */
194
+ /* */
195
+ /* */
196
+ /* */
197
+ /* */
198
+ /* */
199
+ /* */
200
+ /* */
201
+ /* */
202
+ /* */
203
+ /* */
204
+ /* */
205
+ async mesureExectionInMs(description, functionToExecute, ...functionArguments) {
206
+ var start = new Date();
207
+ await Helpers.runSyncOrAsync(functionToExecute, ...functionArguments);
208
+ //@ts-ignore
209
+ var end = new Date() - start;
210
+ if (Morphi.IsBrowser) {
211
+ Helpers.info(`Execution time: ${end.toString()}ms for "${description}"`);
212
+ }
213
+ /* */
214
+ /* */
215
+ return end;
216
+ }
217
+ mesureExectionInMsSync(description, functionToExecute) {
218
+ var start = new Date();
219
+ functionToExecute();
220
+ //@ts-ignore
221
+ var end = new Date() - start;
222
+ if (Morphi.IsBrowser) {
223
+ Helpers.log(`Execution time: ${end.toString()}ms for "${description}"`);
224
+ }
225
+ /* */
226
+ /* */
227
+ return end;
228
+ }
229
+ waitForCondition(conditionFn, howOfftenCheckInMs = 1000) {
230
+ return new Promise(async (resolve, reject) => {
231
+ const result = await Helpers.runSyncOrAsync(conditionFn);
232
+ if (result) {
233
+ resolve(void 0);
234
+ }
235
+ else {
236
+ setTimeout(() => {
237
+ Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {
238
+ resolve(void 0);
239
+ });
240
+ }, howOfftenCheckInMs);
241
+ }
242
+ });
243
+ }
244
+ getBrowserVerPath(moduleName, websql = false) {
245
+ /* */
246
+ /* */
247
+ /* */
248
+ /* */
249
+ /* */
250
+ }
251
+ getMethodName(obj, method) {
252
+ var methodName = null;
253
+ Object.getOwnPropertyNames(obj).forEach(prop => {
254
+ if (obj[prop] === method) {
255
+ methodName = prop;
256
+ }
257
+ });
258
+ if (methodName !== null) {
259
+ return methodName;
260
+ }
261
+ var proto = Object.getPrototypeOf(obj);
262
+ if (proto) {
263
+ return Helpers.getMethodName(proto, method);
264
+ }
265
+ return null;
266
+ }
267
+ fixWebpackEnv(env) {
268
+ _.forIn(env, (v, k) => {
269
+ const value = v;
270
+ if (value === 'true')
271
+ env[k] = true;
272
+ if (value === 'false')
273
+ env[k] = false;
274
+ });
275
+ }
276
+ }
277
+ applyMixins(HelpersTnp, [
278
+ HelpersStringsRegexes,
279
+ HelpersEnvironment,
280
+ /* */
281
+ /* */
282
+ /* */
283
+ ]);
284
+ ;
285
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers.ts
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1idW5kbGUtd2Vic3FsL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUF3QmpELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSTdDLE1BQU0sVUFBVSxXQUFXLENBQUMsV0FBZ0IsRUFBRSxTQUFnQjtJQUM1RCxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENB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S0FBSyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQW9GRjtBQWFELFdBQVcsQ0FBQyxVQUFVLEVBQUU7SUFDdEIscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNwQixLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7Q0FFSixDQUFDLENBQUM7QUFFRixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHVEQUF1RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgSGVscGVyc0FycmF5T2JqIH0gZnJvbSAnLi9oZWxwZXJzLWFycmF5LW9iaic7XG5pbXBvcnQgeyBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMgfSBmcm9tICcuL2hlbHBlcnMtc3RyaW5ncy1yZWdleGVzJztcbmltcG9ydCB7IEhlbHBlcnNFbnZpcm9ubWVudCB9IGZyb20gJy4vaGVscGVycy1lbnZpcm9ubWVudCc7XG5pbXBvcnQgeyBIZWxwZXJzU3RyaW5ncyB9IGZyb20gJy4vaGVscGVycy1zdHJpbmdzJztcbmltcG9ydCB7IEhlbHBlcnNDb25zb2xlR3VpIH0gZnJvbSAnLi9oZWxwZXJzLWNvbnNvbGUtZ3VpJztcbmltcG9ydCB7IGNvbmRpdGlvbldhaXQgfSBmcm9tICcuL2NvbmRpdGlvbi13YWl0JztcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgY29uZmlnLCBDb25maWdNb2RlbHMgfSBmcm9tICd0bnAtY29uZmlnL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi9pbmRleCc7XG5pbXBvcnQgeyBDTEFTUyB9IGZyb20gJ3R5cGVzY3JpcHQtY2xhc3MtaGVscGVycy93ZWJzcWwnO1xuaW1wb3J0IHsgTW9ycGhpIH0gZnJvbSAnbW9ycGhpL3dlYnNxbCc7XG5pbXBvcnQgeyBDb3JlSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBIZWxwZXJzTnVtYmVyIH0gZnJvbSAnLi9oZWxwZXJzLW51bWJlcnMnO1xuXG5pbXBvcnQgeyBIZWxwZXJzQnJvd2FzZXIgfSBmcm9tICcuL2hlbHBlcnMtYnJvd3Nlcic7XG5cbmltcG9ydCB7IE5nSGVscGVycyB9IGZyb20gJy4vYW5ndWxhci5oZWxwZXInO1xuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5TWl4aW5zKGRlcml2ZWRDdG9yOiBhbnksIGJhc2VDdG9yczogYW55W10pIHtcbiAgYmFzZUN0b3JzLmZvckVhY2goYmFzZUN0b3IgPT4ge1xuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGJhc2VDdG9yLnByb3RvdHlwZSkuZm9yRWFjaChuYW1lID0+IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXJpdmVkQ3Rvci5wcm90b3R5cGUsIG5hbWUsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmFzZUN0b3IucHJvdG90eXBlLCBuYW1lKSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY2xhc3MgSGVscGVyc1RucCBleHRlbmRzIENvcmVIZWxwZXJzIHtcblxuICBwcml2YXRlIHN0YXRpYyBfaW5zdGFuY2U6IEhlbHBlcnNUbnAgJiBDb3JlSGVscGVycztcbiAgcHVibGljIHN0YXRpYyBnZXQgSW5zdGFuY2UoKSB7XG4gICAgaWYgKCFIZWxwZXJzVG5wLl9pbnN0YW5jZSkge1xuICAgICAgSGVscGVyc1RucC5faW5zdGFuY2UgPSBuZXcgSGVscGVyc1RucCgpO1xuICAgIH1cbiAgICByZXR1cm4gSGVscGVyc1RucC5faW5zdGFuY2U7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcHVibGljIGFycmF5cyA9IG5ldyBIZWxwZXJzQXJyYXlPYmooKSxcbiAgICBwdWJsaWMgc3RyaW5ncyA9IG5ldyBIZWxwZXJzU3RyaW5ncygpLFxuICAgIHB1YmxpYyBudW1iZXJzID0gbmV3IEhlbHBlcnNOdW1iZXIoKSxcbiAgICBwdWJsaWMgY29uc29sZUd1aSA9IG5ldyBIZWxwZXJzQ29uc29sZUd1aSgpLFxuXG4gICAgcHVibGljIGJyb3dzZXIgPSBIZWxwZXJzQnJvd2FzZXIuaW5zdGFuY2UsXG4gICAgcHVibGljIG5nID0gTmdIZWxwZXJzXG5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIENMSVdSQVAoZjogRnVuY3Rpb24sIG5hbWU6IHN0cmluZykge1xuICAgIENMQVNTLnNldE5hbWUoZiwgbmFtZSk7XG4gICAgcmV0dXJuIGY7XG4gIH1cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4gIGFzeW5jIGlzRWxldmF0ZWQoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuICBhc3luYyBtZXN1cmVFeGVjdGlvbkluTXMoXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBmdW5jdGlvblRvRXhlY3V0ZTogRnVuY3Rpb24sXG4gICAgLi4uZnVuY3Rpb25Bcmd1bWVudHM6IGFueVtdKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICB2YXIgc3RhcnQgPSBuZXcgRGF0ZSgpXG4gICAgYXdhaXQgSGVscGVycy5ydW5TeW5jT3JBc3luYyhmdW5jdGlvblRvRXhlY3V0ZSwgLi4uZnVuY3Rpb25Bcmd1bWVudHMpO1xuICAgIC8vQHRzLWlnbm9yZVxuICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpIC0gc3RhcnRcbiAgICBpZiAoTW9ycGhpLklzQnJvd3Nlcikge1xuICAgICAgSGVscGVycy5pbmZvKGBFeGVjdXRpb24gdGltZTogJHtlbmQudG9TdHJpbmcoKX1tcyBmb3IgXCIke2Rlc2NyaXB0aW9ufVwiYCk7XG4gICAgfVxuLyogKi9cbi8qICovXG4gIFxuICAgIHJldHVybiBlbmQ7XG4gIH1cblxuICBtZXN1cmVFeGVjdGlvbkluTXNTeW5jKFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgZnVuY3Rpb25Ub0V4ZWN1dGU6ICgpID0+IHZvaWQpOiBudW1iZXIge1xuICAgIHZhciBzdGFydCA9IG5ldyBEYXRlKClcbiAgICBmdW5jdGlvblRvRXhlY3V0ZSgpO1xuICAgIC8vQHRzLWlnbm9yZVxuICAgIHZhciBlbmQgPSBuZXcgRGF0ZSgpIC0gc3RhcnRcbiAgICBpZiAoTW9ycGhpLklzQnJvd3Nlcikge1xuICAgICAgSGVscGVycy5sb2coYEV4ZWN1dGlvbiB0aW1lOiAke2VuZC50b1N0cmluZygpfW1zIGZvciBcIiR7ZGVzY3JpcHRpb259XCJgKTtcbiAgICB9XG4vKiAqL1xuLyogKi9cbiAgXG4gICAgcmV0dXJuIGVuZDtcbiAgfVxuXG4gIGNvbmRpdGlvbldhaXQgPSBjb25kaXRpb25XYWl0O1xuXG4gIHdhaXRGb3JDb25kaXRpb24oY29uZGl0aW9uRm46IChhbnkpID0+IGJvb2xlYW4sIGhvd09mZnRlbkNoZWNrSW5NcyA9IDEwMDApIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBIZWxwZXJzLnJ1blN5bmNPckFzeW5jKGNvbmRpdGlvbkZuKTtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmVzb2x2ZSh2b2lkIDApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBIZWxwZXJzLndhaXRGb3JDb25kaXRpb24oY29uZGl0aW9uRm4sIGhvd09mZnRlbkNoZWNrSW5NcykudGhlbigoKSA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHZvaWQgMCk7XG4gICAgICAgICAgfSlcbiAgICAgICAgfSwgaG93T2ZmdGVuQ2hlY2tJbk1zKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZ2V0QnJvd3NlclZlclBhdGgobW9kdWxlTmFtZT86IHN0cmluZywgd2Vic3FsOiBib29sZWFuID0gZmFsc2UpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIGdldE1ldGhvZE5hbWUob2JqLCBtZXRob2QpOiBzdHJpbmcge1xuICAgIHZhciBtZXRob2ROYW1lID0gbnVsbDtcbiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopLmZvckVhY2gocHJvcCA9PiB7XG4gICAgICBpZiAob2JqW3Byb3BdID09PSBtZXRob2QpIHtcbiAgICAgICAgbWV0aG9kTmFtZSA9IHByb3A7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAobWV0aG9kTmFtZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1ldGhvZE5hbWU7XG4gICAgfVxuXG4gICAgdmFyIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaik7XG4gICAgaWYgKHByb3RvKSB7XG4gICAgICByZXR1cm4gSGVscGVycy5nZXRNZXRob2ROYW1lKHByb3RvLCBtZXRob2QpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZpeFdlYnBhY2tFbnYoZW52OiBPYmplY3QpIHtcbiAgICBfLmZvckluKGVudiwgKHYsIGspID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSB2IGFzIGFueTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gJ3RydWUnKSBlbnZba10gPSB0cnVlO1xuICAgICAgaWYgKHZhbHVlID09PSAnZmFsc2UnKSBlbnZba10gPSBmYWxzZTtcbiAgICB9KVxuICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG4vKiAqL1xuLyogKi9cbiAgXG4gIHB1YmxpYyBhcHBseU1peGlucyA9IGFwcGx5TWl4aW5zO1xufVxuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgaW50ZXJmYWNlIEhlbHBlcnNUbnAgZXh0ZW5kc1xuICBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMsXG4gIEhlbHBlcnNFbnZpcm9ubWVudFxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG57IH1cblxuYXBwbHlNaXhpbnMoSGVscGVyc1RucCwgW1xuICBIZWxwZXJzU3RyaW5nc1JlZ2V4ZXMsXG4gIEhlbHBlcnNFbnZpcm9ubWVudCxcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5dKTtcblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9oZWxwZXJzLnRzIl19
@@ -5,11 +5,11 @@ import { Directive, Input, Output, EventEmitter, HostBinding, HostListener } fro
5
5
  /* */
6
6
  /* */
7
7
  /* */
8
- import { _ } from 'tnp-core/browser';
9
- import { Log, Level } from 'ng2-logger/browser';
8
+ import { _ } from 'tnp-core/websql';
9
+ import { Log, Level } from 'ng2-logger/websql';
10
10
  import * as i0 from "@angular/core";
11
11
  const log = Log.create(`[firedev-helpers] long-press`, Level.__NOTHING);
12
- class LongPress {
12
+ export class LongPress {
13
13
  constructor() {
14
14
  this.pressDuration = 1000;
15
15
  this.onLongPress = new EventEmitter();
@@ -78,11 +78,10 @@ class LongPress {
78
78
  onMouseUp() {
79
79
  this.endPress(false);
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: LongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
82
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.5", type: LongPress, selector: "[long-press]", inputs: { pressDuration: "pressDuration" }, outputs: { onLongPress: "onLongPress", onLongPressing: "onLongPressing", onLongPressEnd: "onLongPressEnd" }, host: { listeners: { "mousedown": "onMouseDown($event)", "mousemove": "onMouseMove($event)", "mouseup": "onMouseUp()" }, properties: { "class.press": "this.press", "class.longpress": "this.longPress" } }, ngImport: i0 }); }
83
81
  }
84
- export { LongPress };
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: LongPress, decorators: [{
82
+ LongPress.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive });
83
+ LongPress.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LongPress, selector: "[long-press]", inputs: { pressDuration: "pressDuration" }, outputs: { onLongPress: "onLongPress", onLongPressing: "onLongPressing", onLongPressEnd: "onLongPressEnd" }, host: { listeners: { "mousedown": "onMouseDown($event)", "mousemove": "onMouseMove($event)", "mouseup": "onMouseUp()" }, properties: { "class.press": "this.press", "class.longpress": "this.longPress" } }, ngImport: i0 });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LongPress, decorators: [{
86
85
  type: Directive,
87
86
  args: [{ selector: '[long-press]' }]
88
87
  }], propDecorators: { pressDuration: [{
@@ -111,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImpor
111
110
  }] } });
112
111
  ;
113
112
  ({}); // @--end-of-file-for-module=tnp-helpers lib/long-press.directive.ts
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZy1wcmVzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlL3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvbG9uZy1wcmVzcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFJLFNBQVMsRUFBSSxLQUFLLEVBQUksTUFBTSxFQUFJLFlBQVksRUFBSSxXQUFXLEVBQUksWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDLENBQUEsS0FBSztBQUNuSCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFDaEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsRUFDakQsS0FBSyxDQUFDLFNBQVMsQ0FDbEIsQ0FBQTtBQUVELE1BQ2EsU0FBUztJQUR0QjtRQUdXLGtCQUFhLEdBQVcsSUFBSSxDQUFDO1FBRTVCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3pELFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQVEzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixlQUFVLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtLQW9FUjtJQTdFQyxJQUNJLEtB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QyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOzhHQXpGVSxTQUFTO2tHQUFULFNBQVM7O1NBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQURyQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRTs4QkFHNUIsYUFBYTtzQkFBckIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFTSCxLQUFLO3NCQURSLFdBQVc7dUJBQUMsYUFBYTtnQkFJdEIsU0FBUztzQkFEWixXQUFXO3VCQUFDLGlCQUFpQjtnQkFTOUIsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkEyQnJDLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBb0NyQyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUzs7QUFPeEIsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvRUFBb0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyAgIERpcmVjdGl2ZSwgICBJbnB1dCwgICBPdXRwdXQsICAgRXZlbnRFbWl0dGVyLCAgIEhvc3RCaW5kaW5nLCAgIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG5cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTG9nLCBMZXZlbCB9IGZyb20gJ25nMi1sb2dnZXIvYnJvd3Nlcic7XG5jb25zdCBsb2cgPSBMb2cuY3JlYXRlKGBbZmlyZWRldi1oZWxwZXJzXSBsb25nLXByZXNzYFxuICAsIExldmVsLl9fTk9USElOR1xuKVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbbG9uZy1wcmVzc10nIH0pXG5leHBvcnQgY2xhc3MgTG9uZ1ByZXNzIHtcblxuICBASW5wdXQoKSBwcmVzc0R1cmF0aW9uOiBudW1iZXIgPSAxMDAwO1xuXG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzc2luZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzc0VuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBwcmVzc2luZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBsb25nUHJlc3Npbmc6IGJvb2xlYW47XG4gIHByaXZhdGUgdGltZW91dDogYW55O1xuICBwcml2YXRlIG1vdXNlWDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBtb3VzZVk6IG51bWJlciA9IDA7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wcmVzcycpXG4gIGdldCBwcmVzcygpIHsgcmV0dXJuIHRoaXMucHJlc3Npbmc7IH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxvbmdwcmVzcycpXG4gIGdldCBsb25nUHJlc3MoKSB7IHJldHVybiB0aGlzLmxvbmdQcmVzc2luZzsgfVxuXG4gIGFsbG93VHJpZ2dlciA9IGZhbHNlO1xuICB0cmlnZ2VyRW5kID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgdGhpcy5lbmRQcmVzcygpO1xuICB9LCA1MDApXG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZURvd24oZXZlbnQpIHtcblxuICAgIGxvZy5kKGBNT1VTRSBET1dOIGApO1xuXG4gICAgaWYgKGV2ZW50LndoaWNoICE9PSAxKSByZXR1cm47XG4gICAgdGhpcy5hbGxvd1RyaWdnZXIgPSB0cnVlO1xuXG4gICAgdGhpcy5tb3VzZVggPSBldmVudC5jbGllbnRYO1xuICAgIHRoaXMubW91c2VZID0gZXZlbnQuY2xpZW50WTtcblxuICAgIHRoaXMucHJlc3NpbmcgPSB0cnVlO1xuICAgIHRoaXMubG9uZ1ByZXNzaW5nID0gZmFsc2U7XG5cbiAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFsbG93VHJpZ2dlcikge1xuICAgICAgICB0aGlzLmxvbmdQcmVzc2luZyA9IHRydWU7XG4gICAgICAgIGxvZy5kKGBsb25nIHByZXNzaW5nIHN0YXJ0ICBwcmVzc0R1cmF0aW9uOiR7dGhpcy5wcmVzc0R1cmF0aW9ufSBgKTtcbiAgICAgICAgdGhpcy5vbkxvbmdQcmVzcy5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgICAgIH1cbiAgICB9LCB0aGlzLnByZXNzRHVyYXRpb24pO1xuXG4gICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VNb3ZlKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMucHJlc3NpbmcgJiYgIXRoaXMubG9uZ1ByZXNzaW5nKSB7XG4gICAgICBjb25zdCB4VGhyZXMgPSAoZXZlbnQuY2xpZW50WCAtIHRoaXMubW91c2VYKSA+IDEwO1xuICAgICAgY29uc3QgeVRocmVzID0gKGV2ZW50LmNsaWVudFkgLSB0aGlzLm1vdXNlWSkgPiAxMDtcbiAgICAgIGlmICh4VGhyZXMgfHwgeVRocmVzKSB7XG4gICAgICAgIHRoaXMuZW5kUHJlc3MoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsb29wKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMubG9uZ1ByZXNzaW5nKSB7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgbG9nLmQoYGVtaWwgbG9uZ3ByZXNzaW5nYClcbiAgICAgICAgdGhpcy50cmlnZ2VyRW5kKCk7XG4gICAgICAgIHRoaXMub25Mb25nUHJlc3NpbmcuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMubG9vcChldmVudCk7XG4gICAgICB9LCA1MCk7XG4gICAgfVxuICB9XG5cbiAgZW5kUHJlc3MoZW1pdCA9IHRydWUpIHtcbiAgICB0aGlzLmFsbG93VHJpZ2dlciA9IGZhbHNlO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgIHRoaXMubG9uZ1ByZXNzaW5nID0gZmFsc2U7XG4gICAgdGhpcy5wcmVzc2luZyA9IGZhbHNlO1xuICAgIGlmIChlbWl0KSB7XG4gICAgICBsb2cuZChgRU1JVCBFTkRgKVxuICAgICAgdGhpcy5vbkxvbmdQcmVzc0VuZC5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZChgTk9UIEVNSVQgRU5EYClcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZXVwJylcbiAgb25Nb3VzZVVwKCkge1xuICAgIHRoaXMuZW5kUHJlc3MoZmFsc2UpO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9sb25nLXByZXNzLmRpcmVjdGl2ZS50cyJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9uZy1wcmVzcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2xvbmctcHJlc3MuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBSSxTQUFTLEVBQUksS0FBSyxFQUFJLE1BQU0sRUFBSSxZQUFZLEVBQUksV0FBVyxFQUFJLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQyxDQUFBLEtBQUs7QUFDbkgsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBR0wsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBQy9DLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsOEJBQThCLEVBQ2pELEtBQUssQ0FBQyxTQUFTLENBQ2xCLENBQUE7QUFHRCxNQUFNLE9BQU8sU0FBUztJQUR0QjtRQUdXLGtCQUFhLEdBQVcsSUFBSSxDQUFDO1FBRTVCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN2RCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBS3pELFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQVEzQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixlQUFVLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtLQW9FUjtJ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QUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDOzt1R0F6RlUsU0FBUzsyRkFBVCxTQUFTOzRGQUFULFNBQVM7a0JBRHJCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFOzhCQUc1QixhQUFhO3NCQUFyQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQVNILEtBQUs7c0JBRFIsV0FBVzt1QkFBQyxhQUFhO2dCQUl0QixTQUFTO3NCQURaLFdBQVc7dUJBQUMsaUJBQWlCO2dCQVM5QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTJCckMsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFvQ3JDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTOztBQU94QixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9FQUFvRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ICAgRGlyZWN0aXZlLCAgIElucHV0LCAgIE91dHB1dCwgICBFdmVudEVtaXR0ZXIsICAgSG9zdEJpbmRpbmcsICAgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcbmltcG9ydCB7IExvZywgTGV2ZWwgfSBmcm9tICduZzItbG9nZ2VyL3dlYnNxbCc7XG5jb25zdCBsb2cgPSBMb2cuY3JlYXRlKGBbZmlyZWRldi1oZWxwZXJzXSBsb25nLXByZXNzYFxuICAsIExldmVsLl9fTk9USElOR1xuKVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbbG9uZy1wcmVzc10nIH0pXG5leHBvcnQgY2xhc3MgTG9uZ1ByZXNzIHtcblxuICBASW5wdXQoKSBwcmVzc0R1cmF0aW9uOiBudW1iZXIgPSAxMDAwO1xuXG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzc2luZzogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkxvbmdQcmVzc0VuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBwcmVzc2luZzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBsb25nUHJlc3Npbmc6IGJvb2xlYW47XG4gIHByaXZhdGUgdGltZW91dDogYW55O1xuICBwcml2YXRlIG1vdXNlWDogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBtb3VzZVk6IG51bWJlciA9IDA7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wcmVzcycpXG4gIGdldCBwcmVzcygpIHsgcmV0dXJuIHRoaXMucHJlc3Npbmc7IH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmxvbmdwcmVzcycpXG4gIGdldCBsb25nUHJlc3MoKSB7IHJldHVybiB0aGlzLmxvbmdQcmVzc2luZzsgfVxuXG4gIGFsbG93VHJpZ2dlciA9IGZhbHNlO1xuICB0cmlnZ2VyRW5kID0gXy5kZWJvdW5jZSgoKSA9PiB7XG4gICAgdGhpcy5lbmRQcmVzcygpO1xuICB9LCA1MDApXG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgb25Nb3VzZURvd24oZXZlbnQpIHtcblxuICAgIGxvZy5kKGBNT1VTRSBET1dOIGApO1xuXG4gICAgaWYgKGV2ZW50LndoaWNoICE9PSAxKSByZXR1cm47XG4gICAgdGhpcy5hbGxvd1RyaWdnZXIgPSB0cnVlO1xuXG4gICAgdGhpcy5tb3VzZVggPSBldmVudC5jbGllbnRYO1xuICAgIHRoaXMubW91c2VZID0gZXZlbnQuY2xpZW50WTtcblxuICAgIHRoaXMucHJlc3NpbmcgPSB0cnVlO1xuICAgIHRoaXMubG9uZ1ByZXNzaW5nID0gZmFsc2U7XG5cbiAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmFsbG93VHJpZ2dlcikge1xuICAgICAgICB0aGlzLmxvbmdQcmVzc2luZyA9IHRydWU7XG4gICAgICAgIGxvZy5kKGBsb25nIHByZXNzaW5nIHN0YXJ0ICBwcmVzc0R1cmF0aW9uOiR7dGhpcy5wcmVzc0R1cmF0aW9ufSBgKTtcbiAgICAgICAgdGhpcy5vbkxvbmdQcmVzcy5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgICAgIH1cbiAgICB9LCB0aGlzLnByZXNzRHVyYXRpb24pO1xuXG4gICAgdGhpcy5sb29wKGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScsIFsnJGV2ZW50J10pXG4gIG9uTW91c2VNb3ZlKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMucHJlc3NpbmcgJiYgIXRoaXMubG9uZ1ByZXNzaW5nKSB7XG4gICAgICBjb25zdCB4VGhyZXMgPSAoZXZlbnQuY2xpZW50WCAtIHRoaXMubW91c2VYKSA+IDEwO1xuICAgICAgY29uc3QgeVRocmVzID0gKGV2ZW50LmNsaWVudFkgLSB0aGlzLm1vdXNlWSkgPiAxMDtcbiAgICAgIGlmICh4VGhyZXMgfHwgeVRocmVzKSB7XG4gICAgICAgIHRoaXMuZW5kUHJlc3MoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsb29wKGV2ZW50KSB7XG4gICAgaWYgKHRoaXMubG9uZ1ByZXNzaW5nKSB7XG4gICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgbG9nLmQoYGVtaWwgbG9uZ3ByZXNzaW5nYClcbiAgICAgICAgdGhpcy50cmlnZ2VyRW5kKCk7XG4gICAgICAgIHRoaXMub25Mb25nUHJlc3NpbmcuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMubG9vcChldmVudCk7XG4gICAgICB9LCA1MCk7XG4gICAgfVxuICB9XG5cbiAgZW5kUHJlc3MoZW1pdCA9IHRydWUpIHtcbiAgICB0aGlzLmFsbG93VHJpZ2dlciA9IGZhbHNlO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgIHRoaXMubG9uZ1ByZXNzaW5nID0gZmFsc2U7XG4gICAgdGhpcy5wcmVzc2luZyA9IGZhbHNlO1xuICAgIGlmIChlbWl0KSB7XG4gICAgICBsb2cuZChgRU1JVCBFTkRgKVxuICAgICAgdGhpcy5vbkxvbmdQcmVzc0VuZC5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuZChgTk9UIEVNSVQgRU5EYClcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZXVwJylcbiAgb25Nb3VzZVVwKCkge1xuICAgIHRoaXMuZW5kUHJlc3MoZmFsc2UpO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9sb25nLXByZXNzLmRpcmVjdGl2ZS50cyJdfQ==