tnp-helpers 13.1.26 → 13.1.28

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 (178) hide show
  1. package/app.js +3 -3
  2. package/browser/README.md +24 -24
  3. package/browser/esm2020/lib/angular.helper.mjs +87 -87
  4. package/browser/esm2020/lib/base-component.mjs +49 -49
  5. package/browser/esm2020/lib/base-formly-component.mjs +112 -112
  6. package/browser/esm2020/lib/condition-wait.mjs +45 -45
  7. package/browser/esm2020/lib/constants.mjs +8 -8
  8. package/browser/esm2020/lib/dual-component-ctrl.mjs +118 -118
  9. package/browser/esm2020/lib/firedev-models.mjs +3 -3
  10. package/browser/esm2020/lib/helpers-array-obj.mjs +82 -82
  11. package/browser/esm2020/lib/helpers-browser.mjs +46 -46
  12. package/browser/esm2020/lib/helpers-console-gui.mjs +9 -9
  13. package/browser/esm2020/lib/helpers-environment.mjs +32 -32
  14. package/browser/esm2020/lib/helpers-numbers.mjs +7 -7
  15. package/browser/esm2020/lib/helpers-strings-regexes.mjs +50 -50
  16. package/browser/esm2020/lib/helpers-strings.mjs +252 -252
  17. package/browser/esm2020/lib/helpers.mjs +285 -285
  18. package/browser/esm2020/lib/index.mjs +15 -15
  19. package/browser/esm2020/lib/long-press.directive.mjs +112 -112
  20. package/browser/esm2020/lib/project.mjs +429 -429
  21. package/browser/esm2020/lib/resize-service.mjs +21 -21
  22. package/browser/esm2020/public-api.mjs +1 -1
  23. package/browser/esm2020/tnp-helpers.mjs +4 -4
  24. package/browser/fesm2015/tnp-helpers.mjs +1686 -1686
  25. package/browser/fesm2020/tnp-helpers.mjs +1676 -1676
  26. package/browser/lib/angular.helper.d.ts +35 -35
  27. package/browser/lib/base-component.d.ts +16 -16
  28. package/browser/lib/base-formly-component.d.ts +30 -30
  29. package/browser/lib/condition-wait.d.ts +7 -7
  30. package/browser/lib/constants.d.ts +6 -6
  31. package/browser/lib/dual-component-ctrl.d.ts +24 -24
  32. package/browser/lib/firedev-models.d.ts +12 -12
  33. package/browser/lib/helpers-array-obj.d.ts +14 -14
  34. package/browser/lib/helpers-browser.d.ts +10 -10
  35. package/browser/lib/helpers-console-gui.d.ts +5 -5
  36. package/browser/lib/helpers-environment.d.ts +4 -4
  37. package/browser/lib/helpers-numbers.d.ts +2 -2
  38. package/browser/lib/helpers-strings-regexes.d.ts +27 -27
  39. package/browser/lib/helpers-strings.d.ts +49 -49
  40. package/browser/lib/helpers.d.ts +33 -33
  41. package/browser/lib/index.d.ts +11 -11
  42. package/browser/lib/long-press.directive.d.ts +24 -24
  43. package/browser/lib/project.d.ts +93 -93
  44. package/browser/lib/resize-service.d.ts +8 -8
  45. package/browser/tnp-helpers.d.ts +4 -4
  46. package/client/README.md +24 -24
  47. package/client/esm2020/lib/angular.helper.mjs +87 -87
  48. package/client/esm2020/lib/base-component.mjs +49 -49
  49. package/client/esm2020/lib/base-formly-component.mjs +112 -112
  50. package/client/esm2020/lib/condition-wait.mjs +45 -45
  51. package/client/esm2020/lib/constants.mjs +8 -8
  52. package/client/esm2020/lib/dual-component-ctrl.mjs +118 -118
  53. package/client/esm2020/lib/firedev-models.mjs +3 -3
  54. package/client/esm2020/lib/helpers-array-obj.mjs +82 -82
  55. package/client/esm2020/lib/helpers-browser.mjs +46 -46
  56. package/client/esm2020/lib/helpers-console-gui.mjs +9 -9
  57. package/client/esm2020/lib/helpers-environment.mjs +32 -32
  58. package/client/esm2020/lib/helpers-numbers.mjs +7 -7
  59. package/client/esm2020/lib/helpers-strings-regexes.mjs +50 -50
  60. package/client/esm2020/lib/helpers-strings.mjs +252 -252
  61. package/client/esm2020/lib/helpers.mjs +285 -285
  62. package/client/esm2020/lib/index.mjs +15 -15
  63. package/client/esm2020/lib/long-press.directive.mjs +112 -112
  64. package/client/esm2020/lib/project.mjs +429 -429
  65. package/client/esm2020/lib/resize-service.mjs +21 -21
  66. package/client/esm2020/public-api.mjs +1 -1
  67. package/client/esm2020/tnp-helpers.mjs +4 -4
  68. package/client/fesm2015/tnp-helpers.mjs +1686 -1686
  69. package/client/fesm2020/tnp-helpers.mjs +1676 -1676
  70. package/client/lib/angular.helper.d.ts +35 -35
  71. package/client/lib/base-component.d.ts +16 -16
  72. package/client/lib/base-formly-component.d.ts +30 -30
  73. package/client/lib/condition-wait.d.ts +7 -7
  74. package/client/lib/constants.d.ts +6 -6
  75. package/client/lib/dual-component-ctrl.d.ts +24 -24
  76. package/client/lib/firedev-models.d.ts +12 -12
  77. package/client/lib/helpers-array-obj.d.ts +14 -14
  78. package/client/lib/helpers-browser.d.ts +10 -10
  79. package/client/lib/helpers-console-gui.d.ts +5 -5
  80. package/client/lib/helpers-environment.d.ts +4 -4
  81. package/client/lib/helpers-numbers.d.ts +2 -2
  82. package/client/lib/helpers-strings-regexes.d.ts +27 -27
  83. package/client/lib/helpers-strings.d.ts +49 -49
  84. package/client/lib/helpers.d.ts +33 -33
  85. package/client/lib/index.d.ts +11 -11
  86. package/client/lib/long-press.directive.d.ts +24 -24
  87. package/client/lib/project.d.ts +93 -93
  88. package/client/lib/resize-service.d.ts +8 -8
  89. package/client/tnp-helpers.d.ts +4 -4
  90. package/index.d.ts +1 -1
  91. package/lib/angular.helper.d.ts +35 -35
  92. package/lib/angular.helper.js +3 -3
  93. package/lib/base-component.d.ts +13 -13
  94. package/lib/base-component.js +3 -3
  95. package/lib/base-formly-component.d.ts +27 -27
  96. package/lib/base-formly-component.js +3 -3
  97. package/lib/condition-wait.d.ts +8 -8
  98. package/lib/constants.d.ts +7 -7
  99. package/lib/dual-component-ctrl.d.ts +24 -24
  100. package/lib/dual-component-ctrl.js +3 -3
  101. package/lib/firedev-models.d.ts +13 -13
  102. package/lib/git-project.d.ts +46 -46
  103. package/lib/helpers-array-obj.d.ts +15 -15
  104. package/lib/helpers-browser.d.ts +11 -11
  105. package/lib/helpers-cli-tool.backend.d.ts +55 -55
  106. package/lib/helpers-console-gui.d.ts +17 -17
  107. package/lib/helpers-dependencies.backend.d.ts +11 -11
  108. package/lib/helpers-environment.d.ts +5 -5
  109. package/lib/helpers-file-folders.backend.d.ts +84 -84
  110. package/lib/helpers-git.backend.d.ts +43 -43
  111. package/lib/helpers-json5.backend.d.ts +16 -16
  112. package/lib/helpers-morphi-framework.backend.d.ts +4 -4
  113. package/lib/helpers-network.backend.d.ts +8 -8
  114. package/lib/helpers-npm.backend.d.ts +3 -3
  115. package/lib/helpers-numbers.d.ts +3 -3
  116. package/lib/helpers-path.backend.d.ts +7 -7
  117. package/lib/helpers-process.backend.d.ts +58 -58
  118. package/lib/helpers-strings-regexes.d.ts +28 -28
  119. package/lib/helpers-strings.d.ts +50 -50
  120. package/lib/helpers-system-terminal.backend.d.ts +5 -5
  121. package/lib/helpers-vscode.backend.d.ts +5 -5
  122. package/lib/helpers.d.ts +74 -74
  123. package/lib/index.d.ts +12 -12
  124. package/lib/long-press.directive.d.ts +22 -22
  125. package/lib/merge-helpers.backend.d.ts +23 -23
  126. package/lib/project.d.ts +96 -96
  127. package/lib/resize-service.d.ts +6 -6
  128. package/lib/ts-code/index.d.ts +1 -1
  129. package/lib/ts-code/ts-code-extractor.d.ts +14 -14
  130. package/lib/ts-code/ts-code-modifier.backend.d.ts +12 -12
  131. package/package.json +5 -5
  132. package/package.json_devDependencies.json +222 -222
  133. package/package.json_tnp.json5 +44 -44
  134. package/tmp-environment.json +24 -24
  135. package/websql/README.md +24 -24
  136. package/websql/esm2020/lib/angular.helper.mjs +87 -87
  137. package/websql/esm2020/lib/base-component.mjs +49 -49
  138. package/websql/esm2020/lib/base-formly-component.mjs +112 -112
  139. package/websql/esm2020/lib/condition-wait.mjs +45 -45
  140. package/websql/esm2020/lib/constants.mjs +8 -8
  141. package/websql/esm2020/lib/dual-component-ctrl.mjs +118 -118
  142. package/websql/esm2020/lib/firedev-models.mjs +3 -3
  143. package/websql/esm2020/lib/helpers-array-obj.mjs +82 -82
  144. package/websql/esm2020/lib/helpers-browser.mjs +46 -46
  145. package/websql/esm2020/lib/helpers-console-gui.mjs +9 -9
  146. package/websql/esm2020/lib/helpers-environment.mjs +32 -32
  147. package/websql/esm2020/lib/helpers-numbers.mjs +7 -7
  148. package/websql/esm2020/lib/helpers-strings-regexes.mjs +50 -50
  149. package/websql/esm2020/lib/helpers-strings.mjs +252 -252
  150. package/websql/esm2020/lib/helpers.mjs +285 -285
  151. package/websql/esm2020/lib/index.mjs +15 -15
  152. package/websql/esm2020/lib/long-press.directive.mjs +112 -112
  153. package/websql/esm2020/lib/project.mjs +429 -429
  154. package/websql/esm2020/lib/resize-service.mjs +21 -21
  155. package/websql/esm2020/public-api.mjs +1 -1
  156. package/websql/esm2020/tnp-helpers.mjs +4 -4
  157. package/websql/fesm2015/tnp-helpers.mjs +1686 -1686
  158. package/websql/fesm2020/tnp-helpers.mjs +1676 -1676
  159. package/websql/lib/angular.helper.d.ts +35 -35
  160. package/websql/lib/base-component.d.ts +16 -16
  161. package/websql/lib/base-formly-component.d.ts +30 -30
  162. package/websql/lib/condition-wait.d.ts +7 -7
  163. package/websql/lib/constants.d.ts +6 -6
  164. package/websql/lib/dual-component-ctrl.d.ts +24 -24
  165. package/websql/lib/firedev-models.d.ts +12 -12
  166. package/websql/lib/helpers-array-obj.d.ts +14 -14
  167. package/websql/lib/helpers-browser.d.ts +10 -10
  168. package/websql/lib/helpers-console-gui.d.ts +5 -5
  169. package/websql/lib/helpers-environment.d.ts +4 -4
  170. package/websql/lib/helpers-numbers.d.ts +2 -2
  171. package/websql/lib/helpers-strings-regexes.d.ts +27 -27
  172. package/websql/lib/helpers-strings.d.ts +49 -49
  173. package/websql/lib/helpers.d.ts +33 -33
  174. package/websql/lib/index.d.ts +11 -11
  175. package/websql/lib/long-press.directive.d.ts +24 -24
  176. package/websql/lib/project.d.ts +93 -93
  177. package/websql/lib/resize-service.d.ts +8 -8
  178. package/websql/tnp-helpers.d.ts +4 -4
