ngx-ode-ui 4.6.0-dev-produit.3 → 4.6.0-dev-integration.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bundles/ngx-ode-ui.umd.js +5804 -0
  3. package/bundles/ngx-ode-ui.umd.js.map +1 -0
  4. package/bundles/ngx-ode-ui.umd.min.js +17 -0
  5. package/bundles/ngx-ode-ui.umd.min.js.map +1 -0
  6. package/esm2015/lib/components/datepicker/datepicker.component.js +261 -0
  7. package/esm2015/lib/components/dropdown/dropdown.component.js +76 -0
  8. package/esm2015/lib/components/ellipsis/ellipsis.component.js +98 -0
  9. package/esm2015/lib/components/form-errors/form-errors.component.js +65 -0
  10. package/esm2015/lib/components/form-field/form-field.component.js +40 -0
  11. package/esm2015/lib/components/item-tree/item-tree.component.js +289 -0
  12. package/esm2015/lib/components/lightbox/lightbox.component.js +129 -0
  13. package/esm2015/lib/components/lightbox-confirm/lightbox-confirm.component.js +65 -0
  14. package/esm2015/lib/components/list/list.component.js +140 -0
  15. package/esm2015/lib/components/list-checkable/list-checkable.component.js +137 -0
  16. package/esm2015/lib/components/message-box/message-box.component.js +153 -0
  17. package/esm2015/lib/components/message-sticker/message-sticker.component.js +81 -0
  18. package/esm2015/lib/components/mono-select/mono-select.component.js +164 -0
  19. package/esm2015/lib/components/multi-combo/multi-combo.component.js +255 -0
  20. package/esm2015/lib/components/multi-select/multi-select.component.js +214 -0
  21. package/esm2015/lib/components/panel-section/panel-section.component.js +38 -0
  22. package/esm2015/lib/components/portal/portal.component.js +27 -0
  23. package/esm2015/lib/components/push-panel/push-panel.component.js +81 -0
  24. package/esm2015/lib/components/search-input/search-input.component.js +176 -0
  25. package/esm2015/lib/components/search-toolbar/search-toolbar.component.js +84 -0
  26. package/esm2015/lib/components/side-layout/side-layout.component.js +39 -0
  27. package/esm2015/lib/components/side-panel/side-panel.component.js +76 -0
  28. package/esm2015/lib/components/spinner-cube/spinner-cube.component.js +67 -0
  29. package/esm2015/lib/components/table/pager.component.js +95 -0
  30. package/esm2015/lib/components/tooltip/tooltip.component.js +172 -0
  31. package/esm2015/lib/components/upload-files/upload-files.component.js +112 -0
  32. package/esm2015/lib/components/value-editable/simple-select.component.js +57 -0
  33. package/esm2015/lib/components/wizard/wizard.component.js +225 -0
  34. package/esm2015/lib/directives/anchor.directive.js +34 -0
  35. package/esm2015/lib/directives/drag-and-drop-files.directive.js +126 -0
  36. package/esm2015/lib/directives/dynamic-component/component-descriptor.model.js +34 -0
  37. package/esm2015/lib/directives/dynamic-component/dynamic-component.directive.js +100 -0
  38. package/esm2015/lib/directives/dynamictemplate.directive.js +159 -0
  39. package/esm2015/lib/directives/object-url.directive.js +53 -0
  40. package/esm2015/lib/ngx-ode-ui.module.js +188 -0
  41. package/esm2015/lib/pipes/bytes.pipe.js +27 -0
  42. package/esm2015/lib/pipes/filter.pipe.js +141 -0
  43. package/esm2015/lib/pipes/flattenObjArray.pipe.js +52 -0
  44. package/esm2015/lib/pipes/keys.pipe.js +27 -0
  45. package/esm2015/lib/pipes/length.pipe.js +22 -0
  46. package/esm2015/lib/pipes/limit.pipe.js +24 -0
  47. package/esm2015/lib/pipes/localizedDate.pipe.js +44 -0
  48. package/esm2015/lib/pipes/orderBy.pipe.js +269 -0
  49. package/esm2015/lib/pipes/store.pipe.js +24 -0
  50. package/esm2015/lib/services/dynamicModuleImports.service.js +19 -0
  51. package/esm2015/lib/services/inputFile.service.js +80 -0
  52. package/esm2015/lib/services/labels.service.js +54 -0
  53. package/esm2015/lib/services/spinner.service.js +163 -0
  54. package/esm2015/lib/utils/math.js +49 -0
  55. package/esm2015/lib/utils/string.js +29 -0
  56. package/esm2015/lib/utils/testing.js +20 -0
  57. package/esm2015/ngx-ode-ui.js +12 -0
  58. package/esm2015/public-api.js +59 -0
  59. package/esm5/lib/components/datepicker/datepicker.component.js +292 -0
  60. package/esm5/lib/components/dropdown/dropdown.component.js +81 -0
  61. package/esm5/lib/components/ellipsis/ellipsis.component.js +106 -0
  62. package/esm5/lib/components/form-errors/form-errors.component.js +73 -0
  63. package/esm5/lib/components/form-field/form-field.component.js +41 -0
  64. package/esm5/lib/components/item-tree/item-tree.component.js +345 -0
  65. package/esm5/lib/components/lightbox/lightbox.component.js +141 -0
  66. package/esm5/lib/components/lightbox-confirm/lightbox-confirm.component.js +67 -0
  67. package/esm5/lib/components/list/list.component.js +146 -0
  68. package/esm5/lib/components/list-checkable/list-checkable.component.js +148 -0
  69. package/esm5/lib/components/message-box/message-box.component.js +190 -0
  70. package/esm5/lib/components/message-sticker/message-sticker.component.js +92 -0
  71. package/esm5/lib/components/mono-select/mono-select.component.js +192 -0
  72. package/esm5/lib/components/multi-combo/multi-combo.component.js +294 -0
  73. package/esm5/lib/components/multi-select/multi-select.component.js +258 -0
  74. package/esm5/lib/components/panel-section/panel-section.component.js +40 -0
  75. package/esm5/lib/components/portal/portal.component.js +28 -0
  76. package/esm5/lib/components/push-panel/push-panel.component.js +91 -0
  77. package/esm5/lib/components/search-input/search-input.component.js +199 -0
  78. package/esm5/lib/components/search-toolbar/search-toolbar.component.js +93 -0
  79. package/esm5/lib/components/side-layout/side-layout.component.js +41 -0
  80. package/esm5/lib/components/side-panel/side-panel.component.js +85 -0
  81. package/esm5/lib/components/spinner-cube/spinner-cube.component.js +76 -0
  82. package/esm5/lib/components/table/pager.component.js +113 -0
  83. package/esm5/lib/components/tooltip/tooltip.component.js +188 -0
  84. package/esm5/lib/components/upload-files/upload-files.component.js +133 -0
  85. package/esm5/lib/components/value-editable/simple-select.component.js +59 -0
  86. package/esm5/lib/components/wizard/wizard.component.js +161 -0
  87. package/esm5/lib/directives/anchor.directive.js +39 -0
  88. package/esm5/lib/directives/drag-and-drop-files.directive.js +146 -0
  89. package/esm5/lib/directives/dynamic-component/component-descriptor.model.js +44 -0
  90. package/esm5/lib/directives/dynamic-component/dynamic-component.directive.js +109 -0
  91. package/esm5/lib/directives/dynamictemplate.directive.js +175 -0
  92. package/esm5/lib/directives/object-url.directive.js +62 -0
  93. package/esm5/lib/ngx-ode-ui.module.js +199 -0
  94. package/esm5/lib/pipes/bytes.pipe.js +37 -0
  95. package/esm5/lib/pipes/filter.pipe.js +179 -0
  96. package/esm5/lib/pipes/flattenObjArray.pipe.js +62 -0
  97. package/esm5/lib/pipes/keys.pipe.js +36 -0
  98. package/esm5/lib/pipes/length.pipe.js +30 -0
  99. package/esm5/lib/pipes/limit.pipe.js +35 -0
  100. package/esm5/lib/pipes/localizedDate.pipe.js +49 -0
  101. package/esm5/lib/pipes/orderBy.pipe.js +280 -0
  102. package/esm5/lib/pipes/store.pipe.js +35 -0
  103. package/esm5/lib/services/dynamicModuleImports.service.js +21 -0
  104. package/esm5/lib/services/inputFile.service.js +98 -0
  105. package/esm5/lib/services/labels.service.js +68 -0
  106. package/esm5/lib/services/spinner.service.js +195 -0
  107. package/esm5/lib/utils/math.js +49 -0
  108. package/esm5/lib/utils/string.js +29 -0
  109. package/esm5/lib/utils/testing.js +20 -0
  110. package/esm5/ngx-ode-ui.js +12 -0
  111. package/esm5/public-api.js +59 -0
  112. package/fesm2015/ngx-ode-ui.js +5027 -0
  113. package/fesm2015/ngx-ode-ui.js.map +1 -0
  114. package/fesm5/ngx-ode-ui.js +5560 -0
  115. package/fesm5/ngx-ode-ui.js.map +1 -0
  116. package/lib/components/datepicker/datepicker.component.d.ts +2 -7
  117. package/lib/components/dropdown/dropdown.component.d.ts +0 -3
  118. package/lib/components/ellipsis/ellipsis.component.d.ts +1 -4
  119. package/lib/components/form-errors/form-errors.component.d.ts +0 -3
  120. package/lib/components/form-field/form-field.component.d.ts +0 -3
  121. package/lib/components/item-tree/item-tree.component.d.ts +1 -5
  122. package/lib/components/lightbox/lightbox.component.d.ts +1 -5
  123. package/lib/components/lightbox-confirm/lightbox-confirm.component.d.ts +0 -3
  124. package/lib/components/list/list.component.d.ts +1 -5
  125. package/lib/components/list-checkable/list-checkable.component.d.ts +1 -5
  126. package/lib/components/message-box/message-box.component.d.ts +4 -8
  127. package/lib/components/message-sticker/message-sticker.component.d.ts +0 -3
  128. package/lib/components/mono-select/mono-select.component.d.ts +0 -3
  129. package/lib/components/multi-combo/multi-combo.component.d.ts +1 -4
  130. package/lib/components/multi-select/multi-select.component.d.ts +0 -3
  131. package/lib/components/panel-section/panel-section.component.d.ts +0 -3
  132. package/lib/components/portal/portal.component.d.ts +0 -3
  133. package/lib/components/push-panel/push-panel.component.d.ts +1 -4
  134. package/lib/components/search-input/search-input.component.d.ts +1 -5
  135. package/lib/components/search-toolbar/search-toolbar.component.d.ts +0 -3
  136. package/lib/components/side-layout/side-layout.component.d.ts +0 -3
  137. package/lib/components/side-panel/side-panel.component.d.ts +1 -4
  138. package/lib/components/spinner-cube/spinner-cube.component.d.ts +1 -5
  139. package/lib/components/table/pager.component.d.ts +0 -3
  140. package/lib/components/tooltip/tooltip.component.d.ts +0 -3
  141. package/lib/components/upload-files/upload-files.component.d.ts +0 -3
  142. package/lib/components/value-editable/simple-select.component.d.ts +0 -3
  143. package/lib/components/wizard/wizard.component.d.ts +0 -5
  144. package/lib/directives/anchor.directive.d.ts +0 -3
  145. package/lib/directives/drag-and-drop-files.directive.d.ts +0 -3
  146. package/lib/directives/dynamic-component/dynamic-component.directive.d.ts +0 -3
  147. package/lib/directives/dynamictemplate.directive.d.ts +1 -4
  148. package/lib/directives/object-url.directive.d.ts +0 -3
  149. package/lib/ngx-ode-ui.module.d.ts +2 -53
  150. package/lib/pipes/bytes.pipe.d.ts +0 -3
  151. package/lib/pipes/filter.pipe.d.ts +0 -3
  152. package/lib/pipes/flattenObjArray.pipe.d.ts +0 -3
  153. package/lib/pipes/keys.pipe.d.ts +0 -3
  154. package/lib/pipes/length.pipe.d.ts +0 -3
  155. package/lib/pipes/limit.pipe.d.ts +0 -3
  156. package/lib/pipes/localizedDate.pipe.d.ts +0 -3
  157. package/lib/pipes/orderBy.pipe.d.ts +0 -3
  158. package/lib/pipes/store.pipe.d.ts +0 -3
  159. package/lib/services/dynamicModuleImports.service.d.ts +0 -3
  160. package/lib/services/inputFile.service.d.ts +0 -3
  161. package/lib/services/labels.service.d.ts +0 -3
  162. package/lib/services/spinner.service.d.ts +1 -4
  163. package/ngx-ode-ui.d.ts +6 -0
  164. package/ngx-ode-ui.metadata.json +1 -0
  165. package/package.json +17 -29
  166. package/public-api.d.ts +0 -3
  167. package/esm2020/lib/components/datepicker/datepicker.component.mjs +0 -148
  168. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -55
  169. package/esm2020/lib/components/ellipsis/ellipsis.component.mjs +0 -53
  170. package/esm2020/lib/components/form-errors/form-errors.component.mjs +0 -35
  171. package/esm2020/lib/components/form-field/form-field.component.mjs +0 -24
  172. package/esm2020/lib/components/item-tree/item-tree.component.mjs +0 -170
  173. package/esm2020/lib/components/lightbox/lightbox.component.mjs +0 -70
  174. package/esm2020/lib/components/lightbox-confirm/lightbox-confirm.component.mjs +0 -43
  175. package/esm2020/lib/components/list/list.component.mjs +0 -88
  176. package/esm2020/lib/components/list-checkable/list-checkable.component.mjs +0 -79
  177. package/esm2020/lib/components/message-box/message-box.component.mjs +0 -92
  178. package/esm2020/lib/components/message-sticker/message-sticker.component.mjs +0 -51
  179. package/esm2020/lib/components/mono-select/mono-select.component.mjs +0 -83
  180. package/esm2020/lib/components/multi-combo/multi-combo.component.mjs +0 -166
  181. package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -104
  182. package/esm2020/lib/components/panel-section/panel-section.component.mjs +0 -23
  183. package/esm2020/lib/components/portal/portal.component.mjs +0 -15
  184. package/esm2020/lib/components/push-panel/push-panel.component.mjs +0 -43
  185. package/esm2020/lib/components/search-input/search-input.component.mjs +0 -87
  186. package/esm2020/lib/components/search-toolbar/search-toolbar.component.mjs +0 -56
  187. package/esm2020/lib/components/side-layout/side-layout.component.mjs +0 -23
  188. package/esm2020/lib/components/side-panel/side-panel.component.mjs +0 -41
  189. package/esm2020/lib/components/spinner-cube/spinner-cube.component.mjs +0 -31
  190. package/esm2020/lib/components/table/pager.component.mjs +0 -48
  191. package/esm2020/lib/components/tooltip/tooltip.component.mjs +0 -104
  192. package/esm2020/lib/components/upload-files/upload-files.component.mjs +0 -59
  193. package/esm2020/lib/components/value-editable/simple-select.component.mjs +0 -29
  194. package/esm2020/lib/components/wizard/wizard.component.mjs +0 -152
  195. package/esm2020/lib/directives/anchor.directive.mjs +0 -27
  196. package/esm2020/lib/directives/drag-and-drop-files.directive.mjs +0 -82
  197. package/esm2020/lib/directives/dynamic-component/component-descriptor.model.mjs +0 -15
  198. package/esm2020/lib/directives/dynamic-component/dynamic-component.directive.mjs +0 -58
  199. package/esm2020/lib/directives/dynamictemplate.directive.mjs +0 -83
  200. package/esm2020/lib/directives/object-url.directive.mjs +0 -28
  201. package/esm2020/lib/ngx-ode-ui.module.mjs +0 -282
  202. package/esm2020/lib/pipes/bytes.pipe.mjs +0 -20
  203. package/esm2020/lib/pipes/filter.pipe.mjs +0 -97
  204. package/esm2020/lib/pipes/flattenObjArray.pipe.mjs +0 -35
  205. package/esm2020/lib/pipes/keys.pipe.mjs +0 -20
  206. package/esm2020/lib/pipes/length.pipe.mjs +0 -17
  207. package/esm2020/lib/pipes/limit.pipe.mjs +0 -17
  208. package/esm2020/lib/pipes/localizedDate.pipe.mjs +0 -23
  209. package/esm2020/lib/pipes/orderBy.pipe.mjs +0 -161
  210. package/esm2020/lib/pipes/replace.pipe.mjs +0 -20
  211. package/esm2020/lib/pipes/store.pipe.mjs +0 -17
  212. package/esm2020/lib/services/dynamicModuleImports.service.mjs +0 -13
  213. package/esm2020/lib/services/inputFile.service.mjs +0 -56
  214. package/esm2020/lib/services/labels.service.mjs +0 -32
  215. package/esm2020/lib/services/spinner.service.mjs +0 -76
  216. package/esm2020/lib/utils/math.mjs +0 -19
  217. package/esm2020/lib/utils/string.mjs +0 -11
  218. package/esm2020/lib/utils/testing.mjs +0 -7
  219. package/esm2020/ngx-ode-ui.mjs +0 -5
  220. package/esm2020/public-api.mjs +0 -57
  221. package/fesm2015/ngx-ode-ui.mjs +0 -2954
  222. package/fesm2015/ngx-ode-ui.mjs.map +0 -1
  223. package/fesm2020/ngx-ode-ui.mjs +0 -2952
  224. package/fesm2020/ngx-ode-ui.mjs.map +0 -1
  225. package/index.d.ts +0 -5
  226. package/lib/pipes/replace.pipe.d.ts +0 -8