@@ -41,11 +41,11 @@
41
41
  "firedev-helpers"
42
42
  ]
43
43
  },
44
- "version": "13.1.26",
44
+ "version": "13.1.28",
45
45
  "dependencies": {
46
- "json10-writer": "~13.1.34",
47
- "morphi": "~13.2.1",
48
- "tnp-models": "~13.1.17"
46
+ "json10-writer": "~13.1.36",
47
+ "morphi": "~13.2.3",
48
+ "tnp-models": "~13.1.20"
49
49
  },
50
50
  "scripts": {
51
51
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -127,7 +127,7 @@
127
127
  "accepts": "1.3.4",
128
128
  "any-project-cli": "~13.1.23",
129
129
  "axios": "1.3.5",
130
- "background-worker-process": "~13.1.38",
130
+ "background-worker-process": "~13.1.39",
131
131
  "base32": "0.0.7",
132
132
  "bcryptjs": "2.4.3",
133
133
  "better-sqlite3": "7.6.2",
@@ -171,11 +171,11 @@
171
171
  "file-loader": "1.1.5",
172
172
  "file-saver": "2.0.5",
173
173
  "firedev": "^13",
174
- "firedev-crud": "~13.1.43",
174
+ "firedev-crud": "~13.1.44",
175
175
  "firedev-crud-deamon": "~13.1.33",
176
- "firedev-ports": "~13.1.37",
176
+ "firedev-ports": "~13.1.38",
177
177
  "firedev-storage": "~13.1.28",
178
- "firedev-typeorm": "~13.1.18",
178
+ "firedev-typeorm": "~13.1.23",
179
179
  "firedev-ui": "~13.1.8",
180
180
  "fkill": "6.1.0",
181
181
  "font-awesome": "4.7.0",
@@ -188,16 +188,16 @@
188
188
  "http-proxy": "1.16.2",
189
189
  "http-proxy-middleware": "0.19.1",
190
190
  "http-server": "0.11.1",
191
- "incremental-compiler": "~13.1.17",
191
+ "incremental-compiler": "~13.1.21",
192
192
  "inquirer": "7.3.3",
193
193
  "inquirer-autocomplete-prompt": "1.3.0",
194
194
  "is-elevated": "3.0.0",
195
- "isomorphic-region-loader": "~13.1.31",
195
+ "isomorphic-region-loader": "~13.1.32",
196
196
  "istanbul-instrumenter-loader": "2.0.0",
197
197
  "jasmine-core": "4.0.0",
198
198
  "jscodeshift": "0.6.3",
199
199
  "json-stringify-safe": "5.0.1",
200
- "json10": "~13.1.36",
200
+ "json10": "~13.1.40",
201
201
  "json5": "2.1.3",
202
202
  "json5-writer": "0.2.0",
203
203
  "jszip": "3.10.1",
@@ -211,7 +211,7 @@
211
211
  "localforage": "1.10.0",
212
212
  "lockfile": "1.0.4",
213
213
  "lodash": "4.17.4",
214
- "lodash-walk-object": "~13.1.36",
214
+ "lodash-walk-object": "~13.1.40",
215
215
  "lowdb": "1.0.0",
216
216
  "magic-renamer": "~13.1.25",
217
217
  "material-design-icons": "3.0.1",
@@ -223,8 +223,8 @@
223
223
  "ng-packagr": "13.0.0",
224
224
  "ng-talkback": "~13.1.19",
225
225
  "ng2-file-upload": "1.3.0",
226
- "ng2-logger": "~13.1.15",
227
- "ng2-rest": "~13.2.1",
226
+ "ng2-logger": "~13.1.19",
227
+ "ng2-rest": "~13.2.3",
228
228
  "ng4-icons": "~13.1.21",
229
229
  "ng4-modal": "~13.1.23",
230
230
  "ngx-bootstrap": "8.0.0",
@@ -267,16 +267,16 @@
267
267
  "socket.io": "2.4.1",
268
268
  "sort-package-json": "1.11.0",
269
269
  "sql.js": "1.8.0",
270
- "static-columns": "~13.1.31",
270
+ "static-columns": "~13.3.2",
271
271
  "string-similarity": "4.0.2",
272
272
  "sudo-block": "3.0.0",
273
273
  "systeminformation": "3.45.7",
274
274
  "task.js": "0.1.5",
275
- "tnp-cli": "~13.1.50",
276
- "tnp-config": "~13.1.64",
277
- "tnp-core": "~13.2.7",
275
+ "tnp-cli": "~13.1.54",
276
+ "tnp-config": "~13.1.70",
277
+ "tnp-core": "~13.2.12",
278
278
  "tnp-db": "~13.1.16",
279
- "tnp-helpers": "~13.1.25",
279
+ "tnp-helpers": "~13.1.27",
280
280
  "tnp-ui": "~13.1.27",
281
281
  "ts-debug": "1.3.0",
282
282
  "ts-loader": "2.3.1",
@@ -284,7 +284,7 @@
284
284
  "tslib": "~2.3.0",
285
285
  "typeorm": "~0.3.10",
286
286
  "typescript": "~4.6.2",
287
- "typescript-class-helpers": "~13.2.1",
287
+ "typescript-class-helpers": "~13.2.5",
288
288
  "typescript-formatter": "~7.2.2",
289
289
  "underscore": "1.9.1",
290
290
  "uuid": "8.3.2",
@@ -294,12 +294,12 @@
294
294
  "yup": "1.1.1",
295
295
  "zone.js": "~0.11.4"
296
296
  },
297
- "lastBuildTagHash": "474e568aa4208d86a89eea9c508d5921413c996c"
297
+ "lastBuildTagHash": "03fe410b04016475679b566afd3a9bd98a7f8d3b"
298
298
  },
299
299
  "build": {
300
- "number": 523,
301
- "date": "2023-04-21T23:34:12.000Z",
302
- "hash": "e44e05906f801decd15bd2237c3712aee4a970eb",
300
+ "number": 527,
301
+ "date": "2023-04-23T16:30:17.000Z",
302
+ "hash": "55df5dd476cfe5a70b5fe9de0b58bdbb0dc784a3",
303
303
  "options": {}
304
304
  },
305
305
  "currentProjectName": "tnp-helpers",
package/websql/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # MyLib
2
-
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
-
5
- ## Code scaffolding
6
-
7
- Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
- > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
-
10
- ## Build
11
-
12
- Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
-
14
- ## Publishing
15
-
16
- After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
-
18
- ## Running unit tests
19
-
20
- Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
-
22
- ## Further help
23
-
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
1
+ # MyLib
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
8
+ > Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
@@ -1,88 +1,88 @@
1
- import { Subject } from "rxjs";
2
- const componentContextSymbol = Symbol();
3
- const componentsDestroy$Subjects = {};
4
- export class SerializedSubject {
5
- constructor(id) {
6
- this.id = id;
7
- }
8
- }
9
- export var NgHelpers;
10
- (function (NgHelpers) {
11
- function subjectId(destroySubject) {
12
- const id = Math.random().toString(36).substring(2);
13
- if (!destroySubject[componentContextSymbol]) {
14
- destroySubject[componentContextSymbol] = new SerializedSubject(id);
15
- componentsDestroy$Subjects[id] = destroySubject;
16
- }
17
- return destroySubject[componentContextSymbol];
18
- }
19
- /**
20
- * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();
21
- */
22
- function serialize(destroy$) {
23
- return subjectId(destroy$);
24
- }
25
- NgHelpers.serialize = serialize;
26
- /**
27
- * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();
28
- */
29
- function deserialize(destroy$) {
30
- if (destroy$?.id) {
31
- const realDestroySubject = componentsDestroy$Subjects[destroy$.id];
32
- return realDestroySubject;
33
- }
34
- return new Subject();
35
- }
36
- NgHelpers.deserialize = deserialize;
37
- function unsubscribe(destroy$) {
38
- const destroySubject = subjectId(destroy$);
39
- if (destroySubject?.id) {
40
- delete componentsDestroy$Subjects[destroySubject.id];
41
- delete destroySubject[componentContextSymbol];
42
- }
43
- }
44
- NgHelpers.unsubscribe = unsubscribe;
45
- /**
46
- get properties from scss file
47
-
48
-
49
- import styles from './tasks-ngrx-data.component.scss';
50
-
51
- export class ExampleComponent {
52
- sassFile = sassFile(styles);
53
-
54
- async ngOnInit() {
55
- this.tasksService.getAll();
56
- console.log(this.sassFile.stringValue('--max-container-size'))
57
- console.log(this.sassFile.numberValue('--max-container-size'))
58
- }
59
- }
60
- */
61
- function sassFile(styles) {
62
- const lines = (styles.split('\n'));
63
- return {
64
- stringValue: (name) => {
65
- for (let index = 0; index < lines.length; index++) {
66
- const l = lines[index];
67
- const [varName, value] = l.trim().split(':');
68
- if (varName === name) {
69
- return value.replace(';', '');
70
- }
71
- }
72
- },
73
- numberValue: (name) => {
74
- for (let index = 0; index < lines.length; index++) {
75
- const l = lines[index];
76
- const [varName, value] = l.trim().split(':');
77
- if (varName === name) {
78
- return Number(value.replace('px', '').replace(';', ''));
79
- }
80
- }
81
- }
82
- };
83
- }
84
- NgHelpers.sassFile = sassFile;
85
- })(NgHelpers || (NgHelpers = {}));
86
- ;
87
- ({}); // @--end-of-file-for-module=tnp-helpers lib/angular.helper.ts
1
+ import { Subject } from "rxjs";
2
+ const componentContextSymbol = Symbol();
3
+ const componentsDestroy$Subjects = {};
4
+ export class SerializedSubject {
5
+ constructor(id) {
6
+ this.id = id;
7
+ }
8
+ }
9
+ export var NgHelpers;
10
+ (function (NgHelpers) {
11
+ function subjectId(destroySubject) {
12
+ const id = Math.random().toString(36).substring(2);
13
+ if (!destroySubject[componentContextSymbol]) {
14
+ destroySubject[componentContextSymbol] = new SerializedSubject(id);
15
+ componentsDestroy$Subjects[id] = destroySubject;
16
+ }
17
+ return destroySubject[componentContextSymbol];
18
+ }
19
+ /**
20
+ * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();
21
+ */
22
+ function serialize(destroy$) {
23
+ return subjectId(destroy$);
24
+ }
25
+ NgHelpers.serialize = serialize;
26
+ /**
27
+ * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();
28
+ */
29
+ function deserialize(destroy$) {
30
+ if (destroy$?.id) {
31
+ const realDestroySubject = componentsDestroy$Subjects[destroy$.id];
32
+ return realDestroySubject;
33
+ }
34
+ return new Subject();
35
+ }
36
+ NgHelpers.deserialize = deserialize;
37
+ function unsubscribe(destroy$) {
38
+ const destroySubject = subjectId(destroy$);
39
+ if (destroySubject?.id) {
40
+ delete componentsDestroy$Subjects[destroySubject.id];
41
+ delete destroySubject[componentContextSymbol];
42
+ }
43
+ }
44
+ NgHelpers.unsubscribe = unsubscribe;
45
+ /**
46
+ get properties from scss file
47
+
48
+
49
+ import styles from './tasks-ngrx-data.component.scss';
50
+
51
+ export class ExampleComponent {
52
+ sassFile = sassFile(styles);
53
+
54
+ async ngOnInit() {
55
+ this.tasksService.getAll();
56
+ console.log(this.sassFile.stringValue('--max-container-size'))
57
+ console.log(this.sassFile.numberValue('--max-container-size'))
58
+ }
59
+ }
60
+ */
61
+ function sassFile(styles) {
62
+ const lines = (styles.split('\n'));
63
+ return {
64
+ stringValue: (name) => {
65
+ for (let index = 0; index < lines.length; index++) {
66
+ const l = lines[index];
67
+ const [varName, value] = l.trim().split(':');
68
+ if (varName === name) {
69
+ return value.replace(';', '');
70
+ }
71
+ }
72
+ },
73
+ numberValue: (name) => {
74
+ for (let index = 0; index < lines.length; index++) {
75
+ const l = lines[index];
76
+ const [varName, value] = l.trim().split(':');
77
+ if (varName === name) {
78
+ return Number(value.replace('px', '').replace(';', ''));
79
+ }
80
+ }
81
+ }
82
+ };
83
+ }
84
+ NgHelpers.sassFile = sassFile;
85
+ })(NgHelpers || (NgHelpers = {}));
86
+ ;
87
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/angular.helper.ts
88
88
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2FuZ3VsYXIuaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0MsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUN4QyxNQUFNLDBCQUEwQixHQUFHLEVBQUUsQ0FBQztBQUV0QyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ1MsRUFBVTtRQUFWLE9BQUUsR0FBRixFQUFFLENBQVE7SUFDZixDQUFDO0NBQ047QUFFRCxNQUFNLEtBQVcsU0FBUyxDQThFekI7QUE5RUQsV0FBaUIsU0FBUztJQUV4QixTQUFTLFNBQVMsQ0FBQyxjQUE0QjtRQUM3QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDM0MsY0FBYyxDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSwwQkFBMEIsQ0FBQyxFQUFFLENBQUMsR0FBRyxjQUFjLENBQUM7U0FDakQ7UUFDRCxPQUFPLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNILFNBQWdCLFNBQVMsQ0FBQyxRQUFzQjtRQUM5QyxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRmUsbUJBQVMsWUFFeEIsQ0FBQTtJQUVEOztPQUVHO0lBQ0gsU0FBZ0IsV0FBVyxDQUFDLFFBQWdDO1FBQzFELElBQUksUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUNoQixNQUFNLGtCQUFrQixHQUFHLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxPQUFPLGtCQUFrQixDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFOZSxxQkFBVyxjQU0xQixDQUFBO0lBRUQsU0FBZ0IsV0FBVyxDQUFDLFFBQXNCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLGNBQWMsRUFBRSxFQUFFLEVBQUU7WUFDdEIsT0FBTywwQkFBMEIsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckQsT0FBTyxjQUFjLENBQUMsc0JBQXNCLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFOZSxxQkFBVyxjQU0xQixDQUFBO0lBSUQ7Ozs7Ozs7Ozs7Ozs7OztTQWVLO0lBQ0wsU0FBZ0IsUUFBUSxDQUFDLE1BQWM7UUFDckMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkMsT0FBTztZQUNMLFdBQVcsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO2dCQUM1QixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtvQkFDakQsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN2QixNQUFNLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQzdDLElBQUksT0FBTyxLQUFLLElBQUksRUFBRTt3QkFDcEIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztxQkFDL0I7aUJBQ0Y7WUFDSCxDQUFDO1lBQ0QsV0FBVyxFQUFFLENBQUMsSUFBWSxFQUFVLEVBQUU7Z0JBQ3BDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO29CQUNqRCxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3ZCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0MsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFO3dCQUNwQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ3pEO2lCQUNGO1lBQ0gsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0lBdEJlLGtCQUFRLFdBc0J2QixDQUFBO0FBQ0gsQ0FBQyxFQTlFZ0IsU0FBUyxLQUFULFNBQVMsUUE4RXpCO0FBSUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw4REFBOEQiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5jb25zdCBjb21wb25lbnRDb250ZXh0U3ltYm9sID0gU3ltYm9sKCk7XG5jb25zdCBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0cyA9IHt9O1xuXG5leHBvcnQgY2xhc3MgU2VyaWFsaXplZFN1YmplY3Q8VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWQ6IHN0cmluZ1xuICApIHsgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIE5nSGVscGVycyB7XG5cbiAgZnVuY3Rpb24gc3ViamVjdElkKGRlc3Ryb3lTdWJqZWN0OiBTdWJqZWN0PGFueT4pOiBTZXJpYWxpemVkU3ViamVjdDxhbnk+IHtcbiAgICBjb25zdCBpZCA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICBpZiAoIWRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdKSB7XG4gICAgICBkZXN0cm95U3ViamVjdFtjb21wb25lbnRDb250ZXh0U3ltYm9sXSA9IG5ldyBTZXJpYWxpemVkU3ViamVjdChpZCk7XG4gICAgICBjb21wb25lbnRzRGVzdHJveSRTdWJqZWN0c1tpZF0gPSBkZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzZXJpYWxpemUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pik6IFNlcmlhbGl6ZWRTdWJqZWN0PGFueT4ge1xuICAgIHJldHVybiBzdWJqZWN0SWQoZGVzdHJveSQpO1xuICB9XG5cbiAgLyoqXG4gICAqIGlmIHlvdSBhcmUgdXNpbmcgdGhpcy4uIHBsZWFzZSBjYWxsIEhlbHBlcnMubmcudW5zdWJzY3JpYmUodGhpcy4kZGVzdHJveSkgaW4gbmdPbkRlc3Ryb3koKTtcbiAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBkZXNlcmlhbGl6ZShkZXN0cm95JDogU2VyaWFsaXplZFN1YmplY3Q8YW55Pik6IFN1YmplY3Q8YW55PiB7XG4gICAgaWYgKGRlc3Ryb3kkPy5pZCkge1xuICAgICAgY29uc3QgcmVhbERlc3Ryb3lTdWJqZWN0ID0gY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveSQuaWRdO1xuICAgICAgcmV0dXJuIHJlYWxEZXN0cm95U3ViamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTdWJqZWN0KCk7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gdW5zdWJzY3JpYmUoZGVzdHJveSQ6IFN1YmplY3Q8YW55Pikge1xuICAgIGNvbnN0IGRlc3Ryb3lTdWJqZWN0ID0gc3ViamVjdElkKGRlc3Ryb3kkKTtcbiAgICBpZiAoZGVzdHJveVN1YmplY3Q/LmlkKSB7XG4gICAgICBkZWxldGUgY29tcG9uZW50c0Rlc3Ryb3kkU3ViamVjdHNbZGVzdHJveVN1YmplY3QuaWRdO1xuICAgICAgZGVsZXRlIGRlc3Ryb3lTdWJqZWN0W2NvbXBvbmVudENvbnRleHRTeW1ib2xdO1xuICAgIH1cbiAgfVxuXG5cblxuICAvKipcbiAgZ2V0IHByb3BlcnRpZXMgZnJvbSBzY3NzIGZpbGVcblxuXG4gIGltcG9ydCBzdHlsZXMgZnJvbSAnLi90YXNrcy1uZ3J4LWRhdGEuY29tcG9uZW50LnNjc3MnO1xuXG4gIGV4cG9ydCBjbGFzcyBFeGFtcGxlQ29tcG9uZW50IHtcbiAgICBzYXNzRmlsZSA9IHNhc3NGaWxlKHN0eWxlcyk7XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgIHRoaXMudGFza3NTZXJ2aWNlLmdldEFsbCgpO1xuICAgICAgY29uc29sZS5sb2codGhpcy5zYXNzRmlsZS5zdHJpbmdWYWx1ZSgnLS1tYXgtY29udGFpbmVyLXNpemUnKSlcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2Fzc0ZpbGUubnVtYmVyVmFsdWUoJy0tbWF4LWNvbnRhaW5lci1zaXplJykpXG4gICAgfVxuICB9XG4gICAgICovXG4gIGV4cG9ydCBmdW5jdGlvbiBzYXNzRmlsZShzdHlsZXM6IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmVzID0gKHN0eWxlcy5zcGxpdCgnXFxuJykpO1xuICAgIHJldHVybiB7XG4gICAgICBzdHJpbmdWYWx1ZTogKG5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoJzsnLCAnJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbnVtYmVyVmFsdWU6IChuYW1lOiBzdHJpbmcpOiBudW1iZXIgPT4ge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGluZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgY29uc3QgbCA9IGxpbmVzW2luZGV4XTtcbiAgICAgICAgICBjb25zdCBbdmFyTmFtZSwgdmFsdWVdID0gbC50cmltKCkuc3BsaXQoJzonKTtcbiAgICAgICAgICBpZiAodmFyTmFtZSA9PT0gbmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZS5yZXBsYWNlKCdweCcsICcnKS5yZXBsYWNlKCc7JywgJycpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYW5ndWxhci5oZWxwZXIudHMiXX0=
@@ -1,50 +1,50 @@
1
- import { Component, Input } from '@angular/core';
2
- import { NavigationEnd } from '@angular/router';
3
- import * as i0 from "@angular/core";
4
- export class BaseComponent {
5
- constructor() {
6
- // @ts-ignore
7
- this.model = {};
8
- this.handlers = [];
9
- }
10
- ngOnDestroy() {
11
- this.handlers.forEach(h => h.unsubscribe());
12
- this.handlers.length = 0;
13
- }
14
- }
15
- BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
- BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BaseComponent, selector: "app-base-component-meta", inputs: { model: "model" }, ngImport: i0, template: '<div></div>', isInline: true });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseComponent, decorators: [{
18
- type: Component,
19
- args: [{
20
- selector: 'app-base-component-meta',
21
- template: '<div></div>'
22
- }]
23
- }], propDecorators: { model: [{
24
- type: Input
25
- }] } });
26
- const isCalledNgInitAfterInternalRefresh = Symbol();
27
- export class BaseComponentForRouter extends BaseComponent {
28
- constructor(__router) {
29
- super();
30
- this.__router = __router;
31
- this[isCalledNgInitAfterInternalRefresh] = false;
32
- }
33
- isCalledNgInitAfterInternalRefresh() {
34
- return !!this[isCalledNgInitAfterInternalRefresh];
35
- }
36
- reloadNgOninitOnUrlChange() {
37
- this.handlers.push(this.__router.events.subscribe(event => {
38
- if (event instanceof NavigationEnd && this['ngOnInit']) {
39
- this[isCalledNgInitAfterInternalRefresh] = true;
40
- this['ngOnInit']();
41
- if (this[isCalledNgInitAfterInternalRefresh]) {
42
- this[isCalledNgInitAfterInternalRefresh] = false;
43
- }
44
- }
45
- }));
46
- }
47
- }
48
- ;
49
- ({}); // @--end-of-file-for-module=tnp-helpers lib/base-component.ts
1
+ import { Component, Input } from '@angular/core';
2
+ import { NavigationEnd } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ export class BaseComponent {
5
+ constructor() {
6
+ // @ts-ignore
7
+ this.model = {};
8
+ this.handlers = [];
9
+ }
10
+ ngOnDestroy() {
11
+ this.handlers.forEach(h => h.unsubscribe());
12
+ this.handlers.length = 0;
13
+ }
14
+ }
15
+ BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: BaseComponent, selector: "app-base-component-meta", inputs: { model: "model" }, ngImport: i0, template: '<div></div>', isInline: true });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseComponent, decorators: [{
18
+ type: Component,
19
+ args: [{
20
+ selector: 'app-base-component-meta',
21
+ template: '<div></div>'
22
+ }]
23
+ }], propDecorators: { model: [{
24
+ type: Input
25
+ }] } });
26
+ const isCalledNgInitAfterInternalRefresh = Symbol();
27
+ export class BaseComponentForRouter extends BaseComponent {
28
+ constructor(__router) {
29
+ super();
30
+ this.__router = __router;
31
+ this[isCalledNgInitAfterInternalRefresh] = false;
32
+ }
33
+ isCalledNgInitAfterInternalRefresh() {
34
+ return !!this[isCalledNgInitAfterInternalRefresh];
35
+ }
36
+ reloadNgOninitOnUrlChange() {
37
+ this.handlers.push(this.__router.events.subscribe(event => {
38
+ if (event instanceof NavigationEnd && this['ngOnInit']) {
39
+ this[isCalledNgInitAfterInternalRefresh] = true;
40
+ this['ngOnInit']();
41
+ if (this[isCalledNgInitAfterInternalRefresh]) {
42
+ this[isCalledNgInitAfterInternalRefresh] = false;
43
+ }
44
+ }
45
+ }));
46
+ }
47
+ }
48
+ ;
49
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base-component.ts
50
50
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItYnVuZGxlLXdlYnNxbC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7O0FBT3hELE1BQU0sT0FBZ0IsYUFBYTtJQUpuQztRQU1FLGFBQWE7UUFDSixVQUFLLEdBQVEsRUFBRSxDQUFDO1FBRXpCLGFBQVEsR0FBbUIsRUFBRSxDQUFDO0tBUS9CO0lBTkMsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7OzJHQVZtQixhQUFhOytGQUFiLGFBQWEsMkZBRnZCLGFBQWE7NEZBRUgsYUFBYTtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7OEJBSVUsS0FBSztzQkFBYixLQUFLOztBQVlSLE1BQU0sa0NBQWtDLEdBQUcsTUFBTSxFQUFFLENBQUE7QUFFbkQsTUFBTSxPQUFnQixzQkFBdUIsU0FBUSxhQUFhO0lBRWhFLFlBQ1UsUUFBZ0I7UUFFeEIsS0FBSyxFQUFFLENBQUM7UUFGQSxhQUFRLEdBQVIsUUFBUSxDQUFRO1FBR3hCLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUNuRCxDQUFDO0lBR1Msa0NBQWtDO1FBQzFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDUyx5QkFBeUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hELElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3RELElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLElBQUksSUFBSSxDQUFDLGtDQUFrQyxDQUFDLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxHQUFHLEtBQUssQ0FBQztpQkFDbEQ7YUFDRjtRQUNILENBQUMsQ0FBUSxDQUFDLENBQUM7SUFDYixDQUFDO0NBRUY7QUFHQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhEQUE4RCIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPbkRlc3Ryb3ksIE9uSW5pdCwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmFzZS1jb21wb25lbnQtbWV0YScsXG4gIHRlbXBsYXRlOiAnPGRpdj48L2Rpdj4nXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIC8vIEB0cy1pZ25vcmVcbiAgQElucHV0KCkgbW9kZWw6IGFueSA9IHt9O1xuXG4gIGhhbmRsZXJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlcnMuZm9yRWFjaChoID0+IGgudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5oYW5kbGVycy5sZW5ndGggPSAwO1xuICB9XG5cblxufVxuXG5jb25zdCBpc0NhbGxlZE5nSW5pdEFmdGVySW50ZXJuYWxSZWZyZXNoID0gU3ltYm9sKClcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnRGb3JSb3V0ZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9fcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzW2lzQ2FsbGVkTmdJbml0QWZ0ZXJJbnRlcm5hbFJlZnJlc2hdID0gZmFsc2U7XG4gIH1cblxuXG4gIHByb3RlY3RlZCBpc0NhbGxlZE5nSW5pdEFmdGVySW50ZXJuYWxSZWZyZXNoKCkge1xuICAgIHJldHVybiAhIXRoaXNbaXNDYWxsZWROZ0luaXRBZnRlckludGVybmFsUmVmcmVzaF07XG4gIH1cbiAgcHJvdGVjdGVkIHJlbG9hZE5nT25pbml0T25VcmxDaGFuZ2UoKSB7XG4gICAgdGhpcy5oYW5kbGVycy5wdXNoKHRoaXMuX19yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIHRoaXNbJ25nT25Jbml0J10pIHtcbiAgICAgICAgdGhpc1tpc0NhbGxlZE5nSW5pdEFmdGVySW50ZXJuYWxSZWZyZXNoXSA9IHRydWU7XG4gICAgICAgIHRoaXNbJ25nT25Jbml0J10oKTtcbiAgICAgICAgaWYgKHRoaXNbaXNDYWxsZWROZ0luaXRBZnRlckludGVybmFsUmVmcmVzaF0pIHtcbiAgICAgICAgICB0aGlzW2lzQ2FsbGVkTmdJbml0QWZ0ZXJJbnRlcm5hbFJlZnJlc2hdID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSBhcyBhbnkpO1xuICB9XG5cbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UtY29tcG9uZW50LnRzIl19