@@ -1,161 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class OrderPipe {
4
- transform(array, sortPredicate, reverseOrder, compareFn) {
5
- if (array == null || !sortPredicate) {
6
- return array;
7
- }
8
- /*** ***/
9
- const isString = (value) => {
10
- return typeof value === 'string';
11
- };
12
- const isFunction = (value) => {
13
- return typeof value === 'function';
14
- };
15
- const isArray = (value) => {
16
- return value && value instanceof Array;
17
- };
18
- const isObject = (value) => {
19
- return typeof value === 'object';
20
- };
21
- const isPrimitive = (value) => {
22
- switch (typeof value) {
23
- case 'number': /* falls through */
24
- case 'boolean': /* falls through */
25
- case 'string':
26
- return true;
27
- default:
28
- return false;
29
- }
30
- };
31
- const hasCustomToString = (value) => {
32
- return value &&
33
- typeof value.toString === 'function' &&
34
- value.toString !== Object.prototype.toString;
35
- };
36
- const getComparisonObject = (value, index) => {
37
- // NOTE: We are adding an extra `tieBreaker` value based on the element's index.
38
- // This will be used to keep the sort stable when none of the input predicates can
39
- // distinguish between two elements.
40
- return {
41
- value,
42
- tieBreaker: { value: index, type: 'number', index },
43
- predicateValues: predicates.map(function (predicate) {
44
- return getPredicateValue(predicate.get(value), index);
45
- })
46
- };
47
- };
48
- const doComparison = (v1, v2) => {
49
- for (let i = 0, ii = predicates.length; i < ii; i++) {
50
- const result = compare(v1.predicateValues[i], v2.predicateValues[i]);
51
- if (result) {
52
- return result * predicates[i].descending * descending;
53
- }
54
- }
55
- return compare(v1.tieBreaker, v2.tieBreaker) * descending;
56
- };
57
- const processPredicates = (sortPredicates) => {
58
- return sortPredicates.map(function (predicate) {
59
- let descending = 1, get = (value) => value;
60
- if (isFunction(predicate)) {
61
- get = predicate;
62
- }
63
- else if (isString(predicate)) {
64
- if ((predicate.charAt(0) === '+' || predicate.charAt(0) === '-')) {
65
- descending = predicate.charAt(0) === '-' ? -1 : 1;
66
- predicate = predicate.substring(1);
67
- }
68
- if (predicate !== '') {
69
- get = (value) => value[predicate];
70
- }
71
- }
72
- return { get, descending };
73
- });
74
- };
75
- const objectValue = (value) => {
76
- // If `valueOf` is a valid function use that
77
- if (isFunction(value.valueOf)) {
78
- value = value.valueOf();
79
- if (isPrimitive(value)) {
80
- return value;
81
- }
82
- }
83
- // If `toString` is a valid function and not the one from `Object.prototype` use that
84
- if (hasCustomToString(value)) {
85
- value = value.toString();
86
- if (isPrimitive(value)) {
87
- return value;
88
- }
89
- }
90
- return value;
91
- };
92
- const getPredicateValue = (value, index) => {
93
- let type = typeof value;
94
- if (value === null) {
95
- type = 'string';
96
- value = 'null';
97
- }
98
- else if (type === 'object') {
99
- value = objectValue(value);
100
- }
101
- return { value, type, index };
102
- };
103
- const defaultCompare = (v1, v2) => {
104
- let result = 0;
105
- const type1 = v1.type;
106
- const type2 = v2.type;
107
- if (type1 === type2) {
108
- let value1 = v1.value;
109
- let value2 = v2.value;
110
- if (type1 === 'string') {
111
- // Compare strings case-insensitively
112
- value1 = value1.toLowerCase();
113
- value2 = value2.toLowerCase();
114
- result = value1.localeCompare(value2);
115
- }
116
- else if (type1 === 'object') {
117
- // For basic objects, use the position of the object
118
- // in the collection instead of the value
119
- if (isObject(value1)) {
120
- value1 = v1.index;
121
- }
122
- if (isObject(value2)) {
123
- value2 = v2.index;
124
- }
125
- if (value1 !== value2) {
126
- result = value1 < value2 ? -1 : 1;
127
- }
128
- }
129
- }
130
- else {
131
- result = type1 < type2 ? -1 : 1;
132
- }
133
- return result;
134
- };
135
- /*** ***/
136
- if (!isArray(sortPredicate)) {
137
- sortPredicate = [sortPredicate];
138
- }
139
- if (sortPredicate.length === 0) {
140
- sortPredicate = ['+'];
141
- }
142
- const predicates = processPredicates(sortPredicate);
143
- const descending = reverseOrder ? -1 : 1;
144
- // Define the `compare()` function. Use a default comparator if none is specified.
145
- const compare = isFunction(compareFn) ? compareFn : defaultCompare;
146
- // The next three lines are a version of a Swartzian Transform idiom from Perl
147
- // (sometimes called the Decorate-Sort-Undecorate idiom)
148
- // See https://en.wikipedia.org/wiki/Schwartzian_transform
149
- const compareValues = Array.prototype.map.call(array, getComparisonObject);
150
- compareValues.sort(doComparison);
151
- array = compareValues.map(function (item) { return item.value; });
152
- return array;
153
- }
154
- }
155
- OrderPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: OrderPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
156
- OrderPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: OrderPipe, name: "orderBy" });
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: OrderPipe, decorators: [{
158
- type: Pipe,
159
- args: [{ name: 'orderBy' }]
160
- }] });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXJCeS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW9kZS11aS9zcmMvbGliL3BpcGVzL29yZGVyQnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFHbEQsTUFBTSxPQUFPLFNBQVM7SUFFbEIsU0FBUyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsWUFBYSxFQUFFLFNBQVU7UUFDckQsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQUUsT0FBTyxLQUFLLENBQUM7U0FBRTtRQUV0RCxTQUFTO1FBQ1QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztRQUNyQyxDQUFDLENBQUM7UUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3pCLE9BQU8sT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQztRQUVGLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDdEIsT0FBTyxLQUFLLElBQUksS0FBSyxZQUFZLEtBQUssQ0FBQztRQUMzQyxDQUFDLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3ZCLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO1FBQ3JDLENBQUMsQ0FBQztRQUVGLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDMUIsUUFBUSxPQUFPLEtBQUssRUFBRTtnQkFDbEIsS0FBSyxRQUFRLENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ2xDLEtBQUssU0FBUyxDQUFDLENBQUMsbUJBQW1CO2dCQUNuQyxLQUFLLFFBQVE7b0JBQ1QsT0FBTyxJQUFJLENBQUM7Z0JB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QU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXBELE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV6QyxrRkFBa0Y7UUFDbEYsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQztRQUVuRSw4RUFBOEU7UUFDOUUsd0RBQXdEO1FBQ3hELDBEQUEwRDtRQUMxRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDM0UsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqQyxLQUFLLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFTLElBQUksSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqRSxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOztzR0FuS1EsU0FBUztvR0FBVCxTQUFTOzJGQUFULFNBQVM7a0JBRHJCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoeyBuYW1lOiAnb3JkZXJCeScgfSlcbmV4cG9ydCBjbGFzcyBPcmRlclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybShhcnJheSwgc29ydFByZWRpY2F0ZSwgcmV2ZXJzZU9yZGVyPywgY29tcGFyZUZuPykge1xuICAgICAgICBpZiAoYXJyYXkgPT0gbnVsbCB8fCAhc29ydFByZWRpY2F0ZSkgeyByZXR1cm4gYXJyYXk7IH1cblxuICAgICAgICAvKioqICoqKi9cbiAgICAgICAgY29uc3QgaXNTdHJpbmcgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGlzRnVuY3Rpb24gPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbic7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNBcnJheSA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGlzUHJpbWl0aXZlID0gKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ251bWJlcic6IC8qIGZhbGxzIHRocm91Z2ggKi9cbiAgICAgICAgICAgICAgICBjYXNlICdib29sZWFuJzogLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgICAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBoYXNDdXN0b21Ub1N0cmluZyA9ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIHZhbHVlLnRvU3RyaW5nID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLnRvU3RyaW5nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGdldENvbXBhcmlzb25PYmplY3QgPSAodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAvLyBOT1RFOiBXZSBhcmUgYWRkaW5nIGFuIGV4dHJhIGB0aWVCcmVha2VyYCB2YWx1ZSBiYXNlZCBvbiB0aGUgZWxlbWVudCdzIGluZGV4LlxuICAgICAgICAgICAgLy8gVGhpcyB3aWxsIGJlIHVzZWQgdG8ga2VlcCB0aGUgc29ydCBzdGFibGUgd2hlbiBub25lIG9mIHRoZSBpbnB1dCBwcmVkaWNhdGVzIGNhblxuICAgICAgICAgICAgLy8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0d28gZWxlbWVudHMuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHRpZUJyZWFrZXI6IHsgdmFsdWU6IGluZGV4LCB0eXBlOiAnbnVtYmVyJywgaW5kZXggfSxcbiAgICAgICAgICAgICAgICBwcmVkaWNhdGVWYWx1ZXM6IHByZWRpY2F0ZXMubWFwKGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZ2V0UHJlZGljYXRlVmFsdWUocHJlZGljYXRlLmdldCh2YWx1ZSksIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBkb0NvbXBhcmlzb24gPSAodjEsIHYyKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgaWkgPSBwcmVkaWNhdGVzLmxlbmd0aDsgaSA8IGlpOyBpKyspIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBjb21wYXJlKHYxLnByZWRpY2F0ZVZhbHVlc1tpXSwgdjIucHJlZGljYXRlVmFsdWVzW2ldKTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQgKiBwcmVkaWNhdGVzW2ldLmRlc2NlbmRpbmcgKiBkZXNjZW5kaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmUodjEudGllQnJlYWtlciwgdjIudGllQnJlYWtlcikgKiBkZXNjZW5kaW5nO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHByb2Nlc3NQcmVkaWNhdGVzID0gKHNvcnRQcmVkaWNhdGVzKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gc29ydFByZWRpY2F0ZXMubWFwKGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgICAgICAgICAgIGxldCBkZXNjZW5kaW5nID0gMSwgZ2V0ID0gKHZhbHVlKSA9PiB2YWx1ZTtcblxuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHByZWRpY2F0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0ID0gcHJlZGljYXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcocHJlZGljYXRlKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoKHByZWRpY2F0ZS5jaGFyQXQoMCkgPT09ICcrJyB8fCBwcmVkaWNhdGUuY2hhckF0KDApID09PSAnLScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZXNjZW5kaW5nID0gcHJlZGljYXRlLmNoYXJBdCgwKSA9PT0gJy0nID8gLTEgOiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZGljYXRlID0gcHJlZGljYXRlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocHJlZGljYXRlICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0ID0gKHZhbHVlKSA9PiB2YWx1ZVtwcmVkaWNhdGVdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGdldCwgZGVzY2VuZGluZyB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgb2JqZWN0VmFsdWUgPSAodmFsdWUpID0+IHtcbiAgICAgICAgICAgIC8vIElmIGB2YWx1ZU9mYCBpcyBhIHZhbGlkIGZ1bmN0aW9uIHVzZSB0aGF0XG4gICAgICAgICAgICBpZiAoaXNGdW5jdGlvbih2YWx1ZS52YWx1ZU9mKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudmFsdWVPZigpO1xuICAgICAgICAgICAgICAgIGlmIChpc1ByaW1pdGl2ZSh2YWx1ZSkpIHsgcmV0dXJuIHZhbHVlOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBJZiBgdG9TdHJpbmdgIGlzIGEgdmFsaWQgZnVuY3Rpb24gYW5kIG5vdCB0aGUgb25lIGZyb20gYE9iamVjdC5wcm90b3R5cGVgIHVzZSB0aGF0XG4gICAgICAgICAgICBpZiAoaGFzQ3VzdG9tVG9TdHJpbmcodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgIGlmIChpc1ByaW1pdGl2ZSh2YWx1ZSkpIHsgcmV0dXJuIHZhbHVlOyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBnZXRQcmVkaWNhdGVWYWx1ZSA9ICh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGxldCB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdHlwZSA9ICdzdHJpbmcnO1xuICAgICAgICAgICAgICAgIHZhbHVlID0gJ251bGwnO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIHZhbHVlID0gb2JqZWN0VmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWUsIHR5cGUsIGluZGV4IH07XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgZGVmYXVsdENvbXBhcmUgPSAodjEsIHYyKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUxID0gdjEudHlwZTtcbiAgICAgICAgICAgIGNvbnN0IHR5cGUyID0gdjIudHlwZTtcblxuICAgICAgICAgICAgaWYgKHR5cGUxID09PSB0eXBlMikge1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZTEgPSB2MS52YWx1ZTtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUyID0gdjIudmFsdWU7XG5cbiAgICAgICAgICAgICAgICBpZiAodHlwZTEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENvbXBhcmUgc3RyaW5ncyBjYXNlLWluc2Vuc2l0aXZlbHlcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUxID0gdmFsdWUxLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlMiA9IHZhbHVlMi50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHZhbHVlMS5sb2NhbGVDb21wYXJlKHZhbHVlMik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlMSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gRm9yIGJhc2ljIG9iamVjdHMsIHVzZSB0aGUgcG9zaXRpb24gb2YgdGhlIG9iamVjdFxuICAgICAgICAgICAgICAgICAgICAvLyBpbiB0aGUgY29sbGVjdGlvbiBpbnN0ZWFkIG9mIHRoZSB2YWx1ZVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUxKSkgeyB2YWx1ZTEgPSB2MS5pbmRleDsgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPYmplY3QodmFsdWUyKSkgeyB2YWx1ZTIgPSB2Mi5pbmRleDsgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZTEgIT09IHZhbHVlMikge1xuICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IHZhbHVlMSA8IHZhbHVlMiA/IC0xIDogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gdHlwZTEgPCB0eXBlMiA/IC0xIDogMTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgICAgLyoqKiAqKiovXG5cbiAgICAgICAgaWYgKCFpc0FycmF5KHNvcnRQcmVkaWNhdGUpKSB7XG4gICAgICAgICAgICBzb3J0UHJlZGljYXRlID0gW3NvcnRQcmVkaWNhdGVdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3J0UHJlZGljYXRlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgc29ydFByZWRpY2F0ZSA9IFsnKyddO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcHJlZGljYXRlcyA9IHByb2Nlc3NQcmVkaWNhdGVzKHNvcnRQcmVkaWNhdGUpO1xuXG4gICAgICAgIGNvbnN0IGRlc2NlbmRpbmcgPSByZXZlcnNlT3JkZXIgPyAtMSA6IDE7XG5cbiAgICAgICAgLy8gRGVmaW5lIHRoZSBgY29tcGFyZSgpYCBmdW5jdGlvbi4gVXNlIGEgZGVmYXVsdCBjb21wYXJhdG9yIGlmIG5vbmUgaXMgc3BlY2lmaWVkLlxuICAgICAgICBjb25zdCBjb21wYXJlID0gaXNGdW5jdGlvbihjb21wYXJlRm4pID8gY29tcGFyZUZuIDogZGVmYXVsdENvbXBhcmU7XG5cbiAgICAgICAgLy8gVGhlIG5leHQgdGhyZWUgbGluZXMgYXJlIGEgdmVyc2lvbiBvZiBhIFN3YXJ0emlhbiBUcmFuc2Zvcm0gaWRpb20gZnJvbSBQZXJsXG4gICAgICAgIC8vIChzb21ldGltZXMgY2FsbGVkIHRoZSBEZWNvcmF0ZS1Tb3J0LVVuZGVjb3JhdGUgaWRpb20pXG4gICAgICAgIC8vIFNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TY2h3YXJ0emlhbl90cmFuc2Zvcm1cbiAgICAgICAgY29uc3QgY29tcGFyZVZhbHVlcyA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcnJheSwgZ2V0Q29tcGFyaXNvbk9iamVjdCk7XG4gICAgICAgIGNvbXBhcmVWYWx1ZXMuc29ydChkb0NvbXBhcmlzb24pO1xuICAgICAgICBhcnJheSA9IGNvbXBhcmVWYWx1ZXMubWFwKGZ1bmN0aW9uKGl0ZW0pIHsgcmV0dXJuIGl0ZW0udmFsdWU7IH0pO1xuXG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ReplacePipe {
4
- transform(value, strToReplace, replacementStr) {
5
- if (!value || !strToReplace || !replacementStr) {
6
- return value;
7
- }
8
- return value.replace(new RegExp(this.escapeStr(strToReplace), 'g'), '' + replacementStr);
9
- }
10
- escapeStr(str) {
11
- return str.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
12
- }
13
- }
14
- ReplacePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ReplacePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
15
- ReplacePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: ReplacePipe, name: "replace" });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: ReplacePipe, decorators: [{
17
- type: Pipe,
18
- args: [{ name: 'replace' }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW9kZS11aS9zcmMvbGliL3BpcGVzL3JlcGxhY2UucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLFdBQVc7SUFDcEIsU0FBUyxDQUFDLEtBQWEsRUFBRSxZQUFvQixFQUFFLGNBQStCO1FBRTFFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDNUMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsY0FBYyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFHO1FBQ2pCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RCxDQUFDOzt3R0FaTSxXQUFXO3NHQUFYLFdBQVc7MkZBQVgsV0FBVztrQkFEdkIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHsgbmFtZTogJ3JlcGxhY2UnIH0pXG5leHBvcnQgY2xhc3MgUmVwbGFjZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgc3RyVG9SZXBsYWNlOiBzdHJpbmcsIHJlcGxhY2VtZW50U3RyOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcge1xuXG4gICAgICAgIGlmICghdmFsdWUgfHwgIXN0clRvUmVwbGFjZSB8fCAhcmVwbGFjZW1lbnRTdHIpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKG5ldyBSZWdFeHAodGhpcy5lc2NhcGVTdHIoc3RyVG9SZXBsYWNlKSwgJ2cnKSwgJycgKyByZXBsYWNlbWVudFN0cik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBlc2NhcGVTdHIoc3RyKSB7XG4gICAgICAgIHJldHVybiBzdHIucmVwbGFjZSgvWy1cXC9cXFxcXiQqKz8uKCl8W1xcXXt9XS9nLCAnXFxcXCQmJyk7XG4gICAgICB9XG59Il19
@@ -1,17 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class StorePipe {
4
- transform(value, context, prop = '_storedRef') {
5
- context[prop] = value;
6
- return value;
7
- }
8
- }
9
- StorePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: StorePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
- StorePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.1.1", ngImport: i0, type: StorePipe, name: "store" });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: StorePipe, decorators: [{
12
- type: Pipe,
13
- args: [{
14
- name: 'store'
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1vZGUtdWkvc3JjL2xpYi9waXBlcy9zdG9yZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUtsRCxNQUFNLE9BQU8sU0FBUztJQUVsQixTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsWUFBWTtRQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7O3NHQUxRLFNBQVM7b0dBQVQsU0FBUzsyRkFBVCxTQUFTO2tCQUhyQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxPQUFPO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAnc3RvcmUnXG59KVxuZXhwb3J0IGNsYXNzIFN0b3JlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgdHJhbnNmb3JtKHZhbHVlLCBjb250ZXh0LCBwcm9wID0gJ19zdG9yZWRSZWYnKSB7XG4gICAgICAgIGNvbnRleHRbcHJvcF0gPSB2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxufVxuIl19
@@ -1,13 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DynamicModuleImportsService {
4
- constructor() {
5
- this.imports = [];
6
- }
7
- }
8
- DynamicModuleImportsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DynamicModuleImportsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
9
- DynamicModuleImportsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DynamicModuleImportsService });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: DynamicModuleImportsService, decorators: [{
11
- type: Injectable
12
- }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pY01vZHVsZUltcG9ydHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1vZGUtdWkvc3JjL2xpYi9zZXJ2aWNlcy9keW5hbWljTW9kdWxlSW1wb3J0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBR3pDLE1BQU0sT0FBTywyQkFBMkI7SUFEeEM7UUFFSSxZQUFPLEdBQUcsRUFBRSxDQUFDO0tBQ2hCOzt3SEFGWSwyQkFBMkI7NEhBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIER5bmFtaWNNb2R1bGVJbXBvcnRzU2VydmljZSB7XG4gICAgaW1wb3J0cyA9IFtdO1xufVxuIl19
@@ -1,56 +0,0 @@
1
- import { throwError as observableThrowError, Observable } from 'rxjs';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export class InputFileService {
5
- validateFiles(files, maxFilesNumber, allowedExtensions) {
6
- if (!files) {
7
- return observableThrowError('files is empty');
8
- }
9
- if (files.length > maxFilesNumber) {
10
- return observableThrowError(`Only ${maxFilesNumber} file(s) allowed`);
11
- }
12
- const validFiles = [];
13
- const invalidFiles = [];
14
- for (let i = 0; i < files.length; i++) {
15
- const filenameSplit = files[i].name.split('.');
16
- const ext = filenameSplit[filenameSplit.length - 1];
17
- if (allowedExtensions.lastIndexOf(ext.toLowerCase()) !== -1) {
18
- validFiles.push(files[i]);
19
- }
20
- else {
21
- invalidFiles.push(files[i]);
22
- }
23
- }
24
- return new Observable(observer => {
25
- if (validFiles.length > 0) {
26
- observer.next(validFiles);
27
- }
28
- if (invalidFiles.length > 0) {
29
- observer.error(`Extension not allowed. Allowed extensions: ${allowedExtensions}`);
30
- }
31
- observer.complete();
32
- });
33
- }
34
- isSrcExternalUrl(src) {
35
- if (src) {
36
- return src.startsWith('http://') || src.startsWith('https://');
37
- }
38
- else {
39
- return false;
40
- }
41
- }
42
- isSrcWorkspace(src) {
43
- if (src) {
44
- return src.startsWith('/workspace');
45
- }
46
- else {
47
- return false;
48
- }
49
- }
50
- }
51
- InputFileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: InputFileService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
52
- InputFileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: InputFileService });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: InputFileService, decorators: [{
54
- type: Injectable
55
- }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRGaWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtb2RlLXVpL3NyYy9saWIvc2VydmljZXMvaW5wdXRGaWxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFVBQVUsSUFBSSxvQkFBb0IsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHekMsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixhQUFhLENBQUMsS0FBZSxFQUFFLGNBQXNCLEVBQUUsaUJBQTJCO1FBQ3JGLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDUixPQUFPLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDakQ7UUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsY0FBYyxFQUFFO1lBQy9CLE9BQU8sb0JBQW9CLENBQUMsUUFBUSxjQUFjLGtCQUFrQixDQUFDLENBQUM7U0FDekU7UUFFRCxNQUFNLFVBQVUsR0FBVyxFQUFFLENBQUM7UUFDOUIsTUFBTSxZQUFZLEdBQVcsRUFBRSxDQUFDO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3BELElBQUksaUJBQWlCLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUN6RCxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdCO2lCQUFNO2dCQUNILFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0I7U0FDSjtRQUVELE9BQU8sSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM3QjtZQUNELElBQUksWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3pCLFFBQVEsQ0FBQyxLQUFLLENBQUMsOENBQThDLGlCQUFpQixFQUFFLENBQUMsQ0FBQzthQUNyRjtZQUNELFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxHQUFXO1FBQy9CLElBQUksR0FBRyxFQUFFO1lBQ0wsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbEU7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztJQUVNLGNBQWMsQ0FBQyxHQUFXO1FBQzdCLElBQUksR0FBRyxFQUFFO1lBQ0wsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDSCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7OzZHQTlDUSxnQkFBZ0I7aUhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQge3Rocm93RXJyb3IgYXMgb2JzZXJ2YWJsZVRocm93RXJyb3IsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElucHV0RmlsZVNlcnZpY2Uge1xuICAgIHB1YmxpYyB2YWxpZGF0ZUZpbGVzKGZpbGVzOiBGaWxlTGlzdCwgbWF4RmlsZXNOdW1iZXI6IG51bWJlciwgYWxsb3dlZEV4dGVuc2lvbnM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxGaWxlW10+IHtcbiAgICAgICAgaWYgKCFmaWxlcykge1xuICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKCdmaWxlcyBpcyBlbXB0eScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWxlcy5sZW5ndGggPiBtYXhGaWxlc051bWJlcikge1xuICAgICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGBPbmx5ICR7bWF4RmlsZXNOdW1iZXJ9IGZpbGUocykgYWxsb3dlZGApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsaWRGaWxlczogRmlsZVtdID0gW107XG4gICAgICAgIGNvbnN0IGludmFsaWRGaWxlczogRmlsZVtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVuYW1lU3BsaXQgPSBmaWxlc1tpXS5uYW1lLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBjb25zdCBleHQgPSBmaWxlbmFtZVNwbGl0W2ZpbGVuYW1lU3BsaXQubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBpZiAoYWxsb3dlZEV4dGVuc2lvbnMubGFzdEluZGV4T2YoZXh0LnRvTG93ZXJDYXNlKCkpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHZhbGlkRmlsZXMucHVzaChmaWxlc1tpXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGludmFsaWRGaWxlcy5wdXNoKGZpbGVzW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICAgICAgICBpZiAodmFsaWRGaWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh2YWxpZEZpbGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpbnZhbGlkRmlsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmVycm9yKGBFeHRlbnNpb24gbm90IGFsbG93ZWQuIEFsbG93ZWQgZXh0ZW5zaW9uczogJHthbGxvd2VkRXh0ZW5zaW9uc31gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1NyY0V4dGVybmFsVXJsKHNyYzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChzcmMpIHtcbiAgICAgICAgICAgIHJldHVybiBzcmMuc3RhcnRzV2l0aCgnaHR0cDovLycpIHx8IHNyYy5zdGFydHNXaXRoKCdodHRwczovLycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzU3JjV29ya3NwYWNlKHNyYzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChzcmMpIHtcbiAgICAgICAgICAgIHJldHVybiBzcmMuc3RhcnRzV2l0aCgnL3dvcmtzcGFjZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,32 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LabelsService {
4
- constructor() {
5
- this.labels = {
6
- 'select.all': 'Select all',
7
- 'deselect.all': 'Deselect all',
8
- search: 'Search'
9
- };
10
- }
11
- static withLabels(labels) {
12
- const newService = new LabelsService();
13
- for (const prop in labels) {
14
- newService.labels[prop] = labels[prop];
15
- }
16
- return newService;
17
- }
18
- getLabel(label) {
19
- return this.labels[label] || label;
20
- }
21
- mixin(labels) {
22
- for (const property in labels) {
23
- this.labels[property] = labels[property];
24
- }
25
- }
26
- }
27
- LabelsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: LabelsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
- LabelsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: LabelsService });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: LabelsService, decorators: [{
30
- type: Injectable
31
- }] });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtb2RlLXVpL3NyYy9saWIvc2VydmljZXMvbGFiZWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHekMsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFHWSxXQUFNLEdBQUc7WUFDYixZQUFZLEVBQUUsWUFBWTtZQUMxQixjQUFjLEVBQUUsY0FBYztZQUM5QixNQUFNLEVBQUUsUUFBUTtTQUNuQixDQUFDO0tBbUJMO0lBakJHLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBYztRQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ3ZDLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFO1lBQ3ZCLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFjO1FBQ2hCLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQzs7MEdBeEJRLGFBQWE7OEdBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExhYmVsc1NlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBsYWJlbHMgPSB7XG4gICAgICAgICdzZWxlY3QuYWxsJzogJ1NlbGVjdCBhbGwnLFxuICAgICAgICAnZGVzZWxlY3QuYWxsJzogJ0Rlc2VsZWN0IGFsbCcsXG4gICAgICAgIHNlYXJjaDogJ1NlYXJjaCdcbiAgICB9O1xuXG4gICAgc3RhdGljIHdpdGhMYWJlbHMobGFiZWxzOiBPYmplY3QpIHtcbiAgICAgICAgY29uc3QgbmV3U2VydmljZSA9IG5ldyBMYWJlbHNTZXJ2aWNlKCk7XG4gICAgICAgIGZvciAoY29uc3QgcHJvcCBpbiBsYWJlbHMpIHtcbiAgICAgICAgICAgIG5ld1NlcnZpY2UubGFiZWxzW3Byb3BdID0gbGFiZWxzW3Byb3BdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXdTZXJ2aWNlO1xuICAgIH1cblxuICAgIGdldExhYmVsKGxhYmVsOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFiZWxzW2xhYmVsXSB8fCBsYWJlbDtcbiAgICB9XG5cbiAgICBtaXhpbihsYWJlbHM6IE9iamVjdCkge1xuICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxhYmVscykge1xuICAgICAgICAgICAgdGhpcy5sYWJlbHNbcHJvcGVydHldID0gbGFiZWxzW3Byb3BlcnR5XTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,76 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class SpinnerService {
5
- constructor(appRef) {
6
- this.appRef = appRef;
7
- this.timer = 250;
8
- this.loading = new Set();
9
- this.timers = new Map();
10
- this._trigger = new Subject();
11
- this.wrap = (func, label, props = {}, ...args) => {
12
- this.load(label, props.delay);
13
- const promise = props.binding ?
14
- func.bind(props.binding)(...args) :
15
- func(...args);
16
- promise.catch((err) => {
17
- this.done(label);
18
- throw err;
19
- }).then(_ => {
20
- this.done(label);
21
- return _;
22
- });
23
- if (props.cdRef) {
24
- props.cdRef.markForCheck();
25
- }
26
- return promise;
27
- };
28
- }
29
- get trigger() {
30
- return this._trigger;
31
- }
32
- isLoading(something, pending = false) {
33
- return this.loading.has(something) ||
34
- (pending && this.timers.has(something));
35
- }
36
- perform(something, promise, timer) {
37
- this.load(something, timer);
38
- return promise.catch(err => {
39
- this.done(something);
40
- throw err;
41
- }).then(_ => {
42
- this.done(something);
43
- return _;
44
- });
45
- }
46
- load(something, timer) {
47
- if (this.timers.has(something)) {
48
- window.clearTimeout(this.timers.get(something));
49
- }
50
- const addToQueue = () => {
51
- this.loading.add(something);
52
- this.timers.delete(something);
53
- this.appRef.tick();
54
- this.trigger.next(true);
55
- };
56
- if (timer === 0) {
57
- addToQueue();
58
- }
59
- else {
60
- this.timers.set(something, window.setTimeout(addToQueue, timer || this.timer));
61
- }
62
- }
63
- done(something) {
64
- window.clearTimeout(this.timers.get(something));
65
- this.timers.delete(something);
66
- this.loading.delete(something);
67
- this.trigger.next(true);
68
- this.appRef.tick();
69
- }
70
- }
71
- SpinnerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: SpinnerService, deps: [{ token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable });
72
- SpinnerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: SpinnerService });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: SpinnerService, decorators: [{
74
- type: Injectable
75
- }], ctorParameters: function () { return [{ type: i0.ApplicationRef }]; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW9kZS11aS9zcmMvbGliL3NlcnZpY2VzL3NwaW5uZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW9DLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQUc3QixNQUFNLE9BQU8sY0FBYztJQUV2QixZQUFvQixNQUFzQjtRQUF0QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUUxQyxVQUFLLEdBQUcsR0FBRyxDQUFDO1FBRUosWUFBTyxHQUFHLElBQUksR0FBRyxFQUFPLENBQUM7UUFDekIsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7UUFFaEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFnRGpDLFNBQUksR0FBRyxDQUFDLElBQWlDLEVBQUUsS0FBYSxFQUNoRCxRQUFzRSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRTtZQUV6RixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBRWxCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakIsTUFBTSxHQUFHLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakIsT0FBTyxDQUFDLENBQUM7WUFDYixDQUFDLENBQUMsQ0FBQztZQUNILElBQUksS0FBSyxDQUFDLEtBQUssRUFBRTtnQkFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO2FBQUU7WUFFaEQsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQyxDQUFBO0lBekU0QyxDQUFDO0lBUTlDLElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRUQsU0FBUyxDQUFDLFNBQVMsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUM5QixDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxPQUFPLENBQUksU0FBYyxFQUFFLE9BQW1CLEVBQUUsS0FBYztRQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUUsR0FBRyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyQixNQUFNLEdBQUcsQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBRSxDQUFDLENBQUMsRUFBRTtZQUNULElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckIsT0FBTyxDQUFDLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJLENBQUMsU0FBYyxFQUFFLEtBQWM7UUFDL0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM1QixNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxNQUFNLFVBQVUsR0FBRyxHQUFHLEVBQUU7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUM7UUFFRixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDYixVQUFVLEVBQUUsQ0FBQztTQUNoQjthQUFNO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUNsRjtJQUNMLENBQUM7SUFFRCxJQUFJLENBQUMsU0FBUztRQUNWLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OzJHQXZEUSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXBwbGljYXRpb25SZWYsIENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTcGlubmVyU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYpIHt9XG5cbiAgICB0aW1lciA9IDI1MDtcblxuICAgIHByaXZhdGUgbG9hZGluZyA9IG5ldyBTZXQ8YW55PigpO1xuICAgIHByaXZhdGUgdGltZXJzID0gbmV3IE1hcDxhbnksIG51bWJlcj4oKTtcblxuICAgIHByaXZhdGUgX3RyaWdnZXIgPSBuZXcgU3ViamVjdCgpO1xuICAgIGdldCB0cmlnZ2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJpZ2dlcjtcbiAgICB9XG5cbiAgICBpc0xvYWRpbmcoc29tZXRoaW5nLCBwZW5kaW5nID0gZmFsc2UpOiBib29sZWFuICB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmcuaGFzKHNvbWV0aGluZykgfHxcbiAgICAgICAgICAgIChwZW5kaW5nICYmIHRoaXMudGltZXJzLmhhcyhzb21ldGhpbmcpKTtcbiAgICB9XG5cbiAgICBwZXJmb3JtPFQ+KHNvbWV0aGluZzogYW55LCBwcm9taXNlOiBQcm9taXNlPFQ+LCB0aW1lcj86IG51bWJlcik6IFByb21pc2U8VD4ge1xuICAgICAgICB0aGlzLmxvYWQoc29tZXRoaW5nLCB0aW1lcik7XG4gICAgICAgIHJldHVybiBwcm9taXNlLmNhdGNoKCBlcnIgPT4ge1xuICAgICAgICAgICAgdGhpcy5kb25lKHNvbWV0aGluZyk7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH0pLnRoZW4oIF8gPT4ge1xuICAgICAgICAgICAgdGhpcy5kb25lKHNvbWV0aGluZyk7XG4gICAgICAgICAgICByZXR1cm4gXztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9hZChzb21ldGhpbmc6IGFueSwgdGltZXI/OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGltZXJzLmhhcyhzb21ldGhpbmcpKSB7XG4gICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMudGltZXJzLmdldChzb21ldGhpbmcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkZFRvUXVldWUgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcuYWRkKHNvbWV0aGluZyk7XG4gICAgICAgICAgICB0aGlzLnRpbWVycy5kZWxldGUoc29tZXRoaW5nKTtcbiAgICAgICAgICAgIHRoaXMuYXBwUmVmLnRpY2soKTtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlci5uZXh0KHRydWUpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmICh0aW1lciA9PT0gMCkge1xuICAgICAgICAgICAgYWRkVG9RdWV1ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aW1lcnMuc2V0KHNvbWV0aGluZywgd2luZG93LnNldFRpbWVvdXQoYWRkVG9RdWV1ZSwgdGltZXIgfHwgdGhpcy50aW1lcikpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZG9uZShzb21ldGhpbmcpOiB2b2lkIHtcbiAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnRpbWVycy5nZXQoc29tZXRoaW5nKSk7XG4gICAgICAgIHRoaXMudGltZXJzLmRlbGV0ZShzb21ldGhpbmcpO1xuICAgICAgICB0aGlzLmxvYWRpbmcuZGVsZXRlKHNvbWV0aGluZyk7XG4gICAgICAgIHRoaXMudHJpZ2dlci5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gICAgfVxuXG4gICAgd3JhcCA9IChmdW5jOiAoLi4ucGFyYW1zKSA9PiBQcm9taXNlPGFueT4sIGxhYmVsOiBzdHJpbmcsXG4gICAgICAgICAgICBwcm9wczogeyBkZWxheT86IG51bWJlciwgYmluZGluZz86IGFueSwgY2RSZWY/OiBDaGFuZ2VEZXRlY3RvclJlZiB9ID0ge30sIC4uLmFyZ3MpID0+IHtcblxuICAgICAgICB0aGlzLmxvYWQobGFiZWwsIHByb3BzLmRlbGF5KTtcbiAgICAgICAgY29uc3QgcHJvbWlzZSA9IHByb3BzLmJpbmRpbmcgP1xuICAgICAgICAgICAgZnVuYy5iaW5kKHByb3BzLmJpbmRpbmcpKC4uLmFyZ3MpIDpcbiAgICAgICAgICAgIGZ1bmMoLi4uYXJncyk7XG5cbiAgICAgICAgcHJvbWlzZS5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRvbmUobGFiZWwpO1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9KS50aGVuKF8gPT4ge1xuICAgICAgICAgICAgdGhpcy5kb25lKGxhYmVsKTtcbiAgICAgICAgICAgIHJldHVybiBfO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHByb3BzLmNkUmVmKSB7IHByb3BzLmNkUmVmLm1hcmtGb3JDaGVjaygpOyB9XG5cbiAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgfVxuXG59XG4iXX0=
@@ -1,19 +0,0 @@
1
- export const UNITS = [
2
- { label: "quota.byte", value: 1 },
3
- { label: "quota.kilobyte", value: 1024 },
4
- { label: "quota.megabyte", value: Math.pow(1024, 2) },
5
- { label: "quota.gigabyte", value: Math.pow(1024, 3) }
6
- ];
7
- export function toDecimal(value, decimal) {
8
- return Math.round(value * Math.pow(10, decimal)) / Math.pow(10, decimal);
9
- }
10
- export function getUnit(bytes) {
11
- let unit = 0;
12
- let finalValue = bytes;
13
- while (finalValue >= 1024 && unit < 3) {
14
- finalValue = finalValue / 1024;
15
- unit++;
16
- }
17
- return UNITS[unit];
18
- }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1vZGUtdWkvc3JjL2xpYi91dGlscy9tYXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBZ0I7SUFDOUIsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7SUFDakMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtJQUN4QyxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDckQsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO0NBQ3hELENBQUM7QUFFRixNQUFNLFVBQVUsU0FBUyxDQUFFLEtBQWEsRUFBRSxPQUFlO0lBQ3JELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxLQUFhO0lBQ2pDLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNiLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztJQUN2QixPQUFNLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRTtRQUNsQyxVQUFVLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQztRQUMvQixJQUFJLEVBQUUsQ0FBQztLQUNWO0lBQ0QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVW5pdCB7XG4gICAgLyoqIGkxOG4ga2V5IG9mIHVuaXQgdHJhbnNsYXRpb24uICovXG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgVU5JVFM6IEFycmF5PFVuaXQ+ID0gW1xuICAgIHsgbGFiZWw6IFwicXVvdGEuYnl0ZVwiLCB2YWx1ZTogMSB9LFxuICAgIHsgbGFiZWw6IFwicXVvdGEua2lsb2J5dGVcIiwgdmFsdWU6IDEwMjQgfSxcbiAgICB7IGxhYmVsOiBcInF1b3RhLm1lZ2FieXRlXCIsIHZhbHVlOiBNYXRoLnBvdygxMDI0LCAyKSB9LFxuICAgIHsgbGFiZWw6IFwicXVvdGEuZ2lnYWJ5dGVcIiwgdmFsdWU6IE1hdGgucG93KDEwMjQsIDMpIH1cbl07XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RlY2ltYWwgKHZhbHVlOiBudW1iZXIsIGRlY2ltYWw6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiBNYXRoLnBvdygxMCwgZGVjaW1hbCkpIC8gTWF0aC5wb3coMTAsIGRlY2ltYWwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VW5pdChieXRlczogbnVtYmVyKTogVW5pdCB7XG4gICAgbGV0IHVuaXQgPSAwO1xuICAgIGxldCBmaW5hbFZhbHVlID0gYnl0ZXM7XG4gICAgd2hpbGUoZmluYWxWYWx1ZSA+PSAxMDI0ICYmIHVuaXQgPCAzKSB7XG4gICAgICAgIGZpbmFsVmFsdWUgPSBmaW5hbFZhbHVlIC8gMTAyNDtcbiAgICAgICAgdW5pdCsrO1xuICAgIH1cbiAgICByZXR1cm4gVU5JVFNbdW5pdF07XG59Il19
@@ -1,11 +0,0 @@
1
- export function trim(text) {
2
- if (text && text.length > 0) {
3
- return text.trim();
4
- }
5
- return text;
6
- }
7
- export function standardise(str) {
8
- return removeAccents(str != null ? str : '').toLowerCase().replace('\\s+', ' ');
9
- }
10
- export const removeAccents = (str) => str.normalize("NFD").replace(/\p{Diacritic}/gu, '');
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW9kZS11aS9zcmMvbGliL3V0aWxzL3N0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsSUFBSSxDQUFDLElBQVk7SUFDN0IsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDdEI7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sYUFBYSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUNsRixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB0cmltKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHRleHQgJiYgdGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiB0ZXh0LnRyaW0oKTtcbiAgICB9XG4gICAgcmV0dXJuIHRleHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFuZGFyZGlzZShzdHI6IHN0cmluZyk6IHN0cmluZ3tcbiAgcmV0dXJuIHJlbW92ZUFjY2VudHMoc3RyICE9IG51bGwgPyBzdHIgOiAnJykudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCdcXFxccysnLCAnICcpO1xufVxuXG5leHBvcnQgY29uc3QgcmVtb3ZlQWNjZW50cyA9IChzdHI6IHN0cmluZykgPT4gc3RyLm5vcm1hbGl6ZShcIk5GRFwiKS5yZXBsYWNlKC9cXHB7RGlhY3JpdGljfS9ndSwgJycpO1xuIl19
@@ -1,7 +0,0 @@
1
- export function getText(el) {
2
- return el.nativeElement.textContent.trim();
3
- }
4
- export function clickOn(el) {
5
- return el.triggerEventHandler('click', null);
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1vZGUtdWkvc3JjL2xpYi91dGlscy90ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxPQUFPLENBQUMsRUFBZ0I7SUFDcEMsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxFQUFnQjtJQUNwQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlYnVnRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGV4dChlbDogRGVidWdFbGVtZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudC50cmltKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGlja09uKGVsOiBEZWJ1Z0VsZW1lbnQpOiB2b2lkIHtcbiAgICByZXR1cm4gZWwudHJpZ2dlckV2ZW50SGFuZGxlcignY2xpY2snLCBudWxsKTtcbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW9kZS11aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1vZGUtdWkvc3JjL25neC1vZGUtdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,57 +0,0 @@
1
- /*
2
- * Public API Surface of ngx-ode-ui
3
- */
4
- export * from './lib/services/dynamicModuleImports.service';
5
- export * from './lib/services/inputFile.service';
6
- export * from './lib/services/labels.service';
7
- export * from './lib/services/spinner.service';
8
- export * from './lib/components/datepicker/datepicker.component';
9
- export * from './lib/components/ellipsis/ellipsis.component';
10
- export * from './lib/components/form-errors/form-errors.component';
11
- export * from './lib/components/form-field/form-field.component';
12
- export * from './lib/components/item-tree/item-tree.component';
13
- export * from './lib/components/lightbox/lightbox.component';
14
- export * from './lib/components/lightbox-confirm/lightbox-confirm.component';
15
- export * from './lib/components/list/list.component';
16
- export * from './lib/components/list-checkable/list-checkable.component';
17
- export * from './lib/components/message-box/message-box.component';
18
- export * from './lib/components/message-sticker/message-sticker.component';
19
- export * from './lib/components/mono-select/mono-select.component';
20
- export * from './lib/components/multi-combo/multi-combo.component';
21
- export * from './lib/components/multi-select/multi-select.component';
22
- export * from './lib/components/panel-section/panel-section.component';
23
- export * from './lib/components/portal/portal.component';
24
- export * from './lib/components/push-panel/push-panel.component';
25
- export * from './lib/components/search-input/search-input.component';
26
- export * from './lib/components/side-layout/side-layout.component';
27
- export * from './lib/components/side-panel/side-panel.component';
28
- export * from './lib/components/spinner-cube/spinner-cube.component';
29
- export * from './lib/components/table/pager.component';
30
- export * from './lib/components/tooltip/tooltip.component';
31
- export * from './lib/components/upload-files/upload-files.component';
32
- export * from './lib/components/value-editable/simple-select.component';
33
- export * from './lib/components/wizard/wizard.component';
34
- export * from './lib/components/dropdown/dropdown.component';
35
- export * from './lib/components/search-toolbar/search-toolbar.component';
36
- export * from './lib/directives/dynamic-component/dynamic-component.directive';
37
- export * from './lib/directives/dynamic-component/component-descriptor.model';
38
- export * from './lib/directives/anchor.directive';
39
- export * from './lib/directives/drag-and-drop-files.directive';
40
- export * from './lib/directives/dynamictemplate.directive';
41
- export * from './lib/directives/object-url.directive';
42
- export * from './lib/pipes/bytes.pipe';
43
- export * from './lib/pipes/filter.pipe';
44
- export * from './lib/pipes/flattenObjArray.pipe';
45
- export * from './lib/pipes/keys.pipe';
46
- export * from './lib/pipes/limit.pipe';
47
- export * from './lib/pipes/localizedDate.pipe';
48
- export * from './lib/pipes/orderBy.pipe';
49
- export * from './lib/pipes/store.pipe';
50
- export * from './lib/pipes/length.pipe';
51
- export * from './lib/pipes/replace.pipe';
52
- export * from './lib/utils/math';
53
- export * from './lib/utils/string';
54
- export * from './lib/utils/testing';
55
- // export * from './lib/helpers/accents.helper'; // Deprecated. './lib/utils/string' has its own removeAccents()
56
- export * from './lib/ngx-ode-ui.module';
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1vZGUtdWkvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMERBQTBELENBQUE7QUFFeEUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLCtEQUErRCxDQUFDO0FBQzlFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxnSEFBZ0g7QUFFaEgsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LW9kZS11aVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2R5bmFtaWNNb2R1bGVJbXBvcnRzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaW5wdXRGaWxlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGFiZWxzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvc3Bpbm5lci5zZXJ2aWNlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZWxsaXBzaXMvZWxsaXBzaXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS1lcnJvcnMvZm9ybS1lcnJvcnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2l0ZW0tdHJlZS9pdGVtLXRyZWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGlnaHRib3gvbGlnaHRib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGlnaHRib3gtY29uZmlybS9saWdodGJveC1jb25maXJtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9saXN0LWNoZWNrYWJsZS9saXN0LWNoZWNrYWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZXNzYWdlLWJveC9tZXNzYWdlLWJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tZXNzYWdlLXN0aWNrZXIvbWVzc2FnZS1zdGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbm8tc2VsZWN0L21vbm8tc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL211bHRpLWNvbWJvL211bHRpLWNvbWJvLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGFuZWwtc2VjdGlvbi9wYW5lbC1zZWN0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3BvcnRhbC9wb3J0YWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvcHVzaC1wYW5lbC9wdXNoLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2lkZS1sYXlvdXQvc2lkZS1sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2lkZS1wYW5lbC9zaWRlLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NwaW5uZXItY3ViZS9zcGlubmVyLWN1YmUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGFibGUvcGFnZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3VwbG9hZC1maWxlcy91cGxvYWQtZmlsZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdmFsdWUtZWRpdGFibGUvc2ltcGxlLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy93aXphcmQvd2l6YXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlYXJjaC10b29sYmFyL3NlYXJjaC10b29sYmFyLmNvbXBvbmVudCdcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9keW5hbWljLWNvbXBvbmVudC9keW5hbWljLWNvbXBvbmVudC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9keW5hbWljLWNvbXBvbmVudC9jb21wb25lbnQtZGVzY3JpcHRvci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2FuY2hvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kcmFnLWFuZC1kcm9wLWZpbGVzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2R5bmFtaWN0ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9vYmplY3QtdXJsLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2J5dGVzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZmlsdGVyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvZmxhdHRlbk9iakFycmF5LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMva2V5cy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2xpbWl0LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvbG9jYWxpemVkRGF0ZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL29yZGVyQnkucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9zdG9yZS5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2xlbmd0aC5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3JlcGxhY2UucGlwZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL21hdGgnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvc3RyaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL3Rlc3RpbmcnO1xuXG4vLyBleHBvcnQgKiBmcm9tICcuL2xpYi9oZWxwZXJzL2FjY2VudHMuaGVscGVyJzsgLy8gRGVwcmVjYXRlZC4gJy4vbGliL3V0aWxzL3N0cmluZycgaGFzIGl0cyBvd24gcmVtb3ZlQWNjZW50cygpXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL25neC1vZGUtdWkubW9kdWxlJztcbiJdfQ==